DOI: https://doi.org/10.20998/2079-0023.2018.22.01

Algorithms and software solutions for SQL injection vulnerability testing in web applications

Arslan Berk, Rustam Olexandrovich Gamzayev, Ertuğrul Karaçuha, Mykola Vyacheslavovich Tkachuk

Анотація


Безпека програмного забезпечення щоденно набуває все більшого значення, і розробники намагаються максимально захистити веб-програми, щоб забезпечити їх конфіденційність, цілісність та доступність, які описані в основній моделі безпеки так званої тріади CIA. Розглянута вразливість SQL-ін'єкцій, яка може порушувати принципи конфіденційності та цілісності тріади ЦРУ та пояснюються виконання SQL-атак та методи захисту від них. Було проведено порівняння загальних структурних рішень для усунення вразливості SQL-ін’єкцій, яке виявило найпоширеніші технології у цій галузі. Розроблені алгоритми виявлення на основі помилок та на основі вимірі часу для ідентифікації SQL-ін’єкцій для створення сканера вразливості, який може виявити SQL-атаки, що викликають уразливість в веб-додатках, і ці алгоритми представлені у формі UML-діаграм активності. Щоб виявити всі можливі посилання та форми для виконання тестів вразливості на всьому веб-сайті, потрібен пошуковий веб-робот. Запропоновано алгоритм Breadth-First Search (BFS) для розробки веб-сканеру, для нього наведено псевдокод та діаграма активності. Розглядається система загальної оцінки вразливості (CVSS), яка використовується для вимірювання ступеня тяжкості атак, що можуть порушувати принципи захисту тріади ЦРУ. Роз'яснено якісну оціночну шкалу CVSS. Представлений приклад розрахунку CVSS. Розроблено прототип сканера вразливості з використанням запропонованих алгоритмів. Результати застосування цього сканеру вразливості представлені прикладами оцінки реальних веб-застосувань. Зроблено висновки, визначені цілі майбутньої роботи.

Ключові слова


безпека програмного забезпечення; веб-застосування; вразливість; сканер; тріада ЦРУ; SQL-ін’єкція; визначення на основі помилок; визначення на основі вимірів часу; загальна модель безпеки; пошуковий веб-робот; BFS - алгоритм пошуку; загальна система оцінки вразливості

Повний текст:

PDF (English)

Посилання


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).


Пристатейна бібліографія ГОСТ