DAVID J. MALAN: Dies ist CS50, und dies ist der Beginn der 10. Woche. Sie erinnern sich vielleicht, dass wir gezeigt haben auf dem Bildschirm ein 3D-Drucker, die ist diesem Gerät, nimmt Spulen aus Kunststoff und dann extrudiert es durch Erhitzen und Schmelzen, so dass wir dann Armee von Changs bilden Elefanten, zum Beispiel. So zumin Leverett House, aber vor kurzem I wurde mit einem im Chat Ihre Klassenkameraden und ein Freund von Changs namens Michelle, die tatsächlich im interniert dieses andere Unternehmen im vergangenen Jahr, dass eine andere Technik für die tatsächlich Erstellung von dreidimensionalen Objekten, wie diese winzigen Elefanten hier. Insbesondere die Art und Weise dies funktioniert ist, dass es ein Beispiel für etwas genannt Stereolithographie, wobei es gibt diese Becken aus Harz oder flüssig, und dann ein Laser fällt auf, dass Flüssigkeit nach und nach, wobei die Vorrichtung Aufzüge, Lifte und hebt das Ding dass Sie drucken, wie ein Elefant, wie die Flüssigkeit wird fest. Und das Ergebnis, eigentlich ist etwas, das ist wesentlich robuster als einige der Kunststoff Werbegeschenke einige von euch gehabt haben könnte. Und was Chang kindly für uns getan hat war hier habe ein Zeitraffer-Verwendung von Fotos im Verlauf von einer Stunde oder mehr, wahrscheinlich, um diesen Kerl hier zu produzieren. Würde jemand, der noch nie vor gekommen gerne kommen getroffen starten zu diesem Video? Lassen Sie mich mit zu gehen, wie wäre es. Komm auf. In Ordnung. Und Sie sind? Luke: Ich heiße Lukas [unverständlich]. DAVID J. MALAN: Hallo, Luke. Freut mich, dich kennenzulernen. LUKE: Nice to meet you. PUBLIKUM: Er ist für UC läuft. DAVID J. MALAN: Ich weiß, wir versuchen nicht zu fördern. Alles klar, so Lukas, alle Sie hier in CS50 tun haben wird die Leertaste schlagen um diese Elefanten zu drucken. [VIDEO PLAYBACK] - [MACHINE Surren] - [CRASH] - [BOOM] - [CRASH] [END VIDEO PLAYBACK] DAVID J. MALAN: Also das ist genau das, wie es ist, um Druck 3D. Und hier ist Ihre Elefanten. Vielen Dank für Freiwilligenarbeit. In Ordnung. Also noch einmal, gemäß der Spezifikation für Das endgültige Projekt, diese Hardware, die ist Ihnen zur Verfügung Jungs ist, aus irgendeinem Grund, Ihr Projekt hat einige Kreuzung von Software und Hardware, erkennen, dass diese nun Ressourcen. Ich wollte einen Moment Zeit nehmen, um zu berühren auf einem purpurnen Artikel, die herauskamen spät in der Nacht, das war bekannt, dass diese Kolleginnen hier, David Johnson, der seit der Senior ist Lehrer für Ec 10 seit geraumer Zeit, verlässt Harvard an die Ende des akademischen Jahres. Und ich wollte nur einen Moment Zeit nehmen, ehrlich gesagt, David vor CS50 danken. Er war ein Mentor Arten, uns im Laufe der Jahre. Und ich fühle mich wie wir, CS50, haben eher mit Ec 10 gewachsen hier, denn sie sind direkt vor uns. Und er und das ganze Team in Ec 10 gewesen wunderbar gnädig, ehrlich gesagt, wie wir schleppen in allen unseren Anlagen jede Woche, und vor Jahren, vorgesehen viel Of Counsel, wie wir waren neugierig, wie sie funktionieren EC 10. Also Dank und Bewunderung an David Johnson. [Applaus] Nun unrelatedly, so das Ende ist in der Tat in der Nähe. Wir sind hier in der 10. Woche. Und wir haben gerade erst ein paar formale Wochen hier in der Klasse verließ, gefolgt durch ein Paar von Ereignissen. Also, um Ihnen ein Gefühl von dem, was geben am Horizont, hier sind wir heute. An diesem Mittwoch, Rückruf, wir einen Gastvortrag haben von niemand anderem als Microsofts eigene Steve Ballmer. Wenn Sie auch noch nicht gegangen cs50.harvard.edu/register, tun dies, da der Platz ist begrenzt. Und sie werden überprüft IDs an der Tür an diesem Tag. Wenn Sie nicht hier waren letzte Woche, dachte ich, ich würde necken Sie mit einem anderen Blick bei Steve und die Aufregung, die erwartet uns am Mittwoch. [VIDEO PLAYBACK] -Passion. -Wir Gehen zu hardcore-- hardcore sein. -Innovator. -Bill Heißt, Sie nicht bekommen. Wir werden eine Put Computer auf jedem Schreibtisch und in jedem Haus, das wurde das Motto für das Unternehmen. Ich schwöre, Bill erfunden in dieser Nacht zu mir wirklich geben etwas von der Vision warum sollte ich sagen, ja. Ich habe es nie bereut, wirklich, danach. -Frisches Aus der Schule, er trat eine junge Startup und half sie in einer von Amerikas wachsen erfolgreichsten Unternehmen aller Zeiten. Das Leben und Business Lehren auf dem Weg ließ ihn zurück zu seinem Kindheit Leidenschaft und Liebe. Und diese Erfahrungen haben vorbereitet ihm für seine nächste Herausforderung im Leben. -Nichts Bekommt in unserem way-- Boom! Keep Coming hardcore! Gehe Clippers! -Dies Ist Steve Ballmer, "In meinen eigenen Worten." [END VIDEO PLAYBACK] DAVID J. MALAN: --Dieser Mittwoch bis CS50. Kopf wieder auf diese URL hier. Als für das, was sonst noch auf dem Horizont, nächste Woche, kein Vortrag am Montag. Aber wir werden folgen, dass von Quiz ein am Mittwoch. Zur Homepage CS50 für Details auf Personen, Orte und Zeiten für alle der verschiedenen proctoring Logistik und dergleichen, sowie über Kritik Sitzungen, die bevorstehenden sind. Und dann, endlich, am Montag, dem Tag vor der Thanksgiving-Woche Pause erkennen, es wird unsere letzte Vorlesung sein. Wir werden Kuchen und eine große dienen viel Aufregung, hoffen wir. Jetzt, ein paar andere Updates. Denken Sie daran, dass der Status Bericht, der wirklich nur ist bedeutet, um eine beiläufige Interaktion mit TF stolz gerechten Staat wie weit zusammen mit Ihrem Abschlussprojekt Sie sind, oder zumindest als Sanity überprüfen Sie, ob Sie sollten nähern, dass Punkt kurz danach. Dann wird der Hackathon folgt, dass. Erkenne den Hackathon ist keine Gelegenheit zu Ihrem endgültigen Projekt zu starten, aber soll eine Gelegenheit in der Mitte der oder in Richtung auf sein das Ende Ihrer Abschlussprojekt, mit der Umsetzung durch ein paar Tage später von der CS50 Messe gefolgt. Nun CS50 Produktion Team, vor ein paar Jahren, zusammen ein Teaser für den CS50 fair, dass wir dachten, wir würden Sie heute zeigen, denn sie haben hart daran gearbeitet, auf einem Prequel für das, ein neues Video dass wir heute mit dem Schluss. Aber hier ist, was Sie erwartet für die diesjährige CS50 fair. [VIDEO PLAYBACK] - [HANDY RINGING] [MUSIC "Theme from Mission: Impossible"] [END VIDEO PLAYBACK] DAVID J. MALAN: Also das ist genau, wie wir schließen endgültige Projekteinreichungen. Ein paar jetzt teasers-- wenn Sie möchten, dass Nick hier beitreten zum Mittagessen, wie üblich, diese Freitag, den Kopf auf diese URL hier. Außerdem, wenn Sie möchten, Nick oder diesen Nick beitreten oder diese Allison oder jede Mitglieder des CS50-Team, Sie erkennen, dass, kurz nach Begriff ende, CS50 bereits rekrutieren für das nächste Jahr das Team, für CAs, TFs, Designern, Produzenten, Forscher und andere Stellungen dass hier betreiben CS50 sowohl in vor und hinter den Kulissen. Also, wenn dies von Interesse sein könnten an Sie, den Kopf auf diese URL hier. Und Studenten komfortabler, weniger komfortabel, und irgendwo in zwischen gleichermaßen sind alle herzlich willkommen und zur Bewerbung aufgefordert. So war es ein perfektes Timing, dass kein Witz, an diesem Morgen, als ich aufwachte, Ich hatte diese hier Spam in meinem Posteingang. Tatsächlich rutschte durch Google Mail-Spam-Filter irgendwie und landete in meinem eigentlichen Posteingang. Und er sagt: "Lieber Postfach Benutzer, Sie sind derzeit Upgrade auf 4 Gigabyte Speicherplatz. Bitte in Ihrem Konto anmelden um E-Raum zu validieren. " Und dann gibt es diese schönen blauen verlockenden Link dort klicken Sie auf für Dozenten und Mitarbeiter, die dann führte mich zu einem wunderbar legitime Seite, die bat mich, meinen Namen zu geben und E-Mail-Adresse und, natürlich, Kennwort bestätigen wer ich bin und so weiter. Aber natürlich, wie es immer der Fall ist, Sie kommen zu dieser Zielseite, und natürlich gibt es mindestens ein Tippfehler, die an der Nagel in sein scheint der Sarg von einer dieser Betrügereien. Und wir veröffentlichen, vielleicht, eine andere Links zu diesen Arten von Screenshots in der Zukunft. Aber hoffentlich, die meisten Menschen in dieser Raum nicht clicked-- oder auch wenn Sie geklickt haben solche Links, da dies, nicht so weit, gegangen füllen Sie diese Formulare und so weiter. In der Tat ist es in Ordnung, wenn Sie haben. Wir werden versuchen, dass heute zu beheben, weil, Tatsächlich ist die heutige Gespräch um die Sicherheit. Und in der Tat, einer der Ziele der CS50 ist nicht so viel zu CE lehren oder PHP oder JavaScript oder SQL oder einer dieser zugrunde liegenden Implementierungsdetails. Aber es ist, Sie als Menschen befähigen nur intelligentere Entscheidungen zu treffen, wie es bezieht sich auf Technik bis die Straße, so dass, ob Sie Ingenieur oder humanistischen oder Wissenschaftler oder andere Rolle, Sie fundierte Entscheidungen über Ihre eigenen Computing-Nutzung, oder wenn Sie in einem sind Entscheidungsposition, in der Politik, insbesondere du machst viel, viel bessere Entscheidungen als ein Viele Menschen heute haben. Und wir werden dies tun, indem Sie anhand einiger Beispiele. Zuerst war ich ziemlich überrascht vor kurzem auf die folgende entdecken. So Passwörter natürlich sind das, was die meisten von uns nutzen, um unsere data-- Email zu schützen, Chat, und alle Arten von Ressourcen wie die. Und nur durch eine awkward-- nicht zeigen Hände, aber peinlich Blicke der Scham, wie viele von euch das gleiche Kennwort verwenden in einer Menge von verschiedenen Websites? Oh, OK, so dass wir die Hände zu tun. OK, so viel Sie zu tun. Wer dies tut, nur warum? Und was? Ja? PUBLIKUM: Es ist leicht zu merken, denn Sie müssen nicht zu erinnern, [unverständlich]. DAVID J. MALAN: Ja, es ist leicht zu merken. Es ist eine durchaus vernünftige, rationales Verhalten, auch wenn das Risiko Sie setzen sich selbst bei in diesen Fällen ist nur eine oder mehrere dieser Websites ist anfällig für Hacker oder unsicher oder Ihr Passwort ist nur so verdammt erraten, jeder kann es herausfinden können. Es ist nicht nur ein Konto beeinträchtigt, aber in der Theorie irgendeine Konten, die Sie auf dem Internet haben. Also ich weiß, ich könnte heute sagen, nicht verwenden überall das gleiche Passwort, aber das ist viel einfacher gesagt als getan. Aber es gibt Techniken mildernde dass ein besonderes Anliegen. Nun geschieht I, zum Beispiel, um benutze ein Programm namens 1Password. Ein weiteres beliebtes eine heißt Lastpass. Und ein Haufen CS50 Mitarbeiter verwenden ein oder mehr dieser Arten von Werkzeugen. Und lange Geschichte kurz, ein Imbiss für heute sein sollte, ja, haben Sie vielleicht dasselbe Passwort überall, aber es ist sehr einfach, nicht mehr tun. Zum Beispiel, in diesen Tagen, ich weiß vielleicht einer meiner Dutzende oder Hunderte von Passwörtern. Alle meine anderen Passwörter sind pseudo-zufällig von einem dieser Programme hier erzeugt. Und auf den Punkt gebracht, und sogar obwohl die meisten dieser Programme neigen dazu, mit ein bisschen einem Preis zu kommen, Sie wäre ein Programm wie dieses zu installieren, Sie würde dann speichern alle Ihren Benutzernamen und Passwörter innerhalb dieses Programms auf Ihren eigenen Mac oder PC oder Dingsbums, und dann wäre es auf Ihrem Computer verschlüsselt mit dem, was hoffentlich ein besonders lange vergessen. So habe ich eine ganze Reihe von Passwörter für einzelne Websites, und dann habe ich ein wirklich lange vergessen, dass ich verwenden, um alle freizuschalten die anderen Passwörter. Und was ist schön zu Software wie diese ist dass, wenn Sie eine Website besuchen, das ist bitten Sie Ihren Benutzernamen und Ihr Passwort ein, in diesen Tagen, ich weiß nicht geben meinem Benutzernamen und Passwort, weil wieder, ich weiß nicht einmal, was die meisten meiner Passwörter sind. Ich schlug statt einer Tastatur Verknüpfung, wobei das Ergebnis davon ist diese Software zu triggern veranlassen mich für mein Master-Passwort. Ich tippe dann so zu einem großen Passwort und dann der Browser füllt automatisch was mein Passwort ist. Also wirklich, wenn Sie nichts anderes zu nehmen von heute in Bezug auf Passwörter, das sind Software, die es wert sind Herunterladen oder die Investition in so dass Sie mindestens Pause dass insbesondere Gewohnheit. Und wenn Sie die Art sind, das ist mit Post-It Notes oder like-- und Chancen sind, zumindest einer von euch ist-- diese Gewohnheit auch genügt es zu sagen, sollte gebrochen werden. Nun, war ich zufällig zu entdecken, als Ergebnis der Benutzung der Software, die folgende. Ich war die Bestellung eines Essbare Arrangement, Dieser Korb von Obst, vor kurzem. Und ich traf meine spezielle Tastatur Abkürzung für die Anmeldung bei der Website. Und die Software ausgelöst a Pop-up, die besagten, sind Sie sicher du, dass ich automatisch möchten so reichen Sie Benutzernamen und Passwort? Da die Verbindung ist unsicher. Die Verbindung ist nicht Verwendung von HTTPS für eine sichere, mit Hilfe dieses Protokolls als bekannt SSL, Secure Sockets Layer. Und in der Tat, wenn man sich freuen oben links auf dieser Website, es ist nur www.ediblearrangements.com, kein HTTPS, was nicht so gut ist. Nun, ich war curious-- vielleicht ist nur ein Fehler in der Software. Sicherlich, einige Website wie dies, dass viele von uns kennen mindestens Verschlüsselung oder HTTPS-URLs, um Sie eingeloggt sein. Also habe ich ein wenig neugierig an diesem Morgen. Und ich habe mal meine CS50 Fähigkeiten, Ich öffnete Chrome Inspector. Es ist nicht einmal viel von einer Fähigkeit. Es ist einfach auf die richtige Tastatur Verknüpfung zu diesem eröffnen. Und hier ist ein großes Fenster von Chrome Inspector. Aber was ist eigentlich eine war wenig tragisch und lächerlich waren diese beiden Zeilen hier. Bis an der Spitze, bemerken die URL zu die mein Benutzername und Passwort wurden eingereicht. Lassen Sie mich zu vergrößern. Es war dieses hier. Und all das ist Art uninteressant, außer dem, was ganz am Die Linke, die mit http: // beginnt. Und so ist, dann, OK, vielleicht sie sind nur Senden meinem Benutzernamen, das ist nicht so eine große Sache. Vielleicht mein Passwort wird später gesendet. Das wäre eine Art sein interessante Design-Entscheidung. Aber nein. Wenn Sie dann auf Antrag aussehen Nutzlast, der Benutzername und das Passwort Ich sent-- und ich verspottet diese bis zur slide-- wurden tatsächlich im Klartext gesendet. So können Sie sich auf diese besondere Webseite gehen und bestellen eine essbare Arrangement wie diese, und zwar offenbar für all dies Mal, dass ich von ihnen Bestellung worden, Ihren Benutzernamen und Ihr Passwort ein wird über gehen in der klaren. Also ehrlich gesagt, ist dies völlig inakzeptabel. Und es ist so trivial, die Dinge zu vermeiden wie diese als Designer einer Website und als Programmierer einer Website. Aber das Essen zum Mitnehmen hier für uns als Nutzer der Webseiten ist nur, dass alle schätzen Es braucht nur für eine dumme Design Entscheidung, nicht zu rechtfertig Design-Entscheidung, so dass jetzt, wenn Sie wissen, mein Passwort ist "Crimson" auf diese Website, wahrscheinlich haben Sie nur in einem ganzen Bündel von bekam anderen Websites, die ich jetzt haben. Und es gibt nicht viel von eine Verteidigung gegen die andere als das, was Chang hat an diesem Morgen. Er ging zu Edible Arrangements, die wird die Straße hinunter in Cambridge, und körperlich dieses gekauft für uns. Das war viel sicherer als Nutzung der Website in diesem Fall. Aber das Detail, um ein Auge für ist eigentlich, was im Browser bis oben da. Aber auch, dass ein wenig trügerisch sein kann. Also ein weiterer interessanter Beispiel und Weise zu verteidigen gegen this-- und tatsächlich, lass uns nicht, dass die Art und Weise zu verteidigen first-- dagegen ist eine Technik dass Sicherheits Menschen würden rufen die Zwei-Faktor-Authentifizierung. Weiß jemand, was die Lösung um Probleme wie das heißt? Was ist die Zwei-Faktor-Authentifizierung? Oder anders ausgedrückt, wie viele von Ihnen es verwenden? OK, so ein paar schüchterne Menschen. Aber ja. Ich sah deine Hand nach oben. Was ist die Zwei-Faktor-Authentifizierung? PUBLIKUM: Grundsätzlich zusätzlich zur Eingabe Ihres Passworts Sie haben auch eine Sekundär [unverständlich] per SMS auf Ihr Handy geschickt an der [unverständlich]. DAVID J. MALAN: Genau. Neben einigen Primärform der Authentifizierung, wie ein Kennwort, Du suchst einen Sekundär gefragt Faktor, der typischerweise etwas, das Sie haben physisch auf Sie, wenn es kann etwas ganz anderes sein. Und das Ding ist typischerweise ein Cellphone in diesen Tagen auf die Sie bekommen eine temporäre Textnachricht, die besagt, geschickt "Ihre temporären Zugangscode lautet 12345." Also zusätzlich zu meinem Kennwort "Crimson" Ich auch müssen in welcher Art Die Website hat mir getextet. Oder wenn Sie mit einem haben diese Bank oder ein Investmentkonto, Sie manchmal diese wenig Dongles tatsächlich einen Pseudozufalls Zahlengenerator in sie aufgebaut, aber sowohl die Vorrichtung und die Bank wissen, was Ihre erste Samen ist damit sie wissen, wie auch der wenig Code deine kleine Schlüsselanhänger marschiert voraus jede Minute oder zwei, Wertewandel, so funktioniert das Wertänderung auf dem Server der Bank so dass sie in ähnlicher Weise authentifizieren Sie nicht nur mit Ihrem Passwort, aber mit dieser temporären Code. Nun, können Sie tatsächlich tun dies in Google. Und ehrlich gesagt, ist dies ein gute Angewohnheit, vor allem, wenn Sie verwenden Gmail ganze Zeit auf einem Browser. Wenn Sie zu dieser URL hier, was ist zu gehen die Folien online heute, und dann klicken Sie auf 2-Step Verification, gleichen tatsächlichen was es gibt. Sie werden aufgefordert zu geben sie Ihre Handy-Nummer. Und dann, immer wenn Sie sich anmelden Gmail, werden Sie nicht nur aufgefordert, nach Ihrem Passwort, sondern auch für ein wenig Code, der an Ihr Telefon gesendet wird vorübergehend. Und so lange, wie Sie Cookies aktiviert haben, und solange Sie nicht explizit tun abmelden, werden Sie nur zu, dass einmal in eine Weile zu tun, wie wenn Sie sich hinsetzen an einem neuen Computer. Und der Kopf auch hier ist, wenn man hinsetzen irgendInternetCafé-Stil Computer oder einfach nur ein Freundes-Computer, auch Zahlt Ihr Freund böswillig oder unwissentlich hat einige Tastatur-Logger auf seinem Computer installiert ist, so dass alles, was Sie Typ wird protokolliert, zumindest, dass zweite Faktor, dass temporären Code, ist vergänglich. Damit er oder sie oder wer auch immer ist beeinträchtigt der Computer kann nicht in Sie anschließend einloggen, auch wenn alles andere war anfällig oder sogar unverschlüsselt überhaupt. Facebook hat auch dies mit dieser URL hier wo Sie auf Login Zulassungen klicken können. So auch hier, wenn Sie nicht wollen Freunde, um Menschen zu stoßen, Sie wollen nicht auf Facebook stossen werden oder Entsendung Status-Updates für Sie, Zwei-Faktor-Authentifizierung hier ist wahrscheinlich eine gute Sache. Und dann gibt es diese andere Technik überhaupt, nur Wirtschaftsprüfung, die auch ist eine gute Sache für uns Menschen, wenn die Zwei-Faktor erweist ärgerlich, die, Zwar kann es, oder es ist einfach nicht auf irgendeiner Webseite, minimal verfügbar ein Auge auf, ob und wann Sie in die Stellen der Anmeldung sind, wenn sie erlauben Ihnen, ist eine gute Technik, auch. Also hast du Facebook auch diese Login-Benachrichtigungen verfügen, wobei jederzeit Facebook realisiert, hm, hat David angemeldet von einigen Computer oder Telefon dass wir noch nie zuvor aus gesehen eine IP-Adresse, die nicht vertraut aussieht, sie werden Ihnen zumindest eine Nachricht E-Mail zu, was E-Mail Adresse haben Sie auf Datei, sagen, sieht das verdächtig? Wenn ja, ändern Sie Ihr Passwort sofort. Und so gibt es auch nur Prüfungsverhalten auch nachdem Sie waren gefährdet ist, kann zumindest verengen das Fenster während die Sie anfällig sind. Alle Rechte, Fragen auf dem Zeug bisher? Heute ist der Tag, um alle zu erhalten Ihre Paranoia bestätigt oder verweigert. Das ist größtenteils bestätigt, traurig. Ja? PUBLIKUM: [unverständlich] Telefon, was ist, wenn Ihr Telefon Pausen, und dann ist es immer schwer verify-- DAVID J. MALAN: True. PUBLIKUM: Oder wenn Sie in einer anderen sind Land und sie lassen dich nicht einloggen, weil [unverständlich]. DAVID J. MALAN: Absolut. Und so sind die zusätzlichen Kosten, die Ihnen entstehen. Es gibt immer dieses Thema eines Trade-off, nachdem alle. Und dann, wenn Sie Ihr Handy verlieren, wenn es bricht, wenn Sie im Ausland sind, oder Sie haben einfach nicht ein Signal, wie ein 3G oder LTE-Signal, Sie werden vielleicht nicht wirklich der Lage sein, zu authentifizieren. Also noch einmal, diese beiden sind Kompromisse. Und manchmal kann es ein erstellen viel Arbeit für Sie als Ergebnis. Aber es hängt wirklich, dann auf über die zu erwartende Preis zu Ihnen ist von etwas Befinden insgesamt gefährdet. So SSL, dann ist diese Technik, wir alle in der Regel als selbstverständlich betrachten noch übernehmen ist es, auch wenn das ist eindeutig nicht der Fall. Und du noch irre können Menschen, obwohl, auch mit diesem. Also hier ist ein Beispiel für eine Bank. Dies ist die Bank of America. Es gibt eine ganze Menge von diesen in Harvard Square und darüber hinaus. Und feststellen, dass an der Spitze der der Bildschirm, gibt es eine, ja, HTTPS. Und es ist sogar grün und für uns markiert um anzuzeigen, dass dies tatsächlich ein rechtmäßig sichere Website, oder so haben wir ausgebildet worden zu glauben. Nun, abgesehen davon, obwohl, feststellen, dass, wenn wir hineinzoomen gibt es dieses Ding hier, wo Sie werden aufgefordert, melden Sie sich an. Was bedeutet das Vorhängeschloss bedeutet rechts dort, neben meinem Benutzernamen auffordern? Das ist ziemlich häufig auf Websites, zu. Was bedeutet das Vorhängeschloss das? Sie scheinen, wie Sie wissen. PUBLIKUM: Es hat nichts zu bedeuten. DAVID J. MALAN: Es hat nichts zu bedeuten. Es bedeutet, dass die Bank of America weiß, wie HTML mit Image-Tags, richtig zu schreiben? Es bedeutet wirklich nichts, denn auch wir mit dem ersten Tag der Look bei HTML können Code auf eine Seite mit einem roten Hintergrund und ein Bild, wie ein GIF oder Dingsbums, dass geschieht, um wie ein Vorhängeschloss aussehen. Und doch ist dieses super in Webseiten verbreitet, weil wir ausgebildet worden, anzunehmen, dass, oh, Vorhängeschloss bedeutet sichere, wenn es wirklich nur bedeutet, dass Sie wissen, HTML. Zum Beispiel, wieder in den Tag, konnte ich habe gerade diese auf meiner Website, behauptete, es ist sicher, und fragen, effektiv, für Benutzernamen und Passwörter der Menschen. So suchen in der URL zumindest eine bessere Ahnung, denn das ist in Chrome eingebaut oder was auch immer-Browser Sie verwenden. Aber selbst dann, manchmal Dinge schief gehen kann. Und in der Tat könnte man nicht immer siehe HTTPS, in grün geschweige denn. Hat jemand von euch schon einmal ein Bildschirm wie das gesehen? Vielleicht haben Sie, eigentlich, früher im Oktober wenn ich vergessen zu bezahlen unsere SSL-Zertifikat, wie es heißt, und wir wurden wie die Suche das für ein oder zwei Stunden. So haben Sie wahrscheinlich Dinge gesehen wie diese, mit einem Durchschlag, wie ein roter Faden durch das Protokoll in der URL oder eine Art Bildschirm, der ist mindestens ermahnen Sie für den Versuch, weiter zu gehen. Und Google hier lädt Sie wieder in Sicherheit zu gehen. Nun wird in diesem Fall gemeint, dass dies nur das SSL-Zertifikat, das wir benutzten, die großen, mathematisch nützliche Nummern Das mit CS50 der Server zugeordnet sind, waren nicht mehr gültig. Und in der Tat, wir simulieren können Dies ist, wie können Sie auf Ihren Laptop. Wenn ich in Chrome gehen Sie hier, und lassen Sie uns auf facebook.com zu gehen, und es sieht aus wie das ist sicher. Aber lassen Sie mich gehen Sie vor und jetzt klicken Sie auf das Vorhängeschloss hier. Und lassen Sie mich zum Anschluss gehen, Zertifikatinformationen. Und in der Tat, was Sie hier sehen, ist ein Haufen Details niedrigerer Ebene zu wer facebook.com wirklich ist. Es scheint, dass sie Geld bezahlt haben ein Unternehmen vielleicht genannt DigiCert Hoch Assurance, die versprochen hat um den Rest der Welt zu sagen, dass, wenn ein Browser überhaupt sieht, a certificate-- Sie denken können es wörtlich als ein Zertifikat, sieht aus wie dieser kitschig Ding oben left-- dann facebook.com ist, die sie sagen sie sind, weil die ganze Zeit, wenn Sie eine Website besuchen, wie cs50.harvard.edu oder facebook.com oder gmail.com, die HTTPS verwenden URLs, hinter den Kulissen, gibt es diese Art von Transaktion geschieht automatisch für Sie, wobei facebook.com, in diesem Fall wird an Ihren Browser schickt seine sogenannte SSL-Zertifikat, oder besser gesagt, seinen öffentlichen Schlüssel, und dann Ihrem Browser wird mit diesem öffentlichen Schlüssel anschließend senden verschlüsselte Datenverkehr zu und von ihm. Aber es gibt diese ganze Hierarchie in der Welt der Unternehmen dass Sie Geld zu zahlen, die wird dann bezeugen, in einem digitalen Sinne Sie sind in der Tat facebook.com oder Ihr Server ist in der Tat cs50.harvard.edu. Und in Browsern gebaut, wie Chrome und IE und Firefox, ist eine Liste aller Personen, sogenannte Zertifizierungsstellen , der von erlaubten werden Microsoft und Google und Mozilla zu bestätigen oder zu leugnen, dass facebook.com ist, der es sagt, es ist. Aber der Haken ist, dass diese Dinge ablaufen. In der Tat sieht Facebook ist wie es läuft im nächsten Oktober 2015. So können wir tatsächlich simulieren dies, wenn ich gehen in meinem Mac zu meinem Systemeinstellungen, und ich gehe in Datum und Uhrzeit, und Ich in Datum und Uhrzeit gehen Sie hier, und ich entsperren dieses hier-- Glück wir nicht offenbaren ein Passwort dies Zeit-- und jetzt habe ich nach unten gehen, um diese zu deaktivieren. Und lassen Sie uns actually-- oops, das ist nicht so interessant wie dies zu tun. Wir sind buchstäblich in der Zukunft jetzt was bedeutet, das ist, was 2020 ist wie. Wenn ich jetzt laden die page-- lass es uns tun im Ingognito mode-- wenn ich die Seite neu laden, dort gehen wir. So, jetzt denkt, dass mein Computer es ist 2020, aber mein Browser weiß, dass diese Bescheinigung Facebook läuft, natürlich, im Jahr 2015. So ist es mir diese rote Meldung. Nun, zum Glück, Browser wie Chrome tatsächlich machte es ziemlich schwer, gehen dennoch. Sie wollen mich ja zurück zu Sicherheit gehen. Wenn ich hier klicken Advance, ist es mir sagen einige weitere Details. Und wenn ich wirklich will um fortzufahren, werden sie lassen mir, facebook.com, welches ist zu gehen, wieder, unsicher, an welcher Stelle Ich werde die Homepage von Facebook zu sehen, wie diese. Aber dann andere Dinge scheinen Bruch zu sein. Was ist wohl an dieser Stelle brechen? PUBLIKUM: JavaScript. DAVID J. MALAN: Wie die JavaScripts und / oder CSS Dateien sind ähnlich Begegnung mit diesen Fehler. Also das ist nur eine schlechte Situation insgesamt. Aber der Punkt ist hier, dass zumindest Facebook hat in der Tat SSL aktiviert für ihre Server, wie viele Websites, , aber nicht notwendigerweise alle. Aber das ist nicht allein das Essen zum Mitnehmen hier. Es stellte sich heraus, dass auch SSL wurde gezeigt, unsicher in irgendeiner Weise zu sein. Also ich bin Art deutete an, dass SSL, gut. Geben Sie für HTTPS-URLs, und das Leben ist gut, weil alle Ihre HTTP-Datenverkehr und Header und Inhalt ist verschlüsselt. Niemand kann sie in das abfangen Mitte, mit Ausnahme eines sogenannten Mann mitten drin. Dies ist eine allgemeine Technik in der Welt der Sicherheit bekannt als Man-in-the-Middle-Angriff. Angenommen, Sie haben diese kleine bist Laptop über hier auf der linken Seite, und nehme an, Sie versuchen, zu besuchen sind ein Server dort rechts wie facebook.com. Aber nehmen wir an, dass in zwischen Ihnen und Facebook, ist eine ganze Reihe von anderen Servern und Ausrüstung, wie Switches und Router, DNS-Server, DHCP-Server, keiner von denen wir steuern. Es könnte von Starbucks gesteuert werden oder Harvard oder Comcast oder dergleichen. Nun, angenommen, dass jemand böswillig, in Ihrem Netzwerk, in zwischen Ihnen und Facebook, ist in der Lage, Ihnen zu sagen dass, weißt du was, die IP-Adresse Facebook ist nicht das, was Sie denken, es ist. Es ist diese IP statt. Und so Ihrem Browser ist in anfordernden ausgetrickst Verkehr von einem anderen Computer überhaupt. Nun wird angenommen, dass Computer sieht einfach überhaupt der Verkehr Sie von der Beantragung sind Facebook und alle Web-Seiten dass Sie von Facebook anfordert bist. Und jedes Mal, es in Ihrem Verkehr sieht eine URL, die mit https beginnt, sie dynamisch auf die Fliegen, schreibt es als HTTP. Und jedes Mal, es einen Ort sieht Header, Standort Dickdarm, wie wir verwenden, um umzuleiten der Benutzer auch diejenigen, kann von diesem Mann in geändert werden das mittlere von HTTPS auf HTTP. Also auch wenn Sie sich vielleicht denken, dass Sie bei der realen Facebook sind, es ist nicht so schwer für ein Gegner mit physischem Zugang zu Ihrem Netzwerk einfach Rückseiten für Sie, dass aussehen wie Gmail, dass aussehen wie Facebook, und in der Tat die URL identisch, weil sie vorgibt, dass gleichen Hostnamen haben wegen einer Ausbeutung von DNS oder eine andere System so. Und das Ergebnis ist dann dass wir Menschen vielleicht nur erkennen, dass, OK, das sieht aus wie Gmail oder zumindest die ältere Version, wie ist diese Folie aus eine ältere Präsentation. Aber es sieht aus wie this-- http://www.google.com. Also auch hier die Realität ist, dass, wie viele von Ihnen, wenn Sie auf Facebook oder Google Mail oder jeder gehen Website und Sie ein wenig etwas wissen über SSL, wie viele von euch körperlich https: // und dann die Website Name geben. Die meisten von uns geben Sie einfach, wie, CS50, Enter drücken, oder F-A für Facebook und drücken Sie die Eingabetaste, und lassen Sie es die automatische Vervollständigung. Doch hinter den Kulissen, wenn Sie beobachten Ihren HTTP-Datenverkehr, gibt es wahrscheinlich eine ganze Reihe jener Ort Header dass Sie von senden Facebook www.facebook.com um https://www.facebook.com. Also das ist, einen oder mehrere HTTP-Transaktionen wo Sie Ihre Informationen vollständig im Klartext gesendet, kein Verschlüsselung auch immer. Nun, das nicht so eine große sein könnte beschäftigen, wenn alles, was Sie zu tun versuchen wird Zugriff auf die Homepage, du bist nicht Senden Sie Ihren Benutzernamen und Ihr Passwort ein. Aber was ist es unter die Haube, vor allem für PHP-basierte Websites, die auch ist hin und her, wenn geschickt Sie einige Webseite, wenn besuchen dass Website benutzt, sagen wir, PHP und implementiert Funktionen wie pset7? Was wurde hin und her geschickt in Ihrer HTTP-Header, die du gabst Zugang zu diesem hübschen nützlich in PHP Super global? PUBLIKUM: Plätzchen. DAVID J. MALAN: Plätzchen, speziell der PHP Sess-ID-Cookie. So erinnern, wenn wir gehen, um, sagen wir, cs50.harvard.edu wieder aber dieses Mal wollen wir eröffnen das Registerkarte Netzwerk, und jetzt, hier oben, wir buchstäblich nur gehen um http://cs50.harvard.edu und dann drücken Sie Enter. Und dann auf den Bildschirm schauen hier unten. Beachten Sie, dass wir in der Tat bekam zurück eine 301 bewegt dauerhaft Nachricht, was bedeutet, gibt es eine Location-Header hier Welches ist nun die Umleitung mich zu HTTPS. Aber der Haken ist, dass, wenn ich schon ein Cookie auf meiner Hand gestempelt praktisch, Wie wir bereits besprochen und Ich die menschliche Art unwissentlich besuchen Sie einfach die unsicher Version, und mein Browser dauert es auf sich selbst, um diese Hand Stempel für zeigen die erste Anforderung, die über HTTP ist, jeder Mann in der Mitte, einem Gegner in der Mitte, kann theoretisch nur sehen diese HTTP-Header, nur wie wir auf sie schauen hier. Es ist nur einmal bist du Gespräch mit einem HTTPS URL bedeutet das Handstempel selbst zu bekommen verschlüsselt, a la Caesar oder Vigenere, aber mit einem Züchter Algorithmus überhaupt. So auch hier, auch wenn Websites verwenden HTTPS, wir Menschen wurden konditioniert, danke für die automatische Vervollständigung und andere Techniken, um nicht einmal darüber nachdenken, die möglichen Auswirkungen. Nun, es gibt Möglichkeiten, dies zu umgehen. Zum Beispiel sind viele Websites können so konfiguriert werden so dass, sobald Sie diese Hand haben Stempel können Sie dem Browser mitteilen, Dieser Handstempel ist nur für SSL-Verbindungen. Der Browser sollte nicht präsentieren es mir, es sei denn, es ist über SSL. Aber viele Websites nicht mit, dass die Mühe. Und viele Websites offenbar nicht einmal mit SSL gestört. Also für mehr dazu, es gibt tatsächlich noch mehr Schmutz in dieser Präsentation dass ein Mitarbeiter an einer sogenannten schwarzen gab Hat-Konferenz ein paar Jahren, wo es auch andere bösartigen Tricks Menschen benutzt haben. Man könnte diesem Rückruf Begriff ein Favicon ist wie ein kleines Logo, das ist oft im Fenster des Browsers. Nun, was ist schon verbreitet unter bösen Jungs ist um fab Symbole, wie das, was aussehen lassen? PUBLIKUM: [unverständlich]. DAVID J. MALAN: Sagen Sie wieder? PUBLIKUM: Die Webseiten. DAVID J. MALAN: keine Website. So Favicon winzig kleine Symbol. Was wäre das Beste sein bösartige, manipulative Sache Sie machen Ihre Website könnte Standardsymbol aussehen? PUBLIKUM: Ein grünes Schloss. DAVID J. MALAN: Was ist das? PUBLIKUM: Ein kleiner grüner Schloss. DAVID J. MALAN: Wie ein grünes Schloss, genau. So können Sie diese Ästhetik haben können eines kleinen grünen Vorhängeschloss, anspielend auf die Welt, oh, wir sind zu sichern, wenn wieder alle es bedeutet ist, dass Sie einige HTML-Kenntnisse. So Session Hijacking bezieht sich auf genau das. Wenn Sie jemanden haben, der Art ist Sniffing den Äther in diesem Raum hier oder physischen Zugriff auf ein Netzwerk und kann Ihre Cookies sehen kann er oder sie, dass greifen PHP Sess-ID-Cookie. Und dann, wenn sie klug genug zu wissen, wie man das Cookie als ihre eigenen zu senden Handstempel nur durch Kopieren diesen Wert und Senden der HTTP-Header, jemand könnte sehr leicht loggen Sie sich in einem der Facebook Konten oder Google Mail-Konten oder Twitter-Accounts, die hier sind, offen in den Raum, wenn Sie nicht mit SSL und wenn die Website ist nicht richtig mit SSL. Lassen Sie uns also Übergang zu einer anderen. Also eine weitere wahre Geschichte. Und dies gerade in der brach Nachrichten ein oder zwei Wochen vor. Verizon getan hat eine sehr böse Sache, und wie am besten Leute können sagen, Seit mindestens 2012, wobei, Beim Zugriff auf Websites über einen Verizon Handy, was Hersteller ist es, sie anmaßend gewesen, Wie geht die Geschichte, Injektion in alle Ihre HTTP Verkehrs eigenen HTTP-Header. Und das Header sieht wie this-- X-UIDH. UID ist wie ein einzigartiges Bezeichner oder Benutzer-ID. Und X bedeutet nur, das ist eine individuelle header das ist nicht Standard. Aber was das bedeutet ist, dass, wenn ich nach oben ziehen, zum Beispiel, jede Website auf meinem Handy hier-- und ich bin mit Verizon als meine carrier-- obwohl mein Browser möglicherweise nicht entsenden diese HTTP header, Verizon, sobald als das Signal ihrer erreicht Handy-Turm irgendwo, ist seit einiger Zeit der Injektion dieses gewesen header in allen unseren HTTP-Datenverkehr. Warum tun sie das? Vermutlich für die Verfolgung von Gründen für Werbe Gründen. Aber der debilen Design-Entscheidung hierbei ist, dass ein HTTP-Header, wie Sie Jungs aus pset6 wissen, wird von jedem Web-Server empfangen dass Sie Ihr Interesse an Verkehr. Also die ganze Zeit, wenn du hast Besuch Facebook oder Google Mail oder eine Website dass kein SSL ganze Zeit-- und tatsächlich, jene zwei zum Glück jetzt do-- aber auch andere Websites, die kein SSL verwenden die ganze Zeit, Verizon hat im Wesentlichen pflanzt, zwangsweise, Handstempel auf allen unseren Hände, die auch wir nicht sehen, sondern tun die Ende Webseiten. Und so ist es nicht so gewesen hart für jeden im Internet einen Web-Server auf realisieren, ooh, das ist David, oder, ooh, ist dies Davin, auch wenn wir rigorosen über räumen unser Plätzchen, weil es nicht von uns kommen. Es ist von dem Träger kommen. Sie machen einen Lookup auf Ihre Telefonnummer und dann sagen, oh, das ist David. Lassen Sie mich zu injizieren eine eindeutige Kennung, so dass unsere Werbekunden oder wer kann verfolgen diese. Also das ist eigentlich sehr, sehr, sehr schlecht und erschreckend. Und ich möchte Sie ermutigen Schauen Sie, zum Beispiel, unter dieser URL, die ich lehnen sollte Ich tatsächlich versucht dies an diesem Morgen. Ich schrieb ein kleines Skript, legte es unter dieser URL, besucht es mit meinen eigenen Verizon Cellphone nach dem Einschalten Wi-Fi weg. So müssen Sie die Wi-Fi ausgeschaltet, so dass Sie 3G oder LTE oder dergleichen sind. Und dann, wenn Sie besuchen Diese URL, all das Skript tut für euch, wenn Sie möchten, spielen, wird es ausspuckt, was HTTP-Header Ihr Telefon an unseren Server gesendet. Und ich eigentlich, in Fairness, tat das nicht an diesem Morgen, sehen die lässt mich denken, entweder die lokale Handy-Turm wurde ich verbunden oder Dingsbums macht es nicht, oder sie haben zog sich, dies zu tun vorübergehend. Aber für weitere Informationen, auf diese URL Kopf hier. Und nun, dies this-- Comic könnte Sinn machen. Nein? Ok. In Ordnung. Das gestorben. In Ordnung. Werfen wir also einen Blick auf ein paar mehr Angriffe, wenn auch nur die Sensibilisierung und dann bieten ein paar mögliche Lösungen so dass Sie umso mehr bewusst sind. Dieses wir über die anderen gesprochen Tag, aber nicht einen Namen zu geben, um es. Es ist ein Cross-Site Request Forgery, die ist ein übermäßig andere Art zu sagen Sie einen Benutzer zum Klicken auf Trick eine URL wie diese, die ihnen Tricks in einige Verhaltensweisen, sie habe nicht die Absicht. In diesem Fall scheint zu versuchen, mich zu betrügen in Verkauf meiner Anteile an Google. Und das wird, wenn erfolgreich I, der Programmierer pset7, haben nicht getan, was? Oder besser gesagt, ganz allgemein, in dem, was Fällen bin ich anfällig für einen Angriff wenn jemand Tricks ein anderer Benutzer zum Klicken auf einen URL wie diese? Ja? PUBLIKUM: Sie müssen nicht zu unterscheiden zwischen GET und POST. DAVID J. MALAN: Gut. Wenn wir nicht zu unterscheiden zwischen GET und POST, und in der Tat, wenn wir zulassen, GET für den Verkauf von Dingen, laden wir diese Art von Angriff. Aber wir konnten noch mildern etwas. Und ich sagte: Ich glaube, letzte Woche, dass Amazon zumindest versucht, diese mit einer Technik zu mildern das ist ziemlich einfach. Was wäre eine gute Idee zu tun auf Ihrem Server, anstatt nur blind verkaufen was auch immer Symbol der Benutzer in? PUBLIKUM: Bestätigung der möglichen? DAVID J. MALAN: Ein Bestätigungsbildschirm, etwas mit menschlicher Interaktion so dass ich gezwungen machen das Urteil nennen, auch wenn ich naiv angeklickt ein Link, der wie folgt aussieht und führte mich in die Zelle Bildschirm an wenigstens hat mich gebeten, zu bestätigen oder zu leugnen. Aber kein ungewöhnlicher Angriff, vor allem in so genannten Phishing oder Spam-like Anschläge. Jetzt ist dieses ein wenig subtiler. Dies ist eine Cross-Site-Scripting-Angriff. Und das passiert, wenn Ihr Website ist nicht mit das Äquivalent von htmlspecialchars. Und es nimmt Benutzereingaben und einfach blind Injektion in einer Web-Seite, als mit Druck oder Echo, with-- again-- etwas heraus telefonieren wie htmlspecialchars. So nehme die Website in Frage ist vulnerable.com. Und angenommen, es übernimmt ein Parameter namens q. Schauen Sie, was passieren könnte, wenn ich eigentlich ein schlechter Kerl, geben oder Trick einen Benutzer Besuch einer URL, die wie this-- sieht q = offene Skript-Tag, geschlossen script-Tag. Und weiter: Ich gehe davon aus, dass vulnerable.com nicht geht gefährlich zu drehen Charaktere wie offenen Klammern in HTML-Entitäten, die Et-Zeichen, L-T, Semikolon Sache dass Sie vielleicht gesehen haben. Aber was ist das Skript oder JavaScript-Code Ich versuche, ein Trick Benutzer in der Ausführung? Nun, bezieht document.location um aktuelle Adresse meines Browsers. Also, wenn ich tun document.location =, Dies ermöglicht es mir, um den Benutzer umleiten in JavaScript zu einer anderen Website. Es ist wie unsere PHP-Funktion umzuleiten, aber in JavaScript getan. Wo bin ich versucht, den Benutzer zu senden? Nun, es scheint, badguy.com/log.php, denen einige Skript ist, offenbar, der Bösewicht schrieb, das dauert ein Parameter namens Cookie. Und beachtet, was muss ich scheinen Verketten auf das Ende dieses Gleichheitszeichen? Nun, etwas, das sagt document.cookie. Wir haben noch nicht darüber gesprochen. Aber es stellt sich heraus, in JavaScript, genau wie in PHP, Sie alle Cookies zugreifen dass Ihr Browser ist eigentlich mit. So dass die Wirkung dieses einen Codezeile, wenn ein Benutzer wird in diesem Link ausgetrickst und die Website vulnerable.com nicht entkommen sie mit htmlspecialchars, ist, dass Sie nur effektiv haben hochgeladen, um alle Ihre Cookies log.php. Und das ist nicht immer so problematisch, es sei denn, einer jener Cookies ist Ihre Session-ID, Ihr sogenannten Handstempel, die bedeutet badguy.com kann seinen eigenen zu machen HTTP-Anfragen, Senden dieser gleichen Hand Stempel, dass dieselbe Cookie-Header, und melden Sie sich unabhängig von Website Sie waren zu Besuch, die in dieser Fall ist vulnerable.com. Es ist eine Cross-Site-Scripting Angriff im Sinne dass Sie Art von Täuschung einer Website in Erzählen eine weitere Website über einige Informationen es sollte in der Tat nicht, Zugriff haben. In Ordnung, bereit für ein andere beunruhigend Detail? Alles klar, die Welt ist ein beängstigender Ort, rechtmäßig so. Hier ist eine einfache JavaScript-Beispiel, das ist in der heutigen Quellcode genannt Geolocation 0 und 1. Und es gibt ein paar Komplettlösungen Online für diese. Und es sieht folgendes, wenn ich öffnen dieser Web-Seite in Chrome. Es tut zunächst nichts. OK, wir werden dies noch einmal zu versuchen. Oh. Nein, es sollte etwas tun. OK, stehen. Lassen Sie uns versuchen, diese noch einmal. [Unverständlich] Ah, OK, nicht sicher, warum the-- oh, das Gerät wahrscheinlich Internet verloren Zugang aus irgendeinem Grund. Alles klar, so passiert mir auch. Alles klar, so Bekanntmachung was ist denn hier los. Diese kryptische aussehende URL, die ist nur eine der CS50-Server, will meinen Computer verwenden Lage, wie physisch bedeutet es. Und wenn, ja, klicken Sie auf I auf Lassen Sie, lassen Sie uns sehen, was passiert. Offenbar ist dies meine aktuelle Breite und Längskoordinaten unten auf eine verdammt gute Auflösung. Wie kam ich auf diese? Wie funktioniert diese Website, wie CS50-Server, weiß physikalisch überall auf der Welt Ich bin, geschweige denn mit dieser Präzision. Nun stellt out-- uns einfach lassen Schauen Sie sich die Seite des source-- dass hier ist ein Bündel von HTML an der Boden, die erste hat this-- body onload = "geolocate" - nur eine Funktion, die ich geschrieben habe. Und ich sage, zum Einlegen die Seite, rufen Geolokalisieren. Und dann gibt es nichts in den Körper, da im Kopf der Seite, bemerken, was ich hier habe. Hier ist meine Geolokalisieren Funktion. Und das ist nur ein Fehler checking-- wenn der Typ des navigator.geolocation ist nicht definiert. So JavaScript hat diese Mechanismus, in dem Sie kann sagen, was ist der Typ dieser Variable? Und wenn es nicht undefined-- das bedeutet, es ist etwas value-- Ich werde rufen navigator.geolocation.getCurrentPosition und dann Rückruf. Was ist das? Also in der Regel, was ist ein Rückruf, nur klar zu sein? Möglicherweise begegnet dies bereits in pset8. Rückruf ist eine generische Begriff für das, was? Fühlt nur mir heute. PUBLIKUM: [unverständlich]. DAVID J. MALAN: Genau, Eine Funktion, die sollte nur aufgerufen werden, wenn wir Daten haben. Dieser Aufruf an den Browser, meine aktuellen Position, vielleicht eine Millisekunde dauern, es eine Minute dauern kann. Was dies bedeutet, ist, dass wir sagen, Das GET getCurrentPosition Verfahren, nennen diese Callback-Funktion, die ich wörtlich benannt Rückruf der Einfachheit halber, die anscheinend ist diese hier. Und der Weg getCurrentPosition arbeitet, einfach durch Lesen der Dokumentation für einige JavaScript-Code online, ist dass es fordert, dass so genannte Callback Funktion, übergibt es in es ist ein JavaScript-Objekt, innerhalb dessen ist .coords.latitude und .coords.longitude, das ist genau das, wie, dann, wenn ich diese Seite neu geladen wird, Ich konnte meine Position hier zu sehen. Nun, zumindest gab es eine Verteidigung hier. Bevor ich besucht diese Seite, wenn es tatsächlich funktioniert, was wollte ich zumindest für aufgefordert? PUBLIKUM: [unverständlich]. DAVID J. MALAN: Ja oder NO- tun Sie zulassen oder ablehnen wollen? Aber denken Sie auch über die Gewohnheiten euch haben wahrscheinlich angenommen, sowohl auf Ihrem Telefon und Ihrem Browser. Viele von uns, mich selbst enthalten, sind wahrscheinlich ziemlich prädisponiert diese days-- Sie ein Pop-up, geben Sie einfach, OK, genehmigen, Zulassen. Und immer, Sie setzen können selbst in Gefahr aus diesen Gründen. Also in der Tat, es war diese wunderbare bug ein paar Jahren ago-- oder mangelnde feature-- iTunes vor einigen Jahren, wobei, wenn Sie ein Handy hatten, und es war ein iPhone, und Sie Ihr Haus verlassen und damit um die Welt gereist oder die Nachbarschaft, die ganze Zeit, Ihr Telefon wurde Anmeldung wo Sie sind via GPS. Und dies ist tatsächlich offenbart, und Menschen, Art erwarten, dass diese jetzt. Das Telefon weiß, wo Sie sind. Aber das Problem, dass, wenn Sie Sichern wurden Ihr Telefon iTunes-- das war vor die Tage der iCloud, die für eine bessere ist oder worse-- die Daten, die gespeichert wurde, in iTunes, komplett unverschlüsselt. Also, wenn Sie eine Familie oder Mitbewohner haben oder ein böswilliger Nachbar, der ist neugierig buchstäblich jedem GPS koordinieren Sie jemals gewesen zu sein, er oder sie konnte es einfach setze mich an iTunes, laufen Einige Programme, die frei war zur Verfügung und produzieren Karten wie diese. In der Tat ist das, was ich meiner eigenen Telefon produziert. Ich steckte es ein. Und wie es aussieht, basiert auf die blauen Punkte gibt, das ist, wo die meisten die GPS-Koordinaten waren von iTunes angemeldet, dass ich war im Nordosten gibt. Aber ich anscheinend rund gereist etwas, auch innerhalb Massachusetts. Also das ist, Boston Harbor da auf der rechten Seite. Das ist irgendwie Cambridge und Boston, wo es am dunkelsten. Und gelegentlich, würde ich laufen Besorgungen großer Geographie. Aber iTunes, seit Jahren hatte, wie am besten Ich könnte sagen, alle diese Daten auf mich. Man könnte sagen, dass, in diesem Jahr, eigentlich war ich viel unterwegs zwischen Boston und New York hin und her und hin und her. Und in der Tat, das ist mir auf Amtrak, zurück und her, hin und her, ein ganzes Stück. All das wurde protokolliert und gelagert auf meinem Computer verschlüsselt für alle, die haben könnte Zugang zu meinem Computer. Das war besorgniserregend. Ich wusste nicht, warum ich in Pennsylvania oder warum Mein Telefon wurde in Pennsylvania, offenbar ziemlich dicht. Und dann, endlich, schaute ich an meinem Gcal und, oh, ich besucht CMU, Carnegie Mellon, zu der Zeit. Und puh, diese Art von erklärte, dass Blip. Und dann, wenn man heran aus weiter, können Sie sehe ich besucht San Francisco ein oder mehrere Male dann, und ich hatte sogar einen Zwischenstopp in dem, was Ich denke, ist Vegas, da unten. Also alle this-- nur Zwischenstopp am Flughafen. PUBLIKUM: [Gelächter] Das ist also nur zu sagen, dass diese Probleme, ehrlich gesagt, sind allgegenwärtig. Und es fühlt sich nur zunehmend wie es mehr und mehr davon offengelegt, Das ist wahrscheinlich eine gute Sache. Ich wage zu behaupten, die Welt ist nicht immer schlimmer bei Schreibsoftware. Wir sind immer besser, hoffentlich bei Bemerken wie schlecht bestimmte Software ist, dass wir mit. Und Gott sei Dank, einige Unternehmen beginnen verantwortlich für diese gehalten werden. Aber welche Arten von Verteidigungsanlagen können Sie im Sinn haben? So außer Passwort-Manager, wie 1Password und Lastpass und andere, neben nur, wenn Sie Ihre Passwörter und kommen mit Zufalls Einsen mit Software wie dass Sie auch versuchen können so gut Sie können, um zu verschlüsseln alle Ihre Verkehrs mindestens schmal der Bereich der Bedrohung. So zum Beispiel, als Harvard verbundenen Unternehmen, Sie alle gehen zu vpn.harvard.edu und melden Sie sich mit Ihrem Harvard-ID und PIN. Und das wird eine sichere etablieren Verbindung zwischen Ihnen und Harvard. Nun, das tut nicht unbedingt schützen gegen alle Bedrohungen, die dazwischen sind Harvard und Facebook oder Harvard und Gmail. Aber wenn Sie sitzen in einem Flughafen oder du bist sitzt im Starbucks oder du bist sitzt am Ort eines Freundes, und Sie müssen nicht wirklich vertrauen ihnen oder ihren Konfiguration ihrer Heim-Router, Sie zumindest glaubhaft machen kann eine sichere Verbindung an ein Unternehmen wie dieses Hotel, dass ist wahrscheinlich ein wenig besser gesichert als so etwas wie ein Bucks oder dergleichen. Und was das bedeutet ist es feststellt, wieder, Verschlüsselung zwischen Ihnen und dem Endpunkt. Auch Züchter sind Dinge wie diese. Also einige von euch vielleicht schon sein mit Tor vertraut, Das ist diese Art der Anonymisierung Netzwerk, wobei viele Leute, wenn sie diese Software ausführen, route anschließend ihre Internet Verkehr durch einander. Also die kürzeste Punkt ist nicht mehr zwischen A und B. Aber es könnte der ganzen sein statt, so dass Sie im Grunde sind Abdecken eigenen Tracks und verlassen weniger ein Rekord, wo Sie Ihre HTTP Verkehr kam, denn es wird durch eine ganze Reihe von anderen Volks Laptops oder Desktops, zum Guten oder zum Schlechten. Aber auch dies ist nicht eine todsichere Sache. Einige von euch haben vielleicht im letzten Jahr erinnern die Bombendrohung, die in genannt wurde. Und es war letztlich ein zurückverfolgt Benutzer, der hier dieses Netzwerk benutzt hatte. Und der Haken dort, wie ich mich erinnere, ist, wenn es nicht so viele andere Leute Verwendung einer Software wie diese oder mit diesen Port und Protokoll, es ist nicht so schwer, für ein Netzwerk, um auch herauszufinden, wer, mit einiger Wahrscheinlichkeit, war in der Tat Anonymisierungs seine Verkehr. Und ich weiß nicht, ob das waren die tatsächlichen Angaben in Frage. Aber sicherlich, zu realisieren, dass keine der diese sind absolut sichere Lösungen sowie. Und das Ziel heute hier ist, um mindestens erhalten Sie über diese Dinge nachzudenken und kommen mit Techniken zur verteidigen Sie sich gegen sie. Irgendwelche Fragen zu all den Bedrohungen die Sie erwarten gibt, und hier? Ja? PUBLIKUM: Wie sicher tun erwarten wir die durchschnittliche [? Website zu sein,?] wie die durchschnittliche CS50 Projekt? DAVID J. MALAN: Der durchschnittliche CS50 Projekt? Es ist immer jedes Jahr bewiesen, dass einige CS50 letzten Projekte sind nicht besonders sicher. Normalerweise ist es einige Mitbewohner oder hallmate dass Zahlen this out durch Senden von Anforderungen an Ihr Projekt. Short answer-- wie viele Webseiten sind sicher? Ich empfange heute Anomalien. Wie war es nur Zufall dass ich erkannte, dass diese Website Ich habe die Bestellung diese offen köstliche Arrangements from-- und ich bin nicht sicher, ich werde aufhören, ihre Website; Ich könnte nur ändern meine Kennwort mehr regularly-- Es ist nicht klar, wie anfällig alle diese various-- dies ist mit Schokolade überzogene tatsächlich. Die kurze Antwort, kann ich nicht beantworten, effektiv, außer, es zu sagen war nicht so schwer für mich, finden einige dieser Beispiele nur aus Gründen der Diskussion in der Vorlesung. Und genau im Auge zu behalten Google News und anderen Ressourcen wird umso mehr von bringen diese Dinge ans Licht. Alles klar, lass uns Schluss mit diesem Prequel dass CS50 Team hat für Sie vorbereitet in Erwartung der CS50 Hackathon. Und auf dem Weg in eine Moment wird Obst serviert werden. [VIDEO PLAYBACK] [MUSIC Fergie, Q-Tipp und GoonRock, "A LITTLE PARTY tötete nie NIEMAND (ALL WE GOT) "] - [SNORING] [END VIDEO PLAYBACK] DAVID J. MALAN: Das war es für CS50. Registrieren Sie sich am Mittwoch zu sehen. [MUSIK - Skrillex "IMMA" Probieren Sie es aus "]