Перейти к содержанию
AM_Bot

Обзор Start EDU, платформы по обучению продуктовых команд навыкам безопасной разработки

Recommended Posts

AM_Bot
Обзор Start EDU, платформы по обучению продуктовых команд навыкам безопасной разработки
Start EDU — платформа, которая помогает командам разработки научиться писать код без уязвимостей. Учебные модули подбираются автоматически на основе знаний разработчиков и характеристик продукта, над которым они работают. Интеграция с Jira помогает встроить обучение в рабочий процесс.      ВведениеОписание Start EDUОтличия Start EDU от обычных онлайн-курсовКак устроено обучениеТемы обучающих юнитов Start EDUКакие языки программирования поддерживаютсяДополнительные возможности продукта Start EDUКак продуктовой команде подбирается курсКак внедрить Start EDU в работу командыОценка знаний, которые получил разработчикВыводыВведениеПродуктовым командам важно думать об информационной безопасности уже на этапе проектирования архитектуры и написания кода, потому что стандартные инструменты вроде SAST или DAST не могут выявить все потенциальные уязвимости и в любом случае делают это слишком поздно — когда код уже написан.Разрешить это противоречие может обучение безопасной разработке. Но классические курсы не «заточены» под задачи продуктовых команд, само обучение — неструктурированное и скучное, а главное — непонятно, как оценить его эффективность.Чтобы решить эту проблему, команда Start X (бывший «Антифишинг») выпустила продукт Start EDU. Это платформа интерактивного обучения, которая поможет продуктовым командам писать код без уязвимостей, а специалистам по безопасности приложений — кратно снизить риски компрометации систем и клиентских данных.В обзоре мы подробнее рассмотрим, как устроена платформа Start EDU.Описание Start EDUStart EDU помогает разработчикам научиться писать безопасный и качественный код с минимальным отвлечением от рабочих задач.Как это работает:Система проверяет навыки каждого разработчика через тестирование и автоматически составляет карту его компетенций.Руководитель продуктовой команды заполняет анкету, в которой указывает характеристики создаваемого ПО и распределяет разработчиков по командам.На основе этих данных платформа автоматически подбирает обучающие модули под уровень знаний разработчика и его рабочие проекты.Отличия Start EDU от обычных онлайн-курсовЕсть несколько особенностей, которые отличают обучение в Start EDU от типовых курсов по безопасной разработке.Учебные модули построены исходя из проектных задач каждого разработчика в команде. Основная цель — минимизировать количество времени и сил, которые разработчик потратит на обучение. Для этого в обязательных учебных модулях должна быть только та информация, с которой разработчик сталкивается в своей реальной деятельности.Прежде чем подобрать курс, платформа тестирует имеющиеся знания и навыки разработчика, а также анализирует характеристики ПО, с которым он работает в команде. После этого ему автоматически подбираются модули, которые нужно пройти в первую очередь, чтобы закрыть эти потребности.Так можно избежать классического подхода к обучению, когда на всех разработчиков компании массово назначается одинаковый набор курсов, но в реальной работе они не знают, как сделать продукт безопасным. Рисунок 1. Процесс разработки, в котором обучение по безопасности не учитывает специфики проектов Теория основана на экспертных знаниях и практике. Теория в обучении — всегда проблемная часть, потому что информация обычно не привязана к реальной работе специалистов и даёт только поверхностное понимание изучаемой темы. В Start EDU решили эту проблему: на основе личной карты компетенций разработчика платформа предложит ему учебные модули, информацию из которых он сразу сможет использовать в своих рабочих проектах. При этом каждый теоретический блок даёт полную информацию по изучаемой теме.Например, если говорить о безопасной работе с зависимостями, то в учебном модуле будет не общая теория, а конкретные кейсы, которые показывают векторы угроз для разработчиков, имеющих дело с этими зависимостями. Платформа учитывает реальный контекст и старается понятными разработчику терминами и ситуациями описывать эту уязвимость. Рисунок 2. Пример теории из учебного модуля по безопасной работе с зависимостями После теоретической части разработчик проходит тест (квиз) на реальных примерах, чтобы проверить свои знания. Рисунок 3. Процесс разработки, в котором обучение по безопасности учитывает специфику проектов Как устроено обучениеКаждый курс состоит из тем (юнитов) с актуальной теорией, обязательными примерами из реальной среды и проверочными заданиями, которые основаны на историях уязвимых приложений.Юнит — это специальный формат обучающего контента, который используется на платформе. Юниты написаны и построены таким образом, что будут полезны и интересны любому разработчику — специалисты сами выбирают, какие разделы изучать, в зависимости от своего уровня. Рисунок 4. Процесс создания юнита на платформе Среднее время прохождения юнита:Теория — 30–60 минут.Квиз — 10–15 минут, 3–5 заданий.Практика — 15–25 минут.Теоретическая часть описана «общим» языком, который понятен любому разработчику. В ней есть разделы «Зачем этот курс», «Как происходит атака». В разделах, где приводятся примеры кода, разработчики могут выбрать тот язык, на котором они хотят увидеть пример, и затем использовать полученные знания в работе.Квизы с проверочными вопросами, как и теория, основаны на реальных примерах. Примеры доступны на восьми языках. Рисунок 5. Пример проверочного вопроса в квизе В практике разработчикам нужно выполнять задания на поиск уязвимостей в приложениях — выбрать правильные варианты реализации защиты. Рисунок 6. Задание на поиск уязвимостей в приложении в формате ревизии кода (код-ревью) Темы обучающих юнитов Start EDUВ курсе 11 модулей, они охватывают основные темы по информационной безопасности:Защита от подделки межсайтовых запросов (CSRF).Работа с идентификационными файлами (cookie) и HTTP-заголовками.Защита от атак на XML-серверы (XXE).Кодирование и экранирование при работе с браузерами (XSS).Предотвращение манипуляции именами файлов и каталогов (Path Manipulation).Безопасная работа с зависимостями в коде.Работа с SQL.Предотвращение небезопасного прямого доступа (Insecure Direct Object Reference).Обработка входных данных.Работа с секретами (пароли, ключи, токены).Безопасная настройка Kubernetes.Какие языки программирования поддерживаютсяStart EDU даёт актуальную теорию и практику на 7 языках программирования (Java, Python, PHP, SQL, C#, Go, JavaScript) и на языке разметки HTML.Дополнительные возможности продукта Start EDUМасштабируемость на любое количество пользователей.Назначение баллов пользователю за пройденное обучение.Создание, добавление и назначение собственных обучающих материалов.Как продуктовой команде подбирается курсШаг 1. Оценка знаний и навыковStart EDU выявит навыки разработчиков через тестирование и автоматически составит матрицу их компетенций. Это позволит понять, что люди умеют, знают и понимают в безопасной разработке сейчас.Знания проверяются с помощью бесплатного публичного теста Security Champion, который основан на базе реальных кейсов по взлому приложений. В тесте 20 заданий по пяти темам, по каждой из них разработчик получает оценку. Рисунок 7. Личная карта компетенций сотрудника Шаг 2. Определение характеристик продуктаРуководитель (тимлид) заполняет анкету приложения, которым занимается его команда. На основе этой анкеты строится карта архитектуры продукта, по которой станет понятно, что сейчас важнее всего изучить разработчикам.На этом этапе можно добавить всех пользователей на платформу через Active Directory и распределить их по проектам. Рисунок 8. Карта архитектуры продукта, построенная на основе заполнения анкеты Шаг 3. Автоматический подбор обучающих модулей на основе знаний разработчиков и характеристик продуктовПосле тестирования разработчиков и картографирования архитектуры продукта Start EDU автоматически подбирает обучающие модули. Какие-то из них будут обязательными для этого проекта, какие-то — факультативными. В результате получится понятный план по обучению на основе реальных проектов продуктовой команды.Как внедрить Start EDU в работу командыЕсть несколько способов внедрить Start EDU так, чтобы это помогало решать реальные задачи безопасности.Интеграция с Jira. На этапе разработки, когда уже есть команда и она делает функции продукта, платформа может назначить обучение через Jira как задачу. В этом случае обучение выглядит не как внешнее дополнительное поручение, а как обычная рабочая задача, которую нужно закрыть.Ускоренное прохождение точек проверки (security gate). Во время релиза код проверяют сканеры — по их отчётам специалист по безопасности понимает, какие потенциальные уязвимости в коде нужно исправить. Отчёт может состоять из десятков замечаний, которые программист должен взять в работу. Проблема — в том, что сканирование только указывает на замечания, не всегда понятно, как их исправить. На этом этапе можно подключить Start EDU: платформа получит замечания, проанализирует их и даст рекомендации, как их исправить и что нужно изучить по теме.Подход «сдвиг влево» (shift left security). Start EDU можно внедрить уже на этапе требований к команде продукта. Допустим, команда будет делать мобильное приложение. Тогда уже известны потенциальные релевантные векторы угроз и платформа на раннем этапе сможет назначить обучение, чтобы разработчики понимали, как делать те или иные вещи в контексте безопасности. Это позволит на ранних этапах выявлять угрозы и уязвимости.Оценка знаний, которые получил разработчикВ Start EDU можно отслеживать статус обучения по проектам, командам и разработчикам в настоящем времени.Как это выглядит, показано на иллюстрациях далее. Рисунок 9. Личная карта компетенций Рисунок 10. Проектная карта компетенций Рисунок 11. Рейтинг сотрудников Карты компетенций и рейтинг сотрудников показывают, кто и с какими результатами проходит обучение. Также с их помощью можно узнать, в каких вопросах больше всего проблем с точки зрения обучения, какие темы проседают, и на этом основании, к примеру, назначать код-ревью.Ещё один способ проанализировать результаты обучения — провести входное и выходное тестирование с помощью бесплатного публичного теста Security Champion. Можно брать случайную выборку сотрудников, замерять их результаты в начале обучения и в его конце. Так команды безопасности наглядно увидят, каков прогресс у разработчиков и в каких темах они углубили свои знания.Всё это повышает культуру безопасности и учит писать качественный и безопасный код.ВыводыНа новой платформе Start EDU обучение становится для разработчиков интересным, эффективным и применимым на практике. Это возможно благодаря следующим особенностям:Обучение проводится с учётом специфики проекта и продукта.Прохождение курса встраивается в рабочие задачи команды.Практика учитывает разные языки программирования.После обучения можно оценить компетенции команды и каждого разработчика по отдельности.Получить демонстрацию Start EDU для своей команды можно по запросу на сайте вендора.Реклама. Рекламодатель ООО «Антифишинг», ИНН 6950191442, ОГРН 1166952058680LdtCKBgUy

Читать далее

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • demkd
      ---------------------------------------------------------
       4.15.3
      ---------------------------------------------------------
       o Добавлен новый модуль uvsv для систем не младше Vista.
         Признаком его работы является номер версии uVS c буквой v на конце: 4.15.3v.
         Модуль позволяет получить более четкие шрифты при активном масштабировании.
         На системах младше Vista будет работать обычная версия 4.15.3.

       o Выбранный шрифт теперь применяется и к меню.

       o Добавлена подстройка размеров списка под размер шрифта в окне активности процессов.
         Улучшена функция сортировки процессов по загрузке GPU.

       o Добавлена подстройка размеров списка под размер шрифта в окне удаления программ.

       o Добавлена подстройка размеров списка под размер шрифта в окне списка сохраненных компьютеров.

       o На основе полученных дамп-файлов выявлены и исправлены ошибки:
         o Исправлена критическая ошибка в файле английской локализации (файл lclz).
         o Исправлена потенциальная критическая ошибка при попытке загрузки поврежденного файла сигнатур.
       
    • Ego Dekker
      Домашние антивирусы для Windows были обновлены до версии 17.1.11.
    • Ego Dekker
    • PR55.RP55
      .xml  файлы taskschd.msc Могут быть подписаны  цифровой подписью. Думаю будет нелишним, если uVS будет это фиксировать. т.е. проверять не только подпись целевого файла, но и подпись самого файла\задачи. и писать в ИНфО .  
    • demkd
      ---------------------------------------------------------
       4.15.2
      ---------------------------------------------------------
       o Исправлена ошибка при работе с образом автозапуска.
         Для некоторых процессов команда unload не добавлялась в скрипт при нажатии кнопки "принять изменения".  o Добавлена плашка окна на таскбаре для окна удаленного рабочего стола.
         (при работе с удаленной системой) -----------------------------------------------------------
      Есть проблема с локализацией глюка в редких случаях приводящему к аварийному завершению uVS при активном флаге "Проверять весь HKCR".
      На основе дампов его найти не получается, нужна копия реестра системы с такой проблемой, если кому-то попадется такая проблема, то присылайте архив с копией реестра системы мне на почту.  
×