1 00:00:00,000 --> 00:00:11,300 2 00:00:11,300 --> 00:00:15,490 >> DAVID J. MALAN: Este é CS50, e este é o início da semana 10. 3 00:00:15,490 --> 00:00:19,460 Você deve se lembrar que nós mostramos na tela uma impressora 3D, que 4 00:00:19,460 --> 00:00:21,610 é este dispositivo que leva carretéis de plástico 5 00:00:21,610 --> 00:00:24,840 e, em seguida, extrude-lo por aquecimento para cima e derretê-lo para que possamos, em seguida, 6 00:00:24,840 --> 00:00:27,310 formar exército de Chang elefantes, por exemplo. 7 00:00:27,310 --> 00:00:29,184 >> Então, em Leverett House, no entanto, recentemente, eu 8 00:00:29,184 --> 00:00:31,850 estava conversando com um de seus colegas e um amigo de Chang 9 00:00:31,850 --> 00:00:35,720 chamada Michelle, que na verdade internado em esta outra empresa no ano passado que 10 00:00:35,720 --> 00:00:40,010 tem uma técnica diferente para realmente criação de objetos tridimensionais, 11 00:00:40,010 --> 00:00:41,890 como este pequeno elefante aqui. 12 00:00:41,890 --> 00:00:45,550 Em particular, a forma como isto funciona é que é um exemplo de algo 13 00:00:45,550 --> 00:00:49,740 chamado estereolitografia, pelo qual há essa bacia de resina ou líquido, 14 00:00:49,740 --> 00:00:53,340 e, em seguida, um laser que atinge líquido, e, gradualmente, o dispositivo 15 00:00:53,340 --> 00:00:56,990 elevadores e ascensores e levanta a coisa que você está imprimindo, como um elefante, 16 00:00:56,990 --> 00:00:58,676 como que o líquido se torna sólido. 17 00:00:58,676 --> 00:01:00,550 E o resultado, na verdade, é algo que é 18 00:01:00,550 --> 00:01:04,194 muito mais robusto do que alguns o plástico brindes alguns de vocês 19 00:01:04,194 --> 00:01:04,819 poderia ter tido. 20 00:01:04,819 --> 00:01:06,860 >> E o que Chang gentilmente fez por nós aqui foi 21 00:01:06,860 --> 00:01:12,210 fez um time-lapse usando fotografias ao longo de uma hora ou mais, 22 00:01:12,210 --> 00:01:14,580 provavelmente, para produzir esse cara aqui. 23 00:01:14,580 --> 00:01:19,060 Será que alguém que nunca chegar antes gostaria de vir bater Iniciar este vídeo? 24 00:01:19,060 --> 00:01:21,250 Deixe-me ir com, como sobre lá. 25 00:01:21,250 --> 00:01:21,790 Vamos lá para cima. 26 00:01:21,790 --> 00:01:24,960 27 00:01:24,960 --> 00:01:25,460 Tudo certo. 28 00:01:25,460 --> 00:01:29,250 29 00:01:29,250 --> 00:01:29,896 E você é? 30 00:01:29,896 --> 00:01:31,270 LUKE: Lucas Meu nome é [inaudível]. 31 00:01:31,270 --> 00:01:31,700 DAVID J. MALAN: Oi, Luke. 32 00:01:31,700 --> 00:01:32,695 Prazer em conhecê-lo. 33 00:01:32,695 --> 00:01:33,653 >> LUKE: Prazer em conhecê-lo. 34 00:01:33,653 --> 00:01:35,120 AUDIÊNCIA: Ele está correndo para UC. 35 00:01:35,120 --> 00:01:38,640 >> DAVID J. MALAN: Eu sei, nós estamos tentando não promover. 36 00:01:38,640 --> 00:01:41,240 Tudo bem, então Luke, todos você tem que fazer aqui em CS50 37 00:01:41,240 --> 00:01:45,829 é bater a barra de espaço imprimir este elefante. 38 00:01:45,829 --> 00:01:46,495 [REPRODUÇÃO DE VÍDEO] 39 00:01:46,495 --> 00:01:49,988 - [MACHINE zumbido] 40 00:01:49,988 --> 00:02:00,467 41 00:02:00,467 --> 00:02:01,964 - [CRASH] 42 00:02:01,964 --> 00:02:04,459 - [BOOM] 43 00:02:04,459 --> 00:02:06,147 - [CRASH] 44 00:02:06,147 --> 00:02:06,980 [FIM REPRODUÇÃO DE VÍDEO] 45 00:02:06,980 --> 00:02:09,370 DAVID J. MALAN: Assim que é exatamente o que é a impressão 3D. 46 00:02:09,370 --> 00:02:10,453 E aqui é o seu elefante. 47 00:02:10,453 --> 00:02:12,100 Obrigado por voluntariado. 48 00:02:12,100 --> 00:02:12,830 Tudo certo. 49 00:02:12,830 --> 00:02:16,580 Então, novamente, por a especificação para o projeto final, este hardware que é 50 00:02:16,580 --> 00:02:18,890 disponível para vocês é, por algum motivo, 51 00:02:18,890 --> 00:02:21,870 o projeto tem alguma interseção de software e hardware, 52 00:02:21,870 --> 00:02:24,650 perceber que estes são agora recursos. 53 00:02:24,650 --> 00:02:27,750 >> Eu queria tirar um momento para tocar em cima de um artigo que saiu carmesim 54 00:02:27,750 --> 00:02:30,541 ontem à noite, o que era para anunciam que este homem aqui, David 55 00:02:30,541 --> 00:02:33,920 Johnson, que tem sido o idoso preceptor para Ec 10 por algum tempo, 56 00:02:33,920 --> 00:02:36,210 abandona Harvard no final do ano lectivo. 57 00:02:36,210 --> 00:02:38,390 E eu só queria ter um momento, honestamente, 58 00:02:38,390 --> 00:02:41,620 de agradecer a David na frente de CS50. 59 00:02:41,620 --> 00:02:44,360 Ele tem sido um mentor sortes para nós ao longo dos anos. 60 00:02:44,360 --> 00:02:46,980 >> E eu sinto que nós, CS50, tem em vez crescido com Ec 10 61 00:02:46,980 --> 00:02:48,870 aqui, uma vez que estão bem diante de nós. 62 00:02:48,870 --> 00:02:52,040 E ele e toda a equipe em Ec 10 tem foi maravilhosamente gracioso, francamente, 63 00:02:52,040 --> 00:02:55,410 como se arrastar em todos os nossos equipamentos a cada semana, e anos atrás, 64 00:02:55,410 --> 00:02:57,320 fornecida uma grande quantidade de conselho como estávamos 65 00:02:57,320 --> 00:02:59,520 curioso para saber como eles operam Ec 10. 66 00:02:59,520 --> 00:03:02,640 Então, os nossos agradecimentos e admiração David Johnson. 67 00:03:02,640 --> 00:03:06,560 >> [Aplausos] 68 00:03:06,560 --> 00:03:08,030 69 00:03:08,030 --> 00:03:12,180 >> Agora, unrelatedly, assim o fim está realmente próximo. 70 00:03:12,180 --> 00:03:13,630 Estamos aqui em 10 semanas. 71 00:03:13,630 --> 00:03:15,920 E nós só temos apenas uma par de semanas formais 72 00:03:15,920 --> 00:03:18,320 aqui na classe à esquerda, seguido por um par de eventos. 73 00:03:18,320 --> 00:03:21,860 Então, para dar-lhe um sentido do que é no horizonte, aqui estamos hoje. 74 00:03:21,860 --> 00:03:24,480 >> Nesta quarta-feira, recall, teremos uma palestra convidado 75 00:03:24,480 --> 00:03:27,040 por ninguém menos que Próprio Steve Ballmer, da Microsoft. 76 00:03:27,040 --> 00:03:31,740 Se você ainda não tenha ido para cs50.harvard.edu/register, 77 00:03:31,740 --> 00:03:33,360 fazê-lo, desde que o espaço será limitado. 78 00:03:33,360 --> 00:03:36,447 E eles vão estar verificando IDs na porta hoje. 79 00:03:36,447 --> 00:03:38,280 Se você não estivesse aqui na semana passada, eu pensei que seria 80 00:03:38,280 --> 00:03:41,850 provocá-lo com um olhar diferente em Steve e da emoção que 81 00:03:41,850 --> 00:03:44,215 nos espera na quarta-feira. 82 00:03:44,215 --> 00:03:45,205 >> [REPRODUÇÃO DE VÍDEO] 83 00:03:45,205 --> 00:03:46,195 >> -Passion. 84 00:03:46,195 --> 00:03:50,650 >> -Estamos Vai ser incondicional hardcore--. 85 00:03:50,650 --> 00:03:51,640 >> -Innovator. 86 00:03:51,640 --> 00:03:53,339 >> -Bill Disse, você não obtê-lo. 87 00:03:53,339 --> 00:03:55,130 Nós vamos colocar um computador em cada mesa 88 00:03:55,130 --> 00:03:58,690 e em cada casa, que se tornou o lema da empresa. 89 00:03:58,690 --> 00:04:01,850 Eu juro, Bill inventou naquela noite para realmente dar-me 90 00:04:01,850 --> 00:04:04,370 um pouco da visão de por que eu deveria dizer sim. 91 00:04:04,370 --> 00:04:07,280 Eu nunca olhei para trás, realmente, depois que. 92 00:04:07,280 --> 00:04:10,010 >> -Fresh Fora da faculdade, ele juntou uma startup incipiente 93 00:04:10,010 --> 00:04:14,450 e ajudou a crescer em uma de América a maioria das empresas bem-sucedidas de todos os tempos. 94 00:04:14,450 --> 00:04:16,920 A vida de negócios e lições aprendidas ao longo do caminho 95 00:04:16,920 --> 00:04:19,925 deixá-lo de volta ao seu paixão de infância e amor. 96 00:04:19,925 --> 00:04:24,650 E essas experiências têm preparado ele para seu próximo desafio na vida. 97 00:04:24,650 --> 00:04:27,150 >> -Nada Fica no nosso crescimento maneira--! 98 00:04:27,150 --> 00:04:29,330 Continuo incondicional! 99 00:04:29,330 --> 00:04:31,150 Vá Clippers! 100 00:04:31,150 --> 00:04:38,627 >> -Este É Steve Ballmer, "In My Own Words". 101 00:04:38,627 --> 00:04:39,460 [FIM REPRODUÇÃO DE VÍDEO] 102 00:04:39,460 --> 00:04:41,240 DAVID J. MALAN: --este Quarta-feira para CS50. 103 00:04:41,240 --> 00:04:43,080 Cabeça de novo para este URL aqui. 104 00:04:43,080 --> 00:04:46,500 Quanto ao que mais está no horizonte, na próxima semana, sem aula na segunda-feira. 105 00:04:46,500 --> 00:04:50,020 Mas estaremos seguinte ao por questionário um na quarta-feira. 106 00:04:50,020 --> 00:04:54,390 Ir para página inicial do CS50 para mais detalhes sobre pessoas, lugares e tempos 107 00:04:54,390 --> 00:04:57,640 para todos os vários proctoring logística e semelhantes, 108 00:04:57,640 --> 00:05:00,190 bem como sobre a revisão sessões que estão próximas. 109 00:05:00,190 --> 00:05:06,479 E então, finalmente, na segunda-feira, o dia antes da semana de pausa Thanksgiving, 110 00:05:06,479 --> 00:05:08,020 perceber que será o nosso palestra final. 111 00:05:08,020 --> 00:05:11,490 Vamos servir bolo e um grande dose de emoção, nós esperamos. 112 00:05:11,490 --> 00:05:13,976 >> Agora, um par de outras atualizações. 113 00:05:13,976 --> 00:05:16,350 Tenha em mente que o estado relatório, que é realmente apenas 114 00:05:16,350 --> 00:05:20,430 pretende ser uma interação informal com o TF indicar orgulhosa apenas 115 00:05:20,430 --> 00:05:23,106 quão longe juntamente com o seu projeto final que você é, 116 00:05:23,106 --> 00:05:24,980 ou, pelo menos, como uma sanidade verificar que você deve 117 00:05:24,980 --> 00:05:27,250 ser que se aproxima ponto pouco tempo depois. 118 00:05:27,250 --> 00:05:28,660 O Hackathon seguida, segue-se que. 119 00:05:28,660 --> 00:05:30,800 Perceba o Hackathon não é uma oportunidade 120 00:05:30,800 --> 00:05:33,690 para iniciar seu projeto final, mas pretende ser uma oportunidade 121 00:05:33,690 --> 00:05:37,040 para estar no meio de ou em direcção o fim de seu projeto final, 122 00:05:37,040 --> 00:05:41,030 com a implementação devido a alguns dias mais tarde, seguido pelo justo CS50. 123 00:05:41,030 --> 00:05:43,330 >> Agora, a produção do CS50 equipe, um par de anos atrás, 124 00:05:43,330 --> 00:05:46,127 montar um teaser para a feira CS50 que 125 00:05:46,127 --> 00:05:48,710 pensei que ia mostrar-lhe hoje, porque eles têm sido duro no trabalho 126 00:05:48,710 --> 00:05:51,930 em um prequel para isso, um novo vídeo que vamos concluir hoje com. 127 00:05:51,930 --> 00:05:57,694 Mas aqui está o que você espera por justa CS50 deste ano. 128 00:05:57,694 --> 00:05:58,360 [REPRODUÇÃO DE VÍDEO] 129 00:05:58,360 --> 00:06:00,680 - [CELULAR TOCANDO] 130 00:06:00,680 --> 00:06:07,624 131 00:06:07,624 --> 00:06:11,117 [MUSIC "Theme From Mission: Impossible"] 132 00:06:11,117 --> 00:08:47,065 133 00:08:47,065 --> 00:08:52,820 [FIM REPRODUÇÃO DE VÍDEO] 134 00:08:52,820 --> 00:08:56,840 DAVID J. MALAN: Assim que é exatamente como fechamos alegações finais do projeto. 135 00:08:56,840 --> 00:08:59,220 Um casal de agora teasers-- se você gostaria de se juntar a Nick aqui 136 00:08:59,220 --> 00:09:02,740 para o almoço, como de costume, este Sexta-feira, ir para este URL aqui. 137 00:09:02,740 --> 00:09:05,530 Além disso, se você gostaria para juntar-se Nick ou este Nick 138 00:09:05,530 --> 00:09:08,770 ou este ou qualquer Allison membros da equipe de CS50, 139 00:09:08,770 --> 00:09:11,110 percebem que, pouco após o fim do prazo, 140 00:09:11,110 --> 00:09:13,780 CS50 já estará recrutando para a equipe do próximo ano, 141 00:09:13,780 --> 00:09:18,130 para CAs, TFs, os designers, produtores, pesquisadores e outros cargos 142 00:09:18,130 --> 00:09:21,790 CS50 que aqui operam em ambos frente e por trás das cenas. 143 00:09:21,790 --> 00:09:25,482 Assim, se este poderia ser de interesse para você, ir para este URL aqui. 144 00:09:25,482 --> 00:09:28,190 E os alunos mais confortáveis, menos confortável, e em algum lugar 145 00:09:28,190 --> 00:09:31,710 entre iguais são todos bem-vindos e incentivados a se candidatar. 146 00:09:31,710 --> 00:09:34,920 >> Por isso, foi um timing perfeito que, não piada, esta manhã, quando acordei, 147 00:09:34,920 --> 00:09:37,220 Eu tive esse aqui o spam na minha caixa de entrada. 148 00:09:37,220 --> 00:09:39,420 Ele realmente escorregou através do filtro de spam do Gmail 149 00:09:39,420 --> 00:09:41,659 de alguma forma, e acabou na minha caixa de entrada real. 150 00:09:41,659 --> 00:09:43,700 E ele diz: "Querido caixa de correio usuário, você está atualmente 151 00:09:43,700 --> 00:09:45,240 atualizado para 4 gigabytes de espaço. 152 00:09:45,240 --> 00:09:50,750 Por favor, faça login em sua conta a fim de validar E-espaço ". 153 00:09:50,750 --> 00:09:54,100 >> E depois há este agradável azul ligação sedutora lá para clicar em 154 00:09:54,100 --> 00:09:59,480 para professores e funcionários, que, em seguida, levou-me para uma página maravilhosamente legítimo, o que 155 00:09:59,480 --> 00:10:02,300 pediu-me para dar-lhes o meu nome e endereço de e-mail e, é claro, 156 00:10:02,300 --> 00:10:05,090 senha para validar quem eu sou e assim por diante. 157 00:10:05,090 --> 00:10:09,330 Mas, claro, como é sempre o caso, você chegar a esta página de destino, 158 00:10:09,330 --> 00:10:11,370 e, claro, não há pelo menos um erro de digitação, 159 00:10:11,370 --> 00:10:14,840 que parece ser o prego no o caixão de qualquer desses golpes. 160 00:10:14,840 --> 00:10:17,890 E nós vamos postar, talvez, algum outro links para esses tipos de capturas de tela 161 00:10:17,890 --> 00:10:18,473 no futuro. 162 00:10:18,473 --> 00:10:22,535 Mas espero que, a maioria das pessoas em este quarto não têm clicked-- 163 00:10:22,535 --> 00:10:24,410 ou mesmo se você clicou esses links como este, 164 00:10:24,410 --> 00:10:28,040 você não ter ido tão longe a ponto preencher os formulários e assim por diante. 165 00:10:28,040 --> 00:10:30,210 Na verdade, não há problema se você tiver. 166 00:10:30,210 --> 00:10:33,410 Vamos tentar corrigir isso hoje, porque, na verdade, a conversa de hoje é 167 00:10:33,410 --> 00:10:34,450 sobre segurança. 168 00:10:34,450 --> 00:10:36,500 >> E, de fato, um dos metas de CS50 não é 169 00:10:36,500 --> 00:10:38,980 tanto a ensinar você CE ou PHP ou JavaScript ou SQL 170 00:10:38,980 --> 00:10:41,610 ou qualquer um destes subjacente detalhes de implementação. 171 00:10:41,610 --> 00:10:45,612 Mas é para capacitá-lo como seres humanos apenas para tomar decisões mais inteligentes como ele 172 00:10:45,612 --> 00:10:48,070 refere-se a tecnologia para baixo a estrada, de modo que, se você é 173 00:10:48,070 --> 00:10:51,370 um engenheiro ou humanista ou cientista ou qualquer outro papel, 174 00:10:51,370 --> 00:10:54,970 você está tomando decisões informadas sobre o seu próprio uso de computação, 175 00:10:54,970 --> 00:10:56,980 ou se você estiver em um posição de tomada de decisão, 176 00:10:56,980 --> 00:10:59,250 na política, em particular, você está fazendo muito, 177 00:10:59,250 --> 00:11:02,770 decisões muito melhores do que um monte de seres humanos de hoje ter sido. 178 00:11:02,770 --> 00:11:04,830 E nós vamos fazer isso caminho de alguns exemplos. 179 00:11:04,830 --> 00:11:09,030 >> Primeiro, fiquei um pouco surpreso Recentemente, para descobrir o seguinte. 180 00:11:09,030 --> 00:11:11,120 Assim, senhas, é claro, são o que a maioria de nós 181 00:11:11,120 --> 00:11:18,030 proteger o nosso e-mail data--, bate-papo, e todos os tipos de recursos como esse. 182 00:11:18,030 --> 00:11:23,020 E só por um awkward-- não mostra de mãos, mas olhares constrangidos de vergonha, 183 00:11:23,020 --> 00:11:26,600 quantos de vocês usam a mesma senha em um monte de sites diferentes? 184 00:11:26,600 --> 00:11:28,020 >> Oh, OK, então vamos fazer as mãos. 185 00:11:28,020 --> 00:11:30,950 OK, então um monte de você. 186 00:11:30,950 --> 00:11:33,770 Qualquer um que faz isso, só por quê? 187 00:11:33,770 --> 00:11:35,078 E o quê? 188 00:11:35,078 --> 00:11:36,537 Sim? 189 00:11:36,537 --> 00:11:39,870 AUDIÊNCIA: É fácil de lembrar, porque você não tem que se lembrar [inaudível]. 190 00:11:39,870 --> 00:11:41,703 DAVID J. MALAN: Sim, é fácil de lembrar. 191 00:11:41,703 --> 00:11:44,560 É um perfeitamente razoável, comportamento racional, 192 00:11:44,560 --> 00:11:46,920 embora o risco você está colocando a si mesmo 193 00:11:46,920 --> 00:11:50,540 em nestes casos é apenas um ou mais desses sites 194 00:11:50,540 --> 00:11:54,510 é vulnerável a hackers ou para inseguro ou sua senha é apenas 195 00:11:54,510 --> 00:11:57,130 tão danado guessable, qualquer pessoa pode descobrir isso. 196 00:11:57,130 --> 00:11:59,850 Não é só uma conta comprometida, mas, em teoria, qualquer 197 00:11:59,850 --> 00:12:01,280 contas que você tem na internet. 198 00:12:01,280 --> 00:12:04,550 Então, eu sei que eu poderia dizer hoje, não usar a mesma senha em todos os lugares, 199 00:12:04,550 --> 00:12:06,450 mas isso é muito mais fácil dizer do que fazer. 200 00:12:06,450 --> 00:12:10,850 Mas existem técnicas para mitigar essa preocupação particular. 201 00:12:10,850 --> 00:12:14,030 >> Agora, acontece, por exemplo, a usar um programa chamado 1Password. 202 00:12:14,030 --> 00:12:16,010 Outro popular é chamado LastPass. 203 00:12:16,010 --> 00:12:19,030 E um monte de CS50 uso pessoal um ou mais destes tipos de ferramentas. 204 00:12:19,030 --> 00:12:20,940 E longa história curta, um takeaway para hoje 205 00:12:20,940 --> 00:12:25,080 deve ser, sim, você pode ter a mesma senha em todos os lugares, 206 00:12:25,080 --> 00:12:27,260 mas é muito fácil de não fazer isso. 207 00:12:27,260 --> 00:12:31,260 Por exemplo, hoje em dia, eu sei talvez um dos meus dezenas ou centenas 208 00:12:31,260 --> 00:12:31,910 de senhas. 209 00:12:31,910 --> 00:12:33,990 Todas as minhas outras senhas são pseudo-aleatoriamente 210 00:12:33,990 --> 00:12:36,046 gerado por um desses programas aqui. 211 00:12:36,046 --> 00:12:38,420 E em poucas palavras, e até mesmo embora a maioria destes programas 212 00:12:38,420 --> 00:12:41,487 tendem a vir com um pouco de custo, seria necessário instalar um programa como este, 213 00:12:41,487 --> 00:12:43,820 Você, então, armazenar todos os seus nomes de usuário e senhas 214 00:12:43,820 --> 00:12:46,960 dentro deste programa em seu próprio Mac ou PC ou outros enfeites, 215 00:12:46,960 --> 00:12:49,290 e, em seguida, seria criptografado no computador 216 00:12:49,290 --> 00:12:51,599 com o que é esperançosamente um particularmente longo senha. 217 00:12:51,599 --> 00:12:54,140 Então, eu tenho um monte de senhas para sites individuais, 218 00:12:54,140 --> 00:12:56,390 e então eu tenho realmente um senha longa que eu 219 00:12:56,390 --> 00:12:59,059 usar para desbloquear todos as outras senhas. 220 00:12:59,059 --> 00:13:00,850 E o que é agradável sobre software como este é 221 00:13:00,850 --> 00:13:04,016 que, quando você visita um site que é pedindo seu nome de usuário e senha, 222 00:13:04,016 --> 00:13:06,304 nos dias de hoje, eu não digitar meu nome de usuário e senha, 223 00:13:06,304 --> 00:13:08,970 porque, mais uma vez, eu não sei mesmo que a maioria de minhas senhas são. 224 00:13:08,970 --> 00:13:12,180 Eu em vez bateu um teclado atalho, cujo resultado 225 00:13:12,180 --> 00:13:15,990 é acionar este software para Pede por minha senha mestra. 226 00:13:15,990 --> 00:13:18,780 Eu, então, digite que um grande senha no, e em seguida, o navegador 227 00:13:18,780 --> 00:13:21,090 preenche automaticamente o que minha senha está. 228 00:13:21,090 --> 00:13:24,960 Então, realmente, se você tomar mais nada longe de hoje em termos de senhas, 229 00:13:24,960 --> 00:13:28,440 estes são software que valem a pena download ou investimento, por isso 230 00:13:28,440 --> 00:13:30,750 que você pode pelo menos pausa esse hábito particular. 231 00:13:30,750 --> 00:13:33,374 E se você é do tipo que é usando Post-It ou o como-- 232 00:13:33,374 --> 00:13:37,310 e as probabilidades são, pelo menos, um de vocês é-- esse hábito, também, basta dizer que, 233 00:13:37,310 --> 00:13:38,340 deve ser quebrado. 234 00:13:38,340 --> 00:13:42,360 >> Agora, aconteceu de eu descobrir, como resultado de usar o software, o seguinte. 235 00:13:42,360 --> 00:13:45,690 Eu estava pedindo um arranjo comestível, esta cesta de frutas, recentemente. 236 00:13:45,690 --> 00:13:49,380 E eu bati meu teclado especial atalho para fazer login no site. 237 00:13:49,380 --> 00:13:53,325 E o software desencadeou uma pop-up que disse, você tem certeza 238 00:13:53,325 --> 00:13:55,950 Você quer que eu automaticamente apresentar este nome de usuário e senha? 239 00:13:55,950 --> 00:13:57,690 Como a conexão é inseguro. 240 00:13:57,690 --> 00:14:01,450 >> A ligação não está usando HTTPS, por seguro, 241 00:14:01,450 --> 00:14:04,900 utilizando esse protocolo conhecido como SSL, Secure Sockets Layer. 242 00:14:04,900 --> 00:14:07,640 E, de fato, se você olhar para canto superior esquerdo deste site, 243 00:14:07,640 --> 00:14:12,880 é só www.ediblearrangements.com, não HTTPS, o que não é tão bom. 244 00:14:12,880 --> 00:14:15,480 >> Agora, eu estava curious-- talvez isso é apenas um bug no software. 245 00:14:15,480 --> 00:14:19,240 Certamente, algum site como isso que muitos de nós conhecemos 246 00:14:19,240 --> 00:14:24,046 é, pelo menos, o uso de criptografia ou HTTPS URLs para fazer seu login. 247 00:14:24,046 --> 00:14:25,670 Então, eu tenho um pouco curioso, esta manhã. 248 00:14:25,670 --> 00:14:29,046 E eu tenho as minhas habilidades CS50, Eu abri Inspector Chrome. 249 00:14:29,046 --> 00:14:30,295 Não é mesmo muita habilidade. 250 00:14:30,295 --> 00:14:32,890 É só apertar o teclado direito atalho para abrir isso. 251 00:14:32,890 --> 00:14:34,830 E aqui está uma grande janela de Inspector do Chrome. 252 00:14:34,830 --> 00:14:38,960 >> Porém, o que era na verdade um pouco trágico e ridículo 253 00:14:38,960 --> 00:14:40,830 eram essas duas linhas aqui. 254 00:14:40,830 --> 00:14:44,570 Lá em cima, observe a URL para que meu nome de usuário e senha 255 00:14:44,570 --> 00:14:45,530 foram submetidos. 256 00:14:45,530 --> 00:14:46,380 Deixe-me ampliar. 257 00:14:46,380 --> 00:14:47,352 Foi esse aqui. 258 00:14:47,352 --> 00:14:49,060 E tudo isso é tipo de desinteressante, 259 00:14:49,060 --> 00:14:54,962 exceto para a coisa toda a maneira em a esquerda, que começa com http: //. 260 00:14:54,962 --> 00:14:57,240 E então, OK, talvez eles estão apenas enviando 261 00:14:57,240 --> 00:14:59,084 meu nome de usuário, o que é não como um grande negócio. 262 00:14:59,084 --> 00:15:00,500 Talvez a minha senha é enviada mais tarde. 263 00:15:00,500 --> 00:15:02,300 Isso seria uma espécie de decisão interessante design. 264 00:15:02,300 --> 00:15:03,100 >> Mas não tinha. 265 00:15:03,100 --> 00:15:06,130 Se, em seguida olhar para o pedido carga, o nome de usuário e senha 266 00:15:06,130 --> 00:15:08,470 Eu sent-- e eu zombava estes para o slide-- 267 00:15:08,470 --> 00:15:10,000 foram realmente enviados em claro. 268 00:15:10,000 --> 00:15:13,792 Então você vai para o site em particular e encomendar um arranjo comestível como esta, 269 00:15:13,792 --> 00:15:16,750 e, na verdade, aparentemente, para tudo isso vez que eu fui encomendar a partir deles, 270 00:15:16,750 --> 00:15:19,800 seu nome de usuário e senha vai em frente em claro. 271 00:15:19,800 --> 00:15:22,120 Então, honestamente, isso é completamente inaceitável. 272 00:15:22,120 --> 00:15:26,240 E é tão trivial para evitar coisas assim como o designer de um site 273 00:15:26,240 --> 00:15:27,950 e como o programador de um site. 274 00:15:27,950 --> 00:15:31,020 >> Mas o takeaway aqui para nós, como usuários de sites 275 00:15:31,020 --> 00:15:35,700 é apenas para perceber que todos que toma é para um projeto estúpido 276 00:15:35,700 --> 00:15:40,010 decisão, decisão de projeto injustificável, de modo que, agora, se você sabe que a minha senha está 277 00:15:40,010 --> 00:15:41,820 "Carmesim" nesta site, você provavelmente 278 00:15:41,820 --> 00:15:44,654 ficou em um monte de outros sites que tenho agora. 279 00:15:44,654 --> 00:15:46,570 E não há muito de uma defesa contra o que 280 00:15:46,570 --> 00:15:48,301 diferente do que Chang fez esta manhã. 281 00:15:48,301 --> 00:15:51,550 Ele foi para arranjos comestíveis, que está localizado na rua em Cambridge 282 00:15:51,550 --> 00:15:53,430 e fisicamente comprei este para nós. 283 00:15:53,430 --> 00:15:57,490 Isso era muito mais seguro do que usando o site neste caso. 284 00:15:57,490 --> 00:16:02,320 >> Mas o detalhe para manter um olho para fora para é, na verdade, o que está no topo do navegador se 285 00:16:02,320 --> 00:16:02,940 lá. 286 00:16:02,940 --> 00:16:04,690 Mas mesmo isso pode ser um pouco enganador. 287 00:16:04,690 --> 00:16:07,002 Assim, uma outra interessante exemplo e forma de defender 288 00:16:07,002 --> 00:16:09,960 contra isto-- e na verdade, vamos não que first-- a maneira de defender 289 00:16:09,960 --> 00:16:12,540 contra esta é uma técnica que as pessoas de segurança seria 290 00:16:12,540 --> 00:16:14,810 chamar a autenticação de dois fatores. 291 00:16:14,810 --> 00:16:20,130 >> Alguém sabe qual é a solução para problemas como este significa? 292 00:16:20,130 --> 00:16:23,110 O que é autenticação de dois fatores? 293 00:16:23,110 --> 00:16:27,320 Ou dito de outra forma, como muitos de vocês estão usando? 294 00:16:27,320 --> 00:16:28,650 OK, então um par de pessoas tímidas. 295 00:16:28,650 --> 00:16:29,060 Mas sim. 296 00:16:29,060 --> 00:16:29,976 Eu vi a sua mão subir. 297 00:16:29,976 --> 00:16:31,510 O que é autenticação de dois fatores? 298 00:16:31,510 --> 00:16:34,010 >> AUDIÊNCIA: Basicamente, para além para digitar sua senha, 299 00:16:34,010 --> 00:16:37,390 você também tem um secundário [inaudível] enviado via mensagem de texto para seu celular 300 00:16:37,390 --> 00:16:39,460 no [inaudível]. 301 00:16:39,460 --> 00:16:40,460 DAVID J. MALAN: Exatamente. 302 00:16:40,460 --> 00:16:44,150 Além de alguma forma primária de autenticação, como uma senha, 303 00:16:44,150 --> 00:16:47,190 você está convidado para um secundário fator, que é tipicamente 304 00:16:47,190 --> 00:16:49,740 algo que você tem fisicamente em você, apesar de 305 00:16:49,740 --> 00:16:51,610 pode ser algo completamente diferente. 306 00:16:51,610 --> 00:16:54,630 E que coisa é tipicamente um cellphone estes dias para que você obtenha 307 00:16:54,630 --> 00:16:59,200 enviou uma mensagem de texto temporário que diz "O seu código de acesso temporário é 12345." 308 00:16:59,200 --> 00:17:01,280 >> Assim, além de minha password "carmesim," Eu também 309 00:17:01,280 --> 00:17:03,916 tem que digitar o que quer o site tem me mandou uma mensagem. 310 00:17:03,916 --> 00:17:06,290 Ou se você tem isso com um banco ou uma conta de investimento, 311 00:17:06,290 --> 00:17:08,123 Você às vezes tem esses pequenos dongles que 312 00:17:08,123 --> 00:17:11,760 realmente ter um pseudo-aleatório- gerador de números construído para eles, 313 00:17:11,760 --> 00:17:15,849 mas tanto o dispositivo e o banco saber qual a sua semente inicial é 314 00:17:15,849 --> 00:17:19,710 de modo que eles sabem, assim como o pouco código em seu pequeno chaveiro 315 00:17:19,710 --> 00:17:22,380 marchas à frente a cada minuto ou dois, a mudança de valores, 316 00:17:22,380 --> 00:17:25,260 faz assim que a mudança de valor no servidor do banco 317 00:17:25,260 --> 00:17:28,620 de modo que eles podem similarmente autenticar você, não só com a sua senha, 318 00:17:28,620 --> 00:17:30,024 mas com que o código temporário. 319 00:17:30,024 --> 00:17:31,690 Agora, você pode realmente fazer isso no Google. 320 00:17:31,690 --> 00:17:33,606 E, francamente, este é um bom hábito de entrar, 321 00:17:33,606 --> 00:17:36,180 especialmente se você estiver usando Gmail todo o tempo em um navegador. 322 00:17:36,180 --> 00:17:39,880 Se você vai para este URL aqui, o que está em os slides on-line para hoje, e depois 323 00:17:39,880 --> 00:17:43,579 clique em 2-Step Verification, mesma coisa real lá. 324 00:17:43,579 --> 00:17:45,870 Você será solicitado para dar eles seu número de telefone celular. 325 00:17:45,870 --> 00:17:49,660 E então, a qualquer hora que você entrar em Gmail, você estará não só pediu 326 00:17:49,660 --> 00:17:53,480 por sua senha, mas também para uma pouco de código que é enviado para o seu telefone 327 00:17:53,480 --> 00:17:54,190 temporariamente. 328 00:17:54,190 --> 00:17:57,894 E assim, desde que você tenha os cookies ativados, e contanto que você não explicitamente 329 00:17:57,894 --> 00:18:00,060 logout, você só tem fazer isso de vez em quando, 330 00:18:00,060 --> 00:18:01,870 como quando você se senta a um novo computador. 331 00:18:01,870 --> 00:18:05,320 >> E a cabeça aqui, também, é que, se você sentar em algum café de estilo internet 332 00:18:05,320 --> 00:18:07,380 ou apenas um computador computador do amigo, mesmo 333 00:18:07,380 --> 00:18:09,710 se esse amigo maliciosamente ou inconscientemente 334 00:18:09,710 --> 00:18:13,580 tem algum keylogger instalado em seu computador, 335 00:18:13,580 --> 00:18:15,640 de tal forma que tudo o que você tipo está sendo registrado, 336 00:18:15,640 --> 00:18:19,170 pelo menos, que segundo fator, que código temporário, é efêmera. 337 00:18:19,170 --> 00:18:21,630 Então ele ou ela ou quem é comprometido o computador 338 00:18:21,630 --> 00:18:24,890 não pode entrar em você, posteriormente, mesmo que tudo o resto 339 00:18:24,890 --> 00:18:27,890 era vulnerável ou mesmo unencrypted completamente. 340 00:18:27,890 --> 00:18:29,760 Facebook tem isso, também, com que a URL aqui, 341 00:18:29,760 --> 00:18:32,070 onde você pode clicar em Login Aprovações. 342 00:18:32,070 --> 00:18:35,500 Então, aqui, também, se você não quero amigos para picar as pessoas, 343 00:18:35,500 --> 00:18:40,140 você não quer ser cutucando no Facebook ou postar atualizações de status para você, 344 00:18:40,140 --> 00:18:42,479 autenticação de dois fatores aqui é provavelmente uma coisa boa. 345 00:18:42,479 --> 00:18:44,520 E depois há este outra técnica totalmente, 346 00:18:44,520 --> 00:18:46,853 apenas auditoria, que é ainda uma coisa boa para nós seres humanos, 347 00:18:46,853 --> 00:18:49,950 se de dois fatores prova irritante, que, É certo que pode, ou não é apenas 348 00:18:49,950 --> 00:18:53,930 disponível em algum site, minimamente manter um olho sobre se e quando 349 00:18:53,930 --> 00:18:57,650 você está registrando em sites, se eles permitem que você, é uma boa técnica também. 350 00:18:57,650 --> 00:19:01,300 Assim, o Facebook também lhe dá este notificações de login apresentam, segundo o qual 351 00:19:01,300 --> 00:19:06,240 Facebook a qualquer hora percebe, hm, David tem logados em algum computador ou telefone 352 00:19:06,240 --> 00:19:09,710 que nós nunca vimos antes de um endereço IP que parece estranho, 353 00:19:09,710 --> 00:19:12,320 eles, pelo menos, vou enviar-lhe uma e-mail para qualquer endereço de e-mail 354 00:19:12,320 --> 00:19:14,750 você tem no arquivo, dizendo: faz este olhar desconfiado? 355 00:19:14,750 --> 00:19:17,590 Se assim for, mude sua senha imediatamente. 356 00:19:17,590 --> 00:19:19,610 E assim lá, também, apenas o comportamento da auditoria 357 00:19:19,610 --> 00:19:21,940 mesmo depois de ter sido comprometida, pode, pelo menos 358 00:19:21,940 --> 00:19:25,980 estreitar a janela durante que você está vulnerável. 359 00:19:25,980 --> 00:19:29,910 >> Tudo bem, todas as perguntas em que o material até agora? 360 00:19:29,910 --> 00:19:35,510 Hoje é o dia para obter todas sua paranóia confirmado ou negado. 361 00:19:35,510 --> 00:19:36,820 Isso é confirmado na sua maioria, infelizmente. 362 00:19:36,820 --> 00:19:37,210 Sim? 363 00:19:37,210 --> 00:19:39,223 >> AUDIÊNCIA: [inaudível] de telefone, E se a sua quebra de telefone, 364 00:19:39,223 --> 00:19:41,010 e então é sempre difícil verify-- 365 00:19:41,010 --> 00:19:41,295 >> DAVID J. MALAN: True. 366 00:19:41,295 --> 00:19:43,330 >> AUDIÊNCIA: Ou se você está em um diferente país, e eles não permitem que você 367 00:19:43,330 --> 00:19:44,505 entra no sistema porque [inaudível]. 368 00:19:44,505 --> 00:19:45,630 DAVID J. MALAN: Absolutamente. 369 00:19:45,630 --> 00:19:48,780 E assim que estes são o adicional custos que incorrer. 370 00:19:48,780 --> 00:19:51,040 Há sempre este tema de um trade-off, depois de tudo. 371 00:19:51,040 --> 00:19:53,748 E então, se você perder seu telefone, em caso de quebra, se você estiver no exterior, 372 00:19:53,748 --> 00:19:56,382 ou você simplesmente não têm uma sinal, como um sinal de 3G ou LTE, 373 00:19:56,382 --> 00:19:58,340 você não pode realmente ser capaz de autenticar. 374 00:19:58,340 --> 00:20:00,520 >> Então, novamente, estes dois são os trade-offs. 375 00:20:00,520 --> 00:20:03,670 E, às vezes, pode criar um muito trabalho para você como resultado. 376 00:20:03,670 --> 00:20:08,130 Mas isso realmente depende, então, em qual é o preço esperado para você 377 00:20:08,130 --> 00:20:10,980 é de algo ser comprometida por completo. 378 00:20:10,980 --> 00:20:15,300 >> Então, SSL, então, é essa técnica que todos nós geralmente tomamos para concedido 379 00:20:15,300 --> 00:20:18,970 ou supor que há, apesar de que claramente não é o caso. 380 00:20:18,970 --> 00:20:23,339 E você ainda pode enganar pessoas, no entanto, mesmo com este. 381 00:20:23,339 --> 00:20:24,630 Então aqui está um exemplo de um banco. 382 00:20:24,630 --> 00:20:25,860 >> Este é o Bank of America. 383 00:20:25,860 --> 00:20:28,730 Há um monte deles em Harvard Square e além. 384 00:20:28,730 --> 00:20:32,530 E note que, no topo de da tela, há um, de fato, HTTPS. 385 00:20:32,530 --> 00:20:35,370 E é ainda verde e destacou para nós 386 00:20:35,370 --> 00:20:39,550 para indicar que este é de fato um site seguro, legitimamente, 387 00:20:39,550 --> 00:20:41,420 ou então temos sido treinados para acreditar. 388 00:20:41,420 --> 00:20:46,416 >> Agora, além disso, porém, notar que, se aumentar o zoom, 389 00:20:46,416 --> 00:20:48,790 há essa coisa aqui, onde você será solicitado a efetuar login. 390 00:20:48,790 --> 00:20:54,920 O que isso significa cadeado certo lá, ao lado de meu nome de usuário pedir? 391 00:20:54,920 --> 00:20:57,890 Isso é muito comum em sites, também. 392 00:20:57,890 --> 00:21:01,120 O que isso significa cadeado? 393 00:21:01,120 --> 00:21:02,453 Você parece que sabe. 394 00:21:02,453 --> 00:21:03,420 >> AUDIÊNCIA: Isso não significa nada. 395 00:21:03,420 --> 00:21:04,230 >> DAVID J. MALAN: É não quer dizer nada. 396 00:21:04,230 --> 00:21:07,790 Isso significa que o Bank of America sabe como para escrever HTML com tags de imagem, certo? 397 00:21:07,790 --> 00:21:12,080 Ela realmente não significa nada, porque mesmo que, utilizando-se o primeiro dia do nosso olhar 398 00:21:12,080 --> 00:21:15,760 em HTML, pode codificar-se uma página com um fundo vermelho e uma imagem, 399 00:21:15,760 --> 00:21:18,910 como um GIF ou outros enfeites, que acontece para olhar como um cadeado. 400 00:21:18,910 --> 00:21:20,890 E, no entanto, isso é super comum em sites, 401 00:21:20,890 --> 00:21:24,000 porque fomos treinados para assumir que, oh, cadeado significa seguro, 402 00:21:24,000 --> 00:21:25,760 quando ele realmente significa apenas que você sabe HTML. 403 00:21:25,760 --> 00:21:28,840 >> Por exemplo, de volta ao dia, eu poderia acabamos de colocar isso no meu site, 404 00:21:28,840 --> 00:21:31,660 alegando que é seguro, e perguntando, de forma eficaz, 405 00:21:31,660 --> 00:21:33,590 nomes de usuários e senhas das pessoas. 406 00:21:33,590 --> 00:21:36,310 Então, olhando na URL é pelo menos uma pista melhor, 407 00:21:36,310 --> 00:21:39,580 porque que está embutido no Chrome ou qualquer navegador que você está usando. 408 00:21:39,580 --> 00:21:41,470 Mas, mesmo assim, às vezes as coisas podem dar errado. 409 00:21:41,470 --> 00:21:45,940 E, na verdade, você nem sempre pode veja HTTPS, e muito menos em verde. 410 00:21:45,940 --> 00:21:48,126 >> Algum de vocês já visto uma tela como esta? 411 00:21:48,126 --> 00:21:50,000 Você pode ter, na verdade, No início de outubro, 412 00:21:50,000 --> 00:21:54,740 quando eu esqueci de pagar por nossa Certificado SSL, como é chamado, 413 00:21:54,740 --> 00:21:58,400 e estávamos parecendo isto para uma ou duas horas. 414 00:21:58,400 --> 00:22:01,830 Então você provavelmente já viu coisas assim, com uma greve-through, 415 00:22:01,830 --> 00:22:05,240 como uma linha vermelha, por meio de o protocolo na URL 416 00:22:05,240 --> 00:22:08,010 ou algum tipo de tela que é pelo menos admoestando você 417 00:22:08,010 --> 00:22:09,760 por tentar prosseguir. 418 00:22:09,760 --> 00:22:12,540 E o Google aqui está convidando que você volte para a segurança. 419 00:22:12,540 --> 00:22:17,120 >> Agora, neste caso, isso só significa que o certificado SSL que estávamos usando, 420 00:22:17,120 --> 00:22:22,220 os grandes números, matematicamente úteis que estão associados com o servidor de CS50, 421 00:22:22,220 --> 00:22:23,949 já não eram válidos. 422 00:22:23,949 --> 00:22:26,490 E, de fato, podemos simular isso, como você pode em seu laptop. 423 00:22:26,490 --> 00:22:30,270 Se eu entrar em Chrome aqui, e vamos para facebook.com, 424 00:22:30,270 --> 00:22:32,230 e parece que isso é seguro. 425 00:22:32,230 --> 00:22:36,910 Mas deixe-me ir em frente agora e clique sobre o cadeado aqui. 426 00:22:36,910 --> 00:22:40,030 >> E deixe-me ir para a conexão, Informações do certificado. 427 00:22:40,030 --> 00:22:42,020 E, de fato, o que você vai vê aqui é um bando 428 00:22:42,020 --> 00:22:46,160 de detalhes de nível inferior sobre facebook.com que realmente é. 429 00:22:46,160 --> 00:22:49,380 Parece que eles pagaram dinheiro para uma empresa chamada talvez DigiCert alta 430 00:22:49,380 --> 00:22:54,420 Garantia de que prometeu para dizer ao resto do mundo 431 00:22:54,420 --> 00:22:57,250 que, se um browser vê sempre um certificate-- você pode pensar 432 00:22:57,250 --> 00:23:00,291 dela literalmente como um certificado que Parece aquela coisa brega no topo 433 00:23:00,291 --> 00:23:04,360 left-- então facebook.com é que eles dizem eles são, porque todo esse tempo, quando 434 00:23:04,360 --> 00:23:07,160 você visita um site, como cs50.harvard.edu ou facebook.com 435 00:23:07,160 --> 00:23:11,880 ou gmail.com que usam HTTPS URLs, nos bastidores, 436 00:23:11,880 --> 00:23:15,190 há esse tipo de transação acontecendo automaticamente 437 00:23:15,190 --> 00:23:18,060 para você, qual facebook.com, neste caso, 438 00:23:18,060 --> 00:23:22,150 está enviando para o seu navegador o seu chamado certificado SSL, ou melhor, 439 00:23:22,150 --> 00:23:23,380 sua chave pública, 440 00:23:23,380 --> 00:23:25,600 e depois seu navegador está usando a chave pública 441 00:23:25,600 --> 00:23:29,600 para enviar posteriormente encriptado tráfego de e para ele. 442 00:23:29,600 --> 00:23:32,360 >> Mas há toda esta hierarquia no mundo das empresas 443 00:23:32,360 --> 00:23:36,430 que pagar para que o faça então testemunhar, em um sentido digital, 444 00:23:36,430 --> 00:23:41,330 que você é realmente facebook.com ou o servidor é realmente cs50.harvard.edu. 445 00:23:41,330 --> 00:23:44,580 E construído em navegadores, como Chrome e IE e Firefox, 446 00:23:44,580 --> 00:23:48,260 é uma lista de todos aqueles chamada autoridades de certificação 447 00:23:48,260 --> 00:23:51,360 que são autorizadas pela Microsoft e Google e Mozilla 448 00:23:51,360 --> 00:23:55,410 para confirmar ou negar que facebook.com é que ele diz que é. 449 00:23:55,410 --> 00:23:57,430 Mas o problema é que essas coisas têm prazo de validade. 450 00:23:57,430 --> 00:24:02,670 Na verdade, o Facebook parece de que expira em outubro próximo, em 2015. 451 00:24:02,670 --> 00:24:06,490 >> Assim, podemos realmente simular isso se eu ir no meu Mac para meus Preferências do Sistema, 452 00:24:06,490 --> 00:24:11,070 e eu entro em data e hora, e Eu entro em Data e hora aqui, 453 00:24:11,070 --> 00:24:17,190 e eu desbloquear este aqui-- felizmente, nós não revelar a senha esta tempo-- 454 00:24:17,190 --> 00:24:20,660 e agora eu descer de desmarcar esta. 455 00:24:20,660 --> 00:24:25,660 E vamos actually-- oops, isso é não tão interessante como fazer isso. 456 00:24:25,660 --> 00:24:30,140 Estamos literalmente no futuro agora, o que significa que este é o que 2020 é semelhante. 457 00:24:30,140 --> 00:24:36,360 Se eu agora recarregar o página-- vamos fazê-lo em Ingognito mode-- 458 00:24:36,360 --> 00:24:40,910 se eu recarregar a página, lá vamos nós. 459 00:24:40,910 --> 00:24:45,820 >> Então, agora, meu computador pensa que é de 2020, mas o meu navegador 460 00:24:45,820 --> 00:24:49,810 sabe que esse certificado a partir de Facebook expira, é claro, em 2015. 461 00:24:49,810 --> 00:24:51,360 Então, ele está me dando esta mensagem vermelha. 462 00:24:51,360 --> 00:24:53,550 Agora, felizmente, os navegadores como o Chrome tem, na verdade, 463 00:24:53,550 --> 00:24:55,480 tornou muito difícil proceder, no entanto. 464 00:24:55,480 --> 00:24:57,300 Eles realmente querem que eu para voltar para a segurança. 465 00:24:57,300 --> 00:25:00,550 >> Se eu clique aqui no Advance, que é vai me dizer mais alguns detalhes. 466 00:25:00,550 --> 00:25:02,580 E se eu realmente quero proceder, eles vão deixar 467 00:25:02,580 --> 00:25:06,250 me ir para facebook.com, que é, novamente, inseguro, em que ponto 468 00:25:06,250 --> 00:25:08,310 Vou ver a página inicial do Facebook, como este. 469 00:25:08,310 --> 00:25:10,080 Mas, então, outras coisas parecem ser de ruptura. 470 00:25:10,080 --> 00:25:12,825 O que provavelmente está quebrando neste momento? 471 00:25:12,825 --> 00:25:13,700 AUDIÊNCIA: JavaScript. 472 00:25:13,700 --> 00:25:15,540 DAVID J. MALAN: Como o JavaScripts e / ou CSS 473 00:25:15,540 --> 00:25:17,460 ficheiros são similarmente deparar com esse erro. 474 00:25:17,460 --> 00:25:19,830 Portanto, esta é apenas uma situação ruim em geral. 475 00:25:19,830 --> 00:25:24,790 Mas o ponto aqui é que, pelo menos, O Facebook realmente tem SSL habilitado 476 00:25:24,790 --> 00:25:30,040 para seus servidores, como muitos sites, fazer, mas não necessariamente todos. 477 00:25:30,040 --> 00:25:33,360 >> Mas não é só o takeaway aqui. 478 00:25:33,360 --> 00:25:36,040 Acontece que, mesmo SSL Tem sido demonstrado 479 00:25:36,040 --> 00:25:37,810 inseguro de alguma forma. 480 00:25:37,810 --> 00:25:40,400 Então, eu sou uma espécie de insinuando que SSL, bom. 481 00:25:40,400 --> 00:25:44,250 Procure por HTTPS URLs, ea vida é bom, porque todo o tráfego HTTP 482 00:25:44,250 --> 00:25:46,180 e cabeçalhos e conteúdo é criptografado. 483 00:25:46,180 --> 00:25:49,560 >> Ninguém pode interceptar no médio, com exceção de um assim chamado homem 484 00:25:49,560 --> 00:25:50,454 No meio. 485 00:25:50,454 --> 00:25:52,870 Esta é uma técnica geral no mundo da segurança conhecida 486 00:25:52,870 --> 00:25:54,420 como um ataque man-in-the-middle. 487 00:25:54,420 --> 00:25:57,067 Suponha que você é esta pequena laptop aqui no lado esquerdo, 488 00:25:57,067 --> 00:25:59,900 e suponha que você está tentando visitar um servidor lá na direita, 489 00:25:59,900 --> 00:26:00,990 como facebook.com. 490 00:26:00,990 --> 00:26:03,940 >> Mas suponhamos que, em entre você e Facebook, 491 00:26:03,940 --> 00:26:07,750 é um monte de outros servidores e equipamentos, como switches e roteadores, 492 00:26:07,750 --> 00:26:11,530 Servidores DNS, servidores DHCP nenhum dos quais podemos controlar. 493 00:26:11,530 --> 00:26:15,280 Ele pode ser controlada pela Starbucks Harvard ou Comcast ou semelhantes. 494 00:26:15,280 --> 00:26:18,090 Bem, suponha que alguém maliciosamente, em sua rede, 495 00:26:18,090 --> 00:26:20,800 entre você e Facebook, é capaz de dizer-lhe 496 00:26:20,800 --> 00:26:24,740 que, você sabe, o endereço IP do Facebook não é o que você pensa que é. 497 00:26:24,740 --> 00:26:26,250 É este IP em vez. 498 00:26:26,250 --> 00:26:28,740 >> E assim que seu navegador é enganado e solicitando 499 00:26:28,740 --> 00:26:30,750 tráfego de outro computador completo. 500 00:26:30,750 --> 00:26:35,350 Bem, suponha que computador simplesmente olha para todos 501 00:26:35,350 --> 00:26:38,859 do tráfego que você está solicitando Facebook e todas as páginas da Web 502 00:26:38,859 --> 00:26:40,400 que você está solicitando do Facebook. 503 00:26:40,400 --> 00:26:45,700 E cada vez que vê em seu tráfego uma URL que começa com HTTPS, 504 00:26:45,700 --> 00:26:49,250 dinamicamente, na voar, reescreve-lo como HTTP. 505 00:26:49,250 --> 00:26:53,490 E cada vez que vê um local cabeçalho, localização cólon, 506 00:26:53,490 --> 00:26:55,930 como nós usamos para redirecionar o utilizador, aqueles, também, 507 00:26:55,930 --> 00:27:00,690 pode ser alterado por este homem em meio de HTTPS para HTTP. 508 00:27:00,690 --> 00:27:04,170 >> Assim, mesmo que você mesmo pode acho que você está no verdadeiro Facebook, 509 00:27:04,170 --> 00:27:07,860 isso não é tão difícil para um adversário com acesso físico 510 00:27:07,860 --> 00:27:10,630 à sua rede simplesmente retornar páginas para você que 511 00:27:10,630 --> 00:27:12,650 parecido com o Gmail, que parecido com o Facebook, 512 00:27:12,650 --> 00:27:14,880 e de fato a URL é idênticas, porque eles são 513 00:27:14,880 --> 00:27:19,410 fingindo ter o mesmo nome de host por causa de alguma exploração de DNS 514 00:27:19,410 --> 00:27:21,340 ou algum outro sistema parecido. 515 00:27:21,340 --> 00:27:23,894 E o resultado, então, é que nós, humanos, só pode 516 00:27:23,894 --> 00:27:26,810 perceber que, OK, isso parece Gmail ou, pelo menos, a versão mais antiga, 517 00:27:26,810 --> 00:27:29,480 como é este slide de uma apresentação mais velhos. 518 00:27:29,480 --> 00:27:34,250 Mas parece que isto-- http://www.google.com. 519 00:27:34,250 --> 00:27:37,370 >> Então, aqui, também, a realidade é que como muitos de vocês, 520 00:27:37,370 --> 00:27:41,290 quando você vai para o Facebook ou o Gmail ou qualquer site e você sabe um pouco de tudo 521 00:27:41,290 --> 00:27:47,060 sobre SSL, como muitos de vocês fisicamente digitar https: // e, em seguida, o site 522 00:27:47,060 --> 00:27:48,990 nomear, Enter. 523 00:27:48,990 --> 00:27:52,940 A maioria de nós basta digitar, como, CS50, pressione Enter, ou F-A para Facebook 524 00:27:52,940 --> 00:27:54,770 e pressione Enter, e deixá-lo auto-complete. 525 00:27:54,770 --> 00:27:57,620 Mas, nos bastidores, se você vê o seu tráfego HTTP, 526 00:27:57,620 --> 00:28:00,090 provavelmente há um grupo inteiro a localização desses cabeçalhos 527 00:28:00,090 --> 00:28:03,580 que está enviando-o de Facebook para www.facebook.com 528 00:28:03,580 --> 00:28:07,250 para https://www.facebook.com. 529 00:28:07,250 --> 00:28:12,300 >> Então, isso é uma ou mais transações HTTP onde a sua informação é completamente 530 00:28:12,300 --> 00:28:15,102 enviado em claro, não criptografia alguma. 531 00:28:15,102 --> 00:28:17,810 Agora, isso pode não ser tão grande lidar se tudo que você está tentando fazer 532 00:28:17,810 --> 00:28:20,980 é acessar a página inicial, você não está enviando seu nome de usuário e senha. 533 00:28:20,980 --> 00:28:23,130 Mas o que é baixo o capô, especialmente 534 00:28:23,130 --> 00:28:28,130 para sites baseados em PHP que também é sendo enviado para trás e quando 535 00:28:28,130 --> 00:28:33,820 você visitar alguma página da web se que o uso do site, por exemplo, PHP 536 00:28:33,820 --> 00:28:37,370 e implementa a funcionalidade como pset7? 537 00:28:37,370 --> 00:28:40,840 O que estava sendo enviado de volta e para trás em seus cabeçalhos HTTP que você deu 538 00:28:40,840 --> 00:28:44,903 acesso a esse bem Super útil global em PHP? 539 00:28:44,903 --> 00:28:45,710 >> Audiência: Cookies. 540 00:28:45,710 --> 00:28:49,020 >> DAVID J. MALAN: Cookies, especificamente o PHP sess ID do cookie. 541 00:28:49,020 --> 00:28:53,100 Então lembro, se formos a, digamos, cs50.harvard.edu novamente, 542 00:28:53,100 --> 00:28:56,440 mas desta vez, vamos abrir o Guia Rede, e agora, aqui em cima, 543 00:28:56,440 --> 00:29:01,570 vamos literalmente basta ir para http://cs50.harvard.edu 544 00:29:01,570 --> 00:29:03,030 e, em seguida, pressione Enter. 545 00:29:03,030 --> 00:29:05,520 E, em seguida, olhar para a tela para baixo aqui. 546 00:29:05,520 --> 00:29:09,600 Observe que na verdade tem de volta a 301 movido permanentemente 547 00:29:09,600 --> 00:29:12,820 mensagem, o que significa que há um cabeçalho de localização aqui, 548 00:29:12,820 --> 00:29:15,610 que agora está me redirecionando para HTTPS. 549 00:29:15,610 --> 00:29:21,330 >> Mas o problema é que, se eu já tinha um cookie gravado na minha mão praticamente, 550 00:29:21,330 --> 00:29:25,890 como já discutimos antes, e Eu o tipo humano de saber 551 00:29:25,890 --> 00:29:29,090 basta visitar o inseguro versão, e meu navegador leva-lo 552 00:29:29,090 --> 00:29:34,020 sobre si mesmo para mostrar que selo de mão para o primeiro pedido, que é via HTTP, 553 00:29:34,020 --> 00:29:36,610 qualquer homem no meio, qualquer adversário no meio, 554 00:29:36,610 --> 00:29:39,380 teoricamente pode apenas ver esses cabeçalhos HTTP, apenas 555 00:29:39,380 --> 00:29:40,980 como se estivéssemos olhando para eles aqui. 556 00:29:40,980 --> 00:29:43,310 É só quando você estiver falando com um HTTPS 557 00:29:43,310 --> 00:29:47,780 URL que isso em si selo mão obter criptografado, a la César ou Vigenere, 558 00:29:47,780 --> 00:29:50,500 mas com um algoritmo mais sofisticado completamente. 559 00:29:50,500 --> 00:29:53,611 Então, aqui, também, mesmo que sites usam HTTPS, 560 00:29:53,611 --> 00:29:56,860 nós, seres humanos foram condicionados, graças às técnicas de auto-completar e outros, 561 00:29:56,860 --> 00:29:59,827 para sequer pensar em as potenciais implicações. 562 00:29:59,827 --> 00:30:01,160 Agora, existem maneiras de contornar isso. 563 00:30:01,160 --> 00:30:03,140 Por exemplo, muitos sites pode ser configurado 564 00:30:03,140 --> 00:30:05,848 de modo que, uma vez que você tem esse lado selo, você pode dizer ao navegador, 565 00:30:05,848 --> 00:30:07,750 este selo de mão é apenas para conexões SSL. 566 00:30:07,750 --> 00:30:11,702 O navegador não deve apresentar que a mim, se é sobre SSL. 567 00:30:11,702 --> 00:30:13,410 Mas muitos sites não se preocupe com isso. 568 00:30:13,410 --> 00:30:17,260 E muitos sites aparentemente nem sequer se preocupar com SSL em tudo. 569 00:30:17,260 --> 00:30:20,540 >> Então, para saber mais sobre isso, não há, na verdade, ainda mais sujeira nesta apresentação 570 00:30:20,540 --> 00:30:24,010 que um colega deu a um chamado preto conferência chapéu um par de anos atrás, 571 00:30:24,010 --> 00:30:26,468 onde há ainda outro truques maliciosos pessoas têm usado. 572 00:30:26,468 --> 00:30:28,630 Você pode recordar esta noção de um favicon, que 573 00:30:28,630 --> 00:30:32,270 é como um pequeno logotipo que é muitas vezes na janela do navegador. 574 00:30:32,270 --> 00:30:34,610 Bem, o que tem sido comum entre os bandidos é 575 00:30:34,610 --> 00:30:36,340 para tornar ícones fab que se parecem com o que? 576 00:30:36,340 --> 00:30:39,054 577 00:30:39,054 --> 00:30:39,970 AUDIÊNCIA: [inaudível]. 578 00:30:39,970 --> 00:30:40,280 DAVID J. MALAN: Diga de novo? 579 00:30:40,280 --> 00:30:41,490 AUDIÊNCIA: Os sites. 580 00:30:41,490 --> 00:30:42,130 DAVID J. MALAN: Não é um website. 581 00:30:42,130 --> 00:30:43,394 Então, favicon, minúsculo pequeno ícone. 582 00:30:43,394 --> 00:30:45,560 O que seria o mais malicioso, coisa manipuladora 583 00:30:45,560 --> 00:30:47,832 você pode fazer o seu site de ícone padrão parecido? 584 00:30:47,832 --> 00:30:48,790 Audiência: Um bloqueio verde. 585 00:30:48,790 --> 00:30:49,080 DAVID J. MALAN: O que é isso? 586 00:30:49,080 --> 00:30:50,160 AUDIÊNCIA: Um pouco de bloqueio verde. 587 00:30:50,160 --> 00:30:51,960 DAVID J. MALAN: Como um bloqueio verde, exatamente. 588 00:30:51,960 --> 00:30:55,242 Então você pode ter essa estética de um pequeno cadeado verde, 589 00:30:55,242 --> 00:30:57,950 insinuando para o mundo, oh, nós somos assegurar, quando, mais uma vez, tudo o que significa 590 00:30:57,950 --> 00:31:00,210 é que você sabe um pouco de HTML. 591 00:31:00,210 --> 00:31:02,895 Assim, o seqüestro de sessão refere-se exatamente isso. 592 00:31:02,895 --> 00:31:05,936 Se você tem alguém que é uma espécie de farejando as ondas neste quarto aqui 593 00:31:05,936 --> 00:31:09,150 ou tem acesso físico a um rede e pode ver os seus cookies, 594 00:31:09,150 --> 00:31:12,152 ele ou ela pode pegar que PHP sess ID do cookie. 595 00:31:12,152 --> 00:31:13,860 E então, se eles são experiente o suficiente para saber 596 00:31:13,860 --> 00:31:18,200 como enviar esse cookie como a sua própria selo mão apenas copiando esse valor 597 00:31:18,200 --> 00:31:20,860 e enviar os cabeçalhos HTTP, alguém poderia muito facilmente 598 00:31:20,860 --> 00:31:23,510 entrar em qualquer do Facebook contas ou contas do Gmail 599 00:31:23,510 --> 00:31:27,355 ou contas de Twitter que estão aqui, abertos na sala, se você não estiver usando SSL 600 00:31:27,355 --> 00:31:31,500 e se o site é não usar SSL corretamente. 601 00:31:31,500 --> 00:31:33,690 >> Assim, a transição para um outro vamos. 602 00:31:33,690 --> 00:31:34,700 Assim, uma outra história verdadeira. 603 00:31:34,700 --> 00:31:38,680 E isso só quebrou na notícias uma ou duas semanas atrás. 604 00:31:38,680 --> 00:31:41,520 Verizon tem vindo a fazer uma coisa muito mal, 605 00:31:41,520 --> 00:31:45,110 e quanto melhores as pessoas podem dizer, desde que pelo menos 2012, segundo a qual, 606 00:31:45,110 --> 00:31:51,550 quando você acessar sites através de um Verizon telefone celular, qualquer que seja o fabricante é, 607 00:31:51,550 --> 00:31:54,150 eles têm sido soberbamente, como a história vai, 608 00:31:54,150 --> 00:31:59,890 injetando toda a sua HTTP tráfego seu próprio cabeçalho HTTP. 609 00:31:59,890 --> 00:32:04,040 E esse olha cabeçalho como isto-- X-UIDH. 610 00:32:04,040 --> 00:32:06,465 UID é como um único identificador ou ID do usuário. 611 00:32:06,465 --> 00:32:09,660 E X significa apenas que este é um costume cabeçalho que não é padrão. 612 00:32:09,660 --> 00:32:11,720 >> Mas o que isso significa é que, se eu puxar para cima, 613 00:32:11,720 --> 00:32:14,640 por exemplo, qualquer site no meu telefone aqui- 614 00:32:14,640 --> 00:32:18,310 e eu estou usando Verizon como meu carrier-- mesmo que o meu computador não pode 615 00:32:18,310 --> 00:32:21,110 estar enviando este HTTP cabeçalho, Verizon, o mais rapidamente 616 00:32:21,110 --> 00:32:23,650 como o sinal atinge a sua celular torre em algum lugar, 617 00:32:23,650 --> 00:32:28,187 tem sido por algum tempo a injectar este cabeçalho em todo o nosso tráfego HTTP. 618 00:32:28,187 --> 00:32:29,020 Por que eles fazem isso? 619 00:32:29,020 --> 00:32:31,920 Presumivelmente, por razões de rastreamento, por razões publicitárias. 620 00:32:31,920 --> 00:32:36,280 >> Mas a decisão de design imbecil aqui é que um cabeçalho HTTP, 621 00:32:36,280 --> 00:32:41,090 como vocês sabem de pset6, é recebido por qualquer servidor web 622 00:32:41,090 --> 00:32:42,540 que você está solicitando o tráfego de. 623 00:32:42,540 --> 00:32:44,248 Então todo esse tempo, se você foi visitar 624 00:32:44,248 --> 00:32:48,019 Facebook ou Gmail ou em qualquer site que não usa SSL todo o tempo-- 625 00:32:48,019 --> 00:32:49,810 e, na verdade, aqueles dois felizmente agora fazer-- 626 00:32:49,810 --> 00:32:52,670 mas outros sites que não use SSL todo o tempo, 627 00:32:52,670 --> 00:32:54,930 Verizon tem essencialmente plantado, forçosamente, 628 00:32:54,930 --> 00:32:58,180 um selo de mão em toda a nossa mãos que ainda não vemos, 629 00:32:58,180 --> 00:33:00,330 mas sim, os sites finais fazer. 630 00:33:00,330 --> 00:33:02,890 E por isso não tem sido que difícil para qualquer pessoa na Internet 631 00:33:02,890 --> 00:33:05,245 executando um servidor web para perceber, ooh, este é David, 632 00:33:05,245 --> 00:33:09,340 ou, ooh, este é Davin, mesmo se estamos rigoroso sobre como limpar os nossos cookies, 633 00:33:09,340 --> 00:33:10,772 porque não vem de nós. 634 00:33:10,772 --> 00:33:11,980 Está vindo de transportadora. 635 00:33:11,980 --> 00:33:14,896 >> Eles fazem uma pesquisa sobre o número de telefone e depois dizer, oh, este é David. 636 00:33:14,896 --> 00:33:18,890 Deixe-me injetar um identificador exclusivo para que os nossos anunciantes ou quem puder 637 00:33:18,890 --> 00:33:19,850 manter o controle deste. 638 00:33:19,850 --> 00:33:23,769 Então, isso é realmente muito, muito, muito ruim e horripilante. 639 00:33:23,769 --> 00:33:26,060 E eu gostaria de encorajá-lo a dar uma olhada, por exemplo, 640 00:33:26,060 --> 00:33:29,950 neste URL, o que eu deveria assumem Na verdade, eu tentei isso esta manhã. 641 00:33:29,950 --> 00:33:31,970 Eu escrevi um pequeno script, colocá-lo neste URL, 642 00:33:31,970 --> 00:33:34,770 visitou-lo com minha própria Verizon cellphone após ligar Wi-Fi desligado. 643 00:33:34,770 --> 00:33:38,010 Então você tem que ligar o Wi-Fi desligado para que você estiver usando 3G ou LTE ou similares. 644 00:33:38,010 --> 00:33:40,010 E então, se você visitar este URL, todos esse script 645 00:33:40,010 --> 00:33:41,770 faz para vocês, se você gostaria de jogar, 646 00:33:41,770 --> 00:33:45,380 é ele cospe o que os cabeçalhos HTTP o telefone está enviando para o nosso servidor. 647 00:33:45,380 --> 00:33:48,510 E eu, na verdade, na justiça, fez não ver isso, esta manhã, que 648 00:33:48,510 --> 00:33:51,430 me faz pensar ou local torre de celular que eu estava ligado a 649 00:33:51,430 --> 00:33:55,160 ou outros enfeites não está fazendo isso, ou eles têm recuou de fazer isso temporariamente. 650 00:33:55,160 --> 00:33:58,160 Mas, para obter mais informações, a cabeça para este URL aqui. 651 00:33:58,160 --> 00:34:00,680 >> E agora a isto-- este cômico pode fazer sentido. 652 00:34:00,680 --> 00:34:03,530 653 00:34:03,530 --> 00:34:04,030 Não? 654 00:34:04,030 --> 00:34:04,530 Está bem. 655 00:34:04,530 --> 00:34:05,390 Tudo certo. 656 00:34:05,390 --> 00:34:06,310 Que morreu. 657 00:34:06,310 --> 00:34:07,240 Tudo certo. 658 00:34:07,240 --> 00:34:11,330 >> Então vamos dar uma olhada em alguns dos mais ataques, mesmo que apenas para aumentar a conscientização sobre 659 00:34:11,330 --> 00:34:13,179 e, então, oferecer um casal possíveis soluções 660 00:34:13,179 --> 00:34:14,430 de modo que você é tudo o mais atento. 661 00:34:14,430 --> 00:34:17,305 Este falamos sobre o outro dia, mas não deu um nome a ele. 662 00:34:17,305 --> 00:34:22,360 É uma falsificação de solicitação entre sites, o que é uma maneira elegante de dizer excessivamente 663 00:34:22,360 --> 00:34:26,489 você enganar um usuário a clicar em uma URL como esta, que os truques 664 00:34:26,489 --> 00:34:28,280 em algum comportamento que que não tinha a intenção. 665 00:34:28,280 --> 00:34:30,710 >> Neste caso, esta parece estar tentando me enganar 666 00:34:30,710 --> 00:34:32,920 em vender minhas ações da Google. 667 00:34:32,920 --> 00:34:36,810 E isso terá sucesso se Eu, o programador de pset7, 668 00:34:36,810 --> 00:34:40,409 não ter feito o que? 669 00:34:40,409 --> 00:34:44,739 Ou melhor, de forma mais geral, no que casos eu sou vulnerável a um ataque 670 00:34:44,739 --> 00:34:49,460 se alguém truques outro usuário a clicar em uma URL como esta? 671 00:34:49,460 --> 00:34:49,960 Sim? 672 00:34:49,960 --> 00:34:52,500 >> AUDIÊNCIA: Você não distinguem entre GET e POST. 673 00:34:52,500 --> 00:34:52,760 >> DAVID J. MALAN: Good. 674 00:34:52,760 --> 00:34:54,850 Se não distinguir entre GET e POST, 675 00:34:54,850 --> 00:34:57,950 e, de fato, se permitirmos GET para vender coisas, 676 00:34:57,950 --> 00:35:00,284 estamos convidando esse tipo de ataque. 677 00:35:00,284 --> 00:35:01,950 Mas ainda pode mitigá-la um pouco. 678 00:35:01,950 --> 00:35:04,283 E eu comentei, eu acho, na semana passada que a Amazon pelo menos 679 00:35:04,283 --> 00:35:08,180 tenta atenuar esse com uma técnica isso é bastante simples. 680 00:35:08,180 --> 00:35:11,860 O que seria uma coisa inteligente fazer estar em seu servidor, 681 00:35:11,860 --> 00:35:14,652 ao invés de apenas vender cegamente qualquer que seja símbolo o usuário digita em? 682 00:35:14,652 --> 00:35:15,984 AUDIÊNCIA: Confirmação das sortes? 683 00:35:15,984 --> 00:35:19,320 DAVID J. MALAN: Uma tela de confirmação, algo que envolve a interação humana 684 00:35:19,320 --> 00:35:21,300 de modo que eu sou forçado a fazer o julgamento, 685 00:35:21,300 --> 00:35:23,930 mesmo que eu ingenuamente clicou um link que parece com isso 686 00:35:23,930 --> 00:35:27,760 e me levou para a tela do celular, em menos me pediu para confirmar ou negar. 687 00:35:27,760 --> 00:35:32,460 Mas não um ataque incomum, especialmente nos chamados phishing ou spam-like 688 00:35:32,460 --> 00:35:33,280 ataques. 689 00:35:33,280 --> 00:35:34,890 >> Agora, este é um pouco mais sutil. 690 00:35:34,890 --> 00:35:37,060 Este é um cross-site scripting ataque. 691 00:35:37,060 --> 00:35:39,250 E isso acontece se o seu site não está usando 692 00:35:39,250 --> 00:35:41,260 o equivalente a htmlspecialchars. 693 00:35:41,260 --> 00:35:45,160 E ele está tomando a entrada do usuário e apenas cegamente injetá-lo em uma página da web, 694 00:35:45,160 --> 00:35:48,170 como com impressão ou eco, com-- novamente-- fora chamar algo 695 00:35:48,170 --> 00:35:49,710 como htmlspecialchars. 696 00:35:49,710 --> 00:35:52,602 >> Então, suponha que o site em questão é vulnerable.com. 697 00:35:52,602 --> 00:35:55,620 E suponha que ele aceita um parâmetro chamado q. 698 00:35:55,620 --> 00:35:59,040 Olhe para o que pode acontecer se eu realmente, um cara mau, 699 00:35:59,040 --> 00:36:02,360 digitar ou enganar um usuário em visitar uma URL que se parece com isso- 700 00:36:02,360 --> 00:36:05,900 q = tag script aberto, fechado tag script. 701 00:36:05,900 --> 00:36:08,480 E mais uma vez, eu estou supondo que não é vulnerable.com 702 00:36:08,480 --> 00:36:11,740 vai virar perigoso personagens como suportes abertos 703 00:36:11,740 --> 00:36:15,570 em entidades HTML, o E comercial, L-T, coisa vírgula 704 00:36:15,570 --> 00:36:17,090 que você pode ter visto antes. 705 00:36:17,090 --> 00:36:18,900 >> Mas o que é o script ou código JavaScript 706 00:36:18,900 --> 00:36:21,160 Estou tentando enganar um usuário em execução? 707 00:36:21,160 --> 00:36:25,420 Bem, document.location refere para o endereço atual do meu navegador. 708 00:36:25,420 --> 00:36:29,400 Portanto, se eu faço document.location =, isso me permite redirecionar o usuário 709 00:36:29,400 --> 00:36:30,830 em JavaScript para outro site. 710 00:36:30,830 --> 00:36:34,290 É como a nossa função PHP redirecionar, mas feito em JavaScript. 711 00:36:34,290 --> 00:36:35,900 >> Onde estou tentando enviar o usuário? 712 00:36:35,900 --> 00:36:40,110 Bem, aparentemente, badguy.com/log.php, que é algum script, aparentemente, 713 00:36:40,110 --> 00:36:43,530 o bandido escreveu, que leva um parâmetro chamado biscoito. 714 00:36:43,530 --> 00:36:46,790 >> E note, o que eu parecem ser concatenando 715 00:36:46,790 --> 00:36:49,190 para o final desse sinal de igualdade? 716 00:36:49,190 --> 00:36:52,030 Bem, algo que diz document.cookie. 717 00:36:52,030 --> 00:36:53,320 Nós não falamos sobre isso. 718 00:36:53,320 --> 00:36:55,730 Mas acontece que, em JavaScript, assim como no PHP, 719 00:36:55,730 --> 00:36:59,770 você pode acessar todos os bolinhos que o seu navegador está realmente usando. 720 00:36:59,770 --> 00:37:02,180 >> Assim, o efeito de um presente linha de código, se um usuário 721 00:37:02,180 --> 00:37:06,440 é levado a clicar neste link eo site vulnerable.com não 722 00:37:06,440 --> 00:37:10,000 escapar com htmlspecialchars, é que você tem apenas de forma eficaz 723 00:37:10,000 --> 00:37:13,660 carregado para log.php todos os seus cookies. 724 00:37:13,660 --> 00:37:17,300 E isso não é sempre que problemática, salvo se um desses bolinhos 725 00:37:17,300 --> 00:37:20,040 é o seu ID da sessão, o seu o chamado selo de mão, que 726 00:37:20,040 --> 00:37:26,470 significa badguy.com pode fazer seu próprio Solicitações HTTP, enviando a mesma mão 727 00:37:26,470 --> 00:37:30,210 selo, que mesmo cabeçalho de cookie, e registrar em qualquer site 728 00:37:30,210 --> 00:37:33,680 você estava visitando, o que, neste caso, é vulnerable.com. 729 00:37:33,680 --> 00:37:35,940 É um cross-site scripting ataque no sentido 730 00:37:35,940 --> 00:37:38,130 que você está tipo de enganar um local para contar 731 00:37:38,130 --> 00:37:43,560 outro site sobre algumas informações não deve, de fato, têm acesso. 732 00:37:43,560 --> 00:37:46,510 >> Tudo bem, pronto para uma outro detalhe preocupante? 733 00:37:46,510 --> 00:37:49,970 Tudo bem, o mundo é um lugar assustador, legitimamente assim. 734 00:37:49,970 --> 00:37:52,480 Aqui está uma simples Exemplo JavaScript que é 735 00:37:52,480 --> 00:37:54,847 no código-fonte de hoje chamado geolocalização 0 e 1. 736 00:37:54,847 --> 00:37:56,930 E há um casal walkthroughs on-line para isso. 737 00:37:56,930 --> 00:37:59,920 >> E isso faz o seguinte, se eu abrir esta página web no Chrome. 738 00:37:59,920 --> 00:38:04,590 Primeiro, ele não faz nada. 739 00:38:04,590 --> 00:38:07,300 OK, vamos tentar isso de novo. 740 00:38:07,300 --> 00:38:07,800 Oh. 741 00:38:07,800 --> 00:38:10,990 742 00:38:10,990 --> 00:38:13,370 Não, ele deve fazer algo. 743 00:38:13,370 --> 00:38:16,500 OK, stand by. 744 00:38:16,500 --> 00:38:18,200 >> Vamos tentar isso mais uma vez. 745 00:38:18,200 --> 00:38:21,285 746 00:38:21,285 --> 00:38:21,785 [Inaudível] 747 00:38:21,785 --> 00:38:26,941 748 00:38:26,941 --> 00:38:29,444 Ah, OK, não sei por que as-- oh, o aparelho 749 00:38:29,444 --> 00:38:31,360 provavelmente perdeu internet acesso por algum motivo. 750 00:38:31,360 --> 00:38:32,840 Tudo bem, então acontece comigo também. 751 00:38:32,840 --> 00:38:34,650 >> Tudo bem, então aviso o que está acontecendo aqui. 752 00:38:34,650 --> 00:38:37,300 Esta enigmática aparência URL, que é apenas uma das servidor CS50, 753 00:38:37,300 --> 00:38:41,130 quer usar o computador de localização, como fisicamente ele significa. 754 00:38:41,130 --> 00:38:45,160 E se, na verdade, eu clico em Permitir, vamos ver o que acontece. 755 00:38:45,160 --> 00:38:49,030 Aparentemente, esta é a minha latitude atual e longitudinal coordena baixo 756 00:38:49,030 --> 00:38:51,660 a um muito bom danado resolução. 757 00:38:51,660 --> 00:38:53,310 >> Assim como eu chegar a essa? 758 00:38:53,310 --> 00:38:57,620 Como é que este site, como servidor CS50, saber fisicamente onde no mundo 759 00:38:57,620 --> 00:38:59,600 Eu estou, e muito menos com essa precisão. 760 00:38:59,600 --> 00:39:01,990 Bem, acontece out-- vamos apenas olhar para source-- da página 761 00:39:01,990 --> 00:39:05,280 isso aqui é um monte de HTML em o fundo que tem a primeira isto-- 762 00:39:05,280 --> 00:39:09,080 onload corpo = "geograficamente" - apenas uma função que eu escrevi. 763 00:39:09,080 --> 00:39:11,840 >> E eu estou dizendo, no carregamento a página, chamar geograficamente. 764 00:39:11,840 --> 00:39:13,750 E então não há nada no corpo, porque 765 00:39:13,750 --> 00:39:16,270 na cabeça da página, perceber o que eu tenho aqui. 766 00:39:16,270 --> 00:39:18,090 Aqui está a minha função geograficamente. 767 00:39:18,090 --> 00:39:23,560 E este é apenas um erro checking-- se o tipo de navigator.geolocation 768 00:39:23,560 --> 00:39:24,490 não é indefinido. 769 00:39:24,490 --> 00:39:26,240 Então JavaScript tem este mecanismo onde você 770 00:39:26,240 --> 00:39:28,270 pode-se dizer, qual é o tipo desta variável? 771 00:39:28,270 --> 00:39:30,790 E se não for undefined-- isso significa que é algum value-- 772 00:39:30,790 --> 00:39:35,940 Eu vou ligar navigator.geolocation.getCurrentPosition 773 00:39:35,940 --> 00:39:37,230 e depois retorno. 774 00:39:37,230 --> 00:39:37,750 >> O que é isso? 775 00:39:37,750 --> 00:39:39,916 Assim, em geral, o que é um retorno, só para ficar claro? 776 00:39:39,916 --> 00:39:42,890 Você pode ter encontrado este já em pset8. 777 00:39:42,890 --> 00:39:44,790 Callback é um genérico prazo para fazer o que? 778 00:39:44,790 --> 00:39:48,430 779 00:39:48,430 --> 00:39:49,554 Sinto como se só eu hoje. 780 00:39:49,554 --> 00:39:50,470 AUDIÊNCIA: [inaudível]. 781 00:39:50,470 --> 00:39:53,322 782 00:39:53,322 --> 00:39:55,280 DAVID J. MALAN: Exatamente, uma função que deve 783 00:39:55,280 --> 00:39:57,330 ser chamado apenas quando temos dados. 784 00:39:57,330 --> 00:40:01,510 Esta chamada para o navegador, buscar o meu atual posição, pode demorar um milésimo de segundo, 785 00:40:01,510 --> 00:40:02,720 isso pode levar um minuto. 786 00:40:02,720 --> 00:40:06,960 O que isto significa é que estamos dizendo o método get getCurrentPosition, 787 00:40:06,960 --> 00:40:09,910 chamar esta função de retorno de chamada, que eu, literalmente, chamado callback 788 00:40:09,910 --> 00:40:13,150 para simplicidade, o que aparentemente, é este aqui. 789 00:40:13,150 --> 00:40:16,290 >> E a maneira getCurrentPosition funciona, simplesmente lendo a documentação 790 00:40:16,290 --> 00:40:19,540 para algum código JavaScript on-line, é que ele chama de que a chamada de retorno de chamada 791 00:40:19,540 --> 00:40:23,220 função, passa-lo em que um objeto JavaScript, 792 00:40:23,220 --> 00:40:28,970 no interior dos quais é .coords.latitude e .coords.longitude, 793 00:40:28,970 --> 00:40:32,140 que é exatamente como, então, quando eu recarregar esta página, 794 00:40:32,140 --> 00:40:33,985 Eu era capaz de ver a minha localização aqui. 795 00:40:33,985 --> 00:40:35,610 Agora, pelo menos, havia uma defesa aqui. 796 00:40:35,610 --> 00:40:37,820 Antes que eu visitei esta página, quando ele realmente funcionou, 797 00:40:37,820 --> 00:40:40,935 o que eu estava pelo menos solicitada? 798 00:40:40,935 --> 00:40:42,180 >> AUDIÊNCIA: [inaudível]. 799 00:40:42,180 --> 00:40:44,200 >> DAVID J. MALAN: Sim ou Não-- fazer você deseja permitir ou negar isso? 800 00:40:44,200 --> 00:40:46,630 Mas acho que, também, sobre os hábitos Vocês provavelmente têm adotado, 801 00:40:46,630 --> 00:40:48,330 tanto em seus telefones e seus navegadores. 802 00:40:48,330 --> 00:40:50,390 Muitos de nós, eu incluídos, são provavelmente 803 00:40:50,390 --> 00:40:54,960 bastante predispostos estes dias-- você ver um pop-up, apenas Enter, OK, Aprovar, 804 00:40:54,960 --> 00:40:55,730 Permitir. 805 00:40:55,730 --> 00:40:59,070 E cada vez mais, você pode colocar se em risco por essas razões. 806 00:40:59,070 --> 00:41:03,280 >> Então, na verdade, não havia essa maravilhosa bug alguns anos ago-- ou falta de feature-- 807 00:41:03,280 --> 00:41:08,250 iTunes que tinha alguns anos atrás, pelo que, se você tivesse um telefone celular, 808 00:41:08,250 --> 00:41:12,000 e foi um iPhone, e você deixou a sua casa 809 00:41:12,000 --> 00:41:15,600 e, portanto, viajou ao redor do mundo ou do bairro, todo esse tempo, 810 00:41:15,600 --> 00:41:17,819 o telefone estava registrando onde você está através do GPS. 811 00:41:17,819 --> 00:41:20,610 E, na verdade, esta é divulgada, e as pessoas esperam que este tipo de empresa. 812 00:41:20,610 --> 00:41:21,930 O telefone sabe onde você está. 813 00:41:21,930 --> 00:41:24,990 Mas o problema era que, quando você estava fazendo backup 814 00:41:24,990 --> 00:41:29,260 o telefone para iTunes-- isso foi antes os dias de iCloud, o que é melhor para o 815 00:41:29,260 --> 00:41:33,960 ou para worse-- os dados foram armazenados sendo no iTunes, completamente sem criptografia. 816 00:41:33,960 --> 00:41:37,370 Então, se você tem uma família ou colegas de quarto ou um vizinho mal-intencionado que é 817 00:41:37,370 --> 00:41:41,430 Curioso sobre literalmente todos os GPS coordenar você já foi para, 818 00:41:41,430 --> 00:41:43,300 ele ou ela poderia apenas sentar-se no iTunes, execute 819 00:41:43,300 --> 00:41:46,540 algum software que foi livremente disponíveis, e produzir mapas como este. 820 00:41:46,540 --> 00:41:48,680 >> Na verdade, isso é o que eu produzido do meu próprio telefone. 821 00:41:48,680 --> 00:41:49,380 Eu liguei. 822 00:41:49,380 --> 00:41:51,670 E parece que, com base sobre os pontos azuis lá, 823 00:41:51,670 --> 00:41:53,900 que é onde a maioria dos as coordenadas GPS foram 824 00:41:53,900 --> 00:41:56,680 registrado pelo iTunes que eu foi no Nordeste lá. 825 00:41:56,680 --> 00:42:00,030 Mas, aparentemente, viajou ao redor um pouco, mesmo dentro de Massachusetts. 826 00:42:00,030 --> 00:42:01,950 >> Então, isso é o Porto de Boston lá na direita. 827 00:42:01,950 --> 00:42:04,430 Esse é um tipo de Cambridge e Boston, onde é mais escura. 828 00:42:04,430 --> 00:42:07,660 E, ocasionalmente, eu correria incumbências para uma geografia maior. 829 00:42:07,660 --> 00:42:11,464 >> Mas iTunes, durante anos, teve, como melhor Eu poderia dizer, todos esses dados em mim. 830 00:42:11,464 --> 00:42:13,380 Você poderia dizer que, Naquele ano, eu estava realmente 831 00:42:13,380 --> 00:42:17,990 viajando muito entre Boston e Nova York, indo e voltando 832 00:42:17,990 --> 00:42:18,830 e para trás e para frente. 833 00:42:18,830 --> 00:42:22,660 E, de fato, este é me em Amtrak, de volta e para a frente, para trás e para a frente, um pouco. 834 00:42:22,660 --> 00:42:25,970 Tudo isso estava sendo registrado e armazenados criptografados no meu computador 835 00:42:25,970 --> 00:42:28,520 para qualquer um que pode ter acesso ao meu computador. 836 00:42:28,520 --> 00:42:29,480 >> Esta foi preocupante. 837 00:42:29,480 --> 00:42:32,180 Eu não sabia por que eu estava na Pensilvânia, ou porque 838 00:42:32,180 --> 00:42:35,277 meu telefone estava na Pensilvânia, aparentemente bastante densa. 839 00:42:35,277 --> 00:42:37,360 E então, finalmente, eu olhei na minha Gcal, e, oh, I 840 00:42:37,360 --> 00:42:39,880 visitou CMU, Carnegie Mellon, no momento. 841 00:42:39,880 --> 00:42:42,031 E ufa, esse tipo de explicou que blip. 842 00:42:42,031 --> 00:42:43,780 E então, se você aumentar o zoom a mais, você pode 843 00:42:43,780 --> 00:42:46,850 veja visitei San Francisco uma ou mais vezes, em seguida, 844 00:42:46,850 --> 00:42:51,140 e eu ainda tinha uma escala em que Eu acho que é Vegas, lá em baixo. 845 00:42:51,140 --> 00:42:54,120 Então, tudo isso- apenas um escala, no aeroporto. 846 00:42:54,120 --> 00:42:56,420 >> AUDIÊNCIA: [Risos] 847 00:42:56,420 --> 00:43:00,760 >> Então, isso é só para dizer que estes problemas, honestamente, são onipresentes. 848 00:43:00,760 --> 00:43:02,780 E isso só se sente cada vez mais como há 849 00:43:02,780 --> 00:43:05,810 mais e mais deste que está sendo divulgado, o que provavelmente é uma coisa boa. 850 00:43:05,810 --> 00:43:08,390 Eu ouso dizer, o mundo não é piorando no software de gravação. 851 00:43:08,390 --> 00:43:10,520 Estamos ficando cada vez melhor, esperançosamente, em perceber 852 00:43:10,520 --> 00:43:13,037 quão ruim determinado software é que estamos usando. 853 00:43:13,037 --> 00:43:14,870 E, felizmente, alguns empresas estão começando 854 00:43:14,870 --> 00:43:17,080 de ser responsabilizado por isso. 855 00:43:17,080 --> 00:43:19,080 >> Mas que tipos de defesas você pode ter em mente? 856 00:43:19,080 --> 00:43:23,610 Portanto, além de gerentes de senha, como 1Password e LastPass e outros, 857 00:43:23,610 --> 00:43:27,340 além de apenas mudar suas senhas e chegando com os aleatórios 858 00:43:27,340 --> 00:43:29,700 usando o software como disso, você também pode tentar 859 00:43:29,700 --> 00:43:31,700 o melhor que puder para criptografar todo o tráfego 860 00:43:31,700 --> 00:43:34,680 para, pelo menos, limitar a zona de uma ameaça. 861 00:43:34,680 --> 00:43:38,100 Assim, por exemplo, como afiliados de Harvard, tudo que você pode ir para vpn.harvard.edu 862 00:43:38,100 --> 00:43:41,010 e faça login com seu ID e PIN Harvard. 863 00:43:41,010 --> 00:43:49,350 E isso vai estabelecer um seguro conexão entre você e Harvard. 864 00:43:49,350 --> 00:43:51,150 >> Agora, isso não faz necessariamente protegê-lo 865 00:43:51,150 --> 00:43:54,360 contra quaisquer ameaças que estão entre Harvard eo Facebook ou Harvard 866 00:43:54,360 --> 00:43:54,861 e Gmail. 867 00:43:54,861 --> 00:43:56,735 Mas se você está sentado em um aeroporto ou se você estiver 868 00:43:56,735 --> 00:43:59,260 sentado no Starbucks ou você está sentando-se em casa de um amigo, 869 00:43:59,260 --> 00:44:02,730 e você realmente não confiar neles ou seu configuração de seu roteador doméstico, 870 00:44:02,730 --> 00:44:04,970 pelo menos você pode estabelecer uma conexão segura 871 00:44:04,970 --> 00:44:10,260 a uma entidade como este lugar que é provavelmente um pouco melhor garantidos 872 00:44:10,260 --> 00:44:12,437 do que algo como um Starbucks ou semelhantes. 873 00:44:12,437 --> 00:44:14,270 E o que isso faz é estabelece, mais uma vez, 874 00:44:14,270 --> 00:44:16,300 criptografia entre você e ponto final. 875 00:44:16,300 --> 00:44:17,880 >> Mesmo apreciador são coisas como esta. 876 00:44:17,880 --> 00:44:20,000 Então, alguns de vocês já pode estar familiarizado com Tor, 877 00:44:20,000 --> 00:44:22,930 que é esse tipo de anonimização rede, em que muitas pessoas, 878 00:44:22,930 --> 00:44:26,640 se executar este software, rota posteriormente a sua internet 879 00:44:26,640 --> 00:44:27,990 tráfego através de um ao outro. 880 00:44:27,990 --> 00:44:31,460 Assim, o ponto mais curto é não mais entre A e B. 881 00:44:31,460 --> 00:44:35,850 Mas pode ser todo o colocar de modo que você está essencialmente 882 00:44:35,850 --> 00:44:40,742 cobrindo uma de faixas e deixando menos de um registro a respeito de onde o HTTP 883 00:44:40,742 --> 00:44:43,950 tráfego veio, porque ele vai através de um monte de outras pessoas 884 00:44:43,950 --> 00:44:45,990 laptops ou desktops, para melhor ou para pior. 885 00:44:45,990 --> 00:44:48,180 >> Mas mesmo isso não é uma coisa infalível. 886 00:44:48,180 --> 00:44:51,560 Alguns de vocês podem se lembrar do ano passado o susto que foi chamado na bomba. 887 00:44:51,560 --> 00:44:54,662 E foi rastreada finalmente, para uma usuário que tinha usado esta rede aqui. 888 00:44:54,662 --> 00:44:57,870 E a captura lá, se bem me lembro, é, se não há que muitas outras pessoas 889 00:44:57,870 --> 00:45:02,190 usando um software como este ou usando esta porta e protocolo, 890 00:45:02,190 --> 00:45:06,250 isso não é tão difícil para uma rede de mesmo descobrir quem, com alguma probabilidade, 891 00:45:06,250 --> 00:45:08,950 era, na verdade anonimato o seu tráfego. 892 00:45:08,950 --> 00:45:12,030 >> E eu não sei se aqueles eram o dados reais em questão. 893 00:45:12,030 --> 00:45:15,400 Mas, certamente, percebe que nenhum dos estas são soluções infalíveis, assim. 894 00:45:15,400 --> 00:45:18,820 E o objetivo aqui hoje é para menos você pensar sobre essas coisas 895 00:45:18,820 --> 00:45:23,140 e chegando com técnicas de defender-se contra eles. 896 00:45:23,140 --> 00:45:28,858 Qualquer dúvida sobre todas as ameaças que esperam por você lá fora, e aqui? 897 00:45:28,858 --> 00:45:29,358 Sim? 898 00:45:29,358 --> 00:45:29,858 899 00:45:29,858 --> 00:45:31,793 AUDIÊNCIA: Como fazer seguro esperamos que a média 900 00:45:31,793 --> 00:45:35,210 [? site para ser,?] como o projeto média CS50? 901 00:45:35,210 --> 00:45:38,530 >> DAVID J. MALAN: O média projecto CS50? 902 00:45:38,530 --> 00:45:43,190 É sempre provou que todos os anos alguns projetos finais CS50 não são 903 00:45:43,190 --> 00:45:44,530 particularmente seguro. 904 00:45:44,530 --> 00:45:47,940 Geralmente, é um companheiro de quarto ou hallmate que os números esta fora 905 00:45:47,940 --> 00:45:51,200 enviando pedidos ao seu projeto. 906 00:45:51,200 --> 00:45:55,230 >> Answer-- Curto quantas sites são seguros? 907 00:45:55,230 --> 00:45:57,450 Eu estou mexendo com anomalias de hoje. 908 00:45:57,450 --> 00:46:00,640 Como se fosse apenas casualidade que eu percebi que este site 909 00:46:00,640 --> 00:46:03,390 Fui encomendar estes francamente deliciosos arranjos de-- 910 00:46:03,390 --> 00:46:05,348 e eu não tenho certeza que vou parar de usar seu site; 911 00:46:05,348 --> 00:46:08,030 Eu só poderia mudar a minha senha mais regularly-- 912 00:46:08,030 --> 00:46:11,320 não está claro o quão vulneráveis ​​todos estes various-- 913 00:46:11,320 --> 00:46:12,970 este é realmente coberto de chocolate. 914 00:46:12,970 --> 00:46:16,172 915 00:46:16,172 --> 00:46:19,130 A resposta curta, eu não posso responder a essa de forma eficaz, além de dizer que 916 00:46:19,130 --> 00:46:22,150 Não foi tão difícil para mim encontrar alguns desses exemplos apenas 917 00:46:22,150 --> 00:46:24,040 em prol da discussão em aula. 918 00:46:24,040 --> 00:46:26,456 E apenas manter um olho em Google News e outros recursos 919 00:46:26,456 --> 00:46:29,590 trará ainda mais de estes tipos de coisas à luz. 920 00:46:29,590 --> 00:46:32,460 >> Tudo bem, vamos concluir com este prequel 921 00:46:32,460 --> 00:46:36,870 que a equipe de CS50 tem preparado para você em antecipação do CS50 Hackathon. 922 00:46:36,870 --> 00:46:39,763 E sobre o caminho para sair de uma momento, a fruta será servido. 923 00:46:39,763 --> 00:46:40,429 [REPRODUÇÃO DE VÍDEO] 924 00:46:40,429 --> 00:46:43,595 [MUSIC Fergie, Q Tip, E GoonRock, "A Festinha nunca matou NINGUÉM (ALL 925 00:46:43,595 --> 00:46:44,373 WE GOT) "] 926 00:46:44,373 --> 00:48:08,880 927 00:48:08,880 --> 00:48:13,467 >> - [Ronco] 928 00:48:13,467 --> 00:48:14,300 [FIM REPRODUÇÃO DE VÍDEO] 929 00:48:14,300 --> 00:48:15,420 DAVID J. MALAN: Isso é tudo para CS50. 930 00:48:15,420 --> 00:48:16,544 Vamos vê-lo na quarta-feira. 931 00:48:16,544 --> 00:48:20,670 932 00:48:20,670 --> 00:48:25,840 [MÚSICA - Skrillex, "IMMA" experimentá-lo "] 933 00:48:25,840 --> 00:51:47,776