Το προφίλ μας στο Google Plus
3

Δεν πέτυχε, έτυχε!

Κι αυτό όχι μόνο δεν είναι κακό, αλλά σε πολλές περιπτώσεις είναι κι απόλυτα επιθυμητό. Μόνο που, όπως η δική μας τύχη, έτσι κι αυτή των υπολογιστών συχνά εξαντλείται και τότε συμβαίνουν δυσάρεστα πράγματα. Ευτυχώς πάντως που στην περίπτωση των υπολογιστών μπορούμε να λάβουμε τα μέτρα μας ώστε να μην ξεμένουμε ποτέ από τύχη.

Δεν πέτυχε, έτυχε!

Στο τεύχος 031 του deltaHacker ο αγαπητός συνεργάτης George of the Jungle αναφέρθηκε στη σπουδαιότητα που έχουν οι τυχαίοι αριθμοί για την κρυπτογραφία. Η τυχαιότητα όμως αξιοποιείται και σε πολλά άλλα πεδία της Πληροφορικής. Σκεφτείτε για παράδειγμα το μηχανισμό ASLR (Address Space Layout Randomization), που ενσωματώνουν όλα τα σύγχρονα λειτουργικά συστήματα για να δυσκολεύουν τη ζωή των reversers. Ο εν λόγω μηχανισμός τοποθετεί στη στοίβα τον κώδικα των βιβλιοθηκών αλλά και τον ίδιο τον κώδικα του εκάστοτε προγράμματος σε τυχαίες διευθύνσεις της μνήμης. Έτσι, όταν εφαρμόζει κανείς την τεχνική stack overflow για την παράνομη εκτέλεση ενός τμήματος κώδικα, είναι αδύνατο να επαναλάβει τη διαδικασία χρησιμοποιώντας τις ίδιες διευθύνσεις μνήμης. Κατ' επέκταση, η τυποποίηση κι ο αυτοματισμός της επίθεσης είναι από δύσκολος έως αδύνατος. Ένα άλλο παράδειγμα χρήσης των τυχαίων αριθμών αποτελεί το λεγόμενο disk wiping: Πρόκειται για τη μόνιμη κι ασφαλή εκκαθάριση ενός δίσκου, που επιτυγχάνεται με την εγγραφή τυχαίων δεδομένων στο σύνολο της έκτασής του. Η απαίτηση για τυχαίους αριθμούς αποτελεί και το λόγο για τον οποίο το disk wiping καθυστερεί *πολύ* περισσότερο από μια απλή διαγραφή. Νομίζουμε όμως ότι δεν χρειάζονται περισσότερα παραδείγματα. Είναι βέβαιο ότι γνωρίζετε κι εσείς προγράμματα που απαιτούν άφθονους τυχαίους αριθμούς και τα οποία δεν θα θέλατε να παρουσιάζουν προβλέψιμη συμπεριφορά, αλλά ούτε αδικαιολόγητες καθυστερήσεις. Αν όλα τα προηγούμενα φαντάζουν πολύ θεωρητικά και σας αφήνουν αδιάφορους, θα πρέπει να το ξανασκεφτείτε. Ακόμα κι αν εσείς οι ίδιοι δεν πρόκειται ν' ασχοληθείτε ποτέ με την κρυπτογραφία, είναι πολύ πιθανό να ασχολείται ήδη το σύστημά σας! Για παράδειγμα, ένας web server που δέχεται κρυπτογραφημένες συνδέσεις HTTPS, παράγει κλειδιά κρυπτογράφησης διαρκώς και για κάθε νέο επισκέπτη. Το ίδιο ισχύει και για έναν mail server, που δέχεται και στέλνει την αλληλογραφία μέσω κρυπτογραφημένων καναλιών επικοινωνίας.

Σ' αυτό το άρθρο θα εξετάσουμε δύο μεθόδους για την παραγωγή τυχαίων αριθμών, με τη βοήθεια του hardware. Μην πάει ο νους σας σε εξωτικές ή/και πανάκριβες συσκευές. Αντίθετα, θα στηριχτούμε σε εξοπλισμό που είναι βέβαιο ότι διαθέτουν όλοι. Επομένως, είτε έχετε ανάγκη από μεγάλα αποθέματα τυχαίων αριθμών είτε όχι, το σίγουρο είναι ότι δεν έχετε καμία *καλή* δικαιολογία ώστε να μην πειραματιστείτε με όσα θα δείξουμε ;) Η εργασία μας θα πραγματοποιηθεί σε περιβάλλον Linux, ενώ θα επιστρατεύσουμε και την αγαπημένη μας Python. (Σ.τ.Ε. Ποιος είπε ότι το καλοκαίρι πρέπει να υποχωρεί το geek factor;)

Διαβάστε ολόκληρο το άρθρο στο deltaHacker 033 (τεύχος Ιουνίου 2014).

Το μηνιαίο περιοδικό deltaHacker είναι αποκλειστικά ψηφιακό (μορφή PDF). Μάθετε για τις απίστευτες τιμές των συνδρομών αλλά και για τα εκτενή κι αναλυτικά video tutorials (deltaCast Episodes), και κάντε τώρα την παραγγελία σας από τη σχετική φόρμα. Προσοχή: Για την πλήρη πρόσβαση στο deltaCast απαιτείται ενεργή συνδρομή στο περιοδικό.

Μοιράσου το:

Google DiGG ReddIt LinkedIn Microsoft Live del.icio.us StumbleUpon RSS PDF Print

3 Responses to “Δεν πέτυχε, έτυχε!”

  1. drz4007 | 12/07/2014 at 08:08

    Εξαιρετικό άρθρο παιδιά. Μπράβο.

  2. Spir@lEvolution | 12/07/2014 at 09:59

    Σ' ευχαριστούμε drz4007!

    Με την ευκαιρία, πρέπει να διορθώσουμε κι ένα λαθάκι στην εισαγωγή του άρθρου και συγκεκριμένα στην περιγραφή του μηχανισμού ASLR. Ο κώδικας των βιβλιοθηκών δεν τοποθετείται στη στοίβα. Η σχετική πρόταση θα έπρεπε να είναι κάπως έτσι:

    ...Ο εν λόγω μηχανισμός τοποθετεί τη στοίβα, τον κώδικα των βιβλιοθηκών αλλά και τον ίδιο τον κώδικα του εκάστοτε προγράμματος σε τυχαίες διευθύνσεις της μνήμης...

    • subZraw | 12/07/2014 at 10:29

      Για το λάθος είναι αποκλειστικά υπεύθυνος ο γράφων, που διάβαζε το άρθρο υπό την επήρεια ισχυρής νύστας και ταυτόχρονα ονειρευόταν ότι κάνει μικροβελτιώσεις :/

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Google Site-Search

Πρόσφατα

  • Tabber

Σχόλια

  • Paranoia.1.0. στο Το Kali με WiFi, στο PenTest Lab

    Φιλε το εκανα και επιτελους αλλαξε και η αναλυση εγινε στα πλασια της οθονης του λαπτοπ μου να...

    Ημερομηνία: 10/12/2014

  • t13 στο OpenVPN σε Ubuntu Server - επικαιροποιημένος οδηγός

    Γεια και απο μενα, ακολουθησα τα παραπανω βηματα αλλα μου προεκυψαν καποια θεματακια... Αρχικα δεν μπρουσα να εγκαταστησω...

    Ημερομηνία: 09/12/2014

  • Paranoia.1.0. στο Το Kali με WiFi, στο PenTest Lab

    Ευχαριστω θα το δοκιμασω και θα σας πω.. Το sh /media/cdrom/VBox*.run ειναι εντολη ;! Αναμεσα στο...

    Ημερομηνία: 08/12/2014

  • h.n.y στο Το Kali με WiFi, στο PenTest Lab

    Έλεγξε το /etc/apt/sources.list αρχείο εάν έχει τις ακόλουθες γραμμές: deb http://http.kali.org/kali kali main contrib non-free deb http://security.kali.org/kali-security kali/updates main contrib...

    Ημερομηνία: 07/12/2014

  • Paranoia.1.0. στο Το Kali με WiFi, στο PenTest Lab

    Καλησπερα!Ειδα το αρθρο για την εγκατασταση του Καλι αλλα εχω μια απορια!Οταν γραφω την εντολη apt-get install linux-headers-$(uname...

    Ημερομηνία: 06/12/2014

Άρθρα

Απαντήσεις

Θέματα

Αρχείο