Дэвид Дж Маланом: Это CS50, и это начало недели 10. Вы можете вспомнить, что мы показали на экране 3D принтера, который это устройство, занимает катушки пластика а затем выдавливает ее при нагревании его и плавления его так, что мы можем тогда сформировать армию Чанг из Слоны, например. Так в Леверетта Дом, тем не менее, в последнее время, я болтал с одним из ваших одноклассники и друг Чанг по имени Мишель, который на самом деле интернирован в это другая компания в прошлом году, что имеет другую технику для фактически создание трехмерных объектов, как этот крошечный небольшой слона здесь. В частности, то, как это работает является то, что это пример того, что называется стереолитография, в результате чего есть этот бассейн смолы или жидкости, а затем лазерный поражает, что жидкость, и постепенно, устройство подъемники и лифты и подъемники вещь что вы печатаете, как слон, как жидкость становится твердым. И результат, на самом деле, является то, что это гораздо более надежными, чем некоторые из пластик Подарками некоторые из вас возможно, имели. И то, что Чанг любезно сделал для нас здесь был сделал Покадровой используя фотографии в течение часа или более, вероятно, чтобы произвести этот парень здесь. Был бы кто-то, кто никогда не дошли до хотел приехать ударил Пуск на этом видео? Позвольте мне пойти с, как о там. Давай до. Хорошо. И вы? ЛУКА: Люк Меня зовут [неразборчиво]. Дэвид Дж Маланом: Привет, Люк. Приятно познакомиться. ЛУКА: Приятно познакомиться. АУДИТОРИЯ: Он работает для UC. Дэвид Дж Маланом: Я знаю, мы пытаемся не продвигать. Ладно, так Луки, все что вам нужно сделать здесь, в CS50 хит пробел печатать эту слона. [ВИДЕОВОСПРОИЗВЕДЕНИЕ] - [МАШИНА жужжание] - [CRASH] - [BOOM] - [CRASH] [END ВИДЕОВОСПРОИЗВЕДЕНИЕ] Дэвид Дж Маланом: Так что это точно на что это походит, чтобы 3D-печати. И вот ваш слон. Спасибо за добровольчества. Хорошо. Итак, еще раз, в соответствии со спецификацией для Окончательный проект, это оборудование, это доступны для вас, ребята это, по некоторым причинам, Ваш проект имеет некоторые пересечения программного и аппаратного обеспечения, понимаю, что это сейчас ресурсы. Я хотел взять один момент прикоснуться на статье Алого, который вышел вчера поздно вечером, который был в сообщить, что этот парень здесь, Давида Джонсон, который был старшим наставника для Ес 10 в течение достаточно долгого времени, покидает Гарвард на Конец учебного года. И я просто хотел воспользоваться моментом, если честно, поблагодарить Дэвида перед CS50. Он был наставником виды на нас на протяжении многих лет. И я чувствую, что мы, CS50, есть а выросли с Ес 10 здесь, так как они прямо перед нами. И он, и вся команда в Ес 10 имеет был удивительно добрым, честно говоря, как мы тащить в все наше оборудование каждую неделю, и лет назад, при условии, большое адвоката, поскольку мы были любопытно, как они работают Ес 10. Таким образом, наши благодарность и восхищение Дэвид Джонсон. [Аплодисменты] Теперь, unrelatedly, так конец действительно близок. Мы здесь, в неделю 10. И у нас есть только лишь пара формальных недель здесь в классе осталось, а затем на пару событий. Таким образом, чтобы дать вам ощущение того, что это на горизонте, мы здесь сегодня. В эту среду, напомним, мы будем иметь с гостевой лекцией не кто иной, Microsoft, самостоятельно Стив Балмер. Если вы еще не ушли в cs50.harvard.edu/register, сделать это, так как пространство будет ограничено. И они будут проверять Идентификаторы в дверь сей день. Если вы не были здесь На прошлой неделе, я думал, что я дразнить вас с другим взглядом на Стива и волнение, что нас ждет в среду. [ВИДЕОВОСПРОИЗВЕДЕНИЕ] -Passion. -Мы Будет hardcore-- хардкор. -Innovator. -Билл Сказал, вы не получите его. Мы собираемся поставить компьютер на каждом столе и в каждом доме, который стал Девиз для компании. Клянусь, Билл придумал в ту ночь, чтобы действительно дать мне некоторые из видения Поэтому я должен сказать, да. Я никогда не оглядывался назад, действительно, после этого. -Fresh Из колледжа, он присоединился к зарождающейся стартап и помог ему вырасти в одного из Америки большинство успешных предприятий когда-либо. Жизнь и бизнес уроки по пути пусть его обратно в его детство страсть и любовь. И эти опыты подготовили ему за его следующий вызов в жизни. -Ничего Получает в нашей way-- бум! Держите приходить хардкор! Перейти Клипперс! -Это Стив Баллмер, "In My Own Words". [END ВИДЕОВОСПРОИЗВЕДЕНИЕ] Дэвид Дж Маланом: --this Среда для CS50. Голова снова в этот URL здесь. Что касается того, что еще на горизонте, на следующей неделе, не лекция в понедельник. Но мы будем следить, что по викторине одного в среду. Перейти на главную страницу CS50 за получением подробной информации на людях, местах, и раз для всех различных proctoring логистика и т.п., а также о рассмотрении сессий, которые еще предстоит провести. А потом, наконец, в понедельник, в день до недели перерыва Благодарения, понимаю, что это будет наш окончательный доклад. Мы будем служить торт и большой Сделка волнения, мы надеемся. Теперь, несколько других обновлений. Имейте в виду, что статус Отчет, который на самом деле просто значит быть случайным взаимодействие с TF с гордостью заявить только как далеко с вашим Окончательный проект вы, или, по крайней мере, как здравомыслие убедитесь, что вы должны приближается, что указывают вскоре после этого. Hackathon то следует, что. Осознайте Hackathon не возможность чтобы начать свой окончательный проект, но предназначается, чтобы быть возможность чтобы быть в середине или к конец вашей окончательного проекта, с осуществлением должного несколько дней, после чего CS50 выставке. Теперь, производство CS50 в Команда, пару лет назад, собрать головоломку для CS50 ярмарке, что мы думал, что мы покажем вам, сегодня, потому что они усердно работали на приквел к что, новый видео что мы завершим сегодня с. Но вот, что ждет вас для этого года CS50 ярмарке. [ВИДЕОВОСПРОИЗВЕДЕНИЕ] - [CELL телефон звонит] [MUSIC "тема из Миссия невыполнима"] [END ВИДЕОВОСПРОИЗВЕДЕНИЕ] Дэвид Дж Маланом: Так что это точно, как мы закрываем заключительные представления проекта. Пару теперь teasers-- если Вы хотели бы присоединиться к Нику здесь на обед, как обычно, это Пятница, направиться в этом URL здесь. Кроме того, если вы хотите присоединиться к Нику или этот Ника или это Allison или любой Члены команды CS50 в, понимаю, что, в ближайшее время после окончания термина, CS50 будет уже на работу для команды на следующий год, для сертификации, ТФ, дизайнеры, производители, исследователи и другие позиции что здесь работают CS50 и в Фронт и за кулисами. Так что, если это может быть интересно Вам, направиться в этом URL здесь. И студенты более удобные, менее комфортно, и где-то в между так все приветствуется и предлагается применять. Так было идеальное время, что, не шутка, сегодня утром, когда я проснулся, У меня был такой вот спам в почтовом ящике. Это на самом деле поскользнулся через спам-фильтр в Gmail как-то и оказался в моей реальной ящике. И это говорит, "Дорогой сообщения Пользователь, Вы находитесь в данный момент повышен до 4 гигабайт пространства. Пожалуйста, войдите в свой аккаунт для того, чтобы проверить электронную пространство ". А тут еще этот хороший синий заманчивые ссылка там нажать на для преподавателей и сотрудников, которые затем привели меня к чудесно законной странице, которая попросил меня дать им свое имя и адрес электронной почты и, конечно, пароль для подтверждения кто я и так далее. Но, конечно, как это всегда бывает, Вы прибываете на этой странице посадки, и, конечно, есть по крайней мере, один опечатка, который, кажется, гвоздь в гроб любого из этих мошенников. И мы разместим, возможно, некоторые другие Ссылки на эти виды скриншотов в будущем. Но будем надеяться, что большинство людей в Этот номер не clicked-- или даже если вы нажали такие ссылки, как это, Вы не зашли так далеко, чтобы заполнить эти формы и так далее. На самом деле, все в порядке, если у вас есть. Мы постараемся исправить это сегодня, потому что, Действительно, сегодняшняя беседа о безопасности. И в самом деле, один из Цели CS50 не так много, чтобы научить вас CE или PHP или JavaScript или SQL или любой из них, лежащая в основе Детали реализации. Но это для расширения возможностей вам как люди просто принимать более взвешенные решения, как это относится к технологии вниз Дорога, так что, будь вы инженер или гуманист или ученый или любой другой роли, Вы делаете обоснованные решения о своем использования вычислительной, или если вы находитесь в принятия решений позицию, в политике, в частности, Вы делаете много, гораздо лучшие решения, чем Много людей сегодня были. И мы будем делать это, способ несколько примеров. Во-первых, я был весьма удивлен Недавно обнаружить следующее. Так паролей, конечно, это то, что большинство из нас использовать, чтобы защитить нашу data-- электронной почты, чатов, и все виды ресурсов, как, что. И только по awkward-- не показывают из руки, но смущала внешность стыда, как многие из вас использовать тот же пароль в большом количестве различных веб-сайтов? О, хорошо, так что мы будем делать своими руками. Итак, многие из вас сделать. Тот, кто делает это, только зачем? А что? Да? АУДИТОРИЯ: Это легко запомнить, потому что Вы не должны помнить [неразборчиво]. Дэвид Дж Маланом: Да, это легко запомнить. Это вполне разумно, рациональное поведение, даже при том, что риск Вы ставите себя в этих случаях является просто один или более из этих сайтов уязвим для взлома или небезопасно или пароль просто так чертовски угадываемы, кто-нибудь может понять это. Это не только одна учетная запись скомпрометирован, но в теории, любой счета у вас есть в Интернете. Так что я знаю, что я мог бы сказать сегодня, не использовать тот же пароль везде, но, что гораздо легче сказать, чем сделать. Но есть методы смягчения, что особую озабоченность. Теперь, я, оказывается, например, в использовать программу 1Password. Другой популярный из них называется LastPass. И куча CS50 использования персонала одного или более из этих видов инструментов. И короче говоря, один вынос на сегодня должно быть, да, вы, возможно, тот же пароль везде, но это очень легко, чтобы больше не делать этого. Например, в эти дни, я знаю, может быть, один из моих десятков или сотен паролей. Все мои другие пароли являются псевдослучайно порожденная одной из этих программ здесь. И в двух словах, и даже хотя большинство из этих программ как правило, приходят с небольшим количеством стоимости, Вы бы установить программу, как это, Вы бы тогда хранить все Ваши имена пользователей и пароли внутри этой программы на самостоятельно Mac или PC или еще много чего, и тогда было бы в зашифрованном виде на вашем компьютере с того, что, мы надеемся, особенно длинный пароль. Так что у меня целый букет пароли для отдельных веб-сайтов, и тогда я действительно длинный пароль, который я использовать, чтобы разблокировать все те другие пароли. И то, что приятно об программное обеспечение, как это что, когда вы посещаете веб-сайт, что это с просьбой ввести имя пользователя и пароль, в эти дни, я не вводите в мое имя пользователя и пароль, потому что, опять же, я даже не знаю, что большинство моих паролей. Я вместо ударил клавиатуру Ярлык, результатом которого это, чтобы вызвать это программное обеспечение для подскажите мне для моего мастер-пароля. То я печатаю, что один большой пароль, и затем браузера автоматически заполняет что мой пароль. Так действительно, если вы не берете ничего от сегодня в плане паролей, это программное обеспечение, которое стоит загрузки или инвестировать в так что вы можете, по крайней мере перерыв что особенно привычка. И если вы тип это с помощью Post-It отмечает или like-- и шансы по крайней мере, один из вас is-- что привычка тоже достаточно сказать, должна быть нарушена. Теперь, я случайно обнаружить, в результате использования программного обеспечения, следующее. Я заказывал съедобный Композиция, это корзина фруктов, недавно. И я ударился специальную клавиатуру Ярлык войти на сайт. И программное обеспечение запускается всплывающее что сказал, ты уверен, что Вы хотите, чтобы я автоматически представить это имя пользователя и пароль? Поскольку соединение является безопасным. Соединение не с помощью HTTPS, для подстраховки, используя этот протокол, известный как SSL, Secure Sockets Layer. И в самом деле, если вы посмотрите на в левом верхнем углу этого сайта, это просто www.ediblearrangements.com, нет HTTPS, который не настолько хорош. Теперь, я был curious-- может быть, это это просто ошибка в программном обеспечении. Конечно, некоторые веб-сайт, как это что многие из нас знают о по меньшей мере, с помощью шифрования или HTTPS URL-адреса для авторизации на. Так что я получил немного любопытно сегодня утром. И я получил мои навыки CS50, Я открыл Chrome инспектор. Это даже не большая часть мастерства. Это просто кликните правой клавиатуры ярлык для открытия это. А вот большое окно инспектора Chrome. Но то, что было на самом деле немного трагично и смешно были эти две линии здесь. Наверху, обратите внимание на URL к которые мое имя пользователя и пароль были представлены. Позвольте мне увеличить. Именно это здесь. И все это рода неинтересно, за вещь, за исключением полностью на левая, которая начинается с HTTP: //. И так то, хорошо, может быть, они просто отправив мое имя пользователя, который является не такое уж большое дело. Может быть, мой пароль посылается позже. Это было бы своего рода Интересно дизайнерское решение. Но нет. Если вы затем посмотреть по просьбе Полезная нагрузка, имя пользователя и пароль Я sent-- и я издевался это компенсировать slide-- были на самом деле послал в открытом виде. Так вы идете в данном веб-сайте, и заказать Съедобные Композиция, как это, и в самом деле, по-видимому, для всего этого раз, когда я заказывал от них, Ваше имя пользователя и пароль собирается встретить в открытом виде. Так честно, это совершенно неприемлемо. И это так тривиально, чтобы избежать вещи как это в качестве дизайнера веб-сайта и как программист веб-сайта. Но вынос здесь нам как пользователям веб-сайтов просто понять, что все он принимает для одного глупого дизайна Решение, оправдания дизайнерское решение, так что теперь, если вы знаете, мой пароль "Малиновый" на это сайт, вы, вероятно, только что в целой кучей другие сайты, которые я сейчас имеют. И там не так много защита против этого кроме того, что Чан сделал сегодня утром. Он отправился в съестных мерах, которые расположен по улице в Кембридже, и физически купил это для нас. Это было гораздо более безопасным, чем Используя веб-сайт в этом случае. Но деталь, чтобы следить за на самом деле то, что в верхней браузера до есть. Но даже то, что может быть немного обманчива. Так еще один интересный пример и способ защиты против this-- и фактически, давайте у, что first-- путь защиты против это техника что люди безопасности будет называют двухфакторной аутентификации. Кто-нибудь знает, что такое решение к проблемам, как это означает? Что двухфакторной аутентификации? Или, иными словами, как многие из вас его использовать? Итак, пару робких людей. Но да. Я видел ваши руки вверх. Что двухфакторной аутентификации? АУДИТОРИЯ: В принципе, в дополнение для ввода вашего пароля, Вы также имеют среднее [неразборчиво] отправлено с помощью текстовых сообщений на телефон в [неразборчиво]. Дэвид Дж Маланом: Совершенно верно. В дополнение к какой-то форме первичного аутентификации, как пароль, Вы попросили вторичный фактором, который, как правило, что-то у вас есть физически на вас, хотя это может быть совсем другое. И что самое обычно Мобильный телефон в эти дни, на которые вы получаете отправлено временный текстовое сообщение, которое говорит "Ваш временный код перевал 12345." Таким образом, в дополнение к моим пароль "малиновый", я также должны ввести все веб-сайт написал мне. Или если у вас есть это с банк или инвестиционный счет, Вы иногда эти маленькие ключи, что на самом деле есть псевдослучайных Число генератор, встроенный в них, но как устройство и банк знаю, что ваш первоначальный семя так, что они знают, как и немного кода на вашей маленькой брелока марши вперед каждую минуту или два, изменяя значения, так же, что изменение стоимости на сервере банка таким образом, что они могут аналогично аутентификации Вы, не только с вашим паролем, но с этой временной код. Теперь, вы можете сделать это в Google. И, честно говоря, это хорошая привычка, особенно, если вы используете Gmail все время на браузере. Если вы идете в этот URL здесь, что в слайды онлайн на сегодняшний день, а затем нажмите на 2 двухэтапную аутентификацию, же фактическая вещь существует. Вам будет предложено дать им ваш номер мобильного телефона. А потом, в любое время вы войти в Gmail, вы будете не только попросил ваш пароль, но и для немного код, который посылается на ваш телефон временно. И до тех пор, как вы печенье включен, и до тех пор, пока вы не явно выйти, вы будете иметь только сделать что раз в некоторое время, например, когда вы садитесь на новом компьютере. И с ног здесь тоже есть, если вас сесть в какой-то интернет-кафе стиля Компьютер или просто компьютер друга, даже если этого друга злонамеренно или по незнанию имеет некоторые клавиатуры регистратор установлен на своем компьютере, таким образом, что все, что вы тип захода, По крайней мере, второй фактор, что временный код, эфемерно. Таким образом, он или она, или кто это скомпрометирована компьютер не может войти в вас впоследствии, даже если все остальное был уязвим или даже в незашифрованном виде в целом. Facebook есть это тоже, с этой URL здесь, где вы можете нажать на Вход утверждений. Так и здесь, если вы не хочу друзья тыкать людей, Вы не хотите быть тыкая на Facebook или размещая обновления статуса для вас, двухфакторной аутентификации Здесь, вероятно, хорошая вещь. А тут еще этот Другой метод вообще, просто аудит, который еще хорошая вещь для нас, людей, если двухфакторная доказывает раздражает, что, по общему признанию, он может, или это просто не доступно на какой-то сайт, минимально следить за, если и когда Вы входе в сайтах, если они позволит Вам, является хорошим методом, тоже. Так Facebook также дает это Вход уведомления оснащены, в результате чего в любое время Facebook понимает, хм, Дэвид имеет вошедшими в систему с какой-то компьютер или телефон что мы никогда не видели раньше от IP-адрес, который выглядит незнакомым, они, по крайней мере отправить вам по электронной почте, чтобы какой-либо адрес электронной почты у вас есть на файле, сказав, это выглядит подозрительно? Если это так, сразу же сменить пароль. И так там тоже, просто поведение аудит даже после того как вы были нарушена, может, по крайней мере сузить окно во которые вы уязвимы. Ладно, какие-то вопросы на тот материал до сих пор? Сегодня день, чтобы получить все Ваш паранойя подтверждены или опровергнуты. Вот в основном подтвердили, к сожалению. Да? АУДИТОРИЯ: [неразборчиво] телефон, что делать, если ваши телефонные перерывов, и то это всегда трудно verify-- Дэвид Дж Маланом: Правда. АУДИТОРИЯ: Или, если вы находитесь в другой страна, и они не позволяют вам войти, потому что [неразборчиво]. Дэвид Дж Маланом: Абсолютно. И таким образом, они являются дополнительным затраты, которые вы понесете. Там всегда эта тема из компромисс, в конце концов. А потом, если вы потеряете свой телефон, если она сломается, если вы находитесь за границей, или вы просто не хватает Сигнал, как 3G или LTE сигнала, Вы не могли бы на самом деле сможет проверить подлинность. Итак, еще раз, эти два компромиссы. А иногда, это может создать Много работы для вас в результате. Но это зависит, то, по что ожидаемая цена для вас это о чем-то существа нарушена полностью. Так SSL, то, это техника, которая все мы, как правило принимают как должное или предположить есть, несмотря на то, это явно не тот случай. И вы все еще можете ввести в заблуждение люди, хотя, даже с этим. Так вот пример из банка. Это Банк Америки. Там целая куча этих в Гарвардской площади и за ее пределами. И обратите внимание, что, в самом верху экран, есть, действительно, HTTPS. И это даже зеленый и подчеркнул для нас чтобы показать, что это действительно законно защищенный веб-сайт, или так мы учили верить. Теперь, кроме того, что, тем не менее, заметить, что, если мы приближать, есть эта вещь здесь, где вам будет предложено войти. Что это замок в виду право там, рядом с моим именем подскажет? Это довольно часто встречается на сайтах тоже. Что это замок в виду? Вы, кажется, как вы знаете. АУДИТОРИЯ: Это ничего не значит. Дэвид Дж Маланом: Это ничего не значит. Это означает, что Банк Америки знает, как написать HTML с изображение метки, верно? Это действительно ничего не значит, потому что даже мы, используя первый день нашего взгляда в HTML, можно закодировать до страницы с красный фон и изображение, как GIF или еще много чего, то то он выглядит как висячий замок. И все же, это супер распространены в веб-сайты, потому что мы учили считать, что, ох, замок означает безопасный, когда он на самом деле просто означает, что вы знаете HTML. Например, еще в день, я мог только поставить это на моем сайте, утверждая, что это безопасно, и спрашивать, эффективно, для имен пользователей и паролей людей. Так, глядя в адресе по крайней мере, лучшего ключ, потому что встроенный в Chrome или что-браузер вы используете. Но даже тогда, иногда все может пойти не так. И в самом деле, вы не могли бы всегда см HTTPS, не говоря уже зеленый. Кто-нибудь из вас когда-либо видел экран, как это? Вы, возможно, на самом деле, в начале октября, когда я забыл заплатить за наш Сертификат SSL, как это называется, и мы искали, как это в течение часа или двух. Таким образом, вы, наверное, видели вещи как это, с зачеркиванием, красной линии, через протокол в URL или какой-то экран, что это по крайней мере, убеждая вас за то, чтобы идти дальше. И Google здесь приглашает Вы вернуться в безопасное место. Теперь, в данном случае, это просто означает, что Сертификат SSL, что мы использовали, большие, математически полезные номера , которые связаны с сервером CS50 в, больше не действует. И в самом деле, мы можем моделировать это, как вы можете на вашем ноутбуке. Если я иду в Chrome здесь, и пойдем в facebook.com, и, похоже, это безопасно. Но позвольте мне идти вперед теперь и нажмите на замок здесь. И позвольте мне перейти к связи, Информация о сертификате. И в самом деле, то, что вы будете см здесь куча из детали нижнего уровня около кто facebook.com самом деле. Кажется, что они заплатили деньги, чтобы Компания называется, может быть, DigiCert High Гарантия того, что обещал рассказать остальному миру что, если браузер постоянно видит 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. Дэвид Дж Маланом: Как Сценарии JavaScript и / или 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, и действительно URL является идентичны, потому что они делая вид, что есть, что то же самое имя хоста из-за некоторой эксплуатации DNS или какой-либо другой системы, как, что. И результат, тогда, что мы, люди, могли бы только понимать, что, в порядке, это выглядит как Gmail или по крайней мере более старая версия, как это слайд из старше презентация. Но, похоже, this-- http://www.google.com. Так и здесь, в реальности является то, что, как многие из вас, когда вы идете в Facebook или Gmail или любой сайт, и вы знаете, кое-что о SSL, как многие из вас физически введите HTTPS: //, а затем сайт назвать, Enter. Большинство из нас просто наберите, как, CS50, хит Enter, или F-за Facebook и нажмите Ввод, и пусть это автозаполнение. Но за кулисами, если Вы следите за своим HTTP трафик, там, наверное, целая куча из этих заголовков местоположения что отправляете вас от Facebook, чтобы www.facebook.com в https://www.facebook.com. Так вот один или несколько HTTP транзакций где ваша информация полностью отправлено в малооблачно, без Шифрование бы то ни было. Теперь, что не может быть такой большой дело, если все, что вы пытаетесь сделать будет перейти на главную страницу, вы не отправив свой логин и пароль. Но что это под капот, особенно для PHP на основе веб-сайтов, которые также отправляется туда и обратно, когда Вы посетите некоторые веб-страницы, если что использует сайт, скажем, PHP и реализует функциональность как pset7? Что отправляется туда и обратно в заголовках HTTP, что дает вам Доступ к этой довольно полезно супер глобальный PHP? Аудитория: Печенье. Дэвид Дж Маланом: Печенье, В частности, PHP SESS ID печенья. Так напомним, если мы идем в, скажем, cs50.harvard.edu снова, но на этот раз, давайте откроем Сеть вкладка, и теперь, здесь, давайте буквально просто пойти в http://cs50.harvard.edu а затем нажмите Ввод. А потом смотреть на экран здесь. Обратите внимание, что мы действительно получили назад 301 переехал на постоянное жительство Сообщение, которое означает, что есть заголовок расположение здесь, который в настоящее время перенаправления меня HTTPS. Но загвоздка в том, что, если у меня уже был печенье штамп на моей руке практически, как мы уже обсуждали ранее, и Я человек вроде неосознанно просто посетить небезопасно версия, и мой браузер принимает его на себя, чтобы показать, что печать на руку для первый запрос, который через HTTP, кто в середине, любой противник в середине, теоретически может просто посмотреть эти HTTP заголовки, просто как мы смотрим на них здесь. Это только когда вы находитесь разговаривает с HTTPS URL ли это, рука сама марка получить шифруется, а-ля Цезарь или Vigenere, но с более необычном алгоритма в целом. Так и здесь, даже если веб-сайты используют HTTPS, мы, люди, были обусловлены, благодаря для автозавершения и других методов, даже не думать о потенциальные последствия. Теперь, есть способы обойти это. Например, многие веб-сайты могут быть сконфигурированы так что, как только вы это рука печать, вы можете сообщить браузеру, эта рука штамп только для соединений SSL. Браузер не должно представлять это для меня, если это не более чем SSL. Но многие сайты не беспокойтесь, что. И много сайтов, видимо, даже не потрудились с SSL вообще. Таким образом, для более от того, что есть на самом деле даже больше грязи в этой презентации что парень дал в так называемый черный шляпа конференция пару лет назад, где есть даже друга вредоносные трюки люди использовали. Вы, возможно, помните это Понятие Favicon, который это как маленький логотип, это часто в окне браузера. Ну, то, что было распространено среди плохих парней сделать потрясающие иконки, которые выглядят как что? АУДИТОРИЯ: [неразборчиво]. Дэвид Дж Маланом: снова сказать? Аудитория: сайты. Дэвид Дж Маланом: Не сайт. Так иконка сайта, крошечный значок. Что было бы наиболее злой, манипулятивная вещь Вы могли бы сделать мой веб-сайт значок по умолчанию выглядит? АУДИТОРИЯ: зеленый замок. Дэвид Дж Маланом: Что это? АУДИТОРИЯ: маленький зеленый замок. Дэвид Дж Маланом: Как зеленый замок, точно. Таким образом, вы можете иметь это эстетическая о маленьком зеленом замком, намекая на мир, о, мы обеспечить, когда, опять же, все это означает, является то, что вы знаете, некоторые HTML. Так сессия угон относится к именно это. Если у вас есть кто-то, кто-то нюхает эфир в этой комнате здесь или имеет физический доступ к Сеть и видите куки, он или она может захватить, что PHP SESS ID печенья. А потом, если они хватит здравого смысла, чтобы знать, как отправить что печенье, как свои собственные ручной штамп просто копируя это значение и отправкой заголовков HTTP, кто-то мог очень легко войти в любой из Facebook счета или Gmail счета или Twitter счета, которые здесь, открытых в комнате, если вы не используете SSL и если сайт не правильно используя SSL. Так что давайте переход к другому. Так что другой правдивая история. И это просто сломал в Новости за неделю или две назад. Verizon было делать очень зло, и как лучшие люди могут сказать, по крайней мере с 2012 года, в результате чего, при доступе сайты через Verizon телефон, все, что производитель это, они были дерзко, как гласит история, введения в все ваши HTTP трафик самостоятельно заголовок HTTP. А этот заголовок выглядит как this-- X-UIDH. UID, как уникальный Идентификатор или ID пользователя. И X просто означает, что этот обычай заголовок, который не стандарт. Но что это означает является то, что, если я тяну вверх, Например, любой сайт на мой телефон here-- и я использую Verizon в качестве моего carrier-- хотя мой браузер не может посылать это HTTP заголовок, Verizon, как только как сигнал достигает своих телефон башня где-то, был на некоторое время инъекционных это заголовок во все наше HTTP-трафика. Почему они это делают? Предположительно по причинам слежения, в рекламных причинам. Но идиотский дизайнерское решение здесь является то, что заголовок HTTP, как вы, ребята, знаете из pset6, получен любым веб-сервером что вы с просьбой трафик. Так что все это время, если Вы посещали Facebook или Gmail или любой веб-сайт что не использует SSL все time-- и на самом деле, те, два счастью сейчас do-- но и другие сайты, которые не используйте SSL все время, Verizon имеет существенно были посадки, насильно, ручной штамп на все наши Руки, что даже мы не видим, а концевые сайты делать. И так он не был, что трудно для тех, кто в Интернете работает веб-сервер на реализовать, ох, это Дэвид, или, ох, это Дэвин, даже если мы Строгое об очистке куки, потому что это не от нас. Он идет от перевозчика. Они делают поиск на свой номер телефона а потом говорят, ой, это Дэвид. Позвольте мне вводить уникальный идентификатор, так что наши рекламодатели или кто может отслеживать это. Так что это на самом деле очень, очень, очень плохо и ужасно. И я хотел бы призвать вас, чтобы посмотрите, например, по этому адресу, который я должен отказываемся Я на самом деле пытался это сегодня утром. Я написал небольшой скрипт, положить его на этом URL, посетил его с моим собственным Verizon Мобильный телефон после включения Wi-Fi выключен. Таким образом, вы должны включить Wi-Fi от так, что Вы используете 3G или LTE или тому подобное. А потом, если вы посетите этот адрес, все это сценарий делает для вас, ребята, если Вы хотели бы играть, будет он выплевывает то, что HTTP заголовки Ваш телефон посылает на наш сервер. И я на самом деле, справедливости ради, сделал не вижу в этом сегодня утром, что заставляет меня думать, либо местный телефон башня я был связан с или еще много чего не делать это, или у них есть отступили сделать это временно. Но для получения более подробной информации, чтобы направиться в этом URL здесь. И теперь, чтобы this-- это комикс может иметь смысл. Нет? Хорошо. Хорошо. Это умер. Хорошо. Итак, давайте взглянем на пару больше атаки, если только для повышения осведомленности о а затем предложить пару потенциальные решения так что вы все еще помня. Это один мы говорили о другом день, но не дает ему название. Это подделка запроса кросс-сайт, который является чрезмерно причудливый способ сказать Вы заставляет пользователя нажатия на URL, как это, которые трюки них в какой-то поведение, которое они не намерены. В этом случае, это, кажется, чтобы пытаться обмануть меня в продаже мои акции Google. И это будет успех, если Я, программист из pset7, не сделали то, что? Или, скорее, в более общем плане, в том, что случаи я уязвимы для нападения если кто-то трюки другим пользователем в нажав URL вроде этого? Да? АУДИТОРИЯ: Вы не различают между GET и POST. Дэвид Дж Маланом: Хорошо. Если мы не различаем между GET и POST, и в самом деле, если мы позволим GET для продажи вещи, мы приглашаем такого рода атаки. Но мы все еще можем смягчить ее несколько. И я заметил, я думаю, на прошлой неделе, что Amazon по крайней мере, пытается смягчить это с техникой это довольно просто. Что бы умные вещи сделать быть на вашем сервере, а не просто слепо продаже все символ пользователь вводит в? АУДИТОРИЯ: Подтверждение сортов? Дэвид Дж Маланом: экран подтверждения, что-то с участием человеческого взаимодействия так что я вынужден сделать личный выбор, даже если я наивно нажал ссылка, которая выглядит следующим образом и привел меня к экрану клеток, в мере попросил меня, чтобы подтвердить или опровергнуть. Но не редкость нападение, особенно в так называемой фишинга или спама-как нападения. Теперь, этот немного более тонким. Это кросс-сайт скриптинг атаки. И это произойдет, если ваш Сайт не использует эквивалент htmlspecialchars. И это занимает пользовательский ввод и просто слепо инъекционных его в веб-страницу, как с печатью или эхо, with-- again-- из называя то как htmlspecialchars. Поэтому предположим, веб-сайт в Вопрос в том, vulnerable.com. И пусть он принимает параметр, называемый д. Посмотрите, что может произойти, Если бы я на самом деле, плохой парень, введите или заставляет пользователя посещение URL, который выглядит как this-- д = открыт тег скрипт, закрыт тег сценария. И снова, я предполагаю, что vulnerable.com не собирается превратить опасно символы, такие как открытые скобки в HTML лиц, амперсанд, L-Т, точка с запятой, что что вы, возможно, видели раньше. Но то, что это сценарий или JavaScript код Я пытаюсь обмануть Пользователь в исполнении? Ну, document.location относится к текущему адресу моего браузера. Так что, если я делаю document.location =, это позволяет мне перенаправить пользователя в JavaScript на другом веб-сайте. Это как наш функции PHP перенаправить, но сделано в JavaScript. Где я пытаюсь отправить пользователю? Ну, по-видимому, badguy.com/log.php, который некоторые сценарий, по-видимому, плохой парень написал, что берет Параметр называется печенье. И заметьте, что мне кажется, объединения на конец этого знака равенства? Ну, что-то, что говорит document.cookie. Мы не говорили об этом. Но, оказывается, в JavaScript, как и в PHP, Вы можете получить доступ ко всем печенье Возможно, ваш браузер на самом деле использует. Так эффектом этого строка кода, если пользователь обманом перейдя по этой ссылке а сайт vulnerable.com не избежать его с htmlspecialchars, является то, что у вас есть только эффективно загружены на log.php все ваши куки. И это не всегда, что проблематично, кроме, если один из этих куки Ваш идентификатор сеанса, ваш так называемый ручной штамп, который означает badguy.com может сделать его или ее собственный HTTP запросы, отправка тот же руку штамп, что же заголовок печенье, и войти в любой сайт Вы посещали, который в этот случай vulnerable.com. Это кросс-сайт скриптинг Нападение в том смысле, что вы вроде обмана один сайт в рассказывая другой веб-сайт о какой-то информации он не должен, на самом деле, имеют доступ к. Ладно, готов для одного другой тревожная деталь? Ладно, мир страшное место, законно так. Вот простой Пример JavaScript это в современном исходного кода называется геолокации 0 и 1. И есть пара пошаговые онлайн для этого. И это следующее, если I открыть эту веб-страницу в Chrome. Это первый ничего не делает. ОК, мы постараемся это снова. О. Нет, он должен что-то сделать. ОК, стоять. Давайте попробуем это еще раз. [Неразборчиво] Ах, хорошо, не знаю, почему the-- о, прибор вероятно, потерял Интернет Доступ по некоторым причинам. Ладно, так происходит со мной, тоже. Ладно, так уведомление что происходит здесь. Это загадочное вида URL, который является лишь одним из сервера CS50, хочет использовать мой компьютера Место, как физически это означает. И если, действительно, я нажимаю на Разрешить, давайте посмотрим, что произойдет. Видимо, это моя текущая широта и продольная координаты вниз к чертовски хорошим разрешением. Так как же я могу получить на это? Как это веб-сайт, как CS50 сервере, знаю физически, где в мире Я, не говоря уже о том точностью. Ну, получается out-- давайте просто посмотреть на source-- страницу в что здесь есть куча HTML в нижняя, что первый имеет this-- Тело OnLoad = "географическое" - просто функция я писал. И я говорю, от нагрузки страница, называют географическое. И тогда нет ничего в теле, потому в голове страницы, заметить, что у меня здесь. Вот моя функция географическое. И это только некоторые ошибки checking-- если тип navigator.geolocation не определено. Так JavaScript имеет это Механизм, где вас , можно сказать, что это тип этой переменной? И если это не undefined-- это означает, что некоторые value-- Я собираюсь позвонить navigator.geolocation.getCurrentPosition а затем обратного вызова. Что это? Таким образом, в целом, что является обратного вызова, просто чтобы было ясно? Вы, возможно, столкнулись это уже в pset8. Ответный это родовое Срок делать что? По ощущениям просто мне сегодня. АУДИТОРИЯ: [неразборчиво]. Дэвид Дж Маланом: Ровно, функция, которая должна назвать только тогда, когда у нас есть данные. Этот призыв к браузеру, получить свой ток Положение, может занять одну миллисекунду, это может занять минуту. Что это означает, мы говорим Метод Get getCurrentPosition, вызвать эту функцию обратного вызова, которые я буквально имени обратного вызова Для простоты, который по-видимому, это один здесь. И то, как getCurrentPosition работает, просто читая документацию по какой-то код JavaScript онлайн, является что она называет, что так называемый обратный вызов Функция, передает его в это объект JavaScript, внутри которого находится .coords.latitude и .coords.longitude, который, как именно, то, когда я перезарядил эту страницу, Я смог увидеть свое местоположение здесь. Теперь, по крайней мере, была оборона здесь. Прежде, чем я посетил эту страницу, когда он действительно работал, о чем я, по крайней мере запросе? АУДИТОРИЯ: [неразборчиво]. Дэвид Дж Маланом: Да или no-- делать Вы хотите разрешить или запретить это? Но думаю, тоже, о привычках вы, ребята, наверное, принял, как на ваших телефонов и ваших браузеров. Многие из нас, сам включены, являются, вероятно, довольно предрасположен них days-- вас см всплывающее, просто Enter, ОК, утверждает, Разрешить. И все чаще, вы можете положить сами в опасности для этих причин. Таким образом, в самом деле, там был этот замечательный ошибка несколько лет ago-- или отсутствие feature-- что Itunes было несколько лет назад, в результате чего, если у вас есть сотовый телефон, и это было iPhone, и вы оставили свой дом и, следовательно, путешествовал по всему миру или район, все это время, Ваш телефон был вход где вы находитесь с помощью GPS. И это на самом деле раскрывается, и люди отчасти ожидаете это сейчас. Ваш телефон знает, где вы находитесь. Но проблема в том, что, когда вы были резервное копирование телефон для iTunes-- это было раньше дни ICloud, что на к лучшему или для worse-- данные хранятся в Itunes, полностью в незашифрованном виде. Так что если у вас есть семья или соседи по комнате или вредоносная сосед кто любопытно буквально каждый GPS координировать вы когда-либо были, он или она могли бы просто сесть на Itunes, запустить некоторые программы, которые были свободно доступные и составления карт, как это. На самом деле, это то, что я производится из моего собственного телефона. Я включил его в. И, похоже, на основе на синих точек там, вот где большинство координаты GPS были вошли по Itunes, что я был на северо-востоке там. Но я, видимо, путешествовал по немного, даже в Массачусетсе. Так вот Boston Harbor там справа. Это своего рода Кембридж и Бостон, где это темное. И время от времени, я бы запустить поручения в большей географии. Но Itunes, в течение многих лет, были, как лучше Я мог бы сказать, все эти данные на меня. Вы могли бы сказать, что, в том же году, я был на самом деле много путешествовал между Бостоне и Нью-Йорк, ходит взад и вперед и туда и обратно. И в самом деле, это меня на железнодорожный вокзал, обратно и вперед, взад и вперед, совсем немного. Все, что было после входа и хранятся в зашифрованном виде на компьютере для тех, кто, возможно, Доступ к моему компьютеру. Это было тревожным. Я не знаю, почему я был в Пенсильвании или почему мой телефон был в Пенсильвании, по-видимому, довольно плотно. И вот, наконец, я посмотрел на мой Гкал, и, о, я посетил CMU, Карнеги Меллон, в то время. И уф, что вид пояснил, что всплеск. А потом, если увеличить из дальнейшего, вы можете см я посетил Сан-Франциско один или несколько раз, затем, и я даже была остановка в то, что Я думаю, что это Вегас, там, внизу. Так что все this-- просто остановка, в аэропорту. АУДИТОРИЯ: [Смех] Так что это только, чтобы сказать, что эти проблемы, честно, вездесущи. И это только чувствует более нравится есть все больше и больше этого раскрываются, который является, наверное, хорошо. Полагаю, мир не ухудшается при написания программного обеспечения. Мы улучшаем, будем надеяться, на замечая как плохо определенное программное обеспечение является то, что мы используем. И к счастью, некоторые компании начинают чтобы нести ответственность за это. Но какие виды защит может вы имеете в виду? Так, помимо менеджеров паролей, как 1Password и LastPass и другие, Кроме того, только изменив пароли и придумывать случайных них с помощью программного обеспечения, как что, вы также можете попробовать как можно лучше, чтобы зашифровать все ваши движения по крайней мере, сузить зону угрозы. Так, например, в качестве Гарварда филиалов, Вы все можете пойти в vpn.harvard.edu и войти с ID Гарвардского и PIN-код. И это создаст безопасный связь между вами и Гарварде. Теперь, что не обязательно защитить вас от любых угроз, которые между Гарвардский и Facebook или Гарвард и Gmail. Но если вы сидите в аэропорту или вы сидя в Starbucks или вы сидя на месте друга, и вы действительно не доверять им или их Конфигурация их домашний маршрутизатор, по крайней мере, вы можете установить безопасное соединение в сущности, как это место, это вероятно, немного лучше обеспечены чем-то вроде Starbucks или тому подобное. И то, что это делает он устанавливает, опять же, шифрование между вами и конечной точки. Даже любитель такие вещи, как это. Таким образом, некоторые из вас, возможно, уже быть знакомы с Tor, который является такого рода обезличивания сеть, в результате чего много людей, если они запустить эту программу, маршрут Впоследствии их интернет трафика через друг друга. Так самый короткий Дело в том, больше не между А и В. Но это могло бы быть во всем разместить таким образом, чтобы вы по существу охватывающих свои треки и оставляя меньше рекордного о том, где ваш HTTP трафик пришел, потому что это будет через целую кучу других людей ноутбуки или настольные компьютеры, к лучшему или к худшему. Но даже это не верный вещь. Некоторые из вас могут вспомнить в прошлом году бомба паника, что называлось в. И это прослеживалось в конечном счете, к Пользователь, который использовал эту сеть здесь. И улов там, насколько я помню, это, если нет то, что многие другие люди с использованием программного обеспечения, как это или используя этот порт и протокол, это не так сложно для сети, чтобы даже выяснить, кто, с некоторой вероятностью, был на самом деле анонимных его или ее движения. И я не знаю, если это были фактические сведения о которых идет речь. Но, конечно, не понимают, что ни один из это верный решения, а также. И цель здесь сегодня, чтобы хотя бы вам думать об этих вещах и придумывать методов защищая себя от них. Любые вопросы по всем угрозам что ждет вас там, и здесь? Да? АУДИТОРИЯ: Насколько безопасно делать мы ожидаем, что в среднем [? сайт, чтобы быть,?], как средняя проект CS50? Дэвид Дж Маланом: Средняя проект CS50? Он всегда оказывался каждый год, что некоторые CS50 окончательные проекты не особенно безопасным. Как правило, это какая-то сосед или hallmate что цифры на это посылая запросы к вашему проекту. Краткое answer-- сколько сайты являются безопасными? Я выбираю на сегодня аномалий. Как это было просто случайностью что я понял, что этот веб-сайт Я заказывал эти откровенно вкусные договоренности из-- и я не уверен, я буду прекратить использование их веб-сайт; Я мог бы просто изменить свой Пароль еще regularly-- не ясно, насколько уязвимы все эти various-- это шоколаде фактически. Короткий ответ, я не могу ответить, что эффективно, кроме как сказать, это не было, что трудно для меня найти некоторые из этих примеров только ради обсуждения в лекции. И только следить на Google News и другие ресурсы принесет все больше такие вещи на свет. Ладно, давайте заключать с этой приквел что команда CS50 в подготовило для вас в ожидании CS50 Hackathon. И на вашем выходе в Момент, фрукты будут обслуживаться. [ВИДЕОВОСПРОИЗВЕДЕНИЕ] [МУЗЫКА FERGIE, Q СОВЕТ И GoonRock, " Маленький отряд никогда не убивал НИКТО (ALL Мы получили) "] - [Храпа] [END ВИДЕОВОСПРОИЗВЕДЕНИЕ] Дэвид Дж Маланом: Вот это для CS50. Увидимся в среду. [MUSIC - Skrillex, "IMMA" попробовать его "]