1 00:00:00,000 --> 00:00:11,300 2 00:00:11,300 --> 00:00:15,490 >> DAVID J. MALAN: Dette er CS50, og dette er begyndelsen af ​​uge 10. 3 00:00:15,490 --> 00:00:19,460 Du husker måske, at vi har vist på skærmen en 3D-printer, som 4 00:00:19,460 --> 00:00:21,610 er denne enhed, tager spoler af plast 5 00:00:21,610 --> 00:00:24,840 og derefter ekstruderer den ved opvarmning op og smelte det, så vi derefter kan 6 00:00:24,840 --> 00:00:27,310 danne Chang hær af elefanter, f.eks. 7 00:00:27,310 --> 00:00:29,184 >> Så på Leverett House, Men for nylig, I 8 00:00:29,184 --> 00:00:31,850 chatter med en af ​​dine klassekammerater og en ven af ​​Changs 9 00:00:31,850 --> 00:00:35,720 navngivet Michelle, som faktisk interneret på dette andet selskab det seneste år, at 10 00:00:35,720 --> 00:00:40,010 har en anden teknik til faktisk skabe tredimensionale genstande, 11 00:00:40,010 --> 00:00:41,890 ligesom dette lille bitte elefant her. 12 00:00:41,890 --> 00:00:45,550 Navnlig den måde, dette virker er, at det er et eksempel på noget 13 00:00:45,550 --> 00:00:49,740 kaldet stereolitografi, hvorved der er denne bassin af harpiks eller væske, 14 00:00:49,740 --> 00:00:53,340 og derefter en laser slår at væske, og gradvist, enheden 15 00:00:53,340 --> 00:00:56,990 elevatorer og lifte og løfter ting at du udskriver, som en elefant, 16 00:00:56,990 --> 00:00:58,676 som væsken bliver fast. 17 00:00:58,676 --> 00:01:00,550 Og resultatet, faktisk, er noget, der er 18 00:01:00,550 --> 00:01:04,194 meget mere robust end nogle af plast foræring nogle af jer 19 00:01:04,194 --> 00:01:04,819 kunne have haft. 20 00:01:04,819 --> 00:01:06,860 >> Og hvad Chang venligt gjorde for os her var 21 00:01:06,860 --> 00:01:12,210 gjorde en time-lapse hjælp fotografier i løbet af en time eller mere, 22 00:01:12,210 --> 00:01:14,580 sandsynligvis, at producere denne fyr her. 23 00:01:14,580 --> 00:01:19,060 Ville en person, der aldrig kommer op før gerne komme hit Start på denne video? 24 00:01:19,060 --> 00:01:21,250 Lad mig gå med, hvor omkring der. 25 00:01:21,250 --> 00:01:21,790 Kom nu op. 26 00:01:21,790 --> 00:01:24,960 27 00:01:24,960 --> 00:01:25,460 Ok. 28 00:01:25,460 --> 00:01:29,250 29 00:01:29,250 --> 00:01:29,896 Og du er? 30 00:01:29,896 --> 00:01:31,270 LUKE: Mit navn er Luke [uhørligt]. 31 00:01:31,270 --> 00:01:31,700 DAVID J. MALAN: Hej, Luke. 32 00:01:31,700 --> 00:01:32,695 Rart at møde dig. 33 00:01:32,695 --> 00:01:33,653 >> LUKE: Rart at møde dig. 34 00:01:33,653 --> 00:01:35,120 PUBLIKUM: Han kører for UC. 35 00:01:35,120 --> 00:01:38,640 >> DAVID J. MALAN: Jeg ved, vi forsøger ikke at fremme. 36 00:01:38,640 --> 00:01:41,240 Okay, så Lukas, alle du skal gøre her i CS50 37 00:01:41,240 --> 00:01:45,829 er ramt mellemrumstasten at udskrive denne elefant. 38 00:01:45,829 --> 00:01:46,495 [VIDEO PLAYBACK] 39 00:01:46,495 --> 00:01:49,988 - [MACHINE snurrende] 40 00:01:49,988 --> 00:02:00,467 41 00:02:00,467 --> 00:02:01,964 - [CRASH] 42 00:02:01,964 --> 00:02:04,459 - [BOOM] 43 00:02:04,459 --> 00:02:06,147 - [CRASH] 44 00:02:06,147 --> 00:02:06,980 [END VIDEO PLAYBACK] 45 00:02:06,980 --> 00:02:09,370 DAVID J. MALAN: Så det er præcis hvad det vil sige at 3D-print. 46 00:02:09,370 --> 00:02:10,453 Og her er din elefant. 47 00:02:10,453 --> 00:02:12,100 Tak for frivilligt arbejde. 48 00:02:12,100 --> 00:02:12,830 Ok. 49 00:02:12,830 --> 00:02:16,580 Så igen, pr specifikationen for det endelige projekt, dette hardware, der er 50 00:02:16,580 --> 00:02:18,890 til rådighed for jer er en eller anden grund, 51 00:02:18,890 --> 00:02:21,870 Deres projekt har nogle vejkryds af software og hardware, 52 00:02:21,870 --> 00:02:24,650 indse, at disse nu er ressourcer. 53 00:02:24,650 --> 00:02:27,750 >> Jeg ønskede at tage et øjeblik til at røre på en Crimson artikel, der kom ud 54 00:02:27,750 --> 00:02:30,541 sent i aftes, som var til meddele, at denne fyr her, David 55 00:02:30,541 --> 00:02:33,920 Johnson, der har været senior guru for EF 10 i temmelig lang tid, 56 00:02:33,920 --> 00:02:36,210 forlader Harvard på udgangen af ​​det akademiske år. 57 00:02:36,210 --> 00:02:38,390 Og jeg ville bare tage et øjeblik, ærligt, 58 00:02:38,390 --> 00:02:41,620 at takke David foran CS50. 59 00:02:41,620 --> 00:02:44,360 Han har været en mentor for slags til os gennem årene. 60 00:02:44,360 --> 00:02:46,980 >> Og jeg mener, ligesom vi, CS50, har snarere vokset op med EF 10 61 00:02:46,980 --> 00:02:48,870 i her, da de er lige foran os. 62 00:02:48,870 --> 00:02:52,040 Og han og hele holdet i EF 10 har været vidunderligt elskværdig, helt ærligt, 63 00:02:52,040 --> 00:02:55,410 som vi slæbe i alt vores udstyr hver eneste uge, og år siden, 64 00:02:55,410 --> 00:02:57,320 forudsat en stor del af råd, som vi var 65 00:02:57,320 --> 00:02:59,520 spændt på, hvordan de fungerer EF 10. 66 00:02:59,520 --> 00:03:02,640 Så vores tak og beundring for David Johnson. 67 00:03:02,640 --> 00:03:06,560 >> [Applaus] 68 00:03:06,560 --> 00:03:08,030 69 00:03:08,030 --> 00:03:12,180 >> Nu unrelatedly, så enden er faktisk tæt. 70 00:03:12,180 --> 00:03:13,630 Vi er her i uge 10. 71 00:03:13,630 --> 00:03:15,920 Og vi har kun lige en par formelle uger 72 00:03:15,920 --> 00:03:18,320 her i klassen til venstre, efterfulgt af et par arrangementer. 73 00:03:18,320 --> 00:03:21,860 Så for at give dig en fornemmelse af, hvad der er i horisonten, er vi her i dag. 74 00:03:21,860 --> 00:03:24,480 >> Denne onsdag, tilbagekaldelse, vi får en gæsteforelæsning 75 00:03:24,480 --> 00:03:27,040 af ingen ringere end Microsofts egen Steve Ballmer. 76 00:03:27,040 --> 00:03:31,740 Hvis du endnu ikke har gået til cs50.harvard.edu/register, 77 00:03:31,740 --> 00:03:33,360 gøre det, da rum vil være begrænset. 78 00:03:33,360 --> 00:03:36,447 Og de vil være kontrol ID'er på døren denne dag. 79 00:03:36,447 --> 00:03:38,280 Hvis du ikke var her i sidste uge, jeg troede, jeg havde 80 00:03:38,280 --> 00:03:41,850 drille dig med et andet udseende på Steve og den spænding, 81 00:03:41,850 --> 00:03:44,215 venter os på onsdag. 82 00:03:44,215 --> 00:03:45,205 >> [VIDEO PLAYBACK] 83 00:03:45,205 --> 00:03:46,195 >> -Passion. 84 00:03:46,195 --> 00:03:50,650 >> -We're Vil være hardcore-- hardcore. 85 00:03:50,650 --> 00:03:51,640 >> -Innovator. 86 00:03:51,640 --> 00:03:53,339 >> -Bill Sagde, at du ikke får det. 87 00:03:53,339 --> 00:03:55,130 Vi kommer til at sætte en computer på hvert skrivebord 88 00:03:55,130 --> 00:03:58,690 og i ethvert hjem, der blev mottoet for virksomheden. 89 00:03:58,690 --> 00:04:01,850 Jeg sværger, Bill opfandt det den nat til virkelig at give mig 90 00:04:01,850 --> 00:04:04,370 nogle af visionen om hvorfor jeg skal sige ja. 91 00:04:04,370 --> 00:04:07,280 Jeg har aldrig set tilbage, virkelig, efter at. 92 00:04:07,280 --> 00:04:10,010 >> -Frisk Ud af college, han sluttede en spirende start 93 00:04:10,010 --> 00:04:14,450 og hjalp det vokse ind i en af ​​Amerikas mest succesfulde virksomheder nogensinde. 94 00:04:14,450 --> 00:04:16,920 Det liv og erhvervslivet erfaringer undervejs 95 00:04:16,920 --> 00:04:19,925 lad ham tilbage til hans barndom lidenskab og kærlighed. 96 00:04:19,925 --> 00:04:24,650 Og disse erfaringer har forberedt ham for hans næste udfordring i livet. 97 00:04:24,650 --> 00:04:27,150 >> -Intet får i vores way-- boom! 98 00:04:27,150 --> 00:04:29,330 Holde kom hardcore! 99 00:04:29,330 --> 00:04:31,150 Gå Clippers! 100 00:04:31,150 --> 00:04:38,627 >> -Det Er Steve Ballmer, "I mine egne ord." 101 00:04:38,627 --> 00:04:39,460 [END VIDEO PLAYBACK] 102 00:04:39,460 --> 00:04:41,240 DAVID J. MALAN: --this Onsdag til CS50. 103 00:04:41,240 --> 00:04:43,080 Hovedet igen til denne webadresse her. 104 00:04:43,080 --> 00:04:46,500 Med hensyn til hvad der ellers er på horisonten, næste uge, ingen foredrag på mandag. 105 00:04:46,500 --> 00:04:50,020 Men vi vil følge, at ved quiz én på onsdag. 106 00:04:50,020 --> 00:04:54,390 Gå til CS50 hjemmeside for detaljer om mennesker, steder og tidspunkter 107 00:04:54,390 --> 00:04:57,640 for alle de forskellige proctoring logistik og lignende, 108 00:04:57,640 --> 00:05:00,190 samt om anmeldelse sessioner, der er forestående. 109 00:05:00,190 --> 00:05:06,479 Og så, endelig, på mandag, dagen før uge af Thanksgiving break, 110 00:05:06,479 --> 00:05:08,020 indser det vil være vores sidste forelæsning. 111 00:05:08,020 --> 00:05:11,490 Vi vil tjene kage og en stor deal af spænding, håber vi. 112 00:05:11,490 --> 00:05:13,976 >> Nu et par andre opdateringer. 113 00:05:13,976 --> 00:05:16,350 Husk på, at status Rapporten, som er virkelig bare 114 00:05:16,350 --> 00:05:20,430 betød at være en afslappet interaktion med din TF til stolthed konstatere bare 115 00:05:20,430 --> 00:05:23,106 hvor langt sammen med din afgangsprojekt du er, 116 00:05:23,106 --> 00:05:24,980 eller i det mindste som en fornuft kontrollere, at du bør 117 00:05:24,980 --> 00:05:27,250 der nærmer sig peger kort tid derefter. 118 00:05:27,250 --> 00:05:28,660 Den hackathon følger da, at. 119 00:05:28,660 --> 00:05:30,800 Erkend hackathon er ikke en mulighed 120 00:05:30,800 --> 00:05:33,690 at starte din endelige projekt, men menes at være en mulighed 121 00:05:33,690 --> 00:05:37,040 at være i midten af ​​eller mod slutningen af ​​din endelige projekt, 122 00:05:37,040 --> 00:05:41,030 med implementeringen på grund et par dage senere, efterfulgt af CS50 fair. 123 00:05:41,030 --> 00:05:43,330 >> Nu CS50 produktion team, et par år siden, 124 00:05:43,330 --> 00:05:46,127 sammensætte en teaser til CS50 fair, at vi 125 00:05:46,127 --> 00:05:48,710 troede, vi ville vise dig i dag, fordi de har været på hårdt arbejde 126 00:05:48,710 --> 00:05:51,930 på en prequel til det, en ny video at vi vil afslutte i dag med. 127 00:05:51,930 --> 00:05:57,694 Men her er hvad der venter dig for dette års CS50 fair. 128 00:05:57,694 --> 00:05:58,360 [VIDEO PLAYBACK] 129 00:05:58,360 --> 00:06:00,680 - [CELL telefonen ringer] 130 00:06:00,680 --> 00:06:07,624 131 00:06:07,624 --> 00:06:11,117 [MUSIC "tema fra Mission: Impossible"] 132 00:06:11,117 --> 00:08:47,065 133 00:08:47,065 --> 00:08:52,820 [END VIDEO PLAYBACK] 134 00:08:52,820 --> 00:08:56,840 DAVID J. MALAN: Så det er præcis, hvordan vi lukker afsluttende indlæg projekt. 135 00:08:56,840 --> 00:08:59,220 Et par nu teasers-- hvis du gerne vil tilslutte Nick her 136 00:08:59,220 --> 00:09:02,740 til frokost, som sædvanlig, dette Fredag ​​hovedet til denne URL her. 137 00:09:02,740 --> 00:09:05,530 Desuden, hvis du gerne vil at slutte sig til Nick eller denne Nick 138 00:09:05,530 --> 00:09:08,770 eller dette Allison eller medlemmer af CS50 team, 139 00:09:08,770 --> 00:09:11,110 indser, at kort tid efter sigt udgang, 140 00:09:11,110 --> 00:09:13,780 CS50 vil allerede være at rekruttere til næste års hold, 141 00:09:13,780 --> 00:09:18,130 til CAS, TFS designere, producenter, forskere og andre stillinger 142 00:09:18,130 --> 00:09:21,790 der her fungerer CS50 både i foran og bag kulisserne. 143 00:09:21,790 --> 00:09:25,482 Så hvis dette kunne være af interesse til dig, hovedet til denne URL her. 144 00:09:25,482 --> 00:09:28,190 Og de studerende mere komfortabelt, mindre behagelig, og et sted i 145 00:09:28,190 --> 00:09:31,710 mellem både er alle velkommen og opfordres til at søge. 146 00:09:31,710 --> 00:09:34,920 >> Så det var perfekt timing, at ingen joke, her til morgen, da jeg vågnede, 147 00:09:34,920 --> 00:09:37,220 Jeg havde denne her spam i min indbakke. 148 00:09:37,220 --> 00:09:39,420 Det faktisk gled gennem Gmails spamfilter 149 00:09:39,420 --> 00:09:41,659 en eller anden måde og endte i min egentlige indbakke. 150 00:09:41,659 --> 00:09:43,700 Og det siger, "Kære postkasse bruger, du i øjeblikket 151 00:09:43,700 --> 00:09:45,240 opgraderet til 4 gigabyte. 152 00:09:45,240 --> 00:09:50,750 Skal du logge ind på din konto med henblik på at validere E-space. " 153 00:09:50,750 --> 00:09:54,100 >> Og så er der denne nice blå lokkende link der til at klikke på 154 00:09:54,100 --> 00:09:59,480 for fakulteter og personale, som derefter førte mig til et vidunderligt legitim side, som 155 00:09:59,480 --> 00:10:02,300 bad mig om at give dem mit navn og e-mail-adresse og, selvfølgelig, 156 00:10:02,300 --> 00:10:05,090 adgangskode for at validere hvem jeg er, og så videre. 157 00:10:05,090 --> 00:10:09,330 Men selvfølgelig, som det altid er tilfældet, du ankommer på denne landing page, 158 00:10:09,330 --> 00:10:11,370 og selvfølgelig er der mindst én typo, 159 00:10:11,370 --> 00:10:14,840 som synes at være søm i kiste nogen af ​​disse svindelnumre. 160 00:10:14,840 --> 00:10:17,890 Og vi vil sende, måske nogle andre links til disse former for skærmbilleder 161 00:10:17,890 --> 00:10:18,473 i fremtiden. 162 00:10:18,473 --> 00:10:22,535 Men forhåbentlig, de fleste mennesker i Dette værelse har ikke clicked-- 163 00:10:22,535 --> 00:10:24,410 eller endda hvis du har klikket på sådanne links som dette, 164 00:10:24,410 --> 00:10:28,040 du ikke er gået så langt som til at udfylde disse formularer og så videre. 165 00:10:28,040 --> 00:10:30,210 Faktisk er det er OK, hvis du har. 166 00:10:30,210 --> 00:10:33,410 Vi vil prøve at løse det i dag, fordi, ja, dagens samtale 167 00:10:33,410 --> 00:10:34,450 om sikkerhed. 168 00:10:34,450 --> 00:10:36,500 >> Og ja, en af ​​de mål CS50 er ikke 169 00:10:36,500 --> 00:10:38,980 så meget at lære dig CE eller PHP eller JavaScript eller SQL 170 00:10:38,980 --> 00:10:41,610 eller nogen af ​​disse underliggende implementering detaljer. 171 00:10:41,610 --> 00:10:45,612 Men det er at give dig som mennesker at bare gøre smartere beslutninger, som det 172 00:10:45,612 --> 00:10:48,070 angår teknologi ned vejen, så uanset om du er 173 00:10:48,070 --> 00:10:51,370 ingeniør eller humanist eller videnskabsmand eller anden rolle, 174 00:10:51,370 --> 00:10:54,970 du vil lave kvalificerede beslutninger om dit eget forbrug computing, 175 00:10:54,970 --> 00:10:56,980 eller hvis du er i en beslutningsprocessen position, 176 00:10:56,980 --> 00:10:59,250 i politik, i særdeleshed, du laver meget, 177 00:10:59,250 --> 00:11:02,770 langt bedre beslutninger end en masse mennesker i dag har været. 178 00:11:02,770 --> 00:11:04,830 Og vi vil gøre dette ved måde af nogle få eksempler. 179 00:11:04,830 --> 00:11:09,030 >> Først var jeg temmelig overrasket nylig at opdage følgende. 180 00:11:09,030 --> 00:11:11,120 Så passwords, selvfølgelig, er, hvad de fleste af os 181 00:11:11,120 --> 00:11:18,030 bruge til at beskytte vores data-- email, chat, og alle former for ressourcer som. 182 00:11:18,030 --> 00:11:23,020 Og blot ved en awkward-- ikke vise af hænder, men forlegne udseende af skam, 183 00:11:23,020 --> 00:11:26,600 hvor mange af jer bruger den samme adgangskode i en masse forskellige hjemmesider? 184 00:11:26,600 --> 00:11:28,020 >> Åh, OK, så vi vil gøre hænderne. 185 00:11:28,020 --> 00:11:30,950 OK, så en masse af jer gør. 186 00:11:30,950 --> 00:11:33,770 Enhver, der gør dette, bare hvorfor? 187 00:11:33,770 --> 00:11:35,078 Og hvad? 188 00:11:35,078 --> 00:11:36,537 Ja? 189 00:11:36,537 --> 00:11:39,870 PUBLIKUM: Det er let at huske, fordi du behøver ikke at huske [uhørligt]. 190 00:11:39,870 --> 00:11:41,703 DAVID J. MALAN: Ja, det er let at huske. 191 00:11:41,703 --> 00:11:44,560 Det er et helt rimeligt, rationel adfærd, 192 00:11:44,560 --> 00:11:46,920 selvom risikoen du sætter dig selv 193 00:11:46,920 --> 00:11:50,540 på i disse tilfælde er bare en eller flere af disse websteder 194 00:11:50,540 --> 00:11:54,510 er sårbare over for hacking eller usikker eller dit kodeord er bare 195 00:11:54,510 --> 00:11:57,130 så pokkers guessable, alle kan finde ud af det. 196 00:11:57,130 --> 00:11:59,850 Ikke alene er en konto kompromitteret, men i teorien, enhver 197 00:11:59,850 --> 00:12:01,280 konti, du har på internettet. 198 00:12:01,280 --> 00:12:04,550 Så jeg ved, jeg kan sige i dag, ikke bruge den samme adgangskode overalt, 199 00:12:04,550 --> 00:12:06,450 men det er meget nemmere sagt end gjort. 200 00:12:06,450 --> 00:12:10,850 Men der er teknikker til formindske denne særlig bekymring. 201 00:12:10,850 --> 00:12:14,030 >> Nu, jeg ske, for eksempel, at bruge et program kaldet 1Password. 202 00:12:14,030 --> 00:12:16,010 En anden populær en kaldes LastPass. 203 00:12:16,010 --> 00:12:19,030 Og en flok CS50 personale brug én eller flere af disse former for værktøj. 204 00:12:19,030 --> 00:12:20,940 Og lang historie kort, en takeaway for i dag 205 00:12:20,940 --> 00:12:25,080 bør være, ja, du har måske den samme adgangskode overalt, 206 00:12:25,080 --> 00:12:27,260 men det er meget nemt at der ikke længere gøre det. 207 00:12:27,260 --> 00:12:31,260 For eksempel, i disse dage, jeg kender måske en af ​​mine snesevis eller hundredvis 208 00:12:31,260 --> 00:12:31,910 af passwords. 209 00:12:31,910 --> 00:12:33,990 Alle mine andre adgangskoder er pseudo-tilfældigt 210 00:12:33,990 --> 00:12:36,046 genereret af et af disse programmer her. 211 00:12:36,046 --> 00:12:38,420 Og i en nøddeskal, og selv selvom de fleste af disse programmer 212 00:12:38,420 --> 00:12:41,487 tendens til at komme lidt af en pris med, du vil installere et program som dette, 213 00:12:41,487 --> 00:12:43,820 ville du så gemme alle dine brugernavne og adgangskoder 214 00:12:43,820 --> 00:12:46,960 inde i dette program på din egen Mac eller pc eller whatnot, 215 00:12:46,960 --> 00:12:49,290 og derefter vil det være krypteret på din computer 216 00:12:49,290 --> 00:12:51,599 med hvad der er forhåbentlig en særlig lang adgangskode. 217 00:12:51,599 --> 00:12:54,140 Så jeg har en hel bunke af adgangskoder til individuelle websteder, 218 00:12:54,140 --> 00:12:56,390 og så har jeg en rigtig lang adgangskode, som jeg 219 00:12:56,390 --> 00:12:59,059 bruge til at låse op for hele disse øvrige adgangskoder. 220 00:12:59,059 --> 00:13:00,850 Og hvad er rart om software som dette er 221 00:13:00,850 --> 00:13:04,016 at, når du besøger et websted, der er beder om dit brugernavn og password, 222 00:13:04,016 --> 00:13:06,304 disse dage, jeg ikke skrive i mit brugernavn og password, 223 00:13:06,304 --> 00:13:08,970 fordi, igen, jeg ved ikke engang, hvad de fleste af mine passwords er. 224 00:13:08,970 --> 00:13:12,180 I stedet ramte et tastatur genvej, hvis resultat 225 00:13:12,180 --> 00:13:15,990 er at udløse denne software til Spørg mig efter hovedadgangskode. 226 00:13:15,990 --> 00:13:18,780 Jeg skriver så, at en stor adgangskode, og derefter browseren 227 00:13:18,780 --> 00:13:21,090 udfylder automatisk hvad mit password er. 228 00:13:21,090 --> 00:13:24,960 Så virkelig, hvis du tager intet andet væk fra i dag i form af passwords, 229 00:13:24,960 --> 00:13:28,440 disse er software, der er værd downloade eller investere i så 230 00:13:28,440 --> 00:13:30,750 at du kan i det mindste pause at særlig vane. 231 00:13:30,750 --> 00:13:33,374 Og hvis du er den type, der er ved hjælp af post-it noter eller like-- 232 00:13:33,374 --> 00:13:37,310 og odds er mindst én af jer is-- at vane, også er det tilstrækkeligt at sige, 233 00:13:37,310 --> 00:13:38,340 skulle være brudt. 234 00:13:38,340 --> 00:13:42,360 >> Nu jeg tilfældigvis at opdage, som et resultat for at bruge softwaren, følgende. 235 00:13:42,360 --> 00:13:45,690 Jeg bestiller en spiselig arrangementet, denne kurv af frugt, for nylig. 236 00:13:45,690 --> 00:13:49,380 Og jeg ramte min særlige tastatur genvej til at logge ind på hjemmesiden. 237 00:13:49,380 --> 00:13:53,325 Og softwaren udløste en pop-up, der er sagt, er du sikker 238 00:13:53,325 --> 00:13:55,950 du vil have mig til automatisk indsende dette brugernavn og password? 239 00:13:55,950 --> 00:13:57,690 Fordi forbindelsen er usikker. 240 00:13:57,690 --> 00:14:01,450 >> Forbindelsen er ikke ved hjælp af HTTPS, for sikker, 241 00:14:01,450 --> 00:14:04,900 ved hjælp af denne protokol er kendt som SSL, Secure Sockets Layer. 242 00:14:04,900 --> 00:14:07,640 Og ja, hvis man ser på øverst til venstre på denne hjemmeside, 243 00:14:07,640 --> 00:14:12,880 det er bare www.ediblearrangements.com, ingen HTTPS, hvilket ikke er så god. 244 00:14:12,880 --> 00:14:15,480 >> Nu var jeg curious-- måske dette er bare en fejl i softwaren. 245 00:14:15,480 --> 00:14:19,240 Sikkert, nogle hjemmeside som dette, at en masse af os kender 246 00:14:19,240 --> 00:14:24,046 i det mindste ved hjælp af kryptering eller HTTPS webadresser for at logge dig ind. 247 00:14:24,046 --> 00:14:25,670 Så jeg fik lidt nysgerrig her til morgen. 248 00:14:25,670 --> 00:14:29,046 Og jeg fik mine CS50 færdigheder, Jeg åbnede op Chrome Inspector. 249 00:14:29,046 --> 00:14:30,295 Det er ikke engang meget af en færdighed. 250 00:14:30,295 --> 00:14:32,890 Det er bare ramt det rigtige tastatur genvej til at åbne det op. 251 00:14:32,890 --> 00:14:34,830 Og her er et stort vindue af Chromes Inspector. 252 00:14:34,830 --> 00:14:38,960 >> Men hvad var faktisk en lidt tragisk og latterligt 253 00:14:38,960 --> 00:14:40,830 var disse to linjer her. 254 00:14:40,830 --> 00:14:44,570 Oppe på toppen, mærke URL'en til som mit brugernavn og password 255 00:14:44,570 --> 00:14:45,530 blev fremlagt. 256 00:14:45,530 --> 00:14:46,380 Lad mig zoome ind. 257 00:14:46,380 --> 00:14:47,352 Det var denne her. 258 00:14:47,352 --> 00:14:49,060 Og alt dette er slags uinteressant, 259 00:14:49,060 --> 00:14:54,962 bortset fra ting hele vejen på venstre, der starter med http: //. 260 00:14:54,962 --> 00:14:57,240 Og så så, OK, måske de er bare at sende 261 00:14:57,240 --> 00:14:59,084 mit brugernavn, som er ikke sådan en big deal. 262 00:14:59,084 --> 00:15:00,500 Måske min adgangskode bliver sendt senere. 263 00:15:00,500 --> 00:15:02,300 Det ville være sådan en interessant design beslutning. 264 00:15:02,300 --> 00:15:03,100 >> Men nej. 265 00:15:03,100 --> 00:15:06,130 Hvis man så se på anmodning nyttelast, brugernavn og adgangskode 266 00:15:06,130 --> 00:15:08,470 Jeg sent-- og jeg hånet disse op til slide-- 267 00:15:08,470 --> 00:15:10,000 rent faktisk blev sendt i den klare. 268 00:15:10,000 --> 00:15:13,792 Så du går til denne særlige hjemmeside og bestille en Spiselige arrangement som dette, 269 00:15:13,792 --> 00:15:16,750 og faktisk tilsyneladende for alt dette gang, jeg har bestilling fra dem, 270 00:15:16,750 --> 00:15:19,800 dit brugernavn og password går på tværs i det klare. 271 00:15:19,800 --> 00:15:22,120 Så helt ærligt, det er helt uacceptabelt. 272 00:15:22,120 --> 00:15:26,240 Og det er så trivielt at undgå ting ligesom dette som designeren af ​​en hjemmeside 273 00:15:26,240 --> 00:15:27,950 og som programmøren af ​​et websted. 274 00:15:27,950 --> 00:15:31,020 >> Men takeaway her os som brugere af websites 275 00:15:31,020 --> 00:15:35,700 bare at forstå, at alle det kræver er for en dum design 276 00:15:35,700 --> 00:15:40,010 beslutning, uberettiget design beslutning, så der nu, hvis du kender mit password er 277 00:15:40,010 --> 00:15:41,820 "Crimson" på dette hjemmeside, har du sandsynligvis 278 00:15:41,820 --> 00:15:44,654 lige kommet ind i en hel masse andre hjemmesider, jeg har nu. 279 00:15:44,654 --> 00:15:46,570 Og der er ikke meget af et forsvar mod at 280 00:15:46,570 --> 00:15:48,301 andet end hvad Chang gjorde i morges. 281 00:15:48,301 --> 00:15:51,550 Han gik til Edible Arrangements, som ligger ned ad gaden i Cambridge, 282 00:15:51,550 --> 00:15:53,430 og fysisk købte dette for os. 283 00:15:53,430 --> 00:15:57,490 Det var meget mere sikker end bruge hjemmesiden i denne sag. 284 00:15:57,490 --> 00:16:02,320 >> Men detaljer at holde øje med er faktisk, hvad der er i browseren op øverst 285 00:16:02,320 --> 00:16:02,940 der. 286 00:16:02,940 --> 00:16:04,690 Men selv det kan være lidt misvisende. 287 00:16:04,690 --> 00:16:07,002 Så en anden interessant eksempel og måde at forsvare 288 00:16:07,002 --> 00:16:09,960 mod denne-- og faktisk, lad os ikke, at first-- vejen for at forsvare 289 00:16:09,960 --> 00:16:12,540 mod dette er en teknik at sikkerhed folk ville 290 00:16:12,540 --> 00:16:14,810 call to-faktor-autentificering. 291 00:16:14,810 --> 00:16:20,130 >> Er der nogen vide, hvad løsningen til problemer som dette betyder? 292 00:16:20,130 --> 00:16:23,110 Hvad er to-faktor-autentificering? 293 00:16:23,110 --> 00:16:27,320 Eller sagt på en anden måde, hvordan mange af jer bruger det? 294 00:16:27,320 --> 00:16:28,650 OK, så et par generte mennesker. 295 00:16:28,650 --> 00:16:29,060 Men ja. 296 00:16:29,060 --> 00:16:29,976 Jeg så din hånd gå op. 297 00:16:29,976 --> 00:16:31,510 Hvad er to-faktor-autentificering? 298 00:16:31,510 --> 00:16:34,010 >> AUDIENCE: Grundlæggende desuden at skrive i din adgangskode, 299 00:16:34,010 --> 00:16:37,390 du også har en sekundær [uhørligt] sendes via SMS til din telefon 300 00:16:37,390 --> 00:16:39,460 på [uhørligt]. 301 00:16:39,460 --> 00:16:40,460 DAVID J. MALAN: Præcis. 302 00:16:40,460 --> 00:16:44,150 Ud over nogle primære form af autentificering, som en adgangskode, 303 00:16:44,150 --> 00:16:47,190 du bliver bedt om en sekundær faktor, som typisk er 304 00:16:47,190 --> 00:16:49,740 noget du har fysisk på dig, selv om det 305 00:16:49,740 --> 00:16:51,610 kan være noget helt andet. 306 00:16:51,610 --> 00:16:54,630 Og at ting er typisk en Mobiltelefon i disse dage, hvor du får 307 00:16:54,630 --> 00:16:59,200 sendt en midlertidig tekstbesked, der siger "Din midlertidige adgangskode er 12345." 308 00:16:59,200 --> 00:17:01,280 >> Så ud over min password "Crimson" Jeg også 309 00:17:01,280 --> 00:17:03,916 nødt til at skrive i uanset hjemmesiden har tekstet mig. 310 00:17:03,916 --> 00:17:06,290 Eller hvis du har dette med en bank eller en investeringskonto, 311 00:17:06,290 --> 00:17:08,123 du nogle gange har disse små dongles som 312 00:17:08,123 --> 00:17:11,760 faktisk har en pseudo-random nummer generator indbygget i dem, 313 00:17:11,760 --> 00:17:15,849 men både enheden og banken vide, hvad din første frø er 314 00:17:15,849 --> 00:17:19,710 så de ved, selv da lille kode på din lille nøglering 315 00:17:19,710 --> 00:17:22,380 marcherer fremad hvert minut eller to, skiftende værdier, 316 00:17:22,380 --> 00:17:25,260 så gør det værdiændring på bankens server 317 00:17:25,260 --> 00:17:28,620 så de ligeledes kan godkende dig, ikke alene med din adgangskode, 318 00:17:28,620 --> 00:17:30,024 men med den midlertidige kode. 319 00:17:30,024 --> 00:17:31,690 Nu kan du faktisk gøre dette i Google. 320 00:17:31,690 --> 00:17:33,606 Og helt ærligt, det er en god vane at komme ind, 321 00:17:33,606 --> 00:17:36,180 især hvis du bruger Gmail hele tiden på en browser. 322 00:17:36,180 --> 00:17:39,880 Hvis du går til denne webadresse her, hvilket er i dias online for i dag, og derefter 323 00:17:39,880 --> 00:17:43,579 klik på 2-Step Verifikation, samme faktiske ting. 324 00:17:43,579 --> 00:17:45,870 Du vil blive bedt om at give dem dit mobilnummer. 325 00:17:45,870 --> 00:17:49,660 Og så, hver gang du logger ind Gmail, vil du blive ikke kun bedt 326 00:17:49,660 --> 00:17:53,480 for din adgangskode, men også for en lille kode, der bliver sendt til din telefon 327 00:17:53,480 --> 00:17:54,190 midlertidigt. 328 00:17:54,190 --> 00:17:57,894 Og så længe du har cookies aktiveret, og så længe du ikke udtrykkeligt 329 00:17:57,894 --> 00:18:00,060 logge ud, vil du kun have at gøre det én gang i et stykke tid, 330 00:18:00,060 --> 00:18:01,870 ligesom når du sidder ned på en ny computer. 331 00:18:01,870 --> 00:18:05,320 >> Og opadrettede også her er, hvis du sidde ned på nogle internet cafe stil 332 00:18:05,320 --> 00:18:07,380 computeren eller blot en vens computer, selv 333 00:18:07,380 --> 00:18:09,710 hvis denne ven skadelig eller ubevidst 334 00:18:09,710 --> 00:18:13,580 har nogle keyboard logger installeret på sin computer, 335 00:18:13,580 --> 00:18:15,640 sådan at alt hvad du art, der logges, 336 00:18:15,640 --> 00:18:19,170 mindst det anden faktor, at midlertidig kode, er flygtig. 337 00:18:19,170 --> 00:18:21,630 Så han eller hun eller hvem er kompromitteret computer 338 00:18:21,630 --> 00:18:24,890 kan ikke logge ind i dig efterfølgende, selv hvis alt andet 339 00:18:24,890 --> 00:18:27,890 var sårbar eller endda ukrypteret helt. 340 00:18:27,890 --> 00:18:29,760 Facebook har også dette, med denne webadresse her, 341 00:18:29,760 --> 00:18:32,070 hvor du kan klikke på Log godkendelser. 342 00:18:32,070 --> 00:18:35,500 Så her, også, hvis du ikke gør ønsker venner til at stikke folk, 343 00:18:35,500 --> 00:18:40,140 du ikke ønsker at blive stikke på Facebook eller udstationering statusopdateringer for dig, 344 00:18:40,140 --> 00:18:42,479 to-faktor-autentificering her er sandsynligvis en god ting. 345 00:18:42,479 --> 00:18:44,520 Og så er der dette anden teknik helt, 346 00:18:44,520 --> 00:18:46,853 bare revision, som er endnu en god ting for os mennesker, 347 00:18:46,853 --> 00:18:49,950 hvis to-faktor viser irriterende, som, ganske vist kan det, eller er det bare ikke 348 00:18:49,950 --> 00:18:53,930 findes på nogle hjemmeside, minimalt holde øje med, hvis og når 349 00:18:53,930 --> 00:18:57,650 du logger ind på websteder, hvis de giver dig mulighed for, er en god teknik, også. 350 00:18:57,650 --> 00:19:01,300 Så Facebook giver dig også dette login-notifikationer funktionen, hvorved 351 00:19:01,300 --> 00:19:06,240 anytime Facebook indser, hm, David har logget på fra nogle computer eller telefon 352 00:19:06,240 --> 00:19:09,710 at vi aldrig har set før fra en IP-adresse, der ser ukendte, 353 00:19:09,710 --> 00:19:12,320 de vil i det mindste sende dig en e-mail til enhver e-mailadresse 354 00:19:12,320 --> 00:19:14,750 du har registreret, og sagde: betyder det ser mistænkeligt? 355 00:19:14,750 --> 00:19:17,590 Hvis det er tilfældet, skal du ændre din adgangskode med det samme. 356 00:19:17,590 --> 00:19:19,610 Og så der, også, bare revision adfærd 357 00:19:19,610 --> 00:19:21,940 selv efter du har været kompromitteret, kan i det mindste 358 00:19:21,940 --> 00:19:25,980 indsnævre vinduet under som du er sårbar. 359 00:19:25,980 --> 00:19:29,910 >> Okay, nogen spørgsmål på at stuff hidtil? 360 00:19:29,910 --> 00:19:35,510 I dag er dagen for at få alle Deres paranoia bekræftet eller benægtet. 361 00:19:35,510 --> 00:19:36,820 Det er hovedsageligt bekræftet, desværre. 362 00:19:36,820 --> 00:19:37,210 Ja? 363 00:19:37,210 --> 00:19:39,223 >> PUBLIKUM: [uhørligt] telefon, hvad hvis din telefon går i stykker, 364 00:19:39,223 --> 00:19:41,010 og så er det altid vanskeligt at verify-- 365 00:19:41,010 --> 00:19:41,295 >> DAVID J. MALAN: Sandt. 366 00:19:41,295 --> 00:19:43,330 >> PUBLIKUM: Eller hvis du er i en anden land, og de ikke lade dig 367 00:19:43,330 --> 00:19:44,505 logge ind, fordi [uhørligt]. 368 00:19:44,505 --> 00:19:45,630 DAVID J. MALAN: Absolut. 369 00:19:45,630 --> 00:19:48,780 Og så disse er yderligere omkostninger, du pådrager. 370 00:19:48,780 --> 00:19:51,040 Der er altid dette tema af et trade-off, trods alt. 371 00:19:51,040 --> 00:19:53,748 Og så, hvis du mister din telefon, hvis det bryder, hvis du er i udlandet, 372 00:19:53,748 --> 00:19:56,382 eller du bare ikke har en signal, ligesom en 3G eller LTE-signal, 373 00:19:56,382 --> 00:19:58,340 du måske faktisk ikke være i stand til at godkende. 374 00:19:58,340 --> 00:20:00,520 >> Så igen, disse to er trade-offs. 375 00:20:00,520 --> 00:20:03,670 Og nogle gange, kan det skabe en masse arbejde for dig som et resultat. 376 00:20:03,670 --> 00:20:08,130 Men det afhænger i virkeligheden, derefter på hvad den forventede pris til dig 377 00:20:08,130 --> 00:20:10,980 er af noget væsen kompromitteret helt. 378 00:20:10,980 --> 00:20:15,300 >> Så SSL, så er denne teknik, vi alle generelt tager for givet 379 00:20:15,300 --> 00:20:18,970 eller påtage sig er der, selvom det er tydeligvis ikke tilfældet. 380 00:20:18,970 --> 00:20:23,339 Og du kan stadig vildlede mennesker, men selv med denne. 381 00:20:23,339 --> 00:20:24,630 Så her er et eksempel på en bank. 382 00:20:24,630 --> 00:20:25,860 >> Dette er Bank of America. 383 00:20:25,860 --> 00:20:28,730 Der er en hel bunke af disse i Harvard Square og videre. 384 00:20:28,730 --> 00:20:32,530 Og bemærk, at på selve toppen af skærmen, er der en, ja, HTTPS. 385 00:20:32,530 --> 00:20:35,370 Og det er endda grønt og fremhævet for os 386 00:20:35,370 --> 00:20:39,550 indikerer, at dette faktisk er et legitimt sikkert websted, 387 00:20:39,550 --> 00:20:41,420 eller så har vi været uddannet til at tro. 388 00:20:41,420 --> 00:20:46,416 >> Nu, udover det, selv om, bemærke, at hvis vi zoomer ind, 389 00:20:46,416 --> 00:20:48,790 der er denne ting her, hvor du bliver bedt om at logge ind. 390 00:20:48,790 --> 00:20:54,920 Hvad betyder dette hængelås betyder ret der, ved siden af ​​mit brugernavn spørge? 391 00:20:54,920 --> 00:20:57,890 Dette er temmelig almindelig på hjemmesider, også. 392 00:20:57,890 --> 00:21:01,120 Hvad betyder dette hængelås betyder? 393 00:21:01,120 --> 00:21:02,453 Du virker som om du ved. 394 00:21:02,453 --> 00:21:03,420 >> PUBLIKUM: Det betyder ikke noget. 395 00:21:03,420 --> 00:21:04,230 >> DAVID J. MALAN: Det betyder ikke noget. 396 00:21:04,230 --> 00:21:07,790 Det betyder, at Bank of America ved hvordan at skrive HTML med billede tags, right? 397 00:21:07,790 --> 00:21:12,080 Det betyder virkelig ingenting, fordi selv vi, ved hjælp af den første dag i vores udseende 398 00:21:12,080 --> 00:21:15,760 ved HTML, kan kode en side med en rød baggrund og et billede, 399 00:21:15,760 --> 00:21:18,910 som et GIF eller whatnot, at sker at ligne en hængelås. 400 00:21:18,910 --> 00:21:20,890 Og alligevel er det super almindelig i hjemmesider, 401 00:21:20,890 --> 00:21:24,000 fordi vi er blevet trænet til at påtage sig at, åh, hængelås betyder sikker, 402 00:21:24,000 --> 00:21:25,760 når det virkelig bare betyder, at du kender HTML. 403 00:21:25,760 --> 00:21:28,840 >> For eksempel, tilbage i dag, kunne jeg har lige sætte dette på min hjemmeside, 404 00:21:28,840 --> 00:21:31,660 hævdede, at det er sikkert, og spørger, effektivt, 405 00:21:31,660 --> 00:21:33,590 for folks brugernavne og adgangskoder. 406 00:21:33,590 --> 00:21:36,310 Så ser i webadressen er mindst en bedre clue, 407 00:21:36,310 --> 00:21:39,580 fordi der er indbygget i Chrome eller hvad browser du bruger. 408 00:21:39,580 --> 00:21:41,470 Men selv da, undertiden ting kan gå galt. 409 00:21:41,470 --> 00:21:45,940 Og i virkeligheden, kan du ikke altid se HTTPS, endsige i grønt. 410 00:21:45,940 --> 00:21:48,126 >> Har nogen af ​​jer nogensinde set en skærm som denne? 411 00:21:48,126 --> 00:21:50,000 Du har måske, faktisk, tidligere i oktober, 412 00:21:50,000 --> 00:21:54,740 når jeg har glemt at betale for vores SSL-certifikat, som det hedder, 413 00:21:54,740 --> 00:21:58,400 og vi ledte ligesom dette for en time eller to. 414 00:21:58,400 --> 00:22:01,830 Så du har sikkert set ting som dette, med en strike-through, 415 00:22:01,830 --> 00:22:05,240 som en rød linje gennem protokollen i URL'en 416 00:22:05,240 --> 00:22:08,010 eller anden form for skærm, der er mindst formane dig 417 00:22:08,010 --> 00:22:09,760 for at forsøge at gå videre. 418 00:22:09,760 --> 00:22:12,540 Og Google her er indbydende dig til at gå tilbage til sikkerheden. 419 00:22:12,540 --> 00:22:17,120 >> Nu, i dette tilfælde, det bare betydet, at SSL certifikat, som vi bruger, 420 00:22:17,120 --> 00:22:22,220 de store, matematisk nyttige telefonnumre der er forbundet med CS50 server, 421 00:22:22,220 --> 00:22:23,949 ikke længere var gyldige. 422 00:22:23,949 --> 00:22:26,490 Og i virkeligheden, kan vi simulere dette, som du kan på din bærbare computer. 423 00:22:26,490 --> 00:22:30,270 Hvis jeg går ind i Chrome her, og lad os gå til facebook.com, 424 00:22:30,270 --> 00:22:32,230 og det ser ud til dette er sikkert. 425 00:22:32,230 --> 00:22:36,910 Men lad mig gå videre nu, og klik på hængelåsen her. 426 00:22:36,910 --> 00:22:40,030 >> Og lad mig gå til Connection, Certificate Information. 427 00:22:40,030 --> 00:22:42,020 Og ja, hvad du vil se her er en flok 428 00:22:42,020 --> 00:22:46,160 af lavere niveau detaljer om der facebook.com egentlig er. 429 00:22:46,160 --> 00:22:49,380 Det forekommer, at de har betalt penge til et firma kaldet måske DigiCert High 430 00:22:49,380 --> 00:22:54,420 Sikkerhed for, at der er lovet til at fortælle resten af ​​verden 431 00:22:54,420 --> 00:22:57,250 at hvis en browser nogensinde ser en certificate-- du kan tænke 432 00:22:57,250 --> 00:23:00,291 af det bogstaveligt talt som et certifikat, ser gerne, at osteagtig ting øverst 433 00:23:00,291 --> 00:23:04,360 left-- så facebook.com er hvem de siger de er, fordi al den tid, hvor 434 00:23:04,360 --> 00:23:07,160 du besøger et websted, ligesom cs50.harvard.edu eller facebook.com 435 00:23:07,160 --> 00:23:11,880 eller gmail.com, der bruger HTTPS Webadresser, bag kulisserne, 436 00:23:11,880 --> 00:23:15,190 der er denne form for transaktion sker automatisk 437 00:23:15,190 --> 00:23:18,060 for dig, hvorved facebook.com, i dette tilfælde, 438 00:23:18,060 --> 00:23:22,150 sender til din browser sin såkaldt SSL-certifikat, eller rettere, 439 00:23:22,150 --> 00:23:23,380 sin offentlige nøgle, 440 00:23:23,380 --> 00:23:25,600 og så vil din browser bruger den offentlige nøgle 441 00:23:25,600 --> 00:23:29,600 for efterfølgende at sende krypterede trafik til og fra den. 442 00:23:29,600 --> 00:23:32,360 >> Men der er hele dette hierarki i verden af ​​virksomheder 443 00:23:32,360 --> 00:23:36,430 at du betaler penge til hvem vil derefter vidne i en digital forstand, 444 00:23:36,430 --> 00:23:41,330 at du er facebook.com eller din server er faktisk cs50.harvard.edu. 445 00:23:41,330 --> 00:23:44,580 Og bygget ind i browsere, ligesom Chrome og IE og Firefox, 446 00:23:44,580 --> 00:23:48,260 er en liste over alle de såkaldte nøglecentre 447 00:23:48,260 --> 00:23:51,360 der er godkendt af Microsoft og Google og Mozilla 448 00:23:51,360 --> 00:23:55,410 at be- eller afkræfte, facebook.com er hvem det siger, det er. 449 00:23:55,410 --> 00:23:57,430 Men fangsten er, at disse ting udløbe. 450 00:23:57,430 --> 00:24:02,670 Faktisk Facebooks ligner den udløber næste oktober i 2015. 451 00:24:02,670 --> 00:24:06,490 >> Så vi kan faktisk simulere dette, hvis jeg gå i min Mac til mine Systemindstillinger, 452 00:24:06,490 --> 00:24:11,070 og jeg går ind i dato og klokkeslæt, og Jeg går ind i dato og tid her, 453 00:24:11,070 --> 00:24:17,190 og låser jeg denne her-- heldigvis, vi ikke afsløre et password denne time-- 454 00:24:17,190 --> 00:24:20,660 og nu vil jeg gå ned at du fjerner denne. 455 00:24:20,660 --> 00:24:25,660 Og lad os actually-- Ups, det er ikke så interessant som at gøre dette. 456 00:24:25,660 --> 00:24:30,140 Vi er bogstaveligt talt i fremtiden nu, hvilket betyder, dette er, hvad 2020 ud. 457 00:24:30,140 --> 00:24:36,360 Hvis jeg nu genindlæse page-- lad os gøre det i Ingognito mode-- 458 00:24:36,360 --> 00:24:40,910 hvis jeg genindlæse siden, der vi gå. 459 00:24:40,910 --> 00:24:45,820 >> Så nu, min computer tænker det er 2020, men min browser 460 00:24:45,820 --> 00:24:49,810 ved, at dette certifikat fra Facebook udløber, naturligvis i 2015. 461 00:24:49,810 --> 00:24:51,360 Så det giver mig denne røde budskab. 462 00:24:51,360 --> 00:24:53,550 Nu, heldigvis, browsere ligesom Chrome har faktisk 463 00:24:53,550 --> 00:24:55,480 gjort det temmelig svært at fortsætte alligevel. 464 00:24:55,480 --> 00:24:57,300 De faktisk vil have mig at gå tilbage til sikkerheden. 465 00:24:57,300 --> 00:25:00,550 >> Hvis jeg klikker her på Advance, det er vil fortælle mig nogle flere detaljer. 466 00:25:00,550 --> 00:25:02,580 Og hvis jeg virkelig ønsker at fortsætte, vil de lade 467 00:25:02,580 --> 00:25:06,250 mig gå til facebook.com, som er, igen, usikre på hvilket tidspunkt 468 00:25:06,250 --> 00:25:08,310 Jeg vil se Facebook hjemmeside, ligesom dette. 469 00:25:08,310 --> 00:25:10,080 Men så andre ting synes at være brud. 470 00:25:10,080 --> 00:25:12,825 Hvad er sandsynligvis bryde på dette punkt? 471 00:25:12,825 --> 00:25:13,700 PUBLIKUM: JavaScript. 472 00:25:13,700 --> 00:25:15,540 DAVID J. MALAN: Ligesom JavaScripts og / eller CSS 473 00:25:15,540 --> 00:25:17,460 filer er tilsvarende støder denne fejl. 474 00:25:17,460 --> 00:25:19,830 Så dette er bare en dårlig situation generelt. 475 00:25:19,830 --> 00:25:24,790 Men pointen her er, at mindst Facebook har faktisk SSL aktiveret 476 00:25:24,790 --> 00:25:30,040 for deres servere, som mange hjemmesider, gøre, men ikke nødvendigvis alle. 477 00:25:30,040 --> 00:25:33,360 >> Men det er ikke alene takeaway her. 478 00:25:33,360 --> 00:25:36,040 Viser sig, at selv SSL er blevet påvist 479 00:25:36,040 --> 00:25:37,810 at være usikker i nogle måde. 480 00:25:37,810 --> 00:25:40,400 Så jeg slags vink, at SSL, godt. 481 00:25:40,400 --> 00:25:44,250 Kig efter HTTPS webadresser, og livet er god, fordi alle din HTTP-trafik 482 00:25:44,250 --> 00:25:46,180 og headere og indhold er krypteret. 483 00:25:46,180 --> 00:25:49,560 >> Ingen kan opfange det i midten, bortset fra en såkaldt mand 484 00:25:49,560 --> 00:25:50,454 i midten. 485 00:25:50,454 --> 00:25:52,870 Dette er en generel teknik i verden af ​​sikkerhed kendt 486 00:25:52,870 --> 00:25:54,420 som en man-in-the-middle-angreb. 487 00:25:54,420 --> 00:25:57,067 Antag, at du er denne lille laptop herovre til venstre, 488 00:25:57,067 --> 00:25:59,900 og formoder, du forsøger at besøge en server derovre til højre, 489 00:25:59,900 --> 00:26:00,990 ligesom facebook.com. 490 00:26:00,990 --> 00:26:03,940 >> Men formoder, at der i mellem dig og Facebook, 491 00:26:03,940 --> 00:26:07,750 er en hel bunke af andre servere og udstyr, ligesom switches og routere, 492 00:26:07,750 --> 00:26:11,530 DNS-servere, DHCP-servere, hvoraf ingen vi kontrollerer. 493 00:26:11,530 --> 00:26:15,280 Det kan styres ved Starbucks eller Harvard eller Comcast eller lignende. 494 00:26:15,280 --> 00:26:18,090 Nå, formoder, at nogen skadeligt, på dit netværk, 495 00:26:18,090 --> 00:26:20,800 i mellem dig og Facebook, er i stand til at fortælle dig 496 00:26:20,800 --> 00:26:24,740 at, ved du hvad, IP-adressen på Facebook er ikke hvad du tror det er. 497 00:26:24,740 --> 00:26:26,250 Det er denne IP stedet. 498 00:26:26,250 --> 00:26:28,740 >> Og så din browser er narret til at anmode 499 00:26:28,740 --> 00:26:30,750 trafik fra en anden computer helt. 500 00:26:30,750 --> 00:26:35,350 Nå, formoder, at computer blot ser på alle 501 00:26:35,350 --> 00:26:38,859 af den trafik, du anmoder fra Facebook og alle de websider 502 00:26:38,859 --> 00:26:40,400 at du anmoder fra Facebook. 503 00:26:40,400 --> 00:26:45,700 Og helst den ser i din trafik en webadresse, der begynder med https, 504 00:26:45,700 --> 00:26:49,250 dynamisk, på flyve, omskriver det som HTTP. 505 00:26:49,250 --> 00:26:53,490 Og helst det ser en placering header, placering colon, 506 00:26:53,490 --> 00:26:55,930 ligesom vi bruger til at omdirigere brugeren, der også 507 00:26:55,930 --> 00:27:00,690 kan ændres af denne mand i midten fra HTTPS til HTTP. 508 00:27:00,690 --> 00:27:04,170 >> Så selvom du selv måske Tror du er på den reelle Facebook, 509 00:27:04,170 --> 00:27:07,860 er det ikke så svært for en modstander med fysisk adgang 510 00:27:07,860 --> 00:27:10,630 til dit netværk til blot returnere sider for dig, at 511 00:27:10,630 --> 00:27:12,650 ligner Gmail, at ligner Facebook, 512 00:27:12,650 --> 00:27:14,880 og faktisk webadressen er identiske, fordi de er 513 00:27:14,880 --> 00:27:19,410 foregiver at have den samme værtsnavn på grund af nogle udnyttelse af DNS 514 00:27:19,410 --> 00:27:21,340 eller et andet system som dette. 515 00:27:21,340 --> 00:27:23,894 Og resultatet, så er at vi mennesker måske kun 516 00:27:23,894 --> 00:27:26,810 indse, at, OK, det ligner Gmail eller i det mindste den ældre version, 517 00:27:26,810 --> 00:27:29,480 som er dette dias fra en ældre præsentation. 518 00:27:29,480 --> 00:27:34,250 Men det ligner denne-- http://www.google.com. 519 00:27:34,250 --> 00:27:37,370 >> Så også her er virkeligheden er, at hvor mange af jer, 520 00:27:37,370 --> 00:27:41,290 når du går til Facebook eller Gmail eller nogen hjemmeside, og du kender lidt noget 521 00:27:41,290 --> 00:27:47,060 om SSL, hvor mange af jer fysisk indtaste https: // og derefter hjemmesiden 522 00:27:47,060 --> 00:27:48,990 Navn, indtast. 523 00:27:48,990 --> 00:27:52,940 De fleste af os bare skrive, ligesom, CS50, trykke Enter, eller F-A for Facebook 524 00:27:52,940 --> 00:27:54,770 og tryk på Enter, og lad den auto-komplet. 525 00:27:54,770 --> 00:27:57,620 Men bag kulisserne, hvis du ser din HTTP-trafik, 526 00:27:57,620 --> 00:28:00,090 der er sikkert en hel masse af disse lokation headers 527 00:28:00,090 --> 00:28:03,580 der sender dig fra Facebook til www.facebook.com 528 00:28:03,580 --> 00:28:07,250 til https://www.facebook.com. 529 00:28:07,250 --> 00:28:12,300 >> Så det er en eller flere HTTP transaktioner hvor dine oplysninger er helt 530 00:28:12,300 --> 00:28:15,102 som sendes klart, ingen kryptering overhovedet. 531 00:28:15,102 --> 00:28:17,810 Nu kan der ikke være sådan en stor beskæftige hvis alle du forsøger at gøre 532 00:28:17,810 --> 00:28:20,980 er adgang til hjemmesiden, er du ikke sende dit brugernavn og password. 533 00:28:20,980 --> 00:28:23,130 Men hvad er det nedenunder hætten, især 534 00:28:23,130 --> 00:28:28,130 til PHP-baserede hjemmesider, der er også bliver sendt frem og tilbage, når 535 00:28:28,130 --> 00:28:33,820 du besøge nogle webside hvis at hjemmeside bruger, siger, PHP 536 00:28:33,820 --> 00:28:37,370 og implementerer funktionalitet som pset7? 537 00:28:37,370 --> 00:28:40,840 Hvad blev sendt frem og tilbage i dine HTTP-headers, der gav dig 538 00:28:40,840 --> 00:28:44,903 adgang til denne smukke nyttige super global i PHP? 539 00:28:44,903 --> 00:28:45,710 >> Publikum: Cookies. 540 00:28:45,710 --> 00:28:49,020 >> DAVID J. MALAN: Cookies, specifikt PHP sess ID cookie. 541 00:28:49,020 --> 00:28:53,100 Så husker, hvis vi går til, sige, cs50.harvard.edu igen, 542 00:28:53,100 --> 00:28:56,440 men denne gang, lad os åbne Fanen Netværk, og nu, op her, 543 00:28:56,440 --> 00:29:01,570 lad os bogstaveligt talt bare gå til http://cs50.harvard.edu 544 00:29:01,570 --> 00:29:03,030 og derefter trykke på Enter. 545 00:29:03,030 --> 00:29:05,520 Og så se på skærmen hernede. 546 00:29:05,520 --> 00:29:09,600 Bemærk, at vi faktisk fik tilbage en 301 permanent flyttet 547 00:29:09,600 --> 00:29:12,820 besked, hvilket betyder, at der er en placering header her, 548 00:29:12,820 --> 00:29:15,610 som nu omdirigere mig til HTTPS. 549 00:29:15,610 --> 00:29:21,330 >> Men fangsten er, at hvis jeg allerede havde en cookie stemplet på min hånd næsten, 550 00:29:21,330 --> 00:29:25,890 som vi har diskuteret før, og I den menneskelige slags ubevidst 551 00:29:25,890 --> 00:29:29,090 bare besøge usikre versionen, og min browser tager det 552 00:29:29,090 --> 00:29:34,020 sig selv at vise, at hånd stempel til den første anmodning, der er via HTTP, 553 00:29:34,020 --> 00:29:36,610 enhver mand i midten, enhver Modstanderen i midten, 554 00:29:36,610 --> 00:29:39,380 kan i teorien bare se disse HTTP-headers, bare 555 00:29:39,380 --> 00:29:40,980 ligesom vi kigger på dem her. 556 00:29:40,980 --> 00:29:43,310 Det er kun, når du er taler med en HTTPS 557 00:29:43,310 --> 00:29:47,780 URL betyder, at hånd stempel selv får krypteret, a la Cæsar eller Vigenere, 558 00:29:47,780 --> 00:29:50,500 men med en mere avanceret algoritme helt. 559 00:29:50,500 --> 00:29:53,611 Så også her, selvom hjemmesider bruger HTTPS, 560 00:29:53,611 --> 00:29:56,860 vi mennesker har været konditioneret, tak til auto-komplette og andre teknikker, 561 00:29:56,860 --> 00:29:59,827 at ikke engang tænke på de mulige konsekvenser. 562 00:29:59,827 --> 00:30:01,160 Nu er der måder omkring dette. 563 00:30:01,160 --> 00:30:03,140 For eksempel mange websites kan konfigureres 564 00:30:03,140 --> 00:30:05,848 således, at når du har denne hånd stempel, kan du fortælle browseren, 565 00:30:05,848 --> 00:30:07,750 denne hånd stempel er kun for SSL-forbindelser. 566 00:30:07,750 --> 00:30:11,702 Browseren skal ikke præsentere det til mig, medmindre det er over SSL. 567 00:30:11,702 --> 00:30:13,410 Men mange websites ikke gider med det. 568 00:30:13,410 --> 00:30:17,260 Og mange hjemmesider tilsyneladende ikke engang gider med SSL overhovedet. 569 00:30:17,260 --> 00:30:20,540 >> Så for mere om det, er der faktisk endnu mere snavs i denne præsentation 570 00:30:20,540 --> 00:30:24,010 at en kollega gav ved en såkaldt sort hat konference for et par år siden, 571 00:30:24,010 --> 00:30:26,468 hvor der er endda andre ondsindede tricks folk har brugt. 572 00:30:26,468 --> 00:30:28,630 Du husker muligvis denne forestillingen om en favicon, som 573 00:30:28,630 --> 00:30:32,270 er ligesom et lille logo, der er ofte i browserens vindue. 574 00:30:32,270 --> 00:30:34,610 Nå, hvad har været udbredt blandt skurkene er 575 00:30:34,610 --> 00:30:36,340 at gøre Fab ikoner, der ligner hvad? 576 00:30:36,340 --> 00:30:39,054 577 00:30:39,054 --> 00:30:39,970 PUBLIKUM: [uhørligt]. 578 00:30:39,970 --> 00:30:40,280 DAVID J. MALAN: Sig igen? 579 00:30:40,280 --> 00:30:41,490 PUBLIKUM: De websites. 580 00:30:41,490 --> 00:30:42,130 DAVID J. MALAN: Ikke en hjemmeside. 581 00:30:42,130 --> 00:30:43,394 Så favicon, lillebitte ikon. 582 00:30:43,394 --> 00:30:45,560 Hvad ville være den mest ondsindet, manipulerende ting 583 00:30:45,560 --> 00:30:47,832 du kan gøre dit websted standard ikon se ud? 584 00:30:47,832 --> 00:30:48,790 PUBLIKUM: En grøn lås. 585 00:30:48,790 --> 00:30:49,080 DAVID J. MALAN: Hvad er det? 586 00:30:49,080 --> 00:30:50,160 PUBLIKUM: En lille grøn lås. 587 00:30:50,160 --> 00:30:51,960 DAVID J. MALAN: Like en grøn lås, nøjagtigt. 588 00:30:51,960 --> 00:30:55,242 Så du kan have denne æstetiske af en lille grøn hængelås, 589 00:30:55,242 --> 00:30:57,950 hentyder til verden, åh, vi er sikre, når igen, alt det betyder 590 00:30:57,950 --> 00:31:00,210 er, at du kender nogle HTML. 591 00:31:00,210 --> 00:31:02,895 Så sessionskapring refererer til netop dette. 592 00:31:02,895 --> 00:31:05,936 Hvis du har nogen, der er lidt sniffing æteren i dette rum her 593 00:31:05,936 --> 00:31:09,150 eller har fysisk adgang til en netværk og kan se dine cookies, 594 00:31:09,150 --> 00:31:12,152 han eller hun kan få fat i det PHP sess ID cookie. 595 00:31:12,152 --> 00:31:13,860 Og så, hvis de er kyndige nok til at vide 596 00:31:13,860 --> 00:31:18,200 hvordan man kan sende, at cookie som deres egen hånd stempel blot ved at kopiere denne værdi 597 00:31:18,200 --> 00:31:20,860 og sende HTTP-headers, nogen kunne meget nemt 598 00:31:20,860 --> 00:31:23,510 logge ind nogen af ​​Facebook konti eller Gmail-konti 599 00:31:23,510 --> 00:31:27,355 eller Twitter konti, der er her, åbne i Værelset, hvis du ikke bruger SSL 600 00:31:27,355 --> 00:31:31,500 og hvis hjemmesiden er ikke korrekt ved hjælp af SSL. 601 00:31:31,500 --> 00:31:33,690 >> Så lad os overgang til en anden. 602 00:31:33,690 --> 00:31:34,700 Så en anden sand historie. 603 00:31:34,700 --> 00:31:38,680 Og dette blot brød i nyheder for en uge eller to siden. 604 00:31:38,680 --> 00:31:41,520 Verizon har gjort en meget ond ting, 605 00:31:41,520 --> 00:31:45,110 og som bedste folk kan fortælle, siden mindst 2012, hvor, 606 00:31:45,110 --> 00:31:51,550 når du adgang til websteder via en Verizon mobiltelefon, uanset producent er det, 607 00:31:51,550 --> 00:31:54,150 de har været formasteligt, Som historien går, 608 00:31:54,150 --> 00:31:59,890 indsprøjtning i al din HTTP trafik egen HTTP header. 609 00:31:59,890 --> 00:32:04,040 Og at header udseende ligesom denne-- X-UIDH. 610 00:32:04,040 --> 00:32:06,465 UID er ligesom en unik id eller bruger-id. 611 00:32:06,465 --> 00:32:09,660 Og X betyder blot dette er en brugerdefineret header det er ikke standard. 612 00:32:09,660 --> 00:32:11,720 >> Men hvad det betyder er, at hvis jeg trækker op, 613 00:32:11,720 --> 00:32:14,640 for eksempel, enhver hjemmeside på min telefon her-- 614 00:32:14,640 --> 00:32:18,310 og jeg bruger Verizon som min carrier-- selvom min browser måske ikke 615 00:32:18,310 --> 00:32:21,110 sende denne HTTP Header, Verizon, så snart 616 00:32:21,110 --> 00:32:23,650 som signalet når deres mobiltelefon tårn eller andet sted, 617 00:32:23,650 --> 00:32:28,187 har været i nogen tid injicere dette header ind i alle vores HTTP trafik. 618 00:32:28,187 --> 00:32:29,020 Hvorfor gør de det? 619 00:32:29,020 --> 00:32:31,920 Formentlig til sporing af grunde, til reklameformål årsager. 620 00:32:31,920 --> 00:32:36,280 >> Men den åndssvage design beslutning her er, at en HTTP header, 621 00:32:36,280 --> 00:32:41,090 som du fyre kender fra pset6, modtages af alle web-server 622 00:32:41,090 --> 00:32:42,540 at du anmoder om trafik. 623 00:32:42,540 --> 00:32:44,248 Så al denne tid, hvis du har været på besøg 624 00:32:44,248 --> 00:32:48,019 Facebook eller Gmail eller ethvert websted der ikke bruger SSL alle time-- 625 00:32:48,019 --> 00:32:49,810 og faktisk dem, to heldigvis nu do-- 626 00:32:49,810 --> 00:32:52,670 men andre hjemmesider, ikke bruger SSL hele tiden, 627 00:32:52,670 --> 00:32:54,930 Verizon har i det væsentlige været plantning, med magt, 628 00:32:54,930 --> 00:32:58,180 en hånd stempel på alle vores hænder, der selv ser vi ikke, 629 00:32:58,180 --> 00:33:00,330 men snarere, de endelige hjemmesider gør. 630 00:33:00,330 --> 00:33:02,890 Og så det har ikke været at svært for alle på internettet 631 00:33:02,890 --> 00:33:05,245 kører en web-server til indse, ooh, det er David, 632 00:33:05,245 --> 00:33:09,340 eller, ooh, dette er Davin, selvom vi er streng om at rydde vores cookies, 633 00:33:09,340 --> 00:33:10,772 fordi det ikke kommer fra os. 634 00:33:10,772 --> 00:33:11,980 Det kommer fra bæreren. 635 00:33:11,980 --> 00:33:14,896 >> De gør et opslag på dit telefonnummer og derefter sige, åh, det er David. 636 00:33:14,896 --> 00:33:18,890 Lad mig indskyde en entydig identifikator, så at vores annoncører eller hvem kan 637 00:33:18,890 --> 00:33:19,850 holde styr på dette. 638 00:33:19,850 --> 00:33:23,769 Så det er faktisk meget, meget, meget dårlig og gruopvækkende. 639 00:33:23,769 --> 00:33:26,060 Og jeg vil opfordre dig til at tage et kig, for eksempel, 640 00:33:26,060 --> 00:33:29,950 på denne webadresse, som jeg skulle dementi Jeg faktisk prøvet dette her til morgen. 641 00:33:29,950 --> 00:33:31,970 Jeg skrev et lille script, sætte det på denne webadresse, 642 00:33:31,970 --> 00:33:34,770 besøgte det med min egen Verizon Mobiltelefon efter vender Wi-Fi fra. 643 00:33:34,770 --> 00:33:38,010 Så du er nødt til at slå Wi-Fi fra, så du bruger 3G eller LTE eller lignende. 644 00:33:38,010 --> 00:33:40,010 Og så, hvis du besøger denne webadresse, alt dette script 645 00:33:40,010 --> 00:33:41,770 gør for jer, hvis du gerne vil spille, 646 00:33:41,770 --> 00:33:45,380 er det spytter hvad HTTP headers telefonen sender til vores server. 647 00:33:45,380 --> 00:33:48,510 Og jeg faktisk, i retfærdighed, gjorde ikke se dette her til morgen, som 648 00:33:48,510 --> 00:33:51,430 gør mig mener enten lokalt mobiltelefon tårn jeg var tilsluttet 649 00:33:51,430 --> 00:33:55,160 eller whatnot er ikke at gøre det, eller de har bakket ud af at gøre dette midlertidigt. 650 00:33:55,160 --> 00:33:58,160 Men for mere information, til hovedet til denne URL her. 651 00:33:58,160 --> 00:34:00,680 >> Og nu til denne-- dette tegneserie kan give mening. 652 00:34:00,680 --> 00:34:03,530 653 00:34:03,530 --> 00:34:04,030 Nej? 654 00:34:04,030 --> 00:34:04,530 OK. 655 00:34:04,530 --> 00:34:05,390 Ok. 656 00:34:05,390 --> 00:34:06,310 Der døde. 657 00:34:06,310 --> 00:34:07,240 Ok. 658 00:34:07,240 --> 00:34:11,330 >> Så lad os tage et kig på et par mere angreb, hvis blot at øge bevidstheden om 659 00:34:11,330 --> 00:34:13,179 og derefter tilbyde et par mulige løsninger 660 00:34:13,179 --> 00:34:14,430 så du er desto mere opmærksomme. 661 00:34:14,430 --> 00:34:17,305 Denne ene, vi talte om den anden dag, men gav ikke et navn til den. 662 00:34:17,305 --> 00:34:22,360 Det er en cross-site request forfalskning, som er en alt for fancy måde at sige 663 00:34:22,360 --> 00:34:26,489 du narre en bruger til at klikke på en URL som denne, hvilke tricks dem 664 00:34:26,489 --> 00:34:28,280 i nogle adfærd, de ikke havde til hensigt. 665 00:34:28,280 --> 00:34:30,710 >> I dette tilfælde synes dette at være at forsøge at narre mig 666 00:34:30,710 --> 00:34:32,920 til at sælge mine aktier i Google. 667 00:34:32,920 --> 00:34:36,810 Og det vil lykkes, hvis Jeg, programmøren af ​​pset7, 668 00:34:36,810 --> 00:34:40,409 ikke har gjort hvad? 669 00:34:40,409 --> 00:34:44,739 Eller rettere, mere generelt, i hvilken sager er jeg sårbar over for et angreb 670 00:34:44,739 --> 00:34:49,460 hvis nogen tricks anden brugers til at klikke på en URL som denne? 671 00:34:49,460 --> 00:34:49,960 Ja? 672 00:34:49,960 --> 00:34:52,500 >> PUBLIKUM: Du behøver ikke skelner mellem GET og POST. 673 00:34:52,500 --> 00:34:52,760 >> DAVID J. MALAN: God. 674 00:34:52,760 --> 00:34:54,850 Hvis vi ikke skelner mellem GET og POST, 675 00:34:54,850 --> 00:34:57,950 og faktisk, hvis vi tillader GET for at sælge ting, 676 00:34:57,950 --> 00:35:00,284 vi invitere denne form for angreb. 677 00:35:00,284 --> 00:35:01,950 Men vi kunne stadig afbøde det noget. 678 00:35:01,950 --> 00:35:04,283 Og jeg kommenterede, tror jeg, sidste uge, at Amazon mindst 679 00:35:04,283 --> 00:35:08,180 forsøger at afhjælpe dette med en teknik det er temmelig ligetil. 680 00:35:08,180 --> 00:35:11,860 Hvad ville en smart ting at gøre være på din server, 681 00:35:11,860 --> 00:35:14,652 snarere end blot blindt at sælge uanset symbol brugeren skriver i? 682 00:35:14,652 --> 00:35:15,984 PUBLIKUM: Bekræftelse slags? 683 00:35:15,984 --> 00:35:19,320 DAVID J. MALAN: En skærm bekræftelse, noget der involverer menneskelig interaktion 684 00:35:19,320 --> 00:35:21,300 så jeg er tvunget til foretage dommen opkaldet, 685 00:35:21,300 --> 00:35:23,930 selvom jeg har naivt klikkede et link, der ser sådan her ud 686 00:35:23,930 --> 00:35:27,760 og førte mig til skærmen cellen, ved mindst bad mig om at bekræfte eller benægte. 687 00:35:27,760 --> 00:35:32,460 Men ikke en usædvanlig angreb, især i såkaldt phishing eller spam-lignende 688 00:35:32,460 --> 00:35:33,280 angreb. 689 00:35:33,280 --> 00:35:34,890 >> Nu, dette ene er lidt mere subtil. 690 00:35:34,890 --> 00:35:37,060 Dette er en cross-site scripting angreb. 691 00:35:37,060 --> 00:35:39,250 Og dette sker, hvis din hjemmeside bruger ikke 692 00:35:39,250 --> 00:35:41,260 svarende til htmlspecialchars. 693 00:35:41,260 --> 00:35:45,160 Og det tager brugerinput og bare blindt indsprøjte det i en webside, 694 00:35:45,160 --> 00:35:48,170 som med print eller ekko, med-- igen-- ud kalde noget 695 00:35:48,170 --> 00:35:49,710 ligesom htmlspecialchars. 696 00:35:49,710 --> 00:35:52,602 >> Så formoder hjemmesiden Spørgsmålet er vulnerable.com. 697 00:35:52,602 --> 00:35:55,620 Og formoder, det accepterer en parameter kaldet q. 698 00:35:55,620 --> 00:35:59,040 Se på, hvad der kan ske hvis jeg faktisk, en dårlig fyr, 699 00:35:59,040 --> 00:36:02,360 skrive eller narre en bruger til besøge en webadresse, der ligner denne-- 700 00:36:02,360 --> 00:36:05,900 q = åben script tag, lukket script tag. 701 00:36:05,900 --> 00:36:08,480 Og igen, jeg antager at vulnerable.com er ikke 702 00:36:08,480 --> 00:36:11,740 kommer til at vende farlig tegn som tomme parenteser 703 00:36:11,740 --> 00:36:15,570 i HTML-entiteter, den -tegn, L-T, semikolon ting 704 00:36:15,570 --> 00:36:17,090 som du måske har set før. 705 00:36:17,090 --> 00:36:18,900 >> Men hvad er scriptet eller JavaScript-kode 706 00:36:18,900 --> 00:36:21,160 Jeg forsøger at narre en brugeren til at udføre? 707 00:36:21,160 --> 00:36:25,420 Nå, document.location refererer til min browsers nuværende adresse. 708 00:36:25,420 --> 00:36:29,400 Så hvis jeg gør document.location =, dette tillader mig at omdirigere brugeren 709 00:36:29,400 --> 00:36:30,830 i JavaScript til en anden hjemmeside. 710 00:36:30,830 --> 00:36:34,290 Det er ligesom vores PHP funktion omdirigere, men udført i JavaScript. 711 00:36:34,290 --> 00:36:35,900 >> Hvor jeg forsøger at sende brugeren? 712 00:36:35,900 --> 00:36:40,110 Nå, tilsyneladende, badguy.com/log.php, som er nogle script, tilsyneladende, 713 00:36:40,110 --> 00:36:43,530 den dårlige fyr skrev, der tager en parameter kaldet cookie. 714 00:36:43,530 --> 00:36:46,790 >> Og varsel, hvad gør jeg synes at være sammenkæde 715 00:36:46,790 --> 00:36:49,190 på enden af ​​det lighedstegnet? 716 00:36:49,190 --> 00:36:52,030 Nå, noget der siger document.cookie. 717 00:36:52,030 --> 00:36:53,320 Vi har ikke talt om dette. 718 00:36:53,320 --> 00:36:55,730 Men det viser sig, i JavaScript, ligesom i PHP, 719 00:36:55,730 --> 00:36:59,770 du kan få adgang til alle de cookies at din browser faktisk bruger. 720 00:36:59,770 --> 00:37:02,180 >> Så virkningen af ​​denne ene linje kode, hvis en bruger 721 00:37:02,180 --> 00:37:06,440 narret til at klikke på dette link og hjemmesiden vulnerable.com ikke 722 00:37:06,440 --> 00:37:10,000 undslippe det med htmlspecialchars, er, at du lige har effektivt 723 00:37:10,000 --> 00:37:13,660 uploadet til log.php alle dine cookies. 724 00:37:13,660 --> 00:37:17,300 Og det er ikke altid så problematisk, undtagen hvis én af disse cookies 725 00:37:17,300 --> 00:37:20,040 er din session-id, din såkaldte hånd stempel, som 726 00:37:20,040 --> 00:37:26,470 betyder badguy.com kan gøre hans eller hendes egen HTTP-anmodninger, sende den samme hånd 727 00:37:26,470 --> 00:37:30,210 stempel, at samme cookie header, og logge ind uanset website 728 00:37:30,210 --> 00:37:33,680 du var på besøg, som i dette tilfælde er vulnerable.com. 729 00:37:33,680 --> 00:37:35,940 Det er en cross-site scripting angreb i den forstand 730 00:37:35,940 --> 00:37:38,130 at du slags snyder et websted i at fortælle 731 00:37:38,130 --> 00:37:43,560 en anden hjemmeside om nogle oplysninger bør det ikke i virkeligheden, har adgang til. 732 00:37:43,560 --> 00:37:46,510 >> Okay, er klar til en andre bekymrende detalje? 733 00:37:46,510 --> 00:37:49,970 Okay, verden er en skræmmende sted, legitimt så. 734 00:37:49,970 --> 00:37:52,480 Her er et simpelt JavaScript eksempel, der er 735 00:37:52,480 --> 00:37:54,847 i dagens kildekode kaldet geolocation 0 og 1. 736 00:37:54,847 --> 00:37:56,930 Og der er et par walkthroughs online for dette. 737 00:37:56,930 --> 00:37:59,920 >> Og det gør følgende, hvis jeg åbne denne webside i Chrome. 738 00:37:59,920 --> 00:38:04,590 Det første gør ingenting. 739 00:38:04,590 --> 00:38:07,300 OK, vi vil prøve det igen. 740 00:38:07,300 --> 00:38:07,800 Oh. 741 00:38:07,800 --> 00:38:10,990 742 00:38:10,990 --> 00:38:13,370 Nej, det gør noget. 743 00:38:13,370 --> 00:38:16,500 OK, stå ved. 744 00:38:16,500 --> 00:38:18,200 >> Lad os prøve det en gang mere. 745 00:38:18,200 --> 00:38:21,285 746 00:38:21,285 --> 00:38:21,785 [Uhørligt] 747 00:38:21,785 --> 00:38:26,941 748 00:38:26,941 --> 00:38:29,444 Ah, OK, ikke sikker på, hvorfor til-- oh, apparatet 749 00:38:29,444 --> 00:38:31,360 sandsynligvis mistet internet adgang til en eller anden grund. 750 00:38:31,360 --> 00:38:32,840 Okay, så sker for mig, også. 751 00:38:32,840 --> 00:38:34,650 >> Okay, så varsel hvad der foregår her. 752 00:38:34,650 --> 00:38:37,300 Denne kryptiske udseende webadresse, som er blot én af CS50-server, 753 00:38:37,300 --> 00:38:41,130 ønsker at bruge min computer placering, ligesom fysisk betyder det. 754 00:38:41,130 --> 00:38:45,160 Og hvis, ja, jeg klikker på Tillad, lad os se hvad der sker. 755 00:38:45,160 --> 00:38:49,030 Tilsyneladende, dette er min nuværende breddegrad og langsgående koordinater ned 756 00:38:49,030 --> 00:38:51,660 til en temmelig lidt god opløsning. 757 00:38:51,660 --> 00:38:53,310 >> Så hvordan har jeg får på dette? 758 00:38:53,310 --> 00:38:57,620 Hvordan denne hjemmeside, ligesom CS50-server, vide fysisk hvor i verden 759 00:38:57,620 --> 00:38:59,600 Jeg, endsige med præcision. 760 00:38:59,600 --> 00:39:01,990 Nå, vender out-- lad os bare se på sidens source-- 761 00:39:01,990 --> 00:39:05,280 at her er en masse HTML på bunden, der først har denne-- 762 00:39:05,280 --> 00:39:09,080 organ onload = "geolokation" - bare en funktion jeg skrev. 763 00:39:09,080 --> 00:39:11,840 >> Og jeg siger, ved lastning siden, kalder Lokaliser. 764 00:39:11,840 --> 00:39:13,750 Og så er der ikke noget i kroppen, fordi 765 00:39:13,750 --> 00:39:16,270 i hovedet på siden, mærke til, hvad jeg har her. 766 00:39:16,270 --> 00:39:18,090 Her er min Lokaliser funktion. 767 00:39:18,090 --> 00:39:23,560 Og dette er blot nogle fejl checking-- hvis den type navigator.geolocation 768 00:39:23,560 --> 00:39:24,490 er ikke defineret. 769 00:39:24,490 --> 00:39:26,240 Så JavaScript har dette mekanisme, hvor man 770 00:39:26,240 --> 00:39:28,270 kan sige, hvad der er den type af denne variabel? 771 00:39:28,270 --> 00:39:30,790 Og hvis det ikke er undefined-- det betyder, at det er nogle value-- 772 00:39:30,790 --> 00:39:35,940 Jeg har tænkt mig at ringe til navigator.geolocation.getCurrentPosition 773 00:39:35,940 --> 00:39:37,230 og derefter tilbagekald. 774 00:39:37,230 --> 00:39:37,750 >> Hvad er dette? 775 00:39:37,750 --> 00:39:39,916 Så i almindelighed, hvad der er en tilbagekald, bare for at være klar? 776 00:39:39,916 --> 00:39:42,890 Du har måske stødt dette allerede i pset8. 777 00:39:42,890 --> 00:39:44,790 Tilbagekald er en generisk sigt for at gøre hvad? 778 00:39:44,790 --> 00:39:48,430 779 00:39:48,430 --> 00:39:49,554 Føles bare mig i dag. 780 00:39:49,554 --> 00:39:50,470 PUBLIKUM: [uhørligt]. 781 00:39:50,470 --> 00:39:53,322 782 00:39:53,322 --> 00:39:55,280 DAVID J. MALAN: Præcis, en funktion, der skal 783 00:39:55,280 --> 00:39:57,330 kaldes kun når vi har data. 784 00:39:57,330 --> 00:40:01,510 Denne indkaldelse til browseren, få min nuværende position, kan tage et millisekund, 785 00:40:01,510 --> 00:40:02,720 det kan tage et minut. 786 00:40:02,720 --> 00:40:06,960 Hvad dette betyder er, vi fortæller GET getCurrentPosition metode, 787 00:40:06,960 --> 00:40:09,910 kalder denne callback funktion, som jeg bogstaveligt talt navngivet tilbagekald 788 00:40:09,910 --> 00:40:13,150 for enkelhed, som tilsyneladende er denne ene her. 789 00:40:13,150 --> 00:40:16,290 >> Og den måde getCurrentPosition fungerer, blot ved at læse den dokumentation 790 00:40:16,290 --> 00:40:19,540 for nogle JavaScript-kode online, er at det opkald, som såkaldt callback 791 00:40:19,540 --> 00:40:23,220 funktion, passerer det ind det et JavaScript objekt, 792 00:40:23,220 --> 00:40:28,970 inderside er .coords.latitude og .coords.longitude, 793 00:40:28,970 --> 00:40:32,140 hvilket er præcis, hvordan, da, når jeg genindlæses denne side 794 00:40:32,140 --> 00:40:33,985 Jeg var i stand til at se min placering her. 795 00:40:33,985 --> 00:40:35,610 Nu der var mindst et forsvar her. 796 00:40:35,610 --> 00:40:37,820 Før jeg besøgte denne side, når det rent faktisk arbejdede, 797 00:40:37,820 --> 00:40:40,935 hvad var jeg i det mindste bedt om? 798 00:40:40,935 --> 00:40:42,180 >> PUBLIKUM: [uhørligt]. 799 00:40:42,180 --> 00:40:44,200 >> DAVID J. MALAN: Ja eller no-- gøre du vil tillade eller nægte dette? 800 00:40:44,200 --> 00:40:46,630 Men tænk også om vaner jer har sikkert vedtaget, 801 00:40:46,630 --> 00:40:48,330 både på din telefon og dine browsere. 802 00:40:48,330 --> 00:40:50,390 Mange af os, mig selv inkluderet, er sandsynligvis 803 00:40:50,390 --> 00:40:54,960 pretty disponerede disse days-- dig se en pop-up, bare Enter, OK, godkende, 804 00:40:54,960 --> 00:40:55,730 Tillad. 805 00:40:55,730 --> 00:40:59,070 Og i stigende grad, kan du sætte dig selv i fare for disse grunde. 806 00:40:59,070 --> 00:41:03,280 >> Så i virkeligheden, var der denne vidunderlige bug et par år ago-- eller mangel på feature-- 807 00:41:03,280 --> 00:41:08,250 at iTunes havde et par år siden, hvorved hvis du havde en mobiltelefon, 808 00:41:08,250 --> 00:41:12,000 og det var en iPhone, og du forlod dit hjem 809 00:41:12,000 --> 00:41:15,600 og derfor rejste rundt omkring i verden eller nabolaget, al denne tid, 810 00:41:15,600 --> 00:41:17,819 telefonen var logget hvor du er via GPS. 811 00:41:17,819 --> 00:41:20,610 Og dette er faktisk beskrevet, og folk slags forventer nu. 812 00:41:20,610 --> 00:41:21,930 Telefonen ved, hvor du er. 813 00:41:21,930 --> 00:41:24,990 Men problemet var, at da du var sikkerhedskopiering 814 00:41:24,990 --> 00:41:29,260 telefonen til iTunes-- dette var før de dage af iCloud, hvilket er bedre 815 00:41:29,260 --> 00:41:33,960 eller for worse-- data blev gemt i iTunes, helt ukrypteret. 816 00:41:33,960 --> 00:41:37,370 Så hvis du har en familie eller bofæller eller en ondsindet nabo, der er 817 00:41:37,370 --> 00:41:41,430 nysgerrig bogstaveligt talt hver GPS koordinere, du nogensinde har været til, 818 00:41:41,430 --> 00:41:43,300 han eller hun kunne bare sidde ned på iTunes, køre 819 00:41:43,300 --> 00:41:46,540 noget software, der var frit til rådighed, og producere kort som dette. 820 00:41:46,540 --> 00:41:48,680 >> I virkeligheden, dette er hvad jeg produceret af min egen telefon. 821 00:41:48,680 --> 00:41:49,380 Jeg tilsluttet det. 822 00:41:49,380 --> 00:41:51,670 Og det ser ud, baseret på de blå prikker der, 823 00:41:51,670 --> 00:41:53,900 det er, hvor de fleste af GPS koordinater var 824 00:41:53,900 --> 00:41:56,680 logget af iTunes, som jeg var i det nordøstlige der. 825 00:41:56,680 --> 00:42:00,030 Men jeg åbenbart rejste rundt en smule, selv inden Massachusetts. 826 00:42:00,030 --> 00:42:01,950 >> Så det er Boston Harbor der til højre. 827 00:42:01,950 --> 00:42:04,430 Det er slags Cambridge og Boston, hvor det er mørkest. 828 00:42:04,430 --> 00:42:07,660 Og lejlighedsvis, ville jeg køre ærinder til en større geografi. 829 00:42:07,660 --> 00:42:11,464 >> Men iTunes i årevis, havde, som bedst Jeg kunne fortælle, alt dette data på mig. 830 00:42:11,464 --> 00:42:13,380 Du kan fortælle, at det år, jeg var faktisk 831 00:42:13,380 --> 00:42:17,990 rejser meget mellem Boston og New York, går frem og tilbage 832 00:42:17,990 --> 00:42:18,830 og frem og tilbage. 833 00:42:18,830 --> 00:42:22,660 Og ja, det er mig på Amtrak, tilbage og tilbage, frem og tilbage, ganske lidt. 834 00:42:22,660 --> 00:42:25,970 Alt dette blev logget og lagret krypteret på min computer 835 00:42:25,970 --> 00:42:28,520 for alle, der måtte have adgang til min computer. 836 00:42:28,520 --> 00:42:29,480 >> Det var bekymrende. 837 00:42:29,480 --> 00:42:32,180 Jeg vidste ikke hvorfor jeg var i Pennsylvania eller hvorfor 838 00:42:32,180 --> 00:42:35,277 min telefon var i Pennsylvania, tilsyneladende temmelig tæt. 839 00:42:35,277 --> 00:42:37,360 Og så, endelig, kiggede jeg på min Gcal, og, åh, jeg 840 00:42:37,360 --> 00:42:39,880 besøgte CMU, Carnegie Mellon, på det tidspunkt. 841 00:42:39,880 --> 00:42:42,031 Og pyh, den slags forklarede, at blip. 842 00:42:42,031 --> 00:42:43,780 Og så, hvis du zoomer længere ud, kan du 843 00:42:43,780 --> 00:42:46,850 ser jeg besøgte San Francisco én eller flere gange derefter, 844 00:42:46,850 --> 00:42:51,140 og jeg havde selv en ventetid i hvad Jeg tror er Vegas, dernede. 845 00:42:51,140 --> 00:42:54,120 Så alle denne-- bare en ventetid i lufthavnen. 846 00:42:54,120 --> 00:42:56,420 >> PUBLIKUM: [Latter] 847 00:42:56,420 --> 00:43:00,760 >> Så dette er kun at sige, at disse problemer, helt ærligt, er allestedsnærværende. 848 00:43:00,760 --> 00:43:02,780 Og det kun føles stigende grad som om der er 849 00:43:02,780 --> 00:43:05,810 mere og mere af dette bliver videregivet, som sandsynligvis er en god ting. 850 00:43:05,810 --> 00:43:08,390 Jeg daresay, verden er ikke værre ved at skrive software. 851 00:43:08,390 --> 00:43:10,520 Vi bliver bedre, forhåbentlig ved bemærke 852 00:43:10,520 --> 00:43:13,037 hvor slemt bestemt software er, at vi bruger. 853 00:43:13,037 --> 00:43:14,870 Og heldigvis, nogle virksomheder er begyndt 854 00:43:14,870 --> 00:43:17,080 at blive holdt ansvarlig for dette. 855 00:43:17,080 --> 00:43:19,080 >> Men hvad slags forsvar kan du have i tankerne? 856 00:43:19,080 --> 00:43:23,610 Så udover adgangskode ledere, ligesom 1Password og LastPass og andre, 857 00:43:23,610 --> 00:43:27,340 udover blot at ændre dine adgangskoder og kommer op med tilfældige dem 858 00:43:27,340 --> 00:43:29,700 ved hjælp af software som det, kan du også prøve 859 00:43:29,700 --> 00:43:31,700 så godt du kan, for at kryptere al din trafik 860 00:43:31,700 --> 00:43:34,680 mindst indsnævre zone af en trussel. 861 00:43:34,680 --> 00:43:38,100 Så for eksempel, som Harvard søsterselskaber, du kan alle gå til vpn.harvard.edu 862 00:43:38,100 --> 00:43:41,010 og log ind med dit Harvard-id og PIN-kode. 863 00:43:41,010 --> 00:43:49,350 Og dette vil etablere en sikker forbindelse mellem dig og Harvard. 864 00:43:49,350 --> 00:43:51,150 >> Nu, der ikke gør nødvendigvis beskytte dig 865 00:43:51,150 --> 00:43:54,360 mod enhver trussel, der er mellem Harvard og Facebook eller Harvard 866 00:43:54,360 --> 00:43:54,861 og Gmail. 867 00:43:54,861 --> 00:43:56,735 Men hvis du sidder i en lufthavn eller du er 868 00:43:56,735 --> 00:43:59,260 sidder i Starbucks eller du er sidder ved en vens sted, 869 00:43:59,260 --> 00:44:02,730 og du ikke rigtig har tillid til dem eller deres konfiguration af deres hjem router, 870 00:44:02,730 --> 00:44:04,970 i det mindste du kan oprette en sikker forbindelse 871 00:44:04,970 --> 00:44:10,260 til en enhed, som dette sted, der er sandsynligvis lidt bedre sikret 872 00:44:10,260 --> 00:44:12,437 end noget som en Starbucks eller lignende. 873 00:44:12,437 --> 00:44:14,270 Og hvad det betyder er det etablerer igen, 874 00:44:14,270 --> 00:44:16,300 kryptering mellem dig og endpoint. 875 00:44:16,300 --> 00:44:17,880 >> Selv amatør er ting som dette. 876 00:44:17,880 --> 00:44:20,000 Så nogle af jer måske allerede være bekendt med Tor, 877 00:44:20,000 --> 00:44:22,930 der er denne form for anonymisering netværk, hvor masser af mennesker, 878 00:44:22,930 --> 00:44:26,640 hvis de køre denne software, rute efterfølgende deres internet 879 00:44:26,640 --> 00:44:27,990 trafik gennem hinanden. 880 00:44:27,990 --> 00:44:31,460 Så den korteste punkt er ikke længere mellem A og B. 881 00:44:31,460 --> 00:44:35,850 Men det kan være over hele plads, så du er i det væsentlige 882 00:44:35,850 --> 00:44:40,742 omfatter et spor og forlader mindre af en rekord som til hvor din HTTP 883 00:44:40,742 --> 00:44:43,950 trafik kom fra, fordi det vil gennem en hel bunke af andres 884 00:44:43,950 --> 00:44:45,990 bærbare eller stationære computere, for bedre eller værre. 885 00:44:45,990 --> 00:44:48,180 >> Men selv dette er ikke en surefire ting. 886 00:44:48,180 --> 00:44:51,560 Nogle af jer husker måske sidste år den bombetrussel, der blev kaldt ind. 887 00:44:51,560 --> 00:44:54,662 Og det blev sporet i sidste ende til en bruger, som havde brugt dette netværk her. 888 00:44:54,662 --> 00:44:57,870 Og fangsten der, så vidt jeg husker, er, hvis der ikke er så mange andre mennesker 889 00:44:57,870 --> 00:45:02,190 ved hjælp af en software som dette, eller bruger denne port og protokol, 890 00:45:02,190 --> 00:45:06,250 det er ikke så svært for et netværk til endnu finde ud af hvem, med en vis sandsynlighed, 891 00:45:06,250 --> 00:45:08,950 faktisk var anonymerseringsoverlægningsnetværk hans eller hendes trafik. 892 00:45:08,950 --> 00:45:12,030 >> Og jeg ved ikke, om det var de faktiske pågældende oplysninger. 893 00:45:12,030 --> 00:45:15,400 Men sikkert indse, at ingen af disse er surefire løsninger, så godt. 894 00:45:15,400 --> 00:45:18,820 Og målet her i dag er at mindst få dig til at tænke over disse ting 895 00:45:18,820 --> 00:45:23,140 og kommer op med teknikker til forsvare dig selv mod dem. 896 00:45:23,140 --> 00:45:28,858 Eventuelle spørgsmål om alle de trusler der venter dig derude, og i her? 897 00:45:28,858 --> 00:45:29,358 Ja? 898 00:45:29,358 --> 00:45:29,858 899 00:45:29,858 --> 00:45:31,793 PUBLIKUM: Hvor sikkert gøre vi forventer gennemsnittet 900 00:45:31,793 --> 00:45:35,210 [? hjemmeside skal være,?] ligesom den gennemsnitlige CS50 projektet? 901 00:45:35,210 --> 00:45:38,530 >> DAVID J. MALAN: The gennemsnitlig CS50 projekt? 902 00:45:38,530 --> 00:45:43,190 Det er altid vist sig hvert år, nogle CS50 endelige projekter er ikke 903 00:45:43,190 --> 00:45:44,530 særlig sikker. 904 00:45:44,530 --> 00:45:47,940 Normalt det er nogle roommate eller hallmate at tallene denne ud 905 00:45:47,940 --> 00:45:51,200 ved at sende anmodninger til dit projekt. 906 00:45:51,200 --> 00:45:55,230 >> Kort answer-- hvor mange hjemmesider er sikre? 907 00:45:55,230 --> 00:45:57,450 Jeg plukke på nutidens anomalier. 908 00:45:57,450 --> 00:46:00,640 Ligesom det var bare en tilfældighed at jeg indså, at denne hjemmeside 909 00:46:00,640 --> 00:46:03,390 Jeg har bestilling disse ærligt lækre arrangementer from-- 910 00:46:03,390 --> 00:46:05,348 og jeg er ikke sikker på jeg vil stoppe med at bruge deres hjemmeside; 911 00:46:05,348 --> 00:46:08,030 Jeg kunne bare ændre min adgangskode mere regularly-- 912 00:46:08,030 --> 00:46:11,320 Det er ikke klart, hvor sårbar alle disse various-- 913 00:46:11,320 --> 00:46:12,970 dette er chokolade-dækket faktisk. 914 00:46:12,970 --> 00:46:16,172 915 00:46:16,172 --> 00:46:19,130 Det korte svar, kan jeg ikke svare på effektivt, andet end at sige det 916 00:46:19,130 --> 00:46:22,150 var ikke så svært for mig at finde nogle af disse eksempler blot 917 00:46:22,150 --> 00:46:24,040 af hensyn til diskussion i forelæsning. 918 00:46:24,040 --> 00:46:26,456 Og bare at holde øje med Google News og andre ressourcer 919 00:46:26,456 --> 00:46:29,590 vil bringe desto mere af den slags ting til at lyse. 920 00:46:29,590 --> 00:46:32,460 >> Okay, lad os afslutte med denne prequel 921 00:46:32,460 --> 00:46:36,870 at CS50 team har forberedt for dig i forventning om CS50 hackathon. 922 00:46:36,870 --> 00:46:39,763 Og på din vej ud i en øjeblik, vil frugt blive serveret. 923 00:46:39,763 --> 00:46:40,429 [VIDEO PLAYBACK] 924 00:46:40,429 --> 00:46:43,595 [MUSIC FERGIE, Q TIP OG GOONROCK, "A LITTLE PART dræbte aldrig INGEN (ALL 925 00:46:43,595 --> 00:46:44,373 Vi fik) "] 926 00:46:44,373 --> 00:48:08,880 927 00:48:08,880 --> 00:48:13,467 >> - [Snorken] 928 00:48:13,467 --> 00:48:14,300 [END VIDEO PLAYBACK] 929 00:48:14,300 --> 00:48:15,420 DAVID J. MALAN: Det er det for CS50. 930 00:48:15,420 --> 00:48:16,544 Vi vil se dig på onsdag. 931 00:48:16,544 --> 00:48:20,670 932 00:48:20,670 --> 00:48:25,840 [MUSIC - Skrillex, "IMMA 'Prøv det"] 933 00:48:25,840 --> 00:51:47,776