Виды уязвимостей компьютерных сетей таблица
Уязвимость в IIS, подробно описанная в Microsoft Security Bulletin MS01-033, является одной из наиболее часто используемых уязвимостей Windows. В последние годы было написано множество сетевых червей, пользующихся данной уязвимостью, но одним из наиболее известных является CodeRed. CodeRed был впервые обнаружен 17 июля 2001 года, и, по некоторым оценкам, заразил около 300 тысяч компьютеров, помешал работе множества предприятий и нанес значительный финансовый ущерб компаниям по всему миру. Хотя Microsoft и выпустила вместе с бюллетенем MS01-033 патч, закрывающий используемую червем уязвимость, некоторые версии CodeRed до сих пор продолжают распространяться.
Сетевой червь Slammer, обнаруженный в конце января 2003 года, использовал более простой способ заражения компьютеров под управлением Windows с работающим сервером MS SQL, а именно — уязвимость при переполнении буфера в одной из подпроцедур обработки UDP-пакетов. Поскольку червь был достаточно мал — всего 376 байт — и использовал протокол UDP, предназначенный для быстрой пересылки малых объемов данных, Slammer распространялся с невероятной скоростью. По некоторым оценкам, Slammer поразил порядка 75 тысяч компьютеров по всему миру за первые 15 минут эпидемии.
Три этих характерных сетевых червя использовали уязвимости и открытости в программах, работающих на разных версиях Microsoft Windows, в то время как обнаруженный 11 августа 2003 года червь Lovesan использовал для своего распространения гораздо более опасную уязвимость при переполнении буфера в одном из основных компонентов самой Windows. Эта уязвимость подробно описана в Microsoft Security Bulletin MS03-026.
Sasser, впервые появившийся в мае 2004 года, использовал еще одну уязвимость в компоненте ядра Windows, в службе Local Security Authority Subsystem Service (LSASS). Информация об этой уязвимости была опубликована в Microsoft Security Bulletin MS04-011. Sasser распространялся молниеносно и заразил миллионы компьютеров, причинив огромный финансовый ущерб.
Все операционные системы содержат уязвимости и открытости, которые могут быть использованы хакерами и создателями вирусов в своих целях.
Разумеется, все операционные системы содержат уязвимости и открытости, которые могут быть использованы хакерами и создателями вирусов в своих целях. Хоть уязвимости Windows и получают наибольшее освещение из-за огромного числа компьютеров, работающих под управлением этой операционной системы, свои слабые места есть и у UNIX.
Годами одной из наиболее популярных открытостей в мире UNIX была служба finger. Эта служба позволяет пользователям вне какой-либо сети видеть, кто в настоящее время к этой сети подключен, с каких компьютеров и какие сетевые ресурсы используются. Finger полезен, но раскрывает слишком много интересной хакерам информации.
Вот пример того, как выглядит результат работы службы finger:
Из этой таблицы всем умеющим пользоваться службой finger становится доступна следующая информация: к сети подключено три пользователя, но два из них не обращались к ресурсам уже более двух суток, в то время как последний отошел от своего компьютера 22 минуты назад. Логины, которые демонстрирует сервис finger, можно использовать в процессе подбора комбинации логин-пароль. Это самый элементарный путь проникновения в систему, поскольку множество пользователей подбирают себе пароли на основе все тех же логинов (например, добавляя в конце логина какие-либо цифры).
Служба finger не только открывает важную информацию о сервере, на котором она работает, но является целью множества эксплойтов, одним из которых пользовался самый первый сетевой червь, созданный Робертом Моррисом (Robert Morris) 2 ноября 1988 года. По этой причине большинство современных дистрибутивов UNIX поставляются с отключенным сервисом finger.
Программа sendmail, изначально созданная Эриком Олмэном (Eric Allman), представляет собой еще один пример популярной цели для хакеров. Sendmail была разработана для осуществления пересылки электронной почты через интернет. Из-за большого числа операционных систем и компьютерных конфигураций Sendmail постепенно стала чудовищно сложной программой с длительной и поучительной историей обнаружения критических уязвимостей. Все тот же червь Morris использовал для своего распространения эксплойт уязвимости в sendmail наравне с уязвимостью в службе finger.
В мире UNIX есть множество других часто используемых уязвимостей в программных пакетах вроде SSH, Apache, WU-FTPD, BIND, IMAP/POP3 и в различных частях ядра ОС.
Все описанные выше инциденты позволяют сделать вывод, что сетевой червь или иная автоматизированная хакерская утилита, распространяющаяся через уязвимости в обычных подключенных к интернету компьютерах под управлением Windows, общее число которых, вероятно, превышает несколько сотен миллионов, представляет чрезвычайно серьезную угрозу стабильности и работоспособности всего интернета.
ГОСТ Р 56546-2015
НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
УЯЗВИМОСТИ ИНФОРМАЦИОННЫХ СИСТЕМ
Классификация уязвимостей информационных систем
Information protection. Vulnerabilities in information systems. The classification of vulnerabilities in information systems
Дата введения 2016-04-01
Предисловие
1 РАЗРАБОТАН Обществом с ограниченной ответственностью "Центр безопасности информации" (ООО "ЦБИ")
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 362 "Защита информации"
4 ВВЕДЕН ВПЕРВЫЕ
5 ПЕРЕИЗДАНИЕ. Ноябрь 2018 г.
Введение
Настоящий стандарт входит в комплекс стандартов, устанавливающих классификацию уязвимостей, правила описания уязвимостей, содержание и порядок выполнения работ по выявлению и оценке уязвимостей информационных систем (ИС).
Настоящий стандарт распространяется на деятельность по защите информации, связанную с выявлением и устранением уязвимостей ИС, при создании и эксплуатации ИС.
В настоящем стандарте принята классификация уязвимостей ИС исходя из области происхождения уязвимостей, типов недостатков ИС и мест возникновения (проявления) уязвимостей ИС.
1 Область применения
Настоящий стандарт устанавливает классификацию уязвимостей информационных систем (ИС). Настоящий стандарт направлен на совершенствование методического обеспечения определения и описания угроз безопасности информации при проведении работ по защите информации в ИС.
Настоящий стандарт не распространяется на уязвимости ИС, связанные с утечкой информации по техническим каналам, в том числе уязвимости электронных компонентов технических (аппаратных и аппаратно-программных) средств ИС.
2 Нормативные ссылки
В настоящем стандарте использована нормативная ссылка на следующий стандарт:
ГОСТ Р 50922 Защита информации. Основные термины и определения
Примечание - При пользовании настоящим стандартом целесообразно проверить действие ссылочных стандартов в информационной системе общего пользования - на официальном сайте национального органа Российской Федерации по стандартизации в сети Интернет или по ежегодному информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя "Национальные стандарты" за текущий год. Если заменен ссылочный стандарт, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого документа с учетом всех внесенных в данную версию изменений. Если заменен ссылочный стандарт, на который дана датированная ссылка, то рекомендуется использовать версию этого документа с указанным выше годом утверждения (принятия). Если после утверждения настоящего стандарта в ссылочный стандарт, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, рекомендуется применять в части, не затрагивающей эту ссылку.
3 Термины и определения
В настоящем стандарте применены термины по ГОСТ Р 50922, а также следующие термины с соответствующими определениями:
3.1 информационная система: Совокупность содержащейся в базах данных информации и обеспечивающих ее обработку информационных технологий и технических средств.
Примечание - Определение термина соответствует [1].
3.2 компонент информационной системы: Часть информационной системы, включающая некоторую совокупность информации и обеспечивающих ее обработку отдельных информационных технологий и технических средств.
3.3 признак классификации уязвимостей: Свойство или характеристика уязвимостей, по которым производится классификация.
3.4 информационная технология [технология обработки (передачи) информации в информационной системе]: Процесс, метод поиска, сбора, хранения, обработки, предоставления, распространения информации и способ осуществления таких процессов и методов.
3.5 конфигурация информационной системы: Взаимосвязанные структурно-функциональные характеристики информационной системы, включающие структуру и состав информационной системы, физические, логические, функциональные и технологические взаимосвязи между компонентами информационной системы, с иными информационными системами и информационно-телекоммуникационными сетями, а также с полномочиями субъектов доступа к объектам доступа информационной системы.
3.6 угроза безопасности информации: Совокупность условий и факторов, создающих потенциальную или реально существующую опасность нарушения безопасности информации.
3.7 уязвимость: Недостаток (слабость) программного (программно-технического) средства или информационной системы в целом, который(ая) может быть использован(а) для реализации угроз безопасности информации.
3.8 уязвимость кода: Уязвимость, появившаяся в процессе разработки программного обеспечения.
3.9 уязвимость конфигурации: Уязвимость, появившаяся в процессе задания конфигурации (применения параметров настройки) программного обеспечения и технических средств информационной системы.
3.10 уязвимость архитектуры: Уязвимость, появившаяся в процессе проектирования информационной системы.
3.11 организационная уязвимость: Уязвимость, появившаяся в связи с отсутствием (или недостатками) организационных мер защиты информации в информационной системе и (или) несоблюдением правил эксплуатации системы защиты информации информационной системы, требований организационно-распорядительных документов по защите информации и (или) несвоевременном выполнении соответствующих действий должностным лицом (работником) или подразделением, ответственным за защиту информации.
3.12 многофакторная уязвимость: Уязвимость, появившаяся в результате наличия нескольких недостатков различных типов.
3.13 язык программирования: Язык, предназначенный для разработки (представления) программного обеспечения.
3.14 степень опасности уязвимости: Мера (сравнительная величина), характеризующая подверженность информационной системы уязвимости и ее влияние на нарушение свойств безопасности информации (конфиденциальность, целостность, доступность).
4 Основные положения
4.1 В основе классификации уязвимостей ИС используются следующие классификационные признаки:
- область происхождения уязвимости;
- типы недостатков ИС;
- место возникновения (проявления) уязвимости ИС.
Примечание - В качестве уязвимых компонентов ИС рассматриваются общесистемное (общее), прикладное, специальное программное обеспечение (ПО), технические средства, сетевое (коммуникационное, телекоммуникационное) оборудование, средства защиты информации.
4.2 Помимо классификационных признаков уязвимостей ИС используются поисковые признаки (основные и дополнительные). Поисковые признаки предназначены для организации расширенного поиска в базах данных уязвимостей.
4.3 К основным поисковым признакам уязвимостей ИС относятся следующие:
- наименование операционной системы (ОС) и тип аппаратной платформы;
- наименование ПО и его версия;
- степень опасности уязвимости.
4.4 К дополнительным поисковым признакам уязвимостей ИС относятся следующие:
- служба (порт), которая(ый) используется для функционирования ПО.
5 Классификация
5.1 Уязвимости ИС по области происхождения подразделяются на следующие классы:
Примечание - В целях выявления и оценки уязвимостей информационных систем могут выделяться подклассы уязвимостей.
5.2 Уязвимости ИС по типам недостатков ИС подразделяются на следующие:
- недостатки, связанные с неправильной настройкой параметров ПО.
Примечание - Неправильная настройка параметров ПО заключается в отсутствии необходимого параметра, присвоении параметру неправильных значений, наличии избыточного числа параметров или неопределенных параметров ПО;
- недостатки, связанные с неполнотой проверки вводимых (входных) данных.
Примечание - Недостаточность проверки вводимых (входных) данных заключается в отсутствии проверки значений, избыточном количестве значений, неопределенности значений вводимых (входных) данных;
- недостатки, связанные с возможностью прослеживания пути доступа к каталогам.
Примечание - Прослеживание пути доступа к каталогам заключается в отслеживании пути доступа к каталогу (по адресной строке/составному имени) и получении доступа к предыдущему/корневому месту хранения данных;
- недостатки, связанные с возможностью перехода по ссылкам.
Примечание - Переход по ссылкам связан с возможностью внедрения нарушителем ссылки на сторонние ресурсы, которые могут содержать вредоносный код. Для файловых систем недостатками являются символьные ссылки и возможности прослеживания по ним нахождения ресурса, доступ к которому ограничен;
- недостатки, связанные с возможностью внедрения команд ОС.
Примечание - Внедрение команд ОС заключается в возможности выполнения пользователем команд ОС (например, просмотра структуры каталогов, копирование, удаление файлов и другие команды);
- недостатки, связанные с межсайтовым скриптингом (выполнением сценариев).
Примечание - Межсайтовый скриптинг обычно распространен в веб-приложениях и позволяет внедрять код в веб-страницы, которые могут просматривать нелегитимные пользователи. Примерами такого кода являются скрипты, выполняющиеся на стороне пользователя;
- недостатки, связанные с внедрением интерпретируемых операторов языков программирования или разметки.
Примечание - Недостатки связаны с внедрением интерпретируемых операторов языков программирования (например, операции выбора, добавления, удаления и другие) или разметки в исходный код веб-приложения;
- недостатки, связанные с внедрением произвольного кода.
Примечание - Недостатки связаны с внедрением произвольного кода и части кода, которые могут приводить к нарушению процесса выполнения операций;
- недостатки, связанные с переполнением буфера памяти.
Примечание - Переполнение буфера возникает в случае, когда ПО осуществляет запись данных за пределами выделенного в памяти буфера. Переполнение буфера обычно возникает из-за неправильной работы с данными, полученными извне, и памятью, при отсутствии защиты со стороны среды программирования и ОС. В результате переполнения буфера могут быть испорчены данные, расположенные следом за буфером или перед ним. Переполнение буфера может вызывать аварийное завершение или зависание ПО. Отдельные виды переполнений буфера (например, переполнение в стековом кадре) позволяют нарушителю выполнить произвольный код от имени ПО и с правами учетной записи, от которой она выполняется;
- недостатки, связанные с неконтролируемой форматной строкой.
Примечание - Форматная строка в языках C/C++ является специальным аргументом функции с динамически изменяемым числом параметров. Ее значение в момент вызова функции определяет фактическое количество и типы параметров функции. Ошибки форматной строки потенциально позволяют нарушителю динамически изменять путь исполнения программы, в ряде случаев - внедрять произвольный код;
- недостатки, связанные с вычислениями.
Примечание - К недостаткам, связанным с вычислениями, относятся следующие:
Год 1996, 4 июня, вторник, космодром во Французской Гвиане. 9 часов 33 минуты 59 секунд. Первый запуск ракеты-носителя Ariane 5. Ракета взмывает в небо и через 40 секунд после старта взрывается на 50-метровой высоте. Ущерб составил по различным данным от пятисот миллионов до шести миллиардов долларов. Через полтора месяца, 19 июля, был опубликован исчерпывающий доклад комиссии по расследованию, в результате которого выяснилось, что взрыв произошел из-за ошибки переполнения одной из переменных в программном обеспечении бортового компьютера ракеты. Небольшая, на первый взгляд, уязвимость в программном обеспечении привела к столь значительному ущербу. Это типичный, но далеко не единственный случай, который демонстрирует опасность, возникающую в результате появлении в корпоративной сети различных уязвимостей.
Классификация уязвимостей
Уязвимостью (vulnerability) я называю любую характеристику информационной системы, использование которой нарушителем может привести к реализации угрозы. При этом неважно, целенаправленно используется уязвимость или это происходит ненамеренно. В качестве нарушителя может выступать любой субъект корпоративной сети, который попытался осуществить попытку несанкционированного доступа к ресурсам сети по ошибке, незнанию или со злым умыслом.
Проблема уязвимостей и их обнаружения исследуется очень давно, и за время ее существования предпринимались различные попытки классифицировать уязвимости по различным критериям. Например, американские проекты Protection Analysis Project и RISOS, исследования лаборатории COAST или компании Internet Security Systems и т.д. Каждая организация приводила и обосновывала свою классификацию. Однако ни одна классификация не может быть категоричной. Например, уязвимость, использование которой для ОС Unix (например, переполнение буфера демона statd) может иметь самые плачевные последствия (самый высокий приоритет), для ОС Windows NT может быть вообще не применима или иметь очень низкую степень риска. Кроме того, существует неразбериха и в самих названиях атак и уязвимостей. Например, одна и та же атака, может иметь совершенно различные наименования у разных производителей (Таблица 1).
В разработке базы данных CVE помимо экспертов MITRE принимали участие специалисты многих известных компаний и организаций. Например, ISS, Cisco, BindView, Axent, NFR, L-3, CyberSafe, CERT, Carnegie Mellon University, институт SANS, UC Davis Computer Security Lab, CERIAS и т.д. О своей поддержке базы CVE заявили компании Internet Security Systems, Cisco, Axent, BindView, IBM и другие. Однако, несмотря на столь привлекательную инициативу, база данных CVE пока не получила широкого распространения среди производителей коммерческих продуктов.
В процессе практической деятельности я разработал свою классификацию, отражающую этапы жизненного цикла любой информационной системы (Таблица 2).
Таблица 2. Категории уязвимостей
Этапы жизненного цикла ИС | Категории уязвимостей ИС |
---|---|
Проектирование ИС | Уязвимости проектирования |
Реализация ИС | Уязвимости реализации |
Эксплуатация ИС | Уязвимости конфигурации |
Смысл уязвимостей второй категории (уязвимости реализации) заключается в появлении ошибки на этапе реализации в программном или аппаратном обеспечении корректного с точки зрения безопасности проекта или алгоритма. Яркий пример такой уязвимости - "переполнение буфера" ("buffer overflow") во многих реализациях программ, например, sendmail или Internet Explorer. Кстати, приведенный выше пример с ракетой Ariane 5 относится именно к этой категории уязвимостей. Обнаруживаются и устраняются такого рода уязвимости относительно легко - путем обновления исполняемого кода или изменения исходного текста уязвимого ПО. Еще одним примером уязвимостей реализации является случай с компьютерами Tandem, произошедший 1 ноября 1992 г. и 7 января 1993 г. В 3 часа ночи функционирование большинства компьютеров Tandem во всем мире было нарушено по причине сбоя в подсистеме BASE23 Nucleus, приводящего к переполнению переменной микрокода таймера при определении времени. Из-за этой ошибки значения системных часов было сброшено на декабрь 1983 г., что иногда приводило к неправильной интерпретации данных в различных финансовых приложениях.
Таблица 3. Возможности по обнаружению и устранению уязвимостей
Категория уязвимости | Обнаружение Устранение |
---|---|
Уязвимости проектирования | Трудно и долго Трудно и долго (иногда невозможно) |
Уязвимости реализации | Относительно трудно и долго Легко и относительно долго |
Уязвимости конфигурации | Легко и быстро Легко и быстро |
Реальным примером использования такой уязвимости явился взлом базы данных компании Western Union, специализирующейся на денежных переводах, которая 8 сентября 2000 г. объявила о том, что из-за "человеческой ошибки" неизвестному злоумышленнику удалось скопировать информацию о кредитных карточках около 15,7 тысяч клиентов ее Web-сайта. Представитель Western Union сообщил, что взлом произошел, когда во время проведения регламентных работ были открыты системные файлы, доступ к которым во время штатной работы сайта имеют только администраторы. Western Union настаивала, что это не проблема архитектуры системы защиты, это была ошибка персонала.
Средства анализа защищенности и их классификация
Разумеется, уязвимости необходимо обнаруживать, чем и занимаются системы анализа защищенности (security assessment systems), также известные как сканеры безопасности (security scanners) или системы поиска уязвимостей. Они проводят всесторонние исследования заданных систем с целью обнаружения уязвимостей, которые могут привести к нарушениям политики безопасности. Результаты, полученные от средств анализа защищенности, представляют "мгновенный снимок" состояния защиты системы в данный момент времени. Несмотря на то, что эти системы не могут обнаруживать атаку в процессе ее развития, они могут определить потенциальную возможность реализации атак.
Эти системы могут быть классифицированы по типам обнаруживаемых ими уязвимостей (Рис.1), описанных выше.
Системы поиска уязвимостей проектирования не получили широкого распространения в российских компаниях. Связано это, на мой взгляд, с высокой стоимостью таких решений и недопониманием их значимости. Единственный класс организаций, где эти системы нашли свое применение, - это лаборатории, осуществляющие сертификацию программно-аппаратного обеспечения и аттестацию информационных систем по требованиям безопасности. Такие лаборатории существуют в рамках всех пяти российских систем сертификации по требованиям защиты информации, принадлежащих ГТК, ФАПСИ, МО РФ, ФСБ и СВР. Примерами таких зарубежных систем можно назвать CRAMM, RANK-IT, @RISK, ALRAM, ARES, LAVA и т.д. Из российских разработок известны ZOND, SEZAM и результаты работ 4 ЦНИИ Министерства Обороны РФ.
Системы анализа защищенности второго и третьего классов получили наибольшее распространение среди конечных пользователей. Существует несколько дополнительных классификаций этих систем. Например, системы анализа исходного текста и исполняемого кода тестируемого программно-аппаратного обеспечения и т.д. Первые также применяются обычно при сертификации программного обеспечения по требованиям безопасности. Такие систему существуют у зарубежных (например, SLINT) и российских (например, АИСТ, АСТМА и СОТМА) производителей.
В большинстве случаев программное обеспечение поставляется в организации без исходных текстов. Кроме того, анализ исходных текстов требует высокой квалификации от обслуживающего их персонала. Да и отсутствие эффективных систем анализа исходных текстов не позволяет проводить такой анализ на качественном уровне. По словам сотрудника одной из отечественных сертификационных лабораторий, "выполнение указанных работ проводится путем ручного анализа исходных текстов программ". Именно поэтому большой интерес вызывают системы поиска уязвимостей в исполняемом коде, самым распространенным подклассом которых являются системы имитации атак, которые моделируют различных несанкционированных воздействий на компоненты информационной системы. Именно эти системы получили широкую известность во всем мире ввиду своей относительной простоты и дешевизны. Посредством таких имитаторов обнаруживаются уязвимости еще до того, как они будут использованы нарушителями для реализации атак. К числу систем данного класса можно отнести SATAN, Internet Scanner, Cisco Secure Scanner и т.д. Из российских систем можно назвать систему с многозначительным названием НКВД, разработанную в Центре безопасности информации.
Системы имитации атак с одинаковым успехом обнаруживают не только уязвимости реализации, но и уязвимости эксплуатации. Именно эти системы, наряду с системами поиска уязвимостей эксплуатации, получили наибольшее распространение среди пользователей.
Как показано на рисунке 2 функционировать системы анализа защищенности, в частности системы поиска уязвимостей реализации и эксплуатации, могут на всех уровнях информационной инфраструктуры любой компании, то есть на уровне сети, операционной системы, СУБД и прикладного программного обеспечения. Наибольшее распространение получили средства анализа защищенности сетевых сервисов и протоколов. Связано это, в первую очередь, с универсальностью используемых протоколов. Изученность и повсеместное использование таких стеков протоколов, как TCP/IP, SMB/NetBIOS и т.п. позволяют с высокой степенью эффективности проверять защищенность корпоративной сети, работающей в данном сетевом окружении, независимо от того, какое программное обеспечение функционирует на более высоких уровнях. Примером такой системы является Internet Scanner компании ISS. Вторыми по распространенности являются средства анализа защищенности операционных систем. Связано это также с универсальностью и распространенностью некоторых операционных систем (например, UNIX и Windows NT). Однако, из-за того, что каждый производитель вносит в операционную систему свои изменения (ярким примером является множество разновидностей ОС UNIX), средства анализа защищенности ОС анализируют в первую очередь параметры, характерные для всего семейства одной ОС. И лишь для некоторых систем анализируются специфичные для нее параметры. Примером такой системы является System Scanner компании ISS. Средств анализа защищенности СУБД и приложений на сегодняшний день не так много, как этого хотелось бы. Такие средства пока существуют только для широко распространенных прикладных систем, типа Web-броузеры (Netscape Communicator, MS Internet Explorer), СУБД (MS SQL Server, Oracle) и т.п. Примером такой системы является Online Scanner и Database Scanner также компании ISS.
При проведении анализа защищенности эти системы реализуют две стратегии. Первая - пассивная, - реализуемая на уровне операционной системы, СУБД и приложений, при которой осуществляется анализ конфигурационных файлов и системного реестра на наличие неправильных параметров; файлов паролей на наличие легко угадываемых паролей, а также других системных объектов на нарушения политики безопасности. Вторая стратегия, - активная, - осуществляемая в большинстве случаев на сетевом уровне, позволяющая воспроизводить наиболее распространенные сценарии атак, и анализировать реакции системы на эти сценарии.
Однако не стоит думать, что при помощи средств анализа защищенности можно тестировать только возможность несанкционированного доступа в корпоративную сеть из сетей открытого доступа (например, Internet). Эти средства с не меньшим успехом могут быть использованы для анализа некоторых сегментов или узлов внутренней сети организации. Системы анализа защищенности могут быть использованы как отделами защиты информации (для оценки уровня безопасности организации), так и управлениями информатизации (для контроля эффективности настройки сетевого, системного и прикладного программно-аппаратного обеспечения). Эта два наиболее распространенных варианта применения систем анализа защищенности. Однако есть и другие варианты. Например, внешними аудиторскими и консалтинговыми компаниями, осуществляющими информационные обследования сетей своих заказчиков. Есть и более интересные варианты - например, для тестирования и сертификации того или иного программно-аппаратного обеспечения. Этот вариант очень популярен на Западе при оценке сетевого оборудования, межсетевых экранов и т.п. различными тестовыми лабораториями. В России такая практика пока не получила широкого распространения. Однако и у нас зафиксированы факты применения средств анализа защищенности. Гостехкомиссия России использует системы Internet Scanner и Nessus в процессе сертификации межсетевых экранов на соответствие требованиям руководящих документов.
В настоящий момент существует более сотни различных средств, автоматизирующих поиск уязвимостей на уровне сети, ОС, СУБД и прикладного ПО. Одни средства ориентированы на обнаружение целого спектра различных уязвимостей, другие - только на определенную их категорию. Например, система Internet Scanner является одним из самых известных средств поиска "дыр" и обнаруживает более 900 различных уязвимостей, принадлежащих различным категориям: Denial of Service, Brute Force, FTP, LDAP, SNMP, RPC, NIS, NFS, DNS и т.д. А система Whisker была создана специально для сканирования Web-серверов и позволяет выявлять уязвимые CGI-скрипты.
Ситуация в России
Я не ставил перед собой цели сравнивать предлагаемые в России решения. Поскольку сравнивать различные средства - задача неблагодарная; особенно в России. Ведь между конечным пользователем и производителем всегда встает третье звено (или несколько) - поставщик, который может свести "на нет" все достоинства предлагаемого решения за счет низкого качества послепродажной и гарантийной поддержки. Вторая причина отказа от сравнения в том, что данные решения - это далеко не все, что должно сравниваться. Для каждого продукта должна существовать своя инфраструктура (которая также должна приниматься во внимание при выборе), включающая в себя качество документации (в том числе и на русском языке) и технической поддержки, наличие авторизованного обучения и квалифицированных консультаций, выезды специалистов организации к заказчику и т.д. Ну и наконец, сравнить и выбрать продукты может только конечный пользователь и только в своей собственной сети, чтобы проверить поведение и удобство использования того или иного решения именно в той технологии обработки информации, которая принята в организации.
В таблице 4 приведен список средств анализа защищенности, наиболее часто используемых в России.
Таблица 4. Средства анализа защищенности, используемые в России
Название | Производитель | Категория | Примечание |
---|---|---|---|
Internet Scanner | Internet Security Systems | На уровне сети | Первая система, получившая сертификат ГТК. По системе существует авторизованное обучение в России. |
System Scanner | Internet Security Systems | На уровне ОС | По системе существует авторизованное обучение в России. |
Database Scanner | Internet Security Systems | На уровне СУБД | По системе существует авторизованное обучение в России. |
Cisco Secure Scanner | Cisco Systems | На уровне сети | |
CyberCop Scanner | Network Associates | На уровне сети | |
WebTrends Security Analyzer | WebTrends Corporation | На уровне сети | |
NetRecon | Symantec | На уровне сети | Судьба продукта после его покупки у компании Axent пока неясна. |
Enterprise | Security Manager | Symantec | На уровне ОС |
SFProtect | Hewlett Packard | На уровне сети, ОС, СУБД | |
Nessus | Свободно распространяется | На уровне сети | Система имеет сертификат ГТК. |
- Предложение для России цен ниже европейских и американских.
- Оплата выбираемой системы в рассрочку.
- Скидки при приобретении нескольких средств одного производителя.
- Скидки для образовательных учреждений.
- Скидки при переходе с продукта-конкурента.
- И т.д.
В среднем стоимость анализа одного узла может меняться в диапазоне от 100 до 3 долларов США, в зависимости от числа сканируемых устройств.
Советы покупателю
Я категорически не рекомендую использовать в качестве основного параметра выбора системы анализа защищенности число обнаруживаемых ею уязвимостей. Ведь это очень субъективный параметр. В качестве примера можно привести следующий случай. Зачем в сети, в которой используется только платформа Windows система, обнаруживающая еще и Unix'овые уязвимости. Эти возможности являются лишними и возможно никогда не будут использованы. Поэтому подходить к выбору системы анализа защищенности надо очень осторожно и не стоит полагаться только на число обнаруживаемых уязвимостей.
Механизм описания своих проверок, уязвимостей, атак и иных контролируемых событий является очень полезной возможностью для администраторов, отслеживающих уязвимости, описанные в Bugtraq и иных списках рассылки. Эта возможность позволяет быстро записать новое правило и использовать его в своей сети. Однако необходимо заметить, что хотя данная возможность и является полезной, ее необходимость достаточно эфемерна. В своей практической деятельности мне не приходилось встречаться с организациями, которые могли бы себе позволить содержать целый штат или одного сотрудника, занимающихся исследованиями в области новых проверок и уязвимостей (я не беру в расчет силовые ведомства и иные организации, работающие в области защиты информации). Как правило, человек, отвечающий за обеспечение безопасности в российских организациях, не обладает глубокими познаниями в программировании. Кроме того, помимо написания новых правил на нем "висит" еще много других задач (контроль деятельности пользователей, установка прав доступа, противодействие ПЭМИН и т.д.), и он просто не имеет времени для такой творческой работы, как создание новых проверок.
Несмотря на то, что система анализа защищенности является средством обеспечения информационной безопасности, она сама должна быть защищена от посягательств со стороны злоумышленников, так как выведение ее из строя существенно снизить защищенность всей сети. Для этого в этой системе должны быть предусмотрены механизмы контроля своей целостности, ограничения круга лиц к собранным данным и разграничения прав на запуск проверок.
Далеко не всегда система анализа защищенности является основным средством защиты в сети. Мало того, даже самая "главная" система защиты может быть второстепенной системой в общей телекоммуникационной инфраструктуре. Очень часто приходится встречаться с организациями, в которых отделы защиты информации находятся в подчиненном положении по отношению к отделам информатизации. В таких организациях в качестве корпоративного стандарта принята какая-либо система сетевого управления (например, HP OpenView), с которой и пытаются интегрировать все остальные системы (в том числе и средства защиты). Поэтому при выборе системы поиска уязвимостей необходимо делать выбор в пользу той, которая имеет возможность интеграции с системами управления и другими средствами, используемыми в вашей организации.
Если АС имеет подключение к сетям общего пользования, то могут быть реализованы сетевые атаки на нее. К сетям общего пользования на основе стека протоколов TCP/IP относится и Интернет , на примере которого мы будем рассматривать наиболее распространенные в настоящее время атаки. Сеть Интернет создавалась для связи между государственными учреждениями и университетом с целью оказания помощи учебному процессу. На начальном этапе никто не мог предположить дальнейший масштаб его развития и интеграции в жизнь современного общества, в связи с чем вопросам безопасности не уделялось должного внимания. Как следствие, на данный момент стек обладает множеством уязвимостей, которыми с успехом пользуются злоумышленники для реализации атак. Уязвимости протоколов, входящих в стек TCP/IP обусловлены, как правило, слабой аутентификацией, ограничением размера буфера, отсутствием проверки корректности служебной информации и т.п.
Краткая характеристика наиболее опасных уязвимостей приведена в таблице 4.1.
1. Аутентификация на базе открытого текста (пароли пересылаются в незашифрованном виде)
2. Доступ по умолчанию
Возможность перехвата данных учетной записи пользователя.
Возможность реализации UDР-шторма.
Угрозы, реализуемые по сети, классифицируются по 6 основным признакам:
характер угрозы:
Пассивная - угроза, которая не оказывает влияния на работу информационной системы, но может нарушить правила доступа к защищаемой информации. Пример: использование sniffer для "прослушивания" сети. Активная - угроза, которая воздействуют на компоненты информационной системы, при реализации которой оказывается непосредственное влияние на работу системы. Пример: DDoS-атака в виде шторма TCP-запросами.;
цель реализации угрозы (соответственно, конфиденциальность, доступность, целостность информации).
условие начала атаки:
- по запросу от атакуемого. То есть злоумышленник ожидает передачи запроса определенного типа, который и будет условием начала НСД.
- по наступлению ожидаемого события на атакуемом объекте.
безусловное воздействие - злоумышленник ничего не ждет, то есть угроза реализуется сразу и безотносительно к состоянию атакуемого объекта.
наличие обратной связи с атакуемым объектом:
-
с обратной связью, то есть на некоторые запросы злоумышленнику необходимо получить ответ. Таким образом, между атакуемым и атакующим есть обратная связь, позволяющая злоумышленнику следить за состоянием атакуемого объекта и адекватно реагировать на его изменения.
без обратной связи - соответственно, нет обратной связи и необходимости злоумышленнику реагировать на изменения атакуемого объекта.
расположение нарушителя относительно атакуемой информационной системы: внутрисегментно и межсегментно. Сегмент сети - физическое объединение хостов, технических средств и других компонентов сети, имеющих сетевой адрес.
Рассмотрим наиболее распространенные на настоящее время атаки в сетях на основе стека протоколов TCP/IP .
4.3.1. Анализ сетевого трафика
Данная атака ( рис. 4.4) реализуется с помощью специальной программы, называемой sniffer. Sniffer представляет собой прикладную программу, которая использует сетевую карту, работающую в режиме promiscuous mode, так называемый "неразборчивый" режим, в котором сетевая плата позволяет принимать все пакеты независимо от того кому они адресованы. В нормальном состоянии на Ethernet-интерфейсе используется фильтрация пакетов канального уровня и если MAC-адрес в заголовке назначения принятого пакета не совпадает с MAC-адресом текущего сетевого интерфейса и не является широковещательным, то пакет отбрасывается. В "неразборчивом" режиме фильтрация на сетевом интерфейсе отключается и все пакеты, включая не предназначенные текущему узлу, пропускаются в систему. Надо заметить, что многие подобные программы используются в легальных целях, например, для диагностики неисправностей или анализа трафика. Тем не менее, в рассмотренной нами выше таблице перечислены протоколы, которые отправляют информацию, в том числе пароли, в открытом виде - FTP, SMTP, POP3 и т.д. Таким образом, с помощью sniffer можно перехватить имя и пароль и осуществить несанкционированный доступ к конфиденциальной информации. Более того, многие пользователи используют одни и те же пароли для доступа ко многим сетевым сервисам. То есть, если в одном месте сети есть слабость в виде слабой аутентификации, пострадать может вся сеть. Злоумышленники хорошо знают людские слабости и широко применяют методы социальной инженерии.
Рис. 4.4. Схема реализации угрозы "Анализ сетевого трафика"
Защита от данного вида атаки может заключаться в следующем:
- Сильная аутентификация, например, использование одноразовых паролей (one-time password). Суть состоит в том, что пароль можно использовать однократно, и даже если злоумышленник перехватил его с помощью sniffer, он не представляет никакой ценности. Конечно, данный механизм защиты спасает только от перехвата паролей, и является бесполезным в случае перехвата другой информации.
- Анти-снифферы - аппаратные или программные средства, способные выявить работу сниффера в сегменте сети. Как правило, они проверяют нагрузку на узлах сети с целью определения "лишней" нагрузки.
- Коммутируемая инфраструктура. Понятно, что анализ сетевого трафика возможен только внутри одного сегмента сети (понятие сегмента рассматривалось ранее). Если сеть построена на устройствах, разбивающих ее на множество сегментов (коммутаторы и маршрутизаторы), то атака возможна только в тех участках сети, которые относятся к одному из портов данных устройств. Это не решает проблемы сниффинга, но уменьшает границы, которые может "прослушивать" злоумышленник.
- Криптографические методы. Самый надежный способ борьбы с работой sniffer. Информация, которая может быть получена с помощью перехвата, является зашифрованной и, соответственно, не имеет никакой пользы. Чаще всего используются IPSec, SSL и SSH.
4.3.2. Сканирование сети
- запросы DNS помогают выяснить злоумышленнику владельца домена, адресную область,
- эхо-тестирование - выявляет работающие хосты на основе DNS-адресов, полученных ранее;
- сканирование портов - составляется полный перечень услуг, поддерживаемых этими хостами, открытые порты, приложения и т.п.
Хорошей и наиболее распространенной контрмерой является использование IDS, которая успешно находит признаки ведения сканирования сети и уведомляет об этом администратора. Полностью избавиться от данной угрозы невозможно, так как если, например, отключить эхо ICMP и эхо-ответ на маршрутизаторе, то можно избавиться от угрозы эхо-тестирования, но при этом потерять данные, необходимые для диагностики сетевых сбоев.
4.3.3. Выявление пароля
Еще одной проблемой информационной безопасности является то, что большинство людей используют одинаковые пароли ко всем службам, приложениям, сайтам и пр. При этом уязвимость пароля зависит от самого слабого участка его использования.
Подобного рода атак можно избежать, если использовать одноразовые пароли или криптографическую аутентификацию.
4.3.4. IP-spoofing или подмена доверенного объекта сети
Под доверенным в данном случае понимается объект сети (компьютер, маршрутизатор, межсетевой экран и т.п.), легально подключенный к серверу. Угроза заключается в том, что злоумышленник выдает себя за доверенный объект сети. Это можно сделать двумя способами. Во-первых, воспользоваться IP-адресом, находящимся в пределах диапазона санкционированных IP-адресов, или авторизованным внешним адресом, которому разрешается доступ к определенным сетевым ресурсам. Атаки данного типа часто являются отправной точкой для прочих атак.
4.3.5. Отказ в обслуживании
Отказ в обслуживании или Denial of Service (DoS) - атака на вычислительную систему с целью довести её до отказа, то есть создание таких условий, при которых легитимные пользователи системы не могут получить доступ к предоставляемым системой ресурсам, либо этот доступ затруднён.
DoS-атака является наиболее распространенной и известной атакой в последнее время, что обусловлено в первую очередь относительной простотой реализации. Организация DoS-атаки, как правило, строится на недостатках сетевого программного обеспечения и сетевых протоколов. Если атака проводится для множества сетевых устройств, говорят о распределенной атаке DoS (DDoS - distributed DoS).
Сегодня наиболее часто используются следующие пять разновидностей DoS-атак, для проведения которых существует большое количество программного обеспечения и от которых наиболее тяжело защититься:
ICMP flood - атака, аналогичная Smurf, только без усиления, создаваемого запросами по направленному широковещательному адресу.
UDP flood - отправка на адрес атакуемого узла множества пакетов UDP (User Datagram Protocol).
TCP flood - отправка на адрес атакуемого узла множества TCP-пакетов.
TCP SYN flood - при проведении такого рода атаки выдается большое количество запросов на инициализацию TCP-соединений с атакуемым узлом, которому, в результате, приходится расходовать все свои ресурсы на то, чтобы отслеживать эти частично открытые соединения.
Если используется серверное приложение Web-сервер или FTP-сервер, в результате атаки DoS все соединения, доступные для этих приложений, оказываются занятыми, и пользователи не могут получить к ним доступ. Некоторые атаки способны вывести из строя целую сеть, наполнив ее ненужными пакетами. Для противодействия таким атакам необходимо участие провайдера, потому что если он не остановит нежелательный трафик на входе в сеть, атаку не остановить, потому что полоса пропускания будет занята.
Для ослабления угрозы можно воспользоваться следующим:
- Функции анти-спуфинга - правильная конфигурация функций анти-спуфинга на ваших маршрутизаторах и межсетевых экранах поможет снизить риск DoS.
- Функции анти-DoS - правильная конфигурация функций анти-DoS на маршрутизаторах и межсетевых экранах может ограничить эффективность атак. Эти функции часто ограничивают число полуоткрытых каналов в любой момент времени.
- Ограничение объема трафика (traffic rate limiting) - организация может попросить провайдера (ISP) ограничить объем трафика. Этот тип фильтрации позволяет ограничить объем некритического трафика, проходящего по вашей сети. Обычным примером является ограничение объемов трафика ICMP, который используется только для диагностических целей. Атаки DoS часто используют ICMP[36].
Можно выделить несколько разновидностей угроз данного типа:
Помимо перечисленных выше сетевых атак существуют различные схемы интернет -мошенничества.
Фишинг. Злоумышленник получает идентификационные данные пользователей (пароли, номера кредитных карт, PIN-кодов и т.п.) с помощью сайта-копии определенного банка (аукциона, электронной платежной системы и т.п.). После создания сайта-копии по электронной почте рассылается письмо , максимально похожее на настоящее письмо от выбранного банка. При составлении письма используются соответствующие атрибуты - адрес отправителя, очень похожий на настоящий, логотип , фамилии реальных руководителей и сотрудников выбранного банка. В письме, как правило, сообщается о том, что произошла смена программного обеспечения и нужно зайти в интернет -банк и подтвердить свои учетные данные. Потенциальная жертва переходит по ссылке из письма на сайт -подделку и вводит свои конфиденциальные данные.
Фарминг - еще один вид мошенничества, ставящий целью получить конфиденциальные данные пользователей. Фармеры заменяют на серверах DNS цифровые адреса легитимных веб-сайтов на поддельные, в результате чего пользователи перенаправляются на сайты злоумышленников. То есть в этой схеме потенциальная жертва даже не должна открывать письмо с некорректной ссылкой. Хорошим методом защиты от фишинга и фарминга является аутентификация по одноразовому паролю или двухфакторная аутентификация с помощью пароля и usb-ключа.
Читайте также: