[Powered by Google Translate] [Viikko 10] [David J. Malan] [Harvardin yliopisto] [Tämä on CS50.] [CS50.TV] Selvä! Tämä on CS50, mutta ei paljon kauemmin. Tämä on alku viikon 10. Keskiviikkona meillä on tietokilpailu, ja sitten ensi maanantaina meillä on juhlallinen kakku kuten tulemme täyden ympyrän kaikki Paluumatkalla viikolla nolla. Tänään puhumme yksi suosikkini aiheita, totta puhutaan - että turvallisuuden ja yksityisyyden vaikutuksia kaikkien laitteiston ja ohjelmiston että me kaikki käyttävät nykyään. Ollakseni rehellinen, on olemassa paljon uhkia siellä että jos et ole oikeasti keskeytetty ajatella niitä, he oikeastaan ​​aika pelottavaa. Asia kohtaan - jos joku olet joskus ladannut ohjelmiston osa poissa internetistä ja asentaa sen tietokoneeseen, olet kosketuksissa huomattavaa luottamusta, eikö? Mikään ottaa estänyt Skype tai Chrome, tai ohjelmisto olet asentanut tietokoneeseen, mistä yksinkertaisesti poistamalla kaikki tiedostot kovalevyllä; lataamatta kaikki tiedostot kiintolevyltä joitakin pahis palvelimeen; lukemalla kaikki sähköpostit, kaappaamasta kaikki pikaviestejä. Koska todellisuus on nykyään useimmissa nykyaikaisissa käyttöjärjestelmissä ei todellakaan ole paljon väliseinä ohjelmia että me asentaa, Sinä ja minä olemme aika paljon vain sellaista rajan sormet ja ottaen uskoon että App me ladata ilmaiseksi, tai että asia, joka on 99 senttiä, on oikeastaan ​​täysin hyvänlaatuinen. Mutta kuten olemme nähneet stä C, ja nyt PHP ja JavaScript, tämä kyky ilmaista itseämme ohjelmallisesti, voit tehdä useimmat mitä haluat ohjelman käyttäjä itseään voisi tehdä. Joten tänään keskittyä siihen aiheeseen - ei vain joitakin uhkia, mutta myös puolustusta. Itse asiassa maailman yleistä turvallisuutta, siellä on tavallaan tämä kissa ja hiiri-peli, ja minä daresay roistoja melkein aina pulassa. Kun se tulee hyödyntämään laitteiston ja ohjelmiston omaan henkilökohtaiset tietokoneet, Meidän on ymmärrettävä, että pahis yksinkertaisesti tarvitsee löytää yksinkertainen virhe - yksi hyväkseen, yksi bug - in pala ohjelmisto olemme kirjallisesti tai käynnissä jotta häntä valtaavat koko järjestelmän. Sen sijaan me - hyvät tyypit - täytyy paikata ja korjata kaikki nämä viat ja välttää kaikki nämä heikkoudet. Ja niin, minä daresay kokonaisuudessaan, pahikset on etu. Mitä luokkia kuten tämä ja myöhemmät luokat ovat todella noin ei siitä opetus, miten voit käydä taisteluihin nämä roistot eivät, mutta miten suojautua tai ainakin miten lasketaan päätöksen että kyllä, minä tiedän tämän pala ohjelmisto voi todella lukea jokainen sähköpostit, mutta olen kunnossa kanssa, että koska arvon se tuo minulle toisaalta. Olen erittäin tyytyväinen, että seurassani 2 älykkäin tuntemani ihmiset - Rob Bowden ja Nate Hardison. Rob on aikeissa viedä meitä kiertueen alhaisin varmuusliuskojen - että kääntäjä, joka tähän asti olemme kaikki rakastamaan ja luottamaan. Rob Bowden. [Aplodit] [Rob] Selvä. David on melko paljon ottanut minun koko Spiel että olin menossa esitellä kanssa, mutta - Useita viikkoja sitten, näit esimerkin puskurin ylivuoto hyökkäys joka on esimerkki hakkeri murtautuneet joitakin ohjelmisto että niitä ei pitäisi olla murtautuneet. Toisella puolella tämän on joskus on ohjelmisto, joka on ilkeä ja sinänsä. Se ei edes tarvitse hakata. Henkilö, joka kirjoitti ohjelmisto haluaa hakata sinut. Toivotaan vain hypätä suoraan koodia, vilkaisemalla "login.c". Tässä typerä ohjelma, joka vahvistaa käyttäjätunnuksen ja salasanan yhdistelmällä. Täällä pitäisi ehdottomasti saada mukava C jälleen tietokilpailu. Ensinnäkin käytämme saada jouset kuvaamaan käyttäjätunnuksen, Sitten käytämme get merkkijono napata salasanan, ja sitten meillä on joitakin triviaaleja tarkastuksia vain, on käyttäjätunnus "Rob"? Ja on salasana "thisiscs50"? Tai on käyttäjätunnus "Tommy" ja salasana "i <3javascript"? Jos jompikumpi näistä on,  Sitten olemme juuri menossa tulostetaan "Success", ja sitten meillä on pääsy. Muuten aiomme tulostaa "invalid login" ja sitten, tietenkin,  koska luonnos jouset malloc muistiin, me vapaa käyttäjätunnuksen ja salasanan. Tämä on triviaali kirjautuminen ohjelmaa, ja jos ajattelee kun kirjaudut laitteen ihan samanlaisia ​​- tai edes kirjautua tietokoneeseen - siellä on vain joitakin kirjautuminen ohjelma, joka antaa sinulle pääsyn. Täällä meillä sattuu olemaan kovakoodatuilla "rob", "thisiscs50", "Tommy", "i <3javascript" mutta luultavasti jonkin verran jonnekin käyttöjärjestelmän joka on lista käyttäjätunnuksia, jotka voivat kirjautua järjestelmään ja lista salasanoja liittyvät kyseisiin käyttäjätunnukset. Yleensä salasanoja ei vain tallennettu selväkielisenä näin. On jonkinlainen salauksen, mutta tekee meidän esimerkki. Tulossa meidän kääntäjä - Se tulee olemaan hyvin suoraviivainen. Meidän määritellä ainakin jotkut tiedosto haluamme koota, ja sitten täällä - nämä linjat ovat vain lukemalla tiedostoa. Se lukee koko tiedoston yhdeksi isoksi puskuriin, ja sitten me null-lopettaa meidän puskuri kuten aina, ja lopuksi me vain koota tiedostoa. Emme menossa katsomaan miten käännös on tosiasiallisesti täytäntöön, mutta vihje, se vain vaatii clang. Me aiomme käyttää tätä ohjelmaa koota asioita sijaan clang. Yksi ongelma aloitamme on näemme haluamme koota meidän kääntäjä, mutta jos emme aio käyttää clang, en tiedä, mitä aion koota kanssa. Tämä on yleinen ongelma tunnetaan bootstrapping. Joten, vain tämän kerran, aion käyttää clang kääntää meidän kääntäjä. Jos ajattelet GCC ja clang - nämä ohjelmat, jotka kääntäjät päivitetään jatkuvasti, ja nämä kääntäjät kootaan käyttäen GCC ja clang. Clang on vain yksi iso C tai C + +-ohjelma, joten kääntäjä he käyttävät kokoamaan se on clang. Täällä nyt olemme juuri menossa käyttää meidän kääntäjä kääntää meidän kääntäjä, ja voimme jopa sanoa - ". / kääntäjä", "compiler.c ',' compile.c ','-o kääntäjä". Huomaa että tämä on tarkka komento juoksin ennen - vain korvata clang kanssa '. / kääntäjä ". Ja nyt meillä on toinen kääntäjä, mutta se on aivan sama. Se vain vaatii clang. Aiomme käyttää meidän kääntäjä kääntää meidän kirjautuminen ohjelmaan. Okei - ". / Kääntäjä login.c-o login". Joten, määrittelemätön viittaus "GetString". Got "-lcs50". Okei. Joten nyt on meidän login ohjelman. Running se - saada "Kirjoita käyttäjänimi". Yksi esimerkki oli ryöstää. Kirjoita salasana - thisiscs50. Ja menestystä! Minulla on pääsy. Juoksu uudelleen ja syöttämällä jotkut väärä salasana - tai virheellinen käyttäjätunnus ja salasana - invalid login. Okei. Mitään mielenkiintoista tässä toistaiseksi. Mutta katsotaanpa katsomaan kirjautua uudelleen - ja tämä tulee olemaan jokseenkin triviaali esimerkki, mutta älkäämme lisätä muuta täällä ja sanoa, if ((strcmp (käyttäjätunnus, "hakkeri") == 0 && strcmp (salasana "LOLihackyou") == 0)) joten nyt, printf ("hakkeroitu! Sinulla on nyt pääsy. \ n"); okei. Laadinnassa - kääntäjä login.c-o login-lcs50 - Nyt käynnissä kirjautuminen - ja jos voin käyttää käyttäjätunnusta hakkeri ja salasana LOLihackedyou - Teinkö kirjoittaa väärin siellä ennen? At login.c--ihack - Minä ei hakata koska luulen tehdä myöhemmin. Okei. Kääntää uudelleen. Re-käynnissä - Hacker - LOLihackedyou - Hacked! Sinulla on nyt pääsy. Ei näytä olevan, että paljon eroa koska se on täsmälleen sama tarkastus tein muita käyttäjätunnuksia ja salasanoja. Plus, iso asia on, että jos muut ihmiset katsovat tätä login.c-- sanoa, jos jätän tämän pois minun kumppani, ja he avaavat tiedoston, ja he lukevat tämän, he näkevät - Okei, miksi nämä riviä koodia tässä? Se ilmeisesti ole jotain, että pitäisi olla ohjelma. Joissakin ohjelmissa - kuten kaikki oma ohjelmisto, joka ei ole avoimen lähdekoodin - et ehkä koskaan näe näitä riviä koodia. Jotain Skype tai jotain - kaikki tiedätte, Skype on tietokoneeseen ja on vain joitakin erityisiä käyttäjätunnus-salasana-yhdistelmää mikä kirjautua Skypeen jollakin erityisellä tavalla. Emme tiedä sitä, ja ihmiset eivät tiedä sitä, koska he eivät saa lukea lähdekoodin nähdä, että on tämä reikä. Mitä me kutsumme tätä - vaikka tämä ei ole kovin fiksu esimerkki - tätä kutsutaan takaoven. Jos ajattelet takaoven talosi. Täällä, jos vahvista käyttäjätunnukset "ryöstää" tai "Tommy" että olisi kuin käyttämällä "etuovi". Niin minun pitäisi turvallisesti kirjautua. Mutta jos en kirjoita tähän käyttäjätunnuksesi ja salasanasi - niin se käyttämällä "takaoven". Se ei ollut tahallista tapa päästä ohjelmaan, mutta se toimii edelleen. Ja ihmiset yleensä eivät pitäisi tietää näistä takaportteja. Menemme parantamiseksi. Katsotaanpa palata tähän meidän alkuperäinen login.c, ja mennään katsomaan meidän uusi kääntäjä. Okei. Kaikkea täällä on täsmälleen sama. Olemme luet koko tiedoston puskuriin. Kaikkea täällä on sama. Me vain koottu tiedosto. Mutta nyt minulla on tämä iso jos täällä joka sanoo, jos tiedosto Satun kokoamaan on login.c, Sitten teen jotain erityistä. Mikä on se jotain erityistä? Näen täällä joitakin merkkijono kutsutaan hakata ", ja tarkastelee näitä riviä koodia - Nämä ovat samoja rivejä koodia - Luulen tein käytön "ihack" eikä "ihacked" ennen - tarkastelee näitä riviä koodia, he täsmälleen sama riviä koodia että minulla oli login.c ennen. Mutta nyt, sen sijaan, että niitä login.c, Aion laittaa ne minun kääntäjä. Nämä ovat riviä koodia Aion haluta lisättävän login.c. Nämä riviä koodia - puskuri, joka alunperin oli minun login.c ei enää olemaan tarpeeksi suuri, koska nyt haluan myös lisätä tähän hakata keskelle minun ohjelma. Kaikki tämä tekee luo uusi puskuri, joka on riittävän suuri - sekä alkuperäisen tiedoston ja ylimääräisiä rivejä koodia - hakata - että haluan lisätä sinne. Tässä on jotain huomata - char * pattern = "/ / kieltää näiden pääsyä!" Jos katsomme taaksepäin login.c, näemme täällä tämä kommentti - kieltää näiden pääsyä! Vuonna login.c tämä kommentti näyttää täysin vaaraton, joten ei epäilisi mitään ilkivalta vain tämän kommentin. Mutta meidän kääntäjä, me nimenomaan menossa katsomaan tätä koodirivin ja sitten kun löydämme sen - Näiden koodiriviä asennat meidän hakata tuohon asentoon. Joten olemme iteroimalla koko login.c, Olemme lisäämällä että hakata tarkalleen missä se sanoo kieltää näiden pääsyä, ja sitten me laadinnassa - ei alkuperäistä login.c mutta uusi login.c kanssa hakata lisätty oikealle "kieltää näiden pääsyä." Nyt haluan kääntää minun uusi kääntäjä kanssa hakata mukana. En aio käyttää clang, joten katsotaanpa kopioida kääntäjä käytimme ennen ja käyttää sitä - niin, kääntäjä compiler.c compile.c-o evil_compiler. Nyt meidän pahat kääntäjä - jos käytämme pahan kääntäjä kääntää minkä tahansa tiedoston, tiedosto kääntää niin kuin pitääkin. Se on täysin normaalia. Mutta jos käytämme pahan kääntäjä kääntää kirjautuminen - niin,. / evil_compiler login.c-o login-lcs50 - katsot login.c taas, siellä mitään täällä. Se on meidän tavallista ", jos se on joko ryöstää tai Tommy olemme, muuten olemme ulkona". Mutta kun hoidamme executable, tämä toimii normaalisti. Running jälleen - hakkeri, LOLihackyou - Hacked! Sinulla on nyt pääsy. Vain katsomalla login.c, te ette usko mitään väärin. Mutta kääntäjä, joka on käytössä koota login.c on suunniteltu erityisesti lisätä tähän hakata ohjelmaan. Olemme vain muutti alkuperäistä ongelmaa. Alunperin meillä oli näitä riviä koodia login.c että jos kukaan muu katselin niitä, ne olisi kuin, miksi nämä täällä? Nyt jos joku sattuu katsomaan meidän kääntäjä, he katsokaa näitä riviä koodia ja sano, miksi nämä täällä? Joten, emme ole täysin ratkaissut ongelman. Mutta voimme käyttää tätä ajatusta uudelleen. Kun Tutustu kolmannen version kääntäjä, se on sama idea. Luemme koko tiedosto puskuriin täällä, Kokoamme tiedosto tänne, ja minulla on jonkinlainen merkkijono hakata täällä, mutta huomaa tiedosto olen todella hakkerointi nyt. Olen hakkerointi compiler.c ei login.c. Mutta mitä minä insertoimalla compiler.c? Olen lisäämällä tämän koodin, joka on tarkka koodi edellisessä kääntäjä, joka oli tarkoitus lisätä koodia login.c. Tässä on meidän jos strcmp tiedosto login.c ja aseta osaksi login.c meidän hakata juttuja. Tämä uusi kääntäjä on tarkoitus luoda kääntäjä jonka tarkoituksena on koota login vihamielisesti. Näemme, miksi se auttaa meitä. Kaikki muu on sama, joten se toimii juuri niin kuin se toimi meidän edellinen kääntäjä. Olemme vain iteroimalla yli koko compile.c. Mutta nyt sen sijaan etsivät "kieltää heiltä pääsyn" etsimme "koota tiedostoa." Jos on koota tiedostoa? Tarkasteltaessa meidän täysin viaton compiler.c, Se on oikein täällä alareunassa. Tämä kommentti - koota tiedosto - jälleen, että näyttää täysin vaaraton. Mutta meidän haittaohjelmia versiossa kääntäjä, aiomme - oikealle ennen kommentin - lisätä tämän koodin jonka tarkoituksena on lisätä koodin laatiessaan login.c. On olemassa paljon tasojen välillisen tässä. Mennään todella ajaa sitä. Jälleen me kopioida alkuperäistä kääntäjä. Nyt compile - kääntäjä compiler.c compile.c-O evilest_compiler - ja nyt evilest_compiler. Evilest kääntäjä - jos käytämme että koota meidän kääntäjä, Katsotaanpa todella näyttävät. Evilest_compiler - tuo sen yli, aina takaisin versioon 1 meidän kääntäjä - versio 1 meidän kääntäjä, joka oli juuri lukenut tiedoston ja kääntää sen. Täällä me tiedämme, että evilest_compiler - kun se kokoaa tämän tiedoston - aikoo lisätä koodin täällä ennen koota tiedosto, ja että koodi tulee näyttämään täsmälleen samalta koodin toinen versio meidän kääntäjä joka teki tämän. Tämä koodi, joka on tarkoitettu murtautua kirjautuminen, aiotaan työntää meidän kääntäjä mennessä evilest kääntäjä. Katsotaanpa käyttää evilest_compiler laatia meidän kääntäjä. Nyt käytämme kääntäjä, palata yli kirjautua, ja muistakaa tämä login.c ei ole mitään epäilyttävää siinä. Mutta käyttämällä kääntäjä kääntää login.c, Rob, thisiscs50, menestys. Let login hakkeri, LOLihackyou, hakkeroitu! Sinulla on nyt pääsy. Tunnustaa, että tämä oli erilainen versio 2 meidän kääntäjä. Kääntäjä käytämme - mennään takaisin - kopio login - Pankaamme meidän kääntäjällä takaisin tänne. Poistaminen evilest kääntäjä. Kaikki meillä on jäljellä nyt kääntäjä. Jos katsomme compiler.c, mikään ei siellä joka näyttää haittaohjelmia millään tavalla. Jos katsomme login.c, mikään ei täällä joka näyttää haittaohjelmia millään tavalla. Mutta, kun käytämme kääntäjä kääntää login.c, saamme hackable version login.c. Kun käytimme kääntäjä kääntää uuden version kääntäjä, saamme hackable version kääntäjä. Nyt jos me mennä ulos ja jakaa meidän kääntäjä executable, ja kukaan ei tiedä että on olemassa jotain haittaohjelmia siitä. Tämä on todella niin - en muista vuotta - Ken Thompson, ja hän voitti Turing Award - Jos et tunne Turingin palkinnon, se on lähes aina määritelty Nobelin of Computer Science, joten Näin minä määritellä se. Ken Thompson piti puheen, kun hän sai Turing-palkinnon nimeltään "Reflections on luottaminen Trust." Pohjimmiltaan tämä oli ajatus puheessaan. Paitsi sijaan meidän kääntäjä, hän puhui GCC - vain yksi kääntäjä kuten clang - ja mitä hän sanoi on, kuten meidän login.c, meidän login.c näyttää melko hyödytön mutta hän puhui varsinaisen UNIX login.c. Kun kirjaudut sisään laitteen on olemassa joitakin login ohjelma on käynnissä. Se oli login että hän puhui. Tämä oli pohjimmiltaan hänen ideansa. Hän sanoi, että GCC, hän teoriassa voinut istuttaa bug - ei bugi vaan haittaohjelmat - että kun kootaan login toiminto - login tiedosto - lisättäisiin takaoven, jotta hän voisi mennä ehdottomasti mitään UNIX maailmassa ja kirjaudu joitakin erityisiä käyttäjätunnuksen ja salasanan. Tuolloin GCC oli melko kääntäjä että jokainen käyttää mihinkään. Jos joku sattui päivittää GCC, Sitten he kääntää GCC käyttää GCC, ja haluat silti huono versio GCC koska se oli nimenomaan laadittu tunnustamaan, että se kääntää uudelleen kääntäjä. Ja jos joskus käyttää GCC kääntää login.c tiedoston, Sitten se lisätään tämän takaovesta, että hän voisi käyttää kirjautua mihin tahansa tietokoneeseen. Tämä kaikki oli teoreettinen, mutta - se tietty seikka oli teoreettinen, mutta ideat ovat hyvin todellisia. Vuonna 2003 oli samanlainen esimerkki, jossa - me katsomaan tämän tiedoston, ja se ei ole mitään todella tehdä sen kanssa, mutta vika on samanlainen. Tämä tiedosto vain määrittää funktion nimeltä kahtiajaon. Se vie argumentti, argumentti b, ja tarkoitus on tehdä jaettuna b. Mutta se jokin virhe tarkkailun, joten tiedämme asiat ovat outoja, jos b sattuu nolla. Jos b on nolla, niin jaamme tämän huomioon 2 tapausta. Saatat jo nähdä bug. Ensimmäisessä tapauksessa - jos on nolla, niin teemme nolla jaettuna nollalla ja me vain sanoa, että on määrittelemätön. Toisessa tapauksessa - jos ei ole nolla, niin se on jotain 1 jaettuna nollalla, ja me vain soittaa, että äärettömyys. Else palaamme tavalliseen jaettuna b. Ja niin täällä, näytät niitä 3 tapausta, ja me todella ajaa hajota - se huutaa se minulle - niin, välittämättä clang varoitukset - lopussa ei void funktio - ilmeisesti en kokoamaan tätä etukäteen. Return 0. Tee jakaa - kunnossa. Kanssa. / Kuilu, näemme 3, Infinity, Infinity. Nolla jaettuna nollalla ei olisi palannut ääretön. Ja jos et ole tajunnut bug vielä - tai ei näe sitä ennen - näemme, että teemme = 0. Luultavasti meillä tarkoitti == 0. Luultavasti. Mutta tämä oli todella jotain, että jälleen vuonna 2003, Linux kernel - joten meidän laite käyttää Linux-ydintä - tahansa Linux-käyttöjärjestelmä käyttää Linux kernel - joten bug hyvin samanlainen kuin tämä ilmaantui. Ajatuksena bug oli - taas oli vain jokin funktio, jota kutsutaan, ja se teki vähän Virheentarkistus. Oli tiettyjä panoksia että tämä virheentarkistuksen - se olisi ollut kuin, okei, ei voi kutsua tätä toimintoa jakaja 0. Joten aion vain palata jokin virhe. Paitsi, se ei ollut niin viaton kuin vain asettamalla yhtä suuri kuin 0. Sen sijaan tämä rivi koodia päätyi tekemään jotain enemmän kuin käyttäjä = ylläpitäjä. Tai user = pääkäyttäjä. Se oli viaton - ensi silmäyksellä - virhe, jos se olisi vain ollut kohtuullinen että halusin vain ilmoittaa jotain erityistä jos käyttäjä sattui olemaan pääkäyttäjä pääkäyttäjä. Mutta sitten uudelleen ajatellut sitä, henkilö halusi näyttää yksinkertainen typo, mutta jos tämä koodi olisi tosiasiallisesti luovutettu, niin olisit voinut murtautua tahansa järjestelmään viemällä erityinen lippu - Tässä tapauksessa b = 0 - ja se automaattisesti tee käyttäjä ylläpitäjä, ja sitten hän on täysi kontrolli. Tämä tapahtui vuonna 2003. Se vain kävi niin, että ainoa syy se on kiinni oli sillä sattui olemaan joitakin automatisoitu järjestelmä että huomasi muutoksen tähän tiedostoon joka ei koskaan olisi pitänyt muuttaa ihmisen. Tiedoston pitäisi vain pitänyt automaattisesti. Se vain kävi niin, että joku kosketti - hyvin, henkilö, joka halusi hakata kosketti tiedoston, ja tietokone kiinni joka koskettaa. Joten he muuttivat tämän ja vasta myöhemmin tajusi mitä katastrofi olisi ollut jos tämä oli saanut ulos todelliseen maailmaan. Saatat ajatella, että - palaan meidän kääntäjä esimerkki - vaikka emme voi nähdä - katsot lähdekoodin - että mitään erityistä on väärässä, jos me todella katsoa binäärikoodi kääntäjä, näkisimme, että jotain on vialla. Esimerkiksi jos otamme jouset toimivat - joka on juuri menossa katsomaan yli tiedoston ja tulostaa kaikki merkkijonot se löytyy - jos ajaa jouset meidän kääntäjä, näemme, että yksi merkkijono, se toteaa on tämä kummallinen - if (strcmp (käyttäjätunnus, "hakkeri") - blaa, blaa, blaa. Jos joku sattui olemaan vainoharhainen tarpeeksi luota heidän kääntäjä, he voisivat ajaa jousille ja nähdä tätä, ja sitten he tietävät, että siellä oli jotain vikaa todellinen binary. Mutta jouset oli väistämättä jotain, joka oli koottu. Joten, kuka sanoa, että meidän kääntäjä ei vain erikoisempia koodi joka sanoo, jos jouset on koskaan ajaa meidän kääntäjä, älä tulostaa kaikki tämä haitallista koodia. Sama idea, jos haluamme näyttöön koota tiedosto - Olemme oppineet, että kokoajan tuo meitä kokoonpano koodin konekielelle - Voimme mennä vastakkaiseen suuntaan - objdump-d kääntäjä - antaa meille kokoonpanoon meidän koodi. Tarkasteltaessa tätä, ihan hämärä, mutta jos haluamme, voisimme katsoa läpi tämän ja syy, odota, siellä on jotain meneillään täällä, että ei pitäisi menossa, ja sitten me tunnustettava, että kääntäjä tekee jotain haitallista. Mutta aivan kuten jouset, kuka sanoa objdump ei ollut erityistä-koteloitu. Periaatteessa se tulee alas et voi luottaa mihinkään. Kohta paperin nimeltään "Luottavainen Trust" on Yleensä me luotamme kääntäjä. Voit kääntää koodin ja odottaa sen mitä pyydät sitä tekemään. Mutta miksi sinun pitäisi luottaa kääntäjä? Et kirjoittanut kääntäjä. Et tiedä, mitä kääntäjä on väistämättä todella tekee. Kuka sanoo, voit luottaa siihen? Mutta silloinkin, hyvin, ehkä voimme luottaa kääntäjä. On kymmeniä tuhansia ihmisiä, jotka ovat katsoneet tätä. Joku on tunnustettava jotain oli kanssa kääntäjä. Mitä jos me vain mennä 1 taso syvemmälle? Se voisi jopa olla prosessori. Niin naurettavalta kuin se voisi olla, ehkä siellä on joku rogue työntekijä Intelin jotka luo nämä prosessorit että aina, että prosessori huomaa että käytät joitakin komennon joka on tarkoitus kirjautua tietokoneeseen, prosessori hyväksyy tiettyjä käyttäjätunnuksen ja salasanan yhdistelmä. Olisi villisti monimutkainen, mutta joku voisi tehdä sitä. Siinä vaiheessa, aiotko todellakin avata tietokoneen tarkastella prosessorin ja käyttää mikroskooppia tunnustaa, että nämä piirit eivät rivissä niin kuin pitäisi? Kukaan ei ikinä saada kiinni, että virhe. Jossain vaiheessa, sinun täytyy vain antaa periksi ja luottaa jotain. Useimmat ihmiset eivät luota kääntäjään tässä vaiheessa. Eli ei välttämättä, että sinun pitäisi. Tarkasteltaessa hieman surullisen video - [Dramaattista musiikkia] [Se UNIX. Tiedän tämän.] [Se kaikki tiedostot -] Hän sanoi, "Se on UNIX. Tiedän tämän." Korvaa UNIX kanssa tahansa suosikki käyttöjärjestelmä on - Hän olisi voinut sanoa: "Se on Windows-järjestelmän. Tiedän tämän." Se on täysin merkityksetön lausunto, mutta kaikki me tiedämme, että hän sattuu tietää takaoven UNIX. Hän tietää joitakin käyttäjätunnus / salasana-yhdistelmää, joka todella antaa hänen tehdä mitä hän haluaa. Selvä. Moraalinen tänään on periaatteessa et voi luottaa mihinkään. Jopa mitä kirjoitat - et kirjoita kääntäjä. Kääntäjä voi olla huono. Vaikka teit kirjoitat kääntäjä, asia joka on käynnissä kääntäjä voisi olla huono. (Nauraa) Ei ole paljon voit tehdä. Maailma on tuhoon tuomittu. Takaisin David! [Aplodit] [David] Kiitos. Se oli todella masentavaa. Mutta todellakin, Rob on oikea. Meillä ei todellakaan ole ratkaisu, mutta olet saamassa joitakin ratkaisuja Joidenkin yleisempiä puolustukset. Tätä odotellessa, mitä Nate ja olen tehnyt offstage siellä on tietää, että on olemassa niin monia läppäreissä tässä huoneessa, olemme haistaa kaikki langattoman liikenteen läpi tätä tilaa viimeisen 20 minuutin aikana aikana Rob puhe, joten aiomme ottaa 2 minuutin tauon. Nate menee perustaa, ja sitten me aiomme puhua kaikista kamaa olisimme löytäneet. (Naurua) Joten, olen ehkä liioitellut hieman vain vuoksi draamaa, mutta olisimme voineet haistaa kaikki langattoman liikenteen, koska todellakin, se on niin helppoa. Mutta on myös tapoja, joilla voit puolustaa vastaan, ja siten myös siitä, Annan teille Nate Hardison. >> [Nate] Sweet. (Suosionosoituksia) [Nate] Kiitti. Arvostan huutaa. Selvä! Se on peli viikossa. Oletteko te innoissaan? Toivottavasti se tulee olemaan iso peli lauantaina. Kuvittelen te tässä vaiheessa - koska sinulla on tietokilpailu keskiviikkona All About koodi, ja me vain istunut ihana luento Rob kanssa koko joukko C koodi siihen - ovat ehkä hieman väsynyt koodia. Tässä osassa olemme todella aio koskettaa mitään koodia lainkaan. Olemme juuri menossa puhua tekniikkaa että käytät joka päivä, usein monta, monta tuntia päivässä, ja me puhumme vaikutuksista turvallisuuteen, että on olemassa. Olemme puhuneet paljon turvallisuutta aikana lukukauden, ja Aloitimme hieman salauksen. [Bdoh lv vwlqng!] Ja kun te olette luultavasti super-innoissani ohimennen muistiinpanoja toisiinsa luokassa käyttäen Caesar cipher kuten tämä, Todellisuudessa siellä on hieman hauskaa on ollut, kun olet todella puhumme turvallisuudesta ja tuollaista kamaa. Tänään aiomme kattaa joitakin tekniikoita että ihmiset todella käyttävät reaalimaailman tehdä kaikenlaisia ​​asioita alkaen haistaa ihmisten paketteja todella menossa ja tunkeutumalla ihmisten pankkitilit ja kaikki tämä. Nämä ovat oikeutettuja välineitä, että puhumme lukuun ottamatta mahdollisesti yksi työkalu. Ja minä vain tehdä nopeasti vastuuvapauslauseke. Kun puhumme näistä asioista, puhumme niistä niin tiedät mitä siellä, ja olet tietoinen siitä, miten olla turvassa, kun olet poissa tietokoneen. Mutta emme todellakaan halua vihjata, että sinun pitäisi käyttää näitä työkaluja oman asuntolan tai talosi koska voit törmätä paljon suuria kysymyksiä. Se on yksi syy, että emme nykyään oikeastaan ​​olleet haistaa teidän paketteja. Selvä. Viime maanantaina puhuimme evästeet ja HTTP ja todentaminen, ja miten Firesheep avaa tämä iso ovi omalle Facebook-tilin, Hotmail-tilin - jos joku on vielä käytössä Hotmail - ja monia muita tilejä. Paljon tätä kamaa tulee rakentaa pois siitä, mutta ensin haluan tehdä nopea kierros miten Internet on kehittynyt ajan myötä. Takaisin 90-luvulla, te ehkä muistaa todella kytkemällä tietokoneiden kanssa yksi näistä. Nyt emme tee sitä niin paljon enää. Se todella osoittautuu että voidakseen kytke Ethernet-kaapeli minun laptop, Olen nyt käyttää yhtä näistä sovittimia on eräänlainen hullu. Sen sijaan vuonna 1997 meillä oli uusi, hauska tekniikka tuli ulos, joka on tunnettu IEEE 802.11, joten tämä on langaton internet-standardi IEEE on tämä hallintoelin, joka antaa ulos kaikenlaisia ​​- julkaisee kaikenlaisia ​​standardeja suhteessa tietokoneisiin. 802 standardit ovat kaikki noin Internet-teknologioiden. Niin 802,3, on esimerkiksi Ethernet-standardin, 802.15.1 mielestäni Bluetooth-standardin ja 802,11 on kyse langaton internet. Vuonna 1997 tämä tuli ulos. Se ei ole aivan saalis heti. Vasta 1999 ja 802.11b-standardin tuli ulos, että juuri todella suosittu. Kuinka moni teistä muistaa, kun tietokoneet alkoivat tulla ulos ja saada langaton niitä? Se oli aika siistiä, vai mitä? Muistan saada minun ensimmäinen kannettava lukiossa, ja se oli langaton kortti. Isäni antoi sen minulle ja sanoi, että minun pitäisi käyttää sitä minun college apps ja kaikki tämä, ja minulla ei ollut aavistustakaan siitä, miten aioin etsiä tätä kamaa verkossa. Mutta onneksi minulla oli langaton kortti, joten oli aika siistiä. Nykyään näet myös 802.11g joka on yksi muista todella suosittu langattomia standardeja se siellä. Sekä b ja g on melko vanhentuneita tässä vaiheessa. Tietääkö kukaan mikä versio useimmat ihmiset ovat juuri nyt jos he ostavat uusia langattomia reitittimiä ja tuollaista kamaa? N. Täsmälleen. Bingo. Ja käy ilmi, että ac standardin juuri tulossa ulos luonnos, ja muitakin versioita matkalla. Jokaisen näistä standardeista mitä olemme saamassa enemmän kaistanleveyttä, enemmän dataa nopeammin. Nämä asiat pitää muuttaa melko nopeasti. Se myös tekee niin, että meidän täytyy ostaa lisää reitittimet ja kaikki hauskoja juttuja. Puhutaanpa mitä langattoman viestinnän oikeastaan ​​on sen ydin. Ethernet ja vanhat dial-up modeemi, sinulla todella oli tätä kamaa että voit kytketty tietokoneeseen, ja sitten kytketty modeemiin tapaisena, ja sitten kytkit sen liittimeen seinään. Sinulla oli langallinen yhteys, eikö? Koko pisteen langattomien on päästä eroon tätä kamaa. Jotta niin, että mitä meillä on olennaisesti radioyhteys jossa meidän langaton reititin - nimeämä pikku langattoman kuvake - on kytketty Internet tällä kiinteä nuoli osoittaa jonkinlainen langallinen yhteys, mutta kun otat yhteyden langattomaan reitittimeen olet todellisuudessa käyttävät melkein kuin radiopuhelinta välillä tietokoneen ja langattoman reitittimen. Mikä on todella siistiä tästä on voit liikkua. Voit kuljettaa tietokonetta ympäri Sanders, mene surffata verkossa, mitä haluat, aivan kuten te kaikki tiedätte ja rakkautta, ja sinun ei koskaan tarvitse kytketty mihinkään. Jotta tämä toimisi, olemme molemmat tätä vastaanottoa ja lähetystä. Se on kuin että radiopuhelinta. Tämä langaton reititin - joka Sanders istuu alla tässä vaiheessa, täällä - on aina lähettää ja vastaanottaa, lähettää ja vastaanottaa, ja samoin, tietokoneet on kaikki tekevät saman sellainen asia, too. Emme voi vain kuule sitä. Toinen asia, jonka voit tehdä, on sinulla voi olla useita tietokoneita puhuu samaan langattomaan reitittimeen. Mitä lähempänä olet reititin - ja jälleen tämä on radioliikenne - lähempänä olet, sitä parempi signaali on, sitä parempi tietokoneen kuulee "reititin ja voi kommunikoida Internet. Jos olette koskaan teidän asuntolan, talosi ja mietit miksi signaali on huono, Se johtuu luultavasti siitä). et hyvin lähellä reitittimen tai b). siellä on jotain sinun ja reitittimen kuin sementti seinään tai jotain joka ei anna näitä radioaaltoja läpi. Puhutaanpa hieman siitä, miksi pahiksia, kuten Wi-Fi. Bad Guys rakkaus Wi-Fi muutamia syitä. Tässä meidän ilkeä paha kaveri tuolla. Yksi syy miksi tämä pahis rakastaa wi-fi johtuu, oletusarvoisesti, paljon langattomien reitittimien tulee ja kun asetat ne, he salaamaton. Tämä on ollut ongelma, ja on ollut tapauksia - useita esiintymiä, nyt - jos pahis näyttää jopa jonkun taloon, huomaa, että siellä on salaamaton langaton johon ne voivat yhdistää. He yhteyden Wi-Fi, ja sitten he alkavat ladata kaikenlaisia ​​hauskoja juttuja. Ja he eivät lataa pentuja, he eivät lataa pentuja. Tämä on kuin BitTorrent. Tämä on ikävä ja nastiest. On ollut tapauksia, joissa FBI on jopa mennyt mukana ajatella, että henkilö, joka omistaa talo on todella yksi menee siellä ja ladata kamaa, että he todella pitäisi olla. Kun salaamattomia Wi-Fi ei todellakaan ole jotain haluat tehdä, jos vain ei ole FBI tulevat koputtaa kotiovellesi. Toinen syy, miksi pahikset rakastavat wi-fi on syy, että David puhui aiemmin tauolla. Koska se on radioviestinnän sen ytimessä, jos tiedät kanavan, voit kuunnella että radioasema. Esimerkiksi, jos on huono tuolla istuu keskellä aivan yhteysosoitteen, vieressä, että langaton reititin, pahis voi kuunnella kaikista langatonta liikennettä joka on lähtöisin kaikki nämä tietokoneet. Itse asiassa nämä kaverit - nämä onnekas muutama, jotka ovat tässä eturivissä - koska ne ovat super-lähellä kaikkia näiden langattomien reitittimien jotka istuvat vain alle vaiheessa, he voisivat kuulla kaikkien liikenteessä tässä koko huoneeseen Jos olet yhteydessä Wi-Fi ja alkaa selata läpi näitä tukiasemia. Se ei ole kovin vaikea istua itse hyvässä asemassa haistella ja selvittää mitä muut ihmiset tekevät. Se on jotain pitää mielessä, varsinkin jos et ole varma, jos tukiasema on, ja selaat sanoa, milloin Starbucks. On käynyt ilmi, että haistaa ja kaikki tämä ei ole oikeastaan ​​kaikki, että vaikea tehdä. On ohjelma nimeltä tcpdump jossa kaatopaikkoja kaikenlaisia ​​TCP liikenne ja voit käyttää sitä melko yksinkertaisesti - kuten tein tänä aamuna. Tässä vähän dump, ja tässä on joitakin liikenteestä, joka oli tulossa Oma verkko tuolloin. Voit nähdä - jos karsastaa todella kovaa - siellä hieman Spotifyn siellä. Päälle tcpdump - koska tämä on eräänlainen tuskaa käyttää - siellä ohjelma nimeltä Wireshark joka nippujen tämä kaikki ylös kiva GUI. Wireshark on super-kätevää joten jos menet ottamaan verkottumista luokat, Tämä on työkalu, tulet rakastamaan, koska se auttaa sinua leikellä kaikki paketit että kelluva noin siellä. Mutta se voi myös käyttää huono. Se on hyvin yksinkertaista vain ladata ohjelman, käynnistä se ylös, aloittaa verkon kaapata, ja nähdä kaiken, mitä tapahtuu - ja suodattaa ja tehdä kaikenlaisia ​​hauskoja juttuja sen kanssa. Toinen asia, että voit tehdä langattoman viestinnän ei vain voi salakuunnella, mutta voit myös oppia ruuvi verkkoon ja pistä omat tietosi hallita kokemus, että muut ihmiset samassa langattomassa verkossa saavat. Katsotaanpa katsomaan sitä. Tässä Firesheep - jonka tiedämme ja rakastamme viime viikolla - joka on, että salakuuntelu tekniikka. Jos esimerkiksi haluamme aktiivisesti on meidän pahis mennä ja pelleillä yksi näistä tietokoneista, Tässä skenaariossa meillä tietokone yrittää mennä surffata harvard.edu. Mitä tapahtuu, tietokone lähettää ensin viestin langaton reititin ja sanoo, Hei, Haluan mennä vierailun www.harvard.edu. Sano jostain syystä he yrittävät saada tietoa pelin tänä viikonloppuna. Huono kaveri, sillä hän istuu keskellä, vieressä että tukiasemaan, voi nähdä, että viestintä tulevat tietokoneesta reitittimeen, ja hän tietää, "Ahaa! Joku menee harvard.edu." (Ilkeästi nauraa) Siellä tulee olemaan tämän latenssi kun viestintä kulkee reitittimen ulos Internetiin mennä etsimään kotisivuilta osoitteessa harvard.edu-- kuten te kaikki tiedätte kun tekee teidän PHP psets - ja niin pahis on vähän aikaa, vähän ikkunan jossa hän voi vastata kamaa. Sanotaan tämä huono kaveri, on tietenkin Yaley. Hän vastaukseksi harvardsucks.org. Boo! Bad, bad guy! Bad Yaley! Tai vielä pahempaa, hän saattaa vastata siihen. [Http://youtu.be/ZSBq8geuJk0]. Otan sinuun kaverit selvittää, mikä se on. Tämä on oikeastaan ​​tekniikkaa kutsutaan Airpwn! joka debytoi yksi turvallisuuden konferenssien muutama vuosi sitten. Kanssa Airpwn! pystyt itse pistää liikenteen takaisin verkkoon. Tietokoneita, jotka yrittävät mennä ulos Internetiin ja yrittää saada Google.com, että Facebook.com, jotta harvard.edu Katso ilkeä vastaus tulevat ja heti olettaa, okei, se vastaus, jonka olin odottanut ja lopulta saada sisältöä harvardsucks.org tai nameyourfavoriteshocksite.com, ja voit nähdä, kuinka nopeasti asiat heikkenevät. Kaikki näitä puheita ei voi tehdä Näiden langallisten yhteyksien vuoksi, joissa langallinen yhteys on vaikea nuuskia edelleen liikennettä. Jos olen pahis ja toinen pää on tietokone ja toinen pää on reititin - modeemi - ainoa tapa saan välillä että yhteys on todella liitos tietokoneeseen on jossain keskellä tai tehdä jotain muuta reitittimen, jotain alavirtaan. Mutta langaton, se voi olla yhtä helppoa kuin istuu eturivissä luokkahuoneessa, ja voit tehdä kaikenlaisia ​​ikäviä juttuja ihmisille takana. Puhutaanpa miten voit puolustaa vastaan ​​joitakin näistä asioista. Ihmiset kehittyi langattomia standardeja - 802,11 - he eivät ole tyhmiä ihmisiä millään tavoin mielikuvitusta. Tämä on viileä teknologian ja kun se debytoi vuonna 1999, he tulivat ulos tämän standardin nimeltään WEP. Voit nähdä täällä kun yrittää liittyä langattomaan verkkoon, Sinulla on kaikenlaisia ​​erilaisia ​​tietoturva-asetukset. Sellainen kipu, koska on olemassa 6 yhteensä ja se ei koskaan oikeastaan ​​järkevää joista 1 liittymään. Tämä 1 yläosassa on ensimmäinen, että he keksivät nimeltään WEP. WEP sanoista Wired Equivalent Privacy, uskon, ei Wireless Encryption Protocol, joka on yhteinen harhaanjohtava. Koska se yrittää antaa sinulle yksityisyyttä vastaava ja tietoturvan vastaava kuin lankaverkon WEP mitä päätyy tapahtumassa on, sinulla on yksinkertainen, hieman salasana kirjoitat ja joka palvelee salata kaikki viestinnän välillä tietokoneen ja reitittimen. Mikä ongelma WEP vaikka? Salasana WEP on todella lyhyt, ja myös kaikki käyttää, että täsmälleen sama salasana  ja niin se on todella helppo purkaa. Joten hyvin nopeasti ihmiset tajunnut, että WEP oli ongelma, ja ainoa syy näet se näkyy vielä tämä pieni kaveri on - olemassa joitakin vanhempia järjestelmiä, jotka eivät käytä WEP - mitä pitäisi sen sijaan olla etsimässä ovat WPA ja jopa WPA2 standardit jotka julkaistiin myöhemmin. Nämä järjestelmät ovat paljon paremmin mentävä suojan langaton internet. Se sanoi, he eivät vielä joitakin hackability. On olemassa työkaluja siellä, että voi mennä tekemään tämän. Yksi asia erityisesti, että voi olla ilkeä, että Jos liität ja tunnistauduttava langaton reititin ja käyttävät jonkinlaista salattu, käy ilmi, että hakkeri voi helposti lähettää yhden paketin irrottaa sinua reitittimen, ja kun he irrotetaan sinua he voivat sitten kuunnella - he haistavat näitä paketteja kuin yrität luoda uudelleen yhteyden reitittimen. Ja että tietoa he voivat mennä ja purkaa loput viestintää. Tämä ei ole suinkaan minkäänlaista turvallista ylittää kaikki mielikuvituksen. Toinen asia voit tehdä, kun olet luomassa langatonta verkkoa tai olet liittämättä niitä on - huomaat että täällä kun olen liittyä tähän verkostoon, se kysyy nimeä minun verkko. Tämä tunnetaan myös SSID. Ja näet tässä että oikealla Olen laatikko, joka näyttää minulle käytettävissä SSID. On Harvardin yliopistossa, CS50 ja CS50 Henkilökunta verkkoon. Nyt, kuinka moni teistä tiesi oli CS50 Henkilökunta verkosto ympäri? Jotkut teistä. Ei teitä kaikkia. Ongelmana tässä tietenkin on, että jos olisimme laittaa tähän asti meidän SSID-tunnusten luettelo, kukaan ei tiennyt siitä todennäköisesti. Toivottavasti. Ellei te kaikki yrittävät murtautua meidän langaton. Mutta tämä on jotain, voit tehdä se on todella tärkeää, kun olet perustamassa reititin kotona. Tämä ei luultavasti tapahdu muutaman vuoden paljon teitä, mutta pitää muistaa, että pitää, että SSID sieltä eikä myös nimeämällä se jotain super-yhteinen auttaa pitämään sinua varmempi pitkällä aikavälillä. Viimeinen pari, mitä voi tehdä. Yksi on HTTPS. Jos olet Starbucks, jos olet julkisen wi-fi-alue ja päätät käyttää pankkitilille, Gmail, Facebook, Varmista, että nämä yhteydet ovat menossa HTTPS. Se on lisäsuojaus, lisätään kerros salauksen. Yksi asia pitää mielessä tässä on, kuinka moni teistä on joskus napsauttanut läpi iso, punainen näyttö, joka kertoo, "Tämä sivusto voi olla huono." Tiedän, että olen. Se on varmaan, kun olet kaikki lukemassa mennä katsomaan Homeland tai jotain, eikö? Joo. (Naurua) Joo. Siellä mennään. Tiedämme kuka katsomassa kotiseutualueella. Että iso, punainen näyttö tuolla usein osoittaa, että jotain funky on tekeillä. Joskus se on vain verkkosivuilla itse on epävarma, mutta että sama iso, punainen näyttö tulee esiin, kun ihmiset yrittävät mount verkkohyökkäyksiä teitä. Joten jos näet, että iso, punainen näyttö tulee ylös Starbucks, älä osoita sen läpi. Huonoja uutisia. Bad News Bears. Viimeinen asia, jonka voit katsoa on jonkinlainen VPN. Tämä VPN on saatavilla Harvard - vpn.fas.harvard.edu-- ja mitä tämä tekee se oikeastaan ​​muodostaa suojatun yhteyden sinun ja Harvard, suppilot liikennettä läpi, ja näin jos istut paikassa kuten Starbucks voit yhdistää Harvardin, saada, että turvallinen liikenne, ja sitten selata Harvard. Jälleen, ei ole idioottivarma. Ihmiset voivat saada keskelle. Ne voivat alkaa rikkoa sitä, mutta tämä on paljon turvallisempi kuin luottaa turvallisuus Wi-fi yksin. Selvä. Kaiken kun olet määrittämässä langatonta verkkoa, kun olet menossa ulos käyttämään langatonta julkisesti - onko se Starbucks, onko se Five Guys, onko se B.Good, jotain - missä he ovat Wi-Fi - olla tietoinen ympäristöstä. Ole tietoinen siitä, mitä ihmiset voivat tehdä. Ja turvassa. Älä päästä pankkitilisi. Se voisi olla töykeä herätys jos joku näkyy salasanaasi myöhemmin. Kanssa, että mene Crimson! Ja aion kääntää asiat takaisin yli David lopullista sanaa. (Suosionosoituksia) [David] Ajattelin jakaa yhden asian omasta kokemuksestani. Työkalu haluat ehkä pelata - vaikka Apple on suurelta osin poistettua asiaa Jos olet päivittänyt ohjelmiston vuodesta - mutta tätä kohti loppua ei oikeastaan ​​pysty luottaa ohjelmisto että käytämme, ja Naten pistettä, se voi haistella melko vähän, mitä muut ihmiset tekevät siellä - tämä oli pala ohjelmisto, joka tuli ulos noin vuosi-ja-puoli sitten nyt. [IPhoneTracker] [http://petewarden.github.com/iPhoneTracker/] Jonkin aikaa, iTunes - ennen iCloud, kun olit synkronointi iPodeja tai iPhoneja tai tai iPad iTunesin kanssa - edun mukaista varmuuskopiot, mitä iPhone ja nämä muut laitteet ovat tehneet jo jonkin aikaa on hyödyntämällä GPS-dataa. Te kaikki tiedätte ehkä, että iPhonet ja Androids ja Windows Mobile-puhelimet ja kuten näinä päivinä voi seurata missä olet edun näyttämällä kartat ja vastaavat - hyvin mitä Apple ja näiden muiden yhtiöiden tehtävä on he tyypillisesti seurata lähes kaikkialla olet itse ollut etu parantaa palvelun laatua. Yksi, voit saada enemmän kohdistettuja mainoksia ja vastaavat, mutta kaksi, he voivat myös selvittää, missä ovat siellä langattomia hotspot maailmassa, ja tämä voi auttaa geopaikannuksen - eräänlainen triangulaatio ihmisten asemaa. Pitkä tarina lyhyt, meille kaikille oli kävely antenneja jonkin aikaa. Valitettavasti Apple oli tehnyt suunnittelu päätös - tai sen puute - että ei salata tietoja, kun se on varmuuskopioidut iTunesiin. Ja mitä turvallisuuteen tutkija todettiin, että tämä oli vain valtava XML - valtava tekstitiedosto - istuu ihmisten iTunes-ohjelmiston, ja jos olit vain hieman utelias, voisit mennä tönäisi noin puolisosi historian, sinun kämppäkaveri historia, oman sisaruksen historian ja vastaavat, ja kiitos joitakin vapaita ohjelmia, voit piirtää kaikki nämä GPS koordinaatit - leveys-ja pituusaste. Joten, olen itse tehnyt tämän omin puhelimessa. Olen kytketty puhelimeen, ja totta tosiaan, minun iTunes-versio ei ole salattu tuolloin, ja mitä pystyin näkemään oli omat kuviot. Tässä Yhdysvaltojen ja jokainen sininen ympyrä edustaa missä satuin ollut näinä viime kuukausina omistaa tämän puhelimen.  Vietän paljon aikaa, tietenkin, ylös Koillis vähän aikaa Kaliforniassa, lyhytaikainen matka Texas, ja jos sitten zoomata tässä - tämä on kaikenlaisia ​​hienoja ja mielenkiintoisia, mutta tiesin tämän. Useimmat ystäväni tiesi tämän, mutta jos sukeltaa syvemmälle, näet missä vietän suurimman osan ajastani Koillis. Jos salpa päälle joitakin tuttuja näköisiä kaupunkeja - tämä iso, sininen muste läiskä on pääosin keskitetään Boston, ja sitten vietän vähän aikaa pois lähiöissä säteilee Bostonista. Mutta olin myös tekemässä melko vähän neuvotella vuoden. Ja tänä vuonna on itärannikon ja voit itse nähdä minua ja minun iPhone taskussani matkustaa edestakaisin Boston ja New York ja Philadelphia edelleen alas, samoin kuin menojen vähän loma-aikaa on Cape, joka on pieni käsi siellä. Niin, jokainen näistä pisteitä edustaa jossain paikassa olin ollut, ja täysin tietämättä minulle koko tämän historian vain istuin minun pöytätietokoneen. Jos loitontaa - tämä oikeastaan ​​oli hieman huolestuttava. Minulla ei ollut muistikuvaa koskaan ollut Pennsylvania kyseisenä vuonna. Mutta minä vaikka hieman vaikeampi siitä ja olen tajunnut, oi, se oli se, että matka ja totta tosiaan, puhelimeni oli kiinni minusta. Apple on sittemmin salattu tietoja, mutta tämäkin on vain osoitus siitä, miten paljon tietoa on kerätty meistä, ja miten helposti - parempaan tai huonompaan - se on hyväksyttävää. Yksi take-away toivottavasti Rob puhe, mistä Nate talk ja pikku grafiikka näin tänään vain olla sitäkin tietoisia tästä niin että vaikka - kuten Rob näkökulmasta - Me olemme tavallaan ruuvattu, eikö? Ei ole paljon voimme tehdä, kun se tulee joitakin näistä uhista, mutta loppujen lopuksi meidän täytyy luottaa jotain tai joku jos haluamme itse käyttää näitä tekniikoita. Ainakin me voidaan tehdä perusteltuja päätöksiä ja lasketaan päätöksiä vai ei Meidän pitäisi oikeastaan ​​tarkistaa tämän erityisen herkän tili tai meidän pitäisi oikeastaan ​​lähettää että hieman epäilen pikaviestiin  in wi-fi ympäristössä näin. Niin, että sanoi, vain yksi tietokilpailu jäljellä, yksi luento jää. Nähdään keskiviikkona sitten maanantaina. (Suosionosoituksia ja hurraa) [CS50TV]