[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Paroysiash/Eksetash Metaptyxiakhs Ergasias Loutsis Laertis_31/10/2014_ 12:00_E313_ tmhma episthmhs ypologistwn-Panepisthmio Kritis



ΘΕΜΑ: Paroysiash/Eksetash Metaptyxiakhs Ergasias Loutsis Laertis_31/10/2014_ 12:00_E313_ tmhma episthmhs ypologistwn-Panepisthmio Kritis

ΑΠΟΣΤΟΛΕΑΣ: Gramateia Metaptyxiakou CSD [mailto:pgram@xxxxxxxxxx]

 


  ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ
  ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ

 

ΠΑΡΟΥΣΙΑΣΗ / ΕΞΕΤΑΣΗ ΜΕΤΑΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ


Λούτσης Λαέρτης

Mεταπτυχιακός Φοιτητής

Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης


Eπόπτης Μεταπτ. Εργασίας:  Καθηγητής  Ε. Μαρκάτος

Παρασκευή, 31 Οκτωβρίου 2014, 12:00

 

Αίθουσα  Ε313, τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης

 

 

 

"Αρχιτεκτονική Υποστήριξη για την Τυχαιοποίηση του Συνόλου των Εντολών του Επεξεργαστή"

 

ΠΕΡΙΛΗΨΗ

 

Οι επιθέσεις εμβόλιμου κώδικα συνεχίζουν και αποτελούν απειλή για τα σημερινά υπολογιστικά συστήματα, εφόσον εκμεταλεύοντε αδυναμίες του λογισμικού ώστε να καταφέρουν να εισβάλουν στο απομακρυσμένο σύστημα και να εκτελέσουν αμφίβολο ή κακόβουλο κώδικα. Η τεχνική της τυχαιοποίησης του συνόλου του εντολών του επεξεργαστή ISR έχει τη δυνατότητα να προστατέψει ένα σύστημα ενάντια σε απομακρυσμένες επιθέσεις εμβόλιμου κώδικα τυχαιοποιώντας το σύνολο των εντολών της κάθε διεργασίας. Με αυτόν τον τρόπο, ο εμβόλιμος κώδικας του επιτιθέμενου θα αποτύχει να εκτελεστεί στον τυχαιοποιημένο επεξεργαστή του απομακρυσμένου συστήματος. Παρόλαυτά, ενώ η τεχνική ISR είναι διαδεδομένη, όλες οι υπάρχουσες υλοποιήσεις της, βασίζονται σε προσομοιωτές και άλλα εργαλεία τα οποία (i) επιφέρουν σημαντική μείωση στην απόδοση του επεξεργαστή, (ii) περιορίζουν την ευκολία ανάπτυξης τυχαιοποιημένου συνόλου εντολών, (iii) αδυνατούν να προστατέψουν τον πυρήνα του λειτουργικού συστήματος, και (iv) είναι επιρρεπή στις επιθέσεις που προσπαθούν να παρακάμψουν την τεχνική.

Για να αντιμετωπίσουμε αυτά τα προβλήματα προτείνουμε το ASIST: μια αρχιτεκτονική με υποστήριξη υλικού και λογισμικού-λειτουργικού συστήματος για την τυχαιοποίηση του συνόλου των εντολών του επεξεργαστή. Παραθέτουμε το σχεδιασμό και την υλοποίηση του ASIST τροποποιώντας έναν επεξεργαστή SPARC τον οποίο συνθέσαμε σε μία πλακέτα FPGA και τρέξαμε πάνω σε αυτό λειτουργικό σύστημα Linux το οποίο με τη σειρά του τροποποιήσαμε ώστε να υποστηρίζει τις καινούργιες μας λειτουργίες. Το λειτουργικό σύστημα φορτώνει ένα κλειδί, το οποίο χρησιμοποιείται για την τυχαιοποίηση των εντολών της τρέχουσας διαδικασίας σε έναν νέο καταχωρητή που έχουμε ορίσει, έπειτα ο τυχαιοποιημένος επεξεργαστής αποκωδικοποιεί τις εντολές της διαδικασίας με αυτό το κλειδί πριν την εκτέλεση τους. Επιπλέον, το ASIST προστατεύει το σύστημα ενάντια σε επιθέσεις που εκμεταλεύοντε αδυναμίες του πυρήνα του λειτουργικού συστήματος με το να εκτελέσουν αυθαίρετο κώδικα με αυξημένα προνόμια, χρησιμοποιώντας διαφορετικό κλειδί για το λειτουργικό σύστημα.

Στηρίζουμε πως το ASIST προστατεύει όλες τις εφαρμογές και τον πυρήνα του λειτουργικού συστήματος από επιθέσεις εμβόλιμου κώδικα με λιγότερο από 1.5% μείωση στην απόδοση του τρέχοντος συστήματος, ενώ απαιτεί μόνο 0.7% παραπάνω κυκλώματα.



        Loutsis Laertis     

M.Sc. Thesis

 Computer Science Department

 University of Crete

          
Master's Thesis Supervisor:  Professor  E. Markatos
Friday, 31/10/2014, 12:00
  Room E313, Computer Science  dept.,University of Crete 

 

 

                                                                         
                                                                                                                       
"Architectural Support for Instruction Set Randomization"


  ABSTRACT


 

Code injection attacks continue to pose a threat to todayʼs computing systems, as they exploit software vulnerabilities to inject and execute arbitrary, malicious code. Instruction Set Randomization (ISR) is able to protect a system against remote machine code injection attacks by randomizing the instruction set of each process. This way, the attacker will inject invalid code that will fail to execute on the randomized processor and thus, the attack will fail as well. However, all the existing implementations of ISR are based on emulators and binary instrumentation tools that (i) incur a significant runtime performance overhead, (ii) limit the ease of deployment of ISR, (iii) cannot protect the underlying operating system kernel, and (iv) are vulnerable to evasion attempts trying to bypass ISR protection.

    To address these issues we propose ASIST: an architecture with hardware and operating system support for ISR. We present the design and implementation of ASIST by modifying a SPARC processor, mapping it onto an FPGA board and finally running our modified Linux kernel to support the new features. The operating system loads the randomization key of each running process into a newly defined register, and the modified processor decodes the processʼs instructions with this key before execution. Moreover, ASIST protects the system against attacks that exploit kernel vulnerabilities to run arbitrary code with elevated privileges, by using a separate randomization key for the operating system.

   
We show that ASIST transparently protects all applications and the operating system kernel from machine code injection attacks with less than 1.5% runtime overhead, while only requiring 0.7% additional hardware.
 

 



apo th grammateia
e.kosma

 

Attachment: smime.p7s
Description: S/MIME cryptographic signature



ΛΙΣΤΑ ΚΟΙΝΟΠΟΙΗΣΕΩΝ ΣΤΗ ΦΙΛΟΣΟΦΙΚΗ ΣΧΟΛΗ.