Алексей ХалинСравнение работ по анализу защищенности
Алексей Халин
Алексей ХалинАнализ защищенности можно использовать для оценки программного обеспечения, программно-аппаратных комплексов, информационных систем различного назначения и даже сегментов сетей. Например, можно обнаружить уязвимости в следующих объектах оценки:
И это далеко не полный список потенциальных объектов оценки.
Основная цель анализа защищенности — выявление уязвимостей, содержащихся в объекте оценки, и формирование рекомендаций по их устранению. Эффективность таких работ зависит от используемых типов и методов анализа. Существуют два типа: ручной с использованием средств автоматизации и автоматизированный с последующей ручной фильтрацией результатов. Кроме того, для этих типов существуют три метода тестирования: метод белого ящика, метод серого ящика и метод черного ящика. В таблицах ниже приведена подробная информация о типах и методах анализа.
Резюме: ручной анализ требует большого количества времени, трудозатрат и навыков специалистов, обеспечивая при этом глубину поиска уязвимостей, что позволяет выявлять уязвимости (в том числе нулевого дня) без ложных результатов.
Резюме: автоматизированный анализ не требует большого количества времени, трудозатрат для поиска уязвимостей и навыков специалистов, при этом не обеспечивает глубину и надежность результатов. Достоверность полученных результатов требует последующей проверки специалистом.
Чтобы правильно выбрать тип работы, необходимо определить ожидания от результата, а также оценить временные ресурсы. Так, если есть возможность выделить на анализ достаточное количество времени и требуется получить максимально качественный результат, рекомендуется выбирать ручной тип. Если задача должна быть решена в максимально сжатые сроки и определенное количество ложных срабатываний не является проблемой, то рекомендуется выбирать автоматизированный тип. При выборе такого типа необязательно жертвовать качеством результатов: достаточно попросить специалистов вручную верифицировать выявленные уязвимости — это повысит качество за счет исключения ложных срабатываний. Кроме того, если есть сомнения, что автоматизированный анализ защищенности может нарушить работоспособность системы, то рекомендуется отдавать предпочтение ручному типу или проводить анализ на киберполигоне или тестовом стенде.
Выбор метода зависит от имеющейся информации о системе и от типа нарушителя. Следует применять метод белого ящика, если в качестве входной информации специалистам по анализу защищенности предоставляют все необходимые данные о системе, включая исходный код, а также дают полные привилегии и достаточное время для решения задачи. Если заказчик работ не имеет возможности или не хочет раскрывать исходный код или другую информацию о системе, но готов предоставить все необходимые привилегии, чтобы протестировать систему от лица внутреннего нарушителя, то используется метод серого ящика. Если же требуется протестировать систему от лица внешнего нарушителя, то используется метод черного ящика.
| Анализ проводится средствами автоматизированного поиска уязвимостей (сканеры уязвимостей). Результаты работы сканера могут быть проанализированы человеком |
| Анализ проводится средствами автоматизированного поиска уязвимостей (сканеры уязвимостей). Результаты работы сканера могут быть проанализированы человеком |
| Время поиска уязвимостей | От одного дня | От одного дня | От одного дня |
| Необходимость верификации результатов | Да | Да | Да |
| Наличие ложных результатов | Да | Да | Да |
| Глубина тестирования | Высокая | Средняя | Низкая |
| Необходимые навыки специалистов для поиска уязвимостей | Низкие | Низкие | Низкие |
| Входные данные | - Возможность подключения; - исследовательский стенд (опционально); - исходные коды, и (или) полные привилегии, и (или) схемы сети; - границы работ | - Возможность подключения; - набор типовых привилегий; - границы работ | - Возможность подключения; - границы работ |
| Альтернативные варианты реализации | Нет | Нет | Нет |
| Выводы | Метод белого ящика применяется, когда есть доступ к исходному коду | Метод серого ящика применяется для поиска уязвимостей, доступных определенному типу пользователей (внутреннему нарушителю) | Метод черного ящика применяется для поиска уязвимостей, доступных для внешнего нарушителя |