Курсовая работа: Несанкционированный доступ к терминалам серверов с операционными системами семейства UNIX

Министерство образования российской федерации

Липецкий государственный технический университет

Кафедра АСОИУ

Индивидуальное домашнее задание по дисциплине «Операционные системы»

«Несанкционированный доступ к терминалам серверов с операционными системами семейства UNIX . На примере octopus . stu . lipetsk . ru »

Выполнил: Архипов Н.А.

Группа: АС-99-2

Принял: Журавлева М.Г.

Липецк 2001

Предисловие

План, что и говорить, был превосходный: простой и ясный, лучше не придумаешь. Недостаток у него был только один: было совершенно неизвестно, как привести его в исполнение.

Л. Кэрролл. Алиса в стране чудес

В данном отчете мы попытаемся выявить «дыры» и «изъяны» локальной компьютерной сети ЛГТУ (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:


Local profile
Полное имя
ID и группа
Заш. пароль
User name

Для перебора паролей мы используем тот же метод, что и операционная система: перебираю все возможные комбинации букв латинского алфавита (причем имеет значение прописная буква или строчная), цифр и специальных знаков. Здесь можно использовать как функции самой операционной системы, так и написать свою функцию шифровки. Но нужно быть точно уверенным что за алгоритм используется в данном случае, иначе перебор не приведет ни к каким результатам. На компьютере octopus используется алгоритм шифрования DES [48/64 4K]. Так как на octopus’e столь неважные, по сегодняшним меркам, аппаратные средства (см. следующий пункт), то ни о каком переборе пароля не может идти и речи. Тем более, даже на более быстрых машинах (PentiumIII – 650MHz) расшифровка заняла примерно 30 суток (!!!). Да и сервер не все время находится в рабочем состоянии, как уже было замечено выше. В отчете прилагается часть программы, для расшифровки паролей файла /etc/passwd.

Deny of Service (DoS) атака .

Дословно DenyofService переводится как «отказ в обслуживании». Это означает например, что операционная система не может обслужить запрос пользователя или другой системы.

Рассмотрим нарушение работоспособности хоста в сети при ис­пользовании направленного шторма ложных TCP-запросов на создание соединения либо при переполнении очереди запросов. Из рассмотренной в предыдущем пункте схемы создания TCP-соедине­ния следует, что на каждый полученный TCP-запрос (TCPSYN) операци­онная система должна сгенерировать начальное значение идентификатора ISN и отослать его на запросивший хост. Но так как в Internet (стандарта IPv4) не предусмотрен контроль за IP-адресом отправителя сообщения, то проследить истинный маршрут, пройденный IP-пакетом, невозможно и, следовательно, у конечных абонентов сети нет способа ограничить число запросов, принимаемых в единицу времени от одного хоста. Поэтому возможно осуществление типовой удаленной атаки «отказ в обслужива­нии», которая будет заключаться в передаче на объект атаки как можно большего числа ложных TCP-запросов на создание соединения от имени любого хоста в сети (направленный шторм запросов TCPSYN, схема ко­торого приведена на рисунке).


При этом атакуемая сетевая ОС в зависимости от вычислительной мощности компьютера либо перестает реагиро­вать на легальные запросы на подключение (отказ в обслуживании), либо, в худшем случае, практически зависает. Это происходит потому, что система должна, во-первых, сохранить в памяти полученную в ложных сообщениях информацию и, во-вторых, выработать и отослать ответ на каждый запрос. Таким образом, «съедаются» все ресурсы системы: переполняется очередь запросов, и ОС вынуждена заниматься только их обработкой. Эф­фективность данного воздействия тем выше, чем больше пропускная способность канала между атакующим и его целью, и тем ниже, чем больше вычислительная мощность атакуемого компьютера (число и быстродействие процессоров, объем ОЗУ и т.п.).

Такую атаку можно было предсказать еще лет двадцать назад, когда по­явилось семейство протоколов TCP/IP: ее корни находятся в самой инф­раструктуре сети Internet, в ее базовых протоколах - IP и TCP. Но каково же было наше удивление, когда выяснилось, что на информационном . WWW-сервере CERT (ComputerEmergencyResponeTeam) первое упоминание об удаленном воздействии такого рода датировано только 19 сентяб­ря 1996 года! Там эта атака носила название «TCPSYNFloodingandIPSpoofingAttacks» («наводнение» TCP-запросами с ложных IP-адресов). Другая разновидность атаки «отказ в обслуживании» состоит в передаче на атакуемый хост нескольких десятков (сотен) запросов TCP SYN в се­кунду (направленный мини-шторм TCP-запросов) на подключение к сер­веру, что может привести к временному (до 10 минут) переполнению оче­реди запросов на сервере (см. атаку К. Митника). Это происходит из-за того, что некоторые сетевые ОС обрабатывают толь­ко первые несколько запросов на подключение, а остальные игнорируют, Таким образом, получив N запросов на подключение, ОС сервера ставит их в очередь и генерирует соответственно N ответов. Затем в течение опреде­ленного промежутка времени (тайм-аут < 10 минут) сервер будет дожи­даться сообщения от предполагаемого клиента, чтобы завершить handshake и подтвердить создание виртуального канала с сервером. Если атакующий пришлет такое количество запросов на подключение, которое равно макси­мальному числу одновременно обрабатываемых сервером сообщений, то в течение тайм-аута остальные запросы будут игнорироваться и установить связь с сервером не удастся.

Мы провели ряд экспериментов с направленным штормом и направлен­ным миништормом запросов на различных по вычислительным мощнос­тям компьютерах с разными операционными системами.

Тестирование направленным штормом запросов TCPSYN, проводимое на различных сетевых ОС в экспериментальных 10-мегабитных сегментах сети, дало следующие результаты: все описанные далее атаки осуществлялись по определенной методике. Подготавливался TCP-запрос, который при помощи специально разрабо­танной собственной программы в цикле передавался в сеть с соответству­ющими задержками (вплоть до нулевой) между запросами. При этом цик­лически изменялись такие параметры запроса, как порт отправителя и значение 32-битного идентификатора SYN. IP-адрес отправителя запро­са был выбран так, чтобы, во-первых, этот хост в настоящий момент не был активен в сети и, во-вторых, чтобы соответствующий маршрутизатор, в чьей зоне ответственности находится данный хост, не присылал сообще­ния HostUnreachable (Хост недоступен). В противном случае хост, от име­ни (с IP-адреса) которого посылался запрос TCP SYN, получив «неожи­данный» ответ TCP АСК от атакуемого сервера, перешлет на него пакет TCPRST, закрывая таким образом соединение.

При передаче по каналу связи максимально возможного числа TCP-зап­росов и при нахождении кракера в одном сегменте с объектом атаки ата­куемые системы вели себя следующим образом: ОС Windows 95, установ­ленная на 486DX2-66 с 8 Мб ОЗУ, «замирала» и переставала реагировать на любые внешние воздействия (в частности, нажатия на клавиатуру); ОС Linux 2.0.0 на 486DX4-133 с 8 Мб ОЗУ также практически не функциони­ровала, обрабатывая одно нажатие на клавиатуре примерно 30 секунд. В результате к этим хостам невозможно было получить не только удален­ный, но и локальный доступ.

Не менее интересным было поведение атакуемых систем после снятия воздействия: ОС Windows 95 практически сразу же после прекращения ата­ки начала нормально функционировать; в ОС Linux 2.0.0 с 8 Мб ОЗУ, по-видимому, переполнился буфер, и более получаса система не функциони­ровала ни для удаленных, ни для локальных пользователей, а занималась только передачей ответов на полученные ранее запросы. CyberGuard сразу же после снятия воздействия стал доступным для удаленного доступа.

Если кракер находился в смежных сегментах с объектом, то во время атаки ОС Windows 95 на Pentium 100 с 16 Мб ОЗУ обрабатывала каждое нажатие с клавиатуры примерно секунду, ОС Linux 2.0.0 на Pentium 100 с 16 Мб ОЗУ практически «повисала» - одно нажатие за 30 секунд, зато после снятия воздействия нормальная работа возобновлялась.

Не нужно обманываться, считая, что ОС Windows 95 показала себя с лучшей стороны. Такой результат объясняется следующим: Windows 95 - операционная система, не имеющая FTP-сервера, а следовательно, ей не нужно было сохранять в памяти параметры передаваемого TCP-запро­са на подключение к этому серверу и дожидаться окончания handshake.

Таким образом, учитывая аппаратные средства сервера octopus.lstu (Olivetti 80286) можно без труда осуществить на него DoS атаку. Даже если локальная сеть будет загружена. Можно предположить, что и остальные сервера университета могут быть «обездвижены» таким способом. Например сервер кафедры прикладной математики: IBM 486DX66 16RAM. По аппаратной части серверы кафедры АСУ (здесь не имеется ввиду octopus.lstu) более устойчивы к DoS атаке.

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 1162
Бесплатно скачать Курсовая работа: Несанкционированный доступ к терминалам серверов с операционными системами семейства UNIX