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 वे वास्तव में बहुत कठिन है. 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 वहाँ कुछ भी नहीं है, स्काइपे या क्रोम, या सॉफ्टवेयर के किसी भी टुकड़े को रोका 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 अपने ईमेल के पढ़ने, अपनी त्वरित संदेश के सभी बेधने से. 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 लेकिन के रूप में हम सी के माध्यम से देखा है, और अब PHP और जावास्क्रिप्ट, 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 >> तो, आज हम उस विषय पर ध्यान केंद्रित - 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 और मैं हिम्मत बुरे लोगों को लगभग हमेशा एक पैर ऊपर है. 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 एक शोषण, एक बग या सॉफ्टवेयर हम लिखा है की एक टुकड़ा में चल रहे हैं 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 और हां, तो मैं हिम्मत पूरे पर, बुरे लोगों को लाभ दिया है. 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 लेकिन मैं उस के साथ ठीक हूँ मूल्य की वजह से यह मेरे दूसरे हाथ पर लाता है. 46 00:02:27,040 --> 00:02:31,060 >> मैं बहुत 2 होशियार लोगों को मैं जानता के द्वारा प्रसन्न करने के लिए शामिल किया जा रहा है - 47 00:02:31,060 --> 00:02:33,060 रोब Bowden और नैट Hardison. 48 00:02:33,060 --> 00:02:36,850 रोब हमें सुरक्षा टैग के निम्नतम स्तर के माध्यम से एक दौरे के लिए लेने के बारे में है - 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 >> [रोब] ठीक है. डेविड बहुत ज्यादा मेरे पूरे बकना ले लिया है 52 00:02:50,280 --> 00:02:52,320 कि मैं के साथ शुरू करने जा रहा था, लेकिन 53 00:02:52,320 --> 00:02:58,070 कई हफ्ते पहले, आप बफर अतिप्रवाह हमले का उदाहरण देखा 54 00:02:58,070 --> 00:03:01,900 जो सॉफ्टवेयर के कुछ टुकड़े में एक हैकर हैकिंग का एक उदाहरण है 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 व्यक्ति जो सॉफ्टवेयर लिखा आप हैक करने के लिए करना चाहता है. 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 यहाँ, एक मूर्ख प्रोग्राम है कि एक उपयोगकर्ता नाम और पासवर्ड की पुष्टि. 63 00:03:33,390 --> 00:03:39,420 यहाँ आप निश्चित रूप से सी के साथ सहज हो जाना चाहिए फिर से प्रश्नोत्तरी के लिए. 64 00:03:39,420 --> 00:03:43,470 सबसे पहले, हम तार पाने के लिए उपयोगकर्ता नाम का वर्णन करने के लिए प्रयोग कर रहे हैं, 65 00:03:43,470 --> 00:03:46,280 फिर हम स्ट्रिंग का उपयोग कर रहे हैं के लिए पासवर्ड हड़पने, 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 या, नाम "टॉमी" और पासवर्ड "मैं 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 वहाँ सिर्फ कुछ लॉगिन प्रोग्राम है जो आप उपयोग दे रहा है. 77 00:04:24,930 --> 00:04:31,840 यहाँ, हम 'लूटने' हार्ड कोडित, 'thisiscs50', 'टॉमी', 'मैं <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 >> हमारे संकलक पर आ रहा है - 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 और फिर हम अपने बफर के रूप में हमेशा अशक्त समाप्त कर सकता है, 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 लेकिन एक संकेत के रूप में, यह सिर्फ बजना कॉल. 93 00:05:26,820 --> 00:05:32,370 हम बजना के बजाय बातें संकलन करने के लिए इस कार्यक्रम का उपयोग करने के लिए जा रहे हैं. 94 00:05:32,370 --> 00:05:39,260 एक समस्या है कि हम साथ शुरू है कि हम देखते हैं कि हम हमारे संकलक संकलन करना चाहता हूँ, 95 00:05:39,260 --> 00:05:43,620 लेकिन अगर हम बजना का उपयोग करने के लिए नहीं जा रहे हैं, मैं नहीं पता है कि मैं क्या करने के साथ संकलन करने के लिए जा रहा हूँ. 96 00:05:43,620 --> 00:05:46,700 यह एक सामान्य मुद्दा bootstrapping के रूप में जाना जाता है. 97 00:05:46,700 --> 00:05:53,080 तो, बस इस बार, मैं बजना का उपयोग करने के लिए हमारी संकलक संकलन करने जा रहा हूँ. 98 00:05:53,080 --> 00:05:58,800 >> यदि आप जीसीसी और बजना के बारे में सोच - 99 00:05:58,800 --> 00:06:03,200 उन कार्यक्रमों, उन compilers लगातार अपडेट किया जा रहा है, 100 00:06:03,200 --> 00:06:10,010 और उन compilers जीसीसी और बजना का उपयोग संकलित हैं. 101 00:06:10,010 --> 00:06:14,890 बजना सिर्फ एक बड़ी सी या सी + कार्यक्रम +, 102 00:06:14,890 --> 00:06:19,510 संकलक तो वे संकलन करने के लिए है कि बजना है का उपयोग करें. 103 00:06:19,510 --> 00:06:26,820 यहाँ, अब, हम सिर्फ हमारे संकलक का उपयोग किया जाना हमारे संकलक संकलन करने जा रहे हैं, 104 00:06:26,820 --> 00:06:33,830 और हम भी कह सकते हैं - '/ संकलक.', 'compiler.c', 'compile.c', 'ओ संकलक'. 105 00:06:33,830 --> 00:06:37,250 सूचना इस सटीक आदेश मैंने पहले भाग है - 106 00:06:37,250 --> 00:06:41,330 बस के साथ '. / संकलक' बजना की जगह. 107 00:06:41,330 --> 00:06:44,990 और अब हम एक और संकलक है, लेकिन यह वास्तव में है ही. 108 00:06:44,990 --> 00:06:47,510 यह सिर्फ बजना कहता है. 109 00:06:47,510 --> 00:06:55,050 >> हम हमारे संकलक का उपयोग करने के लिए हमारे प्रवेश कार्यक्रम संकलन करने के लिए जा रहे हैं. 110 00:06:55,050 --> 00:07:03,030 ठीक है - "/ संकलक login.c - ओ प्रवेश". 111 00:07:03,030 --> 00:07:06,160 तो, "GetString" अपरिभाषित संदर्भ. 112 00:07:06,160 --> 00:07:11,250 एक "lcs50 समझे. ठीक है. 113 00:07:11,250 --> 00:07:13,790 तो अब मैं अपने लॉगिन कार्यक्रम है. 114 00:07:13,790 --> 00:07:16,790 यह चल रहा है - प्राप्त "कृपया अपना उपयोगकर्ता नाम दर्ज करें." 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 इसे फिर से चल रहा है और कुछ अवैध पासवर्ड में प्रवेश - 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 ठीक है. यह इतनी दूर के बारे में कुछ भी दिलचस्प नहीं. 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 (उपयोक्तानाम, "हैकर") == 0 && 124 00:07:59,330 --> 00:08:14,510 (पासवर्ड, "LOLihackyou") strcmp == 0)) 125 00:08:14,510 --> 00:08:26,280 तो अब, printf ("Hacked अब आप उपयोग कर सकते है \ n!."), ठीक है. 126 00:08:26,280 --> 00:08:36,240 इस संकलन संकलक login.c - ओ लॉगिन 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 ठीक है. Recompiling. 132 00:08:56,270 --> 00:09:01,500 पुन चल - हैकर - LOLihackedyou - 133 00:09:01,500 --> 00:09:03,650 Hacked! अब आप का उपयोग कर सकते है. 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 इसके अलावा, बड़ी बात यह है कि अगर अन्य लोगों को इस पर देखो login.c - 137 00:09:17,720 --> 00:09:24,020 कहते हैं, अगर मैं अपने साथी के लिए इस बंद से गुजारें, और वे इस फाइल को खोलने, 138 00:09:24,020 --> 00:09:29,870 और वे इस पढ़ा है, वे देखेंगे - ठीक है, तुम क्यों कोड की इन पंक्तियों यहाँ है? 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 आप सभी जानते के लिए, स्काइपे या कुछ की तरह कुछ 143 00:09:50,440 --> 00:09:57,600 स्काइपे आपके कंप्यूटर पर है और वहाँ सिर्फ कुछ विशिष्ट संयोजन उपयोगकर्ता नाम पासवर्ड 144 00:09:57,600 --> 00:10:01,580 जो कुछ विशेष तरीके में स्काइपे में प्रवेश करेंगे. 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 यहाँ, अगर मैं उपयोगकर्ता नाम 'लूटने' या ',' टॉमी के साथ मान्य 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 और हमारे नए संकलक पर एक नज़र रखना. ठीक है. 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 मैं यहाँ कुछ स्ट्रिंग 'हैक' कहा जाता है देखते हैं, 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 >> कोड की लाइनों मैं करने के लिए login.c में सम्मिलित करना चाहते हैं के लिए जा रहा हूँ. 178 00:12:00,240 --> 00:12:06,350 कोड के इन लाइनों बफर है कि मूल रूप से मेरे login.c आयोजित 179 00:12:06,350 --> 00:12:11,080 नहीं अब काफी बड़ा होने जा रहा है क्योंकि अब मैं भी इस हैक सम्मिलित करना चाहते हैं 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 हैक - दोनों मूल फ़ाइल और कोड के अतिरिक्त लाइनों के लिए कि मैं वहाँ सम्मिलित करना चाहते हैं. 183 00:12:22,020 --> 00:12:24,920 यहाँ कुछ करने के लिए नोटिस दिया गया है - 184 00:12:24,920 --> 00:12:29,200 चार पैटर्न * = "/ / इनकार करते हैं उन्हें का उपयोग!" 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 Login.c, इस टिप्पणी पूरी तरह से अहानिकर लग रहा है, 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 कोड की इन पंक्तियों को उस स्थिति में हमारे हैक डालने कर रहे हैं. 192 00:13:03,330 --> 00:13:06,910 तो, हम पूरे login.c पर iterating कर रहे हैं, 193 00:13:06,910 --> 00:13:12,080 हम कि हैक डालने इनकार करते हैं उन्हें का उपयोग वास्तव में, जहां यह कहते हैं, 194 00:13:12,080 --> 00:13:15,890 मूल नहीं login.c - और फिर हम कर रहे हैं संकलन 195 00:13:15,890 --> 00:13:20,340 लेकिन उस पर सही डाला हैक के साथ नए login.c 'से इनकार करते हैं उन्हें का उपयोग करने के लिए.' 196 00:13:20,340 --> 00:13:29,190 >> अब मैं कि हैक के साथ शामिल करने के लिए अपने नए संकलक संकलन करने के लिए करना चाहते हैं. 197 00:13:29,190 --> 00:13:36,900 मैं बजना का उपयोग करने के लिए नहीं जा रहा हूँ, तो चलो संकलक हम पहले प्रयोग किया जाता कॉपी 198 00:13:36,900 --> 00:13:48,420 और उपयोग करें कि - हां, तो संकलक compiler.c evil_compiler compile.c - ओ. 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 हां, तो / login.c - ओ evil_compiler लॉगिन 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 फिर से चल रहा है - हैकर, LOLihackyou - 209 00:14:36,640 --> 00:14:39,000 Hacked! अब आप का उपयोग कर सकते है. 210 00:14:39,000 --> 00:14:43,560 बस login.c में देख रहे हैं, आपको नहीं लगता है कि कुछ गलत है. 211 00:14:43,560 --> 00:14:46,960 लेकिन संकलक कि login.c संकलन किया जा रहा है 212 00:14:46,960 --> 00:14:53,820 विशेष रूप से कार्यक्रम में इस हैक डालने के लिए बनाया गया है. 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 >> एक नज़र लेने हमारे संकलक के तीसरे संस्करण में, 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 और मैं यहाँ में स्ट्रिंग हैक के कुछ प्रकार है, 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 सामान में सम्मिलित करें. 234 00:16:19,370 --> 00:16:26,010 इस नए संकलक एक संकलक बनाने का इरादा है 235 00:16:26,010 --> 00:16:30,390 जो लॉगिन दुर्भावनापूर्ण रूप संकलन करने का इरादा है. 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 हम सिर्फ हमारे पूरे compile.c पर iterating कर रहे हैं. 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 इस टिप्पणी फ़ाइल संकलन - फिर, कि पूरी तरह से अहानिकर लग रहा है. 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 >> अविवेक के स्तरों के एक बहुत कुछ कर रहे हैं. 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 evilest_compiler compile.c - ओ - 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 इसे लाने पर, सभी तरह वापस हमारे संकलक के संस्करण 1 - Evilest_compiler - 256 00:18:13,230 --> 00:18:19,640 हमारे संकलक के संस्करण 1 जो सिर्फ फ़ाइल में पढ़ रहा था और यह संकलन. 257 00:18:19,640 --> 00:18:24,780 यहाँ, हम कि evilest_compiler पता है - जब यह इस फाइल compiles 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, Hacked! अब आप का उपयोग कर सकते है. 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 हम login.c की hackable संस्करण मिलता है. 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 केन थॉम्पसन, और वह ट्यूरिंग पुरस्कार जीता 287 00:21:10,350 --> 00:21:15,600 अगर आप ट्यूरिंग पुरस्कार के साथ अपरिचित हैं, यह लगभग हमेशा के रूप में परिभाषित 288 00:21:15,600 --> 00:21:20,160 कंप्यूटर विज्ञान के नोबेल पुरस्कार से इतना है कि मैं इसे कैसे परिभाषित करेंगे. 289 00:21:20,160 --> 00:21:24,100 केन थॉम्पसन एक भाषण दिया था जब वह अपने ट्यूरिंग पुरस्कार प्राप्त 290 00:21:24,100 --> 00:21:27,150 "विश्वास ट्रस्ट पर कुछ विचार." 291 00:21:27,150 --> 00:21:30,710 असल में, यह अपने भाषण का विचार था. 292 00:21:30,710 --> 00:21:35,050 बजाय हमारे संकलक के अलावा, वह जीसीसी के बारे में बात कर रहा था - 293 00:21:35,050 --> 00:21:37,250 सिर्फ बजना की तरह एक और संकलक - 294 00:21:37,250 --> 00:21:45,600 और क्या वह कह रहा था, हमारे login.c की तरह है, हमारे login.c अपेक्षाकृत बेकार लगता है 295 00:21:45,600 --> 00:21:50,190 लेकिन वह वास्तविक यूनिक्स 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 उन्होंने कहा कि जीसीसी में, वह सिद्धांत में एक बग लगाए गए हैं सकता है - 301 00:22:09,080 --> 00:22:12,290 बग नहीं बल्कि एक - एक दुर्भावनापूर्ण कोड 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 समय, जीसीसी बहुत ज्यादा संकलक है कि हर किसी के लिए कुछ भी किया था. 306 00:22:33,710 --> 00:22:36,460 अगर किसी के लिए जीसीसी अद्यतन हुआ, 307 00:22:36,460 --> 00:22:40,880 तो वे जीसीसी recompile जीसीसी का उपयोग होगा, 308 00:22:40,880 --> 00:22:44,500 और आप अभी भी जीसीसी के एक बुरा संस्करण मिल जाएगा 309 00:22:44,500 --> 00:22:50,140 क्योंकि यह विशेष रूप से समझते हैं कि यह संकलक recompiling था संकलित किया गया. 310 00:22:50,140 --> 00:22:57,360 और अगर तुम कभी जीसीसी का उपयोग करने के लिए एक login.c फ़ाइल recompile, 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 और हम हमेशा की तरह वापस एक ख द्वारा विभाजित. 329 00:24:03,730 --> 00:24:06,390 और तो यहाँ, हम उन 3 मामलों में चल रहे हैं, 330 00:24:06,390 --> 00:24:13,740 और हम वास्तव में डिवाइड चलाने - यह मेरे लिए उस पर चिल्लाता है - 331 00:24:13,740 --> 00:24:21,330 बजना चेतावनियों की अनदेखी - 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 देखो, अनंत, अनंत. 336 00:24:32,470 --> 00:24:39,150 शून्य से विभाजित शून्य अनंत नहीं वापस आ जाना चाहिए. 337 00:24:39,150 --> 00:24:42,840 और यदि आप बाहर बग नहीं लगा है - अभी तक या उससे पहले यह देखा नहीं - 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 में, लिनक्स कर्नेल कुछ था 341 00:24:58,640 --> 00:25:02,260 तो हमारे उपकरण लिनक्स कर्नेल का उपयोग करता है - 342 00:25:02,260 --> 00:25:05,550 किसी भी लिनक्स ऑपरेटिंग सिस्टम लिनक्स कर्नेल का उपयोग करता है - 343 00:25:05,550 --> 00:25:11,610 तो एक बहुत इस के समान बग को दिखाया. 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 यह पसंद है, सब ठीक किया जाना चाहिए था, आप 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 या उपयोगकर्ता = superuser. 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 यदि उपयोगकर्ता superuser व्यवस्थापक होना हुआ. 355 00:26:05,150 --> 00:26:11,220 लेकिन तब फिर से इसके बारे में सोच, यह व्यक्ति की तरह देखने के लिए एक सरल टाइपो चाहता था, 356 00:26:11,220 --> 00:26:14,330 लेकिन अगर यह कोड वास्तव में जारी किया गया था, 357 00:26:14,330 --> 00:26:21,580 तो आप के लिए एक विशिष्ट झंडा गुजर द्वारा किसी भी सिस्टम में हैक करने में सक्षम हो गया होता - 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 ठीक है, व्यक्ति है कि हैक करने के लिए करना चाहता था कि फ़ाइल को छुआ, 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 अगर यह असली दुनिया में बाहर हो गया था. 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 और अगर (strcmp (उपयोक्तानाम, "हैकर") - ब्ला, ब्ला ब्ला,. 382 00:27:45,500 --> 00:27:52,570 अगर किसी को पर्याप्त पागल उनके संकलक पर भरोसा नहीं हुआ, 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 >> अगर हम फाइल जिले इकट्ठा करना चाहते हैं के साथ एक ही विचार - 389 00:28:23,980 --> 00:28:30,440 हमने सीखा है कि कोडांतरक विधानसभा कोड से हमें एक मशीन कोड के लिए लाता है - 390 00:28:30,440 --> 00:28:36,010 हम विपरीत दिशा में जा सकते हैं - संकलक objdump - घ - 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 यह बहुत गुप्त है, लेकिन अगर हम चाहते थे, हम इस के माध्यम से लग सकता है 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 विशेष मामलों नहीं था. 397 00:29:03,950 --> 00:29:11,380 असल में, यह तुम कुछ भी भरोसा नहीं कर सकते करने के लिए नीचे आता है. 398 00:29:11,380 --> 00:29:14,310 कागज की बात की जा रही "पर विश्वास ट्रस्ट" कहा जाता है 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 शायद वहाँ इंटेल पर कुछ बदमाश कर्मचारी जो इन प्रोसेसर बनाता है 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 यह बेतहाशा जटिल हो जाएगी, 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 और एक माइक्रोस्कोप का उपयोग करने समझते हैं कि इन सर्किट को लाइन में खड़ा नहीं के रूप में वे किया जाना चाहिए रहे हैं? 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 जो अपने पसंदीदा ऑपरेटिंग सिस्टम के साथ UNIX बदलें - 428 00:31:21,760 --> 00:31:25,230 वह, ने कहा कि हो सकता है यह एक विंडोज़ प्रणाली है मैं यह जानता हूँ. " 429 00:31:25,230 --> 00:31:29,710 यह एक पूरी तरह से व्यर्थ बयान है, 430 00:31:29,710 --> 00:31:34,450 लेकिन हम सभी जानते हैं, वह यूनिक्स प्रणाली में एक पीछे के दरवाजे का पता होता है. 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 >> [दाऊद] धन्यवाद. यह वास्तव में निराशाजनक था. 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 इस की प्रत्याशा में, नैट और मैं गुप्त वहाँ क्या कर रहा है 446 00:32:31,170 --> 00:32:33,950 जानते हुए भी कि इस कमरे में इतने सारे लैपटॉप हैं, 447 00:32:33,950 --> 00:32:37,020 हम पिछले 20 मिनट के लिए किया गया है वायरलेस इस कमरे के माध्यम से जा रहे यातायात के सभी सूँघने 448 00:32:37,020 --> 00:32:39,260 रोब बात के दौरान, तो हम यहाँ एक 2 मिनट का ब्रेक लेने के लिए जा रहे हैं. 449 00:32:39,260 --> 00:32:41,740 नैट स्थापित करने के लिए जा रहा है, और फिर हम सभी सामान के बारे में बात करने जा रहे हैं 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 लेकिन हम अपने बेतार यातायात के सभी किया गया सकता है क्योंकि वास्तव में सूँघने 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 मैं आप नैट Hardison दे. >> [नैट] मीठा. 456 00:33:03,160 --> 00:33:06,300 (तालियां) 457 00:33:06,300 --> 00:33:08,650 >> [नैट] धन्यवाद, आदमी. मैं चिल्लाओ बाहर की सराहना करते हैं. 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 मैं तुम्हें इस बिंदु पर लोगों की कल्पना दिया है कि आप बुधवार को एक प्रश्नोत्तरी 461 00:33:20,220 --> 00:33:24,430 सभी कोड के बारे में है, और हम सिर्फ रोब द्वारा एक अद्भुत व्याख्यान के माध्यम से बैठे 462 00:33:24,430 --> 00:33:25,850 - यह में सी कोड की एक पूरी गुच्छा के साथ 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 और हम क्रिप्टो का एक छोटा सा के साथ शुरू किया था. 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 लोगों के पैकेट सूँघने से वास्तव में जा रहा है और 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 अपने छात्रावास या अपने घर में है क्योंकि आप बहुत बड़े मुद्दों में चला सकते हैं. 486 00:34:48,090 --> 00:34:52,760 यही एक कारण है कि आज हम वास्तव में अपने पैकेट नहीं सूँघने थे. 487 00:34:52,760 --> 00:35:01,300 >> सही सभी. पिछले सोमवार को, हम कुकीज़ के बारे में बात की थी, और HTTP, और प्रमाणीकरण, 488 00:35:01,300 --> 00:35:05,920 और Firesheep अपने Facebook खाते में कैसे इस बड़े दरवाजे खोलता है, 489 00:35:05,920 --> 00:35:08,670 अपने 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 '90 के दशक में वापस, तुम लोगों को वास्तव में plugging याद है हो सकता है 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 यह वास्तव में पता चला है कि आदेश में अपने लैपटॉप में एक ईथरनेट केबल प्लग करने के लिए, 497 00:35:37,230 --> 00:35:41,710 अब मैं इन adapters जो पागल की तरह है का उपयोग करने के लिए किया है. 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 आईईईई इस शासी निकाय है कि बाहर के सभी प्रकार देता है - 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 इसलिए, उदाहरण के लिए, ईथरनेट मानक है, 504 00:36:12,690 --> 00:36:17,120 802.15.1 मुझे विश्वास है ब्लूटूथ मानक है, 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 यह अच्छा है ना, की तरह था? 510 00:36:38,330 --> 00:36:41,260 मैं हाई स्कूल में मेरी पहली लैपटॉप हो रही याद, 511 00:36:41,260 --> 00:36:44,250 और यह एक वायरलेस कार्ड था. 512 00:36:44,250 --> 00:36:49,580 मेरे पिताजी ने मुझे दिया था और कह रहा था कि मैं इसे अपने कॉलेज क्षुधा और कि सभी के लिए उपयोग करना चाहिए, 513 00:36:49,580 --> 00:36:53,030 और मुझे पता नहीं था कि मैं इस सामान ऑनलाइन देखने के लिए जा रहा था. 514 00:36:53,030 --> 00:36:54,640 लेकिन सौभाग्य से, मैं एक वायरलेस कार्ड था, इसलिए कि बहुत अच्छा था. 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 दोनों बी और जी इस बिंदु पर बहुत पुरानी हो चुकी हैं. 518 00:37:08,660 --> 00:37:12,580 किसी को भी पता है संस्करण क्या ज्यादातर लोगों को सही अब कर रहे हैं 519 00:37:12,580 --> 00:37:15,110 अगर वे नए वायरलेस routers और उस तरह के सामान खरीद रहे हैं? 520 00:37:15,110 --> 00:37:24,290 वास्तव में एन. बिंगो. और यह पता चला है कि एसी मानक सिर्फ एक ड्राफ्ट के रूप में बाहर आ रहा है, 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 यह भी बनाता है यह इतना है कि हम अधिक routers और सभी कि मज़ा सामान खरीदने के लिए किया है. 526 00:37:39,880 --> 00:37:48,160 >> बेतार संचार क्या वास्तव में इसके मूल में है के बारे में बात करते हैं. 527 00:37:48,160 --> 00:37:51,790 ईथरनेट और उन पुराने डायल अप मोडेम, 528 00:37:51,790 --> 00:37:55,780 आप वास्तव में इस सामान था कि आप अपने कंप्यूटर में खामियों को दूर किया, 529 00:37:55,780 --> 00:37:59,820 और फिर आप एक तरह की एक मॉडेम में खामियों को दूर किया, और फिर आप इसे अपनी दीवार में एक जैक में खामियों को दूर किया. 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 इस ठोस वायर्ड कनेक्शन के कुछ प्रकार का संकेत तीर के साथ इंटरनेट से जुड़ा हुआ है, 536 00:38:21,730 --> 00:38:24,640 लेकिन जब आप अपने वायरलेस रूटर कनेक्ट 537 00:38:24,640 --> 00:38:29,190 आप वास्तव में लगभग एक वाकी - टाकी के बीच की तरह का उपयोग कर रहे हैं 538 00:38:29,190 --> 00:38:31,960 अपने कंप्यूटर और अपने वायरलेस रूटर. 539 00:38:31,960 --> 00:38:35,150 वास्तव में इस बारे में अच्छा है क्या है आप के आसपास स्थानांतरित कर सकते हैं. 540 00:38:35,150 --> 00:38:40,900 आप सैंडर्स पर अपने कंप्यूटर सभी को ले जा सकता है, सर्फ वेब, जो आप चाहते हैं, 541 00:38:40,900 --> 00:38:43,240 बस की तरह आप सभी जानते हैं और प्यार, 542 00:38:43,240 --> 00:38:46,030 और आप कभी भी कुछ भी करने में खामियों को दूर किया जा नहीं है. 543 00:38:46,030 --> 00:38:53,880 इस के लिए काम करने के लिए, हम यह दोनों का स्वागत और पारेषण है. 544 00:38:53,880 --> 00:38:56,060 यह सच है कि वाकी - टाकी की तरह है. 545 00:38:56,060 --> 00:39:03,800 >> वायरलेस रूटर - सैंडर्स में जो इस स्तर के नीचे बैठा है, यहीं - 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 अगर आप लोग कभी अपने छात्रावास में कर रहे हैं, और अपने घर में आप सोच रहे हैं कि क्यों अपने संकेत बुरा है, 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 यहाँ हमारे बुरा बुरा आदमी अभी भी वहीं है. 561 00:40:06,670 --> 00:40:10,660 एक कारण यह है कि इस बुरा आदमी WI-Fi प्यार करता है 562 00:40:10,660 --> 00:40:18,770 कारण यह है, डिफ़ॉल्ट रूप से, वायरलेस routers के एक बहुत आते हैं और जब आप उन्हें सेट अप, 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 नोटिस है कि वहाँ एक WI-Fi unencrypted जो वे से कनेक्ट कर सकते हैं. 567 00:40:32,630 --> 00:40:37,350 वे Wi-Fi से कनेक्ट करते हैं, और फिर वे मज़ा सामान के सभी प्रकार के डाउनलोड शुरू. 568 00:40:37,350 --> 00:40:40,890 और वे बिल्ली के बच्चे नहीं डाउनलोड कर रहे हैं, वे puppies डाउनलोड नहीं कर रहे हैं. 569 00:40:40,890 --> 00:40:44,610 यह BitTorrent की तरह है. यह nastiest का गंदा है. 570 00:40:44,610 --> 00:40:48,740 ऐसे मामलों में जहां एफबीआई भी शामिल किया गया है मिल गया है किया गया है 571 00:40:48,740 --> 00:40:52,390 यह सोच कर कि व्यक्ति जो घर के मालिक वास्तव में एक है 572 00:40:52,390 --> 00:40:56,090 वहाँ बाहर जा रहा है और सामान है कि वे वास्तव में नहीं होना चाहिए डाउनलोड. 573 00:40:56,090 --> 00:41:00,730 अनएन्क्रिप्टेड WI-Fi निश्चित रूप से आप कुछ करना चाहते हैं नहीं है, 574 00:41:00,730 --> 00:41:06,340 केवल अगर एफबीआई नहीं आपके दरवाजे पर दस्तक के लिए आते हैं. 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 सही है कि वायरलेस रूटर के बगल में, बुरा आदमी में बेतार यातायात के सभी पर सुन सकते हैं 581 00:41:36,830 --> 00:41:40,240 कि उन कंप्यूटरों के सभी से आ रहा है. 582 00:41:40,240 --> 00:41:44,590 वास्तव में, इन लोगों को इन भाग्यशाली कुछ है जो सामने की पंक्ति में यहाँ कर रहे हैं - 583 00:41:44,590 --> 00:41:47,610 क्योंकि वे इन वायरलेस routers के सभी सुपर करीब हैं 584 00:41:47,610 --> 00:41:49,950 कि मंच के नीचे सिर्फ बैठने के लिए, 585 00:41:49,950 --> 00:41:53,780 वे इस पूरे कमरे में हर किसी के यातायात को सुनने के लिए सक्षम हो जाएगा 586 00:41:53,780 --> 00:41:59,480 अगर आप Wi-Fi से जुड़े रहे हैं और इन का उपयोग अंक के माध्यम से ब्राउज़िंग शुरू करते हैं. 587 00:41:59,480 --> 00:42:03,740 यह बहुत मुश्किल के लिए अपने आप को एक अच्छा सूंघ स्थिति में बैठने के लिए और बाहर आंकड़ा नहीं है 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 और आप कहते हैं ब्राउज़ कर रहे हैं, एक स्टारबक्स में. 591 00:42:15,010 --> 00:42:17,360 >> यह पता चला है कि सूँघने और वह सब 592 00:42:17,360 --> 00:42:19,440 वास्तव में नहीं है कि सभी के लिए मुश्किल है. 593 00:42:19,440 --> 00:42:25,430 वहाँ एक कार्यक्रम बुलाया tcpdump उदासीनता जो टीसीपी यातायात के सभी प्रकार 594 00:42:25,430 --> 00:42:29,910 और आप यह बहुत आसानी से चला सकते हैं - जैसे मैं आज सुबह किया. 595 00:42:29,910 --> 00:42:32,810 यहाँ एक डंप का एक छोटा सा है, और यहाँ यातायात है कि आ रहा था की कुछ 596 00:42:32,810 --> 00:42:34,960 मेरे समय में नेटवर्क. 597 00:42:34,960 --> 00:42:41,500 अगर आप भेंगा वास्तव में कठिन - आप देख सकते हैं वहाँ में Spotify का एक छोटा सा है. 598 00:42:41,500 --> 00:42:44,050 Tcpdump के शीर्ष पर, क्योंकि यह उपयोग करने के लिए एक दर्द की तरह है - 599 00:42:44,050 --> 00:42:48,860 वहाँ एक अच्छा जीयूआई में एक Wireshark जो बंडलों यह सब कार्यक्रम बुलाया है. 600 00:42:48,860 --> 00:42:51,970 Wireshark सुपर काम है इसलिए यदि आप पर जाने के लिए नेटवर्किंग कक्षाएं लेने, 601 00:42:51,970 --> 00:42:56,780 यह एक उपकरण है कि तुम प्यार के आने के बाद से यह मदद करता है आप सभी पैकेट के टुकड़े करना है 602 00:42:56,780 --> 00:42:59,400 कि वहाँ के आसपास चल रहे हैं. 603 00:42:59,400 --> 00:43:01,810 लेकिन यह भी बुरा के लिए इस्तेमाल किया जा सकता है. 604 00:43:01,810 --> 00:43:05,810 यह बहुत आसान है बस इस कार्यक्रम को डाउनलोड करने के लिए, यह बूट अप, 605 00:43:05,810 --> 00:43:09,300 एक नेटवर्क पर कब्जा शुरू करने के लिए, और सब कुछ चल रहा है - 606 00:43:09,300 --> 00:43:14,130 और फिल्टर और इसके साथ मज़ा सामान के सभी प्रकार के कर. 607 00:43:14,130 --> 00:43:17,930 >> दूसरी बात यह है कि आप बेतार संचार के साथ कर सकते हैं 608 00:43:17,930 --> 00:43:25,380 तुम नहीं ही है, लेकिन छिपकर बातें सुनना सकते हैं और तुम भी सीखना कैसे नेटवर्क के साथ पेंच के लिए कर सकते हैं 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 इस परिदृश्य में हम एक कंप्यूटर लिए harvard.edu सर्फ जाने की कोशिश कर रहा है. 617 00:43:58,380 --> 00:44:04,690 क्या होता है, कंप्यूटर 1 वायरलेस रूटर करने के लिए एक संदेश भेजता है और कहते हैं, 618 00:44:04,690 --> 00:44:07,920 अरे, मैं यात्रा 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 रूटर में और वह जानता है, "अहा कोई harvard.edu करने के लिए जा रहा है." (बदी से हंसते हुए) 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 साथ प्रतिक्रिया करता है. बू! 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 प्रौद्योगिकी बुलाया है! जो पर debuted 634 00:45:14,840 --> 00:45:18,950 सुरक्षा सम्मेलनों के कुछ साल पहले एक. 635 00:45:18,950 --> 00:45:25,190 Airpwn के साथ! आप वास्तव में यातायात नेटवर्क में वापस इंजेक्षन करने में सक्षम हो. 636 00:45:25,190 --> 00:45:30,060 कंप्यूटर है कि इंटरनेट से बाहर जाने की कोशिश कर रहे थे और करने के लिए कोशिश 637 00:45:30,060 --> 00:45:33,090 Facebook.com, harvard.edu Google.com, 638 00:45:33,090 --> 00:45:39,190 दुर्भावनापूर्ण प्रतिक्रिया को देखने में आते हैं और तुरंत मान, ठीक है, 639 00:45:39,190 --> 00:45:43,550 कि प्रतिक्रिया है कि मैं के लिए इंतज़ार कर रहा था और अंत में सामग्री से हो रही 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 यह मुश्किल है के लिए यातायात पर जासूसी. 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 एक ही रास्ता मैं में है कि कनेक्शन के बीच प्राप्त कर सकते हैं वास्तव में अपने कंप्यूटर ब्याह 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 और आप बुरा सामान के सभी प्रकार के पीठ में लोगों के लिए कर सकते हैं. 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 वे कल्पना की किसी भी मायने में गूंगा लोगों को नहीं कर रहे हैं. 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 यह शीर्ष पर है 1 एक है कि वे WEP बुलाया के साथ आया है. 662 00:47:19,190 --> 00:47:27,960 WEP वायर्ड समतुल्य गोपनीयता के लिए खड़ा है, मुझे विश्वास है, 663 00:47:27,960 --> 00:47:31,730 एन्क्रिप्शन नहीं है जो वायरलेस प्रोटोकॉल एक आम मिथ्या नाम है. 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 अंत में क्या हो रहा है 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  और इसलिए यह वास्तव में decrypt करने के लिए आसान है. 673 00:48:07,610 --> 00:48:10,580 तो बहुत जल्दी लोगों को पता लगा कि है कि 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 तुम क्या बजाय डबल्यु पी ए के लिए कर रहे हैं देख जाना चाहिए और 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 बाहर वहाँ उपकरण है कि यह करने के लिए जा सकते हैं कर रहे हैं. 681 00:48:44,010 --> 00:48:47,490 विशेष रूप में एक बात यह है कि बुरा हो सकता है कि 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 वे उन पैकेट सूंघ के रूप में आप फिर से स्थापित अपने रूटर के साथ कनेक्शन के लिए कोशिश कर सकते हैं. 687 00:49:11,800 --> 00:49:16,800 और उस जानकारी के साथ वे फिर से और अपने संचार के बाकी decrypt जा सकते हैं. 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 यदि आप एक स्टारबक्स में कर रहे हैं, यदि आप एक सार्वजनिक क्षेत्र WI-Fi में हैं 707 00:50:44,760 --> 00:50:52,620 और आप अपने बैंक खाते का उपयोग करने का फैसला करते हैं, अपने जीमेल, अपने 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 हाँ. (दर्शकों हँसी) हाँ. वहाँ तुम जाओ. हम जानते हैं कि जो होमलैंड देख रहा है. 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 माउंट नेटवर्क तुम पर हमला करता है. 721 00:51:37,520 --> 00:51:40,220 तो अगर आप देखते हैं कि बड़े, लाल स्क्रीन एक स्टारबक्स में आते हैं, 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 वीपीएन के कुछ प्रकार है. 726 00:51:54,120 --> 00:52:00,280 इस वीपीएन हार्वर्ड के माध्यम से उपलब्ध है - 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 और कहा कि जिस तरह से अगर आप एक जगह पर एक स्टारबक्स की तरह बैठे हैं 730 00:52:12,160 --> 00:52:19,030 आप हार्वर्ड से कनेक्ट कर सकते हैं, कि सुरक्षित यातायात, और फिर हार्वर्ड से ब्राउज़. 731 00:52:19,030 --> 00:52:21,950 फिर, आसान नहीं है. लोग बीच में प्राप्त कर सकते हैं. 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 जब आप बाहर जा रहे हैं जनता में वायरलेस का उपयोग करें - 737 00:52:37,250 --> 00:52:43,430 चाहे वह एक स्टारबक्स है, चाहे वह पांच लड़के, चाहे वह 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 यह एक असभ्य जागृति हो सकता है अगर किसी को अपने पासवर्ड के साथ बाद में पता चलता है. 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 एक उपकरण आप के साथ खेलना चाहते हो सकता है - हालांकि एप्पल काफी हद तक इस मुद्दे उन्मूलन 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 और नैट अंक के लिए अन्य लोग क्या कर रहे हैं की काफी थोड़ा सूंघ करने में सक्षम किया जा रहा 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 से पहले या, जब आप अपने आइपॉड या अपने iPhones सिंक्रनाइज़ कर रहे थे 753 00:53:41,010 --> 00:53:45,570 बैकअप के हित में, या iTunes के साथ अपने iPads 754 00:53:45,570 --> 00:53:48,340 क्या अपने iPhone और इन अन्य उपकरणों के लिए कुछ समय है कर दिया गया है 755 00:53:48,340 --> 00:53:50,340 जीपीएस डेटा का उपयोग कर रही है. 756 00:53:50,340 --> 00:53:52,710 >> तुम सब शायद पता है कि अपने iPhones और Androids और विंडोज मोबाइल फोन 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 और इस भू - स्थान के साथ मदद कर सकते हैं - लोगों की स्थिति के triangulation की तरह. 764 00:54:14,780 --> 00:54:18,520 >> लंबी कहानी संक्षेप में, हम सब के समय के कुछ राशि के लिए किया गया था एंटीना चल रहा है. 765 00:54:18,520 --> 00:54:22,180 दुर्भाग्य से, एप्पल डिजाइन निर्णय किया था - या अभाव क्या है - 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 आप अपने पति या पत्नी के इतिहास, अपने रूममेट के इतिहास के आसपास poking जा सकता है, 771 00:54:38,990 --> 00:54:41,050 अपने भाई के इतिहास और इस तरह, 772 00:54:41,050 --> 00:54:44,590 और कुछ मुफ्त सॉफ्टवेयर के लिए धन्यवाद, आप इन जीपीएस निर्देशांक के सभी साजिश सकता है - 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 मैं अपने फोन में खामियों को दूर किया, और यकीन है कि पर्याप्त, 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 एक अल्पकालिक टेक्सास करने के लिए यात्रा, और यदि आप तो इस पर ज़ूम - 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 यदि आप कुछ परिचित दिखने शहरों पर कड़ी - 785 00:55:20,330 --> 00:55:24,670 इस बड़े, नीली स्याही पोतना अनिवार्य रूप से बोस्टन पर केन्द्रित है, 786 00:55:24,670 --> 00:55:29,510 और फिर मैं बोस्टन से बाहर radiating उपनगरों में समय का एक छोटा सा खर्च. 787 00:55:29,510 --> 00:55:32,780 लेकिन मैं यह भी है कि वर्ष के परामर्श के काफी एक बिट कर रहा था. 788 00:55:32,780 --> 00:55:36,090 और इस साल के पूर्वी समुद्र तट है, और आप वास्तव में मुझे देख सकते हैं 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 केप, जो थोड़ा हाथ वहाँ से बाहर है. 792 00:55:50,340 --> 00:55:53,030 तो, इन बिंदुओं में से हर एक को कुछ जगह मैं गया था का प्रतिनिधित्व करता है, 793 00:55:53,030 --> 00:55:56,970 और पूरी तरह से मेरे लिए अनजान है, इस पूरे इतिहास सिर्फ वहाँ बैठा हुआ था 794 00:55:56,970 --> 00:55:58,410 अपने डेस्कटॉप कंप्यूटर पर. 795 00:55:58,410 --> 00:56:00,470 यदि आप बाहर ज़ूम - यह वास्तव में एक छोटे से परेशान था. 796 00:56:00,470 --> 00:56:04,190 मैं कभी पेंसिल्वेनिया में किया गया है कि विशेष रूप से वर्ष के कोई याद था. 797 00:56:04,190 --> 00:56:07,840 लेकिन मैं ही थोड़ा कठिन है और इसके बारे में मुझे पता लगा, ओह, यह वास्तव में था कि यात्रा 798 00:56:07,840 --> 00:56:11,160 और यकीन है कि पर्याप्त है, मेरे फोन मुझे पकड़ा था. 799 00:56:11,160 --> 00:56:14,180 >> एप्पल के बाद से इस जानकारी एन्क्रिप्टेड है, 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 नैट बात से रोब से बात करते हैं, उम्मीद है कि ले-aways 803 00:56:23,340 --> 00:56:27,370 और यह आज की तरह छोटे दृश्यों सिर्फ सभी को और अधिक इस के जानकार होना 804 00:56:27,370 --> 00:56:31,160 इतना है कि भले ही सही रोब बिंदु के रूप में करने के लिए हम तरह की खराब कर दिया है? 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  इस तरह के वातावरण में WI-Fi. 812 00:56:52,180 --> 00:56:54,990 >> तो, उस ने कहा, सिर्फ एक प्रश्नोत्तरी बनी हुई है साथ एक व्याख्यान रहता है. 813 00:56:54,990 --> 00:56:57,740 हम बुधवार तो सोमवार को देखेंगे. 814 00:56:57,740 --> 00:57:02,100 (वाहवाही और चियर्स) 815 00:57:02,100 --> 00:57:06,100 [CS50TV]