DAVID J. Malan: Este é CS50, e este é o inicio da semana 10. Debe lembrar que nós mostramos na pantalla unha impresora 3D, que é este dispositivo que leva carretera de plástico e, a continuación, extruido-lo por calefacción superior e derrete-lo para que poidamos, a continuación, formar exército de Chang elefantes, por exemplo. Entón, en Leverett House, con todo, hai pouco, eu estaba falando con un dos seus compañeiros e un amigo de Chang chamada Michelle, que en realidade internado esta outra empresa o ano pasado que ten unha técnica diferente para realmente creación de obxectos tridimensionais, como este pequeno elefante aquí. En particular, a forma na que isto funciona é que é un exemplo de algo chamado estereolitografia, polo cal hai esa conca de resina ou líquido, e logo, un láser que atinxe líquido, e, gradualmente, o dispositivo ascensores e ascensores e levanta a cousa que está imprimindo, como un elefante, como que o líquido se fai sólido. E o resultado, en realidade, é algo que é moito máis robusto que algúns o plástico agasallos algúns de vós podería ter. E o que Chang xentilmente fixo por nós aquí foi fixo un time-lapse usando fotografías ao longo dunha hora ou máis, probablemente, para producir este cara aquí. Será que alguén que nunca chegar antes quere vir bater Iniciar este vídeo? Déixeme ir con, como sobre alí. Imos cara arriba. Todo correcto. E é vostede? LUKE: Lucas O meu nome é [inaudível]. DAVID J. Malan: Ola, Luke. Pracer en coñece-lo. LUKE: Pracer en coñece-lo. Audiencia: Está executando para UC. DAVID J. Malan: Eu sei, estamos intentando non promover. Todo ben, entón Luke, todo tes que facer aquí en CS50 é bater a barra de espazo imprimir este elefante. [REPRODUCIÓN DE VIDEO] - [MACHINE zumbido] - [CRASH] - [Boom] - [CRASH] [FIN REPRODUCIÓN DE VIDEO] DAVID J. Malan: Así que é exactamente o que é a impresión 3D. E aquí é o elefante. Grazas por voluntariado. Todo correcto. Entón, de novo, por especificación para o proxecto final, este hardware que é dispoñible para vostedes é, por algún motivo, o proxecto ten algunha intersección de software e hardware, entender que estes son agora características. Quería sacar un momento para tocar enriba dun artigo que saíu carmesim onte á noite, que era para anunciar que este compañeiro aquí, David Johnson, quen foi o ancián preceptor para Ec 10 por algún tempo, abandona Harvard no fin de ano lectivo. E eu só quería ter un momento, honestamente, agradecer a David diante do CS50. El foi un mentor sortes para nós ao longo dos anos. E eu sinto que nós, CS50, ten no canto creceu con Ec 10 aquí, xa que están ben diante de nós. E el e todo o equipo en Ec 10 ten foi marabillosas gracioso, francamente, como se arrastrar en todos os nosos equipos cada semana, e anos, proporcionada unha gran cantidade de consello como estabamos curioso para saber como eles operan Ec 10. Entón, os nosos agradecementos e admiración de David Johnson. [Aplausos] Agora unrelatedly, así fin está realmente preto. Estamos aquí a semana 10. E nós só temos só unha par de semanas formais aquí na clase á esquerda, seguido por un par de eventos. Entón, para darlle un sentido do que é no horizonte, aquí estamos hoxe. Este mércores, recall, teremos unha charla convidado por outro que Propio Steve Ballmer, de Microsoft. Se aínda non teña ido para cs50.harvard.edu/register, facelo, sempre que o espazo será limitado. E eles van estar comprobando IDs na porta hoxe. Se non estivese aquí a semana pasada, eu penso que sería provoca-lo cunha mirada diferente en Steve ea emoción que nos espera o mércores. [REPRODUCIÓN DE VIDEO] -Passion. -Estamos Vai ser incondicional hardcore--. -Innovator. -Bill Dixo, non obtelo. Nós imos poñer un ordenador en cada mesa e en cada casa, que se fixo lema da empresa. Xuro, Bill inventou aquela noite para realmente dar-me un pouco da visión de por que eu debería dicir que si. Nunca mirei cara atrás, realmente, despois diso. -Fresh Fóra da facultade, el xuntou unha startup incipiente e axudou a crecer nunha de América a maioría das empresas exitosas de todos os tempos. A vida de empresas e leccións aprendidas ao longo do camiño deixar lo de volta ao seu paixón de infancia e amor. E esas experiencias teñen preparado el para o seu próximo reto na vida. -Nada Fica no noso crecemento maneira--! Sigo incondicional! Vaia Clippers! -Este É Steve Ballmer, "In My Own Words". [FIN REPRODUCIÓN DE VIDEO] DAVID J. Malan: --este Mércores para CS50. Cabeza de novo a este URL aquí. En canto ao que máis está no horizonte, a próxima semana, sen clase o luns. Pero estaremos seguinte ao por cuestionario un mércores. Ir á páxina de inicio do CS50 para máis detalles sobre persoas, lugares e tempos para todos os distintos proctoring loxística e similares, así como sobre a revisión sesións que están próximas. E entón, finalmente, de luns, o día antes da semana de descanso de Acción de Grazas, entender que será o noso charla final. Imos servir bolo e unha gran dose de emoción, esperamos. Agora, un par de outras actualizacións. Teña presente que o estado informe, que é realmente só pretende ser unha interacción informal co TF indicar orgullosa só como lonxe xunto co seu proxecto final que é, ou, polo menos, como unha sanidade comprobar que ten que ser que se achega punto pouco tempo despois. O hackathon entón resulta que. Entenda o hackathon non é unha oportunidade para iniciar o seu proxecto final, pero pretende ser unha oportunidade para estar no medio ou en dirección fin do seu proxecto final, coa implementación debido a algúns días máis tarde, seguido polo xusto CS50. Agora, a produción do CS50 equipo, un par de anos, montar un teaser para a feira CS50 que pensei que ía amosar-lle hoxe, porque foron duro no traballo nun Prequel para iso, un novo video que imos concluír hoxe con. Pero aquí está o que espera por xusta CS50 deste ano. [REPRODUCIÓN DE VIDEO] - [CELULAR tocando] [MUSIC "Theme From Mission: Impossible"] [FIN REPRODUCIÓN DE VIDEO] DAVID J. Malan: Así que é exactamente como pechamos alegacións finais do proxecto. Unha parella de agora teasers-- se desexa unirse a Nick aquí para o xantar, como é habitual, este Venres, ir a este URL aquí. Ademais, se quere para xuntar-se Nick ou este Nick ou este ou calquera Allison membros do equipo de CS50, entenden que, pouco tras o fin do prazo, CS50 xa estará recrutando para o equipo do ano que vén, para CAs, TFS, os deseñadores, produtores, investigadores e outros cargos CS50 que aquí operan en ambos fronte e detrás das escenas. Polo tanto, se este podería ser de interese para ti, ir a este URL aquí. E os alumnos máis cómodos, menos cómodo, e nalgún lugar entre iguais son todos benvidos e animou a se presentar a candidatura. Por iso, foi un timing perfecto que, non broma, esta mañá, cando espertei, Tiven ese o spam na miña caixa de entrada. El realmente escorregou a través do filtro de spam de Gmail dalgún xeito, e acabou na miña caixa de entrada real. E el di: "Querido caixa de correo usuario, está actualmente actualizado para 4 gigabytes de espazo. Por favor, faga login na súa conta a fin de validar E-espazo ". E despois hai este agradable azul conexión sedutora alí para premer para profesores e funcionarios, que, a continuación, levou-me a unha páxina marabillosas lexítimo, que pediume para darlles o meu nome e enderezo de correo-e e, por suposto, contrasinal para validar quen son e así por diante. Pero, claro, como sempre é o caso, chegar a esa páxina, e, por suposto, non hai polo menos un erro de dixitación, que parece ser o cravo no o caixón de calquera destes golpes. E nós imos publicar quizais algún outro enlaces a estes tipos de pantalla tiros no futuro. Pero espero que, a maioría das persoas en este cuarto non teñen clicked-- ou mesmo se premeu estes enlaces como este, non ir tan lonxe a punto cubrir os formularios e así por diante. En realidade, non hai problema se ten. Imos tentar corrixir isto hoxe, porque, de feito, a conversa de hoxe é sobre seguridade. E, de feito, un dos obxectivos de CS50 non é tanto a ensinar CE ou PHP ou JavaScript ou SQL ou calquera destes subxacente detalles de implementación. Pero é para capacita-lo como seres humanos só para tomar decisións máis intelixentes como el refírese a tecnoloxía abaixo a estrada, de xeito que, se é un enxeñeiro ou humanista ou científico ou calquera outro papel, está tomando decisións informadas sobre o seu propio uso de computación, ou se está nun posición de toma de decisións, na política, en particular, está facendo moito, decisións moito mellores que un chea de seres humanos de hoxe ser. E nós imos facelo camiño de algúns exemplos. En primeiro lugar, quedei un pouco sorprendido Recentemente, a descubrir o seguinte. Así, contrasinais, por suposto, son o que a maioría de nós protexer o noso correo electrónico data--, chat, e todo tipo de recursos como este. E só por un awkward-- non mostra de mans, pero miradas constrangidos de vergoña, cantos de vostedes usan o mesmo contrasinal en unha morea de sitios diferentes? Oh, ben, entón imos facer as mans. OK, entón unha morea de ti. Calquera que fai iso, só por iso? E o que? Si? Audiencia: É doado de lembrar, porque non ten que lembrar [inaudível]. DAVID J. Malan: Si, é fácil de lembrar. É un perfectamente razoable, comportamento racional, aínda que o risco está poñendo a si mesmo en nestes casos é só un ou máis destes sitios é vulnerable a hackers ou para inseguro ou a chave é só tan danado guessable, calquera pode descubrir iso. Non é só unha conta comprometida, pero, en teoría, calquera contas que ten en internet. Entón, sei que eu podería dicir hoxe, non utilizar a mesma contrasinal en todas as partes, pero iso é moito máis fácil dicir que facer. Pero hai técnicas para mitigar esa preocupación particular. Agora acontece, por exemplo, a usar un programa chamado 1Password. Outro popular é chamada LastPass. E unha morea de CS50 uso persoal un ou máis destes tipos de ferramentas. E longa historia curta, un takeaway para hoxe debe ser, si, pode que o mesmo contrasinal en todas as partes, pero é moi fácil de non facelo. Por exemplo, hoxe en día, sei quizais unha das miñas decenas ou centos de contrasinais. Todas as miñas outras claves son pseudo-aleatoriamente xerado por un destes programas aquí. E en poucas palabras, e mesmo aínda que a maioría destes programas tenden a vir con algo de custo, sería necesario instalar un programa como este, Vostede, entón, almacenar todo os seus nomes de usuario e contrasinais dentro deste programa en seu propio Mac ou PC ou outros enfeites, e logo, sería cifrado no ordenador co que é esperanza dun particularmente longo contrasinal. Entón, eu teño unha morea de claves para sitios individuais, e entón eu teño realmente un contrasinal longa que eu usar para desbloquear todo as outras claves. E o que é agradable sobre software como este é que, cando visita un sitio web que é pedindo o seu nome de usuario e contrasinal, nos días de hoxe, eu non escribir meu nome de usuario e contrasinal, porque, unha vez máis, eu non sei aínda que a maioría das miñas contrasinais son. Eu no canto bateu un teclado acceso directo, cuxo resultado é accionar este software para Pide pola miña contrasinal principal. Eu, entón, escriba que un gran contrasinal no, e logo, o navegador enche automaticamente o que o meu contrasinal está. Entón, realmente, se tomar máis nada lonxe de hoxe en canto a claves, estes son software que pagan a pena descarga ou investimento, polo que que pode polo menos pausa este costume particular. E se é do tipo que é usando Post-It é o como-- e as probabilidades son, polo menos, un de vós é-- este costume, tamén, basta dicir que, debe ser dobres. Agora, eu pasou a descubrir, como resultado de utilizar o software, o seguinte. Eu estaba pedindo un arranxo comestible, esta cesta de froitas, recentemente. E eu bati meu teclado especial teclado para iniciar sesión no sitio web. E o software desencadeou unha emerxentes que dixo, ten seguro Quere que eu automaticamente presentar este nome de usuario e contrasinal? Como a conexión é inseguro. A conexión non está usando HTTPS, por seguro, utilizando este protocolo coñecido como SSL, Secure Sockets Layer. E, de feito, se ollar para esquina superior esquerda desta web, é só www.ediblearrangements.com, non HTTPS, o que non é tan bo. Agora, eu estaba curious-- quizais iso é só un erro no software. Certamente, algún sitio como iso que moitos de nós coñecemos é, polo menos, o uso de cifrado ou HTTPS URL para facer o seu login. Entón, eu teño un pouco curioso, esta mañá. E eu teño as miñas habilidades CS50, Abrín Inspector Chrome. Non o é moita habilidade. É só apertar o teclado dereito teclado para abrir iso. E aquí está unha gran ventá de Inspector de Chrome. Pero o que era en realidade un pouco tráxico e ridículo eran estas dúas liñas aquí. Alí enriba, teña en conta a URL para que o meu nome de usuario e contrasinal foron sometidos. Déixeme ampliar. Foi ese aquí. E todo isto é tipo de desinteressante, excepto para a cousa toda a maneira en á esquerda, que comeza con http: //. E entón, OK, quizais están só enviando meu nome de usuario, o que é non como un gran negocio. Quizais o meu contrasinal enviarase máis tarde. Iso sería unha especie de decisión interesante deseño. Pero non tiña. Se, a continuación ollar para a solicitude carga, o nome de usuario e contrasinal Eu sent-- e eu mofaba estes ao slide-- foron realmente enviados en claro. Entón vai para o sitio en particular e solicitar un arranxo comestible como esta, e, de feito, ao parecer, para todo isto xa que eu fun encargar a partir deles, o seu nome de usuario e contrasinal vai adiante en claro. Entón, honestamente, iso é totalmente inaceptable. E é tan trivial para evitar cousas así como o deseño dun sitio web e como o programador dunha páxina web. Pero o takeaway aquí para nós, como usuarios de sitios é só para entender que todos que toma é para un proxecto estúpido decisión, decisión de proxecto inxustificable, de xeito que, agora, se sabe que o meu contrasinal está "Tinto" nesta web, probablemente quedou en unha morea de outros sitios que teño agora. E non hai moito de unha defensa contra o que diferente do que Chang fixo mañás. Foi para arranxos comestibles, que Está situado ao final da rúa, en Cambridge, e fisicamente compras este para nós. Iso era moito máis seguro do que usar o sitio neste caso. Pero o detalle para manter un ollo para fóra para é, en realidade, o que está na parte superior do seu navegador se alí. Pero aínda que pode ser un pouco erro. Así, outra interesante exemplo e forma de defender contra isto-- e de feito, imos non que first-- o xeito de defender contra esta é unha técnica que a xente de seguridade sería chamar a autenticación de dous factores. Alguén sabe cal é a solución para problemas como este significa? Que é autenticación de dous factores? Ou dito doutro xeito, como moitos de vostedes están utilizando? OK, entón un par de persoas tímidas. Pero si. Vin a súa man subir. Que é autenticación de dous factores? Audiencia: Basicamente, ademais para escribir o seu contrasinal, tamén ten un secundario [inaudível] enviado vía mensaxe de texto para o seu móbil no [inaudível]. DAVID J. Malan: Exactamente. Ademais de algunha maneira primaria de identificación, como un código, está invitado a un secundario factor, que é tipicamente algo que ten fisicamente en ti, a pesar de pode ser algo completamente diferente. E que cousa é tipicamente un cellphone estes días en que comeza enviou unha mensaxe de texto temporal que di "O seu código de acceso temporal é 12345." Así, ademais de miña password "carmesim," Eu tamén Ten que escribir o que quere o sitio ten me mandou unha mensaxe. Ou se ten iso cun banco ou unha conta de investimento, ás veces ten estes pequenos dongle que realmente ter un pseudo-aleatório- xerador de números construído para eles, pero tanto o dispositivo e banco saber que a súa semente inicial é de xeito que xa saben, así como o pouco código no seu pequeno chaveiro marchas adiante cada minuto ou dous, o cambio de valores, fai así que o cambio de valor no servidor da base de xeito que poden similarmente rexistrarse ti, non só coa súa contrasinal, pero con que o código temporal. Agora, pode realmente facer iso en Google. E, francamente, este é un bo costume de entrar, especialmente se está a usar Gmail todo o tempo nun navegador. Se vai a este URL aquí, o que está en os diapositivas en liña para hoxe, e despois prema en 2-Step Verification, mesma cousa real alí. Lle será solicitada a dar lles o seu número de teléfono móbil. E entón, a calquera hora que poñerse en Gmail, estará non só pediu por contrasinal, pero tamén a unha pouco de código que é enviado ao seu teléfono temporalmente. E así, sempre que teña as cookies, e sempre que non explicitamente logout, só ten facelo de cando en vez, como cando se senta a un novo ordenador. E a cabeza aquí, tamén, é que, se sentir nalgún café de estilo internet ou só un ordenador ordenador do amigo, mesmo se ese amigo maliciosamente ou inconscientemente ten algún keylogger instalado no seu ordenador, de tal forma que todo o que tipo está a ser rexistrado, polo menos que o segundo factor que código temporal, é efémera. El ou ela é quen é comprometido o ordenador non pode entrar en ti, posteriormente, aínda que o resto era vulnerable ou mesmo sen cifrado completamente. Facebook ten iso, tamén, que a URL aquí, onde pode facer clic en Iniciar Aprobacións. Entón, aquí, tamén, se non quero amigos para picar a xente, non quere ser cutucando en Facebook ou publicar actualizacións de estado para ti, autenticación de dous factores aquí pode ser unha cousa boa. E despois hai este outra técnica totalmente, só auditoría, que é aínda bo para nós seres humanos, se de dous factores proba irritante, que, É certo que pode, ou non é só dispoñible nalgún sitio, minimamente manter un ollo sobre se e cando está rexistrando en sitios si permiten que, é unha boa técnica tamén. Así, Facebook tamén lle dá este notificacións de inicio de sesión presentan, segundo o cal Facebook a calquera hora entende, hm, David ten logados nalgún ordenador ou teléfono que nunca vimos antes de un enderezo IP que parece raro, eles, polo menos, vou enviarlle unha correo electrónico para calquera enderezo de correo electrónico ten no arquivo, dicindo: fai este ollar desconfiado? Se é así, cambie o seu contrasinal inmediatamente. E así alí, tamén, só o comportamento da auditoría mesmo despois de ser comprometida, pode, polo menos estreitar a fiestra durante que está vulnerable. Todo ben, todas as preguntas en que o material ata agora? Hoxe é o día para todas súa paranoia confirmado ou negado. Isto é principalmente confirmou, por desgraza. Si? Audiencia: [inaudível] de teléfono, E se a súa quebra de teléfono, e entón é sempre difícil verify-- DAVID J. Malan: True. Audiencia: Ou se está nun diferentes país, e eles non permiten que entra no sistema porque [inaudível]. DAVID J. Malan: Absolutamente. E así que estes son o adicional custos que incorrer. Sempre hai este tema dun trade-off, despois de todo. E entón, se perder o teléfono, en caso de quebra, se está no exterior, ou simplemente non teñen unha sinal, como un sinal de 3G ou LTE, non pode realmente poder acceder. Entón, de novo, estes dous son os trade-offs. E, ás veces, pode crear un moito traballo para ti como resultado. Pero iso realmente depende, entón, en cal é o prezo esperado para ti é de algo ser comprometida por completo. Entón, SSL, entón, é esta técnica que todos xeralmente tomamos para concedida ou supoñer que hai malia que claramente non é o caso. E aínda pode enganar persoas, con todo, mesmo con este. Entón aquí está un exemplo dun banco. Este é o Bank of America. Hai unha morea deles en Harvard Square e alén. E teña en conta que, na parte superior de da pantalla, hai un, de feito, HTTPS. E é aínda verde e destacou a nós para indicar que este é de feito un sitio seguro, lexitimamente, ou entón fomos adestrados para crer. Agora, ademais, con todo, ter en conta que, se aumentar o zoom, hai esa cousa aquí, onde lle será solicitada a entrar. O que isto significa cadeado seguro alí, xunto do meu nome de usuario pedir? Isto é moi común en sitios, tamén. O que isto significa cadeado? Vostede parece que sabe. Audiencia: Iso non significa nada. DAVID J. Malan: É non quere dicir nada. Isto significa que o Bank of America sabe como para escribir HTML con etiquetas de imaxe, non? Realmente non significa nada, porque aínda que, utilizando-se o primeiro día do noso ollar HTML, pode codificar-se unha páxina con un fondo vermello e unha imaxe, como un GIF ou outros enfeites, que pasa para ollar como un cadeado. E, con todo, iso é super común en sitios, porque fomos adestrados para asumir que, oh, cadeado significa seguro, cando en realidade, só significa que sabe HTML. Por exemplo, de volta ao día, eu podería acabamos de poñer isto no meu sitio, alegando que é seguro, e pregunta, de forma eficaz, nomes de usuarios e contrasinais das persoas. Entón, mirando na dirección é polo menos unha pista mellor, porque que está embutido en Chrome ou calquera navegador que está a usar. Pero, aínda así, ás veces as cousas poden dar mal. E, de feito, ten non sempre pode vexa HTTPS, e moito menos en verde. Algún de vós xa ver unha pantalla como esta? Pode que, en realidade, A principios de outubro, cando eu esquezo de pagar pola nosa Certificado SSL, como se chama, e estabamos parecendo isto para unha ou dúas horas. Entón probablemente xa viu cousas así, cunha folga-through, como unha liña vermella, por medio de o protocolo na URL ou algún tipo de pantalla que é polo menos admoestando ti por tentar continuar. E Google aquí está invitando que volva para a seguridade. Agora, nese caso, iso só significa que certificado SSL que estabamos usando, os grandes números, matematicamente útiles que están asociados co servidor de CS50, xa non eran válidos. E, de feito, podemos simular iso, como pode no seu portátil. Se eu entrar en Chrome aquí, e imos a facebook.com, e parece que iso é seguro. Pero deixe-me ir adiante agora e faga clic sobre o cadeado aquí. E deixe-me ir para a conexión, Información do certificado. E, de feito, o que vai ve aquí é unha banda de detalles de nivel inferior sobre facebook.com que realmente é. Parece que pagaron diñeiro para unha empresa chamada quizais DigiCert alta Garantía de que prometeu para dicir ao resto do mundo que, se un navegador ve sempre un certificate-- pode pensar ela literalmente como un certificado que Parece aquela cousa brega na parte superior left-- entón facebook.com é que din son, porque todo este tempo, cando visita un sitio web, como cs50.harvard.edu ou facebook.com ou gmail.com que usan HTTPS URL, nos bastidores, hai este tipo de transacción pasando automaticamente para ti, cal facebook.com, neste caso, está enviando para o seu navegador o chamado certificado SSL, ou mellor, súa chave pública, e despois o seu navegador Está a utilizar a chave pública para enviar posteriormente cifrado tráfico de e para el. Pero hai toda esa xerarquía no mundo das empresas que pagar para que o faga entón testemuñar, nun sentido dixital, que é realmente facebook.com ou o servidor é realmente cs50.harvard.edu. E construído en navegadores, como Chrome e IE e Firefox, é unha lista de todos aqueles chamada autoridades de certificación que son autorizadas pola Microsoft e Google e Mozilla para confirmar ou negar que facebook.com é que di que é. Pero o problema é que esas cousas teñen prazo de caducidade. De feito, Facebook parece de que remata en outubro próximo, en 2015. Así, podemos realmente simular iso si ir no meu Mac para os meus Preferencias do Sistema, e eu entro en data e hora, e Eu entro en Data e hora aquí, e eu desbloquear este aqui-- sorte, non revelar o contrasinal esta tempo-- e agora eu baixar de desmarcar esta. E imos actually-- oops, iso é non tan interesante como facelo. Estamos literalmente no futuro agora, o que significa que este é o que 2020 é semellante. Se eu agora recargar o página-- imos facelo en Ingognito mode-- se eu actualizar a páxina, alá imos. Entón, agora, meu ordenador pensa que é de 2020, pero o meu navegador sabe que ese certificado desde Facebook remata, por suposto, en 2015. Entón, está me dando esta mensaxe vermella. Agora, por sorte, os navegadores como Chrome ten, de feito, fixo moi difícil proceder, con todo. Realmente queren que eu para volver para a seguridade. Se eu premer aquí en Advance, que é vai me dicir máis algúns detalles. E se eu realmente quero proceder, van deixar me ir facebook.com, que é, de novo, inseguro, en que punto Vou ver a páxina de inicio de Facebook, como este. Pero, entón, outras cousas parecen ser de rotura. Que probablemente está dobres neste momento? Audiencia: JavaScript. DAVID J. Malan: Como o JavaScripts e / ou CSS ficheiros son similarmente atopou con este erro. Polo tanto, esta é só unha situación malo en xeral. Pero o punto aquí é que, polo menos, Facebook realmente ten SSL habilitado para os seus servidores, como moitos sitios, facer, pero non necesariamente todos. Pero non é só o takeaway aquí. Acontece que, mesmo SSL Foi demostrado inseguro de algunha maneira. Entón, eu son unha especie de insinuando que SSL, bo. Buscar HTTPS URL, ea vida é bo, porque todo o tráfico HTTP e cabeceiras e contido e criptografía. Ninguén pode interceptar o medio, con excepción de un así chamado home No medio. Esta é unha técnica xeral no mundo da seguridade coñecida como un ataque man-in-the-middle. Supoña que vostede é esta pequena portátil aquí no lado esquerdo, e supoña que estás visitar un servidor alí na dereita, como facebook.com. Pero supoñamos que, en entre vostede e Facebook, é unha morea de outros servidores e equipos, como switches e routers, Servidores DNS, servidores DHCP ningún dos cales podemos controlar. Pode ser controlada pola Starbucks Harvard ou Comcast ou semellantes. Ben, supoñamos que alguén maliciosamente, na súa rede, entre vostede e Facebook, é capaz de dicirlle que, xa sabe, a dirección IP do Facebook non é o que pensa que é. É este IP no seu lugar. E así o seu navegador é enganado e solicitando tráfico doutro ordenador completo. Ben, supoñamos que ordenador simplemente mira para todos do tráfico que está pedindo Facebook e todas as páxinas web que está pedindo de Facebook. E cada vez que ve no seu tráfico un URL que comeza con HTTPS, dinámica, en voar, reescribir-lo como HTTP. E cada vez que ves un lugar cabeceira, localización colonos, como usamos para redireccionar o usuario, aqueles, tamén, se pode cambiar por este home en medio HTTPS para HTTP. Polo tanto, aínda que mesmo pode creo que está no certo Facebook, iso non é tan difícil para un adversario con acceso físico á súa rede simplemente volver páxinas para ti que parecido ao Gmail, que parecido ao Facebook, e de feito a URL é idénticas, porque son finxindo ter o mesmo nome de servidor por mor dalgunha explotación de DNS ou algún outro sistema parecido. E o resultado, entón, é que nós, humanos, só pode entender que, OK, iso parece Gmail ou, polo menos, a versión máis antiga, como é este foto de unha presentación máis vellos. Pero parece que isto-- http://www.google.com. Entón, aquí, tamén, a realidade é que como moitos de vós, cando vai para o Facebook ou Gmail ou calquera web e sabe un pouco de todo sobre SSL, como moitos de vostedes fisicamente escribir https: // e, a continuación, o sitio nomear, Intro. A maioría de nós simplemente escriba, como, CS50, prema Intro, ou F-A para Facebook e prema Intro, e deixalo auto-complete. Pero, nos bastidores, se Asistir o tráfico HTTP, probablemente hai un grupo enteiro estes cabezallos de localización que está enviando-o de Facebook para www.facebook.com para https://www.facebook.com. Entón, iso é unha ou máis transaccións HTTP onde a súa información é totalmente enviado en claro, non cifrado algunha. Agora, isto pode non ser tan grande tratar se todo o que estás a facer é acceder á páxina de inicio, non está enviando o seu nome de usuario e contrasinal. Pero o que é baixo o capó, especialmente a sitios baseados en PHP que tamén é sendo enviado a atrás e cando visitar algunha páxina web se que o uso do sitio web, por exemplo, PHP e aplica a función como pset7? O que estaba a ser enviado de volta e cara atrás nos seus cabeceiras HTTP que deu acceso a este ben Super útil global en PHP? Audiencia: cookies. DAVID J. Malan: cookies, especialmente PHP sesi ID do cookie. Entón lembro, se somos a, digamos, cs50.harvard.edu novo, pero esta vez, imos abrir o Guía Rede, e agora, aquí enriba, imos literalmente só tes que ir para http://cs50.harvard.edu e, a continuación, prema Intro. E, a continuación, ollar para a pantalla para abaixo aquí. Teña en conta que en realidade ten de volta a 301 movido permanentemente da mensaxe, o que significa que hai unha cabeceira de localización aquí, que agora está me redirixido para HTTPS. Pero o problema é que, se eu xa tiña unha cookie gravado na miña man practicamente, como xa discutir antes, e Eu, o tipo humano saber basta visitar o inseguro versión, e meu navegador leva-lo sobre si mesmo para demostrar que selo de man para o primeiro pedido, que é vía HTTP, calquera home no medio, calquera adversario no medio, teoricamente pode só ver estes cabezallos HTTP, só como se estivésemos mirando para eles aquí. É só cando está falando cun HTTPS URL que iso en si selo man obter criptografía, a la César ou Vigenère, pero cun algoritmo máis sofisticado completamente. Entón, aquí, tamén, aínda que sitios usan HTTPS, nós, seres humanos foron condicionados, grazas ás técnicas de auto-completar e outros, para sequera pensar en as potenciais implicacións. Agora, hai formas de evitar isto. Por exemplo, moitos sitios se pode configurar de xeito que, xa que ten ese lado selo, pode dicir ao navegador, este selo de man é só para conexións SSL. O navegador non presentará iso para min a menos que sexa mediante SSL. Pero moitos sitios non se preocupe con iso. E moitos sitios aparentemente nin sequera preocuparse SSL en todo. Entón, para saber máis sobre iso, non hai, en realidade, aínda máis lixo nesta presentación que un compañeiro deu a un chamado negro conferencia sombreiro un par de anos, onde hai aínda outro trucos maliciosos persoas teñen usado. Pode lembrar esta noción dun favicon, que é como un pequeno logotipo que é moitas veces na ventá do navegador. Ben, o que foi común entre os bandidos é para facer iconas fab que se parecen con que? Audiencia: [inaudível]. DAVID J. Malan: Diga de novo? Audiencia: Os sitios. DAVID J. Malan: Non é un sitio web. Entón, favicon, minúsculo pequeno icona. O que sería o máis malicioso, cousa manipuladora pode facer o seu sitio web de icona estándar parecido? Audiencia: Un bloqueo verde. DAVID J. Malan: ¿Que é iso? Audiencia: Un pouco de bloqueo verde. DAVID J. Malan: Como un bloqueo verde, exactamente. Entón pode ter esa estética dun pequeno cadeado verde, insinuando ao mundo, oh, somos asegurar, cando, unha vez máis, todo o que significa é que sabe un pouco de HTML. Así, o secuestro de sesión refírese a exactamente isto. Se tes alguén que é unha especie de rastrexando as ondas neste cuarto aquí ou ten acceso físico a un rede e podes ver os seus cookies, el ou ela pode incorporarse que PHP sesi ID do cookie. E entón, se son experimentado o suficiente para saber como enviar este cookie como a súa propia selo man só copiando este valor e enviar as cabeceiras HTTP, alguén podería facilmente entrar en calquera do Facebook contas ou contas de Gmail ou contas de Twitter que están aquí, abertos na sala, se non está a usar SSL e se o sitio é non usar SSL correctamente. Así, a transición cara a outro imos. Así, outra historia verdadeira. E iso só rompe o noticias unha ou dúas semanas. Verizon está a facer unha cousa moi mal, e canto mellores a xente pode dicir, sempre que polo menos 2012, segundo a cal, cando acceder sitios a través dun Verizon teléfono móbil, calquera que sexa o fabricante é, eles foron soberbiamente, como a historia vai, inxectado toda a súa HTTP tráfico seu propio cabeceira HTTP. E ese mira cabeceira como isto-- X-UIDH. UID é como un único identificador ou ID do usuario. E X significa só que este é un costume cabeceira que non é estándar. Pero o que iso significa é que, se eu puxar arriba, por exemplo, calquera sitio no meu teléfono aquí- e eu estou usando Verizon como meu carrier-- aínda que o meu ordenador non pode estar enviando este HTTP cabeceira, Verizon, o máis axiña como o sinal chega á súa móbil torre nalgún lugar, foi por algún tempo a inxectar este cabeceira en todo o noso tráfico HTTP. Por que fan isto? Presuntamente, por razóns de seguimento, por razóns publicitarias. Pero a decisión de deseño imbécil aquí é que unha cabeceira HTTP, como vostedes saben de pset6, é recibido por calquera servidor web que está solicitando o tráfico de. Entón todo este tempo, se foi visitar Facebook ou Gmail ou en calquera sitio que non usa SSL todo o tempo-- e, de feito, aqueles dous felices agora fazer-- pero outros sitios que non empregue SSL todo o tempo, Verizon ten esencialmente plantado, forzosamente, un selo de man en toda a nosa mans que aínda non vemos, pero si, os sitios finais facer. E por iso non foi que difícil para calquera persoa en Internet executando un servidor web para entender, ooh, este é David, ou, ooh, este é Davin, mesmo se estamos rigoroso sobre como limpar os nosos cookies, por que non vén de nós. Está vindo transportadora. Eles fan unha investigación sobre o número de teléfono e despois dicir, oh, este é David. Déixeme inxectar un identificador único para que os nosos anunciantes ou quen poida manter o control deste. Entón, iso é realmente moi, moi, moi malo e horripilante. E gustaríame encouraged-lo a un ollo, por exemplo, neste URL, o que eu debería asumen En realidade, eu tente iso esta mañá. Eu escribín un pequeno script, poñelas neste URL, visitou lo coa miña propia Verizon cellphone tras conectar WiFi apagado. Entón tes que conectar o WiFi desactivado para que vostede está a usar 3G ou LTE ou similares. E entón, se visitar este URL, todo este script fai para vós, se desexa xogar, é el cospe o que as cabeceiras HTTP o teléfono está enviando para o noso servidor. E eu, de feito, na xustiza, fixo non ver iso, esta mañá, que me fai pensar é local Torre de móbil que estaba ligado ao ou outros enfeites non está facendo iso, ou que teñen recuou de facelo temporalmente. Pero, para obter máis información, a cabeza para este URL aquí. E agora a isto-- este cómico pode ter sentido. Non? Está ben. Todo correcto. Que morreu. Todo correcto. Entón imos dar un ollo a algúns dos máis ataques, aínda que só para aumentar a concienciación sobre e, entón, ofrecer unha parella posibles solucións de xeito que é todo o máis atento. Este falamos o outro día, pero non deu un nome a el. É unha falsificación de solicitude entre sitios, o que é un xeito elegante de dicir excesivamente ti enganar un usuario a facer clic en unha URL como esta, que os trucos nalgún comportamento que que non tiña intención. Neste caso, esta parece estar tentando me enganar en vender miñas accións de Google. E iso terá éxito se Eu, o programador de pset7, non ter feito o que? Ou mellor, de forma máis xeral, o que casos son vulnerable a un ataque se alguén trucos outro usuario a premer nunha URL como esta? Si? Audiencia: Non distinguen entre get e POST. DAVID J. Malan: Good. Se non distinguir entre get e POST, e, de feito, se permitimos Get a vender cousas, estamos invitando este tipo de ataque. Pero aínda pode mitigá-la un pouco. E eu comentei, creo, a semana pasada que a Amazon polo menos intenta paliar ese cunha técnica iso é moi sinxelo. O que sería unha cousa intelixente facer estar no seu servidor, no canto de só vender cegamente calquera que sexa símbolo o usuario escribe en? Audiencia: Confirmación das sortes? DAVID J. Malan: Unha pantalla de confirmación, algo que implica a interacción humana de xeito que eu son obrigado a facer o xuízo, aínda que eu inxenuamente premeu unha ligazón que parece con isto e me levou para a pantalla do móbil, o menos me pediu para confirmar ou negar. Pero non un ataque inusual, especialmente nos chamados phishing ou spam-like ataques. Agora, este é un pouco máis sutil. Este é un cross-site scripting ataque. E isto ocorre se o sitio non está a usar o equivalente a htmlspecialchars. E el está tomando a entrada do usuario e só cegamente inxecta-lo nunha páxina web, como con impresión ou eco, com-- novamente-- fóra chamar algo como htmlspecialchars. Entón, supoña que o sitio en cuestión é vulnerable.com. E supoña que acepta un parámetro chamado q. Olle para o que pode ocorrer se realmente, un cara mal, escribir ou enganar un usuario en visitar unha URL que se parece isso- q = tag script aberto, pechado etiqueta script. E de novo, eu estou supondo que non é vulnerable.com vai virar perigoso personaxes como soportes abertos en entidades HTML, o E comercial, L-T, cousa comas que pode ter visto antes. Pero o que é a escritura ou código JavaScript Estou tentando enganar un usuario en execución? Ben, document.location refire ao enderezo actual do meu navegador. Entón, se eu fago document.location =, iso me permite redireccionar ao usuario en JavaScript para outro sitio. É como a nosa función PHP redireccionar, pero feito en JavaScript. Onde estou tentando enviar o usuario? Ben, aparentemente, badguy.com/log.php, que é algún guión, ao parecer, o bandido escribiu, que leva un parámetro chamado biscoito. E teña en conta, o que eu parecen ser concatenando ao final dese sinal de igualdade? Ben, algo que di document.cookie. Non falamos sobre iso. Pero acontece que, en JavaScript, así como no PHP, Podes acceder todos os boliñas que o seu navegador está realmente a usar. Polo tanto, o efecto dun presente liña de código, se un usuario é levado a facer clic nesta ligazón eo sitio vulnerable.com non escapar con htmlspecialchars, é que ten só de forma eficaz cargado para log.php todos os cookies. E iso non é sempre que problemática, salvo se un deses boliñas é a súa ID de sesión, o seu o chamado selo de man, que significa badguy.com pode facer o seu propio Solicitudes HTTP, enviando a mesma man selo, que mesmo cabeceira de cookie, e rexistrar en calquera sitio estabas a visitar, o que, neste caso, é vulnerable.com. É un cross-site scripting ataque, no sentido que está tipo de enganar un lugar para contar outro sitio sobre unha información non debe, de feito, teñen acceso. Todo ben, preparado para unha outro detalle preocupante? Todo ben, o mundo é un lugar asustado, lexitimamente así. Aquí está unha simple Exemplo JavaScript que é no código fonte de hoxe chamado xeolocalización 0 e 1. E hai unha parella walkthroughs en liña para iso. E iso fai o seguinte, se eu abrir esta páxina web en Chrome. En primeiro lugar, el non fai nada. OK, imos tentar iso de novo. Oh. Non, debe facer algo. OK, stand by. Imos tentar que unha vez máis. [Inaudível] Ah, vale, non sei por que as-- oh, o aparello probablemente perdeu internet acceso por algún motivo. Todo ben, entón pasa comigo tamén. Todo ben, entón aviso o que está pasando aquí. Esta enigmática aparencia URL, que é só unha das servidor CS50, quere usar o ordenador de localización, como físicamente el significa. E se, en realidade, clic en Permitir, imos ver o que acontece. Ao parecer, esta é a miña latitude actual e lonxitudinal coordina baixo a un moi bo danado resolución. Así como eu chegar a esa? Como é que esta web, como servidor CS50, saber fisicamente onde no mundo Estou, e moito menos con esa precisión. Ben, acontece out-- imos só mirar para source-- da páxina iso aquí é unha morea de HTML en o fondo que ten o primeiro isto-- onload corpo = "xeograficamente" - só unha función que escribín. E eu digo, na carga a páxina, chamar xeograficamente. E non hai nada no corpo, porque na cabeza da páxina, entender o que eu teño aquí. Aquí está a miña función xeograficamente. E este é só algún erro checking-- se o tipo de navigator.geolocation non é indefinido. Entón JavaScript ten este mecanismo onde pódese dicir, cal é o tipo desta variable? E se non é undefined-- isto significa que é algún value-- Vou chamar navigator.geolocation.getCurrentPosition e despois retorno. ¿Que é iso? Así, en xeral, o que é un retorno, só para quedar claro? Pode encontrar este xa en pset8. Callback é un xenérico prazo para facer o que? Sinto como se só eu hoxe. Audiencia: [inaudível]. DAVID J. Malan: Exactamente, unha función que debe ser chamado só cando temos datos. Esta chamada ao navegador, buscar o meu actual posición, pode levar unha milésima de segundo, isto pode levar un minuto. O que isto significa é que estamos dicindo o método get getCurrentPosition, chamar esta función de retorno de chamada, que eu literalmente chamado callback para sinxeleza, o que ao parecer, é este aquí. E o xeito getCurrentPosition funciona, simplemente lendo a documentación para algún código JavaScript en liña, é que el chama de que a chamada de retorno de chamada función, pasa-lo en que un obxecto JavaScript, no interior dos cales é .coords.latitude e .coords.longitude, que é exactamente como, entón, cando actualizar esta páxina, Eu era capaz de ver a miña localización aquí. Agora, polo menos, había unha defensa aquí. Antes de que eu visitei esta páxina, cando realmente funciona, o que eu estaba polo menos solicitada? Audiencia: [inaudível]. DAVID J. Malan: Si ou Não-- facer quere permitir ou negar iso? Pero creo que, tamén, sobre os hábitos Vostedes probablemente teñen adoptado, tanto nos seus teléfonos e os seus navegadores. Moitos de nós, eu incluídos, son probablemente moi predispostos estes dias-- ti ver un emerxente, só Intro, OK, aprobar, Permitir. E cada vez máis, pode pór se en perigo por estas razóns. Entón, en realidade, non había esa marabillosa erro algúns anos ago-- ou falta de feature-- iTunes que tiña uns anos, polo que, se tivese un teléfono móbil e foi un iPhone, e deixou a súa casa e, polo tanto, viaxou ao redor do mundo ou do barrio, todo este tempo, o teléfono estaba rexistrando onde está a través do GPS. E, de feito, esta é divulgada, ea xente esperan que este tipo de empresa. O teléfono sabe onde está. Pero o problema era que, cando estaba facendo unha copia de seguridade o teléfono para iTunes-- este era antes os días de iCloud, o que é mellor para o ou para worse-- os datos foron almacenados sendo en iTunes, completamente sen cifrado. Polo tanto, se ten unha familia ou compañeiros de cuarto ou un veciño mal intencionado que é curioso literalmente todo GPS coordinar xa foi para, el ou ela podería só sentir-se en iTunes, executa algún programa que foi libremente dispoñibles, e producir mapas como este. En realidade, iso é o que eu producido do meu propio teléfono. Eu chamei. E parece que, con base sobre os puntos azuis alí, que é onde a maioría dos as coordenadas GPS rexistrado polo iTunes que eu foi no Nordeste alí. Pero, ao parecer, viaxou ao redor algo, mesmo dentro de Massachusetts. Entón, iso é o Porto de Boston alí na dereita. Este é un tipo de Cambridge e Boston, onde é máis escuro. E de cando en vez, eu correría cometido a unha xeografía maior. Pero iTunes, durante anos, tivo, como mellor Podería dicir, todos estes datos en min. Podería dicir que, Aquel ano, eu estaba realmente viaxando moito entre Boston e Nova York, indo e volvendo e cara atrás e cara adiante. E, de feito, este é me en Amtrak, de volta e para adiante, para atrás e para adiante, un pouco. Todo iso foi rexistrado e almacenados criptografía no meu ordenador para calquera que pode ter acceso ó meu ordenador. Esta foi preocupante. Non sabía por que eu estaba en Pensilvania, ou porque meu teléfono estaba en Pensilvania, aparentemente moi densa. E entón, finalmente, eu olhei na miña Gcal, e, oh, I visitou CMU, Carnegie Mellon, no momento. E Ufa, que especie de explicou que blip. E entón, se aumentar o zoom a máis, pode vexa visitei San Francisco unha ou máis veces, a continuación, e eu aínda tiña unha escala en que Creo que é Veigas, alí en baixo. Entón, todo isso- só un escala, no aeroporto. Audiencia: [Risas] Entón, iso é só para dicir que estes problemas, honestamente, son omnipresentes. E iso só se sente cada vez máis como hai máis e máis deste que está a ser difundido, o que probablemente é unha cousa boa. Eu atrévome a dicir, o mundo non é empeorando no software de gravación. Estamos ficando cada vez mellor, esperanza, en entender quão ruim determinado software é que estamos a usar. E, por sorte, algúns empresas empezan de ser responsable por iso. Pero que tipo de defensas pode ter presente? Polo tanto, ademais de xerentes de contrasinal, como 1Password e LastPass e outros, ademais de só cambiar as súas claves e chegando cos aleatorios empregando o software como diso, tamén pode probar o mellor que poida para cifrar todo o tráfico para, polo menos, limitar a zona de unha ameaza. Así, por exemplo, como afiliados de Harvard, todo o que pode ir vpn.harvard.edu e faga login co seu ID e PIN Harvard. E iso vai establecer un seguro conexión entre vostede e Harvard. Agora, iso non fai necesariamente protexe-lo contra calquera ameazas que están entre Harvard e en Facebook ou Harvard e Gmail. Pero se está sentado nun aeroporto ou se está sentado no Starbucks ou está sentando-se na casa dun amigo, e realmente non confiar neles ou o seu configuración do seu router doméstico, polo menos pode establecer unha conexión segura a unha entidade como este lugar que é probablemente un pouco mellor asegurada que algo así como un Starbucks ou semellantes. E o que iso fai é establece, unha vez máis, cifrado entre vostede e punto final. Aínda apreciador son cousas como esta. Entón, algúns de vós xa pode estar familiarizado con Tor, que é este tipo de anonimização rede, no que moitas persoas, se executar este programa, ruta posteriormente a súa Internet tráfico a través dun ao outro. Así, o punto máis curto é non máis entre A e B. Pero pode ser todo o poñer de xeito que está esencialmente cubrindo unha de pistas e deixando menos dun rexistro acerca de onde a HTTP tráfico veu, porque vai a través de unha chea de outras persoas portátiles ou escritorios, para mellor ou para peor. Pero aínda que non é unha cousa infalible. Algúns de vostedes poden lembrar do ano pasado o susto que foi chamado no ollo. E foi Rastrexar finalmente a unha usuario que usara esta rede aquí. E a captura alí, se ben me lembra, é, se non hai que moitas outras persoas usando un software como este ou usando esta porta e protocolo, iso non é tan difícil para unha rede de mesmo descubrir quen, con certa probabilidade, era, en realidade anonimato o seu tráfico. E eu non sei se aqueles eran o datos reais en cuestión. Pero, certamente, entende que ningún dos estas son solucións infalíbeis, así. E o obxectivo aquí hoxe é para menos pensar sobre estas cousas e chegando con técnicas de defenderse contra eles. Calquera dúbida sobre todas as ameazas que esperan por vós aí fóra, e aquí? Si? Audiencia: Como facer seguro Esperamos que a media [? sitio para ser ,?] como o proxecto media CS50? DAVID J. Malan: O media proxecto CS50? É sempre demostrou que todos os anos algúns proxectos finais CS50 non son particularmente seguro. Xeralmente, é un compañeiro de cuarto é hallmate que as cifras esta fóra enviando peticións ao seu proxecto. Answer-- Curto cantas sitios son seguros? Estou mexendo con anomalías de hoxe. Como se fose só azar que eu entender que esta web Fun solicitar estes francamente deliciosos arranxos de-- e eu non estou seguro que vou deixar de usar o seu sitio; Eu só podería cambiar a miña contrasinal máis regularly-- non está claro o no; vulnerables todos estes various-- este é realmente cuberto de chocolate. A resposta curta, eu non podo responder a esta de forma eficaz, ademais de dicir que Non foi tan difícil para min atopar algúns destes exemplos só en prol da discusión en clase. E só manter un ollo en Google News e outros recursos traerá aínda máis de este tipo de cousas á luz. Todo ben, imos concluír con este precuela que o equipo de CS50 preparou para ti en anticipación do CS50 hackathon. E no seu camiño cara a fóra nunha momento, a froita será servido. [REPRODUCIÓN DE VIDEO] [MUSIC Fergie, Q Tip, E GoonRock, "A Festinha nunca matou NINGUÉN (ALL WE got) "] - [Ronco] [FIN REPRODUCIÓN DE VIDEO] DAVID J. Malan: Isto é todo para CS50. Imos velo o mércores. [MÚSICA - Skrillex, "Imma" probalo "]