Ο μηχανικός ασφαλείας 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, όχι για υπολογιστικά απαιτητικές εργασίες.
Πηγές
tomshardware.com
203
