SlideShare a Scribd company logo
1 of 22
Download to read offline
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Αυτόματη παραγωγή σεναρίου ελέγχου μέσω δυναμικής
ανάλυσης και συμβολικής εκτέλεσης
Δημήτριος Τάτσης
Α.Ε.Μ: 7262
2019-07-05
Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης
Πολυτεχνική Σχολή
Τμήμα Ηλεκτρολόγων Μηχανικών
και Μηχανικών Υπολογιστών
Επιβλέπων: Ανδρέας Συμεωνίδης, Αναπληρωτής Καθηγητής
Συνεπιβλέπων: Γεώργιος Μαμαλάκης
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Κίνητρο
● Τα συστήματα λογισμικού χρησιμοποιούνται όλο και περισσότερο στην
καθημερινή ζωή
● Η ανάλυση ασφάλειας λογισμικού έχει σημαντικές προεκτάσεις για την
ιδιωτικότητα και την ασφάλεια των χρηστών
2
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Σκοπός
Η ανάπτυξη ενός συστήματος ανάλυσης ασφάλειας λογισμικού το οποίο θα πρέπει
● Να χρησιμοποιεί προηγμένες τεχνικές ανάλυσης ώστε να παράγει σενάρια
δοκιμών και ελέγχου προγραμμάτων
● Να παράγει αυτά τα σενάρια δοκιμών και ελέγχου χωρίς γνώση για τη
λειτουργικότητα του προγράμματος προς ανάλυση
● Να είναι αυτόματο
3
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Γνώσεις που αποκτήθηκαν
● Ο συνδυασμός δυναμικής ανάλυσης και συμβολικής εκτέλεσης για την
ανάλυση προγραμμάτων
● Η εφαρμογή αυτών των τεχνικών σε πολύπλοκα εμπορικά προγράμματα και
οι περιορισμοί που εμφανίζονται
● Η διαδικασία δημιουργίας ενός εργαλείου που συνδυάζει διαφορετικά
υποσυστήματα που επικοινωνούν μεταξύ τους
4
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Έννοιες
● Basic Block
○ Ένα σύνολο από εντολές assembly που καταλήγουν σε εντολή branch
● Μονοπάτι Κώδικα
○ Ένα σύνολο από basic blocks που περιγράφει ποιά basic blocks έχουν εκτελεστεί και με ποια
σειρά
● Code Coverage
○ Μετρική η οποία δείχνει το ποσοστό του προγράμματος που έχει εκτελεστεί για μια
συγκεκριμένη είσοδο
○ Ποσοστό εκτελεσμένων συναρτήσεων, basic blocks, μονοπατιών, κλπ.
5
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Δυναμική Ανάλυση
● Εισαγωγή νέου κώδικα κατά την εκτέλεση ενός προγράμματος ο οποίος θα
εκτελείται όταν εμείς το επιθυμούμε
● Συλλογή στατιστικών κατά την εκτέλεση, αντικατάσταση εντολών
προγράμματος με άλλες κλπ.
● Υπάρχει ένα “μικρό” κόστος εκτέλεσης των επιπλέων εντολών
● Η δυναμική ανάλυση δρα μόνο για μία είσοδο
6
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Δυναμική Ανάλυση - Παράδειγμα
Παράδειγμα εισαγωγής επιπλέον κώδικα
Αναγνώριση της εξάρτησης της
μεταβλητής sum από τον πίνακα buf
Για αληθή συνθήκη, καταγράφεται η
διεύθυνση του κώδικα που εκτελέστηκε
για μια συγκεκριμένη εκτέλεση
7
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Συμβολική εκτέλεση
● Μια εξομοίωση του προγράμματος ώστε να γίνει η συλλογή των συνθηκών
που πρέπει να ισχύουν ώστε να εκτελεστεί ένα κομμάτι κώδικα
● Το πρόγραμμα εκτελείται με συμβολικές μεταβλητές και τελικά η ροή του
προγράμματος εξαρτάται από λογικές εξισώσεις/συνθήκες
● Επίλυση αυτών των συνθηκών
● Εκθετική πολυπλοκότητα
○ Path explosion
○ SMT solving
● Συχνά θεωρούνται συμβολικές μόνο ορισμένες μεταβλητές (concolic
execution)
8
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Συμβολική εκτέλεση - Παράδειγμα
Συμβολικές μεταβλητές x1, x2, … από
την είσοδο του προγράμματος
sum = x1 + x2 + …
=> x1 + x2 + … = 0x1337
Πιθανή λύση: x1 = 0x1337, x2 = 0, ...
9
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Παραδοχές
● Εκτελέσιμο πρόγραμμα προς ανάλυση (χωρίς πηγαίο κώδικα)
● Αρχιτεκτονική x86
● Λειτουργικό Σύστημα Linux
● Η είσοδος του προγράμματος γίνεται από ένα αρχείο που δίνεται ως όρισμα
από το χρήστη
10
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Μεθοδολογία
● Δυναμική ανάλυση
○ Με μια αρχική τυχαία είσοδο, καταγράφουμε τα μονοπάτια κώδικα που δεν εκτελέστηκαν.
○ Taint Analysis - Καταγραφή των συγκεκριμένων bytes της εισόδου που χρησιμοποιήθηκαν από
το πρόγραμμα σε κάθε basic block
○ Ανάκτηση ενός στιγμιότυπου του προγράμματος
● Συμβολική εκτέλεση
○ Αρχικοποίηση κατάστασης με τη χρήση του στιγμιότυπου
○ Θεώρηση των συγκεκριμένων μόνο bytes της εισόδου που χρησιμοποιήθηκαν ως συμβολικές
μεταβλητές
○ Εκκίνηση συμβολικής ανάλυσης για την επίλυση των συμβολικών μεταβλητών ώστε να
συνεχίσει η εκτέλεση στο μονοπάτι που δεν εκτελέστηκε.
● Ανατροφοδότηση
11
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Υλοποίηση - Αρχιτεκτονική
12
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Υλοποίηση - Δυναμική Ανάλυση
● DynamoRIO - Dynamic Binary Instrumentation Framework
● Θέτουμε callbacks τα οποία θα εκτελεστούν σε συγκεκριμένα events
○ Όταν κληθούν συγκεκριμένες συναρτήσεις όπως η read()
○ Όταν πρόκειται να εκτελεστεί ένα νέο basic block για την καταγραφή του μονοπατιού
● Ανάκτηση στιγμιότυπου
○ Καταγραφή όλων των καταχωρητών και της μνήμης του προγράμματος κατά την εκτέλεση της
read()
○ /proc/self/maps
● Taint Analysis
○ Θεωρώντας την είσοδο “tainted”, κάθε τιμή που επηρεάζεται από τιμή της εισόδου είναι και
αυτή “tainted”
○ Προσέγγιση μέσω ανάλυσης Source / Destination Operands, ανεξάρτητη αρχιτεκτονικής
13
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Υλοποίηση - Συμβολική Εκτέλεση
● angr - Symbolic execution framework
● Επικοινωνία με το DynamoRIO μέσω Unix Sockets
● Αρχικοποίηση κατάστασης με το στιγμιότυπο
● Σύμφωνα με το taint analysis, θέτουμε συμβολικές μεταβλητές μόνο εκείνα τα
bytes της εισόδου που επηρέασαν άλλες τιμές
● Συμβολική εκτέλεση
○ Συλλογή συνθηκών
○ Επίλυση συμβολικών μεταβλητών ώστε να φτάσει η εκτέλεση στο μονοπάτι που δεν
εκτελέστηκε κατά τη δυναμική εκτέλεση, παράγοντας ένα αρχείο με αυξημένο code coverage.
● Ανατροφοδότηση
○ Με τη δημιουργία του νέου αρχείου, ξεκινάει όλη η διαδικασία αναδρομικά.
14
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Πειράματα
● libJPEG
○ Βιβλιοθήκη (απο)κωδικοποίησης αρχείων εικόνας JPEG
○ Τα αρχεία JPEG έχουν συγκεκριμένη δομή για την αποθήκευση των καρέ, της χρωματικής
παλέτας, κωδικοποίηση Huffman κλπ.
○ Ένα αρχείο JPEG είναι δύσκολο να δημιουργηθεί “τυχαία”
● JSMN
○ Βιβλιοθήκη για parsing αρχείων JSON
15
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Αποτελέσματα libJPEG
Χρόνος ανάκτησης SOI marker JPEG
Στιγμιότυπο Taint Analysis Χρόνος Ανάκτησης Παραγόμενα Αρχεία
Απενεργοποιημένο Απενεργοποιημένο - -
Ενεργοποιημένο Απενεργοποιημένο 121s 25
Ενεργοποιημένο Ενεργοποιημένο 26s 25
● Μετά το αρχείο #25, η ανάλυση εξαντλούσε και τα 16GB της μνήμης του συστήματος
16
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Αποτελέσματα JSMN
# Αρχείο Code
Coverage
Missed Functions
1 29.28% 1
2 22.65% 1
3 9.94% 3
4 4.87% 4
● Με χρήση του εργαλείου LLVM-cov
● Και εδώ μετά από μερικά λεπτά η μνήμη του συστήματος
εξαντλήθηκε
17
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Συμπεράσματα
● Η συμβολική εκτέλεση είναι μια πανίσχυρη τεχνική για την ανάλυση
προγραμμάτων και την παραγωγή σεναρίων ελέγχου με ενθαρρυντικά
αποτελέσματα
● Λόγω των περιορισμών της συμβολικής εκτέλεσης είναι απαραίτητη χρήση
επιπλέον τεχνικών για την ανάλυση μεγάλων/εμπορικών προγραμμάτων
18
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Μελλοντική Εργασία
● Βελτιστοποίηση της δυναμικής ανάλυσης με εισαγωγή εντολών assembly
● Γενίκευση του κώδικα αποθήκευσης της κατάστασης του προγράμματος
● Χρήση shared memory μηχανισμού για την ελαχιστοποίηση του κόστους
μεταφοράς των δεδομένων
● Υποστήριξη Python 3
19
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Δημοσιεύσεις
● Μέρος αυτής της διπλωματικής παρουσιάστηκε στο συνέδριο FOSSCOM
2018 στο Ηράκλειο Κρήτης
20
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Ευχαριστίες
● Τον κύριο Ανδρέα Συμεωνίδη για την αμέριστη υπομονή του
● Τον κύριο Γεώργιο Μαμαλάκη για τις πολλές συζητήσεις μας γύρω από τη
διπλωματική για τις οποίες δεν είχε καμία υποχρέωση να κάνει
21
Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης
Two roads diverged in a wood, and I—
I took the one less traveled by,
And that has made all the difference.
22

More Related Content

Similar to Dimitrios Tatsis

Στεργιάδης Εμμανουήλ
Στεργιάδης Εμμανουήλ Στεργιάδης Εμμανουήλ
Στεργιάδης Εμμανουήλ ISSEL
 
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...ISSEL
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...ISSEL
 
Οικονόμου Ναπολέων – Χρήστος
Οικονόμου Ναπολέων – ΧρήστοςΟικονόμου Ναπολέων – Χρήστος
Οικονόμου Ναπολέων – ΧρήστοςISSEL
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...ISSEL
 
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...ISSEL
 
Μιχαήλ Παπαμιχαήλ
Μιχαήλ ΠαπαμιχαήλΜιχαήλ Παπαμιχαήλ
Μιχαήλ ΠαπαμιχαήλISSEL
 
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...ISSEL
 
Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...ISSEL
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...ISSEL
 
Development of a system for designing remote digital image processing pipelin...
Development of a system for designing remote digital image processing pipelin...Development of a system for designing remote digital image processing pipelin...
Development of a system for designing remote digital image processing pipelin...ISSEL
 
Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...
Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...
Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...ISSEL
 
Τμηματοποίηση του κώδικα στον οπτικό προγραμματισμό | Αναστάσιος Λαδιάς | Θερ...
Τμηματοποίηση του κώδικα στον οπτικό προγραμματισμό | Αναστάσιος Λαδιάς | Θερ...Τμηματοποίηση του κώδικα στον οπτικό προγραμματισμό | Αναστάσιος Λαδιάς | Θερ...
Τμηματοποίηση του κώδικα στον οπτικό προγραμματισμό | Αναστάσιος Λαδιάς | Θερ...WROHellas
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...ISSEL
 
C_27102023.pdf
C_27102023.pdfC_27102023.pdf
C_27102023.pdfargideli1
 

Similar to Dimitrios Tatsis (20)

Στεργιάδης Εμμανουήλ
Στεργιάδης Εμμανουήλ Στεργιάδης Εμμανουήλ
Στεργιάδης Εμμανουήλ
 
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
 
Οικονόμου Ναπολέων – Χρήστος
Οικονόμου Ναπολέων – ΧρήστοςΟικονόμου Ναπολέων – Χρήστος
Οικονόμου Ναπολέων – Χρήστος
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
 
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
 
Μιχαήλ Παπαμιχαήλ
Μιχαήλ ΠαπαμιχαήλΜιχαήλ Παπαμιχαήλ
Μιχαήλ Παπαμιχαήλ
 
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
 
Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
 
GNS3 Greek Presentation
GNS3 Greek Presentation GNS3 Greek Presentation
GNS3 Greek Presentation
 
Development of a system for designing remote digital image processing pipelin...
Development of a system for designing remote digital image processing pipelin...Development of a system for designing remote digital image processing pipelin...
Development of a system for designing remote digital image processing pipelin...
 
Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...
Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...
Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...
 
Τμηματοποίηση του κώδικα στον οπτικό προγραμματισμό | Αναστάσιος Λαδιάς | Θερ...
Τμηματοποίηση του κώδικα στον οπτικό προγραμματισμό | Αναστάσιος Λαδιάς | Θερ...Τμηματοποίηση του κώδικα στον οπτικό προγραμματισμό | Αναστάσιος Λαδιάς | Θερ...
Τμηματοποίηση του κώδικα στον οπτικό προγραμματισμό | Αναστάσιος Λαδιάς | Θερ...
 
perilipsi
perilipsiperilipsi
perilipsi
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
 
SE4
SE4SE4
SE4
 
Signals
SignalsSignals
Signals
 
C_27102023.pdf
C_27102023.pdfC_27102023.pdf
C_27102023.pdf
 
Pialoglou_Alexandros_Dip_2015
Pialoglou_Alexandros_Dip_2015Pialoglou_Alexandros_Dip_2015
Pialoglou_Alexandros_Dip_2015
 

More from ISSEL

Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...ISSEL
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...ISSEL
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςISSEL
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxISSEL
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...ISSEL
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...ISSEL
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνISSEL
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταISSEL
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...ISSEL
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ISSEL
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούISSEL
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςISSEL
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsISSEL
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...ISSEL
 
Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...ISSEL
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ISSEL
 
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...ISSEL
 
Design and Development of an Authorization and Access Control Mechanism for C...
Design and Development of an Authorization and Access Control Mechanism for C...Design and Development of an Authorization and Access Control Mechanism for C...
Design and Development of an Authorization and Access Control Mechanism for C...ISSEL
 
Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο...
Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο...Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο...
Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο...ISSEL
 
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEMTOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEMISSEL
 

More from ISSEL (20)

Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environments
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
 
Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
 
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...
 
Design and Development of an Authorization and Access Control Mechanism for C...
Design and Development of an Authorization and Access Control Mechanism for C...Design and Development of an Authorization and Access Control Mechanism for C...
Design and Development of an Authorization and Access Control Mechanism for C...
 
Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο...
Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο...Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο...
Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο...
 
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEMTOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM
 

Recently uploaded

Προσκλήσεις θεατρικής παράστασης
Προσκλήσεις θεατρικής          παράστασηςΠροσκλήσεις θεατρικής          παράστασης
Προσκλήσεις θεατρικής παράστασηςDimitra Mylonaki
 
15η ΕΝΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε ΤΑΞΗ :ΤΗΛΕΟΡΑΣΗ.pdf
15η ΕΝΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε ΤΑΞΗ :ΤΗΛΕΟΡΑΣΗ.pdf15η ΕΝΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε ΤΑΞΗ :ΤΗΛΕΟΡΑΣΗ.pdf
15η ΕΝΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε ΤΑΞΗ :ΤΗΛΕΟΡΑΣΗ.pdfMaria Koufopoulou
 
Ο εξελληνισμός του Ανατολικού Ρωμαϊκού κράτους.pdf
Ο εξελληνισμός του Ανατολικού Ρωμαϊκού κράτους.pdfΟ εξελληνισμός του Ανατολικού Ρωμαϊκού κράτους.pdf
Ο εξελληνισμός του Ανατολικού Ρωμαϊκού κράτους.pdfEvangelia Patera
 
Αφίσες θεατρικής παράστασης
Αφίσες                   θεατρικής παράστασηςΑφίσες                   θεατρικής παράστασης
Αφίσες θεατρικής παράστασηςDimitra Mylonaki
 
Οι δικές μας αεροσκάφες
Οι δικές μας                    αεροσκάφεςΟι δικές μας                    αεροσκάφες
Οι δικές μας αεροσκάφεςDimitra Mylonaki
 
Διαχείρηση Gmail - Βήμα προς Βήμα - Βασικά Στοιχεία
Διαχείρηση Gmail - Βήμα προς Βήμα - Βασικά ΣτοιχείαΔιαχείρηση Gmail - Βήμα προς Βήμα - Βασικά Στοιχεία
Διαχείρηση Gmail - Βήμα προς Βήμα - Βασικά Στοιχείαbasket20032020
 
Η εποχή του Ιουστινιανού-Η ελληνοχριστιανική οικουμένη
Η εποχή του Ιουστινιανού-Η ελληνοχριστιανική οικουμένηΗ εποχή του Ιουστινιανού-Η ελληνοχριστιανική οικουμένη
Η εποχή του Ιουστινιανού-Η ελληνοχριστιανική οικουμένηEvangelia Patera
 
Ο μοναχισμός στις διάφορες θρησκείες. Θρησκευτικά Λυκείου
Ο μοναχισμός στις διάφορες θρησκείες. Θρησκευτικά ΛυκείουΟ μοναχισμός στις διάφορες θρησκείες. Θρησκευτικά Λυκείου
Ο μοναχισμός στις διάφορες θρησκείες. Θρησκευτικά ΛυκείουVasiliki Matiaki
 
1ο ΓΥΜΝΑΣΙΟ ΠΕΙΡΑΙΑ-ECOMOBILITY "ΑΛΛΑΖΟΝΤΑΣ ΤΟΝ ΠΕΙΡΑΙΑ!"
1ο ΓΥΜΝΑΣΙΟ ΠΕΙΡΑΙΑ-ECOMOBILITY "ΑΛΛΑΖΟΝΤΑΣ ΤΟΝ ΠΕΙΡΑΙΑ!"1ο ΓΥΜΝΑΣΙΟ ΠΕΙΡΑΙΑ-ECOMOBILITY "ΑΛΛΑΖΟΝΤΑΣ ΤΟΝ ΠΕΙΡΑΙΑ!"
1ο ΓΥΜΝΑΣΙΟ ΠΕΙΡΑΙΑ-ECOMOBILITY "ΑΛΛΑΖΟΝΤΑΣ ΤΟΝ ΠΕΙΡΑΙΑ!"margaritathymara1
 
ΡΑΛΛΙΟΥ ΕΛΕΝΗ-les droits des animaux.pdf
ΡΑΛΛΙΟΥ ΕΛΕΝΗ-les droits des animaux.pdfΡΑΛΛΙΟΥ ΕΛΕΝΗ-les droits des animaux.pdf
ΡΑΛΛΙΟΥ ΕΛΕΝΗ-les droits des animaux.pdfChrisa Kokorikou
 
ΣΠΑΣΕ ΤΗ ΣΙΩΠΗ ΑΠΟ ΤΟΥΣ ΜΑΘΗΤΕΣ/ΤΡΙΕΣ ΤΟΥ Β2.pdf
ΣΠΑΣΕ ΤΗ ΣΙΩΠΗ ΑΠΟ ΤΟΥΣ ΜΑΘΗΤΕΣ/ΤΡΙΕΣ ΤΟΥ Β2.pdfΣΠΑΣΕ ΤΗ ΣΙΩΠΗ ΑΠΟ ΤΟΥΣ ΜΑΘΗΤΕΣ/ΤΡΙΕΣ ΤΟΥ Β2.pdf
ΣΠΑΣΕ ΤΗ ΣΙΩΠΗ ΑΠΟ ΤΟΥΣ ΜΑΘΗΤΕΣ/ΤΡΙΕΣ ΤΟΥ Β2.pdfChrisa Kokorikou
 
Το τέλος του Δυτικού Ρωμαϊκού κράτους.pdf
Το τέλος του Δυτικού Ρωμαϊκού κράτους.pdfΤο τέλος του Δυτικού Ρωμαϊκού κράτους.pdf
Το τέλος του Δυτικού Ρωμαϊκού κράτους.pdfEvangelia Patera
 
Οι μικροί αρτοποιοί της Γ τάξης και το ψωμί τους.pptx
Οι μικροί αρτοποιοί της Γ τάξης και το ψωμί τους.pptxΟι μικροί αρτοποιοί της Γ τάξης και το ψωμί τους.pptx
Οι μικροί αρτοποιοί της Γ τάξης και το ψωμί τους.pptx36dimperist
 
ΣΤ2 -ΕΓΩ ΚΑΙ ΣΥ ΜΑΖΙ-ΦΙΛΟΙ ΠΑΝΤΟΤΙΝΟΙ .pdf
ΣΤ2 -ΕΓΩ ΚΑΙ ΣΥ ΜΑΖΙ-ΦΙΛΟΙ ΠΑΝΤΟΤΙΝΟΙ .pdfΣΤ2 -ΕΓΩ ΚΑΙ ΣΥ ΜΑΖΙ-ΦΙΛΟΙ ΠΑΝΤΟΤΙΝΟΙ .pdf
ΣΤ2 -ΕΓΩ ΚΑΙ ΣΥ ΜΑΖΙ-ΦΙΛΟΙ ΠΑΝΤΟΤΙΝΟΙ .pdfChrisa Kokorikou
 
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑΝίκος Θεοτοκάτος
 
Ιπτάμενη σκάφη ΚΟΜΙΚ ΠΑΙΔΙΩΝ
Ιπτάμενη                σκάφη ΚΟΜΙΚ ΠΑΙΔΙΩΝΙπτάμενη                σκάφη ΚΟΜΙΚ ΠΑΙΔΙΩΝ
Ιπτάμενη σκάφη ΚΟΜΙΚ ΠΑΙΔΙΩΝDimitra Mylonaki
 
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑΝίκος Θεοτοκάτος
 

Recently uploaded (18)

Προσκλήσεις θεατρικής παράστασης
Προσκλήσεις θεατρικής          παράστασηςΠροσκλήσεις θεατρικής          παράστασης
Προσκλήσεις θεατρικής παράστασης
 
15η ΕΝΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε ΤΑΞΗ :ΤΗΛΕΟΡΑΣΗ.pdf
15η ΕΝΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε ΤΑΞΗ :ΤΗΛΕΟΡΑΣΗ.pdf15η ΕΝΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε ΤΑΞΗ :ΤΗΛΕΟΡΑΣΗ.pdf
15η ΕΝΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε ΤΑΞΗ :ΤΗΛΕΟΡΑΣΗ.pdf
 
Ο εξελληνισμός του Ανατολικού Ρωμαϊκού κράτους.pdf
Ο εξελληνισμός του Ανατολικού Ρωμαϊκού κράτους.pdfΟ εξελληνισμός του Ανατολικού Ρωμαϊκού κράτους.pdf
Ο εξελληνισμός του Ανατολικού Ρωμαϊκού κράτους.pdf
 
Αφίσες θεατρικής παράστασης
Αφίσες                   θεατρικής παράστασηςΑφίσες                   θεατρικής παράστασης
Αφίσες θεατρικής παράστασης
 
Πρόγραμμα διήμερου σεμιναρίου Β. Ελλάδας 12-13 Απριλίου 2024
Πρόγραμμα διήμερου σεμιναρίου Β. Ελλάδας 12-13 Απριλίου 2024Πρόγραμμα διήμερου σεμιναρίου Β. Ελλάδας 12-13 Απριλίου 2024
Πρόγραμμα διήμερου σεμιναρίου Β. Ελλάδας 12-13 Απριλίου 2024
 
Οι δικές μας αεροσκάφες
Οι δικές μας                    αεροσκάφεςΟι δικές μας                    αεροσκάφες
Οι δικές μας αεροσκάφες
 
Διαχείρηση Gmail - Βήμα προς Βήμα - Βασικά Στοιχεία
Διαχείρηση Gmail - Βήμα προς Βήμα - Βασικά ΣτοιχείαΔιαχείρηση Gmail - Βήμα προς Βήμα - Βασικά Στοιχεία
Διαχείρηση Gmail - Βήμα προς Βήμα - Βασικά Στοιχεία
 
Η εποχή του Ιουστινιανού-Η ελληνοχριστιανική οικουμένη
Η εποχή του Ιουστινιανού-Η ελληνοχριστιανική οικουμένηΗ εποχή του Ιουστινιανού-Η ελληνοχριστιανική οικουμένη
Η εποχή του Ιουστινιανού-Η ελληνοχριστιανική οικουμένη
 
Ο μοναχισμός στις διάφορες θρησκείες. Θρησκευτικά Λυκείου
Ο μοναχισμός στις διάφορες θρησκείες. Θρησκευτικά ΛυκείουΟ μοναχισμός στις διάφορες θρησκείες. Θρησκευτικά Λυκείου
Ο μοναχισμός στις διάφορες θρησκείες. Θρησκευτικά Λυκείου
 
1ο ΓΥΜΝΑΣΙΟ ΠΕΙΡΑΙΑ-ECOMOBILITY "ΑΛΛΑΖΟΝΤΑΣ ΤΟΝ ΠΕΙΡΑΙΑ!"
1ο ΓΥΜΝΑΣΙΟ ΠΕΙΡΑΙΑ-ECOMOBILITY "ΑΛΛΑΖΟΝΤΑΣ ΤΟΝ ΠΕΙΡΑΙΑ!"1ο ΓΥΜΝΑΣΙΟ ΠΕΙΡΑΙΑ-ECOMOBILITY "ΑΛΛΑΖΟΝΤΑΣ ΤΟΝ ΠΕΙΡΑΙΑ!"
1ο ΓΥΜΝΑΣΙΟ ΠΕΙΡΑΙΑ-ECOMOBILITY "ΑΛΛΑΖΟΝΤΑΣ ΤΟΝ ΠΕΙΡΑΙΑ!"
 
ΡΑΛΛΙΟΥ ΕΛΕΝΗ-les droits des animaux.pdf
ΡΑΛΛΙΟΥ ΕΛΕΝΗ-les droits des animaux.pdfΡΑΛΛΙΟΥ ΕΛΕΝΗ-les droits des animaux.pdf
ΡΑΛΛΙΟΥ ΕΛΕΝΗ-les droits des animaux.pdf
 
ΣΠΑΣΕ ΤΗ ΣΙΩΠΗ ΑΠΟ ΤΟΥΣ ΜΑΘΗΤΕΣ/ΤΡΙΕΣ ΤΟΥ Β2.pdf
ΣΠΑΣΕ ΤΗ ΣΙΩΠΗ ΑΠΟ ΤΟΥΣ ΜΑΘΗΤΕΣ/ΤΡΙΕΣ ΤΟΥ Β2.pdfΣΠΑΣΕ ΤΗ ΣΙΩΠΗ ΑΠΟ ΤΟΥΣ ΜΑΘΗΤΕΣ/ΤΡΙΕΣ ΤΟΥ Β2.pdf
ΣΠΑΣΕ ΤΗ ΣΙΩΠΗ ΑΠΟ ΤΟΥΣ ΜΑΘΗΤΕΣ/ΤΡΙΕΣ ΤΟΥ Β2.pdf
 
Το τέλος του Δυτικού Ρωμαϊκού κράτους.pdf
Το τέλος του Δυτικού Ρωμαϊκού κράτους.pdfΤο τέλος του Δυτικού Ρωμαϊκού κράτους.pdf
Το τέλος του Δυτικού Ρωμαϊκού κράτους.pdf
 
Οι μικροί αρτοποιοί της Γ τάξης και το ψωμί τους.pptx
Οι μικροί αρτοποιοί της Γ τάξης και το ψωμί τους.pptxΟι μικροί αρτοποιοί της Γ τάξης και το ψωμί τους.pptx
Οι μικροί αρτοποιοί της Γ τάξης και το ψωμί τους.pptx
 
ΣΤ2 -ΕΓΩ ΚΑΙ ΣΥ ΜΑΖΙ-ΦΙΛΟΙ ΠΑΝΤΟΤΙΝΟΙ .pdf
ΣΤ2 -ΕΓΩ ΚΑΙ ΣΥ ΜΑΖΙ-ΦΙΛΟΙ ΠΑΝΤΟΤΙΝΟΙ .pdfΣΤ2 -ΕΓΩ ΚΑΙ ΣΥ ΜΑΖΙ-ΦΙΛΟΙ ΠΑΝΤΟΤΙΝΟΙ .pdf
ΣΤ2 -ΕΓΩ ΚΑΙ ΣΥ ΜΑΖΙ-ΦΙΛΟΙ ΠΑΝΤΟΤΙΝΟΙ .pdf
 
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
 
Ιπτάμενη σκάφη ΚΟΜΙΚ ΠΑΙΔΙΩΝ
Ιπτάμενη                σκάφη ΚΟΜΙΚ ΠΑΙΔΙΩΝΙπτάμενη                σκάφη ΚΟΜΙΚ ΠΑΙΔΙΩΝ
Ιπτάμενη σκάφη ΚΟΜΙΚ ΠΑΙΔΙΩΝ
 
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
 

Dimitrios Tatsis

  • 1. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Αυτόματη παραγωγή σεναρίου ελέγχου μέσω δυναμικής ανάλυσης και συμβολικής εκτέλεσης Δημήτριος Τάτσης Α.Ε.Μ: 7262 2019-07-05 Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Επιβλέπων: Ανδρέας Συμεωνίδης, Αναπληρωτής Καθηγητής Συνεπιβλέπων: Γεώργιος Μαμαλάκης
  • 2. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Κίνητρο ● Τα συστήματα λογισμικού χρησιμοποιούνται όλο και περισσότερο στην καθημερινή ζωή ● Η ανάλυση ασφάλειας λογισμικού έχει σημαντικές προεκτάσεις για την ιδιωτικότητα και την ασφάλεια των χρηστών 2
  • 3. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Σκοπός Η ανάπτυξη ενός συστήματος ανάλυσης ασφάλειας λογισμικού το οποίο θα πρέπει ● Να χρησιμοποιεί προηγμένες τεχνικές ανάλυσης ώστε να παράγει σενάρια δοκιμών και ελέγχου προγραμμάτων ● Να παράγει αυτά τα σενάρια δοκιμών και ελέγχου χωρίς γνώση για τη λειτουργικότητα του προγράμματος προς ανάλυση ● Να είναι αυτόματο 3
  • 4. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Γνώσεις που αποκτήθηκαν ● Ο συνδυασμός δυναμικής ανάλυσης και συμβολικής εκτέλεσης για την ανάλυση προγραμμάτων ● Η εφαρμογή αυτών των τεχνικών σε πολύπλοκα εμπορικά προγράμματα και οι περιορισμοί που εμφανίζονται ● Η διαδικασία δημιουργίας ενός εργαλείου που συνδυάζει διαφορετικά υποσυστήματα που επικοινωνούν μεταξύ τους 4
  • 5. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Έννοιες ● Basic Block ○ Ένα σύνολο από εντολές assembly που καταλήγουν σε εντολή branch ● Μονοπάτι Κώδικα ○ Ένα σύνολο από basic blocks που περιγράφει ποιά basic blocks έχουν εκτελεστεί και με ποια σειρά ● Code Coverage ○ Μετρική η οποία δείχνει το ποσοστό του προγράμματος που έχει εκτελεστεί για μια συγκεκριμένη είσοδο ○ Ποσοστό εκτελεσμένων συναρτήσεων, basic blocks, μονοπατιών, κλπ. 5
  • 6. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Δυναμική Ανάλυση ● Εισαγωγή νέου κώδικα κατά την εκτέλεση ενός προγράμματος ο οποίος θα εκτελείται όταν εμείς το επιθυμούμε ● Συλλογή στατιστικών κατά την εκτέλεση, αντικατάσταση εντολών προγράμματος με άλλες κλπ. ● Υπάρχει ένα “μικρό” κόστος εκτέλεσης των επιπλέων εντολών ● Η δυναμική ανάλυση δρα μόνο για μία είσοδο 6
  • 7. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Δυναμική Ανάλυση - Παράδειγμα Παράδειγμα εισαγωγής επιπλέον κώδικα Αναγνώριση της εξάρτησης της μεταβλητής sum από τον πίνακα buf Για αληθή συνθήκη, καταγράφεται η διεύθυνση του κώδικα που εκτελέστηκε για μια συγκεκριμένη εκτέλεση 7
  • 8. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Συμβολική εκτέλεση ● Μια εξομοίωση του προγράμματος ώστε να γίνει η συλλογή των συνθηκών που πρέπει να ισχύουν ώστε να εκτελεστεί ένα κομμάτι κώδικα ● Το πρόγραμμα εκτελείται με συμβολικές μεταβλητές και τελικά η ροή του προγράμματος εξαρτάται από λογικές εξισώσεις/συνθήκες ● Επίλυση αυτών των συνθηκών ● Εκθετική πολυπλοκότητα ○ Path explosion ○ SMT solving ● Συχνά θεωρούνται συμβολικές μόνο ορισμένες μεταβλητές (concolic execution) 8
  • 9. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Συμβολική εκτέλεση - Παράδειγμα Συμβολικές μεταβλητές x1, x2, … από την είσοδο του προγράμματος sum = x1 + x2 + … => x1 + x2 + … = 0x1337 Πιθανή λύση: x1 = 0x1337, x2 = 0, ... 9
  • 10. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Παραδοχές ● Εκτελέσιμο πρόγραμμα προς ανάλυση (χωρίς πηγαίο κώδικα) ● Αρχιτεκτονική x86 ● Λειτουργικό Σύστημα Linux ● Η είσοδος του προγράμματος γίνεται από ένα αρχείο που δίνεται ως όρισμα από το χρήστη 10
  • 11. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Μεθοδολογία ● Δυναμική ανάλυση ○ Με μια αρχική τυχαία είσοδο, καταγράφουμε τα μονοπάτια κώδικα που δεν εκτελέστηκαν. ○ Taint Analysis - Καταγραφή των συγκεκριμένων bytes της εισόδου που χρησιμοποιήθηκαν από το πρόγραμμα σε κάθε basic block ○ Ανάκτηση ενός στιγμιότυπου του προγράμματος ● Συμβολική εκτέλεση ○ Αρχικοποίηση κατάστασης με τη χρήση του στιγμιότυπου ○ Θεώρηση των συγκεκριμένων μόνο bytes της εισόδου που χρησιμοποιήθηκαν ως συμβολικές μεταβλητές ○ Εκκίνηση συμβολικής ανάλυσης για την επίλυση των συμβολικών μεταβλητών ώστε να συνεχίσει η εκτέλεση στο μονοπάτι που δεν εκτελέστηκε. ● Ανατροφοδότηση 11
  • 12. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Υλοποίηση - Αρχιτεκτονική 12
  • 13. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Υλοποίηση - Δυναμική Ανάλυση ● DynamoRIO - Dynamic Binary Instrumentation Framework ● Θέτουμε callbacks τα οποία θα εκτελεστούν σε συγκεκριμένα events ○ Όταν κληθούν συγκεκριμένες συναρτήσεις όπως η read() ○ Όταν πρόκειται να εκτελεστεί ένα νέο basic block για την καταγραφή του μονοπατιού ● Ανάκτηση στιγμιότυπου ○ Καταγραφή όλων των καταχωρητών και της μνήμης του προγράμματος κατά την εκτέλεση της read() ○ /proc/self/maps ● Taint Analysis ○ Θεωρώντας την είσοδο “tainted”, κάθε τιμή που επηρεάζεται από τιμή της εισόδου είναι και αυτή “tainted” ○ Προσέγγιση μέσω ανάλυσης Source / Destination Operands, ανεξάρτητη αρχιτεκτονικής 13
  • 14. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Υλοποίηση - Συμβολική Εκτέλεση ● angr - Symbolic execution framework ● Επικοινωνία με το DynamoRIO μέσω Unix Sockets ● Αρχικοποίηση κατάστασης με το στιγμιότυπο ● Σύμφωνα με το taint analysis, θέτουμε συμβολικές μεταβλητές μόνο εκείνα τα bytes της εισόδου που επηρέασαν άλλες τιμές ● Συμβολική εκτέλεση ○ Συλλογή συνθηκών ○ Επίλυση συμβολικών μεταβλητών ώστε να φτάσει η εκτέλεση στο μονοπάτι που δεν εκτελέστηκε κατά τη δυναμική εκτέλεση, παράγοντας ένα αρχείο με αυξημένο code coverage. ● Ανατροφοδότηση ○ Με τη δημιουργία του νέου αρχείου, ξεκινάει όλη η διαδικασία αναδρομικά. 14
  • 15. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Πειράματα ● libJPEG ○ Βιβλιοθήκη (απο)κωδικοποίησης αρχείων εικόνας JPEG ○ Τα αρχεία JPEG έχουν συγκεκριμένη δομή για την αποθήκευση των καρέ, της χρωματικής παλέτας, κωδικοποίηση Huffman κλπ. ○ Ένα αρχείο JPEG είναι δύσκολο να δημιουργηθεί “τυχαία” ● JSMN ○ Βιβλιοθήκη για parsing αρχείων JSON 15
  • 16. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Αποτελέσματα libJPEG Χρόνος ανάκτησης SOI marker JPEG Στιγμιότυπο Taint Analysis Χρόνος Ανάκτησης Παραγόμενα Αρχεία Απενεργοποιημένο Απενεργοποιημένο - - Ενεργοποιημένο Απενεργοποιημένο 121s 25 Ενεργοποιημένο Ενεργοποιημένο 26s 25 ● Μετά το αρχείο #25, η ανάλυση εξαντλούσε και τα 16GB της μνήμης του συστήματος 16
  • 17. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Αποτελέσματα JSMN # Αρχείο Code Coverage Missed Functions 1 29.28% 1 2 22.65% 1 3 9.94% 3 4 4.87% 4 ● Με χρήση του εργαλείου LLVM-cov ● Και εδώ μετά από μερικά λεπτά η μνήμη του συστήματος εξαντλήθηκε 17
  • 18. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Συμπεράσματα ● Η συμβολική εκτέλεση είναι μια πανίσχυρη τεχνική για την ανάλυση προγραμμάτων και την παραγωγή σεναρίων ελέγχου με ενθαρρυντικά αποτελέσματα ● Λόγω των περιορισμών της συμβολικής εκτέλεσης είναι απαραίτητη χρήση επιπλέον τεχνικών για την ανάλυση μεγάλων/εμπορικών προγραμμάτων 18
  • 19. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Μελλοντική Εργασία ● Βελτιστοποίηση της δυναμικής ανάλυσης με εισαγωγή εντολών assembly ● Γενίκευση του κώδικα αποθήκευσης της κατάστασης του προγράμματος ● Χρήση shared memory μηχανισμού για την ελαχιστοποίηση του κόστους μεταφοράς των δεδομένων ● Υποστήριξη Python 3 19
  • 20. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Δημοσιεύσεις ● Μέρος αυτής της διπλωματικής παρουσιάστηκε στο συνέδριο FOSSCOM 2018 στο Ηράκλειο Κρήτης 20
  • 21. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Ευχαριστίες ● Τον κύριο Ανδρέα Συμεωνίδη για την αμέριστη υπομονή του ● Τον κύριο Γεώργιο Μαμαλάκη για τις πολλές συζητήσεις μας γύρω από τη διπλωματική για τις οποίες δεν είχε καμία υποχρέωση να κάνει 21
  • 22. Ιούλιος 2019 Αυτόματη Παραγωγη Σεναρίου Ελέγχου μέσω Δυναμικής Ανάλυσης και Συμβολικής Εκτέλεσης Two roads diverged in a wood, and I— I took the one less traveled by, And that has made all the difference. 22