dc.contributor.advisor | Γκρίτζαλης, Στέφανος | |
dc.contributor.advisor | Gritzalis, Stefanos | |
dc.contributor.author | Μαθάς, Χρήστος - Μηνάς | |
dc.contributor.author | Mathas, Christos - Minas | |
dc.date.accessioned | 2021-07-20T08:54:31Z | |
dc.date.available | 2021-07-20T08:54:31Z | |
dc.date.issued | 2021-07-05 | |
dc.identifier.uri | https://dione.lib.unipi.gr/xmlui/handle/unipi/13586 | |
dc.identifier.uri | http://dx.doi.org/10.26267/unipi_dione/1009 | |
dc.description.abstract | Οι δικτυακές εφαρμογές αποτελούν ένα μεγάλο κομμάτι του σημερινού διαδικτύου και σε πολλές περιπτώσεις διαχειρίζονται ευαίσθητες πληροφορίες και εκτελούν κρίσιμες λειτουργίες των οποίων η διακινδύνευση μπορεί να οδηγήσει τόσο σε χρηματικό κόστος και όσο και σε ζητήματα ιδιωτικότητας. Έτσι, το ζήτημα της ασφάλειας των δικτυακών εφαρμογών αποτελεί ένα ζήτημα του οποίου η σημασία έχει γιγαντωθεί με τον καιρό λόγω της αυξημένης χρήσης τους. Παρ’ όλο που η ασφάλεια των δικτυακών εφαρμογών έχει βελτιωθεί τα τελευταία χρόνια, η παρούσα κατάσταση συνεχίζει να μην είναι ικανοποιητική. Οι σχετικές έρευνες αναφέρουν πως το μεγαλύτερο ποσοστό των ευπαθειών εντοπίζονται στον πηγαίο κώδικα των δικτυακών εφαρμογών. Προς αυτή τη κατεύθυνση, η πιο επιφανής λύση είναι η ένταξη ελέγχων ασφάλειας καθ’ όλη τη διάρκεια του κύκλου ζωής ανάπτυξης λογισμικού μέσω της οποίας επιτυγχάνεται έγκαιρος εντοπισμός των ευπαθειών και μείωση του κόστους και προσπάθειας διόρθωσής τους. Η σχετική βιβλιογραφία έχει προτείνει κατευθυντήριες για την ένταξη ελέγχων ασφάλειας σε κάθε φάση του κύκλου ζωής ανάπτυξης λογισμικού. Στο πλαίσιο αυτής της διπλωματικής εργασίας, εστιάζουμε κυρίως σε δύο από αυτές τις κατευθυντήριες. Συγκεκριμένα, παρουσιάζουμε τις βέλτιστες πρακτικές ασφαλούς προγραμματισμού για τις γλώσσες Java - PHP και το πλαίσιο .NET καθώς και την αυτοματοποιημένη και χειροκίνητη ανάλυση πηγαίου κώδικα για ευπάθειες ασφάλειας. Η αυτοματοποιημένη ανάλυση πραγματοποιείται με χρήση των εργαλείων στατικής ανάλυσης SonarQube και Reshift για την ανάλυση των εφαρμογών Apache Unomi και dotCMS. Τα αποτελέσματα αξιολογούνται χειροκίνητα για τον διαχωρισμό τους σε αληθώς θετικά και ψευδώς θετικά, παρέχοντας μία εικόνα για την επίγνωση και εφαρμογή των προτύπων ασφαλούς προγραμματισμού στην βιομηχανία αλλά και τη τελευταία λέξη της τεχνολογίας στα εργαλεία στατικής ανάλυσης. | el |
dc.format.extent | 121 | el |
dc.language.iso | en | el |
dc.publisher | Πανεπιστήμιο Πειραιώς | el |
dc.rights | Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/gr/ | * |
dc.title | Secure coding practices for web applications | el |
dc.type | Master Thesis | el |
dc.contributor.department | Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών. Τμήμα Ψηφιακών Συστημάτων | el |
dc.description.abstractEN | Web applications comprise a large proportion of the contemporary Internet with many of them dealing with sensitive information and handling critical operations whose compromise could result in large monetary and privacy costs. Naturally, the security of web applications has become an increasingly important issue as web technologies are utilized more and more. The overall security of web applications has improved over the past years. However, the current state of application security leaves much to be desired. The relevant surveys suggest that most vulnerabilities originate in the source code of the application. To that end, the incorporation of security controls throughout the software development lifecycle (SDLC) has emerged as the most prominent solution for detecting security defects early and fixing them with minimal cost and overhead. There are several guidelines proposed by the literature for integrating security in each phase of the SDLC. In this work, we focus mainly on two guidelines pertaining to the Development phase of the SDLC. Specifically, we focus on the secure coding best practices available for Java, PHP, and .NET and on automated and manual code review for security issues. The automated code review is performed using the SonarQube and Reshift static analysis tools to analyze the applications Apache Unomi and dotCMS. The results are manually reviewed for distinction in true and false positives providing insights into the state of secure coding awareness in the industry and the state of the art in static analysis. | el |
dc.contributor.master | Ασφάλεια Ψηφιακών Συστημάτων | el |
dc.subject.keyword | Secure coding | el |
dc.subject.keyword | SAST | el |
dc.subject.keyword | Web applications | el |
dc.subject.keyword | Code audit | el |
dc.subject.keyword | Java | el |
dc.date.defense | 2021-06-24 | |