Η αρχιτεκτονική αστοχία στην υλοποίηση του OTP
Η πρόσφατη αποκάλυψη σχετικά με την eMudhra αναδεικνύει ένα κλασικό παράδειγμα κακής χρήσης κρυπτογραφικών πρωτοκόλλων. Αντί το σύστημα να διαχειρίζεται την παραγωγή και την επαλήθευση των κωδικών μιας χρήσης (OTP) αποκλειστικά στον server, η υλοποίηση βασίζεται στην κρυπτογράφηση των δεδομένων αιτήματος με ένα δημόσιο κλειδί (RSA public key) το οποίο είναι προσβάσιμο από τον client.
Ανάλυση της ευπάθειας
Ο επιτιθέμενος, έχοντας στη διάθεσή του το δημόσιο κλειδί, μπορεί να κατασκευάσει και να κρυπτογραφήσει δικά του αιτήματα OTP. Η διαδικασία αυτή παρακάμπτει πλήρως την πρόθεση του συστήματος για ασφαλή ταυτοποίηση. Παρά την ύπαρξη μηχανισμών όπως το Cloudflare Turnstile για την αποτροπή αυτοματοποιημένων επιθέσεων, η αρχιτεκτονική επιτρέπει στον επιτιθέμενο να επιλύσει το challenge μία φορά και στη συνέχεια να προχωρήσει σε brute-forcing ή απευθείας υποβολή πλαστών αιτημάτων.
Επιπτώσεις στην ακεραιότητα των πιστοποιητικών
Το πρόβλημα δεν περιορίζεται σε μια απλή παράκαμψη login, αλλά επεκτείνεται στην ασφάλεια των ψηφιακών πιστοποιητικών που εκδίδει η εταιρεία. Με τη χρήση τεχνικών OSINT για την εύρεση των email των χρηστών, ένας επιτιθέμενος μπορεί να αποκτήσει πρόσβαση σε λογαριασμούς και να διαχειριστεί πιστοποιητικά τρίτων, θέτοντας σε κίνδυνο την εμπιστοσύνη ολόκληρης της υποδομής δημόσιου κλειδιού (PKI) που διαχειρίζεται η eMudhra.