Η ακατέργαστη πρόσβαση στη μνήμη είναι χρήσιμη κατά την εκτέλεση εγκληματολογικών δεδομένων ή κατά την παραβίαση συσκευών. Μερικές φορές χρειάζεστε ένα στιγμιότυπο μνήμης για να μπορέσετε να αναλύσετε τι συμβαίνει με τους κλειδωμένους bootloaders. στιγμιότυπο μιας θέσης μνήμης για να εντοπίσετε ένα σφάλμα ή απλώς για να βρείτε τη σωστή θέση μνήμης του Angry σας Πουλιά σκορ. Εδώ είναι το Linux Memory Extractor, a.k.a. LiME Forensics, Έρχεται σε. Το LiME είναι μια μονάδα πυρήνα με δυνατότητα φόρτωσης που σας επιτρέπει να έχετε πρόσβαση σε όλο το φάσμα της μνήμης της συσκευής. Μόλις η μονάδα πυρήνα φορτωθεί στη μνήμη, βασικά λαμβάνει ένα στιγμιότυπο, επιτρέποντας πολύ αποτελεσματικό εντοπισμό σφαλμάτων.
Ζήτησα από τον Joe Sylve, τον συγγραφέα του LiME Forensics να εξηγήσει τα πλεονεκτήματα του LiME σε σχέση με παραδοσιακά εργαλεία όπως το viewmem:
Για να απαντηθούν οι ερωτήσεις σας, τα εργαλεία σχεδιάστηκαν με διαφορετικές χρήσεις. Το LiME έχει σχεδιαστεί για να αποκτά μια πλήρη ένδειξη της διάταξης φυσικής μνήμης της RAM για εγκληματολογική ανάλυση ή έρευνα ασφαλείας. Τα κάνει όλα στο χώρο του πυρήνα και μπορεί να μεταφέρει μια εικόνα είτε στο τοπικό σύστημα αρχείων είτε μέσω TCP. Έχει σχεδιαστεί για να σας προσφέρει όσο το δυνατόν πλησιέστερο αντίγραφο φυσικής μνήμης, ελαχιστοποιώντας παράλληλα την αλληλεπίδρασή της με το σύστημα.
Φαίνεται ότι το viewmem είναι ένα πρόγραμμα της χώρας χρήστη που διαβάζει μια σειρά από διευθύνσεις εικονικής μνήμης από μια συσκευή μνήμης, όπως το /dev/mem ή /dev/kmem και εκτυπώνει τα περιεχόμενα στο stdout. Δεν είμαι σίγουρος ότι κάνει περισσότερα από τη χρήση dd σε μία από αυτές τις συσκευές.
Αυτό είναι λιγότερο αποδεκτό στην εγκληματολογία για διάφορους λόγους. Πρώτα απ 'όλα, τα /dev/mem και /dev/kmem καταργούνται σταδιακά και όλο και περισσότερες συσκευές δεν αποστέλλονται με αυτές τις συσκευές. Δεύτερον, τα /dev/mem και /dev/kmem σας περιορίζουν στην ανάγνωση από τα πρώτα 896MB μνήμης RAM. Επίσης, το εργαλείο προκαλεί πολλές εναλλαγές περιβάλλοντος μεταξύ userland και kernelland για κάθε μπλοκ μνήμης που διαβάζεται και αντικαθιστά τη μνήμη RAM με τα buffer του.
Θα έλεγα ότι κάθε εργαλείο έχει τη χρήση του. Εάν χρειάζεται απλώς να γνωρίζετε τα περιεχόμενα μιας διεύθυνσης που βρίσκεται εντός των πρώτων 896 MB μνήμης RAM και η συσκευή σας διαθέτει /dev/mem και /dev/kmem και δεν σας ενδιαφέρει η λήψη μιας ιατροδικαστικής εικόνας, τότε το viewmem (ή dd) θα ήταν χρήσιμος. Ωστόσο, το LiME δεν σχεδιάστηκε ειδικά για αυτήν την περίπτωση χρήσης.
Το πιο σημαντικό πράγμα, για εσάς τους χάκερ μνήμης εκεί έξω, είναι ότι το viewmem βασίζεται στο /dev/mem και /dev/kmem συσκευές. Δεδομένου ότι το /dev/mem και /dev/kmem Οι συσκευές επιτρέπουν την άμεση πρόσβαση στη μνήμη της συσκευής, αποτελούν ευπάθεια. Αυτές οι συσκευές Linux καταργούνται σταδιακά, καθώς έχουν γίνει στόχος πολλαπλών εκμεταλλεύσεων τον τελευταίο καιρό. Το LiME όχι μόνο αντικαθιστά το βοηθητικό πρόγραμμα viewmem, το κάνει και καλύτερα.
Οι κατασκευαστές λαμβάνουν υπόψη: Με το κλείδωμα των δυνατοτήτων που θέλουν οι προγραμματιστές, προωθείτε την ανάπτυξη καλύτερων εργαλείων.
Πηγή: LiME Forensics & Συνέντευξη με τον συγγραφέα Joe Sylve
[Πίστωση εικόνας: Παρουσίαση LiME από τον Joe Sylve]