1 00:00:00,000 --> 00:00:02,750 [Powered by Google Translate] [주 10] 2 00:00:02,750 --> 00:00:04,750 [데이비드 J. 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 우리가 무료 다운로드 응용 프로그램 또는 99 센트입니다 즉,,,, 25 00:01:17,750 --> 00:01:20,140 실제로 완전히 양성입니다. 26 00:01:20,140 --> 00:01:23,090 하지만 우리는 C를 통해 볼 수 있으며, 지금은 PHP와 자바 스크립트 었지, 27 00:01:23,090 --> 00:01:25,420 프로그래밍 자신을 표현할 수있는이 능력으로, 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 그리고 내가 나쁜 놈은 거의 항상 다리를 최대 daresay. 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 그래서 내가 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 그 반면에 저를 가져 값 때문에하지만 그건 괜찮아요. 46 00:02:27,040 --> 00:02:31,060 >> 난 아주 내가 아는 가장 똑똑한 사람들의 2로 가입 할 수 기쁩니다 - 47 00:02:31,060 --> 00:02:33,060 롭 보덴 네이트 Hardison. 48 00:02:33,060 --> 00:02:36,850 롭 보안 태그의 낮은 수준을 통해 투어에 우리를 죽이려에 관한 - 49 00:02:36,850 --> 00:02:42,470 지금까지 우리 모두가 사랑하고 신뢰 와서까지, 컴파일러의. 롭 보덴. 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 여기 분명 퀴즈에 다시 C에 익숙해해야합니다. 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 일반적으로 암호는 이것과 같은 단순한 텍스트로 저장되지 않습니다. 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 그리고 우리는 언제나 우리의 버퍼를 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 하지만 힌트로, 그냥 꽝 호출합니다. 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 이 부트 스트랩으로 알려진 일반적인 문제입니다. 97 00:05:46,700 --> 00:05:53,080 그럼, 이번 한 번만, 우리 컴파일러를 컴파일 할 꽝를 사용하는거야. 98 00:05:53,080 --> 00:05:58,800 >> 당신은 GCC와 꽝을 생각하면 - 99 00:05:58,800 --> 00:06:03,200 이러한 프로그램은 해당 컴파일러는 끊임없이 업데이트되고 있습니다 100 00:06:03,200 --> 00:06:10,010 그리고 그 컴파일러는 GCC와 꽝를 사용하여 컴파일하고 있습니다. 101 00:06:10,010 --> 00:06:14,890 꽝은 하나의 큰 C 또는 C + + 프로그램입니다 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', '-O 컴파일러'. 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-O 로그인". 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 strcmp (비밀번호 "LOLihackyou") == 0)) 125 00:08:14,510 --> 00:08:26,280 그래서 지금, printf ( "해킹 이제 액세스 할 수 있습니다 \ N은!."); 괜찮아요. 126 00:08:26,280 --> 00:08:36,240 이 컴파일 - 컴파일러 login.c-O 로그인 - 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에서 - 내가 그 나중에 생각하기 때문에 금방 해킹 않습니다. 131 00:08:52,990 --> 00:08:56,270 좋아,. 재 컴파일. 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 또한, 큰 것은, 다른 사람에서이 보면 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 사람들은이 구멍이있는 걸 확인하기 위해 소스 코드를 읽을 수 없어 때문입니다. 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을 통해 반복 아르 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 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 로그인 - 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 해킹! 이제 액세스 할 수 있습니다. 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 다음은 경우 st​​rcmp 파일 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을 통해 반복하고 있습니다. 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 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 우리는 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 대신에 우리의 컴파일러의 경우를 제외하고, 그는 GCC에 대해 얘기하고 있었어요 - 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 하지만 실제 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에서 그는 이론에 버그를 심어 수도 있다고 말했다 - 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 당시 GCC는 거의 모든 사람들이 뭔가에 사용되는 컴파일러했다. 306 00:22:33,710 --> 00:22:36,460 사람이 GCC를 업데이트하려면 무슨 일이 일어난 거라면 307 00:22:36,460 --> 00:22:40,880 그럼 그 사람들은, GCC를 사용하여 GCC를 다시 컴파일 것 308 00:22:40,880 --> 00:22:44,500 그리고 당신은 여전히​​ GCC의 나쁜 버전을 것입니다 309 00:22:44,500 --> 00:22:50,140 그것은 구체적으로는 컴파일러를 재 컴파일 있다는 인식 컴파일 되었기 때문에. 310 00:22:50,140 --> 00:22:57,360 그리고 다시 login.c 파일을 다시 컴파일하는 GCC를 사용하는 경우, 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 그 말은, 인자에게 인수 B를 걸립니다 319 00:23:31,780 --> 00:23:34,270 그리고 목적은 B가 A를 나누어하는 것입니다. 320 00:23:34,270 --> 00:23:37,230 그러나 일부 오류 검사를 수행 321 00:23:37,230 --> 00:23:40,070 그래서 우리는 B가 0이 동일에게 무슨 일이 생긴다면 일 이상 알고 있습니다. 322 00:23:40,070 --> 00:23:44,900 B가 0 인 경우, 우리는 2가지 경우에이 분할. 323 00:23:44,900 --> 00:23:46,900 당신은 이미 버그를 볼 수 있습니다. 324 00:23:46,900 --> 00:23:51,840 첫 번째 사건은 -이 0 인 경우, 우리는 영을하고 0으로 나누어, 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과 같은 그 뭔가가 0으로 나누어, 우리는 그 무한를 호출합니다. 328 00:24:00,580 --> 00:24:03,730 아니면 우리는 B로 나눈 일상을 반환합니다. 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 0으로 나누어 제로는 무한대의 공간을 반환해서는 안됩니다. 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 또는 사용자 = 슈퍼 유저. 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 하지만 그것에 대해 다시 생각하는 사람, 그건 오타가 간단한 걸보고 싶었어요 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 이 경우 B = 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 비록 우리는 볼 수 없습니다 - 소스 코드를보고 - 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-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 그것도 상당히 이상한이지만, 우리가 원한다면, 우리는이를 통해 볼 수 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 그녀는 "이것은 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 >> [데이비드] 감사합니다. 그건 정말 우울했습니다. 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 - 거기에 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 우리는 암호 약간의와 도망 시작했다. 470 00:33:53,030 --> 00:33:55,030 [Bdoh 주사 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 계정 - 사람은 아직 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 년대에, 당신들은 실제로에 연결해 기억 수도 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 지금은 미친 듯이입니다 이러한 어댑터 중 하나를 사용해야합니다. 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 그래서 예를 들어, 이더넷 표준은, 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 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 정확히 N.. 빙고. 그리고, 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 우리가 더 많은 라우터 및 모든 재미 물건을 구입해야 할 수 있도록 그것은 또한을합니다. 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 B). 귀하와 귀하의 라우터 사이에 뭔가가 시멘트 벽이나 뭔가가있어 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 기본적으로 무선 라우터의 많은 당신이 그들을 설정할 때 와서 있기 때문입니다 563 00:40:18,770 --> 00:40:20,950 그들은 암호화되지 않은하고 있습니다. 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 접속 설비를 암호화되지 않은. 567 00:40:32,630 --> 00:40:37,350 그들은 재미 별걸 다 다운로드를 시작 후 Wi-Fi 인터넷에 연결합니다. 568 00:40:37,350 --> 00:40:40,890 그리고 그 고양이를 다운로드하지, 그들은 강아지를 다운로드하지. 569 00:40:40,890 --> 00:40:44,610 이 비트 토런트 같습니다. 이 이쪽으로의 불쾌한입니다. 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 밖에하고 정말 안된다는 물건을 다운로드. 573 00:40:56,090 --> 00:41:00,730 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 바로 그 무선 라우터 옆에 나쁜 남자는 무선 트래픽 모두에들을 수 있습니다 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 그들은이 무선 라우터의 모든 초 가까이 때문에 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에 연결하고 이러한 액세스 포인트 (AP)를 검색 시작합니다.하는 경우 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라는 프로그램이 어떤 덤프 TCP 트래픽을 모든 종류의 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 좋은 GUI에서 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 그 도청 기술하는 것입니다. 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 to 서핑을 이동하는 컴퓨터있어. 617 00:43:58,380 --> 00:44:04,690 이 어떻게됩니까, 컴퓨터는 먼저, 무선 라우터에 메시지를 보내고 있다고 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로 갈거야." (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로 응답합니다. 어흥! 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 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들이 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  그래서 그 암호를 해독하기 정말 간단합니다. 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 대신 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 이 작업을 수행 갈 수 밖에 도구가 있습니다. 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 그리고 그 정보들은 다음 커뮤니케이션의 나머지 부분과 해독 이동할 수 있습니다. 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 그리고 당신은 오른쪽에 저에게 사용할 수있는 SSID를 표시하는 상자를 가지고 여기를 참조하십시오. 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 그리고 귀하의 은행 계좌에 액세스하기로 결정하여 Gmail, 페이스 북에 액세스 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 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 그 통해, 하버드 사이 유입 경로는 트래픽, 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 저기 -이 이제 1 년 반 전에 나온 소프트웨어의 일부 였지. 751 00:53:37,010 --> 00:53:39,010 [iPhoneTracker] [http://petewarden.github.com/iPhoneTracker/] 752 00:53:39,010 --> 00:53:41,010 약간의 시간이 들어, 아이튠즈 - iCloud 전에, 귀하의 아이팟이나 아이폰을 동기화 때 또는 753 00:53:41,010 --> 00:53:45,570 iTunes와 나 iPads - 백업의 관심, 754 00:53:45,570 --> 00:53:48,340 시간이 귀하의 아이폰과 다른 기기 뭘 했지 755 00:53:48,340 --> 00:53:50,340 GPS 데이터의 활용. 756 00:53:50,340 --> 00:53:52,710 >> 당신은 아마 알고 귀하의 아이폰과 안드로이드와 윈도우 모바일 전화 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 이는 지리적 위치와 함께 도움을 줄 수 - 사람들의 입장 삼각 측량의 일종입니다. 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 거대한 텍스트 파일 - 사람들의 아이튠즈 소프트웨어에 앉아, 769 00:54:33,810 --> 00:54:35,400 그리고 당신은 약간의 호기심 있다면, 770 00:54:35,400 --> 00:54:38,990 귀하의 배우자의 역사, 니 룸메이트의 역사, 주변에 파고 갈 수 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 난 내 휴대 전화에 연결하고, 확실히 충분히, 아이튠즈의 내 버전은 시간에 암호화 아니 었 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 그럼 내가 보스턴에서 아웃 방사 교외에 시간이 조금 지출. 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 내 주머니에 내 아이폰은 보스턴과 뉴욕 간 여행 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 네이트의 이야기에서 희망 롭의 이야기에서 테이크 예측 중 하나 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]