[Powered by Google Translate] [Εβδομάδα 10] [David J. Malan] [Πανεπιστήμιο του Χάρβαρντ] [Αυτό είναι CS50.] [CS50.TV] Εντάξει! Αυτό είναι CS50, αλλά όχι για πολύ μεγαλύτερο χρονικό διάστημα. Αυτή είναι η αρχή της εβδομάδας 10. Την Τετάρτη έχουμε κουίζ μας, και στη συνέχεια την επόμενη Δευτέρα έχουμε κάποια εορταστική τούρτα όπως έχουμε έρθει πλήρης κύκλος σε όλη τη διαδρομή από το μηδέν πίσω εβδομάδα. Σήμερα, μιλάμε για ένα από τα αγαπημένα μου θέματα, να πούμε την αλήθεια - ότι από την ασφάλεια και την προστασία της ιδιωτικής ζωής και τις επιπτώσεις του συνόλου του υλικού και του λογισμικού ότι όλοι χρησιμοποιούν αυτές τις μέρες. Για να είμαι ειλικρινής, υπάρχουν πολλά εκεί έξω απειλές ότι αν δεν έχετε πραγματικά σταμάτησε για να σκεφτεί για αυτούς, είναι πραγματικά πολύ δύσκολο. Υπόθεση στο σημείο - αν κάποιος από εσάς έχετε κατεβάσει ποτέ ένα κομμάτι του λογισμικού μακριά από το Διαδίκτυο και να εγκατασταθεί στον υπολογιστή σας, έχετε ασχολούνται σε μεγάλο βαθμό από την εμπιστοσύνη, έτσι δεν είναι; Δεν υπάρχει τίποτα που εμπόδισε το Skype, ή Chrome, ή οποιοδήποτε κομμάτι του λογισμικού που έχετε εγκαταστήσει στον υπολογιστή σας, από απλά διαγράφοντας όλα τα αρχεία στο σκληρό δίσκο σας? από το φόρτωμα όλων των αρχείων στο σκληρό δίσκο σας στο διακομιστή κάποιου κακός του? από την ανάγνωση όλων των e-mail σας? να υποκλέψουν όλα τα άμεσα μηνύματα σας. Επειδή η πραγματικότητα είναι σήμερα με πιο σύγχρονα λειτουργικά συστήματα πραγματικά δεν είναι πολύ ενός τοίχου ανάμεσα σε προγράμματα λογισμικού που θα εγκατασταθούν, και εσείς και εγώ είναι λίγο πολύ ακριβώς το είδος της σταυρώνοντας τα δάκτυλά σας και λαμβάνοντας την πίστη ότι η εν λόγω εφαρμογή θα κατεβάσετε δωρεάν, ή εκείνο το πράγμα που είναι 99 σεντ, είναι στην πραγματικότητα εντελώς καλοήθη. Αλλά, όπως έχουμε δει έως Γ, και τώρα PHP και JavaScript, με αυτή την ικανότητα να εκφραζόμαστε programatically, μπορείτε να κάνετε τίποτα που θέλετε με ένα πρόγραμμα που ο ίδιος ο χρήστης ή η ίδια θα μπορούσε να κάνει. Έτσι, σήμερα έχουμε επικεντρωθεί σε αυτό το θέμα - όχι μόνο κάποιες απειλές αλλά και άμυνες. Πράγματι, στον κόσμο της ασφάλειας εν γένει, υπάρχει το είδος του αυτό το παιχνίδι της γάτας με το ποντίκι, και τολμώ να πω τα κακά παιδιά έχουν σχεδόν πάντα ένα πόδι. Όταν πρόκειται για την αξιοποίηση του υλικού και του λογισμικού για προσωπικούς υπολογιστές δική μας, πρέπει να συνειδητοποιήσουμε ότι ένας κακός χρειάζεται απλά να βρείτε ένα απλό λάθος - ένα εκμεταλλεύονται, ένα bug - σε ένα κομμάτι του λογισμικού που έχετε γράψει ή εκτελούνται προκειμένου για αυτόν ή αυτήν να αναλάβει ολόκληρο το σύστημα μας. Αντίθετα, εμείς - οι καλοί - πρέπει να επιδιορθώσει και να διορθώσετε όλα αυτά τα σφάλματα και την αποφυγή όλων αυτών των αδυναμιών. Και έτσι, τολμώ να πω σε γενικές γραμμές, οι κακοί έχουν το πλεονέκτημα. Τι μαθήματα όπως αυτό και τα επόμενα μαθήματα είναι πραγματικά για δεν είναι να σας διδάξει για το πώς να διεξάγουν τις μάχες που κάνουν αυτές οι κακοί, αλλά είναι για το πώς να προστατεύσετε τον εαυτό σας ή τουλάχιστον πώς να κάνει μια υπολογισμένη απόφαση ότι ναι, το ξέρω αυτό το κομμάτι του λογισμικού θα μπορούσε να διαβάσει πράγματι κάθε ένα από τα e-mail μου, αλλά είμαι εντάξει με ότι λόγω της αξίας που μου φέρνει από την άλλη πλευρά. Είμαι πολύ ευτυχής να ενωθεί με 2 από τα πιο έξυπνα άτομα που γνωρίζω - Rob Bowden και Nate Hardison. Rob είναι για να μας πάρουν για μια περιήγηση μέσα από το χαμηλότερο επίπεδο των ετικετών ασφαλείας - ότι από το μεταγλωττιστή που, μέχρι τώρα, όλοι έχουμε αγαπήσει και εμπιστεύονται. Rob Bowden. [Χειροκροτήματα] [Rob] Εντάξει. Ο David έχει λάβει λίγο πολύ όλη μου κουβεντιάζω ότι ήμουν έτοιμος να εισαγάγει με, αλλά - Αρκετές εβδομάδες πριν, είδες το παράδειγμα μιας επίθεσης ρυθμιστικό-υπερχείλιση η οποία είναι ένα παράδειγμα ενός hacking χάκερ σε κάποιο κομμάτι του λογισμικού ότι δεν έπρεπε να hacking σε. Η άλλη πλευρά της παρούσας είναι μερικές φορές έχετε λογισμικό που είναι κακόβουλο και αυτή η ίδια. Δεν χρειάζεται καν να είναι hacked. Το πρόσωπο που έγραψε το λογισμικό που θέλει να χαράξει. Ας άλμα δικαίωμα σε κώδικα, ρίχνοντας μια ματιά στο "login.c". Εδώ, μια ανόητη πρόγραμμα που επικυρώνει ένα όνομα χρήστη και κωδικό πρόσβασης συνδυασμό. Εδώ θα πρέπει σίγουρα να πάρει άνετα με το C και πάλι για το κουίζ. Πρώτον, χρησιμοποιούμε πάρει χορδές για να περιγράψει το όνομα χρήστη, τότε είμαστε χρησιμοποιώντας get string για να αρπάξει τον κωδικό πρόσβασης, και στη συνέχεια να έχουμε κάποια ασήμαντα ελέγχους ακριβώς, είναι το όνομα «ληστέψει»; Και είναι ο κωδικός πρόσβασης "thisiscs50"; Ή, είναι το όνομα "Tommy" και τον κωδικό "i <3javascript"; Εάν ένα από αυτά είναι η περίπτωση,  τότε είμαστε ακριβώς πρόκειται να εκτυπώσετε "επιτυχία", και στη συνέχεια να έχουμε πρόσβαση. Διαφορετικά, θα πάμε να εκτυπώσετε "άκυρο login" και, στη συνέχεια, φυσικά,  από τη μνήμη σκίτσο malloc χορδές, έχουμε δωρεάν το όνομα χρήστη και τον κωδικό πρόσβασης. Αυτό είναι ένα ασήμαντο πρόγραμμα σύνδεσης, και αν το σκεφτείτε, όταν συνδεθείτε στη συσκευή, είναι αρκετά παρόμοιες - ή ακόμα και τη σύνδεση στον υπολογιστή σας - υπάρχει μόνο κάποια σύνδεση πρόγραμμα που σας δίνει πρόσβαση. Εδώ, τυχαίνει να έχουν hard-coded «ληστεύουν», «thisiscs50», «Τόμι», «i <3javascript», αλλά ίσως υπάρχει κάποια αρχείο κάπου για το λειτουργικό σας σύστημα η οποία έχει μια λίστα με ονόματα που μπορούν να συνδεθούν με το σύστημα και μια λίστα με τους κωδικούς πρόσβασης που συνδέονται με τις εν λόγω usernames. Συνήθως δεν είναι μόνο οι κωδικοί πρόσβασης αποθηκεύονται σε απλό κείμενο σαν αυτό. Υπάρχει κάποιου είδους κρυπτογράφηση, αλλά αυτό θα το κάνει για μας παράδειγμα. Ερχόμενοι πάνω στο compiler μας - πρόκειται να είναι πολύ απλή. Θα πρέπει να καθορίσετε τουλάχιστον κάποιο αρχείο που θέλουμε να καταρτίζουν, και τότε εδώ - αυτές οι γραμμές διαβάζουν μόνο ένα αρχείο. Είναι διαβάζει ολόκληρο το αρχείο σε ένα μεγάλο buffer, και τότε θα τερματίσει null-ρυθμιστικό μας, όπως πάντα, και τελικά θα συγκεντρώνουν μόλις το αρχείο. Εμείς δεν πάμε να δούμε πώς μεταγλώττιση εφαρμόζεται στην πράξη, αλλά ως έναν υπαινιγμό, καλεί μόνο Clang. Εμείς πάμε για να χρησιμοποιήσετε αυτό το πρόγραμμα για την κατάρτιση πράγματα αντί του Clang. Ένα πρόβλημα που έχουμε αρχίσει με είναι που βλέπουμε θέλουμε να καταρτίζουν compiler μας, αλλά αν δεν πρόκειται να χρησιμοποιήσετε Clang, δεν ξέρω τι Πάω να συγκεντρώσει με. Αυτό είναι ένα γενικό ζήτημα είναι γνωστή ως bootstrapping. Έτσι, απλά αυτή τη φορά, Πάω να χρησιμοποιήσει Clang για την κατάρτιση compiler μας. Αν νομίζετε ότι του Συμβουλίου Συνεργασίας του Κόλπου και Clang - τα προγράμματα αυτά, αυτές οι μεταγλωττιστές ανανεώνεται συνεχώς, και αυτές οι μεταγλωττιστές καταρτίζονται με τη χρήση του GCC και Clang. Clang είναι μόνο ένα μεγάλο C ή C + + πρόγραμμα, έτσι τον compiler που χρησιμοποιούν για την κατάρτιση που είναι Clang. Εδώ, τώρα, είμαστε ακριβώς πρόκειται να χρησιμοποιεί μεταγλωττιστή μας για την κατάρτιση compiler μας, και μπορούμε να πούμε ακόμη - '/ compiler. »,« compiler.c »,« compile.c »,« o-compiler ». Παρατηρήστε αυτό είναι η ακριβής εντολή έτρεξα πριν από - απλώς αντικαταστήσει με Clang ». / μεταγλωττιστή». Και τώρα έχουμε ένα άλλο compiler, αλλά είναι ακριβώς το ίδιο. Καλεί μόλις Clang. Εμείς πάμε για να χρησιμοποιήσετε μεταγλωττιστή μας για την κατάρτιση του προγράμματος σύνδεσης μας. Εντάξει - ". / Compiler login.c-o login". Έτσι, αόριστη αναφορά σε "GetString". Πήρε μια "-lcs50". Εντάξει. Έτσι, τώρα έχω το πρόγραμμα σύνδεσης μας. Τρέχοντας το - λαμβάνουν "Παρακαλώ εισάγετε το όνομα χρήστη σας". Ένα παράδειγμα ήταν ληστέψει. Παρακαλώ εισάγετε τον κωδικό σας - thisiscs50. Και η επιτυχία! Έχω πρόσβαση. Τρέχοντας ξανά και εισάγοντας κάποια λάθος κωδικό - ή άκυρο όνομα χρήστη και τον κωδικό πρόσβασης - άκυρη σύνδεσης. Εντάξει. Τίποτα ενδιαφέρον σχετικά με αυτό μέχρι σήμερα. Αλλά, ας ρίξουμε μια ματιά στο login ξανά - και αυτό πρόκειται να είναι μια κάπως ασήμαντο παράδειγμα, αλλά ας προσθέσουμε ένα άλλο εδώ και να πω, αλλιώς αν ((strcmp (όνομα, "χάκερ") == 0 && strcmp (κωδικός πρόσβασης, "LOLihackyou") == 0)) έτσι και τώρα, printf ("Hacked Τώρα έχετε πρόσβαση \ n!.")? εντάξει. Μεταγλώττιση αυτό - compiler login.c-o-σύνδεση lcs50 - τώρα τρέχει σύνδεσης - και αν μπορώ να χρησιμοποιήσω το όνομα χρήστη μου χάκερ και τον κωδικό πρόσβασης LOLihackedyou - Μήπως μπορώ να πληκτρολογήσετε λάθος εκεί πριν; Στο login.c--ihack - I'll δεν hacked γιατί νομίζω ότι το κάνουμε αυτό αργότερα. Εντάξει. Recompiling. Re-λειτουργία - hacker - LOLihackedyou - Hacked! Τώρα έχετε πρόσβαση. Δεν φαίνεται να είναι ότι η μεγάλη διαφορά γιατί είναι το ίδιο ακριβής έλεγχος έκανα για άλλα ονόματα χρήστη και κωδικούς πρόσβασης. Πλέον, το μεγάλο πράγμα είναι ότι εάν άλλοι άνθρωποι ματιά σε αυτό το login.c-- ας πούμε, αν περάσει αυτό το off στο συνεργάτη μου, και ανοίξει αυτό το αρχείο, και που διαβάζουν αυτό, θα δείτε - εντάξει, γιατί δεν έχετε αυτές τις γραμμές του κώδικα εδώ; Αυτό προφανώς δεν είναι κάτι που θα πρέπει να είναι στο πρόγραμμά σας. Σε ορισμένα προγράμματα - όπως και κάθε ιδιόκτητο λογισμικό που δεν είναι open-source - δεν μπορείτε ποτέ να δείτε αυτές τις γραμμές κώδικα. Κάτι σαν το Skype ή κάτι - για όλα όσα ξέρετε, Το Skype είναι στον υπολογιστή σας και υπάρχει μόνο κάποια συγκεκριμένη όνομα χρήστη-κωδικό συνδυασμός που θα συνδεθείτε με το Skype με κάποιο ιδιαίτερο τρόπο. Δεν ξέρουμε γι 'αυτό, και οι άνθρωποι δεν το γνωρίζουν, επειδή δεν έχετε να διαβάσετε το πηγαίο κώδικα για να δείτε ότι υπάρχει αυτή η τρύπα. Αυτό που λέμε αυτό - αν και αυτό δεν είναι ένα πολύ έξυπνο παράδειγμα - αυτό ονομάζεται πίσω πόρτα. Αν νομίζετε ότι από την πίσω πόρτα του σπιτιού σας. Εδώ, αν μπορώ να επικυρώσω με «ληστέψει» τα ονόματα χρηστών ή «Tommy», αυτό θα ήταν σαν τη χρήση του "πόρτα". Αυτός είναι ο τρόπος που είμαι υποτίθεται για να συνδεθείτε με ασφάλεια. Αλλά αν μπαίνω με αυτό το όνομα χρήστη και τον κωδικό πρόσβασης - τότε αυτό είναι με τη χρήση του "πίσω πόρτα". Δεν ήταν η πρόθεση τρόπος για να μπει στο πρόγραμμα, αλλά εξακολουθεί να λειτουργεί. Και δεν είναι οι άνθρωποι γενικά υποτίθεται ότι πρέπει να ξέρετε για αυτές τις πίσω πόρτες. Εμείς πάμε για να βελτιωθεί αυτό. Ας επανέλθει στο αρχικό αυτό login.c μας, και ας ρίξουμε μια ματιά στο νέο compiler μας. Εντάξει. Τα πάντα εδώ είναι ακριβώς το ίδιο. Είμαστε ανάγνωση ολόκληρο το αρχείο σε ένα ρυθμιστικό. Τα πάντα εδώ κάτω είναι το ίδιο. Θα καταρτίζονται μόνο το αρχείο. Αλλά τώρα έχω αυτό το μεγάλο, αν εδώ που λέει ότι, αν το αρχείο που τυχαίνει να είναι login.c κατάρτιση, τότε να κάνω κάτι το ιδιαίτερο. Τι είναι αυτό το κάτι ιδιαίτερο; Βλέπω εδώ κάποια σειρά που ονομάζεται «hack», και κοιτάζοντας αυτές τις γραμμές κώδικα - αυτές είναι οι ίδιες γραμμές κώδικα - Υποθέτω ότι έκανα χρήση »ihack» και όχι «ihacked» πριν - κοιτάζοντας αυτές τις γραμμές κώδικα, ότι είναι οι ίδιες ακριβώς γραμμές του κώδικα που είχα στο login.c πριν. Αλλά τώρα, αντί να τους login.c, Πάω να τους θέσουν σε compiler μου. Αυτές είναι οι γραμμές του κώδικα Πάω να θέλετε να εισάγετε σε login.c. Αυτές οι γραμμές κώδικα - το ρυθμιστικό που πραγματοποιήθηκε αρχικά login.c μου δεν είναι πλέον πρόκειται να είναι αρκετά μεγάλο, γιατί τώρα θέλω να εισάγετε επίσης αυτό το hack στη μέση του προγράμματός μου. Όλα αυτά που κάνει είναι να δημιουργεί ένα νέο ρυθμιστικό που είναι αρκετά μεγάλο - τόσο για το αρχικό αρχείο και τις επιπλέον γραμμές κώδικα - το hack - που θέλω να τοποθετήσετε εκεί. Εδώ είναι κάτι να παρατηρήσετε - char * μοτίβο = "/ / να αρνηθεί πρόσβαση σε αυτά!" Αν κοιτάξουμε πίσω στο login.c, βλέπουμε εδώ κάτω αυτό το σχόλιο - τους αρνείται την πρόσβαση! Σε login.c, αυτό το σχόλιο φαίνεται τελείως αβλαβές, έτσι δεν θα υποπτεύεστε οποιαδήποτε κακόβουλη πρόθεση με ακριβώς αυτό το σχόλιο. Αλλά σε compiler μας, ειδικά πρόκειται να δούμε για αυτή τη γραμμή του κώδικα, και στη συνέχεια, όταν θα το βρείτε - αυτές οι γραμμές κώδικα τοποθετείτε hack μας σε αυτή τη θέση. Έτσι, έχουμε την επανάληψη καθ 'όλη τη login.c, είμαστε προσθέτοντας την αμυχή ακριβώς εκεί που λέει να αρνηθεί πρόσβαση σε αυτά, και στη συνέχεια να είμαστε σύνταξη - όχι το αρχικό login.c αλλά η νέα login.c με το hack τοποθετηθεί δεξιά στο "τους αρνείται την πρόσβαση. Τώρα θέλω να καταρτίσει νέο compiler μου με αυτό το hack που εμπλέκονται. Είμαι δεν πρόκειται να χρησιμοποιήσετε Clang, οπότε ας αντιγράψει τον compiler που χρησιμοποιείται πριν από την και να τις χρησιμοποιούν - έτσι, compiler compiler.c compile.c-o evil_compiler. Τώρα το κακό compiler μας - αν χρησιμοποιήσουμε το κακό μας μεταγλωττιστή για την κατάρτιση οποιοδήποτε άλλο αρχείο, το αρχείο θα συντάξει όπως θα έπρεπε. Είναι απολύτως φυσιολογικό. Αλλά αν χρησιμοποιήσουμε το κακό μας μεταγλωττιστή για την κατάρτιση σύνδεσης - έτσι, / evil_compiler login.c-o-σύνδεση lcs50. - κοιτάζοντας login.c πάλι, δεν υπάρχει απολύτως τίποτα εδώ. Είναι συνηθισμένο μας αν είναι είτε ληστέψει ή tommy είμαστε μέσα, αλλιώς είμαστε έξω ». Αλλά όταν τρέξουμε το εκτελέσιμο μας, αυτό θα λειτουργήσει ως συνήθως. Τρέξιμο και πάλι - χάκερ, LOLihackyou - Hacked! Τώρα έχετε πρόσβαση. Απλά κοιτάζοντας login.c, δεν θα σκεφτούμε κάτι είναι λάθος. Αλλά ο compiler που είναι που χρησιμοποιούνται για την κατάρτιση login.c είναι ειδικά σχεδιασμένο για να εισάγετε αυτό το hack στο πρόγραμμα. Έχουμε μετακινηθεί μόνο αρχικό μας πρόβλημα. Αρχικά, είχαμε αυτές τις γραμμές του κώδικα σε login.c ότι αν κάποιος άλλος κοίταξε τους, θα ήθελα να είναι όπως, γιατί είναι αυτά εδώ; Τώρα, αν κάποιος τυχαίνει να δούμε compiler μας, θα δούμε σε αυτές τις γραμμές κώδικα και να πω, γιατί είναι αυτά εδώ; Έτσι, δεν έχουμε λύσει πλήρως το πρόβλημα μας. Αλλά μπορούμε να χρησιμοποιήσουμε αυτή την ιδέα και πάλι. Ρίχνοντας μια ματιά στην τρίτη έκδοση μας της μεταγλώττισης, Είναι η ίδια ιδέα. Έχουμε διαβάσει ολόκληρο το αρχείο σε ένα ρυθμιστικό μέχρι εδώ, θα καταρτίσει το αρχείο εδώ κάτω, και έχω κάποια αμυχή σε σειρά εδώ, αλλά το αρχείο παρατηρήσετε ότι είμαι πραγματικά hacking τώρα. Είμαι hacking compiler.c δεν login.c. Αλλά τι είμαι εισάγοντας compiler.c; Είμαι εισάγοντας τον κωδικό αυτό που είναι η ακριβής κωδικός στην προηγούμενη μεταγλωττιστής μας, η οποία είχε ως στόχο να εισάγετε τον κωδικό στο login.c. Εδώ είναι αν login.c μας αρχείο strcmp και στη συνέχεια τοποθετήστε σε login.c πράγματα hack μας. Αυτό το νέο compiler έχει ως στόχο να δημιουργήσει ένα μεταγλωττιστή το οποίο προορίζεται για την κατάρτιση login κακόβουλα. Θα δούμε γιατί αυτό μας βοηθάει. Όλα τα άλλα είναι το ίδιο, έτσι ώστε να λειτουργεί ακριβώς όπως λειτούργησε με την προηγούμενη compiler μας. Είμαστε απλώς επανάληψη σε ολόκληρο compile.c μας. Τώρα, όμως, αντί να ψάχνει για «τους αρνείται την πρόσβαση, ' ψάχνουμε για «τη σύνταξη του αρχείου." Πού καταρτίσει το αρχείο; Κοιτάζοντας εντελώς αθώα compiler.c μας, Είναι εδώ κάτω δεξιά στο κάτω μέρος. Αυτό το σχόλιο - τη σύνταξη του αρχείου - και πάλι, που μοιάζει εντελώς ακίνδυνη. Αλλά, σε κακόβουλα δική μας εκδοχή του μεταγλωττιστή, πρόκειται να - ακριβώς πριν από αυτό το σχόλιο - εισάγετε τον κωδικό αυτό η οποία έχει ως στόχο να εισάγετε τον κωδικό κατά την κατάρτιση login.c. Υπάρχουν πολλά επίπεδα εμμεσότητας εδώ. Ας τρέξει πραγματικά. Και πάλι, θα αντιγράψετε πρωτότυπο compiler μας. Τώρα, μεταγλώττιση - compiler compiler.c compile.c-o evilest_compiler - και τώρα evilest_compiler. Evilest compiler - αν χρησιμοποιήσουμε ότι για την κατάρτιση compiler μας, Ας δούμε πραγματικά. Evilest_compiler - φέρνοντας το πάνω, όλος ο τρόπος πίσω στην έκδοση 1 του μεταγλωττιστή μας - έκδοση 1 του compiler μας, η οποία είχε μόλις διαβάσει το αρχείο και να το μεταφράσει. Εδώ, γνωρίζουμε ότι evilest_compiler - όταν καταρτίζει αυτό το αρχείο - πρόκειται να εισάγετε τον κωδικό εδώ πριν από τη σύνταξη του φακέλου, και ότι ο κώδικας πρόκειται να δούμε ακριβώς όπως τον κωδικό από την δεύτερη έκδοση του compiler μας που το έκανε αυτό. Αυτός ο κωδικός, η οποία έχει ως στόχο να σπάσει σε σύνδεση, πρόκειται να εισαχθεί compiler μας από τον compiler evilest. Ας χρησιμοποιήσουμε evilest_compiler για την κατάρτιση compiler μας. Τώρα θα χρησιμοποιήσουμε μεταγλωττιστή, επανέλθει πάνω για να συνδεθείτε, και να θυμάστε αυτό login.c έχει απολύτως τίποτα ύποπτο σε αυτό. Αλλά με τη χρήση compiler μας για την κατάρτιση login.c, ληστεύουν, thisiscs50, επιτυχία. Χάκερ login Ας, LOLihackyou, Hacked! Τώρα έχετε πρόσβαση. Αναγνωρίστε ότι αυτό ήταν διαφορετικό από την έκδοση 2 του μεταγλωττιστή μας. Ο compiler που χρησιμοποιούμε - ας προχωρήσουμε πίσω - από αντίγραφο σύνδεσης - ας μας φέρει πίσω compiler εδώ. Αφαίρεση compiler evilest. Όλοι έχουμε μείνει τώρα είναι compiler. Αν κοιτάξουμε compiler.c, δεν υπάρχει απολύτως τίποτα εκεί που φαίνεται σε κάθε κακόβουλο τρόπο. Αν κοιτάξουμε login.c, δεν υπάρχει απολύτως τίποτα εδώ που μοιάζει κακόβουλο με οποιονδήποτε τρόπο. Όμως, όταν χρησιμοποιούμε compiler μας για την κατάρτιση login.c, παίρνουμε την hackable έκδοση του login.c. Όταν χρησιμοποιείται compiler μας να καταρτίσει μια νέα έκδοση του μεταγλωττιστή, παίρνουμε την hackable έκδοση του μεταγλωττιστή. Τώρα αν πάμε έξω και να διανέμουν εκτελέσιμο compiler μας, και κανείς δεν θα ξέρει ότι δεν υπάρχει τίποτα κακόβουλο γι 'αυτό. Αυτό είναι στην πραγματικότητα τόσο σε - δεν μπορώ να θυμηθώ το έτος - Ken Thompson, και κέρδισε το βραβείο Turing - αν είστε εξοικειωμένοι με το Βραβείο Turing, είναι σχεδόν πάντα ορίζεται ως η Βραβείο Νόμπελ της επιστήμης των υπολογιστών, έτσι ώστε να είναι το πώς θα το καθορίσει. Ken Thompson έδωσε μια ομιλία, όταν έλαβε το Turing Award του που ονομάζεται "Σκέψεις για Εμπιστοσύνη Trust." Βασικά, αυτή ήταν η ιδέα της ομιλίας του. Εκτός αντί της μεταγλώττισης μας, μιλούσε για GCC - ακριβώς ένα άλλο compiler όπως Clang - και τι έλεγε είναι, όπως login.c μας, login.c μας φαίνεται σχετικά άχρηστο αλλά μιλούσε για την πραγματική UNIX login.c. Όταν συνδεθείτε στη συσκευή σας, υπάρχει κάποια σύνδεση πρόγραμμα που εκτελείται. Αυτή ήταν η σύνδεση που μιλούσε για. Αυτό ήταν ουσιαστικά η ιδέα του. Είπε ότι το ΣΣΚ, που θεωρητικά θα μπορούσε να φυτευτεί ένα bug - δεν είναι bug, αλλά ένα κακόβουλο κώδικα - ότι κατά την κατάρτιση του λειτουργία σύνδεσης - η σύνδεση αρχείο - θα εισάγετε μια πίσω πόρτα, έτσι ώστε θα μπορούσε να πάει σε οποιαδήποτε απολύτως UNIX σύστημα στον κόσμο και συνδεθείτε με κάποιο συγκεκριμένο όνομα χρήστη και τον κωδικό πρόσβασης. Εκείνη την εποχή, GCC ήταν λίγο πολύ ο compiler ότι ο καθένας που χρησιμοποιούνται για τίποτα. Αν κάποιος έτυχε να ενημερώσετε Συμβουλίου Συνεργασίας του Κόλπου, τότε θα μεταγλωττίσετε GCC χρησιμοποιώντας GCC, και θα πάρετε ακόμα μια κακή έκδοση του GCC διότι ακριβώς που συγκεντρώνονται για να αναγνωρίσει ότι ήταν recompiling τον compiler. Και αν χρησιμοποιείτε ποτέ GCC να μεταγλωττίσετε ένα αρχείο login.c, τότε θα τοποθετήσετε το πίσω πόρτα που θα μπορούσε να χρησιμοποιήσει για να συνδεθείτε σε οποιονδήποτε υπολογιστή. Αυτό ήταν όλο θεωρητικό, αλλά - ότι η συγκεκριμένη περίσταση ήταν θεωρητική, αλλά οι ιδέες είναι πολύ πραγματικές. Το 2003, υπήρχε ένα παρόμοιο παράδειγμα όπου - θα ρίξουμε μια ματιά σε αυτό το αρχείο, και δεν έχει απολύτως τίποτα να κάνουν πραγματικά με αυτό, αλλά το σφάλμα είναι παρόμοια. Αυτό το αρχείο καθορίζει απλώς μια λειτουργία που ονομάζεται χάσμα. Παίρνει ένα επιχείρημα a, b ένα επιχείρημα, και η πρόθεση είναι να κάνει μια δια b. Αλλά κάνει κάποιο έλεγχο σφαλμάτων, έτσι ξέρουμε ότι τα πράγματα είναι περίεργο, αν συμβεί β να ισούται με μηδέν. Αν b είναι μηδέν, τότε αυτό χωρίζεται σε 2 περιπτώσεις. Μπορείτε να δείτε ήδη το σφάλμα. Η πρώτη περίπτωση - αν είναι μηδέν, τότε κάνουμε μηδέν δια μηδέν, και εμείς απλώς να πω ότι είναι απροσδιόριστη. Η δεύτερη περίπτωση - εάν ένας δεν είναι μηδέν, τότε είναι κάτι σαν 1 διαιρείται με το μηδέν, και καλούμε απλώς ότι το άπειρο. Αλλιώς θα επιστρέψει το συνηθισμένο μια διαιρεμένη από b. Και έτσι εδώ, είμαστε λειτουργίας των εν λόγω 3 περιπτώσεις, και διατρέχουμε πραγματικά χάσμα - το φωνάζει για μένα - έτσι, αγνοώντας τις προειδοποιήσεις της Clang - τέλος του μη-κενό λειτουργία - προφανώς δεν είχα καταρτίσει αυτό εκ των προτέρων. Επιστροφή 0. Κάντε χωρίζουν - εντάξει. Με. / Χάσμα, βλέπουμε 3, Infinity, Infinity. Μηδέν δια μηδέν δεν θα έπρεπε να επιστρέψει το άπειρο. Και αν δεν έχετε καταλάβει το σφάλμα ακόμη - ή δεν το είδα πριν από - βλέπουμε ότι κάνουμε ένα = 0. Μάλλον θα σήμαινε == 0. Πιθανώς. Όμως, αυτό ήταν πραγματικά κάτι που, και πάλι, το 2003, ο πυρήνας του Linux - έτσι συσκευή μας χρησιμοποιεί τον πυρήνα του Linux - οποιοδήποτε λειτουργικό σύστημα Linux χρησιμοποιεί τον πυρήνα του Linux - έτσι ένα bug πολύ παρόμοιο με αυτό εμφανίστηκε. Η ιδέα πίσω από αυτό το σφάλμα ήταν - και πάλι, υπήρχε μόνο κάποια λειτουργία που ονομάζεται, και το έκανε ένα κομμάτι του ελέγχου σφάλματος. Υπήρξαν κάποιες συγκεκριμένες εισόδους ότι αυτό το σφάλμα ελέγχου - θα έπρεπε να ήταν σαν, εντάξει, δεν μπορείτε να καλέσετε τη λειτουργία αυτή με διαιρέτης του 0. Έτσι, Πάω να επιστρέψει μόνο κάποιο λάθος. Εκτός, δεν ήταν τόσο αθώα, όπως ακριβώς ο καθορισμός ίση με 0. Αντ 'αυτού, αυτή η γραμμή του κώδικα καταλήξαμε να κάνουμε κάτι περισσότερο σαν χρήστης = διαχειριστή. Ή χρήστη = superuser. Ήταν ένα αθώο - με την πρώτη ματιά - λάθος που θα μπορούσε να ήταν απλώς λογικό ότι Ήθελα μόνο να αναφέρουν κάτι συγκεκριμένο αν ο χρήστης έτυχε να είναι ο διαχειριστής υπερχρήστης. Αλλά στη συνέχεια εκ νέου το σκέφτομαι, το πρόσωπο που ήθελε να μοιάζει με ένα απλό τυπογραφικό λάθος, αλλά αν αυτός ο κώδικας όντως κυκλοφορήσει, τότε θα ήταν σε θέση να χαράξει σε κάθε σύστημα με το πέρασμα μια συγκεκριμένη σημαία - στην περίπτωση αυτή b = 0 - και θα κάνει αυτόματα το χρήστη ο διαχειριστής, και στη συνέχεια να έχει τον πλήρη έλεγχο. Αυτό συνέβη το 2003. Είναι ακριβώς έτσι συνέβη ότι ο μόνος λόγος που πιάστηκε ήταν επειδή συνέβη να υπάρχει κάποια αυτοματοποιημένο σύστημα που παρατήρησε την αλλαγή σε αυτό το αρχείο η οποία δεν έπρεπε να έχει αλλάξει από έναν άνθρωπο. Το αρχείο θα πρέπει να έχει δημιουργηθεί αυτόματα. Είναι ακριβώς έτσι συνέβη ότι κάποιος αγγίξει - καλά, το πρόσωπο που ήθελε να χαράξει αγγίξει αυτό το αρχείο, και ο υπολογιστής που αλιεύονται ότι η επαφή. Έτσι, άλλαξε αυτό και μόνο αργότερα συνειδητοποίησε τι καταστροφή θα ήταν αν αυτό είχε πάρει έξω στον πραγματικό κόσμο. Ίσως να σκέφτεται ότι - επιστρέφουν για παράδειγμα compiler μας - ακόμα κι αν δεν μπορούμε να δούμε - κοιτάζοντας το πηγαίο κώδικα - ότι κάτι ιδιαίτερο είναι λάθος, αν θέλουμε πραγματικά να κοιτάξουμε στο δυαδικό κώδικα του μεταγλωττιστή, θα δούμε ότι κάτι δεν πάει καλά. Για παράδειγμα, αν τρέξουμε λειτουργούν οι χορδές - το οποίο είναι ακριβώς πρόκειται να δούμε πάνω από ένα αρχείο και να εκτυπώσετε όλες τις χορδές που μπορεί να βρει - αν τρέξουμε χορδές για compiler μας, βλέπουμε ότι μια σειρά που βρίσκει είναι το περίεργο - else if (strcmp (όνομα, "χάκερ") - μπλα, μπλα, μπλα. Αν κάποιος έτυχε να είναι παρανοϊκός ώστε να μην εμπιστεύονται τους compiler, θα μπορούσε να τρέξει χορδές και να δούμε αυτό, και τότε θα ξέρετε ότι υπάρχει κάτι λάθος με το πραγματικό δυαδικό. Όμως, αναπόφευκτα χορδές ήταν κάτι που συντάχθηκε. Έτσι, ο οποίος είναι να πούμε ότι compiler μας δεν έχει μόνο πιο ειδικό κωδικό που λέει, αν χορδές είναι πάντα λειτουργούν με compiler μας, δεν εξάγει όλα αυτά κακόβουλο κώδικα. Η ίδια ιδέα με αν θέλουμε να απο-συναρμολόγηση στο αρχείο - μάθαμε ότι ο assembler μας φέρνει από τον κώδικα συναρμολόγησης σε κώδικα μηχανής - μπορούμε να πάμε προς την αντίθετη κατεύθυνση - objdump-d compiler - θα μας δώσει τη συναρμολόγηση του κώδικα μας. Κοιτάζοντας αυτό, είναι αρκετά αινιγματικός, αλλά αν θέλαμε, θα μπορούσαμε να δούμε μέσα από αυτό και λόγο, περιμένετε, υπάρχει κάτι που συμβαίνει εδώ που δεν πρέπει να συμβαίνει, και τότε θα αναγνωρίσουμε ότι ο compiler κάνει κάτι κακόβουλο. Αλλά, ακριβώς όπως χορδές, ποιος μπορεί να πει objdump δεν ήταν ειδικού κάλυκα. Βασικά, έρχεται κάτω σε σας δεν μπορείτε να εμπιστεύεστε τίποτα. Το σημείο του χαρτιού που ονομάζεται "Εμπιστοσύνη Trust" είναι σε γενικές γραμμές, εμπιστευόμαστε compiler μας. Μπορείτε μεταγλωττίσετε τον κωδικό σας και αναμένουμε ότι θα κάνει ό, τι του ζητήσει να κάνει. Αλλά, γιατί θα πρέπει να εμπιστεύονται τον compiler; Δεν έχετε γράψει τον compiler. Δεν ξέρετε τι ο compiler είναι κατ 'ανάγκη πραγματικά να κάνει. Ποιος μπορεί να πει ότι μπορείτε να εμπιστευθείτε; Αλλά ακόμα και τότε, καλά, ίσως μπορούμε να εμπιστευτούμε τον compiler. Υπάρχουν δεκάδες χιλιάδες άνθρωποι που έχουν μελετήσει σε αυτό. Κάποιος πρέπει να έχουν αναγνωρίσει κάτι ήταν επάνω με το μεταγλωττιστή. Τι θα συμβεί αν μπορούμε να φύγουμε 1 επίπεδο πιο βαθιά; Θα μπορούσε ακόμη και να τον επεξεργαστή σας. Όπως γελοίο όπως θα μπορούσε ενδεχομένως να είναι, ίσως υπάρχει κάποια απατεώνων υπάλληλος της Intel που δημιουργεί αυτούς τους επεξεργαστές ότι κάθε φορά που ο επεξεργαστής παρατηρεί ότι τρέχετε κάποια εντολή Αυτό είναι γραφτό να συνδεθείτε με τον υπολογιστή, ο επεξεργαστής θα δεχτεί κάποιο συγκεκριμένο όνομα χρήστη και κωδικό πρόσβασης συνδυασμό. Θα εξωφρενικά περίπλοκη, αλλά κάποιος θα μπορούσε να το κάνει. Σε εκείνο το σημείο, είστε πραγματικά πρόκειται να ανοίξει τον υπολογιστή σας για να δείτε τον επεξεργαστή και χρησιμοποιούν ένα μικροσκόπιο για να αναγνωρίσει ότι δεν είναι αυτά τα κυκλώματα που παρατάσσονται όπως θα έπρεπε να είναι; Κανείς δεν πρόκειται ποτέ να πιάσει αυτό το σφάλμα. Σε κάποιο σημείο, απλά πρέπει να παραιτηθεί και να εμπιστεύονται κάτι. Οι περισσότεροι άνθρωποι δεν εμπιστεύονται τον compiler σε αυτό το σημείο. Δηλαδή δεν είναι απαραίτητο ότι θα έπρεπε. Κοιτάζοντας κάπως κακόφημο βίντεο - [Δραματική μουσική παίζει] [Πρόκειται για ένα σύστημα UNIX. Το ξέρω αυτό.] [Είναι όλα τα αρχεία -] Είπε, "Είναι ένα σύστημα UNIX. Ξέρω αυτό." Αντικαταστήστε το UNIX με ό, τι αγαπημένο λειτουργικό σας σύστημα είναι - θα μπορούσε να πει, "Είναι ένα σύστημα των Windows. ξέρω αυτό." Είναι μια εντελώς ανούσια ανακοίνωση, αλλά για όλα τα γνωρίζουμε, που συμβαίνει να γνωρίζουν μια πίσω πόρτα στο σύστημα UNIX. Ξέρει κάποιο όνομα χρήστη / κωδικό πρόσβασης συνδυασμό, που στην πραγματικότητα θα την αφήσει να κάνει ό, τι θέλει. Εντάξει. Η ηθική του σήμερα είναι βασικά δεν μπορείτε να εμπιστευθείτε τίποτα. Ακόμα και πράγματα που γράφω - δεν έχετε γράψει το μεταγλωττιστή. Ο compiler θα μπορούσε να είναι κακό. Ακόμα κι αν είχα γράψει τον compiler, το πράγμα που τρέχει ο compiler θα μπορούσε να είναι κακό. (Γέλια) Δεν υπάρχει πολύ που μπορείτε να κάνετε. Ο κόσμος είναι καταδικασμένη. Back τον David! [Χειροκροτήματα] [Ντέιβιντ] Ευχαριστώ. Αυτό ήταν πραγματικά θλιβερό. Αλλά πράγματι, ο Rob είναι σωστή. Δεν έχουμε πραγματικά μια λύση σε αυτό, αλλά είστε έτοιμος να πάρετε κάποιες λύσεις σε ορισμένες πιο κοινή άμυνα. Εν αναμονή του αυτό, ό, τι Nate και έχω κάνει εκεί παρασκηνιακός ξέρει ότι υπάρχουν τόσα πολλά φορητούς υπολογιστές σε αυτό το δωμάτιο, έχουμε όλα sniffing του ασύρματου κυκλοφορία που διέρχεται από αυτό το δωμάτιο για τα τελευταία 20 λεπτά κατά τη διάρκεια της ομιλίας του Rob, έτσι θα πάμε να ρίξουμε μια 2 λεπτά διάλειμμα εδώ. Nate πρόκειται να συσταθεί, και στη συνέχεια θα πάμε να μιλήσουμε για όλα τα πράγματα θα μπορούσαμε να είχαμε βρεθεί. (Γέλιο) Έτσι, μπορεί να είχα υπερβολικές λίγο μόνο για χάρη του δράματος, αλλά θα μπορούσε να είχε sniffing όλων των ασύρματων κίνηση σας, διότι πράγματι, είναι τόσο εύκολο. Αλλά υπάρχουν επίσης τρόποι με τους οποίους μπορείτε να υπερασπιστεί ενάντια σε αυτό, και έτσι με αυτό, Σας δίνω Nate Hardison. >> [Nate] Γλυκό. (Χειροκροτήματα) [Nate] Ευχαριστώ, φίλε. Εκτιμώ την κραυγή έξω. Εντάξει! Είναι εβδομάδων παιχνίδι. Είστε ενθουσιασμένος παιδιά; Ας ελπίσουμε ότι πρόκειται να είναι ένα μεγάλο παιχνίδι το Σάββατο. Φαντάζομαι ότι εσείς σε αυτό το σημείο - δεδομένου ότι έχετε ένα κουίζ την Τετάρτη τα πάντα για τον κωδικό, και κάθισε ακριβώς μέσα από μια υπέροχη διάλεξη από τον Rob με ένα σωρό κώδικα C σε αυτό - είναι ίσως λίγο κουρασμένος από κώδικα. Σε αυτό το μέρος, είμαστε στην πραγματικότητα δεν πρόκειται να αγγίξει κανένα απολύτως κώδικα. Είμαστε ακριβώς πρόκειται να μιλήσουμε για μια τεχνολογία που χρησιμοποιείτε κάθε μέρα, συχνά για πολλές, πολλές ώρες την ημέρα, και θα μιλήσουμε για τις επιπτώσεις με ασφάλεια ότι υπάρχουν. Έχουμε μιλήσει πολύ για την ασφάλεια κατά τη διάρκεια του εξαμήνου, και ξεκίνησε με ένα μικρό κομμάτι της κρυπτογραφίας. [Bdoh lv vwlqng!] Και ενώ εσείς είστε πιθανώς υπερ-ενθουσιασμένος για να περνούν τις σημειώσεις ο ένας στον άλλο στην τάξη χρησιμοποιώντας μια cipher Caesar όπως αυτό, Στην πραγματικότητα, υπάρχει κάποια πιο διασκεδαστικό να είχε όταν είστε πραγματικά μιλάμε για την ασφάλεια και τέτοιου είδους πράγματα. Σήμερα, θα πάμε για να καλύψει μερικές τεχνολογίες ότι οι άνθρωποι χρησιμοποιούν πραγματικά στον πραγματικό κόσμο για να κάνει όλα τα είδη των πραγμάτων από εισπνοή πακέτα των ανθρώπων πραγματικά να πηγαίνει μέσα και σπάσιμο σε τραπεζικούς λογαριασμούς των ανθρώπων και όλα αυτά. Αυτά είναι νόμιμα εργαλεία που μιλάμε για με την εξαίρεση των ενδεχομένως, ένα εργαλείο. Και θέλω απλώς να κάνω μια γρήγορη αποποίηση ευθυνών. Όταν μιλάμε για αυτά τα πράγματα, μιλάμε για αυτούς, έτσι ώστε να ξέρετε τι υπάρχει εκεί έξω, και να είστε ενήμεροι για το πώς να είναι ασφαλείς όταν χρησιμοποιείτε από τον υπολογιστή σας. Αλλά εμείς σίγουρα δεν θέλουμε να σημαίνει ότι θα πρέπει να χρησιμοποιήσετε αυτά τα εργαλεία στο dorm σας ή το σπίτι σας, γιατί μπορεί να τρέξει σε πολλά μεγάλα ζητήματα. Αυτός είναι ένας λόγος σήμερα ότι στην πραγματικότητα δεν ήταν sniffing πακέτων σας. Εντάξει. Την περασμένη Δευτέρα, μιλήσαμε για τα cookies, και HTTP, και ταυτότητας, και πώς ανοίγει αυτό το Firesheep μεγάλη πόρτα στο λογαριασμό σας στο Facebook, στο λογαριασμό Hotmail σας - αν κάποιος το χρησιμοποιεί ακόμα το Hotmail - και πολλούς άλλους λογαριασμούς. Πολλά από αυτά τα πράγματα πρόκειται να χτίσει μακριά από αυτό, αλλά πρώτα, θέλω να πάρω μια γρήγορη περιήγηση για το πώς το Διαδίκτυο έχει εξελιχθεί με την πάροδο του χρόνου. Επιστροφή στη δεκαετία του '90, εσείς θα μπορούσε να υπενθυμίσουμε στην πραγματικότητα συνδέοντας υπολογιστές σας με ένα από αυτά. Τώρα εμείς δεν το κάνουμε αυτό τόσο πολύ πια. Αποδεικνύεται πράγματι ότι, προκειμένου να συνδέσετε ένα καλώδιο Ethernet στο laptop μου, Τώρα πρέπει να χρησιμοποιήσετε ένα από αυτούς τους προσαρμογείς που είναι το είδος της τρελό. Αντ 'αυτού, το 1997 είχαμε αυτή τη νέα, διασκεδαστική τεχνολογία βγήκε αυτό που είναι γνωστό ως IEEE 802.11, έτσι αυτό είναι το πρότυπο ασύρματης internet Το IEEE είναι αυτό που διέπουν το σώμα που δίνει από όλα τα είδη της - δημοσιεύει όλα τα είδη των προτύπων σε σχέση με ηλεκτρονικούς υπολογιστές. Τα 802 πρότυπα είναι όλα σχετικά με τις τεχνολογίες του Διαδικτύου. Έτσι 802,3, για παράδειγμα, είναι το Ethernet πρότυπο, 802.15.1 πιστεύω ότι είναι το πρότυπο Bluetooth, 802,11 και είναι όλα σχετικά με ασύρματη σύνδεση στο Internet. Το 1997, αυτό βγήκε. Δεν είναι αρκετά πιάσει αμέσως. Δεν ήταν μέχρι το 1999 και το πρότυπο 802.11b βγήκε ότι μόλις έγινε πολύ δημοφιλής. Πόσοι από εσάς θυμάστε όταν οι υπολογιστές άρχισαν να έρχονται και να πάρει wi-fi για αυτούς; Αυτό ήταν το είδος δροσερό, ε; Θυμάμαι ότι είχα πάρει το πρώτο φορητό υπολογιστή μου στο γυμνάσιο, και είχε μια κάρτα ασύρματου σε αυτό. Ο μπαμπάς μου το έδωσε σε μένα και έλεγε ότι εγώ θα πρέπει να το χρησιμοποιήσετε για εφαρμογές κολέγιο μου και όλα αυτά, και δεν είχα καμία ιδέα για το πώς ήμουν έτοιμος να αναζητήσετε αυτό το online πράγματα. Αλλά ευτυχώς, είχα μια ασύρματη κάρτα, έτσι ώστε να ήταν αρκετά δροσερό. Σήμερα, θα δείτε επίσης 802.11g το οποίο είναι ένα από το άλλο πολύ δημοφιλές ασύρματα πρότυπα που είναι εκεί έξω. Τόσο b και g είναι αρκετά ξεπερασμένο σε αυτό το σημείο. Ο καθένας ξέρει τι έκδοση περισσότεροι άνθρωποι είναι αυτή τη στιγμή αν είστε αγοράζοντας νέα ασύρματων routers και τέτοιου είδους πράγματα; Ν. Ακριβώς. Bingo. Και αποδεικνύεται ότι η ac πρότυπο μόλις βγαίνει σε μορφή σχεδίου, και υπάρχουν και άλλες εκδόσεις στο δρόμο. Με κάθε ένα από αυτά τα πρότυπα τι είμαστε κερδίζει είναι μεγαλύτερο εύρος ζώνης, περισσότερα δεδομένα με ταχύτερο ρυθμό. Αυτά τα πράγματα αλλάζουν διαρκώς αρκετά γρήγορα. Καθιστά, επίσης, έτσι ώστε να πρέπει να αγοράσει περισσότερους δρομολογητές και όλα αυτά τα πράγματα διασκέδασης. Ας μιλήσουμε για το τι ασύρματη επικοινωνία είναι πραγματικά στον πυρήνα του. Με Ethernet και τα παλιά dial-up μόντεμ, είχατε πραγματικά αυτά τα πράγματα που έχετε συνδέσει στον υπολογιστή σας, και στη συνέχεια θα συνδεθεί σε ένα μόντεμ του είδους, και στη συνέχεια να το συνδέσει σε μια υποδοχή στον τοίχο σας. Είχες την ενσύρματη σύνδεση, έτσι δεν είναι; Το όλο νόημα του ασύρματου είναι να απαλλαγούμε από αυτά τα πράγματα. Για να το κάνετε αυτό, αυτό που έχουμε είναι ουσιαστικά ένα ραδιοεπικοινωνίας όπου ασύρματο δρομολογητή μας - που ορίζεται από λίγο εικονίδιο ασύρματης μας - είναι συνδεδεμένος στο Internet με αυτό το συμπαγές βέλος δείχνει κάποια ενσύρματη σύνδεση, αλλά όταν συνδέεστε στο ασύρματο router σας είστε πραγματικά χρησιμοποιώντας σχεδόν σαν ένα walkie-talkie μεταξύ υπολογιστή σας και του ασύρματου δρομολογητή σας. Αυτό που είναι πραγματικά δροσερό για αυτό είναι ότι μπορείτε να μετακινηθείτε. Μπορείτε να μεταφέρετε τον υπολογιστή σας σε όλη Sanders, να σερφάρετε στο διαδίκτυο, ό, τι θέλετε, ακριβώς όπως όλοι ξέρουμε και αγαπάμε, και δεν πρέπει ποτέ να συνδεθεί με τίποτα. Για να λειτουργήσει αυτό, έχουμε αυτή την τόσο λήψης και διαβίβασης. Είναι πραγματικά σαν το walkie-talkie. Αυτό το ασύρματο router - η οποία σε Sanders κάθεται κάτω από αυτό το στάδιο, ακριβώς εδώ - είναι πάντα μετάδοση και λήψη, μετάδοση και λήψη, και επίσης, τους υπολογιστές σας κάνουν όλοι το ίδιο είδος του πράγματος, πάρα πολύ. Εμείς απλά δεν μπορούμε να το ακούσω. Το άλλο πράγμα που μπορείτε να κάνετε είναι να μπορείτε να έχετε πολλούς υπολογιστές μιλώντας στο ίδιο ασύρματο δρομολογητή. Όσο πιο κοντά βρίσκεστε σε ένα router - και πάλι, αυτό είναι ένα ραδιοεπικοινωνίας - όσο πιο κοντά είσαι, τόσο το καλύτερο σήμα σας είναι, τόσο το καλύτερο υπολογιστή σας "ακούει" το router και μπορούν να επικοινωνούν με το Internet. Αν εσείς είστε πάντα στο dorm σας, στο σπίτι σας και αναρωτιέστε γιατί το σήμα σας είναι κακό, είναι πιθανώς επειδή α). δεν είστε πολύ κοντά στο router σας, ή β). υπάρχει κάτι μεταξύ σας και του δρομολογητή σας, όπως έναν τοίχο τσιμέντο ή κάτι που δεν αφήνει αυτά τα ραδιοκύματα περνούν. Ας μιλήσουμε λίγο για τους οποίους κακούς, όπως wi-fi. Bad παιδιά αγαπούν wi-fi για μερικούς λόγους. Εδώ είναι άσχημη κακός μας εκεί. Ένας λόγος για τον οποίο αυτή η κακός αγαπά wi-fi Είναι επειδή, από προεπιλογή, πολλά ασύρματων routers και έρχονται όταν τους έχει συσταθεί, από όπου και αν μη κρυπτογραφημένα. Αυτό ήταν ένα πρόβλημα, και έχουν υπάρξει περιπτώσεις - πολλαπλές εμφανίσεις, τώρα - όπου κακός εμφανίζεται στο σπίτι κάποιου, παρατηρεί ότι υπάρχει ένα μη κρυπτογραφημένο wi-fi στην οποία μπορούν να συνδεθούν. Θα συνδεθεί με το wi-fi, και στη συνέχεια να ξεκινήσει η λήψη όλων των ειδών τα πράγματα διασκέδασης. Και δεν είστε λήψη γατάκια, από όπου και αν δεν είναι το κατέβασμα κουτάβια. Αυτό είναι όπως το BitTorrent. Αυτό είναι το άσχημο της πιο βρώμικα. Υπήρξαν περιπτώσεις κατά τις οποίες το FBI έχει ακόμα αναμιχθεί νομίζοντας ότι το πρόσωπο που κατέχει το σπίτι είναι στην πραγματικότητα το ένα πάω εκεί έξω και τη λήψη πράγματα που πραγματικά δεν πρέπει να είναι. Έχοντας χωρίς κρυπτογράφηση wi-fi δεν είναι σίγουρα κάτι που θέλετε να κάνετε, αν όχι μόνο για να έχουν το FBI έρχεται χτυπήσει στην πόρτα σας. Ένας άλλος λόγος για τον οποίο κακούς αγάπη wi-fi είναι ο λόγος για τον οποίο ο David μίλησε νωρίτερα κατά τη διάρκεια του διαλείμματος. Επειδή είναι ένα ραδιοεπικοινωνίας στον πυρήνα του, αν γνωρίζετε το κανάλι, μπορείτε να ακούσετε το ραδιοφωνικό σταθμό. Για παράδειγμα, αν υπάρχει μια κακή δεξιά εκεί που κάθεται στη μέση ακριβώς δίπλα στο σημείο πρόσβασης, ακριβώς δίπλα σε αυτό το ασύρματο router, ο κακός μπορεί να ακούσει σε όλα τα σχετικά με την ασύρματη κίνηση που έρχεται από όλες αυτές υπολογιστές. Στην πραγματικότητα, αυτά τα παιδιά - οι λίγοι τυχεροί που είναι εδώ στην πρώτη σειρά - επειδή είναι εξαιρετικά κοντά σε όλα αυτά τα ασύρματους δρομολογητές που κάθονται ακριβώς κάτω από τη σκηνή, θα είναι σε θέση να ακούσουν την κυκλοφορία του καθενός σε αυτό το ολόκληρο δωμάτιο αν είστε συνδεδεμένοι στο wi-fi και να ξεκινήσετε την περιήγηση μέσα από αυτά τα σημεία πρόσβασης. Δεν είναι πολύ δύσκολο να τον εαυτό σας να καθίσει σε μια καλή θέση για να οσφραίνομαι και να καταλάβω ό, τι άλλοι άνθρωποι κάνουν. Είναι κάτι που πρέπει να θυμάστε, ειδικά εάν δεν είστε σίγουρος, όπου το σημείο πρόσβασης είναι, και είστε περιήγηση λόγο, σε ένα Starbucks. Αποδεικνύεται ότι η εισπνοή και όλα αυτά δεν είναι πραγματικά όλα αυτά σκληρά για να κάνουμε. Υπάρχει ένα πρόγραμμα που ονομάζεται tcpdump που χωματερές όλα τα είδη της κίνησης TCP και μπορείτε να το τρέξει αρκετά απλά - όπως ακριβώς έκανα σήμερα το πρωί. Εδώ είναι ένα μικρό κομμάτι από μια χωματερή, και εδώ είναι ένα μέρος της κυκλοφορίας που έρχονται πάνω δίκτυο μου εκείνη την εποχή. Μπορείτε να δείτε - αν στραβισμός πραγματικά δύσκολο - υπάρχει ένα μικρό κομμάτι του Spotify εκεί. Στην κορυφή του tcpdump - γιατί αυτό είναι το είδος του πόνου στη χρήση - υπάρχει ένα πρόγραμμα που ονομάζεται Wireshark που δέσμες όλα αυτά σε ένα όμορφο γραφικό περιβάλλον. Το Wireshark είναι υπερ-βολικό οπότε αν πάτε να πάρετε μαθήματα δικτύωσης, αυτό είναι ένα εργαλείο που θα έρθει στην αγάπη, δεδομένου ότι σας βοηθά να αναλύσουμε όλα τα πακέτα που επιπλέουν γύρω εκεί έξω. Αλλά μπορεί επίσης να χρησιμοποιηθεί για την κακή. Είναι πολύ απλό απλά να κατεβάσετε αυτό το πρόγραμμα, μπότα επάνω, ξεκινήσετε μια καταγραφή του δικτύου, και να δείτε όλα όσα συμβαίνουν - και να φιλτράρετε και να κάνει όλα τα είδη της διασκέδασης πράγματα με αυτό. Το άλλο πράγμα που μπορείτε να κάνετε με ασύρματη επικοινωνία δεν είναι μόνο να σας αφουγκράζομαι, αλλά μπορείτε επίσης να μάθετε πώς να βιδώσετε με το δίκτυο ένεση και τις δικές σας πληροφορίες για τον έλεγχο της εμπειρίας ότι οι άλλοι άνθρωποι στο ίδιο ασύρματο δίκτυο είναι να πάρει. Ας ρίξουμε μια ματιά σε αυτό. Εδώ είναι Firesheep - που ξέρουμε και αγαπάμε από την περασμένη εβδομάδα - η οποία είναι ότι η τεχνολογία υποκλοπών. Αν, για παράδειγμα, θέλαμε να έχουμε ενεργά κακή πάει ο τύπος και το χάος γύρω μας με ένα από αυτούς τους υπολογιστές, σε αυτό το σενάριο έχουμε έναν υπολογιστή που προσπαθεί να πάει στο surf harvard.edu. Αυτό που συμβαίνει είναι, ο υπολογιστής στέλνει πρώτα ένα μήνυμα στο ασύρματο router και λέει, Γεια σου, θέλω να πάω www.harvard.edu επίσκεψη. Πείτε για κάποιο λόγο που προσπαθείτε να πάρετε πληροφορίες σχετικά με το παιχνίδι αυτό το Σαββατοκύριακο. Κακός, αφού κάθεται ακριβώς στη μέση, ακριβώς δίπλα σε εκείνο το σημείο πρόσβασης, μπορεί να δει ότι η επικοινωνία που προέρχεται από τον υπολογιστή στο router, και ξέρει, "Aha! Κάποιος πρόκειται να harvard.edu." (Κακία γέλια) Υπάρχει πρόκειται να είναι αυτή η καθυστέρηση, ενώ η επικοινωνία πηγαίνει από το router έξω στο Διαδίκτυο για να πάει βρείτε στην ιστοσελίδα στο harvard.edu-- ακριβώς όπως εσείς όλοι γνωρίζουμε μετά από να κάνει PHP psets σας - και έτσι ο κακός έχει λίγο χρόνο, λίγο από το παράθυρο, στο οποίο μπορεί να ανταποκριθεί με κάποια πράγματα. Ας πούμε ότι αυτό το κακό, βέβαια, είναι ένα Yaley. Εκείνος απαντά με harvardsucks.org. Boo! Κακός, κακός! Bad Yaley! Ή ακόμη χειρότερα, θα μπορούσε να απαντήσει με αυτό. [Http://youtu.be/ZSBq8geuJk0]. Θα σας αφήσω να παιδιά να καταλάβω τι είναι αυτό. Αυτό είναι πραγματικά μια τεχνολογία που ονομάζεται Airpwn! η οποία έκανε το ντεμπούτο του στο ένα από τα συνέδρια ασφαλείας σε λίγα χρόνια πίσω. Με Airpwn! είστε σε θέση να εισφέρει στην πραγματικότητα πίσω κίνηση στο δίκτυο. Οι υπολογιστές που προσπαθούν να βγουν στο Internet και να προσπαθούν να πείσουν για Google.com, να Facebook.com, να harvard.edu δείτε το κακόβουλο απάντηση έρθει και να αναλάβει αμέσως, εντάξει, αυτή είναι η απάντηση που περίμενα και στο τέλος να πάρει από το περιεχόμενο harvardsucks.org ή nameyourfavoriteshocksite.com, και μπορείτε να δείτε πόσο γρήγορα τα πράγματα θα επιδεινωθούν. Όλα αυτά τα είδη των πραγμάτων δεν μπορεί να γίνει με αυτές τις ενσύρματες συνδέσεις, διότι με ενσύρματη σύνδεση είναι δύσκολο να κατασκοπεύω για την κυκλοφορία. Αν είμαι κακός και στο ένα άκρο είναι ο υπολογιστής σας και στο άλλο άκρο είναι router σας - μόντεμ σας - ο μόνος τρόπος που μπορώ να πάρει στο μεταξύ εν προκειμένω είναι να splice πραγματικά τον υπολογιστή μου σε κάπου στη μέση ή να κάνει κάτι άλλο με το router, κάτι κατάντη. Αλλά με ασύρματο, μπορεί να είναι τόσο εύκολο όσο κάθεται στην πρώτη σειρά της μια τάξη, και μπορείτε να κάνετε όλα τα είδη των δυσάρεστα πράγματα για τους ανθρώπους στο πίσω μέρος. Ας μιλήσουμε για το πώς μπορεί να υπερασπιστεί ενάντια μερικά από αυτά τα πράγματα. Οι άνθρωποι που ανέπτυξαν τα πρότυπα ασύρματης - το 802,11 - δεν είναι χαζός ανθρώπους από οποιοδήποτε τέντωμα της φαντασίας. Αυτό είναι δροσερό τεχνολογία και όταν έκανε το ντεμπούτο του το 1999, που βγήκε με αυτό το πρότυπο που ονομάζεται WEP. Μπορείτε να δείτε εδώ κατά την προσπάθειά σας και να συμμετέχετε σε ένα ασύρματο δίκτυο, έχετε όλα τα είδη των διαφορετικών επιλογών ασφαλείας. Αυτό είναι το είδος του πόνου, γιατί υπάρχουν 6 όλοι μαζί και ποτέ δεν έχει πραγματικά νόημα που 1 για να συμμετέχουν. Αυτό το 1 στην κορυφή είναι η πρώτη που ήρθε με ονομάζεται WEP. WEP σημαίνει Wired Equivalent Privacy, πιστεύω, δεν Wireless πρωτόκολλο κρυπτογράφησης το οποίο είναι ένα κοινό ψευδεπίγραφος. Επειδή προσπαθεί να σας δώσει ισοδύναμη προστασία της ιδιωτικής ζωής και της προστασίας της ασφάλειας ισοδύναμη προς εκείνη ενός ενσύρματου δικτύου Με WEP τι καταλήγει να συμβαίνει είναι, έχετε ένα απλό, λίγο κωδικό πρόσβασης που πληκτρολογείτε σε αυτό και χρησιμεύει για την κρυπτογράφηση Όλες οι επικοινωνίες μεταξύ του υπολογιστή σας και σας δρομολογητή σας. Ποιο είναι το πρόβλημα με WEP όμως; Ο κωδικός πρόσβασης με WEP είναι πολύ μικρή, και, επίσης, ότι ο καθένας χρησιμοποιεί το ίδιο ακριβώς κωδικό πρόσβασης,  και γι 'αυτό είναι πολύ εύκολο να αποκρυπτογραφήσει. Έτσι, πολύ γρήγορα οι άνθρωποι καταλάβει ότι το WEP ήταν ένα πρόβλημα, και ο μόνος λόγος που βλέπετε να εμφανιστούν ακόμα σε αυτό το μικρό τύπος είναι - υπάρχουν ορισμένα παλαιότερα συστήματα που χρησιμοποιούν WEP - τι θα πρέπει, αντί να ψάχνει για είναι το WPA και WPA2, ακόμη και πρότυπα που κυκλοφόρησαν αργότερα. Τα συστήματα αυτά είναι πολύ καλύτερα να πάει σε προστασία για ασύρματη σύνδεση στο Internet. Τούτου λεχθέντος, εξακολουθούν να μην έχουν κάποια hackability. Υπάρχουν εργαλεία έξω εκεί που μπορεί να πάει να το κάνετε αυτό. Ένα πράγμα ιδιαίτερα που μπορεί να είναι δυσάρεστο είναι ότι εάν συνδέσετε και επικυρώνονται με έναν ασύρματο δρομολογητή και χρησιμοποιούν κάποιο είδος του κρυπτογραφημένη επικοινωνία, αποδεικνύεται ότι ένας χάκερ μπορεί να στείλει εύκολα ένα ενιαίο πακέτο για να αποσυνδεθείτε από το router, και από τη στιγμή που έχουν αποσυνδεθεί μπορείτε να μπορούν στη συνέχεια να ακούσετε σε - μπορούν να μυρίσουν τα πακέτα, όπως την προσπάθειά σας να αποκατασταθεί η σύνδεση με το router σας. Και με αυτές τις πληροφορίες μπορούν στη συνέχεια να πάνε μέσα και να αποκρυπτογραφήσει το υπόλοιπο της επικοινωνίας σας. Αυτό δεν είναι κατά κανένα τρόπο οποιοδήποτε είδος των ασφαλών πέρα ​​από κάθε φαντασία. Το άλλο πράγμα που μπορείτε να κάνετε όταν την εγκατάσταση ασύρματων δικτύων ή είστε τους ενώνει είναι - θα παρατηρήσετε ότι εδώ όταν είμαι συνδέει αυτό το δίκτυο, ζητά για το όνομα του δικτύου μου. Αυτό είναι επίσης γνωστό ως το SSID. Και βλέπετε ότι εδώ στα δεξιά έχω ένα κουτί που μου δείχνει τα διαθέσιμα SSID. Υπάρχει ένα Πανεπιστήμιο του Χάρβαρντ, ένα CS50, CS50 και ένα δίκτυο προσωπικού. Τώρα, πόσοι από εσάς ήξερε υπήρχε CS50 δίκτυο Προσωπικό γύρω; Κάποιοι από εσάς. Δεν είναι όλα από εσάς. Το πρόβλημα με αυτό, φυσικά, είναι ότι αν δεν είχαμε θέσει αυτό επάνω στη λίστα μας SSID, κανείς δεν θα έπρεπε να γνωρίζει γι 'αυτό πιο πιθανό. Ελπίζω. Εκτός αν εσείς όλοι προσπαθούν να σπάσουν σε ασύρματα μας. Αλλά αυτό είναι κάτι που μπορείτε να κάνετε για αυτό είναι πολύ σημαντικό όταν είστε δημιουργία ένα router στο σπίτι. Αυτό πιθανώς δεν θα συμβεί για λίγα χρόνια για πολλούς από εσάς, αλλά δεν έχετε κατά νου ότι η διατήρηση SSID ότι από εκεί και δεν κατονομάζεται επίσης κάτι σούπερ-κοινό θα βοηθήσει να σας κρατήσει πιο ασφαλές σε μακροπρόθεσμη βάση. Ένα τελευταίο ζευγάρι από τα πράγματα που μπορείτε να κάνετε. Το ένα είναι HTTPS. Αν είστε σε ένα Starbucks, αν είστε σε ένα δημόσιο wi-fi περιοχή και εσείς αποφασίσετε να έχετε πρόσβαση στον τραπεζικό σας λογαριασμό, η πρόσβαση στο Gmail σας, σας στο Facebook, βεβαιωθείτε ότι οι συνδέσεις που πηγαίνει πέρα ​​από HTTPS. Είναι ένα πρόσθετο στρώμα της ασφάλειας, ένα πρόσθετο στρώμα της κρυπτογράφησης. Το ένα πράγμα που πρέπει να θυμάστε είναι εδώ, πόσοι από εσάς έχετε ποτέ κάνει κλικ μέσα από αυτό το μεγάλο, κόκκινο οθόνη που λέει, "Αυτή η ιστοσελίδα μπορεί να είναι κακή." Ξέρω ότι έχω. Είναι μάλλον όταν είστε όλοι περιήγηση να πάω να δω Πατρίδα ή κάτι τέτοιο, έτσι δεν είναι; Ναι. (Γέλια) Ναι. Ορίστε. Ξέρουμε ποιος παρακολουθεί Πατρίδα. Η μεγάλη, κόκκινη οθόνη εκεί συχνά δείχνει ότι funky κάτι συμβαίνει. Μερικές φορές είναι ακριβώς η ίδια η ιστοσελίδα είναι επισφαλής, αλλά το ίδιο μεγάλη, κόκκινη οθόνη εμφανίζεται όταν οι άνθρωποι προσπαθούν να mount δίκτυο επιτίθεται σε σας. Έτσι, αν δείτε ότι οι μεγάλες, κόκκινο οθόνη καταλήξουμε σε ένα Starbucks, Μην κάνετε κλικ μέσα από αυτό. Άσχημα νέα. Άσχημα νέα φέρει. Το τελευταίο πράγμα που μπορείτε να δείτε είναι κάποιο είδος του VPN. Αυτό το VPN είναι διαθέσιμο μέσω του Χάρβαρντ - vpn.fas.harvard.edu-- και τι είναι αυτό που κάνει είναι να δημιουργεί πραγματικά μια ασφαλή σύνδεση ανάμεσα σε εσάς και το Χάρβαρντ, χοάνες κυκλοφορία σας μέσα από αυτό, και με αυτόν τον τρόπο, αν κάθεστε σε ένα μέρος όπως ένα Starbucks μπορείτε να συνδεθείτε στο Χάρβαρντ, να πάρει ότι η ασφαλής κυκλοφορία, και στη συνέχεια, περιηγηθείτε από το Χάρβαρντ. Και πάλι όχι, αλάνθαστη. Οι άνθρωποι μπορούν να πάρουν στη μέση. Μπορούν να αρχίσουν να το σπάσει, αλλά αυτό είναι πολύ πιο ασφαλή από ό, τι εμπιστεύονται την ασφάλεια, του wi-fi και μόνο. Εντάξει. Εν ολίγοις, όταν την εγκατάσταση ασύρματων δικτύων, όταν βγείτε έξω για να χρησιμοποιήσετε το ασύρματο στο δημόσιο - είτε πρόκειται για ένα Starbucks, είτε πρόκειται για Five Guys, είτε πρόκειται για b.good, κάτι τέτοιο -, όπου και αν έχουν wi-fi - να αντιλαμβάνεται το περιβάλλον σας. Να είστε ενήμεροι για το τι μπορούν να κάνουν οι άνθρωποι. Και να είναι ασφαλές. Μην πρόσβαση στον τραπεζικό σας λογαριασμό. Θα μπορούσε να είναι ένα απότομο ξύπνημα, εάν κάποιος εμφανίζεται με τον κωδικό πρόσβασής σας αργότερα. Με αυτό, πηγαίνετε βυσσινί! Και Πάω να γυρίσει τα πράγματα πίσω πάνω στον David για μια τελευταία λέξη. (Χειροκροτήματα) [Ντέιβιντ] σκέφτηκα να μοιραστώ κάτι από την προσωπική εμπειρία. Ένα εργαλείο που μπορεί να αρέσει να παίζουν με - αν και η Apple έχει εξαλειφθεί σε μεγάλο βαθμό αυτό το θέμα αν έχετε ενημερώσει το λογισμικό σας από - αλλά προς το σκοπό αυτό, του πραγματικά δεν είναι σε θέση να εμπιστεύονται το λογισμικό που χρησιμοποιούμε, και στα σημεία Nate, να είναι σε θέση να μυρίζει αρκετά ένα κομμάτι από ό, τι άλλοι άνθρωποι κάνουν εκεί έξω - αυτό ήταν ένα κομμάτι του λογισμικού που βγήκε περίπου ένα χρόνο-και-α-μισό πριν από τώρα. [IPhoneTracker] [http://petewarden.github.com/iPhoneTracker/] Εδώ και αρκετό καιρό, το iTunes - πριν από iCloud, όταν ήταν συγχρονισμό iPods ή iPhones σας ή σας ή iPads σας με το iTunes - προς το συμφέρον των αντιγράφων ασφαλείας, τι το iPhone σας και άλλες συσκευές αυτές έχουν κάνει για κάποιο χρονικό διάστημα είναι κάνοντας χρήση των δεδομένων GPS. Γνωρίζετε ίσως ότι τα iPhones και τα Androids σας και τα Windows κινητά τηλέφωνα και τα παρόμοια, αυτές τις μέρες να παρακολουθείτε όπου θα είναι προς το συμφέρον της δείχνοντάς σας χάρτες και παρόμοια - και ό, τι η Apple και οι άλλες εταιρείες που κάνουν είναι που συνήθως παρακολουθούν σχεδόν παντού έχετε πράγματι προς το συμφέρον της βελτίωση της ποιότητας των παρεχόμενων υπηρεσιών. Ένα, μπορείτε να πάρετε περισσότερες στοχευμένες διαφημίσεις και τα παρόμοια, αλλά δύο, μπορούν επίσης να καταλάβουμε πού υπάρχουν wireless hotspots στον κόσμο, και αυτό μπορεί να βοηθήσει με geo-location - είδος του τριγωνισμού της θέσης των ανθρώπων. Μεγάλη ιστορία σύντομη, όλοι μας είχαν τα πόδια κεραίες για κάποιο χρονικό διάστημα. Δυστυχώς, η Apple είχε κάνει την απόφαση σχεδιασμού - ή η απουσία του - δεν την κρυπτογράφηση των πληροφοριών όταν είναι αντίγραφα ασφαλείας στο iTunes. Και ό, τι ο ερευνητής ασφαλείας που διαπιστώθηκε ήταν ότι αυτό ήταν απλά ένα τεράστιο αρχείο XML - ένα τεράστιο αρχείο κειμένου - κάθεται στο iTunes το λογισμικό των ανθρώπων, και αν ήταν ακριβώς λίγο περίεργος, θα μπορούσατε να πάτε σπρώχνει γύρω από την ιστορία της συζύγου σας, την ιστορία συγκάτοικος σας, ιστορία αδελφός σας και τα παρόμοια, και χάρη σε κάποιο ελεύθερο λογισμικό, μπορείτε να σχεδιάσετε όλες αυτές τις συντεταγμένες GPS - γεωγραφικό πλάτος και μήκος. Έτσι, έκανα πραγματικά αυτό με το δικό μου τηλέφωνο. Έχω συνδέσει στο τηλέφωνό μου, και αρκετά βέβαιος, έκδοση του iTunes μου δεν ήταν κρυπτογραφημένα κατά τη χρονική στιγμή, και ό, τι ήμουν σε θέση να δω ήταν δικά μου σχέδια. Εδώ είναι οι Ηνωμένες Πολιτείες και το καθένα από αυτά τα μπλε κύκλους αντιπροσωπεύει όπου έτυχε να έχουν πάνω τους προηγούμενους μήνες από την ιδιοκτησία αυτό το συγκεκριμένο τηλέφωνο.  Ξοδεύω πολύ χρόνο, βέβαια, μέχρι στα βορειοανατολικά, λίγο χρόνο στην Καλιφόρνια, μια βραχύβια ταξίδι στο Τέξας, και στη συνέχεια, αν κάνετε ζουμ σε αυτό - όλα αυτά είναι είδος ωραία και ενδιαφέρουσα, αλλά ήξερα αυτό. Οι περισσότεροι φίλοι μου ήξεραν αυτό, αλλά αν έχετε βουτήξει σε πιο βαθιά, βλέπετε όπου περνάω τον περισσότερο χρόνο μου στα βορειοανατολικά. Αν μάνταλο επάνω μερικά γνωστά εμφάνιση πόλεις - αυτό το μεγάλο, μπλε κηλίδα μελανιού είναι επικεντρωμένη πάνω Βοστώνη, και στη συνέχεια να περάσουν λίγο χρόνο έξω στα προάστια ακτινοβολεί έξω από τη Βοστόνη. Αλλά έκανα επίσης αρκετά ένα κομμάτι της διαβούλευσης εκείνο το έτος. Και φέτος είναι η ανατολική ακτή, και μπορείτε να δείτε με πραγματικά και το iPhone μου στην τσέπη μου που ταξιδεύουν πέρα ​​δώθε μεταξύ της Βοστώνης και της Νέας Υόρκης Φιλαδέλφεια και πιο κάτω, καθώς και τις δαπάνες λίγο από το χρόνο των διακοπών στο ακρωτήριο, το οποίο είναι το μικρό βραχίονα εκεί έξω. Έτσι, κάθε μία από αυτές τις στιγμές αντιπροσωπεύει κάποιο μέρος που είχε, και τελείως εν αγνοία μου, όλη αυτή η ιστορία ήταν απλά κάθεται εκεί στον επιτραπέζιο υπολογιστή μου. Αν σμίκρυνση - αυτό πραγματικά ήταν λίγο ανησυχητικό. Δεν είχα καμία ανάμνηση του έχουν ποτέ βρεθεί στην Πενσυλβάνια το εν λόγω έτος. Αλλά αν και είναι λίγο πιο δύσκολο γι 'αυτό και κατάλαβα, OH, ήταν στο γεγονός ότι το ταξίδι και αρκετά βέβαιος, το τηλέφωνό μου με είχε αλιευθεί. Η Apple έχει κρυπτογραφούνται από αυτές τις πληροφορίες, αλλά αυτό είναι πάρα πολύ απλά απόδειξη για το πόσο οι πληροφορίες που συλλέγονται για εμάς, και πόσο εύκολα - προς το καλύτερο ή προς το χειρότερο - είναι αποδεκτό. Ένα από τα take-aways ελπίζουμε από την ομιλία του Rob, από την ομιλία του Nate και λίγο γραφικά, όπως αυτή σήμερα είναι ακριβώς για να είναι ακόμα πιο επίγνωση αυτής της έτσι ώστε ακόμη και αν - ως προς το σημείο του Rob - we're είδος βιδωθεί, έτσι δεν είναι; Δεν είναι πολλά που μπορούμε να κάνουμε, όταν πρόκειται για ορισμένες από αυτές τις απειλές, αλλά στο τέλος της ημέρας θα πρέπει να εμπιστεύονται κάτι ή κάποιος αν θέλουμε να χρησιμοποιήσουμε πραγματικά αυτές τις τεχνολογίες. Τουλάχιστον μπορούμε να προβαίνουν σε ενημερωμένες αποφάσεις και οι αποφάσεις που υπολογίζονται ή όχι θα πρέπει πραγματικά να ελέγξει αυτό το ιδιαίτερα ευαίσθητο λογαριασμό ή θα πρέπει πραγματικά να υποψιάζομαι ότι αποστολή ελαφρώς άμεσο μήνυμα  σε ένα wi-fi περιβάλλον σαν αυτό. Έτσι, με ότι είπε, παραμένει μόνο ένα κουίζ, παραμένει μια διάλεξη. Θα σας δούμε την Τετάρτη έπειτα Δευτέρα. (Χειροκροτήματα και επευφημίες) [CS50TV]