DAVID J. Malan: Đây là CS50, và điều này là sự bắt đầu của tuần 10. Bạn có thể nhớ lại rằng chúng ta đã thể hiện trên màn hình một máy in 3D, là thiết bị này có cuộn nhựa và sau đó extrudes nó bằng cách nung nóng nó lên và tan chảy nó để chúng ta có thể sau đó hình thành đội quân Chang của voi, ví dụ. Vì vậy, tại Leverett House, Mặc dù vậy, gần đây, tôi đang nói chuyện với một trong những bạn bạn cùng lớp và một người bạn của Chang tên là Michelle, những người thực sự thực tập tại Công ty này khác so với năm trước đó có một kỹ thuật khác nhau để thực sự tạo các đối tượng ba chiều, như con voi này nhỏ nhỏ ở đây. Đặc biệt, cách làm việc này là nó là một ví dụ về một cái gì đó gọi là stereolithography, theo đó có lưu vực này nhựa hoặc chất lỏng, và sau đó một tia laser tấn công mà chất lỏng, và dần dần, thiết bị thang máy và thang máy và thang máy điều mà bạn đang in, giống như một con voi, như chất lỏng trở nên vững chắc. Và kết quả, trên thực tế, là một cái gì đó mạnh mẽ hơn nhiều so với một số nhựa quà tặng một số bạn có thể đã có. Và những gì Chang vui lòng làm cho chúng ta ở đây là đã một thời gian trôi đi bằng cách sử dụng hình ảnh trong quá trình của một giờ hoặc nhiều hơn, có lẽ, để tạo ra anh chàng này ở đây. Sẽ một ai đó không bao giờ đến trước khi muốn đến nhấn Start trên video này? Hãy để tôi đi với, làm thế nào về đó. Nào lên. Được rồi. Và bạn là? LUKE: Tên tôi là Luke [không nghe được]. DAVID J. Malan: Hi, Luke. Rất vui được gặp bạn. LUKE: Rất vui được gặp bạn. ĐỐI TƯỢNG: Anh ấy chạy cho UC. DAVID J. Malan: Tôi biết, chúng tôi đang cố gắng không để thúc đẩy. Tất cả các bên phải, vì vậy Luke, tất cả bạn phải làm ở đây trong CS50 được nhấn thanh không gian in voi này. [VIDEO PLAYBACK] - [MÁY lăng xăng] - [CRASH] - [BOOM] - [CRASH] [END Video PLAYBACK] DAVID J. Malan: Vì vậy, đó là chính xác nó như thế nào để in 3D. Và đây là con voi của bạn. Cảm ơn tình nguyện. Được rồi. Vì vậy, một lần nữa, theo các đặc điểm kỹ thuật dự án cuối cùng, phần cứng này đó là có sẵn cho các bạn là, đối với một số lý do, dự án của bạn có một số ngã tư phần mềm và phần cứng, nhận ra rằng những doanh nghiệp là nguồn lực. Tôi muốn có một chút thời gian để chạm vào khi một bài báo Crimson mà ra muộn đêm qua, đó là thông báo rằng đồng này ở đây, David Johnson, người được các cấp cao thầy cho Ec 10 trong một thời gian, rời Harvard tại cuối năm học. Và tôi chỉ muốn mất một chút thời, trung thực, cảm ơn David trước CS50. Anh là một người cố vấn của các loại cho chúng tôi trong những năm qua. Và tôi cảm thấy như chúng tôi, CS50, có chứ không phải lớn lên với Ec 10 ở đây, vì chúng là ngay trước khi chúng tôi. Và ông và toàn đội trong Ec 10 có được tuyệt vời duyên dáng, thẳng thắn, như chúng ta tai trong tất cả các thiết bị của chúng tôi mỗi tuần, và năm trước, cung cấp một lượng lớn của luật sư như chúng tôi đã tò mò như thế nào họ hoạt động Ec 10. Vì vậy, nhờ chúng tôi và ngưỡng mộ David Johnson. [Vỗ tay] Bây giờ, unrelatedly, vì vậy cuối cùng là thực sự gần. Chúng tôi đang ở đây trong tuần 10. Và chúng ta chỉ có chỉ là một vài tuần chính thức ở đây trong lớp còn lại, tiếp bởi một vài sự kiện. Vì vậy, để cung cấp cho bạn một cảm giác gì trên đường chân trời, ở đây chúng tôi có ngày hôm nay. Điều này Thứ tư, thu hồi, chúng tôi sẽ có một bài giảng của khách không ai khác hơn Của Microsoft Steve Ballmer. Nếu bạn chưa đi cs50.harvard.edu/register, làm như vậy, kể từ khi không gian sẽ bị hạn chế. Và họ sẽ được kiểm tra ID ở cửa ngày này. Nếu bạn không có ở đây tuần trước, tôi nghĩ rằng tôi muốn trêu chọc bạn với một cái nhìn khác nhau tại Steve và sự hứng thú chờ đợi chúng ta hôm thứ Tư. [VIDEO PLAYBACK] -Passion. -We're Sẽ Hardcore hardcore--. -Innovator. -Bill Nói, bạn không nhận được nó. Chúng ta sẽ đặt một máy tính trên mỗi bàn và trong mỗi gia đình, mà đã trở thành phương châm của công ty. Tôi thề, Bill phát minh ra nó đêm đó để thực sự cho tôi một số tầm nhìn của tại sao tôi nên nói có. Tôi chưa bao giờ nhìn lại, thực sự, sau đó. -Fresh Ra khỏi đại học, ông tham gia một khởi động non trẻ và giúp nó phát triển thành một trong những của Mỹ hầu hết các doanh nghiệp thành công bao giờ hết. Đời sống, kinh doanh bài học kinh nghiệm trên đường đi để cho anh ta trở lại của mình niềm đam mê thời thơ ấu và tình yêu. Và những kinh nghiệm đã chuẩn bị anh cho thử thách tiếp theo của mình trong cuộc sống. -Không Có gì được trong sự bùng nổ way-- của chúng tôi! Giữ cho tới Hardcore! Clippers đi! -Đây Là Steve Ballmer, "In My Own Words". [END Video PLAYBACK] DAVID J. Malan: --this Thứ Tư để CS50. Đi một lần nữa để URL này ở đây. Đối với những gì khác là trên đường chân trời, tuần tiếp theo, không có bài giảng hôm thứ Hai. Nhưng chúng tôi sẽ được sau đó bằng một bài kiểm tra hôm thứ Tư. Tới trang chủ CS50 để biết chi tiết trên người, địa điểm và thời gian cho tất cả các proctoring khác nhau hậu cần và như thế, cũng như về xét phiên đó là sắp tới. Và sau đó, cuối cùng, vào thứ hai, ngày trước khi tuần lễ tạ ơn, nhận ra nó sẽ là bài giảng cuối cùng của chúng. Chúng tôi sẽ phục vụ bánh và một tuyệt vời thỏa thuận của sự phấn khích, chúng tôi hy vọng. Bây giờ, một vài bản cập nhật khác. Hãy nhớ rằng tình trạng báo cáo, đó là thực sự chỉ có nghĩa là một sự tương tác thường với TF của bạn để tự hào tuyên bố chỉ thế nào đến nay cùng với bạn dự án cuối cùng bạn đang có, hoặc ít nhất là một sự tỉnh táo kiểm tra xem bạn nên được tiếp cận đó chỉ ngay sau đó. Các Hackathon sau đó sau đó. Thực hiện Hackathon không phải là một cơ hội để bắt đầu dự án cuối cùng của bạn, nhưng được hiểu là một cơ hội là ở giữa hoặc phía kết thúc dự án cuối cùng của bạn, với việc thực hiện do một vài ngày sau đó, tiếp theo là công bằng CS50. Bây giờ, sản xuất của CS50 nhóm, một vài năm trước đây, đặt lại với nhau một lời trêu ghẹo cho hội chợ CS50 mà chúng ta nghĩ chúng tôi sẽ cho bạn thấy ngày hôm nay, bởi vì họ đã làm việc chăm chỉ trên một prequel cho rằng, một video mới rằng chúng tôi sẽ kết thúc ngày hôm nay với. Nhưng đây là những gì đang chờ bạn cho CS50 hội chợ năm nay. [VIDEO PLAYBACK] - [CELL PHONE Ringing] [MUSIC "CHỦ ĐỀ TỪ Mission: Impossible"] [END Video PLAYBACK] DAVID J. Malan: Vì vậy, đó là chính xác như thế nào chúng tôi đóng đệ trình dự án cuối cùng. Một vài doanh nghiệp teasers-- nếu bạn muốn tham gia Nick đây ăn trưa, như thường lệ, điều này Thứ sáu, đi đến URL này ở đây. Hơn nữa, nếu bạn muốn tham gia Nick hoặc Nick này hoặc Allison này hoặc bất kỳ các thành viên của nhóm nghiên cứu của CS50, nhận ra rằng, trong thời gian ngắn sau khi kết thúc thời hạn của, CS50 đã được sẽ được tuyển dụng cho đội bóng vào năm tới, cho CA, TF, thiết kế, sản xuất, các nhà nghiên cứu, và các vị trí khác mà ở đây hoạt động CS50 cả phía trước và phía sau hậu trường. Vì vậy, nếu điều này có thể quan tâm cho bạn, đi đến URL này ở đây. Và sinh viên thoải mái hơn, ít thoải mái, và đâu đó trong giữa cũng như tất cả đều hoan nghênh và khuyến khích áp dụng. Vì vậy, nó là thời gian hoàn hảo, không có trò đùa, sáng nay, khi tôi tỉnh dậy, Tôi đã ở đây thư rác trong hộp thư của tôi. Nó thực sự trượt thông qua các bộ lọc thư rác của Gmail bằng cách nào đó và kết thúc trong hộp thư đến thực tế của tôi. Và nó nói, "Dear hộp thư người sử dụng, mà bạn đang nâng cấp lên 4 GB không gian. Vui lòng đăng nhập vào tài khoản của bạn để xác nhận E-không gian. " Và sau đó có màu xanh đẹp này liên kết hấp dẫn đó để nhấp chuột vào cho giảng viên và nhân viên, sau đó dẫn tôi đến một trang tuyệt vời hợp pháp, yêu cầu tôi cung cấp cho họ tên của tôi và địa chỉ email, và dĩ nhiên, mật khẩu để xác nhận tôi là ai và vv. Nhưng tất nhiên, như mọi khi là trường hợp, bạn đến trang đích này, và tất nhiên, có ít nhất một lỗi đánh máy, mà dường như là móng tay trong quan tài của bất kỳ của những trò gian lận. Và chúng tôi sẽ đăng, có lẽ, một số khác liên kết đến các loại ảnh chụp màn hình trong tương lai. Nhưng hy vọng, hầu hết mọi người trong phòng này đã không clicked-- hoặc thậm chí nếu bạn đã nhấp liên kết như thế này, bạn đã không đi xa như vậy để điền vào những hình thức và vv. Trong thực tế, nó là OK nếu bạn có. Chúng tôi sẽ cố gắng khắc phục điều đó ngày hôm nay, bởi vì, thực sự, trò chuyện ngày hôm nay là về an ninh. Và quả thực, một trong những mục tiêu của CS50 không phải là rất nhiều để dạy cho bạn CE hoặc PHP hoặc JavaScript hoặc SQL hoặc bất kỳ của các cơ bản chi tiết thực hiện. Nhưng đó là để trao quyền cho bạn như con người chỉ cần thực hiện các quyết định thông minh hơn vì nó liên quan đến công nghệ xuống đường do đó, cho dù bạn một kỹ sư hay nhân văn hay nhà khoa học hay bất kỳ vai trò khác, bạn đang đưa ra quyết định thông báo về việc sử dụng máy tính của riêng bạn, hoặc nếu bạn đang ở trong một ra quyết định vị trí, trong chính trị, đặc biệt, bạn đang làm cho nhiều, quyết định tốt hơn nhiều so với một rất nhiều con người ngày nay có được. Và chúng ta sẽ làm điều này bằng cách của một vài ví dụ. Đầu tiên, tôi đã khá ngạc nhiên Gần đây, để khám phá những điều sau đây. Vì vậy, mật khẩu, tất nhiên, là những gì hầu hết chúng ta sử dụng để bảo vệ email data-- của chúng tôi, trò chuyện, và tất cả các loại tài nguyên như thế. Và chỉ bằng một awkward-- không hiển thị của tay, nhưng có vẻ ngượng ngùng xấu hổ, có bao nhiêu bạn sử dụng cùng một mật khẩu trong rất nhiều trang web khác nhau? Oh, OK, vì vậy chúng tôi sẽ làm tay. OK, vì vậy rất nhiều bạn làm. Bất cứ ai thực hiện điều này, chỉ cần lý do tại sao? Và những gì? Yeah? Đung Thật dễ dàng để nhớ, bởi vì bạn không cần phải nhớ [không nghe được]. DAVID J. Malan: Yeah, nó dễ nhớ. Đó là một hoàn toàn hợp lý, hành vi hợp lý, mặc dù nguy cơ bạn đang đặt mình ở trong những trường hợp này chỉ là một hoặc nhiều của các trang web dễ bị hack hoặc không an toàn hoặc mật khẩu của bạn chỉ là như vậy darn đoán, bất cứ ai có thể tìm ra nó. Không chỉ là một trong những tài khoản bị tổn thương, nhưng trong lý thuyết, bất kỳ các tài khoản bạn có trên internet. Vì vậy, tôi biết tôi có thể nói ngày hôm nay, không sử dụng cùng một mật khẩu ở khắp mọi nơi, nhưng đó là rất nhiều nói dễ hơn làm. Nhưng có những kỹ thuật để giảm nhẹ mà quan tâm đặc biệt. Bây giờ, tôi xảy ra, ví dụ, để sử dụng một chương trình gọi là 1Password. Một trong những phổ biến được gọi là LastPass. Và một loạt các CS50 sử dụng nhân viên một hoặc nhiều các loại công cụ. Và câu chuyện dài ngắn, một takeaway cho ngày hôm nay nên, có, bạn có thể có cùng một mật khẩu ở khắp mọi nơi, nhưng nó rất dễ dàng để không còn làm điều đó. Ví dụ, những ngày này, tôi biết có lẽ một trong hàng chục hoặc hàng trăm của tôi của mật khẩu. Tất cả các mật khẩu khác của tôi là giả ngẫu nhiên được tạo ra bởi một trong các chương trình ở đây. Và trong Tóm lại, và thậm chí mặc dù hầu hết các chương trình có xu hướng đi với một chút chi phí, bạn sẽ cài đặt một chương trình như thế này, sau đó bạn sẽ lưu trữ tất cả tên người dùng và mật khẩu của bạn bên trong của chương trình này trên riêng máy Mac hoặc PC hoặc không có điều gì, và sau đó nó sẽ được mã hóa trên máy tính của bạn với những gì hy vọng một mật khẩu đặc biệt dài. Vì vậy, tôi có một bó toàn bộ mật khẩu cho các trang web cá nhân, và sau đó tôi có một thực sự mật khẩu dài mà tôi sử dụng để mở khóa tất cả những mật khẩu khác. Và những gì tốt đẹp về phần mềm như thế này là rằng, khi bạn truy cập một trang web đó là yêu cầu tên người dùng và mật khẩu của bạn, những ngày này, tôi không gõ tên đăng nhập và mật khẩu của mình, bởi vì, một lần nữa, tôi thậm chí không biết những gì hầu hết các mật khẩu của tôi là. Tôi thay vì đánh một bàn phím phím tắt, và kết quả là là để kích hoạt phần mềm này để nhắc tôi cho mật khẩu chủ của tôi. Sau đó tôi gõ rằng một lớn mật khẩu, và sau đó trình duyệt tự động điền vào những gì mật khẩu của tôi là. Vì vậy, thực sự, nếu bạn không có gì khác đi từ ngày hôm nay về mật khẩu, đây là những phần mềm có giá trị tải hoặc đầu tư vào để mà bạn có thể ít nhất là nghỉ thói quen cụ thể. Và nếu bạn là loại đó là sử dụng Post-It hoặc like-- và tỷ lệ cược là ít nhất một trong các bạn is-- thói quen đó cũng đủ để nói, nên bị hỏng. Bây giờ, tôi đã xảy ra để khám phá, kết quả là sử dụng phần mềm, sau đây. Tôi đã đặt hàng một sắp xếp ăn, giỏ trái cây này, thời gian gần đây. Và tôi nhấn bàn phím đặc biệt của tôi phím tắt để đăng nhập vào trang web. Và các phần mềm gây ra một pop-up mà nói, bạn có chắc bạn muốn tôi tự động trình tên người dùng này và mật khẩu? Bởi vì các kết nối không an toàn. Các kết nối không sử dụng HTTPS, cho an toàn, sử dụng giao thức đó được gọi là SSL, Secure Sockets Layer. Và quả thực, nếu bạn nhìn vào phía trên bên trái của trang web này, nó chỉ là www.ediblearrangements.com, không có HTTPS, đó không phải là quá tốt. Bây giờ, tôi đã có thể curious-- này chỉ là một lỗi trong phần mềm. Chắc chắn, một số trang web như này mà rất nhiều người trong chúng ta biết ít nhất là sử dụng mã hóa hoặc HTTPS URL đăng nhập của bạn trong. Vì vậy, tôi có một chút tò mò sáng nay. Và tôi đã nhận ra kỹ năng CS50 của tôi, Tôi mở Chrome Thanh tra. Nó thậm chí không nhiều của một kỹ năng. Nó chỉ cần nhấn bàn phím đúng phím tắt để mở này lên. Và đây là một cửa sổ lớn Thanh tra của Chrome. Nhưng những gì thực sự là một ít bi thảm và vô lý là hai dòng ở đây. Up ở phía trên, chú ý đến URL với tên người dùng và mật khẩu của tôi đã được đệ trình. Hãy để tôi phóng to. Đó là ở đây. Và tất cả điều đó là loại nhàm chán, ngoại trừ điều tất cả các con đường ở bên trái, bắt đầu bằng http: //. Và như vậy thì, OK, có thể họ chỉ gửi username của tôi, mà là không phải là một vấn đề lớn. Có lẽ mật khẩu của tôi được gửi sau đó. Đó sẽ là loại một quyết định thiết kế thú vị. Nhưng nope. Nếu bạn sau đó nhìn vào yêu cầu tải trọng, tên người dùng và mật khẩu Tôi sent-- và tôi chế giễu này lên cho slide-- đã thực sự được gửi trong rõ ràng. Vì vậy, bạn hãy vào trang web đặc biệt này và ra lệnh sắp xếp ăn như thế này, và trên thực tế, rõ ràng, cho tất cả này thời gian tôi đã được đặt hàng từ chúng, tên đăng nhập và mật khẩu của bạn được đi qua trong rõ ràng. Vì vậy, một cách trung thực, đây là hoàn toàn không thể chấp nhận. Và nó rất tầm thường để tránh những thứ như thế này là nhà thiết kế của một trang web và như các lập trình viên của một trang web. Nhưng takeaway đây để chúng tôi là người sử dụng các trang web chỉ được đánh giá cao tất cả phải mất là cho một thiết kế ngu ngốc quyết định, quyết định thiết kế vô lý, vì vậy mà bây giờ, nếu bạn biết mật khẩu của tôi là "Đỏ thẫm" về điều này trang web, bạn đã có thể chỉ có vào một bó toàn bộ các trang web khác mà tôi đã có. Và không có nhiều của một bảo vệ chống lại điều đó khác với những gì Chang đã làm sáng nay. Ông đã đi đến thoả thuận ăn được, mà nằm xuống các đường phố ở Cambridge, và thể chất đã mua lại này cho chúng tôi. Đó là an toàn hơn việc sử dụng website trong trường hợp này. Nhưng các chi tiết để giữ một mắt ra cho thực sự là những gì trong trình duyệt lên hàng đầu có. Nhưng thậm chí có thể là một chút lừa đảo. Vì vậy, một thú vị ví dụ và cách bảo vệ chống lại this-- và thực sự, chúng ta hãy làm điều đó first-- cách bảo vệ chống lại điều này là một kỹ thuật rằng nhân viên an ninh sẽ gọi xác thực hai yếu tố. Có ai biết những gì các giải pháp đến các vấn đề như thế này có nghĩa gì? Xác thực hai yếu tố là gì? Hoặc nói một cách khác, làm thế nào nhiều bạn đang sử dụng nó? OK, do đó, một vài người nhút nhát. Nhưng yeah. Tôi nhìn thấy bàn tay của bạn đi lên. Xác thực hai yếu tố là gì? Đung Về cơ bản, ngoài để gõ vào mật khẩu của bạn, bạn cũng có một thứ [không nghe được] gửi qua tin nhắn văn bản đến điện thoại của bạn tại [không nghe được]. DAVID J. Malan: Chính xác. Ngoài một số hình thức chính xác thực, như một mật khẩu, bạn được yêu cầu cho một thứ yếu tố, đó là thường một cái gì đó bạn có vật lý trên bạn, mặc dù nó có thể là một cái gì đó khác hoàn toàn. Và điều đó là thường là một điện thoại di động những ngày mà bạn nhận được đã gửi một tin nhắn văn bản tạm thời mà nói "Mã tạm trú của bạn là 12345." Vì vậy, ngoài của tôi password "màu đỏ thẫm," Tôi cũng phải gõ bất cứ điều gì các trang web đã nhắn tin cho tôi. Hoặc nếu bạn có điều này với một ngân hàng hoặc một tài khoản đầu tư, đôi khi bạn có những dongle nhỏ mà thực sự có một giả ngẫu nhiên số máy phát điện được xây dựng vào chúng, nhưng cả hai thiết bị và ngân hàng biết những gì hạt giống ban đầu của bạn là để họ biết, ngay cả khi ít mã trên ít fob chìa khóa của bạn cuộc tuần hành trước mỗi phút hoặc hai, thay đổi giá trị, do đó, không có sự thay đổi giá trị trên máy chủ của ngân hàng để họ tương tự có thể xác thực bạn, không chỉ với mật khẩu của bạn, nhưng với mã tạm thời. Bây giờ, bạn thực sự có thể làm điều này trong Google. Và thẳng thắn mà nói, đây là một thói quen tốt để có được vào, đặc biệt là nếu bạn đang sử dụng Gmail tất cả các thời gian trên một trình duyệt. Nếu bạn đi đến URL này ở đây, mà là ở các trang trình bày trực tuyến cho ngày hôm nay, và sau đó bấm vào Xác minh 2 bước, cùng một điều thực tế đó. Bạn sẽ được nhắc nhở để cung cấp cho họ số điện thoại di động của bạn. Và sau đó, bất cứ lúc nào bạn đăng nhập vào Gmail, bạn sẽ được không chỉ hỏi mật khẩu của bạn, mà còn cho một ít mã mà được gửi đến điện thoại của bạn tạm thời. Và miễn là bạn đã bật cookie, và miễn là bạn không rõ ràng đăng xuất, bạn sẽ chỉ có để làm điều đó một lần trong một thời gian, giống như khi bạn ngồi xuống tại một máy tính mới. Và ngược ở đây, là, nếu bạn ngồi xuống tại một số phong cách quán cà phê internet máy tính hay chỉ là một máy tính của bạn bè, thậm chí nếu người bạn cố ý hay vô tình có một số bàn phím logger cài đặt trên máy tính của mình, như vậy mà tất cả mọi thứ bạn loại đang được đăng nhập, ít nhất là yếu tố thứ hai, đang tạm thời, là phù du. Vì vậy, anh ta hoặc cô hoặc bất cứ ai là xâm nhập các máy tính không thể đăng nhập vào bạn sau đó, ngay cả khi mọi thứ khác là dễ bị tổn thương hoặc thậm chí không được mã hóa hoàn toàn. Facebook có này, quá, với URL ở đây, nơi bạn có thể nhấp vào Đăng Nhập Approvals. Vì vậy, đây cũng vậy, nếu bạn không muốn bạn bè để chọc mọi người, bạn không muốn bị chọc trên Facebook hoặc đăng cập nhật trạng thái cho bạn, xác thực hai yếu tố ở đây có lẽ là một điều tốt. Và sau đó có này kỹ thuật khác hoàn toàn, chỉ kiểm toán, mà thậm chí một điều tốt cho chúng ta con người, nếu hai yếu tố chứng minh khó chịu, trong đó, phải thừa nhận rằng, nó có thể, hoặc nó chỉ là không có sẵn trên một số trang web, tối thiểu giữ một mắt trên nếu và khi bạn đang đăng nhập vào các trang web, nếu họ cho phép bạn, là một kỹ thuật tốt, quá. Vì vậy, Facebook cũng cung cấp cho bạn này thông báo đăng nhập tính năng, trong đó Facebook nhận ra bất cứ lúc nào, hm, David có đăng nhập từ một số máy tính hoặc điện thoại mà chúng tôi đã không bao giờ được thấy trước từ một địa chỉ IP có vẻ quen thuộc, ít nhất là chúng tôi sẽ gửi cho bạn một email đến bất cứ địa chỉ email bạn có trong hồ sơ, nói, này trông đáng ngờ? Nếu vậy, thay đổi mật khẩu của bạn ngay lập tức. Và do đó, quá, chỉ hành vi kiểm toán ngay cả sau khi bạn đã bị tổn thương, có thể ít nhất thu hẹp cửa sổ trong suốt mà bạn dễ bị tổn thương. Tất cả các bên phải, bất kỳ câu hỏi trên công cụ đó cho đến nay? Hôm nay là ngày để có được tất cả các hoang tưởng của bạn được xác nhận hoặc từ chối. Đó chủ yếu là xác nhận, thật đáng buồn. Yeah? Đung [không nghe được] điện thoại, nếu phá vỡ điện thoại của bạn, và sau đó nó luôn luôn khó verify-- DAVID J. Malan: True. Đung Hoặc nếu bạn đang ở trong một khác nhau quốc gia, và họ không cho phép bạn đăng nhập bởi vì [không nghe được]. DAVID J. Malan: Tuyệt đối. Và vì vậy đây là bổ sung chi phí mà bạn phải chịu. Luôn luôn có chủ đề này của một thương mại-off, sau khi tất cả. Và sau đó, nếu bạn bị mất điện thoại của bạn, nếu nó bị hư, nếu bạn đang ở nước ngoài, hoặc bạn chỉ cần không có một tín hiệu, giống như một tín hiệu 3G hoặc LTE, bạn có thể không thực sự có thể xác thực. Vì vậy, một lần nữa, hai là thương mại-off. Và đôi khi, nó có thể tạo ra một rất nhiều công việc cho bạn như là một kết quả. Nhưng nó thực sự phụ thuộc, sau đó, trên những gì giá dự kiến ​​cho bạn là một cái gì đó của con người bị tổn thương hoàn toàn. Vì vậy, SSL, sau đó, là kỹ thuật này mà tất cả chúng ta thường đưa cho các cấp hoặc giả định là có, mặc dù đó rõ ràng không phải là trường hợp. Và bạn vẫn có thể đánh lừa người, mặc dù, ngay cả với điều này. Vì vậy, đây là một ví dụ của một ngân hàng. Đây là Bank of America. Có một bó toàn bộ các tại Quảng trường Harvard và xa hơn nữa. Và nhận thấy rằng, ở đầu rất của màn hình, có một, thực sự, HTTPS. Và nó thậm chí còn màu xanh lá cây và nhấn mạnh cho chúng tôi để chỉ ra rằng điều này thực sự là một trang web hợp pháp an toàn, hoặc vì vậy chúng tôi đã được đào tạo để tin. Bây giờ, bên cạnh đó, mặc dù, nhận thấy rằng, nếu chúng ta phóng to, có điều này ở đây, nơi bạn đang nhắc nhở để đăng nhập. Không ổ khóa này có ý nghĩa gì đúng ở đó, bên cạnh tên tôi nhắc nhở? Điều này là khá phổ biến trên các trang web, quá. Không ổ khóa này có nghĩa là gì? Bạn có vẻ như bạn biết. Đung Nó không có nghĩa là bất cứ điều gì. DAVID J. Malan: Nó không có nghĩa là bất cứ điều gì. Nó có nghĩa là Bank of America biết làm thế nào để viết HTML với các thẻ hình ảnh, phải không? Nó thực sự có ý nghĩa gì, bởi vì ngay cả chúng ta sử dụng ngày đầu tiên của cái nhìn của chúng tôi tại HTML, có thể mã lên một trang với nền đỏ và một hình ảnh, giống như một GIF hoặc không có điều gì, mà xảy ra trông giống như một ổ khóa. Tuy nhiên, đây là siêu phổ biến trong các trang web, bởi vì chúng tôi đã được huấn luyện để giả rằng, oh, ổ khóa có nghĩa là an toàn, khi nó thực sự chỉ có nghĩa là bạn biết HTML. Ví dụ, trở lại trong ngày, tôi có thể đã chỉ cần đặt này trên trang web của tôi, tuyên bố nó an toàn, và yêu cầu, hiệu quả, tên người dùng và mật khẩu của người dân. Vì vậy, nhìn trong URL là ít nhất một đầu mối tốt hơn, bởi vì đó là xây dựng vào Chrome hoặc bất cứ trình duyệt bạn đang sử dụng. Nhưng thậm chí sau đó, đôi khi điều có thể đi sai. Và trong thực tế, bạn có thể không luôn luôn thấy HTTPS, hãy để một mình trong màu xanh lá cây. Có bất kỳ của bạn đã bao giờ nhìn thấy một màn hình như thế này? Bạn có thể có, trên thực tế, trước đó vào tháng Mười, khi tôi quên trả tiền cho chúng tôi Giấy chứng nhận SSL, như nó được gọi là, và chúng tôi đang tìm kiếm như điều này cho một hay hai giờ. Vì vậy, bạn đã có thể nhìn thấy những điều như thế này, với một cú sút qua, giống như một dòng màu đỏ, thông qua giao thức trong URL hoặc một số loại màn hình đó là ít nhất là trách mắng bạn để cố gắng để tiến xa hơn. Và Google ở ​​đây là mời bạn quay trở lại an toàn. Bây giờ, trong trường hợp này, điều này chỉ có nghĩa là Giấy chứng nhận SSL mà chúng ta đang sử dụng, các, con số toán học hữu ích lớn có liên quan đến máy chủ của CS50, không còn hợp lệ. Và trên thực tế, chúng ta có thể mô phỏng này, như bạn có thể trên máy tính xách tay của bạn. Nếu tôi đi vào Chrome ở đây, và chúng ta hãy đi đến facebook.com, và có vẻ như thế này là an toàn. Nhưng hãy để tôi đi trước bây giờ và bấm vào ổ khóa ở đây. Và hãy để tôi đi đến kết nối, Thông tin chứng chỉ. Và quả thực, những gì bạn sẽ thấy thấy ở đây là một bó các chi tiết cấp dưới về người facebook.com thực sự là. Có vẻ như họ đã trả tiền để một công ty gọi là có thể DigiCert cao Đảm bảo rằng đã hứa nói với phần còn lại của thế giới rằng, nếu một trình duyệt từng thấy một certificate-- bạn có thể nghĩ của nó theo nghĩa đen như một chứng chỉ trông giống như rằng điều tồi ở đầu left-- sau đó facebook.com là họ nói người họ đang có, bởi vì tất cả thời gian này, khi bạn truy cập một trang web, giống như cs50.harvard.edu hoặc facebook.com hoặc gmail.com sử dụng HTTPS URL, đằng sau hậu trường, có loại này giao dịch xảy ra tự động cho bạn, nhờ đó mà facebook.com, trong trường hợp này, được gửi đến trình duyệt của bạn của nó cái gọi là giấy chứng nhận SSL, hay đúng hơn, khóa công khai của nó, và sau đó trình duyệt của bạn đang sử dụng khóa công khai để sau đó gửi mã hóa giao thông đến và đi từ nó. Nhưng có toàn bộ hệ thống phân cấp này trong thế giới của các công ty mà bạn phải trả tiền cho những người sẽ sau đó làm chứng, trong một ý nghĩa kỹ thuật số, rằng bạn đang thực sự facebook.com hoặc máy chủ của bạn thực sự là cs50.harvard.edu. Và được xây dựng vào trình duyệt, như Chrome và IE và Firefox, là một danh sách của tất cả những cái gọi là cơ quan chứng nhận được ủy quyền của Microsoft và Google và Mozilla để xác nhận hoặc phủ nhận rằng facebook.com là người nó nói nó là. Tuy nhiên, nắm bắt được rằng những điều này hết hạn. Trong thực tế, Facebook có vẻ như nó hết hạn tháng mười tới, vào năm 2015. Vì vậy, chúng tôi thực sự có thể mô phỏng này nếu tôi đi trong Mac của tôi để System Preferences của tôi, và tôi đi vào ngày và thời gian, và Tôi đi vào ngày và thời gian ở đây, và tôi mở khóa here-- này may mắn, chúng tôi không tiết lộ mật khẩu time-- này và bây giờ tôi đi xuống để bỏ chọn này. Và chúng ta hãy actually-- oops, đó là không phải là thú vị khi làm điều này. Chúng tôi nghĩa là trong tương lai bây giờ, điều đó có nghĩa đây là những gì năm 2020 là như thế nào. Nếu bây giờ tôi tải lại page-- chúng ta hãy làm điều đó trong Ingognito mode-- nếu tôi tải lại trang, có chúng tôi đi. Vì vậy, bây giờ, máy tính của tôi nghĩ đó là năm 2020, nhưng trình duyệt của tôi biết rằng chứng chỉ này từ Facebook hết hạn, tất nhiên, vào năm 2015. Vì vậy, nó đem lại cho tôi thông báo màu đỏ này. Bây giờ, may mắn, các trình duyệt như Chrome đã thực sự làm cho nó khá khó khăn để tiến hành dù sao. Họ thực sự muốn tôi quay trở lại an toàn. Nếu tôi bấm vào đây trên Advance, đó là sẽ cho tôi biết một số chi tiết. Và nếu tôi thực sự muốn để tiếp tục, họ sẽ cho tôi đi đến facebook.com, đó là, một lần nữa, không an toàn, lúc này Tôi sẽ nhìn thấy trang chủ của Facebook, như thế này. Nhưng mọi thứ khác sau đó dường như phá vỡ. Có lẽ là những gì vi phạm tại thời điểm này? Đung JavaScript. DAVID J. Malan: Giống như JavaScript và / hoặc CSS tập tin là tương tự gặp phải lỗi đó. Vì vậy, đây chỉ là một tình huống xấu tổng thể. Nhưng điểm ở đây là ít nhất Facebook không thực sự có SSL được kích hoạt cho các máy chủ của họ, như nhiều trang web, làm, nhưng không nhất thiết phải tất cả. Nhưng đó không phải một mình takeaway đây. Chỉ ra rằng thậm chí SSL đã được chứng minh không an toàn trong một số cách. Vì vậy, tôi loại ám chỉ SSL rằng, tốt. Hãy tìm HTTPS URL, và cuộc sống tốt, bởi vì tất cả các lưu lượng truy cập HTTP của bạn và các tiêu đề và nội dung được mã hóa. Không ai có thể ngăn chặn nó trong trung bình, ngoại trừ một người đàn ông được gọi là ở giữa. Đây là một kỹ thuật chung trong thế giới bảo mật được biết như một cuộc tấn công man-in-the-middle. Giả sử rằng bạn đang ít này máy tính xách tay ở đây ở bên trái, và giả sử bạn đang cố truy cập một máy chủ hơn ở phía bên phải, như facebook.com. Nhưng giả sử rằng, trong giữa bạn và Facebook, là một bó toàn bộ các máy chủ khác và thiết bị, giống như switch và router, Các máy chủ DNS, máy chủ DHCP, không ai trong số đó chúng tôi kiểm soát. Nó có thể được kiểm soát bởi Starbucks hoặc Harvard hay Comcast hoặc tương tự. Vâng, giả sử rằng ai đó độc hại, trên mạng của bạn, ở giữa bạn và Facebook, có thể cho bạn biết rằng, bạn biết những gì, địa chỉ IP của Facebook không phải là những gì bạn nghĩ. Đó là IP này thay thế. Và do đó, trình duyệt của bạn là lừa yêu cầu lưu lượng truy cập từ một máy tính hoàn toàn. Vâng, giả sử máy tính chỉ đơn giản là nhìn vào tất cả lưu lượng truy cập bạn đang yêu cầu từ Facebook và tất cả các trang web rằng bạn đang yêu cầu từ Facebook. Và bất cứ lúc nào nó thấy trong lưu lượng truy cập của bạn một URL bắt đầu với HTTPS, nó tự động, trên bay, viết lại nó như là HTTP. Và bất cứ lúc nào nó thấy một vị trí tiêu đề, vị trí đại tràng, như chúng tôi sử dụng để chuyển hướng người sử dụng, những người, quá, có thể được thay đổi bởi người đàn ông này trong giữa từ HTTPS để HTTP. Vì vậy, ngay cả khi bạn mình might nghĩ rằng bạn đang ở Facebook thực, nó không phải là khó khăn cho một kẻ thù với truy cập vật lý mạng của bạn để đơn giản trở lại trang với bạn rằng trông giống như Gmail, mà trông giống như Facebook, và thực sự là URL giống hệt nhau, bởi vì họ đang giả vờ có tên cùng một máy chủ vì một số khai thác DNS hoặc một số hệ thống khác như thế. Và kết quả, sau đó, là rằng con người chúng ta chỉ có thể nhận ra rằng, OK, điều này có vẻ như Gmail hoặc ít nhất là phiên bản cũ, như là slide này từ một bài thuyết trình cũ. Nhưng có vẻ như this-- http://www.google.com. Vì vậy, ở đây, quá, thực tế là bao nhiêu bạn, khi bạn đi đến Facebook hay Gmail hoặc bất kỳ trang web và bạn biết một chút gì đó về SSL, có bao nhiêu bạn có thể chất gõ https: // và sau đó trang web tên, Enter. Hầu hết chúng ta chỉ cần gõ, như, CS50, nhấn Enter, hoặc F-A cho Facebook và nhấn Enter, và để cho nó tự động hoàn tất. Nhưng đằng sau hậu trường, nếu bạn xem lưu lượng truy cập HTTP của bạn, có lẽ cả một bó của những tiêu đề vị trí được gửi từ Facebook www.facebook.com để https://www.facebook.com. Vì vậy, đó là một hoặc nhiều giao dịch HTTP nơi mà thông tin của bạn là hoàn toàn gửi trong rõ ràng, không có mã hóa nào. Bây giờ, có thể không được như vậy một lớn đối phó nếu tất cả các bạn đang cố gắng làm được truy cập vào trang chủ, bạn không gửi tên truy cập và mật khẩu của bạn. Nhưng đó là những gì bên dưới mui xe, đặc biệt cho các trang web dựa trên PHP đó cũng là được gửi qua lại khi bạn truy cập một số trang web nếu mà sử dụng trang web, nói rằng, PHP và thực hiện chức năng như pset7? Những gì đang được gửi qua lại trong tiêu đề HTTP của bạn đó đã cho bạn truy cập vào khá này hữu ích siêu toàn cầu trong PHP? Đung Cookies. DAVID J. Malan: Cookies, đặc biệt là sess PHP ID cookie. Vì vậy, nhớ lại, nếu chúng ta đi, nói, cs50.harvard.edu một lần nữa, nhưng thời gian này, chúng ta hãy mở ra Tab Network, và bây giờ, ở đây, chúng ta hãy theo nghĩa đen chỉ cần đi để http://cs50.harvard.edu và sau đó nhấn Enter. Và sau đó nhìn vào màn hình xuống đây. Chú ý rằng chúng ta thực sự có trở lại 301 di chuyển vĩnh viễn tin nhắn, có nghĩa là có một tiêu đề vị trí ở đây, mà hiện đang chuyển hướng tôi để HTTPS. Tuy nhiên, nắm bắt được rằng, nếu tôi đã có một cookie được đóng dấu trên tay tôi hầu như, như chúng ta đã thảo luận trước đó, và Tôi sắp xếp của con người vô tình chỉ cần truy cập không an toàn phiên bản, và trình duyệt của tôi mất nó khi bản thân để cho thấy rằng dấu tay cho yêu cầu đầu tiên, đó là thông qua HTTP, bất kỳ người đàn ông ở giữa, bất kỳ kẻ thù ở giữa, về mặt lý thuyết có thể chỉ nhìn thấy những tiêu đề HTTP, chỉ như chúng ta đang nhìn vào chúng ở đây. Đó là chỉ một lần bạn nói chuyện với một HTTPS URL không có bàn tay con dấu riêng của mình có được mã hóa, một la Caesar hoặc Vigenere, nhưng với một thuật toán fancier hoàn toàn. Vì vậy, ở đây, ngay cả khi trang web sử dụng HTTPS, con người chúng ta đã được điều hòa, nhờ kỹ thuật tự động hoàn tất và khác, thậm chí không nghĩ về những tác động tiềm năng. Bây giờ, có những cách xung quanh này. Ví dụ, nhiều trang web có thể được cấu hình do đó, một khi bạn có bàn tay này con dấu, bạn có thể cho trình duyệt, dấu tay này chỉ là cho các kết nối SSL. Các trình duyệt không nên trình bày nó cho tôi trừ khi đó là qua SSL. Tuy nhiên, nhiều trang web không bận tâm với điều đó. Và nhiều trang web rõ ràng thậm chí không bận tâm với SSL ở tất cả. Vì vậy, cho thêm vào đó, có thực sự bụi bẩn thậm chí nhiều hơn trong bài trình bày này rằng một đồng nghiệp đưa ra tại một cái gọi là màu đen hat hội nghị một vài năm trước đây, nơi có thậm chí khác thủ đoạn độc hại người đã sử dụng. Bạn có thể nhớ lại này khái niệm về một favicon, mà giống như một biểu tượng nhỏ đó là thường trong cửa sổ của trình duyệt. Vâng, những gì đang được phổ biến trong số những kẻ xấu là để làm cho các biểu tượng fab trông giống như những gì? Đung [không nghe được]. DAVID J. Malan: Nói một lần nữa? ĐỐI TƯỢNG: Các trang web. DAVID J. Malan: Không phải là một trang web. Vì vậy, favicon, nhỏ biểu tượng nhỏ. Điều gì sẽ là nhất độc hại, điều lôi cuốn bạn có thể làm cho trang web của bạn biểu tượng mặc định như thế nào? Đung A khóa màu xanh lá cây. DAVID J. Malan: Cái gì thế? Đung A khóa màu xanh lá cây. DAVID J. Malan: Giống như một khóa màu xanh lá cây, chính xác. Vì vậy, bạn có thể có tính thẩm mỹ này của một ổ khóa màu xanh lá cây, gián tiếp với thế giới, oh, chúng tôi an toàn, khi, một lần nữa, tất cả điều đó có nghĩa là bạn biết một số HTML. Vì vậy, việc cướp quyền đề cập đến chính xác điều đó. Nếu bạn có một người là loại sniffing sóng trong phòng này đây hoặc có quyền truy cập vật lý tới một mạng và có thể xem các tập tin cookie của bạn, họ có thể lấy đó PHP sess ID cookie. Và sau đó, nếu họ đủ hiểu biết để biết làm thế nào để gửi cookie như là của riêng của họ tay đóng dấu chỉ bằng cách sao chép giá trị và gửi các tiêu đề HTTP, ai đó có thể rất dễ dàng đăng nhập vào bất kỳ của Facebook tài khoản hoặc các tài khoản Gmail hoặc tài khoản Twitter rằng đang ở đây, mở trong phòng, nếu bạn không sử dụng SSL và nếu trang web được không sử dụng SSL một cách chính xác. Vì vậy, hãy chuyển tiếp với nhau. Vì vậy, một câu chuyện có thật. Và điều này chỉ đã phá vỡ trong tin tức một hoặc hai tuần trước đây. Verizon đã làm một điều rất ác, và là người tốt nhất có thể nói, ít nhất là từ năm 2012, theo đó, khi bạn truy cập các trang web thông qua Verizon điện thoại di động, nhà sản xuất bất cứ điều gì nó là, họ đã presumptuously, như câu chuyện đi, tiêm vào tất cả các HTTP của bạn lưu lượng truy cập HTTP header của riêng mình. Và đó là vẻ tiêu đề như this-- X-UIDH. UID giống như một độc đáo định danh hoặc ID người dùng. Và X chỉ có nghĩa là đây là một tùy chỉnh tiêu đề đó không phải là tiêu chuẩn. Nhưng điều này có nghĩa là, nếu tôi kéo lên, Ví dụ, bất kỳ trang web here-- trên điện thoại của tôi và tôi đang sử dụng Verizon như carrier-- của tôi mặc dù trình duyệt của tôi có thể không được gửi này HTTP tiêu đề, Verizon, ngay như tín hiệu đạt của họ tháp điện thoại di động ở đâu đó, đã được một thời gian tiêm chích này tiêu đề vào tất cả các lưu lượng truy cập HTTP của chúng tôi. Tại sao họ làm điều này? Có lẽ vì lý do theo dõi, vì lý do quảng cáo. Nhưng quyết định thiết kế moronic ở đây là một HTTP header, như các bạn biết từ pset6, nhận được bất kỳ máy chủ web rằng bạn đang yêu cầu giao thông. Vì vậy, tất cả các thời gian này, nếu bạn đã ghé thăm Facebook hay Gmail hoặc bất kỳ trang web mà không sử dụng SSL tất cả các time-- và trên thực tế, những hai may mắn tại do-- nhưng các trang web khác không sử dụng SSL tất cả các thời gian, Verizon có cơ bản được trồng, cưỡng bức, một dấu tay trên tất cả các của chúng tôi tay mà thậm chí chúng ta không thấy, nhưng đúng hơn, các trang web kết thúc làm. Và như vậy nó đã không được mà khó khăn cho bất cứ ai trên internet chạy một máy chủ web để nhận ra, ooh, đây là David, hoặc, ooh, đây là Davin, thậm chí nếu chúng tôi nghiêm ngặt về thanh toán bù trừ các tập tin cookie của chúng tôi, bởi vì nó không đến từ chúng tôi. Nó đến từ các tàu sân bay. Họ làm một tra cứu trên số điện thoại của bạn và sau đó nói, oh, đây là David. Hãy để tôi tiêm một định danh duy nhất để các nhà quảng cáo của chúng tôi hoặc bất cứ ai có thể theo dõi này. Vì vậy, đây thực sự là rất, rất, rất tồi tệ và khủng khiếp. Và tôi sẽ khuyến khích bạn hãy xem, ví dụ, tại URL này, mà tôi nên từ chối Tôi thực sự cố gắng này sáng nay. Tôi đã viết một kịch bản ít, đặt nó tại URL này, đến thăm nó với Verizon của riêng tôi điện thoại di động sau khi chuyển Wi-Fi tắt. Vì vậy, bạn phải bật Wi-Fi tắt để bạn đang sử dụng 3G hoặc LTE hoặc tương tự. Và sau đó, nếu bạn truy cập URL này, tất cả các kịch bản này làm cho các bạn, nếu bạn muốn chơi, là nó phun ra những gì HTTP header điện thoại của bạn được gửi đến máy chủ của chúng tôi. Và tôi thực sự, trong sự công bằng, đã làm không thấy điều này sáng nay, mà làm cho tôi nghĩ một trong hai địa phương tháp điện thoại di động tôi đã được kết nối với hoặc không có điều gì là không làm việc đó, hoặc họ đã lùi lại để làm điều này là tạm thời. Tuy nhiên, để biết thêm thông tin, để đi đến URL này ở đây. Và bây giờ đến this-- này truyện tranh có thể làm cho tinh thần. Không có? OK. Được rồi. Đã chết. Được rồi. Vì vậy, chúng ta hãy xem xét một vài của hơn các cuộc tấn công, nếu chỉ để nâng cao nhận thức của và sau đó cung cấp cho một cặp vợ chồng giải pháp tiềm năng do đó bạn tất cả các lưu tâm hơn. Điều này chúng tôi đã nói về những khác ngày, nhưng không đặt tên cho nó. Đó là một giả mạo yêu cầu cross-site, mà là một cách quá ưa thích của nói bạn lừa người dùng nhấp vào một URL như thế này, mà thủ đoạn chúng vào một số hành vi họ không có ý định. Trong trường hợp này, điều này có vẻ được cố gắng để lừa tôi vào việc bán cổ phần của tôi về Google. Và điều này sẽ thành công nếu I, các lập trình viên của pset7, đã không làm được những gì? Hay đúng hơn, nói chung, trong những gì trường hợp là tôi dễ bị tổn thương khi bị tấn công nếu một người nào đó thủ đoạn dùng khác vào nhấp chuột vào một URL như thế này? Yeah? Đung Bạn không phân biệt giữa GET và POST. DAVID J. Malan: Tốt. Nếu chúng ta không phân biệt giữa GET và POST, và quả thật, nếu chúng ta cho phép GET cho bán những thứ, chúng tôi đang mời loại tấn công này. Nhưng chúng ta vẫn có thể giảm thiểu nó một chút. Và tôi nhận xét, tôi nghĩ rằng, Tuần trước, Amazon ít nhất cố gắng để giảm thiểu điều này với một kỹ thuật đó là khá đơn giản. Một sẽ điều thông minh gì để làm được trên máy chủ của bạn, thay vì chỉ bán một cách mù quáng bất cứ biểu tượng sử dụng các loại trong? ĐỐI TƯỢNG: Xác nhận các loại? DAVID J. Malan: Một màn hình xác nhận, một cái gì đó liên quan đến con người tương tác vì vậy mà tôi buộc phải thực hiện cuộc gọi phán quyết, ngay cả khi tôi đã ngây thơ nhấp một liên kết giống như thế này và dẫn tôi đến màn hình di động, tại ít nhất yêu cầu tôi xác nhận hoặc từ chối. Nhưng không phải là một cuộc tấn công phổ biến, đặc biệt là trong cái gọi là lừa đảo hay thư rác giống như các cuộc tấn công. Bây giờ, điều này là một chút tinh tế. Đây là một cuộc tấn công cross-site scripting. Và điều này sẽ xảy ra nếu bạn trang web không sử dụng tương đương với htmlspecialchars. Và nó lấy người dùng nhập vào và chỉ một cách mù quáng tiêm nó vào một trang web, như với in hoặc echo, with-- again-- ra gọi một cái gì đó như htmlspecialchars. Vì vậy, giả sử các trang web trong câu hỏi là vulnerable.com. Và giả sử nó chấp nhận một tham số gọi là q. Nhìn vào những gì có thể xảy ra nếu tôi thực sự, một kẻ xấu, gõ vào hoặc lừa người dùng truy cập vào một URL mà trông giống như this-- q = thẻ script mở, đóng thẻ script. Và một lần nữa, tôi giả sử vulnerable.com đó không phải là sẽ biến nguy hiểm nhân vật như dấu ngoặc mở thành các thực thể HTML, ký hiệu, L-T, điều dấu chấm phẩy mà bạn có thể đã thấy trước. Nhưng kịch bản là gì hoặc mã JavaScript Tôi đang cố gắng để lừa một người dùng vào thực hiện? Vâng, document.location đề cập đến địa chỉ hiện tại của trình duyệt của tôi. Vì vậy, nếu tôi làm document.location =, điều này cho phép tôi để chuyển hướng người dùng trong Javascript để một trang web khác. Nó giống như chức năng PHP của chúng tôi chuyển hướng, nhưng thực hiện trong JavaScript. Nơi tôi cố gắng để gửi cho người dùng? Vâng, rõ ràng, badguy.com/log.php, đó là một số kịch bản, rõ ràng, kẻ xấu đã viết, mà có một tham số được gọi là cookie. Và thông báo, những gì tôi xuất hiện để được concatenating vào cuối rằng dấu bằng? Vâng, một cái gì đó nói document.cookie. Chúng tôi đã không nói về điều này. Nhưng hóa ra, trong JavaScript, giống như trong PHP, bạn có thể truy cập tất cả các tập tin cookie trình duyệt của bạn được thực sự sử dụng. Vì vậy, hiệu quả của một này dòng mã, nếu một người sử dụng bị lừa vào cách nhấp vào liên kết này và các trang web vulnerable.com không thoát khỏi nó với htmlspecialchars, là bạn chỉ có hiệu quả tải lên log.php tất cả các cookie của bạn. Và đó không phải luôn luôn là vấn đề, trừ khi một trong những cookie là ID phiên của bạn, của bạn cái gọi là dấu tay, mà có nghĩa là badguy.com có ​​thể làm cho riêng của mình Các yêu cầu HTTP, gửi cùng tay tem, mà tiêu đề Cookie cùng, và đăng nhập vào bất cứ website bạn đang truy cập, mà trong trường hợp này là vulnerable.com. Đó là một cross-site scripting tấn công trong ý nghĩa rằng bạn đang loại lừa một trang web vào kể một trang web về một số thông tin nó không nên, trên thực tế, có thể truy cập. Tất cả các bên phải, sẵn sàng cho một chi tiết đáng lo ngại khác? Được rồi, thế giới là một nơi đáng sợ, hợp pháp như vậy. Dưới đây là một đơn giản Ví dụ JavaScript đó là trong mã nguồn của ngày hôm nay gọi là định vị 0 và 1. Và có một vài walkthroughs trực tuyến cho việc này. Và nó sau nếu tôi mở trang web này trong Chrome. Nó đầu tiên không có gì. OK, chúng tôi sẽ cố gắng này một lần nữa. Oh. Không, nó phải làm một cái gì đó. OK, stand by. Hãy thử này một lần nữa. [Không nghe được] Ah, OK, không chắc chắn lý do tại sao the-- oh, thiết bị có thể bị mất internet truy cập đối với một số lý do. Tất cả các quyền, do đó xảy ra với tôi, quá. Tất cả các bên phải, vì vậy thông báo những gì đang xảy ra ở đây. Điều này khó hiểu nhìn URL, chỉ là một trong những máy chủ CS50, muốn sử dụng máy tính của tôi vị trí, như thể chất nghĩa của nó. Và nếu quả thực, tôi bấm vào Cho phép, hãy xem những gì sẽ xảy ra. Rõ ràng, đây là vĩ độ hiện tại của tôi và theo chiều dọc tọa độ xuống với độ phân giải khá darn tốt. Vì vậy, làm thế nào tôi có được lúc này? Làm thế nào để trang web này, như máy chủ CS50, biết thể chất nơi trên thế giới Tôi, hãy để một mình với độ chính xác đó. Vâng, quay out-- chúng ta hãy chỉ nhìn vào source-- của trang mà ở đây là một loạt các HTML tại phía dưới là lần đầu tiên có this-- body onload = "geolocate" - chỉ là một chức năng tôi đã viết. Và tôi nói, trên tải trang, gọi geolocate. Và sau đó không có gì trong cơ thể, bởi vì ở đầu trang, thông báo những gì tôi có ở đây. Đây là chức năng geolocate của tôi. Và đây chỉ là một số lỗi checking-- nếu loại navigator.geolocation không phải là không xác định. Vì vậy, có JavaScript này cơ chế, nơi bạn có thể nói, những gì là loại biến này? Và nếu nó không undefined-- có nghĩa là nó là một số value-- Tôi sẽ gọi navigator.geolocation.getCurrentPosition và sau đó gọi lại. Đây là gì? Vì vậy, nói chung, là những gì một gọi lại, chỉ để được rõ ràng? Bạn có thể đã gặp phải này đã có trong pset8. Gọi lại là một generic hạn để làm những gì? Cảm thấy như chỉ có tôi ngày hôm nay. Đung [không nghe được]. DAVID J. Malan: Chính xác, một chức năng mà nên được gọi là chỉ khi chúng ta có dữ liệu. Cuộc gọi này để trình duyệt, có được hiện tại của tôi vị trí, có thể mất một phần nghìn giây, nó có thể mất một phút. Điều này có nghĩa là chúng ta đang nói phương pháp get getCurrentPosition, gọi chức năng gọi lại này, mà tôi theo nghĩa đen có tên gọi lại để đơn giản, mà rõ ràng là một trong những điều này ở đây. Và cách getCurrentPosition hoạt động, chỉ đơn giản bằng cách đọc các tài liệu đối với một số mã JavaScript trực tuyến, là nó gọi rằng cái gọi là gọi lại chức năng, vượt qua nó vào nó một đối tượng JavaScript, trong số đó là .coords.latitude và .coords.longitude, mà là chính xác như thế nào, sau đó, khi tôi nạp lại trang này, Tôi đã có thể nhìn thấy vị trí của tôi ở đây. Bây giờ, ít nhất đã có một bảo vệ ở đây. Trước khi tôi đến thăm trang này, khi nó thực sự làm việc, những gì tôi đã được ít nhất là nhắc nhở cho? Đung [không nghe được]. DAVID J. Malan: Có hoặc no-- làm bạn muốn cho phép hoặc từ chối này? Nhưng nghĩ rằng, quá, về những thói quen các bạn đã có thể thông qua, cả trên điện thoại của bạn và trình duyệt của bạn. Nhiều người trong số chúng ta, bản thân mình bao gồm, có lẽ khá dễ mắc các days-- bạn nhìn thấy một cửa sổ pop-up, chỉ cần Enter, OK, Phê duyệt, Cho phép. Và ngày càng nhiều, bạn có thể đặt mình vào nguy cơ đối với những lý do. Vì vậy, trong thực tế, đã có lỗi tuyệt vời này một vài năm ago-- hoặc thiếu feature-- rằng iTunes đã có một vài năm trước đây, theo đó, nếu bạn đã có một điện thoại di động, và đó là một iPhone, và bạn rời khỏi nhà của bạn và do đó đi khắp thế giới hoặc vùng lân cận, tất cả thời gian này, điện thoại của bạn đã được đăng nhập bạn đang ở đâu thông qua GPS. Và điều này thực sự tiết lộ, và người loại mong đợi điều này ngay bây giờ. Điện thoại của bạn biết bạn đang ở đâu. Nhưng vấn đề là, khi bạn đã sao lưu điện thoại của bạn để iTunes-- này là trước khi những ngày của iCloud, mà là để tốt hơn hoặc cho worse-- các dữ liệu đã được lưu trữ trong iTunes, hoàn toàn không được mã hóa. Vì vậy, nếu bạn có một gia đình hoặc bạn cùng phòng hoặc một người hàng xóm độc hại ai tò mò về nghĩa đen mỗi GPS phối hợp bạn đã từng đến, người đó có thể chỉ ngồi vào iTunes, chạy một số phần mềm đó là tự do có sẵn, và bản đồ sản phẩm như thế này. Trong thực tế, đây là những gì tôi sản xuất điện thoại của riêng tôi. Tôi cắm nó vào. Và có vẻ như, dựa trên chấm màu xanh ở đó, đó là nơi mà hầu hết các tọa độ GPS được đăng nhập bằng iTunes mà tôi là ở vùng Đông Bắc có. Nhưng tôi dường như đi du lịch xung quanh một chút, ngay cả trong Massachusetts. Vì vậy, đó là Boston Harbor ở phía bên phải. Đó là loại Cambridge và Boston, nơi mà nó là đen tối nhất. Và thỉnh thoảng, tôi sẽ chạy việc vặt cho một vị trí địa lý lớn hơn. Nhưng iTunes, trong nhiều năm qua, đã có, là tốt nhất Tôi có thể nói, tất cả các dữ liệu này cho tôi. Bạn có thể nói rằng, năm đó, tôi đã thực sự đi du lịch rất nhiều giữa Boston và New York, đi tới đi lui và qua lại. Và quả thực, đây là tôi trên Amtrak, trở lại và ra, qua lại, khá một chút. Tất cả điều đó đã được đăng nhập và được lưu trữ được mã hóa trên máy tính của tôi cho bất cứ ai có thể có truy cập vào máy tính của tôi. Điều này là đáng lo ngại. Tôi không biết lý do tại sao tôi đã trong Pennsylvania hoặc lý do tại sao điện thoại của tôi là ở Pennsylvania, dường như khá đông. Và sau đó, cuối cùng, tôi nhìn tại Gcal của tôi, và, oh, tôi thăm CMU, Carnegie Mellon, vào thời điểm đó. Và phew, loại giải thích đốm sáng đó. Và sau đó, nếu bạn phóng to ra hơn nữa, bạn có thể thấy tôi đến thăm San Francisco một hoặc nhiều lần sau đó, và tôi thậm chí đã có một layover trong những gì Tôi nghĩ là Vegas, xuống đó. Vì vậy, tất cả chỉ là một this-- layover, tại sân bay. Đung [Cười] Vì vậy, đây chỉ là để nói rằng những vấn đề, trung thực, có mặt ở khắp nơi. Và nó chỉ cảm thấy ngày càng muốn có nhiều hơn và nhiều hơn nữa điều này được tiết lộ, mà có lẽ là một điều tốt. Tôi dám khẳng định rằng, thế giới không phải là tồi tệ hơn tại văn bản phần mềm. Chúng tôi đang nhận được tốt hơn, hy vọng, tại Nhận ra làm thế nào xấu số phần mềm là chúng ta đang sử dụng. Và may mắn thay, một số công ty đang bắt đầu phải chịu trách nhiệm cho việc này. Nhưng những gì các loại phòng thủ bạn có thể có trong tâm trí? Vì vậy, bên cạnh việc quản lý mật khẩu, như 1Password và LastPass và những người khác, bên cạnh đó chỉ cần thay đổi mật khẩu của bạn và đến với những người ngẫu nhiên sử dụng phần mềm như đó, bạn cũng có thể thử là tốt nhất bạn có thể mã hóa tất cả các lưu lượng truy cập của bạn ít nhất là thu hẹp khu vực của một mối đe dọa. Vì vậy, ví dụ, như các chi nhánh Harvard, tất cả các bạn có thể vào vpn.harvard.edu và đăng nhập với ID Harvard và số PIN. Và điều này sẽ thiết lập một an toàn kết nối giữa bạn và Harvard. Bây giờ, điều đó không có nhất thiết phải bảo vệ bạn chống lại bất kỳ mối đe dọa mà là giữa Harvard và Facebook hoặc Harvard và Gmail. Nhưng nếu bạn đang ngồi tại sân bay hoặc bạn ngồi trong Starbucks hoặc bạn ngồi ở vị trí của một người bạn, và bạn không thực sự tin tưởng họ hoặc họ cấu hình của router nhà của họ, ít nhất bạn có thể thiết lập một kết nối an toàn đến một thực thể giống như nơi này đó là có thể tốt hơn một chút bảo đảm hơn một cái gì đó giống như một Starbucks hoặc tương tự. Và điều này không là nó được thiết lập, một lần nữa, mã hóa giữa bạn và các thiết bị đầu cuối. Ngay cả những người biết thưởng là những thứ như thế này. Vì vậy, một số bạn đã có thể làm quen với Tor, đó là loại này ẩn danh mạng, trong đó rất nhiều người, nếu họ chạy phần mềm này, tuyến đường sau đó internet của họ lưu lượng truy cập thông qua nhau. Vì vậy, các điểm ngắn nhất là không còn giữa A và B. Nhưng nó có thể được trên tất cả các đặt để bạn chủ yếu che đậy dấu vết của một người và để lại ít của một hồ sơ như là nơi HTTP của bạn lưu lượng truy cập đến từ đâu, bởi vì nó sẽ thông qua một bó toàn bộ của người khác máy tính xách tay hoặc máy tính để bàn, cho tốt hơn hoặc tồi tệ hơn. Nhưng ngay cả điều này không phải là một điều chắc chắn hơn. Một số bạn có thể nhớ lại năm ngoái sợ hãi bom đã được gọi. Và nó đã được bắt nguồn từ cuối cùng để một người dùng đã sử dụng mạng lưới này ở đây. Và đánh bắt ở đó, khi tôi gọi lại, là, nếu không có mà nhiều người khác sử dụng một phần mềm như thế này hay sử dụng cổng này và giao thức, nó không phải là khó khăn cho một mạng thậm chí tìm ra những người, với một số xác suất, trên thực tế ẩn danh của mình hoặc lưu lượng truy cập của mình. Và tôi không biết nếu đó là những cụ thể thực tế trong câu hỏi. Nhưng chắc chắn, nhận ra rằng không ai trong số đây là những giải pháp chắc chắn hơn, là tốt. Và mục tiêu ở đây hôm nay là để ít nhất giúp bạn suy nghĩ về những điều này và đến với kỹ thuật bảo vệ mình chống lại họ. Bất kỳ câu hỏi về tất cả các mối đe dọa đang chờ đợi bạn ra khỏi đó, và ở đây? Yeah? ĐỐI TƯỢNG: Làm thế nào an toàn làm chúng tôi mong đợi trung bình [? trang web được,?] như dự án CS50 trung bình? DAVID J. Malan: Các dự án CS50 trung bình? Nó luôn luôn chứng minh mỗi năm một số dự án chính thức CS50 không đặc biệt an toàn. Thông thường, đó là một số người bạn cùng phòng hoặc hallmate rằng con số này ra bằng cách gửi yêu cầu cho dự án của bạn. Answer-- ngắn bao nhiêu trang web được an toàn? Tôi đang chọn trên bất thường ngày hôm nay. Cũng giống như nó chỉ là ngẫu tôi nhận ra rằng trang web này Tôi đã ra lệnh cho các thẳng thắn sắp xếp ngon from-- và tôi không chắc chắn tôi sẽ ngừng sử dụng trang web của họ; Tôi chỉ có thể thay đổi của tôi mật khẩu regularly-- hơn nó không rõ ràng như thế nào dễ bị tổn thương tất cả những various-- đây là sô cô la được bảo hiểm thực sự. Câu trả lời ngắn, tôi không thể trả lời hiệu quả, khác hơn để nói nó Không phải là khó cho tôi để tìm thấy một số các ví dụ chỉ vì lợi ích của thảo luận trong bài giảng. Và chỉ cần giữ một mắt trên Google News và các nguồn lực khác sẽ mang lại tất cả các chi tiết của những điều này ra ánh sáng. Được rồi, chúng ta hãy kết luận với prequel này đội CS50 đã chuẩn bị cho bạn với dự đoán của các CS50 Hackathon. Và trên con đường của bạn trong một thời điểm, trái cây sẽ được phục vụ. [VIDEO PLAYBACK] [MUSIC Fergie, Q TIP, và GoonRock, "A Little BÊN bao giờ giết NOBODY (ALL WE GOT) "] - [Ngáy ngủ] [END Video PLAYBACK] DAVID J. Malan: Đó là nó cho CS50. Chúng ta sẽ thấy bạn vào ngày thứ Tư. [MUSIC - Skrillex, "Imma 'TRY IT OUT"]