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