- Ο μηχανικός ασφαλείας που είναι γνωστός με το ψευδώνυμο solstICE μετέφερε το δημοφιλές εργαλείο cracking κωδικών hashcat στο Game Boy Advance, τη φορητή κονσόλα της Nintendo από το 2001.
- Σύμφωνα με τον ίδιο, το gba-hashcat πετυχαίνει 727 SHA256 hashes το δευτερόλεπτο πάνω στο ARM7TDMI chip της κονσόλας, που λειτουργεί στα 16,8 MHz.
- Ο δημιουργός εκτιμά ότι η απόδοση αυτή είναι περίπου τριάντα εκατομμύρια φορές χαμηλότερη σε σχέση με μια σύγχρονη διάταξη επιτάχυνσης μέσω GPU.
Το password cracking, δηλαδή η προσπάθεια ανάκτησης κωδικών πρόσβασης μέσω δοκιμής μεγάλου αριθμού πιθανών συνδυασμών, είναι μια διαδικασία που σήμερα βασίζεται σχεδόν αποκλειστικά σε ισχυρές κάρτες γραφικών. Ο μηχανικός ασφαλείας με το ψευδώνυμο solstICE αποφάσισε να δοκιμάσει το αντίθετο άκρο του φάσματος, μεταφέροντας το hashcat, ένα από τα πιο διαδεδομένα εργαλεία στον χώρο, σε ένα Game Boy Advance.
Το project, με το όνομα gba-hashcat, τρέχει πάνω στο πρωτότυπο υλικό της κονσόλας. Ο επεξεργαστής της είναι ένα ARM7TDMI chip, αρχιτεκτονικής RISC στα 32-bit, με ρολόι στα 16,8 MHz. Η μηχανή διαθέτει 288 KB μνήμης RAM και επιπλέον 98 KB μνήμης VRAM, ενώ μεγάλο μέρος της επικοινωνίας με τη μνήμη γίνεται μέσω δίαυλου 16-bit.
Σύμφωνα με τον δημιουργό, το gba-hashcat καταφέρνει να επεξεργαστεί 727 SHA256 hashes το δευτερόλεπτο. Ο ίδιος υπολογίζει πως αυτή η απόδοση είναι περίπου τριάντα εκατομμύρια φορές χαμηλότερη από αυτή μιας σύγχρονης διάταξης επιτάχυνσης cracking με χρήση GPU, με αποτέλεσμα ένας ολόκληρος χρόνος λειτουργίας στο Game Boy Advance να αντιστοιχεί χονδρικά σε ένα μόλις δευτερόλεπτο σε μια τέτοια σύγχρονη διάταξη.
Ένας από τους βασικούς περιορισμούς του εγχειρήματος είναι η χωρητικότητα των cartridges του Game Boy Advance, που φτάνει έως τα 32 MB. Τα περισσότερα εργαλεία cracking βασίζονται σε προϋπολογισμένους πίνακες (precomputed tables) για να επιταχύνουν τις επαναλαμβανόμενες δοκιμές, όμως ο περιορισμένος χώρος ανάγκασε τον solstICE να συμπεριλάβει μόνο τη λίστα λέξεων ignis-1M, μεγέθους 8 MB, που περιέχει περίπου ένα εκατομμύριο πιθανούς κωδικούς.
Για την υλοποίηση του λογισμικού, ο δημιουργός αξιοποίησε το Butano, ένα πλαίσιο (framework) που επιτρέπει τη συγγραφή παιχνιδιών και εφαρμογών για Game Boy Advance σε γλώσσα C++. Το αποτέλεσμα είναι μια ελάχιστη διεπαφή χρήστη, που περιλαμβάνει μια οθόνη εισαγωγής, στατιστικά προόδου, και την τρέχουσα δοκιμή κωδικού πρόσβασης σε πραγματικό χρόνο.
Το gba-hashcat δεν προορίζεται για πρακτική χρήση σε πραγματικά σενάρια ανάκτησης κωδικών. Πρόκειται περισσότερο για επίδειξη τεχνικής δεξιότητας και για άσκηση πάνω στους περιορισμούς ενός chip που σχεδιάστηκε στα τέλη της δεκαετίας του 1990 για φορητό gaming, όχι για υπολογιστικά απαιτητικές εργασίες.

TheLab Weekly Digest
Recommended Comments
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now