МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
/
Лабораторна робота №5
З дисципліни
“Безпека програмного забезпечення”
Тема: «Аналіз вихідного коду за допомогою Fortify SCA»
Мета роботи: Ознайомитися із можливостями Fortify on Demand DAST для проведення динамічного аналізу вебдодатків.
Виконання роботи
Вразливість
Опис вразливості
Вразливий компонент
Рівень тяжкості
Cross-Site Scripting: Reflected
Cross-Site Scripting: Reflected – це вразливість, яка дозволяє зловмиснику виконувати скрипти на браузері користувача через введені дані, що використовуються без перевірки на вразливому вебсайті.
http://zero.webappsecurity.com:80/faq.html?question=2%3c%73%43%72%49%70%54%3e%61%6c%65%72%74%28%35%33%32%37%34%29%3c%2f%73%43%72%49%70%54%3e
Критичний
Often Misused: Login
Вразливість Often Misused: Login приводить до можливості несанкціонованого доступу до облікових даних через недбале використання та недостатню захищеність вхідних даних.
http://zero.webappsecurity.com:80/login.html
Високий
Insecure Transport
Insecure Transport вразливість полягає в можливості зловмисника перехопити інформацію, що передається по нешифрованих каналах зв'язку, таких як HTTP.
http://zero.webappsecurity.com:80/login.html
Високий
Web Server Misconfiguration: Unprotected File
Вразливість Web Server Misconfiguration: Unprotected File дозволяє несанкціонованим користувачам отримувати доступ до непотрібних файлів на сервері через неправильну конфігурацію.
http://zero.webappsecurity.com:80/admin/WS_FTP.LOG
Середній
Cross-Frame Scripting
Cross-Frame Scripting вразливість дозволяє зловмисникам вбудовувати зловісний код на іншій вебсторінці для отримання доступу до конфіденційної інформації користувачів.
http://zero.webappsecurity.com:80/
Середній
HTML5: Overly Permissive CORS Policy
HTML5 має вразливість у політиці CORS, яка може дозволити зловмисникам отримувати доступ до конфіденційних даних через вебсторінки.
http://zero.webappsecurity.com:80/
Низький
Web Server Misconfiguration: Server Error Message
Web Server Misconfiguration: Server Error Message виявляється вразливістю, яка дозволяє зловмисникам отримувати доступ до деталей про помилки сервера, що може призвести до розкриття конфіденційної інформації.
http://zero.webappsecurity.com:80/<script>alert('TRACK');</script>
Низький
Poor Error Handling: Unhandled Exception
Погана обробка помилок може призвести до виникнення непередбачених виключень, що може призвести до аварійного завершення програми.
http://zero.webappsecurity.com:80/admin/WS_FTP.LOG
Низький
System Information Leak: Internal IP
System Information Leak: Internal IP вразливість дозволяє зловмисникам отримувати доступ до внутрішньої IP-адреси системи, що може бути використано для атак в мережі.
http://zero.webappsecurity.com:80/admin/WS_FTP.LOG
Низький
Web Server Misconfiguration: Unprotected Directory
Web Server Misconfiguration: Unprotected Directory відображається, коли вебсервер дозволяє доступ до конфіденційних файлів і тек без авторизації, що може призвести до витоку даних та порушення безпеки.
http://zero.webappsecurity.com:80/backup/
Низький
В чому полягає особливість динамічного сканування додатків?
Динамічне сканування додатків, також відоме як динамічне тестування безпеки додатків (DAST), — це практика кібербезпеки, яка зосереджена на оцінці безпеки вебзастосунків під час їх роботи. На відміну від статичного сканування застосунків, яке аналізує вихідний код і конфігураційні файли без виконання програми, динамічне сканування взаємодіє з робочим додатком для виявлення вразливостей в режимі реального часу.
Особливість динамічного сканування полягає в тому, що воно здатне імітувати реальні сценарії атак, активно досліджуючи запущений застосунок на наявність вразливостей. Цей процес передбачає надсилання різних вхідних даних, таких як шкідливі дані або неочікувані дії користувача, до програми та спостереження за її поведінкою. Таким чином, динамічне сканування може виявити слабкі місця в безпеці, які можуть проявитися лише під час виконання, наприклад, помилки валідації вхідних даних, проблеми з керуванням сеансами або вразливості конфігурації під час виконання.
Динамічне сканування особливо цінне для виявлення вразливостей, які можуть виникнути внаслідок взаємодії різних компонентів програми, а також тих, що залежать від конкретного середовища виконання. Цей підхід забезпечує більш комплексну оцінку стану безпеки програми, імітуючи дії потенційних зловмисників і виявляючи вразливості, які можуть бути неочевидними за допомогою лише статичного аналізу.
Які переваги та недоліки динамічного сканування додатків?
Переваги
1. Оцінка в реальному часі: Динамічне сканування оцінює додаток в реальному середовищі, забезпечуючи оцінку його стану безпеки в реальному часі.
2. Виявлення вразливостей під час виконання: Він виявляє вразливості, які можуть проявитися тільки під час виконання, наприклад, недоліки перевірки вхідних даних або проблеми з конфігурацією.
3. Імітація сценаріїв атак: Динамічне сканування імітує реальні сценарії атак, активно досліджуючи програму, пропонуючи розуміння того, як вона реагує на різні вхідні дані.
Недоліки
1. Обмежена видимість коду: Динамічне сканування має обмежену видимість вихідного коду програми, що ускладнює виявлення певних типів вразливостей, які можна знайти лише за допомогою статичного аналізу.
2. Помилкові спрацьовування, негативні результати: Динамічне сканування може генерувати помилкові спрацьовування або негативні результати через динамічну природу програми, що ускладнює точне визначення вразливостей.
3. Ресурсомісткість: Динамічне сканування може бути ресурсомістким і може вплинути на продуктивність програми під час тестування.
Висновки
Під час виконання даної лабораторної роботи я ознайомився із можливостями Fortify on Demand DAST для проведення динамічного аналізу вебзастосунків.