[Powered by Google Translate] [Wythnos 10] [David J. Malan] [Harvard University] [Mae hyn yn CS50.] [CS50.TV] Mae pob iawn! Mae hyn yn CS50, ond nid ar gyfer llawer hirach. Mae hyn yn dechrau o wythnos 10. Ar ddydd Mercher, rydym wedi ein cwis, ac yna ddydd Llun nesaf mae gennym rai cacen ddathlu wrth i ni dod y cylch llawn yr holl ffordd yn ôl o sero wythnos. Heddiw, byddwn yn sôn am un o fy hoff bynciau, dweud y gwir - bod diogelwch a phreifatrwydd a goblygiadau pob un o'r caledwedd a meddalwedd ein bod i gyd yn defnyddio y dyddiau hyn. I fod yn onest, mae yna lawer o fygythiadau i maes 'na os nad ydych wedi wir yn oedi i feddwl amdanynt, eu bod mewn gwirionedd yn eithaf brawychus. Achos ym mhwynt - os unrhyw un ohonoch wedi lawrlwytho'r erioed darn o feddalwedd oddi ar y Rhyngrwyd a gosod ar eich cyfrifiadur, ydych wedi cymryd rhan mewn cryn dipyn o ymddiriedaeth, dde? Nid oes dim wedi rhwystro Skype, neu Chrome, neu unrhyw ddarn o feddalwedd rydych wedi gosod ar eich cyfrifiadur, dim ond drwy ddileu yr holl ffeiliau ar eich disg galed; o llwytho i fyny yr holl ffeiliau ar eich disg galed i weinydd rhai guy drwg hwnnw; o ddarllen eich holl negeseuon e-bost; o ryng-gipio'r eich holl negeseuon chwim. Oherwydd bod y realiti yw heddiw gyda systemau gweithredu mwyaf modern yw'n bodoli mewn gwirionedd llawer o wal rhwng rhaglenni meddalwedd yr ydym yn gosod, a chi a minnau yn 'n bert lawer yn unig fath o groesi ein bysedd ac yn cymryd ar ffydd bod y app yn rhad ac am ddim llwytho i lawr, neu fod peth sy'n 99 cents, mewn gwirionedd yn hollol ddiniwed. Ond fel yr ydym wedi gweld trwy C, ac yn awr PHP a JavaScript, gyda'r gallu i fynegi ein hunain programatically, gallwch chi wneud unrhyw beth y rhan fwyaf o chi eisiau gyda rhaglen y gallai defnyddiwr ei hun yn ei wneud. Felly, heddiw rydym yn canolbwyntio ar y pwnc - nid dim ond rhai bygythiadau ond hefyd amddiffynfeydd. Yn wir, yn y byd o ddiogelwch yn gyffredinol, mae math o gêm hon cat-a-llygoden, ac, mae'n siŵr, y guys drwg bron bob amser yn cael ei goes i fyny. Pan ddaw i gymryd mantais o galedwedd a meddalwedd ar ein cyfrifiaduron personol eu hunain, mae'n rhaid i ni sylweddoli bod dyn drwg yn syml angen i ddod o hyd i un camgymeriad syml - 1 manteisio, un bug - mewn darn o feddalwedd rydym wedi ysgrifennu neu yn rhedeg er mwyn iddo ef neu hi i gymryd drosodd ein system gyfan. Ar y llaw arall, rydym yn - y guys da - mae angen i chlytia a atgyweiria bawb bugs ac osgoi pob un o'r gwendidau hynny. Ac felly, mae'n debygol iawn ar y cyfan, y guys drwg yn cael y fantais. Pa dosbarthiadau fel hyn a dosbarthiadau dilynol yn iawn am nad ydynt am addysgu i chi sut i frwydro yn y brwydrau bod y guys ddrwg yn ei wneud, ond yn ymwneud â sut i ddiogelu eich hun neu o leiaf sut i wneud penderfyniad gyfrifir bod ie, yr wyf yn gwybod y gallai darn hwn o feddalwedd yn wir ddarllen pob un o fy negeseuon e-bost, ond rwy'n iawn â hynny oherwydd y gwerth y mae'n dod â mi ar y llaw arall. Rwy'n falch iawn o gael ymuno gan 2 o bobl smartest yr wyf yn gwybod - Rob Bowden a Nate Hardison. Rob ar fin mynd â ni am daith trwy'r lefel isaf o dagiau diogelwch - bod y casglwr sydd, hyd yn hyn, rydym i gyd wedi dod i garu ac ymddiried ynddynt. Rob Bowden. [Cymeradwyaeth] [Rob] Mae pob hawl. Mae David wedi 'n bert lawer gymryd fy mharabl cyfan fy mod yn mynd i gyflwyno â hwy, ond - Sawl wythnos yn ôl, y gwelsoch yr enghraifft o ymosodiad rhagod-gorlif sy'n enghraifft o hacio haciwr i mewn i rai darn o feddalwedd nad ydynt i fod i gael ei hacio i mewn. Mae ochr arall y Weithiau, mae gennych feddalwedd sy'n faleisus i mewn ac o ei hun. Nid yw hyd yn oed angen ei hacio. Y person a ysgrifennodd y feddalwedd eisiau i hacio i chi. Gadewch i 'jyst neidio i'r dde i mewn i cod, yn edrych ar "login.c". Yma, mae rhaglen gwirion sy'n dilysu enw defnyddiwr a chyfrinair cyfuniad. Yma dylech yn sicr yn cael gyfforddus gyda C unwaith eto ar gyfer y cwis. Yn gyntaf, rydym yn defnyddio yn cael llinynnau i ddisgrifio'r enw defnyddiwr, yna rydym yn defnyddio llinyn get i chrafangia 'r cyfrinair, ac yna mae gennym rhai gwiriadau ddibwys o ychydig, yw'r enw defnyddiwr "rob"? A yw'r cyfrinair "thisiscs50"? Neu, yw'r enw defnyddiwr "tommy" a'r cyfrinair "i <3javascript"? Os yw unrhyw un o'r rheini yw'r achos,  yna rydym yn jyst yn mynd i argraffu "Llwyddiant", ac yna mae gennym fynediad. Fel arall, rydym yn mynd i argraffu "annilys mewngofnodi" ac yna, wrth gwrs,  ers cof braslun llinynnau malloc, rydym enw defnyddiwr a chyfrinair rhad ac am ddim. Mae hon yn rhaglen mewngofnodi ddibwys, ac os ydych yn meddwl am pan fyddwch yn mewngofnodi i mewn i'r peiriant, mae'n eithaf tebyg - neu hyd yn oed mewngofnodi i mewn i'ch cyfrifiadur - nid dim ond rhywfaint o raglen mewngofnodi sy'n rhoi mynediad. Yma, rydym yn digwydd i gael hard-coded 'ddwyn', 'thisiscs50', 'tommy', 'i <3javascript', ond mae'n debyg y ceir rhywfaint o ffeil yn rhywle ar eich system weithredu sydd â rhestr o enwau defnyddwyr sy'n gallu mewngofnodi i'r system a rhestr o cyfrineiriau sy'n gysylltiedig â'r enwau defnyddwyr. Fel arfer nid yw'r cyfrineiriau yn cael eu storio yn unig yn plaintext fel hyn. Mae rhyw fath o amgryptio, ond bydd hyn yn ei wneud ar gyfer ein hesiampl. Daeth drosodd i ein casglwr - mae'n mynd i fod yn syml iawn. Mae angen i ni nodi o leiaf rhywfaint o ffeil yr ydym am ei lunio, ac wedyn yma - mae'r llinellau yn cael eu dim ond darllen ffeil A. Mae'n darllen y ffeil cyfan mewn un byffer mawr, ac yna rydym yn null-derfynu ein byffer fel bob amser, ac yn olaf, rydym yn unig lunio y ffeil. Nid ydym yn mynd i edrych ar sut Llunio cael ei weithredu mewn gwirionedd, ond fel awgrym, 'i jyst yn galw Clang. Rydym yn mynd i ddefnyddio'r rhaglen hon i lunio pethau yn hytrach na Clang. Un broblem i ni ddechrau gyda'r yw ein gweld ein bod am i lunio ein compiler, ond os nad ydym yn mynd i ddefnyddio Clang, nid wyf yn gwybod beth oeddwn i'n mynd i lunio gyda. Mae hwn yn fater cyffredinol a elwir yn bootstrapping. Felly, dim ond hyn unwaith, yr wyf i'n mynd i ddefnyddio Clang i lunio ein compiler. Os ydych yn meddwl am Gyngor Gwynedd a Clang - rhaglenni hynny, y rhai crynoadyddion yn cael ei diweddaru'n gyson, a'r rhai crynoadyddion eu llunio gan ddefnyddio GCC a Clang. Clang yn un fawr C neu C + + rhaglen, felly mae'r compiler maent yn eu defnyddio i lunio hynny yw Clang. Yma, nawr, rydym yn jyst yn mynd i gael ei ddefnyddio ein compiler i lunio ein compiler, a gallwn hyd yn oed yn dweud - '/ compiler.', 'compiler.c', 'compile.c', '-o compiler'. Sylwch mai dyma'r union gorchymyn wyf yn rhedeg o'r blaen - dim ond lle Clang gydag ef '. / compiler'. Ac yn awr mae gennym arall compiler, ond mae'n union yr un fath. 'I jyst yn galw Clang. Rydym yn mynd i ddefnyddio ein compiler i lunio ein rhaglen mewngofnodi. Iawn - ". / Compiler login.c-o mewngofnodi". Felly, cyfeiriad anniffiniedig i "GetString". Oes gennych chi "-lcs50". Iawn. Felly, yn awr yr wyf wedi ein rhaglen mewngofnodi. Rhedeg - yn derbyn "Rhowch eich enw defnyddiwr". Un enghraifft oedd rob. Rhowch eich cyfrinair - thisiscs50. Ac llwyddiant! Mae gen i fynediad. Rhedeg eto ac yn nodi rhai cyfrinair annilys - neu enw defnyddiwr annilys a chyfrinair - annilys mewngofnodi. Iawn. Nid oes dim diddorol am hyn hyd yma. Ond, gadewch i ni edrych ar fewngofnodi eto - ac mae hyn yn mynd i fod yn enghraifft braidd yn ddibwys, ond gadewch i ni ychwanegu arall yma a dweud, arall os ((strcmp (enw defnyddiwr, "haciwr") == 0 && strcmp (cyfrinair, "LOLihackyou") == 0)) felly yn awr, printf ("hacio i chi bellach gael mynediad \ n!!."); iawn. Llunio hyn - compiler login.c-o-lcs50 mewngofnodi - nawr yn rhedeg mewngofnodi - ac os byddaf yn defnyddio fy haciwr enw defnyddiwr a chyfrinair LOLihackedyou - Wnes i deipio yn anghywir i mewn 'na o'r blaen? Yn login.c--ihack - I'll yn hacio oherwydd fy mod yn credu fy mod yn gwneud hynny yn nes ymlaen. Iawn. Recompiling. Ail-redeg - haciwr - LOLihackedyou - Hacio!! Rydych yn awr wedi mynediad. Nid yw'n ymddangos fod llawer o wahaniaeth am ei fod y gwiriad union yr un oeddwn yn ei wneud am enwau defnyddwyr a chyfrineiriau eraill. Byd Gwaith, y peth mawr yw os bydd pobl eraill yn edrych ar hyn login.c-- ddweud, os ydw i'n pasio hwn i ffwrdd i fy partner, ac maent yn agor y ffeil, ac maent yn darllen hyn, byddant yn gweld - yn iawn, pam yr ydych yn cael y llinellau hyn o god yma? Na amlwg yn rhywbeth a ddylai fod yn eich rhaglen. Mewn rhai rhaglenni - fel unrhyw feddalwedd perchnogol nad yw'n agored-ffynhonnell - byth efallai y byddwch yn gweld y llinellau o god. Rhywbeth fel Skype neu rywbeth - ar gyfer pob eich bod yn gwybod, Skype ar eich cyfrifiadur ac nid oes dim ond rhai penodol enw defnyddiwr cyfrinair-cyfuniad a fydd yn logio i mewn Skype mewn rhyw ffordd arbennig. Nid ydym yn gwybod amdano, ac nid yw pobl yn gwybod amdano, oherwydd nad ydynt yn mynd i ddarllen y sourcecode i weld bod yna twll hwn. Beth rydym yn galw hyn - er nad yw hyn yn enghraifft glyfar iawn - gelwir hyn yn ddrws cefn. Os ydych yn meddwl am y drws cefn eich tŷ. Yma, os wyf yn dilysu gyda 'ddwyn' yr enwau defnyddwyr neu 'tommy,' fyddai'n hoffi defnyddio'r "drws blaen." Dyna y ffordd rwy'n fod yn ddiogel er mwyn mewngofnodi. Ond os byddaf yn mynd â hyn enw defnyddiwr a chyfrinair - yna mae hynny'n ei ddefnyddio "drws cefn." Nid oedd y ffordd fwriadol i fynd i mewn i'r rhaglen, ond mae'n dal i weithio. Ac nid yw pobl yn gyffredinol i fod i wybod am y drysau cefn. Rydym yn mynd i wella hyn. Gadewch i ni yn dychwelyd hyn i'n login.c gwreiddiol, a gadewch i ni gymryd golwg ar ein compiler newydd. Iawn. Mae popeth yma yn union yr un fath. Rydym yn darllen y ffeil cyfan i mewn i byffer. Mae popeth i lawr yma yr un fath. Rydym yn casglu dim ond y ffeil. Ond yn awr yr wyf wedi hyn mawr os i mewn yma sy'n dweud, os yw'r ffeil fy mod yn digwydd yn llunio yn login.c, yna yr wyf yn gwneud rhywbeth arbennig. Beth yw bod rhywbeth arbennig? Rwy'n gweld yma rai llinyn o'r enw 'darnia', ac edrych ar y llinellau hyn o god - rhain yn yr un llinellau o god - mae'n debyg i ddim defnyddio 'ihack' ac nid 'ihacked' cyn - edrych ar y llinellau hyn o god, eu bod yn yr un llinellau union o god byddai i mi yn login.c o'r blaen. Ond yn awr, yn hytrach na'u yn login.c, Rydw i'n mynd i roi i mewn i fy compiler. Mae'r rhain yn y llinellau o god dwi'n mynd i eisiau i fewnosod yn login.c. Mae'r llinellau o god - y byffer yn wreiddiol cynnal fy login.c bellach yn mynd i fod yn ddigon mawr oherwydd rydw i am i hefyd yn mewnosod hon darnia i ganol fy rhaglen. Mae hyn i gyd yn ei wneud yn creu byffer newydd sy'n ddigon mawr - ar gyfer y ffeil wreiddiol a'r llinellau ychwanegol o god - y darnia - yr wyf i am osod yno. Dyma rywbeth i sylwi ar - torgoch * patrwm = "/ / gwrthod mynediad iddynt!" Os ydym yn edrych yn ôl ar login.c, rydym yn gweld i lawr yma y sylw hwn - gwadu mynediad iddynt! Yn login.c, y sylw hwn yn edrych yn gwbl ddiniwed, felly ni fyddai ydych yn amau ​​unrhyw fwriad maleisus gyda dim ond y sylw hwn. Ond yn ein compiler, rydym yn benodol yn mynd i chwilio am y llinell o god, ac yna pan fyddwn yn ei chael yn - y llinellau hyn o god yn gosod ein darnia yn y sefyllfa honno. Felly, rydym yn ailadrodd dros y login.c cyfan, rydym yn gosod y darnia yn union lle mae'n dweud gwadu mynediad iddynt, nid yw'r login.c gwreiddiol - ac yna rydym yn casglu ond mae'r login.c newydd â'r hyn a darnia fewnosod i'r dde wrth 'gwadu mynediad iddynt.' Nawr rwyf am i lunio fy compiler newydd â'r hyn a darnia dan sylw. Dydw i ddim yn mynd i ddefnyddio Clang, felly gadewch i ni copïo'r compiler a ddefnyddiwyd gennym o'r blaen a defnyddio hynny - felly, compiler compiler.c compile.c-o evil_compiler. Nawr ein compiler drwg - os ydym yn defnyddio ein compiler drwg i lunio unrhyw ffeil arall, Bydd y ffeil yn llunio fel y dylai. Mae'n hollol normal. Ond os ydym yn defnyddio ein compiler drwg i lunio mewngofnodi - felly, / evil_compiler login.c-o-lcs50 mewngofnodi. - edrych ar login.c eto, does dim byd o gwbl yma. Mae'n ein arferol 'os yw'n naill ai rob neu tommy ydym mewn, arall yr ydym chi allan'. Ond pan rydym yn cynnal ein gweithredadwy, bydd hyn yn gweithio fel arfer. Rhedeg eto - haciwr, LOLihackyou - Hacio!! Rydych yn awr wedi mynediad. Dim ond yn edrych ar login.c, ni fyddech yn credu unrhyw beth yn anghywir. Ond y compiler sy'n cael ei defnyddio i lunio login.c wedi'i chynllunio'n benodol i fewnosod hon darnia i mewn i'r rhaglen. Rydym wedi symud dim ond ein problem gwreiddiol. Yn wreiddiol, roedd gennym y llinellau hyn o god yn login.c, os unrhyw un arall edrych arnynt, byddent yn hoffi, pam nad yw'r rhain yma? Nawr, os oes unrhyw un yn digwydd i edrych ar ein compiler, byddant yn edrych ar y llinellau hyn o god a dweud, pam nad yw'r rhain yma? Felly, nid ydym wedi datrys yn llwyr ein problem. Ond gallwn ddefnyddio'r syniad hwn eto. Gan edrych ar ein fersiwn o dair o'r compiler, mae'n un syniad. Rydym yn darllen y ffeil cyfan at fyffer yma, rydym yn llunio ffeil i lawr yma, ac yr wyf wedi rhyw fath o darnia llinyn yn fan hyn, ond yn sylwi ar y ffeil fy mod mewn gwirionedd yn hacio yn awr. Yr wyf yn compiler.c hacio Nid login.c. Ond beth ydw i'n gosod i mewn i compiler.c? Rwy'n gosod y cod hwn, sef y cod union yn ein compiler blaenorol, a oedd i fod i osod cod i mewn i login.c. Dyma yw ein os login.c ffeil strcmp ac yna rhowch i mewn i bethau darnia login.c ein. Mae'r compiler newydd yw creu casglwr sydd wedi'i bwriadu i lunio mewngofnodi faleisus. Byddwn yn gweld pam fod yn ein helpu ni. Mae popeth arall yr un fath, felly mae'n gweithio yn union fel ei fod yn gweithio gyda'n compiler blaenorol. Rydym yn unig ailadrodd dros ein compile.c cyfan. Ond yn awr yn hytrach na chwilio am 'gwadu mynediad iddynt,' rydym yn chwilio am 'lunio y ffeil.' Ble mae lunio y ffeil? Edrych ar ein compiler.c gwbl ddiniwed, ei fod yn iawn i lawr yma yn y gwaelod. Mae'r sylw hwn - lunio'r ffeil - unwaith eto, sy'n edrych yn gwbl ddiniwed. Ond, yn ein fersiwn maleisus y compiler, rydym yn mynd i'r - dde cyn y sylw hwnnw - nodwch y cod hwn sydd wedi'i bwriadu i osod cod wrth lunio login.c. Mae llawer o lefelau o indirection yma. Gadewch i ni mewn gwirionedd redeg. Unwaith eto, byddwn yn copïo ein compiler gwreiddiol. Nawr, Llunio - casglwr compiler.c compile.c-o evilest_compiler - ac yn awr evilest_compiler. Compiler Evilest - os gallwn ddefnyddio hynny i lunio ein compiler, gadewch i ni mewn gwirionedd yn edrych. Evilest_compiler - dod â hi dros, y cyfan y ffordd yn ôl i fersiwn 1 o'n casglwr - fersiwn 1 o'n compiler a oedd newydd ei ddarllen yn y ffeil ac yn llunio ei. Yma, rydym yn gwybod bod evilest_compiler - pan fydd yn llunio ffeil hon - yn mynd i fewnosod cod dde yma cyn llunio y ffeil, a bod y cod yn mynd i edrych yn union fel y cod o'r ail fersiwn ein compiler a wnaeth hyn. Mae'r cod hwn, sydd wedi'i bwriadu i dorri i mewn login, yn mynd i gael eu gosod yn ein compiler gan evilest compiler. Gadewch i ni ddefnyddio evilest_compiler i lunio ein compiler. Nawr byddwn yn defnyddio compiler, yn dod yn ôl drosodd i mewngofnodi, a chofiwch y login.c wedi gwbl ddim amheus ynddo. Ond gan ddefnyddio ein compiler i lunio login.c, rob, thisiscs50, llwyddiant. Hacio haciwr mewngofnodi Gadewch i ni, LOLihackyou,!! Rydych yn awr wedi mynediad. Cydnabod bod hyn yn wahanol i fersiwn 2 o'n compiler. Mae'r compiler rydym yn defnyddio - gadewch i ni symud yn ôl - copi o'r mewngofnodi - gadewch i ni ddod â'n compiler yn ôl i mewn yma. Cael gwared compiler evilest. Y cyfan yr ydym wedi gadael yn awr yw compiler. Os ydym yn edrych ar compiler.c, nid oes dim byd o gwbl i mewn 'na sy'n ymddangos yn faleisus mewn unrhyw fodd. Os ydym yn edrych ar login.c, nid oes dim yma sy'n edrych yn faleisus mewn unrhyw fodd. Ond, pan fyddwn yn defnyddio ein compiler i lunio login.c, rydym yn cael y fersiwn hackable o login.c. Pan fyddwn yn defnyddio ein compiler i lunio fersiwn newydd o'r compiler, rydym yn cael y fersiwn hackable y compiler. Nawr, os ydym yn mynd allan ac yn dosbarthu ein gweithredadwy compiler, ac ni fydd neb yn gwybod bod yna unrhyw beth maleisus am y peth. Mae hyn mewn gwirionedd felly yn - ni allaf gofio y flwyddyn - Enillodd Ken Thompson, ac ef y Wobr Turing - os ydych yn anghyfarwydd â Gwobr Turing, mae bron bob amser a ddiffinnir fel y Nobel Gwobr o cyfrifiadureg, felly dyna sut y byddaf yn ei ddiffinio. Rhoddodd Ken Thompson ei araith wrth iddo gael ei Turing Gwobr o'r enw "Myfyrdodau ar Ymddiriedolaeth Ymddiried." Yn y bôn, dyma oedd y syniad ei araith. Ac eithrio lle ein compiler, oedd yn siarad am Gyngor Gwynedd - arall yn unig compiler fel Clang - a beth oedd yn ei ddweud yw, fel ein login.c, ein login.c ymddangos yn gymharol ddiwerth ond ei fod yn sôn am y gwir UNIX login.c. Pan fyddwch yn mewngofnodi i'ch offer, oes rhaglen mewngofnodi, sy'n cael ei rhedeg. Dyna oedd y mewngofnodi ei fod yn sôn amdano. Roedd hyn yn y bôn ei syniad. Dywedodd mewn Cyngor Gwynedd, fe allai, mewn egwyddor, wedi plannu bug - Nid yw nam, ond chod maleisus - bod wrth lunio'r swyddogaeth mewngofnodi - y ffeil mewngofnodi - Byddai mewnosod drws cefn fel y gallai fynd i unrhyw system gwbl UNIX yn y byd ac yn mewngofnodi gyda rhywfaint o enw defnyddiwr a chyfrinair penodol. Ar y pryd, roedd Cyngor Gwynedd 'n bert lawer y compiler bod pawb a ddefnyddir ar gyfer unrhyw beth. Os oes unrhyw un yn digwydd i ddiweddaru Cyngor Gwynedd, yna byddent yn ail-grynhoi Cyngor Gwynedd yn defnyddio Cyngor Gwynedd, a byddech yn dal i gael fersiwn gwael o Cyngor Gwynedd oherwydd iddi gael ei llunio yn benodol i gydnabod ei bod yn recompiling y compiler. Ac os ydych chi erioed wedi defnyddio Cyngor Gwynedd i ail-grynhoi ffeil login.c, yna byddai'n ei chynnwys y drws cefn y gallai eu defnyddio i fewngofnodi i unrhyw gyfrifiadur. Roedd hyn i gyd damcaniaethol, ond - yr amgylchiadau penodol yn ddamcaniaethol, ond mae'r syniadau yn real iawn. Yn 2003, roedd yn enghraifft debyg lle - byddwn yn edrych ar y ffeil, ac mae wedi gwbl ddim i'w wneud mewn gwirionedd ag ef, ond mae'r nam yn debyg. Mae'r ffeil hon yn unig yn diffinio swyddogaeth a elwir yn rhaniad. Mae'n cymryd ddadl, yn b dadl, a'r bwriad yw gwneud rhannu â b. Ond mae ychydig o wirio gwall, felly rydym yn gwybod pethau yn rhyfedd os yw b digwydd yn hafal i sero. Os b yn sero, yna rydym yn rhannu hyn i 2 achos. Efallai eich bod eisoes yn gweld y nam. Mae'r achos cyntaf - os bydd yn sero, yna rydym yn ei wneud dim wedi'i rannu â sero, ac rydym yn unig dweud bod yn amhenodol. Yr ail achos - os nad yn sero, yna mae'n rhywbeth fel 1 wedi'i rannu gan sero, ac rydym yn unig yn galw y anfeidredd. Arall byddwn yn dychwelyd y arferol a rhannu â b. Ac felly yma, rydym yn rhedeg y 3 achos, ac yr ydym mewn gwirionedd yn rhedeg raniad - mae'n yells arno i mi - felly, gan anwybyddu rhybuddion Clang - yn diwedd heb fod yn ddi-rym swyddogaeth - mae'n debyg doeddwn i ddim yn llunio hyn ymlaen llaw. Dychwelyd 0. Gwneud rhannu - pob hawl. Gyda. / Rhaniad, rydym yn gweld 3, Infinity, Infinity. Ni ddylai sero wedi'i rannu gan sero wedi dychwelyd anfeidredd. Ac os nad ydych wedi cyfrifedig allan y byg eto - neu ddim yn ei weld o'r blaen - rydym yn gweld ein bod ni'n gwneud a = 0. Yn ôl pob tebyg ni yn golygu == 0. Yn ôl pob tebyg. Ond, roedd hyn mewn gwirionedd yn rhywbeth sydd, unwaith eto, yn 2003, y cnewyllyn Linux - felly mae ein peiriant yn ei ddefnyddio y cnewyllyn Linux - unrhyw system weithredu Linux yn defnyddio'r cnewyllyn Linux - felly mae nam yn debyg iawn i'r hyn yn dangos i fyny. Y syniad tu ôl i hyn oedd bug - unwaith eto, roedd dim ond rhywfaint o swyddogaeth yr hwn a elwid, ac yr oedd ychydig o wirio gwall. Roedd rhai mewnbynnau penodol bod y gwall gwirio - dylai fod wedi bod fel, popeth yn iawn, ni allwch ffonio swyddogaeth hon gyda rhannydd o 0. Felly, yr wyf i'n mynd i fynd yn ôl rhyw wall. Ac eithrio, nid oedd mor ddiniwed â dim ond gosod gyfartal i 0. Yn hytrach, mae'r llinell o god a ddaeth i ben i fyny yn gwneud rhywbeth yn fwy fel defnyddiwr = gweinyddwr. Neu defnyddiwr = uwch ddefnyddiwr. Roedd yn ddiniwed - ar yr olwg gyntaf - camgymeriad lle y gallai fod wedi bod yr un rhesymol mai dim ond eisiau gwybod am rywbeth penodol os yw'r defnyddiwr yn digwydd i fod yn weinyddwr uwch ddefnyddiwr. Ond yna ail-feddwl am y peth, mae'r person eisiau iddo edrych fel typo syml, ond os y cod hwn wedi cael ei ryddhau mewn gwirionedd, yna byddech wedi gallu i hacio i mewn i unrhyw system trwy basio faner penodol - yn yr achos hwn b = 0 - a byddai'n awtomatig yn gwneud y defnyddiwr y gweinyddwr, ac yna mae ganddo reolaeth lawn. Digwyddodd hyn yn 2003. 'I jyst yn digwydd fel bod y rheswm yn unig yn ei ddal oedd oherwydd bod yn digwydd bod rhywfaint o system awtomataidd a sylwi ar y newid yn y ffeil hon erioed a ddylai fod wedi cael ei newid gan fod dynol. Dylai'r ffeil yn unig wedi cael eu cynhyrchu yn awtomatig. 'I jyst yn digwydd fel bod rhywun yn cyffwrdd - dda, y person a oedd yn awyddus i hacio cyffwrdd y ffeil, ac mae'r cyfrifiadur yn dal y cyffwrdd. Felly, maent yn newid hynny a dim ond yn ddiweddarach yn sylweddoli pa mor drychinebus y byddai wedi bod yn os yw hyn wedi gotten allan i'r byd go iawn. Efallai eich bod yn meddwl hynny - i ddod yn ôl at ein henghraifft casglwr - er na allwn weld - yn edrych ar y sourcecode - bod unrhyw beth yn arbennig yn anghywir, os ydym mewn gwirionedd yn edrych ar y cod deuaidd o compiler, byddem yn gweld bod rhywbeth o'i le. Fel enghraifft, os ydym yn rhedeg y llinynnau gweithredu - sydd yn unig yn mynd i edrych dros ffeil ac argraffu ar yr holl dannau gall ddod o hyd - os byddwn yn rhedeg llinynnau ar ein compiler, gwelwn fod un llinyn bod yn canfod a yw hyn yn rhyfedd - arall os (strcmp (enw defnyddiwr, "haciwr") - blah, blah, blah. Os bydd rhywun yn digwydd bod yn paranoid yn ddigon i beidio ymddiried yn eu compiler, gallent redeg llinynnau ac yn gweld hyn, ac yna byddent yn gwybod bod rhywbeth o'i le ar y deuaidd gwirioneddol. Ond, llinynnau roedd yn anochel rhywbeth a oedd yn ei lunio. Felly, pwy sydd i ddweud nad yw ein compiler oes gen ti cod yn fwy arbennig sy'n dweud, os llinynnau yn cael ei redeg erioed ar ein compiler, peidiwch allbynnu hynny i gyd chod maleisus. Mae'r un syniad â hwy os ydym am i dis-ymgynnull y ffeil - rydym yn dysgu bod y cyfosodwr yn dod â ni o'r cod cynulliad i god peiriant - gallwn fynd i'r cyfeiriad arall - objdump-d casglwr - bydd yn rhoi i ni y cynulliad ein cod. Edrych ar hyn, mae'n eithaf cryptig, ond os ydym eisiau, gallem edrych drwy'r a'r rheswm, aros, mae rhywbeth yn digwydd mewn yma ni ddylai fod yn mynd ymlaen, ac yna byddwn yn cydnabod bod y casglwr yn gwneud rhywbeth maleisus. Ond, yn union fel llinynnau, pwy sydd i ddweud nad oedd yn arbennig objdump-Mewn Casys. Yn y bôn, mae'n dod i lawr i nad ydych yn gallu ymddiried yn unrhyw beth. Y pwynt y papur yn cael ei alw "Ymddiriedolaeth Ymddiried" yn yn gyffredinol, rydym yn ymddiried yn ein compiler. Rydych yn casglu eich cod ac yn disgwyl iddo wneud yr hyn yr ydych yn gofyn iddo ei wneud. Ond, pam y dylech chi ymddiried yn y compiler? Nid oeddech wedi ysgrifennu compiler. Nid ydych yn gwybod beth yw'r compiler o angenrheidrwydd yn ei wneud mewn gwirionedd. Pwy sydd i ddweud y gallwch ymddiried ynddo? Ond hyd yn oed wedyn, yn dda, efallai y gallwn ymddiried yn y compiler. Mae degau o filoedd o bobl sydd wedi edrych ar hyn. Mae'n rhaid i rhywun wedi cydnabod rhywbeth i fyny gyda'r compiler. Beth os ydym yn unig yn mynd 1 lefel ddyfnach? Gallai hyd yn oed fod yn eich prosesydd. Fel chwerthinllyd ag y gallai o bosibl fod, efallai mae rhywfaint o weithiwr twyllodrus yn Intel sy'n creu hyn proseswyr pryd bynnag y prosesydd yn sylwi eich bod yn rhedeg rhyw gorchymyn bod i fod i fewngofnodi i'r cyfrifiadur, Bydd y prosesydd yn derbyn rhywfaint o enw defnyddiwr penodol a chyfuniad cyfrinair. Byddai'n cael ei gymhleth gwyllt, ond gallai rhywun ei wneud. Ar yr adeg honno, a ydych wir yn mynd i agor i fyny 'ch chyfrifiadur i edrych ar y prosesydd a defnyddio microsgop i gydnabod nad yw'r cylchedau yn cael eu trefnu fel y dylent fod? Nid oes neb yn byth yn mynd i ddal y gwall. Ar ryw bwynt, os oes gen ti i roi'r gorau ac yn ymddiried rhywbeth. Rhan fwyaf o bobl yn ymddiried yn y compiler yn y fan hon. Hynny yw, nid o reidrwydd y dylech chi. Edrych ar fideo braidd yn enwog - [Cerddoriaeth ddramatig chwarae] [Mae'n system UNIX. Rwy'n gwybod hyn.] [Mae'n holl ffeiliau -] Meddai, "Mae'n system UNIX. Rwy'n gwybod hyn." Yn lle UNIX gyda beth bynnag yw eich system weithredu hoff yw - Gallai hi fod wedi dweud, "Mae'n system Windows. Rwy'n gwybod hyn." Mae'n ddatganiad hollol ddiystyr, ond ar gyfer yr holl rydym yn gwybod, mae hi'n digwydd i adnabod drws cefn i mewn i'r system UNIX. Mae hi'n gwybod rhyw gyfuniad enw defnyddiwr / cyfrinair a fydd yn mewn gwirionedd yn gadael ei wneud beth bynnag mae hi eisiau. Mae pob hawl. Mae moesol heddiw yn y bôn nad ydych yn gallu ymddiried yn unrhyw beth. Hyd yn oed pethau i chi ysgrifennu - na wnaethoch chi ysgrifennu compiler. Gallai'r compiler fod yn ddrwg. Hyd yn oed os gwnaethoch ysgrifennu'r compiler, gallai'r peth sy'n rhedeg y compiler yn ddrwg. (Chwerthin) Does dim llawer y gallwch ei wneud. Mae'r byd yn doomed. Back i David! [Cymeradwyaeth] [David] Diolch yn fawr. Dyna oedd wir yn ddigalon. Ond yn wir, Rob yn gywir. Dydyn ni ddim yn cael ateb i hynny, ond rydych chi ar fin i gael rhai atebion i rai amddiffynfeydd yn fwy cyffredin. Gan ragweld hyn, beth Nate a minnau wedi bod yn ei wneud tu ôl i'r llenni yno yn gwybod bod yna gymaint o gliniaduron yn yr ystafell hon, rydym wedi bod yn arogli holl draffig di-wifr yn mynd trwy ystafell hon ar gyfer yr 20 munud diwethaf yn ystod Rob sgwrs, felly rydym yn mynd i gymryd egwyl 2 funud yma. Nate yn mynd i sefydlu, ac yna rydym yn mynd i siarad am yr holl bethau gallem fod wedi dod o hyd. (Chwerthin) Felly, efallai fy mod wedi gorliwio ychydig yn unig er mwyn drama, ond gallem fod wedi bod yn ffroeni eich holl draffig di-wifr am fod yn wir, mae'n hawdd â hynny. Ond mae yna hefyd ffyrdd y gallwch amddiffyn yn erbyn hyn, ac felly gyda hynny, Yr wyf yn rhoi i chi Nate Hardison. >> [Nate] Sweet. (Cymeradwyaeth) [Nate] Diolch yn fawr, dyn. Yr wyf yn gwerthfawrogi'r gweiddi allan. Mae pob iawn! Mae'n wythnos gêm. Ydych chi'n guys gyffrous? Gobeithio y mae'n mynd i fod yn gêm fawr ddydd Sadwrn. Yr wyf yn tybio eich guys yn y fan hon - o ystyried bod gennych cwis ar ddydd Mercher popeth am cod, ac rydym yn unig eistedd drwy darlith gwych gan Rob gyda criw cyfan o C cod ynddo - yn efallai ychydig yn flinedig o god. Yn y rhan hon, nid ydym yn wir yn mynd i gyffwrdd unrhyw god o gwbl. Rydym yn unig yn mynd i siarad am dechnoleg yr ydych yn eu defnyddio bob dydd, yn aml i lawer, llawer o oriau bob dydd, a byddwn yn sôn am y goblygiadau gyda diogelwch nad oes. Rydym wedi siarad llawer am ddiogelwch yn ystod y semester, ac rydym yn dechrau i ffwrdd gyda ychydig o crypto. [Bdoh lv vwlqng!] Ac wrth i chi guys yn ôl pob tebyg super-gyffrous i gael eu pasio nodiadau at ei gilydd yn y dosbarth gan ddefnyddio cipher Caesar fel yr un yma, mewn gwirionedd, mae rhai yn fwy o hwyl i'w gael pan rydych chi mewn gwirionedd yn siarad am ddiogelwch a bod y math o bethau. Heddiw, rydym yn mynd i gwmpasu ychydig dechnolegau bod pobl mewn gwirionedd yn defnyddio yn y byd go iawn i wneud pob math o bethau rhag arogli pecynnau pobl i mewn gwirionedd yn mynd i mewn ac torri i mewn i gyfrifon banc pobl a hynny i gyd. Mae'r rhain yn arfau dilys ein bod yn sôn am ac eithrio o bosib un offeryn. Ac yr wyf yn jyst eisiau gwneud ymwadiad gyflym. Pan fyddwn yn sôn am y pethau hyn, rydym yn sôn amdanynt fel eich bod yn gwybod beth sydd ar gael, a ydych yn ymwybodol o sut i fod yn ddiogel pan fyddwch allan yn defnyddio eich cyfrifiadur. Ond nid ydym yn sicr yn awyddus i awgrymu y dylech ddefnyddio'r arfau hyn yn eich dorm neu eich tŷ oherwydd gallwch rhedeg i mewn i lawer o faterion mawr. Dyna un rheswm heddiw nad ydym mewn gwirionedd yn arogli eich pecynnau. Mae pob hawl. Ddydd Llun diwethaf, buom yn siarad am 'cookies', a HTTP, a dilysu, a sut Firesheep yn agor y drws mawr i mewn i'ch cyfrif Facebook, at eich cyfrif Hotmail - os oes unrhyw un yn dal i ddefnyddio Hotmail - a chyfrifon eraill. Mae llawer o pethau hyn yn mynd i adeiladu oddi ar hynny, ond yn gyntaf, rwyf am i fynd ar daith gyflym o sut y mae'r Rhyngrwyd wedi esblygu dros amser. Yn ôl yn y '90au, efallai y byddwch guys wedi cofio mewn gwirionedd plygio i mewn eich cyfrifiaduron gydag un o'r rhain. Nawr, nid ydym yn gwneud hynny cymaint anymore. Mae'n mewn gwirionedd yn troi allan, er mwyn i lenwi'r cebl Ether-rwyd i mewn i fy laptop, Rwyf bellach yn rhaid i chi ddefnyddio un o'r adapters sy'n fath o crazy. Yn lle hynny, yn 1997 roedd gennym newydd hwn, technoleg hwyl ddaeth allan sy'n cael ei adnabod fel IEEE 802.11, felly mae hwn yn safon y rhyngrwyd di-wifr Mae'r IEEE yw hwn corff llywodraethu sy'n rhoi allan pob math o - cyhoeddi pob math o safonau gyda perthynas â chyfrifiaduron. Mae'r 802 safonau i gyd yn ymwneud dechnolegau Rhyngrwyd. Felly 802.3, er enghraifft, yn y safon Ethernet, 802.15.1 yn fy marn i safon Bluetooth, a 802.11 i gyd Rhyngrwyd am di-wifr. Yn 1997 y daeth allan. Nid oedd yn hollol dal ar y dde i ffwrdd. Nid tan 1999 a daeth y safon 802.11b fod jyst got yn boblogaidd iawn. Faint ohonoch yn cofio pan yw cyfrifiaduron dechrau dod allan a chael wi-fi arnynt? Dyna oedd fath o oer, huh? Dwi'n cofio cael fy ngliniadur cyntaf yn yr ysgol yn uchel, ac roedd ganddi cerdyn di-wifr ynddo. Roedd fy nhad roddodd i mi ac yn dweud y dylwn ei ddefnyddio ar gyfer fy apps coleg a hynny i gyd, a doedd gen i ddim syniad sut yr oeddwn yn mynd i chwilio am hon ar-lein pethau. Ond yn ffodus, roedd gen i gerdyn di-wifr, fel bod yn eithaf oer. Y dyddiau hyn, byddwch hefyd yn gweld 802.11g sy'n un o'r llall yn boblogaidd iawn safonau di-wifr sydd allan yno. Mae b a g wedi dyddio 'n bert ar yr adeg hon. Unrhyw un yn gwybod pa fersiwn rhan fwyaf o bobl ar hyn o bryd os ydynt yn prynu llwybryddion di-wifr newydd a'r math o bethau? N. Yn union. Bingo. Ac mae'n troi allan fod y safon cerrynt eiledol yn unig yn dod allan ar ffurf drafft, ac mae fersiynau eraill ar y ffordd. Gyda phob un o'r safonau hyn rydym yn ei ennill yn rhagor o led band, mwy o ddata ar gyfradd gyflymach. Mae'r pethau hyn yn newid o hyd yn weddol gyflym. Mae hefyd yn ei gwneud fel bod rhaid i ni brynu mwy o llwybryddion a holl bethau hwyl. Gadewch i ni siarad am yr hyn di-wifr cyfathrebu mewn gwirionedd ar ei graidd. Gyda Ethernet a rhai hen deialu modemau, chi mewn gwirionedd yn cael y pethau yr ydych yn blygio i mewn i'ch cyfrifiadur, ac yna rydych blygio i mewn i modem o ryw fath, ac yna rydych blygio i mewn i jack yn eich wal. Byddwch yn cael y cysylltiad gwifrog, dde? Y pwynt cyfan o di-wifr yn cael gwared ar y pethau hyn. Er mwyn gwneud hynny, yr hyn sydd gennym yn ei hanfod cyfathrebu radio lle mae ein llwybrydd diwifr - ddynodwyd gan ein eicon bach di-wifr - wedi'i chysylltu â'r Rhyngrwyd gyda hyn saeth solet dangos rhyw fath o gysylltiad gwifrau, ond pan fyddwch yn cysylltu â'ch llwybrydd di-wifr rydych chi mewn gwirionedd yn defnyddio bron fel walkie-talkie rhwng eich cyfrifiadur ac yn eich llwybrydd di-wifr. Beth 'n sylweddol oera am hyn yw y gallwch chi symud o gwmpas. Gallwch gario eich cyfrifiadur ar hyd a lled Sanders, ewch syrffio'r we, beth bynnag yr ydych ei eisiau, yn union fel chi i gyd yn gwybod a chariad, ac nid oes byth i gael ei blygio i mewn i unrhyw beth. Er mwyn i hyn weithio, mae gennym ddau y derbyniad a throsglwyddo. Mae'n wir yn debyg y walkie-talkie. Mae'r llwybrydd diwifr - sydd yn ei Sanders yn eistedd o dan y cam hwn, dde yma - bob amser darlledu a derbyn, darlledu a derbyn, ac yn yr un modd, mae eich cyfrifiaduron i gyd yn gwneud hynny un math o beth, hefyd. Nad ydym yn gallu ei glywed. Y peth arall y gallwch ei wneud yw y gallwch gael cyfrifiaduron lluosog siarad â'r llwybrydd di-wifr un. Mae'r nes eich bod at llwybrydd - ac eto, mae hwn yn cyfathrebu radio - y nes eich bod yn, y gorau fydd eich signal yw, y gorau fydd eich cyfrifiadur yn 'clywed' y llwybrydd a gallant gyfathrebu â'r Rhyngrwyd. Os ydych yn guys byth yn eich dorm, yn eich tŷ a ydych yn meddwl pam eich signal yn wael, mae'n debyg oherwydd a). nad ydych yn agos iawn at eich llwybrydd, neu b). mae rhywbeth yn rhyngoch chi a'ch llwybrydd fel wal rhywbeth sment neu nad yw'n rhoi gwybod i'r rhai tonnau radio yn mynd drwy. Gadewch i ni siarad ychydig am pam y guys drwg fel wi-fi. Guys drwg wrth eu bodd wi-fi am ychydig o resymau. Dyma ein guy cas drwg iawn yno. Un rheswm pam fod y dyn drwg wrth ei bodd yn wi-fi oherwydd, yn ddiofyn, mae llawer o llwybryddion di-wifr yn dod a phan fyddwch yn eu gosod i fyny, maen nhw'n heb ei amgryptio. Mae hyn wedi bod yn broblem, a bu achosion - achosion lluosog, yn awr - lle mae dyn drwg yn dangos i fyny i dŷ rhywun, hysbysiadau fod yna heb ei amgryptio wi-fi y gallant gysylltu. Maent yn cysylltu â'r wi-fi, ac yna byddant yn dechrau llwytho i lawr bob math o bethau llawn hwyl. Ac nid ydynt yn llwytho i lawr cathod bach, nid ydynt yn llwytho i lawr cŵn bach. Mae hyn yn debyg BitTorrent. Dyma'r cas y nastiest. Mae wedi bod yn achosion lle mae'r FBI wedi gotten hyd yn oed yn cymryd rhan meddwl bod y person sy'n berchen ar y tŷ mewn gwirionedd yn yr un mynd allan yno ac yn lawrlwytho pethau na ddylent fod yn wir. Ar ôl heb ei amgryptio wi-fi nid yn bendant yn rhywbeth rydych am ei wneud, os mai dim ond i ni gael yr FBI yn dod curo ar eich drws. Rheswm arall pam y guys ddrwg wrth eu bodd wi-fi yw'r rheswm y mae David yn siarad amdanynt yn gynharach yn ystod yr egwyl. Oherwydd ei fod yn cyfathrebu radio wrth ei wraidd, os ydych yn gwybod y sianel, gallwch wrando ar yr orsaf radio. Er enghraifft, os oes hawl drwg yno yn eistedd yn y canol dde nesaf at y pwynt mynediad, dde nesaf at y llwybrydd diwifr, gall y dyn drwg gwrando ar yr holl draffig di-wifr sydd wedi dod o bob un o'r rhai cyfrifiaduron. Mewn gwirionedd, mae'r rhain yn guys - mae'r rhain yn rhai lwcus sydd yma yn y rheng flaen - oherwydd eu bod yn super-agos i bob un o'r llwybryddion di-wifr sy'n eistedd yn union o dan y llwyfan, byddent yn gallu clywed traffig pawb yn yr ystafell gyfan os ydych chi'n cysylltu â wi-fi a dechrau pori drwy'r pwyntiau mynediad. Dyw hi ddim yn anodd iawn i eistedd eich hun mewn sefyllfa dda i arogli a chyfrif i maes beth mae pobl eraill yn ei wneud. Mae'n rhywbeth i gadw mewn cof, yn enwedig os nad ydych yn siŵr o ble y pwynt mynediad yn, ac rydych yn pori ddweud, mewn Starbucks. Mae'n troi allan bod arogli a hynny i gyd yn ddim wir bob un sy'n anodd i'w wneud. Mae 'na raglen o'r enw tcpdump sy'n gollwng pob math o TCP traffig a allwch chi redeg yn eithaf syml - yn union fel y gwneuthum y bore. Dyma ychydig o daflu i lawr, a dyma rai o'r traffig a oedd yn dod dros fy rhwydwaith ar y pryd. Gallwch weld - os ydych yn llygad croes galed iawn - mae 'na ychydig o Spotify i mewn' na. Ar ben tcpdump - oherwydd mae hwn yn fath o boen i'w ddefnyddio - mae 'na raglen o'r enw Wireshark sy'n bwndeli hyn i gyd i fyny mewn GUI' n glws. Wireshark yn super-law, felly os ydych yn mynd ymlaen i gymryd dosbarthiadau rhwydweithio, hwn yn offeryn y byddwch yn dod i garu gan ei fod yn eich helpu i ddyrannu pob un o'r pecynnau sy'n arnofio o gwmpas i maes 'na. Ond gall hefyd gael ei ddefnyddio ar gyfer drwg. Mae'n syml iawn i ddim ond llwytho i lawr y rhaglen hon, lesewch i fyny, dechrau cipio rhwydwaith, a gweld popeth sy'n mynd ymlaen - ac yn hidlo ac yn gwneud pob math o bethau hwyl ag ef. Y peth arall y gallwch ei wneud gyda cyfathrebu di-wifr yn cael ei nid dim ond i chi glustfeinio ond gallwch hefyd yn dysgu sut i sgriw gyda'r rhwydwaith a chwistrellu eich gwybodaeth eich hun i reoli profiad y mae pobl eraill ar y rhwydwaith di-wifr un yn ei gael. Gadewch i ni edrych ar hynny. Dyma Firesheep - yr ydym yn gwybod a chariad o wythnos diwethaf - sef bod dechnoleg clustfeinio. Os, er enghraifft, rydym yn awyddus i fynd ati i gael ein sêl dyn drwg a llanast o gwmpas gyda un o'r cyfrifiaduron, yn y senario hwn, rydym wedi cael cyfrifiadur yn ceisio i fynd syrffio i harvard.edu. Beth fydd yn digwydd yw, y cyfrifiadur cyntaf yn anfon neges at y llwybrydd di-wifr ac yn dweud, hey, Dw i eisiau mynd www.harvard.edu ymweliad. Dweud am ryw reswm y maent yn ceisio cael gwybodaeth am y gêm y penwythnos hwn. Guy gwael, gan ei fod yn eistedd i'r dde yn y canol, dde nesaf at y pwynt mynediad, yn gallu gweld bod cyfathrebu yn dod oddi wrth y cyfrifiadur i mewn i'r llwybrydd, ac mae'n gwybod, "Aha! Rhywun yn mynd i harvard.edu." (Evilly chwerthin) Mae mynd i fod yn y latency tra bod y cyfathrebu yn mynd oddi wrth y llwybrydd allan i'r Rhyngrwyd i fynd ddod o hyd i'r dudalen we ar harvard.edu-- yn union fel chi guys i gyd yn gwybod ar ôl gwneud eich psets PHP - ac felly y dyn drwg yn cael ychydig o amser, ychydig o ffenestr, lle y gall ymateb gyda rhai pethau. Lets 'ddeud y dyn drwg, wrth gwrs, yn Yaley. Mae'n ymateb gyda harvardsucks.org. Bw! Drwg, dyn drwg! Yaley drwg! Neu hyd yn oed yn waeth, gallai fod yn ymateb â hynny. [Http://youtu.be/ZSBq8geuJk0]. 'N annhymerus' yn gadael i chi guys chyfrif i maes beth yw hynny. Hyn mewn gwirionedd yn dechnoleg o'r enw Airpwn! a oedd yn debuted yn un o'r cynadleddau diogelwch rai blynyddoedd yn ôl. Gyda Airpwn! eich bod yn gallu mewn gwirionedd yn chwistrellu traffig yn ôl i mewn i'r rhwydwaith. Mae'r cyfrifiaduron a oedd yn ceisio mynd allan i'r Rhyngrwyd ac yn ceisio mynd i'r Google.com, i Facebook.com, i harvard.edu gweld yr ymateb maleisus yn dod i mewn ac yn union cymryd yn ganiataol, iawn, dyna'r ymateb yr wyf yn aros am ac yn y diwedd gael cynnwys o harvardsucks.org neu nameyourfavoriteshocksite.com, a gallwch weld pa mor gyflym y bydd pethau'n dirywio. Ni all pob un o'r mathau hyn o bethau gael eu gwneud â'r cysylltiadau gwifrau oherwydd gyda chysylltiad gwifrau mae'n anodd i fusnesu i draffig. Os ydw i'n ddyn drwg, ac ar un pen yw eich cyfrifiadur ac ar y pen arall yw eich llwybrydd - eich modem - yr unig ffordd y gallaf fynd i mewn rhwng y cysylltiad yw mewn gwirionedd yn sbleis fy nghyfrifiadur yn rhywle yn y canol neu wneud rhywbeth arall gyda'r llwybrydd, i lawr yr afon rhywbeth. Ond gyda di-wifr, gall fod mor hawdd â eistedd yn y rhes flaen o ystafell ddosbarth, a gallwch wneud pob math o bethau cas i bobl yn y cefn. Gadewch i ni siarad am sut y gallwch amddiffyn yn erbyn rhai o'r pethau hyn. Mae'r bobl a ddatblygodd y safonau di-wifr - yr 802.11 - nad ydynt yn bobl fud gan unrhyw darn o'r dychymyg. Mae hyn yn dechnoleg oer a phan fydd yn debuted yn 1999, maent yn dod allan gyda safon hon a elwir yn WEP. Gallwch weld yma pan fyddwch yn ceisio ymuno â rhwydwaith di-wifr, gennych yr holl math o ddewisiadau diogelwch gwahanol. Dyna fath o boen oherwydd mae 6 i gyd gyda'i gilydd byth ac mae wir yn gwneud synnwyr sydd 1 i ymuno. Mae hyn yn 1 ar y brig yw'r un cyntaf y daethant i fyny gyda enw WEP. WEP yn sefyll am Wired Preifatrwydd Cyfwerth, yr wyf yn credu, Nid yw Protocol Encryption Wireless sydd yn gamarweiniol cyffredin. Oherwydd ei fod yn ceisio rhoi i chi sy'n cyfateb preifatrwydd a diogelwch diogelwch sy'n cyfateb i un rhwydwaith gwifrau Gyda WEP beth dod i ben i fyny yn digwydd yw, gennych syml, ychydig cyfrinair eich bod yn teipio i mewn ac sy'n gwasanaethu i amgryptio eich holl gyfathrebu rhwng eich cyfrifiadur a'ch llwybrydd. Beth yw'r broblem gyda WEP er bod? Mae'r cyfrinair gyda WEP yn brin iawn, a hefyd pawb yn defnyddio cyfrinair union yr un,  ac felly mae'n hawdd iawn i dadgryptio. Felly, yn gyflym iawn o bobl cyfrifedig allan bod WEP yn broblem, a'r unig reswm i chi ei weld yn dal i arddangos i fyny ar y dyn bach yw - mae rhai systemau hŷn ydynt yn defnyddio WEP - beth ddylech chi yn hytrach na fod yn chwilio am yn CPB a hyd yn oed WPA2 safonau a gafodd eu rhyddhau yn ddiweddarach. Mae'r systemau hyn yn cynnig llawer gwell at warchod ar y Rhyngrwyd di-wifr. Wedi dweud hynny, maent yn dal yn cael rhywfaint o hackability. Mae offer ar gael a all fynd i wneud hyn. Un peth yn arbennig a all fod yn annifyr yw bod os ydych yn cysylltu a'i ddilysu i llwybrydd di-wifr ac yn defnyddio rhyw fath o cyfathrebu wedi'i amgryptio, mae'n troi allan y gall haciwr yn hawdd anfon pecyn unigol eich datgysylltu oddi wrth y llwybrydd, ac unwaith maen nhw wedi datgysylltu eich gallant wrando mewn - gallant arogli y pecynnau wrth i chi geisio ail-sefydlu cysylltiad â'ch llwybrydd. A chyda y wybodaeth honno gallant wedyn fynd i mewn a dadgryptio weddill eich cyfathrebu. Nid yw hyn yn unrhyw golygu unrhyw fath o ddiogel tu hwnt i bob dychymyg. Y peth arall y gallwch ei wneud pan fyddwch yn sefydlu rhwydweithiau di-wifr neu os ydych yn ymuno â hwy yw - byddwch yn sylwi bod yma pan dwi'n ymuno â'r rhwydwaith, mae'n gofyn am enw fy rhwydwaith. Mae hyn yn ei adnabod hefyd fel y SSID. A ydych yn gweld yma ar y dde mae gennyf flwch sy'n dangos 'm' r SSIDs sydd ar gael. Mae Prifysgol Harvard, a CS50, CS50 a rhwydwaith Staff. Yn awr, faint ohonoch yn gwybod roedd CS50 rwydwaith Staff o gwmpas? Mae rhai ohonoch. Nid yw pob un ohonoch. Y broblem gyda hyn, wrth gwrs, yw nad oedd gennym roi hyn i fyny ar ein rhestr o SSIDs, fyddai neb wedi gwybod am y peth fwyaf tebygol. Rwy'n gobeithio. Oni bai eich bod guys i gyd yn ceisio i fynd i'r afael yn ein di-wifr. Ond mae hyn yn rhywbeth y gallwch ei wneud sy'n bwysig iawn pan fyddwch yn sefydlu llwybrydd yn y cartref. Mae hyn yn debyg na fydd yn digwydd am rai blynyddoedd am lawer ohonoch, ond yn cadw mewn cof bod gadw'r SSID allan o yno, ac nid hefyd yn enwi ei Bydd rhywbeth super-cyffredin yn helpu cadw chi'n fwy diogel yn y tymor hir. Mae cwpl olaf o bethau y gallwch ei wneud. Mae un yn HTTPS. Os ydych mewn Starbucks, os ydych mewn gyhoeddus wi-fi ardal ac rydych yn penderfynu i gael mynediad i'ch cyfrif banc, gweld eich Gmail, eich Facebook, gwneud yn siŵr bod y cysylltiadau yn mynd dros HTTPS. Mae'n haen ychwanegol o ddiogelwch, haen ychwanegol o amgryptio. Yr un peth i gadw mewn golwg yma yw, faint yr ydych wedi clicio erioed drwy'r mawr, sgrin coch sy'n dweud, "Gallai hyn wefan fod yn ddrwg." Rwy'n gwybod fy mod wedi. Mae'n fwy na thebyg pan eich bod i gyd yn pori i fynd weld Homeland neu rywbeth fel 'na, dde? Yeah. (Chwerthin cynulleidfa) Yeah. Dyna chi. Rydym yn gwybod pwy sy'n gwylio Homeland. Mae hynny'n fawr, sgrîn coch iawn yno yn aml yn dangos bod ffynci rhywbeth yn mynd ymlaen. Weithiau dim ond y wefan ei hun yn ansicr, ond bod yr un mawr, sgrin goch yn dod i fyny pan fydd pobl yn ceisio mynydd rhwydwaith ymosod arnoch chi. Felly, os ydych yn gweld bod fawr, sgrin coch yn dod i fyny ar Starbucks, peidiwch â chlicio drwyddo. Newyddion drwg. Newyddion drwg yn dwyn. Y peth olaf y gallwch edrych ar yn rhyw fath o VPN. Mae'r VPN ar gael drwy Harvard - vpn.fas.harvard.edu-- a beth mae hyn yn ei wneud yn mewn gwirionedd yn sefydlu cysylltiad diogel rhyngoch chi a Harvard, twmffatiau eich traffig drwyddo, a bod y ffordd os ydych yn eistedd mewn man fel Starbucks gallwch gysylltu â Harvard, yn cael y traffig yn ddiogel, a 'na bori o Harvard. Nid Eto, foolproof. Gall pobl gael yn y canol. Gallant ddechrau i dorri, ond mae hyn yn llawer mwy diogel na dibynnu ar y diogelwch o ei ben ei hun wi-fi. Mae pob hawl. Yn y swm, pan fyddwch yn sefydlu rhwydweithiau di-wifr, pan fyddwch yn mynd allan i ddefnyddio di-wifr yn gyhoeddus - p'un a yw'n Starbucks, p'un a yw'n Pum Guys, boed yn B.Good, rhywbeth fel 'na - ble bynnag y maent yn cael wi-fi - fod yn ymwybodol o'r hyn sydd o'ch cwmpas. Byddwch yn ymwybodol o'r hyn y gall pobl ei wneud. A bod yn ddiogel. Peidiwch â gael mynediad i'ch cyfrif banc. Gallai fod yn anghwrtais ddeffroad os bydd rhywun yn dangos i fyny gyda eich cyfrinair yn nes ymlaen. Gyda hynny, ewch rhuddgoch! Ac yr wyf i'n mynd i droi pethau yn ôl drosodd i David am air terfynol. (Cymeradwyaeth) [David] Rwy'n meddwl y byddwn i'n rhannu un peth o brofiad personol. Mae offeryn efallai yr hoffech i chwarae gyda - er bod Apple wedi dileu i raddau helaeth y mater hwn os ydych chi wedi diweddaru eich meddalwedd ers hynny - ond tuag at y diwedd ddim wir yn gallu ymddiried yn feddalwedd a ddefnyddiwn, ac i Nate bwyntiau, y gallu i arogli cryn dipyn o beth mae pobl eraill yn ei wneud allan yno - roedd hwn yn ddarn o feddalwedd sy'n dod i wybod am y flwyddyn yn ôl-a-a-hanner. [IPhoneTracker] [http://petewarden.github.com/iPhoneTracker/] Ers peth amser, iTunes - cyn iCloud, pan oeddech yn syncing eich iPods neu eich iPhones neu neu eich iPads gyda iTunes - er budd backups, beth yw eich iPhone a dyfeisiau hyn eraill wedi bod yn ei wneud ers peth amser yn gwneud defnydd o ddata GPS. Rydych chi i gyd yn gwybod efallai bod eich iPhones a Androids a Windows ffonau symudol a gall y dyddiau fel y rhain olrhain ble rydych chi yn y diddordeb i ddangos i chi fapiau ac yn debyg - wel beth Apple ac mae'r rhain yn gwmnïau eraill ei wneud yw maent fel arfer yn olrhain bron ym mhobman i chi wedi bod mewn gwirionedd yn y budd gwella ansawdd y gwasanaeth. Un, gallwch gael mwy o hysbysebion wedi'u targedu ac yn y blaen, ond dau, gallant hefyd chyfrif i maes ble mae yna fannau poeth di-wifr yn y byd, a gall hyn helpu gyda-leoliad geo - fath o driongli o sefyllfa pobl. Stori fer hir, mae pob un ohonom wedi bod yn cerdded antena ar gyfer rhai swm o amser. Yn anffodus, Apple wedi gwneud y penderfyniad dylunio - neu ddiffyg yn hynny - i beidio â amgryptio'r wybodaeth pan oedd yn cael ei wrth gefn gael i iTunes. A beth yr ymchwilydd diogelwch dod o hyd oedd bod hyn yn dim ond ffeil XML enfawr - ffeil testun enfawr - eistedd mewn iTunes pobl meddalwedd, ac os ydych yn unig oedd ychydig yn rhyfedd, gallech fynd procio o gwmpas hanes eich priod, hanes eich roommate, yn hanes eich brawd neu chwaer ac yn y blaen, a diolch i rai meddalwedd am ddim, gallech plotio pob un o'r rhain cyfesurynnau GPS - lledred a hydred. Felly, yr wyf mewn gwirionedd yn gwneud hyn gyda fy ffôn ei hun. I blygio yn fy ffôn, ac yn sicr ddigon, nid yw fy fersiwn o iTunes ei hamgryptio ar y pryd, a beth oeddwn yn gallu eu gweld yn fy patrymau eu hunain. Dyma yr Unol Daleithiau ac mae pob un o'r cylchoedd glas yn cynrychioli lle yr wyf yn digwydd i wedi bod dros y misoedd blaenorol o fod yn berchen y ffôn penodol.  Rwy'n treulio llawer o amser, wrth gwrs, i fyny yn y gogledd-ddwyrain, ychydig o amser yng Nghaliffornia, taith byrhoedlog i Texas, ac os ydych wedyn yn chwyddo i mewn ar hyn - hyn i gyd math o ddirwy a diddorol, ond yr wyf yn gwybod hyn. Mae'r rhan fwyaf o fy ffrindiau yn gwybod hyn, ond os ydych yn plymio yn ddyfnach, byddwch yn gweld lle rwy'n treulio'r rhan fwyaf o fy amser yn y Gogledd-ddwyrain. Os ydych yn grybwyll ar rai trefi cyfarwydd sy'n edrych - hyn yn fawr, splotch inc glas wedi ei ganoli bob pwrpas, dros Boston, ac yna yr wyf yn treulio ychydig o amser allan yn y maestrefi pelydru allan o Boston. Ond yr wyf hefyd yn gwneud cryn dipyn o ymgynghori y flwyddyn honno. Ac eleni yw'r arfordir dwyreiniol, a alli 'n weithredol fy ngweld ac mae fy iPhone yn fy mhoced teithio yn ôl ac ymlaen rhwng Boston ac Efrog Newydd a Philadelphia ymhellach i lawr, yn ogystal â threulio ychydig o amser yn ystod y gwyliau ar y Cape, sef y gangen fach i maes 'na. Felly, mae pob un o'r dotiau yn cynrychioli rhai lle yr wyf wedi bod, ac yn hollol unbeknownst i mi, mae hyn yn hanes cyfan yn unig oedd yn eistedd yno ar fy nghyfrifiadur n ben-desg. Os ydych yn chwyddo allan - mae hyn mewn gwirionedd ychydig yn poeni. Doedd gen i ddim yn cofio erioed wedi bod yn Pennsylvania y flwyddyn benodol. Ond yr wyf yn bod ychydig yn galetach am y peth ac rwy'n cyfrifedig allan, oh, yr oedd mewn gwirionedd y daith ac yn sicr ddigon, fy ffôn wedi dal i mi. Apple wedi ei amgryptio gan fod y wybodaeth, ond mae hyn hefyd yn unig dyst i faint o wybodaeth sy'n cael ei chasglu amdanom ni, a pha mor hawdd - er gwell neu er gwaeth - mae'n dderbyniol. Un o'r siopau cludfwyd, gobeithio, o Rob sgwrs, o Nate sgwrs a delweddau bach fel hyn heddiw yn unig i fod yn holl ymwybodol mwy o hyn felly hyd yn oed er bod - fel i Rob bwynt - math we're o sgriwio, dde? Nid oes llawer y gallwn ei wneud pan ddaw i rai o'r bygythiadau hyn, ond ar ddiwedd y dydd mae'n rhaid i ni ymddiried yn rhywbeth neu rywun os ydym am i'w ddefnyddio mewn gwirionedd technolegau hyn. O leiaf gallwn fod yn gwneud penderfyniadau gwybodus a phenderfyniadau cyfrifo p'un a yw ddylai mewn gwirionedd fod yn gwirio y cyfrif hwn yn arbennig o sensitif neu a ddylem mewn gwirionedd yn anfon bod ychydig yn amau ​​neges chwim  mewn amgylchedd wi-fi fel hyn. Felly, gyda dweud hynny, dim ond un olion cwis, un ddarlith yn parhau. Byddwn yn eich gweld ar ddydd Mercher, yna ddydd Llun. (Gymeradwyaeth a bonllefau) [CS50TV]