Тестирование уязвимости
Тестирование уязвимости, также называемое оценкой уязвимости, - это процесс оценки рисков безопасности в программных системах с целью снижения вероятности угроз. Целью тестирования уязвимостей является уменьшение возможности для злоумышленников / хакеров получить несанкционированный доступ к системам. Это зависит от механизма, называемого оценкой уязвимости и тестированием на проникновение (VAPT) или тестированием VAPT.
Уязвимость - это любая ошибка или слабое место в процедурах безопасности системы, ее дизайне, реализации или любом внутреннем контроле, которые могут привести к нарушению политики безопасности системы.
В этом руководстве вы узнаете:
- Что такое оценка уязвимости
- Зачем нужна оценка уязвимости
- Процесс оценки уязвимости и тестирования на проникновение (VAPT)
- Как проводить тестирование на уязвимость
- Типы сканера уязвимостей
- Инструменты для сканирования уязвимостей
- Преимущества оценки уязвимости
- Недостатки оценки уязвимости
- Сравнение оценки уязвимости и тестирования на проникновение
- Методы тестирования уязвимости
Зачем нужна оценка уязвимости
- Это важно для безопасности организации.
- Процесс обнаружения уязвимостей и сообщения об этих уязвимостях, который позволяет обнаруживать и устранять проблемы безопасности путем ранжирования уязвимостей до того, как кто-то или что-то сможет их использовать.
- В этом процессе операционные системы, прикладное программное обеспечение и сеть сканируются с целью выявления уязвимостей, в том числе несоответствующего дизайна программного обеспечения, небезопасной аутентификации и т. Д.
Процесс оценки уязвимости
Вот пошаговый процесс оценки уязвимостей для выявления уязвимостей системы.
Шаг 1) Цели и задачи : - Определите цели и задачи анализа уязвимостей.
Шаг 2) Объем : - При выполнении оценки и тестирования необходимо четко определить объем задания.
Ниже приведены три возможных области применения:
- Тестирование черного ящика: - Тестирование из внешней сети без предварительного знания внутренней сети и систем.
- Тестирование серого ящика: - Тестирование из внешних или внутренних сетей со знанием внутренней сети и системы. Это комбинация тестирования черного ящика и тестирования белого ящика.
- White Box Testing: - Тестирование во внутренней сети со знанием внутренней сети и системы. Также известно как внутреннее тестирование.
Шаг 3) Сбор информации : - Получение как можно большего количества информации об ИТ-среде, такой как сети, IP-адрес, версия операционной системы и т. Д. Это применимо ко всем трем типам областей, таким как тестирование черного ящика, тестирование серого ящика и тестирование белого ящика.
Шаг 4) Обнаружение уязвимостей : - В этом процессе сканеры уязвимостей используются для сканирования ИТ-среды и выявления уязвимостей.
Шаг 5) Информационный анализ и планирование : - Он проанализирует выявленные уязвимости для разработки плана проникновения в сеть и системы.
Как провести оценку уязвимости
Ниже приводится пошаговый процесс « Как проводить оценку уязвимости» :
Шаг 1) Настройка:
- Начать документацию
- Безопасные разрешения
- Инструменты обновления
- Инструменты настройки
Шаг 2) Выполнение теста:
- Запустите инструменты
- Запустите захваченный пакет данных (Пакет - это единица данных, которая маршрутизируется между источником и местом назначения. Когда отправляется любой файл, например, сообщение электронной почты, файл HTML, запрос унифицированного указателя ресурсов (URL) и т. Д. из одного места в другое в Интернете, уровень TCP TCP / IP разделяет файл на несколько «фрагментов» для эффективной маршрутизации, и каждый из этих фрагментов будет иметь уникальный номер и будет включать Интернет-адрес места назначения. фрагменты называются пакетами. Когда все пакеты будут получены, они будут повторно собраны в исходный файл на уровне TCP на принимающей стороне при запуске инструментов оценки.
Шаг 3) Анализ уязвимости:
- Определение и классификация сетевых или системных ресурсов.
- Присвоение приоритета ресурсам (например: - высокий, средний, низкий)
- Выявление потенциальных угроз для каждого ресурса.
- Разработка стратегии для решения в первую очередь наиболее приоритетных проблем.
- Определение и реализация способов минимизировать последствия атаки.
Шаг 4) Отчетность
Шаг 5) Исправление:
- Процесс исправления уязвимостей.
- Выполняется для каждой уязвимости
Типы сканера уязвимостей
- На основе хоста
- Выявляет проблемы в хосте или системе.
- Процесс осуществляется с помощью хост-сканеров и диагностики уязвимостей.
- Инструменты на основе хоста загрузят программное обеспечение-посредник в целевую систему; он отследит событие и сообщит о нем аналитику безопасности.
- Сетевой
- Он обнаружит открытый порт и определит неизвестные службы, работающие на этих портах. Затем он раскроет возможные уязвимости, связанные с этими сервисами.
- Этот процесс выполняется с помощью сетевых сканеров.
- На основе базы данных
- Он определит уязвимость систем баз данных, используя инструменты и методы для предотвращения SQL-инъекций. (Инъекции SQL: - Внедрение операторов SQL в базу данных злоумышленниками, которые могут читать конфиденциальные данные из базы данных и могут обновлять данные в базе данных.)
Инструменты для сканирования уязвимостей
Нарушитель
Intruder - это мощный онлайн-сканер уязвимостей, который обнаруживает слабые места в безопасности вашей ИТ-среды. Предлагая ведущие в отрасли проверки безопасности, непрерывный мониторинг и простую в использовании платформу, Intruder защищает предприятия любого размера от хакеров.
Функции:
- Лучшее в своем классе покрытие угроз с более чем 10 000 проверок безопасности
- Проверяет слабые места конфигурации, отсутствующие исправления, слабые места приложений (например, внедрение SQL и межсайтовые сценарии) и т. Д.
- Автоматический анализ и приоритезация результатов сканирования
- Интуитивно понятный интерфейс, быстрая настройка и запуск первых сканирований
- Упреждающий мониторинг безопасности на предмет последних уязвимостей
- Коннекторы AWS, Azure и Google Cloud
- Интеграция API с вашим конвейером CI / CD
Категория | Инструмент | Описание |
---|---|---|
На основе хоста | СТАТИСТИКА | Сканируйте несколько систем в сети. |
ТАРА | Ассистент аналитического исследования тигра. | |
Каин и Авель | Восстановить пароль путем обнюхивания сети, взлома HTTP-пароля. | |
Metasploit | Платформа с открытым исходным кодом для разработки, тестирования и использования кода. | |
Сетевой | Сканер Cisco Secure | Диагностика и устранение проблем безопасности. |
Wireshark | Анализатор сетевых протоколов с открытым исходным кодом для Linux и Windows. | |
Nmap | Бесплатная утилита с открытым исходным кодом для аудита безопасности. | |
Несс | Безагентный аудит, отчетность и интеграция управления исправлениями. | |
На основе базы данных | SQL диета | Двери инструмента атаки по словарю для SQL-сервера. |
Безопасный аудитор | Позволяет пользователю выполнять перечисление, сканирование, аудит, тестирование на проникновение и криминалистическую экспертизу ОС. | |
БД-сканирование | Обнаружение трояна базы данных, обнаружение скрытого трояна путем базового сканирования. |
Преимущества оценки уязвимости
- Доступны инструменты с открытым исходным кодом.
- Выявляет практически все уязвимости
- Автоматизирован для сканирования.
- Легко бегать на регулярной основе.
Недостатки оценки уязвимости
- Высокий уровень ложных срабатываний
- Может легко обнаруживаться межсетевым экраном системы обнаружения вторжений.
- Часто не замечают последние уязвимости.
Сравнение оценки уязвимости и тестирования на проникновение
Оценка уязвимости | Тестирование на проникновение | |
---|---|---|
Работающий | Обнаружить уязвимости | Выявление и использование уязвимостей |
Механизм | Обнаружение и сканирование | Моделирование |
Фокус | Ширина больше глубины | Глубина превыше ширины |
Охват полноты | Высоко | Низкий |
Расходы | Низкий- Средний | Высоко |
Выполняется | Внутренний персонал | Злоумышленник или Pen Tester |
Знания тестера | Высоко | Низкий |
Как часто бегать | После загрузки каждого оборудования | Раз в год |
Результат | Предоставьте частичную информацию об уязвимостях | Предоставьте полную информацию об уязвимостях |
Методы тестирования уязвимости
Активное тестирование
- Неактивное тестирование, тестировщик вводит новые тестовые данные и анализирует результаты.
- В процессе тестирования тестировщики создают мысленную модель процесса, которая будет развиваться дальше во время взаимодействия с тестируемым программным обеспечением.
- Выполняя тест, тестировщик будет активно участвовать в процессе поиска новых тестовых примеров и новых идей. Вот почему это называется активным тестированием.
Пассивное тестирование
- Пассивное тестирование, мониторинг результатов работы тестируемого программного обеспечения без введения новых тестовых примеров или данных.
Сетевое тестирование
- Тестирование сети - это процесс измерения и записи текущего состояния работы сети за определенный период времени.
- Тестирование в основном проводится для прогнозирования работы сети под нагрузкой или для выявления проблем, создаваемых новыми услугами.
- Нам необходимо протестировать следующие характеристики сети: -
- Уровни использования
- Количество пользователей
- Использование приложений
Распределенное тестирование
- Распределенные тесты применяются для тестирования распределенных приложений, то есть приложений, работающих с несколькими клиентами одновременно. По сути, тестирование распределенного приложения означает тестирование его клиентской и серверной частей по отдельности, но, используя метод распределенного тестирования, мы можем протестировать их все вместе.
- Тестовые части будут взаимодействовать друг с другом во время тестового прогона. Это делает их синхронизированными соответствующим образом. Синхронизация - один из важнейших моментов в распределенном тестировании.
Вывод
В программной инженерии тестирование уязвимостей зависит от двух механизмов, а именно оценки уязвимости и тестирования на проникновение. Оба этих теста отличаются друг от друга по силе и задачам, которые они выполняют. Однако для получения исчерпывающего отчета о тестировании уязвимостей рекомендуется сочетание обеих процедур.
Автор статьи: Syamini Sreedharan