Методология

Сравнение работ по анализу защищенности

akhalin.jpgАлексей Халин

Анализ защищенности можно использовать для оценки программного обеспечения, программно-аппаратных комплексов, информационных систем различного назначения и даже сегментов сетей. Например, можно обнаружить уязвимости в следующих объектах оценки:

  • в веб-приложениях;
  • в мобильных приложениях;
  • в системах дистанционного банковского обслуживания;
  • в POS-терминалах;
  • в банкоматах;
  • в биометрических системах аутентификации;
  • в системах удаленного доступа на базе тонкого или толстого клиента;
  • в пользовательских и серверных сегментах сети.

И это далеко не полный список потенциальных объектов оценки.

Основная цель анализа защищенности — выявление уязвимостей, содержащихся в объекте оценки, и формирование рекомендаций по их устранению. Эффективность таких работ зависит от используемых типов и методов анализа. Существуют два типа: ручной с использованием средств автоматизации и автоматизированный с последующей ручной фильтрацией результатов. Кроме того, для этих типов существуют три метода тестирования: метод белого ящика, метод серого ящика и метод черного ящика. В таблицах ниже приведена подробная информация о типах и методах анализа.

Ручной анализ

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

Резюме: ручной анализ требует большого количества времени, трудозатрат и навыков специалистов, обеспечивая при этом глубину поиска уязвимостей, что позволяет выявлять уязвимости (в том числе нулевого дня) без ложных результатов.

Автоматизированный анализ

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

Резюме: автоматизированный анализ не требует большого количества времени, трудозатрат для поиска уязвимостей и навыков специалистов, при этом не обеспечивает глубину и надежность результатов. Достоверность полученных результатов требует последующей проверки специалистом.

Как выбрать тип и метод анализа

Чтобы правильно выбрать тип работы, необходимо определить ожидания от результата, а также оценить временные ресурсы. Так, если есть возможность выделить на анализ достаточное количество времени и требуется получить максимально качественный результат, рекомендуется выбирать ручной тип. Если задача должна быть решена в максимально сжатые сроки и определенное количество ложных срабатываний не является проблемой, то рекомендуется выбирать автоматизированный тип. При выборе такого типа необязательно жертвовать качеством результатов: достаточно попросить специалистов вручную верифицировать выявленные уязвимости — это повысит качество за счет исключения ложных срабатываний. Кроме того, если есть сомнения, что автоматизированный анализ защищенности может нарушить работоспособность системы, то рекомендуется отдавать предпочтение ручному типу или проводить анализ на киберполигоне или тестовом стенде.

Выбор метода зависит от имеющейся информации о системе и от типа нарушителя. Следует применять метод белого ящика, если в качестве входной информации специалистам по анализу защищенности предоставляют все необходимые данные о системе, включая исходный код, а также дают полные привилегии и достаточное время для решения задачи. Если заказчик работ не имеет возможности или не хочет раскрывать исходный код или другую информацию о системе, но готов предоставить все необходимые привилегии, чтобы протестировать систему от лица внутреннего нарушителя, то используется метод серого ящика. Если же требуется протестировать систему от лица внешнего нарушителя, то используется метод черного ящика.