Ασφαλής εξέταση malware, parsers και περιορισμοί Android — DedSec Project
Ασφαλής εξέταση malware, parsers και περιορισμοί Android 13. Αρχική ανάλυση ύποπτου αρχείου χωρίς εκτέλεση Στόχος: Αρχική ανάλυση ύποπτου αρχείου χωρίς εκτέλεση. Όταν εμφανίζεται άγνωστο…
13. Αρχική ανάλυση ύποπτου αρχείου χωρίς εκτέλεση
Στόχος: Αρχική ανάλυση ύποπτου αρχείου χωρίς εκτέλεση.
Όταν εμφανίζεται άγνωστο αρχείο, μην το ανοίγεις για να δεις «τι κάνει». Ξεκίνα από προέλευση, hash, τύπο, ψηφιακή υπογραφή, χρόνο και εάν το περίμενες. Metadata και strings δίνουν ενδείξεις, όχι τελική διάγνωση.
Κράτα μη έμπιστα δείγματα μακριά από το κανονικό περιβάλλον. Για δυναμική ανάλυση χρειάζεται ειδικός εξουσιοδοτημένος χώρος χωρίς προσωπικά credentials και με σαφείς περιορισμούς δικτύου. Χωρίς αυτόν, μείνε σε read-only ελέγχους.
Ασφαλής άσκηση: δημιούργησε ακίνδυνο αρχείο κειμένου, υπολόγισε το hash, άλλαξε την επέκταση και δες τη διαφορά ονόματος και πραγματικού περιεχομένου. Άλλαξε ένα byte και σύγκρινε hashes.
Αναφορά: γεγονότα, βεβαιότητα, τι δεν εκτελέστηκε και επόμενο ασφαλές βήμα. Τα labels antivirus δεν είναι αλάνθαστα και ιδιωτικά αρχεία δεν ανεβαίνουν σε δημόσιους scanners χωρίς άδεια.
Συμπληρωματική ύλη: Hacking Guide Project — ενότητα 79.
14. Αντοχή parsers και μικρά fuzz tests
Στόχος: Αντοχή parsers και μικρά fuzz tests.
Οι parsers συχνά αποτυγχάνουν σε άδεια δεδομένα, κακή κωδικοποίηση, βαθιά εμφώλευση, υπερβολικά μεγέθη, ελλείποντες διαχωριστές ή επαναλαμβανόμενα κλειδιά. Πρώτα όρισε τι θεωρείται έγκυρη είσοδος.
Μικρό παράδειγμα: parser που διαβάζει KEY=VALUE ανά γραμμή. Δοκίμασε κενή γραμμή, κενά, διπλό KEY, απουσία '=', επιπλέον '=' στην τιμή και ελληνικούς χαρακτήρες. Αποφάσισε αν τα διπλότυπα απορρίπτονται ή αν υπερισχύει το τελευταίο.
Ιδιότητες: έγκυρη είσοδος δίνει προβλέψιμο αποτέλεσμα, άκυρη είσοδος σαφές σφάλμα, χρόνος και μνήμη παραμένουν περιορισμένα, δεν γράφονται αρχεία εκτός ορίων.
Άσκηση: φτιάξε δώδεκα μικρές μεταλλάξεις συνθετικών δεδομένων για δικό σου parser. Για κάθε έκπληξη κράτησε το μικρότερο δείγμα και πρόσθεσε regression test.
Το fuzzing βρίσκει περιπτώσεις· η τεκμηριωμένη διόρθωση τις μετατρέπει σε σταθερή γνώση.
Συμπληρωματική ύλη: Hacking Guide Project — ενότητα 68.
15. Android εφαρμογές: δικαιώματα και ενημερώσεις
Στόχος: Android εφαρμογές: δικαιώματα και ενημερώσεις.
Το Android APK εγκαθίσταται με συγκεκριμένη ταυτότητα πακέτου και κλειδί υπογραφής. Μια κανονική ενημέρωση χρειάζεται συμβατή ταυτότητα και συνέχεια signing· διαφορετική υπογραφή δεν είναι απλή αναβάθμιση. Τα κλειδιά υπογραφής είναι πολύτιμα μυστικά.
Οι runtime permissions συνδέονται με πραγματικές λειτουργίες. Κάμερα, μικρόφωνο και αρχεία χρειάζονται σαφή λόγο για τον χρήστη. Αν μια άδεια απορριφθεί, η εφαρμογή οφείλει να συμπεριφερθεί σωστά, όχι να κρασάρει.
Μεταφορά κώδικα: ένα Python εργαλείο σε Android μπορεί να χρειάζεται native επιλογή αρχείων, lifecycle handling, scoped storage και άλλες ειδοποιήσεις. Το ίδιο μενού δεν αποδεικνύει την ίδια λειτουργία.
Άσκηση: σχεδίασε εφαρμογή σημειώσεων. Όρισε ελάχιστες permissions, offline αρχεία, εισαγωγή/εξαγωγή, backup, package ID, signing και smoke tests σε παλιότερο/νεότερο Android.
Ένα build emulator δεν αποδεικνύει πλήρως συμπεριφορά πραγματικού κινητού.
Συμπληρωματική ύλη: Hacking Guide Project — ενότητα 56.
16. Εξουσιοδοτημένες δοκιμές και αναφορά
Στόχος: Εξουσιοδοτημένες δοκιμές και αναφορά.
Η έρευνα ασφάλειας αρχίζει από άδεια, όρια και μη διατάραξη. Το ότι ένας στόχος είναι δημόσιος δεν δίνει άδεια να τον δοκιμάσεις. Χρειάζονται σαφές επιτρεπόμενο scope, τεχνικές, όρια αιτημάτων, κανάλι αναφοράς και κανόνες διαχείρισης δεδομένων.
Μια καλή αναφορά ξεχωρίζει γεγονότα και υποθέσεις: επηρεαζόμενη έκδοση, προϋποθέσεις, περιορισμένη επίπτωση, ασφαλής αναπαραγωγή, στοιχεία χωρίς προσωπικά δεδομένα, αναμενόμενη/πραγματική συμπεριφορά και πρόταση διόρθωσης.
Φανταστικό παράδειγμα: σε δική σου τοπική εφαρμογή σημειώσεων, ο δεύτερος δοκιμαστικός λογαριασμός μπορεί να διαβάσει σημείωμα του πρώτου. Χρησιμοποίησε μόνο συνθετικά δεδομένα και φτιάξε ένα τεστ που αποτυγχάνει πριν από τη διόρθωση.
Άσκηση: γράψε μια σελίδα αναφοράς με σοβαρότητα, ακριβή βήματα και αρνητικό regression test.
Όχι πραγματικό επιθετικό scanning, κοινωνική μηχανική ή δεδομένα τρίτων σε αυτή την άσκηση.
Συμπληρωματική ύλη: Hacking Guide Project — ενότητα 43.