Предупреждение для администраторов или идеи для новых взломов?
Мошенники использовали свои знания для взлома выбранных компьютеров. Лишь в редких случаях проблемы в защите системы устранялись применением исправлений, потому что большинство системных администраторов ничего не знали об этом, а сведущие в данном вопросе сотрудники не горели желанием делиться такой информацией. Однако с тех пор многое изменилось.
2 августа 2000 г. в открытом списке рассылки материалов по защите данных Bugtraq была размещена информация о более чем 20 уязвимых местах с алгоритмами взлома, а также шесть объявлений производителей. 2 августа было необычным днем только по количеству объявлений, так как новые слабые места и сообщения производителей о заплатах появляются ежедневно. Производители стали лучше справляться с задачей по распространению заплат для «дыр» в защите, чем они это делали раньше, когда информация о безопасности хранилась в тайне.
Однако сегодня все чаще можно слышать призывы загнать джинна обратно в бутылку, т. е. прекратить публикацию информации о новых уязвимых местах. В США даже был предложен закон, по которому определенные виды тестирования брешей защиты считались бы незаконными. Однако даже такой закон был бы не в состоянии остановить тестирование систем на устойчивость к атакам, так как они проводятся не только в США.
В нижеследующей заметке я предлагаю вашему вниманию свой взгляд на то, как обстояли дела до того, как информация о слабостях защиты стала общедоступной, а также рассказ о том, что же было опубликовано в тот необычный августовский день.
СТАРЫЕ ДОБРЫЕ ВРЕМЕНА
Появление «червя» Internet Worm в 1988 г. застало многих врасплох, несмотря даже на то что использованные Робертом Моррисом «дыры» были широко известны (правда, в узких кругах). Ранее Моррис проходил стажировку в Агентстве национальной безопасности, где имел доступ к информации о некоторых уязвимых местах, которую он впоследствии использовал при написании своего вируса. Наиболее оригинальной частью «червя» был алгоритм взлома, созданный Моррисом самостоятельно, но он не был самым эффективным методом внедрения из имевшихся в распоряжении «червя». Все же остальные механизмы взлома были известны.
После атаки код вируса был пропущен через дисассемблер, но результаты, за исключением общих описаний, не публиковались еще много лет. На это имелись весомые основания: после выпуска оригинала Морриса было выявлено несколько его клонов. Группа реагирования на критические ситуации в компьютерных системах (Computer Emergency Response Team, CERT) была создана
в целях распространения информации о новых атаках, однако быстро столкнулась с серьезными затруднениями. Ранние рекомендации CERT в некоторых случаях содержали достаточно информации для написания алгоритмов взлома, поэтому публикация рекомендаций немедленно вызывала увеличение числа именно тех атак, о которых они предупреждали. CERT быстро перестроилась на выдачу достаточно неопределенных предупреждений, дабы не усугублять проблемы.
Однако, как следствие такой осторожной позиции, у системных администраторов осталось чувство, что подобные рекомендации почти бесполезны. Одна из проблем с любой рекомендацией по защите проявляется, когда система уязвима и к ней следует применить исправления, потому что иногда установка исправлений может привести к нарушению критичной системы, работавшей перед этим «идеально». Вместе с тем, возможность тестирования на наличие уязвимых мест рассматривалась многими экспертами как решающая.
Рекомендация CERT CA-93:15 может служить отличным примером проблемы. Она касалась трех различных программ для операционной системы Sun Microsystems. Однако одна из программ — sendmail — опиралась на стандартный код, поэтому обнаружение ошибки в версии для Sun означало существование аналогичной проблемы в версиях, используемых другими производителями. Это привело к бурным спорам в списке рассылки Firewalls, так как многие администраторы стали обращаться за более полной информацией об ошибке в sendmail.
В ответ на шумиху создатель Bugtraq Скотт Часен опубликовал новый механизм взлома для sendmail, но это не было той проблемой, которую устраняли исправления Sun. К несчастью, в выпущенном Sun обновлении к своему программному обеспечению вновь оказалась открыта одна из брешей, использованных Internet Worm (в команде debug), поэтому Sun предложила своим заказчикам заменить уязвимую версию без объяснений причины.
Алгоритм взлома с использованием команды debug действительно очень прост, поэтому реклама такой «дыры» могла бы иметь неприятные последствия. Однако сокрытие информации также не прошло бесследно, так как эксперты хотели знать, в чем истинная проблема, а системные администраторы откладывали установку новых исправлений на своих серверах, потому что не знали, насколько это важно.
Если бы CERT опубликовала подробное описание, то каждый владелец уязвимой версии sendmail мог бы подвергнуться атаке хакеров. С другой стороны, рекомендации были настолько расплывчатыми, что это вызвало больше недоразумений, чем корректирующее действие, т. е. простая замена sendmail только для Sun.
НЕ СЛИШКОМ ЛИ МНОГО ИНФОРМАЦИИ?
Сегодня публикация информации о проблемах безопасности в программном обеспечении стала стандартной практикой для хакеров и компаний по обеспечению безопасности. Оба лагеря делают это с целью продемонстрировать свою компетенцию, а также для саморекламы, хотелось бы верить, в хорошем смысле.
Между тем в отношении публикации информации о «дырах» в защите существует определенный этикет. На узле Internet Security Focus бесплатно предлагается помощь по разработке рекомендаций через специальный адрес электронной почты, а экспертом по безопасности под псевдонимом Rain Forest Puppy (RFP) был написан программный документ (версии 1.1) о том, когда и что следует публиковать (см. «Ресурсы Internet»). RFP также принимал участие в написании книги «Защита сетей от хакеров», посвященной обнаружению новых уязвимых мест.
В двух словах, этикетом в отношении рекомендаций по безопасности предусматривается доведение до сведения производителя или компании по сопровождению программного обеспечения факта обнаружения проблемы защиты, а также намерение опубликовать эту информацию в ближайшем будущем (обычно в течение двух недель). Этикет требует определенной гибкости в вопросе этих сроков. Некоторым крупным компаниям требуется больше времени для создания исправлений, потому что данное программное обеспечение может иметься во множестве версий. Кроме того, компания должна учесть побочные эффекты от любого исправления.
С учетом этого акцента на разоблачение чтение сообщений Bugtraq за один день подобно наблюдению за продолжительным спором, причем большая часть монологов исходит от атакующей стороны. В дайджесте от 2 августа 2000 г. содержалась информация о более чем 20 слабостях защиты, многие из которых отмечались впервые. В него были также включены шесть рекомендаций или замечаний производителей и два исправления для известных на тот день «дыр».
Первым упомянутым в тот день уязвимым местом была «дыра» в ntop, утилите UNIX для удаленного наблюдения за статистикой сетевого трафика. Данная утилита может быть запущена с поддержкой интерфейса сервера Web, благодаря чему любой пользователь браузера Web может не только использовать утилиту, но и просматривать файловую систему сервера. Позднее автор утилиты заявил о том, что эта брешь была устранена в версии 2, более чем за два месяца до публикации.
Далее, компания, сопровождающая пакет с открытым исходным кодом под названием mailman, объявила о выпуске обновленной версии, где были устранены две небольшие потенциальные проблемы защиты. Затем в списке появилась дополнительная информация о методе взлома в удаленном режиме с получением прав root, с использованием консоли подключаемых модулей аутентификации (Pluggable Authentication Module, PAM) в некоторых новых версиях Linux. В следующем сообщении объяснялось, как локально взломать различные системы Solaris, повышая уровень привилегий, а также был указан простой способ для предотвращения такого взлома.
Польская группа «Состояние полного бреда» (Last Stage of Delirium, LSD) опубликовала несколько списков ссылок, главным образом о взломе систем Silicon Graphics (а также двух процедур для Sun — rpc.ttdbserverd и rpc.cmsd). Большинство процедур взлома обеспечивало получение прав root за счет переполнения буфера и могло быть реализовано по сети. Алгоритм взлома Sun был не нов, однако LSD заявила, что их код предоставлял дополнительные возможности. (Задолго до этого Sun объявила о выпуске исправлений против обеих атак.)
В следующей публикации было подробно описано, как заставить корректно работать новый взломщик statd с Linux, а также содержались упреки в отношении Microsoft по поводу отсутствия защиты от отказа в обслуживании (Denial of Service, DoS). (В Microsoft считают, что потенциально проблема DoS проявляется при использовании в небольших подсетях. В «Ресурсах Internet» смотрите ссылку на исправление MS00-047.)
Недавно созданная консалтинговая компания по вопросам безопасности Guardent представила описание возможных методов взлома Windows 2000. При локальном взломе пользователь получал права на LocalSystem (что то же самое, что root в NT) за счет использования ошибки при взаимодействии менеджера управления службами (Service Control Manager, SCM) и именованных каналов. Guardent строго придерживалась правил этикета, так как вслед за ее публикацией появилось объявление об исправлении Microsoft (MS00-053, см. «Ресурсы Internet»).
Несколькими сообщениями позже появилась рекомендация от Sun. В ней предлагалось исправить два файла, ошибки в которых позволяли при наличии локального доступа повысить уровень привилегий (до root) с помощью программ lpset или netpr, в обоих случаях методом переполнения буфера. За этой публикацией последовали извинения компании, сотрудник которой реализовал вирус для установки исправления Microsoft Outlook, но не позаботился о публикации информации о нем. Предложенный вирус под кодовым названием Antibody вызвал бурю протестов. Многие участники заявили, что концепция использования вируса для установки исправлений опасна, потому что с высокой вероятностью вирус наделает больше вреда, чем принесет пользы.
Последний набор уязвимых мест был предоставлен аргентинской группой по вопросам безопасности CORE, на этот раз для сервера PKI компании Network Associates International (NAI). Опираясь на предыдущее заявление представителя компании Garrison Technologies Джима Стикли, CORE обнаружила три новых уязвимых места, не устраненных NAI. Рекомендация включала ссылку на страницу исправлений NAI (CORE также следовала правилам этикета в отношении разоблачений).
Последние две публикации были посвящены исправлениям для Netscape и ранее упомянутого пакета mailman. Исправление Netscape относилось к приводящей к переполнению буфера ошибке при обработке некоторых файлов JPEG. Сервер Brown Orifice HTTPD, написанный на языке Java, использовал ошибку в браузерах Internet Netscape, применяя программу Java для превращения простого браузера в сервер Web, способный читать любой файл в системе и показывать его удаленным пользователям.ПОЛНОЕ РАЗГЛАШЕНИЕ
Итак, каким образом можно быть в курсе всех исправленных уязвимых мест (не говоря о тех, информация о которых не была опубликована и которые не были исправлены)? Ответ, как это ни печально, следующий: большинство систем не содержит самых последних исправлений. Microsoft, ставшая очень быстро устранять проблемы, выпустила в этом году (до начала августа 2000 г.) 53 рекомендации, т. е. почти по две в неделю.
Версии UNIX, включая Linux, также не обладают иммунитетом к уязвимым местам защиты. Например, много внимания привлекла новая «дыра» WU-FTPD для систем Linux (атака формата). Но для всех версий UNIX частота появления новых уязвимых мест сравнительно невысока. Тем не менее системы Linux без установленных заплат остаются излюбленной мишенью хакеров. Публикация процедур взлома сделает такую возможность еще более доступной.
Полное раскрытие информации о «дырах» позволило радикально повысить уровень безопасности UNIX. Вместо претензий на то, что у них все в порядке и что их клиентов не заботит безопасность, производители стали своевременно реагировать на публикацию об ошибках.
С другой стороны, проникновение в системы стало как никогда простым из-за публикуемой каждый день информации. Однако большая часть такой информации могла бы публиковаться нелегально даже при законодательном запрещении полного ее раскрытия. Наложение запрета на некоторые методы, такие, как дисассемблирование, приведет лишь к публикации работ за пределами США.
Истинной и первоочередной задачей должна стать разработка безопасного программного обеспечения. Одна из версий UNIX, OpenBSD, перед поставкой заказчику проходит полную проверку кода на наличие ошибок в защите. Такая работа помогает другим разработчикам UNIX, потому что производители OpenBSD не делают секрета из найденных проблем, так что другие компании могут следовать их примеру. Однако для Microsoft все будет несколько труднее, так как ее база кодов принципиально отличается и существенно больше по размеру.
Рик Фэрроу является независимым консультантом по безопасности. Его узел Internet, http://www.spirit.com, содержит ссылки по вопросам безопасности и информацию о курсах по сетям и компьютерной безопасности. С ним можно связаться по адресу: rik@spirit.com.Ресурсы Internet
Пример расплывчатой рекомендации CERT можно посмотреть в ее архивах на http://www.cert.org/ ftp/ cert_advisories/ CA-93:15.SunOS.and.Solaris.vulnerabilities/.
Для получения помощи по вопросам взаимодействия с производителями и создания рекомендаций можно посылать сообщение по адресу: vulnhelp@securityfocus.com.
Подготовленный хакером Rain Forest Puppy документ содержит советы по написанию рекомендаций. Его можно прочитать на http://www.wiretrip.net/ rfp/ p/ doc.asp?id=56&iface=2/.
Узел группы Last Stage of Delirium (LSD), разместившей информацию о большей части уязвимых мест 2 августа 2000 г., расположен по адресу: http://lsd-pl.net.
Бюллетень Microsoft, опубликованный в ответ на информацию о «дыре» в Denial of Service (DoS), находится на http://www.microsoft.com/ technet/ security/ bulletin/ ms00-047.asp/. Бюллетень, выпущенный в ответ на рекомендацию Guardent, помещен на http://www.microsoft.com/ technet/ security/ bulletin/ms00-053.asp/.