A MULTI OBJECTIVE APPROACH TO DETECT AND CORRECT THE SECURITY VULNERABILITIES IN WEB APPLICATIONS

A MULTI OBJECTIVE APPROACH TO DETECT AND CORRECT THE SECURITY VULNERABILITIES IN WEB APPLICATIONS. Masters thesis, King Fahd University of Petroleum and Minerals.

[img]
Preview
PDF
Final_Thesis.pdf

Download (1MB) | Preview

Arabic Abstract

في السنوات الأخيرة، أصبحت تطبيقات الويب جزءا لا يتجزأ من حياتنا اليومية. يتم تنفيذ عدد مهول من العمليات على الانترنت يوميا بما في ذلك، التسوق عبر الانترنت، والمعاملات المالية وتبادل المعلومات والاتصالات. على غرار أنظمة الحوسبة الأخرى، تعتبر تطبيقات الإنترنت عرضة لنقاط الضعف الأمنية. بالتالي، فان نقاط الضعف التي تؤثر على النواحي الأمنية لتطبيقات الويب تتطلب أن يتم الكشف عنها وإزالتها من كودها الاساسي. حتى الآن، حدد الباحثون والممارسون في المجال الصناعي ان حقن لغة الاستعلامات المهيكلة والبرمجة عبر المواقع ومراجع الكائنات المباشرة غير المؤمنة يعتبرون من الثغرات الأمنية الرئيسية لتطبيقات الويب. الهدف الأسمى من بحثنا هذا هو الكشف عن ثغرات حقن لغة الاستعلامات المهيكلة والبرمجة عبر المواقع في مصدر التعليمات البرمجية لتطبيقات الويب عن طريق توليد سيناريوهات الهجوم. في هذا البحث، قمنا بتطوير تقنية آلية بناء على الخوارزميات الجينية لتحديد وتصحيح ثغرات حقن لغة الاستعلامات المهيكلة في تطبيقات الويب عن طريق تحديد الاستعلامات الخبيثة في شفرة المصدر. وعلاوة على ذلك، قمنا بتطوير أداة لتنفيذ وتقييم طريقتنا المتبعة. الأداة تنفذ عمليتين أساسية: أولا، التحليل الثابت الأولي للكود المعطى للتعرف على الاستفسارات الضعيفة والثاني هو توليد هجمات حقن لغة الاستعلامات المهيكلة من الخطوة الاولى باستخدام الخوارزمية الجينية. من أجل تصحيح ثغرات حقن لغة الاستعلامات المهيكلة المكتشفة، استخدمنا نهج إعادة هيكلة بسيطة. لتقييم اداتنا تجريبيا، استخدمنا العديد من المشاريع مفتوحة المصدر وكود متاح لتحديد ثغرات حقن لغة الاستعلامات المهيكلة. الاداة نجحت في الكشف وتوليد هجمات حقن لغة الاستعلامات المهيكلة للكود المعطى واعادة هيكلته لمنع الثغرات. وعلاوة على ذلك، قمنا بصياغة مشكلة كشف ثغرات البرمجة عبر المواقع كمشكلة تحسينيه وحلها باستخدام الخوارزمية الجينية. نحن جمعنا بين التحليل الثابت مع الخوارزميات الجينية لتحديد وإعداد سيناريوهات الهجوم على نقاط ضعف البرمجة عبر المواقع. الغرض من التحليل الثابت هو تحديد المنافذ الحساسة في شفرة المصدر. بعد تحديد المنافذ الحساسة، قمنا بعد ذلك بتحويل شفرة المصدر إلى شجرة التحكم في التدفق وطورنا مسارات التحكم للوصول إلى المنافذ الحساسة التي تم تحديدها. مسارات التحكم في التدفق بعد ذلك، تم اختبارها باستخدام الخوارزمية الجينية عن طريق توليد سيناريوهات هجوم البرمجة عبر المواقع مع مساعدة من قاعدة بيانات للبرمجة عبر المواقع التي تم تطويرها. وتشير النتائج التجريبية أن طريقتنا مفيدة لاختبار الاختراق الأمني.

English Abstract

In recent years, web applications have become an integral part of our routine life. Numerous transactions are performed online daily including, online shopping, financial transactions information sharing and communication. Similar to other computing systems, web applications are prone to security vulnerabilities. Hence, vulnerabilities that impact the security perspective of web applications should be detected and removed from their code base. To date, researchers and industrial practitioners have identified that SQL injection and cross site scripting are main security vulnerabilities for web applications. The overarching objective of our work is to detect the SQL injection and Cross Site Scripting (XSS) vulnerabilities in the source code of web applications by generating the attack scenarios. In this research work, we have developed an automated technique based on Genetic Algorithm (GA) to detect and correct SQL Injection (SQLI) security vulnerabilities in web applications. Our approach allows the automatic SQLI attacks generation using Genetic Algorithm to detect and correct SQLI vulnerabilities by identifying the malicious queries in the source code. Furthermore, we have developed a tool to implement and empirically evaluate our adopted approach. The tool implements two primary processes: first, the preliminary static analysis of the given source code to identify the vulnerable queries and second is the generation of SQLI attacks for the identified vulnerable queries in first step using genetic algorithm. In order to correct the detected SQLI vulnerabilities, we used simple refactoring approach. To empirically evaluate our tool, we used several open source projects and available source code to detect SQLI vulnerabilities. the tool successfully detected and generated the SQLI attacks for the given source code and refactored it to prevent from SQLI. Furthermore, we formulated XSS vulnerabilities detection problem as optimization problem and solved it using genetic algorithm. We combined the static code analysis with genetic algorithms to identify and generate attack scenarios for XSS vulnerabilities. The purpose of static analysis is to identify the sensitive sinks in the source code. After identification of sensitive sinks, we then converted the source code into control flow tree and developed the control paths to reach the identified sensitive sinks. The control flow paths are tested using genetic algorithm by generating the XSS attack scenarios with the help of XSS database. The experimental results indicate that our approach is useful for security penetration testing.

Item Type: Thesis (Masters)
Subjects: Computer
Department: College of Computing and Mathematics > Information and Computer Science
Committee Advisor: Mahmood, Sajjad
Committee Members: Niazi, Mahmood and Hassan, Rafiul
Depositing User: SAMRAN NAVEED (g201310190)
Date Deposited: 07 Feb 2017 10:47
Last Modified: 01 Nov 2019 16:37
URI: http://eprints.kfupm.edu.sa/id/eprint/140244