You are on page 1of 8

Захист інформації

та кібернетична безпека
УДК 623.4.05 DOI: 10.30748/soi.2020.160.17
А.О. Гапон1, В.М. Федорченко1, А.О. Поляков2
1
Харківський національний університет радіоелектроніки, Харків
2
Харківський національний економічний університет ім. С. Кузнеця, Харків

ПІДХОДИ ДО ПОБУДОВИ МОДЕЛІ ЗАГРОЗ


ДЛЯ АНАЛІЗУ БЕЗПЕКИ ВІДКРИТОГО ПРОГРАМНОГО КОДА

Гарантування безпеки програмного продукту з відкритим вихідним кодом є актуальною проблемою, бо


навіть у проектах з закритим вихідним кодом можуть бути присутні open source бібліотеки, що робить
можливим появу вразливості у них. Серед методів, що використовують для виявлення вразливостей, варто
виділити моделювання загроз, бо цей метод дозволяє вже на ранніх етапах розробки програмного коду при-
йняти заходи, що знизять витрати на ліквідацію вразливостей та спростять їх усунення і зміни до архіте-
ктури додатку. Підбір відповідного підходу при побудові моделі загроз залежить від специфіки проекту,
ресурсів, а також кваліфікації адміністраторів.

Ключові слова: модель загроз, відкритий вихідний код, STRIDE, OCTAVE, TRIKE, PASTA, VAST.

Вступ системи життєво важливою. Якщо такі підприємства


або організації впроваджують в свій програмний
Програмне забезпечення з відкритим вихідним стек відкритий вихідний код, зловмисники можуть
кодом (open source) активно розробляється відповід- скомпрометувати конфіденційну і критичну інфор-
ними спільнотами і стає загальнодоступним. Програ- мацію, використовуючи деякі уразливості в програ-
мне забезпечення з відкритим кодом як концепція мному забезпеченні. Тому, для отримання максима-
почала розвиватися з ідей прозорості, підвищення льного ефекту від програмного забезпечення з від-
якості, високої надійності, гнучкості, низької вартості критим вихідним кодом, код повинен бути належ-
та припинення прив'язки до постачальника. Але дося- ним чином проаналізовано, щоб виявити будь-яку
гнення цього можливо тільки за рахунок збільшення вразливість, виявити і виправити її до розгортання
тривалості періоду розробки [1]. програмного продукту. Таким чином, підприємства
Безпечне програмне забезпечення є ключовою та інші користувачі програмного забезпечення з від-
вимогою для організацій, які планують впровадити критим вихідним кодом можуть забезпечити безпе-
програмне забезпечення з відкритим вихідним ко- ку своєї важливої і критичної інформації і тим са-
дом як частину свого програмного стека. мим знизити ризик втрат і збитків [2].
Організації, які впроваджують неперевірене на Первинним етапом для оцінки безпеки коду ПО
безпеку програмне забезпечення з відкритим вихід- є модель загроз. Існує ряд методів розробки моделей
ним кодом в свою систему або використовують для загроз, які найчастіше спрямовані на інформаційну
розробки відкриті фреймворки, більш уразливі для систему в цілому, також розглядають питання крип-
атак, тому важливо виявляти уразливості в програм- тографічної моделі загроз, а також мережеву модель
ному забезпеченні з відкритим вихідним кодом до загроз, що спрямована на інфраструктуру. Моделі,
його реліза або використання фреймворків. Слід які спрямовані на аналіз безпеки коду, в явному ви-
також враховувати профіль безпеки інформаційної гляді відсутні.
системи, критично відстежувати безпеку програм- Таким чином, метою роботи є адаптація існу-
ного забезпечення, виявляючи уразливості в вихід- ючих макетів до моделі загроз для аналізу безпеки
ному коді на ранній стадії розробки, а також уразли- відкритого програмного коду. Розроблена модель
вості проектування і архітектури ПО та його інфра- загроз може використовуватися при побудові надій-
структури шляхом розробки моделі загроз. ної стратегії безпеки для програми.
Підприємства та інші організації зберігають
величезні обсяги конфіденційних і критичних даних
в своїх комп'ютерних системах, і це робить безпеку
128 © Гапон А.О., Федорченко В.М., Поляков А.О., 2020
Захист інформації та кібернетична безпека

Виклад основного матеріалу Існує п'ять аспектів моделювання загроз безпеці:


Визначити загрози. Перше, що потрібно зроби-
Модель загроз ти, – це визначити цікаві ресурси. Спочатку моде-
Моделювання загроз застосовується до широ- люють систему або за допомогою діаграм потоків
кого спектру систем організації, включаючи бізнес- даних (DFD), або з діаграмами розгортання UML. З
процеси, інформаційні системи, мережеву інфра- цих діаграм можна визначити точки входу в систе-
структуру, розподілені підсистеми, додатки і серві- му, такі як: джерела даних, інтерфейси прикладного
си, програмний код і т.д. програмування (API), веб-служби та сам призначе-
Процес моделювання загроз може виконувати- ний для користувача інтерфейс. Оскільки зловмис-
ся на будь-якій стадії розробки, переважно на ранній ник отримує доступ до системи через точки входу,
стадії, щоб результати могли допомогти при розро- він є відправною точкою для розуміння потенційних
бці проекту і скоротити витрати. загроз. Щоб допомогти ідентифікувати загрози без-
Таким чином, під моделюванням загрози буде- пеки, ви повинні додати “кордони привілеїв”. Кор-
мо розуміти метод, який використовується для роз- дони привілеїв розділяють процеси, об'єкти, вузли і
робки моделі шляхом ітеративної оцінки вразливос- інші елементи, які мають різні рівні довіри. Скрізь,
тей в додатку, також така модель допомагає виявля- де аспекти інформаційної системи перетинають ко-
ти, повідомляти і розуміти загрози та заходи щодо їх рдони привілеїв, можуть виникнути проблеми з без-
зниження в контексті захисту критичних ресурсів. пекою.
Адекватні моделі загроз інформаційній безпеці Зрозуміти загрози. Щоб зрозуміти потенційні
дозволяють виявити існуючі загрози, розробити загрози в точці входу, потрібно визначити будь-які
ефективні контрзаходи, підвищивши тим самим рі- критично важливі для безпеки дії та уявити, що може
вень інформаційної безпеки, і оптимізувати витрати зробити зловмисник, щоб атакувати або неправильно
на захист, сфокусувавши її на актуальних загрозах. використати систему. Слід виходити з того, що зло-
Моделювання загрози використовується, щоб вмисник може використовувати ресурс системи (ПО)
допомогти адміністратору безпеки (DevOpsSec) для для зміни контролю над системою, вилучення обме-
прийняття рішень по мінімізації ризиків. Аналіз ри- женої інформації, маніпулювання інформацією в сис-
зику загрози ділиться на два типи – кількісні і якісні. темі, збою системи або неможливості її використан-
Модель загроз включає в себе: ня, або отримання додаткових прав. Таким чином,
– опис (специфікація) / архітектура / модель можна визначити шанси того, що зловмисник отри-
критичних ресурсів інформаційної системи; має доступ до ресурсу, не пройшовши аудит, не про-
– список рекомендацій, які можуть бути пере- пустивши ніяких перевірок контролю доступу та не
вірені або оскаржені в майбутньому при зміні ланд- скориставшись аккаунтом іншого користувача.
шафту загроз; Класифікувати загрози. Для класифікації за-
– список потенційних загроз для системи; гроз безпеки варто розглянути підходи до побудови
– список дій, які необхідно вжити для пере- моделі загроз, наприклад STRIDE. Класифікація
криття кожної загрози; загрози [4] є першим кроком до ефективного пере-
– стратегію тестування моделі загроз і перевір- криття загрози або зниження її критичності.
ки успішності вжитих заходів [3]. Визначити стратегії перекриття загроз. Щоб
У якості відправної точки необхідно визначити визначити, як знизити критичність загрози, форму-
область застосування моделі загроз. Для цього по- ється діаграма, яка називається деревом загроз. У
трібно проаналізувати додаток (програмний код), з корені дерева знаходиться сама загроза, а його дочі-
використанням наступних підходів: рні елементи (або листя) є умовами, які повинні бу-
– аналіз архітектурних схем; ти справедливими, щоб противник відтворив загро-
– переходи потоку даних; зу. Умови, в свою чергу, можуть мати підумови.
– класифікація даних. Кожен шлях через дерево загроз, який не закінчуєть-
Слід враховувати, що коли програмний код ся стратегією пом'якшення, є вразливістю системи.
змінюється (виправляються дефекти або впроваджу- Тестова стратегія. Модель загроз стає планом
ється новий функціонал), то це впливає на безпеку для тестування на проникнення. Тестування на про-
всієї програми. При цьому необхідно розуміти, що никнення досліджує загрози, безпосередньо атакую-
такі дії не завжди очевидні. чи систему, поінформованим або не поінформова-
Моделювання загроз безпеки дозволяє створи- ним способом. Поінформовані тести на проникнен-
ти профіль загрози системи, вивчивши її очима по- ня – це, по суті, тести білого ящика, які відобража-
тенційних зловмисників. За допомогою таких мето- ють наявність доступу до внутрішнього пристрою
дів, як ідентифікація точки входу, межі привілеїв і системи, в той час як не інформовані тести за своєю
дерева загроз, стає можливим з’ясувати стратегії для природою є тестуванням чорного ящика, тобто без
зниження потенційних загроз для програмного коду. доступу до самого коду програми.

129
Системи обробки інформації, 2020, випуск 1 (160) ISSN 1681-7710
Підходи до побудови моделей безпеки доступ і, таким чином, має достатній доступ для
злому або руйнування всієї системи. Загрози підви-
Розглянемо підходи, такі як STRIDE, TRIKE,
щення привілеїв включають в себе ті ситуації, в
OCTAVE, PASTA, VAST.
яких зловмисник ефективно проник в усі захисні
STRIDE системи і стає частиною самої довіреної системи, і
При проектуванні системи аналізують загрози з це дійсно небезпечна ситуація. Приклад: зловмис-
точки зору зловмисника. Моделювання загроз, або ник змінює членство в групі [5].
аналіз архітектурних ризиків, являє собою контроль Найпростіший спосіб застосувати модель
безпеки для виявлення і зниження ризиків. Модель STRIDE до додатка – розглянути, як кожна із загроз
загроз STRIDE розподіляє загрози за категоріями, в моделі впливає на кожен компонент системи і ко-
щоб потенційні загрози могли оцінюватися з точки жне з його з'єднань або зв'язків з іншими компонен-
зору зловмисників. тами програми.
Підроблена особистість (Spoofing identity).
TRIKE
Прикладом підроблення ідентифікаційних даних є
Моделювання загроз Trike є процес моделю-
незаконний доступ, а потім використання аутенти-
вання загроз з відкритим вихідним кодом, спрямо-
фікаційної інформації іншого користувача, такої як
ваний на задоволення процесу аудиту безпеки з точ-
ім'я користувача і пароль. Приклад: фішингова ата-
ки зору управління кібер ризиками.
ка, щоб обдурити користувача і відправити облікові
Основою методології є “модель вимог”, яка гара-
дані на фальшивий сайт.
нтує, що призначений рівень ризику для кожного ак-
Незаконна зміна (Tampering with data). Підроб-
тиву є “прийнятним” для різних зацікавлених сторін.
ка данних, яка включає в себе зловмисну зміну да-
Документ з вимогами до додатка повинен бути
них. Приклади включають несанкціоновані зміни,
розбитий по ресурсам, з якими будуть взаємодіяти
внесені в постійні дані, наприклад такі, що зберіга-
різні типи користувачів: інформаційна система і
ються в базі даних, і їх зміна під час передачі між
користувачі в сукупності зі своїми правами доступу.
двома комп'ютерами по відкритій мережі, такій як
На етапі інтеграції коду його слід перевірити на
Internet. Приклад: цілісність повідомлення скомпро-
відповідність зі специфікацією продукту, щоб пере-
метована для зміни параметрів або значень.
конатися, що він не виходить за рамки технічного
Відмова (Repudiation). Прикладом відмови є
завдання. По можливості слід використовувати на-
виконання неприпустимою операції в системі, в якій
бори тестів з безпеки, щоб автоматично підтверджу-
відсутня можливість відстежувати заборонені опе-
вати покриття кодом вимог специфікації з метою
рації. Наприклад, якщо користувач, який виконав
виявлення непокритого коду. Якщо в ході реалізації
дію в системі, вніс зміни в базу даних або програм-
будуть виявлені нові вектори атак або якщо написа-
ний код, то його дії повинні бути занесені в log жур-
ний код відхиляється від специфікації, документ
нали аутентифікації і змін бази даних. Таким чином,
специфікації повинен бути оновлений, щоб забезпе-
система підтверджує причетність користувача до
чити правильність моделі загрози.
змін.
Модель реалізації аналізується для створення
Розкриття інформації (Information disclosure).
моделі загрози. Загрозам присвоюються відповідні
Загрози розкриття інформації включають в себе роз-
значення ризику, за якими адміністратор безпеки
криття інформації особам, які не повинні мати до-
створює вектори атак. Потім призначаються засоби і
ступу до неї. Наприклад, можливість користувачів
методи для зниження значущості потенційних за-
роботи з файлом, до якого їм не надано доступ, або
гроз, необхідні для усунення пріоритетних загроз і
здатність зловмисника отримувати дані при їх пере-
пов'язаних з ними ризиків. У висновку, адміністра-
дачі по каналу зв'язку. Приклад: незашифрований
тори розробляють модель ризику на основі завер-
трафік по протоколах TCP / HTTP.
шеної моделі загроз за допомогою активів, ролей,
Відмова в обслуговуванні (Denial of service).
дій і схильності загрозам [6].
Атаки типу “відмова в обслуговуванні” (DoS) від-
мовляють в обслуговуванні чинним користувачам, OCTAVE
наприклад, роблячи веб-сервер тимчасово недосту- Octave підтримує профілювання виконання коду
пним або непридатним для використання. Необхід- на рівні функцій. Кожен виклик функції (підтриму-
но захищати систему та інфраструктуру різних типів ються вбудовані модулі, оператори, функції в файлах,
DoS-загроз, атаки можуть проводитися як на мере- призначені для користувача функції в коді Octave і
жеві служби DNS, routing, програмні сервера (web- анонімних функцій) записується під час виконання
cервера, бази даних), а також сам web-додаток. коду. Після цього ці дані можуть допомогти в аналізі
Несанкціоноване підвищення привілеїв. поведінки коду і, зокрема, допоможуть знайти “гарячі
(Elevation of privilege). В даному типі загроз непри- точки” в коді з точки зору безпеки.
вілейований користувач отримує привілейований Методологія моделювання загроз OCTAVE

130
Захист інформації та кібернетична безпека
орієнтована на оцінку організаційних (нетехнічних) атак. Це може гарантувати прийняття деяких ризиків
ризиків, які можуть виникнути в результаті пору- замовниками або менеджерами по розробці [8].
шення даних ресурсів. Використовуючи цю методо- PASTA надає підхід до моделювання загроз,
логію моделювання загроз, інформаційні ресурси орієнтований на ризик, який заснований на фактич-
організації ідентифікуються, а набори даних, які них даних. Експерти з безпеки співвідносять реальні
вони містять, отримують атрибути в залежності від загрози з поверхнею атаки компонентів програми та
типу даних, що зберігаються. виявляють ризики.. Також проводять тести експлуа-
У OCTAVE відсутня масштабованість – оскіль- тації, які визначають потенційні загрози моделі, щоб
ки технологічні системи автоматично додають кори- перевірити, чи є вони ймовірними.
стувачів, додатки і функціональні можливості, вна- Співвідношення життєздатності зі стійким
слідок цього ручний процес може швидко стати не- впливом дозволяє цій методології позиціонувати
керованим. Даний метод найбільш корисний при себе як високоефективний підхід до моделювання
створенні корпоративної культури з урахуванням загроз, орієнтований на ризики.
ризиків. Він легко налаштовується відповідно до Методологія моделювання загроз PASTA є се-
конкретної політики/профілю безпеки організації і миетапним процесом узгодження бізнес-цілей і тех-
областю ризику [7]. нічних вимог, а також аналізом ризиків, який не за-
Хоча моделювання загроз OCTAVE забезпечує лежить від платформи.
надійне, орієнтоване на ресурси уявлення і розумін- PASTA поєднує орієнтований на зловмисника
ня організаційних ризиків, документація може стати погляд на потенційні загрози з додатком і його ін-
об'ємною. фраструктурі, виходячи з чого стає можливим роз-
робити стратегію зниження ризиків.
PASTA
Дана методологія найкраще підходить для ор-
Дана методологія об'єднує вплив на бізнес,
ганізацій, які хочуть узгодити моделювання загроз зі
властивий додатку ризик, межі довіри між компоне-
стратегічними цілями, оскільки вона включає аналіз
нтами програми, корельовані загрози і шаблони
впливу на бізнес як невід'ємну частину процесу.
атак, які використовують виявлені недоліки в ході
моделювання загроз. До PASTA більшість моделей VAST
загроз додатків не враховували фактичні загрози. Методологія VAST з'явилася для усунення об-
Визначити бізнес-контекст додатку. На дано- межень і недоліків інших методологій побудови
му етапі враховується характерний для додатка моделей загроз. Принцип методології VAST полягає
профіль ризику і враховуються інші фактори впливу в важливості масштабування процесу моделювання
на бізнес на ранніх етапах SDLC або для даного загроз по всій інфраструктурі і SDLC (Secure
Sprint в рамках Scrum. Development Lifecycle), а також досягнення плавної
Перелік технологій. Призначений для декомпо- інтеграції в методологію гнучкої розробки програм-
зиції технологічного стека, який підтримує компо- ного забезпечення. Мета VAST – надати рекоменда-
ненти програми, що реалізують бізнес-цілі, визначе- ції зацікавленим сторонам, включаючи розробників
ні на попередньому етапі. і фахівців з безпеки.
Декомпозиція додатку. Орієнтована на розу- Методологія VAST включає три необхідні
міння потоків даних між компонентами і службами компоненти для підтримки масштабується рішення:
додатку в моделі загроз. автоматизація, інтеграція і співпраця.
Аналіз загроз. Перевірка властивих для даної Автоматизація. Автоматичне моделювання за-
системи загроз з урахуванням галузевих аналітич- гроз скорочує необхідний час від годин до хвилин.
них даних про загрози, що зачіпають роботу серві- Це дозволяє продовжувати процес моделювання
сів, обробку та зберігання даних, конфігурації і мо- загроз – загрози можуть оцінюватися в процесі про-
делі розгортання. ектування, реалізації та після розгортання на регу-
Ідентифікація уразливості. Визначення враз- лярній основі, що дозволяє масштабувати моделю-
ливостей і слабких місць в архітектурі і коді про- вання загроз, щоб охопити всю інформаційну сис-
грами і зіставленні їх, щоб переконатися, що вони тему, гарантуючи, що загрози ідентифікуються, оці-
підтверджують відомості про погрози з попередньо- нюються і розставляються пріоритети на всьому
го етапу. протязі процесу розробки.
Моделювання атаки. Фокусується на емуляції Інтеграція. Процес моделювання загроз пови-
атак, які можуть використовувати виявлені вразли- нен інтегруватися з інструментами, використовува-
вості на попередньому етапі. Це також допомагає ними в SDLC, щоб забезпечити узгоджені результа-
визначити життєздатність загроз по шаблонах атак. ти для оцінки. Ці інструменти можуть включати
Аналіз залишкового ризику. Концентрується на- інструменти, призначені для підтримки Agile-
вколо виправлення вразливостей в коді або архітек- середовища для розробки програмного забезпечен-
турі, які можуть сприяти загрозам і базовим моделям ня, в якій особлива увага приділяється адаптивному
131
Системи обробки інформації, 2020, випуск 1 (160) ISSN 1681-7710
плануванню і постійному вдосконаленню. дель загроз при зміні профілю безпеки або програм-
Завдяки Agile в великих проектах SDLC деко- ного коду.
мпозується на короткострокові цілі, які виконують- Дослідити додаток (Survey the Application). Пі-
ся протягом двох тижнів. Для того, щоб методології сля того, як цілі безпеки були визначені, наступним
моделювання загроз враховували Agile підхід. кроком буде огляд додатку. Дослідження додатку
Співпраця. Система моделювання загроз в ма- виконується шляхом аналізу структури додатка з
сштабах проекту вимагає участі ключових зацікав- метою визначення компонентів, потоків даних і ко-
лених сторін, включаючи розробників програмного рдонів довіри системи. Іншими словами, цей крок
забезпечення, системних архітекторів і адміністра- допомагає ідентифікувати ключові функціональні
торів з безпеки DevSecOps. можливості, характеристики та клієнтів додатку, що,
Масштабоване моделювання загроз вимагає, в свою чергу, допоможе виявити відповідні загрози,
щоб ці зацікавлені сторони співпрацювали – вико- які будуть використовуватися на наступних етапах.
ристовуючи комбіноване уявлення різних наборів Деякі моменти, які використовуються для ство-
навичок і функціональних знань для оцінки загроз рення огляду програми:
та визначення пріоритетів у зниженні рівня ризиків. Створити сценарій наскрізного розгортання:
Без співпраці неможливо досягти загальноорганіза- розробити схему, яка зображує компоненти, струк-
ційного уявлення загроз. З іншого боку, спільна ро- тури, підсистеми, характеристики розгортання, ау-
бота допомагає команді масштабувати діяльність з тентифікацію, авторизацію і механізми комунікації
моделювання загроз, щоб охопити всі етапи SDLC і компонентів у додатку.
реагувати на нові загрози з більш глибоким розу- Визначення ролей допомагає визначити як те,
мінням ризиків, пов'язаних з проектом в цілому. що має статися, так і те, що не повинно статися. На-
Інтеграція з Agile, а також іншими виробничи-
приклад, визначити, хто може читати дані, хто може
ми інструментами формує основу для спільного,
оновлювати дані, хто може видаляти дані.
комплексного процесу моделювання загроз. Вико-
Визначити ключові сценарії використання зна-
ристання VAST забезпечує цілісне уявлення всієї
чить визначити важливі функції програми. Не варто
поверхні атаки, дозволяючи проекту мінімізувати
перераховувати всі варіанти використання програ-
загальний ризик.
ми, натомість перерахувати основні.
Рекомендації для формування моделі загроз, Визначити технології: перерахувати технології
що враховує вразливості в програмному коді та ключові функції програмного забезпечення. Деякі
приклади включають операційну систему, мову роз-
Для забезпечення безпеки програмного коду
робки і так далі.
при розробці програми слід правильно оцінити мо-
Ідентифікація технологій допомагає зосереди-
жливі загрози і сформувати модель загроз, розробка
тися на специфічних для технології загрози. Визна-
якої відповідно до техніці формування моделі загроз
чити механізми захисту програми: визначити будь-
складається з декількох етапів.
які ключові моменти з наступного: аутентифікація,
Визначте цілі безпеки (Identify Security
авторизація, помилки під час введення, криптогра-
Objectives). При розгортанні додатків з відкритим
фія тощо [9].
вихідним кодом в системі найкраще визначити цілі і
Декомпозиція програми. (Decompose the
вимоги безпеки ще до того, як інтегрувати додаток в
Application). На цьому кроці варто розбити дода-
систему. Це обмеження, які впливають на конфіден-
ток, щоб визначити межі довіри, потоки даних,
ційність, цілісність і доступність даних і інших дода-
точки входу і точки виходу з впливом безпеки, яке
тків системи. Визначення цілей безпеки допомагає
необхідно оцінити. Простіше виявляти загрози та
визначити, де зосередити свої зусилля, а також ви-
виявляти уразливості, коли модулі програми ста-
явити потенційних зловмисників в додатку. Визна-
ють більш визначеними.
чення цілей безпеки виконується багаторазово шля-
Визначення межі довіри додатків допомагає
хом вивчення вимог програми та умов використання.
сфокусувати аналіз на певних галузях, що станов-
У моделюванні ризиків загроз ідентифікація
лять інтерес. Межі довіри – це ті точки, де рівні кон-
цілей безпеки є першим кроком, який необхідно
тролю доступу змінюються для доступу до ресурсів
зробити, щоб розробити безпеку додатку. Як тільки
або точок входу в додатках, де дані, що проходять
цілі безпеки визначені, вони можуть використовува-
через цю точку, не є повністю довіреними.
тися як основа для подальших кроків. Однак це не
Визначити потоки даних: відстеження потоків
означає, що ці цілі повинні залишатися незмінними;
даних через додаток, починаючи від входу до вихо-
вони можуть змінюватися з часом і з новими ситуа-
ду. Це прояснює, як додаток взаємодіє із зовніш-
ціями, які можуть виникнути в процесі. Будь-які
ньою системою, а також прояснює, як взаємодіють
зміни в цілях безпеки впливають на інші дії безпеки.
внутрішні компоненти.
В результаті необхідно час від часу переглядати мо-

132
Захист інформації та кібернетична безпека
Визначити точки входу: зловмисники викорис- З’ясувати
товують точку входу програми для зламу системи. цілі
Цей пункт призначений для клієнтів.
Визначити, де знаходяться ці точки входу і тип
Дослідити
даних, які вони приймають. додаток
Визначити точки виходу: це точки, в яких до-
даток відправляє дані клієнта або в зовнішні систе-
Виявлення Декомпозиція
ми [10].
вразливостей додатку
Виявлення загроз (Identify Threats). На цьому
етапі потрібно ідентифікувати загрози та атаки, які
можуть поставити під загрозу безпеку додатку. Ці Виявлення
загроз
загрози є потенційними загрозами додатків. Як пра-
вило, важко ідентифікувати невідомі загрози, тому
важливо зосередитися на відомих загрозах. Для ви- Рис. 1. Етапи моделювання загроз
конання цього процесу можна використовувати такі
підходи: Стратегії зниження рівня ризиків
Почати з загальних загроз та атак: варто почати
Після того, як були визначені загрози і вразли-
з підготовки списку поширених загроз і атак, а потім
вості для програми та встановлені ризики та їх пріо-
застосувати список загроз в своєму додатку. Існує
ритети, наступним етапом є розробка впорядкованої
ймовірність того, що деякі загрози просто усувають-
і економічно ефективної стратегії пом'якшення.
ся, оскільки вони не застосовуються в додатку.
В першу чергу, слід враховувати вплив страте-
Використовувати підхід, заснований на питан-
гії на всі складові ризиків. Тобто стратегія повинна
нях: це допомагає у виявленні відповідних загроз і бути застосовна до всіх ризиків додатку, а не тільки
атак. Для цього підходу можна використовувати до деяких його частин. З точки зору бізнес-
модель STRIDE, щоб задавати питання, пов'язані із контексту обмежуючим фактором для стратегії по-
застосуванням програми. м'якшення наслідків повинен бути рівень, який ор-
Дослідити рівень додатки за рівнем, шар за ша- ганізація може собі дозволити, інтегрувати. Страте-
ром і функцію за функцією при виявленні загроз. гія також повинна бути в змозі продемонструвати
При виконанні ідентифікації загроз варто сконцент- належне зниження ризиків [12].
руватися на тих областях, де помилки безпеки най-
частіше допускаються. Зверніть увагу, що загрози, Висновки
виявлені на цьому етапі, не обов'язково вказують на Деякі методології моделювання загроз, такі як
уразливості. OCTAVE, зосереджені на практиці аналізу систем
Виявлення вразливостей (Identify на наявність потенційних загроз. Інші, такі як
Vulnerabilities). На цьому кроці розглядається безпе- STRIDE або PASTA, фокусуються на точці зору ро-
ка додатка, чітко виявляючи уразливості, виконую- зробника або зловмисника. VAST враховує Agile
чи ту ж процедуру, що і при виявленні загроз на підхід з орієнтацією на зібране додаток і процес ро-
попередньому кроці. Однак представлені на цей раз зробки.
приклади питань повинні бути розроблені таким Рішення завдання аналізу безпеки відкритого
чином, щоб допомогти ідентифікувати уразливості, програмного коду передбачає першим етапом роз-
а не загрози. Хороший підхід до виявлення вразли- робки моделі загроз. При побудові моделі загроз
востей полягає в тому, щоб дослідити прикладний необхідно враховувати аспекти моделювання загро-
рівень за шаром, переглядаючи всі групи вразливос- зи безпеки, такі як: визначення, поняття, класифіка-
тей на кожному рівні. Деякі категорії вразливостей, ція загроз, визначення стратегії перекриття загроз
які визначаються у процесі виявлення: або зниження рівня ризиків, а також тестової страте-
– аутентифікації; гії побудованої моделі. Існуючі підходи класифіку-
– авторизації; ють загрози, враховуючи весь спектр потенційних
– введення і перевірки даних; загроз, а не зосереджені на окремих областях, на-
– управління конфігурацією; приклад, відкритому програмному коді.
– конфіденційних даних; На основі проаналізованих підходів до побудо-
– криптографії; ви моделей безпеки для реалізації моделі варто ви-
– маніпулювання параметрами; користовувати рекомендації для формування моделі
– управліня винятками; загроз, що враховують уразливості в програмному
– аудиту та ведення журналів [11]. коді.

133
Системи обробки інформації, 2020, випуск 1 (160) ISSN 1681-7710

Список літератури
1. Opensource. Opensource Initiative [Electronic resource]. – URL: https://opensource.org/licenses/alphabetical (дата
звернення: 25.12.2019).
2. Wheeler David A. Secure Programming HOWTO [Electronic resource] / David A. Wheeler. – URL:
https://dwheeler.com/secure-programs/Secure-Programs-HOWTO/open-source-security.html (дата звернення: 27.12.2019).
3. OWASP. Application Threat Modeling. [Electronic resource]. – URL: https://owasp.org/www-
community/Application_Threat_Modeling (дата звернення: 04.01.2020).
4. Agile Modeling. Security Threat Models: An Agile Introduction [Electronic resource]. – URL:
http://www.agilemodeling.com/artifacts/securityThreatModel.htm (дата звернення: 4.01.2020).
5. Guzman Aaron. IoT Penetration Testing Cookbook: Identify Vulnerabilities and Secure your Smart Devices / Aaron
Guzman, Aditya Gupta. – Packt Publishing, 2017. – p. 34-35.
6. Shostack Adam. Threat Modeling: Designing for Security / Adam Shostack. – Wiley, 2014. – 624 p.
7. Eaton John W. Octave [Electronic resource] / John W. Eaton. – URL: https://octave.org/doc/interpreter/ (дата звер-
нення: 10.01.2020).
8. Versprite. Application Threat ModelingHelping Clients Learn & Build Risk-Based Threat Models [Electronic re-
source]. – URL: https://versprite.com/security-offerings/appsec/application-threat-modeling/ (дата звернення: 10.01.2020).
9. OWASP. Application Threat Modeling [Electronic resource]. – URL: https://www.owasp.org/
index.php/Threat_Risk_Modeling (дата звернення 11.01.2020).
10. MSDN [Electronic resource]. – URL: https://docs.microsoft.com/en-us/archive/msdn-
magazine/2006/november/uncover-security-design-flaws-using-the-stride-approach (дата звернення 10.01.2020).
11. MSDN Threat Modeling Web Applications [Electronic resource]. – URL: https://docs.microsoft.com/en-us/previous-
versions/msp-n-p/ff648006(v=pandp.10)?redirectedfrom=MSDN (дата звернення 10.01.2020).
12. Threatmodeler. Getting Started with Threat Modeling: How to Identify Your Mitigation Strategy [Electronic resource]. –
URL: https://threatmodeler.com/getting-started-with-threat-modeling-how-to-identify-your-mitigation-strategy/ (дата звернення
10.01.2020).

References
1. The official site of Opensource (2019), Opensource Initiative, available at: www.opensource.org/licenses/alphabetical
(accessed 25.12.2019).
2. Wheeler, David A. (2015), Secure Programming HOWTO, available at: www.dwheeler.com/secure-programs/Secure-
Programs-HOWTO/open-source-security.html (accessed 27.12.2019).
3. The official site of OWASP (2020), Application Threat Modeling, available at: www.owasp.org/www-
community/Application_Threat_Modeling (accessed 04.01.2020).
4. The official site of Agile Modeling (2018), Security Threat Models: An Agile Introduction, available at:
www.agilemodeling.com/artifacts/securityThreatModel.htm (accessed 4.01.2020).
5. Guzman, Aaron and Gupta, Aditya (2017), IoT Penetration Testing Cookbook: Identify Vulnerabilities and Secure your
Smart Devices, Packt Publishing, pp. 34-35.
6. Shostack, Adam (2014), Threat Modeling: Designing for Security, Wiley, 624 p.
7. Eaton, John W. (2020), Octave, available at: www.octave.org/doc/interpreter/ (accessed 10.01.2020).
8. The official site of Versprite (2018), Application Threat Modeling Helping Clients Learn & Build Risk-Based Threat
Models, available at: www.versprite.com/security-offerings/appsec/application-threat-modeling/ (accessed 10.01.2020).
9. The official site of OWASP (2020), Application Threat Modeling, available at:
www.owasp.org/index.php/Threat_Risk_Modeling (accessed 11.01.2020).
10. The official site of Microsoft (2019), MSDN, available at: www.docs.microsoft.com/en-us/archive/msdn-
magazine/2006/november/uncover-security-design-flaws-using-the-stride-approach (accessed 10.01.2020).
11. The official site of Microsoft (2010), MSDN Threat Modeling Web Applications, available at:
www.docs.microsoft.com/en-us/previous-versions/msp-n-p/ff648006(v=pandp.10)?redirectedfrom=MSDN (accessed
10.01.2020).
12. The official site of Threatmodeler (2018), Getting Started with Threat Modeling: How to Identify Your Mitigation
Strategy, available at: www.threatmodeler.com/getting-started-with-threat-modeling-how-to-identify-your-mitigation-strategy/
(accessed 10.01.2020).

Надійшла до редколегії 15.01.2020


Схвалена до друку 11.02.2020

Відомості про авторів: Information about the authors:


Гапон Андрій Олександрович Andrii Hapon
аспірант Doctoral Student
Харківського національного of Kharkiv National
університету радіоелектроніки, University of Radio Electronics,
Харків, Україна Kharkiv, Ukraine
https://orcid.org/0000-0003-2560-7426 https://orcid.org/0000-0003-2560-7426

134
Захист інформації та кібернетична безпека
Федорченко Володимир Миколайович Volodymyr Fedorchenko
кандидат технічних наук Candidate of Technical Sciences
доцент кафедри Харківського національного Senior Lecturer of Kharkiv National
університету радіоелектроніки, University of Radio Electronics,
Харків, Україна Kharkiv, Ukraine
http://orcid.org/0000-0001-7359-1460 http://orcid.org/0000-0001-7359-1460

Поляков Андрій Олександрович Andrii Polyakov


кандидат технічних наук Candidate of Technical Sciences
доцент кафедри Харківського національного Senior Lecturer of Simon Kuznets
економічного університету ім. С. Кузнеця, Kharkiv National University of Economics,
Харків, Україна Kharkiv, Ukraine
https://orcid.org/0000-0003-1805-9011 https://orcid.org/0000-0003-1805-9011

ПОДХОДЫ К ПОСТРОЕНИЮ МОДЕЛИ УГРОЗ


ДЛЯ АНАЛИЗА БЕЗОПАСНОСТИ ОТКРЫТОГО ПРОГРАММНОГО КОДА
А.А. Гапон, В.Н. Федорченко, А.А. Поляков
Обеспечение безопасности программного продукта с открытым исходным кодом является актуальной пробле-
мой, потому что даже в проектах с закрытым исходным кодом могут присутствовать open source библиотеки, что
делает возможным появление уязвимости в них. Среди методов, используемых для выявления уязвимостей, стоит вы-
делить моделирование угроз, так как этот метод позволяет уже на ранних этапах разработки программного кода
принять меры, снизить расходы на ликвидацию уязвимостей. Подбор соответствующего подхода при построении мо-
дели угроз зависит от специфики проекта, ресурсов, а также квалификации администраторов.
Ключевые слова: модель угроз, открытый исходный код, STRIDE, OCTAVE, TRIKE, PASTA, VAST.

APPROACHES TO THE CONSTRUCTION OF THE THREAT MODEL


FOR ANALYSIS OF SECURITY OF THE OPEN SOFTWARE CODE
A. Hapon, V. Fedorchenko, A. Polyakov
Ensuring the security of an open source software product is an urgent problem, because even in closed source projects
open source libraries may be present, which makes vulnerabilities possible in them. Among the methods used to identify vulner-
abilities, it is worth highlighting threat modeling, since this method allows you to take measures at the early stages of developing
program code and reduce the cost of eliminating vulnerabilities. The selection of an appropriate approach when building a
threat model depends on the specifics of the project, resources, and also the qualifications of administrators. There are various
threat modeling methodologies that provide the foundation for a complex security process for developing software code. Al-
though each of these threat modeling methodologies has its own strengths and can be used to identify, evaluate, and prioritize the
elimination of potential threats, they are lacking in taking into account the features of the analysis of program code and the fea-
tures of the development process. As processes become more complex, it becomes increasingly difficult to implement effective
threat modeling. Security is an important aspect and an integral part of all stages of software development. Both in open source
software and closed source software, reliability depends on certain aspects of the design and quality of the software develop-
ment. The quality and reliability of open source software can be assessed by viewing the software source code once it becomes
publicly available.
The analysis of the models of construction of threats taking into account the specifics of the modern development process
using the agile methodology and scrum process allows to conclude about the low efficiency and complexity of their use. When
building an open source security threat model, they are not effective enough at the development stage because they are not spe-
cialized in the field but are generic approaches. Therefore, from our point of view, it is preferable to use recommendations to
form a threat model that take into account the vulnerabilities in the code.
Keywords: threat model, open source, STRIDE, OCTAVE, TRIKE, PASTA, VAST.

135

You might also like