SlideShare a Scribd company logo
1 of 30
Download to read offline
Synapse
Ένα εργαλείο παρακολούθησης συσχετίσεων μεταξύ νημάτων
Χαρίτων Καραμήτας
<chakaram@auth.gr>
Υπό την επίβλεψη των:
 Ανδρέα Συμεωνίδη επίκουρου καθηγητή
 Γεώργιου Μαμαλάκη υποψήφιου διδάκτορα
Περιεχόμενα
 Πρόβλημα που αντιμετωπίζουμε
 Βασικές αρχές λειτουργικών συστημάτων
 FreeBSD
 Μηχανισμοί εξέτασης πυρήνα
 OpenBSM
 Synapse – Ένα εργαλείο παρακολούθησης
συσχετίσεων μεταξύ νημάτων
 Συμπεράσματα και μελλοντική εργασία
2
Πρόβλημα που αντιμετωπίζουμε
 «Αν γνωρίζουμε ότι το υπολογιστικό σύστημα που
μελετάμε, και πιο συγκεκριμένα κάποιο νήμα που
εκτελείται σε αυτό, έχει παραβιαστεί από κάποιον
επιτιθέμενο, τότε ποιο είναι το σύνολο των νημάτων
που ενδέχεται να έχει επηρεάσει ο επιτιθέμενος και
με ποιόν τρόπο έγινε αυτό?»
3
Βασικές αρχές λειτουργικών συστημάτων
 Υψηλό επίπεδο
 Σύνοδοι (sessions)
 Διεργασίες (processes)
 Νήματα (threads a.k.a. lightweight processes)
 Χαμηλό επίπεδο
 Επίπεδα δικαιωμάτων (privilege levels a.k.a. rings)
 Χώρος πυρήνα (kernelspace)
 Χώρος χρήστη (userspace)
 Κλήσεις συστήματος (system calls)
 Εξέταση πυρήνα (kernel auditing)
4
Βασικές αρχές λειτουργικών συστημάτων
 Υψηλό επίπεδο
 Σύνοδοι (sessions)
 Για κάθε είσοδο (login) στο σύστημα δημιουργείται μία
σύνοδος
 Αναγνωριστικό συνόδου (session identifier – SID)
5
Βασικές αρχές λειτουργικών συστημάτων
 Υψηλό επίπεδο
 Διεργασίες (processes)
 Συλλογή πληροφοριών και πόρων συστήματος
 Αναγνωριστικό διεργασίας (Process identifier – PID)
 Πληροφορίες
 Ημερομηνία εκκίνησης
 Δικαιώματα χρήστη
 Εκτελέσιμο αρχείο και ορίσματα
 Πόροι συστήματος
 Χρόνος εκτέλεσης
 Μνήμη
 Ανοιχτά αρχεία
6
Βασικές αρχές λειτουργικών συστημάτων
 Υψηλό επίπεδο
 Νήματα (threads a.k.a. lightweight processes)
 Στοιχειώδεις μονάδες εκτέλεσης
 Αναγνωριστικό νήματος (Thread identifier – TID,
Lightweight process identifier – LWPID)
 Κάθε διεργασία διαθέτει τουλάχιστον ένα νήμα
 LWP ↔ CPU Core
7
Βασικές αρχές λειτουργικών συστημάτων
Session (SID 1 – chakaram)
Process
(PID 1 – firefox)
Thread (TID 1) Thread (TID 2)
Process
(PID 2 – /bin/ls)
Thread (TID 3)
8
Βασικές αρχές λειτουργικών συστημάτων
 Χαμηλό επίπεδο
 Επίπεδα δικαιωμάτων (privilege levels a.k.a. rings)
 Σε x86 και x86_64 έχουμε 4 επίπεδα (ring0 → ring3)
 Διαχωρισμός δικαιωμάτων σε επίπεδο επεξεργαστή
9
Βασικές αρχές λειτουργικών συστημάτων
 Χαμηλό επίπεδο
 Χώρος πυρήνα (kernelspace)
 Ο πυρήνας πρέπει να έχει πρόσβαση σε κάθε πώρο του
συστήματος
 Privileged instructions, IDTs, Caches & TLBs, I/O ports κ.τ.λ.
 Πυρήνας → ring0
10
Βασικές αρχές λειτουργικών συστημάτων
 Χαμηλό επίπεδο
 Χώρος χρήστη (userspace)
 Εδώ εκτελούνται όλα τα προγράμματα που εκκινεί ένας
χρήστης
 Διαχωρισμός διεργασιών
 ΟΧΙ άμεση πρόσβαση σε πώρους συστήματος
 ΟΧΙ άμεση επιρροή σε άλλες διεργασίες
 Προγράμματα → ring3
11
Βασικές αρχές λειτουργικών συστημάτων
 Χαμηλό επίπεδο
 Κλήσεις συστήματος (system calls)
 Τρόπος επικοινωνίας (ένα είδος interface) μεταξύ των
δύο rings
 Σαφώς ορισμένο σύνολο βασικών ενεργειών (π.χ. open(),
read(), write(), close())
 Για κάθε κλήση συστήματος: xxx() → sys_xxx()
 Υλοποίηση μέσω interrupt vectors (int 0x80),
sysenter/sysexit (Intel), syscall/sysret (AMD)
12
Βασικές αρχές λειτουργικών συστημάτων
ring0ring0
ring1ring1
ring2ring2
ring3ring3
13
open()sys_open()
Βασικές αρχές λειτουργικών συστημάτων
 Χαμηλό επίπεδο
 Εξέταση πυρήνα (kernel auditing)
 Τρόπος παρακολούθησης των κλήσεων συστήματος και
άλλων ενεργειών που λαμβάνουν χώρα σε ένα
λειτουργικό σύστημα
 Ποιος ο λόγος?
 Kernel debugging
 Monitoring, Intrusion Detection Systems, κ.τ.λ.
14
FreeBSD
 AT&T UNIX → BSD UNIX → FreeBSD
 … → Apple Mac OS X & iOS
 … → Microsoft Windows (seriously)
 Τερματικά ελέγχου (Controlling terminals)
 Ελεγχόμενη είσοδος/έξοδος
 Ομάδες διεργασιών (process groups)
 Κοινή λήψη σημάτων
 Εξέταση πυρήνα
 OpenBSM
15
FreeBSD
Session (SID 1 – chakaram)
Process
(PID 1 – firefox)
Thread (TID 1) Thread (TID 2)
Process
(PID 2 – /bin/ls)
Thread (TID 3)
16
Process group (PGID 1) Process group (PGID 2)
FreeBSD
$ egrep '^#define[[:space:]]+SYS' /usr/include/sys/syscall.h | 
head -n 16
#define SYS_syscall 0
#define SYS_exit 1
#define SYS_fork 2
#define SYS_read 3
#define SYS_write 4
#define SYS_open 5
#define SYS_close 6
#define SYS_wait4 7
#define SYS_link 9
#define SYS_unlink 10
#define SYS_chdir 12
#define SYS_fchdir 13
#define SYS_mknod 14
#define SYS_chmod 15
#define SYS_chown 16
#define SYS_break 17
17
Μηχανισμοί εξέτασης πυρήνα
 Λίγη ιστορία…
 Orange book, TCSEC, ITSEC, CTCPEC, CCITSE a.k.a. CC
 Microsoft Windows → Windows Performance Toolkit
(WPT)
 Linux → Linux Audit Subsystem (LauS)
 Oracle Solaris → SunSHIELD Basic Security Module
(BSM)
 Εστιάζουμε στο FreeBSD → OpenBSM
18
OpenBSM (αρχιτεκτονική)
OpenBSM kernel component
/dev/audit
audit auditd
/dev/auditpipe
Auditing
application
19
Audited
application
ring0ring3
OpenBSM (εγγραφές – audit records)
Record
Token
(AUT_HEADER32)
Token
(AUT_XXX)
Token
(AUT_XXX)
…
Token
(AUT_TRAILER)
20
Record Record …
OpenBSM (use case)
# praudit /dev/auditpipe0
header,133,11,execve(2),0,Sun Mar 9
22:34:30 2014, + 389 msec
exec arg,/bin/ls,-la,/bin/ls
path,/bin/ls
attribute,555,root,wheel,101,663059,2655
320
subject,root,root,wheel,root,wheel,12700
,0,0,0.0.0.0
return,success,0
trailer,133
header,102,11,open(2) - read,0,Sun Mar
9 22:34:30 2014, + 389 msec
argument,2,0x0,flags
path,/etc/libmap.conf
subject,root,root,wheel,root,wheel,12700
,0,0,0.0.0.0
return,failure : No such file or
directory,4294967295
trailer,102
# setaudit -m all /bin/ls -la /bin/ls
-r-xr-xr-x 1 root wheel 30488 Jan 3
2012 /bin/ls
21
Οι εγγραφές δεν περιέχουν
αναγνωριστικά νημάτων!
Synapse – Ένα εργαλείο παρακολούθησης
συσχετίσεων μεταξύ νημάτων
 Κεντρική ιδέα
 Χρήση του OpenBSM για την παρακολούθηση
κλήσεων συστήματος που αφορούν IPC
 Sockets (IPv4, IPv6, UNIX, κ.τ.λ.)
 System V IPC
 POSIX IPC
 mmap() shared memory
 …?
22
Synapse – Ένα εργαλείο παρακολούθησης
συσχετίσεων μεταξύ νημάτων
Synapse
Υποσυστήματα
χώρου πυρήνα
OpenBSM
Υποσυστήματα
χώρου χρήστη
PyAudit
PyBSM
Process
Manager
PyKVM
IPC Manager
23
Modified
Bugfixes
Synapse – Ένα εργαλείο παρακολούθησης
συσχετίσεων μεταξύ νημάτων
24
Synapse – Ένα εργαλείο παρακολούθησης
συσχετίσεων μεταξύ νημάτων
25
TokenFactory RecordFactory SyscallFactory
Token Record Syscall
Synapse – Ένα εργαλείο παρακολούθησης
συσχετίσεων μεταξύ νημάτων
26
Synapse – Ένα εργαλείο παρακολούθησης
συσχετίσεων μεταξύ νημάτων
27
DEMO
28
Συμπεράσματα και μελλοντική εργασία
 Υποστήριξη περισσότερων λειτουργικών
συστημάτων
 Παρακολούθηση όλου του συνόλου των πιθανών
μορφών επικοινωνίας μεταξύ νημάτων
 Περεταίρω επέκταση και αποσφαλμάτωση του
υποσυστήματος PyBSM
 Καλύτερη υποστήριξη για εργαλεία οπτικοποίησης
δεδομένων (data visualization)
 Τροποποίηση του BSMTrace
29
30

More Related Content

Similar to Χαρίτων Καραμήτας 5755

Kef8.ppt
Kef8.pptKef8.ppt
Kef8.pptspiman0
 
Εφαρμογές Πληροφορικής - Κεφάλαιο 1: Υλικό Υπολογιστών
Εφαρμογές Πληροφορικής - Κεφάλαιο 1: Υλικό ΥπολογιστώνΕφαρμογές Πληροφορικής - Κεφάλαιο 1: Υλικό Υπολογιστών
Εφαρμογές Πληροφορικής - Κεφάλαιο 1: Υλικό ΥπολογιστώνAnna Dimitrakopoulou
 
Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254ISSEL
 
Software Libre Society - GNU/Linux Installfest Presentation - 2/2
Software Libre Society - GNU/Linux Installfest Presentation - 2/2Software Libre Society - GNU/Linux Installfest Presentation - 2/2
Software Libre Society - GNU/Linux Installfest Presentation - 2/2Kyriakos Giannakis
 
Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές και Προγραμματισμός-Θεωρητικές έννοι...
Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές και Προγραμματισμός-Θεωρητικές έννοι...Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές και Προγραμματισμός-Θεωρητικές έννοι...
Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές και Προγραμματισμός-Θεωρητικές έννοι...Georgios Gidas
 
Trizoglou Deh
Trizoglou DehTrizoglou Deh
Trizoglou Dehknowhowgr
 
Εισαγωγή στο LinuxMint 17
Εισαγωγή στο LinuxMint 17Εισαγωγή στο LinuxMint 17
Εισαγωγή στο LinuxMint 17tzormbas
 
Εφαρμογές Πληροφορικής Κεφ. 3 Υλικο
Εφαρμογές Πληροφορικής Κεφ. 3 ΥλικοΕφαρμογές Πληροφορικής Κεφ. 3 Υλικο
Εφαρμογές Πληροφορικής Κεφ. 3 Υλικο11lykperist
 
Μαρίνα Γέραλη
Μαρίνα Γέραλη Μαρίνα Γέραλη
Μαρίνα Γέραλη ISSEL
 
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή διαδικασίας αρχικής προσφοράς ...
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή  διαδικασίας αρχικής προσφοράς ...Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή  διαδικασίας αρχικής προσφοράς ...
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή διαδικασίας αρχικής προσφοράς ...ISSEL
 
Εμπλουτισμένη εισήγηση ημερίδας ΚΕΠΛΗΝΕΤ 13/3/2013 Χρήστος Θεοδώρου (χωρίς vi...
Εμπλουτισμένη εισήγηση ημερίδας ΚΕΠΛΗΝΕΤ 13/3/2013 Χρήστος Θεοδώρου (χωρίς vi...Εμπλουτισμένη εισήγηση ημερίδας ΚΕΠΛΗΝΕΤ 13/3/2013 Χρήστος Θεοδώρου (χωρίς vi...
Εμπλουτισμένη εισήγηση ημερίδας ΚΕΠΛΗΝΕΤ 13/3/2013 Χρήστος Θεοδώρου (χωρίς vi...fthplinet
 
A rule-based approach for the real-time semantic annotation in context-aware ...
A rule-based approach for the real-time semantic annotation in context-aware ...A rule-based approach for the real-time semantic annotation in context-aware ...
A rule-based approach for the real-time semantic annotation in context-aware ...Nikolaos Konstantinou
 
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 3 1
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 3 1Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 3 1
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 3 1Ιωάννου Γιαννάκης
 
Το Υλικό του Υπολογιστή - Εφαρμογές Πληροφορικής
Το Υλικό του Υπολογιστή - Εφαρμογές ΠληροφορικήςΤο Υλικό του Υπολογιστή - Εφαρμογές Πληροφορικής
Το Υλικό του Υπολογιστή - Εφαρμογές Πληροφορικήςaberri
 

Similar to Χαρίτων Καραμήτας 5755 (20)

Kef8.ppt
Kef8.pptKef8.ppt
Kef8.ppt
 
Εφαρμογές Πληροφορικής - Κεφάλαιο 1: Υλικό Υπολογιστών
Εφαρμογές Πληροφορικής - Κεφάλαιο 1: Υλικό ΥπολογιστώνΕφαρμογές Πληροφορικής - Κεφάλαιο 1: Υλικό Υπολογιστών
Εφαρμογές Πληροφορικής - Κεφάλαιο 1: Υλικό Υπολογιστών
 
Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254
 
Software Libre Society - GNU/Linux Installfest Presentation - 2/2
Software Libre Society - GNU/Linux Installfest Presentation - 2/2Software Libre Society - GNU/Linux Installfest Presentation - 2/2
Software Libre Society - GNU/Linux Installfest Presentation - 2/2
 
Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές και Προγραμματισμός-Θεωρητικές έννοι...
Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές και Προγραμματισμός-Θεωρητικές έννοι...Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές και Προγραμματισμός-Θεωρητικές έννοι...
Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές και Προγραμματισμός-Θεωρητικές έννοι...
 
Εισαγωγή σε C# και .ΝΕΤ
Εισαγωγή σε C# και .ΝΕΤΕισαγωγή σε C# και .ΝΕΤ
Εισαγωγή σε C# και .ΝΕΤ
 
Trizoglou Deh
Trizoglou DehTrizoglou Deh
Trizoglou Deh
 
κεφαλαιο 3'
κεφαλαιο 3'κεφαλαιο 3'
κεφαλαιο 3'
 
ThesisPresentation
ThesisPresentationThesisPresentation
ThesisPresentation
 
Εισαγωγή στο LinuxMint 17
Εισαγωγή στο LinuxMint 17Εισαγωγή στο LinuxMint 17
Εισαγωγή στο LinuxMint 17
 
Εφαρμογές Πληροφορικής Κεφ. 3 Υλικο
Εφαρμογές Πληροφορικής Κεφ. 3 ΥλικοΕφαρμογές Πληροφορικής Κεφ. 3 Υλικο
Εφαρμογές Πληροφορικής Κεφ. 3 Υλικο
 
PhaST_flyer_01
PhaST_flyer_01PhaST_flyer_01
PhaST_flyer_01
 
Μαρίνα Γέραλη
Μαρίνα Γέραλη Μαρίνα Γέραλη
Μαρίνα Γέραλη
 
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή διαδικασίας αρχικής προσφοράς ...
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή  διαδικασίας αρχικής προσφοράς ...Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή  διαδικασίας αρχικής προσφοράς ...
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή διαδικασίας αρχικής προσφοράς ...
 
Εμπλουτισμένη εισήγηση ημερίδας ΚΕΠΛΗΝΕΤ 13/3/2013 Χρήστος Θεοδώρου (χωρίς vi...
Εμπλουτισμένη εισήγηση ημερίδας ΚΕΠΛΗΝΕΤ 13/3/2013 Χρήστος Θεοδώρου (χωρίς vi...Εμπλουτισμένη εισήγηση ημερίδας ΚΕΠΛΗΝΕΤ 13/3/2013 Χρήστος Θεοδώρου (χωρίς vi...
Εμπλουτισμένη εισήγηση ημερίδας ΚΕΠΛΗΝΕΤ 13/3/2013 Χρήστος Θεοδώρου (χωρίς vi...
 
A rule-based approach for the real-time semantic annotation in context-aware ...
A rule-based approach for the real-time semantic annotation in context-aware ...A rule-based approach for the real-time semantic annotation in context-aware ...
A rule-based approach for the real-time semantic annotation in context-aware ...
 
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 3 1
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 3 1Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 3 1
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 3 1
 
Το Υλικό του Υπολογιστή - Εφαρμογές Πληροφορικής
Το Υλικό του Υπολογιστή - Εφαρμογές ΠληροφορικήςΤο Υλικό του Υπολογιστή - Εφαρμογές Πληροφορικής
Το Υλικό του Υπολογιστή - Εφαρμογές Πληροφορικής
 
Software
SoftwareSoftware
Software
 
Signals
SignalsSignals
Signals
 

More from ISSEL

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...ISSEL
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...ISSEL
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...ISSEL
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...ISSEL
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςISSEL
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxISSEL
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...ISSEL
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...ISSEL
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...ISSEL
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...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
 

More from ISSEL (20)

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.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
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
 

Χαρίτων Καραμήτας 5755

  • 1. Synapse Ένα εργαλείο παρακολούθησης συσχετίσεων μεταξύ νημάτων Χαρίτων Καραμήτας <chakaram@auth.gr> Υπό την επίβλεψη των:  Ανδρέα Συμεωνίδη επίκουρου καθηγητή  Γεώργιου Μαμαλάκη υποψήφιου διδάκτορα
  • 2. Περιεχόμενα  Πρόβλημα που αντιμετωπίζουμε  Βασικές αρχές λειτουργικών συστημάτων  FreeBSD  Μηχανισμοί εξέτασης πυρήνα  OpenBSM  Synapse – Ένα εργαλείο παρακολούθησης συσχετίσεων μεταξύ νημάτων  Συμπεράσματα και μελλοντική εργασία 2
  • 3. Πρόβλημα που αντιμετωπίζουμε  «Αν γνωρίζουμε ότι το υπολογιστικό σύστημα που μελετάμε, και πιο συγκεκριμένα κάποιο νήμα που εκτελείται σε αυτό, έχει παραβιαστεί από κάποιον επιτιθέμενο, τότε ποιο είναι το σύνολο των νημάτων που ενδέχεται να έχει επηρεάσει ο επιτιθέμενος και με ποιόν τρόπο έγινε αυτό?» 3
  • 4. Βασικές αρχές λειτουργικών συστημάτων  Υψηλό επίπεδο  Σύνοδοι (sessions)  Διεργασίες (processes)  Νήματα (threads a.k.a. lightweight processes)  Χαμηλό επίπεδο  Επίπεδα δικαιωμάτων (privilege levels a.k.a. rings)  Χώρος πυρήνα (kernelspace)  Χώρος χρήστη (userspace)  Κλήσεις συστήματος (system calls)  Εξέταση πυρήνα (kernel auditing) 4
  • 5. Βασικές αρχές λειτουργικών συστημάτων  Υψηλό επίπεδο  Σύνοδοι (sessions)  Για κάθε είσοδο (login) στο σύστημα δημιουργείται μία σύνοδος  Αναγνωριστικό συνόδου (session identifier – SID) 5
  • 6. Βασικές αρχές λειτουργικών συστημάτων  Υψηλό επίπεδο  Διεργασίες (processes)  Συλλογή πληροφοριών και πόρων συστήματος  Αναγνωριστικό διεργασίας (Process identifier – PID)  Πληροφορίες  Ημερομηνία εκκίνησης  Δικαιώματα χρήστη  Εκτελέσιμο αρχείο και ορίσματα  Πόροι συστήματος  Χρόνος εκτέλεσης  Μνήμη  Ανοιχτά αρχεία 6
  • 7. Βασικές αρχές λειτουργικών συστημάτων  Υψηλό επίπεδο  Νήματα (threads a.k.a. lightweight processes)  Στοιχειώδεις μονάδες εκτέλεσης  Αναγνωριστικό νήματος (Thread identifier – TID, Lightweight process identifier – LWPID)  Κάθε διεργασία διαθέτει τουλάχιστον ένα νήμα  LWP ↔ CPU Core 7
  • 8. Βασικές αρχές λειτουργικών συστημάτων Session (SID 1 – chakaram) Process (PID 1 – firefox) Thread (TID 1) Thread (TID 2) Process (PID 2 – /bin/ls) Thread (TID 3) 8
  • 9. Βασικές αρχές λειτουργικών συστημάτων  Χαμηλό επίπεδο  Επίπεδα δικαιωμάτων (privilege levels a.k.a. rings)  Σε x86 και x86_64 έχουμε 4 επίπεδα (ring0 → ring3)  Διαχωρισμός δικαιωμάτων σε επίπεδο επεξεργαστή 9
  • 10. Βασικές αρχές λειτουργικών συστημάτων  Χαμηλό επίπεδο  Χώρος πυρήνα (kernelspace)  Ο πυρήνας πρέπει να έχει πρόσβαση σε κάθε πώρο του συστήματος  Privileged instructions, IDTs, Caches & TLBs, I/O ports κ.τ.λ.  Πυρήνας → ring0 10
  • 11. Βασικές αρχές λειτουργικών συστημάτων  Χαμηλό επίπεδο  Χώρος χρήστη (userspace)  Εδώ εκτελούνται όλα τα προγράμματα που εκκινεί ένας χρήστης  Διαχωρισμός διεργασιών  ΟΧΙ άμεση πρόσβαση σε πώρους συστήματος  ΟΧΙ άμεση επιρροή σε άλλες διεργασίες  Προγράμματα → ring3 11
  • 12. Βασικές αρχές λειτουργικών συστημάτων  Χαμηλό επίπεδο  Κλήσεις συστήματος (system calls)  Τρόπος επικοινωνίας (ένα είδος interface) μεταξύ των δύο rings  Σαφώς ορισμένο σύνολο βασικών ενεργειών (π.χ. open(), read(), write(), close())  Για κάθε κλήση συστήματος: xxx() → sys_xxx()  Υλοποίηση μέσω interrupt vectors (int 0x80), sysenter/sysexit (Intel), syscall/sysret (AMD) 12
  • 13. Βασικές αρχές λειτουργικών συστημάτων ring0ring0 ring1ring1 ring2ring2 ring3ring3 13 open()sys_open()
  • 14. Βασικές αρχές λειτουργικών συστημάτων  Χαμηλό επίπεδο  Εξέταση πυρήνα (kernel auditing)  Τρόπος παρακολούθησης των κλήσεων συστήματος και άλλων ενεργειών που λαμβάνουν χώρα σε ένα λειτουργικό σύστημα  Ποιος ο λόγος?  Kernel debugging  Monitoring, Intrusion Detection Systems, κ.τ.λ. 14
  • 15. FreeBSD  AT&T UNIX → BSD UNIX → FreeBSD  … → Apple Mac OS X & iOS  … → Microsoft Windows (seriously)  Τερματικά ελέγχου (Controlling terminals)  Ελεγχόμενη είσοδος/έξοδος  Ομάδες διεργασιών (process groups)  Κοινή λήψη σημάτων  Εξέταση πυρήνα  OpenBSM 15
  • 16. FreeBSD Session (SID 1 – chakaram) Process (PID 1 – firefox) Thread (TID 1) Thread (TID 2) Process (PID 2 – /bin/ls) Thread (TID 3) 16 Process group (PGID 1) Process group (PGID 2)
  • 17. FreeBSD $ egrep '^#define[[:space:]]+SYS' /usr/include/sys/syscall.h | head -n 16 #define SYS_syscall 0 #define SYS_exit 1 #define SYS_fork 2 #define SYS_read 3 #define SYS_write 4 #define SYS_open 5 #define SYS_close 6 #define SYS_wait4 7 #define SYS_link 9 #define SYS_unlink 10 #define SYS_chdir 12 #define SYS_fchdir 13 #define SYS_mknod 14 #define SYS_chmod 15 #define SYS_chown 16 #define SYS_break 17 17
  • 18. Μηχανισμοί εξέτασης πυρήνα  Λίγη ιστορία…  Orange book, TCSEC, ITSEC, CTCPEC, CCITSE a.k.a. CC  Microsoft Windows → Windows Performance Toolkit (WPT)  Linux → Linux Audit Subsystem (LauS)  Oracle Solaris → SunSHIELD Basic Security Module (BSM)  Εστιάζουμε στο FreeBSD → OpenBSM 18
  • 19. OpenBSM (αρχιτεκτονική) OpenBSM kernel component /dev/audit audit auditd /dev/auditpipe Auditing application 19 Audited application ring0ring3
  • 20. OpenBSM (εγγραφές – audit records) Record Token (AUT_HEADER32) Token (AUT_XXX) Token (AUT_XXX) … Token (AUT_TRAILER) 20 Record Record …
  • 21. OpenBSM (use case) # praudit /dev/auditpipe0 header,133,11,execve(2),0,Sun Mar 9 22:34:30 2014, + 389 msec exec arg,/bin/ls,-la,/bin/ls path,/bin/ls attribute,555,root,wheel,101,663059,2655 320 subject,root,root,wheel,root,wheel,12700 ,0,0,0.0.0.0 return,success,0 trailer,133 header,102,11,open(2) - read,0,Sun Mar 9 22:34:30 2014, + 389 msec argument,2,0x0,flags path,/etc/libmap.conf subject,root,root,wheel,root,wheel,12700 ,0,0,0.0.0.0 return,failure : No such file or directory,4294967295 trailer,102 # setaudit -m all /bin/ls -la /bin/ls -r-xr-xr-x 1 root wheel 30488 Jan 3 2012 /bin/ls 21 Οι εγγραφές δεν περιέχουν αναγνωριστικά νημάτων!
  • 22. Synapse – Ένα εργαλείο παρακολούθησης συσχετίσεων μεταξύ νημάτων  Κεντρική ιδέα  Χρήση του OpenBSM για την παρακολούθηση κλήσεων συστήματος που αφορούν IPC  Sockets (IPv4, IPv6, UNIX, κ.τ.λ.)  System V IPC  POSIX IPC  mmap() shared memory  …? 22
  • 23. Synapse – Ένα εργαλείο παρακολούθησης συσχετίσεων μεταξύ νημάτων Synapse Υποσυστήματα χώρου πυρήνα OpenBSM Υποσυστήματα χώρου χρήστη PyAudit PyBSM Process Manager PyKVM IPC Manager 23 Modified Bugfixes
  • 24. Synapse – Ένα εργαλείο παρακολούθησης συσχετίσεων μεταξύ νημάτων 24
  • 25. Synapse – Ένα εργαλείο παρακολούθησης συσχετίσεων μεταξύ νημάτων 25 TokenFactory RecordFactory SyscallFactory Token Record Syscall
  • 26. Synapse – Ένα εργαλείο παρακολούθησης συσχετίσεων μεταξύ νημάτων 26
  • 27. Synapse – Ένα εργαλείο παρακολούθησης συσχετίσεων μεταξύ νημάτων 27
  • 29. Συμπεράσματα και μελλοντική εργασία  Υποστήριξη περισσότερων λειτουργικών συστημάτων  Παρακολούθηση όλου του συνόλου των πιθανών μορφών επικοινωνίας μεταξύ νημάτων  Περεταίρω επέκταση και αποσφαλμάτωση του υποσυστήματος PyBSM  Καλύτερη υποστήριξη για εργαλεία οπτικοποίησης δεδομένων (data visualization)  Τροποποίηση του BSMTrace 29
  • 30. 30