Algorithms and software solutions for SQL injection vulnerability testing in web applications
DOI:
https://doi.org/10.20998/2079-0023.2018.22.01Ключові слова:
безпека програмного забезпечення, веб-застосування, вразливість, сканер, тріада ЦРУ, SQL-ін’єкція, визначення на основі помилок, визначення на основі вимірів часу, загальна модель безпеки, пошуковий веб-робот, BFS - алгоритм пошуку, загальна система оцінки вразливостіАнотація
Безпека програмного забезпечення щоденно набуває все більшого значення, і розробники намагаються максимально захистити веб-програми, щоб забезпечити їх конфіденційність, цілісність та доступність, які описані в основній моделі безпеки так званої тріади CIA. Розглянута вразливість SQL-ін'єкцій, яка може порушувати принципи конфіденційності та цілісності тріади ЦРУ та пояснюються виконання SQL-атак та методи захисту від них. Було проведено порівняння загальних структурних рішень для усунення вразливості SQL-ін’єкцій, яке виявило найпоширеніші технології у цій галузі. Розроблені алгоритми виявлення на основі помилок та на основі вимірі часу для ідентифікації SQL-ін’єкцій для створення сканера вразливості, який може виявити SQL-атаки, що викликають уразливість в веб-додатках, і ці алгоритми представлені у формі UML-діаграм активності. Щоб виявити всі можливі посилання та форми для виконання тестів вразливості на всьому веб-сайті, потрібен пошуковий веб-робот. Запропоновано алгоритм Breadth-First Search (BFS) для розробки веб-сканеру, для нього наведено псевдокод та діаграма активності. Розглядається система загальної оцінки вразливості (CVSS), яка використовується для вимірювання ступеня тяжкості атак, що можуть порушувати принципи захисту тріади ЦРУ. Роз'яснено якісну оціночну шкалу CVSS. Представлений приклад розрахунку CVSS. Розроблено прототип сканера вразливості з використанням запропонованих алгоритмів. Результати застосування цього сканеру вразливості представлені прикладами оцінки реальних веб-застосувань. Зроблено висновки, визначені цілі майбутньої роботи.Посилання
Madarie R. Hackers’ Motivations: Testing Schwartz’s Theory of Motivational Types of Values in a Sample of Hackers. International Journal of Cyber Criminology, 2017, vol.11, issue 1, pp. 78 – 97.
Rhodes-Ousley M. Information Security: The Complete Reference – 2nd ed., 2013. pp. 85 – 87.
Meshram B.B., Savita B. C. Classification of Web Application Vulnerabilities. International Journal of Engineering Science and Innovative Technology (IJESIT), March 2013, vol.2, issue 2, pp. 226 – 234.
Zhou R., Hansen E. A. Breadth-First Heuristic Search. Journal Artificial Intelligence, April 2006, vol. 170, issue 4 – 5, pp. 701 – 709.
Common Vulnerability Scoring System v3.0 Specification Document. Available at: https://www.first.org/cvss/specification-document (accessed 11.05.2018).
SQL Injection. Available at: https://www.owasp.org/index.php/SQL_Injection (accessed 11.05.2018).
Top 10 2017 – Injection Flaws. Available at: https://www.owasp.org/index.php/Top_10_2007-Injection_Flaws (accessed 11.05.2018).
Vulnerability Search Page. Available at: https://nvd.nist.gov/vuln/search (accessed 11.05.2018).
SQL Injection Prevention Cheat Sheet. Available at: https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat _Sheet (accessed 11.05.2018).
Security Considerations (Entity Framework). Available at: https://docs.microsoft.com/enus/dotnet/framework/data/adonet/ef/security-considerations (accessed 11.05.2018).
CodeIgniter User Guide. Available at: https://www.codeigniter.com/user_guide/general/security.html (accessed 11.05.2018).
Laravel Documentation. Available at: https://laravel.com/docs/5.6/eloquent (accessed 11.05.2018).
A Pure Node.js JavaScript Client Implementing the MySQL Protocol. Available at: https://github.com/mysqljs/mysql#escapingquery-values (accessed 11.05.2018).
Phalcon Documentation: Database Abstraction Layer. Available at: http://phalcon-php-frameworkdocumentation.readthedocs.io/en/latest/reference/db.html (accessed 11.05.2018).
Rail Guides: Securing Rail Applications. Available at: http://guides.rubyonrails.org/security.html (accessed 11.05.2018).
Spring Framework v.5 Documents: Data Access. Available at: https://docs.spring.io/spring/docs/current/spring-frameworkreference/data-access.html (accessed 11.05.2018).
Zend Framework Documentation: Zend-DB. Available at: https://docs.zendframework.com/zend-db/sql/ (accessed 11.05.2018).
An Overview of Vulnerability Scanners. Available at: https://www.infosec.gov.hk/english/technical/files/vulnerability.pdf (accessed 11.05.2018).
##submission.downloads##
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2018 Вісник Національного технічного університету «ХПІ». Серія: Системний аналiз, управління та iнформацiйнi технологiїАвтори, які публікуються у цьому журналі, погоджуються з наступними умовами:
- Автори залишають за собою право на авторство своєї роботи та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons Attribution License, котра дозволяє іншим особам вільно розповсюджувати опубліковану роботу з обов'язковим посиланням на авторів оригінальної роботи та першу публікацію роботи у цьому журналі.
- Автори мають право укладати самостійні додаткові угоди щодо неексклюзивного розповсюдження роботи у тому вигляді, в якому вона була опублікована цим журналом (наприклад, розміщувати роботу в електронному сховищі установи або публікувати у складі монографії), за умови збереження посилання на першу публікацію роботи у цьому журналі.
- Політика журналу дозволяє і заохочує розміщення авторами в мережі Інтернет (наприклад, у сховищах установ або на особистих веб-сайтах) рукопису роботи, як до подання цього рукопису до редакції, так і під час його редакційного опрацювання, оскільки це сприяє виникненню продуктивної наукової дискусії та позитивно позначається на оперативності та динаміці цитування опублікованої роботи (див. The Effect of Open Access).