Имитация ip-адреса — пример из практики

При атаке имитации IP-адреса компьютерная система считает, что она взаимодействует с другой системой. Как это реализуется на практике? Ясно, что подобная атака, нацеленная на службу электронной почты или веб-службу, много не даст. То же самое справедливо и для атак грубой силы с помощью командной строки telnet. А что можно сказать про службы, использующие IP-адрес отправителя, такие как rlogin или rsh?

При настройке служб rlogin или rsh IP-адрес отправителя является важным компонентом, поскольку он определяет, кому разрешено использование этих служб. Удаленные хосты, допущенные к таким соединениям, называются доверенными. При использовании имитации IP-адреса доверенной системы можно успешно взломать целевую систему.

При обнаружении системы, имеющей доверительные отношения с другой системой и находящейся в сети, к которой можно подключиться, имитация IP-адреса позволит хакеру получить доступ в эту систему. Однако есть еще одна проблема, которую он должен решить. Целевая система в ответ на подложные пакеты будет отправлять данные доверенной системе. В соответствии со спецификацией TCP доверенная система может ответить перезагрузкой или пакетом сброса (RST-пакетом), поскольку она не имеет сведений о подключении. Хакер не должен допустить этого и обычно выполняет DоS-атаку против доверенной системы. На рис. 3.7показан процесс выполнения атаки с использованием имитации IP-адреса.

При подключении к службе rlogin хакер может зарегистрироваться как пользователь доверенной системы (неплохим вариантом будет учетная запись root, имеющаяся во всех Unix-системах). Позже он обеспечит себе более удобный способ входа в систему. (При подключении с помощью имитации IP-адреса хакер не получает ответы целевой системы на свои действия.) Он может настроить целевую систему для разрешения доступа с помощью rlogin с удаленной системы или добавить учетную запись для своего личного использования.

Вопрос к эксперту

Вопрос. Имеются ли случаи успешного проникновения в систему посредством имитации IP-адреса?

Ответ. Конечно. Кевин Митник (Kevin Mitnick) использовал именно этот тип атаки для проникновения в Центр суперкомпьютеров в Сан-Диего. Он реализовал атаку во время рождественских праздников, когда в системах почти не было пользователей. Это способствовало его планам, так как никто не обращал внимание на его действия

Имитация ip-адреса - пример из практики

Рис. 3.7.Практическая реализация атаки имитации IP-адреса

Выявление вредоносных программ

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

  • компьютерные вирусы;
  • программы троянский конь;
  • черви.

В следующих разделах мы подробно рассмотрим каждый тип.

Вирусы

Компьютерные вирусы являются паразитами по отношению к другим компьютерным программам. Они сделаны так, что не могут жить самостоятельно. При выполнении программы, в которую внедрен вирус, исполняется код вируса, реализующий собственные функции. Эти функции обычно включают заражение других программ и распространение на другие диски. Некоторые вирусы являются вредоносными — они удаляют файлы или выводят из строя систему. Другие вирусы не наносят никакого вреда, кроме распространения самих себя по компьютерным системам.

Вирусы начали появляться в то время, когда компьютеры использовали дисковую операционную систему — DOS. (Не путайте с атакой DoS!) Эти вирусы распространялись через файлы, доступные на электронных досках объявлений, или через дискеты. Позднее были созданы вирусы, которые прикреплялись к файлам текстовых редакторов и исполнялись как часть языка макросов в программах обработки текста.

Примерами компьютерных вирусов являются вирус Микеланджело (Michelangelo) (уже устаревший) и макровирус Мелисса (Melissa). Более подробное описание различных вирусов находится на сайтах http://www.symantec.com/ и http://www.mcafee.com/.

Примечание

Все типы вредоносного кода относят к категории компьютерных вирусов. Запомните описания вирусов и попробуйте понять, как работает код, чтобы правильно его классифицировать. Принципы работы этих программ напрямую связаны с выбором наиболее эффективных механизмов защиты.

Троянские кони

Древние греки спрятали в подношении воинов, готовящих нападение. Так и троянский конь скрывает свою вредоносную сущность под видом полезной и интересной программы. Троянский конь является законченной и независимой программой, которая разработана для выполнения вредоносных действий. Она обычно маскируется под новую программу или электронную почту.

Большинство программ типа троянский конь содержат механизмы самораспространения на другие компьютеры-жертвы. Возьмем для примера программу ILOVEYOU. Она попадает на компьютер через сообщение электронной почты с вложением, содержащим программу на Visual Basic. Это вложение выглядит, как обычный текстовый файл. Но если пользователь откроет этот файл, то выполнится код на Visual Basic. Он отправит сам себя по почте всем пользователям, адреса которых найдет в адресной книге жертвы.

Ущерб от троянских коней подобен ущербу от компьютерных вирусов. Программа, подобная ILOVEYOU, может вызвать DoS-атаку вследствие истощения ресурсов компьютера. Во многих организациях программа ILOVEYOU полностью остановила работу служб электронной почты.

Черви

Судя по названию, червь — это программа, которая переползает от системы к системе без всякой помощи со стороны жертвы. Червь сам себя распространяет и воспроизводит. Все, что требуется от его создателя, — запустить червя.

Первым известным примером является знаменитый интернет-червь, созданный Робертом Моррисом в 1989 г. Червь Морриса был запрограммирован на использование множества уязвимых мест, в том числе слабых паролей. С их помощью он отыскивал в интернете системы, в которые проникал и выполнялся. Попав в систему, червь начинал разыскивать другие жертвы. По прошествии некоторого времени он вывел из строя весь интернет (правда, интернет тогда был значительно меньше, и многие сайты отключились от сети сами, чтобы защититься от червя).

В последнее время широкую известность приобрел червь CodeRed. Он использовал уязвимые места в информационных службах интернета (IIS) от Microsoft для распространения через всемирную сеть. Поскольку он использовал для атаки легальные веб-соединения, защитить от него компьютеры не смогли даже межсетевые экраны. Попав в систему, CodeRed выбирал произвольный адрес для следующей атаки.

Примечание

В первоначальной версии червя CodeRed имелась проблема выбора адреса для следующей атаки. В поздних версиях червя она была решена, за счет чего червь стал распространяться быстрее. До сих пор еще встречаются инфицированные червем CodeRed системы, сканирующие интернет в поисках систем, которые можно вывести из строя.

Пример червя Slapper

В сентябре 2002 г. в интернете появился червь Slapper, который продемонстрировал потенциальную опасность червей. Этот червь действовал не сразу, подготавливая плацдарм для будущей атаки. Следует отметить, однако, что даже в момент своего наивысшего подъема червь Slapper не затронул такого количества систем, как червь CodeRed.

Червь Slapper использовал уязвимое место в модуле OpenSSL веб-сервера Apache (OpenSSL позволяет работать с протоколом защищенной передачи гипертекстов HTTPS). Попав в систему, червь выбирал IP-адрес для атаки из списка сетей класса А, запрограммированных в коде червя. Затем Slapper исследовал IP-адресцелевой системы и проверял, выполняется ли на ней веб-сервер. В случае положительного ответа он выяснял, не является ли этот веб-сервер сервером Apache, работающим на платформе Intel (поскольку он имеет свои специфические бреши). В конце концов червь определял наличие в целевой системе уязвимого места для атаки.

Сама атака выполнялась посредством использования HTTPS и порта 443. Это затрудняло обнаружение нападения, так как трафик шифровался. Единственное, что выдавало деятельность червя: при поиске уязвимого места он использовал стандартный протокол HTTP и порт 80 и легко обнаруживал себя.

Эксплойт, выполнявшийся на целевой системе, позволял червю получить доступ к командам оболочки shell, с помощью которых он копировал и компилировал самого себя, а затем выполнял получившуюся программу. Далее он отыскивал новые жертвы и запускал процесс снова и снова. После инфицирования одной системы червь продолжал с нее поиск других уязвимых систем.

Самой опасной функцией червя Slapper (и ключевым компонентом будущих червей) была его способность к распространению по сети. Вместо иерархической модели связи (см. рис. 3.6) он использовал модель равноправных узлов. Каждая взломанная система взаимодействует через UDP с тремя системами: одна система инфицирует ее, а две системы инфицирует она. С помощью этого механизма полученная команда перенаправляется ко всем доступным узлам. Первоначальный червь планировался для координации DoS-атак. Тот, кто намеревался использовать это, должен был тщательно прятать эти механизмы подключения и работы в сети.

Гибриды

В последнее время появилась еще одна разновидность вредоносных программ — объединение двух типов программ в одну. Можно встретить программы, действующие одновременно и как черви, и как троянские кони.

Прекрасным примером является червь Nimda, который использовал уязвимые места веб-сервера для перемещения с одной системы на другую, подобно червю. Однако Nimda распространялся и через вложения электронной почты, сделанные весьма привлекательными для пользователя, чтобы соблазнить его открыть файл. После открытия вложения червь распространялся далее через электронную почту. Он использовал системы жертв для атаки веб-серверов.

Вопросы для самопроверки

1. Назовите три типа вредоносных программ.

2. Почему трудно выполнить снифинг в коммутируемых сетях?

Что такое IP-адрес, маска, хост, адрес сети. Основы


Похожие статьи.

Понравилась статья? Поделиться с друзьями: