DAVID J. MALAN: Dit is CS50, en dit is het begin van week 10. U herinnert zich misschien dat we hebben laten zien op het scherm een ​​3D printer, die is dit apparaat dat neemt spoelen van plastic en extrudeert vervolgens door verwarmen up en smelten het zo dat we kunnen dan vormen Chang's leger van olifanten, bijvoorbeeld. 

Dus op Leverett House, hoewel, onlangs, ik zat te kletsen met een van uw klasgenoten en een vriend van Chang's genaamd Michelle, die eigenlijk geïnterneerd op deze ander bedrijf het afgelopen jaar dat een andere techniek voor het daadwerkelijk het creëren van driedimensionale objecten, zoals dit kleine olifantje hier. In het bijzonder, hoe deze werkt is dat het een voorbeeld van iets genoemd stereolithografie, waarbij er is dit bekken van hars of vloeistof, en dan een laser slaat dat vloeistof, en geleidelijk, het apparaat liften en liften en tilt het ding dat u afdrukt, zoals een olifant, als vloeibaar vast wordt. En het resultaat, eigenlijk, is iets dat veel robuuster dan sommige van de plastic giveaways sommigen van jullie zou kunnen hebben. 

En wat Chang vriendelijk deed voor ons hier was deed een time-lapse hand van foto's in de loop van een uur of meer, waarschijnlijk, om deze man hier produceren. Zou iemand die nooit is gekomen vóór graag komen hit Start op deze video? Laat me gaan met, hoe zit het daar. Come on up. Prima. En jij bent? LUKAS: Mijn naam is Luke [onverstaanbaar]. DAVID J. MALAN: Hoi, Luke. Leuk u te ontmoeten. 

LUKAS: Leuk je te ontmoeten. PUBLIEK: Hij loopt voor UC. 

DAVID J. MALAN: Ik weet het, we proberen niet te bevorderen. Oké, dus Luke, alle je hoeft te doen hier in CS50 wordt druk op de spatiebalk om deze olifant af te drukken. [VIDEO AFSPELEN] - [MACHINE zoemend] - [CRASH] - [BOOM] - [CRASH] [END VIDEO AFSPELEN] DAVID J. MALAN: Dus dat is precies hoe het is om 3D-print. En hier is uw olifant. Bedankt voor het vrijwilligerswerk. Prima. Dus nogmaals, volgens de specificatie voor het afstudeerproject, deze hardware dat is beschikbaar voor jullie is een of andere reden, uw project heeft enkele kruising van software en hardware, beseffen dat deze zijn nu middelen. 

Ik wilde een moment te nemen om te raken upon a Crimson artikel dat kwam gisteravond laat, dat was om kondigen dat deze man hier, David Johnson, die is de senior geweest leermeester voor Ec 10 voor geruime tijd, verlaat Harvard in de einde van het academiejaar. En ik wilde gewoon neem een ​​moment, eerlijk gezegd, David bedanken voor CS50. Hij is een mentor van soorten om ons door de jaren heen. 

En ik het gevoel dat we, CS50, hebben plaats opgegroeid met Ec 10 in hier, omdat ze vlak voor ons. En hij en het hele team in Ec 10 heeft geweest heerlijk gracieuze, eerlijk gezegd, zoals we sjouwen al onze apparatuur elke week, en jaren geleden, zorgde voor een sterke van de raadsman als we waren benieuwd hoe ze Ec 10 bedienen. Dus onze dank en bewondering voor David Johnson. 

[Applaus] 

Nu, unrelatedly, dus het einde is inderdaad in de buurt. Wij zijn hier in week 10. En we hebben nog maar net een paar formele weken hier in klasse linker, gevolgd door een paar gebeurtenissen. Dus om je een gevoel van wat is te geven aan de horizon, hier zijn we vandaag. 

Deze woensdag, recall, we zullen een gastcollege hebben door niemand minder dan Microsoft's eigen Steve Ballmer. Als u nog niet bent gegaan naar cs50.harvard.edu/register, doen, aangezien ruimte beperkt. En zij zullen het controleren Id's aan de deur op de dag. Als je hier niet vorige week, ik dacht dat ik zou plagen je met een ander uiterlijk bij Steve en de opwinding die wacht ons op woensdag. 

[VIDEO AFSPELEN] 

-Passion. 

-We Gaan hardcore-- hardcore zijn. 

-Innovator. 

-Bill Zei, je snapt het niet. We gaan naar een zet computer op elk bureau en in elk huis, dat werd het motto van het bedrijf. Ik zweer het, Bill uitgevonden die nacht voor mij echt geven een aantal van de visie van waarom moet ik zeggen ja. Ik heb nooit meer achterom gekeken, echt, na dat. 

-Verse Van de universiteit, hij aangesloten bij een prille startup en hielp het uitgroeien tot een van Amerika's meest succesvolle bedrijven ooit. Het leven van en het bedrijfsleven geleerde lessen langs de weg laat hem terug naar zijn passie jeugd en liefde. En die ervaringen hebben voorbereid hem voor zijn volgende uitdaging in het leven. 

-niets Krijgt in onze way-- boem! Blijven komen hardcore! Ga Clippers! 

-Dit Is Steve Ballmer, "In My Own Words '. [END VIDEO AFSPELEN] DAVID J. MALAN: --deze Woensdag tot en CS50. Hoofd weer naar deze URL hier. Zoals voor wat anders is aan de horizon, volgende week, geen lezing op maandag. Maar we zullen na die door quiz één op woensdag. Ga naar CS50's homepage voor meer informatie over mensen, plaatsen en tijden voor alle verschillende proctoring logistiek en dergelijke, evenals over beoordeling sessies die aanstaande zijn. En dan, tot slot, op maandag, de dag vóór de week van Thanksgiving break, realiseren zal het onze laatste lezing zijn. We zullen taart en een grote dienst deal van opwinding, hopen we. 

Nu, een paar andere updates. Houd in gedachten dat de status rapport, dat is eigenlijk gewoon bedoeld om een ​​toevallige wisselwerking met uw TF om trots zeggen gewoon hoever met afstudeerproject je bent, of op zijn minst als een sanity controleer of je moet benaderen dat wijzen kort daarna. De Hackathon volgt dan dat. Realiseer de Hackathon geen kans om uw uiteindelijke project te starten, maar is bedoeld als een kans om in het midden van of naar het einde van je afstudeerproject, met de uitvoering als gevolg van een paar dagen later gevolgd door de CS50 beurs. 

Nu, productie CS50's team, een paar jaar geleden, samen een teaser voor de CS50 eerlijk dat we dacht dat we je zou laten zien vandaag, omdat ze hard aan het werk geweest een prequel voor dat een nieuwe video dat we vandaag zullen sluiten met. Maar hier is wat je te wachten staat voor dit jaar de CS50 fair. [VIDEO AFSPELEN] - [CELL telefoon rinkelen] [MUZIEK "Theme From Mission: Impossible"] [END VIDEO AFSPELEN] DAVID J. MALAN: Dus dat is precies hoe we sluiten afstudeerproject inzendingen. Een paar nu teasers-- indien u wilt Nick hier mee voor de lunch, zoals gebruikelijk, dit Vrijdag, ga naar deze URL hier. Bovendien, als je zou willen Nick of deze Nick meedoen of dit Allison of enige leden van CS50's team, beseffen dat, kort na afloop termijn's, CS50 wordt reeds werven voor het team van volgend jaar, voor CA's, TFS, ontwerpers, producenten, onderzoekers en andere posities die hier werken CS50 zowel in voor en achter de schermen. Dus als dit van belang zou kunnen zijn aan u, het hoofd naar deze URL hier. En studenten comfortabeler, minder comfortabel en ergens tussen alike zijn allemaal welkom en aangemoedigd om te solliciteren. 

Dus het was een perfecte timing dat, geen grap, deze morgen, toen ik wakker werd, Ik had dit hier spam in mijn inbox. Het eigenlijk gleed door middel van Gmail spamfilter een of andere manier en belandde in mijn werkelijke inbox. En het zegt: "Lieve mailbox gebruiker, je bent op dit moment opgewaardeerd tot 4 gigabyte aan ruimte. Log in op uw account teneinde E-space valideren. " 

En dan is er nog dit mooie blauwe verleidelijke koppeling er aan te klikken voor docenten en personeel, die vervolgens leidde me om een ​​heerlijk legitieme pagina, die vroeg me om hen mijn naam te geven en emailadres en, natuurlijk, wachtwoord te valideren wie ik ben, enzovoort. Maar natuurlijk, zoals altijd het geval is, u aankomt op deze landing page, en natuurlijk is er ten minste een typo, die lijkt op de nagel in zijn de kist van een van deze oplichting. En we zullen posten, misschien, een aantal andere links naar dit soort screen shots in de toekomst. Maar hopelijk, de meeste mensen in deze kamer zijn niet clicked-- of zelfs als je hebt geklikt dergelijke links als dit, je hebt niet zo ver gegaan om invullen van deze formulieren, enzovoort. Sterker nog, het is OK als je hebt. We zullen proberen om dat vandaag te repareren, omdat, inderdaad, het gesprek van vandaag is over beveiliging. 

En inderdaad, een van de doelen van de CS50 is niet zo veel om je te leren CE of PHP of JavaScript of SQL of een van deze onderliggende implementatie details. Maar het is aan u te machtigen als mens om gewoon betere beslissingen te nemen als het heeft betrekking op technologie beneden de weg zodat, of je nu een ingenieur of humanistische of wetenschapper of andere rol, u het maken van geïnformeerde beslissingen over je eigen computer gebruik, of als je in een besluitvormende positie, in de politiek, in het bijzonder, je maakt veel, veel betere beslissingen dan een Veel mensen huidige. En we zullen dit doen door middel van enkele voorbeelden. 

Eerst was ik nogal verbaasd onlangs aan het volgende te ontdekken. Dus wachtwoorden, natuurlijk zijn wat de meeste van ons gebruiken om onze data-- email beschermen, chatten, en allerlei middelen als dat. En net door een awkward-- niet tonen van handen, maar beschaamd looks van schaamte, hoeveel van jullie gebruiken hetzelfde wachtwoord in een heleboel verschillende websites? 

Oh, OK, dus we zullen de handen doen. OK, dus veel van wat je doet. Iedereen die dit doet, maar waarom? En wat? Yeah? Publiek: Het is makkelijk te onthouden, omdat je niet hoeft te onthouden [onverstaanbaar]. DAVID J. MALAN: Yeah, het is makkelijk te onthouden. Het is een volkomen redelijke, rationeel gedrag, hoewel het risico je bent om jezelf in de volgende gevallen is het gewoon één of meer van deze websites kwetsbaar voor hackers of onzeker of uw wachtwoord is gewoon zo darn te raden, iedereen kan er wel uit. Niet alleen één account aangetast, maar in theorie elke accounts die u hebt op het internet. Dus ik weet dat ik zou vandaag zeggen, niet doen gebruiken overal hetzelfde wachtwoord, maar dat is een stuk makkelijker gezegd dan gedaan. Maar er zijn technieken voor de vermindering van die bijzondere zorg. 

Nu, ik gebeuren, bijvoorbeeld naar gebruik maken van een programma genaamd 1Password. Een andere populaire ene heet LastPass. En een hoop CS50 personeel gebruik één of meer van deze soorten gereedschappen. En lang verhaal kort, een afhaalrestaurant voor vandaag zou moeten zijn, ja, je zou kunnen hebben overal hetzelfde wachtwoord, maar het is heel makkelijk om niet meer doen. Bijvoorbeeld, deze dagen, ik weet misschien een van mijn tientallen of honderden van wachtwoorden. Al mijn andere wachtwoorden pseudo-willekeurig gegenereerd door een van deze programma's hier. En in een notendop, en zelfs hoewel de meeste van deze programma de neiging om te komen met een beetje van een kosten, je zou een programma als dit te installeren, je zou dan al op te slaan uw gebruikersnamen en wachtwoorden binnen dit programma je eigen Mac of pc of wat, en dan zou het zijn gecodeerd op uw computer met wat hopelijk een bijzonder lang wachtwoord. Dus ik heb een hele hoop van wachtwoorden voor afzonderlijke websites, en dan heb ik een echt lang vergeten dat ik gebruiken om alle openen die andere wachtwoorden. En wat is er leuk aan software als deze is dat, wanneer u een website bezoekt die vragen om uw gebruikersnaam en wachtwoord, deze dagen, weet ik niet het type in mijn gebruikersnaam en wachtwoord, omdat, nogmaals, ik weet niet eens wat de meeste van mijn wachtwoorden zijn. Ik plaats daarvan raakte een toetsenbord snelkoppeling, waarvan het resultaat is deze software te activeren vraagt ​​me om mijn hoofdwachtwoord. Typ ik dan die ene grote wachtwoord in, en vervolgens de browser vult automatisch wat mijn wachtwoord is. Dus echt, als je niets anders te nemen weg van vandaag in termen van wachtwoorden, Dit zijn software die de moeite waard zijn het downloaden of het investeren in zo dat kun je op zijn minst break die bepaalde gewoonte. En als je het type dat is met behulp van Post-It Notes of de like-- en de kans is in ieder geval één van u is-- die gewoonte, ook, volstaat het om te zeggen, gebroken moet worden. 

Nu, ik toevallig ontdekt, als gevolg van het gebruik van de software, het volgende. Ik was het bestellen van een Eetbare Arrangement, deze fruitmand, onlangs. En ik raakte mijn speciale toetsenbord snelkoppeling in te loggen op de website. En de software veroorzaakt een pop-up die zegt, weet je zeker je wilt dat ik automatisch Deze gebruikersnaam en wachtwoord in te dienen? Omdat de verbinding is onzeker. 

De verbinding is niet via HTTPS, voor veilige, met behulp van dat protocol bekend als SSL, Secure Sockets Layer. En inderdaad, als je kijkt naar linksboven op deze website, het is gewoon www.ediblearrangements.com, geen HTTPS, dat is niet zo goed. 

Nu, ik was curious-- misschien is dit is gewoon een bug in de software. Zeker, sommige website zoals dit dat veel van ons kennen van wordt in ieder geval het gebruik van encryptie of HTTPS-URL's om u in te loggen. Dus ik heb een beetje nieuwsgierig vanmorgen. En ik stapte uit mijn CS50 vaardigheden, Ik opende Chrome Inspector. Het is zelfs niet veel van een vaardigheid. Het is gewoon op de juiste toetsenbord snelkoppeling naar deze open te stellen. En hier is een groot raam van Chrome Inspector. 

Maar wat was eigenlijk een beetje tragisch en belachelijk waren deze twee lijnen hier. Op naar de top, let op de URL te die mijn gebruikersnaam en wachtwoord werden ingediend. Laat me in te zoomen. Het was deze hier. En dat alles is soort oninteressant, behalve voor het ding helemaal aan Links, die begint met http: //. En zo dan, OK, misschien ze zijn gewoon verzenden mijn gebruikersnaam, dat is niet zo'n big deal. Misschien is mijn wachtwoord wordt later verzonden. Dat zou een soort van te zijn interessant ontwerp beslissing. 

Maar nope. Als je dan kijkt naar de aanvraag payload, de gebruikersnaam en het wachtwoord Ik sent-- en ik bespot deze voor de slide-- waren eigenlijk in het heldere gestuurd. Dus ga je naar deze bijzondere website en bestelt een Eetbare regeling als deze, en zelfs blijkbaar voor dit alles tijd heb ik het bestellen van hen, uw gebruikersnaam en wachtwoord wordt over te gaan in de heldere. Dus eerlijk gezegd, dit is volstrekt onaanvaardbaar. En het is zo triviaal om dingen te vermijden als dit als de ontwerper van een website en als de programmeur van een website. 

Maar het afhaalrestaurant hier voor ons als gebruikers van websites is alleen maar om dat allemaal te waarderen wat er nodig is voor een dom ontwerp beslissing, niet te rechtvaardigen ontwerpbeslissing, zodat nu, als je weet dat mijn wachtwoord is "Karmozijnrode" op deze website, hebt u waarschijnlijk net in een hele hoop andere websites die ik nu heb. En er is niet veel van een verdediging tegen dat anders dan wat Chang deed vanmorgen. Hij ging naar Edible Arrangements, die is gelegen in de straat in Cambridge, en dit fysiek gekocht voor ons. Dat was veel veiliger dan het gebruik van de website in dit geval. 

Maar het detail in de gaten te houden voor is eigenlijk wat er in de browser up top daar. Maar zelfs dat kan een beetje misleidend. Dus een ander interessant voorbeeld en de manier van verdedigen tegen dit-- en eigenlijk, laten we denk dat first-- de manier van verdedigen hiertegen is een techniek die zekerheid zouden de mensen noem twee-factor authenticatie. 

Weet iemand wat de oplossing om problemen als dit betekent? Wat is twee-factor authenticatie? Of anders gezegd, hoe velen van u het gebruikt? OK, dus een paar van verlegen mensen. Maar ja. Ik zag je hand omhoog gaan. Wat is twee-factor authenticatie? 

Publiek: In principe, in aanvulling te typen in uw wachtwoord, heb je ook een secundaire [onverstaanbaar] verstuurd via SMS-bericht naar uw telefoon op de [onverstaanbaar]. DAVID J. MALAN: Precies. Naast een aantal primaire vorm van authenticatie, zoals een wachtwoord, je gevraagd wordt voor een secundaire factor, die typisch iets wat je hebt fysiek op je, al is het kan iets heel anders zijn. En dat ding is typisch een cellphone deze dagen waarin je krijgt stuurde een tijdelijke tekst bericht dat zegt "Uw tijdelijke pas is 12345." 

Dus naast mijn password "karmozijnrode" Ik ook moeten typen in welke de website heeft me sms'te. Of indien u dit heeft met een bank of een beleggingsrekening, je hebt soms zijn deze weinig dongles die eigenlijk een pseudo-random number generator ingebouwd in hen, maar zowel het apparaat als de bank weten wat uw eerste zaad is zodat zij weten, zelfs als de weinig code op je kleine sleutelhanger marcheert vooruit elke minuut of twee, veranderende waarden, zo werkt dat waardeverandering op de server van de bank zodat zij eveneens kunnen authenticeren u niet alleen met uw wachtwoord, maar met die tijdelijke code. Nu, kun je eigenlijk doen in Google. En eerlijk gezegd, dit is een goede gewoonte om in, vooral als je gebruik Gmail hele tijd op een browser. Als je naar deze URL hier, dat is in de dia's online voor vandaag, en dan Klik op 2-Step Verification, Hetzelfde werkelijke ding daar. U wordt gevraagd om te geven ze uw mobiele telefoonnummer. En dan, elke keer dat je inlogt op Gmail, wordt u niet alleen gevraagd voor uw wachtwoord, maar ook voor een kleine code die wordt verstuurd naar uw telefoon tijdelijk. En zolang je hebt cookies ingeschakeld, en zolang je niet expliciet doen uitlogt, zal je alleen om dat te doen af ​​en toe, zoals wanneer je gaat zitten op een nieuwe computer. 

En de kop ook hier is, als je gaat zitten aan een aantal internet cafe stijl computer of gewoon een vriend de computer, zelfs indien die vriend kwaadwillig of onbewust heeft een aantal keyboard logger op zijn of haar computer is geïnstalleerd, zodanig dat je alles soort wordt ingelogd, althans dat tweede factor, die tijdelijke code, is vergankelijk. Zodat hij of zij of wie dan ook is gecompromitteerd de computer kan niet inloggen op je later, zelfs als al het andere kwetsbaar was of zelfs ongecodeerde geheel. Facebook heeft dit, ook, met die URL hier, waar u kunt klikken op Inloggen goedkeuringen. Dus ook hier, als je dat niet wil vrienden om mensen te porren, u niet wilt worden porren op Facebook of het plaatsen van status updates voor u, twee-factor authenticatie hier is waarschijnlijk een goede zaak. En dan is er dit andere techniek helemaal, gewoon auditing, dat is zelfs een goede zaak voor ons mensen, Als twee-factor blijkt vervelend, die Toegegeven, het kan, of het is gewoon niet beschikbaar op sommige website, minimaal in de gaten houden of en wanneer je inloggen op sites, als zij u toe te staan, is een goede techniek, ook. Dus Facebook dit geeft je ook login kennisgevingen voorzien, waarbij wanneer Facebook realiseert, hm, David heeft ingelogd van enkele computer of telefoon die we nooit eerder van hebt gezien een IP-adres dat niet vertrouwd uitziet, ze zullen je in ieder geval een stuur e-mail naar welk e-mailadres die opgeslagen hebt, zeggende: Ziet dit er verdacht? Als dat zo is, verander je wachtwoord onmiddellijk. En dus is er ook, gewoon gedrag auditing zelfs nadat je bent geweest gecompromitteerd, kunnen een het venster te verkleinen tijdens die je kwetsbaar bent. 

Oké, vragen op dat spul tot nu toe? Vandaag is de dag om alles van te krijgen uw paranoia bevestigd of ontkend. Dat is meestal bevestigd, helaas. Yeah? 

Publiek: [onverstaanbaar] telefoon, wat als uw telefoon breekt, en dan is het altijd moeilijk te verify-- 

DAVID J. MALAN: True. 

Publiek: Of als je in een ander land, en ze je niet laten aanmelden omdat [onverstaanbaar]. DAVID J. MALAN: Absoluut. En dus dit zijn de aanvullende kosten die u maakt. Er is altijd dit thema van een trade-off, na alles. En dan, als u uw telefoon verliest, als het breekt, als je in het buitenland bent, of je gewoon niet een hebben signaal, zoals een 3G of LTE-signaal, je misschien niet echt te kunnen verifiëren. 

Dus nogmaals, deze twee zijn trade-offs. Soms kan een aanmaken veel werk voor u als gevolg. Maar het hangt een beetje af, daarna, op wat de verwachte prijs voor u is van iets wezen helemaal gecompromitteerd. 

Dus SSL is dus deze techniek dat we allemaal over het algemeen als vanzelfsprekend of aannemen is er, ook al is Dat is duidelijk niet het geval. En je kunt nog steeds misleiden mensen, echter, zelfs met deze. Dus hier is een voorbeeld van een bank. 

Dit is Bank of America. Er is een hele hoop van deze in Harvard Square en daarbuiten. En merk op dat, op de top van het scherm, is er een, inderdaad, HTTPS. En het is nog groen en gemarkeerd voor ons aan te geven dat dit inderdaad een rechtmatig beveiligde website, of zo hebben we getraind om te geloven. 

Nu, naast dat, hoewel, merken dat, als we in te zoomen, er is dit ding hier, waar je wordt gevraagd om in te loggen. Wat betekent dit hangslot betekenen recht er, naast mijn gebruikersnaam gevraagd? Dit is vrij normaal op websites, ook. Wat betekent dit hangslot betekenen? Je lijkt me je weet. 

Publiek: Het heeft niets te betekenen. 

DAVID J. MALAN: Het betekent niets. Het betekent dat Bank of America weet naar HTML met image-tags, toch schrijven? Het betekent echt niets, want zelfs we, met de eerste dag van onze blik in HTML, kunt coderen van een pagina met een rode achtergrond en een afbeelding, zoals een GIF of wat, dat gebeurt om te kijken als een hangslot. Toch is dit super gebruikelijk in websites, want we zijn getraind om te veronderstellen dat, oh, hangslot betekent veilige, als het echt alleen maar betekent dat je kennis hebt van HTML. 

Zo, terug in de dag, ik kon heb net dit op mijn website, beweren dat het veilig is, en vragen, effectief, voor gebruikersnamen en wachtwoorden van mensen. Dus zoek in de URL is tenminste een betere aanwijzing, want die is ingebouwd in Chrome of welke browser u gebruikt. Maar zelfs dan, soms dingen fout kunnen gaan. En in feite zou je niet altijd zie HTTPS, laat staan ​​in het groen. 

Heeft iemand van jullie ooit een scherm als dit gezien? Je zou kunnen hebben, eigenlijk, eerder in oktober toen ik vergat te betalen voor onze SSL-certificaat, zoals dat heet, en we waren op zoek als dit voor een uur of twee. Dus je hebt waarschijnlijk gezien de dingen als dit, met een strike-through, als een rode lijn door het protocol in de URL of een soort scherm dat is tenminste vermanende u voor het proberen om verder te gaan. En Google hier is uitnodigend u om terug te gaan naar veiligheid. 

Nu, in dit geval, dit betekende dat het SSL-certificaat dat we gebruikten, de grote, mathematisch nuttige nummers die zijn geassocieerd met de server CS50's, waren niet langer geldig. En in feite, kunnen we simuleren dit, als je kan op je laptop. Als ik in Chrome hier, en laten we naar facebook.com, en het lijkt erop dat dit veilig is. Maar laat me gaan nu vooruit en Klik op het hangslot hier. 

En laat me gaan naar Connection, Certificate Information. En inderdaad, wat je zult zie hier een stelletje van gegevens op een lager niveau over die facebook.com werkelijk is. Het lijkt erop dat ze geld hebben betaald aan een bedrijf met de naam misschien DigiCert High Zekerheid dat heeft beloofd naar de rest van de wereld te vertellen dat indien een browser ooit ziet een certificate-- je kunt bedenken van het letterlijk als een certificaat dat lijkt op dat cheesy ding bovenaan left-- dan facebook.com is wie ze zeggen ze zijn, omdat al die tijd bij u een website bezoekt, zoals cs50.harvard.edu of facebook.com of gmail.com dat HTTPS URL's, achter de schermen, er is dit soort transactie automatisch gebeurt voor u, waarbij facebook.com, in dit geval, is het verzenden naar uw browser zijn zogenaamde SSL certificaat, of liever, zijn publieke sleutel, en dan je browser gebruikt dat de publieke sleutel om vervolgens te versturen versleutelde verkeer van en naar het. 

Maar er is deze hele hiërarchie in de wereld van bedrijven dat je geld te betalen aan wie dan wel dan getuigen, in een digitale zin, dat je inderdaad facebook.com of uw server is inderdaad cs50.harvard.edu. En in browsers, zoals Chrome en IE en Firefox, is een lijst van al die zogenaamde certificate authorities die zijn toegestaan ​​door Microsoft en Google en Mozilla om te bevestigen of te ontkennen dat facebook.com is wie hij zegt te zijn. Maar de vangst is dat deze dingen doen vervallen. In feite, Facebook's ziet eruit als het verloopt in oktober aanstaande, in 2015. 

Dus we kunnen eigenlijk dit simuleren als ik ga in mijn Mac naar mijn Systeemvoorkeuren, en ik ga in Datum en tijd, en Ik ga in Datum en tijd hier, en ontgrendel ik dit hier-- gelukkig, we hebben niet een password dit tijd-- onthullen en nu ga ik naar beneden om deze uitvinken. En laten we actually-- oops, dat is niet zo interessant als je dit doet. We zijn letterlijk in de toekomst nu, waardoor dit is wat 2020 is als. Als ik herladen nu de page-- let's do it in Ingognito mode-- als ik de pagina geladen is, daar gaan we. 

Dus nu, mijn computer denkt het is 2020, maar mijn browser weet dat dit certificaat uit Facebook verloopt, natuurlijk, in 2015. Dus het geeft me deze rode boodschap. Nu, gelukkig, browsers zoals Chrome heb eigenlijk maakte het vrij moeilijk om ga toch. Ze willen dat ik inderdaad om terug te gaan naar veiligheid. 

Als ik klik hier op de Advance, het is Ga je me vertellen wat meer details. En als ik echt wil om verder te gaan, zullen ze laten ik ga naar facebook.com, dat is, nogmaals, onveilig, op welk punt Ik zal Facebook de homepage te zien, zoals deze. Maar dan andere dingen lijken breken te zijn. Wat is waarschijnlijk breken op dit punt? Publiek: JavaScript. DAVID J. MALAN: Net als de JavaScripts en / of CSS bestanden eveneens tegenkomen die fout. Dus dit is gewoon een slechte situatie in het algemeen. Maar het punt hier is dat op zijn minst Facebook heeft inderdaad SSL ingeschakeld voor hun servers, zoals vele websites, , maar niet noodzakelijkerwijs alle. 

Maar dat is niet alleen het afhaalrestaurant hier. Blijkt dat zelfs SSL is aangetoond te zijn onzeker in een bepaalde manier. Dus ik ben het soort doorschemeren dat SSL, goed. Kijk voor HTTPS-URL's, en het leven is goed, omdat al uw HTTP-verkeer en headers en inhoud wordt gecodeerd. 

Niemand kan het onderscheppen in de midden, op een zogenaamde man in het midden. Dit is een algemene techniek in de wereld van zekerheid bekend als een man-in-the-middle-aanval. Stel dat u dit kleine bent laptop over hier aan de linkerkant, en stel dat je probeert te bezoeken een server daar aan de rechterzijde, zoals facebook.com. 

Maar stel dat, in tussen u en Facebook, is een hele hoop andere servers en apparatuur, zoals switches en routers, DNS-servers, DHCP-servers, geen van we controleren. Het kan worden gecontroleerd door Starbucks of Harvard of Comcast of iets dergelijks. Nou, stel dat iemand kwaadwillig, op uw netwerk, in tussen u en Facebook, is in staat om u te vertellen dat, weet je wat, het IP-adres van Facebook is niet wat je denkt dat het is. Het is dit IP plaats. 

En zo uw browser is misleid in het aanvragen van verkeer van andere computer helemaal. Nou, stel dat de computer gewoon kijkt naar alle van het verkeer dat u aanvraagt ​​uit Facebook en alle webpagina's dat je het aanvragen van Facebook. En elke keer dat hij ziet in uw verkeer een URL die begint met https, het dynamisch op vliegen, herschrijft het als HTTP. En elke keer dat hij ziet een locatie header, locatie colon, zoals we gebruiken om te buigen de gebruiker, die ook, kan door deze man worden veranderd in het midden van HTTPS naar HTTP. 

Dus ook al heb je misschien zelf Denk je dat je naar de echte Facebook, het is niet zo moeilijk voor een tegenstander met fysieke toegang op uw netwerk om gewoon pagina terug te gaan naar je dat kijken als Gmail, dat kijken als Facebook, en inderdaad de URL identiek zijn, omdat ze doen alsof dat hetzelfde hostnaam hebben vanwege een exploitatie van DNS of een ander systeem als dat. En het resultaat is dus dat wij mensen misschien maar beseffen dat, OK, dit ziet eruit als Gmail of in ieder geval de oudere versie, zo is deze dia uit een ouder presentatie. Maar het lijkt erop dit-- http://www.google.com. 

Dus ook hier de realiteit is dat de manier waarop velen van jullie, als je naar Facebook of Gmail of een website en je weet een beetje iets over SSL, hoeveel van jullie fysiek https: // typen en vervolgens op de website te noemen, Enter. De meesten van ons alleen maar te typen, zoals, CS50, druk op Enter, of F-A voor Facebook en druk op Enter, en laat het automatisch aanvullen. Maar achter de schermen, als je let op uw HTTP-verkeer, er is waarschijnlijk een hele hoop van die locatie headers die u verzendt vanaf Facebook naar www.facebook.com naar https://www.facebook.com. 

Dus dat is een of meer HTTP transacties waar uw informatie is volledig gestuurd in het duidelijk, geen encryptie dan ook. Nu, dat is misschien niet zo'n groot zijn gaan als alles wat je probeert te doen wordt toegang tot de homepage, je bent niet het verzenden van uw gebruikersnaam en wachtwoord. Maar wat is het eronder de kap, met name voor PHP gebaseerde websites dat is ook heen en weer wanneer verzonden u sommige webpagina als bezoeken die website toepassingen, zeg, PHP en implementeert functionaliteit zoals pset7? Wat er werd heen en weer gestuurd in uw HTTP-headers die je gaf toegang tot deze mooie nuttig super global in PHP? 

Publiek: Cookies. 

DAVID J. MALAN: Koekjes, specifiek de PHP sess ID cookie. Dus herinneren, als we naar, zeg, cs50.harvard.edu weer, maar deze keer, laten we het openstellen van de Tabblad Netwerk, en nu, hier, laten we letterlijk gewoon gaan naar http://cs50.harvard.edu en vervolgens drukt u op Enter. En kijk dan naar het scherm hier beneden. Merk op dat we inderdaad gekregen terug een 301 permanent verplaatst bericht, waardoor er is een locatie header hier, die nu wordt omgeleid me naar HTTPS. 

Maar de vangst is dat, als ik al had een cookie gestempeld op mijn hand praktisch, zoals we eerder hebben besproken, en Ik de menselijke soort onbewust ga je naar het onzeker versie, en mijn browser neemt het op zich om die hand stempel voor tonen het eerste verzoek die via HTTP, elke man in het midden, welke tegenstander in het midden, kan in theorie gewoon zien die HTTP headers, net als we kijken naar hen hier. Het is pas als je bent in gesprek met een HTTPS URL hoeft die hand stempel zelf krijgen gecodeerd, a la Caesar of Vigenere, maar met een liefhebber algoritme helemaal. Dus ook hier ook als websites maken gebruik van HTTPS, wij mensen zijn geconditioneerd, thanks om auto-complete en andere technieken, om niet aan denken de mogelijke gevolgen. Nu zijn er manieren om dit. Bijvoorbeeld, veel websites kunnen worden geconfigureerd zo dat, als je eenmaal hebt deze hand zegel, kunt u de browser te vertellen, deze hand postzegel is alleen voor SSL-verbindingen. De browser moet niet presenteren het aan mij, tenzij het is over SSL. Maar veel websites doe geen moeite met dat. En vele websites blijkbaar niet eens de moeite met SSL helemaal. 

Dus voor meer op dat, is er eigenlijk nog meer vuil in deze presentatie dat een collega gaf op een zogenaamde zwarte Hat-conferentie een paar jaar geleden, waar er nog andere trucs mensen kwaadaardige hebben gebruikt. Je zou dit herinneren notie van een favicon, en dat is als een kleine logo dat is vaak in het venster van de browser. Nou, wat is geweest voorkomende onder slechteriken is naar fab pictogrammen die eruit zien als wat te maken? Publiek: [onverstaanbaar]. DAVID J. MALAN: weer zeggen? Publiek: De websites. DAVID J. MALAN: geen website. Dus favicon, piepkleine pictogram. Wat zou het meest worden kwaadaardige, manipulatief ding U kan uw website maken default icon eruit? Publiek: Een groene sluis. DAVID J. MALAN: Wat is dat? Publiek: Een kleine groene sluis. DAVID J. MALAN: Like een groene sluis, precies. Dus u kunt deze esthetische hebben van een kleine groene hangslot, zinspelend op de wereld, oh, we zijn veilig, wanneer weer, het betekent is dat je weet wat HTML. Dus het kapen van sessies verwijst naar precies dat. Als je iemand hebt die is een soort van snuiven de ether in deze kamer hier of heeft fysieke toegang tot een netwerk en kan uw cookies te zien, hij of zij kan pakken dat PHP sess ID cookie. En dan, als ze savvy genoeg om te weten hoe je die cookie sturen als hun eigen handstempel gewoon door het kopiëren van die waarde en verzenden van de HTTP headers, iemand kan heel gemakkelijk inloggen op een van de Facebook rekeningen of Gmail-accounts of Twitter accounts die hier zijn, geopend in de kamer, als je niet via SSL en als de website is SSL niet correct gebruikt. 

Dus laten we de overgang naar een andere. Dus nog een waar gebeurd verhaal. En dit enkel brak in de nieuws een week of twee geleden. Verizon heeft gedaan een zeer slechte zaak, en als beste mensen kan vertellen, ten minste sinds 2012, waarbij, wanneer u toegang tot websites via een Verizon mobiele telefoon, ongeacht fabrikant het is, zij hebben in overmoed geweest, zo gaat het verhaal, injecteren in al uw HTTP verkeer hun eigen HTTP-header. En dat header looks zoals dit-- X-UIDH. UID is als een uniek identifier of gebruikers-ID. En X betekent gewoon dat dit een gewoonte header dat is niet standaard. 

Maar wat dit betekent is dat, als ik trek, bijvoorbeeld, een website op mijn telefoon hier-- en ik ben met behulp van Verizon als mijn carrier-- hoewel mijn browser zou niet sturen deze HTTP header, Verizon, zodra het signaal bereikt de cellphone toren ergens, is al enige tijd het injecteren van deze header in al onze HTTP-verkeer. Waarom doen ze dit? Vermoedelijk voor het volgen redenen voor reclame redenen. 

Maar de debiele ontwerpbeslissing hier is dat een HTTP-header, zoals jullie weten uit pset6, wordt door een web server ontvangen dat je het aanvragen van het verkeer van. Dus al die tijd, indien je hebt al een bezoek Facebook of Gmail of een website dat maakt geen gebruik van SSL alle tijd-- en eigenlijk, die twee gelukkig nu doen-- maar andere websites die geen gebruik maken van SSL de hele tijd, Verizon heeft in wezen het planten, met geweld, een hand stempel op al onze handen dat zelfs wij niet zien, maar eerder, de websites einde doen. En dus is het niet zo geweest moeilijk voor iedereen op het internet het runnen van een webserver realiseren, ooh, dit is David, of, ooh, dit is Davin, zelfs als we rigoureuze over clearing onze cookies, want het komt niet van ons. Het komt van de vervoerder. 

Ze doen een lookup op uw telefoonnummer en dan zeggen, oh, dit is David. Laat me injecteren van een unieke identifier, zodat dat onze adverteerders of wie dan ook kan bijhouden van deze. Dus dit is eigenlijk heel, zeer, zeer slecht en afschuwelijk. En ik wil u aanmoedigen om een kijkje nemen, bijvoorbeeld, op deze URL, die ik zou moeten wijzen Ik heb eigenlijk vanochtend geprobeerd dit. Ik schreef een klein script, zet het op deze URL, bezocht het met mijn eigen Verizon cellphone na het inschakelen Wi-Fi uit te schakelen. Dus moet je Wi-Fi uit te schakelen, zodat je gebruikt 3G of LTE of iets dergelijks. En dan, als u een bezoek Deze URL, al dit script doet voor jullie, als je wilt spelen, wordt het spuugt wat HTTP headers uw telefoon is verzending naar onze server. En ik eigenlijk, in alle eerlijkheid, deed dit vanmorgen, niet te zien welke doet me denken ofwel de lokale cellphone toren Ik werd aangesloten op of wat is het niet te doen, of ze hebben backed off van dit tijdelijk doen. Maar voor meer informatie, aan het hoofd van deze URL hier. 

En nu dit dit-- comic zou zinvol zijn. Nee? OK. Prima. Die stierf. Prima. 

Dus laten we eens een kijkje nemen op een paar van de meer aanvallen, al was het maar om de aandacht te brengen en bieden vervolgens een paar mogelijke oplossingen zodat je bent des te meer bewust. Deze hebben we gesproken over de andere dag, maar niet een naam te geven aan het. Het is een cross-site request vervalsing, die is een te mooie manier om te zeggen: u een gebruiker te verleiden tot het klikken op een URL zoals deze, die hen trucs in een aantal gedragingen die zij niet van plan was. 

In dit geval lijkt te proberen om me te misleiden in de verkoop van mijn aandelen van Google. En dit zal slagen als Ik, de programmeur van pset7, hebben niet wat gedaan? Of liever, meer algemeen, in welke gevallen ben ik kwetsbaar voor een aanval als iemand trucs een andere gebruiker in het klikken op een URL zoals deze? Yeah? 

Publiek: Je hoeft niet te onderscheiden tussen GET en POST. 

DAVID J. MALAN: Goed. Als we geen onderscheid maken tussen GET en POST, en inderdaad, als we toestaan GET voor het verkopen van dingen, we nodigen dit soort aanvallen. Maar we konden nog steeds beperken het enigszins. En ik merkte op, denk ik, vorige week dat Amazon in ieder geval tracht dit te verminderen met een techniek dat is vrij eenvoudig. Wat zou een slim ding te doen op uw server, in plaats van alleen blindelings verkopen welk symbool de gebruiker typt in? PUBLIEK: Bevestiging van soorten? DAVID J. MALAN: Een bevestigingsscherm, iets waarin menselijke interactie zodat ik gedwongen ben om het vonnis te bellen, zelfs als ik ben naïef geklikt een link die er als volgt uitziet en leidde me naar de cel scherm op tenminste vroeg me om te bevestigen of te ontkennen. Maar geen ongewoon aanval, vooral in zogenaamde phishing of spam-achtig aanvallen. 

Nu, dit is een beetje subtieler. Dit is een cross-site scripting-aanval. En dit gebeurt er als je website maakt geen gebruik van het equivalent van htmlspecialchars. En het nemen van input van de gebruiker en net blindelings injecteren in een webpagina, als met print of echo, met-- again-- iets roepen als htmlspecialchars. 

Dus stel dat de website in vraag is vulnerable.com. En stel dat hij aanvaardt een parameter met de naam q. Kijk naar wat er kan gebeuren als ik eigenlijk, een bad guy, typt of truc een gebruiker in het bezoeken van een URL die lijkt op dit-- q = geopend script-tag, gesloten script tag. En nogmaals, ik ben ervan uitgaande dat vulnerable.com is niet gaan naar gevaarlijke draaien karakters zoals open haakjes, naar HTML entiteiten, de ampersand, L-T, puntkomma ding dat je eerder zou hebben gezien. 

Maar wat is het script of JavaScript-code Ik ben op zoek naar een truc gebruiker in te voeren? Nou, document.location verwijst naar huidige adres van mijn browser. Dus als ik het doe document.location =, Dit stelt me ​​in staat om de gebruiker door te sturen in JavaScript naar een andere website. Het is net als onze PHP functie omleiden, maar gebeurt in JavaScript. 

Waar ga ik proberen om de gebruiker te sturen? Nou, blijkbaar, badguy.com/log.php, die een script blijkbaar de bad guy schreef, dat neemt een parameter genaamd koekje. 

En let op, wat doe ik blijken aaneenschakelen op het einde van die gelijk-teken? Nou, iets dat zegt document.cookie. We hebben nog niet gesproken over dit. Maar het blijkt, in JavaScript, net als in PHP, U kunt alle cookies toegang dat uw browser daadwerkelijk wordt gebruikt. 

Dus het effect van deze regel code, als een gebruiker wordt misleid in het klikken op deze link en de website vulnerable.com niet ontsnappen met htmlspecialchars, is dat je gewoon effectief hebben geupload naar al uw cookies log.php. En dat is niet altijd zo problematisch, tenzij zo'n cookies is uw sessie-ID, uw zogenaamde kant stempel, dat betekent badguy.com kan zijn of haar eigen maken HTTP-verzoeken, het verzenden van dat dezelfde hand stempel, dat dezelfde cookie-header, en log in op welke website je op bezoek waren, die in dit geval is vulnerable.com. Het is een cross-site scripting aanslag in de zin dat je een soort van tricking een site in het vertellen een andere website over enkele informatie het mag niet, in feite, hebben toegang tot. 

Oké, klaar voor een andere zorgwekkende detail? Oké, de wereld is een enge plaats, terecht dus. Hier is een eenvoudig JavaScript voorbeeld dat is in de huidige broncode riep geolocatie 0 en 1. En er is een paar walkthroughs online voor dit. 

En het maakt het volgende als ik Open deze webpagina in Chrome. Het doet eerst niets. OK, we zullen dit opnieuw te proberen. Oh. Nee, het moet iets doen. OK, stand by. 

Laten we proberen dit eens te meer. [Onverstaanbaar] Ah, OK, niet zeker waarom the-- oh, het apparaat Waarschijnlijk verloor internet toegang voor een bepaalde reden. Oké, dus gebeurt er met mij ook. 

Oké, zo bericht wat is hier aan de hand. Deze cryptisch uitziende URL, wat is slechts een van de CS50-server, wil mijn computer te gebruiken locatie, zoals fysiek het betekent. En als, inderdaad, klik ik op Toestaan, laten we eens zien wat er gebeurt. Blijkbaar, dit is mijn huidige breedtegraad en longitudinale coördineert neer een pretty darn goede resolutie. 

Dus hoe ben ik in dit? Hoe werkt deze website, zoals CS50 server, fysiek waar expertise in de wereld Ik ben, laat staan ​​met die precisie. Nou, zet out-- laten we gewoon kijken naar de pagina's source-- dat hier is een bos van HTML bij de bodem die eerste heeft dit-- body onload = "Geef de locatie" - gewoon een functie schreef ik. 

En ik zeg, over het laden de pagina, bel Geef de locatie aan. En dan is er nog niets in het lichaam, omdat in de kop van de pagina, let op wat ik hier heb. Hier is mijn Geef de locatie aan de functie. En dit is slechts een fout checking-- indien het type navigator.geolocation is niet gedefinieerd. JavaScript heeft dit dus mechanisme waar u kan zeggen, wat is de het type van deze variabele? En als het niet undefined-- dat betekent dat het aantal value-- Ik ga om te bellen navigator.geolocation.getCurrentPosition en dan terugbellen. 

Wat is dit? Dus in het algemeen, wat is een callback, gewoon om duidelijk te zijn? Je zou hebben ondervonden dit reeds in pset8. Terugbellen is een generieke termijn voor het doen van wat? Voelt als just me vandaag. Publiek: [onverstaanbaar]. DAVID J. MALAN: Precies, een functie die moet alleen worden aangeroepen wanneer we gegevens hebben. Deze oproep om de browser, krijg mijn huidige positie, misschien een milliseconde te nemen, is het misschien een minuut duren. Wat dit betekent is dat we vertellen de get getCurrentPosition methode, noemen dit callback functie, die ik letterlijk genoemd callback voor de eenvoud, dat blijkbaar is dit hier. 

En de manier waarop getCurrentPosition werkt, simpelweg door het lezen van de documentatie voor online sommige JavaScript-code, is dat roept dat de zogenaamde callback functie, geeft ze af het een JavaScript-object, binnenkant waarvan .coords.latitude en .coords.longitude, en dat is precies hoe, dan, toen ik herladen van deze pagina Ik was in staat om mijn plaats hier te zien. Nu, in ieder geval was er hier een verdediging. Voordat ik bezocht deze pagina als het feitelijk heeft gewerkt, wat was ik in ieder geval gevraagd? 

Publiek: [onverstaanbaar]. 

DAVID J. MALAN: Ja of no-- doen u wilt toestaan ​​of weigeren dit? Maar denk ook over de gewoonten jullie hebben waarschijnlijk aangenomen, zowel op uw telefoon en uw browsers. Velen van ons, mezelf opgenomen, zijn waarschijnlijk vrij voorbestemd deze dagen-- u zie je een pop-up, alleen Enter, OK, goedkeuren, Toestaan. En in toenemende mate, kunnen u jezelf in gevaar om die redenen. 

Dus in feite was er deze prachtige bug een paar jaar ago-- of gebrek aan feature-- dat iTunes had een paar jaar geleden, waarbij, als u een mobiele telefoon had, en het was een iPhone, en u uw huis verliet en daarom reisde de hele wereld of de buurt, al die tijd, uw telefoon werd loggen waar je bent via GPS. En dit is eigenlijk onthuld, en de mensen soort verwachten dat dit nu. De telefoon weet waar je bent. Maar het probleem is dat, toen u een back-up uw telefoon om iTunes-- voordat deze was de dagen van iCloud, wat betere of worse-- de gegevens opgeslagen in iTunes, volledig onversleuteld. Dus als je een gezin of huisgenoten of een kwaadaardige buurman die is nieuwsgierig naar letterlijk elke GPS coördineert u ooit te zijn geweest, hij of zij kon gewoon gaat zitten aan iTunes, draaien wat software die vrij was beschikbaar, en produceren kaarten als deze. 

In feite is dit wat ik geproduceerd van mijn eigen telefoon. Ik stopte het in. En het lijkt erop dat, op basis de blauwe stippen daar, daar de meeste de GPS coördinaten waren gelogd door iTunes dat ik was in het noordoosten is er. Maar ik blijkbaar rond reisde een beetje, zelfs binnen Massachusetts. 

Dus dat is de haven van Boston er aan de rechterkant. Dat is een soort van Cambridge en Boston, waar het donkerst. En af en toe, zou ik lopen boodschappen naar een grotere geografie. 

Maar iTunes, al jaren, had, als beste Ik kon vertellen, al deze gegevens op mij. Je kon zien dat, dat jaar, was ik eigenlijk veel reizen tussen Boston en New York, heen en weer gaan en heen en weer. En inderdaad, dit is me op Amtrak, rug en weer, heen en weer, nogal wat. Dat alles werd gelogd en versleuteld opgeslagen op mijn computer voor iedereen die zou kunnen hebben toegang tot mijn computer. 

Dit was zorgelijk. Ik wist niet waarom ik was in Pennsylvania of waarom mijn telefoon was in Pennsylvania, blijkbaar redelijk dichtbevolkt. En dan, eindelijk, ik keek bij mijn Gcal, en, oh, I bezocht CMU, Carnegie Mellon, tegelijkertijd. En oef, dat soort legde uit dat blip. En dan, als u inzoomt verder uit, je kan zie ik bezocht San Francisco één of meer keren dan, en ik had zelfs een tussenstop in wat Ik denk dat is Vegas, daar beneden. Dus al dit-- slechts een tussenstop, op de luchthaven. 

Publiek: [lachen] 

Dus dit is slechts dat deze problemen, eerlijk gezegd, zijn alomtegenwoordig. En het voelt alleen steeds alsof er meer en meer van deze worden beschreven, dat is waarschijnlijk een goede zaak. Ik durf te zeggen, de wereld is niet erger bij het schrijven van software. We zijn steeds beter, hopelijk, bij het opmerken hoe slecht bepaalde software is dat we gebruiken. En gelukkig, sommige bedrijven beginnen hierover verantwoording af aan worden gehouden. 

Maar wat voor soort verdedigingen kunt u in gedachten? Dus naast password managers, zoals 1Password en LastPass en anderen, naast alleen het veranderen van uw wachtwoorden en komen met willekeurige degenen met behulp van software zoals dat, kunt u ook proberen zo goed mogelijk te versleutelen al uw verkeer om ten minste het verkleinen van de zone van een bedreiging. Dus bijvoorbeeld, als Harvard filialen, kunt u allemaal naar vpn.harvard.edu en log in met je Harvard-ID en pincode. En dit zal een veilige stand verbinding tussen jou en Harvard. 

Nu, dat doet niet se je beschermen tegen alle bedreigingen die zijn tussen Harvard en Facebook of Harvard en Gmail. Maar als je zit in een luchthaven of je bent zitten in Starbucks of je bent zitten op de plaats van een vriend, en je ze niet of echt vertrouwen hun configuratie van hun router thuis, je kunt tenminste vaststellen een beveiligde verbinding aan een entiteit zoals deze plek dat is waarschijnlijk een beetje beter beveiligd dan iets als een Starbucks of iets dergelijks. En wat dit doet is zij vaststelt, opnieuw, encryptie tussen u en het eindpunt. 

Zelfs liefhebber zijn dit soort dingen. Dus sommigen van jullie misschien al vertrouwd zijn met Tor, die dit soort anonimisering netwerk, waarbij veel mensen, indien zij deze software te draaien, route vervolgens hun internet verkeer door elkaar. Dus de kortste punt is niet meer tussen A en B. Maar het zou helemaal over de te zo te plaatsen dat je in wezen bent van sporen en het verlaten minder van een record met betrekking tot waar je HTTP het verkeer vandaan komt, want het gaat door middel van een hele hoop andere mensen laptops of desktops, ten goede of ten kwade. 

Maar zelfs dit is niet een trefzekere ding. Sommigen van u misschien vorig jaar herinneren de bommelding die werd genoemd in. En het is uiteindelijk terug te voeren op een gebruiker die dit netwerk hier had gebruikt. En de vangst daar, als ik me goed herinner, is, als er niet zo veel andere mensen gebruik van software als dit of met behulp van deze poort en het protocol, het is niet zo moeilijk voor een netwerk om zelfs erachter te komen wie, met enige waarschijnlijkheid, was in feite anonimiseringsscript diens verkeer. 

En ik weet niet of dat waren de feitelijke gegevens in kwestie. Maar zeker te beseffen dat geen van dit zijn trefzekere oplossingen, als goed. En het doel vandaag is om tenminste je aan het denken over deze dingen en komen met technieken voor jezelf te verdedigen tegen hen. Heeft u vragen over alle van de bedreigingen die je te wachten die er zijn, en in hier? Yeah? Publiek: Hoe veilig doen we verwachten dat de gemiddelde [? website te zijn,?] als de gemiddelde CS50-project? 

DAVID J. MALAN: De gemiddelde CS50 project? Het is altijd jaarlijks bewezen sommige CS50 eindopdracht zijn bijzonder veilig. Meestal is het enige huisgenoot of hallmate dat de cijfers dit uit door een verzoek aan uw project. 

Korte answer-- hoeveel websites veilig zijn? Ik pik op vandaag anomalieën. Net als het was gewoon toeval realiseerde ik me dat deze website Ik heb het bestellen van deze eerlijk gezegd heerlijke arrangementen van-- en ik ben niet zeker dat ik zal stoppen met het gebruik van hun website; Ik zou wel eens veranderen mijn password meer regularly-- Het is niet duidelijk hoe kwetsbare al deze various-- dit is chocolade bedekte eigenlijk. Het korte antwoord, kan ik geen antwoord op geven effectief, anders dan om het te zeggen was niet zo moeilijk voor mij om vinden een aantal van deze voorbeelden slechts ter wille van de discussie in lezing. En net in de gaten houden Google News en andere hulpmiddelen zal des te meer van het brengen dit soort dingen aan het licht. 

Oké, laten we concluderen met deze prequel dat CS50's team heeft voor u bereid in afwachting van de CS50 Hackathon. En op uw weg naar buiten in een moment zal fruit worden geserveerd. [VIDEO AFSPELEN] [MUZIEK FERGIE, Q TIP EN GOONROCK, "A LITTLE PARTY doodde nooit NIEMAND (ALL WE GOT) "] 

- [SNURKEN] [END VIDEO AFSPELEN] DAVID J. MALAN: Dat is het voor CS50. We zien je op woensdag. [MUZIEK - Skrillex, "IMMA 'Probeer het uit"]