1 00:00:00,000 --> 00:00:02,750 [Powered by Google Translate] [Həftə 10] 2 00:00:02,750 --> 00:00:04,750 [David J. Malan] [Harvard Universiteti] 3 00:00:04,750 --> 00:00:07,000 [Bu CS50 edir.] [CS50.TV] 4 00:00:08,520 --> 00:00:13,240 >> Bütün hüquqlar! Bu çox daha CS50 lakin deyil. 5 00:00:13,240 --> 00:00:14,740 Bu həftə 10-başlanğıc. 6 00:00:14,740 --> 00:00:18,780 Çərşənbə günü biz bəzi bayram tort var növbəti Bazar ertəsi sonra viktorina, həmçinin 7 00:00:18,780 --> 00:00:22,030 biz həftə sıfır geri tam dairə bütün yol gəlib. kimi 8 00:00:22,030 --> 00:00:25,200 Bu gün biz sevimli mövzularından biri haqqında danışmaq, həqiqəti izah - 9 00:00:25,200 --> 00:00:29,000 təhlükəsizlik və gizlilik və avadanlıq və proqram təminatı bütün nəticələrini ki, 10 00:00:29,000 --> 00:00:31,000 biz bütün bu gün istifadə edir. 11 00:00:31,000 --> 00:00:33,300 Vicdanlı olmaq üçün, orada təhdidləri var 12 00:00:33,300 --> 00:00:35,430 həqiqətən onlar haqqında düşünmək durduruldu əgər ki, 13 00:00:35,430 --> 00:00:36,920 onlar həqiqətən olduqca zor istəyirik. 14 00:00:36,920 --> 00:00:40,070 Point halda - siz əgər heç proqram bir parça nazil 15 00:00:40,070 --> 00:00:42,660 İnternet off və kompüter yüklü, 16 00:00:42,660 --> 00:00:45,220 sağ, inam əhəmiyyətli dərəcədə daxil məşğul olduğunuz? 17 00:00:45,220 --> 00:00:50,220 Bir şey yoxdur Skype, ya Chrome, və ya proqram hər hansı bir parça qarşısı edərək 18 00:00:50,220 --> 00:00:54,770 sadəcə sabit haqqında bütün faylları silmə dən bilgisayarınıza yükledikten; 19 00:00:54,770 --> 00:00:58,260 pis oğlan server üçün sabit faylları bütün yüklemeyin; 20 00:00:58,260 --> 00:01:01,650 Sizin e-poçt bütün oxu; sizin ani mesaj bütün intercepting edir. 21 00:01:01,650 --> 00:01:05,040 Reallıq ən müasir əməliyyat sistemi bu gün Çünki 22 00:01:05,040 --> 00:01:10,040 həqiqətən yüklemek proqram proqramları arasında bir divar çox yoxdur, 23 00:01:10,040 --> 00:01:14,220 və siz və mən olduqca çox bizim barmaqlarını keçid və iman alaraq yalnız nazik 24 00:01:14,220 --> 00:01:17,750 biz pulsuz yükləyə ki, app, və ya 99 sent edir ki, şey, 25 00:01:17,750 --> 00:01:20,140 əslində tamamilə zərərsiz deyil. 26 00:01:20,140 --> 00:01:23,090 Amma biz C vasitəsilə görünür, indi PHP və JavaScript etdiyiniz kimi, 27 00:01:23,090 --> 00:01:25,420 programatically özümüzü ifadə etmək üçün bu bacarığı ilə, 28 00:01:25,420 --> 00:01:30,300 sizə bir istifadəçi özü edə biləcək bir proqram ilə istədiyiniz ən bir şey edə bilərsiniz. 29 00:01:30,300 --> 00:01:32,390 >> Belə ki, bu gün biz bu mövzu diqqət - 30 00:01:32,390 --> 00:01:35,360 bəzi təhlükələr həm də müdafiə deyil, yalnız. 31 00:01:35,360 --> 00:01:37,540 Həqiqətən, ümumi təhlükəsizlik, dünyanın 32 00:01:37,540 --> 00:01:39,040 Bu pişik və siçan oyun növü var 33 00:01:39,040 --> 00:01:41,990 Mən pis uşaqlar demək olar ki, həmişə bir ayağı ola daresay. 34 00:01:41,990 --> 00:01:45,880 O öz şəxsi kompüter avadanlıq və proqram təminatı istifadə edərək gəldikdə, 35 00:01:45,880 --> 00:01:51,250 biz pis oğlan sadəcə sadə bir səhv tapmaq lazımdır ki, həyata var - 36 00:01:51,250 --> 00:01:56,150 biri səhv istifadə - biz yazdıq proqram bir parça və ya çalışan 37 00:01:56,150 --> 00:01:58,280 Onun üçün onun bizim bütün sistem üzərində etmək. 38 00:01:58,280 --> 00:02:02,870 Əksinə, biz - yaxşı uşaqlar - bu hataları bütün yama və düzeltmek lazımdır 39 00:02:02,870 --> 00:02:04,900 və bu zəif bütün çəkinin. 40 00:02:04,900 --> 00:02:07,870 Beləliklə, mən daresay ümumiyyətlə, pis uşaqlar üstünlüyü var. 41 00:02:07,870 --> 00:02:10,840 Bu və sonrakı siniflər kimi dərsləri haqqında həqiqətən nə 42 00:02:10,840 --> 00:02:14,830 haqqında necə bu pis uşaqlar ki, döyüşlərdə aparmaq üçün siz tədris deyil, 43 00:02:14,830 --> 00:02:18,220 amma özünüzü qorumaq üçün necə və ya ən azı necə hesablanır qərar qəbul etmək 44 00:02:18,220 --> 00:02:22,970 bəli, mən proqram bu parça, həqiqətən, mənim e-poçt hər bir oxuya bilər bilirik ki, 45 00:02:22,970 --> 00:02:27,040 bu digər tərəfdən mənə gətirir dəyər, çünki mən ki, iyiyim. 46 00:02:27,040 --> 00:02:31,060 >> Mən çox bilirəm akıllıca insanlar 2 qoşuldu üçün məmnunam - 47 00:02:31,060 --> 00:02:33,060 Rob Bowden və Nate Hardison. 48 00:02:33,060 --> 00:02:36,850 Rob təhlükəsizlik tags ən aşağı səviyyədə vasitəsilə bir tur üçün bizə etmək haqqında deyil - 49 00:02:36,850 --> 00:02:42,470 İndiyə qədər, biz bütün sevgi və etibar gəldiniz qədər olan compiler ki. Rob Bowden. 50 00:02:42,470 --> 00:02:47,790 [Alqış] 51 00:02:47,790 --> 00:02:50,280 >> [Rob] Bütün hüququ. David olduqca çox mənim bütün spiel etmişdir 52 00:02:50,280 --> 00:02:52,320 Mən təqdim etmək niyyətindədir, lakin ki - 53 00:02:52,320 --> 00:02:58,070 Bir neçə həftə əvvəl, bir bufer-daşqın hücum Məsələn gördüm 54 00:02:58,070 --> 00:03:01,900 proqram bəzi parça bir hacker Hacking nümunəsidir 55 00:03:01,900 --> 00:03:06,060 onlar Hacking nəzərdə deyil ki. 56 00:03:06,060 --> 00:03:09,690 Bunun digər tərəfi 57 00:03:09,690 --> 00:03:14,470 Əgər özü və zərərli olduğunu proqram bəzən edir. 58 00:03:14,470 --> 00:03:17,070 Hətta hücumu lazım deyil. 59 00:03:17,070 --> 00:03:20,670 Proqram yazmış şəxsin hack istəyir. 60 00:03:20,670 --> 00:03:22,190 >> Gəlin yalnız kodu daxil sağ Jump 61 00:03:22,190 --> 00:03:28,560 "login.c" bir göz edir. 62 00:03:28,560 --> 00:03:33,390 Burada, bir istifadəçi adı və şifrə birləşməsi doğrular bir silly proqram. 63 00:03:33,390 --> 00:03:39,420 Burada mütləq viktorina yenidən C rahat əldə edilməlidir. 64 00:03:39,420 --> 00:03:43,470 Birincisi, biz, istifadəçi adı və təsvir etmək üçün strings almaq istifadə 65 00:03:43,470 --> 00:03:46,280 sonra biz parol işğalçı almaq string istifadə etdiyiniz 66 00:03:46,280 --> 00:03:50,680 və biz yalnız bəzi cüzi çek var, istifadəçi adı "rob" nədir? 67 00:03:50,680 --> 00:03:52,710 Və "thisiscs50" Loqin edir? 68 00:03:52,710 --> 00:03:56,900 Və ya istifadəçi adı "tommy" və parol "i <3javascript" nədir? 69 00:03:56,900 --> 00:03:58,980 O hər halda, 70 00:03:58,980 --> 00:04:01,980  sonra biz yalnız "Uğur" çap olacaq, sonra biz imkanı var. 71 00:04:01,980 --> 00:04:07,690 Əks halda, biz, əlbəttə, sonra "etibarsız giriş" çap və olacaq 72 00:04:07,690 --> 00:04:11,120  eskiz strings malloc xatirəsinə ildən başlayaraq, biz pulsuz istifadəçi adı və parol. 73 00:04:11,120 --> 00:04:15,560 Bu, mənasız giriş proqramı 74 00:04:15,560 --> 00:04:18,110 və siz cihaz daxil olduqda düşünməyə əgər, 75 00:04:18,110 --> 00:04:22,350 bu olduqca oxşar - və ya hətta sizin kompüter üçün giriş - 76 00:04:22,350 --> 00:04:24,930 erişim verir bəzi giriş proqram yalnız var. 77 00:04:24,930 --> 00:04:31,840 Burada ağır kodlu 'rob', 'thisiscs50', 'tommy', 'i <3javascript' üçün baş 78 00:04:31,840 --> 00:04:34,950 lakin yəqin ki, bir faylı əməliyyat sistemi yerdə var 79 00:04:34,950 --> 00:04:38,690 olan sisteminə daxil olan istifadəçi bir siyahısı var 80 00:04:38,690 --> 00:04:41,740 və həmin istifadəçi adı ilə bağlı parol siyahısı. 81 00:04:41,740 --> 00:04:46,090 Adətən parol yalnız bu kimi düz metin saxlanılır deyil. 82 00:04:46,090 --> 00:04:50,360 Yoxdur şifreleme bir növ, lakin bu bizim məsələn edəcəyik. 83 00:04:50,360 --> 00:04:57,000 >> Bizim compiler üzərində Coming - 84 00:04:57,020 --> 00:05:00,780 çox sadə olacaq. 85 00:05:00,780 --> 00:05:04,800 Biz tərtib etmək istəyirəm ki, ən azı bir fayl, qeyd etmək lazımdır 86 00:05:04,800 --> 00:05:10,200 və sonra burada - bu sətirləri 87 00:05:10,200 --> 00:05:12,520 yalnız bir fayl oxuyur. 88 00:05:12,520 --> 00:05:16,080 Bu, böyük bir tampon daxil bütün fayl oxuyur 89 00:05:16,080 --> 00:05:19,000 və sonra biz kimi həmişə bufer null-xitam 90 00:05:19,000 --> 00:05:21,000 və nəhayət biz yalnız fayl tərtib edir. 91 00:05:21,000 --> 00:05:24,090 Biz tərtib həqiqətən həyata necə baxmaq fikrində deyilik 92 00:05:24,090 --> 00:05:26,820 lakin bir işarə kimi, yalnız cingilti çağırır. 93 00:05:26,820 --> 00:05:32,370 Biz yerinə cingilti şeyi tərtib etmək bu proqramı istifadə etmək olacaq. 94 00:05:32,370 --> 00:05:39,260 Biz başlamaq bir problem biz, biz compiler tərtib etmək istəyirik bax 95 00:05:39,260 --> 00:05:43,620 lakin biz cingilti istifadə etmək fikrində deyilik əgər mən ilə tərtib gedirəm nə bilmirəm. 96 00:05:43,620 --> 00:05:46,700 Bu bootstrapping kimi tanınan ümumi məsələdir. 97 00:05:46,700 --> 00:05:53,080 Belə ki, bu dəfə mən compiler tərtib cingilti istifadə gedirəm. 98 00:05:53,080 --> 00:05:58,800 >> Siz GCC və cingilti hesab varsa - 99 00:05:58,800 --> 00:06:03,200 həmin proqramların, o derleyiciler daim yenilənir olunur 100 00:06:03,200 --> 00:06:10,010 və bu derleyiciler GCC və cingilti istifadə tərtib olunur. 101 00:06:10,010 --> 00:06:14,890 Zınqıltı yalnız bir böyük C və ya C + + proqram edir 102 00:06:14,890 --> 00:06:19,510 derleyiciyi onlar cingilti ki, tərtib etmək üçün istifadə edin. 103 00:06:19,510 --> 00:06:26,820 Burada indi biz yalnız bizim compiler tərtib etmək bizim compiler istifadə edir, 104 00:06:26,820 --> 00:06:33,830 və hətta demək olar - '/ compiler.', 'compiler.c', 'compile.c ","-o compiler. 105 00:06:33,830 --> 00:06:37,250 Bu əvvəl qaçdı dəqiq əmr edir bildirək - 106 00:06:37,250 --> 00:06:41,330 yalnız '. / compiler ilə cingilti dəyişin. 107 00:06:41,330 --> 00:06:44,990 İndi biz bir compiler var, lakin eyni deyil. 108 00:06:44,990 --> 00:06:47,510 Bu yalnız cingilti çağırır. 109 00:06:47,510 --> 00:06:55,050 >> Biz giriş proqramı tərtib etmək bizim compiler istifadə olacaq. 110 00:06:55,050 --> 00:07:03,030 Okay - ". / Compiler login.c-o giriş". 111 00:07:03,030 --> 00:07:06,160 Belə ki, "GetString" üçün müəyyən arayış. 112 00:07:06,160 --> 00:07:11,250 Bir "lcs50" var. Okay. 113 00:07:11,250 --> 00:07:13,790 Belə ki, indi bizim giriş proqram var. 114 00:07:13,790 --> 00:07:16,790 Bu Running - almaq "istifadəçi adınızı daxil edin." 115 00:07:16,790 --> 00:07:22,140 Məsələn rob idi. Parolu daxil edin - thisiscs50. 116 00:07:22,140 --> 00:07:24,930 Və uğurlar! Mən daxil ola bilərlər. 117 00:07:24,930 --> 00:07:28,350 Daha Running və bəzi yalnış parol daxil - 118 00:07:28,350 --> 00:07:30,350 və ya etibarsız adınızı və şifrənizi - 119 00:07:30,350 --> 00:07:32,860 giriş etibarsız. 120 00:07:32,860 --> 00:07:37,740 Okay. Bu günə qədər haqqında maraqlı heç bir şey. 121 00:07:37,740 --> 00:07:43,100 Amma nin yenidən giriş nəzər edək - 122 00:07:43,100 --> 00:07:47,850 və bu, bir qədər əhəmiyyətsiz misal olacaq 123 00:07:47,850 --> 00:07:59,330 lakin başqa əgər ((strcmp (istifadəçi adı "hacker") == 0 && isə burada bir başqa əlavə və deyək 124 00:07:59,330 --> 00:08:14,510 strcmp (parol, "LOLihackyou") == 0)) 125 00:08:14,510 --> 00:08:26,280 İndi, printf ("girildi İndi imkanına malik \ n!."); tamam. 126 00:08:26,280 --> 00:08:36,240 Bu tərtib - compiler login.c-o giriş-lcs50 - 127 00:08:36,240 --> 00:08:40,190 İndi giriş çalışan - və mən istifadəçi adınızı hacker istifadə 128 00:08:40,190 --> 00:08:44,740 və parol LOLihackedyou - 129 00:08:44,740 --> 00:08:47,780 Mən əvvəl bu yanlış yazın mi? 130 00:08:47,780 --> 00:08:52,990 Login.c-ihack hazırda - Mən ki, sonra bunu edirəm, çünki I'll girildi yoxdur. 131 00:08:52,990 --> 00:08:56,270 Okay. Recompiling. 132 00:08:56,270 --> 00:09:01,500 Re davam - hacker - LOLihackedyou - 133 00:09:01,500 --> 00:09:03,650 Hücumu! İndi imkanı var. 134 00:09:03,650 --> 00:09:06,580 >> Bir fərq daha olmalıdır görünmür 135 00:09:06,580 --> 00:09:10,890 Mən digər istifadəçi adı və parol üçün edirdi eyni dəqiq çek çünki. 136 00:09:10,890 --> 00:09:17,720 Plus, böyük şeydir ki, digər insanlar bu baxsaq login.c - 137 00:09:17,720 --> 00:09:24,020 Mən ortaq bu off keçir və bu fayl açmaq varsa, demək, 138 00:09:24,020 --> 00:09:29,870 və bu oxumaq, onlar görəcəksiniz - tamam, niyə burada kodu bu xətləri var? 139 00:09:29,870 --> 00:09:33,320 Bu açıq-aydın sizin proqram olmalıdır ki, bir şey deyil. 140 00:09:33,320 --> 00:09:41,590 Bəzi proqramlar - açıq mənbə deyil ki, hər hansı bir xüsusi proqram kimi - 141 00:09:41,590 --> 00:09:46,200 Siz kodu bu sətirləri görmək bilməz. 142 00:09:46,200 --> 00:09:50,440 Skype və ya bir şey kimi bir şey - Bildiyiniz bütün, 143 00:09:50,440 --> 00:09:57,600 Skype kompüter və yalnız bəzi xüsusi istifadəçi adı-unutdunuz birləşməsi var 144 00:09:57,600 --> 00:10:01,580 bəzi xüsusi şəkildə Skype daxil olacaq. 145 00:10:01,580 --> 00:10:04,230 Biz bu barədə bilmirəm, insanlar bu barədə bilmirəm 146 00:10:04,230 --> 00:10:09,640 bu dəlik olduğunu görmək sourcecode oxumaq deyil, çünki. 147 00:10:09,640 --> 00:10:11,800 >> Biz bu dediyimiz - 148 00:10:11,800 --> 00:10:16,530 bu çox ağıllı Məsələn olmasa da - 149 00:10:16,530 --> 00:10:18,970 Bu geri qapı adlanır. 150 00:10:18,970 --> 00:10:22,320 Siz evin arxa qapı hesab edin. 151 00:10:22,320 --> 00:10:26,640 Burada mən istifadəçi 'rob' və ya 'tommy,' ilə təsdiq əgər 152 00:10:26,640 --> 00:10:28,580 ki, istifadə kimi olardı "ön qapı". 153 00:10:28,580 --> 00:10:33,700 Mən təhlükəsiz daxil güman edirəm yolu var. 154 00:10:33,700 --> 00:10:37,630 Amma bu istifadəçi adı və şifrə ilə daxil olduqda - 155 00:10:37,630 --> 00:10:40,630 sonra ki, "geri qapı". istifadə edir 156 00:10:40,630 --> 00:10:42,810 Bu proqram almaq üçün qəsdən yol deyil 157 00:10:42,810 --> 00:10:45,350 lakin hələ də işləyir. 158 00:10:45,350 --> 00:10:49,160 Ümumiyyətlə insanlar bu geri qapı bilmək ehtimal deyil. 159 00:10:49,160 --> 00:10:53,050 Biz bu yaxşılaşdırılması olacaq. 160 00:10:53,050 --> 00:10:55,610 Gəlin, bizim orijinal login.c bu geri 161 00:10:55,610 --> 00:11:05,510 və bizim yeni compiler nəzər salaq. Okay. 162 00:11:05,510 --> 00:11:08,460 Burada hər şey qədər tam eyni deyil. 163 00:11:08,460 --> 00:11:10,460 Biz bir tampon daxil bütün fayl oxu edirik. 164 00:11:10,460 --> 00:11:14,400 Aşağı Burada hər şey eyni deyil. 165 00:11:14,400 --> 00:11:16,180 Biz yalnız fayl tərtib. 166 00:11:16,180 --> 00:11:19,770 Amma indi burada, bu böyük var 167 00:11:19,770 --> 00:11:24,140 Mən tərtib edilməsi baş verən fayl login.c əgər ki, deyir, 168 00:11:24,140 --> 00:11:27,390 Mən xüsusi bir şey yoxdur. 169 00:11:27,390 --> 00:11:29,900 Xüsusi bir şey nədir? 170 00:11:29,900 --> 00:11:33,820 Mən burada "hack" adlı bir string bax 171 00:11:33,820 --> 00:11:35,950 və kodu bu xətlər axtarır - 172 00:11:35,950 --> 00:11:41,990 bu kodu eyni xətti var - mən istifadə 'ihack' etdi və əvvəl "ihacked 'deyil tapmaq - 173 00:11:41,990 --> 00:11:44,240 kodu bu xətlər baxaraq, 174 00:11:44,240 --> 00:11:47,880 onlar əvvəl login.c idi ki kodu eyni dəqiq xətləri istəyirik. 175 00:11:47,880 --> 00:11:51,130 İndi əvəzinə login.c onlara olan, 176 00:11:51,130 --> 00:11:54,290 Mən compiler onları qoymaq üçün gedirəm. 177 00:11:54,290 --> 00:12:00,240 >> Bu mən login.c daxil etmək istəyirəm gedirəm kodu xətləri var. 178 00:12:00,240 --> 00:12:06,350 Kodu Bu xətlər - ilk mənim login.c keçirib tampon 179 00:12:06,350 --> 00:12:11,080 İndi də bu hack daxil istəyirəm, çünki artıq kifayət qədər böyük olacaq 180 00:12:11,080 --> 00:12:12,940 mənim proqramı ortasına. 181 00:12:12,940 --> 00:12:16,350 Bütün bu etdiyini kifayət qədər böyük ki, yeni bufer yaradır - 182 00:12:16,350 --> 00:12:22,020 da hack - - həm orijinal fayl və kodu əlavə xətləri üçün orada əlavə etmək istəyirəm ki,. 183 00:12:22,020 --> 00:12:24,920 Burada qeyd etmək şey - 184 00:12:24,920 --> 00:12:29,200 char * model = "/ / daxil inkar!" 185 00:12:29,200 --> 00:12:33,760 Biz login.c geri baxsaq, 186 00:12:33,760 --> 00:12:37,690 biz bu comment burada bax - daxil inkar! 187 00:12:37,690 --> 00:12:42,360 Login.c, bu comment, tamamilə zərərsiz görünür 188 00:12:42,360 --> 00:12:48,270 belə ki, yalnız bu comment ilə hər hansı sui-niyyət şübhəli deyil. 189 00:12:48,270 --> 00:12:55,600 Amma bizim compiler, biz xüsusi, kod bu xətt axtarmaq edir 190 00:12:55,600 --> 00:12:57,600 və sonra biz onu tapmaq zaman - 191 00:12:57,600 --> 00:13:03,330 kodu bu xətlər ki, mövqeyi bizim hack daxil edilir. 192 00:13:03,330 --> 00:13:06,910 Belə ki, biz, bütün login.c üzərində iterating olunur 193 00:13:06,910 --> 00:13:12,080 onlara daxil olmaq inkar deyir tam biz ki, hack daxil olunur 194 00:13:12,080 --> 00:13:15,890 və sonra tərtib edirik - deyil orijinal login.c 195 00:13:15,890 --> 00:13:20,340 lakin sağ daxil olan hack yeni login.c 'daxil inkar edirlər. " 196 00:13:20,340 --> 00:13:29,190 >> İndi ki, hack cəlb ilə yeni compiler tərtib etmək istəyirəm. 197 00:13:29,190 --> 00:13:36,900 Mən cingilti istifadə etmək niyyətində deyiləm, elə edək biz əvvəl istifadə compiler surəti 198 00:13:36,900 --> 00:13:48,420 və istifadə - ki, compiler compiler.c compile.c-o evil_compiler. 199 00:13:48,420 --> 00:13:50,870 İndi pis compiler - 200 00:13:50,870 --> 00:13:54,310 biz hər hansı digər fayl tərtib etmək bizim pis compiler istifadə əgər, 201 00:13:54,310 --> 00:13:57,980 fayl olmalıdır kimi tərtib edəcək. 202 00:13:57,980 --> 00:13:59,980 Bu tamamilə normal deyil. 203 00:13:59,980 --> 00:14:06,870 Amma biz giriş tərtib etmək bizim pis compiler istifadə - 204 00:14:06,870 --> 00:14:14,920 belə ki, / evil_compiler login.c-o giriş-lcs50. - 205 00:14:14,920 --> 00:14:21,310 yenidən login.c baxaraq, burada tamamilə heç bir şey yoxdur. 206 00:14:21,310 --> 00:14:25,770 Bu biz istəyirik başqa, biz istəyirik rob ya tommy ya əgər bizim adi var. 207 00:14:25,770 --> 00:14:31,620 Amma biz çalıştırılabilir çalıştırdığınızda, bu adi kimi işləyəcək. 208 00:14:31,620 --> 00:14:36,640 Yenidən Running - hacker, LOLihackyou - 209 00:14:36,640 --> 00:14:39,000 Hücumu! İndi imkanı var. 210 00:14:39,000 --> 00:14:43,560 Just login.c baxaraq, heç bir şey yanlış hesab edirəm. 211 00:14:43,560 --> 00:14:46,960 Amma compiler login.c tərtib üçün istifadə olunur ki, 212 00:14:46,960 --> 00:14:53,820 xüsusi proqram bu hack daxil üçün nəzərdə tutulmuşdur. 213 00:14:53,820 --> 00:14:57,320 Biz yalnız bizim orijinal problem köçürülüb etdik. 214 00:14:57,320 --> 00:15:02,880 Originally, biz başqa əgər hər kəs onlara baxdı ki login.c kod bu xətləri idi 215 00:15:02,880 --> 00:15:05,470 onlar kimi olmaq istiyorum, niyə bu burada var? 216 00:15:05,470 --> 00:15:09,550 İndi əgər hər kəs, bizim compiler baxmaq olur 217 00:15:09,550 --> 00:15:12,140 onlar kodu bu xətləri baxmaq və demək lazımdır 218 00:15:12,140 --> 00:15:15,290 niyə bu burada var? 219 00:15:15,290 --> 00:15:17,210 Belə ki, biz tamamilə problem həll deyil. 220 00:15:17,210 --> 00:15:22,510 Amma biz yenə bu fikir istifadə edə bilərsiniz. 221 00:15:22,510 --> 00:15:26,260 >> Derleyiciyi bizim üçüncü versiya nəzər alaraq, 222 00:15:26,260 --> 00:15:32,500 eyni fikirdir. 223 00:15:32,500 --> 00:15:36,240 Biz qədər burada bir tampon daxil bütün fayl oxumaq 224 00:15:36,240 --> 00:15:39,660 biz, fayl burada tərtib 225 00:15:39,660 --> 00:15:44,220 və mən burada string hack bir növ var 226 00:15:44,220 --> 00:15:47,710 amma əslində indi Hacking edirəm ki, fayl qeyd. 227 00:15:47,710 --> 00:15:52,260 Mən Hacking compiler.c am 228 00:15:52,260 --> 00:15:54,590 login.c deyil. 229 00:15:54,590 --> 00:15:57,780 Amma compiler.c daxil nə daxil edirəm? 230 00:15:57,780 --> 00:16:04,600 Mən, bizim əvvəlki compiler olan dəqiq kodu olan bu kodu daxil oldum 231 00:16:04,600 --> 00:16:10,540 olan login.c daxil kodu daxil etmək üçün nəzərdə edilmişdir. 232 00:16:10,540 --> 00:16:13,360 Burada əgər strcmp fayl login.c edir 233 00:16:13,360 --> 00:16:19,370 və sonra login.c bizim hack məhsulları daxil. 234 00:16:19,370 --> 00:16:26,010 Bu yeni compiler bir compiler yaradılması nəzərdə tutulur 235 00:16:26,010 --> 00:16:30,390 olan pis giriş tərtib etmək nəzərdə tutulur. 236 00:16:30,390 --> 00:16:34,320 Ki, bizə kömək edir, niyə biz görəcəksiniz. 237 00:16:34,320 --> 00:16:40,630 Başqa hər şey eyni, belə ki, bizim əvvəlki compiler işləmişdir tam olaraq işləyir. 238 00:16:40,630 --> 00:16:45,550 Biz yalnız bütün compile.c üzərində iterating olunur. 239 00:16:45,550 --> 00:16:48,190 İndi əvəzinə, onlara daxil olmaq inkar 'axtarır 240 00:16:48,190 --> 00:16:51,490 biz aradığınız 'fayl tərtib. 241 00:16:51,490 --> 00:16:53,750 Harada fayl tərtib olunur? 242 00:16:53,750 --> 00:16:57,210 Bizim tamamilə günahsız compiler.c baxanda 243 00:16:57,210 --> 00:17:01,340 bu alt burada sağ aşağı deyil. 244 00:17:01,340 --> 00:17:06,500 Bu yorum - fayl tərtib - yenidən, tamamilə zərərsiz görünür ki,. 245 00:17:06,500 --> 00:17:11,599 Lakin compiler bizim zərərli versiyası, 246 00:17:11,599 --> 00:17:16,550 biz gedirik - sağ ki comment əvvəl - bu kodu daxil edin 247 00:17:16,550 --> 00:17:20,690 olan login.c tərtib zaman kodu daxil etmək nəzərdə tutulur. 248 00:17:20,690 --> 00:17:25,589 >> Burada dolaylı səviyyəsi var. 249 00:17:25,589 --> 00:17:29,760 Nin həqiqətən run edək. 250 00:17:29,760 --> 00:17:37,360 Yenə biz orijinal compiler surəti lazımdır. 251 00:17:37,360 --> 00:17:48,260 İndi tərtib - compiler compiler.c compile.c-o evilest_compiler - 252 00:17:48,260 --> 00:17:52,640 və indi evilest_compiler. 253 00:17:52,640 --> 00:17:59,200 Evilest compiler - biz compiler tərtib ki, istifadə əgər, 254 00:17:59,200 --> 00:18:01,550 nin həqiqətən baxaq. 255 00:18:01,550 --> 00:18:13,230 Evilest_compiler - geri compiler versiyası 1 üzərində gətirərək, bütün yol - 256 00:18:13,230 --> 00:18:19,640 yalnız fayl oxumaq və tərtib edən bizim compiler versiyası 1. 257 00:18:19,640 --> 00:18:24,780 Burada biz evilest_compiler bilirik - bu fayl tərtib edərkən - 258 00:18:24,780 --> 00:18:29,890 fayl tərtib əvvəl burada kodu daxil edir, 259 00:18:29,890 --> 00:18:38,510 və kod bizim compiler ikinci versiyası dəqiq kodu kimi baxmaq edir 260 00:18:38,510 --> 00:18:42,240 bu idi. 261 00:18:42,240 --> 00:18:46,450 Giriş başlamaq üçün nəzərdə tutulan bu kod, 262 00:18:46,450 --> 00:18:56,480 evilest compiler tərəfindən compiler daxil olacaq. 263 00:18:56,480 --> 00:19:08,600 Bizim compiler tərtib evilest_compiler istifadə edək. 264 00:19:08,600 --> 00:19:15,040 İndi compiler istifadə edəcəyik 265 00:19:15,040 --> 00:19:19,460 , giriş geri gəl 266 00:19:19,460 --> 00:19:25,280 və bu login.c bu şübhəli tamamilə heç bir şey yoxdur unutmayın. 267 00:19:25,280 --> 00:19:35,250 Amma login.c tərtib etmək bizim compiler istifadə edərək, 268 00:19:35,250 --> 00:19:38,430 rob, thisiscs50, uğurlar. 269 00:19:38,430 --> 00:19:44,350 Edək giriş hacker, LOLihackyou, hücumu! İndi imkanı var. 270 00:19:44,350 --> 00:19:49,710 >> Bu bizim kompilyatorunun versiya 2 fərqli olduğunu qəbul edirlər. 271 00:19:49,710 --> 00:20:00,500 Biz istifadə compiler - giriş kopyalayın - - geri hərəkət imkan 272 00:20:00,500 --> 00:20:01,880 geri burada bizim compiler gətirmək bildirin. 273 00:20:01,880 --> 00:20:06,360 Evilest compiler çıxarılması. 274 00:20:06,360 --> 00:20:08,970 İndi yazmayıblar Bütün compiler edir. 275 00:20:08,970 --> 00:20:10,950 Biz compiler.c baxmaq Əgər 276 00:20:10,950 --> 00:20:16,840 hər hansı bir şəkildə zərərli görünür ki, tamamilə heç bir şey yoxdur. 277 00:20:16,840 --> 00:20:22,390 Biz login.c baxmaq Əgər 278 00:20:22,390 --> 00:20:28,790 hər hansı bir şəkildə zərərli görünür ki, burada tamamilə bir şey yoxdur. 279 00:20:28,790 --> 00:20:34,600 Amma login.c tərtib etmək bizim compiler istifadə edərkən, 280 00:20:34,600 --> 00:20:38,840 biz login.c və hackable versiyası almaq. 281 00:20:38,840 --> 00:20:41,850 Biz compiler yeni versiyasını tərtib etmək bizim compiler istifadə edərkən, 282 00:20:41,850 --> 00:20:46,620 biz compiler və hackable versiyası almaq. 283 00:20:46,620 --> 00:20:51,790 İndi çıxmaq və compiler çalıştırılabilir yaymaq əgər 284 00:20:51,790 --> 00:20:59,280 və heç bir bu barədə zərərli bir şey olduğunu bilir. 285 00:20:59,280 --> 00:21:04,680 >> Bu belə əslində - Mən il xatırlayıram bilməz - 286 00:21:04,680 --> 00:21:10,350 Ken Thompson, o, Turing mükafatını qazandı - 287 00:21:10,350 --> 00:21:15,600 Siz Turing mükafatı ilə tanımadığı halda, demək olar ki, həmişə kimi müəyyən edir 288 00:21:15,600 --> 00:21:20,160 Informatika Nobel mükafatı ki, mən bunu müəyyənləşdirmək lazımdır necə belə. 289 00:21:20,160 --> 00:21:24,100 Onun Turing mükafatı qəbul edərkən Ken Thompson çıxış 290 00:21:24,100 --> 00:21:27,150 "inanan Trust haqqında Reflections." adlı 291 00:21:27,150 --> 00:21:30,710 Əsasən, bu çıxışında ideyası idi. 292 00:21:30,710 --> 00:21:35,050 Yerinə compiler istisna olmaqla, o, GCC bəhs edilib - 293 00:21:35,050 --> 00:21:37,250 zınqıltı kimi yalnız bir compiler - 294 00:21:37,250 --> 00:21:45,600 və nə o deyirdi, bizim login.c kimi, bizim login.c nisbətən faydasız görünür edir 295 00:21:45,600 --> 00:21:50,190 lakin faktiki UNIX login.c bəhs edirdi. 296 00:21:50,190 --> 00:21:53,050 Sizin cihaz daxil, zaman 297 00:21:53,050 --> 00:21:56,070 çalışan bir giriş proqram var. 298 00:21:56,070 --> 00:21:58,080 O söhbət ki, giriş idi. 299 00:21:58,080 --> 00:22:02,420 Bu əsasən onun ideyası idi. 300 00:22:02,420 --> 00:22:09,080 O GCC, o nəzəriyyə bir səhv əkilmiş bilərdi bildirib - 301 00:22:09,080 --> 00:22:12,290 bir səhv amma bir zərərli kodu - 302 00:22:12,290 --> 00:22:16,860 , giriş funksiyası tərtib edərkən - giriş faylı - 303 00:22:16,860 --> 00:22:23,700 o dünyada mütləq hər hansı bir UNİX sistemi getmək bilər ki, geri qapı daxil olacaq 304 00:22:23,700 --> 00:22:27,360 və bəzi xüsusi istifadəçi adı və şifrə ilə daxil. 305 00:22:27,360 --> 00:22:33,710 Zamanda, GCC olduqca çox hər kəs bir şey üçün istifadə etdiyi compiler idi. 306 00:22:33,710 --> 00:22:36,460 Hər kəs GCC yeniləmə baş, əgər 307 00:22:36,460 --> 00:22:40,880 sonra onlar GCC istifadə GCC derleyeceğiz ki, 308 00:22:40,880 --> 00:22:44,500 və hələ GCC bir pis versiyası almaq 309 00:22:44,500 --> 00:22:50,140 xüsusi bu compiler recompiling ki, tanımaq üçün tərtib edilmişdir, çünki. 310 00:22:50,140 --> 00:22:57,360 Və heç bir login.c fayl derleyeceğiz üçün GCC istifadə əgər, 311 00:22:57,360 --> 00:23:03,550 sonra o, hər hansı bir kompüter daxil olmaq üçün istifadə edə bilər ki, bu geri qapı daxil olacaq. 312 00:23:03,550 --> 00:23:08,750 >> Bu, bütün nəzəri idi, lakin - xüsusi hal nəzəri idi ki, 313 00:23:08,750 --> 00:23:12,440 lakin fikir çox real edir. 314 00:23:12,440 --> 00:23:18,250 2003-cü ildə bir oxşar misal var idi - 315 00:23:18,250 --> 00:23:21,290 biz bu faylı nəzər lazımdır 316 00:23:21,290 --> 00:23:25,870 və həqiqətən, nə üçün tamamilə heç bir şey, lakin səhv kimi. 317 00:23:25,870 --> 00:23:29,390 Bu fayl yalnız uçurum deyilən bir funksiyası müəyyən edir. 318 00:23:29,390 --> 00:23:31,780 Bu, bir arqument mübahisə b bir edir 319 00:23:31,780 --> 00:23:34,270 və niyyət b tərəfindən bölünür etmək. 320 00:23:34,270 --> 00:23:37,230 Lakin, bəzi səhv yoxlanılması edir 321 00:23:37,230 --> 00:23:40,070 biz b sıfır bərabər olur şeyi qəribə bilirik. 322 00:23:40,070 --> 00:23:44,900 B sıfır, onda biz 2 hallarda bu split. 323 00:23:44,900 --> 00:23:46,900 Siz artıq səhv görə bilərsiniz. 324 00:23:46,900 --> 00:23:51,840 Birinci halda - sıfır, onda biz sıfır edirik sıfır bölünür, 325 00:23:51,840 --> 00:23:54,300 və biz yalnız müəyyən olduğunu deyirlər. 326 00:23:54,300 --> 00:23:56,250 Ikinci halda - sıfır deyilsə, 327 00:23:56,250 --> 00:24:00,580 sonra 1 kimi bir şey sıfır bölünür, və biz yalnız daimi çağırırıq. 328 00:24:00,580 --> 00:24:03,730 Else biz b bölünür adi qaytarın. 329 00:24:03,730 --> 00:24:06,390 Və burada, biz bu 3 hallarda yayınlıyorsanız 330 00:24:06,390 --> 00:24:13,740 və biz, həqiqətən, uçurum run - bu, mənim üçün o yells - 331 00:24:13,740 --> 00:24:21,330 ki, cingilti nin xəbərdarlıqlarına məhəl - 332 00:24:21,330 --> 00:24:24,500 qeyri-etibarsız funksiyasının sonu - yəqin mən əvvəlcədən bu tərtib etməyib. 333 00:24:24,500 --> 00:24:26,500 0 qayıt. 334 00:24:26,500 --> 00:24:28,900 Bölmək olun - bütün hüququ. 335 00:24:28,900 --> 00:24:32,470 . / Uçurum, biz Infinity Infinity, 3 oldu. 336 00:24:32,470 --> 00:24:39,150 Sıfır bölünür sıfıra daimi qayıdıb deyil. 337 00:24:39,150 --> 00:24:42,840 Və hələ səhv fiqurlu əgər - və ya əvvəl görmədim - 338 00:24:42,840 --> 00:24:46,800 biz = 0 edirik görürük. 339 00:24:46,800 --> 00:24:52,610 Yəqin ki, biz bir == 0 idi. Yəqin ki,. 340 00:24:52,610 --> 00:24:58,640 >> - Amma, bu həqiqətən bir şey ki, yenə 2003-cü ildə, Linux kernel idi 341 00:24:58,640 --> 00:25:02,260 bizim cihaz Linux kernel istifadə edir - 342 00:25:02,260 --> 00:25:05,550 Hər hansı bir Linux əməliyyat sistemi Linux kernel istifadə edir - 343 00:25:05,550 --> 00:25:11,610 Bu çox oxşar bir səhv up göstərdi. 344 00:25:11,610 --> 00:25:15,180 Bu səhv arxasında ideyası idi - 345 00:25:15,180 --> 00:25:18,820 yenə orada deyilir ki, yalnız bir funksiyası idi və bu səhv yoxlanılması bir az idi. 346 00:25:18,820 --> 00:25:24,300 Bu səhv yoxlanılması bəzi xüsusi giriş var idi - 347 00:25:24,300 --> 00:25:30,210 bütün hüququ kimi olardıq, siz 0 bölən bu funksiyası zəng edə bilməz. 348 00:25:30,210 --> 00:25:35,070 Belə ki, mən yalnız bəzi səhv qayıtmaq üçün gedirəm. 349 00:25:35,070 --> 00:25:38,090 Istisna olmaqla, yalnız 0 üçün bərabər yaradılması kimi günahsız deyil. 350 00:25:38,090 --> 00:25:46,920 Əksinə, kodu bu xətt daha çox istifadəçi = administrator kimi bir şey bunu başa. 351 00:25:46,920 --> 00:25:50,500 Və ya istifadəçi = SuperUser. 352 00:25:50,500 --> 00:25:59,170 Bu günahsız idi - ilk baxışdan - səhv yalnız ağlabatan olardı yerləşir 353 00:25:59,170 --> 00:26:01,560 Mən yalnız xüsusi bir şey hesabat istədi 354 00:26:01,560 --> 00:26:05,150 istifadəçi SuperUser administrator olmaq üçün baş əgər. 355 00:26:05,150 --> 00:26:11,220 Amma sonra bu barədə yenidən düşünür, şəxs, bu typo sadə kimi baxmaq istədi 356 00:26:11,220 --> 00:26:14,330 lakin bu kodu həqiqətən azad edilsəydi, 357 00:26:14,330 --> 00:26:21,580 sonra müəyyən bir bayrağı keçən hər hansı bir sistem hack edə olardı - 358 00:26:21,580 --> 00:26:25,200 bu halda b = 0 - 359 00:26:25,200 --> 00:26:28,020 və o, avtomatik, istifadəçi administrator edəcək 360 00:26:28,020 --> 00:26:30,400 və o, tam nəzarət var. 361 00:26:30,400 --> 00:26:32,540 Bu 2003-cü ildə baş verib. 362 00:26:32,540 --> 00:26:35,700 >> Bu, sadəcə belə oldu ki, tutuldu yeganə səbəbi 363 00:26:35,700 --> 00:26:39,200 bəzi avtomatlaşdırılmış sistem var oldu, çünki idi 364 00:26:39,200 --> 00:26:41,540 Bu fayl dəyişiklik hiss 365 00:26:41,540 --> 00:26:44,560 bir insan tərəfindən dəyişdirilə idi, heç vaxt. 366 00:26:44,560 --> 00:26:47,580 Fayl yalnız avtomatik olaraq olmalıdır. 367 00:26:47,580 --> 00:26:49,780 Bu, sadəcə belə kimsə toxundu ki, baş - 368 00:26:49,780 --> 00:26:52,460 yaxşı, hack istədiyi şəxs ki, fayl toxunub 369 00:26:52,460 --> 00:26:55,450 və kompüter toxunan ki, tutuldu. 370 00:26:55,450 --> 00:27:01,750 Belə ki, onlar bu dəyişdi və yalnız sonra olardı nə bir fəlakət həyata 371 00:27:01,750 --> 00:27:04,830 bu real dünyada həyata kazanılmış idi əgər. 372 00:27:04,830 --> 00:27:08,220 >> Siz düşünür ola bilər - bizim compiler Məsələn qayıtdıqdan - 373 00:27:08,220 --> 00:27:14,290 baxmayaraq biz göremiyorum - Bu sourcecode baxaraq - 374 00:27:14,290 --> 00:27:17,490 xüsusi ki, bir şey səhvdir 375 00:27:17,490 --> 00:27:25,460 , biz, həqiqətən, compiler və ikili kod baxsaq 376 00:27:25,460 --> 00:27:28,670 biz ki, bir şey səhvdir görmək olardı. 377 00:27:28,670 --> 00:27:31,260 Biz run əgər Məsələn, strings fəaliyyət - 378 00:27:31,260 --> 00:27:34,930 hansı bir fayl üzərində baxmaq və tapa bilərsiniz bütün strings çap etmək niyyətindədir - 379 00:27:34,930 --> 00:27:37,990 biz compiler haqqında strings run, əgər 380 00:27:37,990 --> 00:27:42,400 biz tapdığı bir string bu qəribə olduğunu görmək - 381 00:27:42,400 --> 00:27:45,500 başqa, əgər (strcmp (istifadəçi adı "hacker") - blah, blah, blah. 382 00:27:45,500 --> 00:27:52,570 Kimsə, onların compiler etibar kifayət qədər paranoid olmaq oldu 383 00:27:52,570 --> 00:27:56,690 onlar strings run və bu oldu 384 00:27:56,690 --> 00:28:00,430 və onlar faktiki ikili bir səhv olduğunu bilirsən. 385 00:28:00,430 --> 00:28:07,250 Amma strings qaçılmaz tərtib edilmişdir ki, bir şey idi. 386 00:28:07,250 --> 00:28:11,590 Belə ki, bizim compiler daha çox xüsusi kodu mövcut deyil ki, var 387 00:28:11,590 --> 00:28:19,240 ki strings heç bizim compiler çalıştırmak, əgər ki, zərərli kodu bütün çıxış etmir, deyir. 388 00:28:19,240 --> 00:28:23,980 >> Biz fayl dis-toplaşmaq istəyirsinizsə ilə eyni ideya - 389 00:28:23,980 --> 00:28:30,440 biz assembler bir maşın kodu toplaşmaq kodu bizə gətirir öyrənildi - 390 00:28:30,440 --> 00:28:36,010 biz əks istiqamətdə getmək bilər - objdump-d compiler - 391 00:28:36,010 --> 00:28:38,770 bizim kodu akt verəcək. 392 00:28:38,770 --> 00:28:41,730 Bu baxaraq, 393 00:28:41,730 --> 00:28:47,480 bu olduqca sirli, lakin biz istəyirdik, biz bu nəzər bilər 394 00:28:47,480 --> 00:28:51,700 və səbəbi, gözləyin, davam lazım deyil ki, burada gedən bir şey var 395 00:28:51,700 --> 00:28:59,380 və biz compiler zərərli bir şey etdiyini tanımaq lazımdır. 396 00:28:59,380 --> 00:29:03,950 Lakin, yalnız strings kimi, kim objdump xüsusi cased deyil demək deyil. 397 00:29:03,950 --> 00:29:11,380 Əsasən, bu sizin bir şey etibar edə bilməz aşağı gəlir. 398 00:29:11,380 --> 00:29:14,310 "Inanan Trust" adlı edilən kağız nöqtəsi 399 00:29:14,310 --> 00:29:17,900 Ümumiyyətlə, biz compiler güvənirəm. 400 00:29:17,900 --> 00:29:21,700 Siz kodu tərtib və siz bunu soruşmaq nə gözləyirik. 401 00:29:21,700 --> 00:29:26,440 Amma niyə siz compiler etibar etməlidir? 402 00:29:26,440 --> 00:29:32,120 Siz compiler yazmadım. Siz compiler mütləq həqiqətən nə bilmirəm. 403 00:29:32,120 --> 00:29:36,870 Kim siz etibar edə bilərsiniz demək deyil? 404 00:29:36,870 --> 00:29:40,050 Lakin sonra, yaxşı, bəlkə biz compiler etibar edə bilərsiniz. 405 00:29:40,050 --> 00:29:44,670 Bu baxdı insanlar on minlərlə var. 406 00:29:44,670 --> 00:29:51,360 Biri compiler ilə qədər bir şey tanınır olmalıdır. 407 00:29:51,360 --> 00:29:55,100 >> Biz yalnız 1 səviyyəsində dərin getmək əgər? 408 00:29:55,100 --> 00:29:59,450 Bu hətta prosessor ola bilər. 409 00:29:59,450 --> 00:30:01,250 Bu mümkün ola bilər kimi gülünc kimi, 410 00:30:01,250 --> 00:30:06,690 bəlkə bu prosessorları yaradır edən Intel bəzi yaramaz əməkdaşı var 411 00:30:06,690 --> 00:30:12,400 ki işlemci bir komanda yayınlıyorsanız ki, bildirişlərin zaman 412 00:30:12,400 --> 00:30:14,570 ki, kompüter daxil olmaq üçün nəzərdə oldu 413 00:30:14,570 --> 00:30:19,230 prosessor xüsusi istifadəçi adı və şifrə birləşməsi qəbul edəcək. 414 00:30:19,230 --> 00:30:21,530 Bu vəhşicəsinə mürəkkəb olardı, 415 00:30:21,530 --> 00:30:24,790 amma kimsə bunu edə bilər. 416 00:30:24,790 --> 00:30:29,350 Bu noktada, həqiqətən, prosessor baxmaq üçün kompüter açmaq üçün gedir 417 00:30:29,350 --> 00:30:35,970 və onlar olmalıdır kimi, bu sxemlərin dəstəsi düzülmüşdü deyil ki, tanımaq üçün bir mikroskop istifadə? 418 00:30:35,970 --> 00:30:39,730 Heç kim heç hata tutmaq niyyətindədir. 419 00:30:39,730 --> 00:30:45,570 Bir nöqtədə, yalnız bir şey vermək və etibar var. 420 00:30:45,570 --> 00:30:48,390 Çoxu bu nöqtədə compiler etibar yoxdur. 421 00:30:48,390 --> 00:30:55,760 Bu mütləq sizə lazımdır ki, demək deyil. 422 00:30:55,760 --> 00:30:59,350 Bir qədər alçaq video baxanda - 423 00:30:59,350 --> 00:31:09,280 [Dramatik musiqi ifa] 424 00:31:09,280 --> 00:31:13,270 [Bu UNİX sistemi var. Mən bu bilirik.] 425 00:31:13,270 --> 00:31:14,470 [Bütün fayllar var -] 426 00:31:14,470 --> 00:31:18,950 O, "Bu UNİX sistemi var. Mən bu bilirəm." Dedi 427 00:31:18,950 --> 00:31:21,760 Sevimli əməliyyat sistemi nə ilə UNİX dəyişdirin - 428 00:31:21,760 --> 00:31:25,230 o "Bu Windows sistemi var. Mən bu bilirəm." dedi bilərdi 429 00:31:25,230 --> 00:31:29,710 Bu, tamamilə mənasız bəyanat var 430 00:31:29,710 --> 00:31:34,450 lakin biz bilirik bütün, o UNIX sistem bir geri qapı bilmək olur. 431 00:31:34,450 --> 00:31:38,840 O, həqiqətən edək ki, bir istifadəçi adı / parol birləşməsi bilir onun 432 00:31:38,840 --> 00:31:41,540 o istəyir nə. 433 00:31:41,540 --> 00:31:49,000 >> Bütün hüquqlar. Bu gün mənəvi bir şey etibar edə bilməz əsasən. 434 00:31:49,000 --> 00:31:52,620 Hətta şeylər yazmaq - Siz compiler yazmadım. 435 00:31:52,620 --> 00:31:53,870 Bu compiler pis ola bilər. 436 00:31:53,870 --> 00:31:59,140 Siz compiler yazmaq idi belə, compiler çalışan olan şey pis ola bilər. 437 00:31:59,140 --> 00:32:05,210 (Gülür) çox edə bilərsiniz var deyil. 438 00:32:05,210 --> 00:32:09,050 Dünya məhkumdur. 439 00:32:09,050 --> 00:32:11,570 David geri! 440 00:32:11,570 --> 00:32:19,540 [Alqış] 441 00:32:19,540 --> 00:32:21,340 >> [David] Thanks. Bu həqiqətən əzici idi. 442 00:32:21,340 --> 00:32:23,910 Amma həqiqətən, Rob doğrudur. 443 00:32:23,910 --> 00:32:27,150 Bəzi həllər almaq Biz həqiqətən bir həll yoxdur, lakin siz olduğunuz 444 00:32:27,150 --> 00:32:29,150 daha ümumi müdafiə etmək. 445 00:32:29,150 --> 00:32:31,170 Bu gözləyərək, Nate və mən sahne arkasında nə edirik 446 00:32:31,170 --> 00:32:33,950 Bu otaqda çox noutbuk var ki, biləndir, 447 00:32:33,950 --> 00:32:37,020 Biz son 20 dəqiqə bu otaqda keçir simsiz trafik bütün koklama olduğunuz 448 00:32:37,020 --> 00:32:39,260 Rob-nin müzakirəsi zamanı biz burada 2 dəqiqə fasilə etmək olacaq. 449 00:32:39,260 --> 00:32:41,740 Nate biz məhsulları haqqında danışmaq olacaq sonra qurmaq üçün gedən və oldu 450 00:32:41,740 --> 00:32:46,380 biz gördük bilər. (Gülüş) 451 00:32:46,380 --> 00:32:51,990 >> Belə ki, mən yalnız drama naminə bir az şişirdilmiş ola bilər 452 00:32:51,990 --> 00:32:55,990 lakin biz, çünki həqiqətən simsiz trafik bütün koklama bilərdi 453 00:32:55,990 --> 00:32:57,240 ki, asandır. 454 00:32:57,240 --> 00:32:59,790 Amma ki, bu qarşı müdafiə edə bilər ki, yolları, həmçinin var 455 00:32:59,790 --> 00:33:03,160 Mən sizə Nate Hardison verir. >> [Nate] Sweet. 456 00:33:03,160 --> 00:33:06,300 (Alqış) 457 00:33:06,300 --> 00:33:08,650 >> [Nate] Thanks, man. Mən shout həyata qiymətləndiririk. 458 00:33:08,650 --> 00:33:12,790 Bütün hüquqlar! Bu oyun həftə var. Uşaqlar həyəcanlı edirsiniz? 459 00:33:12,790 --> 00:33:16,670 Ümid edirəm ki, bu şənbə böyük bir oyun olacaq. 460 00:33:16,670 --> 00:33:20,220 Mən sizə bu nöqtədə uşaqlar təsəvvür - Siz Çərşənbə viktorina ki, verilmiş 461 00:33:20,220 --> 00:33:24,430 Bütün kodu haqqında, və biz yalnız Rob tərəfindən gözəl bir məruzə ilə oturdu 462 00:33:24,430 --> 00:33:25,850 - bu C kodu bütöv bir dəstə ilə 463 00:33:25,850 --> 00:33:28,330 bəlkə kodu yorğun bir az var. 464 00:33:28,330 --> 00:33:32,180 Bu hissədə, biz, həqiqətən, heç bir kodu toxunmaq fikrində deyilik. 465 00:33:32,180 --> 00:33:36,960 Biz yalnız, hər gün istifadə bir texnologiya haqqında danışmaq olacaq 466 00:33:36,960 --> 00:33:39,790 tez-tez bir çox saat, 467 00:33:39,790 --> 00:33:46,220 və biz var ki, təhlükəsizlik təsirləri haqqında danışmaq lazımdır. 468 00:33:46,220 --> 00:33:48,960 >> Biz, semestr ərzində təhlükəsizlik barədə çox söhbət etdik 469 00:33:48,960 --> 00:33:53,030 və biz kripto bir az ilə başladı. 470 00:33:53,030 --> 00:33:55,030 [Bdoh lv vwlqng!] 471 00:33:55,030 --> 00:33:57,890 Və uşaqlar bir-birinə qeyd keçən üçün yəqin ki, super-həyəcanlı isə 472 00:33:57,890 --> 00:33:59,890 bu kimi bir Sezar parol istifadə edərək sinfi, 473 00:33:59,890 --> 00:34:03,870 həqiqətən, təhlükəsizlik söhbət etdiyiniz zaman əslində idi bəzi daha çox əyləncə var 474 00:34:03,870 --> 00:34:05,870 məhsulları və belə. 475 00:34:05,870 --> 00:34:09,090 Bu gün biz bir neçə texnologiyaları əhatə olacaq 476 00:34:09,090 --> 00:34:13,650 ki, insanlar həqiqətən şeyi bütün növ etmək üçün real dünya istifadə 477 00:34:13,650 --> 00:34:18,360 İnsanların paket koklama olan faktiki gedən və 478 00:34:18,360 --> 00:34:20,409 xalq bank hesabları və bütün girmesini. 479 00:34:20,409 --> 00:34:23,460 Bu söhbət etdiyiniz qanuni vasitələr 480 00:34:23,460 --> 00:34:26,320 bəlkə bir alət istisna olmaqla. 481 00:34:26,320 --> 00:34:28,889 >> Mən yalnız bir sürətli disclaimer etmək istəyirəm. 482 00:34:28,889 --> 00:34:34,909 Nə var olduğunu bilirik ki, biz bu işləri haqqında danışmaq zaman, biz onlara söhbət edirik 483 00:34:34,909 --> 00:34:39,389 və sizə sizin kompüter istifadə etdiyiniz zaman təhlükəsiz necə xəbərdar edirik. 484 00:34:39,389 --> 00:34:44,000 Amma biz mütləq bu alətlərdən istifadə ki, demək istəmirəm 485 00:34:44,000 --> 00:34:48,090 Sizin yurt və ya ev sizə böyük məsələlər çox daxil edə bilərsiniz, çünki. 486 00:34:48,090 --> 00:34:52,760 Yəni faktiki olaraq paket koklama deyil ki, bir səbəb bu gün. 487 00:34:52,760 --> 00:35:01,300 >> Bütün hüquqlar. Son Bazar ertəsi, biz, peçenye haqqında danışdıq və HTTP, və identifikasiyası 488 00:35:01,300 --> 00:35:05,920 və necə Firesheep, sizin Facebook hesabı bu böyük qapı açır 489 00:35:05,920 --> 00:35:08,670 Hotmail hesabınıza - heç hələ Hotmail istifadə əgər - 490 00:35:08,670 --> 00:35:12,360 və bir çox digər hesabları. 491 00:35:12,360 --> 00:35:16,980 Bu məhsulları bir çox ki, off qurmaq niyyətindədir 492 00:35:16,980 --> 00:35:22,070 lakin ilk, mən Internet zamanla inkişaf etmişdir necə sürətli bir tur istəyirəm. 493 00:35:22,070 --> 00:35:27,490 Geri 90-cı ildə, uşaqlar həqiqətən də sayede yadda ola bilər 494 00:35:27,490 --> 00:35:29,880 bu bir sizin kompüter. 495 00:35:29,880 --> 00:35:32,640 İndi biz çox artıq ki, yoxdur. 496 00:35:32,640 --> 00:35:37,230 Bu, faktiki olaraq, qaydada mənim laptop daxil Ethernet kabel plug çıxır ki, 497 00:35:37,230 --> 00:35:41,710 İndi crazy növü olan bu adapterləri biri istifadə etmək lazımdır. 498 00:35:41,710 --> 00:35:47,580 >> Əksinə, 1997-ci ildə biz bu yeni əyləncə texnologiya idi 499 00:35:47,580 --> 00:35:54,960 IEEE 802.11 kimi tanınır ki, gəldi, belə ki, bu, simsiz internet standart 500 00:35:54,960 --> 00:36:00,430 IEEE bütün növ verir ki, bu rəhbər orqanı - 501 00:36:00,430 --> 00:36:04,770 kompüter bağlı olan standartların bütün növ dərc edir. 502 00:36:04,770 --> 00:36:08,780 Bu 802 standartlara İnternet texnologiyaları haqqında bütün var. 503 00:36:08,780 --> 00:36:12,690 802.3 Belə ki, məsələn, Ethernet standart edir 504 00:36:12,690 --> 00:36:17,120 İnanıram 802.15.1, Bluetooth standartı 505 00:36:17,120 --> 00:36:19,540 və 802.11 bütün haqqında simsiz internet edir. 506 00:36:19,540 --> 00:36:24,150 1997-ci ildə bu çıxdı. Bu olduqca dərhal tutmaq vermədi. 507 00:36:24,150 --> 00:36:30,200 1999-cu ilə qədər deyil və 802.11b standart yalnız həqiqətən məşhur var ki çıxdı. 508 00:36:30,200 --> 00:36:36,330 >> Kompüter gələn və onlara wi-fi əldə açılmış necə bir çox saxla? 509 00:36:36,330 --> 00:36:38,330 Bu sərin, ha cür idi? 510 00:36:38,330 --> 00:36:41,260 Mən orta məktəbdə ilk laptop almaq xatırlayıram 511 00:36:41,260 --> 00:36:44,250 və onu bir simsiz kart idi. 512 00:36:44,250 --> 00:36:49,580 Atam mənə verdi və mən kollec apps və bütün üçün istifadə ki, deyirdi 513 00:36:49,580 --> 00:36:53,030 və mən bu məhsulları online yuxarı baxmaq üçün gedir necə yox idi. 514 00:36:53,030 --> 00:36:54,640 Lakin xoşbəxtlikdən, mən olduqca sərin idi, belə ki, bir simsiz kart idi. 515 00:36:54,640 --> 00:37:04,090 Hal-hazırda, siz də həqiqətən məşhur digər biri olan 802.11g görürsünüz 516 00:37:04,090 --> 00:37:06,090 simsiz standartlar ki, var. 517 00:37:06,090 --> 00:37:08,660 B və g həm də olduqca bu nöqtədə köhnəlmiş olunur. 518 00:37:08,660 --> 00:37:12,580 Kimse Yok Mu insanların çoxu indi haqqında nə bilirik versiyası 519 00:37:12,580 --> 00:37:15,110 onlar yeni simsiz marşrutlaşdırıcıları və növ məhsulları alınması edirsinizsə? 520 00:37:15,110 --> 00:37:24,290 Məhz N.. Bingo. Və o, ac standart yalnız bir layihə şəklində gəlir çıxır ki, 521 00:37:24,290 --> 00:37:28,050 və yolda digər versiyaları var. 522 00:37:28,050 --> 00:37:31,190 Biz əldə etdiyiniz bu standartların hər biri ilə daha bant edir 523 00:37:31,190 --> 00:37:33,900 bir sürətli dərəcəsi daha çox məlumat. 524 00:37:33,900 --> 00:37:36,260 Bunlar olduqca tez dəyişən saxlamaq. 525 00:37:36,260 --> 00:37:39,880 Daha marşrutlaşdırıcıları və bütün fun stuff almaq ki, Bu da edir. 526 00:37:39,880 --> 00:37:48,160 >> Simsiz rabitə əslində onun əsasını nə haqqında danışmaq edək. 527 00:37:48,160 --> 00:37:51,790 Ethernet və o köhnə dial-up modem ilə, 528 00:37:51,790 --> 00:37:55,780 həqiqətən, sizin kompüter tıkalı ki, bu məhsulları idi 529 00:37:55,780 --> 00:37:59,820 və sonra növ modem daxil takıldığından, sonra divar bir jack daxil takıldığından. 530 00:37:59,820 --> 00:38:01,820 Siz sağ, bu simli əlaqədar idi? 531 00:38:01,820 --> 00:38:06,030 Simsiz bütün nöqtə bu məhsulları xilas edir. 532 00:38:06,030 --> 00:38:10,300 Bunu etmək üçün, nə biz mahiyyətcə deyil 533 00:38:10,300 --> 00:38:13,960 bir radio rabitə bizim simsiz router - 534 00:38:13,960 --> 00:38:16,230 bizim az simsiz icon təyin - 535 00:38:16,230 --> 00:38:21,730 simli əlaqə bir növ göstərən bu bərk arrow ilə İnternetə bağlıdır 536 00:38:21,730 --> 00:38:24,640 lakin sizin simsiz router qoşulmaq zaman 537 00:38:24,640 --> 00:38:29,190 həqiqətən, demək olar ki, arasında bir walkie-film kimi istifadə etdiyiniz 538 00:38:29,190 --> 00:38:31,960 Sizin kompüter və simsiz router. 539 00:38:31,960 --> 00:38:35,150 Bu barədə həqiqətən sərin var siz ətrafında hərəkət edə bilər. 540 00:38:35,150 --> 00:38:40,900 Siz Sanders bütün kompüter keçirə bilər, istədiyiniz hər hansı, web sörf getmək 541 00:38:40,900 --> 00:38:43,240 Bildiyiniz və sevgi yalnız kimi 542 00:38:43,240 --> 00:38:46,030 və heç bir şey üçün takıldığından etmək yoxdur. 543 00:38:46,030 --> 00:38:53,880 Bu iş üçün, bu qəbulu və ötürülməsi həm var. 544 00:38:53,880 --> 00:38:56,060 Bu, həqiqətən ki, walkie-film kimi. 545 00:38:56,060 --> 00:39:03,800 >> Bu simsiz router - Sanders olan burada, bu mərhələdə altında oturan - 546 00:39:03,800 --> 00:39:06,590 həmişə yayımı və qəbul, yayım və qəbul edilir, 547 00:39:06,590 --> 00:39:09,330 və həmçinin, kompüter bütün çox şey eyni cür edirik. 548 00:39:09,330 --> 00:39:12,840 Biz yalnız eşitmək bilməz. 549 00:39:12,840 --> 00:39:17,900 Edə bilərsiniz ki, başqa şey birdən çox kompüter var bilməz 550 00:39:17,900 --> 00:39:22,200 Eyni simsiz router danışır. 551 00:39:22,200 --> 00:39:25,680 Yaxın bir marşrutlayıcı var - və yenidən, bu radio rabitə edir - 552 00:39:25,680 --> 00:39:30,320 yaxın sizin, daha yaxşı siqnal deyil, yaxşı kompüter router "eşidir" 553 00:39:30,320 --> 00:39:32,460 və İnternet informasiya. 554 00:39:32,460 --> 00:39:39,520 Uşaqlar sənin evində, sizin yurt da heç ve siqnal pis niyə, merak istəyirsinizsə 555 00:39:39,520 --> 00:39:42,230 çünki a) yəqin ki, var. Əgər sizin router yaxın və ya deyilik 556 00:39:42,230 --> 00:39:46,930 b). və sizin router arasında bir şey sement divar və ya bir şey kimi var 557 00:39:46,930 --> 00:39:50,720 o radio dalğalar vasitəsilə getmək izin vermir. 558 00:39:50,720 --> 00:39:57,850 >> Nin wi-fi kimi niyə pis uşaqlar haqqında bir az danışmaq edək. 559 00:39:57,850 --> 00:40:02,980 Pis uşaqlar bir neçə səbəblərə görə wi-fi sevirəm. 560 00:40:02,980 --> 00:40:06,670 Burada pis pis oğlan sağ var. 561 00:40:06,670 --> 00:40:10,660 Bu pis oğlan wi-fi sevir niyə bir səbəbi 562 00:40:10,660 --> 00:40:18,770 default, simsiz marşrutlaşdırıcıları bir çox siz onlara qurmaq zaman gəlib, çünki edir 563 00:40:18,770 --> 00:40:20,950 onlar unencrypted edirik. 564 00:40:20,950 --> 00:40:23,970 Bu problem olmuşdur və hallarda olub - 565 00:40:23,970 --> 00:40:28,210 indi bir çox hallarda, - pis adam kimsə evinə göstərir yerləşir, 566 00:40:28,210 --> 00:40:32,630 var ki, bildirişlərin bir onlar qoşula olan wi-fi unencrypted. 567 00:40:32,630 --> 00:40:37,350 Onlar əyləncə məhsullarının bütün növ downloading başlamaq sonra wi-fi qoşulmaq, və. 568 00:40:37,350 --> 00:40:40,890 Onlar kittens indirme deyilik, onlar bala indirme deyilik. 569 00:40:40,890 --> 00:40:44,610 Bu BitTorrent kimi. Bu nastiest də pis deyil. 570 00:40:44,610 --> 00:40:48,740 FBI da cəlb kazanılmış hallarda var 571 00:40:48,740 --> 00:40:52,390 ev sahibi olan şəxs həqiqətən biri olduğunu düşünür 572 00:40:52,390 --> 00:40:56,090 orada gedən və həqiqətən olmamalıdır məhsulları yüklənilməsi. 573 00:40:56,090 --> 00:41:00,730 Wi-fi mütləq Siz istədiyiniz bir şey deyil unencrypted edərək, 574 00:41:00,730 --> 00:41:06,340 FBI yoxdur, yalnız əgər qapını döymək gəlir. 575 00:41:06,340 --> 00:41:09,910 >> Pis uşaqlar wi-fi sevgi niyə bir səbəbi 576 00:41:09,910 --> 00:41:13,870 David fasilə zamanı haqqında əvvəllər söhbət səbəb olur. 577 00:41:13,870 --> 00:41:17,240 Onun əsas bir radio rabitə var, çünki 578 00:41:17,240 --> 00:41:22,460 Siz kanal bilirsinizsə, bu radio stansiyası dinləyə bilərsiniz. 579 00:41:22,460 --> 00:41:31,870 Məsələn, giriş nöqtəsi yanındakı orta doğru oturan bir pis hüququ varsa, 580 00:41:31,870 --> 00:41:36,830 sağ simsiz router yanında, pis oğlan simsiz trafik bütün haqqında dinləyə bilərsiniz 581 00:41:36,830 --> 00:41:40,240 ki, bu kompüter bütün geliyor. 582 00:41:40,240 --> 00:41:44,590 Əslində, bu adamlar - ön sırada burada olan bu xoşbəxt neçə - 583 00:41:44,590 --> 00:41:47,610 bu simsiz marşrutlaşdırıcıları bütün super-yaxın çünki 584 00:41:47,610 --> 00:41:49,950 ki, yalnız mərhələ altında oturmaq 585 00:41:49,950 --> 00:41:53,780 onlar bütün bu otaqda hər kəsin trafik eşitmək bilər 586 00:41:53,780 --> 00:41:59,480 siz wi-fi ilə bağlıdır və bu giriş nöqtələri vasitəsilə gəzən başlayın. edirsinizsə 587 00:41:59,480 --> 00:42:03,740 Bu iyləmək üçün yaxşı bir vəziyyətdə özünüzü oturmaq və anlamaq üçün çox çətin deyil 588 00:42:03,740 --> 00:42:07,030 digər insanların nə. 589 00:42:07,030 --> 00:42:10,830 Giriş nöqtəsi harada emin deyilik xüsusilə əgər, unutmayın şey 590 00:42:10,830 --> 00:42:15,010 və bir Starbucks-da, söz gəzən edirik. 591 00:42:15,010 --> 00:42:17,360 >> Bu koklama və bütün çıxır ki, 592 00:42:17,360 --> 00:42:19,440 həqiqətən bunu bütün çətindir. 593 00:42:19,440 --> 00:42:25,430 Tcpdump adlı proqram var olan zibilliklərin TCP yol bütün növ 594 00:42:25,430 --> 00:42:29,910 və olduqca sadəcə çalıştırabilirsiniz - Mən bu səhər idi kimi. 595 00:42:29,910 --> 00:42:32,810 Burada bir dump bir az var və buraya gələn ki, trafik bəzi var 596 00:42:32,810 --> 00:42:34,960 vaxt mənim şəbəkə. 597 00:42:34,960 --> 00:42:41,500 Siz edə bilərsiniz - siz qıyıq əgər həqiqətən çətin - orada Spotify bir az var. 598 00:42:41,500 --> 00:42:44,050 Tcpdump üst - Bu istifadə etmək üçün bir ağrı növü çünki - 599 00:42:44,050 --> 00:42:48,860 bir gözəl GUI ilə Wireshark olan paketləri bu qədər adlı proqram var. 600 00:42:48,860 --> 00:42:51,970 Siz şəbəkə dərsləri almaq üçün getmək əgər Wireshark, super-lazımlı 601 00:42:51,970 --> 00:42:56,780 bu siz paket bütün yarmaq kömək bəri sevirəm gəlmək lazımdır ki, bir vasitədir 602 00:42:56,780 --> 00:42:59,400 ki, orada ətrafında üzən olunur. 603 00:42:59,400 --> 00:43:01,810 Lakin bu da pis üçün istifadə edilə bilər. 604 00:43:01,810 --> 00:43:05,810 Yalnız bu qədər çəkmə, bu proqram download Bu, çox sadə 605 00:43:05,810 --> 00:43:09,300 şəbəkə ələ başlamaq və davam ki, hər şey bax - 606 00:43:09,300 --> 00:43:14,130 və əyləncə məhsullarının bütün növ filter və edirik. 607 00:43:14,130 --> 00:43:17,930 >> Siz simsiz rabitə ilə edə bilərsiniz ki, başqa şey 608 00:43:17,930 --> 00:43:25,380 yalnız gizlincə qulaq asmaq olar, ancaq siz həmçinin şəbəkə ilə vida necə öyrənə bilərsiniz 609 00:43:25,380 --> 00:43:31,020 və təcrübə nəzarət üçün öz məlumat yeritmək ki, digər insanlar 610 00:43:31,020 --> 00:43:35,140 Eyni simsiz şəbəkə əldə edirlər. 611 00:43:35,140 --> 00:43:37,140 In ki, nəzər salaq. 612 00:43:37,140 --> 00:43:40,700 Burada Firesheep var - biz ötən həftə bilirik və sevgi olan - 613 00:43:40,700 --> 00:43:43,590 ki eavesdropping texnologiya olan. 614 00:43:43,590 --> 00:43:50,360 Əgər, misal üçün, biz fəal ətrafında bizim pis oğlan go və mess etmək istəyirdi 615 00:43:50,360 --> 00:43:52,690 Bu kompüter biri 616 00:43:52,690 --> 00:43:58,380 Bu ssenari biz harvard.edu üçün İnternet getmək üçün çalışan bir kompüter var. 617 00:43:58,380 --> 00:44:04,690 Edir nə, kompüter ilk simsiz router bir mesaj göndərir və deyir 618 00:44:04,690 --> 00:44:07,920 hey, mən səfər www.harvard.edu getmək istəyirəm. 619 00:44:07,920 --> 00:44:10,610 Bu həftə sonu oyun haqqında məlumat almaq üçün çalışdığınız nədənsə De. 620 00:44:10,610 --> 00:44:14,940 Bad oğlan, o, orta doğru oturan var-ci ildən, 621 00:44:14,940 --> 00:44:18,730 ki, çıxış nöqtəsinə doğru gələn ki, rabitə kompüter gələn bilərsiniz 622 00:44:18,730 --> 00:44:26,170 istiqamətləndirici daxil və o, bilir ki, "Aha! Kimsə harvard.edu olacaq." (Evilly gülür) 623 00:44:26,170 --> 00:44:33,870 Rabitə istiqamətləndirici gedir bu gizlilik olmalıdır olacaq 624 00:44:33,870 --> 00:44:37,780 həyata İnternet da web tapmaq getmək harvard.edu - 625 00:44:37,780 --> 00:44:42,020 kimi uşaqlar bütün PHP psets bunu sonra biləcəyik - 626 00:44:42,020 --> 00:44:45,680 və belə pis adam vaxt bir az, pəncərə bir az var 627 00:44:45,680 --> 00:44:49,410 olan o bəzi məhsulları ilə cavab verə bilər. 628 00:44:49,410 --> 00:44:53,660 >> Gəlin bu pis adam, əlbəttə, bir Yaley demək. 629 00:44:53,660 --> 00:44:59,990 O harvardsucks.org ilə cavab verir. Boo! 630 00:44:59,990 --> 00:45:02,300 Pis, pis oğlan! Bad Yaley! 631 00:45:02,300 --> 00:45:06,020 Və ya da pis, o, cavab bilər. [Http://youtu.be/ZSBq8geuJk0]. 632 00:45:06,020 --> 00:45:09,530 Mən sizə uşaqlar ki, nə həyata rəqəm imkan olacaq. 633 00:45:09,530 --> 00:45:14,840 Bu əslində Airpwn adlı texnologiya! olan debüt edilmişdir 634 00:45:14,840 --> 00:45:18,950 təhlükəsizlik konfransların bir neçə il geri. 635 00:45:18,950 --> 00:45:25,190 Airpwn ilə! həqiqətən şəbəkə geri yol yeritmək üçün edirik. 636 00:45:25,190 --> 00:45:30,060 İnternet çıxmaq üçün çalışırıq və almaq üçün çalışırıq ki, kompüter 637 00:45:30,060 --> 00:45:33,090 Facebook.com üçün harvard.edu üçün Google.com, 638 00:45:33,090 --> 00:45:39,190 gəlib ki, zərərli cavab görmək və dərhal güman, tamam, 639 00:45:39,190 --> 00:45:43,550 Mən gözləyir və məzmun əldə qədər ki cavab var 640 00:45:43,550 --> 00:45:48,860 harvardsucks.org ya nameyourfavoriteshocksite.com, 641 00:45:48,860 --> 00:45:55,270 və şeyi pisləşəcək necə tez görə bilərsiniz. 642 00:45:55,270 --> 00:46:00,190 >> Şeyləri bu cür Bütün edilə 643 00:46:00,190 --> 00:46:05,870 çünki bir simli ilə bağlı bu simli əlaqələri ilə 644 00:46:05,870 --> 00:46:08,710 trafik üçün snoop çətindir. 645 00:46:08,710 --> 00:46:13,020 Mən pis adam deyiləm və bir sonuna kompüter deyil 646 00:46:13,020 --> 00:46:14,460 sizin modem - və digər sonunda sizin router deyil - 647 00:46:14,460 --> 00:46:20,180 Hesab edirəm ki, əlaqədar arasında əldə edə bilərsiniz yeganə yolu həqiqətən mənim kompüter toy üçün 648 00:46:20,180 --> 00:46:22,180 haradasa orta-ci ildə 649 00:46:22,180 --> 00:46:26,820 və ya router ilə bir şey aşağı başqa bir şey yoxdur. 650 00:46:26,820 --> 00:46:33,360 Amma simsiz ilə, bir sinif otağının ön sırada oturan kimi asan ola bilər 651 00:46:33,360 --> 00:46:38,200 və geri insanlara pis məhsullarının bütün növ edə bilərsiniz. 652 00:46:38,200 --> 00:46:41,570 >> Nin bu bəzi şeyləri müdafiə edə bilər necə haqqında danışmaq edək. 653 00:46:41,570 --> 00:46:46,860 Bu 802.11 - simsiz standartlar inkişaf edən insanlar - 654 00:46:46,860 --> 00:46:50,820 Onlar təsəvvür heç bir uzanır ilə lal insanlar deyil. 655 00:46:50,820 --> 00:46:56,110 Bu sərin texnologiya və 1999-cu ildə debüt zaman 656 00:46:56,110 --> 00:47:00,780 onlar WEP adlanan bu standart ilə çıxdı. 657 00:47:00,780 --> 00:47:03,360 Siz simsiz şəbəkə cəhd və qoşulmaq zaman burada görə bilərsiniz 658 00:47:03,360 --> 00:47:07,450 müxtəlif təhlükəsizlik variantları hər cür var. 659 00:47:07,450 --> 00:47:11,800 6 birlikdə var, çünki bir ağrı növü var 660 00:47:11,800 --> 00:47:14,790 və həqiqətən 1 qoşulmaq üçün hissi verir, heç vaxt. 661 00:47:14,790 --> 00:47:19,190 Üst Bu 1 onlar WEP adlı ilə gələn ilk biridir. 662 00:47:19,190 --> 00:47:27,960 WEP Simli Ekvivalent Gizlilik durur, mən inanıram ki, 663 00:47:27,960 --> 00:47:31,730 olmayan simsiz Şifreleme Protokol ümumi yanlış ad deyil. 664 00:47:31,730 --> 00:47:36,170 Bu gizlilik ekvivalent və təhlükəsizlik qorunması təmin etməyə çalışır Çünki 665 00:47:36,170 --> 00:47:40,590 bir simli şəbəkə ilə ekvivalent 666 00:47:40,590 --> 00:47:46,710 WEP nə qədər baş bitir ilə, 667 00:47:46,710 --> 00:47:52,300 siz yazın ki, sadə, az parol və şifrelemek üçün xidmət 668 00:47:52,300 --> 00:47:56,210 Sizin kompüter və router arasında rabitə bütün. 669 00:47:56,210 --> 00:47:58,210 >> WEP baxmayaraq problem nədir? 670 00:47:58,210 --> 00:48:01,470 WEP ilə parol, həqiqətən, qısa 671 00:48:01,470 --> 00:48:04,900 və həmçinin hər kəs ki, eyni dəqiq parol istifadə edir 672 00:48:04,900 --> 00:48:07,610  və belə decrypt üçün həqiqətən asandır. 673 00:48:07,610 --> 00:48:10,580 Belə ki, çox tez insanlar, WEP bir problem olduğunu fiqurlu 674 00:48:10,580 --> 00:48:16,100 və siz bu kiçik oğlan hələ də göstərmək görmək yeganə səbəbi deyil - 675 00:48:16,100 --> 00:48:18,890 WEP istifadə ki, bəzi köhnə sistemi var - 676 00:48:18,890 --> 00:48:25,710 yerine WPA var axtarır və hətta WPA2 standartları olmalıdır nə 677 00:48:25,710 --> 00:48:29,130 ki, sonradan azad edilib. 678 00:48:29,130 --> 00:48:35,040 Bu sistemlər simsiz İnternet qorunması daha yaxşı go var. 679 00:48:35,040 --> 00:48:41,090 Yəni onlar hələ də bəzi hackability var, dedi. 680 00:48:41,090 --> 00:48:44,010 Bunu to orada tools var. 681 00:48:44,010 --> 00:48:47,490 Pis ola bilər ki, xüsusi bir şey ki, 682 00:48:47,490 --> 00:48:55,370 siz qoşulmaq və simsiz marşrutlayıcı təsdiq və bəzi növ kullanıyorsanız 683 00:48:55,370 --> 00:49:00,940 şifrelenmiş rabitə, bir hacker asanlıqla bir paket göndərə bilərsiniz çıxır ki, 684 00:49:00,940 --> 00:49:03,990 , istiqamətləndirici sizi ayırmaq 685 00:49:03,990 --> 00:49:07,220 və bir dəfə onlar sonra qulaq asmaq bilərsiniz qaralar sonra - 686 00:49:07,220 --> 00:49:11,800 sizin router ilə bərpa qoşulma üçün cəhd kimi onlar paket iyləmək bilər. 687 00:49:11,800 --> 00:49:16,800 Və informasiya ilə onlar sonra rabitə qalan və decrypt bilərsiniz. 688 00:49:16,800 --> 00:49:24,580 Hər hansı bir bütün təsəvvür kənarda təhlükəsiz hər hansı vasitələrlə bu deyil. 689 00:49:24,580 --> 00:49:30,060 >> Siz simsiz şəbəkələri yaradılması etdiyiniz zaman edə bilərsiniz digər şey 690 00:49:30,060 --> 00:49:35,460 və ya onlara qoşulan olduğunuz deyil - burada mən bu şəbəkə qoşulması edirəm ki bildiriş 691 00:49:35,460 --> 00:49:37,640 mənim şəbəkəsinin adı soruşur. 692 00:49:37,640 --> 00:49:41,060 Bu da SSID kimi tanınır. 693 00:49:41,060 --> 00:49:48,610 Və siz sağ mənə mövcud SSIDs göstərir ki, bir qutu var ki, burada baxın. 694 00:49:48,610 --> 00:49:52,690 Bir Harvard Universiteti, bir CS50 və CS50 Personal şəbəkə var. 695 00:49:52,690 --> 00:49:59,180 İndi CS50 Personal şəbəkə ətrafında idi necə çox bilirdi? 696 00:49:59,180 --> 00:50:01,910 Əgər bəziləri. Siz bütün. 697 00:50:01,910 --> 00:50:08,800 Bu problemi, əlbəttə, biz SSIDs bizim siyahıda bu qədər qoymaq deyil ki, 698 00:50:08,800 --> 00:50:10,930 heç kim ən çox ehtimal bu barədə məlum olardı. 699 00:50:10,930 --> 00:50:16,090 Mən ümid edirəm. Uşaqlar bütün simsiz daxil çat çalışır halda. 700 00:50:16,090 --> 00:50:18,700 Amma bu edə bilərsiniz bir şey yaradılması etdiyiniz zaman ki, həqiqətən vacibdir ki, 701 00:50:18,700 --> 00:50:20,280 evdə router. 702 00:50:20,280 --> 00:50:22,820 Bu yəqin ki, siz bir çox bir neçə il ərzində baş deyil 703 00:50:22,820 --> 00:50:29,010 lakin saxlama orada həyata SSID unutmayın və həmçinin adlandırma yoxdur 704 00:50:29,010 --> 00:50:34,630 super-adi bir şey uzun vadede daha çox təhlükəsiz saxlamaq kömək edəcək. 705 00:50:34,630 --> 00:50:38,070 >> Edə bilərsiniz şeyi yekun neçə. Bir HTTPS edir. 706 00:50:38,070 --> 00:50:44,760 Bir ictimai wi-fi sahədə Əgər, bir Starbucks var Əgər 707 00:50:44,760 --> 00:50:52,620 və sizin bank hesabınıza daxil olmaq üçün karar verirsiniz, Gmail, Facebook daxil 708 00:50:52,620 --> 00:50:56,140 bu əlaqələri HTTPS üzərində gedir əmin olun. 709 00:50:56,140 --> 00:50:59,800 Bu təhlükəsizlik əlavə qatı, şifreleme əlavə təbəqə var. 710 00:50:59,800 --> 00:51:01,520 Burada unutmayın bir şey deyil, 711 00:51:01,520 --> 00:51:04,740 necə bir çox heç deyir ki, böyük, qırmızı ekran vasitəsilə tıklayan, 712 00:51:04,740 --> 00:51:07,480 "Bu haqqinda pis ola bilər." 713 00:51:07,480 --> 00:51:09,710 Mən bilirsən. 714 00:51:09,710 --> 00:51:13,090 Bu bütün Vətən sağ və ya kimi bir şey, görmək getmək gəzən etdiyiniz zaman yəqin ki, var? 715 00:51:13,090 --> 00:51:19,900 Bəli. (Tamaşaçı gülüş) Evet. Burada getmək. Biz Vətən seyr kim bilir. 716 00:51:19,900 --> 00:51:24,540 Orada böyük, qırmızı ekran 717 00:51:24,540 --> 00:51:28,600 tez-tez ki, bir şey funky gedir göstərir. 718 00:51:28,600 --> 00:51:32,530 Bəzən, veb özü etibarsız yalnız var 719 00:51:32,530 --> 00:51:35,520 insanlar üçün çalışırıq, lakin eyni böyük, qırmızı ekran gəlir 720 00:51:35,520 --> 00:51:37,520 mount şəbəkə sizə hücum. 721 00:51:37,520 --> 00:51:40,220 Siz böyük, qırmızı ekran, bir Starbucks qədər gəlib ki əgər 722 00:51:40,220 --> 00:51:42,440 vasitəsilə basın yoxdur. 723 00:51:42,440 --> 00:51:45,350 Bad xəbərlər. Bad news daşıyır. 724 00:51:45,350 --> 00:51:51,490 >> Siz baxmaq edə bilər ki, son şey 725 00:51:51,490 --> 00:51:54,120 VPN bir növ edir. 726 00:51:54,120 --> 00:52:00,280 Bu VPN Harvard vasitəsilə mövcuddur - vpn.fas.harvard.edu - 727 00:52:00,280 --> 00:52:03,260 və nə deyil əslində güvenli bir keçid yaradır ki, 728 00:52:03,260 --> 00:52:06,460 vasitəsilə siz və Harvard arasında huniler trafik, 729 00:52:06,460 --> 00:52:12,160 və bir Starbucks kimi bir yerdə oturan edirik ki, əgər yol 730 00:52:12,160 --> 00:52:19,030 siz Harvard qoşula bilər ki, təhlükəsiz yol almaq və sonra Harvard dən göz atın. 731 00:52:19,030 --> 00:52:21,950 Yenə foolproof deyil. İnsanlar ortada əldə edə bilərsiniz. 732 00:52:21,950 --> 00:52:25,850 Onlar pozmaq başlaya bilər, lakin bu, daha təhlükəsiz təhlükəsizlik əsaslanaraq daha 733 00:52:25,850 --> 00:52:28,620 Wi-Fi Təkcə. 734 00:52:28,620 --> 00:52:32,570 >> Bütün hüquqlar. Yekun olaraq, 735 00:52:32,570 --> 00:52:34,580 siz simsiz şəbəkələri yaradılması zaman, 736 00:52:34,580 --> 00:52:37,250 - Siz ictimai simsiz istifadə gediş zaman 737 00:52:37,250 --> 00:52:43,430 , o, B.Good olub, bu beş Guys olsun, bir Starbucks olub 738 00:52:43,430 --> 00:52:46,440 kimi bir şey - onlar wi-fi var hər yerdə - 739 00:52:46,440 --> 00:52:48,440 sizin ətraf xəbərdar olmaq. 740 00:52:48,440 --> 00:52:50,440 Insanlar nə edə xəbərdar olun. 741 00:52:50,440 --> 00:52:53,890 Və təhlükəsiz olmalıdır. Bank hesabı daxil etməyin. 742 00:52:53,890 --> 00:52:58,740 Kimsə sonradan Parolu ilə göstərir, əgər bir kobud Oyanış ola bilər. 743 00:52:58,740 --> 00:53:05,480 Ki, allıq gedin! Mən yekun söz üçün David üzərində geri şeyi açmaq üçün gedirəm. 744 00:53:05,480 --> 00:53:11,270 (Alqış) 745 00:53:11,270 --> 00:53:14,360 >> [David] Mən şəxsi təcrübə bir şey bölüşmək istədiyiniz düşündüm. 746 00:53:14,360 --> 00:53:19,940 Apple əsasən bu məsələ kökü baxmayaraq - Əgər oynamaq istəyirəm bilər alət 747 00:53:19,940 --> 00:53:22,710 siz ildən proqram güncelledik əgər - 748 00:53:22,710 --> 00:53:26,670 amma həqiqətən istifadə edən proqram etibar edə olmayan bu sonuna doğru, 749 00:53:26,670 --> 00:53:33,270 və Nate-nin bal, başqa insanların nə çox bir az iyləmək edə 750 00:53:33,270 --> 00:53:37,010 Orada - bu artıq bir il və yarım əvvəl gəldi ki, proqram bir parça idi. 751 00:53:37,010 --> 00:53:39,010 [IPhoneTracker] [http://petewarden.github.com/iPhoneTracker/] 752 00:53:39,010 --> 00:53:41,010 Bir dəfə, iTunes - iCloud əvvəl, sizin iPod və ya iPhone senkronizasyonu zaman ya 753 00:53:41,010 --> 00:53:45,570 iTunes ilə və ya iPads - yedeklemeler maraq, 754 00:53:45,570 --> 00:53:48,340 bir zaman üçün iPhone və digər cihazlar bunu edilmişdir nə 755 00:53:48,340 --> 00:53:50,340 GPS məlumatları istifadə edərək. 756 00:53:50,340 --> 00:53:52,710 >> Siz bəlkə bilirik ki, sizin iPhone və Androids və Windows mobil telefonlar 757 00:53:52,710 --> 00:53:55,410 Siz xəritələri göstərən maraq olduğu və bu gün kimi takip edə bilərsiniz 758 00:53:55,410 --> 00:53:59,440 və analoji - də Apple və bu digər şirkətlərin nə edir 759 00:53:59,440 --> 00:54:02,650 onlar adətən həqiqətən maraq olduğunuz demək olar ki, hər yerdə izlemek 760 00:54:02,650 --> 00:54:05,380 xidmət keyfiyyətinin yaxşılaşdırılması. 761 00:54:05,380 --> 00:54:07,170 Biri, siz daha targeted reklam və kimi əldə edə bilərsiniz 762 00:54:07,170 --> 00:54:10,740 lakin iki, onlar da var dünyada simsiz Hotspots olduğu anlamaq bilər 763 00:54:10,740 --> 00:54:14,780 və bu geo-yer ilə kömək edə bilər - xalq mövqeyi triangulation növ. 764 00:54:14,780 --> 00:54:18,520 >> Uzun hekayə qısa, bizim bütün zaman bəzi məbləği antennae gəzinti edilmişdir. 765 00:54:18,520 --> 00:54:22,180 Təəssüf ki, Apple dizayn qərar qəbul etmişdir - və ya onların olmaması - 766 00:54:22,180 --> 00:54:26,590 bu iTunes dəstəklədiyi-up olan zaman bu məlumat şifrelemek deyil. 767 00:54:26,590 --> 00:54:30,330 Bəs təhlükəsizlik tədqiqatçı aşkar bu yalnız böyük bir XML fayl idi - 768 00:54:30,330 --> 00:54:33,810 böyük mətn faylı - xalq iTunes proqram oturan, 769 00:54:33,810 --> 00:54:35,400 və yalnız bir az maraqlı olsaydı, 770 00:54:35,400 --> 00:54:38,990 Sizin həyat yoldaşı tarixi, roommate tarixi, ətrafında poking getmək bilər 771 00:54:38,990 --> 00:54:41,050 sizin sibling tarixi və kimi, 772 00:54:41,050 --> 00:54:44,590 və bəzi pulsuz proqram sayəsində, bu GPS koordinatları bütün sahəsi bilər - 773 00:54:44,590 --> 00:54:46,590 enlem ve boylam. 774 00:54:46,590 --> 00:54:48,590 >> Belə ki, mən, həqiqətən, öz telefon bu idi. 775 00:54:48,590 --> 00:54:51,210 Mən telefon takıldığından və əmin kifayət qədər, iTunes mənim versiyası zamanı şifrelenmiş deyil 776 00:54:51,210 --> 00:54:53,900 və mən görmək nə öz nümunələri idi. 777 00:54:53,900 --> 00:54:56,970 Burada Amerika Birləşmiş Ştatları və bu mavi dairələrinin hər təmsil 778 00:54:56,970 --> 00:55:01,670 Mən bu telefon olan bu əvvəlki ay ərzində olmuşdur baş yerləşir. 779 00:55:01,670 --> 00:55:04,940  Mən Şimal, California, bir az vaxt, qədər, əlbəttə, çox vaxt sərf 780 00:55:04,940 --> 00:55:08,690 qısa-müddətli Texas səyahət, və sonra bu barədə zoom əgər - 781 00:55:08,690 --> 00:55:11,120 Bu gözəl və maraqlı bütün növ, lakin mən bu bilirdi. 782 00:55:11,120 --> 00:55:13,890 , Dostlarım çoxu bu bilirdim, ancaq daha dərin dalış əgər 783 00:55:13,890 --> 00:55:17,090 Mən Şimal mənim çox vaxt sərf burada baxın. 784 00:55:17,090 --> 00:55:20,330 Bir tanış görünüşlü şəhərləri üzərinə dil varsa - 785 00:55:20,330 --> 00:55:24,670 Bu böyük, mavi mürəkkəb leke mahiyyətcə, Boston üzərində mərkəzi 786 00:55:24,670 --> 00:55:29,510 və sonra Boston həyata radiasiya ətrafında vaxt bir az sərf edərlər. 787 00:55:29,510 --> 00:55:32,780 Amma həmin il məsləhət bir qədər edirdi. 788 00:55:32,780 --> 00:55:36,090 Bu il şərq seaboard və həqiqətən mənə görə bilərsiniz 789 00:55:36,090 --> 00:55:41,920 və mənim cib mənim iPhone Boston və Nyu-York arasında geri və irəli səyahət 790 00:55:41,920 --> 00:55:47,510 və daha aşağı Philadelphia, habelə məzuniyyət vaxtı bir az sərf 791 00:55:47,510 --> 00:55:50,340 orada az qol olan Cape üzrə. 792 00:55:50,340 --> 00:55:53,030 Belə ki, bu nöqtələr hər biri, mən olmuş bir yer təmsil 793 00:55:53,030 --> 00:55:56,970 və mənə tamamilə unbeknownst, bütün bu tarixi orada oturmuşdu 794 00:55:56,970 --> 00:55:58,410 mənim masa üstü kompüter haqqında. 795 00:55:58,410 --> 00:56:00,470 Siz zoom varsa - bu həqiqətən bir az narahat idi. 796 00:56:00,470 --> 00:56:04,190 Mən heç Pennsylvania ki, xüsusi il olması heç xatirə idi. 797 00:56:04,190 --> 00:56:07,840 Amma bir az bu barədə çətindir və mən fiqurlu baxmayaraq, oh, əslində o idi ki, səfər 798 00:56:07,840 --> 00:56:11,160 və əmin kifayət qədər, mənim telefon mənə tutdu idi. 799 00:56:11,160 --> 00:56:14,180 >> Apple ildən bu məlumat şifrelenir edib 800 00:56:14,180 --> 00:56:17,380 amma bu bizi də haqqında toplanmış olunur nə qədər məlumat yalnız kanıtıdır 801 00:56:17,380 --> 00:56:20,850 və necə asanlıqla - yaxşı və ya pis üçün - bu, məqbul deyil. 802 00:56:20,850 --> 00:56:23,340 Nate-nin müzakirəsi dən inşallah Rob-nin müzakirəsi gələn Anlık-aways biri 803 00:56:23,340 --> 00:56:27,370 və bu gün kimi kiçik visuals bu bütün daha biləndir olmaq yalnız 804 00:56:27,370 --> 00:56:31,160 belə baxmayaraq ki, - Rob-nin nöqtəsi kimi - we're növ hüququ berbat? 805 00:56:31,160 --> 00:56:33,920 Bu təhdidlər bəzi gəldiyi zaman çox biz edə bilər, yoxdur 806 00:56:33,920 --> 00:56:37,130 lakin gün sonunda biz bir şey və ya kimsə etibar var 807 00:56:37,130 --> 00:56:38,510 biz, həqiqətən, bu texnologiyaların istifadə etmək istəyirsinizsə. 808 00:56:38,510 --> 00:56:43,150 Ən azı biz məlumatlı qərarlar və hesablanmış qərarlar qəbul edilə bilər və ya 809 00:56:43,150 --> 00:56:46,390 biz, həqiqətən, bu xüsusilə həssas hesab yoxlanılması olmalıdır 810 00:56:46,390 --> 00:56:49,330 və ya biz, həqiqətən, o qədər ani mesaj şübhəli göndərmək lazımdır 811 00:56:49,330 --> 00:56:52,180  bu kimi bir wi-fi mühit. 812 00:56:52,180 --> 00:56:54,990 >> Belə ki, yalnız bir viktorina qalıqları, bildirib ki, bir mühazirə qalır. 813 00:56:54,990 --> 00:56:57,740 Biz çərşənbə sonra bazar ertəsi görürsünüz. 814 00:56:57,740 --> 00:57:02,100 (Alqış və alqış) 815 00:57:02,100 --> 00:57:06,100 [CS50TV]