דוד י מלאן: זה CS50, וזהו תחילתו של שבוע 10. אולי אתה זוכר שהראנו על מסך מדפסת 3D, ש הוא מכשיר זה ש לוקח סלילי הפלסטיק ולאחר מכן extrudes אותו על ידי חימום זה והמסתו כך שלאחר מכן אנחנו יכולים ליצור הצבא של צ'נג פילים, למשל. אז בבית Leverett, אם כי, לאחרונה אני היה משוחח עם אחד משלך חבריו לכיתה והידיד של צ'נג מישל בשם, שלמעשה נכלא ב חברה אחרת זה בשנה האחרונה ש יש טכניקה שונה לבעצם יצירת אובייקטים תלת-ממדיים, כמו הפיל הזעיר הזה כאן. בפרט, הדרך זה עובד הוא שזה דוגמא של משהו stereolithography נקרא, לפיה יש אגן זה של שרף או נוזלי, ולאחר מכן לייזר שביתות ש נוזל ובהדרגה, המכשיר, מעליות ומעליות ומרים את הדבר שאתה מדפיס כמו פיל, כנוזל שהופך יציב. והתוצאה, למעשה, הוא משהו ש הרבה יותר חזק מאשר כמה מ הפלסטיק ומתנות כמה מכם אולי היה לה. ומה צ'אנג חביב עשה לנו כאן היה עשה זמן לשגות תוך שימוש בתמונות במהלך שעה או יותר, כנראה, כדי לייצר את הבחור הזה כאן. שמישהו שאף פעם לא מגיע לפני רוצה לבוא פגעו התחל על סרטון זה? תן לי ללכת עם, מה לגבי שיש. בואו למעלה. בְּסֵדֶר. ואתה? לוק: קוראים לי לוק [לא ברור]. דוד י מלאן: היי, לוק. נחמד לפגוש אותך. לוק: נחמד לפגוש אותך. קהל: הוא רץ לUC. דוד י מלאן: אני יודע, אנחנו מנסים לא לקדם. בסדר, אז לוק, כל אתה צריך לעשות כאן בCS50 הוא פגע בשורת הרווח להדפיס הפיל הזה. [וידאו השמעה] - [זמזום מכונת] - [CRASH] - [בום] - [CRASH] [סוף הפעלת וידאו] דוד י מלאן: אז זה בדיוק מה זה כמו להדפסת 3D. והנה הפיל שלך. תודה על התנדבות. בְּסֵדֶר. אז שוב, למפרט ל פרויקט גמר, חומרה זו זה זמין לך חבר ' הוא, מסיבה כלשהי, יש הפרויקט שלך קצת צומת של תוכנה וחומרה, מבין את זה עכשיו אלה הם משאבים. אני רוצה לקחת רגע אחד לגעת על מאמר Crimson שיצא אתמול מאוחר בלילה, שהיה ל להודיע ​​שהבחור הזה כאן, דוד ג'ונסון, שהיה בכיר מחנך לEc 10 די הרבה זמן, הוא עוזב את אוניברסיטת הרווארד ב סוף השנה האקדמית. ואני רק רציתי לקחת רגע, בכנות, להודות דוד מול CS50. הוא היה מורה של מיני לנו לאורך השנים. ואני מרגיש שאנחנו, CS50, יש לי ולא גדל עם Ec 10 כאן, מאחר שהם ממש לפנינו. והוא וכל צוות בEc 10 יש היה נפלא אדיב, בכנות, כפי שאנו לסחוב בכל הציוד שלנו לפני כל שבוע, ושנים, סיפק הרבה יועצים כפי שהיינו סקרן לדעת איך הם פועלים Ec 10. אז תודתנו ו הערצה לדוד ג 'ונסון. [מחיאות כפות] עכשיו, unrelatedly, כך הסוף הוא אכן קרוב. אנחנו כאן בשבוע 10. ויש לנו רק כמה שבועות רשמיים כאן בכיתה עזב, ואחרי על ידי כמה אירועים. אז כדי לתת לך תחושה של מה באופק, הנה אנחנו כאן היום. ביום רביעי, כזכור, תהיה לנו הרצאת אורח על ידי לא אחרים מאשר סטיב באלמר של מיקרוסופט. אם עדיין לא הלך ל cs50.harvard.edu/register, לעשות זאת, שכן השטח יהיה מוגבל. והם יהיו לבדוק תעודות זהות בדלת היום הזה. אם לא היית כאן בשבוע שעבר, חשבתי שאולי כדאי להקניט אותך במבט שונה בסטיב וההתרגשות ש מחכה לנו ביום רביעי. [וידאו השמעה] -Passion. -We're הולך להיות הארדקור hardcore--. -Innovator. -Bill אמר, אתה לא מבין את זה. אנחנו הולכים לשים מחשב על כל שולחן ובכל בית, שהפך ל המוטו של החברה. אני נשבע, ביל המציא את זה באותו הלילה ממש לתת לי חלק מהחזון של למה אני צריך להגיד כן. מעולם לא הסתכלתי לאחור, באמת, אחרי ש. -Fresh ממכללה, הוא הצטרף הפעלה צעירה וסייע לה לצמוח לאחת מאמריקה של רוב העסקים המוצלחים אי פעם. חייו של ועסקי לקחים שנלמדו לאורך הדרך נתתי לו לחזור לו תשוקה ילדות ואהבה. וחוויות אלה הכינו שלו לאתגר הבא שלו בחיים. לא פגיע מקבל בום way-- שלנו! ממשיך להגיע הארדקור! עבור קליפרס! -זהו הוא סטיב באלמר, "במילים שלי". [END הפעלת וידאו] דוד י מלאן: --this יום רביעי CS50. ראש שוב לכתובת אתר זו כאן. באשר למה עוד באופק, בשבוע הבא, לא הרצאה ביום שני. אבל אנחנו נהיה הבאים ש על ידי חידון אחד ביום רביעי. עבור אל דף הבית של CS50 לפרטים על אנשים, מקומות, ופעמים לכל proctoring השונים לוגיסטיקה וכמו, כמו גם על סקירה מפגשים כי הם הקרובים. ואז, לבסוף, ביום שני, היום לפני השבוע של חופשת חג ההודיה, מבין את זה יהיה ההרצאה האחרונה שלנו. אנו משרתים עוגה וגדולה רב של התרגשות, אנחנו מקווים. עכשיו, כמה עדכונים אחרים. זכור כי המצב דו"ח, שהוא באמת רק אמור להיות אינטראקציה מזדמנת עם TF שלך למצב גאווה פשוט כמה רחוק יחד עם שלך פרויקט גמר אתה, או לפחות כשפיות לבדוק שאתה צריך להיות מתקרב לזה להצביע זמן קצר לאחר מכן. האקאתון אז אחרי ש. מבין האקאתון לא הזדמנות כדי להתחיל פרויקט הגמר שלך, אבל אמור להיות הזדמנות להיות באמצע או לקראת סוף פרויקט הגמר שלך, עם היישום בשל כמה ימים לאחר מכן, ואחריו הוגן CS50. עכשיו, הייצור של CS50 צוות, לפני כמה שנים, להרכיב טיזר ליריד CS50 ש חשבתי שנראה לכם היום, כי הם כבר היו קשים בעבודה על פריקוול של, וידאו חדש שנוכל להסיק היום עם. אבל הנה מה שמחכה לכם להוגן CS50 של השנה. [וידאו השמעה] - [לצלצול טלפון נייד] ["נושא של משימה בלתי אפשרי" MUSIC] [END הפעלת וידאו] דוד י מלאן: אז זה בדיוק איך סגירת הגשת פרויקט גמר. כמה עכשיו teasers-- אם אתה רוצה להצטרף לניק כאן לארוחת צהריים, כרגיל, זה יום שישי, הראש לכתובת אתר זו כאן. יתר על כן, אם אתה רוצה להצטרף ניק או ניק זה או אליסון זה או בכל חברי צוות של CS50, מבין ש, זמן קצר אחרי סוף הטווח, CS50 כבר להיות גיוס לצוות של השנה הבאה, לרשויות אישורים, TFS, מעצבים, מפיקים, חוקרים, ותפקידים אחרים כי כאן פועל CS50 הן ב מול ומאחורי הקלעים. אז אם זה עשוי להיות מעניין לך, ראש לכתובת אתר זו כאן. ותלמידים יותר נוחים, פחות נוח, ואי שם ב בין כאחד כולם מוזמן ועודדתי ליישם. אז זה היה תזמון מושלם ש, לא בדיחה, הבוקר, כשהתעוררתי, היה לי כאן ספאם זה בתיבת הדואר הנכנס שלי. זה באמת החליק באמצעות מסנן דואר הזבל של Gmail איכשהו ובסופו בתיבת הדואר הנכנס שלי בפועל. וזה אומר, "תיבת דואר יקרה למשתמש, בה אתם נמצאים שדרוג עד 4 ג'יגה-בתים של שטח. אנא היכנס לחשבון שלך על מנת לאמת את E-החלל. " ויש גם את כחול זה נחמד קישור מפתה יש ללחוץ על לסגל אקדמי וסגל, שלאחר מכן הוביל אותי אל דף בצורה נפלאה לגיטימי, ש ביקש ממני לתת להם את השם שלי וכתובת דואר אלקטרוני, וכמובן, סיסמא כדי לאמת מי אני וכן הלאה. אבל כמובן, כמו שתמיד קורה, אתם מגיעים לדף נחיתה זה, וכמובן, יש טעות דפוס אחת לפחות, אשר נראה כי המסמר ב ארון הקבורה של כל אחד מהונאות אלה. ואנחנו מתכוונים לכתוב, אולי, חלק אחר קישורים למיני צילומי המסך הבאים בעתיד. אבל אני מקווה, שרוב האנשים ב החדר הזה לא clicked-- או אפילו אם לחצת על כגון קישורים כמו זה, אתה לא הרחיק לכת עד ל למלא טפסים וכן הלאה. למעשה, זה בסדר אם יש לך. ננסה לתקן את זה היום, כי, אכן, השיחה של היום היא על אבטחה. ואכן, אחד מ מטרות של CS50 לא כל כך הרבה כדי ללמד אותך CE או PHP או JavaScript או SQL או כל אחד מאלה שבבסיס פרטי יישום. אבל זה כדי להעצים אותך כבני אדם כדי להפוך רק החלטות חכמה יותר כפי ש מתייחס לטכנולוגיה במורד כביש כך ש, בין אם אתה מהנדס או הומניסטי או מדען או כל תפקיד אחר, אתה עושה החלטות מושכלות לגבי השימוש במחשוב שלך, או אם אתה ב עמדת קבלת החלטות, בפוליטיקה, בפרט, אתה עושה הרבה, החלטות טובות בהרבה מ הרבה בני האדם היום היה. ואנו עושים זאת על ידי דרך של כמה דוגמאות. ראשון, הייתי די מופתע לאחרונה לגלות הבא. אז סיסמאות, כמובן, הם מה שרובנו להשתמש בו כדי להגן על הדואר האלקטרוני data-- שלנו, צ 'אט, וכל מיני סוגים של משאבים כמו ש. ורק על ידי awkward-- לא להראות של ידיים, אבל נראה נבוך של בושה, כמה מכם משתמשים באותה הסיסמה בהרבה אתרי אינטרנט שונים? אה, אוקיי, אז אנחנו נעשה את הידיים. אוקיי, אז הרבה שאתה עושה. כל מי שעושה את זה, רק למה? ומה? כן? קהל: זה קל להיזכר, משום ש אתה לא צריך לזכור [לא ברור]. דוד י מלאן: כן, זה קל לזכור. זה סביר לחלוטין, התנהגות רציונלית, אף על פי שהסיכון אתה מעמיד את עצמך במקרים אלה הוא רק אחד או יותר מאתרים אלה הוא פגיע לפריצות או ל חסר בטחון או את הסיסמה שלך פשוט כך מעצבן הזה לניחוש, כל אחד יכול להבין את זה. לא רק שחשבון אחד התפשר, אבל בתאוריה, כל חשבונות שיש לך באינטרנט. אז אני יודע שאני יכול לומר היום, לא להשתמש באותה הסיסמה בכל מקום, אבל זה הרבה יותר קל להגיד מאשר לעשות. אבל יש טכניקות ל מקלים בפרט חשש. עכשיו, אני במקרה, למשל, ל להשתמש בתכנית בשם 1Password. פופולרי נוסף אחד נקרא LastPass. וחבורה של שימוש צוות CS50 אחד או יותר מסוגים של כלים אלה. וסיפור ארוך קצר, ממסעדה אחת להיום צריך להיות, כן, אולי יש לך אותה הסיסמה בכל מקום, אבל זה מאוד קל לעשות כי כבר לא. לדוגמא, בימים אלה, אני יודע אולי אחד מעשרות או מאות שלי סיסמאות. כל סיסמאות האחרות שלי הם פסאודו אקראי נוצר על ידי אחת מהתוכניות אלה כאן. ועל קצה מזלג, ואפילו למרות שרוב התוכניות האלה נוטה לבוא עם קצת עלות, היית להתקין תוכנה כמו זו, אז היית לאחסן את כל שמות המשתמש וסיסמאות שלך בתוך תכנית זו ב שלך Mac או PC או מה שלא שלו, ואז זה יהיה מוצפן במחשב שלך עם מה אני מקווה ש סיסמא ארוכה במיוחד. אז יש לי חבורה שלמה של סיסמאות לאתרים ספציפיים, ואז יש לי באמת סיסמא ארוכה שאני להשתמש בו כדי לפתוח את כל אלה סיסמאות אחרות. ומה שיפה תוכנה כמו זה כי, כשאתה מבקר באתר זה מבקש את שם המשתמש והסיסמה שלך, בימים אלה, אני לא מקליד ב שם המשתמש שלי וסיסמא, כי, שוב, אני אפילו לא יודע מה שרוב סיסמאות שלי הם. אני במקום להכות מקלדת קיצור, שהתוצאה שלה הוא להפעיל תוכנה זו ל תנחה אותי לסיסמא המאסטר שלי. אני לאחר מכן הקלד אחד גדול ש סיסמא ב, ולאחר מכן הדפדפן ממלא באופן אוטומטי ב מהי הסיסמה שלי. אז באמת, אם אתה לוקח שום דבר אחר מהיום במונחים של סיסמאות, אלה הם תוכנות שהם שווים הורדה או להשקיע בכך שלפחות הפסקה יכול ההרגל הזה. ואם אתה הסוג זה באמצעות פתקים או like-- ורוב הסיכויים הם שלפחות אחד מכם is-- הרגל ש, מדי, די אם נאמרתי, צריך להיות שבור. עכשיו, יצאתי לי לגלות, כתוצאה של שימוש בתוכנה, הבא. אני מזמין הסדר מאכל, סל זה של פירות, לאחרונה. ואני מכה מקלדת המיוחדת שלי קיצור דרך לכניסה לאתר. והתוכנה מופעלת מוקפץ שאמרו, אתה בטוח ש את רוצה שאני באופן אוטומטי להגיש את שם המשתמש וסיסמא של זה? כיוון שהחיבור לא מאובטח. החיבור לא באמצעות HTTPS, למאובטח, באמצעות פרוטוקול זה ידוע כ SSL, של Secure Sockets Layer. ואכן, אם אתה מסתכל על החלק השמאלי העליון של האתר הזה, זה רק www.ediblearrangements.com, אין HTTPS, שהוא לא כל כך טוב. עכשיו, אני היה curious-- אולי זה רק באג בתוכנה. אין ספק, כמה אתר כמו זה שהרבה מאתנו מכיר הוא לפחות באמצעות הצפנה או HTTPS להיכנס לך. אז יש לי קצת מוזר הבוקר. ויש לי את כישורי CS50 שלי, פתחתי את Chrome המפקח. זה אפילו לא הרבה של מיומנות. זה פשוט פגע במקלדת תקין קיצור כדי לפתוח את זה. והנה חלון גדול המפקח של Chrome. אבל מה שהיה בפועל קצת טרגי ומגוחך היו שתי שורות אלה כאן. למעלה, בקצה, שים לב לכתובת האתר ל אשר את שם המשתמש והסיסמה שלי הוגשו. תן לי להתקרב. זה היה כאן זה. ואת כל זה הוא סוג של לא מעניין, מלבד הדבר כל הדרך ב השמאל, שמתחיל עם http: //. ואם כך, אישור, אולי הם פשוט שולחים שם המשתמש שלי, שהוא לא כזה ביג דיל. אולי הסיסמה שלי מקבלת נשלחה מאוחר יותר. שיהיה סוג של החלטת עיצוב מעניינת. אבל זה לא. אם לאחר מכן מסתכל על הבקשה מטען, שם המשתמש וסיסמא אני sent-- ולעגתי אלה לslide-- היו למעשה שנשלחו בברור. אז אתה הולך לאתר המסוים הזה ו להזמין הסדר מאכל כזה, ואכן, ככל הנראה, לכל זה זמן אני כבר מזמין מהם, שם המשתמש והסיסמה שלך הוא הולך על פני בברור. אז בכנות, זה הוא בלתי מתקבל על הדעת לחלוטין. וזה כל כך טריוויאלי להימנע מדברים כזה כמעצב של אתר וכפי שהמתכנת של אתר. אבל האוכל המוכן כאן ל לנו כמשתמשים של אתרים רק להעריך שכל מה שנדרש הוא לעיצוב אחד טיפש החלטה, החלטת עיצוב בלתי מוצדקת, כך שעכשיו, אם אתה יודע את הסיסמה שלי היא "ארגמני," על זה אתר, שיש לך כנראה רק נכנס לחבורה של כל אתרים אחרים שיש לי עכשיו. ואין הרבה של הגנה מפני ש אחר ממה שצ'אנג עשה את זה בבוקר. הוא הלך להסדרי מאכל, ש ממוקם במורד הרחוב בקיימברידג ', וקנה את זה מבחינה פיזית עבורנו. זה היה הרבה יותר בטוח מאשר שימוש באתר במקרה זה. אבל הפרט ללפקוח עין ל זה מה שבעצם הוא בראש הדפדפן למעלה יש. אבל גם זה יכול להיות קצת מטעה. אז אחר מעניין דוגמא ודרך של הגנה נגד זה-- ובעצם, בואו אין שfirst-- דרך להגן נגד זה היא טכניקה כי אנשי ביטחון היית קורא אימות דו-גורמים. האם מישהו יודע מה הפתרון לבעיות כמו זה אומר? מהו אימות דו-גורמים? או במילים אחרת, איך רבים מכם משתמשים בו? אוקיי, אז כמה אנשים ביישנים. אבל כן. אני ראיתי את היד שלך עולה. מהו אימות דו-גורמים? קהל: בעיקרון, בתוספת להקלדת הסיסמה שלך, יש לך גם [לא ברור] משנית נשלח באמצעות הודעת טקסט לטלפון שלך ב[ לא ברור]. דוד י מלאן: בדיוק. בנוסף לצורה ראשונית של אימות, כמו סיסמא, אתה ביקשת משני גורם, שהוא בדרך כלל משהו שיש לך מבחינה פיזית עליך, למרות שזה יכול להיות משהו אחר לגמרי. ודבר שהוא בדרך כלל טלפון סלולארי בימים אלה כדי שאתה מקבל שלח הודעת טקסט זמנית שאומרת "קוד הכניסה הזמנית שלך היא 12345" אז בנוסף לשלי סיסמא "ארגמן," אני גם צריך להקליד את כל מה ש באתר יש תמונות הללו, הועבר לי. או אם יש לך את זה עם בנק או חשבון השקעה, לפעמים יש לך אלה פלאגים קטנים ש למעשה יש פסאודו אקראי גנרטור מספר בנוי לתוכם, אבל את ההתקן ואת הבנק יודע מה הוא הזרע הראשוני שלך כך שהם יודעים, אפילו כ קוד קטן על fob המפתח הקטן שלך צועד בראש בכל דקה או שניים, שינוי ערכים, כך גם ששינוי בשווי על השרת של הבנק כך שהם באופן דומה יכולים לאמת אתה, לא רק עם הסיסמה שלך, אבל עם זה קוד זמני. עכשיו, למעשה אתה יכול לעשות את זה ב- Google. ולמען אמת, זה הרגל טובה להיכנס, במיוחד אם אתה משתמש ב Gmail כל הזמן בדפדפן. אם אתה רוצה ללכת לכתובת אתר זו כאן, שהוא ב השקופיות באינטרנט להיום, ולאחר מכן לחץ על 2-Step Verification, שלו דבר בפועל יש. תתבקש לתת להם את מספר הטלפון הסלולרי שלך. ולאחר מכן, כל פעם שאתה מתחבר ל Gmail, תוכל להיות לא רק ביקשתי לסיסמא שלך, אלא גם ל קוד קטן שמקבל נשלח לטלפון שלך באופן זמני. וכל עוד יש לך עוגיות מופעלות, וכל עוד אתה לא באופן מפורש כדי לצאת ממערכת, יהיה לך רק כדי לעשות את זה פעם בכמה זמן, כמו כשאתה מתיישב במחשב חדש. והפוך גם כאן, הוא, אם אתה לשבת בחלק סגנון קפה-אינטרנט מחשב או סתם המחשב של החבר, אפילו אם חבר ש בזדון או שלא במודע יש כמה וגר מקלדת מותקן במחשב שלו או שלה, כל מה שאתה כזה הסוג הוא להיות מחובר, לפחות שהגורם שני, ש קוד זמני, הוא בן חלוף. כך הוא או היא או מי שזה התפשר המחשב לא יכול להתחבר לך לאחר מכן, גם אם כל דבר אחר היה פגיע או אפילו לא מוצפן לחלוטין. יש פייסבוק זה, גם, עם כתובת אתר שכאן, שבו אתה יכול ללחוץ על אישורי כניסה. אז הנה, גם, אם אתה לא רוצה חברים כדי לתקוע אנשים, אתה לא רוצה להיות מציץ בפייסבוק או פרסום עדכוני סטטוס בשבילך, אימות דו-גורמים כאן הוא כנראה דבר טוב. ויש גם את זה טכניקה אחרת לגמרי, רק ביקורת, וזה אפילו דבר טוב עבורנו בני האדם, אם שני גורמים מוכיחים מעצבן, ש, אמנם, זה יכול, או שזה פשוט לא זמין באתר אינטרנט, מינימאלי מסוימות לשים עין על אם וכאשר אתה מתחבר לאתרים, אם הם מאפשר לך, היא טכניקה טובה, גם. אז פייסבוק גם נותן לך את זה כוללות התראות כניסה, לפי בכל עת בפייסבוק מבין, HM, יש דוד מחובר מכמה מחשב או טלפון שמעולם לא ראו לפני כן מ כתובת ה- IP שנראה לא מוכר, הם לפחות ישלחו לך דוא"ל לכתובת הדוא"ל כל מה ש יש לך בקובץ, ואמר, האם זה נראה חשוד? אם כן, לשנות את הסיסמה שלך באופן מיידי. וכך גם שם, רק ביקורת התנהגות גם לאחר שכבר התפשר, יכול לפחות לצמצם את החלון זמן שאתה פגיע. בסדר, כל שאלות בדברים שעד כה? היום הוא היום כדי לקבל את כל הפרנויה שלך אישרה או הכחישה. זה בעיקר אישר, בעצב. כן? קהל: [לא ברור] טלפון, מה אם ההפסקות בטלפון שלך, ואז זה תמיד קשה verify-- דוד י מלאן: נכון. קהל: או אם אתה בשונה מדינה, והם לא נותנים לך להיכנס כי [לא ברור]. דוד י מלאן: בהחלט. ולכן אלה הם נוספים עלויות שתיגרמנה לך. תמיד יש את הנושא הזה של trade-off, אחרי הכל. ולאחר מכן, אם אתה מאבד את הטלפון שלך, אם זה נשבר, אם אתה בחו"ל, או פשוט אין לך אות, כמו 3G או אות ה- LTE, אולי לא שאתה באמת יהיה אפשרות לאמת. אז שוב, שני אלה הן פשרות. ולפעמים, זה יכול ליצור הרבה עבודה בשבילך כתוצאה מכך. אבל זה באמת תלוי, אז, ב מה המחיר הצפוי לך הוא הוויה משהו התפשר לגמרי. אז SSL, אם כן, הוא בטכניקה זו ש כולנו בדרך כלל לוקחים כמובן מאליו או להניח שם, אף על פי ש זה בבירור לא המקרה. ואתה עדיין יכול להטעות אנשים, אם כי, גם עם זה. אז הנה דוגמא של בנק. זה בנק אוף אמריקה. יש חבורה של אלה כל בהרווארד סקוור ומעבר. ושים לב ש, בחלקו העליון של המסך, יש, אכן, HTTPS. וזה אפילו ירוק והדגיש לנו כדי לציין שזה אכן אתר לגיטימי מאובטח, או אז אנחנו כבר מאומנים להאמין. עכשיו, חוץ מזה, אם כי, שמתי לב שאם להתקרב, יש את הדבר הזה כאן, שבו אתה מתבקש להיכנס. מה מנעול זה אומר תקין שם, ליד שם המשתמש שלי יבקש? זה די נפוץ באתרי אינטרנט, גם. מה המנעול הזה אומר? אתה נראה כמו שאתה יודע. קהל: זה לא אומר שום דבר. דוד י מלאן: זה לא אומר כלום. זה אומר שהבנק אוף אמריקה יודע איך כדי לכתוב HTML עם תגי תמונה, נכון? זה באמת לא אומר כלום, כי גם אנו, באמצעות ביום הראשון של המבט שלנו ב- HTML, יכול לקודד את עמוד עם רקע אדום ותמונה, כמו GIF או מה שלא, ש קורה לנראה כמו מנעול. ובכל זאת, זה סופר נפוץ באתרי אינטרנט, כי אנחנו כבר הוכשרנו להניח כי, אה, מנעול הפירוש מאובטח, כאשר זה באמת רק אומר שאתה יודע HTML. לדוגמא, חזרה היום, אני יכול יש רק לשים את זה באתר שלי, בטענה שזה מאובטח, ושואל, ביעילות, לשמות המשתמש וסיסמאות של אנשים. אז מחפש בכתובת האתר הוא לפחות רמז טוב יותר, כי זה מובנה בתוך Chrome כל דפדפן או אתה משתמש. אבל גם אז, לפעמים דברים יכולים להשתבש. ולמעשה, אתה אולי לא תמיד לראות HTTPS, שלא לדבר בירוק. האם מישהו מכם אי פעם ראה מסך כזה? ייתכן שתהיה, למעשה, מוקדם יותר באוקטובר, כאשר שכחתי לשלם עבורנו תעודת SSL, כפי שהוא נקרא, ואנחנו מחפשים כמו זה לשעה או שעות. אז אתה בטח כבר ראית דברים ככה, עם שביתה-דרך, כמו קו אדום, דרך הפרוטוקול בכתובת ה- URL או איזה סוג של מסך זה לפחות מנסה להוכיח לך למנסה להמשיך הלאה. ו- Google כאן מזמין לך לחזור למקום מבטח. עכשיו, במקרה זה, זה רק אומר ש אישור SSL שאנו משתמשים, המספרים הגדולים, מבחינה מתמטית שימושיים הקשורים לשרת של CS50, כבר לא היו בתוקף. ולמעשה, אנו יכולים לדמות זה, כפי שאתה יכול במחשב הנייד שלך. אם אני הולך ל- Chrome כאן, ובואו נלך לfacebook.com, וזה נראה כאילו זה הוא מאובטח. אבל תן לי ללכת קדימה עכשיו ו לחץ על המנעול כאן. ותן לי ללכת לחיבור, מידע תעודה. ואכן, מה שאתה רואה כאן היא חבורה פרטים ברמה נמוכה יותר של כ שfacebook.com הוא באמת. נראה כי הם שילמו כסף ל חברה בשם אולי DigiCert גבוה הבטחה שהבטיחה לספר את סופו של העולם כי, אם דפדפן לא רואה certificate-- שאתה יכול לחשוב על זה כעל תעודה, פשוטו כמשמעו, ש נראה כמו דבר זול בראש left-- אז הוא facebook.com שהם אומרים הם, משום שכל הזמן הזה, כאשר אתה מבקר באתר, כמו cs50.harvard.edu או facebook.com או gmail.com שהשתמש ב- HTTPS כתובות, מאחורי הקלעים, יש סוג כזה של עסקה קורה באופן אוטומטי בשבילך, לפיה facebook.com, במקרה זה, שולח לדפדפן שלה מה שנקרא אישור SSL, או לייתר דיוק, המפתח הציבורי שלה, ולאחר מכן את הדפדפן שלך משתמש שמפתח הציבורי לשלוח לאחר מכן מוצפן תנועה אליו וממנו. אבל יש כל היררכיה זו בעולם של חברות כי אתה משלם כסף כדי שיהיה אז להעיד, במובן דיגיטלי, שאתה אכן facebook.com או השרת שלך הוא אכן cs50.harvard.edu. ונבנה לתוך דפדפנים, כמו כרום ואקספלורר ופיירפוקס, רשימה של כל אלה מה שנקרא רשויות אישורים שאושרו על ידי מיקרוסופט וגוגל ומוזילה לאשר או להכחיש ש facebook.com הוא שזה אומר זה. אבל המלכוד הוא ש הדברים האלה יפוגו. למעשה, פייסבוק של נראה כמו הוא יפוג באוקטובר הבא, בשנת 2015. אז אנחנו באמת יכולים לדמות את זה אם אני ללכת ב- Mac שלי למערכת העדפות שלי, ואני נכנסתי לתאריך ושעה, ו אני נכנסתי לתאריך ושעה כאן, ואני פותח here-- זה לשמחתי, אנו לא חשפנו את סיסמא time-- זה ועכשיו אני יורד לבטל את הסימון הזה. ובואו actually-- אופס, זה לא מעניין כמו עושה את זה. אנחנו ממש בעתיד עכשיו, מה שאומר שזה מה שהוא 2020 כמו. אם אני עכשיו לטעון מחדש את page-- בואו נעשה את זה בIngognito mode-- אם אני לטעון מחדש את הדף, יש לנו ללכת. אז עכשיו, המחשב שלי חושב ש זה 2020, אבל הדפדפן שלי יודע שתעודה זו מ פייסבוק פג, כמובן, בשנת 2015. אז זה נותן לי את ההודעה האדומה הזה. עכשיו, תודה לאל, דפדפנים כמו Chrome למעשה יש עשיתי את זה די קשה להמשיך בכל זאת. הם אכן רוצים אותי לחזור למקום מבטח. אם אני לוחץ כאן על Advance, זה הולך להגיד לי עוד כמה פרטים. ואם אני באמת רוצה כדי להמשיך, הם יתנו לי לי ללכת לfacebook.com, שהוא, שוב, ובשלב זה, לא בטוח אני תראה את דף הבית של פייסבוק, כמו זה. אבל דברים אז אחרים נראה שיש שבירה. מה כנראה לשבור בנקודה זו? קהל: JavaScript. דוד י מלאן: כמו JavaScripts ואו / CSS קבצים באופן דומה נתקל בשגיאה ש. כך שזה רק מצב רע הכולל. אבל הנקודה כאן היא שלפחות פייסבוק אכן SSL פעיל לשרתים שלהם, כמו אתרי אינטרנט רבים, לעשות, אבל לא בהכרח בכל. אבל זה לא לבד ממסעדה כאן. מתברר שגם SSL הודגם להיות בטוח בדרך כלשהי. אז סוג של אני רומז SSL ש, טוב. חפש כתובות HTTPS, והחיים הוא טוב, משום שכל תנועת HTTP שלך וכותרות ותכנים מוצפנים. אף אחד לא יכול ליירטו ב אמצע, פרט לאדם שנקרא באמצע. זוהי טכניקה כללית בעולם של אבטחה הידועה כהתקפת man-in-the-middle. נניח שאתה זה קטן מחשב נייד לכאן משמאל, ותניח שאתה מנסה לבקר שרת שם בצד הימין, כמו facebook.com. אבל נניח ש, ב בינך ובין פייסבוק, היא חבורה של שרתים אחרים כל ו ציוד, כמו מתגים ונתבים, שרתי ה- DNS, שרתי DHCP, אף אחד מהם אנו שולטים. זה יכול להיות נשלט על ידי סטארבקס או הרווארד או קומקסט או משהו דומה. ובכן, נניח שמישהו בזדון, ברשת שלך, בינך לבין פייסבוק, הוא מסוגל להגיד לך ש, אתה יודע מה, את כתובת ה- IP של פייסבוק היא לא מה שאתה חושב שזה. זה IP זה במקום. וכך הדפדפן זה מרומה לתוך מבקש תנועה מאחרת מחשב לגמרי. ובכן, נניח שמחשב ש פשוט מסתכל על כל של התנועה שאתה מבקש מ פייסבוק וכל דפי האינטרנט שאתה מבקש מפייסבוק. וכל פעם שהוא רואה בתנועה שלך URL המתחילה ב- HTTPS, זה דינמי, ב לטוס, משכתב אותו כHTTP. וכל פעם שהוא רואה מיקום כותרת, מעי גס מיקום, כמו שאנו משתמשים כדי לנתב מחדש המשתמש, אלה, מדי, ניתן לשנות על ידי האיש הזה ב האמצע מHTTPS ל- HTTP. אז למרות שאתה יכול את עצמך חושב שאתה בפייסבוק האמיתי, זה לא כל כך קשה ל יריב עם גישה פיזית לרשת שלך לפשוט תחזיר את הדפים לך ש נראה כמו Gmail, ש נראה כמו פייסבוק, ואכן את כתובת האתר היא זהה, כי הם מעמיד פנים שיש כי אותו שם מארח בגלל כמה ניצול של DNS או מערכת אחרת כמו ש. והתוצאה, ולאחר מכן, היא רק שאולי אנחנו בני האדם להבין ש, אישור, זה נראה כמו Gmail או לפחות גרסה הישנה יותר, כמו שקופית זו מ מצגת מבוגרת. אבל זה נראה כמו זה-- http://www.google.com. אז הנה, גם המציאות הוא שכמה ממך, כשאתה הולך לפייסבוק או Gmail או כל אתר אינטרנט ואתה יודע משהו קטן על SSL, כמה מכם פיזי הקלד https: // ולאחר מכן באתר האינטרנט שם, הזן. רובנו פשוט להקליד, כמו, CS50, לחץ על Enter, או F-לפייסבוק ולחץ על Enter, ולתת לו השלמה אוטומטית. אבל מאחורי הקלעים, אם אתה צופה תנועת HTTP שלך, יש כנראה כל חבורה כותרות מיקום אלה ששולח לך מ פייסבוק www.facebook.com לhttps://www.facebook.com. אז זה עסקות HTTP אחד או יותר שבו המידע שלך הוא לחלוטין נשלח בברור, לא הצפנה כלשהי. עכשיו, כי לא יכול להיות כל כך גדול להתמודד אם כל מה שאתה אתה מנסה לעשות גישה בדף הבית, אתה לא שליחת שם המשתמש והסיסמה שלך. אבל מה זה מתחת מכסה המנוע, במיוחד עבור אתרי אינטרנט המבוסס על PHP כי גם נשלח קדימה ואחורה כאשר אתה מבקר כמה דף אינטרנט אם שמשתמש באתר האינטרנט, למשל, PHP ומיישם פונקציונלי כמו pset7? מה שנשלח הלוך ושוב בכותרות HTTP שלך שנתן לך גישה לזה די שימושי סופר הגלובלי ב- PHP? קהל: עוגיות. דוד י מלאן: עוגיות, במיוחד של קובץ העוגייה sess PHP. אז זוכר, אם אנחנו הולכים ל, למשל, שוב cs50.harvard.edu, אבל הפעם, בואו לפתוח את כרטיסיית רשת, ועכשיו, עד כאן, בואו, פשוטו כמשמעו, פשוט ללכת לhttp://cs50.harvard.edu ולאחר מכן לחץ על Enter. ואז להסתכל על המסך כאן למטה. שים לב שאנו אכן קיבלנו בחזרה 301 עברו באופן קבוע הודעה, מה שאומר ש יש כותרת מיקום כאן, אשר כעת מנתב אותי לHTTPS. אבל לתפוס את זה כי, אם כבר היה לי עוגייה מוטבעת על היד שלי כמעט, כפי שאמרנו לפני, ו אני מהסוג האנושי של ביודעין רק לבקר בחסר הביטחון גרסה, והדפדפן שלי לוקח את זה על עצמו כדי להראות שיד חותמת ל הבקשה הראשונה, שהוא דרך HTTP, כל אדם באמצע, כל יריב באמצע, באופן תיאורטי יכול רק לראות כותרות HTTP אלה, רק כמו שאנחנו מסתכלים עליהם כאן. זה רק ברגע שאתה מדבר HTTPS כתובת URL אינה שיד הבול עצמו לקבל מוצפן, קיסר לה או Vigenere, אבל עם אלגוריתם מגדלת לגמרי. אז הנה, גם, אפילו אם אתרים להשתמש ב- HTTPS, אנו בני אדם הורגלו, הודות לטכניקות אוטומטיות מלאה ואחרות, אפילו לא חושב על ההשלכות האפשריות. עכשיו, יש דרכים לעקוף את זה. לדוגמא, רב ניתן להגדיר אתרים כך שברגע שיש לך ביד זה חותמת, אתה יכול לומר לדפדפן, יד חותמת זו היא רק לחיבורי SSL. הדפדפן לא צריך להציג לי את זה, אלא אם כן זה נגמר SSL. אבל אתרי אינטרנט רבים אל תטרחו עם זה. ואתרי אינטרנט רבים, ככל הנראה, לא טורח אפילו עם SSL בכל. אז במשך יותר על זה, יש למעשה עוד יותר לכלוך במצגת זו שבחור נתן שבנקרא שחור כנס כובע לפני כמה שנים, שבו יש אפילו אחר אנשי טריקים זדוניים השתמשו. אתם אולי זוכרים את זה רעיון של favicon, ש זה כמו קצת logo זה לעתים קרובות בחלון של הדפדפן. ובכן, מה היה נפוץ בקרב הרעים הוא לעשות סמלי fab שנראים כמו מה? קהל: [לא ברור]. דוד י מלאן: תגיד שוב? קהל: אתרים. דוד י מלאן: לא אתר אינטרנט. אז favicon, סמל קטנטן. מה יהיה ביותר דבר זדוני, מניפולטיבי אתה יכול לעשות באתר שלך של סמל ברירת מחדל נראה? קהל: נעילה ירוקה. דוד י מלאן: מה זה? קהל: נעילה ירוקה קטנה. דוד י מלאן: כמו נעילה ירוקה, בדיוק. אז אתה יכול לקבל את זה אסתטי של מנעול קטן וירוק, רומזים לעולם, אה, אנחנו לאבטח, כאשר, שוב, כל זה אומר הוא שאתה יודע קצת HTML. אז חטיפת הפעלה מתייחס לבדיוק את זה. אם יש לך מישהו שהוא סוג של מרחרח את גלי האתר בחדר הזה כאן יש לו או גישה פיזית ל רשת ויכול לראות את העוגיות שלך, הוא או היא יכולה לתפוס ש קובץ עוגיית sess PHP. ולאחר מכן, אם הן מתמצא מספיק כדי לדעת כיצד לשלוח עוגייה שכמו שלהם יד חותמת רק על ידי העתקת הערך ש ושליחת כותרות HTTP, מישהו יכול מאוד בקלות להיכנס לכל אחת מפייסבוק חשבונות או חשבונות Gmail או חשבונות טוויטר שנמצאים כאן, פתוחים בחדר, אם אתה לא משתמש ב- SSL ואם אתר האינטרנט הוא לא באמצעות SSL בצורה נכונה. אז בואו מעבר לעוד אחד. אז עוד סיפור אמיתי. וזה רק פרץ ב חדשות לפני שבוע או שבועות. Verizon כבר עושה דבר מאוד רע, וכמו שהאנשים הטובים ביותר יכולים להגיד, לפחות מאז 2012, לפיה, בעת גישה לאתרים באמצעות ורייזון טלפון סלולארי, מה שיצרן זה, הם היו תעוזה, כסיפור הולך, הזרקה לכל HTTP שלך תנועת כותרת HTTP שלהם. ושמראה הכותרת כמו זה-- X-UIDH. UID הוא כמו ייחודי מזהה או זיהוי משתמש. וX רק אומר את זה הוא מותאם אישית כותרת זה לא סטנדרטי. אבל מה זה אומר הוא שאם אני מושך למעלה, למשל, כל אתר אינטרנט על here-- הטלפון שלי ואני משתמש ב- Verizon כcarrier-- שלי לא למרות שאולי הדפדפן שלי תשלח את זה HTTP כותרת, ורייזון, ברגע כאות מגיעה מגדל טלפון סלולארי אי שם, כבר כמה זמן שהזריק את כותרת לכל תעבורת HTTP. למה הם עושים את זה? מן הסתם מסיבות מעקב, מסיבות פרסום. אבל החלטת העיצוב המטומטמת כאן היא שכותרת HTTP, כאתם יודעים מpset6, הוא קיבל על ידי כל שרת אינטרנט שאתה מבקש תנועה של. אז כל הזמן הזה, אם אתה כבר מבקר פייסבוק או Gmail או כל אתר אינטרנט שאינו משתמש ב- SSL כל time-- ולמעשה, אלה שתי תודה לאל עכשיו do-- אבל אתרים אחרים ש לא להשתמש ב- SSL בכל הזמן, ורייזון יש בעצם כבר נטיעה, בכוח, יד חותמת על כולנו ידיים שאפילו אנחנו לא רואים, אלא, אתרי הסוף לעשות. וכך זה לא היה ש קשה לכל אחד באינטרנט מפעיל שרת אינטרנט ל מבין, אוו, זה דוד, או, אוו, זה דיווין, גם אם אנחנו קפדני על שחרור העוגיות שלנו, כי זה לא בא מאיתנו. זה מגיע מהספק. הם עושים את בדיקה על מספר הטלפון שלך ואז אומר, אה, זה הוא דוד. תן לי להזריק מזהה ייחודי כל כך שיכולים מפרסמים או מי לעקוב אחר זה. אז זה בעצם מאוד, מאוד, מאוד רע ומחריד. ואני הייתי ממליץ לך תסתכל, למשל, בכתובת זו, שבו אני צריך מתנער למעשה ניסיתי את זה הבוקר. כתבתי קצת תסריט, לשים אותו בכתובת הזו, ביקר אותו עם Verizon שלי טלפון סלולארי לאחר הפעלת Wi-Fi כבוי. אז אתה צריך לפנות Wi-Fi כבוי, כך ש אתה משתמש 3G או LTE או משהו דומה. ולאחר מכן, אם אתה מבקר ב כתובת אתר זו, כל התסריט הזה עושה בשבילכם, אם אתה רוצה לשחק, הוא זה יורק את מה HTTP כותרות הטלפון שלך שולח לשרת שלנו. ואני באמת, בהגינות, עשיתי לא רואה את זה בבוקר, זה ש גורם לי לחשוב או המקומי מגדל טלפון סלולארי הייתי מחובר ל או מה שלא הוא לא עושה את זה, או שהם נסוג לעשות את זה באופן זמני. אבל לקבלת מידע נוסף, ראש לכתובת אתר זו כאן. ועכשיו לזה-- זה קומיקס יכולים להיות הגיוניים. לא? אישור. בְּסֵדֶר. שמת. בְּסֵדֶר. אז בואו נסתכל על עוד כמה התקפות, לו רק כדי להעלות את המודעות ל ואז להציע כמה פתרונות אפשריים כך שאתה כל מודע יותר. זו אחת שדיברנו על השני היום, אבל לא נתן לזה שם. זה זיוף בקשה בין אתרים, ש היא דרך מוגזמת מפוארת לומר אתה להערים משתמש ללחיצה על כתובת כמו זו, שטריקיהם להתנהגות מסוימת ש הם לא התכוונו. במקרה זה, זה נראה שהוא מנסה להערים עליי למכירת המניות שלי של Google. וזה לא יצליח אם אני, מתכנת של pset7, לא עשה מה? או לייתר דיוק, באופן כללי יותר, במה ש מקרים אני פגיע להתקפה אם טריקים מישהו משתמש אחר ללחיצת כתובת כמו זו? כן? קהל: אתה אינו מבחין בין לקבל ולפרסם. דוד י מלאן: טוב. אם אנחנו לא להבחין בין לקבל ולפרסם, ואכן, אם אנחנו מאפשרים תקבל עבור מכירת דברים, אנחנו מזמינים התקפה מסוג זה. אבל אנחנו יכולים עדיין להקטין אותו במידה מסוימת. והערתי, אני חושב, בשבוע שעבר כי אמזון לפחות מנסה למתן את זה עם טכניקה זה די פשוט. מה היה דבר חכם לעשות להיות בשרת שלך, ולא רק בעיוורון המכירה כל מה שסמל המשתמש מקליד? קהל: אישור של מיני? דוד י מלאן: אישור מסך, משהו שקשור אינטראקציה אנושית כך שאני נאלץ לבצע את שיחת השיפוט, גם אם אני כבר לחצתי בתמימות קישור שנראה כך והוביל אותי אל מסך התא, ב לפחות ביקש ממני לאשר או להכחיש. אבל לא התקפה נדירה, במיוחד בהתחזות או כמו דואר זבל שנקרא התקפות. עכשיו, זה אחד מהם קצת יותר עדין. זוהי התקפת Scripting בין אתרים. וזה יקרה אם שלך אתר אינו משתמש המקבילה של htmlspecialchars. וזה לוקח קלט ממשתמש ורק באופן עיוור הזרקתו לדף אינטרנט, כמו עם הדפסה או הד, with-- again-- את קורא משהו כמו htmlspecialchars. אז נניח האתר ב שאלה היא vulnerable.com. ונניח שהיא מקבלת פרמטר שנקרא Q. תסתכל על מה שעלול לקרות אם אני באמת, בחור רע, להקליד או להערים משתמש ל מבקר ב- URL שנראה כמו זה-- q = תג תסריט פתוח, סגור תג סקריפט. ושוב, אני מניח ש vulnerable.com שאינו הולך להפוך מסוכן דמויות כמו סוגריים פתוחים לישויות HTML, אמפרסנד, L-T, דבר פסיק שייתכן שלא ראה לפני. אבל מה הוא את התסריט או קוד JavaScript אני מנסה להערים משתמש לתוך ביצוע? ובכן, document.location מתייחס לכתובת הנוכחית של הדפדפן שלי. אז אם אני עושה document.location =, זה מאפשר לי להפנות את המשתמש ב- JavaScript לאתר אחר. זה כמו פונקצית PHP שלנו להפנות, אבל נעשה ב- JavaScript. לאן אני מנסה לשלוח את המשתמש? ובכן, ככל הנראה, badguy.com/log.php, וזה קצת תסריט, ככל הנראה, האיש הרע כתב, שלוקח פרמטר שנקרא עוגייה. ושים לב, מה לעשות אני נראה שרשור על סוף שסימן השוויון? ובכן, משהו ש אומר document.cookie. לא דברנו על זה. אבל מתברר, ב JavaScript, בדיוק כמו ב- PHP, אתה יכול לגשת לכל קבצי ה- Cookie שהדפדפן שלך הוא בעצם שימוש. אז ההשפעה של זה אחד שורת קוד, אם משתמש מתפתה ללחיצה על קישור זה וvulnerable.com האתר אינו לברוח ממנו עם htmlspecialchars, הוא שאתה צריך רק ביעילות הועלה לlog.php כל העוגיות שלך. וזה לא תמיד כי בעייתי, אלא אם אחת מהעוגיות האלה הוא מזהה ההפעלה שלך, שלך מה שנקרא יד חותמת, ש משמעות הדבר היא badguy.com יכול לעשות או שלה בקשות HTTP, שולחים אותה היד בול, שאותה כותרת עוגייה, ולהיכנס לכל אתר אתה מבקר, אשר ב מקרה זה הוא vulnerable.com. זה Scripting באתר התקפה במובן כי אתה סוג של הטעיית אתר אחד לסיפור אתר אחר על חלק מהמידע לא צריך, למעשה, יש לו גישה ל. בסדר, מוכן לאחד פרט מדאיג אחר? בסדר, העולם הוא מקום מפחיד, באופן לגיטימי כל כך. הנה פשוט דוגמא JavaScript זה בקוד המקור של היום מיקום גיאוגרפי הנקרא 0 ו -1. ויש כמה ערוצים מקוונים לכך. וזה הבא אם אני לפתוח דף אינטרנט זה בכרום. זה לא עושה כלום ראשון. אישור, אנחנו מנסים שזה ילך שוב. אה. אין, זה צריך לעשות משהו. אישור, עומד על. בואו לנסות את זה פעם נוספת. [לא ברור] אה, אוקיי, לא בטוח למה the-- הו, המכשיר כנראה איבד את האינטרנט גישה מסיבה כלשהי. בסדר, כל כך יקרה לי, יותר מדי. טוב, אז הודעה מה קורה כאן. כתובת אתר זו למראה מסתורי, ש הוא רק אחד משרת CS50, רוצה להשתמש במחשב שלי מיקום, כמו מבחינה פיזית זה אומר. ואם, אכן, אני לוחץ על לאפשר, בואו לראות מה קורה. ככל הנראה, זה הוא קו הרוחב הנוכחי שלי אורך והרוחב מרכז את לרזולוציה די טובה לעזאזל. אז איך הגיע בזה? איך עושה את האתר הזה, כמו שרת CS50, יודע פיזי שבו בעולם אני, שלא לדבר עם דיוק ש. ובכן, מתברר out-- בואו פשוט להסתכל source-- של הדף כי כאן היא חבורה של HTML ב התחתון שיש לי ראשון זה-- onload גוף = "geolocate" - רק פונקציה שכתבתי. ואני אומרת, בטעינה הדף, קורא geolocate. ואז אין שום דבר בגוף, משום ש בראש הדף, שים לב למה שיש לי כאן. הנה פונקצית geolocate שלי. וזו רק איזו שגיאת checking-- אם הסוג של navigator.geolocation לא מוגדר. אז JavaScript יש את זה מנגנון שבו אתה אפשר לומר, מה הוא סוג של משתנה זה? ואם זה לא undefined-- משמעות הדבר הוא שכמה value-- אני הולך להתקשר ל navigator.geolocation.getCurrentPosition ולאחר מכן לחיוג חוזר. מה זה? אז באופן כללי, מה הוא ההתקשרות, רק שתהיה ברורה? ייתכן שנתקלת ב זה כבר בpset8. Callback זה גנרי טווח לעשות את מה? מרגיש כמו רק לי היום. קהל: [לא ברור]. דוד י מלאן: בדיוק, פונקציה שצריך להיקרא רק כאשר יש לנו נתונים. קריאה זו לדפדפן, תקבל הנוכחית שלי עמדה, עלול לקחת אלפית שנייה אחת, זה עלול לקחת דקות. מה שזה אומר זה שאנחנו אומרים לי שיטת getCurrentPosition הגט, קורא פונקציה של קריאה חוזרת זה, שאני התקשרות בשם, פשוטו כמשמעו, לפשטות, ש ככל הנראה הוא זה כאן. והדרך getCurrentPosition עובדת, פשוט על ידי קריאת התיעוד עבור חלק מקוד JavaScript מקוון, הוא שהיא מכנה שכביכול התקשרות פונקציה, מעביר אותו ל זה אובייקט JavaScript, בתוכה הוא .coords.latitude ו.coords.longitude, וזה בדיוק איך, אז, כשאני מחדש דף זה, הייתי מסוגל לראות את המיקום שלי כאן. עכשיו, לפחות הייתה הגנה כאן. לפני שבקרתי בדף זה, כשזה עבד בפועל, מה שאני לפחות תתבקש ל? קהל: [לא ברור]. דוד י מלאן: כן או no-- לעשות אתה רוצה לאפשר או למנוע את זה? אבל תחשוב גם על ההרגלים אתם כנראה אימצו, גם בטלפונים שלך והדפדפנים שלך. רבים מאיתנו, את עצמי כלל, הם כנראה די נטייה אלה days-- לראות מוקפץ, הזינו, אישור, אישור, אפשר. ויותר ויותר, אתה יכול לשים את עצמך בסיכון לסיבות אלה. כך שלמעשה, לא היה באג הנפלא הזה כמה שנות ago-- או חוסר feature-- שהיה לי iTunes לפני כמה שנים, לפי, אם היה לך טלפון סלולארי, וזה היה iPhone, ושיצאת מהבית שלך ולכן נסע ברחבי העולם או השכונה, כל הזמן הזה, הטלפון שלך היה כניסה שבו אתה נמצא באמצעות GPS. וזה בעצם גילה, ואנשים מהסוג של מצפים עכשיו זה. הטלפון שלך יודע איפה אתה נמצא. אבל הבעיה הייתה ש, כאשר אתה מגבה הטלפון לiTunes-- זה היה לפני הימים של iCloud, שהוא לטוב או לworse-- הנתונים יאוחסן ב- iTunes, לא מוצפן לחלוטין. אז אם יש לך משפחה או שותפים או שכן זדוני מי סקרן לגבי פשוטו כמשמעו, בכל GPS לתאם לך אי פעם בקר ב, הוא או היא יכולה פשוט לשבת ב- iTunes, לרוץ כמה תוכנות שהיו באופן חופשי ומפות זמינות, תוצרת כמו זה. למעשה, זה מה שאני מיוצר מהטלפון שלי. חיברתי אותו ב. וזה נראה כמו, מבוסס בנקודות הכחולות יש, זה שבו רוב קואורדינטות ה- GPS היו נרשם על ידי iTunes ש היה בצפון המזרח יש. אבל אני כנראה נסעתי ברחבי קצת, אפילו בתוך מסצ'וסטס. אז זה נמל בוסטון יש בצד הימין. זה סוג של קיימברידג 'ו בוסטון, שבו זה האפל ביותר. ומדי פעם, הייתי רץ סידורים לגאוגרפיה גדולה יותר. אבל iTunes, במשך שנים, היה, כטוב ביותר את כל הנתונים הללו אני יכול לספר, עליי. אתה יכול להגיד ש, באותה שנה, הייתי למעשה נסעתי הרבה בין בוסטון ובניו יורק, הולכת הלוך ושוב ושוב ושוב. ואכן, זה אני על אמטרק, גב ושוב, הלוך ושוב, לא מעט. וכל זה היה להיות מחובר מאוחסן מוצפן במחשב שלי לכל מי שיש לי גישה למחשב שלי. זה היה מדאיג. אני לא יודע למה אני בפנסילבניה או למה הטלפון שלי היה בפנסילבניה, כנראה די צפוף. ואז, סוף סוף, הסתכלתי בGcal שלי, ו, הו, אני ביקרתי CMU, קרנגי מלון, בזמן. ואוף, זה סוג של הסביר נקודת אור ש. ולאחר מכן, אם תתקרב את עוד יותר, אתה יכול רואה שבקרתי בסן פרנסיסקו אחד או יותר ולאחר מכן פעמים, והיה לי אפילו חניית ביניים במה אני חושב שהוא וגאס, שם למטה. אז כל זה-- רק חניית ביניים, בשדה התעופה. קהל: [שחוק] אז זה רק כדי לומר שמדובר ב בעיות, בכנות, הם בכל מקום. וזה רק מרגיש יותר ויותר כאילו יש יותר ויותר מזה שפורסם, שהוא כנראה טוב. אני מעז לומר, העולם הוא לא נעשה גרוע יותר בכתיבת תוכנה. אנחנו משתפרים, אני מקווה, שבשמתי לב תוכנות מסוימות כמה רעות הוא שאנו משתמשים. ותודה לאל, כמה חברות מתחילות שלו יהיה אחראי לכך. אבל אילו סוגים של הגנות אתה יכול להיות בראש? אז חוץ ממנהלי סיסמא, כמו 1Password וLastPass ואחרים, חוץ מזה רק שינוי סיסמאות שלך ומגיע עם אקראיים אלה תוכנה באמצעות כמו כי, אתה יכול גם לנסות כמיטב יכולתך כדי להצפין כל התנועה שלך לפחות לצמצם את האזור של איום. כך למשל, כשותפים בהרווארד, אתם יכולים ללכת לvpn.harvard.edu והיכנס עם מזהה הרווארד ומספר PIN. וזה יקימו מאובטח חיבור בינך והרווארד. עכשיו, שלא בהכרח להגן עליך נגד כל איומים שבין הרווארד ופייסבוק או בהרווארד ו- Gmail. אבל אם אתה יושב בשדה תעופה או שאתה יושב בבית הקפה או שאתה יושב במקום של חבר, ואתה לא באמת סומך עליהם או שלהם תצורה של הנתב הביתי שלהם, לפחות אתה יכול להקים חיבור מאובטח לישות אוהב את המקום הזה זה כנראה קצת יותר טוב מובטח מ משהו כמו סטארבקס או משהו הדומה. ומה המשמעות של זה הוא היא קובעת, שוב, הצפנה בינך ואת נקודת הסיום. אפילו מהודר יותר הם דברים כמו זה. כך שהחלק מכם אולי כבר להיות מוכר עם תור, שהוא מסוג זה anonymization רשת, שבו הרבה אנשים, אם הם להפעיל תוכנה זו, מסלול לאחר מכן האינטרנט שלהם תנועה באמצעות אחד את השני. אז הנקודה הקצרה ביותר היא כבר לא בין A ו- B. אבל זה יכול להיות על כל מקום כך שאתה בעצם לטשטש את עקבותיו של אדם ומשאיר את פחות משיא למקום שבי HTTP שלך תנועה הגיעה מ, כי זה הולך דרך חבורה של אנשים אחרים כל מחשבים ניידים או שולחניים, לטוב או לרע. אבל גם זה לא דבר בטוח. חלק מכם אולי זוכר בשנה שעברה חשש לפצצה שנקראה ב. וזה אותר סופו של דבר ל משתמשים שהשתמשו ברשת זו כאן. ולתפוס שם, עד כמה שזוכר לי, הוא, אם אין כל כך הרבה אנשים אחרים באמצעות תוכנה כמו זה או באמצעות יציאה זו ופרוטוקול, שזה לא כל כך קשה לרשת כדי אפילו להבין ש, עם הסתברות כלשהי, היה באדי העובדה שלו או של תנועתה. ואני לא יודע אם אלה היו פרטים בפועל בשאלה. אבל אין ספק, מבין שאף אחד מ אלה הם פתרונות בטוח, כמו גם. והמטרה כאן היום היא לפחות להביא לך לחשוב על הדברים האלה ולבוא עם טכניקות ל להגן על עצמך נגדם. כל שאלות על כל האיומים שמחכה לכם שם בחוץ, וכאן? כן? קהל: איך לעשות מאובטח אנו מצפים ממוצע [? אתר להיות,?] כמו פרויקט CS50 הממוצע? דוד י מלאן: פרויקט CS50 ממוצע? הוא תמיד הוכיח כל שנה ש כמה פרויקטי גמר CS50 אינם במיוחד מאובטח. בדרך כלל, זה חלק השותף לחדר או hallmate שדמויות את זה על ידי שליחת בקשות לפרויקט שלך. answer-- קצר כמה אתרי אינטרנט מאובטחים? אני מרים על חריגות היום. כמו שזה היה רק ​​מקרי כי הבין שאתר זה אני כבר מזמין אלה בכנות הסדרים טעימים from-- ואני לא בטוח שאני להפסיק את השימוש באתר האינטרנט שלהם; אני יכול רק לשנות אותי סיסמא regularly-- יותר שלא ברור בדיוק איך פגיע כל various-- אלה זה הוא למעשה מצופה בשוקולד. תשובה הקצרה, איני יכול לענות על זה ביעילות, חוץ מאשר לומר את זה לא היה כל כך קשה לי למצוא כמה דוגמאות אלה רק לצורך הדיון בהרצאה. ורק לשים עין על Google News ומשאבים אחרים יביא את כל יותר מ דברים כאלה להדליק. בסדר, בואו נסכם עם פריקוול זה כי צוות של CS50 הכין עבורך בציפייה להאקאתון CS50. ועל הדרך החוצה ב רגע, פרי יוגש. [וידאו השמעה] [מוסיקה פרגי, עצה Q, וGOONROCK, " הסיבה קטנה מעולם לא הרגה אף אחד (ALL יש לנו) "] - [נחירות] [END הפעלת וידאו] דוד י מלאן: זהו זה לCS50. נתראה ביום רביעי. [MUSIC - Skrillex, "Imma" נסה את זה "]