DAVID J. Malan: Това е CS50, и това е началото на 10 седмица. Може би си спомняте, че ние показахме на 3D принтер, екранът, който е това устройство, което се ролки от пластмаса и след това го изтечения чрез загряване и тя се топи, така че тогава ще можем да образуват армията на Чан слонове, например. Така че в Leverett House, все пак, наскоро, аз разговарял с един от вашите съученици и приятел на Чан на име Мишел, който всъщност интерниран в тази друга компания през изминалата година, че има различна техника за действително създаване на триизмерни обекти, като този мъничък слон тук. По-специално, начина, по който работи е, че това е един пример за нещо, нарича стереолитография, при което там е този басейн на смола или течност, и след това лазерен впечатление, че течност, и постепенно, устройството лифтове и влекове и лифтове нещо че сте се печата, като слон, като тази течност става твърд. И резултатът, всъщност, е нещо, което е много по-силен, отколкото някои от пластмасата дребни някои от вас може да са имали. И какво Chang любезно е направил за нас тук е Направих времето изтича, използвайки снимки в течение на един час или повече, Вероятно, за да произведе този човек тук. Дали някой, който никога не е дошъл преди искал да се удари Старт на това видео? Позволете ми да отида с, какво ще кажеш за там. Хайде нагоре. Добре. А вие сте? LUKE: Моето име Лука [недоловим]. DAVID J. Malan: Здравейте, Лука. Приятно ми е да се запознаем. LUKE: Приятно ми е да се запознаем. АУДИТОРИЯ: Той работи за UC. DAVID J. Malan: Знам, ние се опитваме да не се насърчава. Добре, така че Лука, всички което трябва да направите тук, в CS50 се удари в гредата пространство да отпечатате този слон. [Възпроизвеждане на видео] - [MACHINE Свистящи] - [CRASH] - [BOOM] - [CRASH] [END възпроизвеждане на видео] DAVID J. Malan: Така че това е точно какво е искал да 3D печат. И тук е вашият слон. Благодаря за доброволчеството. Добре. Така че, отново, според спецификацията за окончателният проект, този хардуер, който е достъпна за вас, момчета е, че по някаква причина, Вашият проект има някои пресичане на софтуер и хардуер, осъзнават, че това са ресурси. Исках да взема един момент да се докоснат по статия Crimson, които се появиха късно снощи, който е трябвало да обявим, че този човек тук, Дейвид Джонсън, който е бил старши учител за Ec 10 от доста време, напуска Харвард в края на учебната година. А аз просто исках да отделете малко време, честно казано, да благодаря на Дейвид пред CS50. Той е бил наставник на видове към нас през годините. И аз се чувствам като ние, CS50, имат скоро израснали с ЕК 10 тук, тъй като те са точно пред нас. И той и целия екип в Ec 10 има било чудесно милостив, честно казано, тъй като ние се влача в цялото ни оборудване всяка седмица, а преди години, предоставя много на съвета, както бяхме любопитен как те работят Ec 10. Така че нашите благодарности и възхищение към Дейвид Джонсън. [Аплодисменти] Сега unrelatedly, така краят е наистина близо. Ние сме тук, в 10 седмица. И ние имаме само просто Няколко официални седмици тук в клас наляво, последвано от няколко събития. Така че да ви даде усещане за това, което е на хоризонта, ние сме тук днес. Тази сряда, изземване, ще имаме лекция гост от никой друг освен Microsoft собствената Стив Балмър. Ако все още не сте преминали към cs50.harvard.edu/register, направи това, тъй като пространството ще бъде ограничено. И те ще бъдат проверка Идентификатори на вратата този ден. Ако не сте били тук миналата седмица, аз мислех, че ще ви дразни с различен поглед Стив и вълнение, че ни очаква в сряда. [Възпроизвеждане на видео] -Passion. -We're Ще бъде hardcore-- хардкор. -Innovator. -Bill Каза, че не го получи. Отиваме да се постави компютър на всяко бюро и във всеки дом, който стана мотото на компанията. Кълна се, Бил го е измислил тази нощ наистина да ми даде някои от визията на Ето защо аз трябва да кажа, да. Никога не съм погледна назад, Наистина, след това. -Fresh От колежа, той се присъединява към младата стартиране и му помогна да се превърне в един от Америка най-успешните бизнеси всякога. Животът и бизнеса научени уроци по протежение на пътя нека отново да си детството страст и любов. И тези преживявания са подготвили него за следващия си предизвикателство в живота. -Нищо Получава в нашата way-- бум! Дръжте идва хардкор! Отиди Клипърс! -Това Е Стив Балмър, "В моите собствени думи." [END възпроизвеждане на видео] DAVID J. Malan: --this Сряда, за да CS50. Глава отново към този URL тук. Що се отнася до това, което иначе е на хоризонта, следващата седмица, не лекция в понеделник. Но ние ще се след от викторина един в сряда. Отидете на начална страница CS50 за подробности на хора, места и времена за всички на различни proctoring логистика и други подобни, както и за преглед сесии, които предстоят. И тогава, накрая, в понеделник, деня преди седмица на благодарността почивка, осъзнаваш, че ще бъде окончателно нашата лекция. Ние ще служат торта и голям част от вълнение, ние се надяваме. Сега, няколко други актуализации. Имайте предвид, че статутът доклад, който в действителност е просто трябвало да бъде случаен взаимодействие с TF да гордо посочва само колко далеч заедно с вашата окончателния проект и да сте, или най-малкото като здрав разум се уверите, че трябва се приближава, че точка скоро след това. След това Hackathon следва, че. Осъзнайте Hackathon не е възможност да започнат своя окончателен проект, но е трябвало да бъде възможност да бъде в средата или към В края на своя окончателен проект, с изпълнението поради няколко дни по-късно, последвано от панаира CS50. Сега, производство CS50 е екип, преди няколко години, взети заедно закачка за панаира CS50, че ние смятахме, че ще ви покажа днес, защото съм бил усилено по време на работа за предистория за това ново видео че ще сключи днес. Но ето какво ви очаква за тази година CS50 честно. [Възпроизвеждане на видео] - [Мобилен телефон звъни] [MUSIC "ТЕМА ОТ Мисия: Невъзможна"] [END възпроизвеждане на видео] DAVID J. Malan: Така че това е точно как ние затваряме окончателни становища по проекта. Няколко сега teasers-- ако искате да се присъедините към Ник тук за обяд, както обикновено, това Петък, се отправят към този URL тук. Освен това, ако искате да се присъедини към Ник или този Nick или това Алисън или всяко членове на екипа CS50 е, осъзнават, че скоро след крайния срок е, CS50 вече ще се набира за следващата година екип, за КО, TFS, дизайнери, производители, изследователи, и други позиции че тук работят CS50 както в Пред и зад кулисите. Така че, ако това може да бъде от интерес за вас, се отправят към този URL тук. И студентите по-удобно, по-удобно, и някъде в между така всички са добре дошли и насърчават да прилагат. Така че това е добра графика, че не шега, тази сутрин, когато се събудих, Имах тук спам в моята пощенска кутия. То всъщност се подхлъзна чрез спам филтър в Gmail по някакъв начин и в крайна сметка в действителност моята пощенска кутия. И той казва: "Скъпи пощенска кутия потребител, вие сте в момента обновен до 4 гигабайта пространство. Моля, влезте в профила си за да се потвърдят E-пространство. " И тогава там е тази хубава синя привлекателен връзка там, за да кликнете върху за преподаватели и служители, които след това ме заведе да чудесно легитимна страница, която ме помоли да им даде името ми и-мейл адреса си и, разбира се, парола, за да потвърдите кой съм аз и така нататък. Но разбира се, както винаги е така, пристигнете в тази целева страница, и разбира се, има най-малко една правописна грешка, което изглежда да бъде пирон в ковчега на някой от тези измами. И ние ще публикуваме, може би, някой друг връзки към тези видове екранни снимки в бъдеще. Но се надяваме, че повечето хора в тази стая не са clicked-- или дори ако сте кликнали такива връзки, тъй като това, не сте отишли ​​толкова далеч, че да попълнете тези форми и така нататък. В действителност, това е ОК, ако имате. Ние ще се опитаме да поправим това днес, защото, Наистина, днес в разговор е за сигурност. И наистина, един от цели на CS50 не е толкова много да ви научи CE или PHP или JavaScript или SQL или който и да е от тях в основата детайли за изпълнение. Но това е за да ти даде като хората просто да се направи по-умни решения като това се отнася до технология надолу по път, така че, независимо дали сте инженер или хуманист или учен или друга роля, вие правите информирани решения за своя собствена употреба компютри, или ако сте в позиция за вземане на решения, в политиката, по-специално, вие правите много, много по-добри решения, отколкото Много хора днес са били. И ние ще направим това, като начин на няколко примера. Първо, бях доста изненадан Наскоро да откриете по-долу. Така пароли, разбира се, са това, което повечето от нас използвате, за да защитим нашата data-- електронна поща, чат, и всички видове ресурси, като това. И точно като не е awkward-- покаже на ръце, но смутени погледи на срам, колко от вас използват една и съща парола в много различни сайтове? О, добре, така че ние ще направим ръцете. ОК, така че много от вас правят. Всеки, който прави това, просто защо? И какво от това? Така ли? АУДИТОРИЯ: Това е лесно да се помни, защото не е нужно да се помни [недоловим]. DAVID J. Malan: Да, това е лесно да се запомни. Това е напълно разумно, рационално поведение, въпреки че рискът сте пускането си в в тези случаи е просто един или повече от тези сайтове е уязвим за хакерски или несигурни или парола е просто толкова дяволски guessable, всеки може да го разбера. Не само, че една сметка компрометирана, но на теория, всеки сметки имате в интернет. Така че аз знам, че може да се каже днес, не използвате една и съща парола навсякъде, но това е много по-лесно да се каже отколкото да се направи. Но има и техники за смекчаване на този конкретен проблем. Сега се случи, например, на използвате програма, наречена 1Password. Друга популярна една се нарича LastPass. И един куп използване персонал CS50 един или повече от тези видове инструменти. И дълга история кратко, една храна за вкъщи за днес трябва да бъде, да, може да се наложи една и съща парола навсякъде, но това е много лесно да не го направя. Например, тези дни, аз зная, може би един от моите десетки или стотици на пароли. Всички други мои пароли са псевдо-случайно генерирани от една от тези програми тук. И в орехова черупка, а дори и въпреки че повечето от тези програми са склонни да идват с малко разходи, ще инсталирате програма като тази, тогава ще съхранявате всички Вашите потребителски имена и пароли вътре в тази програма свой собствен Mac или PC, или какво ли не, и след това ще бъде криптирана на вашия компютър с какво се надяваме, особено дълга парола. Така че аз имам един куп пароли за отделните сайтове, и след това имам наистина дълга парола, която аз използвате, за да отключите всички тези други пароли. И това, което е хубаво за софтуер като това е че, когато посещавате уебсайт, който е питам за вашето потребителско име и парола, тези дни, аз не тип в потребителското си име и парола, защото, отново, аз дори не знам това, което повечето от моите пароли са. Аз вместо удари клавиатура пряк път, в резултат на което е да се задейства този софтуер, за да подкани ме за моята главна парола. След това напишете, че една голяма парола, а след това на браузъра автоматично попълва Каква е моята парола. Така че наистина, ако вземете нищо друго от днес по отношение на паролите, те са софтуер, който са на стойност сваляне или инвестиране в така че можете поне почивка че специално навик. И ако сте от типа, че е използване на Post-It отбелязва или like-- и шансовете са най-малко един от вас is-- този навик, също е достатъчно да се каже, трябва да бъде счупен. Сега, аз се случи да откриете, като резултат за използване на софтуера, следното. Бях се разпорежда, годни договореност, тази кошница с плодове, наскоро. И аз ударих специална клавиатура пряк път да влезете в сайта. И софтуера предизвика поп-нагоре, че каза, вие сте сигурни, Искате ли автоматично да представя това потребителско име и парола? Тъй като връзката е несигурна. Връзката не е използване HTTPS, за сигурна, използва този протокол, известен като SSL, Secure Sockets Layer. И наистина, ако се вгледате в горния ляв ъгъл на този сайт, това е просто www.ediblearrangements.com, не HTTPS, което не е толкова добро. Сега, аз бях curious-- може би това е просто бъг в софтуера. Разбира се, някои сайт като това, че много от нас знаят от е най-малко използване на криптиране или HTTPS URL адреси, за да влезете вътре. Така че аз имам малко любопитен тази сутрин. И аз излязох ми CS50 умения, Отворих Chrome инспектор. Тя дори не е много на умение. Това е просто да натиснете десния клавиатурата бърз достъп, за да отворите всичко. И тук е голям прозорец инспектор на Chrome. Но какво е всъщност малко трагично и смешно бяха тези две линии тук. Up в горната част, забележете адреса на които ми потребителско име и парола бяха представени. Нека Увеличаване. Именно това тук. И всичко това е нещо безинтересно, с изключение на нещо по пътя на отляво, който започва с HTTP: //. И така, след това ОК, може би те просто изпращане потребителското си име, което е не толкова голям проблем. Може би си паролата се предават по-късно. Това би било нещо като Интересно дизайнерско решение. Но Не. Ако след това погледнете по искане полезен товар, потребителското име и паролата I sent-- и аз се подиграваха те се за slide-- действително са били изпратени в ясен. Така че отидете на този уеб сайт и поръчате Годни договореност по този начин, и наистина, очевидно, за всичко това време съм бил поръчване от тях, Вашето потребителско име и парола се случва в цяла в ясен. Така че, честно казано, това е напълно неприемливо. И това е толкова лесно да се избегне неща по този начин, тъй като дизайнер на уеб сайт и като програмист на сайта. Но Takeaway тук ни като потребители на интернет страници е просто да се разбере, че всички Достатъчно е за един глупав дизайн решение, неоправдана дизайнерско решение, така че сега, ако знаете паролата ми е "Пурпурно" на този сайт, вероятно сте просто имам в цял куп други уеб сайтове, които сега имат. И там не е много на защита срещу това различно от това, което Chang направих тази сутрин. Той отиде до годни за консумация Договорености, които се намира надолу по улицата в Кеймбридж, и физически купих това за нас. Това е много по-сигурен от използване на уеб сайта в този случай. Но подробностите за да държи под око за е всъщност това, което е в горната част на браузъра до там. Но дори и това може да е малко измамно. Така че още един интересен пример и начин на защита срещу this-- и всъщност, нека се, че first-- начина на защита срещу това е техника че охраната ще наричаме двуфакторна автентикация. Някой знае ли какво е решението до проблеми, като това означава? Какво е двуфакторна автентикация? Или казано по друг начин, как много от вас са го използвате? ОК, така че няколко срамежливи хора. Но да. Видях ръката си отиде. Какво е двуфакторна автентикация? АУДИТОРИЯ: По принцип, в допълнение да въвеждате паролата си, вие също имат средно [недоловим] изпратени чрез текстово съобщение на телефона си в [недоловим]. DAVID J. Malan: Точно така. В допълнение към някои първична форма на удостоверяване, като парола, бъдете помолени за вторичен фактор, който обикновено е нещо, което трябва физически за вас, макар че може да бъде нещо съвсем друго. И това нещо, което е типично мобилен телефон в наши дни, за които можете да получите изпрати временно текстово съобщение, което казва, "Вашата временен пропуск код е 12345." Така че в допълнение към моя парола "червено", аз също Трябва да напишете каквото и уебсайта ми texted. Или, ако имате това с банка или инвестиционна сметка, понякога имат тези малки донгъли, че всъщност има псевдо-случайна брой генератор, вграден в тях, но както устройството и банката знам какво си първоначална семена така че те да знаят, дори и като малко код на вашето малко ключодържател марширува напред всяка минута или две, променящи се стойности, така прави тази промяна стойност на сървъра на банката така че те да могат по подобен начин автентичността вас, а не само с парола, но с този временен код. Сега, всъщност можете да направите това в Google. И честно казано, това е добър навик да отида в, особено ако сте с помощта Gmail през цялото време на браузър. Ако отидете на този адрес тук, което е в слайдовете онлайн за днес, а след това кликнете върху 2-Step проверка, същото действително нещо там. Вие ще бъдете подканени да даде ги мобилния си телефонен номер. И след това, всеки път, когато влизате в Gmail, ще бъде не само попитах за вашата парола, но също така и за малко код, който бива изпратен на вашия телефон временно. И така, докато сте активирали бисквитки и толкова дълго, колкото не е изрично излезете, ще имате само да направя, че от време на време, като, когато седнеш на нов компютър. И нагоре и тук, е, че ако седнете в някои интернет кафе стил компютър или просто компютър приятел, дори ако този приятел злонамерено или неволно има някои клавиатура дървар инсталирано на неговия или нейния компютър, като че ли всичко тип се логнат, най-малко, че вторият фактор, който временен код, е мимолетно. Така че той или тя или който и да е компрометирана компютъра Не мога да вляза в теб впоследствие, дори ако всичко останало е уязвим или дори некриптиран напълно. Facebook има това също с този URL тук, където можете да кликнете върху Вход одобрения. Така че тук, също, ако не искам приятели, за да мушкам хора, вие не искате да се изпълзяват на Facebook или публикуване на статуси за теб, двуфакторна автентикация Тук вероятно е нещо добро. И тогава там е това друга техника като цяло, само одит, който е дори по- нещо добро за нас, хората, ако двуфакторна окаже досадно, което разбира се, че може, или просто не е достъпно на някой сайт, минимално държи под око, ако и когато вие влизате в сайтове, ако те позволите, е добра техника, също. Така Facebook също ви дава тази Вход за уведомления разполагат, при което по всяко време Facebook осъзнава, хм, Дейвид има влезете в някои от компютър или телефон че ние никога не сте виждали преди от един IP адрес, който изглежда непознато, те поне ще ви изпратим имейл до каквото и имейл адрес имате на файл, казвайки: значи това изглежда подозрително? Ако е така, да промените паролата си незабавно. И така, има също просто одит поведение дори и след като сте били компрометирана, може поне стесни прозореца по време на които са уязвими. Добре, на всички въпроси, за тези неща до този момент? Днес е денят, за да получите всички вашата параноя потвърди или отрече. Това е най-вече потвърди, за съжаление. Така ли? АУДИТОРИЯ: [недоловим] телефон, какво ще стане ако телефонът ви паузи, и след това е винаги трудно да verify-- DAVID J. Malan: True. АУДИТОРИЯ: Или ако сте в друг страна, и те не ви нека влезете, защото [недоловим]. DAVID J. Malan: Абсолютно. И така, това са допълнителните разходи, които ви понасят. Винаги има тази тема на компромис, в края на краищата. И тогава, ако загубите телефона си, ако тя се разпада, ако сте в чужбина, или просто не разполагат с сигнал, като 3G или LTE сигнал, не може в действителност да бъде в състояние да удостовери. И отново, тези две са компромиси. И понякога, че може да се създаде много работа за вас като резултат. Но това наистина зависи, а след това, на това, което се очаква цената да ви е нещо същество компрометирана напълно. Така SSL, а след това, е тази техника, че всички ние обикновено приемаме за даденост или да поеме е там, макар и това очевидно не е така. И вие все още може да въведе в заблуждение хора, все пак, дори и с това. Така че тук е един пример на банка. Това е Банката на Америка. Има цял куп от тях на площад Харвард и след това. И забележи, че в най-горната част на на екрана, има един, наистина, HTTPS. И това е още по-зелен и подчерта за нас показва, че това е наистина легитимно защитен уебсайт, или така че ние сме били обучени да повярвам. Сега освен това, обаче, забележите, че ако увеличите, там е това нещо тук, където ще бъдете подканени да влезете. Какво означава това катинар означава право там, в непосредствена близост до името ми да пита? Това е доста често на уебсайтове, също. Какво означава това катинар означава това? Изглежда като че ли знаете. АУДИТОРИЯ: Това не означава нищо. DAVID J. Malan: Тя не означава нищо. Това означава, че Банката на Америка знае как да пишат HTML с изображения тагове, нали? Това наистина не означава нищо, защото дори ние, с помощта на първия ден на своя външен вид в HTML, може да кодира до страница с червен фон и изображение, като GIF или какво ли не, че се случва да изглежда като катинар. И все пак, това е супер често срещани в интернет страници, защото ние сме били обучени да се предположи, че, о, катинар означава сигурна, когато тя наистина просто означава, че вие ​​знаете HTML. Така например, през деня, можех са просто сложи това в моя сайт, твърдейки, че тя е сигурна, и питам, ефективно, за потребителски имена и пароли на хората. Така че търсите в URL адреса е най-малко по-добра представа, защото, който е вграден в Chrome или каквото и браузър, който използвате. Но дори и тогава, понякога нещата могат да се объркат. И в действителност, вие винаги може да не е вижте HTTPS, камо ли в зелено. Има ли някой от вас някога виждали такъв екран като този? Може да се наложи, всъщност, по-рано през октомври, когато съм забравил да плати за нашата SSL сертификат, както се нарича, и ние търсехме като това за един час или два. Така че, най-вероятно сте виждали неща по този начин, с удар-чрез, като червена линия, чрез протокола в URL адреса или някакъв вид на екран, който е най-малко ви съветваме за опитите да се процедира по-нататък. И Google тук е поканил можете да се върнете към безопасността. Сега, в този случай, това просто означава, че сертификат за SSL, че сме използвали, големите, математически полезни номера които са свързани със сървъра на CS50, вече не са валидни. И в действителност, ние можем да симулира това, както можете да на вашия лаптоп. Ако отида в Chrome тук, и нека отидем facebook.com, и тя изглежда като това е сигурно. Но нека да вървим напред и сега кликнете на катинара тук. И ме пусна да Connection, Информация сертификат. И наистина, това, което ще виждате тук, е един куп на детайли с по-ниско ниво за които facebook.com наистина е така. Изглежда, че те са платили пари, за да една компания, наречена може би DigiCert Висока Уверението, че е обещал да каже на останалата част от света че, ако браузъра някога вижда на certificate-- можеш да се сетиш от него буквално като удостоверение, че Изглежда, че сирене нещо отгоре left-- след facebook.com е този, който те казват, те са, защото през цялото това време, когато посещавате уебсайт, като cs50.harvard.edu или facebook.com или gmail.com, които използват HTTPS URL адреси, зад кулисите, има този вид сделка случва автоматично за вас, като facebook.com, в този случай, се изпраща на вашия браузър си т.нар сертификат SSL, или по-скоро, му публичен ключ, и след това вашия браузър използва този публичен ключ впоследствие да изпраща криптирана трафик към и от него. Но там е цялата тази йерархия в света на фирми че ти плащат пари за това, кой ще След това свидетелствам, в цифров смисъл, че вие ​​наистина сте facebook.com или вашият сървър е наистина cs50.harvard.edu. И вграден в браузъра, като Chrome и IE и Firefox, е списък на всички онези, т.нар сертифициращи органи които са разрешени от Microsoft и Google и Mozilla за да потвърди или отрече, че facebook.com е този, който тя казва, че е така. Но уловката е, че тези неща да изтекат. В действителност, Facebook прилича той изтича през следващия октомври, през 2015. Така че всъщност можем да симулира това, ако отида в моя Mac, за да ми System Preferences, и аз отивам в Дата и час, и Аз отивам в Дата и час тук, и аз отключите тази here-- щастие, ние не разкри парола тази time-- и сега отивам надолу, за да махнете отметката от това. И нека actually-- Опа, това е не толкова интересна, тъй като правиш това. Ние сме буквално в бъдеще сега, което означава, че това е това, което е като 2020. Ако аз сега се презарежда page-- нека го направим в Ingognito mode-- ако презаредите страницата, там отиваме. Така че сега, компютъра ми мисли това е 2020 г., но моят браузър знае, че това удостоверение от Facebook изтича, разбира се, през 2015 г.. Така че това ми дава този червен съобщение. Сега, за щастие, браузърите като Chrome има действително го прави доста трудно да се процедира все пак. Те наистина ме искат да се върнем към безопасността. Ако кликнете тук за Advance, това е Ще ми кажеш ли малко повече подробности. И ако наистина искате да продължи, те ще ви позволи отида до facebook.com, което е, отново, не са безопасни, като в този момент Ще видя Facebook началната страница, като този. Но тогава други неща изглежда да е счупване. Какво е най-вероятно да се счупи в този момент? АУДИТОРИЯ: JavaScript. DAVID J. Malan: Подобно на JavaScripts и / или CSS файловете са по подобен начин натъкват на тази грешка. Така че това е просто една лоша ситуация като цяло. Но въпросът тук е, че най-малко Facebook наистина има SSL поддръжка за техните сървъри, тъй като много уеб сайтове, направя, но не е задължително всички. Но това не е само за храна за вкъщи тук. Оказва се, че дори SSL Доказано е, да бъде несигурен по някакъв начин. Така че аз съм нещо като намеква, че SSL, добре. Потърсете HTTPS URL адреси, а животът е добро, защото всички си HTTP трафик и горни и съдържание е кодирано. Никой не може да го прихване в средна, с изключение на т.нар мъж в средата. Това е общата техника в света на сигурността известен като атака човек-в-средата. Да предположим, че вие ​​сте този малък лаптоп тук в ляво, и предполагам, че се опитвате да посетите сървъра там отдясно, като facebook.com. Но да предположим, че в между вас и Facebook, е един куп други сървъри и оборудване, като комутатори и маршрутизатори, DNS сървъри, DHCP сървъри, никой от които контролират. Тя може да бъде контролирана от Starbucks или Харвард или Comcast или други подобни. Е, предполагам, че някой злонамерено, във вашата мрежа, между вас и Facebook, е в състояние да ви кажа, че, знаеш ли какво, на IP адреса на Facebook не е това, което мисля, че е така. Това е вместо това IP. И така, вашият браузър е подмамени в молещата трафик от друг компютър напълно. Е, предполагам, че този компютър просто изглежда изобщо на трафика, който поиска от Facebook и всички уеб страници че сте подали молба от Facebook. И всеки път, когато вижда в трафика на URL, който започва с HTTPS, това динамично, от лети, тя пренаписва като HTTP. И всеки път, когато види на място хедър, местоположение на дебелото черво, като ние използваме, за да се пренасочат потребителя, тези също може да се променя от този човек в средата от HTTPS за HTTP. Така че дори и да си мощ Мислите, че сте в реалния Facebook, това не е толкова трудно за противник с физически достъп към вашата мрежа просто върнете страници за вас, че изглежда като Gmail, че изглежда като Facebook, и наистина адреса е идентични, защото те са преструвайки се, че има, че същото име на хост поради някои експлоатация на DNS или някаква друга система, като това. И резултатът тогава е че ние, хората биха могли само осъзнават, че, ОК, това изглежда като Gmail или поне по-старата версия, какъвто е този слайд от по-стара презентация. Но изглежда, че this-- http://www.google.com. Така че тук, също, реалността е, че колко от вас, когато отидете на Facebook или Gmail или всеки уебсайт и вие знаете нещо малко за SSL, колко от вас физически въведете HTTPS: // и след това на сайта име, Enter. Повечето от нас просто да напишете, като, CS50, натиснете Enter, или F-A за Facebook и натиснете Enter, и го оставете да се попълни автоматично. Но зад кулисите, ако вие гледате HTTP трафик, вероятно има цял куп на тези заглавки местоположение които са ви изпраща от Facebook да www.facebook.com да https://www.facebook.com. Така че това е един или повече HTTP сделки където вашата информация е напълно изпраща в ясен, не криптиране, каквато. Сега, това може да не е толкова голям се справят, ако всичко, което се опитваме да направим е достъп до началната страница, вие не сте изпращане на вашето потребителско име и парола. Но това, което е под качулката, особено за уеб сайтове PHP-базирани, че е също се изпраща напред и назад, когато можете да посетите някои уеб страница, ако който използва сайта, да речем, PHP и изпълнява функции като pset7? Какъв е бил изпратен обратно и напред във вашите HTTP хедъри, че ви е дал достъп до тази красива полезна супер глобален PHP? Публика: Cookies. DAVID J. Malan: Cookies, специално PHP sess ID бисквитка. Така че си спомняте, ако отидем до да речем, отново cs50.harvard.edu, но този път, нека да се отвори Раздела Network, и сега, тук, нека буквално просто отидете да http://cs50.harvard.edu и след това натиснете Enter. И след това погледнете на екрана тук. Забележете, че ние наистина имам обратно 301 преместена за постоянно съобщение, което означава, че има глава за място тук, който сега ме пренасочва към HTTPS. Но уловката е, че ако аз вече имах бисквитка, поставен на ръката ми практика, както говорихме преди, и I човешкия вид несъзнателно Просто посетете несигурен версия, както и браузъра си го взема върху себе си, за да покаже, че ръката печат за на първата заявка, която е чрез HTTP, всеки човек в центъра, всеки противник в средата, теоретично може просто да видя тези HTTP хедъри, просто като гледаме ги тук. Това е само веднъж сте говори с HTTPS URL се, че ръката се получи печат криптирани, а ла Цезар или Vigenere, но с красиви алгоритъм напълно. Така че тук, също, дори ако уебсайтове използват HTTPS, ние, хората са обусловени, благодарение до авто-пълни и други техники, дори да не си помисля потенциалните последици. Сега, има начини около това. Например, много уеб сайтове могат да бъдат конфигурирани така че, след като имате тази ръка печат, можете да кажете на браузъра, тази ръка печат е само за SSL връзки. Браузърът не трябва да представи това за мен, освен ако не е над SSL. Но много сайтове не се занимавам с това. И много сайтове очевидно дори не се занимавам с SSL изобщо. Така че за повече от това, там е всъщност дори повече мръсотия в тази презентация че колегата даде на така наречената черна конференция шапка преди няколко години, където има дори други злонамерени трикове хората са използвали. Можете да си спомните това понятие на фавикон, които е като малко лого, което е често в прозореца на браузъра. Е, това, което е било по- често сред лошите момчета е да Fab икони, които изглеждат като какво? АУДИТОРИЯ: [недоловим]. DAVID J. Malan: отново кажа? АУДИТОРИЯ: Уебсайтовете. DAVID J. Malan: Не уебсайт. Така фавикон, мъничко икона. Какво ще бъде най- злонамерени, манипулативно нещо бихте могли да направите на Вашия уебсайт стандартна икона изглежда? Аудитория: A зелен заключване. DAVID J. Malan: Какво е това? АУДИТОРИЯ: Малко зелено заключване. DAVID J. Malan: Харесвам зелена заключване, точно така. Така че можете да получите този естетически на малък зелен катинар, намеквайки за света, о, ние сме осигуряване, когато, отново, всичко това означава, е, че вие ​​знаете някои HTML. Така сесия отвличане се отнася до точно това. Ако има някой, който е вид смъркане ефира в тази стая тук или има физически достъп до мрежа и може да видите вашите бисквитки той или тя може да вземете, че PHP sess ID бисквитка. И тогава, ако те са достатъчно познания, за да знаете как да изпратите бисквитката като свой собствен ръка печат само чрез копиране на тази стойност и изпращане на заглавията на HTTP, Някой може много лесно влезете в някоя от Facebook сметки или сметки Gmail или Twitter акаунти, които са тук, отворени в стаята, ако не използвате SSL и ако сайта е не използват SSL правилно. Така че нека да преход към друг. Така че друга истинска история. И това е просто разби в новини преди седмица или две. Verizon е правил много лошо нещо, и в най-добрите хора могат да кажат, тъй като най-малко 2012 г., с което, когато имате достъп до сайтове чрез Verizon мобилен телефон, независимо от производителя и да е, те са надменни, Както разказва историята, инжектиране в цялата си HTTP трафик свой собствен HTTP хедър. И че заглавните вид като this-- X-UIDH. UID е като уникален идентификатор или потребителското си име. И X просто означава, че това е обичай служебната информация, която не е стандарт. Но какво означава това е, че ако спра, Например, всеки сайт на моя телефон here-- и аз съм с Verizon, както ми carrier-- въпреки че навигаторът ми не вали изпрати този HTTP хедър, Verizon, веднага сигналът навърши мобилен телефон кула някъде, е известно време инжектирате служебната информация в цялата ни HTTP трафик. Защо те правят това? Предполага се, че от съображения за проследяване, за рекламни причини. Но решението за глупаво дизайн тук е, че HTTP хедър, тъй като вие знаете от pset6, е получена от всеки уеб сървър че сте подали молба за трафик. Така че през цялото това време, ако сте били на посещение Facebook или Gmail или всеки сайт който не използва SSL всички time-- и всъщност, тези две за щастие сега do-- но и други сайтове, които да не се използва SSL през цялото време, Verizon е по същество били засаждане, насилствено, печат ръка на всички ни ръце, които дори не виждат, а по-скоро, интернет сайта на крайните направя. И така не е било, че трудно за всеки в интернет използвате уеб сървър, за да осъзнават, ох, това е Дейвид, или, ох, това е Дейвин, дори ако сме строг за изчистване на нашите бисквитки, защото тя не идва от нас. Тя идва от превозвача. Те правят справка на вашия телефонен номер и след това казват, о, това е Дейвид. Позволете ми да се инжектира уникален идентификатор, така че нашите рекламодатели или който и да да следи за това. Така че това е наистина много, много, много лошо и ужасяващо. И аз ще ви насърчи да да разгледаме, например, в този URL, който трябва да се отказваме Аз всъщност се опитах това тази сутрин. Писах малко скрипт, Казано по този URL, го посети с моя собствен Verizon Cellphone след завъртане Wi-Fi изключен. Така че трябва да се обърне Wi-Fi на разстояние, така че който използвате 3G или LTE или други подобни. И тогава, ако посетите този URL, всичко това скрипт прави за вас, момчета, ако искате да играете, го изплюва какво HTTP хедъри телефонът ви е изпращането на нашия сървър. И действително, в справедливостта, нали Не виждате това тази сутрин, което ме кара да мисля, че на всеки от местните мобилен телефон кула I е свързан с или какво ли не го прави, или те се отдръпна от този начин временно. Но за повече информация да се отправят към този URL тук. И сега, за да this-- това комикс може да има смисъл. Не? OK. Добре. Това е починал. Добре. Така че нека да разгледаме няколко по- атаки, дори и само за повишаване на осведомеността и след това се предлагат няколко потенциални решения така че ти си още по-съпричастни. Това ние говорихме за другия ден, но не даде името си на него. Това е крос-сайт фалшифициране искане, което е изключително луксозен начин на казвайки ви подведе потребител в кликване върху на URL като това, което ги трикове в някои поведение, което те не е имал намерение. В този случай, това изглежда да се опитва да ме излъже в продажбата на моите акции на Google. И това ще успее, ако Аз, програмист на pset7, не са направили това, което? Или по-скоро, по-общо, в това, което случаи съм аз уязвими за атака ако някой трикове друг потребител в кликване върху URL като този? Така ли? АУДИТОРИЯ: Не се прави разграничение между GET и POST. DAVID J. Malan: Добре. Ако ние не се прави разлика между GET и POST, И наистина, ако позволим GET за продажба на неща, каним този вид атака. Но ние все още може да го смекчи донякъде. И аз коментира, мисля, миналата седмица, че Amazon най-малко се опитва да смекчи това с техника това е доста ясен. Какво би умно нещо да се направи да бъде на вашия сървър, а не просто сляпо продажба каквото и символ на видовете потребители в? АУДИТОРИЯ: Потвърждение на видове? DAVID J. Malan: екран за потвърждение, нещо с участието на човешкото взаимодействие така че аз съм принуден да направи преценка повикването, дори и ако аз съм наивно кликнали линк, който изглежда така и ме поведе към екрана клетка, най- малко ме помоли да потвърди или отрече. Но не е необичайно нападение, особено в т.нар фишинг или спам като атаки. Сега, това е малко по-тънък. Това е крос-сайт скриптове атака. И това се случва, ако си сайт не използва еквивалент на htmlspecialchars. И това е като потребителски вход и просто сляпо инжектиране в дадена уеб страница, и с печат или ехо, with-- again-- се обажда нещо като htmlspecialchars. Така че предполагам, че на интернет страницата на въпрос е vulnerable.com. И предполагам, че приема параметър се нарича р. Вижте какво може да се случи ако аз всъщност, лош човек, въведете или трик на потребителя в посещение на URL, който прилича this-- Q = отворен таг скрипт, затворени скрипт маркер. И отново, аз съм се предположи, че vulnerable.com не е ще се обърне опасно герои като отворени скоби в HTML лица, на амперсанд, L-T, точка и запетая нещо че може да не сте виждали преди. Но това, което е на сценария или JavaScript код Опитвам се да измамят потребителя в изпълнение? Е, document.location отнася за настоящ адрес в браузъра си. Така че, ако го направя document.location =, това ми позволява да пренасочва потребителя в JavaScript към друг уебсайт. Това е като нашия PHP функция пренасочване, но направи в JavaScript. Когато се опитвам да изпрати на потребителя? Е, очевидно, badguy.com/log.php, което е с около скрипт, очевидно, лош човек пише, че се параметър се нарича бисквитка. И известие, което правя изглежда да е слепване към края на този знак за равенство? Е, нещо, което казва document.cookie. Ние не сме говорили за това. Но се оказва, че в JavaScript, точно като в PHP, можете да получите достъп до всички бисквитки че вашия браузър е действително използване. Така че ефектът от това линия на код, ако даден потребител е подмамен да кликнете на този линк и уебсайт vulnerable.com не тя избяга с htmlspecialchars, е, че имате само ефективно качен log.php всички бисквитките. И това не е, че винаги проблематично, освен ако една от тези бисквитки е вашата сесия ID, вашият т.нар ръка печат, който означава badguy.com може да направи своя собствена HTTP заявки, изпращане на същата ръка печат, същата заглавна бисквитка, и влезте в каквото уебсайт ви са били на посещение, което в този случай е vulnerable.com. Това е скриптов кръстосано сайт атака, в смисъл, че вие ​​сте нещо като хитруваш един сайт в казването друг сайт за някаква информация тя не трябва, всъщност, имат достъп. Добре, готови за един друга тревожна подробност? Добре, светът е страшно място, законно така. Ето един прост JavaScript пример, че е в днешния код наречен геолокация 0 и 1. И има няколко Запознай онлайн за това. И това е следното, ако I отворите уеб страница в Chrome. Той първо не прави нищо. Добре, ще опитаме отново. О. Не, това трябва да се направи нещо. OK, стои. Нека се опитаме още веднъж. [Недоловим] Ах, добре, не съм сигурен защо the-- ох, уредът вероятно губи интернет достъп по някаква причина. Добре, така се случва с мен. Добре, така известие какво се случва тук. Този загадъчен изглеждащи URL, който е само един от CS50 сървър, иска да използва моя компютър място, като физически това означава. И ако наистина, аз кликнете върху Позволете, нека да видим какво ще стане. Очевидно, това е сегашната си ширина и дължина координира надолу до дяволски много добра резолюция. И така, как се озовах в това? Как работи този сайт, като CS50 сървър, знаете физически къде по света Аз съм, да не говорим, че с точност. Е, оказва out-- нека просто Посетете source-- на страницата че тук е един куп на HTML в на дъното, че първо трябва this-- тялото при зареждане = "Вижте местонахожденията" - просто функция съм написал. И аз казвам, за товарене страницата, обадете Вижте местонахожденията. И тогава там е нищо в тялото, защото в главата на страницата, забележите това, което имам тук. Тук е моят Вижте местонахожденията функция. И това е само някаква грешка checking-- ако типът на navigator.geolocation не е неопределено. Така че JavaScript е това механизъм, където можете Може да се каже, какво е вид на тази променлива? И ако това не е undefined-- това означава, че е някакъв value-- Отивам да се обадя navigator.geolocation.getCurrentPosition и след това обратно повикване. Какво е това? Така че като цяло, което е обратно повикване, само за да бъде ясно? Може да са се сблъсквали това вече pset8. Обр е родово Терминът за това какво? Усеща се като току-що ми днес. АУДИТОРИЯ: [недоловим]. DAVID J. Malan: Точно така, функция, която трябва да да се нарече само когато имаме данни. Настоящата покана към браузъра, да си ток позиция, може да бъде в една милисекунда, той може да отнеме минута. Какво означава това е, че ние се казва метод GET getCurrentPosition, наричаме тази функция за обратно извикване, което буквално име обаждане За простота, което очевидно е този тук. И начина, по getCurrentPosition работи, просто чрез четене на документация за някои JavaScript код в сайта, е че го нарича, че така наречените обаждане функция, тя преминава в тя JavaScript обект на, вътре в който е .coords.latitude и .coords.longitude, което е точно как, тогава, когато се презарежда страницата, Аз бях в състояние да видите местоположението си тук. Сега, най-малко е имало защита тук. Преди да посети тази страница, когато той действително е работил, какво ли поне подкана за? АУДИТОРИЯ: [недоловим]. DAVID J. Malan: Да или no-- направя искате да разрешите или забраните това? Но мисля, че прекалено, за навиците вие вероятно са приели, както на вашите телефони и вашите браузъри. Много от нас си включени, са вероятно доста предразположени те ви days-- виж изскачащ, просто въведете, OK, одобрява, Позволи. И все по-често, можете да сложите себе си на риск за тези причини. Така че в действителност, имаше тази прекрасна бъг няколко години ago-- или липса на feature-- че качи преди няколко години, при което, ако сте имали мобилен телефон, и това е iPhone, и сте напуснали дома си и следователно е пътувал по целия свят или квартала, през цялото това време, телефонът ви е да влезете къде се намирате чрез GPS. И това всъщност е разкрита, и хората вид очакват това сега. Вашият телефон знае къде се намирате. Но проблемът е, че когато сте били архивиране телефонът ви да iTunes-- това беше преди дните на iCloud, което е по-добро или за worse-- беше се съхраняват данните в качи, напълно некриптиран. Така че, ако имате семейство или съквартиранти или злонамерен съсед, който е любопитен буквално всеки GPS координира сте някога в, той или тя може просто седнете на качи, стартирайте някои софтуер, който е свободно на разположение, и изготвят карти като тази. В действителност, това е, което аз Произвеждат се от собствения си телефон. Аз го включен. И изглежда, че, въз основа на сини точки там, това е мястото, където по-голямата част координатите на GPS бяха влезли с качи, че аз е в североизточната част там. Но явно обиколил малко, дори в рамките на Масачузетс. Така че това е Boston Harbor там на дясно. Това е вид на Кеймбридж и Бостън, където това е най-тъмния. И от време на време, щях да тичам поръчки до по-голям география. Но качи, в продължение на години, е имал, тъй като най-добрите Мога да кажа, цялата тази информация за мен. Може да се каже, че, тази година, аз всъщност бях пътува много между Бостън и New York, върви напред и назад и напред и назад. И наистина, това ми е на Амтрак, обратно и назад, напред и назад, доста малко. Всичко това е да е влязъл и съхраняват криптирани на моя компютър за всеки, който може да се наложи достъп до компютъра ми. Това е тревожен. Аз не знам защо бях в Пенсилвания или защо телефона ми беше в Пенсилвания, очевидно доста гъсто. И тогава, най-накрая, аз погледнах ми Gcal и, о, аз посети CMU, Carnegie Mellon, по това време. И Пфу, този вид обясни, че премигване. И тогава, ако го увеличите по-нататъшни, можете да виж посетих San Francisco един или повече пъти след това, и аз дори имаше престой в какво Мисля, че е Вегас, там долу. Така че всички this-- просто престой, на летището. АУДИТОРИЯ: [смях] Така че това е само за да се каже, че тези проблеми, честно казано, са вездесъщи. И това само чувства все искал има все повече и повече от това да бъде разкрита, което вероятно е нещо добро. Смея да твърдя, светът не е все по-зле в писането на софтуер. Ние сме все по-добре, Надяваме се, че при забелязване колко лошо определен софтуер е, че ние използваме. И за щастие, някои компании започват да бъдат държани отговорни за това. Но какъв вид защити може да имате в предвид? Така че освен мениджъри парола, като 1Password и LastPass и други, Освен това само променя паролите си и идва със случайни хора използване на софтуер като че можете да опитате възможно най-добре може да криптира всичките си трафик до най-малко стесни зоната на опасност. Така например, като Харвард филиали, всичко, което може да отиде vpn.harvard.edu и влезте с вашия Harvard ID и PIN. И това ще се създаде сигурна връзка между вас и Харвард. Сега, това не непременно да се предпазите срещу всякакви заплахи, които са между Харвард и Facebook или Харвард и Gmail. Но ако седите на летище или сте седи в Starbucks или сте седнал на мястото на един приятел, и наистина не ги или им се доверите конфигурация на дома си рутер, най-малкото, което може да се установи сигурна връзка за дадено предприятие като това място, което е може би малко по-добре обезпечени от нещо като Starbucks и други подобни. И какво прави това е той установява, отново, криптиране между вас и крайната точка. Дори и по-красиви неща, като това. Така че някои от вас може би вече да е запознат с Tor, който е този вид на обезличаване мрежа, с което много хора, ако стартирате този софтуер, маршрут впоследствие тяхната интернет трафик чрез взаимно. Така че най-краткия момент е вече не между А и Б. Но това може да свърши на място, така че сте по същество покриваща нечии песни и напускане по-малко от рекордните за това къде си HTTP трафик идва от, защото това ще през един куп други хора лаптопи и настолни компютри, за добро или за лошо. Но дори и това не е нещо сполучлив. Някои от вас може да си припомни миналата година изплаши бомба, която се нарича вътре. И това беше проследено в крайна сметка до потребител, който е използвал тази мрежа тук. И уловът там, доколкото си спомням, е, ако не са, че много други хора с помощта на софтуер, подобен на този или използването на този порт и протокол, това не е толкова трудно за мрежа дори разбера кой, с някои вероятност, всъщност анонимни си движение. И аз не знам дали тези, които са били действителните данни в въпрос. Но разбира се, осъзнавам, че нито един от те са сполучлив разтвори, както и. И целта тук днес е да малко ви накара да мисля за тези неща, и идва с техники за защитава себе си срещу тях. Всички въпроси, свързани с всички заплахи които ви очакват там и тук? Така ли? АУДИТОРИЯ: Колко защитена направя ние очакваме средната [? уебсайт, за да бъде?] като средната проекта CS50? DAVID J. Malan: The Средната проект CS50? Той винаги е доказано, че всяка година някои окончателни проекти CS50 не са особено сигурна. Обикновено, това е някакъв съквартирант или hallmate че цифрите това място чрез изпращане на заявки за вашия проект. Кратко answer-- колко сайтове са сигурни? Аз съм бране на днешните аномалии. Подобно на това е просто случайност осъзнах, че този сайт Аз бях поръчване на тези откровено вкусни договорености from-- и аз не съм сигурен, че ще спрете да използвате сайта им; Аз може просто да си сменя парола повече regularly-- Не е ясно как точно уязвими всички тези various-- това е шоколад покрити всъщност. Краткият отговор е, че не мога да отговоря на този ефективно, освен да го кажа Не беше толкова трудно за мен да намерите някои от тези примери само в името на дискусия в лекция. И просто да държи под око Google News и други ресурси ще доведе до още по-на тези видове неща, за да светнат. Добре, нека да се заключи, с тази предистория че отборът CS50 се е подготвил за вас в очакване на CS50 Hackathon. И по пътя си в един момент, плодове ще бъдат обслужвани. [Възпроизвеждане на видео] [MUSIC Фърги, Q TIP И GOONROCK, "A LITTLE PARTY НИКОГА УБИТИ НИКОЙ (ALL WE GOT) "] - [Хъркане] [END възпроизвеждане на видео] DAVID J. Malan: Това е за CS50. Ще се видим в сряда. [MUSIC - Skrillex "Imma" Опитайте "]