1 00:00:00,000 --> 00:00:02,750 [Powered by Google Translate] [Wythnos 10] 2 00:00:02,750 --> 00:00:04,750 [David J. Malan] [Harvard University] 3 00:00:04,750 --> 00:00:07,000 [Mae hyn yn CS50.] [CS50.TV] 4 00:00:08,520 --> 00:00:13,240 >> Mae pob iawn! Mae hyn yn CS50, ond nid ar gyfer llawer hirach. 5 00:00:13,240 --> 00:00:14,740 Mae hyn yn dechrau o wythnos 10. 6 00:00:14,740 --> 00:00:18,780 Ar ddydd Mercher, rydym wedi ein cwis, ac yna ddydd Llun nesaf mae gennym rai cacen ddathlu 7 00:00:18,780 --> 00:00:22,030 wrth i ni dod y cylch llawn yr holl ffordd yn ôl o sero wythnos. 8 00:00:22,030 --> 00:00:25,200 Heddiw, byddwn yn sôn am un o fy hoff bynciau, dweud y gwir - 9 00:00:25,200 --> 00:00:29,000 bod diogelwch a phreifatrwydd a goblygiadau pob un o'r caledwedd a meddalwedd 10 00:00:29,000 --> 00:00:31,000 ein bod i gyd yn defnyddio y dyddiau hyn. 11 00:00:31,000 --> 00:00:33,300 I fod yn onest, mae yna lawer o fygythiadau i maes 'na 12 00:00:33,300 --> 00:00:35,430 os nad ydych wedi wir yn oedi i feddwl amdanynt, 13 00:00:35,430 --> 00:00:36,920 eu bod mewn gwirionedd yn eithaf brawychus. 14 00:00:36,920 --> 00:00:40,070 Achos ym mhwynt - os unrhyw un ohonoch wedi lawrlwytho'r erioed darn o feddalwedd 15 00:00:40,070 --> 00:00:42,660 oddi ar y Rhyngrwyd a gosod ar eich cyfrifiadur, 16 00:00:42,660 --> 00:00:45,220 ydych wedi cymryd rhan mewn cryn dipyn o ymddiriedaeth, dde? 17 00:00:45,220 --> 00:00:50,220 Nid oes dim wedi rhwystro Skype, neu Chrome, neu unrhyw ddarn o feddalwedd 18 00:00:50,220 --> 00:00:54,770 rydych wedi gosod ar eich cyfrifiadur, dim ond drwy ddileu yr holl ffeiliau ar eich disg galed; 19 00:00:54,770 --> 00:00:58,260 o llwytho i fyny yr holl ffeiliau ar eich disg galed i weinydd rhai guy drwg hwnnw; 20 00:00:58,260 --> 00:01:01,650 o ddarllen eich holl negeseuon e-bost; o ryng-gipio'r eich holl negeseuon chwim. 21 00:01:01,650 --> 00:01:05,040 Oherwydd bod y realiti yw heddiw gyda systemau gweithredu mwyaf modern 22 00:01:05,040 --> 00:01:10,040 yw'n bodoli mewn gwirionedd llawer o wal rhwng rhaglenni meddalwedd yr ydym yn gosod, 23 00:01:10,040 --> 00:01:14,220 a chi a minnau yn 'n bert lawer yn unig fath o groesi ein bysedd ac yn cymryd ar ffydd 24 00:01:14,220 --> 00:01:17,750 bod y app yn rhad ac am ddim llwytho i lawr, neu fod peth sy'n 99 cents, 25 00:01:17,750 --> 00:01:20,140 mewn gwirionedd yn hollol ddiniwed. 26 00:01:20,140 --> 00:01:23,090 Ond fel yr ydym wedi gweld trwy C, ac yn awr PHP a JavaScript, 27 00:01:23,090 --> 00:01:25,420 gyda'r gallu i fynegi ein hunain programatically, 28 00:01:25,420 --> 00:01:30,300 gallwch chi wneud unrhyw beth y rhan fwyaf o chi eisiau gyda rhaglen y gallai defnyddiwr ei hun yn ei wneud. 29 00:01:30,300 --> 00:01:32,390 >> Felly, heddiw rydym yn canolbwyntio ar y pwnc - 30 00:01:32,390 --> 00:01:35,360 nid dim ond rhai bygythiadau ond hefyd amddiffynfeydd. 31 00:01:35,360 --> 00:01:37,540 Yn wir, yn y byd o ddiogelwch yn gyffredinol, 32 00:01:37,540 --> 00:01:39,040 mae math o gêm hon cat-a-llygoden, 33 00:01:39,040 --> 00:01:41,990 ac, mae'n siŵr, y guys drwg bron bob amser yn cael ei goes i fyny. 34 00:01:41,990 --> 00:01:45,880 Pan ddaw i gymryd mantais o galedwedd a meddalwedd ar ein cyfrifiaduron personol eu hunain, 35 00:01:45,880 --> 00:01:51,250 mae'n rhaid i ni sylweddoli bod dyn drwg yn syml angen i ddod o hyd i un camgymeriad syml - 36 00:01:51,250 --> 00:01:56,150 1 manteisio, un bug - mewn darn o feddalwedd rydym wedi ysgrifennu neu yn rhedeg 37 00:01:56,150 --> 00:01:58,280 er mwyn iddo ef neu hi i gymryd drosodd ein system gyfan. 38 00:01:58,280 --> 00:02:02,870 Ar y llaw arall, rydym yn - y guys da - mae angen i chlytia a atgyweiria bawb bugs 39 00:02:02,870 --> 00:02:04,900 ac osgoi pob un o'r gwendidau hynny. 40 00:02:04,900 --> 00:02:07,870 Ac felly, mae'n debygol iawn ar y cyfan, y guys drwg yn cael y fantais. 41 00:02:07,870 --> 00:02:10,840 Pa dosbarthiadau fel hyn a dosbarthiadau dilynol yn iawn am 42 00:02:10,840 --> 00:02:14,830 nad ydynt am addysgu i chi sut i frwydro yn y brwydrau bod y guys ddrwg yn ei wneud, 43 00:02:14,830 --> 00:02:18,220 ond yn ymwneud â sut i ddiogelu eich hun neu o leiaf sut i wneud penderfyniad gyfrifir 44 00:02:18,220 --> 00:02:22,970 bod ie, yr wyf yn gwybod y gallai darn hwn o feddalwedd yn wir ddarllen pob un o fy negeseuon e-bost, 45 00:02:22,970 --> 00:02:27,040 ond rwy'n iawn â hynny oherwydd y gwerth y mae'n dod â mi ar y llaw arall. 46 00:02:27,040 --> 00:02:31,060 >> Rwy'n falch iawn o gael ymuno gan 2 o bobl smartest yr wyf yn gwybod - 47 00:02:31,060 --> 00:02:33,060 Rob Bowden a Nate Hardison. 48 00:02:33,060 --> 00:02:36,850 Rob ar fin mynd â ni am daith trwy'r lefel isaf o dagiau diogelwch - 49 00:02:36,850 --> 00:02:42,470 bod y casglwr sydd, hyd yn hyn, rydym i gyd wedi dod i garu ac ymddiried ynddynt. Rob Bowden. 50 00:02:42,470 --> 00:02:47,790 [Cymeradwyaeth] 51 00:02:47,790 --> 00:02:50,280 >> [Rob] Mae pob hawl. Mae David wedi 'n bert lawer gymryd fy mharabl cyfan 52 00:02:50,280 --> 00:02:52,320 fy mod yn mynd i gyflwyno â hwy, ond - 53 00:02:52,320 --> 00:02:58,070 Sawl wythnos yn ôl, y gwelsoch yr enghraifft o ymosodiad rhagod-gorlif 54 00:02:58,070 --> 00:03:01,900 sy'n enghraifft o hacio haciwr i mewn i rai darn o feddalwedd 55 00:03:01,900 --> 00:03:06,060 nad ydynt i fod i gael ei hacio i mewn. 56 00:03:06,060 --> 00:03:09,690 Mae ochr arall y 57 00:03:09,690 --> 00:03:14,470 Weithiau, mae gennych feddalwedd sy'n faleisus i mewn ac o ei hun. 58 00:03:14,470 --> 00:03:17,070 Nid yw hyd yn oed angen ei hacio. 59 00:03:17,070 --> 00:03:20,670 Y person a ysgrifennodd y feddalwedd eisiau i hacio i chi. 60 00:03:20,670 --> 00:03:22,190 >> Gadewch i 'jyst neidio i'r dde i mewn i cod, 61 00:03:22,190 --> 00:03:28,560 yn edrych ar "login.c". 62 00:03:28,560 --> 00:03:33,390 Yma, mae rhaglen gwirion sy'n dilysu enw defnyddiwr a chyfrinair cyfuniad. 63 00:03:33,390 --> 00:03:39,420 Yma dylech yn sicr yn cael gyfforddus gyda C unwaith eto ar gyfer y cwis. 64 00:03:39,420 --> 00:03:43,470 Yn gyntaf, rydym yn defnyddio yn cael llinynnau i ddisgrifio'r enw defnyddiwr, 65 00:03:43,470 --> 00:03:46,280 yna rydym yn defnyddio llinyn get i chrafangia 'r cyfrinair, 66 00:03:46,280 --> 00:03:50,680 ac yna mae gennym rhai gwiriadau ddibwys o ychydig, yw'r enw defnyddiwr "rob"? 67 00:03:50,680 --> 00:03:52,710 A yw'r cyfrinair "thisiscs50"? 68 00:03:52,710 --> 00:03:56,900 Neu, yw'r enw defnyddiwr "tommy" a'r cyfrinair "i <3javascript"? 69 00:03:56,900 --> 00:03:58,980 Os yw unrhyw un o'r rheini yw'r achos, 70 00:03:58,980 --> 00:04:01,980  yna rydym yn jyst yn mynd i argraffu "Llwyddiant", ac yna mae gennym fynediad. 71 00:04:01,980 --> 00:04:07,690 Fel arall, rydym yn mynd i argraffu "annilys mewngofnodi" ac yna, wrth gwrs, 72 00:04:07,690 --> 00:04:11,120  ers cof braslun llinynnau malloc, rydym enw defnyddiwr a chyfrinair rhad ac am ddim. 73 00:04:11,120 --> 00:04:15,560 Mae hon yn rhaglen mewngofnodi ddibwys, 74 00:04:15,560 --> 00:04:18,110 ac os ydych yn meddwl am pan fyddwch yn mewngofnodi i mewn i'r peiriant, 75 00:04:18,110 --> 00:04:22,350 mae'n eithaf tebyg - neu hyd yn oed mewngofnodi i mewn i'ch cyfrifiadur - 76 00:04:22,350 --> 00:04:24,930 nid dim ond rhywfaint o raglen mewngofnodi sy'n rhoi mynediad. 77 00:04:24,930 --> 00:04:31,840 Yma, rydym yn digwydd i gael hard-coded 'ddwyn', 'thisiscs50', 'tommy', 'i <3javascript', 78 00:04:31,840 --> 00:04:34,950 ond mae'n debyg y ceir rhywfaint o ffeil yn rhywle ar eich system weithredu 79 00:04:34,950 --> 00:04:38,690 sydd â rhestr o enwau defnyddwyr sy'n gallu mewngofnodi i'r system 80 00:04:38,690 --> 00:04:41,740 a rhestr o cyfrineiriau sy'n gysylltiedig â'r enwau defnyddwyr. 81 00:04:41,740 --> 00:04:46,090 Fel arfer nid yw'r cyfrineiriau yn cael eu storio yn unig yn plaintext fel hyn. 82 00:04:46,090 --> 00:04:50,360 Mae rhyw fath o amgryptio, ond bydd hyn yn ei wneud ar gyfer ein hesiampl. 83 00:04:50,360 --> 00:04:57,000 >> Daeth drosodd i ein casglwr - 84 00:04:57,020 --> 00:05:00,780 mae'n mynd i fod yn syml iawn. 85 00:05:00,780 --> 00:05:04,800 Mae angen i ni nodi o leiaf rhywfaint o ffeil yr ydym am ei lunio, 86 00:05:04,800 --> 00:05:10,200 ac wedyn yma - mae'r llinellau 87 00:05:10,200 --> 00:05:12,520 yn cael eu dim ond darllen ffeil A. 88 00:05:12,520 --> 00:05:16,080 Mae'n darllen y ffeil cyfan mewn un byffer mawr, 89 00:05:16,080 --> 00:05:19,000 ac yna rydym yn null-derfynu ein byffer fel bob amser, 90 00:05:19,000 --> 00:05:21,000 ac yn olaf, rydym yn unig lunio y ffeil. 91 00:05:21,000 --> 00:05:24,090 Nid ydym yn mynd i edrych ar sut Llunio cael ei weithredu mewn gwirionedd, 92 00:05:24,090 --> 00:05:26,820 ond fel awgrym, 'i jyst yn galw Clang. 93 00:05:26,820 --> 00:05:32,370 Rydym yn mynd i ddefnyddio'r rhaglen hon i lunio pethau yn hytrach na Clang. 94 00:05:32,370 --> 00:05:39,260 Un broblem i ni ddechrau gyda'r yw ein gweld ein bod am i lunio ein compiler, 95 00:05:39,260 --> 00:05:43,620 ond os nad ydym yn mynd i ddefnyddio Clang, nid wyf yn gwybod beth oeddwn i'n mynd i lunio gyda. 96 00:05:43,620 --> 00:05:46,700 Mae hwn yn fater cyffredinol a elwir yn bootstrapping. 97 00:05:46,700 --> 00:05:53,080 Felly, dim ond hyn unwaith, yr wyf i'n mynd i ddefnyddio Clang i lunio ein compiler. 98 00:05:53,080 --> 00:05:58,800 >> Os ydych yn meddwl am Gyngor Gwynedd a Clang - 99 00:05:58,800 --> 00:06:03,200 rhaglenni hynny, y rhai crynoadyddion yn cael ei diweddaru'n gyson, 100 00:06:03,200 --> 00:06:10,010 a'r rhai crynoadyddion eu llunio gan ddefnyddio GCC a Clang. 101 00:06:10,010 --> 00:06:14,890 Clang yn un fawr C neu C + + rhaglen, 102 00:06:14,890 --> 00:06:19,510 felly mae'r compiler maent yn eu defnyddio i lunio hynny yw Clang. 103 00:06:19,510 --> 00:06:26,820 Yma, nawr, rydym yn jyst yn mynd i gael ei ddefnyddio ein compiler i lunio ein compiler, 104 00:06:26,820 --> 00:06:33,830 a gallwn hyd yn oed yn dweud - '/ compiler.', 'compiler.c', 'compile.c', '-o compiler'. 105 00:06:33,830 --> 00:06:37,250 Sylwch mai dyma'r union gorchymyn wyf yn rhedeg o'r blaen - 106 00:06:37,250 --> 00:06:41,330 dim ond lle Clang gydag ef '. / compiler'. 107 00:06:41,330 --> 00:06:44,990 Ac yn awr mae gennym arall compiler, ond mae'n union yr un fath. 108 00:06:44,990 --> 00:06:47,510 'I jyst yn galw Clang. 109 00:06:47,510 --> 00:06:55,050 >> Rydym yn mynd i ddefnyddio ein compiler i lunio ein rhaglen mewngofnodi. 110 00:06:55,050 --> 00:07:03,030 Iawn - ". / Compiler login.c-o mewngofnodi". 111 00:07:03,030 --> 00:07:06,160 Felly, cyfeiriad anniffiniedig i "GetString". 112 00:07:06,160 --> 00:07:11,250 Oes gennych chi "-lcs50". Iawn. 113 00:07:11,250 --> 00:07:13,790 Felly, yn awr yr wyf wedi ein rhaglen mewngofnodi. 114 00:07:13,790 --> 00:07:16,790 Rhedeg - yn derbyn "Rhowch eich enw defnyddiwr". 115 00:07:16,790 --> 00:07:22,140 Un enghraifft oedd rob. Rhowch eich cyfrinair - thisiscs50. 116 00:07:22,140 --> 00:07:24,930 Ac llwyddiant! Mae gen i fynediad. 117 00:07:24,930 --> 00:07:28,350 Rhedeg eto ac yn nodi rhai cyfrinair annilys - 118 00:07:28,350 --> 00:07:30,350 neu enw defnyddiwr annilys a chyfrinair - 119 00:07:30,350 --> 00:07:32,860 annilys mewngofnodi. 120 00:07:32,860 --> 00:07:37,740 Iawn. Nid oes dim diddorol am hyn hyd yma. 121 00:07:37,740 --> 00:07:43,100 Ond, gadewch i ni edrych ar fewngofnodi eto - 122 00:07:43,100 --> 00:07:47,850 ac mae hyn yn mynd i fod yn enghraifft braidd yn ddibwys, 123 00:07:47,850 --> 00:07:59,330 ond gadewch i ni ychwanegu arall yma a dweud, arall os ((strcmp (enw defnyddiwr, "haciwr") == 0 && 124 00:07:59,330 --> 00:08:14,510 strcmp (cyfrinair, "LOLihackyou") == 0)) 125 00:08:14,510 --> 00:08:26,280 felly yn awr, printf ("hacio i chi bellach gael mynediad \ n!!."); iawn. 126 00:08:26,280 --> 00:08:36,240 Llunio hyn - compiler login.c-o-lcs50 mewngofnodi - 127 00:08:36,240 --> 00:08:40,190 nawr yn rhedeg mewngofnodi - ac os byddaf yn defnyddio fy haciwr enw defnyddiwr 128 00:08:40,190 --> 00:08:44,740 a chyfrinair LOLihackedyou - 129 00:08:44,740 --> 00:08:47,780 Wnes i deipio yn anghywir i mewn 'na o'r blaen? 130 00:08:47,780 --> 00:08:52,990 Yn login.c--ihack - I'll yn hacio oherwydd fy mod yn credu fy mod yn gwneud hynny yn nes ymlaen. 131 00:08:52,990 --> 00:08:56,270 Iawn. Recompiling. 132 00:08:56,270 --> 00:09:01,500 Ail-redeg - haciwr - LOLihackedyou - 133 00:09:01,500 --> 00:09:03,650 Hacio!! Rydych yn awr wedi mynediad. 134 00:09:03,650 --> 00:09:06,580 >> Nid yw'n ymddangos fod llawer o wahaniaeth 135 00:09:06,580 --> 00:09:10,890 am ei fod y gwiriad union yr un oeddwn yn ei wneud am enwau defnyddwyr a chyfrineiriau eraill. 136 00:09:10,890 --> 00:09:17,720 Byd Gwaith, y peth mawr yw os bydd pobl eraill yn edrych ar hyn login.c-- 137 00:09:17,720 --> 00:09:24,020 ddweud, os ydw i'n pasio hwn i ffwrdd i fy partner, ac maent yn agor y ffeil, 138 00:09:24,020 --> 00:09:29,870 ac maent yn darllen hyn, byddant yn gweld - yn iawn, pam yr ydych yn cael y llinellau hyn o god yma? 139 00:09:29,870 --> 00:09:33,320 Na amlwg yn rhywbeth a ddylai fod yn eich rhaglen. 140 00:09:33,320 --> 00:09:41,590 Mewn rhai rhaglenni - fel unrhyw feddalwedd perchnogol nad yw'n agored-ffynhonnell - 141 00:09:41,590 --> 00:09:46,200 byth efallai y byddwch yn gweld y llinellau o god. 142 00:09:46,200 --> 00:09:50,440 Rhywbeth fel Skype neu rywbeth - ar gyfer pob eich bod yn gwybod, 143 00:09:50,440 --> 00:09:57,600 Skype ar eich cyfrifiadur ac nid oes dim ond rhai penodol enw defnyddiwr cyfrinair-cyfuniad 144 00:09:57,600 --> 00:10:01,580 a fydd yn logio i mewn Skype mewn rhyw ffordd arbennig. 145 00:10:01,580 --> 00:10:04,230 Nid ydym yn gwybod amdano, ac nid yw pobl yn gwybod amdano, 146 00:10:04,230 --> 00:10:09,640 oherwydd nad ydynt yn mynd i ddarllen y sourcecode i weld bod yna twll hwn. 147 00:10:09,640 --> 00:10:11,800 >> Beth rydym yn galw hyn - 148 00:10:11,800 --> 00:10:16,530 er nad yw hyn yn enghraifft glyfar iawn - 149 00:10:16,530 --> 00:10:18,970 gelwir hyn yn ddrws cefn. 150 00:10:18,970 --> 00:10:22,320 Os ydych yn meddwl am y drws cefn eich tŷ. 151 00:10:22,320 --> 00:10:26,640 Yma, os wyf yn dilysu gyda 'ddwyn' yr enwau defnyddwyr neu 'tommy,' 152 00:10:26,640 --> 00:10:28,580 fyddai'n hoffi defnyddio'r "drws blaen." 153 00:10:28,580 --> 00:10:33,700 Dyna y ffordd rwy'n fod yn ddiogel er mwyn mewngofnodi. 154 00:10:33,700 --> 00:10:37,630 Ond os byddaf yn mynd â hyn enw defnyddiwr a chyfrinair - 155 00:10:37,630 --> 00:10:40,630 yna mae hynny'n ei ddefnyddio "drws cefn." 156 00:10:40,630 --> 00:10:42,810 Nid oedd y ffordd fwriadol i fynd i mewn i'r rhaglen, 157 00:10:42,810 --> 00:10:45,350 ond mae'n dal i weithio. 158 00:10:45,350 --> 00:10:49,160 Ac nid yw pobl yn gyffredinol i fod i wybod am y drysau cefn. 159 00:10:49,160 --> 00:10:53,050 Rydym yn mynd i wella hyn. 160 00:10:53,050 --> 00:10:55,610 Gadewch i ni yn dychwelyd hyn i'n login.c gwreiddiol, 161 00:10:55,610 --> 00:11:05,510 a gadewch i ni gymryd golwg ar ein compiler newydd. Iawn. 162 00:11:05,510 --> 00:11:08,460 Mae popeth yma yn union yr un fath. 163 00:11:08,460 --> 00:11:10,460 Rydym yn darllen y ffeil cyfan i mewn i byffer. 164 00:11:10,460 --> 00:11:14,400 Mae popeth i lawr yma yr un fath. 165 00:11:14,400 --> 00:11:16,180 Rydym yn casglu dim ond y ffeil. 166 00:11:16,180 --> 00:11:19,770 Ond yn awr yr wyf wedi hyn mawr os i mewn yma 167 00:11:19,770 --> 00:11:24,140 sy'n dweud, os yw'r ffeil fy mod yn digwydd yn llunio yn login.c, 168 00:11:24,140 --> 00:11:27,390 yna yr wyf yn gwneud rhywbeth arbennig. 169 00:11:27,390 --> 00:11:29,900 Beth yw bod rhywbeth arbennig? 170 00:11:29,900 --> 00:11:33,820 Rwy'n gweld yma rai llinyn o'r enw 'darnia', 171 00:11:33,820 --> 00:11:35,950 ac edrych ar y llinellau hyn o god - 172 00:11:35,950 --> 00:11:41,990 rhain yn yr un llinellau o god - mae'n debyg i ddim defnyddio 'ihack' ac nid 'ihacked' cyn - 173 00:11:41,990 --> 00:11:44,240 edrych ar y llinellau hyn o god, 174 00:11:44,240 --> 00:11:47,880 eu bod yn yr un llinellau union o god byddai i mi yn login.c o'r blaen. 175 00:11:47,880 --> 00:11:51,130 Ond yn awr, yn hytrach na'u yn login.c, 176 00:11:51,130 --> 00:11:54,290 Rydw i'n mynd i roi i mewn i fy compiler. 177 00:11:54,290 --> 00:12:00,240 >> Mae'r rhain yn y llinellau o god dwi'n mynd i eisiau i fewnosod yn login.c. 178 00:12:00,240 --> 00:12:06,350 Mae'r llinellau o god - y byffer yn wreiddiol cynnal fy login.c 179 00:12:06,350 --> 00:12:11,080 bellach yn mynd i fod yn ddigon mawr oherwydd rydw i am i hefyd yn mewnosod hon darnia 180 00:12:11,080 --> 00:12:12,940 i ganol fy rhaglen. 181 00:12:12,940 --> 00:12:16,350 Mae hyn i gyd yn ei wneud yn creu byffer newydd sy'n ddigon mawr - 182 00:12:16,350 --> 00:12:22,020 ar gyfer y ffeil wreiddiol a'r llinellau ychwanegol o god - y darnia - yr wyf i am osod yno. 183 00:12:22,020 --> 00:12:24,920 Dyma rywbeth i sylwi ar - 184 00:12:24,920 --> 00:12:29,200 torgoch * patrwm = "/ / gwrthod mynediad iddynt!" 185 00:12:29,200 --> 00:12:33,760 Os ydym yn edrych yn ôl ar login.c, 186 00:12:33,760 --> 00:12:37,690 rydym yn gweld i lawr yma y sylw hwn - gwadu mynediad iddynt! 187 00:12:37,690 --> 00:12:42,360 Yn login.c, y sylw hwn yn edrych yn gwbl ddiniwed, 188 00:12:42,360 --> 00:12:48,270 felly ni fyddai ydych yn amau ​​unrhyw fwriad maleisus gyda dim ond y sylw hwn. 189 00:12:48,270 --> 00:12:55,600 Ond yn ein compiler, rydym yn benodol yn mynd i chwilio am y llinell o god, 190 00:12:55,600 --> 00:12:57,600 ac yna pan fyddwn yn ei chael yn - 191 00:12:57,600 --> 00:13:03,330 y llinellau hyn o god yn gosod ein darnia yn y sefyllfa honno. 192 00:13:03,330 --> 00:13:06,910 Felly, rydym yn ailadrodd dros y login.c cyfan, 193 00:13:06,910 --> 00:13:12,080 rydym yn gosod y darnia yn union lle mae'n dweud gwadu mynediad iddynt, 194 00:13:12,080 --> 00:13:15,890 nid yw'r login.c gwreiddiol - ac yna rydym yn casglu 195 00:13:15,890 --> 00:13:20,340 ond mae'r login.c newydd â'r hyn a darnia fewnosod i'r dde wrth 'gwadu mynediad iddynt.' 196 00:13:20,340 --> 00:13:29,190 >> Nawr rwyf am i lunio fy compiler newydd â'r hyn a darnia dan sylw. 197 00:13:29,190 --> 00:13:36,900 Dydw i ddim yn mynd i ddefnyddio Clang, felly gadewch i ni copïo'r compiler a ddefnyddiwyd gennym o'r blaen 198 00:13:36,900 --> 00:13:48,420 a defnyddio hynny - felly, compiler compiler.c compile.c-o evil_compiler. 199 00:13:48,420 --> 00:13:50,870 Nawr ein compiler drwg - 200 00:13:50,870 --> 00:13:54,310 os ydym yn defnyddio ein compiler drwg i lunio unrhyw ffeil arall, 201 00:13:54,310 --> 00:13:57,980 Bydd y ffeil yn llunio fel y dylai. 202 00:13:57,980 --> 00:13:59,980 Mae'n hollol normal. 203 00:13:59,980 --> 00:14:06,870 Ond os ydym yn defnyddio ein compiler drwg i lunio mewngofnodi - 204 00:14:06,870 --> 00:14:14,920 felly, / evil_compiler login.c-o-lcs50 mewngofnodi. - 205 00:14:14,920 --> 00:14:21,310 edrych ar login.c eto, does dim byd o gwbl yma. 206 00:14:21,310 --> 00:14:25,770 Mae'n ein arferol 'os yw'n naill ai rob neu tommy ydym mewn, arall yr ydym chi allan'. 207 00:14:25,770 --> 00:14:31,620 Ond pan rydym yn cynnal ein gweithredadwy, bydd hyn yn gweithio fel arfer. 208 00:14:31,620 --> 00:14:36,640 Rhedeg eto - haciwr, LOLihackyou - 209 00:14:36,640 --> 00:14:39,000 Hacio!! Rydych yn awr wedi mynediad. 210 00:14:39,000 --> 00:14:43,560 Dim ond yn edrych ar login.c, ni fyddech yn credu unrhyw beth yn anghywir. 211 00:14:43,560 --> 00:14:46,960 Ond y compiler sy'n cael ei defnyddio i lunio login.c 212 00:14:46,960 --> 00:14:53,820 wedi'i chynllunio'n benodol i fewnosod hon darnia i mewn i'r rhaglen. 213 00:14:53,820 --> 00:14:57,320 Rydym wedi symud dim ond ein problem gwreiddiol. 214 00:14:57,320 --> 00:15:02,880 Yn wreiddiol, roedd gennym y llinellau hyn o god yn login.c, os unrhyw un arall edrych arnynt, 215 00:15:02,880 --> 00:15:05,470 byddent yn hoffi, pam nad yw'r rhain yma? 216 00:15:05,470 --> 00:15:09,550 Nawr, os oes unrhyw un yn digwydd i edrych ar ein compiler, 217 00:15:09,550 --> 00:15:12,140 byddant yn edrych ar y llinellau hyn o god a dweud, 218 00:15:12,140 --> 00:15:15,290 pam nad yw'r rhain yma? 219 00:15:15,290 --> 00:15:17,210 Felly, nid ydym wedi datrys yn llwyr ein problem. 220 00:15:17,210 --> 00:15:22,510 Ond gallwn ddefnyddio'r syniad hwn eto. 221 00:15:22,510 --> 00:15:26,260 >> Gan edrych ar ein fersiwn o dair o'r compiler, 222 00:15:26,260 --> 00:15:32,500 mae'n un syniad. 223 00:15:32,500 --> 00:15:36,240 Rydym yn darllen y ffeil cyfan at fyffer yma, 224 00:15:36,240 --> 00:15:39,660 rydym yn llunio ffeil i lawr yma, 225 00:15:39,660 --> 00:15:44,220 ac yr wyf wedi rhyw fath o darnia llinyn yn fan hyn, 226 00:15:44,220 --> 00:15:47,710 ond yn sylwi ar y ffeil fy mod mewn gwirionedd yn hacio yn awr. 227 00:15:47,710 --> 00:15:52,260 Yr wyf yn compiler.c hacio 228 00:15:52,260 --> 00:15:54,590 Nid login.c. 229 00:15:54,590 --> 00:15:57,780 Ond beth ydw i'n gosod i mewn i compiler.c? 230 00:15:57,780 --> 00:16:04,600 Rwy'n gosod y cod hwn, sef y cod union yn ein compiler blaenorol, 231 00:16:04,600 --> 00:16:10,540 a oedd i fod i osod cod i mewn i login.c. 232 00:16:10,540 --> 00:16:13,360 Dyma yw ein os login.c ffeil strcmp 233 00:16:13,360 --> 00:16:19,370 ac yna rhowch i mewn i bethau darnia login.c ein. 234 00:16:19,370 --> 00:16:26,010 Mae'r compiler newydd yw creu casglwr 235 00:16:26,010 --> 00:16:30,390 sydd wedi'i bwriadu i lunio mewngofnodi faleisus. 236 00:16:30,390 --> 00:16:34,320 Byddwn yn gweld pam fod yn ein helpu ni. 237 00:16:34,320 --> 00:16:40,630 Mae popeth arall yr un fath, felly mae'n gweithio yn union fel ei fod yn gweithio gyda'n compiler blaenorol. 238 00:16:40,630 --> 00:16:45,550 Rydym yn unig ailadrodd dros ein compile.c cyfan. 239 00:16:45,550 --> 00:16:48,190 Ond yn awr yn hytrach na chwilio am 'gwadu mynediad iddynt,' 240 00:16:48,190 --> 00:16:51,490 rydym yn chwilio am 'lunio y ffeil.' 241 00:16:51,490 --> 00:16:53,750 Ble mae lunio y ffeil? 242 00:16:53,750 --> 00:16:57,210 Edrych ar ein compiler.c gwbl ddiniwed, 243 00:16:57,210 --> 00:17:01,340 ei fod yn iawn i lawr yma yn y gwaelod. 244 00:17:01,340 --> 00:17:06,500 Mae'r sylw hwn - lunio'r ffeil - unwaith eto, sy'n edrych yn gwbl ddiniwed. 245 00:17:06,500 --> 00:17:11,599 Ond, yn ein fersiwn maleisus y compiler, 246 00:17:11,599 --> 00:17:16,550 rydym yn mynd i'r - dde cyn y sylw hwnnw - nodwch y cod hwn 247 00:17:16,550 --> 00:17:20,690 sydd wedi'i bwriadu i osod cod wrth lunio login.c. 248 00:17:20,690 --> 00:17:25,589 >> Mae llawer o lefelau o indirection yma. 249 00:17:25,589 --> 00:17:29,760 Gadewch i ni mewn gwirionedd redeg. 250 00:17:29,760 --> 00:17:37,360 Unwaith eto, byddwn yn copïo ein compiler gwreiddiol. 251 00:17:37,360 --> 00:17:48,260 Nawr, Llunio - casglwr compiler.c compile.c-o evilest_compiler - 252 00:17:48,260 --> 00:17:52,640 ac yn awr evilest_compiler. 253 00:17:52,640 --> 00:17:59,200 Compiler Evilest - os gallwn ddefnyddio hynny i lunio ein compiler, 254 00:17:59,200 --> 00:18:01,550 gadewch i ni mewn gwirionedd yn edrych. 255 00:18:01,550 --> 00:18:13,230 Evilest_compiler - dod â hi dros, y cyfan y ffordd yn ôl i fersiwn 1 o'n casglwr - 256 00:18:13,230 --> 00:18:19,640 fersiwn 1 o'n compiler a oedd newydd ei ddarllen yn y ffeil ac yn llunio ei. 257 00:18:19,640 --> 00:18:24,780 Yma, rydym yn gwybod bod evilest_compiler - pan fydd yn llunio ffeil hon - 258 00:18:24,780 --> 00:18:29,890 yn mynd i fewnosod cod dde yma cyn llunio y ffeil, 259 00:18:29,890 --> 00:18:38,510 a bod y cod yn mynd i edrych yn union fel y cod o'r ail fersiwn ein compiler 260 00:18:38,510 --> 00:18:42,240 a wnaeth hyn. 261 00:18:42,240 --> 00:18:46,450 Mae'r cod hwn, sydd wedi'i bwriadu i dorri i mewn login, 262 00:18:46,450 --> 00:18:56,480 yn mynd i gael eu gosod yn ein compiler gan evilest compiler. 263 00:18:56,480 --> 00:19:08,600 Gadewch i ni ddefnyddio evilest_compiler i lunio ein compiler. 264 00:19:08,600 --> 00:19:15,040 Nawr byddwn yn defnyddio compiler, 265 00:19:15,040 --> 00:19:19,460 yn dod yn ôl drosodd i mewngofnodi, 266 00:19:19,460 --> 00:19:25,280 a chofiwch y login.c wedi gwbl ddim amheus ynddo. 267 00:19:25,280 --> 00:19:35,250 Ond gan ddefnyddio ein compiler i lunio login.c, 268 00:19:35,250 --> 00:19:38,430 rob, thisiscs50, llwyddiant. 269 00:19:38,430 --> 00:19:44,350 Hacio haciwr mewngofnodi Gadewch i ni, LOLihackyou,!! Rydych yn awr wedi mynediad. 270 00:19:44,350 --> 00:19:49,710 >> Cydnabod bod hyn yn wahanol i fersiwn 2 o'n compiler. 271 00:19:49,710 --> 00:20:00,500 Mae'r compiler rydym yn defnyddio - gadewch i ni symud yn ôl - copi o'r mewngofnodi - 272 00:20:00,500 --> 00:20:01,880 gadewch i ni ddod â'n compiler yn ôl i mewn yma. 273 00:20:01,880 --> 00:20:06,360 Cael gwared compiler evilest. 274 00:20:06,360 --> 00:20:08,970 Y cyfan yr ydym wedi gadael yn awr yw compiler. 275 00:20:08,970 --> 00:20:10,950 Os ydym yn edrych ar compiler.c, 276 00:20:10,950 --> 00:20:16,840 nid oes dim byd o gwbl i mewn 'na sy'n ymddangos yn faleisus mewn unrhyw fodd. 277 00:20:16,840 --> 00:20:22,390 Os ydym yn edrych ar login.c, 278 00:20:22,390 --> 00:20:28,790 nid oes dim yma sy'n edrych yn faleisus mewn unrhyw fodd. 279 00:20:28,790 --> 00:20:34,600 Ond, pan fyddwn yn defnyddio ein compiler i lunio login.c, 280 00:20:34,600 --> 00:20:38,840 rydym yn cael y fersiwn hackable o login.c. 281 00:20:38,840 --> 00:20:41,850 Pan fyddwn yn defnyddio ein compiler i lunio fersiwn newydd o'r compiler, 282 00:20:41,850 --> 00:20:46,620 rydym yn cael y fersiwn hackable y compiler. 283 00:20:46,620 --> 00:20:51,790 Nawr, os ydym yn mynd allan ac yn dosbarthu ein gweithredadwy compiler, 284 00:20:51,790 --> 00:20:59,280 ac ni fydd neb yn gwybod bod yna unrhyw beth maleisus am y peth. 285 00:20:59,280 --> 00:21:04,680 >> Mae hyn mewn gwirionedd felly yn - ni allaf gofio y flwyddyn - 286 00:21:04,680 --> 00:21:10,350 Enillodd Ken Thompson, ac ef y Wobr Turing - 287 00:21:10,350 --> 00:21:15,600 os ydych yn anghyfarwydd â Gwobr Turing, mae bron bob amser a ddiffinnir fel y 288 00:21:15,600 --> 00:21:20,160 Nobel Gwobr o cyfrifiadureg, felly dyna sut y byddaf yn ei ddiffinio. 289 00:21:20,160 --> 00:21:24,100 Rhoddodd Ken Thompson ei araith wrth iddo gael ei Turing Gwobr 290 00:21:24,100 --> 00:21:27,150 o'r enw "Myfyrdodau ar Ymddiriedolaeth Ymddiried." 291 00:21:27,150 --> 00:21:30,710 Yn y bôn, dyma oedd y syniad ei araith. 292 00:21:30,710 --> 00:21:35,050 Ac eithrio lle ein compiler, oedd yn siarad am Gyngor Gwynedd - 293 00:21:35,050 --> 00:21:37,250 arall yn unig compiler fel Clang - 294 00:21:37,250 --> 00:21:45,600 a beth oedd yn ei ddweud yw, fel ein login.c, ein login.c ymddangos yn gymharol ddiwerth 295 00:21:45,600 --> 00:21:50,190 ond ei fod yn sôn am y gwir UNIX login.c. 296 00:21:50,190 --> 00:21:53,050 Pan fyddwch yn mewngofnodi i'ch offer, 297 00:21:53,050 --> 00:21:56,070 oes rhaglen mewngofnodi, sy'n cael ei rhedeg. 298 00:21:56,070 --> 00:21:58,080 Dyna oedd y mewngofnodi ei fod yn sôn amdano. 299 00:21:58,080 --> 00:22:02,420 Roedd hyn yn y bôn ei syniad. 300 00:22:02,420 --> 00:22:09,080 Dywedodd mewn Cyngor Gwynedd, fe allai, mewn egwyddor, wedi plannu bug - 301 00:22:09,080 --> 00:22:12,290 Nid yw nam, ond chod maleisus - 302 00:22:12,290 --> 00:22:16,860 bod wrth lunio'r swyddogaeth mewngofnodi - y ffeil mewngofnodi - 303 00:22:16,860 --> 00:22:23,700 Byddai mewnosod drws cefn fel y gallai fynd i unrhyw system gwbl UNIX yn y byd 304 00:22:23,700 --> 00:22:27,360 ac yn mewngofnodi gyda rhywfaint o enw defnyddiwr a chyfrinair penodol. 305 00:22:27,360 --> 00:22:33,710 Ar y pryd, roedd Cyngor Gwynedd 'n bert lawer y compiler bod pawb a ddefnyddir ar gyfer unrhyw beth. 306 00:22:33,710 --> 00:22:36,460 Os oes unrhyw un yn digwydd i ddiweddaru Cyngor Gwynedd, 307 00:22:36,460 --> 00:22:40,880 yna byddent yn ail-grynhoi Cyngor Gwynedd yn defnyddio Cyngor Gwynedd, 308 00:22:40,880 --> 00:22:44,500 a byddech yn dal i gael fersiwn gwael o Cyngor Gwynedd 309 00:22:44,500 --> 00:22:50,140 oherwydd iddi gael ei llunio yn benodol i gydnabod ei bod yn recompiling y compiler. 310 00:22:50,140 --> 00:22:57,360 Ac os ydych chi erioed wedi defnyddio Cyngor Gwynedd i ail-grynhoi ffeil login.c, 311 00:22:57,360 --> 00:23:03,550 yna byddai'n ei chynnwys y drws cefn y gallai eu defnyddio i fewngofnodi i unrhyw gyfrifiadur. 312 00:23:03,550 --> 00:23:08,750 >> Roedd hyn i gyd damcaniaethol, ond - yr amgylchiadau penodol yn ddamcaniaethol, 313 00:23:08,750 --> 00:23:12,440 ond mae'r syniadau yn real iawn. 314 00:23:12,440 --> 00:23:18,250 Yn 2003, roedd yn enghraifft debyg lle - 315 00:23:18,250 --> 00:23:21,290 byddwn yn edrych ar y ffeil, 316 00:23:21,290 --> 00:23:25,870 ac mae wedi gwbl ddim i'w wneud mewn gwirionedd ag ef, ond mae'r nam yn debyg. 317 00:23:25,870 --> 00:23:29,390 Mae'r ffeil hon yn unig yn diffinio swyddogaeth a elwir yn rhaniad. 318 00:23:29,390 --> 00:23:31,780 Mae'n cymryd ddadl, yn b dadl, 319 00:23:31,780 --> 00:23:34,270 a'r bwriad yw gwneud rhannu â b. 320 00:23:34,270 --> 00:23:37,230 Ond mae ychydig o wirio gwall, 321 00:23:37,230 --> 00:23:40,070 felly rydym yn gwybod pethau yn rhyfedd os yw b digwydd yn hafal i sero. 322 00:23:40,070 --> 00:23:44,900 Os b yn sero, yna rydym yn rhannu hyn i 2 achos. 323 00:23:44,900 --> 00:23:46,900 Efallai eich bod eisoes yn gweld y nam. 324 00:23:46,900 --> 00:23:51,840 Mae'r achos cyntaf - os bydd yn sero, yna rydym yn ei wneud dim wedi'i rannu â sero, 325 00:23:51,840 --> 00:23:54,300 ac rydym yn unig dweud bod yn amhenodol. 326 00:23:54,300 --> 00:23:56,250 Yr ail achos - os nad yn sero, 327 00:23:56,250 --> 00:24:00,580 yna mae'n rhywbeth fel 1 wedi'i rannu gan sero, ac rydym yn unig yn galw y anfeidredd. 328 00:24:00,580 --> 00:24:03,730 Arall byddwn yn dychwelyd y arferol a rhannu â b. 329 00:24:03,730 --> 00:24:06,390 Ac felly yma, rydym yn rhedeg y 3 achos, 330 00:24:06,390 --> 00:24:13,740 ac yr ydym mewn gwirionedd yn rhedeg raniad - mae'n yells arno i mi - 331 00:24:13,740 --> 00:24:21,330 felly, gan anwybyddu rhybuddion Clang - yn 332 00:24:21,330 --> 00:24:24,500 diwedd heb fod yn ddi-rym swyddogaeth - mae'n debyg doeddwn i ddim yn llunio hyn ymlaen llaw. 333 00:24:24,500 --> 00:24:26,500 Dychwelyd 0. 334 00:24:26,500 --> 00:24:28,900 Gwneud rhannu - pob hawl. 335 00:24:28,900 --> 00:24:32,470 Gyda. / Rhaniad, rydym yn gweld 3, Infinity, Infinity. 336 00:24:32,470 --> 00:24:39,150 Ni ddylai sero wedi'i rannu gan sero wedi dychwelyd anfeidredd. 337 00:24:39,150 --> 00:24:42,840 Ac os nad ydych wedi cyfrifedig allan y byg eto - neu ddim yn ei weld o'r blaen - 338 00:24:42,840 --> 00:24:46,800 rydym yn gweld ein bod ni'n gwneud a = 0. 339 00:24:46,800 --> 00:24:52,610 Yn ôl pob tebyg ni yn golygu == 0. Yn ôl pob tebyg. 340 00:24:52,610 --> 00:24:58,640 >> Ond, roedd hyn mewn gwirionedd yn rhywbeth sydd, unwaith eto, yn 2003, y cnewyllyn Linux - 341 00:24:58,640 --> 00:25:02,260 felly mae ein peiriant yn ei ddefnyddio y cnewyllyn Linux - 342 00:25:02,260 --> 00:25:05,550 unrhyw system weithredu Linux yn defnyddio'r cnewyllyn Linux - 343 00:25:05,550 --> 00:25:11,610 felly mae nam yn debyg iawn i'r hyn yn dangos i fyny. 344 00:25:11,610 --> 00:25:15,180 Y syniad tu ôl i hyn oedd bug - 345 00:25:15,180 --> 00:25:18,820 unwaith eto, roedd dim ond rhywfaint o swyddogaeth yr hwn a elwid, ac yr oedd ychydig o wirio gwall. 346 00:25:18,820 --> 00:25:24,300 Roedd rhai mewnbynnau penodol bod y gwall gwirio - 347 00:25:24,300 --> 00:25:30,210 dylai fod wedi bod fel, popeth yn iawn, ni allwch ffonio swyddogaeth hon gyda rhannydd o 0. 348 00:25:30,210 --> 00:25:35,070 Felly, yr wyf i'n mynd i fynd yn ôl rhyw wall. 349 00:25:35,070 --> 00:25:38,090 Ac eithrio, nid oedd mor ddiniwed â dim ond gosod gyfartal i 0. 350 00:25:38,090 --> 00:25:46,920 Yn hytrach, mae'r llinell o god a ddaeth i ben i fyny yn gwneud rhywbeth yn fwy fel defnyddiwr = gweinyddwr. 351 00:25:46,920 --> 00:25:50,500 Neu defnyddiwr = uwch ddefnyddiwr. 352 00:25:50,500 --> 00:25:59,170 Roedd yn ddiniwed - ar yr olwg gyntaf - camgymeriad lle y gallai fod wedi bod yr un rhesymol 353 00:25:59,170 --> 00:26:01,560 mai dim ond eisiau gwybod am rywbeth penodol 354 00:26:01,560 --> 00:26:05,150 os yw'r defnyddiwr yn digwydd i fod yn weinyddwr uwch ddefnyddiwr. 355 00:26:05,150 --> 00:26:11,220 Ond yna ail-feddwl am y peth, mae'r person eisiau iddo edrych fel typo syml, 356 00:26:11,220 --> 00:26:14,330 ond os y cod hwn wedi cael ei ryddhau mewn gwirionedd, 357 00:26:14,330 --> 00:26:21,580 yna byddech wedi gallu i hacio i mewn i unrhyw system trwy basio faner penodol - 358 00:26:21,580 --> 00:26:25,200 yn yr achos hwn b = 0 - 359 00:26:25,200 --> 00:26:28,020 a byddai'n awtomatig yn gwneud y defnyddiwr y gweinyddwr, 360 00:26:28,020 --> 00:26:30,400 ac yna mae ganddo reolaeth lawn. 361 00:26:30,400 --> 00:26:32,540 Digwyddodd hyn yn 2003. 362 00:26:32,540 --> 00:26:35,700 >> 'I jyst yn digwydd fel bod y rheswm yn unig yn ei ddal 363 00:26:35,700 --> 00:26:39,200 oedd oherwydd bod yn digwydd bod rhywfaint o system awtomataidd 364 00:26:39,200 --> 00:26:41,540 a sylwi ar y newid yn y ffeil hon 365 00:26:41,540 --> 00:26:44,560 erioed a ddylai fod wedi cael ei newid gan fod dynol. 366 00:26:44,560 --> 00:26:47,580 Dylai'r ffeil yn unig wedi cael eu cynhyrchu yn awtomatig. 367 00:26:47,580 --> 00:26:49,780 'I jyst yn digwydd fel bod rhywun yn cyffwrdd - 368 00:26:49,780 --> 00:26:52,460 dda, y person a oedd yn awyddus i hacio cyffwrdd y ffeil, 369 00:26:52,460 --> 00:26:55,450 ac mae'r cyfrifiadur yn dal y cyffwrdd. 370 00:26:55,450 --> 00:27:01,750 Felly, maent yn newid hynny a dim ond yn ddiweddarach yn sylweddoli pa mor drychinebus y byddai wedi bod yn 371 00:27:01,750 --> 00:27:04,830 os yw hyn wedi gotten allan i'r byd go iawn. 372 00:27:04,830 --> 00:27:08,220 >> Efallai eich bod yn meddwl hynny - i ddod yn ôl at ein henghraifft casglwr - 373 00:27:08,220 --> 00:27:14,290 er na allwn weld - yn edrych ar y sourcecode - 374 00:27:14,290 --> 00:27:17,490 bod unrhyw beth yn arbennig yn anghywir, 375 00:27:17,490 --> 00:27:25,460 os ydym mewn gwirionedd yn edrych ar y cod deuaidd o compiler, 376 00:27:25,460 --> 00:27:28,670 byddem yn gweld bod rhywbeth o'i le. 377 00:27:28,670 --> 00:27:31,260 Fel enghraifft, os ydym yn rhedeg y llinynnau gweithredu - 378 00:27:31,260 --> 00:27:34,930 sydd yn unig yn mynd i edrych dros ffeil ac argraffu ar yr holl dannau gall ddod o hyd - 379 00:27:34,930 --> 00:27:37,990 os byddwn yn rhedeg llinynnau ar ein compiler, 380 00:27:37,990 --> 00:27:42,400 gwelwn fod un llinyn bod yn canfod a yw hyn yn rhyfedd - 381 00:27:42,400 --> 00:27:45,500 arall os (strcmp (enw defnyddiwr, "haciwr") - blah, blah, blah. 382 00:27:45,500 --> 00:27:52,570 Os bydd rhywun yn digwydd bod yn paranoid yn ddigon i beidio ymddiried yn eu compiler, 383 00:27:52,570 --> 00:27:56,690 gallent redeg llinynnau ac yn gweld hyn, 384 00:27:56,690 --> 00:28:00,430 ac yna byddent yn gwybod bod rhywbeth o'i le ar y deuaidd gwirioneddol. 385 00:28:00,430 --> 00:28:07,250 Ond, llinynnau roedd yn anochel rhywbeth a oedd yn ei lunio. 386 00:28:07,250 --> 00:28:11,590 Felly, pwy sydd i ddweud nad yw ein compiler oes gen ti cod yn fwy arbennig 387 00:28:11,590 --> 00:28:19,240 sy'n dweud, os llinynnau yn cael ei redeg erioed ar ein compiler, peidiwch allbynnu hynny i gyd chod maleisus. 388 00:28:19,240 --> 00:28:23,980 >> Mae'r un syniad â hwy os ydym am i dis-ymgynnull y ffeil - 389 00:28:23,980 --> 00:28:30,440 rydym yn dysgu bod y cyfosodwr yn dod â ni o'r cod cynulliad i god peiriant - 390 00:28:30,440 --> 00:28:36,010 gallwn fynd i'r cyfeiriad arall - objdump-d casglwr - 391 00:28:36,010 --> 00:28:38,770 bydd yn rhoi i ni y cynulliad ein cod. 392 00:28:38,770 --> 00:28:41,730 Edrych ar hyn, 393 00:28:41,730 --> 00:28:47,480 mae'n eithaf cryptig, ond os ydym eisiau, gallem edrych drwy'r 394 00:28:47,480 --> 00:28:51,700 a'r rheswm, aros, mae rhywbeth yn digwydd mewn yma ni ddylai fod yn mynd ymlaen, 395 00:28:51,700 --> 00:28:59,380 ac yna byddwn yn cydnabod bod y casglwr yn gwneud rhywbeth maleisus. 396 00:28:59,380 --> 00:29:03,950 Ond, yn union fel llinynnau, pwy sydd i ddweud nad oedd yn arbennig objdump-Mewn Casys. 397 00:29:03,950 --> 00:29:11,380 Yn y bôn, mae'n dod i lawr i nad ydych yn gallu ymddiried yn unrhyw beth. 398 00:29:11,380 --> 00:29:14,310 Y pwynt y papur yn cael ei alw "Ymddiriedolaeth Ymddiried" yn 399 00:29:14,310 --> 00:29:17,900 yn gyffredinol, rydym yn ymddiried yn ein compiler. 400 00:29:17,900 --> 00:29:21,700 Rydych yn casglu eich cod ac yn disgwyl iddo wneud yr hyn yr ydych yn gofyn iddo ei wneud. 401 00:29:21,700 --> 00:29:26,440 Ond, pam y dylech chi ymddiried yn y compiler? 402 00:29:26,440 --> 00:29:32,120 Nid oeddech wedi ysgrifennu compiler. Nid ydych yn gwybod beth yw'r compiler o angenrheidrwydd yn ei wneud mewn gwirionedd. 403 00:29:32,120 --> 00:29:36,870 Pwy sydd i ddweud y gallwch ymddiried ynddo? 404 00:29:36,870 --> 00:29:40,050 Ond hyd yn oed wedyn, yn dda, efallai y gallwn ymddiried yn y compiler. 405 00:29:40,050 --> 00:29:44,670 Mae degau o filoedd o bobl sydd wedi edrych ar hyn. 406 00:29:44,670 --> 00:29:51,360 Mae'n rhaid i rhywun wedi cydnabod rhywbeth i fyny gyda'r compiler. 407 00:29:51,360 --> 00:29:55,100 >> Beth os ydym yn unig yn mynd 1 lefel ddyfnach? 408 00:29:55,100 --> 00:29:59,450 Gallai hyd yn oed fod yn eich prosesydd. 409 00:29:59,450 --> 00:30:01,250 Fel chwerthinllyd ag y gallai o bosibl fod, 410 00:30:01,250 --> 00:30:06,690 efallai mae rhywfaint o weithiwr twyllodrus yn Intel sy'n creu hyn proseswyr 411 00:30:06,690 --> 00:30:12,400 pryd bynnag y prosesydd yn sylwi eich bod yn rhedeg rhyw gorchymyn 412 00:30:12,400 --> 00:30:14,570 bod i fod i fewngofnodi i'r cyfrifiadur, 413 00:30:14,570 --> 00:30:19,230 Bydd y prosesydd yn derbyn rhywfaint o enw defnyddiwr penodol a chyfuniad cyfrinair. 414 00:30:19,230 --> 00:30:21,530 Byddai'n cael ei gymhleth gwyllt, 415 00:30:21,530 --> 00:30:24,790 ond gallai rhywun ei wneud. 416 00:30:24,790 --> 00:30:29,350 Ar yr adeg honno, a ydych wir yn mynd i agor i fyny 'ch chyfrifiadur i edrych ar y prosesydd 417 00:30:29,350 --> 00:30:35,970 a defnyddio microsgop i gydnabod nad yw'r cylchedau yn cael eu trefnu fel y dylent fod? 418 00:30:35,970 --> 00:30:39,730 Nid oes neb yn byth yn mynd i ddal y gwall. 419 00:30:39,730 --> 00:30:45,570 Ar ryw bwynt, os oes gen ti i roi'r gorau ac yn ymddiried rhywbeth. 420 00:30:45,570 --> 00:30:48,390 Rhan fwyaf o bobl yn ymddiried yn y compiler yn y fan hon. 421 00:30:48,390 --> 00:30:55,760 Hynny yw, nid o reidrwydd y dylech chi. 422 00:30:55,760 --> 00:30:59,350 Edrych ar fideo braidd yn enwog - 423 00:30:59,350 --> 00:31:09,280 [Cerddoriaeth ddramatig chwarae] 424 00:31:09,280 --> 00:31:13,270 [Mae'n system UNIX. Rwy'n gwybod hyn.] 425 00:31:13,270 --> 00:31:14,470 [Mae'n holl ffeiliau -] 426 00:31:14,470 --> 00:31:18,950 Meddai, "Mae'n system UNIX. Rwy'n gwybod hyn." 427 00:31:18,950 --> 00:31:21,760 Yn lle UNIX gyda beth bynnag yw eich system weithredu hoff yw - 428 00:31:21,760 --> 00:31:25,230 Gallai hi fod wedi dweud, "Mae'n system Windows. Rwy'n gwybod hyn." 429 00:31:25,230 --> 00:31:29,710 Mae'n ddatganiad hollol ddiystyr, 430 00:31:29,710 --> 00:31:34,450 ond ar gyfer yr holl rydym yn gwybod, mae hi'n digwydd i adnabod drws cefn i mewn i'r system UNIX. 431 00:31:34,450 --> 00:31:38,840 Mae hi'n gwybod rhyw gyfuniad enw defnyddiwr / cyfrinair a fydd yn mewn gwirionedd yn gadael ei 432 00:31:38,840 --> 00:31:41,540 wneud beth bynnag mae hi eisiau. 433 00:31:41,540 --> 00:31:49,000 >> Mae pob hawl. Mae moesol heddiw yn y bôn nad ydych yn gallu ymddiried yn unrhyw beth. 434 00:31:49,000 --> 00:31:52,620 Hyd yn oed pethau i chi ysgrifennu - na wnaethoch chi ysgrifennu compiler. 435 00:31:52,620 --> 00:31:53,870 Gallai'r compiler fod yn ddrwg. 436 00:31:53,870 --> 00:31:59,140 Hyd yn oed os gwnaethoch ysgrifennu'r compiler, gallai'r peth sy'n rhedeg y compiler yn ddrwg. 437 00:31:59,140 --> 00:32:05,210 (Chwerthin) Does dim llawer y gallwch ei wneud. 438 00:32:05,210 --> 00:32:09,050 Mae'r byd yn doomed. 439 00:32:09,050 --> 00:32:11,570 Back i David! 440 00:32:11,570 --> 00:32:19,540 [Cymeradwyaeth] 441 00:32:19,540 --> 00:32:21,340 >> [David] Diolch yn fawr. Dyna oedd wir yn ddigalon. 442 00:32:21,340 --> 00:32:23,910 Ond yn wir, Rob yn gywir. 443 00:32:23,910 --> 00:32:27,150 Dydyn ni ddim yn cael ateb i hynny, ond rydych chi ar fin i gael rhai atebion 444 00:32:27,150 --> 00:32:29,150 i rai amddiffynfeydd yn fwy cyffredin. 445 00:32:29,150 --> 00:32:31,170 Gan ragweld hyn, beth Nate a minnau wedi bod yn ei wneud tu ôl i'r llenni yno 446 00:32:31,170 --> 00:32:33,950 yn gwybod bod yna gymaint o gliniaduron yn yr ystafell hon, 447 00:32:33,950 --> 00:32:37,020 rydym wedi bod yn arogli holl draffig di-wifr yn mynd trwy ystafell hon ar gyfer yr 20 munud diwethaf 448 00:32:37,020 --> 00:32:39,260 yn ystod Rob sgwrs, felly rydym yn mynd i gymryd egwyl 2 funud yma. 449 00:32:39,260 --> 00:32:41,740 Nate yn mynd i sefydlu, ac yna rydym yn mynd i siarad am yr holl bethau 450 00:32:41,740 --> 00:32:46,380 gallem fod wedi dod o hyd. (Chwerthin) 451 00:32:46,380 --> 00:32:51,990 >> Felly, efallai fy mod wedi gorliwio ychydig yn unig er mwyn drama, 452 00:32:51,990 --> 00:32:55,990 ond gallem fod wedi bod yn ffroeni eich holl draffig di-wifr am fod yn wir, 453 00:32:55,990 --> 00:32:57,240 mae'n hawdd â hynny. 454 00:32:57,240 --> 00:32:59,790 Ond mae yna hefyd ffyrdd y gallwch amddiffyn yn erbyn hyn, ac felly gyda hynny, 455 00:32:59,790 --> 00:33:03,160 Yr wyf yn rhoi i chi Nate Hardison. >> [Nate] Sweet. 456 00:33:03,160 --> 00:33:06,300 (Cymeradwyaeth) 457 00:33:06,300 --> 00:33:08,650 >> [Nate] Diolch yn fawr, dyn. Yr wyf yn gwerthfawrogi'r gweiddi allan. 458 00:33:08,650 --> 00:33:12,790 Mae pob iawn! Mae'n wythnos gêm. Ydych chi'n guys gyffrous? 459 00:33:12,790 --> 00:33:16,670 Gobeithio y mae'n mynd i fod yn gêm fawr ddydd Sadwrn. 460 00:33:16,670 --> 00:33:20,220 Yr wyf yn tybio eich guys yn y fan hon - o ystyried bod gennych cwis ar ddydd Mercher 461 00:33:20,220 --> 00:33:24,430 popeth am cod, ac rydym yn unig eistedd drwy darlith gwych gan Rob 462 00:33:24,430 --> 00:33:25,850 gyda criw cyfan o C cod ynddo - 463 00:33:25,850 --> 00:33:28,330 yn efallai ychydig yn flinedig o god. 464 00:33:28,330 --> 00:33:32,180 Yn y rhan hon, nid ydym yn wir yn mynd i gyffwrdd unrhyw god o gwbl. 465 00:33:32,180 --> 00:33:36,960 Rydym yn unig yn mynd i siarad am dechnoleg yr ydych yn eu defnyddio bob dydd, 466 00:33:36,960 --> 00:33:39,790 yn aml i lawer, llawer o oriau bob dydd, 467 00:33:39,790 --> 00:33:46,220 a byddwn yn sôn am y goblygiadau gyda diogelwch nad oes. 468 00:33:46,220 --> 00:33:48,960 >> Rydym wedi siarad llawer am ddiogelwch yn ystod y semester, 469 00:33:48,960 --> 00:33:53,030 ac rydym yn dechrau i ffwrdd gyda ychydig o crypto. 470 00:33:53,030 --> 00:33:55,030 [Bdoh lv vwlqng!] 471 00:33:55,030 --> 00:33:57,890 Ac wrth i chi guys yn ôl pob tebyg super-gyffrous i gael eu pasio nodiadau at ei gilydd 472 00:33:57,890 --> 00:33:59,890 yn y dosbarth gan ddefnyddio cipher Caesar fel yr un yma, 473 00:33:59,890 --> 00:34:03,870 mewn gwirionedd, mae rhai yn fwy o hwyl i'w gael pan rydych chi mewn gwirionedd yn siarad am ddiogelwch 474 00:34:03,870 --> 00:34:05,870 a bod y math o bethau. 475 00:34:05,870 --> 00:34:09,090 Heddiw, rydym yn mynd i gwmpasu ychydig dechnolegau 476 00:34:09,090 --> 00:34:13,650 bod pobl mewn gwirionedd yn defnyddio yn y byd go iawn i wneud pob math o bethau 477 00:34:13,650 --> 00:34:18,360 rhag arogli pecynnau pobl i mewn gwirionedd yn mynd i mewn ac 478 00:34:18,360 --> 00:34:20,409 torri i mewn i gyfrifon banc pobl a hynny i gyd. 479 00:34:20,409 --> 00:34:23,460 Mae'r rhain yn arfau dilys ein bod yn sôn am 480 00:34:23,460 --> 00:34:26,320 ac eithrio o bosib un offeryn. 481 00:34:26,320 --> 00:34:28,889 >> Ac yr wyf yn jyst eisiau gwneud ymwadiad gyflym. 482 00:34:28,889 --> 00:34:34,909 Pan fyddwn yn sôn am y pethau hyn, rydym yn sôn amdanynt fel eich bod yn gwybod beth sydd ar gael, 483 00:34:34,909 --> 00:34:39,389 a ydych yn ymwybodol o sut i fod yn ddiogel pan fyddwch allan yn defnyddio eich cyfrifiadur. 484 00:34:39,389 --> 00:34:44,000 Ond nid ydym yn sicr yn awyddus i awgrymu y dylech ddefnyddio'r arfau hyn 485 00:34:44,000 --> 00:34:48,090 yn eich dorm neu eich tŷ oherwydd gallwch rhedeg i mewn i lawer o faterion mawr. 486 00:34:48,090 --> 00:34:52,760 Dyna un rheswm heddiw nad ydym mewn gwirionedd yn arogli eich pecynnau. 487 00:34:52,760 --> 00:35:01,300 >> Mae pob hawl. Ddydd Llun diwethaf, buom yn siarad am 'cookies', a HTTP, a dilysu, 488 00:35:01,300 --> 00:35:05,920 a sut Firesheep yn agor y drws mawr i mewn i'ch cyfrif Facebook, 489 00:35:05,920 --> 00:35:08,670 at eich cyfrif Hotmail - os oes unrhyw un yn dal i ddefnyddio Hotmail - 490 00:35:08,670 --> 00:35:12,360 a chyfrifon eraill. 491 00:35:12,360 --> 00:35:16,980 Mae llawer o pethau hyn yn mynd i adeiladu oddi ar hynny, 492 00:35:16,980 --> 00:35:22,070 ond yn gyntaf, rwyf am i fynd ar daith gyflym o sut y mae'r Rhyngrwyd wedi esblygu dros amser. 493 00:35:22,070 --> 00:35:27,490 Yn ôl yn y '90au, efallai y byddwch guys wedi cofio mewn gwirionedd plygio i mewn 494 00:35:27,490 --> 00:35:29,880 eich cyfrifiaduron gydag un o'r rhain. 495 00:35:29,880 --> 00:35:32,640 Nawr, nid ydym yn gwneud hynny cymaint anymore. 496 00:35:32,640 --> 00:35:37,230 Mae'n mewn gwirionedd yn troi allan, er mwyn i lenwi'r cebl Ether-rwyd i mewn i fy laptop, 497 00:35:37,230 --> 00:35:41,710 Rwyf bellach yn rhaid i chi ddefnyddio un o'r adapters sy'n fath o crazy. 498 00:35:41,710 --> 00:35:47,580 >> Yn lle hynny, yn 1997 roedd gennym newydd hwn, technoleg hwyl 499 00:35:47,580 --> 00:35:54,960 ddaeth allan sy'n cael ei adnabod fel IEEE 802.11, felly mae hwn yn safon y rhyngrwyd di-wifr 500 00:35:54,960 --> 00:36:00,430 Mae'r IEEE yw hwn corff llywodraethu sy'n rhoi allan pob math o - 501 00:36:00,430 --> 00:36:04,770 cyhoeddi pob math o safonau gyda perthynas â chyfrifiaduron. 502 00:36:04,770 --> 00:36:08,780 Mae'r 802 safonau i gyd yn ymwneud dechnolegau Rhyngrwyd. 503 00:36:08,780 --> 00:36:12,690 Felly 802.3, er enghraifft, yn y safon Ethernet, 504 00:36:12,690 --> 00:36:17,120 802.15.1 yn fy marn i safon Bluetooth, 505 00:36:17,120 --> 00:36:19,540 a 802.11 i gyd Rhyngrwyd am di-wifr. 506 00:36:19,540 --> 00:36:24,150 Yn 1997 y daeth allan. Nid oedd yn hollol dal ar y dde i ffwrdd. 507 00:36:24,150 --> 00:36:30,200 Nid tan 1999 a daeth y safon 802.11b fod jyst got yn boblogaidd iawn. 508 00:36:30,200 --> 00:36:36,330 >> Faint ohonoch yn cofio pan yw cyfrifiaduron dechrau dod allan a chael wi-fi arnynt? 509 00:36:36,330 --> 00:36:38,330 Dyna oedd fath o oer, huh? 510 00:36:38,330 --> 00:36:41,260 Dwi'n cofio cael fy ngliniadur cyntaf yn yr ysgol yn uchel, 511 00:36:41,260 --> 00:36:44,250 ac roedd ganddi cerdyn di-wifr ynddo. 512 00:36:44,250 --> 00:36:49,580 Roedd fy nhad roddodd i mi ac yn dweud y dylwn ei ddefnyddio ar gyfer fy apps coleg a hynny i gyd, 513 00:36:49,580 --> 00:36:53,030 a doedd gen i ddim syniad sut yr oeddwn yn mynd i chwilio am hon ar-lein pethau. 514 00:36:53,030 --> 00:36:54,640 Ond yn ffodus, roedd gen i gerdyn di-wifr, fel bod yn eithaf oer. 515 00:36:54,640 --> 00:37:04,090 Y dyddiau hyn, byddwch hefyd yn gweld 802.11g sy'n un o'r llall yn boblogaidd iawn 516 00:37:04,090 --> 00:37:06,090 safonau di-wifr sydd allan yno. 517 00:37:06,090 --> 00:37:08,660 Mae b a g wedi dyddio 'n bert ar yr adeg hon. 518 00:37:08,660 --> 00:37:12,580 Unrhyw un yn gwybod pa fersiwn rhan fwyaf o bobl ar hyn o bryd 519 00:37:12,580 --> 00:37:15,110 os ydynt yn prynu llwybryddion di-wifr newydd a'r math o bethau? 520 00:37:15,110 --> 00:37:24,290 N. Yn union. Bingo. Ac mae'n troi allan fod y safon cerrynt eiledol yn unig yn dod allan ar ffurf drafft, 521 00:37:24,290 --> 00:37:28,050 ac mae fersiynau eraill ar y ffordd. 522 00:37:28,050 --> 00:37:31,190 Gyda phob un o'r safonau hyn rydym yn ei ennill yn rhagor o led band, 523 00:37:31,190 --> 00:37:33,900 mwy o ddata ar gyfradd gyflymach. 524 00:37:33,900 --> 00:37:36,260 Mae'r pethau hyn yn newid o hyd yn weddol gyflym. 525 00:37:36,260 --> 00:37:39,880 Mae hefyd yn ei gwneud fel bod rhaid i ni brynu mwy o llwybryddion a holl bethau hwyl. 526 00:37:39,880 --> 00:37:48,160 >> Gadewch i ni siarad am yr hyn di-wifr cyfathrebu mewn gwirionedd ar ei graidd. 527 00:37:48,160 --> 00:37:51,790 Gyda Ethernet a rhai hen deialu modemau, 528 00:37:51,790 --> 00:37:55,780 chi mewn gwirionedd yn cael y pethau yr ydych yn blygio i mewn i'ch cyfrifiadur, 529 00:37:55,780 --> 00:37:59,820 ac yna rydych blygio i mewn i modem o ryw fath, ac yna rydych blygio i mewn i jack yn eich wal. 530 00:37:59,820 --> 00:38:01,820 Byddwch yn cael y cysylltiad gwifrog, dde? 531 00:38:01,820 --> 00:38:06,030 Y pwynt cyfan o di-wifr yn cael gwared ar y pethau hyn. 532 00:38:06,030 --> 00:38:10,300 Er mwyn gwneud hynny, yr hyn sydd gennym yn ei hanfod 533 00:38:10,300 --> 00:38:13,960 cyfathrebu radio lle mae ein llwybrydd diwifr - 534 00:38:13,960 --> 00:38:16,230 ddynodwyd gan ein eicon bach di-wifr - 535 00:38:16,230 --> 00:38:21,730 wedi'i chysylltu â'r Rhyngrwyd gyda hyn saeth solet dangos rhyw fath o gysylltiad gwifrau, 536 00:38:21,730 --> 00:38:24,640 ond pan fyddwch yn cysylltu â'ch llwybrydd di-wifr 537 00:38:24,640 --> 00:38:29,190 rydych chi mewn gwirionedd yn defnyddio bron fel walkie-talkie rhwng 538 00:38:29,190 --> 00:38:31,960 eich cyfrifiadur ac yn eich llwybrydd di-wifr. 539 00:38:31,960 --> 00:38:35,150 Beth 'n sylweddol oera am hyn yw y gallwch chi symud o gwmpas. 540 00:38:35,150 --> 00:38:40,900 Gallwch gario eich cyfrifiadur ar hyd a lled Sanders, ewch syrffio'r we, beth bynnag yr ydych ei eisiau, 541 00:38:40,900 --> 00:38:43,240 yn union fel chi i gyd yn gwybod a chariad, 542 00:38:43,240 --> 00:38:46,030 ac nid oes byth i gael ei blygio i mewn i unrhyw beth. 543 00:38:46,030 --> 00:38:53,880 Er mwyn i hyn weithio, mae gennym ddau y derbyniad a throsglwyddo. 544 00:38:53,880 --> 00:38:56,060 Mae'n wir yn debyg y walkie-talkie. 545 00:38:56,060 --> 00:39:03,800 >> Mae'r llwybrydd diwifr - sydd yn ei Sanders yn eistedd o dan y cam hwn, dde yma - 546 00:39:03,800 --> 00:39:06,590 bob amser darlledu a derbyn, darlledu a derbyn, 547 00:39:06,590 --> 00:39:09,330 ac yn yr un modd, mae eich cyfrifiaduron i gyd yn gwneud hynny un math o beth, hefyd. 548 00:39:09,330 --> 00:39:12,840 Nad ydym yn gallu ei glywed. 549 00:39:12,840 --> 00:39:17,900 Y peth arall y gallwch ei wneud yw y gallwch gael cyfrifiaduron lluosog 550 00:39:17,900 --> 00:39:22,200 siarad â'r llwybrydd di-wifr un. 551 00:39:22,200 --> 00:39:25,680 Mae'r nes eich bod at llwybrydd - ac eto, mae hwn yn cyfathrebu radio - 552 00:39:25,680 --> 00:39:30,320 y nes eich bod yn, y gorau fydd eich signal yw, y gorau fydd eich cyfrifiadur yn 'clywed' y llwybrydd 553 00:39:30,320 --> 00:39:32,460 a gallant gyfathrebu â'r Rhyngrwyd. 554 00:39:32,460 --> 00:39:39,520 Os ydych yn guys byth yn eich dorm, yn eich tŷ a ydych yn meddwl pam eich signal yn wael, 555 00:39:39,520 --> 00:39:42,230 mae'n debyg oherwydd a). nad ydych yn agos iawn at eich llwybrydd, neu 556 00:39:42,230 --> 00:39:46,930 b). mae rhywbeth yn rhyngoch chi a'ch llwybrydd fel wal rhywbeth sment neu 557 00:39:46,930 --> 00:39:50,720 nad yw'n rhoi gwybod i'r rhai tonnau radio yn mynd drwy. 558 00:39:50,720 --> 00:39:57,850 >> Gadewch i ni siarad ychydig am pam y guys drwg fel wi-fi. 559 00:39:57,850 --> 00:40:02,980 Guys drwg wrth eu bodd wi-fi am ychydig o resymau. 560 00:40:02,980 --> 00:40:06,670 Dyma ein guy cas drwg iawn yno. 561 00:40:06,670 --> 00:40:10,660 Un rheswm pam fod y dyn drwg wrth ei bodd yn wi-fi 562 00:40:10,660 --> 00:40:18,770 oherwydd, yn ddiofyn, mae llawer o llwybryddion di-wifr yn dod a phan fyddwch yn eu gosod i fyny, 563 00:40:18,770 --> 00:40:20,950 maen nhw'n heb ei amgryptio. 564 00:40:20,950 --> 00:40:23,970 Mae hyn wedi bod yn broblem, a bu achosion - 565 00:40:23,970 --> 00:40:28,210 achosion lluosog, yn awr - lle mae dyn drwg yn dangos i fyny i dŷ rhywun, 566 00:40:28,210 --> 00:40:32,630 hysbysiadau fod yna heb ei amgryptio wi-fi y gallant gysylltu. 567 00:40:32,630 --> 00:40:37,350 Maent yn cysylltu â'r wi-fi, ac yna byddant yn dechrau llwytho i lawr bob math o bethau llawn hwyl. 568 00:40:37,350 --> 00:40:40,890 Ac nid ydynt yn llwytho i lawr cathod bach, nid ydynt yn llwytho i lawr cŵn bach. 569 00:40:40,890 --> 00:40:44,610 Mae hyn yn debyg BitTorrent. Dyma'r cas y nastiest. 570 00:40:44,610 --> 00:40:48,740 Mae wedi bod yn achosion lle mae'r FBI wedi gotten hyd yn oed yn cymryd rhan 571 00:40:48,740 --> 00:40:52,390 meddwl bod y person sy'n berchen ar y tŷ mewn gwirionedd yn yr un 572 00:40:52,390 --> 00:40:56,090 mynd allan yno ac yn lawrlwytho pethau na ddylent fod yn wir. 573 00:40:56,090 --> 00:41:00,730 Ar ôl heb ei amgryptio wi-fi nid yn bendant yn rhywbeth rydych am ei wneud, 574 00:41:00,730 --> 00:41:06,340 os mai dim ond i ni gael yr FBI yn dod curo ar eich drws. 575 00:41:06,340 --> 00:41:09,910 >> Rheswm arall pam y guys ddrwg wrth eu bodd wi-fi 576 00:41:09,910 --> 00:41:13,870 yw'r rheswm y mae David yn siarad amdanynt yn gynharach yn ystod yr egwyl. 577 00:41:13,870 --> 00:41:17,240 Oherwydd ei fod yn cyfathrebu radio wrth ei wraidd, 578 00:41:17,240 --> 00:41:22,460 os ydych yn gwybod y sianel, gallwch wrando ar yr orsaf radio. 579 00:41:22,460 --> 00:41:31,870 Er enghraifft, os oes hawl drwg yno yn eistedd yn y canol dde nesaf at y pwynt mynediad, 580 00:41:31,870 --> 00:41:36,830 dde nesaf at y llwybrydd diwifr, gall y dyn drwg gwrando ar yr holl draffig di-wifr 581 00:41:36,830 --> 00:41:40,240 sydd wedi dod o bob un o'r rhai cyfrifiaduron. 582 00:41:40,240 --> 00:41:44,590 Mewn gwirionedd, mae'r rhain yn guys - mae'r rhain yn rhai lwcus sydd yma yn y rheng flaen - 583 00:41:44,590 --> 00:41:47,610 oherwydd eu bod yn super-agos i bob un o'r llwybryddion di-wifr 584 00:41:47,610 --> 00:41:49,950 sy'n eistedd yn union o dan y llwyfan, 585 00:41:49,950 --> 00:41:53,780 byddent yn gallu clywed traffig pawb yn yr ystafell gyfan 586 00:41:53,780 --> 00:41:59,480 os ydych chi'n cysylltu â wi-fi a dechrau pori drwy'r pwyntiau mynediad. 587 00:41:59,480 --> 00:42:03,740 Dyw hi ddim yn anodd iawn i eistedd eich hun mewn sefyllfa dda i arogli a chyfrif i maes 588 00:42:03,740 --> 00:42:07,030 beth mae pobl eraill yn ei wneud. 589 00:42:07,030 --> 00:42:10,830 Mae'n rhywbeth i gadw mewn cof, yn enwedig os nad ydych yn siŵr o ble y pwynt mynediad yn, 590 00:42:10,830 --> 00:42:15,010 ac rydych yn pori ddweud, mewn Starbucks. 591 00:42:15,010 --> 00:42:17,360 >> Mae'n troi allan bod arogli a hynny i gyd 592 00:42:17,360 --> 00:42:19,440 yn ddim wir bob un sy'n anodd i'w wneud. 593 00:42:19,440 --> 00:42:25,430 Mae 'na raglen o'r enw tcpdump sy'n gollwng pob math o TCP traffig 594 00:42:25,430 --> 00:42:29,910 a allwch chi redeg yn eithaf syml - yn union fel y gwneuthum y bore. 595 00:42:29,910 --> 00:42:32,810 Dyma ychydig o daflu i lawr, a dyma rai o'r traffig a oedd yn dod dros 596 00:42:32,810 --> 00:42:34,960 fy rhwydwaith ar y pryd. 597 00:42:34,960 --> 00:42:41,500 Gallwch weld - os ydych yn llygad croes galed iawn - mae 'na ychydig o Spotify i mewn' na. 598 00:42:41,500 --> 00:42:44,050 Ar ben tcpdump - oherwydd mae hwn yn fath o boen i'w ddefnyddio - 599 00:42:44,050 --> 00:42:48,860 mae 'na raglen o'r enw Wireshark sy'n bwndeli hyn i gyd i fyny mewn GUI' n glws. 600 00:42:48,860 --> 00:42:51,970 Wireshark yn super-law, felly os ydych yn mynd ymlaen i gymryd dosbarthiadau rhwydweithio, 601 00:42:51,970 --> 00:42:56,780 hwn yn offeryn y byddwch yn dod i garu gan ei fod yn eich helpu i ddyrannu pob un o'r pecynnau 602 00:42:56,780 --> 00:42:59,400 sy'n arnofio o gwmpas i maes 'na. 603 00:42:59,400 --> 00:43:01,810 Ond gall hefyd gael ei ddefnyddio ar gyfer drwg. 604 00:43:01,810 --> 00:43:05,810 Mae'n syml iawn i ddim ond llwytho i lawr y rhaglen hon, lesewch i fyny, 605 00:43:05,810 --> 00:43:09,300 dechrau cipio rhwydwaith, a gweld popeth sy'n mynd ymlaen - 606 00:43:09,300 --> 00:43:14,130 ac yn hidlo ac yn gwneud pob math o bethau hwyl ag ef. 607 00:43:14,130 --> 00:43:17,930 >> Y peth arall y gallwch ei wneud gyda cyfathrebu di-wifr 608 00:43:17,930 --> 00:43:25,380 yn cael ei nid dim ond i chi glustfeinio ond gallwch hefyd yn dysgu sut i sgriw gyda'r rhwydwaith 609 00:43:25,380 --> 00:43:31,020 a chwistrellu eich gwybodaeth eich hun i reoli profiad y mae pobl eraill 610 00:43:31,020 --> 00:43:35,140 ar y rhwydwaith di-wifr un yn ei gael. 611 00:43:35,140 --> 00:43:37,140 Gadewch i ni edrych ar hynny. 612 00:43:37,140 --> 00:43:40,700 Dyma Firesheep - yr ydym yn gwybod a chariad o wythnos diwethaf - 613 00:43:40,700 --> 00:43:43,590 sef bod dechnoleg clustfeinio. 614 00:43:43,590 --> 00:43:50,360 Os, er enghraifft, rydym yn awyddus i fynd ati i gael ein sêl dyn drwg a llanast o gwmpas gyda 615 00:43:50,360 --> 00:43:52,690 un o'r cyfrifiaduron, 616 00:43:52,690 --> 00:43:58,380 yn y senario hwn, rydym wedi cael cyfrifiadur yn ceisio i fynd syrffio i harvard.edu. 617 00:43:58,380 --> 00:44:04,690 Beth fydd yn digwydd yw, y cyfrifiadur cyntaf yn anfon neges at y llwybrydd di-wifr ac yn dweud, 618 00:44:04,690 --> 00:44:07,920 hey, Dw i eisiau mynd www.harvard.edu ymweliad. 619 00:44:07,920 --> 00:44:10,610 Dweud am ryw reswm y maent yn ceisio cael gwybodaeth am y gêm y penwythnos hwn. 620 00:44:10,610 --> 00:44:14,940 Guy gwael, gan ei fod yn eistedd i'r dde yn y canol, 621 00:44:14,940 --> 00:44:18,730 dde nesaf at y pwynt mynediad, yn gallu gweld bod cyfathrebu yn dod oddi wrth y cyfrifiadur 622 00:44:18,730 --> 00:44:26,170 i mewn i'r llwybrydd, ac mae'n gwybod, "Aha! Rhywun yn mynd i harvard.edu." (Evilly chwerthin) 623 00:44:26,170 --> 00:44:33,870 Mae mynd i fod yn y latency tra bod y cyfathrebu yn mynd oddi wrth y llwybrydd 624 00:44:33,870 --> 00:44:37,780 allan i'r Rhyngrwyd i fynd ddod o hyd i'r dudalen we ar harvard.edu-- 625 00:44:37,780 --> 00:44:42,020 yn union fel chi guys i gyd yn gwybod ar ôl gwneud eich psets PHP - 626 00:44:42,020 --> 00:44:45,680 ac felly y dyn drwg yn cael ychydig o amser, ychydig o ffenestr, 627 00:44:45,680 --> 00:44:49,410 lle y gall ymateb gyda rhai pethau. 628 00:44:49,410 --> 00:44:53,660 >> Lets 'ddeud y dyn drwg, wrth gwrs, yn Yaley. 629 00:44:53,660 --> 00:44:59,990 Mae'n ymateb gyda harvardsucks.org. Bw! 630 00:44:59,990 --> 00:45:02,300 Drwg, dyn drwg! Yaley drwg! 631 00:45:02,300 --> 00:45:06,020 Neu hyd yn oed yn waeth, gallai fod yn ymateb â hynny. [Http://youtu.be/ZSBq8geuJk0]. 632 00:45:06,020 --> 00:45:09,530 'N annhymerus' yn gadael i chi guys chyfrif i maes beth yw hynny. 633 00:45:09,530 --> 00:45:14,840 Hyn mewn gwirionedd yn dechnoleg o'r enw Airpwn! a oedd yn debuted yn 634 00:45:14,840 --> 00:45:18,950 un o'r cynadleddau diogelwch rai blynyddoedd yn ôl. 635 00:45:18,950 --> 00:45:25,190 Gyda Airpwn! eich bod yn gallu mewn gwirionedd yn chwistrellu traffig yn ôl i mewn i'r rhwydwaith. 636 00:45:25,190 --> 00:45:30,060 Mae'r cyfrifiaduron a oedd yn ceisio mynd allan i'r Rhyngrwyd ac yn ceisio mynd i'r 637 00:45:30,060 --> 00:45:33,090 Google.com, i Facebook.com, i harvard.edu 638 00:45:33,090 --> 00:45:39,190 gweld yr ymateb maleisus yn dod i mewn ac yn union cymryd yn ganiataol, iawn, 639 00:45:39,190 --> 00:45:43,550 dyna'r ymateb yr wyf yn aros am ac yn y diwedd gael cynnwys o 640 00:45:43,550 --> 00:45:48,860 harvardsucks.org neu nameyourfavoriteshocksite.com, 641 00:45:48,860 --> 00:45:55,270 a gallwch weld pa mor gyflym y bydd pethau'n dirywio. 642 00:45:55,270 --> 00:46:00,190 >> Ni all pob un o'r mathau hyn o bethau gael eu gwneud 643 00:46:00,190 --> 00:46:05,870 â'r cysylltiadau gwifrau oherwydd gyda chysylltiad gwifrau 644 00:46:05,870 --> 00:46:08,710 mae'n anodd i fusnesu i draffig. 645 00:46:08,710 --> 00:46:13,020 Os ydw i'n ddyn drwg, ac ar un pen yw eich cyfrifiadur 646 00:46:13,020 --> 00:46:14,460 ac ar y pen arall yw eich llwybrydd - eich modem - 647 00:46:14,460 --> 00:46:20,180 yr unig ffordd y gallaf fynd i mewn rhwng y cysylltiad yw mewn gwirionedd yn sbleis fy nghyfrifiadur 648 00:46:20,180 --> 00:46:22,180 yn rhywle yn y canol 649 00:46:22,180 --> 00:46:26,820 neu wneud rhywbeth arall gyda'r llwybrydd, i lawr yr afon rhywbeth. 650 00:46:26,820 --> 00:46:33,360 Ond gyda di-wifr, gall fod mor hawdd â eistedd yn y rhes flaen o ystafell ddosbarth, 651 00:46:33,360 --> 00:46:38,200 a gallwch wneud pob math o bethau cas i bobl yn y cefn. 652 00:46:38,200 --> 00:46:41,570 >> Gadewch i ni siarad am sut y gallwch amddiffyn yn erbyn rhai o'r pethau hyn. 653 00:46:41,570 --> 00:46:46,860 Mae'r bobl a ddatblygodd y safonau di-wifr - yr 802.11 - 654 00:46:46,860 --> 00:46:50,820 nad ydynt yn bobl fud gan unrhyw darn o'r dychymyg. 655 00:46:50,820 --> 00:46:56,110 Mae hyn yn dechnoleg oer a phan fydd yn debuted yn 1999, 656 00:46:56,110 --> 00:47:00,780 maent yn dod allan gyda safon hon a elwir yn WEP. 657 00:47:00,780 --> 00:47:03,360 Gallwch weld yma pan fyddwch yn ceisio ymuno â rhwydwaith di-wifr, 658 00:47:03,360 --> 00:47:07,450 gennych yr holl math o ddewisiadau diogelwch gwahanol. 659 00:47:07,450 --> 00:47:11,800 Dyna fath o boen oherwydd mae 6 i gyd gyda'i gilydd 660 00:47:11,800 --> 00:47:14,790 byth ac mae wir yn gwneud synnwyr sydd 1 i ymuno. 661 00:47:14,790 --> 00:47:19,190 Mae hyn yn 1 ar y brig yw'r un cyntaf y daethant i fyny gyda enw WEP. 662 00:47:19,190 --> 00:47:27,960 WEP yn sefyll am Wired Preifatrwydd Cyfwerth, yr wyf yn credu, 663 00:47:27,960 --> 00:47:31,730 Nid yw Protocol Encryption Wireless sydd yn gamarweiniol cyffredin. 664 00:47:31,730 --> 00:47:36,170 Oherwydd ei fod yn ceisio rhoi i chi sy'n cyfateb preifatrwydd a diogelwch diogelwch 665 00:47:36,170 --> 00:47:40,590 sy'n cyfateb i un rhwydwaith gwifrau 666 00:47:40,590 --> 00:47:46,710 Gyda WEP beth dod i ben i fyny yn digwydd yw, 667 00:47:46,710 --> 00:47:52,300 gennych syml, ychydig cyfrinair eich bod yn teipio i mewn ac sy'n gwasanaethu i amgryptio 668 00:47:52,300 --> 00:47:56,210 eich holl gyfathrebu rhwng eich cyfrifiadur a'ch llwybrydd. 669 00:47:56,210 --> 00:47:58,210 >> Beth yw'r broblem gyda WEP er bod? 670 00:47:58,210 --> 00:48:01,470 Mae'r cyfrinair gyda WEP yn brin iawn, 671 00:48:01,470 --> 00:48:04,900 a hefyd pawb yn defnyddio cyfrinair union yr un, 672 00:48:04,900 --> 00:48:07,610  ac felly mae'n hawdd iawn i dadgryptio. 673 00:48:07,610 --> 00:48:10,580 Felly, yn gyflym iawn o bobl cyfrifedig allan bod WEP yn broblem, 674 00:48:10,580 --> 00:48:16,100 a'r unig reswm i chi ei weld yn dal i arddangos i fyny ar y dyn bach yw - 675 00:48:16,100 --> 00:48:18,890 mae rhai systemau hŷn ydynt yn defnyddio WEP - 676 00:48:18,890 --> 00:48:25,710 beth ddylech chi yn hytrach na fod yn chwilio am yn CPB a hyd yn oed WPA2 safonau 677 00:48:25,710 --> 00:48:29,130 a gafodd eu rhyddhau yn ddiweddarach. 678 00:48:29,130 --> 00:48:35,040 Mae'r systemau hyn yn cynnig llawer gwell at warchod ar y Rhyngrwyd di-wifr. 679 00:48:35,040 --> 00:48:41,090 Wedi dweud hynny, maent yn dal yn cael rhywfaint o hackability. 680 00:48:41,090 --> 00:48:44,010 Mae offer ar gael a all fynd i wneud hyn. 681 00:48:44,010 --> 00:48:47,490 Un peth yn arbennig a all fod yn annifyr yw bod 682 00:48:47,490 --> 00:48:55,370 os ydych yn cysylltu a'i ddilysu i llwybrydd di-wifr ac yn defnyddio rhyw fath o 683 00:48:55,370 --> 00:49:00,940 cyfathrebu wedi'i amgryptio, mae'n troi allan y gall haciwr yn hawdd anfon pecyn unigol 684 00:49:00,940 --> 00:49:03,990 eich datgysylltu oddi wrth y llwybrydd, 685 00:49:03,990 --> 00:49:07,220 ac unwaith maen nhw wedi datgysylltu eich gallant wrando mewn - 686 00:49:07,220 --> 00:49:11,800 gallant arogli y pecynnau wrth i chi geisio ail-sefydlu cysylltiad â'ch llwybrydd. 687 00:49:11,800 --> 00:49:16,800 A chyda y wybodaeth honno gallant wedyn fynd i mewn a dadgryptio weddill eich cyfathrebu. 688 00:49:16,800 --> 00:49:24,580 Nid yw hyn yn unrhyw golygu unrhyw fath o ddiogel tu hwnt i bob dychymyg. 689 00:49:24,580 --> 00:49:30,060 >> Y peth arall y gallwch ei wneud pan fyddwch yn sefydlu rhwydweithiau di-wifr 690 00:49:30,060 --> 00:49:35,460 neu os ydych yn ymuno â hwy yw - byddwch yn sylwi bod yma pan dwi'n ymuno â'r rhwydwaith, 691 00:49:35,460 --> 00:49:37,640 mae'n gofyn am enw fy rhwydwaith. 692 00:49:37,640 --> 00:49:41,060 Mae hyn yn ei adnabod hefyd fel y SSID. 693 00:49:41,060 --> 00:49:48,610 A ydych yn gweld yma ar y dde mae gennyf flwch sy'n dangos 'm' r SSIDs sydd ar gael. 694 00:49:48,610 --> 00:49:52,690 Mae Prifysgol Harvard, a CS50, CS50 a rhwydwaith Staff. 695 00:49:52,690 --> 00:49:59,180 Yn awr, faint ohonoch yn gwybod roedd CS50 rwydwaith Staff o gwmpas? 696 00:49:59,180 --> 00:50:01,910 Mae rhai ohonoch. Nid yw pob un ohonoch. 697 00:50:01,910 --> 00:50:08,800 Y broblem gyda hyn, wrth gwrs, yw nad oedd gennym roi hyn i fyny ar ein rhestr o SSIDs, 698 00:50:08,800 --> 00:50:10,930 fyddai neb wedi gwybod am y peth fwyaf tebygol. 699 00:50:10,930 --> 00:50:16,090 Rwy'n gobeithio. Oni bai eich bod guys i gyd yn ceisio i fynd i'r afael yn ein di-wifr. 700 00:50:16,090 --> 00:50:18,700 Ond mae hyn yn rhywbeth y gallwch ei wneud sy'n bwysig iawn pan fyddwch yn sefydlu 701 00:50:18,700 --> 00:50:20,280 llwybrydd yn y cartref. 702 00:50:20,280 --> 00:50:22,820 Mae hyn yn debyg na fydd yn digwydd am rai blynyddoedd am lawer ohonoch, 703 00:50:22,820 --> 00:50:29,010 ond yn cadw mewn cof bod gadw'r SSID allan o yno, ac nid hefyd yn enwi ei 704 00:50:29,010 --> 00:50:34,630 Bydd rhywbeth super-cyffredin yn helpu cadw chi'n fwy diogel yn y tymor hir. 705 00:50:34,630 --> 00:50:38,070 >> Mae cwpl olaf o bethau y gallwch ei wneud. Mae un yn HTTPS. 706 00:50:38,070 --> 00:50:44,760 Os ydych mewn Starbucks, os ydych mewn gyhoeddus wi-fi ardal 707 00:50:44,760 --> 00:50:52,620 ac rydych yn penderfynu i gael mynediad i'ch cyfrif banc, gweld eich Gmail, eich Facebook, 708 00:50:52,620 --> 00:50:56,140 gwneud yn siŵr bod y cysylltiadau yn mynd dros HTTPS. 709 00:50:56,140 --> 00:50:59,800 Mae'n haen ychwanegol o ddiogelwch, haen ychwanegol o amgryptio. 710 00:50:59,800 --> 00:51:01,520 Yr un peth i gadw mewn golwg yma yw, 711 00:51:01,520 --> 00:51:04,740 faint yr ydych wedi clicio erioed drwy'r mawr, sgrin coch sy'n dweud, 712 00:51:04,740 --> 00:51:07,480 "Gallai hyn wefan fod yn ddrwg." 713 00:51:07,480 --> 00:51:09,710 Rwy'n gwybod fy mod wedi. 714 00:51:09,710 --> 00:51:13,090 Mae'n fwy na thebyg pan eich bod i gyd yn pori i fynd weld Homeland neu rywbeth fel 'na, dde? 715 00:51:13,090 --> 00:51:19,900 Yeah. (Chwerthin cynulleidfa) Yeah. Dyna chi. Rydym yn gwybod pwy sy'n gwylio Homeland. 716 00:51:19,900 --> 00:51:24,540 Mae hynny'n fawr, sgrîn coch iawn yno 717 00:51:24,540 --> 00:51:28,600 yn aml yn dangos bod ffynci rhywbeth yn mynd ymlaen. 718 00:51:28,600 --> 00:51:32,530 Weithiau dim ond y wefan ei hun yn ansicr, 719 00:51:32,530 --> 00:51:35,520 ond bod yr un mawr, sgrin goch yn dod i fyny pan fydd pobl yn ceisio 720 00:51:35,520 --> 00:51:37,520 mynydd rhwydwaith ymosod arnoch chi. 721 00:51:37,520 --> 00:51:40,220 Felly, os ydych yn gweld bod fawr, sgrin coch yn dod i fyny ar Starbucks, 722 00:51:40,220 --> 00:51:42,440 peidiwch â chlicio drwyddo. 723 00:51:42,440 --> 00:51:45,350 Newyddion drwg. Newyddion drwg yn dwyn. 724 00:51:45,350 --> 00:51:51,490 >> Y peth olaf y gallwch edrych ar 725 00:51:51,490 --> 00:51:54,120 yn rhyw fath o VPN. 726 00:51:54,120 --> 00:52:00,280 Mae'r VPN ar gael drwy Harvard - vpn.fas.harvard.edu-- 727 00:52:00,280 --> 00:52:03,260 a beth mae hyn yn ei wneud yn mewn gwirionedd yn sefydlu cysylltiad diogel 728 00:52:03,260 --> 00:52:06,460 rhyngoch chi a Harvard, twmffatiau eich traffig drwyddo, 729 00:52:06,460 --> 00:52:12,160 a bod y ffordd os ydych yn eistedd mewn man fel Starbucks 730 00:52:12,160 --> 00:52:19,030 gallwch gysylltu â Harvard, yn cael y traffig yn ddiogel, a 'na bori o Harvard. 731 00:52:19,030 --> 00:52:21,950 Nid Eto, foolproof. Gall pobl gael yn y canol. 732 00:52:21,950 --> 00:52:25,850 Gallant ddechrau i dorri, ond mae hyn yn llawer mwy diogel na dibynnu ar y diogelwch 733 00:52:25,850 --> 00:52:28,620 o ei ben ei hun wi-fi. 734 00:52:28,620 --> 00:52:32,570 >> Mae pob hawl. Yn y swm, 735 00:52:32,570 --> 00:52:34,580 pan fyddwch yn sefydlu rhwydweithiau di-wifr, 736 00:52:34,580 --> 00:52:37,250 pan fyddwch yn mynd allan i ddefnyddio di-wifr yn gyhoeddus - 737 00:52:37,250 --> 00:52:43,430 p'un a yw'n Starbucks, p'un a yw'n Pum Guys, boed yn B.Good, 738 00:52:43,430 --> 00:52:46,440 rhywbeth fel 'na - ble bynnag y maent yn cael wi-fi - 739 00:52:46,440 --> 00:52:48,440 fod yn ymwybodol o'r hyn sydd o'ch cwmpas. 740 00:52:48,440 --> 00:52:50,440 Byddwch yn ymwybodol o'r hyn y gall pobl ei wneud. 741 00:52:50,440 --> 00:52:53,890 A bod yn ddiogel. Peidiwch â gael mynediad i'ch cyfrif banc. 742 00:52:53,890 --> 00:52:58,740 Gallai fod yn anghwrtais ddeffroad os bydd rhywun yn dangos i fyny gyda eich cyfrinair yn nes ymlaen. 743 00:52:58,740 --> 00:53:05,480 Gyda hynny, ewch rhuddgoch! Ac yr wyf i'n mynd i droi pethau yn ôl drosodd i David am air terfynol. 744 00:53:05,480 --> 00:53:11,270 (Cymeradwyaeth) 745 00:53:11,270 --> 00:53:14,360 >> [David] Rwy'n meddwl y byddwn i'n rhannu un peth o brofiad personol. 746 00:53:14,360 --> 00:53:19,940 Mae offeryn efallai yr hoffech i chwarae gyda - er bod Apple wedi dileu i raddau helaeth y mater hwn 747 00:53:19,940 --> 00:53:22,710 os ydych chi wedi diweddaru eich meddalwedd ers hynny - 748 00:53:22,710 --> 00:53:26,670 ond tuag at y diwedd ddim wir yn gallu ymddiried yn feddalwedd a ddefnyddiwn, 749 00:53:26,670 --> 00:53:33,270 ac i Nate bwyntiau, y gallu i arogli cryn dipyn o beth mae pobl eraill yn ei wneud 750 00:53:33,270 --> 00:53:37,010 allan yno - roedd hwn yn ddarn o feddalwedd sy'n dod i wybod am y flwyddyn yn ôl-a-a-hanner. 751 00:53:37,010 --> 00:53:39,010 [IPhoneTracker] [http://petewarden.github.com/iPhoneTracker/] 752 00:53:39,010 --> 00:53:41,010 Ers peth amser, iTunes - cyn iCloud, pan oeddech yn syncing eich iPods neu eich iPhones neu 753 00:53:41,010 --> 00:53:45,570 neu eich iPads gyda iTunes - er budd backups, 754 00:53:45,570 --> 00:53:48,340 beth yw eich iPhone a dyfeisiau hyn eraill wedi bod yn ei wneud ers peth amser yn 755 00:53:48,340 --> 00:53:50,340 gwneud defnydd o ddata GPS. 756 00:53:50,340 --> 00:53:52,710 >> Rydych chi i gyd yn gwybod efallai bod eich iPhones a Androids a Windows ffonau symudol 757 00:53:52,710 --> 00:53:55,410 a gall y dyddiau fel y rhain olrhain ble rydych chi yn y diddordeb i ddangos i chi fapiau 758 00:53:55,410 --> 00:53:59,440 ac yn debyg - wel beth Apple ac mae'r rhain yn gwmnïau eraill ei wneud yw 759 00:53:59,440 --> 00:54:02,650 maent fel arfer yn olrhain bron ym mhobman i chi wedi bod mewn gwirionedd yn y budd 760 00:54:02,650 --> 00:54:05,380 gwella ansawdd y gwasanaeth. 761 00:54:05,380 --> 00:54:07,170 Un, gallwch gael mwy o hysbysebion wedi'u targedu ac yn y blaen, 762 00:54:07,170 --> 00:54:10,740 ond dau, gallant hefyd chyfrif i maes ble mae yna fannau poeth di-wifr yn y byd, 763 00:54:10,740 --> 00:54:14,780 a gall hyn helpu gyda-leoliad geo - fath o driongli o sefyllfa pobl. 764 00:54:14,780 --> 00:54:18,520 >> Stori fer hir, mae pob un ohonom wedi bod yn cerdded antena ar gyfer rhai swm o amser. 765 00:54:18,520 --> 00:54:22,180 Yn anffodus, Apple wedi gwneud y penderfyniad dylunio - neu ddiffyg yn hynny - 766 00:54:22,180 --> 00:54:26,590 i beidio â amgryptio'r wybodaeth pan oedd yn cael ei wrth gefn gael i iTunes. 767 00:54:26,590 --> 00:54:30,330 A beth yr ymchwilydd diogelwch dod o hyd oedd bod hyn yn dim ond ffeil XML enfawr - 768 00:54:30,330 --> 00:54:33,810 ffeil testun enfawr - eistedd mewn iTunes pobl meddalwedd, 769 00:54:33,810 --> 00:54:35,400 ac os ydych yn unig oedd ychydig yn rhyfedd, 770 00:54:35,400 --> 00:54:38,990 gallech fynd procio o gwmpas hanes eich priod, hanes eich roommate, yn 771 00:54:38,990 --> 00:54:41,050 hanes eich brawd neu chwaer ac yn y blaen, 772 00:54:41,050 --> 00:54:44,590 a diolch i rai meddalwedd am ddim, gallech plotio pob un o'r rhain cyfesurynnau GPS - 773 00:54:44,590 --> 00:54:46,590 lledred a hydred. 774 00:54:46,590 --> 00:54:48,590 >> Felly, yr wyf mewn gwirionedd yn gwneud hyn gyda fy ffôn ei hun. 775 00:54:48,590 --> 00:54:51,210 I blygio yn fy ffôn, ac yn sicr ddigon, nid yw fy fersiwn o iTunes ei hamgryptio ar y pryd, 776 00:54:51,210 --> 00:54:53,900 a beth oeddwn yn gallu eu gweld yn fy patrymau eu hunain. 777 00:54:53,900 --> 00:54:56,970 Dyma yr Unol Daleithiau ac mae pob un o'r cylchoedd glas yn cynrychioli 778 00:54:56,970 --> 00:55:01,670 lle yr wyf yn digwydd i wedi bod dros y misoedd blaenorol o fod yn berchen y ffôn penodol. 779 00:55:01,670 --> 00:55:04,940  Rwy'n treulio llawer o amser, wrth gwrs, i fyny yn y gogledd-ddwyrain, ychydig o amser yng Nghaliffornia, 780 00:55:04,940 --> 00:55:08,690 taith byrhoedlog i Texas, ac os ydych wedyn yn chwyddo i mewn ar hyn - 781 00:55:08,690 --> 00:55:11,120 hyn i gyd math o ddirwy a diddorol, ond yr wyf yn gwybod hyn. 782 00:55:11,120 --> 00:55:13,890 Mae'r rhan fwyaf o fy ffrindiau yn gwybod hyn, ond os ydych yn plymio yn ddyfnach, 783 00:55:13,890 --> 00:55:17,090 byddwch yn gweld lle rwy'n treulio'r rhan fwyaf o fy amser yn y Gogledd-ddwyrain. 784 00:55:17,090 --> 00:55:20,330 Os ydych yn grybwyll ar rai trefi cyfarwydd sy'n edrych - 785 00:55:20,330 --> 00:55:24,670 hyn yn fawr, splotch inc glas wedi ei ganoli bob pwrpas, dros Boston, 786 00:55:24,670 --> 00:55:29,510 ac yna yr wyf yn treulio ychydig o amser allan yn y maestrefi pelydru allan o Boston. 787 00:55:29,510 --> 00:55:32,780 Ond yr wyf hefyd yn gwneud cryn dipyn o ymgynghori y flwyddyn honno. 788 00:55:32,780 --> 00:55:36,090 Ac eleni yw'r arfordir dwyreiniol, a alli 'n weithredol fy ngweld 789 00:55:36,090 --> 00:55:41,920 ac mae fy iPhone yn fy mhoced teithio yn ôl ac ymlaen rhwng Boston ac Efrog Newydd 790 00:55:41,920 --> 00:55:47,510 a Philadelphia ymhellach i lawr, yn ogystal â threulio ychydig o amser yn ystod y gwyliau 791 00:55:47,510 --> 00:55:50,340 ar y Cape, sef y gangen fach i maes 'na. 792 00:55:50,340 --> 00:55:53,030 Felly, mae pob un o'r dotiau yn cynrychioli rhai lle yr wyf wedi bod, 793 00:55:53,030 --> 00:55:56,970 ac yn hollol unbeknownst i mi, mae hyn yn hanes cyfan yn unig oedd yn eistedd yno 794 00:55:56,970 --> 00:55:58,410 ar fy nghyfrifiadur n ben-desg. 795 00:55:58,410 --> 00:56:00,470 Os ydych yn chwyddo allan - mae hyn mewn gwirionedd ychydig yn poeni. 796 00:56:00,470 --> 00:56:04,190 Doedd gen i ddim yn cofio erioed wedi bod yn Pennsylvania y flwyddyn benodol. 797 00:56:04,190 --> 00:56:07,840 Ond yr wyf yn bod ychydig yn galetach am y peth ac rwy'n cyfrifedig allan, oh, yr oedd mewn gwirionedd y daith 798 00:56:07,840 --> 00:56:11,160 ac yn sicr ddigon, fy ffôn wedi dal i mi. 799 00:56:11,160 --> 00:56:14,180 >> Apple wedi ei amgryptio gan fod y wybodaeth, 800 00:56:14,180 --> 00:56:17,380 ond mae hyn hefyd yn unig dyst i faint o wybodaeth sy'n cael ei chasglu amdanom ni, 801 00:56:17,380 --> 00:56:20,850 a pha mor hawdd - er gwell neu er gwaeth - mae'n dderbyniol. 802 00:56:20,850 --> 00:56:23,340 Un o'r siopau cludfwyd, gobeithio, o Rob sgwrs, o Nate sgwrs 803 00:56:23,340 --> 00:56:27,370 a delweddau bach fel hyn heddiw yn unig i fod yn holl ymwybodol mwy o hyn 804 00:56:27,370 --> 00:56:31,160 felly hyd yn oed er bod - fel i Rob bwynt - math we're o sgriwio, dde? 805 00:56:31,160 --> 00:56:33,920 Nid oes llawer y gallwn ei wneud pan ddaw i rai o'r bygythiadau hyn, 806 00:56:33,920 --> 00:56:37,130 ond ar ddiwedd y dydd mae'n rhaid i ni ymddiried yn rhywbeth neu rywun 807 00:56:37,130 --> 00:56:38,510 os ydym am i'w ddefnyddio mewn gwirionedd technolegau hyn. 808 00:56:38,510 --> 00:56:43,150 O leiaf gallwn fod yn gwneud penderfyniadau gwybodus a phenderfyniadau cyfrifo p'un a yw 809 00:56:43,150 --> 00:56:46,390 ddylai mewn gwirionedd fod yn gwirio y cyfrif hwn yn arbennig o sensitif 810 00:56:46,390 --> 00:56:49,330 neu a ddylem mewn gwirionedd yn anfon bod ychydig yn amau ​​neges chwim 811 00:56:49,330 --> 00:56:52,180  mewn amgylchedd wi-fi fel hyn. 812 00:56:52,180 --> 00:56:54,990 >> Felly, gyda dweud hynny, dim ond un olion cwis, un ddarlith yn parhau. 813 00:56:54,990 --> 00:56:57,740 Byddwn yn eich gweld ar ddydd Mercher, yna ddydd Llun. 814 00:56:57,740 --> 00:57:02,100 (Gymeradwyaeth a bonllefau) 815 00:57:02,100 --> 00:57:06,100 [CS50TV]