Разработка безопасного ПО. Круглый стол экспертов сообщества SDL 26.07.2023 18:25
Амир Хафизов, главный редактор журнала “Information Security”
Есть разница между идеями “безопасность разработки” (про то, как сделать сам процесс безопасным, например расставить охрану вокруг офиса) и “разработка безопасного ПО” (РБПО). Именно второй активности, РБПО, и посвящен настоящий спецпроект.
Когда говорят о безопасной разработке, часто подразумевается безопасность веб-приложений и сервисов. Это массовый и относительно понятный сегмент ИБ. Многие из читателей хотя бы раз в жизни пробовали поискать в сети компании открытые (и уязвимые) сетевые сервисы с помощью nmap или даже проанализировать свой сайт такими инструментами, как OWASP ZAP или Burp, и в эту минуту ощущали себя настоящими пентестерами и даже немножко хакерами. Число открытых или платных инструментов, осуществляющих проверку веб-ресурсов на уязвимости из классификатора OWASP Top 10, не поддается исчислению, а аббревиатура DAST (Dynamic Application Security Testing) для неподготовленного человека прочно ассоциируется именно с веб-обходчиками, относительно несложными в реализации веб-фаззерами, а также средствами автоматизированного тестирования сайтов.
Но сегодня речь не про это, а про тяжелую, системную безопасность: про ядра и гипервизоры, драйверы и виртуальные машины, системные библиотеки и нативные компоненты интерпретаторов и, конечно же, про средства порождения машинного кода – компиляторы. Почти все, кто принял участие в круглом столе, говорят не только и сколько про веб, но и как раз про построение безопасных инфраструктурных, системных решений. В этой области OWASP Top 10 – это всего лишь один из аспектов, причем не самый важный. Здесь уместнее говорить про общий классификатор угроз CWE и выстраивание защиты от всего спектра тактик и техник из матрицы MITRE ATT&CK.
Это как раз тот самый сегмент безопасной разработки, в которой "сложно", в которой "непонятно", в которой системная нехватка квалифицированных кадров. Но это и та область, которая во многом и определяет реальный уровень информационной безопасности страны и профессиональный вес ее инженеров.
Кроме того, РБПО – это не всегда кодинг. Есть разработчики, которые делают СЗИ, не написав вообще ни строчки классического кода. Выбор версий компонентов с открытым исходным кодом без известных уязвимостей, компиляция их с корректным комплектом оптимизирующих и повышающих защищенность параметров, эффективная и безопасная настройка их параметров, архитектурно продуманная, промоделированная их интеграция в общую систему... плюс щепотка маркетинга и ежедневные усилия по поддержке – и получается СЗИ! То есть кодинга как такового почти и нет, но СЗИ, причем вполне себе рабочее, – есть. И потребность в качественной продуктовой безопасности для него не сильно ниже, чем для СЗИ, разработанного с нулевой кодовой базы. А порой и выше, поскольку все опытные разработчики знают, что нет ничего хуже, чем поддерживать чужой код.
В последние годы в мире, и в России в особенности, наблюдается сильный рост популярности тем безопасной разработки ПО и Application Security. Этот рост стимулируется несколькими факторами.
Во-первых, увеличивается количество и сложность кибератак на информационные системы. Экспертные оценки прогнозируют трехкратный рост финансовых потерь от киберпреступности в ближайшие пять лет, при этом угрозы устойчивости государственных систем не поддаются корректной оценке, поскольку несут в себе риски функционирования государства как целостной сущности.
Второй фактор связан с регуляторными требованиями к организациям в разных секторах. Стоит упомянуть, в частности, законы о персональных данных и о безопасности КИИ, новые требования и методики федеральных регуляторов, проекты национальных стандартов в области ИБ. Организации вынуждены активно заниматься обеспечением безопасности своих информационных систем, чтобы соответствовать требованиям и избежать возможных.
В-третьих, растет осознание важности своевременного внедрения процессов безопасной разработки ПО в контексте организации бизнеса со стороны компаний в целом и разработчиков в частности. Чем позже начинается внедрение, тем сложнее оно проходит. Все больше организаций принимают безопасность разрабатываемого ПО в качестве неотъемлемой части их бизнес-стратегии, и все чаще она находит понимание в кабинетах финансовых директоров. Более осведомленными о рисках и уязвимостях стали и разработчики. С некоторой инерцией, но и они стремятся использовать практики безопасной разработки.
На этом фоне сильно вырос спрос на специалистов по Application Security и безопасной разработке, заметно обогнав предложение. Организации осознают, что для обеспечения надежной защиты своего ПО необходимы квалифицированные эксперты, способные обнаруживать и устранять уязвимости, а также разрабатывать безопасные архитектуры и настраивать процессы разработки.
Вузы и образовательные учреждения включают в свои программы обучения предметы, связанные с Application Security. Это происходит в форме специализированных дисциплин по кибербезопасности, курсов по безопасной разработке ПО или отдельных блоков, посвященных безопасности информационных систем.
Появление новых инструментов и технологий также стимулирует рост популярности темы безопасной разработки. На российском рынке доступны качественные решения для статического, динамического и композиционного анализа кода, средства автоматического сканирования уязвимостей и другие инструменты. Этот сегмент рынка развивается, и на первое место выходит качество используемых инструментов.
Другие источники: