Использование сканера уязвимостей OpenVAS / Habr
Сканеры уязвимостей — это программные или аппаратные средства, служащие для осуществления диагностики и мониторинга сетевых компьютеров, позволяющее сканировать сети, компьютеры и приложения на предмет обнаружения возможных проблем в системе безопасности, оценивать и устранять уязвимости. (Википедия).Известными коммерческими сканерами являются Nessus, GFI LANguard, XSpider.
В отличии от прочих, OpenVAS бесплатен, работает без каких либо ограничений и может пригодится как сетевым администраторам, так и специалистам ИБ для выявления актуальных проблем своей инфраструктуры.
В основе работы OpenVAS-а лежит постоянно пополняемая коллекция NVT тестов безопасности (которых уже больше 30000), а также подключение к базе CVE, описывающей известные уязвимости. Исполнение NVT тестов позволяет выявить уязвимость, а CVE обеспечивает описание проблемы и способы её решения.
Приступим.
Тут все просто, если предстоит сканировать часто и большие диапазоны адресов, то чем мощнее железо, тем лучше. Можно увеличивать число параллельных потоков обработки сетевых адресов, да и само сканирование по каждому хосту будет проходить быстрее.
2. Установка.
Тут я выбираю наименее проблемный для меня способ установки из пакетов.
Заходим на адрес.
www.openvas.org/install-packages.html
Выбираем нужный дистрибутив и устанавливаем.
В моем случае это CentOS и репозитарий atomicorp. Скрипт сам скачает все зависимости, проведет первоначальное обновление базы уязвимостей и пропишет нужные настройки. В процессе попросит придумать логин и пароль для доступа в Openvas.
3. Использование.
Переходим по адресу localhost:9392 вводим логин и пароль и мы в консоли управления Greenbone Security Assistant.
Далее пример работы с Openvas для сканирования диапазона внутренней сети. Основные настройки заточены под оптимальную скорость проверки каждого хоста.
3.1 Выбираем конфигурацию сканирования.
Идем в раздел Configuration – Scan Configs.
Видим 4 стандартных политики и 1 пустую.
Политики делятся на 2 группы – fast и deep.
Принципиальное различие — в deep не учитывается работа каждого предыдущего скрипта проверки и сбор информации начинается заново.
По моим тестам, это существенно увеличило время сканирования каждого хоста, при отсутствии значимого результата. Поэтому поэтому для большей скорости выбираем политику Full and fast ultimate и клонируем ее нажав на значок овечки .
Теперь, для клона, нам доступны опции редактирования и нажав на значок гаечного ключа , заглянем внутрь.
Опций великое множество, несколько сотен, на скрине, только самое начало. Все опции сгруппированы по подразделам NVT тестов по различным типам операционных систем и сетевого оборудования, по настройкам различных подключаемых утилиты типа nmap, nikto и др.
Называем нашу новую политику Office_scan_config.
Спустимся ниже.
Обращаю внимание на следующие пункты.
safe_check–отключение позволит запускаться потенциально опасным NVT тестам, выполнение которых может вызвать падение тестируемого хоста. Использовать аккуратно.
optimize_test– переключатель который задает использовать fast или deep сканирование.
Далее спускаемся до пунктов PingHost и выставляем переключатели, как на скриншоте.
Это позволит сразу исключать пустые адреса и не тратить на них время сканера. Остальные пункты не трогаем.
Не забываем сохранить принятые изменения.
3.2 Прописываем учетную запись для проведения локальных проверок.
Если данный пункт сконфигурирован, то Openvas будет заходить на каждую машину, сканировать установленный софт, локальные настройки безопасности и выкидывать алерты, в случае обнаружения проблем.
Естественно это увеличит время сканирования.
Если не конфигурировать, Openvas ограничится удаленными проверками.
Идем в раздел Configuration –Credentials.
Создаем новую запись, нажав на значок звездочки .
Допустим у нас windows сеть в домене, есть пользователь sec_check, с правами локального администратора на нужных машинах, тогда это будет выглядеть так.
Сохраняем и идем дальше.
3.3 Устанавливаем цели сканирования.
Далее нам нужно забить диапазон адресов для сканирования и определится с набором портов, которые будет проверять Openvas.
Идем в раздел Configuration –Target. Создаем новую цель, нажав на значок звездочки. Задаем ей имя office.
Тут в принципе все понятно, в разделе SMB, мы подключили ранее созданного пользователя для проведения локальных проверок.
В разделе PortList, подключается нужный диапазон портов, в данном случае предлагаемый Nmap-ом набор популярных портов. Выбор в пользу такого диапазона, сделан опять же в пользу оптимизации, дабы не лопатить все 65 тысяч.
В разделе Hosts указываем диапазон ip.
3.4 Запуск!
Идем в раздел ScanManagement — Task. Создаем новую задачу, нажав на значок звездочки.
Последовательно выбираем ранее созданные конфигурации и нажимаем на кнопку CreateTask.
Стартуем.
Идем пить чай.В зависимости от насыщенности сети и мощности сервера, процесс может занять до нескольких часов.
По окончанию процесса мы можем нажать на значок лупы и просмотреть все найденные проблемы.
Типичный алерт.
4. Обновления.
Периодически необходимо подкачивать актуальные сведения об уязвимостях и тесты их выявляющие.
Делается это либо из браузера в разделе Administration. (поочередно во всех 3-х разделах: nvt,scap,cert)
Либо из командной строки, последовательными командами.
openvas-nvt-sync
openvassd
openvasmd —rebuild
openvas-scapdata-sync
openvas-certdata-sync
killall openvassd
/etc/init.d/openvas-scanner restart
/etc/init.d/openvas-manager restart
/etc/init.d/openvas-administrator restart
/etc/init.d/greenbone-security-assistant restart
Обладатели мощного железа, могут заглянуть в раздел Settings и выставить большее кол-во параллельных потоков.
Полезные приемы работы в Greenbone Security Assistant. можно найти тут
www.greenbone.net/learningcenter/index.html
Успехов в использовании.
habr.com
Выявление уязвимостей компьютерных сетей — Документ
14
Информационная безопасность. Лекция 14.Выявление уязвимостей компьютерных сетей
Системы обнаружения атак
Существует три этапа осуществления атаки. Первый, подготовительный, этап заключается в поиске предпосылок для осуществления той или иной атаки. На этом этапе ищутся уязвимости, использование которых приводит к реализации атаки, т.е. ко второму этапу. На третьем этапе завершается атака, «заметаются» следы и т.д. При этом первый и третий этапы сами по себе могут являться атаками. Например, поиск нарушителем уязвимостей при помощи сканеров безопасности, например, SATAN считается атакой.
Существующие механизмы защиты, реализованные в межсетевых экранах, серверах аутентификации, системах разграничения доступа и т.д. работают только на втором этапе. Т.е. по существу они являются средствами блокирующими, а не упреждающими атаки. В абсолютном большинстве случаев они защищают от атак, которые уже находятся в процессе осуществления. И даже если они смогли предотвратить ту или иную атаку, то намного более эффективным было бы упреждение атак, т.е. устранение самих предпосылок реализации вторжений. Комплексная система обеспечения информационной безопасности должна работать на всех трех этапах осуществления атаки. И обеспечение адекватной защиты на третьем, завершающем, этапе не менее важно, чем на первых двух. Ведь только в этом случае можно реально оценить ущерб от «успешной» атаки, а также разработать меры по устранению дальнейших попыток реализовать аналогичную атаку.
Обнаруживать, блокировать и предотвращать атаки можно несколькими путями. Первый, и самый распространенный, способ — это обнаружение уже реализуемых атак. Этот способ применяется в «классических» системах обнаружения атак (например, RealSecure компании Internet Security Systems), межсетевых экранах и т.п. Однако, «недостаток» средств данного класса в том, что атаки могут быть реализованы повторно. Второй путь — предотвратить атаки еще до их реализации. Осуществляется это путем поиска уязвимостей, которые могут быть использованы для реализации атаки. И, наконец, третий путь — обнаружение уже совершенных атак и предотвращение их повторного осуществления. Таким образом, системы обнаружения атак могут быть классифицированы по этапам осуществления атаки (рис.1.):
Системы, функционирующие на первом этапе осуществления атак и позволяющие обнаружить уязвимости информационной системы, используемые нарушителем для реализации атаки. Иначе средства этой категории называются системами анализа защищенности (security assessment systems) или сканерами безопасности (security scanners). Обычно системы анализа защищенности не принято относить к классу средств обнаружения атак, однако, если следовать описанным выше этапам осуществления атаки, то такое отнесение вполне логично.
Системы, функционирующие на втором этапе осуществления атаки и позволяющие обнаружить атаки в процессе их реализации, т.е. в режиме реального (или близкого к реальному) времени. Именно эти средства и принято считать системами обнаружения атак в классическом понимании. Помимо этого можно выделить такой класс средств обнаружения атак как обманные системы.
Системы, функционирующие на третьем этапе осуществления атаки и позволяющие обнаружить уже совершенные атаки. Эти системы делятся на два класса — системы контроля целостности, обнаруживающие изменения контролируемых ресурсов, и системы анализа журналов регистрации.
Рисунок 1. Классификация систем обнаружения атак по этапу осуществления атаки
Помимо этого, существует еще одна распространенная классификация систем обнаружения нарушения политики безопасности — по принципу реализации: host-based, т.е. обнаруживающие атаки, направленные на конкретный узел сети, и network-based, направленные на всю сеть или сегмент сети. Обычно на этом дальнейшая классификация останавливается. Однако системы класса host-based можно разделить еще на три подуровня:
Application IDS (Intrusion Detection System), обнаруживающие атаки на конкретные приложения;
OS IDS, обнаруживающие атаки на операционные системы;
DBMS IDS, обнаруживающие атаки на системы управления базами данных.
Выделение обнаружения атак на системы управления базами данных (СУБД) в отдельную категорию связано с тем, что современные СУБД уже вышли из разряда обычных приложений и по многим своим характеристикам, в т.ч. и по сложности, приближаются к операционным системам. Таким образом, классификация систем обнаружения атак по уровню реализации выглядит следующим образом (рис.2):
Можно заметить, что это деление соответствует уровням информационной системы предприятия.
Рисунок 2. Классификация систем обнаружения атак по принципу реализации
Системы контроля целостности
Системы контроля целостности работают по замкнутому циклу, обрабатывая файлы, системные объекты и атрибуты системных объектов с целью получения контрольных сумм; затем они сравнивают их с предыдущими контрольными суммами, отыскивая изменения. Когда изменение обнаружено, система посылает сообщение администратору, фиксируя время, соответствующее вероятному времени изменения. Если вновь вернуться к этапам реализации атаки, то системы этого класса функционируют на третьем этапе, т.е. они могут однозначно сказать, происходила атака (точнее изменение контролируемого объекта) или нет.
Обманные системы
Обычно, когда речь заходит об обмане в области информационной безопасности, то здесь используются методы, которые применяют злоумышленники, т.е. лазейки для обхода используемых средств защиты, будь то кража паролей и работа от имени авторизованного пользователя или несанкционированное использование модемов. Обман может сослужить хорошую службу не только для злоумышленников, но и для защиты корпоративных ресурсов. Существует множество различных вариантов использования обмана в благих целях:
Сокрытие
Камуфляж
Дезинформация
В той или иной мере эти механизмы используются в практике работ отделов безопасности. Однако, как правило, эти механизмы используются не для информационной, а для иных областей обеспечения безопасности (физическая, экономическая и т.д.).
В области информационной безопасности наибольшее распространение получил первый метод — сокрытие. Ярким примером использования этого метода в целях обеспечения информационной безопасности можно назвать сокрытие сетевой топологии при помощи межсетевого экрана. Примером камуфляжа является следующий пример: каждая операционная система обладает присущим только ей представлением механизма идентификации пользователя, отличающимся цветом и типом шрифта, которым выдается приглашение, текстом приглашения и местом его расположения. И, наконец, в качестве примера дезинформации можно назвать использование заголовков (banner), которые бы давали понять злоумышленнику, что атакуемая им система якобы уязвима.
Работа систем 2 и 3 их реализующих заключается в том, что эти системы эмулируют те или иные известные уязвимости, которых в реальности не существует. Использование средств (deception systems), реализующих камуфляж и дезинформацию, приводит к следующему:
1. Увеличение числа выполняемых нарушителем операций и действий. Так как заранее определить является ли обнаруженная нарушителем уязвимость истинной или нет, злоумышленнику приходится выполнять много дополнительных действий, чтобы выяснить это. И даже дополнительные действия не всегда помогают в этом. Например, попытка запустить программу подбора паролей (например, Crack для Unix или L0phtCrack(LC) для Windows) на сфальсифицированный и несуществующий в реальности файл, приведет к бесполезной трате времени без какого-либо видимого результата. Нападающий будет думать, что он не смог подобрать пароли, в то время как на самом деле программа «взлома» была просто обманута.
2. Получение возможности отследить нападающих. За тот период времени, когда нападающие пытаются проверить все обнаруженные уязвимости, в т.ч. и фиктивные, администраторы безопасности могут проследить весь путь до нарушителя или нарушителей и предпринять соответствующие меры.
Например, в информационной системе используются от 5 до 10 зарезервированных портов (с номерами от 1 до 1024). К ним можно отнести порты, отвечающие за функционирование сервисов HTTP, FTP, SMTP, NNTP, NetBIOS, Echo, Telnet и т.д. Если обманные системы (например, RealSecure компании ISS) эмулируют использование еще 100 и более портов, то работа нападающего резко увеличивается и злоумышленник обнаружит не 5-10, а 100 открытых портов. При этом мало обнаружить открытый порт, надо еще попытаться использовать уязвимости, связанные с этим портом. И даже если нападающий автоматизирует эту работу путем использования соответствующих программных средств (Nmap, SATAN и т.д.), то число выполняемых им операций все равно существенно увеличивается, что приводит к быстрому снижению производительности его работы.
Средства анализа защищенности
Обнаружением уязвимостей занимаются системы анализа защищенности — сканеры безопасности или системы поиска уязвимостей. Они проводят всесторонние исследования заданных систем с целью обнаружения уязвимостей, которые могут привести к нарушениям политики безопасности. Результаты, полученные от средств анализа защищенности, представляют «мгновенный снимок» состояния защиты системы в данный момент времени. Несмотря на то, что эти системы не могут обнаруживать атаку в процессе ее развития, они могут определить потенциальную возможность реализации атак.
Технология анализа защищенности является действенным методом реализации политики сетевой безопасности прежде, чем осуществится попытка ее нарушения снаружи или изнутри организации.
Одним из вариантов классификации уязвимостей может служить классификация, отражающая этапы жизненного цикла информационной системы (Таблица 1).
Таблица 1. Категории уязвимостей
Этапы жизненного цикла ИС | Категории уязвимостей ИС |
Проектирование ИС | Уязвимости проектирования |
Реализация ИС | Уязвимости реализации |
Эксплуатация ИС | Уязвимости конфигурации |
Наиболее опасны уязвимости проектирования, которые обнаруживаются и устраняются с большим трудом. В этом случае, уязвимость свойственна проекту или алгоритму и, следовательно, даже совершенная его реализация (что в принципе невозможно) не избавит от заложенной в нем уязвимости. Например, уязвимость стека протоколов TCP/IP.
Смысл уязвимостей второй категории (уязвимости реализации) заключается в появлении ошибки на этапе реализации в программном или аппаратном обеспечении корректного с точки зрения безопасности проекта или алгоритма. Обнаруживаются и устраняются такого рода уязвимости относительно легко — путем обновления исполняемого кода или изменения исходного текста уязвимого ПО.
Последняя причина возникновения уязвимостей — ошибки конфигурации программного или аппаратного обеспечения. К их числу можно отнести, например, доступный, но не используемый на узле сервис Telnet, использование «слабых» паролей или паролей менее 6 символов, учетные записи (accounts) и пароли, остановленные по умолчанию (например, SYSADM или DBSNMP в СУБД Oracle), и т.д. Обнаружить и исправить такие уязвимости проще всего.
Системы анализа защищенности могут быть классифицированы по типам обнаруживаемых ими уязвимостей (Рис.3), описанных выше.
Системы анализа защищенности второго и третьего классов получили наибольшее распространение среди конечных пользователей. Существует несколько дополнительных классификаций этих систем. Например, системы анализа исходного текста и исполняемого кода тестируемого программно-аппаратного обеспечения и т.д. Первые также применяются обычно при сертификации программного обеспечения по требованиям безопасности. В большинстве случаев программное обеспечение поставляется в организации без исходных текстов. Кроме того, анализ исходных текстов требует высокой квалификации от обслуживающего их персонала. Отсутствие эффективных систем анализа исходных текстов не позволяет проводить такой анализ на качественном уровне. Именно поэтому большой интерес вызывают системы поиска уязвимостей в исполняемом коде, самым распространенным подклассом которых являются системы имитации атак, которые моделируют различные несанкционированные воздействия на компоненты информационной системы. Именно эти системы получили широкую известность во всем мире ввиду своей относительной простоты и дешевизны. Посредством таких имитаторов обнаруживаются уязвимости еще до того, как они будут использованы нарушителями для реализации атак. К числу систем данного класса можно отнести SATAN, Internet Scanner, Cisco Secure Scanner и т.д.
Системы имитации атак с одинаковым успехом обнаруживают не только уязвимости реализации, но и уязвимости эксплуатации. Функционировать системы анализа защищенности, в частности системы поиска уязвимостей реализации и эксплуатации, могут на всех уровнях информационной инфраструктуры любой компании, то есть на уровне сети, операционной системы, СУБД и прикладного программного обеспечения. Наибольшее распространение получили средства анализа защищенности сетевых сервисов и протоколов. Связано это, в первую очередь, с универсальностью используемых протоколов. Изученность и повсеместное использование таких стеков протоколов, как TCP/IP и т.п. позволяют с высокой степенью эффективности проверять защищенность корпоративной сети, работающей в данном сетевом окружении, независимо от того, какое программное обеспечение функционирует на более высоких уровнях. Примером такой системы является Internet Scanner компании ISS. Вторыми по распространенности являются средства анализа защищенности операционных систем. Связано это также с универсальностью и распространенностью некоторых операционных систем (например, UNIX и Windows). Однако, из-за того, что каждый производитель вносит в операционную систему свои изменения (ярким примером является множество разновидностей ОС UNIX), средства анализа защищенности ОС анализируют в первую очередь параметры, характерные для всего семейства одной ОС. И лишь для некоторых систем анализируются специфичные для нее параметры. Примером такой системы является System Scanner компании ISS.
При проведении анализа защищенности реализуются две стратегии. Первая — пассивная, — реализуемая на уровне операционной системы, СУБД и приложений, при которой осуществляется анализ конфигурационных файлов и системного реестра на наличие неправильных параметров, файлов паролей на наличие легко угадываемых паролей, а также других системных объектов на нарушения политики безопасности. Вторая стратегия, — активная, — осуществляемая в большинстве случаев на сетевом уровне, позволяющая воспроизводить наиболее распространенные сценарии атак, и анализировать реакции системы на эти сценарии.
Однако не стоит думать, что при помощи средств анализа защищенности можно тестировать только возможность несанкционированного доступа в корпоративную сеть из сетей открытого доступа (например, Internet). Эти средства с не меньшим успехом могут быть использованы для анализа некоторых сегментов или узлов внутренней сети организации. Системы анализа защищенности могут быть использованы:
для оценки уровня безопасности организации;
для контроля эффективности настройки сетевого, системного и прикладного программно-аппаратного обеспечения;
внешними аудиторскими и консалтинговыми компаниями, осуществляющими информационные обследования сетей заказчиков;
для тестирования и сертификации того или иного программно-аппаратного обеспечения.
Таблица 2. Средства анализа защищенности.
Название | Производитель | Категория | Примечание |
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 | На уровне сети |
|
Enterprise | Security Manager | Symantec | На уровне ОС |
SFProtect | Hewlett Packard | На уровне сети, ОС, СУБД |
|
Nessus | Свободно распространяется | На уровне сети | Система имеет сертификат ГТК. |
gigabaza.ru
Дыры в защите корпоративной сети: сетевые уязвимости
В предыдущем блоге мы рассказали о том, какие атаки могут быть предприняты злоумышленником, работающим из-под учетной записи обычного пользователя без привилегий локального администратора. В частности, мы приводили пример того, как упрощенное наследование привилегий в рамках доменной авторизации (Single-Sign-On) позволяет злоумышленнику получить доступ к различным сетевым ресурсам и сервисам, действуя из-под ограниченной учетной записи обычного пользователя. В этом блоге мы детально рассмотрим возможные векторы атаки на корпоративную сеть изнутри, т.е. с зараженного компьютера.
После того, как злоумышленник получил контроль над какой-либо пользовательской системой в корпоративной сети, все дальнейшие события укладываются в три последовательных этапа: закрепление в системе, анализ окружения и распространение. Есть множество вариантов реализации каждого из описанных этапов, различающихся техническими методами, стратегией и тактикой. Возможные варианты действий злоумышленника, направленных на закрепление, анализ и распространение в корпоративной сети, изображены на схеме ниже.
Схема действий злоумышленника
Для специалистов ИБ важно знать признаки, по которым та или иная атака может быть своевременно обнаружена. Так, используя предложенную «карту действий», специалисты ИБ могу обнаружить атаку, сопоставляя происходящие в сети события с различными шаблонами поведения злоумышленника.
Закрепление в системе
Обычно в первые минуты или часы после проникновения в корпоративную сеть хакер загружает на атакованный компьютер утилиты (в т.ч. вредоносные), необходимые для сбора информации о системе и установленном ПО, поиска файлов и данных, установления связи с центром управления (C&C), кражи учетных данных, перебора паролей, взлома учетных записей, повышения привилегий, заражения системы, перехвата сетевого трафика, сканирования устройств в сети и т.д.
Чтобы скрыть загрузку всех необходимых инструментов от глаз сетевых администраторов и специалистов ИБ и избежать срабатывания всевозможных систем защиты, хакеры прибегают к маневрам различной степени сложности:
- Файлы передаются по сетевым протоколам/портам общего назначения (HTTP, FTP, HTTPS, SFTP), растворяясь в огромном потоке ежедневного пользовательского трафика.
Файлы загружаются со взломанных серверов, с использованием Fast Flux сетей или через Tor. - Файлы передаются по частям, в обфусцированном и/или зашифрованном виде.
- Иногда для передачи используются различные виды стеганографии, например, сокрытие данных внутри аудио/видео файлов, изображений или заголовков интернет-протоколов (особенно если порты общего назначения закрыты сетевым экраном).
После загрузки необходимых инструментов злоумышленник пытается получить доступ к учетной записи локального администратора или системы. В первом случае обычно используется ПО для перехвата ввода с клавиатуры, перебора паролей, взлома учетных записей или фишинг. Во втором случае для получения доступа к системной учетной записи (т.е. привилегий уровня ядра) обычно используются эксплойты уязвимостей в системных сервисах.
Используя полученные привилегии, злоумышленник сможет глубоко закрепиться в системе, внедрив в ОС руткит или буткит, очистить систему от следов проникновения, скрыть свои инструменты и следы активного заражения от локальных средств защиты. Если злоумышленнику не удалось закрепиться в системе «классическим» способом, он может настроить автоматическое заражение системы, например, используя стандартный планировщик задач.
Разумеется, в каждом конкретном случае сценарий «закрепления в системе» может значительно отличаться от предложенного выше описания. Но, как мы говорили в начале статьи, для специалиста ИБ важно понимать принципы проведения атаки и уметь представлять себе задачи, которые решает злоумышленник. Так, на этапе закрепления основная задача злоумышленника – организовать надежный долгосрочный доступ к атакованной системе. В общем случае, решение задачи удаленного доступа состоит из двух частей: создание канала передачи данных и внедрение средства удаленного управления (бэкдора).
Анализ окружения
До, после или одновременно с закреплением в системе злоумышленнику необходимо собрать информацию об ОС и её конфигурации, установленных обновлениях, программах и средствах защиты. Эта информацию не только пригодится для оценки текущей ситуации и планирования следующих шагов атаки, но и крайне полезна для точного подбора необходимых утилит и эксплойтов.
Для сбора информации о системе обычно вполне достаточно имеющихся под рукой средств:
- cmd, regedit, vbs, powershell в ОС Windows,
- bash, grep, python, perl в Unix/Linux и Mac OS.
С точки зрения хакера, есть масса плюсов в том, чтобы использовать перечисленные утилиты – они есть в каждой системе, доступны даже с ограниченными правами пользователя, а их работа не контролируется большинством средств защиты. Для решения более сложных задач злоумышленники используют как широко известные, так и собственные утилиты, позволяющие перехватывать сетевой трафик, сканировать устройства в сети, подключаться к различным сетевым службам, используя доменную авторизацию, и т.д. При этом, если хакерские утилиты написаны, скажем, на python, то злоумышленники наверняка установят необходимое ПО на зараженный компьютер. В этом случае, python (и т.п.) скорее всего не будет скрыт в системе при помощи руткита, поскольку это может вызвать проблемы в работе интерпретатора.
Для поиска и анализа других устройств в корпоративной сети, злоумышленники применяют методы пассивного и активного сканирования. В частности, используя сниффер для прослушивания трафика с локального сетевого интерфейса, можно легко обнаружить различные устройства по ARP-пакетам или активным подключениям, определить адреса серверов, на которых расположены корпоративные приложения, такие как ActiveDirectory, Outlook, базы данных, корпоративные вебсайты и многие другие. Для получения детальной информации о конкретном узле сети злоумышленники используют сетевые сканеры (например, nmap), позволяющие определить доступные сетевые службы, угадать название и версию ПО, обнаружить присутствие сетевого экрана, IDS/IPS.
Распространение
После того, как злоумышленник закрепился в системе, организовал надежный канал для удаленного доступа и собрал достаточно информации о корпоративной сети, его дальнейшее действия обычно направлены на достижения исходной цели – это может быть кража конфиденциальной информации, атака на инфраструктуру компании, получение контроля над критическими системами с целью шантажа или же собственные нужды. За исключением случаев, когда изначально атакованная система, является конечной целью (например, ноутбук СЕО, центральный сервер или вебсайт), злоумышленнику необходимо захватить контроль над другими системами внутри корпоративной сети – в зависимости от выбранной цели заражение может быть точечным или массовым.
Например, для атаки на инфраструктуру скорее всего потребуется массовое заражение как серверов, обеспечивающих выполнение различных бизнес-процессов, так и рабочих станций операторов и администраторов. С другой стороны, для кражи конфиденциальной информации или шпионажа злоумышленнику придется действовать с большой осторожностью, атакуя только самые приоритетные системы.
Распространение внутри корпоративной сети может быть реализовано множеством способов. Так же, как в случае с закреплением в системе и анализом окружения, злоумышленники выбирают наиболее простые решения, в частности – использование существующих учетных записей. Например, запуская вредоносный код из-под доменной учетной записи пользователя зараженной системы, злоумышленник может свободно подключаться к различным сетевым сервисам (к которым у пользователя есть доступ) используя доменную авторизацию (Single Sign-On), т.е. без указания логина/пароля. С другой стороны, используя перехватчик ввода с клавиатуры, злоумышленник легко может получить логин/пароль как от доменной учетной записи, так и от других сервисов, не поддерживающих доменную авторизацию. Также злоумышленник может попытаться использовать уязвимости в механизмах хранения и проверки учетных данных или использов
securelist.ru
Угрозы безопасности локальных вычислительных сетей
Локальная сеть (LOCAL AREA NETWORK-LAN) -набор компьютеров (часто называемых рабочими станциями (Workstation)), серверов, сетевых принтеров, коммутаторов (Switch), маршрутизаторов (Router), точек доступа (Access Point), другого оборудования, а также соединяющих их кабелей, обычно расположенных на относительно небольшой территории или в небольшой группе зданий (учебный класс, квартира, офис, университет, дом, фирма, предприятие) [1].
Компьютерные сети сегодня являются привычным инструментом коммуникаций, информационного обмена и выполнения вычислений. Именно поэтому очень важно быть уверенным в защищённости локальной сети и вовремя выявить возможные угрозы. Знание возможных угроз, а также уязвимых мест защиты, которые эти угрозы обычно эксплуатируют, необходимо для выбора наиболее экономичных средств обеспечения безопасности.
Угрозы безопасности информации локальных вычислительных сетей можно разделить на две большие группы:
I. Технические угрозы:
1. Ошибки в программном обеспечении.
2. Различные DoS- и DDoS-атаки.
3. Компьютерные вирусы, черви, троянские кони.
4. Анализаторы протоколов и прослушивающие программы («снифферы»).
5. Технические средства съема информации.
II. Человеческий фактор:
1. Уволенные или недовольные сотрудники.
2. Промышленный шпионаж.
3. Халатность.
4. Низкая квалификация.
Рассмотрим каждую угрозу и способы защиты от них подробнее.
Ошибки в программном обеспечении — самое узкое место любой сети. Источниками ошибок в программном обеспечении являются специалисты — конкретные люди с их индивидуальными особенностями, квалификацией, талантом и опытом. Большинство ошибок не представляет никакой опасности, некоторые же могут привести к трагическим последствиям, таким, как получение злоумышленником контроля над сервером, неработоспособность сервера, несанкционированное использование ресурсов. Такие уязвимости устраняется с помощью пакетов обновлений, регулярно выпускаемых производителем ПО. Своевременная установка таких обновлений является необходимым условием безопасности сети.
Различные DoS- и DDoS-атаки. Denial Of Service (отказ в обслуживании) — особый тип атак, направленный на выведение сети или сервера из работоспособного состояния. При DoS-атаках могут использоваться ошибки в программном обеспечении или легитимные операции, но в больших масштабах (например, посылка огромного количества электронной почты). Новый тип атак DDoS (Distributed Denial Of Service) отличается от предыдущего наличием огромного количества компьютеров, расположенных в большой географической зоне. Такие атаки просто перегружают канал трафиком и мешают прохождению, а зачастую и полностью блокируют передачу по нему полезной информации. Защита от DoS — атак должна опираться на межсетевой экран. При этом важна правильная настройка работы всех компонентов, которая возможна лишь с участием квалифицированного специалиста области информационной безопасности. Проведение мониторинга и анализа трафика позволит своевременно обнаружить угрозы, принять необходимые меры. Более надежная защита от DDoS — атак достигается с помощью выделенного сервера. Безопасное дисковое пространство надежно хранит данные, которые находятся под контролем экспертов дата-центра. При этом предоставляется круглосуточный доступ к сети.
Существует система очистки трафика как качественная защита DDoS-атак, которая построена на выявлении поддельных пакетов и их блокировке. Легитимные пользователи при этом не ограничиваются в доступе к ресурсам. Система анализирует нормальный входящий и исходящий трафик, строит графики и запоминает адекватную работу. При DDoS-атаке сразу можно заметить аномальные отклонения в построенных кривых. При первых симптомах атаки рекомендуется обратиться к профессиональным сервисам, предоставляющим услугу защиты от таких атак [3].
Компьютерные вирусы, черви, троянские кони. Компьютерный вирус — вид вредоносного программного обеспечения, способный создавать копии самого себя и внедрятся в код других программ, с целью нарушения работы программно-аппаратных комплексов.
В связи с активным применением сетевых технологий для передачи данных вирусы все более тесно интегрируются с троянскими компонентами и сетевыми червями. В настоящее время компьютерный вирус использует для своего распространения либо электронную почту, либо уязвимости в ПО. Методов борьбы достаточно много, одним из них является все та же своевременная установка обновлений, установка антивирусного ПО, осуществление контроля задач и сервисов, запускаемых в системе, установить персональный брандмауэр [2].
Анализаторы протоколов и прослушивающие программы («снифферы»). В эту группу входят средства перехвата передаваемых по сети данных. Обычно данные передаются по сети в открытом виде, что позволяет злоумышленнику внутри локальной сети перехватить их. Некоторые протоколы работы с сетью (POP3, FTP) не используют шифрование паролей, что позволяет злоумышленнику перехватить их и использовать самому. При передаче данных по глобальным сетям эта проблема встает наиболее остро. По возможности следует ограничить доступ к сети неавторизированным пользователям и случайным людям [1].
Технические средства съема информации. Сюда можно отнести такие средства, как клавиатурные жучки, различные мини-камеры, звукозаписывающие устройства и т. д. Данная группа используется в повседневной жизни намного реже вышеперечисленных, так как, кроме наличия спецтехники, требует доступа к сети и ее составляющим.
Уволенные и недовольные сотрудники. Данная группа людей наиболее опасна, так как многие из работающих сотрудников могут иметь разрешенный доступ к конфиденциальной информации. Особенную группу составляют системные администраторы, зачастую недовольные своим материальным положением или несогласные с увольнением, они оставляют «черные ходы» для последующей возможности злонамеренного использования ресурсов, похищения конфиденциальной информации и т. д. Защита от них может осуществляться на физическом уровне и с помощью нормативно-правовых мер [4].
Промышленный шпионаж — форма недобросовестной конкуренции, при которой осуществляется незаконное получение, использование, разглашение информации, составляющей коммерческую, служебную или иную охраняемую законом тайну с целью получения преимуществ при осуществлении предпринимательской деятельности, а равно получения материальной выгоды. Защититься от него достаточно сложно. В основном защита осуществляется с помощью охранной системы.
Халатность — неисполнение или ненадлежащее исполнение должностным лицом своих обязанностей вследствие недобросовестного или небрежного отношения к работе.
В результате ошибок из-за халатности, злоумышленник может получить доступ в защищённую сеть. Борьба с халатностью ведётся на законодательном уровне. Существует множество нормативно-правовых актов, которые предусматривают меры наказания за подобное нарушение.
Низкая квалификация. Низкая грамотность сотрудников в работе локальных сетей может приводить к ряду ошибок. Такой сотрудник не может определить, какая информация является конфиденциальной, а какую можно разглашать. В крупных компаниях часто можно позвонить пользователю и, представившись администратором, узнать у него учетные данные для входа в сеть. Выход только один — обучение пользователей, создание соответствующих документов и повышение квалификации [4].
Вышеперечисленные угрозы составляют неполный перечень угроз безопасности локальных сетей, и могут дополняться. Однако знание основных угроз и методов борьбы с ними позволит обезопасить локальную вычислительную сеть от нежелательных воздействий, а также принять все необходимые меры по их устранению.
Литература:
1. В. Г. Олифер, Н. А. Олифер. Компьютерные сети. Принципы, технологии, протоколы. — СПб: Питер, 2000.
2. Касперский Е. Компьютерные вирусы, 2003. — Электронная энциклопедия. — Режим доступа к энциклопедии: www.viruslist.com/viruslistbooks.html.
3. Лужнов Е. DDoS атаки, методы противодействия// Лаборатория Касперского.
4. Информационно-психологическая безопасность: основные понятия / Г. М. Зараковский., Г. Л. Смолян // Психология и безопасность организаций: Сб. науч. тр. / Под ред. А. В. Брушлинского и В. Е. Лепского. — М., 1997.
moluch.ru
Поиск уязвимостей ИС: некоторые методы и продукты
Ежедневно сетевые администраторы утопают в потоке уведомлений о потенциальных или уже обнаруженных уязвимостях в программном обеспечении. Поиск критичных дыр, порядок установки заплаток и проверка их совместимости с функционирующим ПО — основное занятие администратора крупной корпоративной сети. Очевидным первым шагом в достижении должного уровня безопасности является выявление слабых мест в системах и приложениях.
Прежде всего определим ряд понятий, которые используются в области защиты информации. Здесь ключевыми являются:
уязвимость — обозначает подверженность системы компрометации, например несанкционированному доступу, раскрытию конфиденциальной информации и т. п.;
угроза — представляет собой действие или инструмент, которые могут воспользоваться уязвимостью для компрометации системы;
атака — определяет детали того, как может быть использована та или иная угроза, построенная на какой-либо уязвимости. Вполне реальна ситуация, когда известны уязвимости и разработаны соответствующие угрозы, однако нельзя представить себе, каким образом организовать подходящую атаку;
защита — действие, направленное на защиту системы от атак, которые угрожают уязвимым точкам.
Компьютерные системы являются несовершенными, они уязвимы для многих угроз, а ущерб от атак может оказаться значительным. Атаки бывают разнообразными: одни нарушают конфиденциальность или целостность данных, другие способны сделать систему недоступной для пользователей. Несмотря на снижение по сравнению с прошлым годом убытков от атак, величина их все еще остается значительной. Согласно данным Computer Security Institute, убытки от вирусов стоят на третьем месте с долей 13%, после кражи информации и атак, вызывающих отказ в обслуживании (DoS). Однако дать их точную оценку в сфере компьютерной безопасности невозможно, поскольку многие потери никогда не будут обнаружены, данные о других просто прячутся в дальний ящик стола и забываются или скрываются от руководства во избежание неприятностей.
Для управления рисками, присущими информационным системам, руководители и пользователи должны быть вооружены информацией об уязвимостях и угрозах, с ними связаных. Знание существующих угроз и анализ рисков позволяют ИТ-менеджеру принять наиболее эффективные меры по защите. В некоторых случаях дешевле смириться с ожидаемыми потерями. Например, когда уязвимость существует, но вероятность, что ею могут воспользоваться, отсутствует, то вы немногого достигнете, если будете защищаться от этой уязвимости.
Следующая задача, с которой сталкивается каждый сетевой администратор после обнаружения уязвимости, — это очередность установки заплаток, и она является сложнее предыдущей. Каждый раз существует риск несовместимости внесенного изменения с функционирующим ПО. Многообразие архитектур и рост корпоративных сетей повышают сложность этой задачи, требуя от компаний значительных средств и времени. Управление заплатками — часть большой главы «Управление конфигурациями» из библиотеки ITIL (IT Infrastructure Library) и, согласно исследованиям META Group, стоит на третьем месте в списке приоритетов ИТ-менеджеров (после мониторинга сети и распространения ПО на рабочие станции). Поиск уязвимостей — одна из задач аудита безопасности, куда также может входить тест на вторжение в систему. В свою очередь, и обнаруженные в результаты аудита уязвимости являются входными данными для оценки имеющихся рисков.
Обратимся к средствам, помогающим аналитику безопасности автоматизировать процесс поиска уязвимостей. К ним относятся сканеры уязвимостей, которые можно разделить на несколько типов (построители карты сети, пассивные и активные определители ОС и приложений, сетевые сканеры, специализированные сканеры приложений, Web-серверов и индивидуальных систем).
Часть отчета Nessus о найденных уязвимостях в Unix-системе |
Традиционно сканирование осуществлялось как активная операция: по команде пользователя программный продукт генерировал небольшой программный код и отправлял его по коммуникационным каналам к тестируемой системе. Поиск уязвимостей превращался в опасную процедуру, которая иногда приводила к краху системы. Стоимость активного сканирования может быть высока, если принять во внимание вынужденный простой систем, недовольство персонала и периодичность сканирования. Альтернативное пассивное сканирование базируется на предположении, что компьютерные системы разглашают немало интересной информации при обычном взаимодействии друг с другом.
Среди множества доступных как коммерческих, так и бесплатных средств мы выбрали несколько наиболее распространенных в Украине. Такие продукты появились довольно давно, но только несколько лет назад они превратились в мощные и удобные для пользователя пакеты. Среди прочих вещей сканеры обнаруживают ошибки в системном и прикладном ПО, вирусы, слабые места в политике контроля и доступа, плохо конфигурированные системы. Некоторые сканеры уязвимостей позволяют распространять заплатки и код для исправления обнаруженных ошибок. Существуют продукты, которые могут работать в распределенной среде, в том числе с использованием агентов для сбора более детализированной информации об индивидуальных системах. Одной из главных задач, с которой должны хорошо справляться сканеры безопасности, является построение качественных отчетов с различным уровнем детализации для представления различным группам пользователей.
Сканеры уязвимостей не являются идеальным средством, и им присущ ряд перечисленных ниже недостатков.
- Ложные срабатывания. Наиболее подходящее средство борьбы здесь — ручная проверка каждой найденной критической уязвимости путем инспекции индивидуальных систем, но она занимает длительное время. Использование нескольких анализаторов также уменьшит этот показатель. Вы получите разные результаты, если, например, попробуете сканировать сеть Windows с правами администратора или обычного пользователя.
- Пропуск уязвимостей. Лучший способ решить эту проблему — использовать последние версии программ с обновленными подключаемыми модулями и запустить два-три сканера. Ведь каждый из них может найти лишь то, что знает.
- Недостаточная интеллектуальность. Лучше всего полагаться на мнение аналитика безопасности для принятия окончательных решений, чем на кусок программного кода, который не может видеть и оценить глобально состояние защищенности вашей организации.
Главный вывод заключается в том, что сканирование — только необходимая, но недостаточная мера для повышения уровня защищенности сетей большинства компаний.
Активные сканеры
Использование функции аудита сканера Retina |
До нажатия кнопки Старт вам придется сделать несколько подготовительных шагов. В первую очередь необходимо ограничить число проверок самыми важными и имеющими отношение к вашей корпоративной сети. После нескольких итераций количество проверок уменьшится с тысяч до нескольких сотен. Опыт также вскоре научит вас, что некоторые проверки чаще дают ложное срабатывание в определенных ситуациях, чем другие. Здесь следует отметить один существенный момент — не стоит полагаться на результаты только автоматизированного сканирования как основы для отчета о результатах аудита. Обнаруженные уязвимости являются лишь исходными данными для проведения дальнейшего расследования путем дополнительного тестирования или непосредственного инспектирования индивидуальных систем. Здесь можно порекомендовать использование нескольких сканеров безопасности или других средств проверки, например бесплатной утилиты nmap для анализа открытых портов или MBSA и HFNETCHECK от Microsoft для среды Windows.
Мы начнем свой краткий обзор активных сканеров с самого популярного некоммерческого продукта — Nessus для ОС Unix— и NeWT (Nessus on Windows Technology) — его аналога для платформы Windows. Оба бесплатны, однако если требуется сканировать сеть размером больше, чем класс C, и при этом пользоваться технической поддержкой производителя, то лицензию NeWT придется оплатить. Nessus является воистину коллективным проектом — более 50 тыс. пользователей внесли в него те или иные модификации за всю историю его существования.
Nessus/NeWT имеют в своем арсенале такое количество опций для сканирования и конфигурации, что отпугивают многих. Оба продукта осуществляют почти 3 тыс. уникальных тестов, которые позволяют аналитику безопасности проверить самые разнообразные уязвимости, в частности backdoors, CGI-злоупотребления, DoS, RPC, SNMP, SMTP, получение доступа к удаленному компьютеру, в том числе и привилегированного, дыр в secure shell и Web-серверах. У обоих продуктов присутствует опция запрета выполнения опасных проверок, которые могут привести к сбоям тестируемых сервисов, зависанию и даже краху системы.
Сценарий проверки уязвимостей Netbios для LANguard |
Несмотря на аналогичные технологии сканирования, продукты все же несколько разнятся. Nessus основана на клиент-серверной архитектуре, и пользователям доступна административная консоль, которая позволяет запускать на выполнение задачи сканирования, сохраняя при этом базы данных на других машинах, а не на сервере. Графическая консоль пользователя может базироваться на Java, Win32 или X11. NeWT хранит результаты проверок на той машине, где была установлена. Для получения более точной и детальной информации о системах в Windows-домене мы рекомендуем создать доменную группу и пользователя с привилегированными правами доступа к удаленному реестру, что позволит определить версию пакета обновлений (Service Pack) на удаленных системах и уязвимости Internet Explorer.
Результаты сканирования могут быть представлены в различных форматах (в виде HTML-файла для NeWT) и классифицируются по степеням опасности обнаруженных уязвимостей: высокая, средняя, низкая и информационное сообщение. Каждая уязвимость сопровождается текстом, объясняющим суть проблемы и описывающим способ ее устранения. Это дополняется ссылками на список Common Vulnerabilities and Exposures (CVE), и Microsoft TechNet, предлагая администраторам доступ к дополнительной информации и заплаткам.
Хотя отчет NeWT является полным, нет дополнительной гибкости при его генерации для группировки уязвимостей по различным критериям и для представления для различных групп (технический персонал, среднее звено управления, высшее звено управления). NeWT также имеет полезную функцию — сравнение двух отчетов за определенные периоды. Пакет легко устанавливается, обновляется и улучшается с каждой новой версией. К недостаткам можно отнести повышенное число ложных срабатываний.
Одним из главных конкурентов рассмотренных продуктов является Retina Network Security Scanner разработки компании eEye Digital Security. Это полнофункциональный сканер безопасности с набором разнообразных тестов для платформ Unix и Windows, он также включает возможности автоматической коррекции многих обнаруженных проблем и создания собственных задач аудита.
С помощью функции автоматической коррекции администраторы с соответствующими правами могут легко исправлять реестр и решать проблемы доступа на удаленных узлах в сети. Также впечатляет функция аудита, позволяющая разработать свои запросы об обнаруженных ранее уязвимостях, которые вы вынуждены временно оставить в вашей сети. Как и при работе с Nessus, есть возможность выбрать один из имеющихся в наборе аудитов или создавать свои для осуществления специфических проверок. Сканирование проходит очень быстро и достаточно аккуратно, однако результаты иногда противоречат друг другу. Например, порты, фигурирующие как открытые в одном сеансе сканирования, в другом могут быть определены как закрытые (при отсутствии каких-либо изменений), бывает, что устраненные проблемы возвращаются в отчетах как существующие. Справедливости ради следует отметить, что при этом ведется детальный журнал, помогающий определить, были ли установлены те или иные заплатки. Некоторые уязвимости могут быть проверены только в том случае, если попробовать реализовать угрозу посредством специальных программ (exploits), что несет в себе большой риск. Поэтому лучше использовать дополнительные средства для проверок, например утилиту nmap, которую Retina применяет для сканирования портов в своем движке. Замечено, что сканер выдает ряд ложных срабатываний, если пользователь имеет права доступа к определенной системе или является администратором домена в сетях Windows. Однако без аутентификации продукт предоставляет надежные результаты, что, возможно, связано с проверкой наличия определенных файлов в системе, а не проверкой работы соответствующих сервисов.
Retina представляет результаты сканирования в удобной для восприятия форме, по которой легко передвигаться, и предлагает ссылки на BugTrack, CVE и Microsoft Security bulletin для каждой из уязвимостей. Отчет также можно перекроить на свой лад — довольно редкая черта среди сканеров. Retina устанавливается только на платформе Windows.
C помощью GFI LANguard Network Security Scanner пользователи в состоянии решить задачу сканирования начального уровня. Этому продукту недостает ряда расширенных возможностей, как у Retina, и у него нет такого количества тестов и такой глубины проверки некоторых критичных мест и сервисов, как у Nessus/NeWT. Ложным срабатыванием болеют все сканеры, и GFI не исключение (например, по его мнению, проблема SNMP public community присуща любому сетевому устройству).
Подобно Retina, GFI группирует результаты по категориям и уязвимостям с рекомендацией по их устранению и ссылками на BugTrack, CVE и Microsoft Security bulletin. Генератор отчетов также позволяет создать и сформировать персональные отчеты и сравнить отчеты за два периода для определения изменений в найденных уязвимостях.
Небольшие компании могут воспользоваться возможностью распространения заплаток на удаленные компьютеры, однако при этом нужно выполнить предварительный анализ каждой заплатки для предотвращения возможных конфликтов с существующими приложениями и сервисами. Один из альтернативных вариантов — использование сервиса Windows Update. Средние и большие компании наверняка предпочтут специализированный продукт по распространению заплаток и программ, который позволит осуществлять полноценный контроль за инсталляцией, возврат к предыдущей версии, проводить ревизию и пр. Этот сканер дешевле Retina, и ему, возможно, отдадут предпочтение те, кто хочет приобрести коммерческую и недорогую версию сканера. В течение 30 дней можно попробовать полнофункциональную копию программы, загрузив ее с сайта компании.
Такие сканеры, как SARA, SAINT, Netrecon, NetIQ Security Analyzer, xSpider, также заслуживают внимания, однако остались за пределами нашего обзора. Автору представляется наиболее перспективным применение комбинации Nessus/NeWT и Retina, что является выбором многих пользователей при необходимости сочетать эффективность с производительностью.
Пассивные сканеры
Современные сети — это динамическая, развивающаяся инфраструктура, где постоянно появляются новые устройства и сервисы, зачастую со своими уязвимостями и ошибочными конфигурациями. Все рассмотренные ранее активные сканеры дают возможность получить только слепок с текущего состояния защищенности и не принимают во внимание меняющийся характер сетей. Эту проблему решают пассивные сканеры безопасности, позволяющие обнаружить уязвимости, не посылая в сеть ни единого пакета. Такие продукты пассивно прослушивают трафик в важных узлах сети, проводя сигнатурный и протокольный анализ для обновления карты сети. Они пытаются определить ОС, версию приложений, известные уязвимости и протоколы, работающие на нестандартных портах, сравнивая IP- и UDP-заголовки с существующей библиотекой ОС и проводя анализ баннеров доступных сервисов. Вы можете сгенерировать отчеты на лету или за необходимый период времени, получая информацию об уязвимостях клиентских систем и приложений в сети. Модификация и написание своих индивидуальных вариантов сигнатур также входят в стандартный набор их возможностей.
Пассивный сканер уязвимостей NeVO в действии |
Взаимодействие IDS-сенсоров и пассивных сканеров |
Пассивные сканеры устанавливаются точно так же, как системы IDS или анализаторы пакетов (sniffers), и постоянно осуществляют мониторинг трафика. Большие предприятия не в состоянии сканировать так часто, как им это нужно, и пассивные сканеры дополняют активные в решении данной задачи.
Отличие пассивных сканеров от систем обнаружения вторжений в том, что они прослушивают трафик для выявления уязвимостей, которые можно определить путем исследования информации о пакете и сессии, а не атак. Имеется возможность указать, пакеты от каких сетей необходимо анализировать, тем самым сохраняются циклы процессора. Также легко задать пороговые значения, например такие, как время ожидания после окончания проверки индивидуальной системы или количество определенных событий, которые должны случиться до записи информации о них в базу.
Пассивные сканеры не могут обнаружить всего того, что способны увидеть активные сканеры, и поэтому работают в комплексе с ними, сетевой IDS и десятками администраторов. Активные сканеры пропускают машины, выключенные в момент сканирования или не принадлежащие вашей компании. Если машина имеет уязвимость, но соответствующая служба не используется, администратор может составить график внесения заплаток таким образом, чтобы «вылечить» эту машину в последнюю очередь или вообще временно остановить опасный сервис.
Другая важная задача, стоящая перед пассивными сканерами, — корреляция событий от IDS. Последние известны своими проблемами не меньше, чем своими успехами, а именно — ложными срабатываниями, которые в состоянии свести многих аналитиков безопасности с ума и вызывают желание отключить IDS вообще. Реакция производителей не заставила себя ждать. Новая технология сопоставляет приходящую информацию об атаках со знаниями о сетевой технологии, операционных системах и приложениях. Три компании —Internet Security Systems, Cisco и Tenable Network Security — вышли на рынок с продуктами, спроектированными для превращения IDS в более надежную и интеллектуальную технологию, минимизирующую число сигнатур и тревожных сообщений. Например, нет смысла генерировать тревожное сообщение об атаке на систему вируса/червя, против которого она защищена соответствующей заплаткой. Таким образом, фильтрация ненужных сообщений уменьшает время, необходимое на их проверку, с часов до минут ежедневно. Однако, как и всякая фильтрующая система, данная технология имеет свои собственные ложные срабатывания, иногда пропуская важную информацию. Вкратце опишем каждое из решений.
Tenable Lightning Console позволяет осуществлять корреляцию уязвимостей, обнаруженных активными (NeWT/Nessus) и пассивными (NeVO) сканерами, с событиями, которые генерируют системы IDS (Snort, Dragon, ISS, Intrushield и др.). Lightning Console классифицирует каждое событие как опасное или неопасное, что может привести к пропуску критической проблемы в том случае, если сканер безопасности отстает от IDS в сборе актуальной информации. Эта проблема значительно уменьшается при комбинировании активного и пассивного сканирований.
ISS Fusion — продукт, подавляющий или пропускающий тревожные сообщения от сенсоров IDS Proventia Appliance или RealSecure, основываясь на информации, собранной ISS Internet Scanner. Такое решение объединяет управление посредством консоли ISS Site Protector, которая контролирует сенсоры NIDS и HIDS и Internet Scanner. ISS Fusion, пользуясь информацией, полученной от Internet Scanner, пытается оценить возможность успешной атаки с высокой степенью вероятности. Программа классифицирует тревожные сообщения по четырем уровням — «Вероятность успеха», «Ве-роятность неудачи», «Атака провалилась» и «Не знаю». SiteProtector, располагая большим числом мощных фильтров, предлагает аналитику почти неограниченное число опций для работы с событиями.
Cisco Threat Response — самостоятельный продукт в линейке компании. Он может быть интегрирован с управляющей консолью IDS-сенсора и с другими продуктами класса VPN и Security Management Solution. Кроме сенсоров Cisco, также поддерживается ISS Real Secure. Главный недостаток CTR — совмещение поиска уязвимостей и управления в одной компьютерной системе, осложняющее сбор информации и сканирование в больших сетях, особенно разделенных на подсети с помощью брандмауэров и маршрутизаторов.
Поведение CTR исключительно реактивно, что является уникальным среди упомянутых продуктов. Другими словами, программа не пытается определить, уязвима ли жертва до тех пор, пока не получит тревожное сообщение. CTR предполагает весьма старомодный подход к подавлению шумов, дающий в результате большое количество критических событий, однако каждое событие дополняется детальной информацией для дальнейшего исследования.
Все три продукта обеспечивают различные подходы к зарождающейся технологии target-based IDS. Fusion всецело зависит от периодического активного сканирования с использованием Internet Scanner, в отличие от CTR, сканирующего жертву после получения тревожного сообщения об атаке, и от Lightning Console, которая использует как пассивное, так и активное сканирование, работая близко к режиму реального времени и достигая наиболее оптимального соотношения скорость реакции/точность.
Скорее всего, в будущем нас ждут продукты, объединяющие технологии пассивного сканирования с технологией IDS/IPS в одной коробке и обеспечивающие более дешевое решение.
Выбор должен быть взвешенным
Приведем теперь некоторые общие рекомендации по выбору продуктов.
Если вы хотите проанализировать сеть из 10-20 компьютеров, то, скорее всего, вы сильно переплатите, приобретя какой-нибудь коммерческий сканер с широким набором возможностей. В случае проверки сети, состоящей из более чем 100 компьютеров, использование активных сканеров уязвимостей приводит к потоку информации, в которой легко запутаться и своевременно не принять необходимых мер.
Для сетей с установленными системами обнаружения вторжений (IDS) необходимо применять комбинацию активных и пассивных сканеров с последующей корреляцией событий от всех компонентов защиты с целью уменьшения тревожных сообщений.
Некоторые компании предпочитают не тратить время на активное сканирование вообще, а защитить индивидуальные системы брандмауэрами и/или системами обнаружения вторжений. С другой стороны, улучшенный процесс управления конфигурациями/уязвимостями позволяет обходиться без регулярного сканирования и даже без систем защиты от вторжений.
Небольшим компаниям может быть полезна автоматическая инсталляция заплаток, встроенная в сканеры, однако крупные фирмы предпочтут специализированные системы управления, такие как IBM Tivoli, Criston Precision, CA Unicenter.
Компании, имеющие в штате профессионалов по безопасности, обойдутся одним из бесплатных пакетов с возможностью добавлять свои проверки и вносить модификации.
В то же время использование мощных пакетов неспециалистами может привести к негативным результатам без повышения уровня безопасности. Для таких компаний периодический аудит, проводимый внешней фирмой, или даже аутсорсинг их системы безопасности принесет большую отдачу.
Все это только примеры, а не настоятельные рекомендации. Попытайтесь выработать собственные критерии, наиболее подходящие для вашей среды. Многие продукты имеют определенные особенности, которые могут быть важны для вас или, наоборот, не нужны. Сделайте свой выбор исходя из производительности, функциональности и стоимости каждого продукта.
itc.ua
Повышение уровня безопасности локальной вычислительной сети
Одно из основных назначений ЛВС – это объединение компьютеров в пределах одного или несколько близко стоящих зданий для предоставления пользователям быстрого и удобного доступа к локальным информационным ресурсам сети и услугам локальных серверов.
Локальная сеть состоит из серверов и рабочих станций. Сервером называют компьютер, подключенный к сети и обеспечивающий ее пользователей определенными услугами, а рабочей станцией – собственно компьютер, с помощью которого пользователь подключается к ресурсам сети.
Локальная вычислительная сеть позволяет обеспечить доступ к системам электронного документооборота, общий доступ и совместное использование файлов и сетевых папок, доступ к офисной технике, например, принтеру или сканеру. Локальные сети являются сетями закрытого типа, доступ к ним разрешен только ограниченному кругу пользователей. Обычно они включают в себя сетевое оборудование; каналы передачи данных, такие как кабели, разъемы, серверы и пользовательские компьютеры; принтеры, сканеры; операционную систему, программное обеспечение; средства защиты, такие как межсетевые экраны, системы предотвращения и обнаружения вторжений и т. д.
Локальная вычислительная сеть позволяет подключать дополнительное оборудование без изменения программных и технических параметров всей сети, а также разграничивать уровень доступа к сетевым ресурсам отдельных устройств. Если в одной из рабочих станций возникает неисправность, это никак не влияет на работу остальных устройств и доступ к нужной информации, хранящейся в сети.
Выделяют три основных типа угроз, которым подвержены локальные вычислительные сети: раскрытие информации (доступ к конфиденциальным данным), нарушение целостности (изменение данных или их удаление) и отказ в обслуживании.
Реализуются эти угрозы посредством воздействий на локальные вычислительные сети — атак.
Цель большинства атак – получить доступ к конфиденциальным данным, в результате чего данные либо просто перехватываются, либо еще и искажаются.
Кроме того, существуют атаки, нацеленные не на получение доступа к сети или получение из нее какой-либо информации, а на лишение пользователей возможности пользоваться ресурсами локальной вычислительной сети.
Реализуются с помощью DDoS-атак, которые направлены на уничтожение либо истощение ресурсов. В первом случае для DDoS-атаки используется уязвимость программного обеспечения, установленного на атакуемом компьютере. Уязвимость позволяет вызвать определенную критическую ошибку, которая приведет к нарушению работоспособности системы. Во втором случае атака осуществляется путем одновременной отсылки большого количества пакетов информации на атакуемый компьютер, что вызывает перегрузку сети. Результатом DDoS-атак становится частичная либо полная невозможность пользоваться ресурсами сети, к которым относятся память, процессорное время, дисковое пространство и т. д.
Угроза состоит в последовательности действий, которые приводят к попытке чтения файлов или выполнения команд в обход установленной политики безопасности. Несанкционированный доступ может быть вызван неправильной конфигурацией операционной системы. Наиболее распространенными способами получения несанкционированного доступа являются:
Переполнение буфера
Переполнение буфера происходит в том случае, когда программа или процесс пытается записать в буфер больше данных, чем он может вместить. Ошибка заключается в том, что данные копируются из одного участка памяти в другой без предварительной проверки того, достаточно ли для них места там, куда их копируют. Злоумышленники пользуются этим, чтобы выполнить нужный им код. Так они могут, например, изменять данные, расположенные следом за буфером, либо вызывать аварийное завершение или зависание программы, ведущее к отказу обслуживания.
Эксплуатация уязвимостей протокола
Эксплуатация уязвимостей протокола для перехвата соединения или ложного направления легитимных сетевых соединений.
Повышение привилегий доступа
Злоумышленник, являясь непривилегированным пользователем, находит способ получить привилегированный доступ, что позволяет ему «взломать» или даже уничтожить систему. Несанкционированный доступ злоумышленника на компьютер опасен не только возможностью прочтения и/или модификации обрабатываемых электронных документов, но и возможностью внедрения вредоносных программ.
Как повысить уровень безопасности локальной вычислительной сети?
Для повышения уровня безопасности локальной вычислительной сети необходимо обеспечить соответствующий уровень безопасности всех ее компонентов и их взаимодействия внутри сети, а также подключения к сети Интернет.
Для безопасного подключения к сети Интернет необходимо обязательно использовать межсетевой экран, или брандмауэр. Эта программа позволяет осуществлять фильтрацию входящего и исходящего сетевого трафика на компьютере пользователя. Операционные системы семейства Windows, начиная с Windows XP, содержат встроенный межсетевой экран, включенный по умолчанию. Отключать его настоятельно не рекомендуется.
В случае, когда внутри локальной вычислительной сети расположены общедоступные серверы, требующие доступ в Интернет, необходимо выделить их в демилитаризованную зону.
Серверы, отвечающие на запросы из внешней сети и находящиеся в демилитаризованной зоне, ограничены в доступе к внутренним серверам. Это нужно для того, чтобы даже в случае взлома этих серверов внутренние серверы не пострадали. Безопасность демилитаризованной зоны обеспечивается межсетевым экраном.
Другой важной составляющей безопасной работы в Интернете является система предотвращения вторжений, предназначенная для выявления, предотвращения или блокирования фактов неавторизованного доступа в компьютерную систему либо несанкционированного управления ими.
Безопасность сетевого оборудования
Повысить уровень безопасности сетевого оборудования можно посредством выполнения следующих действий:
Фильтрация по MAC-адресам
Ограничение числа компьютеров с доступом к ресурсам локальной вычислительной сети, если не планируется подключать к ней неизвестные устройства. Для этого нужно использовать фильтрацию по MAC-адресам. MAC-адрес – это уникальный серийный номер, присваиваемый каждому сетевому устройству. Фильтрация по MAC-адресу позволяет подключаться к сети только заданным устройствам.
Использование механизма доверенных/недоверенных интерфейсов и поддержки единой базы MAC-IP
Использование механизма доверенных/недоверенных интерфейсов и поддержки единой базы MAC-IP для защиты от появления в сети несанкционированных DHCP-серверов.
Динамический анализ пакетов в сети и проверка соответствия единой базы MAC-IP
Динамический анализ пакетов в сети и проверка соответствия единой базы MAC-IP для защиты от несанкционированных ARP-пакетов и подмены IP. При обнаружении коммутатором несанкционированного ARP-пакета им автоматически создается фильтр MAC-адресов, блокирующий трафик от MAC-адреса и сети VLAN, от которых поступил несанкционированный ARP-пакет.
Использовать защищенные протоколы
Использовать защищенные протоколы. Для передачи данных по сети рекомендуется использовать безопасные протоколы SSH и HTTPS и избегать использования Telnet и HTTP.
Использование сложных паролей
Использование сложных паролей. Для создания сложного пароля необходимо использовать сочетание не менее восьми символов. Желательно, чтобы пароль включал в себя символы верхнего и нижнего регистров, цифры и специальные символы. Пароль не должен повторять прошлые пароли, а также содержать даты, имена, номера телефонов и подобную информацию, которая может быть легко угадана.
Защита от неавторизованного доступа к устройству
Защита от неавторизованного доступа к устройству. Установка таймаута для управляющих подключений на устройстве позволяет предотвратить неавторизованный доступ к устройству путем использования незавершенных сессий управления. Также для защиты от попыток неавторизованного доступа рекомендуется настроить списки контроля доступа для удаленного администрирования.
Настройка системы аутентификации, авторизации и учета
Настройка системы аутентификации, авторизации и учета, которая позволит управлять и отслеживать доступ к устройствам.
Отключение неиспользуемых служб
Отключение неиспользуемых служб для сокращения числа каналов, через которые в систему могут проникать злоумышленники.
Подключение сетевых устройств к источнику бесперебойного питания.Безопасность оконечного оборудования
Оконечное оборудование включает в себя серверы, настольные компьютеры, ноутбуки, принтеры, IP-телефоны. Это то оборудование, которым пользуются непосредственно рядовые пользователи. Некоторые оконечные устройства, например ноутбуки, могут находиться за пределами контролируемой зоны организации. При обеспечении их безопасности об этом нельзя забывать, т.к. они могут быть потеряны или украдены.
Основными угрозами безопасности оконечного оборудования являются вредоносные программы, в том числе вирусы, черви, троянцы, шпионские программы, а также спам и опасность стать частью ботнета.
Повысить безопасность оконечных устройств поможет выполнение следующих рекомендаций:
Регулярно и своевременно выполняйте обновления программного обеспечения
Регулярно и своевременно выполняйте обновления программного обеспечения, в том числе операционной системы и всех используемых приложений. Своевременная установка таких обновлений является необходимым условием безопасности устройства. Удобнее всего установить режим автоматического обновления, который позволит проводить все работы в фоновом режиме. Настоятельно рекомендуется скачивать обновления только с сайтов производителей программ.
Используйте и регулярно обновляйте антивирусные программы
Используйте и регулярно обновляйте антивирусные программы для защиты системы от возможных онлайн-угроз. Антивирус является ключевым компонентом защиты от вредоносных программ. Его обязательно нужно установить и регулярно обновлять, чтобы помогать ему бороться с новыми вредоносными программами, число которых увеличивается с каждым днем. Современные антивирусные программы, как правило, производят обновление антивирусных баз автоматически. Они выполняют сканирование важнейших системных областей и контролируют все возможные пути вторжения вирусов, такие как вложения электронной почты и потенциально опасные веб-сайты, в фоновом режиме, не мешая работе пользователя. Антивирус должен быть всегда включен: отключать его настоятельно не рекомендуется. Старайтесь также проверять на наличие вирусов все съемные носители.
Пользуйтесь рекомендациями производителя
Пользуйтесь рекомендациями производителя при настройке операционной системы и программного обеспечения, установленного на оконечном оборудовании.
Настройте системы аутентификации, авторизации и учета
Настройте системы аутентификации, авторизации и учета, которые позволят управлять и отслеживать доступ к устройствам.
Обеспечьте безопасную передачу данных с помощью технологии виртуальных частных сетей
Обеспечьте безопасную передачу данных с помощью технологии виртуальных частных сетей (VPN – Virtual Private Network). Эта технология позволяет с помощью криптографических методов защитить информацию, передаваемую через Интернет, и не допустить несанкционированный доступ в локальную сеть. На все компьютеры локальной вычислительной сети, имеющие выход в Интернет, ставят VPN-агент – средство, которое автоматически зашифровывает все данные, передаваемые через них в Интернет, а также контролирует их целостность.
Отключайте неиспользуемые сервисы
Отключайте неиспользуемые сервисы, чтобы сократить число каналов, через которые в систему могут проникать злоумышленники.
Используйте средства шифрования
Шифрование данных – это дополнительный способ защитить важную информацию от посторонних пользователей. Специальные криптографические программы кодируют данные, чтобы прочитать их мог только тот пользователь, который обладает ключом для расшифровки. Во многих операционных системах есть встроенные средства шифрования. Например, в Windows 7 для защиты всех файлов, хранящихся на диске операционной системы и на внутренних жестких дисках, используется шифрование дисков BitLocker, а для защиты файлов, хранящихся на внешних жестких дисках, USB-устройствах используется BitLocker To Go.
Создавайте резервные копии критичной информации
Старайтесь регулярно делать копии важных документов, фотографий и другой информации на съемные носители или удаленный сервер, например, Яндекс.Диск, Google.Диск.
Подключайте оконечные устройства к источнику бесперебойного питания
Подключайте оконечные устройства к источнику бесперебойного питания для защиты от внезапных отключений электроэнергии.
Используйте сложные пароли и регулярно меняйте их
Более подробная информация — в статье «Рекомендации по обеспечению базового уровня защиты персонального компьютера».
Для контроля состояния защищенности, как всей сети, так и отдельных ее компонентов рекомендуется использовать системы контроля защищенности –сетевые сканеры безопасности.
Сканер безопасности – это программно-аппаратное устройство для удаленной или локальной диагностики различных элементов сети на предмет выявления в них различных уязвимостей.
Сканеры сетевой безопасности – это рабочий инструмент администратора информационной безопасности либо аудитора автоматизированной системы. Сканеры исследуют сеть и ищут в ней уязвимости, анализируют полученные результаты и на их основе создают различного рода отчеты. Они могут обнаруживать только известные уязвимости, описание которых есть в их базе данных. Чаще всего сканеры безопасности ищут уязвимости в веб-приложениях, СУБД, операционной системе и сетевых приложениях.
Сетевые сканеры безопасности могут предусматривать возможности проведения тестирования на проникновение (Pentest), системных проверок (Audit) и контроля соответствия стандартам (Compliance).
Режим тестирования на проникновения позволяет получить оценку состояния защищенности сети со стороны нарушителя. В режиме тестирования могут выявляться следующие уязвимости:
- бэкдоры (backdoor) – программы скрытого удаленного администрирования, с помощью которых злоумышленники получают несанкционированный доступ к устройству;
- слабые пароли;
- восприимчивость к проникновению из незащищенных систем;
- неправильная настройка межсетевых экранов, веб-серверов и баз данных.
Аудит позволяет выявить уязвимости установленного программного обеспечения и оценить уровень безопасности сети «изнутри».
Контроль соответствия стандартам позволяет осуществлять проверку системы по контрольным спискам безопасности, а также на соответствие требованиям различных стандартов, например, стандарту безопасности данных о держателях платежных карт PCI DCC.
safe-surf.ru
Методы поиска уязвимостей веб-приложений
Введение
Не так давно информация стала одним из наиболее важных стратегических, управленческих, а также экономических ресурсов. На сегодняшний день наличие веб-сайта у коммерческих предприятий, государственных структур и других каких-либо организаций является необходимостью для успешного функционирования. Веб-приложение – одно из лучших инструментов в маркетинге, оно позволяет распространить информацию среди определенной аудитории, осуществлять онлайн-услуги, использоваться как место коммуникации и так далее.
Объемы информации, с которыми работают web-приложения, весьма велики. На веб-сервере могут храниться персональные данные пользователей (клиентов, сотрудников) и информация, в том или ином виде составляющая коммерческую или профессиональную тайну (например, финансовая информация или служебная переписка). Компрометация сайта влечет за собой в первую очередь финансовые убытки, снижение доверия клиентов, а также потерю репутации. В связи с этим возникает необходимость защищать, обеспечивать безопасность веб-сайта.
По данным исследования компании PositiveTechnologies за 2014 год:
- Все исследованные веб-приложения оказались уязвимыми с той или иной степенью риска;
- 68% рассмотренных веб-приложений содержат уязвимости высокой степени риска (данный показатель на 6% выше показателя на 2013 год);
- На каждое приложение, разработанное на PHP, в среднем приходится 11 критических уязвимостей и 31 уязвимость средней степени риска [2].
Из приведенной статистики можно сделать вывод, что разработчики и администраторы веб-приложений в большинстве не следуют требованиям безопасности, задаваясь иными целями, например, расширять функциональность. А чем функциональнее приложение, тем сложнее написанный разработчиками код. В итоге большое количество систем подвержено множеству уязвимостей.
Метод тестирования на проникновение
На сегодняшний день такой метод поиска уязвимостей, как тестирование на проникновение (в англоязычной литературе – penetration testing), является одним из самых эффективных. Он позволяет узнать возможные пути атак и избежать компрометации в веб-приложениях. Суть метода заключается в том, чтобы частично смоделировать приемы и инструменты, применяемые настоящими злоумышленниками, для проникновения на защищаемый информационный ресурс. Анализ проводится так называемым «этичным хакером», который выступает с позиции потенциального злоумышленника. Условия тестирования подразумевают, что «злоумышленник» имеет те же возможности, что и обычный пользователь, то есть исходный код веб-приложения ему неизвестен, и доступ к серверу, на котором располагается это веб-приложение, закрыт. Тест позволяет получить объективную оценку уровня защищенности веб-приложения и рекомендации по устранению выявленных угроз информационной безопасности.
Задачами тестирования являются определение и анализ структуры веб-приложения, выявление всех возможных уязвимостей защищаемого информационного ресурса и недостатков системы разграничения доступа.
Тестирование проводится с помощью различных методик, которые зависят от целей, преследуемых заинтересованной в безопасности своего ресурса стороны. Такими методиками являются «черный ящик» (в англоязычной литературе – BlackBox), «белый ящик» (WhiteBox) и «серый ящик» (GreyBox).
Независимо от того какая из вышеперечисленных методик была выбрана, тестирование выполняется в несколько этапов: сбор информации, анализ собранной информации и проведение атаки. Сбор информации нередко разделяют на активный и пассивный. Активный подразумевает формирование пользовательских запросов («корректных» и «некорректных») к веб-приложению и их обработку. Пассивный метод сбора информации заключается в получении общедоступной информации о веб-приложении с помощью различных технологий и средств, таких как IP-адреса, файлы cookie, интернет-теги или данные о навигации. Главным отличием этих типов сбора информации друг от друга является то, что пассивный метод сбора информации невозможно обнаружить в то время, как активный сбор информации может быть зафиксирован в журналах и системах обнаружения вторжений и проанализирован администраторами веб-приложения.
Необходимо рассмотреть подробнее методику «черного ящика», потому что именно она удовлетворяет заданным условиям, что «злоумышленник» располагает только общедоступной информацией, и является наиболее приближенной к реальной ситуации.
«Черный ящик», или BlackBox, — метод тестирования веб-приложения, структура и механизм работы которого неизвестны, сложны или неважны в рамках поставленной задачи. В данном методе этичный хакер исследует веб-приложение и изучает его поведение по схеме:
Входные данные àНеизвестное веб-приложение àВыходные данные.
Атакующий «прощупывает» поведение и состояние системы, управляя входными данными и анализируя выходные. Таким образом, выявляет аномальное поведение и исследует его. Управление входными данными может осуществляться с помощью специальных символов, запросов с чрезмерными параметрами и др. Результатом неожиданного поведения веб-приложения может быть сообщение об ошибках сценария, иногда даже с отрывками кода, непрогруженные страницы или ошибки сервера.
В отличие от «черного ящика», где «злоумышленнику» известна только общедоступная информация, существует еще противоположный ему метод «белого ящика», или WhiteBox, где испытателю доступна вся информация, касающаяся разработки веб-приложения. Такая информация включает в себя карту сети, структуру и исходный код, предоставляется административный доступ к серверам и многое другое. Данный метод позволяет более детально исследовать природу возможных уязвимостей, однако он имеет и недостаток: моделируемая ситуация становится менее близкой к реальности.
Самым популярным методом является «серый ящик», или GreyBox. Суть его заключается в том, что он является результатом объединения двух вышеописанных методов, то есть «злоумышленнику» предоставляется частичная информация о веб-приложении, чтобы сократить время на сбор информации и посвятить его поиску возможных уязвимостей. Данный метод тестирования достаточно близок к реальной ситуации действий злоумышленника.
Примером возможной угрозой, которую можно выявить с помощью тестирования на проникновение является SQL-инъекция (в англоязычной литературе – SQL-injection). Идея уязвимости состоит в том, чтобы внедрить SQL-код в запрос к базе данных веб-приложения. Атака становится возможной, когда входные данные обрабатываются некорректно, и атакующий может получить доступ к закрытой информации. Зачастую владельцы веб-приложений даже не задумываются о том, что существуют потенциально опасные символы, при введении которых в SQL-запрос может возникнуть угроза утечки информации. Важно понимать, что такие уязвимости существуют и необходимо принимать меры для их предотвращения.
Поиск уязвимостей веб-приложений с помощью поисковых систем
Функциональные возможности поисковых систем постоянно расширяются и улучшаются благодаря высоким темпам развития и внедрения информационных технологий. На сегодняшний день поисковые веб-сервисы позволяют находить не только общедоступную информацию, но и страницы и файлы, предназначенные для приватного доступа. Краулеры (поисковые роботы) индексируют не только веб-страницы, но и весь доступный контент в сети Интернет. Таким образом, построив правильный поисковый запрос, злоумышленник (или случайный пользователь) может найти закрытую информацию веб-сервера.
Часто разработчики и администраторы полагают, что раз ссылка на страницу с приватной информацией не фигурирует в содержимом сервера, то она недоступна («безопасность через сокрытие»). Поэтому в этом случае они пренебрегают реализацией аутентификации, тем самым давая возможность злоумышленнику получить контроль над сервером.
1. Поиск файлов
С помощью операторов filetype и ext можно ограничить поиск по файлам определенного типа. В настоящий момент видимой разницы между этими операторами нет, и практически всегда результаты поиска выходят одинаковые. Пример: Сотрудники filetype:xls.
На рис.1 представлен результат подобного запроса по файлам формата XLS. В первых же ссылках представлены документы, содержащие персональные данные о сотрудниках организаций: ФИО, образование, домашний адрес, дата рождения, домашний и рабочий телефоны.
По умолчанию Google ищет ключевые слова по всем файлам на проиндексированных страницах. Существует возможность ограничить область поиска посредством указания конкретного сайта (домена верхнего уровня) или места расположения искомой последовательности слов в самих файлах.
Операторы:
- site — поиск на заданном web-сайте;
- allinurl – поиск заданных ключевых слов в теле самих ссылок;
- allintitle — поиск заданных ключевых слов в заголовках страниц;
- и другие.
2. Поиск ресурсов с предсказуемым расположением (Predictable Resource Location Vulnerability) и недостаточной аутентификацией (Insufficient Authentication)
Часто из-за предсказуемого расположения ресурсов на веб-сервере злоумышленник путем подбора может получить доступ к закрытой информации и скрытым функциональным возможностям. Таким образом, атакующий может завладеть информацией из баз данных, сведений о паролях, путей к директориям. Даже если эти «скрытые» файлы не содержат конфиденциальной информации, они могут содержать уязвимости, отсутствующие на основном веб-сайте, тем самым под угрозу ставится его функционирование.
В адресной строке поисковой системы атакующий может запросить любой файл или каталог на сервере.
Наиболее популярные названия служебных файлов и директорий: /admin/, /backup/, /logs/, /test/, /test.asp, /test.txt, /test.jsp, /test.log, /Copy%20of%test.asp, /Old%20test.asp, /vulnerable_file.cgi [3].
В случае неудачи (наличии аутентификации или ошибки в предсказании) наличие ресурса или его отсутствие определяется по коду ошибки:
- 404 (NotFound) – сервер не может найти данные согласно запросу;
- 403 (Forbidden) – несоответствие с правами доступа к файлам и каталогам сайта.
Список файлов и папок на любом веб-сайте начинается со стандартной надписи indexof. Для служебных целей (на «скрытых страницах») она должна встречаться в заголовке, поэтому вполне реально получить доступ к странице, ограничивая ее поиск ранее рассмотренным оператором intitle и задав директории /admin/, /personal/, /etc/ или /secret/ (см. рис.2).
Добросовестные разработчики и администраторы создают процедуру дополнительной аутентификации при входе на подобные служебные страницы в добавление к общей на основном веб-приложении.
Также для защиты от уязвимостей, связанных с индексацией «скрытых» страниц администраторы размещают файл robots.txt в корневой директории сайта. Robots.txt – текстовой файл, содержащий инструкции для краулеров, указывающие какие страницы и файлы запрещено индексировать.
Рисунок 2. Страница, выданная Google по запросу indexofinurl:/admin/ intitle
Кроме стандартных поисковых систем, предназначенных для повседневного пользования, существуют специфические поисковые сервисы. Поисковая система Shodan осуществляет поиск не веб-страниц и файлов, а различных устройств: веб-камер, автомобилей, систем кондиционирования и освещения в помещениях и тому подобное. Поисковик ежеминутно работает с теневыми каналами Интернет, выявляя и собирая информацию о 500 млн. подключенных к сети устройствах в месяц [4].
Джон Мазерли, уроженец Швейцарии, разработал Shodan в 2009 году. Изначально, программист рассчитывал на использование сервиса в сетевом и ИТ бизнесе (Microsoft, Ciscoи другие) для отслеживания устройств, где используется программное обеспечение и оборудование компаний. Но поисковик распространился в качестве инструмента для специалистов по безопасности для поиска программ, устройств и уязвимостей в различных системах защиты.
Принцип функционирования Shodan заключается в каталогизации автоматических ответов любого подключённого к сети устройства. Эти отклики содержат множество информации о таком устройстве, включая его функции и настройки. При помощи специального сканера портов Shodan автоматически собирает ответы с веб-серверов (порт 80), а также данные с FTP (порт 23), SSH (порт 22) и Telnet (порт 21).
Одной из проблем является отсутствие у устройств какой-либо системы безопасности. А если при входе все-таки требуется аутентификация, подавляющее большинство использует логин-пароль, установленные по умолчанию (admin/admin, admin/1234, user/1234, admin/password и тому подобные).
Другой проблемой является то, что многие подобные устройства вовсе не должны быть подключены к сети Интернет, а именно: системы отопления, освещения, системы управления энергетическими станциями, общественными заведениями, светофоры, системы видеонаблюдения и др. Организации часто закупают оборудование, управляемое с помощью компьютера, и соединяют их через веб-сервер, тем самым давая возможность любому пользователю Shodan иметь доступ к системе.
В поисковой системе Shodan, равно как и в обычном поисковике, можно фильтровать результаты поиска с помощью операторов:
- hostname — поиск с учетом домена;
- port – номер порта в формате 21, 80, 443 и тому подобное;
- os – оперативная система;
- country – название страны в формате RU, US;
- city – название города.
На рис.3 представлен результат запроса DVRport:80 country:RUcity:«Moscow» (DVR– фирма видеорегистраторов, 80 – порт веб-сервера).
Рисунок 3. Результат запроса DVR port:80 country:RU city:«Moscow» в Shodan
Если перейти по одной из ссылок на первой же странице результатов поиска и по запросу логина и пароля ввести несложную комбинацию admin/123456, то любому желающему откроется доступ к видео с трансляцией происходящего в одной из столичных парикмахерских.
Рисунок 4. Изображение с видеорегистратора, найденного с помощью Shodan
Специалисты по безопасности надеются предотвратить негативные сценарии, выявляя подобные незащищенные подключенные устройства и услуги с помощью Shodan и предупреждая их владельцев об уязвимостях.
Поиск уязвимостей методом получения идентифицирующей информации о веб-приложении
Ежедневно разработчики, хакеры, специалисты по защите веб-приложений, находят в системе безопасности сайтов новые уязвимости, «дыры», бреши. Существуют так называемые «бюллетени безопасности» SecurityFocus или BugTraq, которые оперативно публикуют все эти материалы в отчетах. Они находятся в открытом доступе в сети Интернет.
К сожалению, не все администраторы веб-приложений интересуются устранением новых угроз. Многие считают, что, установив надежную систему безопасности однажды, веб-приложение будет надолго неуязвимо. Впоследствии у злоумышленника появляется возможность взломать его через недавно выявленные бреши подобных информационных систем.
Важно учесть, что часто разработчики создают сайт на компонентной основе, используя готовые модули веб-приложений. Внутренние компоненты входят в состав технологии разработки веб-приложения, а внешние представляют собой модули веб-сервисов, таких как форум, чат, доска объявлений, календарь событий и тому подобное. Если в одном из компонентов обнаружится уязвимость, то под угрозой будут находиться все использующие его сайты. Пример: рассмотрим сайт www.siteexample.ru, содержащий форум, который использует популярный движок Invision Power Board [1]. Строка адреса страницы форума будет содержать: http://www.siteexample.ru/index.php?showforum=4. Текст «index.php?showforum=» будет встречаться на всех веб-сайтах, использующих для форума Invision Power Board. Используя описанную ранее методику запросов в поисковой системе, можно создать запрос, который выявит все сайты, реализованные на этом движке (>150 000). Если в Invision Power Board возникнет уязвимость, то таким образом злоумышленник отыщет всех потенциальных «жертв». Ведь не каждый администратор сайта своевременно среагирует на возникшую угрозу [5].
Если узнать, какие веб-сервисы и технологии использует конкретный сайт, на каком веб-сервере он функционирует, то можно будет выявить его уязвимости с помощью «бюллетеней безопасности». Сбор такой информации в недоброжелательных целях называется fingerprinting. Уязвимость, возникающая в таких случаях, называется «Идентификацией приложений» (WebServer/ApplicationFingerprinting). Для получения информации об используемом веб-сервере, сервере баз данных, технологии программирования, веб-сервисах злоумышленник может использовать анализ ответов сервера на HTTP-запросы. Идентифицирующая информация может находиться в заголовках HTTP-ответов и в текстах HTTP-страниц.
Принцип работы HTTP-транзакций заключается в следующем:
1. Клиент устанавливает связь с сервером, посылает запрос документа, указав HTTP-метод (GET, HEAD, POST и другие), адрес документа и номер версии HTTP, также он посылает информацию заголовка, сообщая о своей конфигурации;
2. Сервер отвечает, передавая строку состояния (версию HTTP, код состояния и описание), после чего клиенту отправляется информация заголовка, содержащая данные о самом сервере и затребованном документе;
3. В случае успешного запроса посылаются затребованные данные.
Один из классических методов fingerprinting:
Запрос клиента: |
Ответ сервера: |
$ nc www.siteexample.ru 80 GET /index.html HTTP/1.1 Host: www.siteexample.ru |
HTTP/1.1 200 OK Date: Mon, 20 Nov 2014 10:05:30 GTM Server: Apache/1.3.22 (Win32) (информация о веб-сервере) Last-modified: Tue, 17 Feb 2014 18:31:25 GMT Content-type: text/html |
Этот метод поиска веб-уязвимостей обычно используется первым по последовательности перед применением других методов. Из-за простой реализации он получил широкое распространение и применение.
Заключение
Многие рассмотренные методы поиска уязвимостей являются общедоступными и могут применяться даже непродвинутыми пользователями. Кроме того, существуют и профессиональные средства поиска, специализированные программные средства – сканеры уязвимостей.
Несмотря на это многие руководители организаций не уделяют должного внимания безопасности информации и не используют даже общедоступные средства проверки наличия уязвимостей в веб-ресурсе. Зачастую эти и другие халатные действия являются главной причиной утечки коммерчески-важной информации, потеря которой может крайне негативно отразиться на бизнесе.
Список литературы:
1. Invision Power Board (IPS Community Suite): https://www.invisionpower.com/
2. PositiveTechnologies. Отчет «Статистика уязвимостей веб-приложений (2014 г.)» от 14.10.2015
3. WEB APPLICATION SECURITY CONSORTIUM – ATTACKS – Example of Predictable Resource Location – 2010 г.
4. Статья TMC’s Advisor — Июль 2014 // TMC IT and Telecom Consulting Inc.
5. Фленов М.Е. Web-сервер глазами хакера: 2-е изд ─ Спб.: БХВ-Петербург, 2009. ─ 320 с.
2016 © Бибина Е.С., Осадчая А.Д.
nauka-rastudent.ru