Το προφίλ μας στο 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

Σχόλια

  • orestis46 στο Το δικό σας εργαστήριο με το VirtualBox

    1) Δεν γίνεται να δώσουμε στο VM την φυσική κάρτα eth0 απευθείας για να έχει την ίδια MAC...

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

  • subZraw στο Το δικό σας εργαστήριο με το VirtualBox

    Γεια κι από εδώ :) 1) Η ιδέα με το virtualization είναι ότι τα VMs δεν πρέπει να βλέπουν...

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

  • sip03ds στο Το δικό σας εργαστήριο με το VirtualBox

    Γειά χαρά, έχω μια απορία σχετικά με το bridge networking (libvirt - που χρησιμοποιεί το virtualbox -- ή...

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

  • stathisb στο Το Kali με WiFi, στο PenTest Lab

    Παρακαλώ αν μπορεί κάποιος ας βοηθήσει στο σχετικό topic http://deltahacker.gr/topic/%CF%80%CF%81%CF%8C%CE%B2%CE%BB%CE%B7%CE%BC%CE%B1-%CE%BC%CE%B5-%CF%84%CE%BF-install-%CF%84%CE%BF%CF%85-kali-linux-%CF%83%CE%B5-virtualbox/#post-12359

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

  • Cr0wTom στο Να Άννα ένας ανανάς!

    Χαίρομαι που το διαλευκαναμε :D Όσο αναφορά το ερώτημα σου για την αγορα, σου λεω οτι στο 99% των...

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

Άρθρα

Θέματα

Αρχείο