[Powered by Google Translate] [Săptămâna 10] [David J. Malan] [Universitatea Harvard] [Acest lucru este CS50.] [CS50.TV] În regulă! Acest lucru este CS50, dar nu pentru mult timp. Acesta este începutul săptămânii 10. Miercuri ne-am nostru test, iar apoi lunea viitoare vom avea unele tort festive cum am ajuns cerc complet tot drumul înapoi de la zero saptamana. Astăzi, vorbim despre unul din subiectele mele preferate, adevărul trebuie spus - că de securitate și de confidențialitate, precum și implicațiile tuturor hardware-ul și software-ul că vom folosi toate aceste zile. Pentru a fi sincer, există o mulțime de amenințări acolo că, dacă nu ați întrerupt într-adevăr să se gândească la ele, de fapt ele sunt destul de descurajatoare. Cazul de la punctul - în cazul în care oricare dintre voi ați descărcat vreodată o bucată de software off de pe Internet și instalat pe computer, v-ați angajat într-un grad semnificativ de încredere, corect? Nu este nimic ce a împiedicat Skype, sau Chrome, sau orice bucată de software ați instalat pe calculatorul dumneavoastră, de a șterge pur și simplu toate fișierele de pe hard disk; de la încărcarea toate fișierele de pe hard disk-ul server-un tip rău lui; din lectura toate e-mailurile; să intercepteze toate mesajele instant. Deoarece realitatea este azi cu sisteme de operare mai moderne există într-adevăr nu este mult de un zid între programe software pe care le instalați, și tu și eu sunt destul de mult doar un fel de trecere degetele noastre și luând în credință că această aplicație am descărcat gratis, sau chestia aia care e 99 de centi, este de fapt complet benigne. Dar, așa cum am văzut prin C, iar acum PHP și JavaScript, cu această capacitate de a ne exprima prin programare, poti sa faci aproape orice vrei cu un program care un utilizator el sau ea ar putea face. Deci, astăzi ne concentrăm pe această temă - nu numai unele amenințări, dar și mijloacele de apărare. Într-adevăr, în lumea de securitate, în general, e un fel de acest joc pisica-si-mouse-ul, și îndrăznesc să spun băieții răi aproape întotdeauna au un picior în sus. Când vine vorba de a profita de hardware și software pe computerele noastre personale, trebuie să ne dăm seama că un tip rău pur și simplu trebuie să găsească o greșeală simplă - o exploateze, un bug - într-o bucată de software care le-am scris sau se execută pentru ca el sau ea să preia întregul nostru sistem. Prin contrast, noi - cei buni - trebuie sa patch si rezolva toate aceste bug-uri și pentru a evita toate aceste deficiențe. Și așa, îndrăznesc să spun pe ansamblu, băieții răi au avantajul. Ce clase, cum ar fi acest lucru și clasele ulterioare sunt într-adevăr despre nu despre tine învață cum să ducă luptele pe care aceste băieții răi împrejurimi, dar sunt despre cum să vă protejați sau cel puțin cum să faci o decizie calculată că da, știu că această bucată de software ar putea citi într-adevăr, fiecare dintre e-mailurile mele, dar eu sunt de acord cu faptul că, din cauza valorii mă aduce pe de altă parte. Sunt foarte încântat să se alăture de 2 dintre cele mai inteligente persoane pe care le cunosc - Rob Bowden și Nate Hardison. Rob este pe cale să ne ia pentru un tur prin cel mai scăzut nivel de tag-uri de securitate - că a compilator, care, până în prezent, am venit să iubesc și să aibă încredere. Rob Bowden. [Aplauze] [Rob] În regulă. David și-a luat destul de mult Spiel mea că am fost de gând să introducă cu, dar - Câteva săptămâni în urmă, ați văzut exemplul unui atac buffer overflow- care este un exemplu de hacking hacker în unele bucată de software că acestea nu ar trebui să fie în hacking. Cealaltă parte a acestei este, uneori, aveți software-ul rău intenționat, care este în sine. Ea nu are nevoie chiar de a fi hacked. Persoana care a scris software-ul vrea să te hack. Să sari doar dreptul în cod, a lua o privire la "login.c". Aici, un program de prostie care validează un nume de utilizator si parola de asociere. Aici ar trebui să fie cu siguranta obtinerea confortabil cu C din nou pentru testul. În primul rând, ne folosim siruri de caractere pentru a descrie ajunge numele de utilizator, atunci suntem folosind șir EEG a apuca parola, și apoi avem unele verificări triviale de doar, este numele de utilizator "Rob"? Și este parola "thisiscs50"? Sau, este numele de utilizator "Tommy" și parola "i <3javascript"? În cazul în care oricare dintre acestea este cazul,  atunci suntem doar de gând să imprima "succes", iar apoi avem acces. În caz contrar, vom imprima "invalid autentificare" si apoi, desigur,  deoarece memoria schiță malloc siruri de caractere, noi numele de utilizator și parola gratuit. Acesta este un program de autentificare banal, și, dacă te gândești atunci când vă conectați la aparat, e destul de similare - sau chiar să vă conectați la computer - nu e doar un program de autentificare, care este oferindu-vă acces. Aici, ni se întâmplă să avem hard-coded "Rob", "thisiscs50", "Tommy", "i <3javascript", dar, probabil, există unele fișiere undeva pe sistemul de operare care are o listă de nume de utilizator, care poate conecta la sistemul de și o listă de parole asociate cu aceste nume de utilizator. De obicei, parolele nu sunt doar stocate în text clar ca asta. Există un fel de criptare, dar acest lucru va face pentru exemplul nostru. În curând pe la compilator nostru - o să fie foarte simplă. Avem nevoie să specificați cel puțin un fisier pe care ne-o dorim pentru a compila, si apoi aici - aceste linii sunt doar citind un fișier A. Citește întregul fișier într-un tampon mare, și apoi ne-nul rezilia tampon noastre ca întotdeauna, și în cele din urmă am compila doar fișierul. Noi nu te vom uita la modul în care compilare este, de fapt pusă în aplicare, ci ca un indiciu, doar cheamă zăngănit. Vom folosi acest program pentru a compila lucruri în loc de zăngănit. O problemă vom începe cu este vedem vrem să compilați compilatorul nostru, dar dacă nu vom utiliza pentru a face să răsune, nu știu ce am de gând să compilați cu. Aceasta este o problemă generală cunoscută sub numele de procesul de bootstrap. Deci, doar de data asta, am de gând să folosească zăngănit pentru a compila compilator nostru. Dacă te gândești la CCG și zăngănit - aceste programe, aceste compilatoare sunt în mod constant în curs de actualizare, și aceste compilatoare sunt elaborate folosind GCC și zăngănit. Zăngănit este doar un mare C sau C + + programul, astfel încât compilatorul le folosesc pentru a compila, care este zăngănit. Aici, acum, suntem doar de gând să fie utilizând compilator pentru a compila nostru compilator nostru, si putem spune chiar - "/ compilator. ',' compiler.c", "compile.c ','-o compilator". Observa acest lucru este exact comanda am fugit înainte de a - înlocuiți doar cu zăngănit "/ compilator.". Și acum avem un alt compilator, dar e exact la fel. Ea pur și simplu apeluri zăngănit. Vom utiliza compilator nostru pentru a compila programul nostru de autentificare. Bine - ". / Compilator login.c-o autentificare". Deci, trimiterea undefined la "getString". A primit un "-lcs50". Bine. Asa ca acum am programul nostru de autentificare. Rularea ea - a primi "Vă rugăm introduceți numele de utilizator". Un exemplu a fost jefui. Va rugam sa introduceti parola - thisiscs50. Și succes! Am acces. Rulează-l din nou și introducerea unor parole invalidă - sau numele de utilizator și parola invalid - invalid autentificare. Bine. Interesant despre acest lucru până acum nimic. Dar, haideți să aruncăm o privire la autentificare din nou - iar acest lucru este mergi la a fi un exemplu oarecum banal, dar haideți să adăugați o altă aici și să spunem, altă if ((strcmp (nume de utilizator, "hacker") == 0 && strcmp (parola, "LOLihackyou") == 0)) asa ca acum, printf ("Hacked Acum aveți acces \ n!."); în regulă. Elaborarea prezentului - compilator login.c-o autentificare-lcs50 - rulează acum autentificare - și dacă am folosi hacker-mi numele de utilizator și parola LOLihackedyou - Credeți scriu gresit acolo înainte? La login.c--ihack - Voi nu hacked pentru că cred că fac asta mai târziu. Bine. Recompilare. Re-rulare - hacker - LOLihackedyou - Hacked! Acum aveți acces. Nu pare a fi atât de mult de o diferență pentru că este exact aceeasi cec făceam pentru celelalte nume de utilizator și parole. Plus, mare lucru este că, dacă alte persoane sa te uiti la acest login.c-- spun, în cazul în care trec de acest off la partenerul meu, și ei deschide acest fișier, și au citit acest lucru, ei vor vedea - bine, de ce nu ai aceste linii de cod aici? Asta e, evident, nu ceva ce ar trebui să fie în programul tău. În unele programe - ca orice software-ul proprietar care nu este open-source - niciodată nu poate vedea aceste linii de cod. Ceva de genul Skype sau ceva - pentru tot ce știi, Skype este pe calculatorul dumneavoastră și nu este doar un nume de utilizator și parolă specifică combinație care va logati pentru a Skype într-un mod special. Noi nu știm despre ea, iar oamenii nu știu despre ea, pentru că ei nu primesc să citească sursă pentru a vedea că există această gaură. Ceea ce noi numim acest lucru - deși acest lucru nu este un exemplu foarte inteligent - aceasta se numește o usa din spate. Dacă vă gândiți la ușa din spate a casei. Aici, dacă am valida cu "Rob", numele de utilizator sau "Tommy," , care ar fi ca folosind "ușa din față." Asta e modul în care eu ar trebui să te autentifici în siguranță. Dar dacă am intra cu acest nume de utilizator si parola - apoi că folosește "ușa din spate". Acesta nu a fost intenționată cale de a intra în program, dar încă mai funcționează. Și oamenii, în general, nu ar trebui să știe despre aceste ușile din spate. Vom îmbunătăți acest lucru. Să reveni la acest login.c noastră originală, și hai să aruncăm o privire la noul nostru compilator. Bine. Totul aici este exact la fel. Suntem citirea întregul fișier într-un buffer. Totul aici este la fel. Am compilat doar fișierul. Dar acum am această mare dacă aici care spune, dacă fișierul pe care I se întâmplă să fie compilarea este login.c, apoi mi-am făcut ceva special. Ce este acel ceva special? Văd aici niște coarde numit "hack", și se uită la aceste linii de cod - Acestea sunt aceleași linii de cod - Cred că am făcut uz "ihack" și nu "ihacked 'înainte - se uită la aceste linii de cod, ei sunt exact aceleași linii de cod care le-am avut în login.c înainte. Dar acum, în loc de a le în login.c, Am de gând să-i pună în compilator meu. Acestea sunt linii de cod am de gând să doriți să o inserați în login.c. Aceste linii de cod - tampon care a avut loc inițial login.c mea nu mai este de gând să fie suficient de mare pentru că acum vreau să inserați, de asemenea, acest hack în mijlocul programul meu. Toate acestea este de a face este de a crea un nou buffer, care e destul de mare - atât pentru fișierul original și linii suplimentare de cod - hack - pe care vreau să inserați acolo. Aici este ceva de observat - char * model = "/ / neagă le accesa!" Dacă ne uităm înapoi la login.c, vedem aici acest comentariu - le refuza accesul! În login.c, acest comentariu pare total inofensiv, astfel încât nu s-ar suspecta nici o intenție de malware, cu doar acest comentariu. Dar în compilator, ne sunt în mod special de gând să caute pentru această linie de cod, și apoi când l-am găsit - aceste linii de cod sunt inserarea hack noastre în această poziție. Deci, suntem iterarea peste tot login.c, suntem inserarea că hack exact în cazul în care se spune neagă le acceseze, și apoi vom compilarea - nu login.c originală dar login.c nou cu cea hack introduce dreptul la "refuza a le accesa." Acum vreau să compilați compilator noua mea cu hack implicate. Eu nu am de gând să utilizați zăngănit, asa ca hai sa copiati compilatorul am folosit înainte de și de a folosi că - așa, compilatorul compiler.c compile.c-o evil_compiler. Acum nostru rău compilator - dacă vom folosi compilatorul nostru de rău pentru a compila orice alt fișier, fișierul va compila așa cum ar trebui. E complet normal. Dar dacă vom folosi compilatorul nostru de rău pentru a compila autentificare - astfel, / evil_compiler login.c-o autentificare-lcs50 -. se uită la login.c din nou, nu e absolut nimic aici. E noastră obișnuită ", dacă e nici rob sau Tommy suntem în, altceva nu mai avem". Dar atunci când vom rula executabil noastră, aceasta va funcționa ca de obicei. Rularea din nou - hacker, LOLihackyou - Hacked! Acum aveți acces. Doar uită la login.c, tu nu ar crede nimic este greșit. Dar compilatorul care este folosit pentru a compila login.c este special conceput pentru a insera acest hack in program. Ne-am mutat doar problema noastră inițială. Inițial, am avut aceste linii de cod în login.c că, dacă cineva se uita la ei, le-ar fi ca, de ce sunt astea aici? Acum, dacă cineva se întâmplă să se uite la compilator noastră, vor uita la aceste linii de cod și spune, de ce sunt astea aici? Deci, nu am rezolvat complet problema noastră. Dar putem folosi din nou această idee. Având o privire la versiunea a treia a compilatorului, e aceeași idee. Am citit întregul fișier într-un tampon de aici, am compila fișierul aici, și am un fel de hack șir aici, dar observați că fișierul Sunt de fapt hacking acum. Sunt compiler.c hacking Nu login.c. Dar ce mă introduce în compiler.c? Sunt inserarea acestui cod, care este codul exact în compilator nostru anterior, care a fost menit să inserați codul în login.c. Aici este nostru, dacă login.c strcmp fișier și introduceți apoi în lucrurile login.c hack nostru. Acest compilator nou este destinat să creeze un compilator care este destinat să compileze autentificare cu rea intenție. Vom vedea de ce ne ajută. Orice altceva este același, așa că funcționează exact așa cum a lucrat cu compilator noastre anterioare. Suntem doar iterarea peste compile.c întreaga noastră. Dar acum, în loc de a căuta "neagă le accesa," căutăm "compila fișierul." În cazul în care se compila fișierul? Privind la compiler.c nostru complet nevinovat, e chiar aici, la partea de jos. Acest comentariu - compilarea fișierului - din nou, care arata complet inofensiv. Dar, în versiunea noastră de rău intenționat compilator, am de gând să - chiar înainte ca în comentariu - introduceti acest cod care este destinat pentru a insera cod atunci când compilarea login.c. Există o mulțime de niveluri de indirectare aici. Să fugim de fapt. Din nou, vom copia compilator noastră originală. Acum, compilați - compilator compiler.c compile.c-o evilest_compiler - și acum evilest_compiler. Evilest compilator - în cazul în care vom folosi pentru a compila compilator nostru, Să vedem, de fapt. Evilest_compiler - aducându-l peste, tot drumul înapoi la versiunea 1 a compilatorului nostru - versiunea 1 a compilatorului nostru, care a fost citită doar în dosar și compilați-l. Aici, știm că evilest_compiler - atunci când compilează acest fișier - este de gând să introduceți codul aici înainte de a compila fișierul, și acest cod este de gând să arate exact ca codul din a doua versiune a compilatorului nostru care a făcut asta. Acest cod, care este destinat pentru a rupe în autentificare, va fi introdus în compilatorul nostru de compilator evilest. Să folosim evilest_compiler pentru a compila compilator nostru. Acum vom folosi compilator, vin înapoi să te autentifici peste, și amintiți-vă acest login.c nu are absolut nimic suspect în ea. Dar folosind compilator pentru a compila nostru login.c, Rob, thisiscs50, succes. Hacker Să autentificare, LOLihackyou, Hacked! Acum aveți acces. Recunosc că acest lucru a fost diferit de versiunea 2 a compilatorului nostru. Compilatorul vom folosi - să se mute înapoi - copie de autentificare - Să aducem înapoi în compilator noastră aici. Scoaterea compilator evilest. Tot ce-am plecat acum este compilator. Dacă ne uităm la compiler.c, nu este absolut nimic acolo care pare rău intenționat în nici un fel. Dacă ne uităm la login.c, nu există absolut nimic aici care arată rău intenționat în nici un fel. Dar, atunci când vom folosi compilatorul nostru pentru a compila login.c, avem versiunea hackable de login.c. Când ne-am folosit compilatorul nostru pentru a compila o versiune nouă a compilatorului, avem versiunea hackable a compilatorului. Acum, dacă am ieși și să distribuie executabil nostru compilator, și nimeni nu va ști că este ceva rău intenționat cu privire la aceasta. Aceasta este de fapt atât de în - Nu-mi amintesc ani - Ken Thompson, si a castigat Premiul Turing - dacă nu sunteți familiarizat cu Premiul Turing, este aproape întotdeauna definită ca Premiul Nobel de informatică, așa că e modul în care voi defini. Ken Thompson a ținut un discurs, când a primit Premiul Turing sa numit "Reflecții asupra Trust încredere." Practic, aceasta a fost ideea de discursul său. Cu excepția loc de compilator noastre, el vorbea despre GCC - doar un alt compilator ca zăngănit - și ceea ce spunea este, la fel ca login.c nostru, login.c nostru pare relativ inutil dar el vorbea despre real UNIX login.c. Când vă conectați la aparatul dvs., există unele program de autentificare care se execută. Asta a fost autentificare pe care el vorbea despre. Acest lucru a fost practic ideea lui. El a spus că, în CCG, în teorie, el ar fi putut să plantat un bug - Nu o eroare, ci un cod malitios - că, atunci când compilarea funcția de autentificare - fișier de conectare - ar insera o usa din spate, astfel încât el ar putea merge la absolut orice sistem UNIX din lume și conectați-vă cu numele de utilizator unele specifice și parola. În timp, CCG a fost destul de mult compilatorul care toată lumea folosite pentru nimic. Dacă cineva sa întâmplat pentru a actualiza CCG, atunci ei ar recompilați CCG folosind GCC, și v-ar obține încă o versiune proastă a CCG pentru că a fost în mod special compilat să recunoască faptul că acesta a fost recompilarea compilator. Și dacă ați folosit vreodată CCG să recompilați un fișier login.c, atunci s-ar introduce aceasta usa din spate ca el ar putea folosi pentru a vă conecta la orice calculator. Acest lucru a fost tot teoretic, dar - ca circumstanță specială a fost teoretic, dar ideile sunt foarte reale. În 2003, a existat un exemplu similar în cazul în care - vom arunca o privire la acest dosar, si nu are absolut nimic de-a face de fapt cu ea, dar bug-ul este similară. Acest fișier defineste doar o funcție numită divizare. Este nevoie de un argument o, un b argument, și intenția este de a face o împărțită b.. Dar ea nu unii verificarea erorilor, astfel încât știm lucrurile sunt ciudate, dacă se întâmplă să b egal cu zero. Dacă B este zero, atunci ne-am despartit acest lucru în 2 cazuri. S-ar putea vedea deja bug-ul. Primul caz - în cazul în care un este zero, atunci facem zero, împărțit de către zero, și am să spun doar că e nedefinită. Al doilea caz - în cazul în care o nu este zero, atunci e ceva de genul 1 decomandat de la zero, iar noi numim doar că infinit. Altfel ne vom întoarce de obicei, un împărțit b.. Și așa aici, nu mai avem aceste 3 cazuri, și vom rula de fapt, decalajul - l striga la el pentru mine - astfel, ignorând avertismentele zăngănit lui - sfârșitul non-nule funcție - se pare că nu am compila acest lucru în prealabil. Întoarceți-0. Asigurați-diviza - în regulă. Cu / divizare., Vom vedea 3, Infinity, Infinity. Zero, împărțit de către zero nu ar fi întors infinit. Și dacă nu ați dat seama încă bug - sau nu-l văd înainte de a - vom vedea că vom face un = 0. Probabil am însemnat o == 0. Probabil. Dar, aceasta a fost de fapt ceva ce, din nou, în 2003, kernel-ul Linux - astfel încât aparatul nostru foloseste kernel-ul Linux - orice sistem de operare Linux utilizează nucleul Linux - deci un bug foarte similar cu acesta a apărut. Ideea din spatele acestui bug a fost - din nou, nu a fost doar o funcție care a fost numit, și a făcut-o un pic de verificarea erorilor. Au existat unele intrări specifice care această eroare de verificare - ar fi fost ca, în regulă, nu puteți apela această funcție, cu un divizor de la 0. Deci, am de gând să se întoarcă doar o eroare. Cu excepția, nu a fost la fel de nevinovat ca și stabilirea doar un egal cu 0. În schimb, această linie de cod sfârșit prin a face ceva mai mult ca de utilizator = administrator. Sau utilizatorul = superuser. A fost un nevinovat - la prima vedere - în cazul în care s-ar putea greșeală să fi fost doar rezonabil că am vrut doar să reclami ceva specific dacă utilizatorul sa întâmplat să fie administratorul superuser. Dar apoi re-gândire despre el, persoana a vrut sa arate ca un simplu gresit, dar dacă acest cod a fost efectiv eliberat, atunci v-ar fi putut să spargă orice sistem prin care trece un steag specific - în acest caz, b = 0 - și ar face în mod automat de utilizator administratorului, și apoi el are control deplin. Acest lucru sa întâmplat în 2003. Pur și simplu așa sa întâmplat că singurul motiv pentru care acesta a fost prins a fost că nu sa întâmplat să fie un sistem automatizat care a observat schimbarea în acest dosar care nu ar fi fost schimbat de un om. Fișierul trebuie să fi fost generate în mod automat. Pur și simplu sa întâmplat ca cineva a atins - bine, persoana care a vrut să hack atins acel fișier, și computerul prins că se ating. Deci, au schimbat acest lucru și abia mai târziu a dat seama ce dezastru ar fi fost în cazul în care aceasta a ajuns afară, în lumea reală. Ați putea fi, gândindu-mă că - revenind la exemplul nostru compilator - chiar dacă noi nu putem vedea - se uită la sursă - că ceva este greșit, în special, de fapt, dacă ne uităm la codul binar de compilator, ne-ar vedea că ceva este greșit. Ca un exemplu, dacă vom rula siruri de caractere funcționa - care este doar de gând să se uite peste un fișier și imprima toate siruri de caractere se poate găsi - dacă vom rula siruri de caractere pe compilator nostru, vedem că un singur șir pe care le găsește este acest ciudat - else if (strcmp (numele de utilizator, "hacker") - bla, bla, bla. Dacă cineva sa întâmplat să fie suficient de paranoic să nu am încredere compilator lor, acestea ar putea rula siruri de caractere și vedea acest lucru, și atunci ei ar ști că era ceva în neregulă cu binar. Dar, în mod inevitabil, siruri de caractere a fost ceva care a fost compilat. Deci, cine poate spune că compilatorul nostru nu are doar codul de mai specială care spune, în cazul în care siruri de caractere este vreodata rula pe compilator noastră, nu transmite toate din acest cod rău intenționat. Aceeași idee cu, dacă vrem să dis-asambla fișierul - am aflat că asamblor ne aduce la codul de asamblare într-o mașină de cod - putem merge în direcția opusă - objdump-d compilator - ne va da adunarea codul nostru. Privind la acest lucru, e destul de criptic, dar dacă ne-am dorit, am putea privi prin acest și rațiunea, așteptați, se întâmplă ceva pe aici care nu ar trebui să se merge pe, și apoi vom recunoaște că compilatorul este de a face ceva rău intenționat. Dar, la fel ca siruri de caractere, cine poate spune objdump nu a fost specială casetat. Practic, este vorba în jos pentru a nu poți avea încredere în nimic. Punctul de hârtie care se numește "Trustul de încredere" este în general, am încredere în compilatorul nostru. Doriți să compilați codul dvs. și se așteaptă ca aceasta să facă ceea ce îi cere să facă. Dar, de ce ar trebui să ai încredere compilator? Nu ai scris compilator. Tu nu știi ce compilator este în mod necesar, de fapt face. Cine spune că poți avea încredere? Dar chiar și atunci, ei bine, poate putem avea încredere în compilatorul. Există zeci de mii de oameni care s-au uitat la asta. Cineva trebuie să fi recunoscut ceva a fost cu compilator. Ce se întâmplă dacă mergem doar 1 nivel mai profund? Ar putea fi chiar procesorul dumneavoastră. Fel de ridicol ca ar putea fi, eventual, Poate că există un angajat rogue la Intel, care creează aceste procesoare că ori de câte ori acel procesor observă că sunteți execută anumite comenzi care este menit să te autentifici pentru a calculatorului, procesorul va accepta unele nume de utilizator și o combinație specifică parola. Aceasta ar fi extrem de complicat, dar cineva ar putea face acest lucru. În acel moment, sunt într-adevăr de gând să deschidă calculatorul dumneavoastră să se uite la procesor și de a folosi un microscop pentru a recunoaște că aceste circuite nu sunt aliniate așa cum ar trebui să fie? Nimeni nu este niciodată de gând să prindă această eroare. La un moment dat, trebuie doar să renunțe la ceva și de încredere. Cei mai mulți oameni au încredere în compilatorul de la acest punct. Asta este de a spune, nu neapărat că ar trebui. Privind la un videoclip oarecum infam - [Muzica dramatica joc] [E un sistem UNIX. Eu știu acest lucru.] [E toate fisierele -] Ea a spus, "Este un sistem UNIX eu știu acest lucru.". Înlocuiți UNIX cu orice sistem de operare preferat este - ea ar fi putut spune, "Este un sistem Windows știu asta.". E o declarație complet lipsită de sens, dar pentru tot ce știm, ea se întâmplă să știu o ușă înapoi în sistem UNIX. Ea știe unele combinații nume de utilizator / parolă care vă va permite de fapt ei face ce vrea ea. Bine. Morală de astăzi este de fapt nu poți avea încredere în nimic. Chiar și lucrurile pe care le scrie - nu ai scrie compilator. Compilatorul ar putea fi rău. Chiar dacă ai făcut scrie compilator, lucru care se execută compilatorul ar putea fi rău. (Rade) Nu e de mult vă puteți face. Lumea este sortit. Copii de la David! [Aplauze] [David] Multumesc. Asta a fost cu adevărat deprimant. Dar, într-adevăr, Rob este corect. Noi nu avem cu adevărat o soluție pentru asta, dar ești pe cale de a obține unele soluții la unele de apărare mai comune. În așteptarea acestei, ceea ce Nate și am făcut acolo afara scenei este de a ști că există atât de multe laptop-uri în această cameră, am fost sniffing toate traficul wireless trece prin acest loc pentru ultimele 20 de minute Discuție în timpul lui Rob, așa că de gând să ia o pauză de 2 minute aici. Nate va configura, și apoi vom vorbi despre toate lucrurile am fi putut găsi. (Rasete) Deci, poate am exagerat un pic doar de dragul de drama, dar am fi putut mirosi tot traficul wireless, deoarece, într-adevăr, este atât de ușor. Dar există, de asemenea, moduri în care vă puteți apăra împotriva acestei, și astfel cu faptul că, Vă dau Nate Hardison. >> [Nate] dulce. (Aplauze) [Nate] Mulțumesc, omule. Apreciez striga. În regulă! E săptămâna joc. Sunt entuziasmat voi? Sperăm că va fi un meci mare sâmbătă. Imi imaginez ca baietii de la acest punct - având în vedere că aveți un test miercuri totul despre cod, și ne-am așezat, printr-o prelegere minunată de Rob cu o grămadă de cod C în ea - sunt poate un pic obosit de cod. În această parte, nu suntem de fapt de gând să atingă orice cod fel. Suntem doar de gând să vorbesc despre o tehnologie pe care îl utilizați în fiecare zi, de multe ori pentru mai multe ore, in mai multe pe zi, și vom vorbi despre implicațiile de securitate cu care există. Am vorbit mult despre securitate de-a lungul semestrului, și am pornit la drum cu un pic de cripto. [Bdoh lv vwlqng!] Și în timp ce voi sunteți, probabil, super-excitat a fi trece note între ele în clasa folosind un cifru Cezar ca aceasta, în realitate, e ceva mult mai distractiv să fi avut atunci când, de fapt vorbim despre securitate și că astfel de chestii. Astăzi, vom acoperi câteva tehnologii că oamenii folosesc, de fapt, în lumea reală de a face tot felul de lucruri de la sniffing pachete oamenilor de a merge, de fapt, în și de rupere în conturile bancare ale oamenilor și toate de asta. Acestea sunt instrumente legitime care vorbim despre cu excepția, eventual, un singur instrument. Și vreau doar să fac o declarație de renunțare rapidă. Atunci când vorbim despre aceste lucruri, vorbim despre ele, astfel încât să știi ce e acolo, și tu ești conștient de modul în care pentru a fi în siguranță atunci când utilizați în computer. Dar noi cu siguranță nu vreau să presupun că ar trebui să utilizeze aceste instrumente în cămin sau casa ta, deoarece te poate rula în multe probleme mari. Asta e unul dintre motivele pentru care astăzi suntem de fapt nu au fost sniffing-vă pachetele. Bine. Lunea trecută, am vorbit despre cookie-uri, și HTTP, și autentificare, și modul în care Firesheep deschide această ușă mare în contul dvs. Facebook, la contul dvs. Hotmail - în cazul în care cineva folosește încă Hotmail - și multe alte conturi. O mulțime de aceste lucruri se întâmplă pentru a construi off de faptul că, dar în primul rând, vreau să iau un tur rapid de modul în care internetul a evoluat în timp. Înapoi în anii '90, voi s-ar fi adus aminte de fapt de a conecta computerele cu unul dintre acestea. Acum, noi nu facem asta atât de mult mai. Este de fapt dovedește că, în scopul de a conecta un cablu Ethernet la laptop-ul meu, Am acum trebuie să utilizați una dintre aceste adaptoare, care este un fel de nebunie. În schimb, în ​​1997 am avut această nouă tehnologie, distracție a ieșit că este cunoscut sub numele de IEEE 802.11, astfel încât acesta este standardul de internet wireless IEEE este aceasta organul de conducere, care oferă tot felul de - publică tot felul de standarde cu privire la calculatoare. Cele 802 Standardele sunt toate despre tehnologii Internet. Deci, 802.3, de exemplu, este Ethernet standard, 802.15.1 cred ca este standardul Bluetooth, și 802.11 de Internet este tot despre wireless. În 1997, aceasta a venit afară. Ea nu a prins destul de pe dreapta departe. Nu a fost până în 1999 și 802.11b standard, a ieșit că tocmai a fost foarte popular. Câți dintre voi aminti atunci când computerele au început să vină afară și a obține acces Wi-Fi pe ele? Asta a fost un fel de misto, nu-i asa? Îmi amintesc obtinerea laptop-ul meu mai întâi în liceu, și a avut un card wireless în ea. Tatăl meu mi-a dat-o și a spus că ar trebui să-l utilizați pentru aplicații colegiul meu și toți de faptul că, si am avut nici o idee cum am fost de gând să se uite în sus acest lucruri online. Dar din fericire, am avut un card wireless, astfel că a fost destul de cool. In zilele noastre, veți vedea, de asemenea, 802.11g, care este unul din celălalt cu adevărat populare standardele wireless că e acolo. Atât B și G sunt destul de depășite în acest moment. Știe cineva ce versiune mai mulți oameni sunt acum pe în cazul în care sunteți de cumpărare routere wireless noi și că astfel de lucruri? N. Exact. Bingo. Și se dovedește că standardul ca este doar vine într-o formă de proiect, și există alte versiuni de pe drum. Cu fiecare dintre aceste standarde ceea ce suntem este câștigă mai mult de lățime de bandă, mai multe date la un ritm mai rapid. Aceste lucruri continua să se schimbe destul de repede. De asemenea, se face astfel încât să avem mai multe pentru a cumpara routere si tot ce chestii distractive. Hai sa vorbim despre ceea ce este de fapt comunicarea wireless la miezul său. Cu Ethernet și cele vechi dial-up modem-uri, ai avut de fapt, chestia asta pe care ați conectat la computer, si apoi conectat la un modem de soiuri, și apoi l-ați conectat la o mufă în perete. Ai avut această conexiune cu fir, nu? Ideea de fir este a scăpa de aceste lucruri. În scopul de a face acest lucru, ceea ce avem este în esență, o comunicare radio, în cazul în care router-ul wireless nostru - desemnate de către nostru pictograma wireless mica - este conectat la Internet cu acest săgeată solidă indică un fel de conexiune cu fir, dar atunci când vă conectați la routerul wireless esti de fapt, folosind aproape ca un walkie-talkie între computerul și ruterul wireless. Ceea ce e foarte misto despre acest lucru este puteți muta în jurul valorii de. Puteți transporta computerul peste tot Sanders, du-te naviga pe web, ce vrei, la fel ca și știți cu toții și dragoste, și nu trebuie niciodată să fie conectat la nimic. Pentru ca aceasta să funcționeze, avem atât această recepție și transmisie. Este într-adevăr este așa walkie-talkie. Acest router-ul wireless - care, în Sanders este așezat sub această etapă, chiar aici - este întotdeauna difuzarea și de a primi, difuzarea și de a primi, și, de asemenea, computerele fac tot ce același tip de lucru, de asemenea. Noi doar nu pot auzi. Un alt lucru pe care il poti face este puteți avea mai multe calculatoare vorbesc cu router-ul wireless aceeași. Cât sunteți mai aproape de router - și, din nou, aceasta este o comunicare radio - cât sunteți mai aproape, cu atât mai bine semnalul este, mai bine calculatorul dumneavoastră "aude" router-ul și poate comunica cu Internetul. Dacă voi sunteți vreodată la cămin, la casa ta și te intrebi de ce semnalul e de rău, este, probabil, deoarece o). nu ești foarte aproape de router-ul, sau b). e ceva între tine și router-ul ca un zid de ciment sau ceva care nu lasă aceste undele radio trec prin. Să vorbim un pic despre motivul pentru care baietii rai, cum ar fi Wi-Fi. Băieți răi iubesc Wi-Fi pentru câteva motive. Aici e tipul nostru urâtă rău acolo. Un motiv pentru acest tip rău iubește Wi-Fi se datorează faptului că, în mod implicit, o mulțime de routere wireless veni și atunci când le configurați, acestea sunt necriptate. Aceasta a fost o problemă, și au existat cazuri - mai multe instanțe, în cazul în care acum - baiat rau prezinta până la casa cuiva, observă că există o necriptat Wi-Fi la care se pot conecta. Ei conecta la internet Wi-Fi, și apoi începe descărcarea ei tot felul de chestii distractive. Și ei nu sunt descărcarea de pisoi, ei nu sunt descărcarea de pui. Acest lucru este la fel ca BitTorrent. Aceasta este urât de urat. Au existat cazuri în care FBI-ul chiar a sa implicat gândindu-se că persoana care deține casa este de fapt o merge acolo și descărcarea lucruri pe care ei chiar nu ar trebui să fie. După necriptate Wi-Fi nu este cu siguranta ceva ce vrei să faci, în cazul în care nu numai pentru a avea FBI-ul vine bat la ușa ta. Un alt motiv pentru care baietii rai iubesc Wi-Fi este motivul pentru care David a vorbit despre mai devreme în timpul pauzei. Pentru că e un radio de comunicare la miezul ei, dacă știți canal, puteți asculta la acest post de radio. De exemplu, în cazul în care există un drept de rău acolo stând în mijlocul dreptul de lângă punctul de acces, chiar lângă faptul că router-ul wireless, tipul cel rău se poate asculta pe toate de trafic wireless care vine din toate aceste computere. De fapt, aceste baieti - acestea puținii norocoși care sunt aici, în rândul din față - deoarece acestea sunt super-aproape de toate aceste routere wireless care stau sub scena, ei ar fi capabili să aud de trafic toată lumea în această cameră întregul dacă sunteți conectat la internet Wi-Fi și începe navigarea prin aceste puncte de acces. Nu e foarte greu să te așeze într-o poziție bună pentru a mirosi și dau seama ceea ce alți oameni fac. E ceva pentru a păstra în minte, mai ales dacă nu sunteți sigur în cazul în care punctul de acces este, si tu esti navigare spun, la un Starbucks. Se pare că și sniffing toate că este într-adevăr nu tot atât de greu de făcut. E un program numit tcpdump care gropile de tot felul de traficul TCP și puteți rula destul de simplu - la fel cum am făcut-o în această dimineață. Aici e un pic de o groapa, și aici e o parte din traficul care venea peste mea de rețea la timp. Puteți vedea - dacă strabism foarte greu - nu e un pic de Spotify acolo. Pe partea de sus a tcpdump - deoarece aceasta este un fel de durere de a utiliza - exista un program numit Wireshark care regrupează toate astea într-un GUI frumos. Wireshark este super-util așa că, dacă te duci pentru a lua clase de rețele, acesta este un instrument care vă veți ajuns să iubesc, deoarece vă ajută să diseca toate pachetele care sunt plutesc în jurul valorii de acolo. Dar poate fi, de asemenea, utilizat pentru rău. Este foarte simplu pentru a descărca doar acest program, boot-l, a începe o rețea de captare, și văd tot ce se întâmplă pe - și se filtrează și de a face tot felul de chestii amuzante cu ea. Un alt lucru pe care le puteți face cu comunicație fără fir nu este numai că puteți trage cu urechea, dar puteți afla, de asemenea, cum să șurub cu rețeaua și injectați informațiile dvs. propriu pentru a controla experiența pe care alte persoane în aceeași rețea fără fir devin. Să aruncăm o privire la asta. Iată Firesheep - pe care le cunoaștem și iubim din săptămâna trecută - care este faptul că tehnologia trage cu urechea. Dacă, de exemplu, am vrut sa avem activ du-te tipul nostru rău și mizerie în jurul valorii de cu unul dintre aceste computere, în acest scenariu avem un computer care încearcă să meargă la surf harvard.edu. Ce se întâmplă este, computerul trimite mai întâi un mesaj de la router-ul wireless și spune, hei, vreau să merg www.harvard.edu vizită. Spune-un motiv ei încercarea de a obține informații despre joc în acest weekend. Baiat rau, din moment ce el stă chiar în mijloc, chiar lângă faptul că punctul de acces, se poate vedea că comunicarea provin din calculator în router-ul, și el știe, "Aha Cineva! de gând să harvard.edu." (Evilly râde) Nu va fi această latență în timp ce merge de la comunicare router pentru a Internetului pentru a merge găsi pagina la harvard.edu-- la fel ca și voi cu toții după ce face psets PHP - și așa cel rău are un pic de timp, un pic de fereastră, în care acesta poate răspunde cu unele chestii. Să spunem că tipul ăsta rău, desigur, este un Yaley. El răspunde cu harvardsucks.org. Boo! Bad, Bad tip! Bad Yaley! Sau chiar mai rău, el s-ar putea raspunde cu asta. [Http://youtu.be/ZSBq8geuJk0]. Voi lasa voi seama ce este. Aceasta este de fapt o tehnologie numită Airpwn! care a fost a debutat la una din conferințele de securitate câțiva ani înapoi. Cu Airpwn! esti in stare sa injecteze efectiv traficul înapoi în rețea. Calculatoarele care încercau să iasă la Internet și încercarea de a ajunge la Google.com, la Facebook.com, la harvard.edu a se vedea răspunsul rău intenționat vin și își asumă imediat, bine, asta e raspunsul pe care-am fost de așteptare pentru și sfârșesc prin obtinerea de conținut de la harvardsucks.org sau nameyourfavoriteshocksite.com, și puteți vedea cât de repede lucrurile se vor deteriora. Toate aceste tipuri de lucruri nu poate fi făcut cu aceste conexiuni cablate, deoarece, cu o conexiune prin cablu e greu să Snoop pe la trafic. Dacă eu sunt un tip rău și pe un capăt este computerul dvs. iar pe celălalt capăt este router-ul - modem - Doar așa pot obține între care conexiunea este de a lipitură de fapt calculatorul meu în undeva la mijloc sau de a face altceva cu router-ul, ceva din aval. Dar cu fir, ea poate fi la fel de ușor ca sta in primul rand de o sală de clasă, și puteți face tot felul de lucruri urât la oamenii din spate. Hai sa vorbim despre modul în care s-ar putea apăra împotriva unora dintre aceste lucruri. Oamenii care au dezvoltat standardele wireless - 802.11 - ei nu sunt oameni prosti către orice stretch de imaginație. Aceasta este o tehnologie rece și atunci când a debutat în 1999, au venit cu acest standard numit WEP. Puteți vedea aici atunci când încercați și să se alăture într-o rețea fără fir, aveți tot felul de opțiuni de securitate diferite. Asta e un fel de durere, deoarece există toate împreună 6 și niciodată nu-l face cu adevărat sens care 1 să se alăture. Aceasta 1 la partea de sus este primul care au venit cu numită WEP. WEP standuri pentru Wired Equivalent Privacy, cred, Nu Protocolul de criptare wireless, care este un termen impropriu comună. Pentru că încearcă să-ți dau echivalente de confidențialitate și de protecție a securității echivalentă cu cea a unei rețele cu fir Cu WEP ce sfârșește prin a se întâmplă este, aveți o parolă simplă, care sa-ti tastați și care servește pentru a cripta toate comunicațiile între computer și router-ul. Care e problema cu WEP, deși? Parola cu WEP este foarte scurt, și, de asemenea, toata lumea foloseste ca parola exact aceeasi,  și deci este foarte ușor să decripteze. Deci, foarte repede seama că oamenii WEP a fost o problemă, și singurul motiv pentru care veți vedea că apar inca pe micuțul ăsta este - există unele sisteme mai vechi care folosesc WEP - ceea ce ar trebui să fie în schimb căutați sunt WPA și WPA2 chiar standardele care au fost eliberate ulterior. Aceste sisteme sunt un du-te mult mai bine la protecție la internet wireless. Asta a spus, ei încă nu au unele hackability. Există instrumente de acolo, care pot merge face acest lucru. Un lucru, în special, care poate fi urât este că dacă vă conectați și autentificate la un router wireless și folosesc un fel de comunicare criptată, se pare că un hacker poate trimite cu ușurință un singur pachet pentru a vă deconecta de la router, și o dată te-au deconectat ei pot asculta apoi în - ei pot mirosi acele pachete în timp ce încerca să restabilească conexiunea cu router-ul. Și cu faptul că informațiile pe care le pot merge apoi în și decripta restul tale de comunicare. Acest lucru nu este, prin orice mijloace orice fel de sigure dincolo de orice imaginație. Un alt lucru care le puteți face atunci când sunteți crearea de rețele fără fir sau că le unește este - dacă observați că aici când am aderarea la această rețea, se cere numele de rețeaua mea. Acest lucru este, de asemenea, cunoscut sub numele de SSID-ul. Și veți vedea aici, că pe dreapta am o cutie care arată-mi SSID-uri disponibile. E o Universitatea Harvard, un CS50, și o rețea CS50 Personal. Acum, câți dintre voi știa că există o rețea CS50 Personal în jurul valorii de? Unii dintre voi. Nu toți dintre voi. Problema cu acest lucru, desigur, este că dacă nu am fi pus asta pe lista noastră de SSID-uri, nimeni nu ar fi știut despre asta, cel mai probabil. Sper. Cu excepția cazului în voi sunt toate încearcă să crape în wireless nostru. Dar acest lucru este ceva ce se poate face acest lucru este foarte important atunci când sunteți configurarea un router la domiciliu. Acest lucru, probabil, nu se va întâmpla pentru câțiva ani pentru o mulțime dintre voi, dar nu ține cont de faptul că menținerea faptul că SSID-ul de acolo, și nu-l, de asemenea, numirea ceva super-comun va ajuta să vă mai sigure pe termen lung. Un tânăr final de lucruri pe care le puteți face. Una dintre ele este HTTPS. Dacă sunteți la un Starbucks, dacă vă aflați într-un public Wi-Fi zonă și te decizi să accesați contul dvs. bancar, accesați Gmail, Facebook, asigurați-vă că aceste conexiuni sunt merge peste HTTPS. E un strat suplimentar de securitate, un strat suplimentar de criptare. Singurul lucru de a păstra în minte aici este, cati dintre voi ați făcut clic vreodată prin acel ecran mare, roșu care spune, "Acest site web ar putea fi rău." Știu că am. E, probabil, atunci când sunteți navigarea toate pentru a te duci sa vezi patriei sau ceva de genul asta, nu? Da. (Râsete din audiență) Da. Acolo te duci. Știm cine se uita patriei. Asta ecran mare, roșu acolo de multe ori indică faptul că funky, ceva se întâmplă. Uneori, e doar site-ul în sine este nesigur, dar faptul că același ecran mare, roșu apare atunci când oamenii încearcă să montare de rețea ataca pe tine. Deci, dacă vedeți că marele ecran, roșu vin până la un Starbucks, nu faceți clic pe ea. Vești proaste. Vestea proastă poartă. Ultimul lucru pe care poti sa te uiti la este un fel de VPN. Acest VPN este disponibil prin intermediul Harvard - vpn.fas.harvard.edu-- și ce face asta este de fapt stabilește o conexiune sigură între tine și Harvard, canalele de trafic prin ea, și în acest fel, dacă stai într-un loc ca un Starbucks vă puteți conecta la Harvard, pentru a primi că traficul în condiții de siguranță, apoi răsfoiți la Harvard. Din nou, nu foarte simplu de manevrat. Oamenii pot ajunge în mijloc. Ei pot începe să-l rupe, dar acest lucru este mult mai sigură decât bazându-se pe securitatea de numai Wi-Fi. Bine. În concluzie, atunci când sunt crearea de rețele fără fir, atunci când aveți de gând pentru a utiliza fără fir în public - indiferent dacă este un Starbucks, fie că este vorba Cinci Băieți, fie că este vorba B.Good, ceva de genul asta - ori de câte ori au Wi-Fi - să fie conștienți de împrejurimile tale. Fii constient de ceea ce pot face oamenii. Și să fie în siguranță. Nu accesa contul dvs. bancar. Ar putea fi o trezire la realitate, dacă cineva prezinta cu parola mai târziu. Cu faptul că, du-te Crimson! Și am de gând să transforme lucrurile înapoi la David pentru un cuvânt final. (Aplauze) [David] M-am gândit Aș parts un singur lucru de la experiența personală. Un instrument s-ar putea dori să se joace cu - desi Apple a eradicat în mare măsură această problemă în cazul în care v-ați actualizat software-ul, deoarece - dar spre acest scop, de a nu fi capabil într-adevăr să aibă încredere în software-ul pe care le folosim, și la punctele Nate, fiind capabil de a mirosi destul de un pic de ceea ce oamenii fac alte acolo - aceasta a fost o bucată de software care a ieșit în urmă cu aproximativ un an și jumătate acum. [IPhoneTracker] [http://petewarden.github.com/iPhoneTracker/] De ceva timp, iTunes - înainte de a icloud, atunci când s-au sincronizarea iPod-ului sau iPhone dvs. sau sau de iPad-uri cu iTunes - în interesul backup, ceea ce iPhone-ul dvs. și aceste alte dispozitive au făcut de ceva timp este de utilizare a datelor GPS. Știți, probabil, că toate dvs. iPhone și androizi si telefoane Windows Mobile și ca în aceste zile poate urmări în cazul în care vă aflați în interesul de a arăta hărți și similare - bine ceea ce Apple și aceste alte companii nu este Ele urmaresc de obicei, aproape peste tot, de fapt ai fost în interesul îmbunătățirea calității serviciilor. Unul, puteți obține mai mult de publicitate direcționată și cum ar fi, dar doi, ele pot, de asemenea, seama de unde sunt acolo hotspot-uri wireless din lume, și acest lucru poate ajuta cu geo-locație - un fel de triangulare a poziției oamenilor. Pe scurt, fiecare dintre noi a fost de mers pe jos antene pentru o anumită cantitate de timp. Din păcate, Apple a luat decizia de proiectare - sau lipsa acestora - nu pentru a cripta aceste informații atunci când a fost back-up la iTunes. Și ce cercetator de securitate descoperit a fost că aceasta a fost doar un fișier imens XML - un fișier text imens - stând în software-ul iTunes oamenilor, si daca erai doar un pic curios, ai putea merge în jurul valorii de poking istoria soțul dumneavoastră, istoria colegul tău de cameră a lui, frate dumneavoastră istorie și cum ar fi, și mulțumiri pentru unele software-ul gratuit, ai putea complot toate acestea coordonatele GPS - latitudine și longitudine. Deci, am făcut de fapt acest lucru cu telefonul meu. Am conectat telefonul meu, și destul de sigur, versiunea mea de iTunes nu a fost criptat la timp, și ceea ce am fost capabil de a vedea modele au fost propriile mele. Iată Statele Unite și fiecare dintre aceste cercuri albastre reprezintă în cazul în care sa întâmplat să fi fost cu peste acele luni anterioare de a deține acest telefon special.  Mi-am petrecut o mulțime de timp, desigur, în nord-est, un pic de timp în California, o excursie de scurtă durată în Texas, și dacă măriți, atunci pe acest - aceasta este tot un fel de fin și interesante, dar am știut asta. Cele mai multe dintre prietenii mei știau acest lucru, dar dacă te scufunzi în adânc, sa vezi unde îmi petrec cea mai mare parte a timpului în nord-est. Dacă aveți dispozitivul de blocare pe unele orașe familiar cu aspect - această pată mare, cerneală albastră este în esență, centrat pe Boston, și apoi îmi petrec un pic de timp în suburbii radiante de la Boston. Dar am fost, de asemenea, face destul de un pic de consultanta acel an. Și în acest an este coasta de est, și puteți vedea de fapt, ma și iPhone-ul meu în buzunarul meu de călătorie înainte și înapoi între Boston și New York Philadelphia și mai jos, precum și cheltuielile de un pic de timp, vacanta, pe Capul, care este brațul mic acolo. Deci, fiecare dintre aceste puncte reprezintă un loc am fost, și complet fără știrea la mine, toata aceasta istorie a fost doar stând acolo pe calculatorul meu desktop. Dacă ați zoom out - acest fapt a fost un pic deranjant. Am avut nici o amintire a fi fost vreodată în Pennsylvania acel an. Dar eu, deși un pic mai greu despre asta și am dat seama, oh, a fost, de fapt, acea călătorie și destul de sigur, telefonul meu mi-a prins. Apple a criptat, deoarece aceste informații, dar acest lucru este de asemenea doar o dovadă a cât de multe informații sunt colectate despre noi, și cât de ușor - pentru o mai bună sau mai rău pentru - e acceptabil. Una dintre cele mai ia-aways sperăm că vorbim de lui Rob, de la talk lui Nate și vizuale mici, cum ar fi acest lucru astăzi este doar pentru a fi conștienți mai mult de acest astfel încât, chiar dacă - așa cum la punctul lui Rob - un fel de înșurubat Suntem, nu? Nu e mult putem face atunci când vine vorba de unele dintre aceste amenințări, dar la sfarsitul zilei trebuie să avem încredere ceva sau pe cineva dacă dorim să utilizeze efectiv aceste tehnologii. Cel puțin putem fi luarea deciziilor în cunoștință de cauză și a deciziilor calculate dacă sunt sau nu ar trebui să ne verificarea, de fapt acest cont deosebit de sensibile sau ar trebui să ne fie efectiv trimiterea că suspectul ușor mesaj instant  într-un mediu Wi-Fi ca asta. Deci, cu care a spus, doar unul ramane test, o prelegere rămâne. Ne vedem miercuri, apoi luni. (Aplauze și urale) [CS50TV]