[Powered by Google Translate] [Linggo 10] [David J. Malan] [Harvard University] [Ito ay CS50.] [CS50.TV] Lahat ng karapatan! Ito ay CS50 ngunit hindi para sa mas matagal. Ito ang simula ng linggo 10. Sa Miyerkules namin ang aming pagsusulit, at pagkatapos ay sa susunod na Lunes mayroon kaming ilang mga celebratory cake bilang dumating kami ng buong lupon ang lahat ng mga paraan pabalik mula linggo zero. Ngayon, makipag-usap namin tungkol sa isa sa aking mga paboritong paksa, katotohanan ay sinabi sa - ng seguridad at privacy at ang mga implikasyon ng lahat ng hardware at software na namin ang lahat ng gamitin ang mga araw na ito. Upang maging matapat, ng maraming mga pagbabanta out doon na kung hindi ka pa talaga naka-pause na isipin ang tungkol sa mga ito, hindi sila aktwal na medyo daunting. Kaso sa point - kung mayroon man mo na kailanman-download ng isang piraso ng software off ng Internet at naka-install ito sa iyong computer, mo na nakatuon sa isang makabuluhang antas ng pagtitiwala, i-right? Walang pag-naghadlang sa Skype, o Chrome, o anumang bahagi ng software na-install mo sa iyong computer, mula sa simpleng tinatanggal ang lahat ng mga file sa iyong hard drive; ang pag-upload ng lahat ng mga file sa iyong hard drive sa server ilang masamang tao; mula sa pagbabasa ng lahat ng iyong mga email, mula sa intercepting sa lahat ng iyong mga instant message. Dahil ang katotohanan ngayon sa karamihan sa modernong operating system may talagang ay hindi magkano ng isang pader sa pagitan ng mga programa ng software na i-install namin, at ikaw at ako ay medyo mas lamang ang uri ng tumatawid aming mga daliri at pagkuha sa pananampalataya na app namin nai-download nang libre, o na bagay na 99 cents, ay talagang ganap na kaaya-aya. Ngunit namin ang iyong nakita sa pamamagitan ng C, at ngayon ay PHP at JavaScript, may ganitong kakayahan upang ipahayag ang ating sarili program, Maaari mong gawin ang karamihan ng anumang nais mo na may programa na ang isang user sa kanyang sarili o sarili maaaring gawin. Kaya, ngayon naming tumuon sa paksang iyon - hindi lamang ilang mga pagbabanta ngunit din panlaban. Sa katunayan, sa mundo ng seguridad sa pangkalahatan, may uri na ito cat-and-mouse laro, at sa palagay ko ang masamang guys halos palaging isang binti. Pagdating sa sinasamantala ng hardware at software sa aming sariling personal na mga computer, mayroon kaming upang mapagtanto na ang isang masamang tao lamang kailangan upang mahanap ang isang simpleng pagkakamali - katapangang-gawa ng isa, isang bug - sa isang piraso ng software na namin ang nakasulat o ang tumatakbo sa pagkakasunod-sunod para sa kanya o sa kanya upang sakupin ang aming buong system. Sa pamamagitan ng kaibahan, ang aming - ang mabuting guys - kailangang i-patch at ayusin ang lahat ng mga bug at maiwasan ang lahat ng mga kahinaan. At ito, ako sa palagay sa kabuuan, ang mga masamang guys ay ang kalamangan. Ano ang mga klase tulad ng mga ito at kasunod na mga klase ay talagang tungkol sa ay hindi tungkol sa pagtuturo sa iyo kung paano sa pasahod sa mga laban na ang mga masamang guys gawin, ngunit tungkol sa kung paano protektahan ang iyong sarili o hindi bababa sa kung paano gumawa ng isang kinakalkula na desisyon na oo, alam ko ito piraso ng software ay maaaring katunayan basahin ang bawat isa sa aking mga email, ngunit ako ay okay na iyon dahil sa ang halaga Pinagsasama-ako sa kabilang banda. Ako ay labis na nasisiyahan na sumali sa pamamagitan ng 2 ng smartest mga taong kakilala ko - Rob Bowden at Nate Hardison. Rob ay tungkol sa na kumuha sa amin para sa isang tour sa pamamagitan ng pinakamababang antas ng mga tag ng seguridad - na ng tagatala kung saan, hanggang ngayon, ang lahat ng namin ang dumating upang ibigin at pinagkakatiwalaan. Rob Bowden. [Palakpakan] [Rob] Lahat ng karapatan. David ay medyo magkano kinuha ang aking buong magdiga na ako pagpunta upang ipakilala, ngunit - Ilang linggo na ang nakalipas, nakita mo ang halimbawa ng buffer-apaw atake kung saan ay isang halimbawa ng isang pag-hack ng Hacker sa ilang piraso ng software na hindi sila ay dapat na pagha-hack sa. Ang iba pang bahagi ng ito ay minsan mayroon kang software na nakahahamak na sa at ng mismo. Hindi ito ay kailangan na-hack. Ang taong sinulat ni ang software gustong Hack mo. Sabihin lamang tumalon karapatan sa code, ng pagtingin sa "login.c". Dito, ulok programa na napatunayan ng isang username at password na kumbinasyon. Dito dapat mong tiyak na maging kumportable may C muli para sa pagsusulit. Una, na ginagamit namin makakuha ng mga string sa ilarawan ang username, pagkatapos kami ay gumagamit ng get string grab ang password, at pagkatapos ay mayroon kaming ilang trivia tseke ng lang, ang username na "nakawan"? At ang password "thisiscs50"? O, ang username "tommi" at ang password na "i <3javascript"? Kung alinman sa mga iyon ang kaso,  pagkatapos lamang kami ay pagpunta sa i-print ang "Tagumpay", at pagkatapos ay mayroon kaming access. Kung hindi man, kami ay pagpunta sa i-print ang "di-wastong pag-login" at pagkatapos, siyempre,  simula ng string ng memory sketch malloc sa, aming libreng username at password. Ito ay isang trivia programa sa pag-login, at kung sa tingin mo tungkol sa kapag nag-log in sa appliance, medyo katulad - o kahit pag-log in sa iyong computer - may ilang mga pag-login programa na kung saan ay nagbibigay sa iyo ng access. Narito, mangyari namin hard-code 'nakawan', 'thisiscs50', 'tommi', 'i <3javascript', ngunit malamang na ang ilang mga file sa isang lugar sa iyong operating system na may isang listahan ng mga username kung sino ang maaaring mag-login sa system at isang listahan ng mga password na nauugnay sa mga username. Karaniwang ang password ay hindi lamang na naka-imbak sa plaintext tulad nito. Mayroong ilang mga uri ng pag-encrypt, ngunit ito ay para sa aming halimbawa. Darating sa paglipas ng sa aming tagatala - ito ay napaka-direkta. Kailangan namin upang tukuyin ang hindi bababa sa ilang mga file na gusto naming upang makatipon, at pagkatapos dito - mga linya lamang ang nagbabasa ng A file. Binabasa ang buong file sa isang malaking buffer, at pagkatapos namin null-wakasan ang aming buffer gaya ng lagi, at sa wakas namin lamang makatipon ng file. Hindi namin ay pagpunta sa tumingin sa kung paano makatipon ay aktwal na ipinatupad, ngunit bilang isang pahiwatig, ito lamang tawag kumalatong. Kami ay pagpunta upang gamitin ang program na ito upang makatipon ng mga bagay sa halip na kumalatong. Isa problema simulan namin sa namin kung gusto naming upang ipunin ang aming tagatala, ngunit kung hindi namin gamitin kumalatong, hindi ko alam kung ano ang ako pagpunta upang ipunin. Ito ay isang pangkalahatang isyu na kilala bilang bootstrapping. Kaya, lamang ito nang isang beses, ako pagpunta sa gamitin ang kumalatong upang ipunin ang aming tagatala. Kung sa tingin mo ng GCC at kumalatong - mga programa, ang mga compiler ay patuloy na ina-update, at mga compiler ay inipon gamit ang GCC at kumalatong. Kumalatong ay isa lamang malaking C o C + + programa, kaya ang tagatala gamitin ang mga ito upang makatipon na kumalatong. Dito, ngayon, lang kami ng pagpunta sa gamit ang aming tagatala upang ipunin ang aming tagatala, at maaari naming kahit sabihin - '/ tagatala.', 'compiler.c', 'compile.c', '-o tagatala'. Pansinin na ito ay ang eksaktong utos ko tumakbo bago - lamang palitan ang kumalatong may '. / tagatala'. At ngayon ay mayroon kaming ibang tagatala, ngunit ito ay eksaktong kapareho. Ito lang tawag kumalatong. Kami ay pagpunta sa gamitin ang aming tagatala upang ipunin ang aming programa sa pag-login. Okay - ". / Tagatala login.c-o pag-login". Kaya, ang hindi natukoy na ang reference sa "GetString". May isang "-lcs50". Okay. Kaya ngayon ko ang aming programa sa pag-login. Pagpapatakbo ng ito - makatanggap ng "Mangyaring ipasok ang iyong username". Ang isang halimbawa ay pagnakawan. Mangyaring ipasok ang iyong password - thisiscs50. At tagumpay! Mayroon akong access. Pagpapatakbo ng ito muli at pagpasok ng ilang di-wastong password - o di-wastong username at password - di-wastong pag-login. Okay. Walang kawili-wili tungkol dito sa ngayon. Ngunit, sabihin kumuha ng isang pagtingin sa pag-login muli - at ito ay pagpunta sa isang medyo trivia Halimbawa, ngunit sabihin magdagdag ng ibang tao sa dito at sabihin, ang mga tao kung ((strcmp (username, "Hacker") == 0 && strcmp (password, "LOLihackyou") == 0)) kaya ngayon, printf ("hack ka na ngayong access \ n!!."); okay. Kino-compile ito - tagatala login.c-o pag-login-lcs50 - tumatakbo na ngayon sa pag-login - at kung ko bang gamitin ang aking username Hacker at password LOLihackedyou - Ba ako type mali sa doon bago? Sa login.c--ihack - I'll ang-hack dahil sa tingin ko gagawin ko na mamaya. Okay. Recompiling. Re-tumatakbo - Hacker - LOLihackedyou - -Hack!! Mayroon ka na ngayong access. Mayroong Mukhang hindi na magkano ng isang pagkakaiba dahil ito ay ang parehong eksaktong check ko ay ginagawa para sa iba pang mga username at password. Plus, sisikat na kung ang ibang tao ay tumingin sa ito login.c-- sabihin, kung ako ay pumasa ito off sa aking mga kasosyo, at buksan nila ang file na ito, at basahin nila ito, makikita nila ang - okay, bakit mayroon kang mga linya ng code dito? Iyon ay malinaw naman hindi isang bagay na dapat na sa iyong programa. Sa ilang mga programa - tulad ng anumang pagmamay-ari na software na hindi open-source - hindi mo maaaring makita ang mga linya ng code. Isang bagay tulad ng Skype o isang bagay - para sa lahat ng alam mo, Skype sa iyong computer at may ilang mga tukoy na username password na kumbinasyon na mag-login sa Skype sa ilang mga espesyal na paraan. Hindi namin alam ang tungkol dito, at hindi alam ang mga tao tungkol dito, dahil hindi sila makakuha ng basahin ang sourcecode upang makita na may butas ito. Ano ang tinatawag naming ito - bagaman ito ay hindi matalino halimbawa - ito ay tinatawag na ng back pinto. Kung sa tingin mo ng likod na pinto ng iyong bahay. Dito, patunayan kung ako sa mga username na 'nakawan' o 'tommi,' na tulad ng gamit ang "pinto." Iyon ay ang paraan na ako dapat secure login. Ngunit kung ipinasok ko gamit ang username at password - pagkatapos na gamit ang "likod ng pinto." Ito ay hindi ang intensyonal na paraan upang makakuha ng sa programa, ngunit gumagana pa rin. At mga tao sa pangkalahatan ay hindi dapat malaman tungkol sa mga pabalik na pintuan. Kami ay pagpunta upang mapabuti ang ito. Natin ibalik sa dati ito sa aming orihinal na login.c, at sabihin tingnan ang aming bagong tagatala. Okay. Lahat dito ay eksaktong kapareho. Kami ay binabasa ang buong file sa isang buffer. Lahat pababa dito ay pareho. Lang namin inipon ang file. Ngunit ngayon ay mayroon akong ito malaki kung in dito na nagsasabing, kung ang file na mangyari ko na kino-compile ang login.c, pagkatapos ko ng isang bagay na espesyal. Ano na isang bagay na espesyal? Nakikita ko dito ilang string na tinatawag na 'paupahang karomata', at pagtingin sa mga linya ng code - mga ito ay ang parehong linya ng code - hulaan ko ginawa ko ang paggamit 'ihack' at hindi 'ihacked' bago - pagtingin sa mga linya ng code, sila ang parehong eksaktong linya ng code na nagkaroon ako sa login.c bago. Ngunit ngayon, sa halip ng pagkakaroon ng sa kanila sa login.c, Ako pagpunta upang ilagay ang mga ito sa aking tagatala. Ito ang mga linya ng code na ako pagpunta sa nais upang isingit sa login.c. Mga linya ng code - buffer na orihinal na gaganapin ang aking login.c hindi na malaki sapat na dahil ngayon ay nais ko ring ipasok ito paupahang karomata sa gitna ng aking mga programa. Ang lahat ng ito ay ginagawa ay lumilikha ng isang bagong buffer na malaki sapat - parehong para sa orihinal na file at ang mga dagdag na linya ng code - ang paupahang karomata - na gusto ko upang ipasok doon. Narito ang isang bagay na na mapansin - magpasinda * pattern = "/ / tanggihan sila ng access!" Kung titingnan namin pabalik sa login.c, nakikita namin pababa dito ang komentong ito - tanggihan sila ng access! Sa login.c, Ang komentong ito ay mukhang hindi nakapipinsala, kaya hindi mo ay pinaghihinalaan ang anumang nakakahamak na layunin ang komentong ito lamang. Ngunit sa aming tagatala, partikular kami upang hanapin ang linya ng code, at pagkatapos ay kapag nakita namin ito - mga linya ng code pagpasok aming paupahang karomata sa posisyong iyon. Kaya, kami ay iterating sa buong login.c, pagpasok namin ay na paupahang karomata eksakto kung saan sinasabi nito na tanggihan sila ng access, at pagkatapos kami ay kino-compile - hindi ang orihinal na login.c ngunit ang bagong login.c na paupahang karomata ipinasok pakanan sa 'tanggihan sila ng access.' Ngayon gusto ko upang ipunin ang aking bagong tagatala na may kasangkot na paupahang karomata. Hindi ako pagpunta sa gamitin ang kumalatong, kaya sabihin kopyahin ang tagatala ginamit namin bago at gamitin iyon - ito, tagatala compiler.c compile.c-o evil_compiler. Ngayon ang aming kasamaan tagatala - kung namin gamitin ang aming kasamaan tagatala upang ipunin ang anumang iba pang mga file, ang file ay makatipon tulad ng dapat nito. Ganap na normal. Ngunit kung namin gamitin ang aming kasamaan tagatala upang ipunin ang pag-login - kaya, / evil_compiler login.c-o pag-login-lcs50 - naghahanap sa login.c muli, ganap na wala sa dito. Ito ay ang aming karaniwang 'kung ito ay alinman sa nakawan o tommi hindi namin, iba pa kami'. Ngunit kapag nagpatakbo namin ang aming executable, ito ay gumana tulad ng dati. Muling tumakbo ang - Hacker, LOLihackyou - -Hack!! Mayroon ka na ngayong access. Lamang ng pagtingin sa login.c, hindi mo ay sa tingin ng anumang mali. Ngunit tagatala na ginagamit upang makatipon login.c ay partikular na idinisenyo upang ipasok ito paupahang karomata sa programa. Lamang Inilipat namin ang aming orihinal na problema. Orihinal, nagkaroon kami ng mga linya ng code sa login.c na kung sinuman ay tumingin sa kanila, nais nilang tulad, kung bakit ang mga dito? Ngayon kung sinuman ang mangyayari upang tumingin sa aming tagatala, makikita nila tumingin sa mga linya ng code at sabihin, bakit ang mga dito? Kaya, hindi namin ganap na malutas ang aming problema. Ngunit maaari naming gamitin muli ang ideya na ito. Ng pagtingin sa aming third bersyon ng tagatala, ito ay ang parehong ideya. Namin basahin ang buong file sa isang buffer hanggang dito, namin makatipon ang file dito, at Mayroon akong ilang mga uri ng string paupahang karomata in dito, ngunit mapansin ang file na aktwal na ako pagha-hack ngayon. Ako pag-hack compiler.c hindi login.c. Ngunit kung ano ang ako pagpasok sa compiler.c? Ako pagpasok ang code na ito kung saan ay ang eksaktong code sa aming nakaraang tagatala, na nilalayong upang isingit ang code sa login.c. Narito ang aming kung strcmp file login.c at pagkatapos ay ipasok ang sa paupahang karomata login.c ng aming mga bagay-bagay. Ang bagong tagatala ay inilaan upang lumikha ng isang tagatala na kung saan ay inilaan upang makatipon ng pag-login maliciously. Susubukan naming makita kung bakit na tumutulong sa amin. Ang lahat ng iba pa ay pareho, kaya ito gumagana nang eksakto kung paano ito nagtrabaho sa aming nakaraang tagatala. Lamang namin ay iterating sa paglipas ng aming buong compile.c. Ngunit ngayon sa halip na naghahanap para sa 'tanggihan sila ng access,' kaming naghahanap para sa 'makatipon ang file.' Saan ang makatipon ang file? Naghahanap sa aming ganap na walang-sala compiler.c, kanan pababa dito sa ibaba. Ang komentong ito - makatipon file - muli, na mukhang ganap na hindi nakapipinsala. Subalit, sa aming nakakahamak na bersyon ng tagatala, kami ay pagpunta sa - bago na komento - isingit ang code na ito na kung saan ay inilaan upang ipasok ang code kapag kino-compile ang login.c. May ng maraming mga antas ng kawalang-tapat dito. Natin ang aktwal na patakbuhin ang mga ito. Muli, makikita namin kopyahin ang aming orihinal na tagatala. Ngayon, makatipon - tagatala compiler.c compile.c-o evilest_compiler - at ngayon evilest_compiler. Evilest tagatala - kung ginagamit namin na upang ipunin ang aming tagatala, sabihin aktwal na hitsura. Evilest_compiler - nagdadala ito, ang lahat ng mga paraan pabalik sa bersyon 1 ng aming tagatala - bersyon 1 ng aming tagatala na lamang basahin sa file at makatipon ito. Dito, alam namin na evilest_compiler - kapag ito compiles ang file na ito - ay pagpunta upang ipasok ang code dito mismo bago makatipon ang file, at ang code na tumingin eksakto tulad ng code mula sa ikalawang bersyon ng aming mga tagatala kung saan ginawa ito. Ang code na ito, na kung saan ay inilaan upang masira sa pag-login, pagpunta sa ipinasok sa aming tagatala ng evilest tagatala. Gamitin natin ang evilest_compiler upang ipunin ang aming tagatala. Ngayon, gagamitin namin tagatala, bumalik sa login, at tandaan login.c na ito ay ganap na walang kahina-hinalang sa loob nito. Ngunit gamit ang aming tagatala upang makatipon login.c, pagnakawan, thisiscs50, tagumpay. Hacker Hayaan ang pag-login, LOLihackyou, hack!! Mayroon ka na ngayong access. Makilala na ito ay naiiba mula sa bersyon 2 ng aming tagatala. Ang tagatala naming gamitin - sabihin ilipat pabalik - kopya mula sa pag-login - sabihin dalhin ang aming tagatala in dito. Pag-alis evilest tagatala. Lahat Umalis namin ngayon ay tagatala. Kung titingnan namin sa compiler.c, may ganap na wala sa doon na mukhang nakahahamak na sa anumang paraan. Kung titingnan namin sa login.c, may ganap na walang in dito na mukhang nakahahamak na sa anumang paraan. Subalit, kapag naming gamitin ang aming tagatala upang makatipon login.c, makuha namin ang hackable bersyon ng login.c. Kapag ginamit namin ang aming tagatala upang makatipon ng isang bagong bersyon ng tagatala, makuha namin ang hackable bersyon ng tagatala. Ngayon kung namin pumunta at ipamahagi ang aming tagatala executable, at walang isa ay alam na may anumang nakahahamak na tungkol dito. Ito ay talagang ito - hindi ko matandaan ang taon - Ken Thompson, at siya won ang Turing Award - kung hindi ka pamilyar sa Award Turing, ito ay halos palaging tinukoy bilang Nobel Prize ng computer science, kaya na kung paano ko tukuyin ang mga ito. Ken Thompson ibinigay ng pagsasalita kapag natanggap niya ang kanyang Turing Award tinatawag na "Reflections sa nagtitiwala Trust." Talaga, ito ang ideya ng kanyang pagsasalita. Maliban sa halip ng aming tagatala, siya ay pakikipag-usap tungkol sa GCC - isa lamang tagatala tulad kumalatong - at kung ano siya ay sinasabi, tulad ng ating login.c, aming login.c tila medyo walang silbi ngunit siya ay pakikipag-usap tungkol sa aktwal na UNIX login.c. Kapag mong mag-login sa iyong appliance, may ilang mga pag-login programa na tumatakbo. Na sa pag-login na siya ay pakikipag-usap tungkol sa. Ito ay isa lamang ang kanyang ideya. Sinabi niya na sa GCC, siya sa teorya ay maaaring nakatanim bug - hindi isang bug ngunit isang nakakahamak na code - na kapag kino-compile ang function na ang pag-login - ang pag-login file - ay ipasok ang isang pabalik na pinto sa gayon na maaaring siya ay pumunta sa ganap anumang UNIX sistema sa mundo at login na may ilang partikular na username at password. Sa oras, GCC ay medyo mas tagatala na lahat ginagamit para sa anumang. Kung sinuman ang nangyari upang i-update ang GCC, sila mag-recompile ang GCC gamit GCC, at gusto mo pa ring makakuha ng isang masamang bersyon ng GCC dahil partikular ito ay pinagsama-sama upang makilala na ito ay recompiling ang tagatala. At kung sakaling gamitin GCC upang mag-recompile ng login.c file, pagkatapos ay isingit ang likod na pinto na maaaring siya gamitin upang mag-login sa anumang computer. Ito ay lahat ng manilay-nilay, ngunit - na ang partikular na pangyayari ay panteorya, ngunit ang mga ideya ay napaka-real. Noong 2003, nagkaroon ng isang katulad na halimbawa kung saan - isasaalang-alang namin ang isang pagtingin sa file na ito, at ito ay ganap na walang aktwal na gawin dito, ngunit ang bug ay katulad. Lamang tumutukoy sa isang function na tinatawag na hatiin ang file na ito. Ito ay tumatagal ng isang argument, isang argument b, at ang layunin ay upang gawin ang isang hinati sa pamamagitan ng b. Subalit ang ilang mga error checking, upang malaman namin ang mga bagay ay kakaiba kung b mangyayari sa katumbas ng zero. Kung b ay zero, at pagkatapos ay hatiin namin ito sa 2 kaso. Na maaari mong makita ang bug. Ang unang kaso - kung ang isang zero, pagkatapos namin ginagawa zero na hinati sa pamamagitan ng zero, at lang namin sinasabi na hindi natukoy. Ang ikalawang kaso - kung ang isang hindi zero, pagkatapos ito ay isang bagay tulad ng 1 na hinati sa pamamagitan ng zero, at tawagan lang namin na infinity. Iba Pa namin bumalik ang karaniwang isang hinati sa pamamagitan ng b. At kaya dito, kami ay tumatakbo mga 3 kaso, at namin ang aktwal na patakbuhin hatiin - yells ito sa ito para sa akin - kaya, pagbalewala sa babala kumalatong - dulo ng non-void function na - tila hindi ko makatipon ito muna. Bumalik 0. Gawing hatiin - ang lahat ng karapatan. Sa. / Hatiin, makikita namin 3, Infinity, Infinity. Zero na hinati sa pamamagitan ng zero ay hindi dapat ibalik infinity. At kung hindi mo pa naisip ang bug pa - o ay hindi makita ang mga ito bago - nakikita namin na ginagawa namin ng isang = 0. Marahil namin nilalayong ng == 0. Marahil. Ngunit, ito ay talagang isang bagay na, muli, noong 2003, ang Linux kernel - kaya ang aming appliance ay gumagamit ng Linux kernel - anumang Linux operating system ay gumagamit ng Linux kernel - kaya isang bug na halos kapareho sa ito ay nagpakita. Ang ideya sa likod ng bug na ito ay - muli, nagkaroon ilan lang ang function na tinatawag na, at ginawa ito ng kaunting error checking. May mga ilang mga tukoy na input na ang error na ito check - dapat ito tulad ng, ang lahat ng karapatan, hindi mo maaaring tawagan ang function na ito sa isang panghati ng 0. Kaya, ako pagpunta upang ibalik ang ilang mga error. Maliban, ito ay hindi bilang walang-sala bilang lamang ng pagtatakda ng isang katumbas ng 0. Sa halip, ang linya ng code na natapos sa paggawa ng isang bagay mas tulad ng user = administrator. O user = superuser. Ito ay isang inosenteng - sa unang tingin - pagkakamali kung saan maaaring lamang ito ay makatwirang na aking nais lamang upang mag-ulat ng isang bagay na tukoy na kung ang user ay nangyari na ang administrator ng superuser. Ngunit pagkatapos ay muling iniisip tungkol dito, ang tao ay nais ito sa hitsura ng isang simpleng typo, ngunit kung ang code na ito ay aktwal na inilabas, mo sa Hack sa anumang sistema sa pamamagitan ng pagpasa ng isang tukoy na bandila - sa kasong ito b = 0 - at awtomatikong gawin ang user ng administrator, at pagkatapos siya ay may ganap na kontrol. Nangyari ito noong 2003. Ito lang kaya ang nangyari na lamang ang dahilan na ito ay nakuha ay dahil may nangyari sa ilang mga automated system na napansin ang pagbabago sa file na ito na hindi kailanman dapat ay nabago sa pamamagitan ng isang tao. Ang file ay dapat lamang ay awtomatikong binuo. Ito lang kaya ang nangyari na may hinawakan - na rin, ang mga tao na gusto Hack hinawakan ang file na, at computer nahuli na paghawak. Kaya, sila ay nagbago ito at lamang mamaya natanto kung ano ng kalamidad na ito ay kung ito ay nakuha sa totoong mundo. Maaari mong pag-iisip na - babalik sa aming tagatala halimbawa - kahit na hindi namin makita ang - pagtingin sa sourcecode - na ang anumang sa mga partikular na ay mali, kung aktwal na namin tumingin sa binary code ng tagatala, gusto naming makita na ang isang bagay na mali. Bilang isang halimbawa, kung patatakbuhin namin ang mga string gumana - na lamang upang tumingin sa isang file at i-print ang lahat ng mga string na ito mahanap - kung patatakbuhin namin mga string sa aming tagatala, nakikita namin na ang isang string na nahahanap nito ay ito kakaiba - iba pa kung (strcmp (username, "Hacker") - blah, blah, blah. Kung may isang taong nangyari sa sapat na paranoyd sa hindi pinagkakatiwalaan ang kanilang tagatala, maaaring tumakbo ang mga ito ng mga string at makita ito, at pagkatapos nila alam na may sira ang aktwal na binary. Ngunit, string ay hindi maaaring hindi isang bagay na pinagsama-sama. Kaya, na kung upang sabihin na ang aming tagatala ay hindi lamang mas espesyal na code na nagsasabing, kung string ay kailanman tumakbo sa aming tagatala, huwag output lahat na nakakahamak na code. Ang parehong ideya na kung gusto naming di-magtipon ang file - nalaman namin na assembler ang ay nagdudulot sa amin mula sa assembly code sa isang code machine - maaari naming pumunta sa tapat ng direksyon - objdump-d tagatala - ay magbibigay sa amin ang assembly ng aming mga code. Naghahanap sa, medyo misteriyoso, ngunit kung gusto namin, maaari naming tumingin sa pamamagitan ng at kadahilanan, maghintay, may isang bagay na nangyayari sa dito na hindi dapat nangyayari sa, at pagkatapos ay makikita namin makilala na ang tagatala sa paggawa ng isang bagay nakahahamak na. Subalit, tulad ng mga string, na kung sabihin objdump ay hindi espesyal na-cased. Talaga, ito ay down hindi mo pinagkakatiwalaan ang anumang. Ang punto ng papel na tinatawag na "pagtitiwala Trust" ay sa pangkalahatan, pinagkakatiwalaan namin ang aming tagatala. Mong ipunin ang iyong code at asahan ito upang gawin kung ano ang hinihiling mo ito gawin. Ngunit, kung bakit dapat pinagkakatiwalaan mo ang tagatala? Hindi mo isulat ang tagatala. Hindi mo alam kung ano ang tagatala ay kinakailangang aktwal ginagawa. Sino ang sabihing pinagkakatiwalaan mo ito? Ngunit kahit na pagkatapos, well, marahil maaari naming pinagkakatiwalaan ang tagatala. May ng sampu sa libu-libong ng mga tao na tumingin sa. Isang tao ay dapat na kinikilala ng isang bagay ay up gamit ang tagatala. Paano kung pumunta lamang namin ang 1 antas ng mas malalim? Maaaring ito kahit na ang iyong processor. Bilang katawa-tawa bilang maaaring posibleng maging, maaaring may ilang mga rogue empleyado sa Intel na lumilikha ng mga processors na tuwing may processor na paunawa na nagpapatakbo ka ng ilang utos na sinadya upang mag-login sa computer, Ang processor ay tanggapin ang ilang partikular na username at password na kumbinasyon. Ay wildly ito kumplikado, ngunit isang tao ay maaaring gawin ito. Sa puntong iyon, ay mo ba talagang upang buksan ang iyong computer upang tumingin sa processor at gumamit ng isang mikroskopyo upang makilala ang mga circuits ay hindi naka-linya bilang dapat silang? Walang ay kailanman pagpunta sa mahuli na error. Sa ilang mga punto, na lang ay upang bigyan up at pinagkakatiwalaan ang isang bagay. Karamihan sa mga tao pinagkakatiwalaan ang tagatala sa puntong ito. Na sabihin sa hindi kinakailangan na dapat mong. Naghahanap sa isang medyo kasumpa-sumpa video - [Dramatikong musika paglalaro ng] [Ito ay isang UNIX system. Alam ko ito.] [Ito ay ang lahat ng mga file -] Sinabi niya, "isang UNIX system. Alam ko ito." Palitan ang UNIX may anumang ang iyong mga paboritong operating system - maaaring siya sinabi, "isang Windows system. Alam ko ito." Ito ay isang ganap na walang kahulugan pahayag, ngunit para sa lahat ng alam namin, siya ang mangyayari alam ng likod na pinto sa sistema ng UNIX. Alam niya ilang username / password na kumbinasyon na ang talagang ipaalam kanyang gawin ang anumang siya Nais. Ayos lang. Ang moral na ng ngayon ay isa lamang hindi mo pinagkakatiwalaan ang anumang. Kahit na mga bagay na sinulat mo - hindi mo isulat ang tagatala. Tagatala ay maaaring masama. Kahit na ginawa mo isulat ang tagatala, ang mga bagay na patakbuhin ang tagatala maaaring maging masama. (Tumatawa) hindi magkano ang maaari mong gawin. Ang mundo ay tiyak na mamamatay. Back sa David! [Palakpakan] [David] Salamat. Na talagang mapagpahirap. Ngunit sa katunayan, Rob ay tama. Hindi namin talagang magkaroon ng isang solusyon na iyon, ngunit ikaw ay upang makakuha ng ilang mga solusyon sa ilang mga mas karaniwang mga panlaban. Sa pag-asa ng mga ito, ano Nate at ako ay ginagawa offstage doon ay alam na may maraming laptop sa kuwartong ito, kami sniffing lahat ng wireless na trapiko na pagpunta sa pamamagitan ng kuwartong ito para sa nakalipas na 20 minuto panahon Rob ng talk, kaya kami ay 2 minutong pahinga dito. Nate nangyayari i-set up, at pagkatapos ay kami ay pagpunta sa makipag-usap tungkol sa lahat ng mga bagay na iyong kami nahanap. (Tawa) Kaya, maaari ko pinagrabe ng kaunti para lamang sa ang kapakanan ng drama, ngunit kami ay na-sniffing lahat ng iyong wireless na trapiko dahil sa katunayan, ay na madaling. Ngunit mayroon ding mga paraan na maaari mong ipagtanggol laban ito, at ito na iyon, Ako magbibigay sa iyo Nate Hardison. >> [Nate] Sweet. (Palakpakan) [Nate] Salamat, tao. Pinapahalagahan ko ang sigaw. Lahat ng karapatan! Laro linggo. Sigurado ka guys nabigla? Sana ito ay pagpunta sa isang malaking laro sa Sabado. Ko isipin mo guys sa puntong ito - ibinigay na mayroon ka ng isang pagsusulit sa Miyerkules lahat ng tungkol sa code, at hindi na namin lamang nakaupo sa pamamagitan ng isang kahanga-hangang panayam sa pamamagitan ng Rob may isang buong grupo ng C code sa - siguro ng kaunting pagod ng code. Sa bahaging ito, aktwal na kami ay hindi pagpunta sa pindutin ang anumang code anumang. Kami ay pagpunta sa makipag-usap tungkol sa isang teknolohiya na ginagamit mo araw-araw, madalas para sa maraming, maraming oras sa isang araw, at kami na makipag-usap tungkol sa mga implikasyon sa seguridad na may. Namin uusapang ng maraming tungkol sa seguridad sa kabuuan ng semestre, at nagsimula kaming na may kaunti ng crypto. [Bdoh lv vwlqng!] At habang ikaw guys ay marahil super-nabigla na pagpasa ng mga tala sa bawat isa sa klase gamit ang isang Caesar cipher tulad ng isang ito, sa katotohanan, ang ilang mas masaya na mayroon kapag aktwal na pakikipag-usap tungkol sa seguridad at ang uri ng mga bagay-bagay. Ngayon, kami ay pagpunta upang masakop ang ilang mga teknolohiya na ang mga tao ay tunay na gamitin sa tunay na mundo na gawin ang lahat ng mga uri ng mga bagay mula sa sniffing tao packet na aktwal na pagpunta sa at paglabag sa tao bank account at ang lahat ng na. Mga ito ay lehitimong mga tool na pinag-uusapan natin ang tungkol sa may pagbubukod ng isang tool posibleng. At gusto ko lang upang makagawa ng isang mabilis na disclaimer. Kapag makipag-usap namin tungkol sa mga bagay na ito, kami ay pakikipag-usap tungkol sa mga ito nang sa gayon ay alam mo kung ano ang out doon, at hindi mo malaman kung paano upang maging ligtas kapag out ginagamit mo ang iyong computer. Ngunit hindi namin talagang gusto upang magpahiwatig na dapat mong gamitin ang mga tool na ito sa iyong dorm o sa iyong bahay dahil maaari mong patakbuhin sa maraming malaking isyu. Iyon ay isang kadahilanan ngayon na namin aktwal ay hindi sniffing iyong packet. Ayos lang. Huling Monday, usapan natin ang tungkol sa mga cookies, at HTTP, at pagpapatotoo, at kung paano Firesheep bubukas ang malaking pinto sa iyong Facebook account, sa iyong Hotmail account - kung ang sinuman ay pa rin gumagamit ng Hotmail - at maraming iba pang mga account. Isang maraming mga bagay-bagay na ito ay upang bumuo ng na, ngunit una, gusto kong gumawa ng isang mabilis na tour ng kung paano ang Internet ay nagbago sa paglipas ng panahon. Bumalik sa ang '90s, guys maaaring remembered aktwal na i-plug sa ang iyong computer gamit ang isa sa mga ito. Ngayon hindi namin gawin iyon kaya magkano ito. Lumiliko ang aktwal na ito na upang mag-plug ng isang Ethernet cable sa aking laptop, Ako ay mayroon na ngayong gamitin ang isa sa mga adapters na uri ng mabaliw. Sa halip, noong 1997 namin ay ang bagong, masaya teknolohiya dumating out na kilala bilang IEEE 802.11, kaya ito ay ang wireless internet pamantayan Ang IEEE ay ang namamahala sa katawan na nagbibigay ang lahat ng mga uri ng - nagpa-publish ng lahat ng mga uri ng mga pamantayan na may kaugnayan sa mga computer. Ang 802 pamantayan ang lahat ng tungkol sa teknolohiya Internet. Kaya 802.3, halimbawa, ang Ethernet standard, 802.15.1 Naniniwala akong ang Bluetooth pamantayan, at 802.11 ay ang lahat ng tungkol sa wireless Internet. Noong 1997 ang dumating out. Hindi ito medyo mahuli sa kaagad. Ito ay hindi hanggang 1999 at 802.11b karaniwang dumating ang na Naging talagang sikat na. Gaano karaming mo tandaan kapag nagsimula ang mga computer darating out at pagkuha ng wi-fi sa mga ito? Na uri ng mga cool na, huh? Tandaan ako nakakakuha ng aking unang laptop sa high school, at ito ay may wireless card sa loob nito. Aking ama ibinigay sa akin at nagsasabi na ang dapat kong gamitin ang mga ito para sa aking mga apps sa kolehiyo at ang lahat ng na, at ako ay walang ideya kung paano ako ay pagpunta upang tumingin up ang mga bagay-bagay sa online. Ngunit masuwerte, ako ay may wireless card, kaya na ay medyo cool. Sa kasalukuyan, makikita mo rin ang 802.11g na isa ng iba pang talagang sikat na wireless pamantayan na doon. Parehong b at g ay medyo hindi na napapanahon sa puntong ito. Sinuman kung anong bersyon ang karamihan sa mga tao ay sa ngayon kung sila ay bumibili ng mga bagong wireless na router at na uri ng mga bagay-bagay? N. Mismong. Bingo. At ito ay lumiliko out na ang AC karaniwang ay darating lang sa isang form ng draft, at may mga iba pang mga bersyon sa paraan. Sa bawat isa sa mga pamantayan ng kung ano ang namin ang pagkakaroon ng mas malaking bandwidth, higit pang mga data sa isang mas mabilis na rate. Pabagu-bago ang mga bagay na ito medyo mabilis. Ginagawa ring kaya na namin upang bumili ng higit pang mga router at lahat ng bagay na masaya. Natin makipag-usap tungkol sa kung ano talaga ang wireless komunikasyon sa core nito. Sa Ethernet at mga lumang dial-up modem, iyong aktwal na mayroon ang mga bagay na ito na nakasaksak sa iyong computer, at pagkatapos mo nakasaksak sa modem ng mga uri, at pagkatapos mo nakasaksak ito sa ang diyak sa iyong pader. Nagkaroon ka ng ito wired na koneksyon, tama? Ang buong punto ng wireless pagkuha mapupuksa ng mga bagay na ito. Upang gawin iyon, kung ano ang mayroon kami ay mahalagang ng komunikasyon ng radyo kung saan ang aming wireless na router - itinalaga sa pamamagitan ng aming maliit na wireless icon - ay konektado sa Internet na ito solid arrow na nagpapahiwatig ng ilang uri ng wired na koneksyon, ngunit kapag kumonekta ka sa iyong wireless na router aktwal na gumagamit ka ng halos tulad ng isang woki-toki sa pagitan ng ang iyong computer at ang iyong wireless na router. Ano ang talagang cool na tungkol sa ay maaari mong ilipat sa paligid. Maaari mong dalhin ang iyong computer sa lahat ng dako Sanders, pumunta-surf sa web, anumang nais mo, tulad mo ang lahat ng alam at ibigin, at hindi mo kailanman na naka-plug in sa anumang bagay. Para sa mga ito upang gumana, mayroon kaming parehong ang reception at paghahatid. Ito talaga ay tulad ng na woki-toki. Ang wireless na router na ito - kung alin sa Sanders ay sitting sa ilalim ng yugtong ito, dito mismo - laging pagsasahimpapawid at pagtanggap, pagsasahimpapawid at pagtanggap, at din, ang iyong mga computer lahat ng ginagawa na parehong uri ng bagay, masyadong. Lamang namin ay hindi maaaring marinig ang mga ito. Ang iba pang mga bagay na maaari mong gawin ay maaari kang magkaroon ng maramihang mga computer pakikipag-usap sa parehong wireless na router. Ang palapit ikaw ay sa isang router - at muli, ito ay isang radio komunikasyon - ang mas malapit ka, mas mahusay ang iyong signal ay, ang mas mahusay na ang iyong computer 'nakakarinig' router ang at maaaring makipag-ugnayan sa Internet. Kung ikaw guys ay kailanman sa iyong dorm, sa iyong bahay at ikaw ay nagtataka kung bakit ang iyong signal ang masamang, marahil ito ay dahil sa a). hindi ka napakalapit sa iyong router, o b). may isang bagay sa pagitan mo at ng iyong router tulad ng isang latagan ng simento pader o isang bagay na hindi ipaalam sa mga radio waves pumunta sa pamamagitan ng. Natin makipag-usap ng kaunti tungkol sa kung bakit masamang guys tulad ng wi-fi. Bad guys ibigin wi-fi para sa ilang mga kadahilanan. Narito ang aming makukulit masamang tao doon. Isang kadahilanan kung bakit ang masamang tao nagmamahal wi-fi ay dahil, sa pamamagitan ng default, ang isang maraming mga wireless na router dumating at kapag itinakda mo up ang mga ito, sila ay unencrypted. Ito problema, at nagkaroon ng mga pagkakataon - maramihang mga kaso, ngayon - kung saan ang masamang tao ay nagpapakita sa bahay may, notice na mayroong isang unencrypted wi-fi na kung saan maaari silang kumonekta. Kumonekta sila sa wi-fi, at pagkatapos ay simulan nila ang pag-download ng lahat ng mga uri ng masaya mga bagay-bagay. At hindi sila nagda-download ka ng mga kuting, hindi sila nagda-download ka ng mga tuta. Ito ay tulad ng BitTorrent. Ito ang makukulit ng nastiest. May kaso kung saan ang FBI kahit nakuha kasangkot iniisip na ang taong nagmamay-ari ng bahay ay talagang ang isa pagpunta out doon at-download ng bagay na sila talaga ay hindi dapat. Nagkakaproblema sa unencrypted wi-fi ay tiyak na hindi isang bagay na gusto mong gawin, kung lamang upang hindi magkaroon ng FBI darating kumatok sa iyong pinto. Isa pang dahilan kung bakit ang masamang guys ibigin wi-fi ay ang dahilan na David uusapang tungkol sa mas maaga sa panahon ng pahinga. Dahil ito ay isang radio komunikasyon sa core nito, kung alam mo ang channel, maaari kang makinig sa mga istasyon ng radyo na iyon. Halimbawa, kung may masamang doon sitting sa gitna karapatan sa tabi ng access point, sa tabi mismo na wireless na router, ang masamang tao ay maaaring makinig sa sa lahat ng wireless trapiko na darating mula sa lahat ng mga computer. Sa katunayan, ang mga guys na ito - mga masuwerteng ilang na dito sa harap hilera - dahil ang mga ito ay napakabilis na malapit sa lahat ng mga wireless na router na umupo sa ilalim ng entablado, gusto nilang marinig ang trapiko sa lahat sa buong room kung ikaw ay konektado sa wi-fi at magsimulang mag-browse sa pamamagitan ng mga access point na ito. Ito ay hindi masyadong mahirap sa umupo sa iyong sarili sa isang magandang posisyon sa amuyan at malaman kung kung ano ang iba pang mga tao ang ginagawa. Ito ay isang bagay na dapat tandaan, lalo na kung hindi ka sigurado kung saan ang access point ay, at nagba-browse ka ng halimbawa, sa Starbucks. Ito lumiliko out na sniffing at lahat ng na hindi talaga lahat na mahirap gawin. May isang programa na tinatawag na tcpdump na lungkot ang lahat ng mga uri ng trapiko sa TCP at maaari mong patakbuhin ito medyo lamang - tulad ng ginawa ko ito umaga. Narito ang isang maliit na bit ng isang dump, at narito ang ilang ng trapiko na darating sa paglipas ng aking network sa oras. Maaari mong makita - kung ikaw pagkaduling ay talagang mahirap - ng kaunting Spotify doon. Sa tuktok ng tcpdump - dahil ito ay uri ng isang sakit upang gamitin - may isang programa na tinatawag na Wireshark kung saan bundle na ito ang lahat ng sa gandang GUI. Wireshark ay napakabilis na madaling gamiting kaya kung pumunta sa tumagal ang mga klase ng networking, ito ay isang kasangkapan na makakarating ka sa ibigin dahil ito ay tumutulong sa iyo na magkatay lahat ng packet na lumulutang sa paligid out doon. Ngunit ito rin ay ginagamit para sa masamang. Napaka-simpleng upang i-download ang program na ito, sipain ito, magsimula ng pagkuha ng network, at makita ang lahat ng bagay na nangyayari sa - at filter at gawin ang lahat ng mga uri ng masaya mga bagay-bagay na may ito. Ang iba pang mga bagay na maaari mong gawin sa wireless komunikasyon hindi lamang maaari kang maki-tsismis ngunit maaari mo ring malaman kung paano magroskas sa network at mag-inyeksyon ang iyong sariling impormasyon upang kontrolin ang karanasan na ang ibang mga tao sa parehong wireless network nakakakuha. Natin kumuha ng isang pagtingin sa na. Narito ang Firesheep - kung saan alam namin at gusto mo mula sa nakaraang linggo - na na eavesdropping teknolohiya. Kung, halimbawa, gusto namin sa aktibong aming masamang tao go at gulo sa paligid na may isa sa mga computer, sa sitwasyong ito Mayroon namin ang ng computer na pagsubok upang pumunta surf sa harvard.edu. Ano ang mangyayari ay, computer unang nagpapadala ng mensahe sa wireless na router at sabi, hey, gusto kong pumunta pagbisita www.harvard.edu. Sabihing para sa ilang mga dahilan na sila ay sinusubukan upang makakuha ng impormasyon tungkol sa mga laro na ito weekend. Masamang tao, dahil siya ang sitting karapatan sa gitna, sa tabi mismo ng access point na iyon, maaari makita na komunikasyon na nanggagaling mula sa computer sa router, at siya alam, "Aha! may nangyayari sa harvard.edu." (Evilly laughs) May pagpunta sa ito latency habang komunikasyon naging mula sa router sa Internet upang pumunta mahanap ang webpage sa harvard.edu-- tulad mo guys lahat alam matapos na ginagawa ang iyong mga psets sa PHP - at kaya ang masamang tao ay may kaunti ng oras, ng kaunting window, kung saan siya tumugon kasama ang ilang mga bagay-bagay. Sabihin nating masamang tao na ito, siyempre, ay isang Yaley. Siya tumugon may harvardsucks.org. Boo! Masama, masamang tao! Bad Yaley! O kahit na mas masahol pa, maaaring siya tumugon na iyon. [Http://youtu.be/ZSBq8geuJk0]. Ipapaalam ko ka guys malaman kung ano na. Ito ay talagang isang teknolohiya na tinatawag na Airpwn! na debuted sa isa ng conference seguridad ng ilang taon bumalik. Gamit Airpwn! mo sa aktwal na mag-inyeksyon ng trapiko sa network. Ang mga computer na sinusubukan upang pumunta sa Internet at sinusubukan upang makakuha ng Google.com, sa Facebook.com, harvard.edu makita ang nakakahamak na tugon ay sa at kaagad na ipinapalagay, okay, na ang tugon na ako ay naghihintay para sa at hanggang sa pagkuha ng nilalaman mula sa harvardsucks.org o nameyourfavoriteshocksite.com, at maaari mong makita kung gaano kabilis mga bagay ay lumala. Ang lahat ng mga uri ng mga bagay ay hindi maaaring gawin sa mga wired na koneksyon dahil may isang wired koneksyon mahirap na panunubok sa trapiko. Kung ako masamang tao at sa isang dulo sa iyong computer at sa kabilang dulo ng iyong router - ang iyong modem - ang tanging paraan na ako makakakuha ng sa pagitan na koneksyon sa aktwal na maghugpong aking computer sa isang lugar sa gitna o gawin ang iba pa sa router, sa ibaba ng agos ng isang bagay. Ngunit sa wireless, maaari itong maging kasing dali ng sitting sa harap na hilera ng isang silid-aralan, at maaari mong gawin ang lahat ng mga uri ng makukulit na mga bagay-bagay sa mga tao sa likod. Natin makipag-usap tungkol sa kung paano mo maaaring ipagtanggol laban sa ilan sa mga bagay na ito. Ang mga tao na binuo ang mga wireless na pamantayan - ang 802.11 - ang mga ito ay hindi pipi mga tao sa pamamagitan ng anumang kahabaan ng imahinasyon. Ito ay cool na teknolohiya at kapag ito debuted noong 1999, sila ay dumating sa ang pamantayang ito na tinatawag na WEP. Maaari mong makita dito kapag mong subukan at sumali sa isang wireless network, mayroon kang lahat ng mga uri ng mga iba't ibang mga pagpipilian sa seguridad. Na uri ng sakit dahil mayroong 6 lahat ng sama-sama at hindi kailanman talagang saysay kung saan 1 upang sumali. Ang 1 sa itaas ay ang unang na sila ay dumating sa tinatawag na WEP. Nakatayo ang WEP para sa Wired Katumbas Privacy ng, Naniniwala akong, hindi Wireless Encryption Protocol kung saan ay isang karaniwang maling tawag. Dahil ito ay sinusubukan upang bigyan ka ng katumbas ng privacy at seguridad proteksyon katumbas ng isang wired network Sa WEP kung ano ang nagtatapos up nangyayari ay, mayroon kang isang simple, maliit na password na nagta-type ka sa at na naghahain upang i-encrypt lahat ng iyong mga pakikipag-ugnayan sa pagitan ng iyong computer at ang iyong router. Ano ang problema sa WEP bagaman? Ang password sa WEP ay talagang maikling, at din ang lahat gumagamit na parehong eksaktong password,  at kaya talagang madali upang i-decrypt. Kaya napakabilis tao naisip na WEP ay isang problema, at ang tanging dahilan na nakikita mo ipakita ito sa ito maliit na tao pa rin ay - may ilang mga mas lumang system na gamitin ang WEP - kung ano ang dapat mong sa halip ay hinahanap ang mga WPA at kahit WPA2 pamantayan na inilabas sa paglaon. Mga system na ito ay isang mas mas mahusay na go sa proteksyon sa wireless Internet. Na sinabi, sila pa rin ay ilang hackability. May mga tool out doon na maaaring pumunta sa gawin ito. Isang bagay sa partikular na maaaring maging makukulit na kung ikinonekta mo at napatotohanan sa isang wireless na router at paggamit ng ilang uri ng naka-encrypt na komunikasyon, lumiliko na ang isang Hacker ay madaling magpadala ng isang packet alisin sa pagkakakonekta mula sa router, at sandaling naalis sa pagkakakonekta mong maaari silang makinig sa - sila singhutin mga packet habang sinusubukan mong upang muling maitaguyod ang may kaugnayan sa iyong router. At sa impormasyon na iyon maaari silang pumunta sa at i-decrypt ang natitirang bahagi ng iyong mga komunikasyon. Na ito ay hindi sa pamamagitan ng anumang ay nangangahulugan na ang anumang uri ng mga secure na higit pa sa lahat ng imahinasyon. Ang iba pang mga bagay na maaari mong gawin kapag ka-set up ng wireless network o ka sumali sa kanila ay - napansin mo na dito kapag ako sumali sa network na ito, ito nagtatanong para sa pangalan ng aking network. Na ito ay kilala rin bilang ang SSID. At makikita mo dito na sa kanan Mayroon akong isang kahon na nagpapakita sa akin ang mga magagamit na SSIDs. Mayroong isang Harvard University, CS50, at staff ng CS50 network. Ngayon, kung gaano karaming mo alam nagkaroon ng CS50 network staff sa paligid? Ilan sa inyo. Hindi lahat mo. Ang problema na ito, siyempre, ay na ay hindi namin ilagay ang up sa aming listahan ng mga SSIDs, walang saysay na tao ay kilala tungkol dito malamang. Umaasa ako. Maliban kung ikaw guys ay ang lahat ng sinusubukan sa magpahaginit sa aming wireless. Ngunit ito ay isang bagay na maaari mong gawin na talagang mahalaga kapag ka-set up ng isang router sa bahay. Ito ay marahil hindi ang mangyayari para sa isang ilang taon para sa maraming, ngunit tandaan na pinapanatili na SSID ng doon at hindi din ito pagpapangalan isang bagay na super-karaniwang ay makakatulong sa panatilihin kang mas ligtas sa katagalan. Ang huling dalawang mga bagay na maaari mong gawin. Isa ay HTTPS. Kung ikaw ay sa isang Starbucks, kung ikaw ay nasa isang pampublikong wi-fi area at magpasya upang ma-access ang iyong account sa bangko, ma-access ang iyong Gmail, ang iyong Facebook, tiyakin ang mga koneksyon ay pagpunta sa pamamagitan ng HTTPS. Ito ay isang karagdagang layer ng seguridad, ang isang karagdagang layer ng pag-encrypt. Ang isang bagay na dapat tandaan dito ay, kung gaano karaming mo kailanman nag-click sa pamamagitan ng na malaki, pulang screen na nagsasabing, "Ang website na ito ay maaaring maging masama." Alam ko na mayroon akong. Marahil ito ay kapag ang lahat ng iyong bina-browse upang pumunta makita ang Homeland o isang bagay tulad na, i-right? Oo. (Madla pagtawa) Oo. Mayroong kang pumunta. Alam namin kung sino ang nanonood Homeland. Na malaki, pulang screen doon madalas na nagpapahiwatig na ang isang bagay funky ay pagpunta sa. Minsan ang website mismo ay hindi secure, ngunit na parehong malaki, red screen na ito ay kapag ang mga tao ay sinusubukang i- mount network umaatake sa iyo. Kaya kung nakita mo na malaki, pulang screen ay sa Starbucks, ay hindi mag-click sa pamamagitan nito. Masamang balita. Masamang balita bear. Ang huling bagay na maaari kang tumingin sa ay ilang uri ng VPN. VPN na ito ay magagamit sa pamamagitan ng Harvard - vpn.fas.harvard.edu-- at kung ano ang ginagawa ng aktwal na ito ay nagtatatag ng isang secure na koneksyon sa pagitan mo at ng Harvard, funnel ng iyong trapiko sa pamamagitan nito, at na paraan kung ikaw ay upo sa isang lugar tulad ng Starbucks maaari mong kumonekta sa Harvard, na ligtas na trapiko, at pagkatapos ay mag-browse mula sa Harvard. Muli, hindi walang palya. Mga tao ay maaaring makakuha ng sa gitna. Maaari silang simulan upang buksan ito, ngunit ito ay malayo mas ligtas kaysa umasa sa seguridad ng wi-fi nag-iisa. Ayos lang. Sa kabuuan, kapag naka-set up ng wireless network, kapag ikaw ay pagpunta upang gamitin ang wireless sa mga pampublikong - kung ito ay ang Starbucks, kung ito ay ang Limang Guys, kung ito ay ang B.Good, isang bagay tulad na - kahit saan mayroon silang wi-fi - magkaroon ng kamalayan ng iyong kapaligiran. Magkaroon ng kamalayan ng kung ano ang maaaring gawin ng mga tao. At safe. Huwag ma-access ang iyong account sa bangko. Ito ay maaaring maging isang bastos paggising kung ang isang tao ay nagpapakita up gamit ang iyong password sa paglaon. Na iyon, pumunta ang pulang-pula! At ako pagpunta sa i-bagay sa David para sa isang huling salita. (Palakpakan) [David] Akala ko Gusto kong ibahagi ang isang bagay mula sa personal na karanasan. Isang tool na baka gusto mo upang i-play - bagaman ang Apple ay higit sa lahat eradicated isyu na ito kung na-update mo ang iyong software dahil - ngunit patungo ito dulo ng hindi talaga pinagkakatiwalaan ng software na ginagamit namin, at Nate ng mga punto, sa amuyan pa ng kaunti ng kung ano ang iba pang mga tao ang ginagawa out doon - ito ay isang piraso ng software na kasama ang tungkol sa isang taon-at-a-kalahati ang nakalipas ngayon. [IPhoneTracker] [http://petewarden.github.com/iPhoneTracker/] Para sa ilang oras, iTunes - Lahat ng bago sa iCloud, kapag ikaw ay pag-sync ng iyong mga iPods o sa iyong iPhone o o ang iyong iPad sa iTunes - sa interes ng mga backup, kung ano ang iyong iPhone at ang mga iba pang mga device na ay ginagawa para sa ilang oras ay gumawa ng paggamit ng GPS data. Mo lang ang alam marahil na ang iyong mga iPhone at Androids at Windows mobile phone at ang mga tulad ng mga araw na ito ay maaaring subaybayan kung saan ikaw ay sa interes ng pagpapakita sa iyo ng mga mapa at katulad - na rin kung ano ang Apple at ang mga iba pang mga kumpanya na gawin ang sila karaniwang subaybayan halos lahat ng dako na aktwal mong sa interes ng pagpapabuti ng kalidad ng serbisyo. Isa, maaari kang makakuha ng mas naka-target na advertising at ang tulad, ngunit dalawang, maaari rin silang malaman kung saan doon wireless hotspot sa mundo, at ito ay maaaring makatulong na may geo-location - uri ng triangulation ng ang posisyon ng mga tao. Long kuwento maikli, ang lahat sa atin ay maigsing Antennae para sa ilang halaga ng oras. Sa kasamaang palad, ay Apple ginawa ang desisyon sa disenyo - o kakulangan nito - sa hindi na-encrypt ang impormasyon na ito kapag ito ay back-up sa iTunes. At kung ano ang seguridad tagapagpananaliksik nahanap na ito ay isang malaking XML file - isang malaking text file - sitting sa software ng mga tao sa iTunes, at kung ikaw ay lamang ng kaunti mausisa, maaari kang pumunta poking sa paligid ng kasaysayan ng iyong asawa, ang kasaysayan ng iyong kasama, kasaysayan ng iyong kapatid at tulad, at salamat sa ilang libreng software, maaari mong I-plot ang lahat ng mga GPS coordinate - latitude at longitude. Kaya, ako aktwal na ginawa ito sa aking sariling telepono. Ako naka-plug in sa aking telepono, at bang sapat, ang aking bersyon ng iTunes ay hindi naka-encrypt sa oras, at kung ano ang ako ay magagawang makita ang aking sariling pattern. Narito ang Estados Unidos at sa bawat isa ng mga asul na mga lupon ay kumakatawan sa kung saan nangyari ko nasobrahan sa mga nakaraang mga buwan ng pagmamay-ari na ito partikular na telepono.  Ang gagastusin ko ng maraming oras, siyempre, hanggang sa ang Northeast, isang maliit na oras sa California, maikli ang buhay biyahe sa Texas, at kung pagkatapos ay mag-zoom in sa - ito ay ang lahat ng uri ng fine at kawili-wiling, ngunit alam ko ito. Karamihan ng aking mga kaibigan alam ito, ngunit kung sumisid ka sa mas malalim, makikita mo kung saan ang gagastusin ko karamihan ng aking oras sa Northeast. Kung aldaba sa ilang mga pamilyar na anyo na bayan sa - ito malaki, asul na tinta magmantsa mahalagang gitna paglipas ng Boston, at pagkatapos ko gastusin ng kaunting panahon sa Suburbs na radiate mula sa Boston. Ngunit din ako ay ginagawa pa ng kaunti ng pagkonsulta na taon. At ang taong ito ay ang silangang nasa baybayin ng dagat, at maaari mong aktwal na makita sa akin at aking iPhone sa aking bulsa naglalakbay pabalik-balik sa pagitan ng Boston at New York at Philadelphia mas ibaba pa, pati na rin ang paggastos ng kaunting oras sa bakasyon sa Cape, kung saan ay ang maliit na braso out doon. Kaya, ang bawat isa sa mga tuldok ay kumakatawan sa ilang mga lugar na ako ay, at ganap na walang anumang kaalaman sa akin, ang buong kasaysayan lamang upo doon sa aking desktop computer. Kung ikaw ay mag-zoom out - ito aktwal ay isang maliit na troubling. Mayroon akong walang gunita ng pag-kailanman sa Pennsylvania na partikular na taon. Ngunit ko kahit sa isang maliit na mahirap tungkol dito at naisip ko ang, oh, ito ay sa katunayan na trip at bang sapat, ang aking telepono ay nahuli ako. Apple ay dahil na-encrypt ang impormasyon na ito, ngunit ito ay masyadong lamang tipan sa kung gaano karaming impormasyon ay kinokolekta tungkol sa amin, at kung paano madali - para sa mas mahusay o para sa mas masahol pa - ito ay katanggap-tanggap. Isa ng Dalhin-aways sana mula Rob talk, mula talk Nate sa at maliit na visual na tulad nito ngayon lamang ang lahat ng mga mas nababatid ng ito upang ang kahit na - sa Rob ng point - lubos uri ng screwed, karapatan? Walang magkano ang maaari naming gawin pagdating sa ilan sa mga banta, ngunit sa pagtatapos ng araw namin pinagkakatiwalaan ang isang bagay o isang tao kung gusto namin upang aktwal na gamitin ang mga teknolohiya. Hindi bababa sa maaari naming paggawa ng matalinong mga pagpapasya at kinakalkula desisyon man o hindi dapat namin aktwal na check ito partikular na sensitibong account o dapat namin aktwal na pagpapadala ng na bahagyang pinaghihinalaan instant message  sa wi-fi kapaligiran tulad nito. Kaya, na may na sinabi, isa lamang pagsusulit na labi, isang panayam nananatiling. Susubukan naming makita kang sa Miyerkules pagkatapos Lunes. (Palakpakan at tagay) [CS50TV]