Уязвимость – недостаток, связанный с функционированием технологий (неправильным конфигурированием ресурса, ошибками или проблемами кода, используемого в ПО или любой иной проблеме в системах компании), который может быть использован для проникновения в системы.
Если более детально и конкретно обратиться к предметной области тестирования на проникновение, то к такого рода уязвимостям можно отнести действия поставщика некоего оборудования, который осуществил обновление брандмауэра и неспециально ввел ошибку. Заказчик или компания, получившая оборудование, не имеет информацию об эксплойтах (ошибки и (или) вредоносный код) до тех пор, пока он не будет идентифицирован поставщиком или работниками самой компании, или не будет осуществлен тест на проникновение.
Необходимо отметить, что не все ошибки являются по своей природе эксплойтами, только некоторые могут вызвать проблемы и привести к эксплойтам.
В целом необходимо оговориться, что уязвимости относятся к типам риска, который может и должен быть оценен и использован в качестве записанного артефакта (как правило, это системный файл, который может включать в себя информацию, связанную с документацией, планами тестирования, образами и даже некоторыми исполняемыми модулями).
Справочно: Существующие и самые известные в международной практике примеры уязвимостей, которые регистрировались в различных компаниях или были установлены по итогам тестов на проникновение:
Сканирование и оценка с помощью тестирования на проникновение
Современные и эффективные тестеры используют инструменты (как аппаратные, так и программные) для запуска тестов на проникновение (в международной практике это часто называется оценками проникновения) с целью получения информации о наличии уязвимостей, оценке степени защищенности систем и воздействия на причины инцидентов в информационном пространстве компании.
В первую очередь остановимся на средствах или программных продуктах, которые можно использовать для осуществления теста на проникновение:
С помощью указанных систем пользовательского интерфейса специалисты осуществляют сканирование на наличие уязвимостей в системе компании, сети, чтобы выявить риски, которые могут быть либо исправлены, либо признаны с учетом критериев существенности, указанных выше.
На следующих рисунках продемонстрированы интерфейсы ряда систем для целей сканирования.
Справочно: Необходимо отметить, что для проведения тестирования имеются ограничения, которые должны учитываться при его организации, т.к. несут значительные риски для систем компании — они могут быть заблокированы или временно утратить свою функциональность. Особенно это опасно в системе здравоохранения и компаниях со сложным технологическим процессом.
Виды и способы тестирования на проникновение
Типы или виды выбранного теста, как правило, зависят от отрасли, к которой относится компания и сложности процессов, а также от того, какие цели ставит себе компания, заказывая данный вид тестирования. Хочет ли компания осуществить имитационное моделирование вторжения или нет.
Стандартные способы в мировой практике (связанные механизмом осуществления и его участниками):
При этом основными видами тестов, с учетом их эффективности, являются порядка 10-15 разновидностей тестов. Основные из них, представлены ниже:
Реагирование на инциденты
Реагирование на инциденты или обработка инцидентов – это системное и качественное управление событиями воздействия на компанию, основанного на использовании известной или неизвестной уязвимости. В контексте решения проблем еще одним вопросом является формирование команды реагирования на инциденты и цели ее формирования.
Цель формирования – это сдерживание инцидентов. Для этих целей требуется спецподготовка и соблюдение спецпроцедур. А именно, такими качествами должны обладать члены команды. Фактически все члены команды должны осуществлять совместные тренировки. Для каждого члена команды должны быть расписаны функции и задачи.
Каждый член команды (в случае активного инцидента) должен знать ответы на вопросы: где вы находитесь? От этого будут зависеть действия по минимизации рисков. Если компания или ресурс находится локально для воздействия, с проблемой можно начинать работать и осуществлять тесты или другие действия. А если вы работаете с подключением к виртуальной сети (VPN) или удаленно подключены к системе — это может быть частью вектора воздействия и возможности для реагирования будут ограничены. Локальность позволяет получить консольный доступ. Также должен быть раскрыт вопрос об исполняемой вами роли в контексте команды, для целей получений роли и наделении функциями. Необходимо отметить, что роли могут быть как постоянными, как сотрудника компании, так и временные, если в процессе задействован аутсорсер.
У большинства компаний есть соответствующие команды, которые отвечают за предоставление поддержки в случае активного запроса на обработку инцидентов, таких как: нарушение брандмауэра, вспышка вируса или вредоносного ПО, вторжение или любой другой вопрос, связанный с безопасностью.
Конечно же, мало кто желает поучаствовать в реагировании на активную атаку, в т.ч. в силу ответственности и материальности ущерба и невозможности предотвратить.
В этой связи тестирование на проникновение имеет еще большую ценность во всей структуре безопасности и защите. Если компания в состоянии обеспечить все должным образом или определить с помощью тестирования проблемные места, наиболее существенные и исправить их (или принять и мониторить), то решается более половины сражений с эксплойтами.
В этом же контексте важным является приоритезация уязвимостей и безопасности, которые регистрируются в период жизнедеятельности, и это имеет решающее значение, потому что многие проблемы могут быть неустранимы, а другие может и не стоить исправлять. Возможно, не произойдет устранение некоторых уязвимостей и часто по техническим причинам, а может и в силу стоимости и риск-аппетита компании. Нужно тщательно изучить каждую уязвимость, определить бизнес-риск и взвесить, стоит ли устранять проблему. Не стоит устранять каждую уязвимость, необходимо осуществлять сценарное моделирование и понимать, каким образом вы сможете оставить риск в прежних границах.
Необходимо учитывать два основных фактора для каждой из обнаруженных уязвимостей: это вероятность использования уязвимости и уровень материальности.
Механизм проведения тестирование будет раскрыт в статье: «Практические аспекты осуществления тестирования».