Επιθέσεις SQL injection
Creators: name: Χατζηαποστόλου, Μερκούριος Π.
Publisher: name: Aristotle University of Thessaloniki
Year: 2025
Subjects: Επιθέσεις Κυβερνοασφάλειας
SQL Injection
Βάσεις Δεδομένων
Cybersecurity Attacks
Databases

description: Η διπλωματική εργασία Επιθέσεις SQL Injection αναλύει τις επιθέσεις SQL Injection, τις μεθόδους που χρησιμοποιούνται, τις επιπτώσεις τους και τους τρόπους αντιμετώπισης. Αρχικά, παρουσιάζεται η γλώσσα SQL και οι κύριες κατηγορίες εντολών της (DDL, DML, DCL, TCL), που χρησιμοποιούνται για τη διαχείριση και τον έλεγχο των βάσεων δεδομένων. Στη συνέχεια, εξηγείται το SQL Injection, μια τεχνική επίθεσης που εκμεταλλεύεται αδυναμίες στις εισαγωγές δεδομένων εφαρμογών, επιτρέποντας σε επιτιθέμενους να εκτελέσουν αυθαίρετα SQL ερωτήματα. Παρουσιάζονται διάφορες μέθοδοι SQL Injection, όπως: Classic SQL Injection, όπου οι επιτιθέμενοι εισάγουν κακόβουλες εντολές μέσω μη ασφαλών εισαγωγών. Blind SQL Injection, το οποίο βασίζεται σε έμμεσες παρατηρήσεις για την απόκτηση δεδομένων. Union-based SQL Injection, που χρησιμοποιεί την εντολή UNION για την ανάκτηση δεδομένων. Error-based SQL Injection, όπου αξιοποιούνται τα μηνύματα σφάλματος για την αποκάλυψη πληροφοριών. Out-of-Band SQL Injection, που χρησιμοποιεί εναλλακτικά δίκτυα επικοινωνίας, όπως DNS ή HTTP. Second-order SQL Injection, όπου ο κακόβουλος κώδικας αποθηκεύεται και εκτελείται σε μεταγενέστερο χρόνο. Stored Procedure Injection, που στοχεύει ευπαθείς αποθηκευμένες διαδικασίες. Inline Comment Injection, που χρησιμοποιεί σχόλια SQL για την παράκαμψη ελέγχων ασφαλείας. Οι επιπτώσεις των SQL Injection επιθέσεων περιλαμβάνουν παραβίαση εμπιστευτικότητας δεδομένων, αλλοίωση και απώλεια δεδομένων, καθώς και οικονομικές και επιχειρησιακές ζημίες. Μια επιτυχής επίθεση μπορεί να οδηγήσει στη διαρροή ευαίσθητων δεδομένων, στην παραποίηση ή διαγραφή εγγραφών και στην κατάρρευση συστημάτων. Η εργασία παρουσιάζει διάφορες μεθόδους αντιμετώπισης, όπως prepared statements (παραμετροποιημένα queries), input validation, περιορισμό δικαιωμάτων πρόσβασης, χρήση Object-Relational Mapping (ORM), Web Application Firewalls (WAFs), συστήματα καταγραφής και παρακολούθησης ενεργειών, καθώς και τακτικές ενημερώσεις λογισμικού. Ειδική έμφαση δίνεται στη σημασία της ασφαλούς ανάπτυξης εφαρμογών, της ευαισθητοποίησης των προγραμματιστών και της εφαρμογής πολυεπίπεδης στρατηγικής ασφαλείας. Συμπερασματικά, το SQL Injection παραμένει μια σοβαρή απειλή, η οποία μπορεί να αντιμετωπιστεί αποτελεσματικά μέσω συνδυασμένων στρατηγικών ασφαλείας και βέλτιστων πρακτικών ανάπτυξης λογισμικού.
description: The thesis SQL Injection Attacks analyzes SQL Injection attacks, the methods used, their impacts, and ways to mitigate them. Initially, the SQL language and its main command categories (DDL, DML, DCL, TCL), which are used for database management and control, are presented. Next, SQL Injection is explained as an attack technique that exploits weaknesses in application input handling, allowing attackers to execute arbitrary SQL queries. Various SQL Injection methods are presented, including: Classic SQL Injection, where attackers insert malicious commands through insecure inputs. Blind SQL Injection, which relies on indirect observations to obtain data. Union-based SQL Injection, which uses the UNION statement to retrieve data. Error-based SQL Injection, where error messages are leveraged to reveal information. Out-of-Band SQL Injection, which utilizes alternative communication channels such as DNS or HTTP. Second-order SQL Injection, where malicious code is stored and executed at a later time. Stored Procedure Injection, which targets vulnerable stored procedures. Inline Comment Injection, which exploits SQL comments to bypass security checks. The impacts of SQL Injection attacks include data confidentiality breaches, data alteration and loss, as well as financial and operational damages. A successful attack can lead to the leakage of sensitive data, manipulation or deletion of records, and system crashes. The thesis presents various countermeasures, such as prepared statements (parameterized queries), input validation, access privilege restrictions, the use of Object-Relational Mapping (ORM), Web Application Firewalls (WAFs), logging and monitoring systems, and regular software updates. Special emphasis is placed on the importance of secure application development, developer awareness, and the implementation of a multi-layered security strategy. In conclusion, SQL Injection remains a serious threat, which can be effectively mitigated through combined security strategies and best software development practices.