1 00:00:00,000 --> 00:00:02,750 [Powered by Google Translate] [კვირა 10] 2 00:00:02,750 --> 00:00:04,750 [დევიდ ჯ Malan] [ჰარვარდის უნივერსიტეტის] 3 00:00:04,750 --> 00:00:07,000 [ეს არის CS50.] [CS50.TV] 4 00:00:08,520 --> 00:00:13,240 >> ყველა უფლება! ეს არის CS50 მაგრამ არა ბევრად უფრო. 5 00:00:13,240 --> 00:00:14,740 ეს არის დაწყების კვირაში 10. 6 00:00:14,740 --> 00:00:18,780 ოთხშაბათს ჩვენ გვაქვს ჩვენი ინტელექტუალური და შემდეგ მომავალი ორშაბათიდან ჩვენ გვაქვს საზეიმო ტორტი 7 00:00:18,780 --> 00:00:22,030 როგორც ჩვენ მოდის სრული წრე ყველა გზა უკან კვირაში ნულოვანი. 8 00:00:22,030 --> 00:00:25,200 დღეს ჩვენ ვსაუბრობთ ერთი ჩემი საყვარელი თემები, სიმართლე უნდა უთხრა - 9 00:00:25,200 --> 00:00:29,000 რომ უსაფრთხოებისა და კონფიდენციალურობის და შედეგებზე ყველა აპარატურის და პროგრამული უზრუნველყოფის 10 00:00:29,000 --> 00:00:31,000 რომ ჩვენ ყველა ვიყენებთ ამ დღეებში. 11 00:00:31,000 --> 00:00:33,300 გულახდილად გეტყვით, არსებობს უამრავი საფრთხეების არსებობს 12 00:00:33,300 --> 00:00:35,430 რომ თუ არ ნამდვილად ათვისება იფიქრონ მათ, 13 00:00:35,430 --> 00:00:36,920 ისინი რეალურად საკმაოდ daunting. 14 00:00:36,920 --> 00:00:40,070 მაგალითია - თუ თქვენ ოდესმე გადმოწერილი ნაჭერი პროგრამული უზრუნველყოფა 15 00:00:40,070 --> 00:00:42,660 გამორთვა ინტერნეტი და დაყენებული თქვენს კომპიუტერში, 16 00:00:42,660 --> 00:00:45,220 თქვენ ჩართული შევიდა მნიშვნელოვანი ხარისხის ნდობა, არა? 17 00:00:45,220 --> 00:00:50,220 არაფერია აღკვეთეს Skype, ან Chrome, ან რაიმე ნაჭერი პროგრამული უზრუნველყოფა 18 00:00:50,220 --> 00:00:54,770 თქვენ დაყენებული გადატანა თქვენს კომპიუტერში, საწყისი უბრალოდ წაშლის ყველა ფაილი თქვენს ხისტ დისკზე; 19 00:00:54,770 --> 00:00:58,260 საწყისი ატვირთვა ყველა ფაილი თქვენს ხისტ დისკზე ზოგიერთი ცუდი ბიჭი სერვერზე; 20 00:00:58,260 --> 00:01:01,650 საწყისი კითხულობს ყველა თქვენს წერილებს; საწყისი intercepting ყველა თქვენს მყისიერი მესიჯები. 21 00:01:01,650 --> 00:01:05,040 რადგან რეალობა ის არის დღეს ყველაზე თანამედროვე ოპერაციული სისტემები 22 00:01:05,040 --> 00:01:10,040 მართლაც არ არის დიდი კედლის შორის პროგრამების, რომ ჩვენ დააყენოთ, 23 00:01:10,040 --> 00:01:14,220 და შენ და მე საკმაოდ ბევრი უბრალოდ სახის გადაკვეთის ჩვენი თითები და აღება რწმენა 24 00:01:14,220 --> 00:01:17,750 რომ app ჩვენ გადმოწერილი უფასოდ, ან რომ რაც არის 99 ცენტი, 25 00:01:17,750 --> 00:01:20,140 არის პრაქტიკულად მთლიანად კეთილთვისებიანი. 26 00:01:20,140 --> 00:01:23,090 თუმცა, როგორც ჩვენ ვნახეთ მეშვეობით C, და ახლა PHP და JavaScript, 27 00:01:23,090 --> 00:01:25,420 ამ უნარი გამოხატოს საკუთარ თავს programatically, 28 00:01:25,420 --> 00:01:30,300 შეგიძლიათ გააკეთოთ ყველაზე არაფერი გინდათ ერთად პროგრამა, რომელიც მომხმარებელს თავად ან თავად შეეძლო. 29 00:01:30,300 --> 00:01:32,390 >> ასე რომ, დღეს ჩვენ ფოკუსირება რომ topic - 30 00:01:32,390 --> 00:01:35,360 არა მხოლოდ გარკვეული საფრთხეები, არამედ თავდაცვითი. 31 00:01:35,360 --> 00:01:37,540 მართლაც, მსოფლიოში უსაფრთხოების კულტურას, 32 00:01:37,540 --> 00:01:39,040 არსებობს სახის ამ კატა და მაუსი თამაში, 33 00:01:39,040 --> 00:01:41,990 და მე daresay ცუდები თითქმის ყოველთვის აქვს ფეხი up. 34 00:01:41,990 --> 00:01:45,880 რაც შეეხება მიღების უპირატესობა აპარატურის და პროგრამული უზრუნველყოფის ჩვენი პერსონალური კომპიუტერი, 35 00:01:45,880 --> 00:01:51,250 ჩვენ უნდა გვესმოდეს, რომ ცუდი ბიჭი უბრალოდ სჭირდება, რათა იპოვოს ერთი მარტივი შეცდომა - 36 00:01:51,250 --> 00:01:56,150 ერთი გამოყენებისათვის, ერთი bug - ში ნაჭერი პროგრამული უზრუნველყოფა ჩვენ წერილობითი ან გაშვებული 37 00:01:56,150 --> 00:01:58,280 იმისათვის მისთვის აღება მთელი ჩვენი სისტემა. 38 00:01:58,280 --> 00:02:02,870 პირიქით, ჩვენ - კარგი ბიჭები - უნდა პატჩი და დაფიქსირება ყველა იმ შეცდომებს 39 00:02:02,870 --> 00:02:04,900 და თავიდან ყველა იმ სისუსტეები. 40 00:02:04,900 --> 00:02:07,870 ასე რომ, მე daresay მთელ, ცუდები აქვს უპირატესობა. 41 00:02:07,870 --> 00:02:10,840 რა კლასები მოსწონს და მომდევნო კლასებში მართლაც შესახებ 42 00:02:10,840 --> 00:02:14,830 არ შესახებ ასწავლის, თუ როგორ უნდა ეწარმოებინა ბრძოლები რომ ეს ცუდები არ, 43 00:02:14,830 --> 00:02:18,220 მაგრამ, თუ როგორ უნდა დავიცვათ თავი ან თუნდაც როგორ უნდა გამოითვლება გადაწყვეტილება 44 00:02:18,220 --> 00:02:22,970 რომ დიახ, მე ვიცი, ამ ნაჭერი პროგრამული უზრუნველყოფა შეიძლება მართლაც წაიკითხა ყველა ერთი ჩემი წერილებს, 45 00:02:22,970 --> 00:02:27,040 მაგრამ მე okay ერთად, რომ იგი ღირებულების მოაქვს ჩემთვის, მეორეს მხრივ. 46 00:02:27,040 --> 00:02:31,060 >> მე ძალიან მოხარული იქნება შეუერთდა 2 of smartest ადამიანი ვიცი - 47 00:02:31,060 --> 00:02:33,060 რობ Bowden და Nate Hardison. 48 00:02:33,060 --> 00:02:36,850 რობ არის მიიღოს ჩვენთვის ტურის მეშვეობით ყველაზე დაბალი დონის უსაფრთხოების Tags - 49 00:02:36,850 --> 00:02:42,470 რომ შემდგენელი, რომელიც, დღემდე, ჩვენ ყველა მოვიდა მიყვარს და ენდობა. რობ Bowden. 50 00:02:42,470 --> 00:02:47,790 [ტაში] 51 00:02:47,790 --> 00:02:50,280 >> [Rob] ყველა უფლება. დავით უკვე საკმაოდ ბევრი აღებული მთელი ჩემი spiel 52 00:02:50,280 --> 00:02:52,320 რომ მივდიოდი შემოიღონ, მაგრამ - 53 00:02:52,320 --> 00:02:58,070 რამდენიმე კვირის წინ, თქვენ ნახეთ მაგალითი ბუფერული-overflow თავდასხმა 54 00:02:58,070 --> 00:03:01,900 რაც მაგალითი Hacker გარჩევაში შევიდა რამდენიმე ნაჭერი პროგრამული უზრუნველყოფა 55 00:03:01,900 --> 00:03:06,060 რომ ისინი არ არიან უნდა გარჩევაში გადაიზარდა. 56 00:03:06,060 --> 00:03:09,690 მეორე მხარეს ამ 57 00:03:09,690 --> 00:03:14,470 ზოგჯერ თქვენ გაქვთ პროგრამული უზრუნველყოფა, რომ არის მუქარის და თავისთავად. 58 00:03:14,470 --> 00:03:17,070 ეს კი არ უნდა იყოს კალენდარი. 59 00:03:17,070 --> 00:03:20,670 პირი, რომელიც წერდა პროგრამული სურს hack თქვენ. 60 00:03:20,670 --> 00:03:22,190 >> მოდით უბრალოდ ხტომა მარჯვენა კოდი, 61 00:03:22,190 --> 00:03:28,560 აღების შევხედოთ "login.c". 62 00:03:28,560 --> 00:03:33,390 აქ სულელური პროგრამა, რომელიც validates სახელის და პაროლის გამოყენება. 63 00:03:33,390 --> 00:03:39,420 აქ უნდა იყოს აუცილებლად მიღების კომფორტულად C ისევ ვიქტორინა. 64 00:03:39,420 --> 00:03:43,470 პირველი, ჩვენ გამოყენებით მიიღოს სიმები აღწერისთვის სახელი, 65 00:03:43,470 --> 00:03:46,280 მაშინ ჩვენ გამოყენებით Get სიმებიანი უნდა დაიბრუნოს დაგავიწყდათ, 66 00:03:46,280 --> 00:03:50,680 და მაშინ ჩვენ გვაქვს ტრივიალური ამოწმებს მხოლოდ, არის სახელი "რობ"? 67 00:03:50,680 --> 00:03:52,710 და პაროლი "thisiscs50"? 68 00:03:52,710 --> 00:03:56,900 ან, არის სახელი "ტომი" და პაროლი "I <3javascript"? 69 00:03:56,900 --> 00:03:58,980 თუ არც იმ არის საქმე, 70 00:03:58,980 --> 00:04:01,980  მაშინ ჩვენ უბრალოდ აპირებს ბეჭდვა "წარმატება", და შემდეგ ჩვენ გვაქვს წვდომა. 71 00:04:01,980 --> 00:04:07,690 წინააღმდეგ შემთხვევაში, ჩვენ ვაპირებთ ბეჭდვა "არასწორი შესვლა" და შემდეგ, რა თქმა უნდა, 72 00:04:07,690 --> 00:04:11,120  რადგან ესკიზის სიმები malloc ხსოვნას, ჩვენ თავისუფალ სახელი და პაროლი. 73 00:04:11,120 --> 00:04:15,560 ეს არის ტრივიალური შესვლა პროგრამა, 74 00:04:15,560 --> 00:04:18,110 და თუ ფიქრობთ ამის შესახებ, როდესაც თქვენ შეხვიდეთ ელექტრო მოწყობილობების, 75 00:04:18,110 --> 00:04:22,350 ეს საკმაოდ მსგავსი - ან თუნდაც შესვლისგან თქვენს კომპიუტერში - 76 00:04:22,350 --> 00:04:24,930 არსებობს რამოდენიმე login პროგრამა რომელიც გაწვდით წვდომა. 77 00:04:24,930 --> 00:04:31,840 აქ, ჩვენ არ უნდა ჰქონდეს მყარი კოდირებული 'rob', 'thisiscs50 "," ტომი "," I <3javascript', 78 00:04:31,840 --> 00:04:34,950 მაგრამ ალბათ არსებობს გარკვეული ფაილის სადმე თქვენს ოპერაციულ სისტემაში 79 00:04:34,950 --> 00:04:38,690 რომელსაც აქვს სიაში სახელისა, რომლებიც შეგიძლიათ შეხვიდეთ სისტემაში 80 00:04:38,690 --> 00:04:41,740 და სიაში პაროლები ასოცირდება იმ სახელისა. 81 00:04:41,740 --> 00:04:46,090 ჩვეულებრივ პაროლები არა მხოლოდ ინახება plaintext მოსწონს ეს. 82 00:04:46,090 --> 00:04:50,360 არსებობს გარკვეული დაშიფვრის, მაგრამ ამ ყველაფერს გააკეთებს ჩვენი მაგალითი. 83 00:04:50,360 --> 00:04:57,000 >> Coming მეტი ჩვენი შემდგენელი - 84 00:04:57,020 --> 00:05:00,780 ეს იქნება ძალიან მარტივია. 85 00:05:00,780 --> 00:05:04,800 ჩვენ უნდა დავაზუსტოთ მაინც ფაილი რომ ჩვენ გვინდა კომპილაციის, 86 00:05:04,800 --> 00:05:10,200 და შემდეგ აქ - ეს ხაზები 87 00:05:10,200 --> 00:05:12,520 მხოლოდ კითხულობს ფაილი. 88 00:05:12,520 --> 00:05:16,080 ეს ნათქვამია მთელ ფაილი ერთ დიდ ბუფერულ, 89 00:05:16,080 --> 00:05:19,000 და მაშინ ჩვენ null-შეწყვიტოს ჩვენი ბუფერული როგორც ყოველთვის, 90 00:05:19,000 --> 00:05:21,000 და ბოლოს ჩვენ უბრალოდ კომპილაციის ფაილი. 91 00:05:21,000 --> 00:05:24,090 ჩვენ არ ვაპირებთ გაიხსენოთ კომპილირების რეალურად განხორციელდა, 92 00:05:24,090 --> 00:05:26,820 მაგრამ, როგორც მინიშნება, უბრალოდ მოუწოდებს Clang. 93 00:05:26,820 --> 00:05:32,370 ჩვენ ვაპირებთ გამოვიყენოთ ეს პროგრამა კომპილირდება რამ ნაცვლად Clang. 94 00:05:32,370 --> 00:05:39,260 ერთი პრობლემა ჩვენ დავიწყებთ არის ვხედავთ ჩვენ გვინდა კომპილაციის ჩვენი შემდგენელი, 95 00:05:39,260 --> 00:05:43,620 მაგრამ თუ ჩვენ არ ვაპირებთ გამოვიყენოთ Clang, მე არ ვიცი რა მე ვაპირებ კომპილირდება ერთად. 96 00:05:43,620 --> 00:05:46,700 ეს არის ზოგადი საკითხი ცნობილია როგორც bootstrapping. 97 00:05:46,700 --> 00:05:53,080 ასე რომ, მხოლოდ ამ ერთხელ, მე ვაპირებ გამოიყენოთ Clang შედგენა ჩვენი შემდგენელი. 98 00:05:53,080 --> 00:05:58,800 >> თუ ფიქრობთ gcc და Clang - 99 00:05:58,800 --> 00:06:03,200 იმ პროგრამების, იმ compilers მუდმივად მიმდინარეობს განახლება, 100 00:06:03,200 --> 00:06:10,010 და იმ compilers არიან კომპილებულია gcc და Clang. 101 00:06:10,010 --> 00:06:14,890 Clang მხოლოდ ერთი დიდი C ან C + + პროგრამის, 102 00:06:14,890 --> 00:06:19,510 ასე შემდგენელი ისინი იყენებენ შედგენა, რომელიც Clang. 103 00:06:19,510 --> 00:06:26,820 აქ არის, ჩვენ უბრალოდ უნდა ჩვენი შემდგენელი კომპილაციის ჩვენი შემდგენელი, 104 00:06:26,820 --> 00:06:33,830 და ჩვენ შეგვიძლია ვთქვა - '. / შემდგენელი "," compiler.c', 'compile.c', '-o შემდგენელი. 105 00:06:33,830 --> 00:06:37,250 გაითვალისწინეთ ეს არის ზუსტი ბრძანება მე გაიქცა ადრე - 106 00:06:37,250 --> 00:06:41,330 უბრალოდ ჩანაცვლება Clang with '. / შემდგენელი. 107 00:06:41,330 --> 00:06:44,990 და ახლა ჩვენ გვაქვს კიდევ ერთი შემდგენელი, მაგრამ ზუსტად იგივე. 108 00:06:44,990 --> 00:06:47,510 უბრალოდ მოუწოდებს Clang. 109 00:06:47,510 --> 00:06:55,050 >> ჩვენ ვაპირებთ გამოვიყენოთ ჩვენი შემდგენელი კომპილაციის ჩვენი login პროგრამა. 110 00:06:55,050 --> 00:07:03,030 Okay - ". / შემდგენელი login.c-o შესვლა". 111 00:07:03,030 --> 00:07:06,160 ასე რომ, გაურკვეველი მინიშნება "GetString". 112 00:07:06,160 --> 00:07:11,250 Got "-lcs50". Okay. 113 00:07:11,250 --> 00:07:13,790 ახლა მაქვს ჩვენი login პროგრამა. 114 00:07:13,790 --> 00:07:16,790 Running It - მიიღოს "გთხოვთ მიუთითოთ თქვენი სახელი". 115 00:07:16,790 --> 00:07:22,140 ერთი მაგალითი იყო რობ. გთხოვთ შეიყვანოთ თქვენი პაროლი - thisiscs50. 116 00:07:22,140 --> 00:07:24,930 და წარმატებებს! მე ხელი მიუწვდება. 117 00:07:24,930 --> 00:07:28,350 Running ისევ და შესვლამდე ზოგიერთი არასწორი პაროლი - 118 00:07:28,350 --> 00:07:30,350 ან არასწორი სახელი და პაროლი - 119 00:07:30,350 --> 00:07:32,860 არასწორი შესვლა. 120 00:07:32,860 --> 00:07:37,740 Okay. არაფერი საინტერესო ამ ჯერჯერობით. 121 00:07:37,740 --> 00:07:43,100 მაგრამ, მოდით, შევხედოთ შესვლა ერთხელ - 122 00:07:43,100 --> 00:07:47,850 და ეს იქნება გარკვეულწილად ტრივიალური მაგალითი, 123 00:07:47,850 --> 00:07:59,330 მაგრამ მოდით დაამატოთ სხვაგან აქ და ამბობენ, სხვაგან თუ ((strcmp (სახელი, "Hacker") == 0 && 124 00:07:59,330 --> 00:08:14,510 strcmp (დაგავიწყდათ, "LOLihackyou") == 0)) 125 00:08:14,510 --> 00:08:26,280 ამიტომ ახლა, printf ("კალენდარი! თქვენ ახლა ხელი მიუწვდება. \ n"); okay. 126 00:08:26,280 --> 00:08:36,240 შედგენა ამ - შემდგენელი login.c-o-login lcs50 - 127 00:08:36,240 --> 00:08:40,190 კოალიციაში შესვლა - და თუ გამოვიყენო ჩემი ნიკი ჰაკერი 128 00:08:40,190 --> 00:08:44,740 და პაროლი LOLihackedyou - 129 00:08:44,740 --> 00:08:47,780 არ ვამბობ, აკრიფოთ ეს არასწორია იქ ადრე? 130 00:08:47,780 --> 00:08:52,990 ამავე login.c--ihack - I'll არ კალენდარი რადგან ვფიქრობ გავაკეთო, რომ მოგვიანებით. 131 00:08:52,990 --> 00:08:56,270 Okay. Recompiling. 132 00:08:56,270 --> 00:09:01,500 თავიდან გაშვებით - ჰაკერი - LOLihackedyou - 133 00:09:01,500 --> 00:09:03,650 კალენდარი! თქვენ ახლა უკვე ხელმისაწვდომობა. 134 00:09:03,650 --> 00:09:06,580 >> არსებობს არ ჩანს, რომ დიდი სხვაობა 135 00:09:06,580 --> 00:09:10,890 იმიტომ რომ იგივე ზუსტი გამშვები ვიყავი აკეთებს სხვა სახელისა და პაროლის. 136 00:09:10,890 --> 00:09:17,720 Plus, დიდი რამ არის, რომ თუ სხვა ადამიანებს შევხედოთ ამ login.c-- 137 00:09:17,720 --> 00:09:24,020 ამბობენ, თუ გაივლის ამ off ჩემს პარტნიორი და ისინი გახსენით ეს ფაილი, 138 00:09:24,020 --> 00:09:29,870 და ისინი წაიკითხოს ეს, მათ ნახავთ - okay, რატომ გაქვთ ამ ხაზების კოდი აქ? 139 00:09:29,870 --> 00:09:33,320 სწორედ აშკარად არ არის რაღაც, რომ უნდა იყოს თქვენი პროგრამა. 140 00:09:33,320 --> 00:09:41,590 ზოგიერთ პროგრამებს - ისევე როგორც ყველა საკუთარი პროგრამული უზრუნველყოფა, რომ არ არის ღია - 141 00:09:41,590 --> 00:09:46,200 თქვენ შეიძლება არასდროს ვხედავ ამ ხაზების კოდი. 142 00:09:46,200 --> 00:09:50,440 რაღაც Skype ან რამე - ყველა თქვენ იცით, 143 00:09:50,440 --> 00:09:57,600 Skype არის თქვენს კომპიუტერში და არსებობს მხოლოდ გარკვეული ნიკი-დაგავიწყდათ კომბინაცია 144 00:09:57,600 --> 00:10:01,580 რომელიც შეხვიდეთ Skype ზოგიერთ სპეციალური გზა. 145 00:10:01,580 --> 00:10:04,230 ჩვენ არ ვიცით ამის შესახებ, და ადამიანებმა არ იციან ამის შესახებ, 146 00:10:04,230 --> 00:10:09,640 რადგან ისინი არ წაიკითხოთ sourcecode დაინახოს, რომ არსებობს ამ ხვრელი. 147 00:10:09,640 --> 00:10:11,800 >> რა ჩვენ მოვუწოდებთ ამ - 148 00:10:11,800 --> 00:10:16,530 თუმცა ეს არ არის ძალიან ჭკვიანი მაგალითად - 149 00:10:16,530 --> 00:10:18,970 ამ ეწოდება უკანა კარით. 150 00:10:18,970 --> 00:10:22,320 თუ ფიქრობთ უკანა შესასვლელს თქვენი სახლი. 151 00:10:22,320 --> 00:10:26,640 აქ, თუ შეამოწმოს ერთად სახელისა 'rob' ან 'ტომი,' 152 00:10:26,640 --> 00:10:28,580 იქნებოდა მოსწონს გამოყენებით "შესასვლელი კარი." 153 00:10:28,580 --> 00:10:33,700 სწორედ გზა მე უნდა საიმედოდ შემოხვიდეთ. 154 00:10:33,700 --> 00:10:37,630 მაგრამ თუ მე შემოსვლა ამ სახელის და პაროლის - 155 00:10:37,630 --> 00:10:40,630 მაშინ რომ გამოყენებით "უკანა კარით." 156 00:10:40,630 --> 00:10:42,810 ეს არ იყო განზრახ გზა შეღწევას პროგრამა, 157 00:10:42,810 --> 00:10:45,350 მაგრამ ეს ჯერ კიდევ მუშაობს. 158 00:10:45,350 --> 00:10:49,160 და ხალხს ზოგადად არ უნდა იცოდნენ ამ თავში კარები. 159 00:10:49,160 --> 00:10:53,050 ჩვენ ვაპირებთ, რომ გაუმჯობესდეს ამ. 160 00:10:53,050 --> 00:10:55,610 მოდით აღადგინოთ ამ ჩვენს ორიგინალური login.c, 161 00:10:55,610 --> 00:11:05,510 და მოდით შევხედოთ ჩვენს ახალ შემდგენელი. Okay. 162 00:11:05,510 --> 00:11:08,460 ყველაფერი აქ არის ზუსტად იგივე. 163 00:11:08,460 --> 00:11:10,460 ჩვენ კითხულობს მთელი ფაილის შევიდა ბუფერული. 164 00:11:10,460 --> 00:11:14,400 ყველაფერი ქვევით აქ არის იგივე. 165 00:11:14,400 --> 00:11:16,180 ჩვენ უბრალოდ შედგენილი ფაილი. 166 00:11:16,180 --> 00:11:19,770 მაგრამ ახლა მაქვს ეს დიდი თუ აქ 167 00:11:19,770 --> 00:11:24,140 რომ ამბობს, თუ ფაილი, რომ მე არ უნდა იყოს შედგენის არის login.c, 168 00:11:24,140 --> 00:11:27,390 მერე რაღაც განსაკუთრებული. 169 00:11:27,390 --> 00:11:29,900 რა არის, რომ რაღაც განსაკუთრებული? 170 00:11:29,900 --> 00:11:33,820 მე ვხედავ აქ ზოგიერთი სიმებიანი სახელწოდებით "hack ', 171 00:11:33,820 --> 00:11:35,950 და ეძებს ამ ხაზების კოდი - 172 00:11:35,950 --> 00:11:41,990 ეს არის იგივე ხაზების კოდი - ვფიქრობ მე გამოყენება 'ihack' და არა 'ihacked' წინაშე - 173 00:11:41,990 --> 00:11:44,240 ეძებს ამ ხაზების კოდი, 174 00:11:44,240 --> 00:11:47,880 ისინი იმავე ზუსტი ხაზების კოდი, რომელიც მე მქონდა წელს login.c ადრე. 175 00:11:47,880 --> 00:11:51,130 მაგრამ ახლა, ნაცვლად, რომელმაც მათ login.c, 176 00:11:51,130 --> 00:11:54,290 მე ვაპირებ დააყენა მათთვის ჩემი შემდგენელი. 177 00:11:54,290 --> 00:12:00,240 >> ეს არის ხაზი კოდი მე ვაპირებ გვინდა INSERT INTO login.c. 178 00:12:00,240 --> 00:12:06,350 ეს ხაზი კოდი - ბუფერულ რომ თავდაპირველად გამართა ჩემი login.c 179 00:12:06,350 --> 00:12:11,080 აღარ იქნება დიდი საკმარისი, ვინაიდან, ახლა მინდა ასევე ჩადეთ ამ hack 180 00:12:11,080 --> 00:12:12,940 შევიდა შუა ჩემი პროგრამა. 181 00:12:12,940 --> 00:12:16,350 ყველა ამ აკეთებს ქმნის ახალი ბუფერული რომ საკმარისად დიდი - 182 00:12:16,350 --> 00:12:22,020 როგორც ორიგინალური ფაილი და ზედმეტი ხაზების კოდი - hack - რომ მინდა ჩადეთ იქ. 183 00:12:22,020 --> 00:12:24,920 აქ არის რაღაც შეამჩნია - 184 00:12:24,920 --> 00:12:29,200 char * ნიმუში = "/ / უარყოფენ მათ წვდომას!" 185 00:12:29,200 --> 00:12:33,760 თუ ჩვენ ვიხსენებთ login.c, 186 00:12:33,760 --> 00:12:37,690 ჩვენ ვხედავთ ქვემოთ აქ ამ კომენტარის - უარყოფენ მათ შედიხართ? 187 00:12:37,690 --> 00:12:42,360 In login.c, ამ კომენტარის გამოიყურება სრულიად innocuous, 188 00:12:42,360 --> 00:12:48,270 ასე რომ თქვენ არ ეჭვი ნებისმიერი მუქარის განზრახვა მხოლოდ ამ კომენტარის. 189 00:12:48,270 --> 00:12:55,600 მაგრამ ჩვენს შემდგენელი, ჩვენ კონკრეტულად აპირებს ვეძებოთ ამ ხაზი კოდი, 190 00:12:55,600 --> 00:12:57,600 და მაშინ, როდესაც ჩვენ ეს - 191 00:12:57,600 --> 00:13:03,330 ამ ხაზების კოდი ჩასმა ჩვენი hack შევიდა, რომ თანამდებობა. 192 00:13:03,330 --> 00:13:06,910 ასე რომ, ჩვენ iterating მთელ login.c, 193 00:13:06,910 --> 00:13:12,080 ჩვენ ჩასმა რომ hack ზუსტად სადაც იგი აცხადებს, უარყოფენ მათ მისადგომ 194 00:13:12,080 --> 00:13:15,890 და მაშინ ჩვენ შედგენა - არ ორიგინალური login.c 195 00:13:15,890 --> 00:13:20,340 მაგრამ ახალი login.c რომ hack ჩასმული უფლება 'უარყოფენ მათ უფლებას საჭიროებს.' 196 00:13:20,340 --> 00:13:29,190 >> ახლა მინდა კომპილაციის ჩემი ახალი შემდგენელი რომ hack ჩართული. 197 00:13:29,190 --> 00:13:36,900 მე არ ვაპირებ გამოიყენოს Clang, მოდით კოპირება შემდგენელი ვიყენებდით ადრე 198 00:13:36,900 --> 00:13:48,420 და გამოყენება, რომ - ისე, შემდგენელი compiler.c compile.c-o evil_compiler. 199 00:13:48,420 --> 00:13:50,870 ახლა ჩვენი ბოროტი შემდგენელი - 200 00:13:50,870 --> 00:13:54,310 თუ ჩვენ გამოვიყენებთ ჩვენი ბოროტი შემდგენელი კომპილაციის ნებისმიერი სხვა ფაილი, 201 00:13:54,310 --> 00:13:57,980 ფაილი კომპილირდება, როგორც უნდა. 202 00:13:57,980 --> 00:13:59,980 ეს სრულიად ნორმალურია. 203 00:13:59,980 --> 00:14:06,870 მაგრამ თუ ჩვენ ვიყენებთ ჩვენი ბოროტი შემდგენელი კომპილაციის შესვლა - 204 00:14:06,870 --> 00:14:14,920 ასე,. / evil_compiler login.c-o-login lcs50 - 205 00:14:14,920 --> 00:14:21,310 ეძებს login.c კვლავ არსებობს აბსოლუტურად არაფერი აქ. 206 00:14:21,310 --> 00:14:25,770 ეს ჩვენი ჩვეულებრივი ", თუ ის ან რობ ან ტომი, რომელშიც ჩართულები ვართ, სხვაგან ვართ გარეთ". 207 00:14:25,770 --> 00:14:31,620 მაგრამ როდესაც ჩვენ აწარმოებს ჩვენი შესრულებადი, ეს იმუშავებს, როგორც ყოველთვის. 208 00:14:31,620 --> 00:14:36,640 Running ერთხელ - ჰაკერი, LOLihackyou - 209 00:14:36,640 --> 00:14:39,000 კალენდარი! თქვენ ახლა უკვე ხელმისაწვდომობა. 210 00:14:39,000 --> 00:14:43,560 Just ეძებს login.c, თქვენ არ მგონია არაფერი არ არის. 211 00:14:43,560 --> 00:14:46,960 მაგრამ შემდგენელი რომ გამოიყენება კომპილაციის login.c 212 00:14:46,960 --> 00:14:53,820 ისეა შემუშავებული რომ გაძლევთ ჩადეთ ამ hack იქნება პროგრამაში. 213 00:14:53,820 --> 00:14:57,320 ჩვენ მხოლოდ გადავიდა ჩვენი ორიგინალური პრობლემა. 214 00:14:57,320 --> 00:15:02,880 თავდაპირველად, ჩვენ გვქონდა ამ ხაზების კოდი login.c რომ თუ ვინმეს შევხედე მათ, 215 00:15:02,880 --> 00:15:05,470 მათ მინდა იყოს, როგორიც, რატომ არის ეს აქ? 216 00:15:05,470 --> 00:15:09,550 ახლა თუ ვინმე ხდება შევხედოთ ჩვენი შემდგენელი, 217 00:15:09,550 --> 00:15:12,140 ისინი ყველაფერს შევხედოთ ამ ხაზების კოდი და აცხადებენ, 218 00:15:12,140 --> 00:15:15,290 რატომ არის ეს აქ? 219 00:15:15,290 --> 00:15:17,210 ასე რომ, ჩვენ არ მთლიანად მოგვარდება ჩვენი პრობლემა. 220 00:15:17,210 --> 00:15:22,510 მაგრამ ჩვენ შეგვიძლია გამოვიყენოთ ეს იდეა ისევ. 221 00:15:22,510 --> 00:15:26,260 >> Taking შევხედოთ მესამე ვერსია შემდგენელი, 222 00:15:26,260 --> 00:15:32,500 ეს იმავე იდეას. 223 00:15:32,500 --> 00:15:36,240 ვკითხულობთ მთელი ფაილის შევიდა ბუფერული აქ, 224 00:15:36,240 --> 00:15:39,660 ჩვენ კომპილაციის ფაილი ქვემოთ აქ, 225 00:15:39,660 --> 00:15:44,220 და მაქვს გარკვეული სიმებიანი hack აქ, 226 00:15:44,220 --> 00:15:47,710 მაგრამ შეამჩნევს ფაილი, რომელიც მე რეალურად გარჩევაში არის. 227 00:15:47,710 --> 00:15:52,260 მე ვარ გარჩევაში compiler.c 228 00:15:52,260 --> 00:15:54,590 არ login.c. 229 00:15:54,590 --> 00:15:57,780 მაგრამ რა ვარ მე ჩასმა შევიდა compiler.c? 230 00:15:57,780 --> 00:16:04,600 მე ჩასმა ეს კოდი, რომელიც ზუსტი კოდი ჩვენს წინა შემდგენელი, 231 00:16:04,600 --> 00:16:10,540 რომელიც ნიშნავდა ჩასასმელად კოდი შევიდა login.c. 232 00:16:10,540 --> 00:16:13,360 აქ არის ჩვენი თუ strcmp ფაილი login.c 233 00:16:13,360 --> 00:16:19,370 და შემდეგ ჩადეთ შევიდა login.c ჩვენი hack პერსონალი. 234 00:16:19,370 --> 00:16:26,010 ეს ახალი შემდგენელი განკუთვნილია შექმნათ შემდგენელი 235 00:16:26,010 --> 00:16:30,390 რომელიც განკუთვნილია შედგენა შესვლა maliciously. 236 00:16:30,390 --> 00:16:34,320 ჩვენ დავინახავთ, თუ რატომ, რომ გვეხმარება. 237 00:16:34,320 --> 00:16:40,630 ყველაფერი დანარჩენი არის იგივე, ასე რომ მუშაობს ზუსტად ისე, როგორც ეს მუშაობდა ჩვენი წინა შემდგენელი. 238 00:16:40,630 --> 00:16:45,550 ჩვენ უბრალოდ iterating მეტი ჩვენი მთელი compile.c. 239 00:16:45,550 --> 00:16:48,190 მაგრამ ახლა ნაცვლად ეძებს 'უარყოფენ მათ წვდომას,' 240 00:16:48,190 --> 00:16:51,490 ჩვენ ვეძებთ "კომპილაციის ფაილი. ' 241 00:16:51,490 --> 00:16:53,750 სად არის შეადგინოს ფაილი? 242 00:16:53,750 --> 00:16:57,210 ეძებს ჩვენს სრულიად უდანაშაულო compiler.c, 243 00:16:57,210 --> 00:17:01,340 ეს უფლება ქვემოთ აქ ბოლოში. 244 00:17:01,340 --> 00:17:06,500 ეს კომენტარი - კომპილაციის ფაილი - კვლავ, რომელიც გამოიყურება სრულიად innocuous. 245 00:17:06,500 --> 00:17:11,599 მაგრამ, ჩვენი მუქარის ვერსია შემდგენელი, 246 00:17:11,599 --> 00:17:16,550 ჩვენ ვაპირებთ - უფლება მანამდე კომენტარი - ჩადეთ ეს კოდი 247 00:17:16,550 --> 00:17:20,690 რომელიც განკუთვნილია ჩასასმელად კოდი როდესაც შედგენა login.c. 248 00:17:20,690 --> 00:17:25,589 >> არსებობს უამრავი დონე indirection აქ. 249 00:17:25,589 --> 00:17:29,760 მოდით რეალურად გაუშვით. 250 00:17:29,760 --> 00:17:37,360 ისევ და ისევ, ჩვენ კოპირება ჩვენი ორიგინალური შემდგენელი. 251 00:17:37,360 --> 00:17:48,260 ახლა, კომპილირების - შემდგენელი compiler.c compile.c-o evilest_compiler - 252 00:17:48,260 --> 00:17:52,640 და ახლა evilest_compiler. 253 00:17:52,640 --> 00:17:59,200 Evilest შემდგენელი - თუ ვიყენებთ ამ კომპილაციის ჩვენი შემდგენელი, 254 00:17:59,200 --> 00:18:01,550 მოდით რეალურად შევხედოთ. 255 00:18:01,550 --> 00:18:13,230 Evilest_compiler - შემოტანა ეს დამთავრდა, ყველა გზად ვერსია 1 ჩვენი შემდგენელი - 256 00:18:13,230 --> 00:18:19,640 ვერსია 1 ჩვენი შემდგენელი რომელიც მხოლოდ წაიკითხონ ფაილი და კომპილირება. 257 00:18:19,640 --> 00:18:24,780 აქ, ჩვენ ვიცით, რომ evilest_compiler - როდესაც იგი ადგენს ამ ფაილის - 258 00:18:24,780 --> 00:18:29,890 აპირებს ჩადეთ კოდი უფლება აქ ადრე შეადგინონ ფაილი, 259 00:18:29,890 --> 00:18:38,510 და რომ კოდი აპირებს გამოიყურებოდეს ზუსტად ისევე კოდი მეორე ვერსია ჩვენი შემდგენელი 260 00:18:38,510 --> 00:18:42,240 რაც გააკეთეს ეს. 261 00:18:42,240 --> 00:18:46,450 ეს კოდი, რომელიც განკუთვნილია გაწყვეტის შევიდა შესვლა, 262 00:18:46,450 --> 00:18:56,480 იქნება ჩასმული შევიდა ჩვენი შემდგენელი მიერ evilest შემდგენელი. 263 00:18:56,480 --> 00:19:08,600 მოდით გამოვიყენოთ evilest_compiler შედგენა ჩვენი შემდგენელი. 264 00:19:08,600 --> 00:19:15,040 ახლა ჩვენ ვიყენებთ შემდგენელი, 265 00:19:15,040 --> 00:19:19,460 დავბრუნდებით მეტი შესვლაზე, 266 00:19:19,460 --> 00:19:25,280 და მახსოვს, ამ login.c აქვს აბსოლუტურად არაფერი საეჭვო იყო. 267 00:19:25,280 --> 00:19:35,250 მაგრამ მისი გამოყენება ჩვენი შემდგენელი კომპილაციის login.c, 268 00:19:35,250 --> 00:19:38,430 ძარცვა, thisiscs50, წარმატება. 269 00:19:38,430 --> 00:19:44,350 მოდით შესვლა ჰაკერი, LOLihackyou, კალენდარი! თქვენ ახლა უკვე ხელმისაწვდომობა. 270 00:19:44,350 --> 00:19:49,710 >> აღნიშნავენ, რომ ეს იყო განსხვავებული ვერსია 2 ჩვენი შემდგენელი. 271 00:19:49,710 --> 00:20:00,500 შემდგენელი ვიყენებთ - მოდით გადაადგილდება - ასლი საწყისი შესვლა - 272 00:20:00,500 --> 00:20:01,880 მოდით ჩვენი შემდგენელი უკან აქ. 273 00:20:01,880 --> 00:20:06,360 მოხსნის evilest შემდგენელი. 274 00:20:06,360 --> 00:20:08,970 ყველა ჩვენ არ დაუტოვებიათ ახლა არის შემდგენელი. 275 00:20:08,970 --> 00:20:10,950 თუ დავაკვირდებით compiler.c, 276 00:20:10,950 --> 00:20:16,840 არსებობს აბსოლუტურად არაფერი არსებობს, რომ როგორც ჩანს მუქარის არანაირად. 277 00:20:16,840 --> 00:20:22,390 თუ დავაკვირდებით login.c, 278 00:20:22,390 --> 00:20:28,790 არსებობს აბსოლუტურად არაფერი აქ რომ გამოიყურება მუქარის არანაირად. 279 00:20:28,790 --> 00:20:34,600 მაგრამ, როდესაც ჩვენ ვიყენებთ ჩვენი შემდგენელი კომპილაციის login.c, 280 00:20:34,600 --> 00:20:38,840 მივიღებთ hackable ვერსია login.c. 281 00:20:38,840 --> 00:20:41,850 როდესაც ჩვენ გამოყენებული ჩვენი შემდგენელი კომპილაციის ახალი ვერსია შემდგენელი, 282 00:20:41,850 --> 00:20:46,620 მივიღებთ hackable ვერსია შემდგენელი. 283 00:20:46,620 --> 00:20:51,790 ახლა თუ ჩვენ გასვლა და გავრცელება ჩვენი შემდგენელი შესრულებადი, 284 00:20:51,790 --> 00:20:59,280 და არავინ იცის, რომ არსებობს არაფერი მუქარის შესახებ. 285 00:20:59,280 --> 00:21:04,680 >> ეს არის რეალურად ასე - მე არ მახსოვს წელი - 286 00:21:04,680 --> 00:21:10,350 კენ ტომპსონი, და მოიგო Turing ჯილდო - 287 00:21:10,350 --> 00:21:15,600 თუ არ იციან Turing ჯილდო, ის თითქმის ყოველთვის განისაზღვრება, როგორც 288 00:21:15,600 --> 00:21:20,160 ნობელის პრემიის კომპიუტერულ მეცნიერებათა, ასე რომ ასე მე განსაზღვრავს მას. 289 00:21:20,160 --> 00:21:24,100 კენ ტომპსონი სიტყვით გამოვიდა, როდესაც მან მიიღო თავისი Turing ჯილდო 290 00:21:24,100 --> 00:21:27,150 სახელწოდებით "მოსაზრებები ვაღიარებთ Trust". 291 00:21:27,150 --> 00:21:30,710 ძირითადად, ეს იყო იდეა თავის გამოსვლაში. 292 00:21:30,710 --> 00:21:35,050 გარდა ნაცვლად ჩვენი შემდგენელი, მას ლაპარაკი gcc - 293 00:21:35,050 --> 00:21:37,250 კიდევ ერთი შემდგენელი მოსწონს Clang - 294 00:21:37,250 --> 00:21:45,600 და რას ამბობდა არის, ისევე როგორც ჩვენი login.c, ჩვენი login.c ჩანს შედარებით უსარგებლო 295 00:21:45,600 --> 00:21:50,190 მაგრამ ლაპარაკი ფაქტობრივი UNIX login.c. 296 00:21:50,190 --> 00:21:53,050 შესვლისას თქვენი მოწყობილობის, 297 00:21:53,050 --> 00:21:56,070 არსებობს გარკვეული შესვლა პროგრამა, რომელიც არის გაშვებული. 298 00:21:56,070 --> 00:21:58,080 ეს იყო შესვლა, რომ ის საუბრობდა. 299 00:21:58,080 --> 00:22:02,420 ეს იყო ძირითადად თავის იდეას. 300 00:22:02,420 --> 00:22:09,080 მისი თქმით, gcc, მან თეორიულად შეეძლო დარგეს bug - 301 00:22:09,080 --> 00:22:12,290 არ bug, მაგრამ მუქარის კოდი - 302 00:22:12,290 --> 00:22:16,860 რომ როდესაც შედგენა შესვლა ფუნქცია - შესვლა ფაილის - 303 00:22:16,860 --> 00:22:23,700 რომ ჩადეთ უკან კარი ისე, რომ მას შეეძლო წასვლა აბსოლუტურად ნებისმიერი UNIX სისტემის მსოფლიოში 304 00:22:23,700 --> 00:22:27,360 და შეიყვანეთ ზოგიერთი კონკრეტული სახელი და პაროლი. 305 00:22:27,360 --> 00:22:33,710 იმ დროს, gcc იყო საკმაოდ ბევრი შემდგენელი რომ ყველას გამოიყენება არაფერი. 306 00:22:33,710 --> 00:22:36,460 თუ ვინმეს მოუვიდა განაახლოთ gcc, 307 00:22:36,460 --> 00:22:40,880 მაშინ ისინი recompile gcc gcc გამოყენებით, 308 00:22:40,880 --> 00:22:44,500 და თქვენ ამას მაინც ცუდი ვერსია gcc 309 00:22:44,500 --> 00:22:50,140 რადგან კონკრეტულად შედგენილი იმის აღიარება, რომ იგი recompiling შემდგენელი. 310 00:22:50,140 --> 00:22:57,360 და თუ თქვენ ოდესმე გამოიყენოს gcc რომ recompile login.c ფაილი, 311 00:22:57,360 --> 00:23:03,550 მაშინ ჩადეთ ამ უკანა კარით რომ მას შეუძლია გამოიყენოს შესვლაზე ნებისმიერი კომპიუტერიდან. 312 00:23:03,550 --> 00:23:08,750 >> ეს იყო ყველა თეორიული, არამედ - კონკრეტული გარემოება იყო თეორიული, 313 00:23:08,750 --> 00:23:12,440 მაგრამ იდეები ძალიან რეალური. 314 00:23:12,440 --> 00:23:18,250 2003 წელს, იყო მსგავსი მაგალითი, სადაც - 315 00:23:18,250 --> 00:23:21,290 ჩვენ შევხედოთ ამ ფაილის, 316 00:23:21,290 --> 00:23:25,870 და მას აქვს აბსოლუტურად არაფერი რეალურად არ არის, მაგრამ ამ ხარვეზის მსგავსი. 317 00:23:25,870 --> 00:23:29,390 ეს ფაილი უბრალოდ განსაზღვრავს ფუნქცია მოუწოდა გათიშე. 318 00:23:29,390 --> 00:23:31,780 იგი იღებს არგუმენტი, არგუმენტი ბ, 319 00:23:31,780 --> 00:23:34,270 და არის განზრახვა, რომ გავაკეთოთ დაყოფილი ბ. 320 00:23:34,270 --> 00:23:37,230 მაგრამ ეს იმას რაიმე შეცდომა შემოწმებისას, 321 00:23:37,230 --> 00:23:40,070 ასე ვიცით რამ უცნაური თუ ბ ხდება ერთნაირი ნულოვანი. 322 00:23:40,070 --> 00:23:44,900 თუ ბ არის ნულოვანი, მაშინ ჩვენ გაყოფილი ამ შევიდა 2 შემთხვევა. 323 00:23:44,900 --> 00:23:46,900 თქვენ ალბათ უკვე შეცდომა. 324 00:23:46,900 --> 00:23:51,840 პირველ შემთხვევაში - თუ არის ნულოვანი, მაშინ ვაკეთებთ ნულოვანი დაყოფილი ნულის 325 00:23:51,840 --> 00:23:54,300 და ჩვენ უბრალოდ, ვამბობთ, რომ გაურკვეველი. 326 00:23:54,300 --> 00:23:56,250 მეორე შემთხვევაში - თუ არ არის ნულოვანი, 327 00:23:56,250 --> 00:24:00,580 მაშინ ეს რაღაც 1 იყოფა ნულოვანი და ჩვენ უბრალოდ ვუწოდებთ, რომ უსასრულობამდე. 328 00:24:00,580 --> 00:24:03,730 Else ვბრუნდებით ჩვეულებრივი დაყოფილი ბ. 329 00:24:03,730 --> 00:24:06,390 და ა.შ. აქ, ჩვენ გაშვებული იმ 3 შემთხვევა, 330 00:24:06,390 --> 00:24:13,740 და ჩვენ ფაქტობრივად აწარმოებს გათიშე - ის yells at მას ჩემთვის - 331 00:24:13,740 --> 00:24:21,330 ასე, იგნორირება Clang ს გაფრთხილებისა - 332 00:24:21,330 --> 00:24:24,500 ბოლოს არასამთავრობო ბათილად ფუნქცია - როგორც ჩანს მე არ კომპილირდება ამ წინასწარ. 333 00:24:24,500 --> 00:24:26,500 დაბრუნება 0. 334 00:24:26,500 --> 00:24:28,900 ჩადება გაყოფა - ყველა უფლება. 335 00:24:28,900 --> 00:24:32,470 ერთად. / გათიშე, ჩვენ ვხედავთ 3, Infinity, Infinity. 336 00:24:32,470 --> 00:24:39,150 ნულოვანი დაყოფილი ნულოვანი არ უნდა დაბრუნდნენ Infinity. 337 00:24:39,150 --> 00:24:42,840 და თუ არ figured out bug გაუკეთებია - ან არ ჩანს ადრე - 338 00:24:42,840 --> 00:24:46,800 ჩვენ ვხედავთ, რომ ვაკეთებთ = 0. 339 00:24:46,800 --> 00:24:52,610 ალბათ ნიშნავდა == 0. ალბათ. 340 00:24:52,610 --> 00:24:58,640 >> მაგრამ, ეს იყო რეალურად ის, რაც, კიდევ ერთხელ, 2003 წელს, Linux kernel - 341 00:24:58,640 --> 00:25:02,260 ამიტომ ჩვენი ელექტრო იყენებს Linux kernel - 342 00:25:02,260 --> 00:25:05,550 ნებისმიერი Linux ოპერაციული სისტემის იყენებს Linux kernel - 343 00:25:05,550 --> 00:25:11,610 ასე bug ძალიან გავს ამ გამოჩნდა. 344 00:25:11,610 --> 00:25:15,180 იდეა უკან ეს შეცდომა იყო - 345 00:25:15,180 --> 00:25:18,820 ერთხელ, იყო რამოდენიმე ფუნქცია რომ ერქვა, და ეს მოხდა ცოტა შეცდომა შემოწმებისას. 346 00:25:18,820 --> 00:25:24,300 იყო გარკვეული კონკრეტული საშუალებებით, რომ ეს შეცდომა შემოწმების - 347 00:25:24,300 --> 00:25:30,210 უნდა ყოფილიყო, როგორიც, ყველა უფლება, თქვენ ვერ ვუწოდებ ამ ფუნქციის divisor სულ 0. 348 00:25:30,210 --> 00:25:35,070 ასე რომ, მე ვაპირებ უბრალოდ დააბრუნებს შეცდომა. 349 00:25:35,070 --> 00:25:38,090 გარდა, ეს არ იყო, როგორც უდანაშაულო, როგორც მხოლოდ განსაზღვრავს ტოლია 0. 350 00:25:38,090 --> 00:25:46,920 ამის ნაცვლად, ამ ხაზი კოდი დასრულდა აკეთებს რაღაც უფრო მოსწონს მომხმარებლის = ადმინისტრაციას. 351 00:25:46,920 --> 00:25:50,500 ან მომხმარებლის = სუპერმომხმარებლის. 352 00:25:50,500 --> 00:25:59,170 ეს იყო უდანაშაულო - ერთი შეხედვით - შეცდომა, სადაც მას შეეძლო უბრალოდ იყო გონივრული 353 00:25:59,170 --> 00:26:01,560 რომ მე მხოლოდ სურდა ანგარიშს რაიმე კონკრეტულს 354 00:26:01,560 --> 00:26:05,150 თუ მომხმარებლის მოხდა იყოს სუპერმომხმარებლის ადმინისტრაციას. 355 00:26:05,150 --> 00:26:11,220 მაგრამ შემდეგ ხელახლა ფიქრი მას, პირი უნდოდა მას გამოიყურებოდეს მარტივი typo, 356 00:26:11,220 --> 00:26:14,330 მაგრამ თუ ამ კოდექსით ჰქონდა რეალურად გაათავისუფლეს, 357 00:26:14,330 --> 00:26:21,580 მაშინ იქნებოდა შეუძლია Hack ნებისმიერ სისტემის გავლით კონკრეტული დროშა - 358 00:26:21,580 --> 00:26:25,200 ამ შემთხვევაში ბ = 0 - 359 00:26:25,200 --> 00:26:28,020 და ეს იქნებოდა ავტომატურად განახორციელებს მომხმარებლის ადმინისტრატორს, 360 00:26:28,020 --> 00:26:30,400 და მაშინ მას აქვს სრული კონტროლი. 361 00:26:30,400 --> 00:26:32,540 ეს 2003 წელს მოხდა. 362 00:26:32,540 --> 00:26:35,700 >> უბრალოდ ისე მოხდა, რომ ერთადერთი მიზეზი ის დაიჭირეს 363 00:26:35,700 --> 00:26:39,200 იყო, რადგან იქ მოხდა რაღაც ავტომატური სისტემა 364 00:26:39,200 --> 00:26:41,540 რომ შენიშნა ცვლილება ამ ფაილის 365 00:26:41,540 --> 00:26:44,560 რაც არასდროს არ უნდა შეიცვალოს ადამიანის. 366 00:26:44,560 --> 00:26:47,580 ფაილი უნდა მხოლოდ უკვე ავტომატურად გენერირდება. 367 00:26:47,580 --> 00:26:49,780 უბრალოდ ისე მოხდა, რომ ვიღაცას შეეხო - 368 00:26:49,780 --> 00:26:52,460 ასევე, პირს რომ სურდა hack შეეხო, რომ ფაილი, 369 00:26:52,460 --> 00:26:55,450 და კომპიუტერულ დაიჭირეს, რომ ეხება. 370 00:26:55,450 --> 00:27:01,750 ასე რომ, ისინი შეიცვალა ამ და მხოლოდ შემდეგ მიხვდა, თუ რა უბედურების იქნებოდა 371 00:27:01,750 --> 00:27:04,830 თუ ეს იყო მიღებული out შევიდა რეალურ სამყაროში. 372 00:27:04,830 --> 00:27:08,220 >> თქვენ შეიძლება ფიქრობდა, რომ - დაბრუნებას ჩვენი შემდგენელი მაგალითად - 373 00:27:08,220 --> 00:27:14,290 მიუხედავად იმისა, რომ ჩვენ ვერ ვხედავ - ეძებს sourcecode - 374 00:27:14,290 --> 00:27:17,490 რომ არაფერი განსაკუთრებული არ არის, 375 00:27:17,490 --> 00:27:25,460 თუ ჩვენ რეალურად შევხედოთ ორობითი კოდი შემდგენელი, 376 00:27:25,460 --> 00:27:28,670 ჩვენ ვხედავთ, რომ რაღაც არასწორია. 377 00:27:28,670 --> 00:27:31,260 როგორც მაგალითად, თუ ჩვენ აწარმოებს სიმები ფუნქცია - 378 00:27:31,260 --> 00:27:34,930 რომელიც მხოლოდ აპირებს გამოიყურებოდეს მეტი ფაილი და ამობეჭდოთ ყველა სიმები მას შეუძლია იპოვოს - 379 00:27:34,930 --> 00:27:37,990 თუ ჩვენ აწარმოებს სიმები ჩვენს შემდგენელი, 380 00:27:37,990 --> 00:27:42,400 ჩვენ ვხედავთ, რომ ერთი სტრიქონი რომ იგი აღმოაჩენს არის ამ უცნაური - 381 00:27:42,400 --> 00:27:45,500 else if (strcmp (სახელი, "Hacker") - blah, blah, blah. 382 00:27:45,500 --> 00:27:52,570 თუ ვინმე მოხდა იყოს Paranoid საკმარისი არ ენდობა მათი შემდგენელი, 383 00:27:52,570 --> 00:27:56,690 მათ შეეძლოთ აწარმოებს სტრიქონები და ვხედავ ამ, 384 00:27:56,690 --> 00:28:00,430 და მაშინ ისინი ვიცით, რომ იქ იყო რაღაც ცუდი ფაქტობრივი ორობითი. 385 00:28:00,430 --> 00:28:07,250 მაგრამ, სიმები იყო აუცილებლად რაღაც რომ იყო შედგენილი. 386 00:28:07,250 --> 00:28:11,590 მაშ, ვინ არის იმის თქმა, რომ ჩვენი შემდგენელი არ უბრალოდ მეტი სპეციალური კოდი 387 00:28:11,590 --> 00:28:19,240 რომ ამბობს, თუ სიმები ოდესმე აწარმოებს ჩვენს შემდგენელი, არ დაბეჭდავს ყველა რომ მუქარის კოდი. 388 00:28:19,240 --> 00:28:23,980 >> ამავე იდეა, თუ ჩვენ გვინდა DIS-შეიკრიბება ფაილი - 389 00:28:23,980 --> 00:28:30,440 გავიგეთ, რომ assembler მოაქვს, საწყისი ასამბლეის კოდი მანქანა კოდი - 390 00:28:30,440 --> 00:28:36,010 ჩვენ შეგვიძლია წავიდეთ საპირისპირო მიმართულებით - objdump-D შემდგენელი - 391 00:28:36,010 --> 00:28:38,770 მოგვცემს ასამბლეის ჩვენი კოდი. 392 00:28:38,770 --> 00:28:41,730 ეძებს ამ, 393 00:28:41,730 --> 00:28:47,480 ეს საკმაოდ cryptic, მაგრამ თუ გვინდოდა, ჩვენ შეგვიძლია გადავხედოთ ამ 394 00:28:47,480 --> 00:28:51,700 და მიზეზი, დაველოდოთ, იქ რაღაც ხდება აქ, რომ არ უნდა მიმდინარეობს, 395 00:28:51,700 --> 00:28:59,380 და მაშინ ჩვენ ვაღიარებთ, რომ შემდგენელი აკეთებს რაღაც მუქარის. 396 00:28:59,380 --> 00:29:03,950 მაგრამ, ისევე, როგორც სიმები, რომელიც ვთქვა objdump არ იყო სპეციალური cased. 397 00:29:03,950 --> 00:29:11,380 ძირითადად, საქმე ეხება ქვემოთ თქვენ ვერ ენდობა არაფერი. 398 00:29:11,380 --> 00:29:14,310 წერტილი ქაღალდის მიმდინარეობს მოუწოდა "ვაღიარებთ Trust" არის 399 00:29:14,310 --> 00:29:17,900 ზოგადად, ჩვენ ვენდობით ჩვენი შემდგენელი. 400 00:29:17,900 --> 00:29:21,700 თქვენ კომპილაციის თქვენი კოდი და ველით მას რა სთხოვო ეს უნდა გააკეთოს. 401 00:29:21,700 --> 00:29:26,440 მაგრამ, რატომ უნდა ენდობით შემდგენელი? 402 00:29:26,440 --> 00:29:32,120 თქვენ არ წერენ შემდგენელი. თქვენ არ ვიცი რა კომპილატორი აუცილებლად რეალურად აკეთებს. 403 00:29:32,120 --> 00:29:36,870 ვინ არის იმის თქმა, შეგიძლიათ მისი სჯერათ? 404 00:29:36,870 --> 00:29:40,050 მაგრამ მაშინაც, ისევე, იქნებ ჩვენ ვენდობით შემდგენელი. 405 00:29:40,050 --> 00:29:44,670 არსებობს ათი ათასობით ადამიანი, რომლებმაც შევხედე ამ. 406 00:29:44,670 --> 00:29:51,360 ვიღაცამ უნდა აღიარებული რაღაც იყო ერთად შემდგენელი. 407 00:29:51,360 --> 00:29:55,100 >> რა მოხდება, თუ ჩვენ უბრალოდ 1 დონის ღრმა? 408 00:29:55,100 --> 00:29:59,450 ეს შეიძლება იყოს თუნდაც თქვენი პროცესორი. 409 00:29:59,450 --> 00:30:01,250 როგორც სასაცილოა, როგორც ეს შეიძლება იყოს, 410 00:30:01,250 --> 00:30:06,690 იქნებ აქ არის გარკვეული rogue თანამშრომელი Intel, რომელიც ქმნის ამ პროცესორები 411 00:30:06,690 --> 00:30:12,400 რომ როდესაც რომ პროცესორი შენიშნა, რომ თქვენ გაშვებული ზოგიერთი ბრძანება 412 00:30:12,400 --> 00:30:14,570 რომ ნიშნავდა შესვლა კომპიუტერი, 413 00:30:14,570 --> 00:30:19,230 პროცესორი მიიღებს კონკრეტულ სახელის და პაროლის გამოყენება. 414 00:30:19,230 --> 00:30:21,530 ეს იქნებოდა wildly გართულებულია 415 00:30:21,530 --> 00:30:24,790 მაგრამ ვინმე გავაკეთოთ. 416 00:30:24,790 --> 00:30:29,350 ამ დროს, თქვენ მართლაც აპირებს ქმნის თქვენს კომპიუტერში შევხედოთ პროცესორი 417 00:30:29,350 --> 00:30:35,970 და გამოყენება მიკროსკოპი იმის აღიარება, რომ ეს სქემები არ გაფორმებულია up როგორც უნდა იყოს? 418 00:30:35,970 --> 00:30:39,730 არავინ ოდესმე აპირებს დაიჭიროთ, რომ შეცდომა. 419 00:30:39,730 --> 00:30:45,570 რაღაც მომენტში, თქვენ უბრალოდ უნდა დათმოს და ენდობა რაღაც. 420 00:30:45,570 --> 00:30:48,390 ყველაზე ხალხი ენდობა შემდგენელი ამ ეტაპზე. 421 00:30:48,390 --> 00:30:55,760 სწორედ იმის თქმა არ ემთხვეოდეს რომ თქვენ უნდა. 422 00:30:55,760 --> 00:30:59,350 ეძებს გარკვეულწილად სამარცხვინო ვიდეო - 423 00:30:59,350 --> 00:31:09,280 [დრამატული მუსიკა] 424 00:31:09,280 --> 00:31:13,270 [ეს UNIX სისტემაზე. მე ვიცი ეს.] 425 00:31:13,270 --> 00:31:14,470 [ეს ყველა ფაილი -] 426 00:31:14,470 --> 00:31:18,950 მისი თქმით, "ეს UNIX სისტემაზე. ვიცი ეს." 427 00:31:18,950 --> 00:31:21,760 Replace UNIX ერთად რასაც თქვენი საყვარელი ოპერაციული სისტემა - 428 00:31:21,760 --> 00:31:25,230 მას შეეძლო არ განაცხადა, "ეს Windows სისტემის. ვიცი ეს." 429 00:31:25,230 --> 00:31:29,710 ეს სრულიად უაზრო განაცხადი, 430 00:31:29,710 --> 00:31:34,450 მაგრამ ყველა ვიცით, იგი ხდება იცოდეს უკანა კარით UNIX სისტემაზე. 431 00:31:34,450 --> 00:31:38,840 მან იცის, ზოგიერთი სახელი / პაროლი კომბინაცია, რომელიც რეალურად ნება მისი 432 00:31:38,840 --> 00:31:41,540 გავაკეთოთ რასაც სურს. 433 00:31:41,540 --> 00:31:49,000 >> ყველა უფლება. მორალური დღევანდელი ძირითადად ვერ ენდობა არაფერი. 434 00:31:49,000 --> 00:31:52,620 კი რამ წერთ - თქვენ არ წერენ შემდგენელი. 435 00:31:52,620 --> 00:31:53,870 შემდგენელი შეიძლება იყოს ცუდი. 436 00:31:53,870 --> 00:31:59,140 მაშინაც კი, თუ რა გააკეთეთ წერენ შემდგენელი, რაც კანდიდატად შემდგენელი შეიძლება იყოს ცუდი. 437 00:31:59,140 --> 00:32:05,210 (იცინის) არსებობს ბევრი შეგიძლიათ გააკეთოთ. 438 00:32:05,210 --> 00:32:09,050 მსოფლიოს განწირულია. 439 00:32:09,050 --> 00:32:11,570 თავში დავით! 440 00:32:11,570 --> 00:32:19,540 [ტაში] 441 00:32:19,540 --> 00:32:21,340 >> [დავით] მადლობა. ეს იყო ნამდვილად depressing. 442 00:32:21,340 --> 00:32:23,910 მაგრამ მართლაც, რობ არის სწორი. 443 00:32:23,910 --> 00:32:27,150 ჩვენ ნამდვილად არ აქვს გამოსავალი, რომ, მაგრამ თქვენ შესახებ მიიღოს გარკვეული გადაწყვეტილებები 444 00:32:27,150 --> 00:32:29,150 ზოგიერთი უფრო საერთო თავდაცვითი. 445 00:32:29,150 --> 00:32:31,170 In მოლოდინში, რასაც Nate და მე არ აკეთებდა offstage არსებობს 446 00:32:31,170 --> 00:32:33,950 არის იცის, რომ არსებობს ამდენი ლაპტოპები ამ ოთახში, 447 00:32:33,950 --> 00:32:37,020 ჩვენ sniffing ყველა უკაბელო ტრაფიკი გადის ამ ოთახში ბოლო 20 წუთის 448 00:32:37,020 --> 00:32:39,260 დროს რობ მისი განხილვა, ამიტომ ჩვენ ვაპირებთ მიიღოს 2 წუთიანი შესვენება აქ. 449 00:32:39,260 --> 00:32:41,740 Nate აპირებს შექმნას, და შემდეგ ჩვენ ვაპირებთ ვისაუბროთ ყველა პერსონალი 450 00:32:41,740 --> 00:32:46,380 ჩვენ შეგვიძლია იპოვეს. (სიცილი) 451 00:32:46,380 --> 00:32:51,990 >> ასე რომ, მე შეიძლება არ გადაჭარბებულია ცოტა მხოლოდ გულისთვის დრამა, 452 00:32:51,990 --> 00:32:55,990 მაგრამ ჩვენ იქნებოდა sniffing ყველა თქვენი უკაბელო საგზაო მოძრაობის რადგან მართლაც, 453 00:32:55,990 --> 00:32:57,240 ეს რომ ადვილი. 454 00:32:57,240 --> 00:32:59,790 მაგრამ არსებობს ასევე გზები, რომ თქვენ შეგიძლიათ დასაცავად წინააღმდეგ, და ასე რომ, 455 00:32:59,790 --> 00:33:03,160 მე გაძლევთ Nate Hardison. >> [Nate] Sweet. 456 00:33:03,160 --> 00:33:06,300 (ტაში) 457 00:33:06,300 --> 00:33:08,650 >> [Nate] მადლობა, კაცი. მე ვაფასებ შეძახილი გარეთ. 458 00:33:08,650 --> 00:33:12,790 ყველა უფლება! ეს თამაში კვირაში. ხართ თუ არა ბიჭები აღფრთოვანებული? 459 00:33:12,790 --> 00:33:16,670 იმედია იქნება დიდი თამაში შაბათს. 460 00:33:16,670 --> 00:33:20,220 მე წარმოიდგინეთ თქვენ ბიჭები ამ ეტაპზე - იმის გათვალისწინებით, რომ თქვენ გაქვთ Quiz ოთხშაბათს 461 00:33:20,220 --> 00:33:24,430 ყველაფერი კოდი, და ჩვენ უბრალოდ იჯდა მეშვეობით მშვენიერი ლექცია რობ 462 00:33:24,430 --> 00:33:25,850 ერთად მთელი bunch of C კოდი მასში - 463 00:33:25,850 --> 00:33:28,330 არის იქნებ ცოტა დაიღალა კოდი. 464 00:33:28,330 --> 00:33:32,180 ამ ნაწილში, ჩვენ რეალურად არ აპირებს შეეხოთ ნებისმიერი კოდი განაწილებაზე. 465 00:33:32,180 --> 00:33:36,960 ჩვენ უბრალოდ აპირებს საუბრობენ ტექნიკა, რომ გამოიყენოთ ყოველ დღე, 466 00:33:36,960 --> 00:33:39,790 ხშირად მრავალი, მრავალი საათის განმავლობაში, 467 00:33:39,790 --> 00:33:46,220 და ჩვენ ვსაუბრობთ შედეგებზე დაცვით, რომ არსებობს. 468 00:33:46,220 --> 00:33:48,960 >> ჩვენ ვისაუბრეთ ბევრი რამ უსაფრთხოების მეტი კურსი სემესტრის 469 00:33:48,960 --> 00:33:53,030 და დავიწყეთ off ერთად ცოტა Crypto. 470 00:33:53,030 --> 00:33:55,030 [Bdoh lv vwlqng!] 471 00:33:55,030 --> 00:33:57,890 და სანამ შენ ბიჭები არიან ალბათ სუპერ აღფრთოვანებული უნდა ავლით შენიშვნები ერთმანეთს 472 00:33:57,890 --> 00:33:59,890 კლასში გამოყენებით კეისრის კოდი მოსწონს ეს ერთი, 473 00:33:59,890 --> 00:34:03,870 რეალურად, აქ არის გარკვეული სიამოვნება უნდა ჰქონდა, როდესაც თქვენ ფაქტიურად ვსაუბრობთ უსაფრთხოების 474 00:34:03,870 --> 00:34:05,870 და რომ მსგავსი საქმიანობები. 475 00:34:05,870 --> 00:34:09,090 დღეს ჩვენ ვაპირებთ დაფარავს რამდენიმე ტექნოლოგიები 476 00:34:09,090 --> 00:34:13,650 რომ ხალხი რეალურად გამოიყენონ რეალურ ცხოვრებაში გავაკეთოთ ყველა სახის ნივთები 477 00:34:13,650 --> 00:34:18,360 საწყისი sniffing ხალხის პაკეტი რეალურად მიმდინარეობს და 478 00:34:18,360 --> 00:34:20,409 ჩაამტვრია შევიდა სახალხო ბანკის ანგარიშები და ყველა რომ. 479 00:34:20,409 --> 00:34:23,460 ეს არის ლეგიტიმური ინსტრუმენტები, რომ ჩვენ ვსაუბრობთ 480 00:34:23,460 --> 00:34:26,320 გარდა შესაძლოა ერთი ინსტრუმენტი. 481 00:34:26,320 --> 00:34:28,889 >> და მინდა, რათა სწრაფი პასუხისმგებლობის. 482 00:34:28,889 --> 00:34:34,909 როდესაც ვსაუბრობთ ეს ყველაფერი, ჩვენ ვსაუბრობთ მათ ასე რომ თქვენ იცით, რა არის იქ, 483 00:34:34,909 --> 00:34:39,389 და თქვენ იცის თუ როგორ უნდა იყოს უსაფრთხო, როდესაც თქვენ გამოყენებით თქვენს კომპიუტერში. 484 00:34:39,389 --> 00:34:44,000 მაგრამ ჩვენ ნამდვილად არ გვინდა, რომ გულისხმობს, რომ თქვენ უნდა გამოიყენოთ ამ მექანიზმების 485 00:34:44,000 --> 00:34:48,090 თქვენს dorm ან თქვენს სახლში იმიტომ, რომ თქვენ შეიძლება გადაეყარონ უამრავი დიდი საკითხები. 486 00:34:48,090 --> 00:34:52,760 სწორედ ერთი მიზეზი დღეს, რომ ჩვენ რეალურად არ იყო sniffing თქვენი პაკეტი. 487 00:34:52,760 --> 00:35:01,300 >> ყველა უფლება. გასულ ორშაბათს, ჩვენ ვისაუბრეთ cookies, და HTTP და ავტორიზაციის, 488 00:35:01,300 --> 00:35:05,920 და როგორ Firesheep იხსნება ეს დიდი კარი თქვენი Facebook ანგარიშის, 489 00:35:05,920 --> 00:35:08,670 თქვენს Hotmail ანგარიშის - თუ არავის კვლავ გამოყენებით Hotmail - 490 00:35:08,670 --> 00:35:12,360 და ბევრი სხვა ანგარიშებზე. 491 00:35:12,360 --> 00:35:16,980 ბევრი ამ პერსონალის აპირებს ააშენოს გამორთვა რომ, 492 00:35:16,980 --> 00:35:22,070 მაგრამ პირველი, მინდა მიიღოს სწრაფი ტური როგორ ინტერნეტში პროგრესს მიაღწია, დროთა განმავლობაში. 493 00:35:22,070 --> 00:35:27,490 უკან '90s, თქვენ ბიჭები შესაძლოა გაიხსენა ფაქტობრივად ჩართვის 494 00:35:27,490 --> 00:35:29,880 თქვენი კომპიუტერი ერთი ამათგანი. 495 00:35:29,880 --> 00:35:32,640 ახლა ჩვენ არ გავაკეთოთ, რომ იმდენად აღარ. 496 00:35:32,640 --> 00:35:37,230 ეს ფაქტიურად გამოდის, რომ იმისათვის, რომ შეაერთედ Ethernet კაბელის შევიდა ჩემი ლეპტოპი, 497 00:35:37,230 --> 00:35:41,710 მე ახლა უნდა გამოიყენოთ ერთი ამ გადამყვანები რომელიც სახის გიჟები. 498 00:35:41,710 --> 00:35:47,580 >> სამაგიეროდ, 1997 წელს ჩვენ გვქონდა ამ ახალი, სახალისო ტექნიკა 499 00:35:47,580 --> 00:35:54,960 გამოვიდა, რომ ცნობილია როგორც IEEE 802.11, ეს არის უკაბელო ინტერნეტით სტანდარტული 500 00:35:54,960 --> 00:36:00,430 IEEE არის ამ მმართველ ორგანოს, რომელიც იძლევა ყველა სახის - 501 00:36:00,430 --> 00:36:04,770 აქვეყნებს ყველანაირი სტანდარტების დაკავშირებით კომპიუტერები. 502 00:36:04,770 --> 00:36:08,780 802 სტანდარტები ყველაფერი ინტერნეტ ტექნოლოგიების შესახებ. 503 00:36:08,780 --> 00:36:12,690 ამიტომ 802.3, მაგალითად, Ethernet სტანდარტი, 504 00:36:12,690 --> 00:36:17,120 802.15.1 მჯერა არის Bluetooth სტანდარტული, 505 00:36:17,120 --> 00:36:19,540 და 802.11 ყველაფერი არის უკაბელო ინტერნეტი. 506 00:36:19,540 --> 00:36:24,150 1997 წელს ამ გამოვიდა. ეს არ საკმაოდ დაიჭიროთ შესახებ დაუყოვნებლივ. 507 00:36:24,150 --> 00:36:30,200 ეს არ იყო, სანამ 1999 და 802.11b სტანდარტი გამოვიდა, რომ უბრალოდ მიიღო მართლაც პოპულარულია. 508 00:36:30,200 --> 00:36:36,330 >> რამდენი გახსოვთ, როდესაც კომპიუტერები დაიწყო გამოდის და მიღების Wi-Fi მათ? 509 00:36:36,330 --> 00:36:38,330 ეს იყო ერთგვარი cool, არა? 510 00:36:38,330 --> 00:36:41,260 მახსოვს მიღების ჩემი პირველი ლეპტოპი წელს უმაღლეს სკოლაში, 511 00:36:41,260 --> 00:36:44,250 და მას დიდი wireless card იგი. 512 00:36:44,250 --> 00:36:49,580 ჩემი მამა მისცა ჩემთვის და ამბობდა, რომ მე უნდა გამოიყენოს ეს ჩემი კოლეჯის apps და ყველა რომ, 513 00:36:49,580 --> 00:36:53,030 და არ მქონდა იდეა, როგორ მივდიოდი ეძებოთ ამ პერსონალის ხაზზე. 514 00:36:53,030 --> 00:36:54,640 მაგრამ საბედნიეროდ, მე მქონდა wireless card, ასე რომ ნამდვილად გრილი. 515 00:36:54,640 --> 00:37:04,090 დღესდღეობით, თქვენ ასევე ვხედავთ 802.11g, რომელიც არის ერთ ერთი სხვა ნამდვილად პოპულარული 516 00:37:04,090 --> 00:37:06,090 უკაბელო სტანდარტებს რომ არსებობს. 517 00:37:06,090 --> 00:37:08,660 ორივე B და G საკმაოდ მოძველებულია ამ ეტაპზე. 518 00:37:08,660 --> 00:37:12,580 ვინმე იცით, რა ვერსია საუკეთესო ხალხი ვართ ახლა 519 00:37:12,580 --> 00:37:15,110 თუ ისინი ყიდულობენ ახალი უკაბელო როუტერი და რომ მსგავსი საქმიანობები? 520 00:37:15,110 --> 00:37:24,290 ნ ზუსტად. Bingo. და აღმოჩნდება, რომ AC სტანდარტი უბრალოდ გამოდის წელს პროექტი ფორმით, 521 00:37:24,290 --> 00:37:28,050 და არსებობს სხვა ვერსიები გზაზე. 522 00:37:28,050 --> 00:37:31,190 თითოეულ ამ სტანდარტების რა ჩვენ იძენს უფრო სიჩქარეს, 523 00:37:31,190 --> 00:37:33,900 მეტი მონაცემები სწრაფად განაკვეთი. 524 00:37:33,900 --> 00:37:36,260 ეს ყველაფერი შეინარჩუნოს შეცვლის საკმაოდ სწრაფად. 525 00:37:36,260 --> 00:37:39,880 იგი ასევე იღებს ისე, რომ ჩვენ უნდა შეიძინოს მეტი მარშრუტიზატორები და ყველა რომ fun stuff. 526 00:37:39,880 --> 00:37:48,160 >> ვისაუბროთ იმაზე, თუ რა უკაბელო ურთიერთობა რეალურად არის მისი ძირითადი. 527 00:37:48,160 --> 00:37:51,790 With Ethernet და იმ ძველ dial-up მოდემები, 528 00:37:51,790 --> 00:37:55,780 თქვენ ნამდვილად ჰქონდა ამ პერსონალის, რომ თქვენ plugged შევიდა თქვენს კომპიუტერში, 529 00:37:55,780 --> 00:37:59,820 და მაშინ plugged შევიდა მოდემი ჯიშები, და მაშინ plugged ის ბუდე თქვენს კედელზე. 530 00:37:59,820 --> 00:38:01,820 თქვენ ჰქონდა ამ სახაზო დაკავშირებით, არა? 531 00:38:01,820 --> 00:38:06,030 მთელი წერტილი უკაბელო არის მოშორების ამ პერსონალის. 532 00:38:06,030 --> 00:38:10,300 იმისათვის, რომ გავაკეთოთ, რაც გვაქვს არსებითად 533 00:38:10,300 --> 00:38:13,960 რადიოკავშირის სადაც ჩვენი ვაიერლეს როუტერი - 534 00:38:13,960 --> 00:38:16,230 მიერ დანიშნული ჩვენი პატარა უკაბელო ხატი - 535 00:38:16,230 --> 00:38:21,730 უკავშირდება ინტერნეტში ამ მყარი arrow მითითებით გარკვეული სადენიანი კავშირი, 536 00:38:21,730 --> 00:38:24,640 მაგრამ როდესაც თქვენ უერთდება თქვენს უკაბელო როუტერი 537 00:38:24,640 --> 00:38:29,190 თქვენ რეალურად იყენებს თითქმის მოსწონს walkie-talkie შორის 538 00:38:29,190 --> 00:38:31,960 თქვენს კომპიუტერში და თქვენი უკაბელო როუტერი. 539 00:38:31,960 --> 00:38:35,150 რა არის მართლაც cool შესახებ ეს შეგიძლიათ გადაადგილება. 540 00:38:35,150 --> 00:38:40,900 თქვენ შეგიძლიათ ატაროთ თქვენი კომპიუტერის მთელ Sanders, წასვლა სერფინგის ვებ, რაც გაგიხარდებათ, 541 00:38:40,900 --> 00:38:43,240 ისევე, როგორც თქვენ ყველამ ვიცით და გვიყვარს, 542 00:38:43,240 --> 00:38:46,030 და თქვენ არ ოდესმე უნდა plugged in არაფრის. 543 00:38:46,030 --> 00:38:53,880 ამ მუშაობას, ჩვენ გვაქვს როგორც ამ მიღება და გადაცემა. 544 00:38:53,880 --> 00:38:56,060 ეს მართლაც ჰგავს walkie-talkie. 545 00:38:56,060 --> 00:39:03,800 >> ეს ვაიერლეს როუტერი - რომელიც Sanders ზის ქვეშ ამ ეტაპზე, სწორედ აქ - 546 00:39:03,800 --> 00:39:06,590 ყოველთვის მაუწყებლობა და ინფორმაციის მიღების, სამაუწყებლო და მიღების, 547 00:39:06,590 --> 00:39:09,330 ანალოგიურად, თქვენი კომპიუტერი ყველა აკეთებს, რომ იგივე სახის რამ, ძალიან. 548 00:39:09,330 --> 00:39:12,840 ჩვენ უბრალოდ არ შეუძლია მოისმინოს ეს. 549 00:39:12,840 --> 00:39:17,900 სხვა საქმეა, რომ შეგიძლიათ გააკეთოთ შეგიძლიათ რამდენიმე კომპიუტერები 550 00:39:17,900 --> 00:39:22,200 საუბარი იმავე უკაბელო როუტერი. 551 00:39:22,200 --> 00:39:25,680 უფრო მჭიდრო თქვენ უნდა როუტერი - და ისევ, ეს არის რადიოკავშირის - 552 00:39:25,680 --> 00:39:30,320 უფრო ახლოს ხარ, მით უკეთესი თქვენი სიგნალი არის, მით უკეთესი თქვენი კომპიუტერის ესმის "როუტერი 553 00:39:30,320 --> 00:39:32,460 და შეიძლება დაუკავშირდეს ინტერნეტს. 554 00:39:32,460 --> 00:39:39,520 თუ ბიჭები არიან ოდესმე თქვენს dorm, თქვენს სახლში და თქვენ გაინტერესებთ, რატომ თქვენი სიგნალი არის ცუდი, 555 00:39:39,520 --> 00:39:42,230 ეს ალბათ იმიტომ). თქვენ არ ძალიან ახლოს თქვენი როუტერი, ან 556 00:39:42,230 --> 00:39:46,930 ბ). არსებობს რაღაც შორის თქვენ და თქვენი როუტერი მოსწონს ცემენტის კედლის ან რამე 557 00:39:46,930 --> 00:39:50,720 რომ არ უშვებს იმ რადიო ტალღების გავლა. 558 00:39:50,720 --> 00:39:57,850 >> ვისაუბროთ ცოტა შესახებ, თუ რატომ ცუდი ბიჭები მოსწონს Wi-Fi. 559 00:39:57,850 --> 00:40:02,980 ცუდი ბიჭები მიყვარს Wi-Fi რამდენიმე მიზეზის გამო. 560 00:40:02,980 --> 00:40:06,670 აი ჩვენი nasty ცუდი ბიჭი უფლება არსებობს. 561 00:40:06,670 --> 00:40:10,660 ერთი მიზეზი, რის გამოც ამ ცუდ ბიჭს უყვარს Wi-Fi 562 00:40:10,660 --> 00:40:18,770 ეს იმიტომ, ჩვეულებრივ, ბევრი უკაბელო როუტერი მოდიან და როდესაც თქვენ მითითებული მათ up, 563 00:40:18,770 --> 00:40:20,950 ისინი unencrypted. 564 00:40:20,950 --> 00:40:23,970 ეს იყო პრობლემა, და იყო შემთხვევები, - 565 00:40:23,970 --> 00:40:28,210 მრავალჯერადი შემთხვევაში, ახლა - აქ ცუდი ბიჭი გვიჩვენებს მდე ვიღაცის სახლი, 566 00:40:28,210 --> 00:40:32,630 შენიშნა, რომ იქ unencrypted Wi-Fi და მათ სწორედ შეუძლია შეუერთდეს. 567 00:40:32,630 --> 00:40:37,350 მათ დაკავშირება Wi-Fi, შემდეგ კი დაიწყება ჩამოტვირთვის ყველა სახის fun stuff. 568 00:40:37,350 --> 00:40:40,890 და ისინი არ ჩამოტვირთვის kittens, ისინი არ ჩამოტვირთვის puppies. 569 00:40:40,890 --> 00:40:44,610 ეს არის მსგავსად BitTorrent. ეს არის nasty of nastiest. 570 00:40:44,610 --> 00:40:48,740 ყოფილა შემთხვევა, როდესაც FBI კი მიღებული ჩართული 571 00:40:48,740 --> 00:40:52,390 ფიქრობდა, რომ პირი, რომელიც ფლობს სახლს ფაქტიურად ერთი 572 00:40:52,390 --> 00:40:56,090 აპირებს out არსებობს და ჩამოტვირთვის პერსონალის, რომ მართლაც არ უნდა იყოს. 573 00:40:56,090 --> 00:41:00,730 რა unencrypted Wi-Fi არის ნამდვილად არ არის რაღაც თქვენ უნდა, 574 00:41:00,730 --> 00:41:06,340 თუ მხოლოდ არ აქვს FBI მოვიდა დაარტყა თქვენს კარი. 575 00:41:06,340 --> 00:41:09,910 >> კიდევ ერთი მიზეზი, თუ რატომ ცუდი ბიჭები მიყვარს Wi-Fi 576 00:41:09,910 --> 00:41:13,870 სწორედ ამ მიზეზით დავით ისაუბრა ადრე შესვენების დროს. 577 00:41:13,870 --> 00:41:17,240 იმიტომ რომ რადიოკავშირის დროს მისი ძირითადი, 578 00:41:17,240 --> 00:41:22,460 თუ იცით არხი, მოისმენთ, რომ რადიოსადგური. 579 00:41:22,460 --> 00:41:31,870 მაგალითად, თუ არსებობს ცუდი უფლება არსებობს იჯდა შუა უფლება მომდევნო დაშვების წერტილი, 580 00:41:31,870 --> 00:41:36,830 უფლება მომდევნო რომ უკაბელო როუტერი, ცუდი ბიჭი შეიძლება მოსმენაზე ყველა უკაბელო Traffic 581 00:41:36,830 --> 00:41:40,240 რომ მოდის ყველა იმ კომპიუტერებს. 582 00:41:40,240 --> 00:41:44,590 ფაქტობრივად, ამ ბიჭებს - ეს იღბლიანი რამდენიმე რომლებიც აქ წინა Row - 583 00:41:44,590 --> 00:41:47,610 რადგან ისინი super-ახლოს ყველა ამ უკაბელო როუტერი 584 00:41:47,610 --> 00:41:49,950 რომ იჯდეს უბრალოდ ქვევმოთ ეტაპზე, 585 00:41:49,950 --> 00:41:53,780 ისინი შეძლებენ მოვისმინოთ ყველას Traffic ამ მთელი ოთახი 586 00:41:53,780 --> 00:41:59,480 თუ თქვენ უკავშირდება Wi-Fi და დაიწყოს ათვალიერებს მეშვეობით ამ წვდომის წერტილები. 587 00:41:59,480 --> 00:42:03,740 ეს არ არის ძალიან მძიმე ჯდომა თავს კარგი პოზიცია Sniff და გაერკვნენ 588 00:42:03,740 --> 00:42:07,030 რა სხვა ხალხი აკეთებს. 589 00:42:07,030 --> 00:42:10,830 ეს რაღაც გვახსოვდეს, განსაკუთრებით თუ თქვენ დარწმუნებული არ აქ წვდომის წერტილი არის, 590 00:42:10,830 --> 00:42:15,010 და თქვენ ათვალიერებს აცხადებენ, რომ Starbucks. 591 00:42:15,010 --> 00:42:17,360 >> თურმე sniffing და ყველა რომ 592 00:42:17,360 --> 00:42:19,440 არ არის ყველა, რომ ძნელია ამის გაკეთება. 593 00:42:19,440 --> 00:42:25,430 არსებობს პროგრამის მოუწოდა tcpdump რომელიც dumps ყველა სახის TCP Traffic 594 00:42:25,430 --> 00:42:29,910 და შეგიძლიათ გაუშვათ საკმაოდ უბრალოდ - ისევე, როგორც მე ამ დილით. 595 00:42:29,910 --> 00:42:32,810 აქ ცოტა ნაგავსაყრელი და აქ ზოგიერთი Traffic რომ მოდიოდა მეტი 596 00:42:32,810 --> 00:42:34,960 ჩემი ქსელის დროს. 597 00:42:34,960 --> 00:42:41,500 თქვენ ხედავთ - თუ squint ნამდვილად მძიმე - იქ ცოტა Spotify იქ. 598 00:42:41,500 --> 00:42:44,050 თავზე tcpdump - რადგან ეს არის ერთგვარი ტკივილი გამოიყენოს - 599 00:42:44,050 --> 00:42:48,860 არსებობს პროგრამის მოუწოდა Wireshark რომელიც ჩალიჩებისთვის ამ ყველა up in ლამაზი GUI. 600 00:42:48,860 --> 00:42:51,970 Wireshark არის სუპერ მოსახერხებელი ასე რომ, თუ თქვენ გაგრძელდება მიიღოს ქსელის კლასების, 601 00:42:51,970 --> 00:42:56,780 ეს არის ინსტრუმენტი, რომელიც თქვენ მოვიდა მიყვარს რადგან იგი გეხმარებათ dissect ყველა პაკეტი 602 00:42:56,780 --> 00:42:59,400 რომლებიც მცურავი გარშემო out არსებობს. 603 00:42:59,400 --> 00:43:01,810 მაგრამ ეს ასევე შეიძლება გამოყენებული იქნას ცუდი. 604 00:43:01,810 --> 00:43:05,810 ეს ძალიან მარტივია უბრალოდ ჩამოტვირთოთ ამ პროგრამის ჩატვირთვა it up, 605 00:43:05,810 --> 00:43:09,300 დაიწყოს ქსელის ხელში ჩაგდება და ვნახავთ ყველაფერს, რაც ხდება - 606 00:43:09,300 --> 00:43:14,130 და გავფილტროთ და გავაკეთოთ ყველა სახის fun stuff იგი. 607 00:43:14,130 --> 00:43:17,930 >> სხვა საქმეა, რომ შეგიძლიათ გააკეთოთ და უკაბელო საკომუნიკაციო 608 00:43:17,930 --> 00:43:25,380 არ არის მარტო შეგიძლიათ თქვენს მოსმენას, მაგრამ ასევე შეგიძლიათ ისწავლონ Screw ქსელის 609 00:43:25,380 --> 00:43:31,020 და მიეცეს თქვენი საკუთარი ინფორმაცია გაკონტროლება გამოცდილება, რომ სხვა ადამიანების 610 00:43:31,020 --> 00:43:35,140 იმავე უკაბელო ქსელის იღებენ. 611 00:43:35,140 --> 00:43:37,140 მოდით შევხედოთ, რომ. 612 00:43:37,140 --> 00:43:40,700 აქ Firesheep - რომელიც ჩვენ ვიცით და გვიყვარს გასულ კვირას - 613 00:43:40,700 --> 00:43:43,590 რაც არის, რომ eavesdropping ტექნიკა. 614 00:43:43,590 --> 00:43:50,360 თუ, მაგალითად, გვინდოდა აქტიურად გვაქვს ჩვენი ცუდი ბიჭი წავიდეს და სასადილო გარშემო 615 00:43:50,360 --> 00:43:52,690 ერთი ამ კომპიუტერებით, 616 00:43:52,690 --> 00:43:58,380 ამ სცენარით გვაქვს კომპიუტერის ცდილობდა surf to harvard.edu. 617 00:43:58,380 --> 00:44:04,690 რა ხდება არის, კომპიუტერის პირველი აგზავნის გზავნილი ვაიერლეს როუტერი და აცხადებს, 618 00:44:04,690 --> 00:44:07,920 hey, მინდა წასვლა მომხმარებლის www.harvard.edu. 619 00:44:07,920 --> 00:44:10,610 ამბობენ რატომღაც ისინი ცდილობდნენ ინფორმაციას თამაშის ამ კვირის. 620 00:44:10,610 --> 00:44:14,940 ცუდი ბიჭი, რადგან ის ზის უფლება შუა, 621 00:44:14,940 --> 00:44:18,730 უფლება მომდევნო რომ დაშვების წერტილი, ვხედავთ, რომ ურთიერთობა მოდის კომპიუტერი 622 00:44:18,730 --> 00:44:26,170 შევიდა როუტერი, და მან იცის, "AHA! ვიღაცის აპირებს harvard.edu." (Evilly იცინის) 623 00:44:26,170 --> 00:44:33,870 არსებობს იქნება ეს შეყოვნება ხოლო ურთიერთობა მიემართება როუტერი 624 00:44:33,870 --> 00:44:37,780 იმისათვის, რომ ინტერნეტ წასვლა იპოვოს ვებგვერდზე harvard.edu-- 625 00:44:37,780 --> 00:44:42,020 ისევე, როგორც თქვენ ბიჭებს ყველამ ვიცით შემდეგ აკეთებს თქვენი PHP psets - 626 00:44:42,020 --> 00:44:45,680 და ასე ცუდ ბიჭს აქვს ცოტა დრო, ცოტა ფანჯარა, 627 00:44:45,680 --> 00:44:49,410 რომელშიც მას შეუძლია უპასუხოს რაღაცები. 628 00:44:49,410 --> 00:44:53,660 >> ვთქვათ ეს ცუდი ბიჭი, რა თქმა უნდა, არის Yaley. 629 00:44:53,660 --> 00:44:59,990 მან პასუხობს ერთად harvardsucks.org. Boo! 630 00:44:59,990 --> 00:45:02,300 ცუდი, ცუდი ბიჭი! ცუდი Yaley! 631 00:45:02,300 --> 00:45:06,020 ან უარესი, მან შეიძლება უპასუხოს, რომ. [Http://youtu.be/ZSBq8geuJk0]. 632 00:45:06,020 --> 00:45:09,530 მე მოგცემთ ბიჭებს გაერკვნენ, რა, რომ არის. 633 00:45:09,530 --> 00:45:14,840 ეს არის რეალურად ტექნიკა მოუწოდა Airpwn! რომელიც დებიუტი 634 00:45:14,840 --> 00:45:18,950 ერთი უსაფრთხოების კონფერენციები რამდენიმე წლის უკან. 635 00:45:18,950 --> 00:45:25,190 With Airpwn! თქვენ შეუძლია რეალურად მიეცეს Traffic დააბრუნებდა ქსელში. 636 00:45:25,190 --> 00:45:30,060 კომპიუტერები, რომლებიც ცდილობდნენ გადასვლას, რათა ინტერნეტი და ცდილობს, რათა 637 00:45:30,060 --> 00:45:33,090 Google.com, რომ Facebook.com, რომ harvard.edu 638 00:45:33,090 --> 00:45:39,190 ვხედავ მუქარის საპასუხოდ მოდის და დაუყოვნებლივ ვივარაუდოთ, okay, 639 00:45:39,190 --> 00:45:43,550 რომ საპასუხოდ, რომ მე ელოდა და დასრულდება up მიღების შინაარსის 640 00:45:43,550 --> 00:45:48,860 harvardsucks.org ან nameyourfavoriteshocksite.com, 641 00:45:48,860 --> 00:45:55,270 და თქვენ შეგიძლიათ ნახოთ რამდენად სწრაფად რამ გაუარესდება. 642 00:45:55,270 --> 00:46:00,190 >> ყველა ამ სახის რამ არ შეიძლება გაკეთდეს 643 00:46:00,190 --> 00:46:05,870 ამ სახაზო კავშირები რადგან ერთად სადენიანი კავშირი 644 00:46:05,870 --> 00:46:08,710 ძნელია snoop შესახებ, რომ ტრაფიკი. 645 00:46:08,710 --> 00:46:13,020 თუ მე ვარ ცუდი ბიჭი და ერთი ბოლომდე არის თქვენი კომპიუტერი 646 00:46:13,020 --> 00:46:14,460 და მეორეს მხრივ თქვენი როუტერი - თქვენი მოდემი - 647 00:46:14,460 --> 00:46:20,180 ერთადერთი გზა მე შეუძლიათ მიიღონ შორის ამასთან დაკავშირებით არის რეალურად splice ჩემი კომპიუტერი 648 00:46:20,180 --> 00:46:22,180 წელს სადღაც შუა 649 00:46:22,180 --> 00:46:26,820 თუ რაღაც თან როუტერის, რაღაც ქვემოთ. 650 00:46:26,820 --> 00:46:33,360 მაგრამ უკაბელო, ეს შეიძლება იყოს მარტივი როგორც სხდომაზე წინა გრაფაში საკლასო, 651 00:46:33,360 --> 00:46:38,200 და შეგიძლიათ გააკეთოთ ყველა სახის nasty პერსონალის to ადამიანი უკან. 652 00:46:38,200 --> 00:46:41,570 >> ვისაუბროთ იმაზე, თუ როგორ შეიძლება დავიცვათ წინააღმდეგ ზოგიერთი რამ. 653 00:46:41,570 --> 00:46:46,860 ადამიანები, რომლებიც განვითარებული უკაბელო სტანდარტებს - 802.11 - 654 00:46:46,860 --> 00:46:50,820 ისინი არ არიან მითუმეტეს, ადამიანებს ნებისმიერი მონაკვეთი of ფანტაზიით. 655 00:46:50,820 --> 00:46:56,110 ეს არის მაგარი ტექნიკა და როდესაც დებიუტი 1999 წელს, 656 00:46:56,110 --> 00:47:00,780 ისინი გამოვიდნენ ამ სტანდარტის მოუწოდა WEP. 657 00:47:00,780 --> 00:47:03,360 აქ შეგიძლიათ იხილოთ როცა თქვენ ცდილობენ და შეუერთდეს უკაბელო ქსელის, 658 00:47:03,360 --> 00:47:07,450 თქვენ გაქვთ ყველა სახის სხვადასხვა უსაფრთხოების პარამეტრები. 659 00:47:07,450 --> 00:47:11,800 სწორედ სახის ტკივილი, რადგან არსებობს 6 ყველა ერთად 660 00:47:11,800 --> 00:47:14,790 და მას არასოდეს ნამდვილად აზრი, რომელიც 1 შეუერთდეს. 661 00:47:14,790 --> 00:47:19,190 ეს 1 ზედა არის პირველი რომ ისინი გამოვიდა მოუწოდა WEP. 662 00:47:19,190 --> 00:47:27,960 WEP დგას სადენიანი ექვივალენტი კონფიდენციალურობის, მჯერა, 663 00:47:27,960 --> 00:47:31,730 არ Wireless შიფრირების პროტოკოლი რომელიც საერთო misnomer. 664 00:47:31,730 --> 00:47:36,170 რადგან ეს ცდილობს მოგცემთ კონფიდენციალურობის ექვივალენტს და უსაფრთხოების დაცვის 665 00:47:36,170 --> 00:47:40,590 ექვივალენტური რომ სახაზო ქსელის 666 00:47:40,590 --> 00:47:46,710 With WEP რა მთავრდება ხდება არის, 667 00:47:46,710 --> 00:47:52,300 თქვენ გაქვთ მარტივი, პატარა დაგავიწყდათ, რომ თქვენ ტიპი და რომელიც ემსახურება დაშიფვრა 668 00:47:52,300 --> 00:47:56,210 ყველა თქვენს შორის კომუნიკაციების თქვენს კომპიუტერში და თქვენი როუტერი. 669 00:47:56,210 --> 00:47:58,210 >> რა არის პრობლემა WEP თუმცა? 670 00:47:58,210 --> 00:48:01,470 პაროლის WEP მართლაც მოკლედ, 671 00:48:01,470 --> 00:48:04,900 და ასევე ყველას იყენებს იმავე ზუსტი დაგავიწყდათ, 672 00:48:04,900 --> 00:48:07,610  და ა.შ. ეს მართლაც მარტივი გაშიფვრა. 673 00:48:07,610 --> 00:48:10,580 ასე რომ ძალიან სწრაფად ადამიანი figured, რომ WEP იყო პრობლემა, 674 00:48:10,580 --> 00:48:16,100 და ერთადერთი მიზეზი ხედავთ ეს გამოჩნდება ისევ ამ პატარა ბიჭს არის - 675 00:48:16,100 --> 00:48:18,890 არსებობს უფრო ძველი სისტემები რომ არ იყენებს WEP - 676 00:48:18,890 --> 00:48:25,710 რა უნდა იყოს ნაცვლად ეძებს are WPA და WPA2 კი სტანდარტების 677 00:48:25,710 --> 00:48:29,130 რომ გაათავისუფლეს მოგვიანებით. 678 00:48:29,130 --> 00:48:35,040 ეს სისტემა ბევრად უკეთესი გადასვლა საათზე დაცვის უკაბელო ინტერნეტი. 679 00:48:35,040 --> 00:48:41,090 რომ განაცხადა, ისინი მაინც გვაქვს გარკვეული hackability. 680 00:48:41,090 --> 00:48:44,010 არსებობს ხელსაწყოები out არსებობს, რომელიც შეიძლება წავიდეს ამის გაკეთება. 681 00:48:44,010 --> 00:48:47,490 ერთი რამ, კერძოდ, რომ შეიძლება იყოს nasty ის არის, რომ 682 00:48:47,490 --> 00:48:55,370 თუ თქვენ ვუკავშირდები და დამოწმებული უნდა უკაბელო როუტერი და იყენებთ გარკვეული 683 00:48:55,370 --> 00:49:00,940 დაშიფრული საკომუნიკაციო, აღმოჩნდება, რომ ჰაკერი შეგიძლიათ მარტივად გაგზავნას ერთი პაკეტი 684 00:49:00,940 --> 00:49:03,990 კავშირის გაწყვეტა თქვენ როუტერი, 685 00:49:03,990 --> 00:49:07,220 და ერთხელ ისინი გათიშული თქვენ მათ შეუძლიათ შემდეგ მოვუსმინოთ წელს - 686 00:49:07,220 --> 00:49:11,800 მათ შეუძლიათ Sniff იმ პაკეტების როგორც თქვენ ცდილობენ აღადგინოს დაკავშირებით თქვენი როუტერი. 687 00:49:11,800 --> 00:49:16,800 და ამ ინფორმაციის მათ შეუძლიათ შემდეგ წავიდეს და გაშიფვრა დანარჩენი თქვენი ურთიერთობა. 688 00:49:16,800 --> 00:49:24,580 ეს არ არის ნებისმიერი გზით ნებისმიერ უსაფრთხო მიღმა ყველა წარმოსახვა. 689 00:49:24,580 --> 00:49:30,060 >> სხვა, რაც შეგიძლიათ გააკეთოთ, როდესაც თქვენ შექმნით უკაბელო ქსელებს 690 00:49:30,060 --> 00:49:35,460 ან თქვენ მათთან არის - თქვენ შეამჩნევთ, რომ აქ, როცა მე მიერთების ამ ქსელში, 691 00:49:35,460 --> 00:49:37,640 იგი სთხოვს სახელით ჩემი ქსელში. 692 00:49:37,640 --> 00:49:41,060 ეს ასევე ცნობილია როგორც SSID. 693 00:49:41,060 --> 00:49:48,610 და ხედავთ აქ რომ უფლება მაქვს ყუთი, რომელიც აჩვენებს ჩემთან ხელმისაწვდომია SSIDs. 694 00:49:48,610 --> 00:49:52,690 არსებობს ჰარვარდის უნივერსიტეტი, CS50 და CS50 თანამშრომლები ქსელში. 695 00:49:52,690 --> 00:49:59,180 ახლა, რამდენი თქვენგანი იცოდა იყო CS50 თანამშრომლები ქსელის გარშემო? 696 00:49:59,180 --> 00:50:01,910 ზოგიერთ თქვენგანს. არ ყველა თქვენგანს. 697 00:50:01,910 --> 00:50:08,800 პრობლემა, რა თქმა უნდა, არის ის, რომ იყო ჩვენ არ დააყენა ამ მდე ჩვენს სიაში SSIDs, 698 00:50:08,800 --> 00:50:10,930 არავის სცოდნოდა ამის შესახებ სავარაუდოდ. 699 00:50:10,930 --> 00:50:16,090 იმედი მაქვს. თუ ბიჭები არიან ყველა ცდილობს ბზარი ჩვენს უკაბელო. 700 00:50:16,090 --> 00:50:18,700 მაგრამ ეს რაღაც შეგიძლიათ გააკეთოთ, რომ მართლაც მნიშვნელოვანია, როდესაც თქვენ შექმნით 701 00:50:18,700 --> 00:50:20,280 როუტერი სახლში. 702 00:50:20,280 --> 00:50:22,820 ეს ალბათ არ მოხდება რამდენიმე წლის განმავლობაში ბევრი თქვენგანი, 703 00:50:22,820 --> 00:50:29,010 მაგრამ გახსოვდეთ, რომ შენახვა რომ SSID გარეთ არსებობს და არა ასევე დასახელებისგან იგი 704 00:50:29,010 --> 00:50:34,630 რაღაც სუპერ საერთო დაეხმარება შენარჩუნება თქვენ უფრო უსაფრთხო გრძელვადიან პერსპექტივაში. 705 00:50:34,630 --> 00:50:38,070 >> საბოლოო რამდენიმე რამ რისი გაკეთებაც შეგიძლიათ. ერთი არის HTTPS. 706 00:50:38,070 --> 00:50:44,760 თუ თქვენ at Starbucks, თუ თქვენ ხართ საჯარო Wi-Fi ფართობი 707 00:50:44,760 --> 00:50:52,620 და თუ თქვენ ჩვენგან გადაწყვეტენ თქვენი საბანკო ანგარიშზე, თქვენი Gmail, თქვენი Facebook, 708 00:50:52,620 --> 00:50:56,140 დარწმუნდით, რომ ეს კავშირები ვაპირებთ მეტი HTTPS. 709 00:50:56,140 --> 00:50:59,800 ეს დამატებითი ფენის უსაფრთხოება, დასძინა ფენის დაშიფრვას. 710 00:50:59,800 --> 00:51:01,520 ერთი რამ უნდა გვახსოვდეს, აქ არის, 711 00:51:01,520 --> 00:51:04,740 რამდენი თქვენ ოდესმე დააწკაპებთ მეშვეობით, რომ დიდი, წითელი ეკრანზე, რომელიც ამბობს, 712 00:51:04,740 --> 00:51:07,480 "ეს ნახვა შეიძლება იყოს ცუდი." 713 00:51:07,480 --> 00:51:09,710 მე ვიცი მე. 714 00:51:09,710 --> 00:51:13,090 ალბათ როდესაც თქვენ ყველა მომენტში წასვლა ვხედავ სამშობლო ან რამე მაგდაგვარს, არა? 715 00:51:13,090 --> 00:51:19,900 Yeah. (აუდიტორიის სიცილი) Yeah. აქ თქვენ წასვლა. ჩვენ ვიცით, რომელიც თვალს სამშობლო. 716 00:51:19,900 --> 00:51:24,540 დიდი, წითელი ეკრანის მარჯვენა მხარეს 717 00:51:24,540 --> 00:51:28,600 ხშირად მიუთითებს იმაზე, რომ რაიმე ხმაურიანი ხდება. 718 00:51:28,600 --> 00:51:32,530 ზოგჯერ უბრალოდ ნახვა თავისთავად დაუცველად, 719 00:51:32,530 --> 00:51:35,520 მაგრამ იმავე დიდი, წითელი ეკრანზე ჩნდება ხალხი ცდილობს 720 00:51:35,520 --> 00:51:37,520 Mount ქსელის თავდასხმების თქვენ. 721 00:51:37,520 --> 00:51:40,220 ასე რომ, თუ ხედავთ, რომ დიდი, წითელი ეკრანის ამუშავება საათზე Starbucks, 722 00:51:40,220 --> 00:51:42,440 არ დააწკაპუნეთ საშუალება. 723 00:51:42,440 --> 00:51:45,350 ცუდი ამბავი. ცუდი ამბავი ეკისრება. 724 00:51:45,350 --> 00:51:51,490 >> საბოლოო რამ რომ თქვენ შეგიძლიათ შეხედოთ 725 00:51:51,490 --> 00:51:54,120 არის გარკვეული VPN. 726 00:51:54,120 --> 00:52:00,280 ეს VPN ხელმისაწვდომია მეშვეობით ჰარვარდის - vpn.fas.harvard.edu-- 727 00:52:00,280 --> 00:52:03,260 და რა ეს იმას არის ის რეალურად ადგენს უსაფრთხო კავშირი 728 00:52:03,260 --> 00:52:06,460 თქვენს შორის და ჰარვარდის, funnels თქვენი მიმოსვლა მას, 729 00:52:06,460 --> 00:52:12,160 და ამ გზით თუ თქვენ ზის მსგავსი ადგილი Starbucks 730 00:52:12,160 --> 00:52:19,030 თქვენ შეუძლია შეუერთდეს ჰარვარდის, კიდევ რომ უსაფრთხო მოძრაობის, ხოლო შემდეგ დაათვალიეროთ ჰარვარდის. 731 00:52:19,030 --> 00:52:21,950 ისევ და ისევ, არ foolproof. ხალხი შეუძლიათ მიიღონ ახლო. 732 00:52:21,950 --> 00:52:25,850 მათ შეუძლიათ დაიწყონ მოხსნა, მაგრამ ეს არის ბევრად უფრო უსაფრთხო, ვიდრე ეყრდნობოდა უსაფრთხოების 733 00:52:25,850 --> 00:52:28,620 საქართველოს Wi-Fi მარტო. 734 00:52:28,620 --> 00:52:32,570 >> ყველა უფლება. ერთი სიტყვით, 735 00:52:32,570 --> 00:52:34,580 როდესაც ქმნით უკაბელო ქსელებს, 736 00:52:34,580 --> 00:52:37,250 როდესაც თქვენ out ისარგებლოთ უკაბელო საჯარო - 737 00:52:37,250 --> 00:52:43,430 თუ არა ეს Starbucks, თუ არა ის ხუთი ბიჭები, თუ არა ეს B.Good, 738 00:52:43,430 --> 00:52:46,440 მსგავსი რამ, რომ - იქ, სადაც მათ აქვთ Wi-Fi - 739 00:52:46,440 --> 00:52:48,440 უნდა იცოდეს თქვენი შემოგარენში. 740 00:52:48,440 --> 00:52:50,440 უნდა იცოდეს, თუ რა ხალხს შეუძლია გააკეთოს. 741 00:52:50,440 --> 00:52:53,890 და იყოს უსაფრთხო. ვერ შედიხართ თქვენს საბანკო ანგარიშზე. 742 00:52:53,890 --> 00:52:58,740 ეს შეიძლება იყოს უხეში გამოღვიძება თუ ვინმეს აჩვენებს up თქვენი პაროლი შემდგომში. 743 00:52:58,740 --> 00:53:05,480 ამასთან, წავიდეს ჟოლოსფერი! და მე ვაპირებ ჩართოთ რამ თავში მეტი დავით საბოლოო სიტყვა. 744 00:53:05,480 --> 00:53:11,270 (ტაში) 745 00:53:11,270 --> 00:53:14,360 >> [დავით] მეგონა მინდა იზიარებენ ერთი რამ პირად გამოცდილებას. 746 00:53:14,360 --> 00:53:19,940 ინსტრუმენტი შეიძლება მინდა თამაში - თუმცა Apple ფაქტობრივად აღმოიფხვრა ამ საკითხის 747 00:53:19,940 --> 00:53:22,710 თუ თქვენ ახლდება თქვენი პროგრამული წლიდან - 748 00:53:22,710 --> 00:53:26,670 მაგრამ მიმართ ამ ბოლოს ნამდვილად არ მიმდინარეობს შეუძლია ენდობა პროგრამული უზრუნველყოფა, რომ ჩვენ ვიყენებთ, 749 00:53:26,670 --> 00:53:33,270 და Nate ს რაოდენობა, რომელსაც აქვს უნარი Sniff საკმაოდ ცოტა სხვა რა ხალხი აკეთებს 750 00:53:33,270 --> 00:53:37,010 არსებობს - ეს იყო ნაჭერი პროგრამული უზრუნველყოფა, რომელიც გამოვიდა დაახლოებით ერთი წლის და ნახევარი წინ არის. 751 00:53:37,010 --> 00:53:39,010 [IPhoneTracker] [http://petewarden.github.com/iPhoneTracker/] 752 00:53:39,010 --> 00:53:41,010 გარკვეული დროის განმავლობაში, iTunes - ადრე iCloud, როდესაც syncing თქვენი iPods ან iPhones თქვენი ან 753 00:53:41,010 --> 00:53:45,570 ან თქვენი iPads ერთად iTunes - ში ინტერესი სარეზერვო, 754 00:53:45,570 --> 00:53:48,340 რა თქვენი iPhone და ეს სხვა მოწყობილობებს არ აკეთებდა გარკვეული დრო არის 755 00:53:48,340 --> 00:53:50,340 მიღების გამოყენების GPS მონაცემები. 756 00:53:50,340 --> 00:53:52,710 >> თქვენ ყველამ იცით, ალბათ, რომ თქვენი iPhones და Androids და Windows მობილური ტელეფონები 757 00:53:52,710 --> 00:53:55,410 და მსგავსად ამ დღეებში შეგიძლიათ აკონტროლოთ სადაც თქვენ ხართ ინტერესი გამოიჩინა რუკები 758 00:53:55,410 --> 00:53:59,440 და მსგავსი - კარგად რა ვაშლი და ეს სხვა კომპანიები გააკეთოთ 759 00:53:59,440 --> 00:54:02,650 ისინი, როგორც წესი, აკონტროლოთ თითქმის ყველგან თქვენ რეალურად ყოფილა ინტერესი 760 00:54:02,650 --> 00:54:05,380 გაუმჯობესების ხარისხის მომსახურეობას. 761 00:54:05,380 --> 00:54:07,170 ერთი, შეგიძლიათ მიიღოთ უფრო მეტი მიზნობრივი სარეკლამო და მოსწონს, 762 00:54:07,170 --> 00:54:10,740 მაგრამ ორი, მათ შეუძლიათ ასევე გაერკვნენ, სადაც არსებობს უკაბელო ცხელ წერტილებში მთელს მსოფლიოში, 763 00:54:10,740 --> 00:54:14,780 და ეს შეიძლება დაგვეხმაროს geo-საიდან - სახის triangulation ადამიანი პოზიციას. 764 00:54:14,780 --> 00:54:18,520 >> დიდხანს ამბავი მოკლედ, ყველა ჩვენგანისთვის იყო ფეხით ანტენებიც გარკვეული დროის. 765 00:54:18,520 --> 00:54:22,180 სამწუხაროდ, Apple გააკეთა დიზაინი გადაწყვეტილება - ან აშკარა მისი - 766 00:54:22,180 --> 00:54:26,590 რათა არ გაშიფრავს ამ ინფორმაციას როდესაც მიმდინარეობს მხარდაჭერილი-მდე iTunes. 767 00:54:26,590 --> 00:54:30,330 და რა უსაფრთხოების მკვლევარი ი იყო, რომ ეს იყო უბრალოდ დიდი XML ფაილი - 768 00:54:30,330 --> 00:54:33,810 დიდი ტექსტი ფაილი - ზის ხალხის iTunes პროგრამული უზრუნველყოფა, 769 00:54:33,810 --> 00:54:35,400 და თუ იყო ცოტა ცნობისმოყვარე, 770 00:54:35,400 --> 00:54:38,990 თქვენ შეიძლება გადასვლა გააღიზიანოს გარშემო თქვენი მეუღლე ისტორიაში, თქვენი roommate ისტორიაში, 771 00:54:38,990 --> 00:54:41,050 თქვენი ძმა ისტორიისა და მოსწონს, 772 00:54:41,050 --> 00:54:44,590 და წყალობით რამოდენიმე უფასო პროგრამული უზრუნველყოფა, თქვენ შეიძლება ნაკვეთი ყველა ამ GPS კოორდინატები - 773 00:54:44,590 --> 00:54:46,590 გრძედი და განედი. 774 00:54:46,590 --> 00:54:48,590 >> ასე რომ, მე რეალურად ეს ჩემი საკუთარი ტელეფონის. 775 00:54:48,590 --> 00:54:51,210 მე plugged ჩემი ტელეფონი და დარწმუნებული საკმარისი, ჩემი ვერსია iTunes არ იყო დაშიფრული დროს, 776 00:54:51,210 --> 00:54:53,900 და რა ჰქონდა საშუალება ენახა იყო ჩემი საკუთარი შაბლონებს. 777 00:54:53,900 --> 00:54:56,970 აქ შეერთებული შტატები და თითოეულ ამ ლურჯი წრეების წარმოადგენს 778 00:54:56,970 --> 00:55:01,670 სადაც მე მოუვიდა უკვე იმ წინა თვეში ფლობს ამ კონკრეტულ ტელეფონი. 779 00:55:01,670 --> 00:55:04,940  ვატარებ ბევრი დრო, რა თქმა უნდა, წელს ჩრდილო, ცოტა დრო კალიფორნიაში, 780 00:55:04,940 --> 00:55:08,690 ხანმოკლე მოგზაურობის Texas, და თუ შემდეგ მიუახლოვდით ამ - 781 00:55:08,690 --> 00:55:11,120 ეს არის ყველა სახის ჯარიმა და საინტერესო, მაგრამ ვიცოდი ამ. 782 00:55:11,120 --> 00:55:13,890 უმეტესობა ჩემი მეგობრები იცოდა, მაგრამ თუ თქვენ ჩაყვინთვის უფრო ღრმა წელს, 783 00:55:13,890 --> 00:55:17,090 ხედავთ, სად ვატარებ ყველაზე მეტად ჩემი დროის ჩრდილო. 784 00:55:17,090 --> 00:55:20,330 თუ თქვენ latch გადატანა რამდენიმე ნაცნობი ორიენტირებული ქალაქები - 785 00:55:20,330 --> 00:55:24,670 ამ დიდი, ლურჯი მელნის splotch არსებითად ორიენტირებული მეტი ბოსტონი, 786 00:55:24,670 --> 00:55:29,510 და მაშინ ვატარებ ცოტა დრო ამოიწურა გარეუბნებში radiating out from Boston. 787 00:55:29,510 --> 00:55:32,780 მაგრამ მე ასევე აკეთებს საკმაოდ მწირი საკონსულტაციო წელს. 788 00:55:32,780 --> 00:55:36,090 ხოლო წელს არის აღმოსავლეთ SEABOARD, და თქვენ შეგიძლიათ რეალურად ვხედავ ჩემთვის 789 00:55:36,090 --> 00:55:41,920 და ჩემი iPhone ჯიბეში მოგზაურობა უკან და მეოთხე შორის ბოსტონი და ნიუ 790 00:55:41,920 --> 00:55:47,510 და ფილადელფიაში შემდგომი ქვევით, ასევე ხარჯვის ცოტა დასვენება დრო 791 00:55:47,510 --> 00:55:50,340 on კონცხი, რომელიც პატარა Arm out არსებობს. 792 00:55:50,340 --> 00:55:53,030 ასე რომ, თითოეული ამ წერტილების წარმოადგენს გარკვეული ადგილი ვიყავი, 793 00:55:53,030 --> 00:55:56,970 და სრულიად unbeknownst ჩემთვის, მთელი ისტორია იყო უბრალოდ სხდომაზე 794 00:55:56,970 --> 00:55:58,410 ჩემს desktop კომპიუტერი. 795 00:55:58,410 --> 00:56:00,470 თუ დააშორებს - ეს ფაქტობრივად იყო პატარა შემაშფოთებელი. 796 00:56:00,470 --> 00:56:04,190 არ მქონდა მეხსიერებაში of ოდესმე რომელსაც წელს პენსილვანიის კონკრეტულ წელს. 797 00:56:04,190 --> 00:56:07,840 მაგრამ მე თუმცა ცოტა რთული შესახებ და I figured out, Oh, ეს იყო ფაქტი, რომ მოგზაურობა 798 00:56:07,840 --> 00:56:11,160 და დარწმუნებული საკმარისი, ჩემი ტელეფონი ჰქონდა დაჭერილი ჩემთვის. 799 00:56:11,160 --> 00:56:14,180 >> Apple მას იშიფრება ამ ინფორმაციას, 800 00:56:14,180 --> 00:56:17,380 მაგრამ ესეც მხოლოდ პატივისცემის რამდენად ინფორმაციის აგროვებენ ჩვენს შესახებ, 801 00:56:17,380 --> 00:56:20,850 და როგორ მარტივად - უკეთესი ან უარესი - ეს მისაღებია. 802 00:56:20,850 --> 00:56:23,340 ერთი Take-aways იმედია საწყისი რობ მისი განხილვა, საწყისი Nate ს განხილვა 803 00:56:23,340 --> 00:56:27,370 და პატარა ვიზუალური მოსწონს ეს დღეს არის უბრალოდ უნდა იყოს უფრო cognizant ამ 804 00:56:27,370 --> 00:56:31,160 ასე რომ, მიუხედავად იმისა, - როგორც ძარცვა ს წერტილი - we're სახის ბრალია, არა? 805 00:56:31,160 --> 00:56:33,920 არსებობს ბევრი შეგვიძლია გავაკეთოთ, როდესაც საქმე ზოგიერთი ამ საფრთხეებს, 806 00:56:33,920 --> 00:56:37,130 მაგრამ დღის ბოლოს ჩვენ უნდა ენდობა რაღაც ან ვინმე 807 00:56:37,130 --> 00:56:38,510 თუ ჩვენ გვინდა რეალურად გამოიყენოს ეს ტექნოლოგიები. 808 00:56:38,510 --> 00:56:43,150 მინიმუმ ჩვენ შეიძლება მიღების ინფორმირებული გადაწყვეტილებები და აწონილი გადაწყვეტილება თუ არა 809 00:56:43,150 --> 00:56:46,390 ჩვენ რეალურად უნდა იყოს შემოწმების ამ განსაკუთრებით მგრძნობიარე ანგარიშის 810 00:56:46,390 --> 00:56:49,330 ან უნდა იყოს რეალურად გაგზავნის რომ ოდნავ ეჭვი მყისიერი გაგზავნა 811 00:56:49,330 --> 00:56:52,180  in Wi-Fi გარემოს მოსწონს ეს. 812 00:56:52,180 --> 00:56:54,990 >> ასე, რომ, რომ განაცხადა, მხოლოდ ერთი Quiz რჩება, ერთი ლექცია რჩება. 813 00:56:54,990 --> 00:56:57,740 ჩვენ დავინახავთ, თქვენ ოთხშაბათს შემდეგ ორშაბათს. 814 00:56:57,740 --> 00:57:02,100 (ტაში და Cheers) 815 00:57:02,100 --> 00:57:06,100 [CS50TV]