UAppSec
375 subscribers
59 photos
2 videos
7 files
61 links
Трохи про апплікєйшн сек'юріті та світ навколо нього. Авторський блог Віталія Балашова.
Download Telegram
Channel created
Channel name was changed to «AppSec оборона»
Доброго дня, еврібаді

Стартую свій авторський блог. Про безпеку додатків. Максимально професійно. Принаймні намагатимуся, а там вже як вийде.
Маю надію, що нотатки з мого досвіду допоможуть комусь підвищити свою кваліфікацію та зробити ваш софт та інфру безпечніше, стійкіше та надійніше.

Поїхали!
Як зрозуміти поточний стан справ?

Поширена практика для визначення стану безпеки софтварного продукту - використовувати пентест чи якісь схожі на нього аудити. Пентест не є аудитом, пентест є різновидністю тестування. Загальну ж оцінку слід проводити за чимось більш призначеним для цього. Наприклад за існуючими моделями зрілості продукту (SAMM, BSIMM, тощо) або на відповідність якимось галузевим стандартам (ISO 27001 або більше специфічні).
Вже згаданий пентест є складовою будь-якої моделі зрілості чи вимогою більшості галузевих стандартів.

Надалі розпочинаємо серію постів про детальну роботу із SAMM, BSIMM, ASVS та іншими стандартами.
Channel name was changed to «AppSec Оборона»
SAMM - Software Assurance Maturity Model

Моделі зрілості - це такі собі колекції вимог до продукту (чи чогось ще). Відповідність даним вимогам або їх частині дозволяє надавати певну оцінку продукту і формувати подальшу стратегію, і, як наслідок, тактику поведінки з цим продуктом.
Моделі зрілості доволі часто передбачають рівні, на які можуть виходити продукти, що спрощує сприйняття загальної оцінки та не вимагає від нетехнічного менеджменту глибоко занурюватись у "ті ваші технічні штуки". Пізніше ми розберемо декілька моделей та порівняємо їх, але зараз почнемо із OWASP SAMM.

Перш за все SAMM - це модель зрілості життєвого циклу софта (SDLC). Тобто SAMM передбачає, що ви розроблюєте свій продукт та обслуговуєте його, а не лише роздеплоїли готовий. Хоча і у цьому випадку можна використовувати відповідну частину SAMM.

Якщо вам треба якось довести замовнику, що ви дотримуєтесь кращих практик безпечної розробки - не кажіть йому про OWASP top 10. Кажіть йому про OWASP SAMM.

Уся модель повністю відкрита та доступна на офіційному сайті проекту: owaspsamm.org
Там же можна знайти вже готовий формуляр для проведення первинного асесменту на відповідність моделі. Можете ознайомитися за матеріалами сайту самостійно, поки я готую наступний пост. Будемо проводити асесмент разом :)

#SAMM
Приклад автоматично порахованого результата асесменту. Тобто поточний стан безпеки вашого продукту за SAMM-ом та прогрес у кожному з доменів розділений по фазах проведення робіт.

#SAMM
Як користуватися excel таблицею для інтерв'ю

Дуже зручно, прозоро та ефективно використовувати excel-таблицю, що розповсюджується через офіційний репозиторій OWASP SAMM. На перший погляд вона трохи складна, але це лише на перший погляд. Та й взагалі, ласкаво просимо до професії, де усе складно.

Перший лист таблиці суто титульний. Можете дізнатися щось про авторів.

Другий лист містить метадані проекту та форму для інтерв'ю. Має сенс заповнювати метадані, коли у вас більше одного проекту та ви нормально ведете документацію. А якщо ви такі ж, як я, то можна і пропустити його. Краще заповніть.

На кожне питання інтерв'ю запропонований варіант відповіді. Не ставте туди кастомних відповідей, бо на базі заданих опцій рахуються коефіцієнти, що вкрай важливі надалі.

Scored та Roadmap Chart формуются автоматично і вам не треба там щось змінювати. Лише отримувати наглядну інфу про стан речей.

Roadmap слід використовувати для відслідковування інкременту стану безпеки. Іншими словами - прогрес роботи. Просто заповнюйте інтерв'ю ще раз але тепер у колонках для фази 2, потім для фази 3 и і т.д.

#SAMM
Так виглядає Score Card та інтерв'ю листи у згаданій вище ексельці. Дуже зручно. Транслювання ситуації у вимірювальні величини є правильним шляхом для конструктивного розвитку. "Не можешь виміряти - не контролюєш" (с) десь чув

#SAMM
Структура моделі OWASP SAMM

Модель ієрархічно складена із:
- бізнес функцій - найвищий рівень. Всього п'ять.
- Практик безпеки - по три в кожній бізнес функції
- Рівнів зрілості - по три для кожної практики
- Потоків - по два для кожної практики

На мою думку, краще за все візуально структура зображена на ось цій картинці.
Горизонтальне та вертикальне розподілення блоків ефективно структурує ці дані. Власне, просто подивіться, тут нічого додати.

#SAMM