Журнал "Information Security/ Информационная безопасность" #2, 2022
Как сформировать команду SDL Чтобы внедрить безопасную разра- ботку, недостаточно пройти код парой- тройкой анализаторов и прикрепить к материалам отчеты на 200 тыс. строк с формулировками "уязвимости не экс- плуатируемы, потому что не эксплуати- руемы". Безопасная разработка – это непрерывный процесс, включающий выделенных сотрудников, технику, плат- ные и бесплатные программные сред- ства. Важно также понимание необхо- димости этого процесса сотрудниками компании, начиная с собственника и заканчивая джунами-стажерами. Пра- вильным подходом является переход компании в целом к работе в парадигме Secure by Design. Необходимо донести до руководства важность процесса без- опасной разработки. Скажу честно, рабо- тать с крупными компаниями сложнее, чем с небольшими или средними орга- низациями, где уровень принятия реше- ний – это человек, с которым ты можешь общаться напрямую, которому можно за чашкой кофе объяснить, зачем все это нужно и какую реальную пользу от внедрения получит бизнес. В крупных же компаниях собственник обычно где- то очень далеко, и пытаться до него донести важность безопасной разработ- ки весьма сложно. Но если руководство организации все же проявит нужную политическую волю, вплоть до приоста- новки процессов разработки на несколь- ко месяцев и концентрации на внедрении практик и инструментов, ориентирован- ных на безопасность, желаемый и ощу- тимый положительный эффект может быть достигнут очень быстро. И такие прецеденты в российских условиях есть. Важно понять и принять как аксиому, что правильно поставленный процесс безопасной разработки становится зало- гом своевременного получения серти- фиката соответствия, а также настоящим конкурентным преимуществом XXI века. Для внедрения SDL-практик в команду разработки в количестве 5–15 сотруд- ников необходимы 1–2 выделенных SDL- специалиста. Важно понимать, что сво- бодных Security Champion на рынке нет. На текущий момент отечественная систе- ма образования только приходит к необходимости подготовки специалистов профиля Application Security, одной из первых ласточек является создание учебной программы "Кибербезопас- ность", благодаря стараниям ФСТЭК России и ИСП РАН, однако реальные плоды этих преобразований мы увидим только через несколько лет. Тем не менее такого специалиста вполне реаль- но вырастить за год-полтора при наличии хороших исходных данных: Junior- или Middle-разработчик по каждому языку программирования, используемому в продукте, с навыками пентеста, общим представлением об анализе уязвимо- стей, навыками DevOps, горящими гла- зами и прямыми руками. Важно не брать в SDL чистых билдеров, даже если он Senior Developer на ассемблере, ведь люди, которые любят писать код, делать интересные фичи в приложениях, на позициях SDL не задерживаются. Чет- верть наших клиентов изначально допу- стила такую ошибку, и это привело их к затягиванию процесса. Человек, зани- мающийся SDL, должен любить рассле- довать, рыться, ковыряться в деталях, у него должен быть подходящий для этого характер и склад ума. Немаловажным и полезным является подключение кандидатов в SDL-специ- льность к деятельности профессиональ- ного сообщества, формируемого под эгидой центров компетенций ФСТЭК России и ИСП РАН: возможность задать вопросы и получить ответы от более опытных единомышленников именно в отечественном информационном сег- менте сложно переоценить. Сколько стоит безопасная разработка? Безопасная разработка – это не бес- платное и не дешевое удовольствие. Но нужно воспринимать связанные с ней затраты исключительно как инвестиции, которые уже в среднесрочной перспек- тиве начнут приносить качественные результаты. Приведем один из множества частных примеров: глубокая автоматизация всех основных видов динамического тестиро- вания в "Лаборатории Касперского" поз- волила сократить релизный цикл страте- гически значимых продуктов компании с одного года до одного квартала и при этом повысить качество тестирования, то есть снизить число ошибок, выявляе- мых на этапе эксплуатации продукта. Первый пункт затрат, естественно, – инфраструктура, аппаратная платформа, вычислитель. Стоимость его для компа- нии среднего размера можно оценить от 1 млн до 3 млн руб. Впрочем, вполне возможен более оптимизированный по стоимости вариант развертывания инфраструктуры в облаке. Важно пони- мать, что некоторые практики анализа, в первую очередь фаззинг-тестирование, "съедят" столько процессорных ядер, сколько вы сможете им выделить. В этом смысле фаззинг сравним с майнингом криптовалют: увеличение вкладываемых в анализ ресурсов повышает шанс нахождения уязвимостей раньше потен- циального нарушителя, но, разумеется, не гарантирует отсутствие в коде потен- циальных уязвимостей. Второй момент: инструментальные средства потребуют до 5 млн руб. в год в зависимости от конкретных условий. При этом в настоящее время действует льготная программ ИСП РАН, позво- ляющая получить широкий комплект средств анализа на безвозвмездной основе сроком на полгода 4 . Третий момент – фонд оплаты труда. Назвать конкретные цифры здесь слож- но, поскольку зарплатные политики ком- паний могут значительно различаться, в том числе в зависимости от региона. После запуска процесса внедрения SDL-практик значимые результаты появятся, как правило, через 6–12 меся- цев. Процесс очень непростой, и чем дальше, тем более сложным он стано- вится, однако также интересным для инженеров и полезным для компании в целом. Практики безопасной разработки Привожу неполный, основной список того, что как компании, так и лаборато- рии должны уметь делать уже сейчас: l моделирование и проектирование без- опасной архитектуры; l анализ безызбыточности внешних интерфейсов и прав доступа к ресурсам; l статический анализ исходного кода; l статический анализ конфигураций модулей и контейнеров; l использование безопасных тулчейнов: компиляторы, линковщики и их пара- метры; l использование безопасных сторонних и заимствованных компонентов, в том числе рантайм-компонент и интерпре- таторов/ВМ; l динамический анализ в форме модуль- ного и функционального тестирования с целью "подтверждения известного"; l динамический анализ в форме фаз- зинг-тестирования для "поиска неизвест- ного"; l динамический анализ для выявления побочных взаимодействий со средой функционирования; l динамический анализ с целью анализа утечек чувствительных (помеченных) данных; l тестирование на проникновение. С течением времени этот список будет расти как с точки зрения номенклатуры требуемых практик, так и в плане глуби- ны и качества их применения. Помимо внедрения самих практик, нель- зя забывать о двух важных аспектах: 1. Подготовка кадров: необходимо менять парадигму обучения специали- стов, особенно студентов, включая без- опасную разработку в их картину мира на как можно более ранней стадии. 2. Автоматизация: чем меньше новой рутины привносит процесс SDL в разра- ботку, тем лучше он приживается в командах, поскольку рутинизация довольно быстро убивает всякий энту- зиазм. Что нас ждет дальше? Если заглянуть в недалекое будущее, то можно увидеть ряд грядущих важных событий и изменений. • 41 БЕЗОПАСНАЯ РАЗРАБОТКА www.itsec.ru 4 https://www.ispras.ru/news/isp-ran-predostavlyaet-bezvozmezdnyy-dostup-k-svoim-tekhnologiyam-srokom-na-polgoda/
Made with FlippingBook
RkJQdWJsaXNoZXIy Mzk4NzYw