Сегодня эффективная информационная система является основой функционирования любой организации. Внутренние бизнес-процессы, коммуникация с клиентами и контрагентами, отчетность и финансовое планирование – все это существует в виде сложно организованных потоков данных. Стабильность ИТ-инфраструктуры компании и ее устойчивость к внешним угрозам обеспечивается системой информационной безопасности (ИБ). Но выстроить такую систему и заставить ее работать недостаточно, далее идет не менее сложный этап – тестирование. Как правильно протестировать систему ИБ, чтобы найти и устранить все ее уязвимости? Совместно с экспертами компании «Информзащита» мы подготовили информационный материал, посвященный наиболее эффективным методикам тестирования, используемых сегодня специалистами по всему миру.
Подготовительный этап тестирования
SAST — статистический анализ кода. «Береги код смолоду» — так можно описать задачу этой методики тестирования, применяемой еще на этапе разработки системы безопасности. SAST производится во время написания кода или параллельно с первым тестовым запуском уже готовой сборки. Плюс этого метода заключается в возможности обнаружить наиболее простые баги на самом раннем этапе, а значит, сэкономить время и другие ресурсы на их устранение. На рынке существуют готовые программные решения для проведения SAST, среди которых можно выбрать наиболее подходящее. Приступая к статистическому анализу кода, следует помнить о его главном минусе — достаточно большом количестве ложноположительных результатов. Речь идет об уязвимостях, которые не требуют устранения, так как их «закрывают» другие части архитектуры самого решения.
DAST — динамический анализ приложения. Полностью автоматическое подобие пентеста уже готового приложения, призванное выявить специфические уязвимости. Чаще всего DAST используют для поиска SQL-инъекций — классического метода взлома баз данных, в ходе которого вредоносный код «встраивается» в запросы приложения к базе данных. Это позволяет злоумышленникам получить доступ к конфиденциальной информации, хранящейся на серверах компании. Для DAST зачастую используют тот же пакет специализированного софта, что и для SAST, — обычно решения позволяют проводить оба вида тестирования.
Основной этап тестирования
Penetration test — он же тест на проникновение, он же пентест. Как отмечают эксперты компании «Информзащита», пентест является ключевым этапом оценки системы информационной безопасности организации. Он заключается в моделировании атаки злоумышленников, будь то попытки внедрения извне через подключенные к интернету рабочие станции или же киберсаботаж инсайдера с доступом к тем или иным частям системы (корпоративного пользователя).
Для того, чтобы избежать ситуации «пранк вышел из-под контроля», когда пентест приносит серьезные проблемы ИТ-инфраструктуре компании, следует помнить о некоторых предосторожностях. Прежде всего специалисты советуют не использовать недостаточно проверенные, потенциально нестабильные эксплоиты. Это легко может привести к ситуации, когда информационные ресурсы компании становятся недоступными части пользователей на все то время, пока пентестер судорожно вычищает сбрендивший вредоносный код из системы.
Вторая ошибка при пентесте — это гонка. Нередко из-за чрезмерно сжатых сроков у специалистов по безопасности не остается достаточно времени на анализ полученных в ходе различных этапов пентеста данных. В итоге качество всего аудита снижается, а затраты на него выглядят все менее оправданными.
В крупных компаниях с большим количеством работников применяют «физический пентест» на основе технологий социальной инженерии. По существу это тестирование роли человеческого фактора в уязвимости корпоративной системы информационной безопасности. Задача физического пентеста — при помощи манипуляций заставить пользователей совершить действия, дающие потенциальным злоумышленникам доступ к системе. Например, вставить в USB-порт рабочего компьютера незнакомую флешку, найденную на офисном столе, или назвать свой пароль от рабочей станции «специалистам» по телефону.
BAS — моделирование взломов и атак. Самый простой, можно сказать, «ленивый» вид пентеста, когда проверка на уязвимости проводится полностью автоматически при помощи специализированного программного обеспечения. Для крупной организации с обширной многоуровневой ИТ-инфраструктурой этот метод подходит скорее в качестве дополнения к полноценному пентесту силами команды специалистов.
Продвинутый уровень тестирования
Red Teaming — они же киберучения. Эксперты компании «Информзащита» отмечают, что эта методика наиболее приближена к реальным условиям, так как представляет собой полную имитацию целевых хакерских атак на инфраструктуру компании. В ходе киберучений «красная команда» использует все самые современные приемы взлома, действуя по двум направлениям сразу — внешнему (через интернет) и внутреннему (через интранет). По большому счету red teaming представляет собой испытание не только для самой инфраструктуры и программного кода, но и для команды системных администраторов. Идеальная работа «красной команды» — получить доступ к информационной системе компании незаметно для сисадминов и пользователей.
Purple Teaming. Более интенсивный вариант киберучений, в ходе которого задействованы уже две команды высококлассных профессионалов: атакующая (Red Team) и защитная (Blue Team). Отличие от классического варианта заключается в возможности координировать действия двух команд и на ходу формулировать наиболее репрезентативные и валидные для конкретной системы задачи взлома.
Bug bounty. Настоящий «хардкор» аудита кибербезопасности, на который решаются далеко не все компании. Если предыдущие «игры во взлом» проходят под чутким контролем руководства ИТ-подразделения компании как заказчика услуг, то здесь все по-настоящему: организация попросту открывает частичный доступ к своей системе для неограниченного круга хакеров и заявляет о денежном вознаграждении за взлом. Риски подобного привлечения «белых хакеров» очевидны: взломщик может скрыть свой успех, отказаться от награды и продать доступ к системе на черном рынке за большую сумму.
Дополнительные меры
Некоторые компании используют более широкую палитру мер обеспечения кибербезопасности. Среди них:
Yellow Team — команда разработчиков, которая непрерывно работает над улучшением стандартов и политик безопасности в компании. Эти специалисты отличаются от упомянутой выше Blue Team тем, что не занимаются непосредственно отражением атак, мониторингом системы и оперативным реагированием. Yellow Team — это своеобразные «труженики тыла» кибербезопасности.
Orange Team — это методика, подразумевающая прямое взаимодействие атакующей команды (Red Team) и архитекторов системы безопасности (Yellow Team).
Green Team — соотвественно, совместная работа двух «защитных» команд: «оперативников» (Blue Team) и «архитекторов» (Yellow Team).
Все описанные выше методики эффективны лишь при системном аналитическом подходе и последовательном применении. В этом случае они способны обеспечить высокую репрезентативность тестирования корпоративной системы информационной безопасности и сохранить бизнес от крупных цифровых неприятностей.
Обложка — downloaded from Freepik.