Министерство образования российской федерации
Липецкий государственный технический университет
Индивидуальное домашнее задание по дисциплине «Операционные системы»
«Несанкционированный доступ к терминалам серверов с операционными системами семейства UNIX. На примере octopus.stu.lipetsk.ru »
Выполнил: Архипов Н.А.
Принял: Журавлева М.Г.
План, что и говорить, был превосходный: простой и ясный, лучше не придумаешь. Недостаток у него был только один: было совершенно неизвестно, как привести его в исполнение.
Л. Кэрролл. Алиса в стране чудес
В данном отчете мы попытаемся выявить «дыры» и «изъяны» локальной компьютерной сети ЛГТУ (LSTU) в целом и в частности сервера для изучения операционных систем UNIX – octopus.lstu. Для этого мы расскажем о возможных попытках получения доступа к терминалам серверов, в том числе и с правами root’a, а так же попытка перегрузить сервер. Здесь не рассматривается такой вид атаки как «Социальная инженерия», поскольку наша задача – изучение операционных систем, а не психологии. Сразу предупреждаю, что на практике не использовалось ни каких деструктивных действий (в том числе перегрузки сервера), кроме тех действий которые использовались только для изучения сети. Поэтому, мы ни какой ответственности за использование этого документа не несем.
Основной особенностью любой сетевой системы является то, что ее компоненты распределены в пространстве, а связь между ними осуществляется физически, при помощи сетевых соединений (коаксиальный кабель, витая пара, оптоволокно и т. п.), и программно, при помощи механизма сообщений. При этом все управляющие сообщения и данные, пересылаемые между объектами распределенной вычислительной системы, передаются по сетевым соединениям в виде пакетов обмена.
К сетевым системам, наряду с обычными (локальными) атаками, осуществляемыми в пределах одной компьютерной системы, применим специфический вид атак, обусловленный распределенностью ресурсов и информации в пространстве так называемые сетевые (или удаленные) атаки (remote или networkattacks). Они характеризуются, во-первых, тем, что злоумышленник может находиться за тысячи километров от атакуемого объекта, и, во-вторых, тем, что нападению может подвергаться не конкретный компьютер, а информация, передающаяся по сетевым соединениям. С развитием локальных и глобальных сетей именно удаленные атаки становятся лидирующими как по количеству попыток, так и по успешности их применения, и, соответственно, обеспечение безопасности ВС с точки зрения противостояния сетевым атакам приобретает первостепенное значение.
удаленные атаКИ НА ХОСТЫ iNterNet
Многое наша Земля повидала, Но не видала Такого скандала!
Б. Заходер. География всмятку
Анализ сетевого трафика Internet
В Internet базовыми протоколами удаленного доступа являются TELNET и FTP (FileTransferProtocol). TELNET - это протокол виртуального терминала (ВТ), позволяющий с удаленных хостов подключаться к серверам Internet в режиме ВТ. FTP - протокол, предназначенный для передачи файлов между удаленными хостами. Для получения доступа к серверу по данным протоколам пользователю необходимо пройти процедуры идентификации и аутентификации. В качестве информации, идентифицирующей пользователя,
выступает его имя, а для аутентификации используется пароль. Особенностью протоколов FTP и TELNET является то, что пароли и идентификаторы пользователей передаются по сети в открытом, незашифрованном виде. Таким образом, необходимым и достаточным условием для получения удаленного доступа к хостам по протоколам FTP и TELNET являются имя и пароль пользователя.Одним из способов получения таких паролей и идентификаторов в Internet является анализ сетевого трафика. Этот анализ осуществляется с помощью специальной программы-анализатора пакетов (sniffer), перехватывающей все пакеты, передаваемые по сегменту сети, и выделяющей среди них те, в которых передаются идентификатор пользователя и его пароль. Сетевой анализ протоколов FTP и TELNET показывает, что TELNET разбивает пароль на символы и пересылает их по одному, помещая каждый символ пароля в соответствующий пакет, aFTP, напротив, пересылает пароль целиком в одном пакете.
Возникает вопрос: а почему бы не сделать передачу имени пользователя и пароля в зашифрованном виде? Видимо, проблема в том, что базовые прикладные протоколы семейства TCP/IP разрабатывались очень давно, в период с конца 60-х до начала 80-х годов, и с тех пор абсолютно не изменились. При этом точка зрения на построение глобальных сетей стала иной. Инфраструктура Сети и ее протоколы разрабатывались исходя, в основном, из соображений надежности связи, но не из соображений безопасности.
Таким образом возможно отследить сетевой поток и выявить пакеты содержащие необходимые данные (Имя, пароль, и т.д.). Так как в данном документе рассматривается толькосервер ЛГТУ octopus.lstu, то я проанализировав сеть, пришел к выводу, что сервер не всегда находится в активном состоянии. Таким образом, данный вариант атаки отпадает, да и еще чтобы постоянно отслеживать трафик, необходимо, чтобы все это время в сети находился хотя бы один компьютер, что невозможно из-за финансовых трудностей.
Перебор паролей в файле /etc/passwd
В ранних версиях операционных системах семейства UNIX зашифрованные пароли (точнее их хэш-копии) хранились в файле /etc/passwd. В современных UNIX’ах пароли хранятся в /etc/shadow. Хранение зашифрованных паролей в /etc/passwd делает систему сервера octopus.lstu уязвимой. Здесь используется хэш-функция DataEncryptionStandard (DES 48/64 4K). Поскольку данная шифровка работает только «в одну сторону», а проверка подлинности пароля заключается в том, что при вводе пароля пользователя, операционная система шифрует введенную последовательность и сравнивает ее со строкой в файле /etc/passwd. Вот пример записи паролей и имен пользователей в /etc/passwd:
root:LyavHDdahFcwU:0:1:Superuser:/:
…
malysh:7DnDkTMD9/wG2:1007:25:Olga A. Bocharnikova, AS-98-1:/user/students/as98/malysh:При этом атакуемая сетевая ОС в зависимости от вычислительной мощности компьютера либо перестает реагировать на легальные запросы на подключение (отказ в обслуживании), либо, в худшем случае, практически зависает. Это происходит потому, что система должна, во-первых, сохранить в памяти полученную в ложных сообщениях информацию и, во-вторых, выработать и отослать ответ на каждый запрос. Таким образом, «съедаются» все ресурсы системы: переполняется очередь запросов, и ОС вынуждена заниматься только их обработкой. Эффективность данного воздействия тем выше, чем больше пропускная способность канала между атакующим и его целью, и тем ниже, чем больше вычислительная мощность атакуемого компьютера (число и быстродействие процессоров, объем ОЗУ и т.п.).