Друзья, перед вами — расшифровка доклада Елены Клочковой с митапа Avito о безопасности.
Привет! Меня зовут Елена Клочкова, я работаю в команде Application Security.
Два года назад, когда я пришла в отдел безопасности Тинькофф, было заметно, как интенсивно в компании развиваются продукты. Количество команд разработки увеличивалось пропорционально: проекты Тинькофф Инвестиции, Тревел, Страхование нанимали все больше специалистов. Причем эти проекты имеют дело с деньгами и критичными данными пользователей.
Процессов управления безопасностью еще толком не было, потому что наше подразделение существовало на тот момент всего полгода и состояло из трех человек. При этом кое-что уже удалось сделать: про нас знали тимлиды, был план по внедрению SDLC. Разработчики знали, что теперь при запуске каждого продукта он обязательно должен пройти аудит безопасности. Мы выбрали SAST и DAST, провели три или четыре ручных аудита, выстроили коммуникацию с внешними исследователями по программе Bug Bounty.
Проблемы
При этом у нас были проблемы. Вот только некоторые из них:
- Про нас знали не все команды.
- Мы не успевали следить за всеми изменениями в приложениях из-за высокого темпа развития продуктов.
Очевидно, что нам требовалось рассказать как можно большему числу продуктовых команд о команде AppSec. Для этого мы поставили в приоритет направление разработки secured-by-design продуктов с постоянным обучением и тренингом сотрудников.
Решение
Вот известная модель, которая отображает все практики безопасности на полном цикле безопасной разработки ПО.
Мы решили сосредоточиться на трех составляющих:
Для погружения разработчиков в основы безопасности мы создали для них процесс онбординга.
Все разработчики на iOS, Android и веб проходят интерактивное обучение безопасной разработке. В конце обучения их ждет тест. Прошел успешно — молодец, ты закончил обучения. Завалил тест — вот тебе видеокурс в формате внешнего тренинга, изучай заново, а после снова проходи тест. Ну а мы можем извлечь данные тестов и увидеть, какая область в компании требует особого внимания в разрезе безопасности.
Внешний тренинг. Для тренинга сотрудников мы привлекаем лучших специалистов по безопасности на российском рынке. Два дня эксперты рассказывают, как эффективно ломать приложения и не допускать уязвимостей.
Эксперты довольно подробно знакомят слушателей с методологией OWASP, отвечают на вопросы. Тренинг интерактивный — слушатели прямо в его процессе активно участвуют в «поломке» и «починке».
На текущий момент обучение прошли около 350 разработчиков по всем направлениям.
Гайды
По каждому из направлений у нас есть подробные гайды: по защите мобильных приложений, веба, криптографии и так далее.
Также держим в базе знаний руководства по best practices и чек-листы по проверке приложений на уязвимости (ASWS и MASWS). Стараемся задействовать тестировщиков по этим чек-листам.
Security Champions
Мы ввели в компанию практику борьбы с уязвимостями с помощью членов самих команд — она называется Security Champions (ее используют в Гугле, Яндексе и других крупных компаниях). У человека из команды намного больше представлений о «внутренней кухне» проекта, чем у нас.
Мы собрали около 20 самых опытных разработчиков и архитекторов с ощутимым интересом к безопасности и активной командной позицией. Затем стали проводили с ними встречи, на которых рассказывали о типовых и нетиповых уязвимостях. На встречах, помимо теории, участники практиковали навыки взлома на специально подготовленных виртуальных машинах.
Security Champions получали ощутимые профиты:
- Обучение у лучших экспертов.
- Опыт в SSDL и в развитии безопасной архитектуры приложения.
- Расширение кругозора.
- Повышение собственной ценности как специалиста.
Для нас это тоже было важной практикой. Каждый «Чемпион», заряженный знаниями, возвращается в команду и внедряет новые знания там, в своих продуктах.
Внутренний Bug Bounty
Мы создали программу поощрения поиска уязвимостей для сотрудников Тинькофф. Каждому, кто найдет уязвимость и пришлет ее нам, мы вручаем специальные бейджи: «Хакер», «Сыщик» и «Исследователь», которые дают доступ к подаркам. По этой программе мы нашли 15% от всех багов за 18 месяцев.
Кроме того, дважды в год мы проводим «месяц багов» со специальными призами. За месяц мы находим по 5% уязвимостей от всего их количества.
Обзор уязвимостей
Иногда мы натыкались на одни и те же уязвимости в разных продуктах. Чтобы снизить такую вероятность и минимизировать типовые уязвимости, мы начали выпускать дайджест — «Дневник хакера». В нем, кроме обзора типовых уязвимостей, мы даем рекомендации по тому, как их фиксить.
Разные специалисты дают очень позитивный фидбэк.
Вместо итогов
Все эти меры помогли нам значительно повысить качество безопасности в разработке. Поиск уязвимостей стал для сотрудников игрой, в которой они не только с пользой проводят время, но также привлекают внимание коллег и получают призы от работодателя. Настоящий вин-вин, во всех смыслах.