Что такое уязвимости?
Представьте себе: вы живете в небольшом, милом доме, и однажды замечаете маленькие трещины и дыры в крыше. Сначала они кажутся безобидными, но если их не заделать, могут возникнуть большие проблемы. Во время дождя, например, вода сможет просочиться внутрь, повредив вашу мебель, а сквозь щели легко проникнут пыль и насекомые. Эти трещины — слабые места в вашей защите, которые, если оставить их без внимания, могут создать серьезные сложности. Такие слабости называются уязвимостями. Чтобы дом оставался надежным и защищенным, вы берете инструменты и начинаете заделывать эти щели. Процесс устранения уязвимостей и укрепления защиты называют «установкой заплат» или «патчингом».
Цифровые устройства также имеют уязвимости в своем программном или аппаратном обеспечении. Это слабые места, которые злоумышленник может использовать, чтобы получить доступ к устройству. Возможно, такие уязвимости кажутся чем-то незначительным, как небольшие дыры в крыше, которые можно в любой момент заделать. Однако уязвимости в цифровых устройствах могут нанести серьезный ущерб, если их вовремя не обнаружить. Хакеры постоянно ищут эти слабые места, чтобы проникнуть в системы и сети, используя их в своих целях. Особенность уязвимостей цифровых устройств в том, что их невозможно заметить так же просто, как дыры в крыше, пока вы целенаправленно не начнете искать их. Когда уязвимости обнаружены, начинается процесс устранения, в ходе которого применяются исправления для защиты устройства.
Сканирование на уязвимости — это процесс проверки цифровых систем для поиска слабых мест. В цифровой инфраструктуре организаций хранится важная информация, поэтому они обязаны регулярно проверять свои системы и сети на уязвимости. Злоумышленники могут воспользоваться этими уязвимостями, что может привести к значительным потерям. Сканирование на уязвимости также является важным требованием для соблюдения стандартов, установленных многими регулирующими органами. Некоторые стандарты безопасности рекомендуют проводить такое сканирование ежеквартально, а другие — раз в год.
Мы видим, насколько важно регулярно проводить сканирование на уязвимости в цифровой среде, однако ручной поиск слабых мест может быть утомительным и не всегда эффективным, особенно при крупных сетях, где этот процесс становится еще медленнее. Эта проблема теперь решается благодаря наличию автоматизированных сканеров уязвимостей. Они значительно упрощают работу: достаточно установить инструмент и указать ему IP-адрес хоста или диапазон сети, и он начнет проверку на уязвимости, предоставляя легкий для восприятия отчет с подробной информацией о найденных уязвимостях.
После выявления уязвимостей организации устраняют их, внося изменения в программное обеспечение или систему. Эти изменения называются патчами.
Сканирование на уязвимости можно разделить на несколько видов, но основные категории следующие:
Аутентифицированное и неаутентифицированное сканирование Аутентифицированное сканирование требует учетных данных целевого хоста и предоставляет более детальную информацию по сравнению с неаутентифицированным сканированием. Этот вид сканирования помогает выявить потенциальные угрозы внутри системы. Неаутентифицированное сканирование, напротив, проводится без предоставления учетных данных хоста и помогает выявить угрозы, доступные снаружи системы.
Выбор между типами сканирования на уязвимости зависит от нескольких факторов. Аутентифицированные сканирования часто используются для внутреннего сканирования на уязвимости, тогда как неаутентифицированные сканирования в основном применяются для внешнего сканирования на уязвимости.
Инструменты для сканирования на уязвимости
Существует множество инструментов для автоматизированного сканирования на уязвимости, каждый из которых обладает уникальными функциями. Рассмотрим некоторые из широко используемых сканеров уязвимостей.
Nessus
Nessus был разработан как проект с открытым исходным кодом в 1998 году. Позже, в 2005 году, он был приобретён компанией Tenable и стал проприетарным программным обеспечением. Nessus предоставляет широкие возможности для сканирования на уязвимости и широко используется крупными предприятиями.
Он доступен как в бесплатной, так и в платной версиях. Бесплатная версия предлагает ограниченный набор функций для сканирования. В то же время коммерческая версия включает в себя расширенные возможности сканирования, неограниченное количество сканирований и профессиональную поддержку. Nessus требуется развертывать и управлять им локально (on-premises).
Qualys
Qualys был разработан в 1999 году как решение для управления уязвимостями на основе подписки. Помимо непрерывного сканирования на уязвимости, он предоставляет проверки на соответствие требованиям и управление активами.
Платформа автоматически уведомляет о найденных уязвимостях в процессе непрерывного мониторинга. Главное преимущество Qualys заключается в том, что это облачная платформа. Это означает, что отсутствуют дополнительные затраты или усилия на её запуск и поддержку на физическом оборудовании.
Nexpose
Nexpose был разработан компанией Rapid7 в 2005 году как решение для управления уязвимостями на основе подписки. Он непрерывно обнаруживает новые активы в сети и выполняет сканирование на уязвимости для них.
Платформа присваивает оценку уровня риска уязвимостей в зависимости от стоимости актива и влияния уязвимости. Nexpose также предоставляет проверки на соответствие различным стандартам. Инструмент поддерживает как локальное развертывание (on-premises), так и гибридные режимы (облачное и локальное развертывание).
OpenVAS (Open Vulnerability Assessment System)
OpenVAS — это решение для оценки уязвимостей с открытым исходным кодом, разработанное компанией Greenbone Security. Оно предоставляет базовые функции, сканируя известные уязвимости на основе своей базы данных.
Хотя OpenVAS менее функционален по сравнению с коммерческими инструментами, он предоставляет представление о возможностях полноценного сканера уязвимостей. Этот инструмент особенно полезен для небольших организаций и индивидуальных систем.
CVE
CVE расшифровывается как Common Vulnerabilities and Exposures (Общие уязвимости и экспозиции). Представьте CVE как уникальный номер для каждой вашей заявки или жалобы. Если по какому-либо вопросу появляются обновления, вы можете легко отслеживать их с помощью уникального CVE-номера.
Если перейти от примера службы поддержки, CVE-номер представляет собой уникальный идентификатор, присвоенный уязвимости. Эта система была разработана корпорацией MITRE. Каждый раз, когда обнаруживается новая уязвимость в каком-либо программном обеспечении, ей присваивается уникальный CVE-номер, который используется как ссылка, и информация о ней публикуется онлайн в базе данных CVE.
Цель публикации — информировать людей об этих уязвимостях, чтобы они могли принять защитные меры для их устранения. Вы также можете найти информацию о ранее обнаруженных уязвимостях в базе данных CVE.
Пример CVE-номера, присвоенного уязвимости, можно увидеть на изображении ниже:
- Префикс CVE: Каждый номер CVE начинается с префикса «CVE».
- Год: Вторая часть каждого номера CVE содержит год, когда уязвимость была обнаружена (например, 2024).
- Произвольные цифры: Последняя часть номера CVE содержит четыре или более произвольных цифр (например, 9374).
CVSS (Common Vulnerability Scoring System) — это Общая Система Оценки Уязвимостей. Если снова обратиться к примеру службы технической поддержки, вы всегда должны приоритизировать жалобы. Самый эффективный способ сделать это — учитывать уровень их критичности. Представьте, что каждая жалоба регистрируется с оценкой от 0 до 10, где более высокий балл указывает на более серьёзную проблему. Это бы решило задачу выделения критичных обращений. Именно такая система называется CVSS.
В мире информационных технологий каждая уязвимость, так же как и её уникальный идентификатор CVE, имеет CVSS-оценку, которая указывает на её степень серьёзности. CVSS-балл рассчитывается на основе множества факторов, включая её воздействие, лёгкость эксплуатации и другие параметры. Уровни критичности согласно оценкам CVSS можно увидеть в таблице ниже: