>> 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"]