2005 г.
Семёнов Ю.А. (ГНЦ ИТЭФ),
В двадцать первом веке движущей силой и главным объектом всех отраслей человеческой деятельности становится информация, и состояние каналов, сетей и безопасность серверов станут основой экономического развития. К сожалению, сложные сетевые технологии достаточно уязвимы для целенаправленных атак. Причем такие атаки могут производиться удаленно, в том числе и из-за пределов национальных границ. Все это ставит новые проблемы перед разработчиками и строителями информационной инфраструктуры. Некоторые современные формы бизнеса полностью базируются на сетевых технологиях (электронная торговля, IP-телефония, сетевое провайдерство и т.д.) и по этой причине особенно уязвимы. Потребуется здесь и международное сотрудничество в сфере законодательства и установления барьеров для сетевых террористов. Не исключено, что придется со временем модифицировать с учетом требований безопасности некоторые протоколы и программы.
Число ЭВМ, подключенных в Интернет, к концу 2005 года достигнет, а возможно превысит, 1 миллиард. Число WEB-серверов в 2005 году перевалило за 70 миллионов. Сегодня трудно представить себе фирму, организацию или учреждение, где бы для обработки документов, ведения бухгалтерии, учета, обмена сообщениями, доступа к информационным и поисковым серверам и так далее не использовали машин,
подключенных к сети. Огромная масса людей не может себе представить жизнь без доступа к сети Интернет, который стал еще одним средством массовой информации. Но преимущества доступа к информации через сеть все чаще омрачается атаками вирусов, червей, троянских коней, spyware и хакеров.
Разнообразие угроз, подстерегающих пользователя, работающего в сети, огромно. Часть из них является платой за использование сложных информационных технологий, уязвимых к внешним воздействиям, другая часть сопряжена с деятельностью людей. Некоторые угрозы носят объективный характер, например, нестабильность или низкое качество питающего напряжения,
электромагнитные наводки или близкие грозовые разряды, другие могут быть связаны с невежеством или неаккуратностью самого пользователя.
Если несколько лет назад атаки на сетевые объекты совершали в основном (около 90%) хулиганы, которые таким образом пытались самоутвердиться, сейчас вторжения на серверы и рабочие станции предпринимаются уже с корыстной целью. Речь не идет о вторжениях в банки, все много прозаичнее, хакер взламывает большое число машин, выбирая наиболее уязвимые, и формирует базис для аспределенных сетевых атак отказа обслуживания (DDoS) на сервис-провайдеров или серверы фирм (заказы поступают от конкурентов), или для рассылки СПАМ’а, что стало в нашей стране достаточно прибыльным и относительно безопасным бизнесом.
Мы в ИТЭФ были вынуждены заниматься проблемами сетевой безопасности с 1995 года, когда несколько раз подверглись DoS-атакам. Сначала мы даже не знали, что происходит. Наш маршрутизатор CISCO-4000 был достаточно тихоходен и при потоках более 2000 пакетов в секунду блокировался. Не имея специальных средств и навыков, мы на диагностику проблемы в начале тратили более суток. Связано это с тем, что DoS-атаки чаще всего предпринимаются с использование фальсификации адреса отправителя. Две атаки были предприняты с ЭВМ из нашей локальной сети, взломанных ранее. Позднее такие объекты мы научились локализовать за несколько минут. Для этого была написана специальная программа. Алгоритм этой программы доложен на конференции МаБИТ-03, МГУ октябрь 2003 год.
Но описанные атаки были вторичными. Для нас оставалось не
ясным, как взламывались ЭВМ-жертвы в нашей локальной сети. Чтобы прояснить эту проблему, мы поставили на входе сети ЭВМ, на которой сначала стояла программа t-meter, а позднее sniffer. Варьируя критерии отбора пакетов, мы смогли выявить IP-адреса машин, с которых производится сканирование адресов и портов ЭВМ нашей сети. В настоящее время число атак из расчета на одну ЭВМ превышает 20/сутки.
Следует учитывать, что характер атак становится все более
изощренным. Хакеры объединяются в клубы, издают журналы и продают хакерские CD. Сегодня крайне актуальным становится кооперирование их потенциальных жертв.
Мало зарегистрировать атаку, надо определить и корректно интерпретировать IP-адрес, откуда эта атака исходит. Чаще всего, имея IP-адрес, достаточно легко отследить путь атаки, например посредством Trace Route. Полезным может оказаться утилита NSLookup, а также служба Whois, которая позволяет определить сервис-провайдера атакера и его географическое положение.
Но существует класс атак с фальсификацией адреса отправителя, когда эту задачу решить затруднительно. Эта техника используется большинством атак отказа обслуживания (DoS), а также некоторыми другими (смотри RFC-2827 или главу "
6.12 Фильтрация на входе сети: Отражение атак DoS, которые используют подмену IP-адреса отправителя (RFC-2827)").
Многие атакеры используют социальную инженерию и психологию, чтобы спровоцировать потенциальную жертву к действиям, которые нанесут ущерб. Например, год назад в ИТЭФ пришли письма, которые, если верить заголовку были посланы сетевым администратором. Приложение к письму было заархивировано, но для дезархивации требовался ключ, который содержался в тексте письма. В самом письме говорилось, что приложение, содержит инструкцию по улучшению безопасности. Почтовый сервер ИТЭФ имеет антивирусную защиту. Но зашифрованность приложения препятствовала распознаванию сигнатуры вируса. Хотя здравый смысл подсказывает, что сетевому администратору не нужно шифровать сообщение, адресованное клиентам сети, среди пользователей нашлось около десятка простаков, которые попались на эту удочку.
Потенциальную угрозу безопасности могут представлять специальные вставки во встроенное программное обеспечение процессора, BIOS, операционной системы и приложений. Аналогичные угрозы представляет любые программы с неизвестными исходными кодами, включая обеспечение маршрутизаторов. Считывать данные можно путем регистрации электромагнитного излучения дисплея и других устройств ЭВМ, и даже анализируя звук при нажатии терминальных клавиш. Этим список способов несанкционированного доступа не исчерпывается. Но эти угрозы здесь не будут рассматриваться.
По этой причине предпочтение следует оказывать программам с открытым кодом или коммерческим программам, где продавец документально гарантирует безопасность.
Число зарегистрированных сетевых вторжений в 2004 году превысило 200000. За 2004-ый год зарегистрировано 523*109 сетевых инцидентов (мониторинг 450 сетей в 35 странах, см.
http://www.acmqueue.com/modules.php). За период с 2001 по 2003 годы число зарегистрированных компьютерных преступлений в России удваивалось каждый год. Считается, что 80% компьютерных преступлений не попадает в официальную статистику.
Если имеется несколько ЭВМ, объединенных в систему, и к этой системе имеет доступ определенное число удаленных клиентов, то наиболее уязвимыми являются соединения клиентов с этой системой. Хакеры стараются атаковать самое слабое звено в системе. Особенно уязвимы пользовательские, домашние ЭВМ. Зная это, некоторые банки предлагают своим клиентам удешевленные или даже бесплатные средства защиты (например, антивирусные программы). Некоторые сервис-провайдеры предоставляют своим клиентам антивирусные программы и firewall.
Число сигнатур атак превышает 2500 и их многообразие продолжает лавинообразно увеличиваться. Имеет место динамический прогресс системы щит-меч. Многие администраторы и хозяева сетей полагают, что до сих пор все обходилось, Бог даст, обойдется и впредь.
Такая позиция рано или поздно приведет к серьезным потерям. Это касается не только компаний, имеющим конкурентов (о них позаботятся непременно), или структур, имеющих на серверах конфиденциальную информацию (например, государственные учреждения), но и сетей, которые на первый взгляд не должны быть привлекательными для хакеров. Мы за счет большого числа машин в сети убеждались в этом уже не раз. Однажды были стерты несколько сот файлов общедоступного сервера http://book.itep.ru. Казалось бы какой в этом смысл? К счастью и меня была свежая резервная копия...
Прерывать работы по совершенствованию систем сетевой защиты нельзя. Рассчитывать на получение бесплатных разработок из Интернет наивно. Каждая вторая такая программа сама содержит в себе spyware! Поставщик
антивирусной программы (особенно бесплатной версии) может быть сам разработчиком вируса или spyware.
Ниже рассмотрены некоторые наиболее опасные виды сетевых атак. Этот обзор не следует считать исчерпывающим, так как полный перечень занял бы целый том. Некоторые классы атак, например, использующие переполнение буферов, являются составной частью многих видов вредоносных атак. Атаки переполнения имеют в свою очередь имеют много разновидностей. Одна из наиболее опасных предполагает ввод в диалоговое окно помимо текста присоединенного к нему исполняемого кода. Такой ввод может привести к записи этого кода поверх исполняемой программы, что рано или поздно вызовет
его исполнение. Последствия не трудно себе предствить.
Вирусы - вредоносные программы, способные к самокопированию и к саморассылке. С момента создания до момента обнаружения вируса проходят часы, дни, недели, а иногда и месяцы. Это зависит от того, насколько быстро проявляются последствия заражения. Чем это время больше, тем большее число ЭВМ оказывается заражено. После выявления факта заражения и распространения новой разновидности вируса требуется от пары часов (например, для Email_Worm.Win32.Bagle.bj) до трех недель (W32.Netsky.N@mm) на выявление сигнатуры, создания противоядия и включения его сигнатуры в базу данных противовирусной программы. Временная диаграмма жизненного цикла вируса представлена на рис. 1 (" Network Security", v.2005, Issue 6, June 2005, p 16-18). Только за 2004 год зарегистрировано 10000 новых сигнатур вирусов. Червь Blaster заразил 90% машин за 10 минут. За это время антивирусная группа должна обнаружить объект, квалифицировать и разработать средство противодействия. Понятно, что это нереально. Так что антивирусная программа является не столько средством противодействия, сколько успокоительным. Эти же соображения справедливы и для всех других видов атак. Когда сигнатура атаки становится известной, сама атака обычно не опасна, так как уже выработаны средства противодействия и уязвимость перекрыта. Именно по этой причине такое внимание уделяется системе управления программными обновлениями (пэтчами).
Некоторые вирусы и черви имеют встроенные SMTP-программы, предназначенные для их рассылки и люки для беспрепятственного проникновения в зараженную машину. Новейшие версии снабжены средствами подавления активности других вирусов или червей. Таким образом могут создаваться целые сети зараженных машин (BotNet), готовых по команде начать, например DDoS-атаку. Для управления такими машинами-зомби может использоваться протокол IRC (Internet Relay Chart). Эта система рассылки сообщений поддерживается большим числом серверов и по этой причине этот канал обычно трудно отследить и запротоколировать. Этому способствует также то, что большинство систем более тщательно контролируют
входной трафик, а не выходной. Следует иметь в виду, что зараженная машина может служить помимо DoS-атак, для сканирования других ЭВМ и рассылки SPAM, для хранения нелегальных программных продуктов, для управления самой машиной и кражи документов, хранящихся там, для выявления паролей и ключей, используемых хозяином. Ущерб от вируса Blaster оценивается в 475000$.
К сожалению пока не придумано надежных средств обнаружения новых вирусов (сигнатура которых не известна).
Рис. 1. Диаграмма жизни вируса при благоприятном сценарии
Следует постоянно помнить, что дополнительные WEB-сервисы (FTP, DNS, доступ к DB и т.д.) создают новые угрозы безопасности. Уязвимости обнаруживаются время от времени в широко используемых программах, например, Internet Explorer, Outlook и Outlook
Express. Эти атаки для проникновения в систему используют переполнение буферов.
WEB-страницы иногда имеют скрытые ссылки на конфиденциальные данные. Именно на это рассчитывают хакеры.
Практика показывает, что 80% усилий тратится на противодействие внешним атакам, а 70% реальных атак, наносящих ущерб, производится из локальной сети.
Phishing - получение паролей, PIN-кодов и пр. (последующая кража информации). Этот вид атаки начинается с рассылки почтовых сообщений, содержащих ссылку на известный ресурс (или имитирующий такую ссылку). Дизайн WEB-страницы обычно копируется с
воспроизводимого ресурса. На фальсифицируемой странице может быть, например, написано, что банк, где вы имеете счет, проводит акцию по проверке безопасности доступа. Вам предлагается ввести номер вашей кредитной карты и PIN-код. Если вы это сделаете, злоумышленники сообщат, что все в порядке,
а с вашего счета через некоторое время пропадут деньги. Но если это не сопряжено с банком, опасность такой атаки нисколько не уменьшается. Получив доступ к вашему акоунту, злоумышленники получат доступ к конфиденциальной информации и т.д. (смотри
http://antiphishing.org/APWG_Phishing_Activity_Report_April_2005.pdf).
Число атак типа phishing за апрель 2005 года составило 2854, месячный рост - около 15%. Хакер может прикинуться сотрудником организации и написать, что он забыл пароль. Служба администратора часто присылает новый пароль, не проверяя личность человека, приславшего запрос. Так терминалы иногда стоят в
общедоступных помещениях, а сотрудник может ненадолго отойти от дисплея, не прерывая сессию, посторонний может сесть на его место, поменять пароль или загрузить троянского коня, получив доступ в систему. Злоумышленник может подсмотреть пароль и через плечо работающего легального пользователя. Хорошей
практикой является отсутствие документов и тем более паролей на вашем рабочем столе. Длительная пауза в работе должна автоматически запирать дисплей. Критическая информация в laptop или notebook должна быть зашифрована. Одним из возможных средств атак является использование IDN (International
Domain Name). Дело в том, что в системах, поддерживающих IDN, допускается использование букв национальных алфавитов, а, например, некоторые буквы латинского и русского алфавитов пишутся идентично. Этим могут воспользоваться злоумышленники, они могут зарегистрировать имена, которые выглядит как
имена известной фирмы, например microsoft.com, где некоторые буквы заменены на русские, так что это внешне не заметно, например, буквы с или о. Тогда при ошибочной замене одной или нескольких букв на русские клиент попадет не на сайт компании Microsoft, а на внешне неотличимый от него сайт злоумышленника. В среднем электронные мошенничества наносит ущерб порядка 895$, частота же таких преступлений достаточно быстро растет. Пример подобного сообщения представлен ниже (я получил это сообщение на свой адрес в ЦЕРН (Женева)):
Пример подмены web-страницы при Phishing-атаке
Анализ инцидента показал, что произведена полная подмена страниц. Утилита Traceroute указывала на вроде бы легальный адрес в США...
Разновидностью такого рода атак является атака через DNS (или каким-то иным способом), когда страница известного URL подменяется страницей злоумышленника (spoofing). Большую угрозу могут представлять фальсификации серверов обновления (WINDOWS, антивирусных библиотек и т.д.), так как при таком "обновлении" в ЭВМ жертвы может быть записана любая вредоносная программа. Сходную угрозу может
представлять интерактивная игра, которая, например, при переходе с одного уровня на другой, предлагает загрузить некоторый программный модуль.
Троянский конь (Spyware) - программа, записывающая все нажатия клавиш на терминале или мышке, способна записывать screenshot'ы и передавать эти данные удаленному хозяину. Если на ЭВМ оказался установленным общеизвестный троянский конь, машина становится уязвимой. Именно с этим связано сканирование хакерами номеров портов известных троянских коней. Многие
современные вирусы и черви могут загружать в зараженную ЭВМ троянского коня (или программу spyware), целью которого может быть не только получение паролей, но также номера кредитной карты и PIN-кода. В некоторых случаях зараженная машина может стать источником DoS-атаки. Исследования, проведенные в 2004 году, показали, что 90% РС имеют какой-то вид spyware (это не обязательно троянские кони). В среднем
каждая ЭВМ содержит в себе до 26 разновидностей таких программ (возможно, это и преувеличение, но если вы не предпринимали специальных мер, как минимум одна такая программа в вашей ЭВМ имеется). Следует учитывать, что Spyware (adware или malware), имеют примерно те же возможности, что и троянский конь, встраиваются в другие программы и распространяется несколько другими методами. Кроме того, в отличие от троянских коней эти программы часто не обнаруживаются антивирусными программами. Смотри
www.earthlink.net/about/press/pr_spyAudit, www.ssppyy.com и
securityresponse.symantec.com.
Spyware.Ssppyy может попасть к вам вместе с поздравительной открыткой. Если хотя бы один пользователь откроет такую открытку, вся система окажется скомпрометированной. 80% данных Spyware отсылает своему хозяину по почте (порт=25), некоторые разновидности этих программ содержат в себе почтовый сервер.
Проверка моей машины с помощью программы BPS Spyware показала, что там содержится около 2000 таких программ (машина не сканировалась на предмет spyware); всего по результатам сканирования удалено 17825 объектов), но с момента инсталляции ОС на машине работала антивирусная программа. Последние полгода там работал ZoneAlarm. Полная очистка ЭВМ от spyware,
размещенных в файлах, в cookies, в реестре и т.д. заняла достаточно много времени.
SPAM составляет до 90% полного объема почтовых сообщений. Сопряжено это с тем, что рассылка SPAM стала достаточно доходной частью полукриминального бизнеса. Это сопряжено с потерями сетевых ресурсов, о времени получателей я уже не говорю.
Часть таких сообщений часто заражена вирусами, червями или троянскими конями. Я, например, получаю до 300 таких сообщений в день. У меня есть специальный почтовый ящик, куда такие сообщения складываются. Эффективность современных фильтров SPAM достигает 90%. При этом следует учитывать, что такие фильтры сильно загружают серверы DNS. Для минимизации SPAM обычно рекомендуется иметь несколько почтовых адресов,
например, один для частной переписки, один для деловой и один для информационных обменов, подписки и пр. Это облегчает распознавание SPAM. Полезно самому создавать уникальные адреса для каждого вида обменов и время от времени их менять (см. email.about.com/library/weekly. Это легко делать в случае подписных листов. Рекомендуется удалить свой почтовый адрес из своего WEB-сервера. Не рекомендуется покупать что-либо по рекомендациям SPAM-рассылок, тем более что в 95% случаях это могут оказаться недобросовестные поставщики. Смотри также http://email.about.com/cs/spamfiltering,
email.about.com/library/howto/htnegativespamfilter.htm,
spam.abuse.net/spam/ и www.scambusters.org/stopspam/stop-spam.html.
“Пассивные” атаки с помощью, например, sniffer особенно опасны, так как, во-первых, практически недетектируемы, во-вторых, предпринимаются из локальной сети (внешний Firewall бессилен).
Scam - мошеннический трюк, заключающийся в том, чтобы, ссылаясь на авторитетных лиц, втереться в доверие и извлечь коммерческую выгоду. Первооткрывателями этого вида мошенничества были адресаты из Нигерии. Смотри en.wikipedia.org/wiki/Scam.
В организациях с 10000 сотрудников сплошь и рядом имеется до 16000 акоунтов за счет уже давно не используемых (люди уволились). Такие неиспользуемые акоунты могут стать объектом атаки, тем более что их создание может относиться ко времени, когда безопасности паролей не уделялось должного
внимания. По этой причине администратор должен требовать регулярного обновления паролей и удалять устаревшие, неиспользуемые акоунты.
При разработке новых устройств и программ надо уже на стадии проектирования встраивать в них средства безопасности. Должны быть разработаны специальные курсы обучения тому, как писать безопасные программы, например, CGI.
Существует много методов обмануть IDS, например, перегрузив его. Некоторые IDS имеют механизмы улучшения эффективности и это может быть использовано хакером, например, многие IDS игнорируют параметры, передаваемые в запросе GET. Можно обмануть IDS, используя медленное
сканирование. Существует известная сигнатура атаки, содержащая в себе определенную строку в URL-запросе. Если представить ее в альтернативной кодировке с использованием символов %, IDS эту строку не распознает. Настройка IDS должна выполняться с учетом реальных угроз конкретной сети. Полагаться на то,
что сервис провайдер имеет свою систему IDS, ни в коем случае нельзя. Следует также учитывать, что поставляемые вместе с IDS программы анализа журнальных файлов, требуют хорошей настройки. Настройка IDS сильно зависит от используемой ОС. Одним из способов атак является шестнадцатеричное
кодирование параметров HTTP-запросов или использование для этих целей уникодов. Идея атаки заключается в том, что дешифровка такого представления параметров может в определенных случаях производится некорректно, что открывает хакерам дополнительные возможности. Еще одним недостатком IDS
являются ложные тревоги, которые при достаточно высокой частоте могут, в конце концов, притупить внимание администратора к реальным угрозам.
IDS дает данные для сетевого администратора, чтобы он, если сочтет нужным, предпринял определенные меры. Иногда оказывается, что действия администратора уже запоздали. Исследования показывают, что запаздывание в 10 часов дает 80% для успеха хакера, а при 20 часах вероятность
вторжения оказывается равной 95%, при 30 часах задержки - успех хакера гарантирован, каким бы искусным ни был администратор. При нулевой задержке реакции на подготовку атаки хороший администратор не оставляет никаких шансов хакеру (смотри
all.net). Быстрая реакция на угрозу сокращает возможный ущерб не только для атакуемого объекта, но иногда и для всего Интернет сообщества (может сократиться число пораженных сетевых объектов).
Именно эти обстоятельства повышают интерес к системам IPS (Intrusion Protection System) или IMS (Intrusion Management system). В сетевом контексте, можно считать, что такие системы комбинируют в себе свойства IDS и Firewall. В случае отдельной ЭВМ такая система мониторирует все системные и API-вызовы и блокирует те, которые могут нанести вред. Схема подключения IDS и IPS показана на рис. 2. Хотя IPS существуют уже несколько лет, применение их ограничено.
IDS пригодна для того, чтобы понять, насколько ситуация тревожна. Для улучшения положения нужны дополнительные действия. Положение IDS на рынке услуг демонстрирует рис. 3, из него видно, что интерес к IDS становится ограниченным. (смотри также
www.nwfusion.com/newsletters/frame/2003/1013wan2.html и
www.nwfusion.com/reviews/2003/1013idsalert.html).
Рис. 3. Вариация числа используемых IDS по годам (та же статья, что и для рис. 2)
Так как IPS/IMS базируются на IDS, они наследуют все ее недостатки (нечувствительны к неизвестным сигнатурам атак, дают ложные тревоги и пр.). Эти системы блокируют лишь атаки, которые детектируются с высокой степенью достоверности. Кроме того
они требуют тонкой настройки высоко квалифицированными администраторами. В случае отказа IPS (или успешной атаки) сеть или ЭВМ, которую она защищает, лишится доступа к внешней сети (см. рис. 3).
Еще одной, достаточно новой
угрозой является IM (Instant Messaging). Хотя большинство систем IM (MSN, Yahoo IM, AIM и др.) имеют стандартные номера портов, блокировать доступ для этого сервиса, закрыв эти порты, нельзя, так как системы могут воспользоваться другими номерами портов, например, 80, 23, 20 и т.д.. Возможно,
некоторые читатели сталкивались с появлением на экране их дисплея окна, приглашающего сыграть в "бесплатном" казино, это одно из проявлений подобных атак. Некоторые пользователи могут полагать, что они в безопасности, так как не используют e-mail. Для защиты от этого вида атак нужно специализированное программное обеспечение. К этому классу уязвимостей следует отнести и сервис ICQ
Так как беспроводные сети находят все более широкое
применение, а безопасность таких каналов оставляет желать лучшего, возможен перехват трафика с помощью средств типа sniffer. Высокой безопасности можно не получить даже в случае применения VPN и двухфакторной аутентификации (SecurID). Для хакера такие объекты атаки привлекательны тем, что им не нужно устанавливать соединение с каким-либо объектом в локальной сети, не оставляя следов в FireWall или IDS. Обычный просмотр WEB-страниц может помочь украсть индивидуальные параметры. Пользователи
корпоративной сети при работе с WEB-страницами (просмотр требует аутентификации) могут получить уведомление: "Your connection to the network has been lost - please reenter your
username and password". Инициатором такого сообщения может быть злоумышленник, который рассчитывает получить ваши аутентификационные параметры. Беспроводные средства облегчают атаки и стационарных объектов. Клиент, купивший карту доступа, получает динамический адрес и его локализация и идентичность
достаточно трудно установить. Существуют специальные средства для выявления приборов 802.11, например, Kismet или Air Defense (разновидность IDS). Но такие средства могут использоваться как во благо, так и во вред, они могут помочь обнаружить плохо сконфигурированные точки доступа. Для таких сетей особенно актуальна проблема однозначной идентификации пользователя, где бы он ни находился. Обычно
портативные ЭВМ после включения пытаются установить соединение с известными им беспроводными точками подключения (их число может превышать сотню), атакер может сформировать точку доступа, имитирующую один из таких узлов, для установления соединения с данной ЭВМ и получения параметров доступа. В последнее время появились экраны, работающие по технологии стелз, способные экранировать радиоволны определенных частот. Это позволяет обезопасить беспроводные локальные сети, сохраняя работоспособность мобильных телефонов. Эта технология может помочь исключить интерференцию систем, работающих на идентичных частотах.
Если нет насущной потребности, следует дезактивировать вход USB на уровни BIOS. Заметной уязвимостью обладают все переносные ЭВМ. Человек, получивший к такой ЭВМ доступ, за несколько минут может установить новый пароль (с помощью загрузочного диска)
и скопировать оттуда любую информацию или установить там троянского коня. Особую категорию составляют домашние ЭВМ. Многие компании одобряют работу своих сотрудников дома (экономится электричество, рабочее место и пр.), удобно это и работникам (экономится время в пути и бензин). При подключении
к офисной сети предпринимаются достаточно серьезные меры безопасности, но эта же машина может использоваться детьми, подключающимися к самым разным сайтам, среди которых могут быть ЭВМ злоумышленников. При этом нет никакой гарантии, что в такую машину не попадет троянский конь или другая вредоносная программа. После же подключения в сети компании такая машина может стать источником угрозы для других ЭВМ локальной сети. Покидая рабочее место, целесообразно выйти из ОС (произвести процедуру Logoff), но все ли это делают? По этой причине после 30-60 сек пассивности, ЭВМ должна сама выполнить эту процедуру. Многие компании в случае успешной сетевой атаки скрывают этот факт, чтобы сохранить доверие клиентов. Это приводит к тому, что число жертв увеличивается (такой же атаке подвергаются другие, не предупрежденные об угрозе).
Сигнатуры современных атак могут быть достаточно изощренными. Это может быть не просто попытка установить соединение с определенным портом, а вполне определенная последовательность попыток соединений, приводящая к соединению. Это характерно для доступа к некоторым люкам, специально
оставленным хакером в какой-то программе. Такая схема исключает детектирование окон уязвимости простым поиском открытых портов (так работают некоторые программы поиска вторжений). Подробности этой техники смотри по адресу www.portknocking.org.
Наибольшую угрозу представляют атаки с помощью программ, специально написанных для вторжения в конкретную ЭВМ или сеть. К сожалению, большинство разработчиков приложений не учитывает требования безопасности. Сертификация программ, как правило, не включает в себя аспект безопасности (попыток вторжения). Следует разделять уязвимости "врожденные" и специально созданные хакером. Эти два вида бывает трудно разделить, если вы покупаете нелегальное программное обеспечение. Хороший хакер готовит вторжение с тщательной разведки объекта атаки. Это не обязательно сканирование или попытки подбора пароля. Такую информацию хакер может получить из описаний разработанных на сервере-мишени программных продуктов (требования к ОС, версии и т.д.) Он может послать запросы на серверы Whois, посылая команды finger или почтовому серверу и пр. В отдельности такие запросы не говорят ни о чем. Но, если собирать статистику о клиентах сети (используемые запросы, ping, traceroute, сканирования определенных портов и т.д.), то по совокупности этих данных можно с приемлемой вероятностью прогнозировать угрозу.
При стратегическом планировании в сфере сетевой безопасности следует учитывать тенденцию в направлении распределенных систем и более широкого внедрения беспроводных систем. Оба эти фактора делают решение проблем значительно труднее.
Анализ вторжений с помощью журнальных файлов
К средствам мониторинга сетевых атак относятся такие программные продукты, как SNORT (IDS), для предотвращения атак используются различные системы типа Firewall. Хорошего результата можно достичь, грамотно конфигурируя программное
обеспечение ЭВМ и контролируя качество паролей. Пример фрагмента журнального файла ZoneAlarm (разновидность FireWall) представлен ниже:
FWIN,2005/08/19,14:25:04
+4:00 GMT,61.235.154.103:44666,194.85.70.31:1027,UDP
FWIN,2005/08/19,14:39:36 +4:00 GMT,220.168.156.70:37740,194.85.70.31:1026,UDP
FWIN,2005/08/19,14:39:36 +4:00 GMT,220.168.156.70:37740,194.85.70.31:1027,UDP
FWIN,2005/08/19,14:44:34 +4:00 GMT,222.241.95.69:32875,194.85.70.31:1027,UDP
Эта распечатка демонстрирует попытки прощупывания ЭВМ с IP-адресом 194.85.70.31 на предмет откликов со стороны портов 1026 и 1027 (протоколы cap и exosee). Зондирование производится с нескольких разных адресов (61.235.154.103, 220.168.156.70 и 222.241.95.69). Объектом атаки в данном случае является рабочая станция, которая не поддерживает эти протоколы.
Существует достаточно много стандартных диагностических средств, в частности в ОС UNIX. Среди этих средств, программы ведения журнальных файлов ОС и некоторых приложений, например, Apache (файлы access_log, error_log и ssl_access_log), Samba, Squid и др..
Для отслеживания работы ОС и приложений обычно предусматривается система журнальных файлов, которая фиксирует все события (приход запросов, соответствие запросов определенным критериям и т.д.)
Рассмотрим использование журнальных файлов на примере анализа успешной атаки вторжение через приложение SSH.
Если возникло подозрение относительно возможного вторжения, надо начинать с просмотра файлов secure и messages (каталог /var/log/ ОС LINUX). В нашем случае атака началась в пятницу вечером (8-го июля 2005 года). Ниже представлены фрагменты журнальных файлов, иллюстрирующие характер атаки.
Jul 8 18:23:18 fender sshd[15017]:Illegal user anonymous from 207.232.63.45
Jul 8 18:23:20 fender sshd[15019]: Illegal user bruce from 207.232.63.45 (Нью-Йорк, США)
Jul 8 18:23:22 fender sshd[15021]: Illegal user chuck from 207.232.63.45
Jul 8 18:23:23 fender sshd[15023]: Illegal user darkman from 207.232.63.45
…
Jul 9 13:15:13 fender sshd[16764]: Illegal user bruce from 129.237.101.171
Jul 9 13:15:14 fender sshd[16766]: Illegal user chuck from 129.237.101.171
Jul 9 13:15:16 fender sshd[16768]: Illegal user darkman from 129.237.101.171
Jul 9 13:15:17 fender sshd[16770]: Illegal user hostmaster from 129.237.101.171
….
Jul 10 15:25:34 fender sshd[28450]: Did not receive identification string from 80.18.87.243\par
Jul 10 16:56:16 fender sshd[28457]: Illegal user lynx from 80.18.87.243\par
Jul 10 16:56:17 fender sshd[28459]: Illegal user monkey from 80.18.87.243\par
Jul 10 16:56:18 fender sshd[28461]: Illegal user lion from 80.18.87.243\par
….
Jul 10 02:42:02 fender sshd[18064]: Did not receive identification string from 166.70.74.35
Jul 10 03:09:13 fender sshd[18067]: Illegal user admin from 166.70.74.35 (Солт Лейк Сити, США)
Jul 10 03:09:14 fender sshd[18069]: Illegal user admin from 166.70.74.35
Jul 10 03:09:16 fender sshd[18071]: Illegal user admin from 166.70.74.35
….
Jul 10 16:56:16 fender sshd[28457]: Illegal user lynx from 80.18.87.243 (Венеция, Италия)
Jul 10 16:56:17 fender sshd[28459]: Illegal user monkey from 80.18.87.243
Jul 10 16:56:18 fender sshd[28461]: Illegal user lion from 80.18.87.243
….
Jul 10 16:56:40 fender sshd[28509]: Failed password for root from 80.18.87.243 port 45208 ssh2
Jul 10 16:56:41 fender sshd[28511]: Accepted password for root from 80.18.87.243 port 45298 ssh2
….
Jul 10 19:13:49 fender sshd[31152]: Accepted password for root from 81.181.128.181 port 4943 ssh2
Из записей видно, что машина была атакована из 7 точек. Четыре расположены в США (IP=166.70.74.35; 207.232.63.45; 129.79.240.86 и 129.237.101.171), по одной в Италии, Румынии и Венгрии (IP=80.98.194.185). Производится подбор параметров доступа имя-пароль. Подбор продолжался около двух суток.
Успешный вариант был найден машиной из Италии (IP-адрес=80.18.87.243 Венеция). Практически сразу атака со стороны всех ЭВМ была прервана и хакер вошел на атакуемую ЭВМ (имя_ЭВМ=fender) из машины с IP=81.181.128.181 (Румыния).
Для дальнейшего анализа событий нами были использованы данные из файла .bash_history, куда записываются все команды исполняемые пользователем в терминальном режиме. Записи этого файла и результаты работы демона syslogd говорят о том, что через 3 минуты после успешного вторжения хакер заблокировал работу syslog.
Далее хакер заблокировал доступ к системе других пользователей, загрузил туда файл pass_file (объем 696057 байт), содержащий комбинации имя-пароль (небольшие фрагменты содержимого файла представлены ниже).
lynx lynx
monkey monkey
lion lion
heart heart
michel michel
alibaba alibaba
…..
root 123456
root 1234567
….
root 1234567890
root rootroot
root rootrootroot
root 123root123
root 987654321
….
root 4321
root 321
root root!
root root!@
root root!@#
….
Хакер рассчитывает на то, что пользователь ЭВМ ленив, и выбирает простой пароль (легче запомнить - легче подобрать). Кроме того, хакер скопировал на взломанную ЭВМ несколько скриптов и файл со списком адресов - кандидатов на взлом. После этого машина включилась в работу по подбору паролей на других ЭВМ.
К сожалению, факт атаки был установлен лишь утром в понедельник. Сначала была проведена частичная блокировка. Хакер почувствовал неладное и выдал команды last и ps, пытаясь понять, что происходит, дальнейшая его работа была полностью блокирована.
Какие выводы из этой истории можно сделать? На атакованной рабочей станции была установлена SSH устаревшей версии (имевшей уязвимость) и использован достаточно простой пароль. По этой причине нужно своевременно обновлять ОС и версии приложений. Про выбор паролей смотри RFC-2196. Особо опасными с точки зрения атак является ночь и выходные дни. Если нет насущной необходимости, лучше на это время блокировать доступ к ЭВМ или даже выключать ее.
Помимо журнальных файлов ОС надо просматривать и соответствующие файлы приложений, например, Firewall (BlackIce Defender, ZoneAlarm и т.д.), Apache, баз данных и пр. Если даже в вашей зоне ответственности только один компьютер, просмотр всех важных файлов достаточно трудоемок. По этой причине следует рассмотреть возможность использования специализированных скриптов, которые возьмут эту работу на себя, информируя вас в случае выявления тревожных событий. Результаты работы скриптов должны накапливаться в базе данных. Эти данные могут использоваться для получения данных об атакерах и формирования ACL (списков управления доступом).
Хакер может попытаться уничтожить следы своего пребывания, стерев или очистив определенные журнальные файлы. Вполне возможно, в нашем случае хакер так бы и поступил, восстановив перед уходом и доступ по SSH. По этой причине следует заранее побеспокоиться о периодическом копировании журнальных файлов на недоступное для хакера устройство или сохранении их в зашифрованном виде. Но хакер может поступить и более жестоко, например, разметив системный диск. Хорошая схема защиты должна предотвращать такого рода действия или позволять хотя бы быстро восстанавливать разрушенную конфигурацию системы.
Следует учитывать, что сами журнальные файлы могут стать объектом атаки типа DoS. Большой поток запросов, поступающих с нескольких ЭВМ, и обращенных к одному или нескольким ресурсам машины, могут привести к быстрому росту журнальных файлов, переполнить дисковое запоминающее устройство и блокировать работу.
Основные уязвимости
Начинать следует с выявления возможно намеренных или случайных уязвимостей:
- Процессора ЭВМ
- BIOS, контроллеров внешних устройств, интерфейсов и пр.
- Программного обеспечения ОС
- Прикладного программного обеспечения, включая программы защиты
- Программное обеспечение аппаратных сетевых устройств и систем аутентификации
- Сетевые протоколы и их программные реализации
Первые два пункта крайне важны, именно с обеспечения неуязвимости этих объектов следовало бы начинать разработку комплексной системы безопасности. К сожалению это пока не достижимо по финансовым и технологическим причинам. Остальные позиции являются объектами различных этапов данного проекта.
Методы противодействия
Одним из наиболее эффективных способов защиты информации является шифрование сообщений, что к сожалению заметно увеличивает
время отклика (шифрование-дешифрование). Задержки при большом входном трафике могут привести к блокировке сервера.
Традиционные Firewall постепенно замещаются программами, способными анализировать не только заголовки, но и
данные, например, XML-firewall или WEB-сервис firewall. Следует иметь в виду, что наличие
Firewall сети или отдельной ЭВМ не является гарантией безопасности, в частности потому, что сама эта программа может стать объектом
атаки. XML-firewall анализирует содержимое (поле данных пакетов) сообщений и контролирует аутентификацию, авторизация и
акоунтинг. Различие между XML-firewall и WEB-сервис firewall заключается в том, что
последний не поддерживает открытые стандарты. В настоящее время Firewall должны контролировать четыре аспекта:
- Целостность сообщений
- Предотвращение DoS атак
- Защита с учетом анализа данных
- Аутентификация и авторизация.
Смотри:
http://www.nwc.com/showitem.jhtml
http://www.oasis-open.org
http://vulcan.forumsys.com
http://nwc.securitypipline.com (Network Computing USA's Security
Pipeline - 'XML Gateways' article by Lori McVittie).
До недавнего времени компания CISCO хранила пароли в конфигурационных файлах в виде открытого текста, теперь они собираются
использовать хешированное хранение паролей.
Но современные ЭВМ легко позволяют подобрать пароль при наличии хеша (2ГГц Intel может проверить 5000 паролей в сек). По этой причине
нужно ограничить доступ к файлу хешей паролей. Табличный метод (rainbow tables) может ускорить подбор на порядок.
Многофакторная аутентификация является, похоже, единственной альтернативой современной системе паролей. Здесь имеется в виду использование сертификатов, ID-карт пользователей, и контроль их биометрических данных (отпечатков пальцев, голоса или радужной оболочки глаза).
Многие администраторы, установив Firewall, IDS и антивирусную защиту, считают задачу обеспечения сетевой безопасности выполненной. К сожалению, это лишь небольшая часть мер обеспечения безопасности. При проектировании системы безопасности полезно иметь в виду пирамиду Maslow'а (смотри рис. 4). И начинать надо с проектирования основания пирамиды, где расположено управление обновлением программных продуктов (Patches) и организация основных процедур. Это логично, так как хакеры обычно фокусируют свои усилия на известных уязвимостях ОС или приложений, и своевременное их обновление, блокирующее выявленные слабости, крайне важно. Такие обновления должны сначала тестироваться с целью детектирования возможных негативных последствий, прежде чем они будут рекомендованы или установлены на всех ЭВМ организации. Источник обновления должен также проверяться всеми возможными средствами. Выполнение обновлений должно поручаться квалифицированному персоналу. Должны быть разработаны инструкции для базовых операций администрирования ЭВМ и сети в целом. Сюда входят операции аутентификации и авторизации, контроля качества паролей, шифрование административного трафика, обслуживание журнальных файлов и т.д.
Несколько увеличить безопасность может применение VLAN или VPN. Эти технологии не дают абсолютной защиты, но заметно поднимают уровень безопасности. Здесь нужно разделять истинные VPN и виртуальные сети, формируемые в рамках протокола MPLS. Последние помогают улучшить ситуацию лишь незначительно. Хотя пометка определенных потоков с помощью DSCP, меток MPLS или IPv6, не давая реальной защиты, заметно усложняют работу хакера (что само по себе уже неплохо).
Рис. 4. Пирамида Maslow
На следующем уровне размещается архитектура безопасности сети и составляющих систем (Firewall, системы управления доступом на прикладном уровне). Конечно, Firewall закрывает многие уязвимости, создаваемые дурным администрированием, но не все.
Далее следует уровень безопасности специфических программ организации, так как именно они становятся чаще всего мишенями атаки. Например, FreeBSD имеет МАС-механизм (Mandatory Access Control), который препятствует приложению вести себя некорректным образом. Аналогичные возможности имеет SELinux (Security Enhanced Linux). Но конфигурирование этих систем весьма сложно. На этом же уровне работают списки доступа ACL (Access Contol List).
На вершине пирамиды находятся системы IDS/IPS. Сочетание всех этих средств обеспечит 85% безопасности, но оставшиеся 15% закрыть крайне сложно.
При разработке новых устройств и программ надо уже на стадии проектирования встраивать в них средства безопасности. Должны быть разработаны специальные курсы обучения тому, как писать безопасные программы, например, CGI.
Администратор может поменять стандартные значения номеров портов для обычных видов сервиса (SSH, FTP, WWW и т.д.. Это не делает эти сервисы безопасными, но заметно осложняет работу хакера. Он может просканировать порты и найти нужное значение, но это, вероятно, привлечет внимание администратора. Аналогично можно поменять имена некоторых системных утилит, например, cmd.exe, telnet.exe, tftp.exe и т.д.. При этом номера портов нужно будет задавать явно, что осложнит и работу обычных пользователей. Такие
меры можно рассматривать в качестве дополнительных.
Одним из средств противодействия атакам является введение производителями микропроцессоров флага NX (не исполнять), который позволяет разделить память на области, где вариация содержимого возможна, а где - нет. Такая технология препятствует модификации хакерами демонов и фрагментов ОС и позволяет заблокировать любые атаки, сопряженные с переполнением буферов. Данная технология внедрена компанией AMD в своем 64-битовом процессоре, а Intel в процессоре Itanium (2001 год). Для широкого внедрения этой техники нужно переписать и перекомпилировать существующие ОС. В настоящее время эта
техника внедрена в Microsoft Windows Server 2003 (Service Pack 1), Microsoft Windows XP (Service Pack 2), SUSE Linux 9.2 и Red Hat Enterprise Linux 3 с обновлением 3. Некоторые разработчики ОС внедрили эмуляции NX для процессоров, где этот флаг аппаратно не поддерживается. Развитие технологий NX может
по оценкам экспертов (Network Security, V2005, Issue 2, февраль 2005, стр. 12-14) к 2009 году закрыть угрозу атак, сопряженных с переполнением буферов. Эта же методика может блокировать и распространения Интернет-червей.
Одной из наиболее частых мишеней атак являются базы данных, которые являются основой большинства информационных систем. Разработана схема, при которой исходная копия базы хранится на базовой ЭВМ, не связанной с Интернет. Копии этой базы передаются на компьютеры, которые обслуживают внешние сетевые запросы. При этом данные снабжаются цифровой подписью базовой ЭВМ. Вместе с откликом на запрос пользователь получает не только запрошенные данные, но и подтверждение того, что они получены из исходной базы. Как отклик, так и подтверждение снабжаются цифровой подписью, что позволяет клиенту проверить неискаженность полученных данных.
Пользователь сети должен ответить себе на следующие вопросы:
Почему могут атаковать его сервер или рабочую станцию?
Какие угрозы и при каких условиях могут ему угрожать?
На сколько надежно и от каких угроз защищена сеть?
Ответив на эти вопросы, он сможет определить, какие средства защиты следует использовать. Некоторые пользователи, зная, что работают за Firewall, или, что почтовый сервер снабжен антивирусной защитой, считают, что им ничего не грозит. При этом никогда не следует исходить из предположения, что
если у вас нет никакой привлекательной для воров информации, то ваша машина в безопасности. Она может быть нужна хакерам для атак других ЭВМ, для рассылки SPAM и т.д. Ваша ЭВМ может быть привлекательна для хакера просто потому, что плохо защищена. Конечно, сетевая безопасность является областью ответственности
администраторов, но пользователи должны понимать, от чего они защищены, а от чего - нет.
Стирайте или еще лучше физически уничтожайте неиспользуемые диски, CD и другие носители.
При работе с беспроводными сетями следует использовать VPN с шифрованием. Беспроводное оборудование должно отключаться сразу после завершения использования.
Администраторы должны выдавать новый пароль в случае утраты, только позвонив предварительно клиенту по телефону.
В случае работы с беспроводными сетями при выявлении подозрительного объекта желательно его локализовать. Это может быть сделано с помощью узконаправленной антенны c аттенюатором входного сигнала. Помочь этому может программа GSP, поставляемая вместе с Kismet. Система аудита
беспроводной сети должна непрерывно контролировать сотни устройств внутри и вблизи здания, где работает мониторируемая беспроводная сеть.
Существуют специальные средства выявления уязвимостей сети. Следует учитывать, что полный доклад о таких уязвимостях может иметь размер телефонной книги. В такой ситуации трудно решить, с чего начать, если число уязвимостей больше 10000. Одним из возможных подходов является использование этих данных совместно с результатами работы IDS. Это сделано, например, в ESM (Enterprise Security Management) или в SIM (Security Information Management).
Выявление все новых уязвимостей вынуждает более внимательно относиться системам обновлений (patches). В случае обеспечения безопасности отдельной ЭВМ применима системы Microsoft SMS (System Management Server) и SUS (Software Update Service). Существуют и общедоступные средства, например, www.patchmanagement.org. Следует учитывать, что процесс копирования и обновления ОС или приложений
является сам уязвимым и проводить его следует со всеми возможными предосторожностями.
Хорошие результаты с точки зрения безопасности могут быть получены, если запретить пользователям устанавливать программное обеспечение по своему усмотрению.
В последнее время разработана новая технология, которая обеспечивает приемлемый уровень безопасности. Это VE (Virtual Environment) (см. Network Security, V2004, Issue 11, ноябрь 2004, стр. 18-19). Целью этой технологии является предотвращение возможного ущерба от вредоносной
программы. Здесь каждая программа выполняется на отдельном виртуальном компьютере. Любые обмены между виртуальными машинами запрещаются. В таких условиях вирусы, например, не могут ничего повредить кроме самих себя. О существовании других программ он просто не может знать. Для обычного пользователя все
остается неизменным. Реализация VE не эмулирует ЦПУ или другие ресурсы и функции. Вместо этого осуществляются операции с системными объектами и маршрутизацией входных/выходных вызовов. Таким образом, исключается какое-либо замедление работы машины.
VE определяет схему взаимодействий и распределение прав доступа. VE инкапсулирует программу или группу программ, предоставляя весь спектр услуг (память, коммуникации и пр.). При этом дублируются все необходимые данные. VE не могут быть полностью изолированы друг от друга и, тем более, от
ОС. Типичное взаимодействие между VE сопряжено с использование общих данных. Любые операции VE связанные с ресурсами ЭВМ находятся под жестким контролем.
Для файловой системы и Registry главным препятствием является дублирование ресурсов. C одной стороны программа должны иметь возможность изменять существующие значения, например, ключей Registry или конфигурационных файлов ОС. С другой стороны, если программа является вирусом, любые изменения должны блокироваться. Если, например, программа запрашивает изменение ключа конфигурационного реестра (Registry), генерируется новая копия этого ключа и она становится частью соответствующего VE (метод Copy-On_Write). Если программа решает уничтожить ключ, она ликвидирует локальную копию. Для
всех программ данного VE ключ перестает существовать. Но копия ключа ОС остается неизменной (метод Leave-On-Delete).
Для обеспечения полной безопасности VE технология должна размещаться ниже ядра, а не работать параллельно ему. Это делается путем размещения устройства VE в первом секторе, переместив ядро в сектор 1 или 2, что предоставляет VE-устройству полный контроль над ЭВМ. Существует несколько
вариантов взаимодействия VE и ОС.
Так как самой массовой ОС для серверов в настоящее время являются различные разновидности LINUX, разработчикам новых версий этой ОС следует задуматься о встроенных средствах безопасности. Одним из таких подходов может стать минимизация ядра ОС. Только для ядра небольшого размера можно гарантировать его безопасность, тексты с миллионом строк привилегированного объектного кода неконтролируемы. В такое ядро должно быть включено минимальное число функций (управление памятью, критическими ресурсами и доступом). ОС не должна напрямую контактировать с внешними устройствами. Остальные функции должны иметь модульный характер и включаться в оболочку.
Работа Syslog допускает передачу данных посредством протокола UDP (существует версия syslog-ng, где транспортным протоколом может быть TCP). Если атакер имеет доступ к каналу между отправителем и получателем, он сможет отслеживать обмен и уничтожать или фальсифицировать данные, говорящие о его присутствии. Хакер может также посылать уведомления получателю (по известному порту), добиваясь переполнения диска и блокировки работы системы журналирования. Журнальные файлы помимо достоверности и полноты должны обладать также юридической корректностью, чтобы их данные можно было использовать при судебных спорах. Это предполагает использование электронных подписей, чего по умолчанию пока нет ни в одной из систем syslog. Но существуют версии, где делается попытка решить все эти проблемы: модульный syslog, SDSC Syslog, Syslog Ng и Kiwi.
Если атакер обычно собирает данные о будущем объекте атаки, то также следует действовать и потенциальным жертвам. Необходимо формировать динамически обновляемые базы данных сигнатур атак (уже существует) и атакеров. Возможным инструментом сбора таких данных может стать Honeypot (HoneyNet, Honeytoken, смотри project.honeynet.org). Эти программные средства позволяют выявить последовательность действий хакера. Это особенно важно для выявления сигнатур неизвестных атак. Если вам известен скомпрометированная ЭВМ, можно послать туда параметры доступа и адрес вашего honeypot, чтобы спровоцировать хакера. Honeypot интересен тем, что там нет полезных ресурсов, и обычные пользователи не будут пытаться туда войти.
Другим подходом обеспечения безопасности может стать модель TPM (Trusted Platform Module), разработанная группой TCG (Trusted Computing Group). В эту группу входит более 50 компаний. Некоммерческие разработчики, например LINUX в эту группу не входят. ТРМ встраивается
в базовую плату процессора и обеспечивает процедуры шифрования/дешифрования файлов и каталогов, а также исключает подмену или искажения защищаемых объектов.
Сетевая информация, которую полезно собирать
Число различных сервисов, работающих на ЭВМ (например, telnet, ssh, rlogin, http, https, ldap, vns, irc, rpc, smtp и т.д.). Анализ этого списка и его вариаций со временем
позволяет составить представление о возможной уязвимости системы. Определенную
пользу может принести выявление ОС, установленных на ЭВМ сети (LINUX, Windows, FreeBSD и т.д.).
Администратору проще иметь дело с одной ОС, но тотальная унификация имеет и
недостатки. Один и тот же вирус или червь может парализовать единовременно всю
сеть целиком. Понятно, что система сбора любых сетевых данных не должна поглощать заметной части ресурсов.
Рассмотрим признаки, которые могут свидетельствовать об успешном вторжении в ЭВМ (вариант ОС LINUX) (см. Network Security, V2004, Issue 8, "LINUX intrusion discovery: when security fails", Anton Chuvakin, август 2004, стр. 10-12):
- Чрезмерная перегрузка ресурсов (ЦПУ, оперативной и дисковой памяти)
- Частые сбои в работе ОС или приложений (самопроизвольная перезагрузка системы). Это может быть результатом, например, переполнения буферов или попытки поменять конфигурацию системы.
- Появление необычных объектов (файлов, каталогов, акаунтов, процессов). К этому классу проявлений можно отнести запуск или остановку каких-то демонов, например, syslogd.
- Необычная сетевая активность (новые соединения или резкое замедление сетевых операций).
Часто администратор лишь чувствует, что что-то происходит не так. Этого должно быть достаточно, чтобы начать исследования. Ниже приводится перечень команд, которые позволяют выявить и конкретизовать названные выше аномалии.
- Для выявления файлов, существенно модифицированных в последнее время, что может свидетельствовать, например, о запуске программы типа sniffer, следует выполнить команду (наберитесь терпения, поиск будет происходить, начиная с корневого каталога):
find / -size +1000k -mtime +7 -print
Чтобы обнаружить наличие активных программ типа sniffer, можно выдать команду
ip link | grep PROMISC или /sbin/ifconfig
- Наличие файлов Nobody может указывать, что атакер создал, использовал и затем удалил акаунт нового пользователя.
Выявить такие объекты можно с помощью команды:
find / -nouser -print
- Для обнаружения файлов SUID root в необычных местах (например, вне каталогов /sbin и /bin), что иногда указывает
на попытку сформировать люк для последующего входа в систему, следует выполнить команду.
find / -uid 0 -perm -4000 -print
- Для выявления файлов с необычными именами (например, ".", " ", "..." и т.д.), что указывает на работу
начинающего хакера, следует исполнить команду.
find / -name "..." -print
- Для поиска подозрительных акаунтов (новые аккоунты с системными привилегиями) можно выполнить команду:
grep :0: /etc/passwd
Попытки хакера установить свое программное обеспечение часто приводит к повреждению системных или прикладных программ. В системе RedHat имеется встроенная система RPM (RedHat Package Manager), которая позволяет выявить такие повреждения. Например, команда
rpm -qa | # rpm -Va | sort
поможет решить эту проблему. Для этой же цели можно использовать программу chkrootkit (www.chkrootkit.org).
Просмотрев список активных процессов с помощью команды ps -aux, следует обратить внимание на демоны, проход к которым начинается с символа точка, а также на любые необычные имена процессов. Чтобы узнать подробности, следует заглянуть непосредственно в каталог /proc. Например, выдав команду cat /proc/20999, где 20999 - pid процесса. Для выявления прослушивающих сервисов
можно выдать команду netstat -nap.
Число официально зарегистрированных в мире сетевых инцидентов различного рода возрастает экспоненциально, о чем можно судить по рис. 5. (см. http://www.cert.org/stats/). Этот рост совпадает с ростом числа узлов в интернет, так что процент хулиганов и шизефреников величина похоже инвариантная. Атаки можно разделить на несколько классов:
- Базирующиеся на дефектах протоколов, например, TCP.
- Использующие дефекты операционной системы
- Пытающиеся найти и воспользоваться дефектами программ-приложений, включая, например, CGI
- Эксплуатирующие человеческие слабости (любопытство, алчность (загрузка бесплатного программного обеспечения) и пр., например, троянские кони)
Список номеров портов для известных троянских коней можно найти в http://www.simovits.com/nyheter9902.html
В В 2004 году зарегистрировано 523 109 сетевых инцидентов (это явилось результатом мониторинга 450 сетей в 35 странах мира). Из них 41% атак соответствовали различным видам несанкционированной активности, 26% - попытки несанкционированного доступа, 21% - представляли собой сканирования, 9% - DoS атаки и 3% - попытки некорректного использования приложений. Особенно популярно в последнее время использование уязвимостей броузеров. За последние шесть месяцев 2005 года выявлено более 1000 новых сетевых червей и вирусов (см., например,
http://www.acmqueque.com). Большинство вирусов и червей с самого начала делаются полиморфными и метаморфными. Разработчиками предпринимаются специальные меры по их маскировке. Некоторые виды этих вредоносных программ, попав в ЭВМ жертвы, выявляет возможные уязвимости (результат такого исследования может быть передан автору программы по IRC каналам) для последующих атак с привлечением других средств. Появились даже черви, которые уничтожают другие вредоносные программы в ЭВМ-жертве.
Внутренняя структура и функциональность вирусов и червей существенно усложняется. Они уже могут подбирать для себя специфические объекты для атаки. Для этих целей вирусы и черви используют информационные ресурсы, например, поисковые системы типа Google. Таким образом, они уменьшают вероятность обнаружения и повышают число жертв, так как время от момента разработки до детектирования и выработки средства противодействия увеличивается.
Если раньше большинство атак имели своей целью мелкое хулиганство, форму самоутверждения или спортивный интерес, теперь все
больший процент атак преследует преступные цели и коммерческий интерес. Хакеры готовят и продают наборы взломанных ими ЭВМ для рассылки спама, фишинга и для DoS атак. На данном этапе эти атаки предпринимаются против полулегального бизнеса (азартные игры через Интернет, порнографические сайты и т.д.). В последнее время отмечается тенденция применения сетевых атак с политической мотивацией. Данная тенденция означает, что средства вторжения будут выполнены все более профессионально.
К первому типу относятся и атаки типа SMURF, ICMP flood и TCP SYN flood. ICMP flood не использует эффектов усиления на локальных широковещательных адресах, а работает c адресами типа 255.255.255.255. Здесь следует заметить, что для аналогичных целей хакеры могут использовать и протоколы TCP или UDP.
Рис. 5. Распределение числа официально зарегистрированных сетевых инцидентов по годам.
Разнообразие угроз, подстерегающих пользователя, работающего в сети, огромно. Часть из них является платой за использование сложных информационных технологий, уязвимых к внешним воздействиям, другая часть сопряжена с деятельностью людей. Некоторые угрозы носят объективный характер, например, нестабильность или низкое качество питающего напряжения, электромагнитные наводки или близкие грозовые разряды, другие могут быть связаны с невежеством или неаккуратностью самого пользователя. На рис. 6. сделана попытка составить классификацию существующих угроз (схему нельзя рассматривать исчерпывающей).
Рис. 6. Схема классификации угроз
Ниже на рис. 7 показано распределение атак сети ИТЭФ по их разновидностям (Это и последующие два распределения построены студентом МФТИ А.Тарховым).
Рис. 7.
На рис. 8 показана зависимость числа атак от времени суток, полученная за 19 дней.
Рис. 8.
На рис. 9 показано распределение атак по доменным зонам. Из распределения видно, что этому занятию предаются чаще всего "жители" больших и комерческих сетей. Хотя нельзя исключить, что именно они являются чаще жертвами хакеров.
Рис. 9.
Для того чтобы писать и эффективно поддерживать программы распознавания атак, надо знать и учитывать распределение атак по сигнатурам, по времени суток (не исключено, что перечень регистрируемых сигнатур может меняться для дневного и ночного времени), по сложности распознавания и методам противодействия. Вычислительные ресурсы ЭВМ-регистратора всегда будут критическим параметром, так как число атак в единицу времени, и количество разных сигнатур будет только расти. По этой причине вряд ли когда-либо можно будет позволить мониторировать все известные виды атак. Да и необходимость этого не очевидна (вряд ли сейчас нужно контролировать атаки ОС DOS). Здесь не рассматриваются проблемы информационной безопасности (аутентификация, сертификация, шифрование файлов и пакетов и пр.). В таблице 1 представлено распределение атак по определенным классам. (смотри http://advice.networkice.com/advice/Intrusions/)
Таблица 1
Вид атаки |
Зарегистрированное число разновидностей |
Доля в процентах |
Использование вирусов и червей |
9 |
1.3 |
Атаки уязвимостей протоколов |
TCP |
15 |
2 |
HTTP |
69 |
9.2 |
SNMP |
79 |
10.5 |
SMTP |
40 |
5.3 |
DNS |
21 |
2.8 |
SAMBA |
15 |
2 |
Telnet |
17 |
2.2 |
POP3 |
12 |
1.4 |
IMAP |
6 |
0.7 |
NNTP |
3 |
0.35 |
Finger |
11 |
1.3 |
FTP |
41 |
5.4 |
TFTP |
12 |
1.4 |
Rlogin |
5 |
0.6 |
IDENT |
5 |
0.6 |
Radius |
2 |
0.3 |
RPC |
42 |
5.6 |
Атаки через CGI |
49 |
6.5 |
Троянские кони |
>40 |
5.3 |
Сканирование портов |
48 |
6.4 |
DoS |
12 |
1.6 |
Автоматический подбор паролей (login) |
10 |
1.3 |
Некорректные параметры заголовков пакетов и запросов |
22 |
2.3 |
Прочие |
167 |
22 |
Итого |
753 |
В раздел “прочие” попали атаки ОС и известных слабостей системных программ и приложений (например, потайные двери/люки), атаки типа “ложный маршрутизатор” IDENT, SQL, сетевых печатающих устройств, NFS, SOCKS, SMB, WINS, IIS и т.д.
В статистику не были включены атаки маршрутизаторов (например, CISCO, Ascend и пр.), специфических серверов (например, поисковых, почтовых, печати, Firewall), атаки разнообразных драйверов баз данных, фальсификация МАС-адресов, перехват ключей, сертификатов и паролей и т.д. Реальное число
зарегистрированных сигнатур атак, полагаю, давно перевалило за 1000.
Важным фактором является актуальность базы данных сигнатур, ведь наличие сигнатуры в базе данных не означает присутствия этого типа атак во входящем трафике. Некоторые сигнатуры “выходят из моды” быстро и навсегда.
Сигнатуры, распознаваемые по заголовку пакета, составляют несколько более 15% (здесь учтены манипуляции с заголовками SNMP, включая community, а также фальсификации DNS-заголовков). Сюда следует, разумеется, отнести и подбор кода community.
Заметный процент составляют атаки, рассчитывающие достичь эффекта путем переполнения буфера (входного буфера приложения, пароля, имен и т.д.), это - 11.3%. Это один из самых сложных случаев, ведь надо знать размер буфера для каждого приложения, которое может стать объектом атаки.
Атаки на CGI сопряжены с генерацией нестандартных строк URL и параметров (6.5%), некоторые из них также работают в расчете на переполнение буфера параметров.
Некоторые сигнатуры, требуют анализа не только входящего, но и исходящего трафика (например, шторм неспровоцированных откликов), что существенно усложняет алгоритм распознавания (смотри комментарии к рис. 11).
Атаки, связанные с рассылкой вирусов, червей, кроликов, троянских коней или молдавская связь, как правило требуют для достижения цели сотрудничества со стороны жертвы (используется алчность, любопытство или хотя бы беспечность).
Мало зарегистрировать атаку, надо определить и корректно интерпретировать IP-адрес, откуда эта атака исходит. Чаще всего, имея IP-адрес, достаточно легко отследить путь атаки, например посредством Trace Route. Полезным может оказаться утилита NSLookup, а также служба Whois, которая позволяет определить сервис-провайдера атакера и его географическое положение.
Но существует класс атак с фальсификацией адреса отправителя, когда эту задачу решить затруднительно. Эта техника используется большинством атак отказа обслуживания (DoS), а также некоторыми другими. Два примера такого типа атак описаны на рис. 10 и 11.
Атака через прокси (например, при наличии загруженной в ЭВМ SOCKS программы WinGate) представлена на рис. 10.
Рис. 10.
Здесь атакер (hacker на рисунке) использует прокси-сервер, через который связаны с Интернет ЭВМ на левой части рисунка, для атаки машины (victim). При этом для атакуемой машины будет казаться, что ее атакует ЭВМ SOCKS. Особенностью этого класса атаки является то, что атакер может находиться где угодно в Интернет. Но в случае жалобы со стороны ЭВМ-жертвы его положение может быть легко локализовано.
Рис. 11.
На рис. 11 показана схема атаки с зеркалированием пакетов в маршрутизаторе R. Маршрутизатор R сконфигурирован так, чтобы копии пакетов, следующих из ЭВМ А в ЭВМ В, попадали в машину Х (ЭВМ атакера). В данной схеме атакер должен договориться с администратором R (если это не он сам), так как нужна специфическая конфигурация маршрутизатора. Но он может выйти из положения, сформировав на своей ЭВМ ложный маршрутизатор, поддерживающий протокол внешней маршрутизации BGP.
Такая схема позволяет Х атаковать А, создавая впечатление, что ее атакует ЭВМ В. Для ЭВМ В будет иметь место эффект шторма неспровоцированных откликов со стороны ЭВМ А (если для атаки использован протокол ТСР).
Для распознавания сигнатуры атаки в ЭВМ В нужно регистрировать входящие пакеты с адресом А и флагом ACK, проверяя в то же время факт, что ЭВМ В не посылала А никаких пакетов.
Данная схема атак (с фальсификацией адреса отправителя) пригодна также и для относительно безопасной рассылки SPAM.
В таблице представлен краткий обзор типов атак, не претендующий на полноту. См. также http://advice.networkice.com/advice/Intrusions/. Список номеров портов для известных троянских коней можно найти в www.simovits.com/nyheter9902.html