1 00:00:00,000 --> 00:00:02,610 >> [Seminario] [Defendo Malantaŭ la Device: Poŝ-komputilo/telefono Apliko Sekureco] 2 00:00:02,610 --> 00:00:04,380 [Chris Wysopal] [Universitato Harvard] 3 00:00:04,380 --> 00:00:07,830 [Ĉi tiu estas CS50.] [CS50.TV] 4 00:00:07,830 --> 00:00:10,360 >> Bonan posttagmezon. Mia nomo estas Chris Wysopal. 5 00:00:10,360 --> 00:00:13,360 Mi estas la CTO kaj kunfondinto de Veracode. 6 00:00:13,360 --> 00:00:15,880 Veracode estas apliko sekureco kompanio. 7 00:00:15,880 --> 00:00:18,230 Ni testi ĉiajn malsamajn aplikojn, 8 00:00:18,230 --> 00:00:25,060 kaj kion Mi iras paroli hodiaŭ estas mobile apliko sekureco. 9 00:00:25,060 --> 00:00:28,630 Mia fono estas mi estis farante sekureco esploro 10 00:00:28,630 --> 00:00:31,970 dum tre longa tempo, probable ĉirkaŭ tiom longe kiom iu ajn. 11 00:00:31,970 --> 00:00:35,000 Mi komencis meze de la 90, 12 00:00:35,000 --> 00:00:37,370 kaj estis tempo ke estis sufiĉe interesa ĉar 13 00:00:37,370 --> 00:00:39,220 ni havis paradigma ŝanĝo en la mezaj 90. 14 00:00:39,220 --> 00:00:43,520 Subite ĉies komputilo estis enganchó al la interreto, 15 00:00:43,520 --> 00:00:46,550 kaj tiam ni havis la komencoj de ttt-aplikaĵojn, 16 00:00:46,550 --> 00:00:49,330 kaj tio, kion mi koncentris sur tereno tiam. 17 00:00:49,330 --> 00:00:51,160 Ĝi estas interesa. 18 00:00:51,160 --> 00:00:53,930 Nun ni havas alian paradigmo ŝanĝo okazas kun komputado, 19 00:00:53,930 --> 00:00:58,710 kiu estas la ŝanĝo al mobile aplikoj. 20 00:00:58,710 --> 00:01:03,680 >> Mi sentas estas speco de simila tempo poste ĝi estis en la malfrua 90 21 00:01:03,680 --> 00:01:07,650 kiam ni enketis ttt aplikaĵoj kaj trovinte difektojn kiel 22 00:01:07,650 --> 00:01:11,800 seancadministran eraroj kaj SQL injekto 23 00:01:11,800 --> 00:01:14,940 kiuj vere ne ekzistas antaŭe, kaj subite ili ĉie 24 00:01:14,940 --> 00:01:19,360 en aplikoj retejo, kaj nun multe da tempo mi pasigas 25 00:01:19,360 --> 00:01:27,950 rigardas mobile aplikaĵoj kaj rigardante kio okazas tie ekstere en naturo. 26 00:01:27,950 --> 00:01:32,060 Mobile aplikaĵoj estas vere tuj estos la reganta komputado kajo, 27 00:01:32,060 --> 00:01:35,060 do ni vere bezonas elspezi multe da tempo, se vi estas en la sekureco industrio 28 00:01:35,060 --> 00:01:39,280 enfokusigante ttt aplikoj. 29 00:01:39,280 --> 00:01:43,420 Esas 29 miliardoj mobile apps elŝutis en 2011. 30 00:01:43,420 --> 00:01:47,920 Oni antaŭdiris estu 76 miliardoj apps 2014. 31 00:01:47,920 --> 00:01:54,040 Tie estas 686 milionoj da aparatoj kiuj tuj povas aĉeti ĉi tiun jaron, 32 00:01:54,040 --> 00:01:57,060 tial cxi tiu estas kie la homo tuj faros 33 00:01:57,060 --> 00:01:59,600  la plimulto de sia kliento komputado iri antaŭen. 34 00:01:59,600 --> 00:02:04,220 >> Mi parolis al vicprezidanto Fideleco Investments 35 00:02:04,220 --> 00:02:08,780 paro monatoj, kaj li diris, ke ili nur vidis pli trafiko 36 00:02:08,780 --> 00:02:12,610 faranta financaj transakcioj de siaj klientoj bazo 37 00:02:12,610 --> 00:02:16,230 sur iliaj telefonoj apliko ol sur ilia retpaĝaro, 38 00:02:16,230 --> 00:02:20,610 tiom komunan uzon por la retejo en la pasinteco estis 39 00:02:20,610 --> 00:02:23,800 kontrolanta via stock quotes, administri viajn biletujo, 40 00:02:23,800 --> 00:02:28,060 kaj ni efektive vidis, ke en 2012 ŝaltilo super 41 00:02:28,060 --> 00:02:30,960 esti pli dominantaj je la telefono kajo. 42 00:02:30,960 --> 00:02:34,530 Certe se oni tuj estos ajn kriminala aktiveco, 43 00:02:34,530 --> 00:02:38,900 neniu malica aktiveco, ĝi tuj komencus enfokusigita sur la telefono kajo 44 00:02:38,900 --> 00:02:44,210 tra la tempo, kiel homoj ŝanĝi super tio. 45 00:02:44,210 --> 00:02:48,320 Se vi rigardas la mobile kajo, 46 00:02:48,320 --> 00:02:54,380 rigardi la riskojn de la platformo estas utila por rompi gxin malsupren, en la diversaj tavoloj, 47 00:02:54,380 --> 00:02:59,010 ĝuste kiel vi farus gxin sur labortablo komputilo, 48 00:02:59,010 --> 00:03:02,860 kaj vi pensas pri la diversaj tavoloj, programaro, mastrumaj sistemo, 49 00:03:02,860 --> 00:03:07,730 reto tavolo, aparataro mantelo, kaj kompreneble, ekzistas vulnerabilidades sur ĉiuj tiuj tavoloj. 50 00:03:07,730 --> 00:03:10,510 >> La samo okazas en telefonoj. 51 00:03:10,510 --> 00:03:14,880 Sed mobile, ŝajnas ke iuj el tiuj tavoloj estas plej malbona situacio. 52 00:03:14,880 --> 00:03:19,840 Por unu, la reto tavolo estas pli problema on Mobile 53 00:03:19,840 --> 00:03:25,650 ĉar multe da homoj havas en sia ofico aŭ hejme 54 00:03:25,650 --> 00:03:30,780 telegramis rilatoj aŭ ili havas sekuran Wi-Fi rilatoj, 55 00:03:30,780 --> 00:03:36,530 kaj kun amaso da telefonoj aparatoj vi estas evidente ekster la hejmo 56 00:03:36,530 --> 00:03:40,520 aŭ ekster la oficejo multe, kaj se vi uzas Wi-Fi tie 57 00:03:40,520 --> 00:03:42,820 vi eble povas uzi necerta Wi-Fi, 58 00:03:42,820 --> 00:03:45,570 io tio estas publika Wi-Fi, 59 00:03:45,570 --> 00:03:48,840 do kiam ni pensas pri mobile apps ni devas enkalkuli 60 00:03:48,840 --> 00:03:53,770 ke la reto medio estas riskier por tiuj aplikoj 61 00:03:53,770 --> 00:03:57,640 kiam Wi-Fi estas uzata. 62 00:03:57,640 --> 00:04:02,410 Kaj kiam mi eniros en pli de la telefono apliko riskoj 63 00:04:02,410 --> 00:04:04,910 vi vidos, kial tio estas pli grava. 64 00:04:04,910 --> 00:04:09,710 Esas riskoj je la nivelo de aparataro en porteblaj aparatoj. 65 00:04:09,710 --> 00:04:11,670 Tiu estas areo de progresanta esploro. 66 00:04:11,670 --> 00:04:15,910 Homoj nomas tiujn larĝa bando atakoj aŭ bando bazu atakoj 67 00:04:15,910 --> 00:04:21,870 kie vi atakas la firmware kiu'S aŭskultante en la radio. 68 00:04:21,870 --> 00:04:25,430 >> Tio estas vere timiga atakoj ĉar 69 00:04:25,430 --> 00:04:27,280 la uzanto ne devas ion ajn fari. 70 00:04:27,280 --> 00:04:30,760 Vi povas kolizii multaj aparatoj ene RF gamo 71 00:04:30,760 --> 00:04:36,690 samtempe, kaj ŝajnas kiel kiam ajn tiu esploro bobelas 72 00:04:36,690 --> 00:04:40,750 gxi rapide gets klasifikita kie 73 00:04:40,750 --> 00:04:46,600 homoj plonĝo en ĉirkaŭ kaj diri: "Jen, diru al ni pri tio, kaj bonvolu ĉesi paroli pri tio." 74 00:04:46,600 --> 00:04:49,460 Ekzistas iu esploro okazas en la larĝa bando areo, 75 00:04:49,460 --> 00:04:51,980 sed ĝi ŝajnas esti tre Hush silentu. 76 00:04:51,980 --> 00:04:56,910 Mi kredas ke estas pli de nacio ŝtata tipo de esplorado, ke okazas. 77 00:04:56,910 --> 00:05:02,140 Areo de aktivaj esploroj, tamen, estas la mastruma sistemo tavolo, 78 00:05:02,140 --> 00:05:08,910 kaj denove, ĉi tiu estas malsama ol en la labortablo komputado mondo 79 00:05:08,910 --> 00:05:14,840 ĉar en la telefono spaco vi havas tiuj teamoj de homoj nomitaj jailbreakers, 80 00:05:14,840 --> 00:05:18,670 kaj jailbreakers estas malsama ol regulan vundebleco esploristoj. 81 00:05:18,670 --> 00:05:21,970 Ili penas trovi vulnerabilidades en la mastruma sistemo, 82 00:05:21,970 --> 00:05:27,000 sed la kialo oni provas trovi la vulnerabilidades estas ne 83 00:05:27,000 --> 00:05:31,810 rompi en aliulaj maŝino kaj kompromisi ĝin. 84 00:05:31,810 --> 00:05:34,280 Ĝi estas por rompi en lia propra komputilo. 85 00:05:34,280 --> 00:05:38,820 >> Ili volas rompi en siajn proprajn mobile, modifi sian propran mobile mastruma sistemo 86 00:05:38,820 --> 00:05:41,050 tiel ke ili povas kuri la aplikoj de ilia elekto 87 00:05:41,050 --> 00:05:44,510 kaj ŝanĝi tion kun plena administra permesoj, 88 00:05:44,510 --> 00:05:49,050 kaj ili ne volas diri al la vendisto pri ĉi tio. 89 00:05:49,050 --> 00:05:52,960 Ili ne estas kiel sekureca esploristo kiu estas blanka ĉapelo sekureco esploristo 90 00:05:52,960 --> 00:05:56,600 kion tuj faros respondeca malkaŝo kaj diri al la vendisto pri ĝi. 91 00:05:56,600 --> 00:06:01,270 Ili volas fari ĉi esploron, kaj oni volas reale publikigas 92 00:06:01,270 --> 00:06:06,400 en ekspluati aux rootkit aux jailbreak kodo, 93 00:06:06,400 --> 00:06:10,010 kaj ili volas fari ĝin strategie, kiel tuj post 94 00:06:10,010 --> 00:06:13,570 La vendisto ŝipoj la novan mastruman sistemon. 95 00:06:13,570 --> 00:06:16,350 Vi havas ĉi adversarial interrilato 96 00:06:16,350 --> 00:06:19,000 kun OS-nivelo vulnerabilidades je la telefono, 97 00:06:19,000 --> 00:06:23,150 kion mi pensas estas tre interesa, kaj unu loko ni vidos 98 00:06:23,150 --> 00:06:29,210 Estas ĝi faras tiel, ke ne estas bona eldonita ekspluati kodo tie 99 00:06:29,210 --> 00:06:31,750 por kerno-nivelo vulnerabilidades, 100 00:06:31,750 --> 00:06:35,040 kaj ni vidis tiujn reale esti uzita por malware verkistoj. 101 00:06:35,040 --> 00:06:38,450 Ĝi estas iom malsamaj ol la PC mondo. 102 00:06:38,450 --> 00:06:42,530 Kaj tiam la fina tavolo estas la supera tavolo, la apliko tavolo. 103 00:06:42,530 --> 00:06:45,250 Tio estas kion mi tuj paroli hodiaŭ. 104 00:06:45,250 --> 00:06:48,970 >> La alia tavoloj ekzistas, kaj la alia tavoloj ludi en ĝin, 105 00:06:48,970 --> 00:06:53,310 sed mi plejparte tuj paroli pri tio, kio okazas en la apliko tavolo 106 00:06:53,310 --> 00:06:55,560 kie kodo estas kurante en la testejo. 107 00:06:55,560 --> 00:06:58,670 Ĝi ne havas administraj privilegioj. 108 00:06:58,670 --> 00:07:02,170 Ĝi devas uzi la API de la mekanismo, 109 00:07:02,170 --> 00:07:06,970 sed tamen, multe da malicaj aktiveco kaj multajn risko povas okazi en tiu tavolo 110 00:07:06,970 --> 00:07:09,220 ĉar tio estas la mantelo kie ĉiuj informoj estas. 111 00:07:09,220 --> 00:07:12,330 Apps povas aliri ĉiujn informojn pri la mekanismo 112 00:07:12,330 --> 00:07:15,390 se ili havas la rajton permesoj, 113 00:07:15,390 --> 00:07:17,540 kaj ili povas aliri la malsamaj sensores sur la aparaton, 114 00:07:17,540 --> 00:07:23,950 GPS sentilo, mikrofono, ĉambro, kion vi havas. 115 00:07:23,950 --> 00:07:27,380 Eĉ se ni nur parolas pri la apliko tavolo 116 00:07:27,380 --> 00:07:33,700 Ni havas multe da risko tie. 117 00:07:33,700 --> 00:07:38,450 La alia afero ke io alia pri telefonoj medio 118 00:07:38,450 --> 00:07:45,060 estas ĉiuj la mastruma sistemo ludantoj, estu BlackBerry aŭ Android 119 00:07:45,060 --> 00:07:53,410 aŭ IOS aŭ Vindozo mobile, ili ĉiuj havas fajnan akno permeson modelo, 120 00:07:53,410 --> 00:07:56,990 kaj ĉi tiu estas unu el la manieroj, kiam oni konstruis en la mastruma sistemo 121 00:07:56,990 --> 00:08:01,230 la ideo ke gxi ne estas tiom riska kiel vi pensas. 122 00:08:01,230 --> 00:08:04,550 Eĉ se vi havas ĉiujn viajn kontaktojn je tie, ĉiuj viaj personaj informoj, 123 00:08:04,550 --> 00:08:09,080 vi havas viajn fotojn, vi havas vian lokon en tie, 124 00:08:09,080 --> 00:08:14,820 vi stokante via banko pinglo por aŭtomata ensaluto en tie, ĝi estas sekura, ĉar 125 00:08:14,820 --> 00:08:19,430 apps devas havi iujn permesojn por ricevi, je certaj partoj 126 00:08:19,430 --> 00:08:25,080 de la informo sur la aparato, kaj la uzanto devas esti prezentita kun 127 00:08:25,080 --> 00:08:29,230 tiujn permesojn kaj diru bonfartas. 128 00:08:29,230 --> 00:08:32,590 >> La problemo kun tio estas la uzanto ĉiam diras bonfartas. 129 00:08:32,590 --> 00:08:35,240 Kiel sekureco persono, mi scias ke vi povas suflori la uzanton, 130 00:08:35,240 --> 00:08:40,100 diru ion vere malbona okazos, vi volas, ke ĝi okazos? 131 00:08:40,100 --> 00:08:44,680 Kaj se ili estas en junko aŭ ekzistas io vere forlogante sur la alia flanko de tiu, 132 00:08:44,680 --> 00:08:47,760 kiel ludo tuj estos instalita por ke ili jam atendis, 133 00:08:47,760 --> 00:08:50,860 ili tuj klaku bonfartas. 134 00:08:50,860 --> 00:08:56,630 Tial mi diras en mia slide tie nur lasu min Fling birdoj ĉe porkoj jam, 135 00:08:56,630 --> 00:09:03,150 kaj vi povas vidi sur la glito ĉi tie estas ekzemploj de BlackBerry permeson skatolo. 136 00:09:03,150 --> 00:09:05,990 Ĝi diras: "Bonvolu agordi la BlackBerry Vojaĝoj apliko permesojn 137 00:09:05,990 --> 00:09:09,720 post klako la butono sube, "kaj esence la uzanto estas nur volis diri 138 00:09:09,720 --> 00:09:12,240 agordi la permesojn kaj helpos. 139 00:09:12,240 --> 00:09:18,010 Jen Android prompto kie pruvas tion, 140 00:09:18,010 --> 00:09:20,260 kaj tio efektive metas ion ke preskaŭ aspektas kiel averton. 141 00:09:20,260 --> 00:09:25,090 Ĝi havas ian rendimento signo tie dirante reto komunikado, telefonvoko, 142 00:09:25,090 --> 00:09:28,120 sed la uzanto tuj klaku instali, ĉu ne? 143 00:09:28,120 --> 00:09:32,940 Kaj tiam la Apple estas tute senefika. 144 00:09:32,940 --> 00:09:34,300 Ĝi ne donas ian ajn averto. 145 00:09:34,300 --> 00:09:37,380 Estas nur Apple ŝatus uzi vian nunan situon. 146 00:09:37,380 --> 00:09:39,670 Kompreneble vi tuj klaku bonfartas. 147 00:09:39,670 --> 00:09:42,260 >> Estas ĉi fajna akno permeson modelo, 148 00:09:42,260 --> 00:09:45,890 kaj apps devas havi evidentigxos dosiero kie oni deklarus 149 00:09:45,890 --> 00:09:49,410 la permesojn ili bezonas, kaj kiu alvenos montrata al la uzanto, 150 00:09:49,410 --> 00:09:53,480 kaj la uzanto devos diri mi koncedas tiujn permesojn. 151 00:09:53,480 --> 00:09:55,080 Sed ni estu honestaj. 152 00:09:55,080 --> 00:09:58,400 Uzantoj estas ĝuste tuj diras ĉiam bonfartas. 153 00:09:58,400 --> 00:10:04,460 Ni prenu rapidan rigardon al la permesojn ke tiuj aplikoj estas petataj 154 00:10:04,460 --> 00:10:06,850 kaj iuj el la permesojn, kiuj estas tie. 155 00:10:06,850 --> 00:10:09,950 Tiu entrepreno Pretoriana faris enketon pasintjare 156 00:10:09,950 --> 00:10:14,170 de 53.000 aplikoj analizitaj en la Android merkato kaj 3 partio merkatoj, 157 00:10:14,170 --> 00:10:16,770 tia ĉi estas la tuta Android. 158 00:10:16,770 --> 00:10:19,670 Kaj la averaĝa app petis 3 permesojn. 159 00:10:19,670 --> 00:10:23,370 Kelkaj apps petis 117 permesoj, 160 00:10:23,370 --> 00:10:27,480 do evidente tiuj estas tre belaj akno kaj maniero tro kompleksa por uzanto kompreni 161 00:10:27,480 --> 00:10:31,600 se ili estas prezentitaj kun ĉi app kiuj bezonas tiujn 117 permesojn. 162 00:10:31,600 --> 00:10:37,270 Estas kiel la fina uzanto permesilo tio estas 45 paĝojn longa. 163 00:10:37,270 --> 00:10:40,240 Eble baldaŭ ili havos eblon kie estas kiel 164 00:10:40,240 --> 00:10:43,100 presi la permesojn kaj sendi al mi retmesaĝon. 165 00:10:43,100 --> 00:10:45,480 >> Sed, se vi rigardas iujn el la supro interesa permesojn 166 00:10:45,480 --> 00:10:50,840 24% de la apps ke ili elŝutis el la 53.000 167 00:10:50,840 --> 00:10:57,230 petis GPS informoj el la artefakto. 168 00:10:57,230 --> 00:10:59,810 8% legas la kontaktojn. 169 00:10:59,810 --> 00:11:03,770 4% sendita SMS, kaj 3% ricevis SMS. 170 00:11:03,770 --> 00:11:07,730 2% registrita audio. 171 00:11:07,730 --> 00:11:11,210 1% procesis eksiĝinta alvokoj. 172 00:11:11,210 --> 00:11:13,140 Mi ne scias. 173 00:11:13,140 --> 00:11:17,520 Mi ne kredas 4% de la apps en la App Store vere bezonas sendi SMS mesaĝojn de teksto, 174 00:11:17,520 --> 00:11:21,410 do mi kredas ke tio estas aludo ke io perversa okazas. 175 00:11:21,410 --> 00:11:24,350 8% de la apps bezonas legi viajn kontaktojn listo. 176 00:11:24,350 --> 00:11:26,510 Estas probable ne necesa. 177 00:11:26,510 --> 00:11:30,990 Unu el la aliaj interesaj aferoj pri permesoj estas 178 00:11:30,990 --> 00:11:36,740 se vi ligas en bibliotekoj dividitaj en via kandidatiĝo 179 00:11:36,740 --> 00:11:39,780 tiuj heredi la permesojn de la apliko, 180 00:11:39,780 --> 00:11:46,570 do se via app bezonas la kontakton listo aŭ precizigas la GPS situo funkcii 181 00:11:46,570 --> 00:11:49,940 kaj vi ligas en reklam biblioteko, ekzemple, 182 00:11:49,940 --> 00:11:53,170 ke ad biblioteko ankaŭ povos aliri la kontaktoj 183 00:11:53,170 --> 00:11:57,630 kaj ankaŭ povos aliri la GPS situo, 184 00:11:57,630 --> 00:12:01,990 kaj la programulo de la app scias nenion pri la kodo kiu kuras en la anonco biblioteko. 185 00:12:01,990 --> 00:12:05,370 Ili estas simple kunligi ke ĉar ili volas monetizar siajn programon. 186 00:12:05,370 --> 00:12:09,820 >> Tiu estas kie-kaj mi parolos pri iuj ekzemploj de tio kun 187 00:12:09,820 --> 00:12:13,930 apliko nomis Pandora kie apliko developer 188 00:12:13,930 --> 00:12:18,910 eble senintence povas filtri informojn 189 00:12:18,910 --> 00:12:24,580 el iliaj uzantoj pro bibliotekoj jam ligita in 190 00:12:24,580 --> 00:12:30,110 Esplorantaj la pejzaĝo tie ekstere, rigardante ĉiujn malsamajn apps 191 00:12:30,110 --> 00:12:34,310 kiu estis raportitaj en la novaĵoj kiel malicaj aŭ faras ion uzantoj ne volas 192 00:12:34,310 --> 00:12:39,360 kaj do inspektis multajn apps-ni faru multe da statika duuma analitiko sur mobile apps, 193 00:12:39,360 --> 00:12:42,010 tial ni inspektis ilin kaj rigardis la kodo mem- 194 00:12:42,010 --> 00:12:49,640 ni venis supren kun kion ni nomas nian supro 10 listo de riskaj kondutoj en aplikoj. 195 00:12:49,640 --> 00:12:54,180 Kaj ĝi estas rompita malsupren en 2 sekcioj, malica kodo, 196 00:12:54,180 --> 00:12:57,600 do tiuj estas malbonaj aferoj ke la apps povus fari tion 197 00:12:57,600 --> 00:13:06,520 versxajne estas io ke malica individua 198 00:13:06,520 --> 00:13:10,060 tio specife metis en la apliko, sed ĝi estas iom nebula. 199 00:13:10,060 --> 00:13:13,300 Ĝi povus esti io, kion developer pensas estas fajnaj, 200 00:13:13,300 --> 00:13:16,350 sed finas esti penso de kiel malicaj de la uzulo. 201 00:13:16,350 --> 00:13:19,830 >> Kaj tiam la dua alineo estas kion ni nomas kodigo vulnerabilidades, 202 00:13:19,830 --> 00:13:24,600 kaj cxi tiuj estas aferoj, kie la developer esence faras erarojn 203 00:13:24,600 --> 00:13:27,200 aŭ simple ne komprenas kiel skribi la app sekure, 204 00:13:27,200 --> 00:13:30,260  kaj tio metante la app uzanto ĉe risko. 205 00:13:30,260 --> 00:13:34,060 Mi tuj iros tra tiuj detale kaj doni kelkajn ekzemplojn. 206 00:13:34,060 --> 00:13:39,620 Por referenco, mi volis meti la OWASP mobile supro 10 listo. 207 00:13:39,620 --> 00:13:43,590 Jen estas la 10 temoj ke grupo ĉe OWASP, 208 00:13:43,590 --> 00:13:48,900 la Open Web Apliko Sekureco Projekto, oni havas funkciantan grupon 209 00:13:48,900 --> 00:13:50,620 laborante en mobile supro 10 listo. 210 00:13:50,620 --> 00:13:54,600 Ili havas tre fama ttt supro 10 listo, kiuj estas la unuaj 10 211 00:13:54,600 --> 00:13:57,180 riskiest aferoj kiujn vi povas havi en TTT-apliko. 212 00:13:57,180 --> 00:13:59,090 Ili faras la samon por telefonoj, 213 00:13:59,090 --> 00:14:01,750 kaj ilia listo estas iom malsama ol niaj. 214 00:14:01,750 --> 00:14:03,670 6 el la 10 estas la sama. 215 00:14:03,670 --> 00:14:06,020 Ili havas 4 kiu estas malsama. 216 00:14:06,020 --> 00:14:10,550 Mi pensas ke ili havas iom da malsama take on 217 00:14:10,550 --> 00:14:14,490 risko en mobile apps kie amaso de iliaj temoj 218 00:14:14,490 --> 00:14:20,490 estas vere ke la apliko estas komunikanta al back-end server 219 00:14:20,490 --> 00:14:23,100 aŭ kio okazas sur la dorso-end server, 220 00:14:23,100 --> 00:14:29,220 Ne tiom apps kiu havas riskaj kondutoj, kiuj estas nur simpla kliento apps. 221 00:14:29,220 --> 00:14:36,640 >> La bonaj en ruĝa tie estas la diferencoj inter la 2-listoj. 222 00:14:36,640 --> 00:14:40,740 Kaj kelkaj el miaj esploroj teamo vere kontribuis al tiu projekto, 223 00:14:40,740 --> 00:14:44,570 do ni vidos kio okazas en la tempo, sed mi kredas ke la takeaway tie estas 224 00:14:44,570 --> 00:14:47,550 ni ne vere scias kion la supron 10 listo estas en telefonoj apps ĉar 225 00:14:47,550 --> 00:14:50,510 ili jam vere nur estis ĉirkaŭe por 2 aŭ 3 jarojn nun, 226 00:14:50,510 --> 00:14:57,750 kaj tie ne estis sufiĉe da tempo por vere esplori la operaciumoj 227 00:14:57,750 --> 00:15:00,450 kaj kio ili estas kapablaj, kaj tie ne estis suficxe tempon 228 00:15:00,450 --> 00:15:06,870 por la malica komunumo, se vi volas, ke pasis sufiĉe da tempo 229 00:15:06,870 --> 00:15:12,910 provas ataki uzantoj tra mobile apps, do mi atendas tiujn listojn ŝanĝi iom. 230 00:15:12,910 --> 00:15:18,720 Sed nuntempe, tiuj estas la 10 ĉefaj aferoj zorgi pri. 231 00:15:18,720 --> 00:15:24,150 Vi povus demandi sur la telefono flanko kie faras la malican mobile kodo- 232 00:15:24,150 --> 00:15:28,880 Kiel tio eniri la aparato? 233 00:15:28,880 --> 00:15:35,210 Norda Karolino ŝtato havas projekton nomitan la Mobile Malware Genoma Projekto 234 00:15:35,210 --> 00:15:39,520 kie kolekti tiel mobile malware kiel ili povas kaj analizi ĝin, 235 00:15:39,520 --> 00:15:45,270 kaj ili jam detruis la injekto vektoroj ke la mobile malware uzas, 236 00:15:45,270 --> 00:15:51,490 kaj 86% uzas tekniko nomata repackaging, 237 00:15:51,490 --> 00:15:54,160 kaj ĉi tiu estas nur sur la platformo Android 238 00:15:54,160 --> 00:15:56,720 vi povas vere fari tion repackaging. 239 00:15:56,720 --> 00:16:03,100 >> La kialo estas Android kodo estas konstruita kun 240 00:16:03,100 --> 00:16:08,130 Java bajto kodo nomata Dalvik kiu estas facile decompilable. 241 00:16:08,130 --> 00:16:12,460 Kion la malbona ulo povas fari estas 242 00:16:12,460 --> 00:16:16,590 preni Android apliko, decompile ĝi, 243 00:16:16,590 --> 00:16:20,120 enŝovu sian malican kodo, rekompili ĝin, 244 00:16:20,120 --> 00:16:28,070 kaj tiam metis ĝin en la App Store pretendante esti nova versio de tiu apliko, 245 00:16:28,070 --> 00:16:30,330 aŭ nur eble ŝanĝi la nomon de la aplikaĵo. 246 00:16:30,330 --> 00:16:35,140 Se tio estas ia ludo, ŝanĝu la nomon iomete, 247 00:16:35,140 --> 00:16:42,860 kaj tiel ĉi repackaging estas kiel 86% de mobile malware gets disdonitaj. 248 00:16:42,860 --> 00:16:45,810 Tie estas alia tekniko nomita ĝisdatigo kiu estas 249 00:16:45,810 --> 00:16:50,030 tre simila al repackaging, sed vi vere ne metas la malica kodo in 250 00:16:50,030 --> 00:16:52,870 Kion vi faras estas vi metis en malgranda ĝisdatigo meĥanismo. 251 00:16:52,870 --> 00:16:56,660 Vi decompile, vi metis en ĝisdatigo mekanismo, kaj vi rekompili ĝin, 252 00:16:56,660 --> 00:17:02,360 kaj tiam, kiam la app kuras ĝi tiras suben la malware sur la aparato. 253 00:17:02,360 --> 00:17:06,300 >> Por for la plimulto estas tiuj 2 teknikojn. 254 00:17:06,300 --> 00:17:12,710 Tie ne estas vere multe download drive-bys aŭ drive-by malŝarĝoj en celulares, 255 00:17:12,710 --> 00:17:15,890 kiu povus esti kiel phishing atako. 256 00:17:15,890 --> 00:17:18,200 Hej, kontrolu ĉi vere malvarmeta retpaĝaro, 257 00:17:18,200 --> 00:17:21,020 aŭ vi devas iri al tiu retejo kaj plenigu tiun formularon 258 00:17:21,020 --> 00:17:24,420 teni daŭre fari ion. 259 00:17:24,420 --> 00:17:26,230 Tiuj estas phishing atakoj. 260 00:17:26,230 --> 00:17:28,160 La samo povas okazi en la telefono platformo, kie ili 261 00:17:28,160 --> 00:17:33,830 atentigi al mobile app elŝuti, diri "Saluton, tio estas Banko de Ameriko." 262 00:17:33,830 --> 00:17:36,070 "Ni vidas ke vi uzas tiun aplikaĵon." 263 00:17:36,070 --> 00:17:38,540 "Vi devus elŝuti tiun alian aplikaĵon." 264 00:17:38,540 --> 00:17:41,170 Teorie, kiu povus funkcii. 265 00:17:41,170 --> 00:17:48,610 Eble ŝi apenaŭ ne uzas sufiĉas por decidi ĉu ĝi estas sukcesa aux ne, 266 00:17:48,610 --> 00:17:51,680 sed oni trovis, ke malpli ol 1% de la tempo, ke tekniko estas uzata. 267 00:17:51,680 --> 00:17:56,130 La plimulto de la tempo ĝi estas vere jam prezentita kodo. 268 00:17:56,130 --> 00:17:58,710 >> Jen plia kategorio nomata standalone 269 00:17:58,710 --> 00:18:01,420 kie al iu nur konstruas tute novan aplikon. 270 00:18:01,420 --> 00:18:04,020 Ili konstruas apliko kiu pretendas esti io. 271 00:18:04,020 --> 00:18:07,360 Tio ne estas repackaging de io alia, kaj kiu havas la malican kodo. 272 00:18:07,360 --> 00:18:11,230 Tio estas uzata 14% de la tempo. 273 00:18:11,230 --> 00:18:17,880 Nun mi volas paroli pri tio, kio estas la malica kodo faras? 274 00:18:17,880 --> 00:18:23,070 Unu el la unuaj malware tie 275 00:18:23,070 --> 00:18:25,490 vi povus konsideri spyware. 276 00:18:25,490 --> 00:18:27,620 Ĝi esence spionoj sur la uzanto. 277 00:18:27,620 --> 00:18:30,470 Ĝi kolektas retmesaĝoj, SMS mesaĝojn. 278 00:18:30,470 --> 00:18:32,340 Ĝi temas pri la mikrofono. 279 00:18:32,340 --> 00:18:37,330 Siega la kontakton libro, kaj ĝi sendas ĝin al iu alia. 280 00:18:37,330 --> 00:18:40,870 Tiu tipo de spyware ekzistas sur la komputilo, 281 00:18:40,870 --> 00:18:46,200 do ĝi tute sencas por homoj provos fari tion en porteblaj aparatoj. 282 00:18:46,200 --> 00:18:53,230 >> Unu el la unuaj ekzemploj de tio estis programo nomata Sekreta SMS replicador. 283 00:18:53,230 --> 00:18:56,250 Ĝi estis en la Android Marketplace paro da jaroj, 284 00:18:56,250 --> 00:18:59,960 kaj la ideo estis, se vi havis aliron al ies Android telefono 285 00:18:59,960 --> 00:19:03,450 ke vi volis spioni, do eble ĝi estas via edzino 286 00:19:03,450 --> 00:19:07,600 aŭ via signifa alia kaj vi volas spioni iliaj tekstoj mesaĝilon, 287 00:19:07,600 --> 00:19:11,200 vi povus elŝuti tiun programon kaj instalu ĝin kaj agordi gxin 288 00:19:11,200 --> 00:19:16,540 por sendi SMS tekstmesaĝo al vi kun kopio 289 00:19:16,540 --> 00:19:21,710 de ĉiu SMS tekstmesaĝo ili akiris. 290 00:19:21,710 --> 00:19:27,220 Tiu evidente estas en malobservoj de la App Store terminoj de servo, 291 00:19:27,220 --> 00:19:32,040 kaj tio estis forigita de la Android Marketplace ene 18 horoj de ĝi esti tie, 292 00:19:32,040 --> 00:19:36,760 tiel tre malgranda nombro da homoj estis en danĝero pro tio. 293 00:19:36,760 --> 00:19:42,510 Nun, mi pensas, se la programo nomis ion eble iom malpli provoka 294 00:19:42,510 --> 00:19:48,690 kiel Sekreta SMS replicador ĝi probable estus laborinta multajn pli bonajn. 295 00:19:48,690 --> 00:19:52,870 Sed estis speco de evidentaj. 296 00:19:52,870 --> 00:19:58,680 >> Unu el la aferoj ni povas fari por determini se apps havas ĉi konduto ke ni ne volas 297 00:19:58,680 --> 00:20:01,410 estas inspekti la kodon. 298 00:20:01,410 --> 00:20:06,250 Ĉi tiu estas efektive vere facila fari en Android ĉar ni povas decompile la apps. 299 00:20:06,250 --> 00:20:11,050 On IOS vi povas uzi desensamblador kiel Aid Avantaĝo 300 00:20:11,050 --> 00:20:17,190 rigardi kion apis la app vokas kaj kion ĝi faras. 301 00:20:17,190 --> 00:20:20,680 Ni verkis nia propra duuma statika analizilo por nia kodo 302 00:20:20,680 --> 00:20:24,940 kaj ni faru tion, kaj do kion vi povis fari estas vi povus diri 303 00:20:24,940 --> 00:20:30,490 signifas la aparato faras ion, kio estas esence spioni min aŭ spuras min? 304 00:20:30,490 --> 00:20:33,360 Kaj mi havas kelkajn ekzemplojn ĉi tie en la iPhone. 305 00:20:33,360 --> 00:20:41,440 Tiu unua ekzemplo estas kiel aliri la UUID telefone. 306 00:20:41,440 --> 00:20:47,060 Tio estas vere io ke Apple ĵus malpermesis por novaj aplikoj, 307 00:20:47,060 --> 00:20:52,540 sed malnova aplikoj ke vi povus esti kurante sur via telefono povas ankoraŭ fari tion, 308 00:20:52,540 --> 00:20:56,500 kaj tial unika ensalutilo povas esti uzata por spuri vin 309 00:20:56,500 --> 00:21:00,440 trans multaj diversaj aplikoj. 310 00:21:00,440 --> 00:21:07,180 >> On Android, mi havas ekzemplon ĉi tie de iĝi la mekanismo situo. 311 00:21:07,180 --> 00:21:10,310 Vi povas vidi ke se tiu API alvoko estas tie ke app estas sekvado, 312 00:21:10,310 --> 00:21:15,000 kaj vi povas vidi, ĉu ĝi Fariĝas fajna situo aŭ kruda situo. 313 00:21:15,000 --> 00:21:18,860 Kaj poste sur la fundon ĉi tie, mi havas ekzemplon de kiel en la BlackBerry 314 00:21:18,860 --> 00:21:25,130 apliko povus aliri la retmesaghoj en via leterkesto. 315 00:21:25,130 --> 00:21:27,660 Tiuj estas la speco de aferoj kiujn vi povas inspekti vidi 316 00:21:27,660 --> 00:21:32,360 se la app faras tiujn aferojn. 317 00:21:32,360 --> 00:21:38,320 La dua granda kategorio de malicaj konduto, kaj ĉi tiu estas verŝajne la plej granda kategorio nun, 318 00:21:38,320 --> 00:21:43,950 estas senpermesa markante, senpermesa premio SMS mesaĝojn de teksto 319 00:21:43,950 --> 00:21:46,080 aŭ nerajtigitan pagoj. 320 00:21:46,080 --> 00:21:48,930 Alia afero, ke estas solaj pri la telefono 321 00:21:48,930 --> 00:21:52,700 estas la aparato estas enganchada al billing konton, 322 00:21:52,700 --> 00:21:55,960 kaj kiam agadoj okazos en la telefono 323 00:21:55,960 --> 00:21:58,510 ĝi povas krei akuzojn. 324 00:21:58,510 --> 00:22:00,700 Vi povas aĉeti aĵojn super la telefono, 325 00:22:00,700 --> 00:22:04,390 kaj kiam vi sendos premio SMS tekstmesaĝo vi vere donante monon 326 00:22:04,390 --> 00:22:11,590 al la konto-posedanto de la telefona numero de la dua flanko. 327 00:22:11,590 --> 00:22:17,420 Tiuj estis starigita por akiri stock quotes aŭ akiri vian ĉiutagan horoskopo aŭ aliaj aĵoj, 328 00:22:17,420 --> 00:22:21,680 sed ili povas starigi ordigi produkto sendante SMS tekston. 329 00:22:21,680 --> 00:22:26,970 Homoj doni monon al la Rugxa Kruco sendante SMS-mesaĝo. 330 00:22:26,970 --> 00:22:30,650 Vi povas doni 10 dolaroj tiu vojo. 331 00:22:30,650 --> 00:22:34,190 >> La atakantoj, kion ili jam faris estas ili starigis 332 00:22:34,190 --> 00:22:38,750 kontoj en fremdaj landoj, kaj ili enkorpigi en la malware 333 00:22:38,750 --> 00:22:42,840 ke la telefono sendos premio SMS tekstmesaĝo, 334 00:22:42,840 --> 00:22:47,700 diri, kelkajn fojojn tage, kaj je la fino de la monato oni rimarkas vi jam pasis 335 00:22:47,700 --> 00:22:52,090 dekoj aŭ eble eĉ centoj da dolaroj kaj ili iru for kun la mono. 336 00:22:52,090 --> 00:22:57,280 Tiu ricevis tiel malbona, ke tiu estis la unua afero, kiun la Android 337 00:22:57,280 --> 00:23:00,760 Marketplace aŭ la Google loko-estis la Android Marketplace en la momento, 338 00:23:00,760 --> 00:23:04,430 kaj ĝi estas nun Google Ludi-la unua afero, kiun Google komencis kontroli por. 339 00:23:04,430 --> 00:23:08,700 Kiam Google komencis disdoni Android apps en ilia app vendejo 340 00:23:08,700 --> 00:23:11,350 Ili diris, ke ili ne tuj kontroli por nenion. 341 00:23:11,350 --> 00:23:15,630 Ni devos tiri apps unufoje ni estis sciigitaj ili jam rompis niajn terminojn de servo, 342 00:23:15,630 --> 00:23:17,520 sed ni ne tuj kontroli por nenion. 343 00:23:17,520 --> 00:23:24,350 Nu, pri unu jaro ĝi akiris tiel malbone kun tiu premio SMS tekstmesaĝo malware 344 00:23:24,350 --> 00:23:28,030 ke cxi tiu estas la unua aĵo kiun ili komencis kontroli por. 345 00:23:28,030 --> 00:23:31,770 Se app povas sendi SMS mesaĝojn de teksto 346 00:23:31,770 --> 00:23:34,750 ili plui permane skrutinias tiu apliko. 347 00:23:34,750 --> 00:23:38,770 Ili serĉas la API, kiu nomas tiun, 348 00:23:38,770 --> 00:23:40,580 kaj nun de tiam Google pligrandigita, 349 00:23:40,580 --> 00:23:46,900 sed ĉi tiu estis la unua aĵo kiun ili komencis serĉi. 350 00:23:46,900 --> 00:23:50,690 >> Iuj aliaj apps kiu faris kelkajn sms teksto mesaĝoj, 351 00:23:50,690 --> 00:23:56,980 ĉi Android Qicsomos, mi supozas estas nomata. 352 00:23:56,980 --> 00:24:02,670 Okazis ĉi aktualan eventon sur la telefono kie ĉi CarrierIQ eliris 353 00:24:02,670 --> 00:24:07,720 kiel spyware surmetis la mekanismon de la portantoj, 354 00:24:07,720 --> 00:24:10,820 tial homoj volis scii se ilia telefono estis vundebla al ĉi tio, 355 00:24:10,820 --> 00:24:13,890 kaj cxi tio estis libera app kiu provis tion. 356 00:24:13,890 --> 00:24:17,520 Nu, kompreneble, kio estas tiu app faris estis sendis premio SMS mesaĝojn de teksto, 357 00:24:17,520 --> 00:24:20,090 tiel per provi vidi se vi infektis per spyware 358 00:24:20,090 --> 00:24:24,930 vi ŝarĝis malware sur via aparato. 359 00:24:24,930 --> 00:24:27,310 Ni vidis la sama afero okazas en la lasta Super Bowl. 360 00:24:27,310 --> 00:24:33,180 Tie estis blufa versio de la Madden futbalo ludo 361 00:24:33,180 --> 00:24:38,320 Sendinto premio SMS teksto mesaĝoj. 362 00:24:38,320 --> 00:24:45,750 Ĝi efektive provis krei bot reto tro en la artefakto. 363 00:24:45,750 --> 00:24:48,090 Ĉi tie mi havas iom da ekzemploj. 364 00:24:48,090 --> 00:24:52,640 Interese, Apple estis sufiĉe inteligenta, 365 00:24:52,640 --> 00:24:58,470 kaj ili ne permesas aplikojn por sendi SMS teksto mesaĝojn tute. 366 00:24:58,470 --> 00:25:00,350 Neniu app povas fari ĝin. 367 00:25:00,350 --> 00:25:03,530 Tio estas granda vojo de liverante pri tuta klaso de vundebleco, 368 00:25:03,530 --> 00:25:09,040 sed en Android povas fari gxin, kaj kompreneble, la BlackBerry vi povas fari tion ankaŭ. 369 00:25:09,040 --> 00:25:13,060 Estas interese, ke en la BlackBerry oni nur bezonas interreto permesojn 370 00:25:13,060 --> 00:25:18,370 por sendi SMS tekstmesaĝo. 371 00:25:18,370 --> 00:25:21,580 >> La alia afero vere ke ni atendas 372 00:25:21,580 --> 00:25:24,780 kiam oni serĉas por vidi, ĉu io estas malicaj estas nur iu speco de 373 00:25:24,780 --> 00:25:28,100 senpermesa reto aktiveco, kiel rigardi la reto aktiveco 374 00:25:28,100 --> 00:25:31,570 la app supozas havi lian funkcioj, 375 00:25:31,570 --> 00:25:35,380 kaj rigardu tiun alian reto aktiveco. 376 00:25:35,380 --> 00:25:43,380 Eble app, labori, devas akiri datumoj sur HTTP, 377 00:25:43,380 --> 00:25:47,500 sed se ĝi estas faranta aferojn super retpoŝto aŭ SMS aŭ Bluetooth aŭ io simila 378 00:25:47,500 --> 00:25:52,890 nun ke app potenciale povus esti malica, do tio estas alia afero vi povas inspekti por. 379 00:25:52,890 --> 00:26:00,430 Kaj en ĉi tiu diapozitivo tie mi havas iom da ekzemploj de tio. 380 00:26:00,430 --> 00:26:05,950 Alia interesa afero, kiun ni vidis kun malware okazis denove en 2009, 381 00:26:05,950 --> 00:26:07,600 kaj tio okazis en granda vojo. 382 00:26:07,600 --> 00:26:11,390 Mi ne scias se ĝi okazis tiel de tiam, sed ĝi estis app 383 00:26:11,390 --> 00:26:15,140 ke impersonated alia apliko. 384 00:26:15,140 --> 00:26:21,700 Okazis aro de apps, kaj ĝi estis nomita la 09Droid atakon, 385 00:26:21,700 --> 00:26:29,770 kaj iu decidis ke estis multe da malgrandaj, regionaj, midsize bankoj 386 00:26:29,770 --> 00:26:32,260 kiu ne havas interreta banko aplikoj, 387 00:26:32,260 --> 00:26:36,870 do, kion ili faris, estis kiam oni konstruis cxirkaux 50 interreta banko aplikoj 388 00:26:36,870 --> 00:26:39,410 ke ĉiuj ili faris estis preni la uzantan nomon kaj pasvorton 389 00:26:39,410 --> 00:26:42,190 kaj redirekti vin al la retejo. 390 00:26:42,190 --> 00:26:47,470 Kaj tiel ili metis tiujn ĉiuj supren en la Google Marketplace, 391 00:26:47,470 --> 00:26:51,530 en la Android Marketplace, kaj kiam iu traserĉis por vidi se ilia bordo 392 00:26:51,530 --> 00:26:56,000 havis apliko oni trovus la blufa apliko, 393 00:26:56,000 --> 00:27:01,230 kiu kolektis siajn akrediton kaj tiam alidirektita al ili iliajn retejo. 394 00:27:01,230 --> 00:27:06,640 La maniero, ke tiu fakte iĝis-la apps estis tie dum kelkaj semajnoj, 395 00:27:06,640 --> 00:27:09,050 kaj tie estis miloj kaj miloj da elŝutoj. 396 00:27:09,050 --> 00:27:12,910 >> La vojo ĉi venis al la lumo estis iu havis problemon 397 00:27:12,910 --> 00:27:15,740 kun unu el la aplikoj, kaj ili nomis sian bankon, 398 00:27:15,740 --> 00:27:18,390 kaj ili invitadis siajn datenbanko kliento subteno linio kaj diris: 399 00:27:18,390 --> 00:27:21,180 "Mi havas problemon kun via mobile banka aplikaĵo." 400 00:27:21,180 --> 00:27:23,460 "Ĉu vi povas helpi min?" 401 00:27:23,460 --> 00:27:26,540 Kaj ili diris: "Ni ne havas mobile banka aplikaĵo." 402 00:27:26,540 --> 00:27:28,120 Tio komenciĝis la esploro. 403 00:27:28,120 --> 00:27:31,200 Tio bankon nomata Google, kaj poste Google ekrigardis kaj diris: 404 00:27:31,200 --> 00:27:37,220 "Ho, la sama aŭtoro skribis 50 bankon aplikoj," kaj prenis ilin ĉiujn malsupren. 405 00:27:37,220 --> 00:27:43,410 Sed certe tio povus okazi denove. 406 00:27:43,410 --> 00:27:51,790 Jen la listo de ĉiuj malsamaj bankoj tie 407 00:27:51,790 --> 00:27:55,870 , kiuj estis parto de tiu trompo. 408 00:27:55,870 --> 00:28:02,050 La alia afero app povas fari, estas nuntempe la UI el alia apliko. 409 00:28:02,050 --> 00:28:06,430 Kvankam ĝi estas kurante povus aperigi la Facebook UI. 410 00:28:06,430 --> 00:28:09,540 Ĝi diras vi devas meti en vian uzantan nomon kaj pasvorton por daŭrigi 411 00:28:09,540 --> 00:28:15,090 aŭ toleris neniun uzantan nomon kaj pasvorton UI di retejo 412 00:28:15,090 --> 00:28:18,420 ke eble la uzanto uzas nur por provi trompi la uzanto 413 00:28:18,420 --> 00:28:21,340 en metante siajn akreditaĵojn in 414 00:28:21,340 --> 00:28:25,590 Tiu estas vere rekta paralela de la retpoŝta phishing atakoj 415 00:28:25,590 --> 00:28:28,210 kie iu sendas al vi retmesaĝon mesaĝon 416 00:28:28,210 --> 00:28:33,050 kaj donas al vi esence falsaj UI di retejo 417 00:28:33,050 --> 00:28:37,320 ke vi havas aliron al. 418 00:28:37,320 --> 00:28:41,590 >> La alia afero, ni serĉas en malican kodo estas sistemo modifo. 419 00:28:41,590 --> 00:28:48,160 Vi povas serĉi ĉiujn API alvokoj kiuj postulas radiko privilegion 420 00:28:48,160 --> 00:28:50,870 ekzekuti korekte. 421 00:28:50,870 --> 00:28:56,160 Ŝanĝi la aparato la TTT-prokurilo estus iu kiu apliko 422 00:28:56,160 --> 00:28:59,530 devus ne povos fari. 423 00:28:59,530 --> 00:29:03,030 Sed se la apliko havas kodon en ne fari tion 424 00:29:03,030 --> 00:29:05,960 vi scias ke ĝi estas probable malican apliko 425 00:29:05,960 --> 00:29:09,620 aŭ tre alte versxajne estos malica apliko, 426 00:29:09,620 --> 00:29:13,910 kaj do kio okazus estas ke app havus iun manieron de reciproka akrigo privilegio. 427 00:29:13,910 --> 00:29:17,200 Ĝi havus iun privilegion grimpita eksplodi 428 00:29:17,200 --> 00:29:20,730 en la apliko, kaj tiam iam ĝi eskaladis privilegiojn 429 00:29:20,730 --> 00:29:23,800 farus ĉi sistemo modifoj. 430 00:29:23,800 --> 00:29:28,010 Vi povas trovi malware kiu havas privilegion grimpita 431 00:29:28,010 --> 00:29:32,550 en ĝi eĉ sen scii la privilegion grimpita 432 00:29:32,550 --> 00:29:37,960 eksplodi tuj okazos, kaj tio estas agrabla, facila vojo 433 00:29:37,960 --> 00:29:41,220 serĉi malware. 434 00:29:41,220 --> 00:29:46,030 DroidDream estis probable la plej fama peco de Android malware. 435 00:29:46,030 --> 00:29:50,530 Mi pensas ĝi tuŝis proksimume 250.000 uzantoj pri malmultaj tagoj 436 00:29:50,530 --> 00:29:52,810 antaŭ ol ĝi troviĝis. 437 00:29:52,810 --> 00:29:56,890 Ili jam prezentita 50 blufa aplikoj, 438 00:29:56,890 --> 00:30:00,370 meti ilin en la Android app vendejo, 439 00:30:00,370 --> 00:30:10,940 kaj esence uzis Android jailbreak kodo por gravigi privilegiojn 440 00:30:10,940 --> 00:30:16,380 kaj tiam instali ordonon kaj kontroli kaj turni ĉiujn viktimojn 441 00:30:16,380 --> 00:30:20,690 enen bot net, sed vi povus esti detektitaj ĉi 442 00:30:20,690 --> 00:30:24,170 se vi skandante la apliko kaj ĝuste serĉi 443 00:30:24,170 --> 00:30:32,230 API flamo kiu postulis radiko permeson por ekzekuti korekte. 444 00:30:32,230 --> 00:30:40,150 >> Kaj tie estas ekzemplo tie mi havas kiu ŝanĝas la prokuro, 445 00:30:40,150 --> 00:30:46,380 kaj tio efektive estas nur disponebla en la Android. 446 00:30:46,380 --> 00:30:49,070 Vi povas vidi ke mi donas al vi multajn ekzemplojn en Android 447 00:30:49,070 --> 00:30:53,990 ĉar ĉi tiu estas kie la plej aktivaj malware ekosistemo estas 448 00:30:53,990 --> 00:30:58,690 ĉar ĝi estas vere facila por atakanto akiri malica kodo 449 00:30:58,690 --> 00:31:01,470 en la Android Marketplace. 450 00:31:01,470 --> 00:31:06,480 Ĝi ne estas tiel facile fari tion en la Apple App Store 451 00:31:06,480 --> 00:31:10,250 ĉar Apple devigas programistoj identigi sin 452 00:31:10,250 --> 00:31:12,790 kaj subskribu la kodon. 453 00:31:12,790 --> 00:31:20,340 Ili efektive kontroli, kiu vi estas, kaj Apple estas fakte studis la aplikoj. 454 00:31:20,340 --> 00:31:27,450 Ni ne vidas multe da veraj malware kie la aparato estas akiranta kompromitita. 455 00:31:27,450 --> 00:31:32,250 Mi parolas pri kelkaj ekzemploj kie ĝi estas vere privateco kiuj iĝas kompromitita, 456 00:31:32,250 --> 00:31:38,460 kaj tio kio vere okazas en la mekanismo de Apple. 457 00:31:38,460 --> 00:31:44,090 Alia afero serĉi malica kodo, riska kodo en aparatoj 458 00:31:44,090 --> 00:31:50,300 Estas logika aŭ tempo bomboj, kaj tempo bomboj estas probable 459 00:31:50,300 --> 00:31:53,370 multe pli facile serĉi ol logiko bombojn. 460 00:31:53,370 --> 00:31:57,030 Sed kun la tempo bomboj, kion vi povas fari estas vi povas serĉi 461 00:31:57,030 --> 00:32:04,760 lokoj en la kodo, kie la tempo estas testita aŭ absoluta tempo estas serĉita 462 00:32:04,760 --> 00:32:08,190 antaŭ kelkaj funcionalidad en la app okazas. 463 00:32:08,190 --> 00:32:14,200 Kaj tio povus esti farita por kaŝi, ke aktiveco de la uzanto, 464 00:32:14,200 --> 00:32:17,510 do ĝi okazas malfrua nokto. 465 00:32:17,510 --> 00:32:24,350 DroidDream faris ĉiujn lian aktivecon inter 11 PM kaj 8a horo loka tempo 466 00:32:24,350 --> 00:32:30,650 por provi fari tion dum la uzanto eble ne uzante siajn artefakto. 467 00:32:30,650 --> 00:32:38,680 >> Alia kialo por fari ĉi tiu estas, se homoj uzas kondutaj analizo de apliko, 468 00:32:38,680 --> 00:32:43,430 kurante la app en testejo por vidi, kion la konduto de la apliko, 469 00:32:43,430 --> 00:32:51,090 oni povas uzi la tempo-bazita logiko fari la aktiveco 470 00:32:51,090 --> 00:32:54,640 kiam la app ne estas en la testejo. 471 00:32:54,640 --> 00:33:01,520 Ekzemple, app vendejo kiel Apple 472 00:33:01,520 --> 00:33:07,940 kuras la apliko, sed ili probable ne kuras ĉiu apliko por, ni diru, 30 tagoj 473 00:33:07,940 --> 00:33:10,550 antaŭ ol aprobi ĝin, do vi povas meti 474 00:33:10,550 --> 00:33:14,120 logiko en vian kandidatiĝon, kiuj diris, bone, nur fari la malbonan aferon 475 00:33:14,120 --> 00:33:20,490 post 30 tagoj iris per aŭ post 30 tagoj post la publikigas dato de la apliko, 476 00:33:20,490 --> 00:33:27,020 kaj kiu povas helpi la malica kodo kasxus antaux homoj inspekti pri ĝi. 477 00:33:27,020 --> 00:33:30,050 Se antivirus kompanioj kuras aĵojn en areneros 478 00:33:30,050 --> 00:33:36,370 aŭ la app tendencas mem estas tio povas helpi 479 00:33:36,370 --> 00:33:39,260 kaŝi, ke de tiu inspektado. 480 00:33:39,260 --> 00:33:43,020 Nun, la turnon flanko de tio estas ĝi estas facile trovi kun statika analizo, 481 00:33:43,020 --> 00:33:46,170 tiom reale inspekti la kodon, kiun vi povas serĉi ĉiujn lokojn 482 00:33:46,170 --> 00:33:54,010 kie la apliko elprovas la tempo kaj inspekti tiu vojo. 483 00:33:54,010 --> 00:33:58,850 Kaj ĉi tie mi havas iom da ekzemploj en tiuj 3 diversaj platformoj 484 00:33:58,850 --> 00:34:05,640 kiom tempo povas esti kontrolata pri la app faristo 485 00:34:05,640 --> 00:34:10,520 do vi scias kion serĉi, se vi inspekti la app statike. 486 00:34:10,520 --> 00:34:14,570 >> Mi simple iris tra la tuta fasko da malsamaj malican aktivecoj 487 00:34:14,570 --> 00:34:18,969 ke ni vidis en la naturo, sed kiujn tiuj estas la plej disvastiĝinta? 488 00:34:18,969 --> 00:34:23,940 Tiu sama studo de Norda Karolino ŝtato Mobile Genoma Projekto 489 00:34:23,940 --> 00:34:28,560 eldonita iuj datumoj, kaj tie estis esence 4 areoj 490 00:34:28,560 --> 00:34:32,850 ke ili vidis, kie estis multe da aktiveco. 491 00:34:32,850 --> 00:34:35,370 37% de la apps faris privilegio grimpita, 492 00:34:35,370 --> 00:34:38,429 do ili havis iun tipon de jailbreak kodo tien 493 00:34:38,429 --> 00:34:42,070 kie oni provis gravigi privilegiojn tiel ke ili povis 494 00:34:42,070 --> 00:34:48,360 cxu API komandojn kurante kiel la mastruma sistemo. 495 00:34:48,360 --> 00:34:52,520 45% de la apps tie faris premio SMS, 496 00:34:52,520 --> 00:34:57,260 do tio estas grandega procento kiu provas rekte monetizar. 497 00:34:57,260 --> 00:35:02,640 93% faris fora kontrolo, do ili provis starigi bot reto, telefono bot net. 498 00:35:02,640 --> 00:35:08,990 Kaj 45% rikoltitaj identiganta informoj 499 00:35:08,990 --> 00:35:16,230 kiel telefonnumerojn, UUIDs, GPS situo, uzanto kontoj, 500 00:35:16,230 --> 00:35:22,870 kaj tio aldonas al pli ol 100, ĉar plej malware klopodas fari kelkajn el tiuj aĵoj. 501 00:35:22,870 --> 00:35:27,070 >> Mi tuj sxangxas al la dua duono kaj paroli pri la kodo prospektivo. 502 00:35:27,070 --> 00:35:29,480 Tiu estas la dua duono de la riska agado. 503 00:35:29,480 --> 00:35:33,450 Tie estas kie esence la developer faras eraroj. 504 00:35:33,450 --> 00:35:37,210 Legitima developer skribante legitima app 505 00:35:37,210 --> 00:35:41,830 faras erarojn aŭ estas senscia pri la riskoj de la telefonoj kajo. 506 00:35:41,830 --> 00:35:44,780 Ili simple ne scias kiel fari sekuran mobile app, 507 00:35:44,780 --> 00:35:47,700 aŭ kelkfoje la developer ne zorgas pri meti la uzanto ĉe risko. 508 00:35:47,700 --> 00:35:50,850 Foje parton de ilia negoco modelo povus esti 509 00:35:50,850 --> 00:35:54,610 rikoltante la uzanto personaj informoj. 510 00:35:54,610 --> 00:35:58,090 Tio estas speco de la alia kategorio, kaj tial iuj de ĉi malica 511 00:35:58,090 --> 00:36:03,200 kontre legitima komencas bleed super ĉar tie estas diferenco de opinioj 512 00:36:03,200 --> 00:36:10,440 inter kio la uzanto volas kaj kion la uzanto konsideras riska 513 00:36:10,440 --> 00:36:13,050 kaj kia estas la apliko developer konsideras riska. 514 00:36:13,050 --> 00:36:18,380 Kompreneble, ĝi ne estas la apliko developer la datumoj en la plimulto de kazoj. 515 00:36:18,380 --> 00:36:22,030 >> Kaj poste fine, alia maniero ĉi tio okazas estas developer povus ligi en 516 00:36:22,030 --> 00:36:28,600 dividatan biblioteko kiu havas vulnerabilidades aŭ tiu riska konduto en ĝi 517 00:36:28,600 --> 00:36:32,480 dorsoj de ili. 518 00:36:32,480 --> 00:36:37,060 La unua kategorio estas sentema datumoj fugo, 519 00:36:37,060 --> 00:36:40,030 kaj tio estas kiam la app kolektas informojn 520 00:36:40,030 --> 00:36:44,980 kiel situo, adreslibro informoj, mastro informoj 521 00:36:44,980 --> 00:36:48,000 kaj ordonas ke ekstere la artefakto. 522 00:36:48,000 --> 00:36:53,050 Kaj foje estas for de la mekanismo, ni ne scias kio okazas kun tiu informo. 523 00:36:53,050 --> 00:36:57,170 Ĝi povis esti stokitaj insecurely per la apliko developer. 524 00:36:57,170 --> 00:37:02,070 Ni jam vidis apliko programistoj get kompromitita, 525 00:37:02,070 --> 00:37:05,820 kaj la datumoj kiujn ili estas stokante gets prenita. 526 00:37:05,820 --> 00:37:10,970 Tio okazis antaŭ kelkaj monatoj al developer malsupren en Florido 527 00:37:10,970 --> 00:37:21,660 kie grandega nombro de-estis iPad UUIDs kaj mekanismon nomoj 528 00:37:21,660 --> 00:37:25,270 filtris ĉar iu, mi pensas ke estis anonima, 529 00:37:25,270 --> 00:37:29,460 pledis por fari tion, ekkomencis ĉi developer la serviloj 530 00:37:29,460 --> 00:37:34,920 kaj sxtele milionojn da iPad UUIDs 531 00:37:34,920 --> 00:37:37,390 kaj komputilaj nomoj. 532 00:37:37,390 --> 00:37:40,260 Ne la plej riska informoj, 533 00:37:40,260 --> 00:37:46,820 sed kio se tiu estis la stokado de uzulnomoj kaj pasvortoj 534 00:37:46,820 --> 00:37:48,170 kaj hejmo adresoj? 535 00:37:48,170 --> 00:37:51,100 Ekzistas multaj aplikoj kiuj stokas tiu speco de informoj. 536 00:37:51,100 --> 00:37:53,230 La risko estas tie. 537 00:37:53,230 --> 00:37:56,620 >> La alia afero ke povas okazi estas se la programulo ne prizorgi 538 00:37:56,620 --> 00:38:01,370 por sekurigi datumojn kanalo, kaj tio estas alia granda vundebleco Mi iras por paroli pri, 539 00:38:01,370 --> 00:38:05,160 ke datenoj estas senditaj en la klara. 540 00:38:05,160 --> 00:38:09,040 Se la uzanto estas en publika Wi-Fi 541 00:38:09,040 --> 00:38:12,330 aŭ iu snufadon la interreto ie 542 00:38:12,330 --> 00:38:19,260 laŭ la vojo, kiu datumoj estas elmontrita. 543 00:38:19,260 --> 00:38:23,790 Unu tre fama kazo de tio informojn fugo okazis kun Pandora, 544 00:38:23,790 --> 00:38:27,250 kaj tio estas io, kion ni enketis cxe Veracode. 545 00:38:27,250 --> 00:38:33,200 Ni auxdis, ke tie estis-mi pensas gxi estis Federacia Komerca Komisiono 546 00:38:33,200 --> 00:38:35,310 esploro okazas kun Pandora. 547 00:38:35,310 --> 00:38:39,830 Ni diris, "Kio okazas tie? Komencu fosantaj sur la Pandora aplikaĵo." 548 00:38:39,830 --> 00:38:46,690 Kaj kion ni determinas estis la Pandora apliko kolektita 549 00:38:46,690 --> 00:38:51,270 vian sekson kaj via aĝo, 550 00:38:51,270 --> 00:38:56,660 kaj tio ankaŭ Montrita via GPS situo, kaj la Pandora apliko 551 00:38:56,660 --> 00:39:00,200 faris ĉi tion por kio ili diris estis leĝaj kialoj. 552 00:39:00,200 --> 00:39:05,360 La muziko kiun ili ludis-Pandora estas muziko streaming app- 553 00:39:05,360 --> 00:39:07,530 la muziko kiun ili ludis nur publikigita en Usono, 554 00:39:07,530 --> 00:39:13,020 do ili devis kontroli konformiĝi al siaj permesilo interkonsentoj kiujn ili havis 555 00:39:13,020 --> 00:39:17,240 por la muziko, ke la uzanto estis en Usono. 556 00:39:17,240 --> 00:39:25,070 Ili ankaŭ volis obei la gepatra konsulta 557 00:39:25,070 --> 00:39:33,790 ĉirkaŭ plenkreskulo lingvo en la muziko, 558 00:39:33,790 --> 00:39:37,500 kaj tiel ĝi estas libervola programo, sed ili volis obei, ke 559 00:39:37,500 --> 00:39:43,010 kaj ne ludi eksplicita literoj por infanoj 13 kaj sub. 560 00:39:43,010 --> 00:39:46,280 >> Ili havis pravaj kialoj por kolekti tiun datumon. 561 00:39:46,280 --> 00:39:49,160 Iliaj app havis la permesojn por fari ĝin. 562 00:39:49,160 --> 00:39:52,000 Uzantoj opiniis tion legitima. Sed kio okazis? 563 00:39:52,000 --> 00:39:55,810 Ili ligita en 3 aŭ 4 malsamaj ad bibliotekoj. 564 00:39:55,810 --> 00:39:59,140 Nun subite ĉiuj tiuj ad bibliotekoj 565 00:39:59,140 --> 00:40:02,970 ricevas aliron al tiu sama informo. 566 00:40:02,970 --> 00:40:05,830 La anonco bibliotekoj, se vi rigardas la kodon en la anonco bibliotekoj 567 00:40:05,830 --> 00:40:08,430 kion ili faras estas cxiu ad biblioteko diras 568 00:40:08,430 --> 00:40:11,340 "Ĉu miaj app havas permeson por atingi GPS situo?" 569 00:40:11,340 --> 00:40:14,890 "Ho, ĝi ne? Konsentite, diru al mi la GPS pozicio." 570 00:40:14,890 --> 00:40:16,620 Ĉiu unuopa ad biblioteko faras tion, 571 00:40:16,620 --> 00:40:19,740 kaj se la app ne havas GPS permeso 572 00:40:19,740 --> 00:40:23,460 ĝi ne povos akiri ĝin, sed se ĝi faras, tio enretigos ĝin. 573 00:40:23,460 --> 00:40:26,240 Tie estas kie la komerca modelo de la anonco bibliotekoj 574 00:40:26,240 --> 00:40:31,160 estas kontraŭa al la intimeco de la uzanto. 575 00:40:31,160 --> 00:40:34,980 Kaj tie ili pasis studojn tie, ke diros, se vi scias la aĝo 576 00:40:34,980 --> 00:40:38,430 de persono kaj vi scias iliajn situo 577 00:40:38,430 --> 00:40:42,530 kie ili dormas en la nokto, ĉar vi havas sian GPS koordinatoj 578 00:40:42,530 --> 00:40:46,030 dum ili eble estas dormanta, vi scias precize kiun tiu persono estas 579 00:40:46,030 --> 00:40:50,230 ĉar vi povas determini kiu membroj de tiu domo estas tiu persono. 580 00:40:50,230 --> 00:40:54,780 Vere tiu estas identiganta al reklamantoj 581 00:40:54,780 --> 00:40:59,530 akurate, kiu vi estas, kaj gxi rigardas kiel ĝi estis pravaj. 582 00:40:59,530 --> 00:41:02,800 Mi nur volas mian streaming muziko, kaj ĉi tiu estas la sola metodo por akiri ĝin. 583 00:41:02,800 --> 00:41:05,370 >> Nu, ni elmontris tion. 584 00:41:05,370 --> 00:41:08,030 Ni skribis ĉi supre en pluraj posts, 585 00:41:08,030 --> 00:41:13,280 kaj montriĝis, ke iu de Rolling Stone 586 00:41:13,280 --> 00:41:18,810 legu unu el niaj posts kaj verkis siajn proprajn blogo en Rolling Stone pri tio, 587 00:41:18,810 --> 00:41:22,120 kaj la tre proksima tago Pandora pensis ke estis bona ideo 588 00:41:22,120 --> 00:41:27,600 forigi la anoncon bibliotekoj de ilia aplikado. 589 00:41:27,600 --> 00:41:31,270 Kiom mi scias ke ili estas la solaj-devus esti lauxdis. 590 00:41:31,270 --> 00:41:35,770 Mi pensas ke ili estas la solaj freemium tipon de app kiu faris tion. 591 00:41:35,770 --> 00:41:38,660 Ĉiuj aliaj freemium apps havas tiun saman konduton, 592 00:41:38,660 --> 00:41:41,780 tiel vi devas pensi pri kia datumoj vi donas 593 00:41:41,780 --> 00:41:48,330 tiuj freemium aplikoj ĉar ĝi estas ĉiuj tuj reklamistoj. 594 00:41:48,330 --> 00:41:53,390 Pretoriana ankaŭ faris studon pri dividitaj bibliotekoj kaj diris: 595 00:41:53,390 --> 00:41:57,100 "Ni rigardu, kio dividis bibliotekoj estas la supro dividis bibliotekoj," kaj ĉi tiu estis la datumojn. 596 00:41:57,100 --> 00:41:59,420 >> Ili analizis 53.000 apps, 597 00:41:59,420 --> 00:42:01,900 kaj la numero 1 bindebla biblioteko estis AdMob. 598 00:42:01,900 --> 00:42:06,060 Ĝi estis fakte en 38% de la aplikoj el tie, 599 00:42:06,060 --> 00:42:08,800 do 38% de la aplikoj vi uzas 600 00:42:08,800 --> 00:42:11,250 estas verŝajna rikoltante viajn personajn informojn 601 00:42:11,250 --> 00:42:16,650 kaj sendante ĝin al la anonco retoj. 602 00:42:16,650 --> 00:42:19,350 Apache kaj Android estis 8% kaj 6%, 603 00:42:19,350 --> 00:42:22,960 kaj tiam tiuj aliaj ones malsupren ĉe la malsupro, Google ads, Flurry, 604 00:42:22,960 --> 00:42:26,600 Mob Urbo kaj Jarmila Medujo, 605 00:42:26,600 --> 00:42:30,500 jen estas ĉiuj ad kompanioj, kaj tiam, interese sufiĉe, 606 00:42:30,500 --> 00:42:33,500 4% ligita en la Facebook biblioteko 607 00:42:33,500 --> 00:42:38,870 probable fari aŭtentikigado per Facebook 608 00:42:38,870 --> 00:42:40,810 tial la app povus aŭtentigi la Facebook. 609 00:42:40,810 --> 00:42:44,660 Sed tio ankaŭ signifas, ke la korporacio Facebook kontrolas kodo 610 00:42:44,660 --> 00:42:49,010 tio estas kurante en 4% de la Android mobile apps el tie, 611 00:42:49,010 --> 00:42:53,490 kaj oni havas aliron al ĉiuj datumoj, ke tiu app havas permeson por atingi. 612 00:42:53,490 --> 00:42:57,170 Facebook esence provas vendi publikeco spaco. 613 00:42:57,170 --> 00:43:00,120 Tio estas ilia afero modelo. 614 00:43:00,120 --> 00:43:02,920 >> Se vi rigardas al cxi tiu tuta ekosistemo kun tiuj permesojn 615 00:43:02,920 --> 00:43:07,740 kaj dividis bibliotekoj vi komencas vidi, ke 616 00:43:07,740 --> 00:43:13,850 Vi havas multe da risko en supozeble legitima apliko. 617 00:43:13,850 --> 00:43:19,360 La sama simila afero, kiu okazis kun Pandora 618 00:43:19,360 --> 00:43:22,340 okazis kun apliko nomata Pado, 619 00:43:22,340 --> 00:43:27,660 kaj Path pensis ili esti helpema, amika programistoj. 620 00:43:27,660 --> 00:43:32,160 Ili estis nur provas doni al vi grandan sperton de uzanto, 621 00:43:32,160 --> 00:43:37,810 kaj tio rezultis, ke sen instigante la uzanto aŭ rakontanta al la uzanto io- 622 00:43:37,810 --> 00:43:40,400 kaj tio okazis en la iPhone kaj Android, 623 00:43:40,400 --> 00:43:44,420 La Pandora app estis sur iPhone kaj Android- 624 00:43:44,420 --> 00:43:48,890 ke la Pado programo grabbing via tuta adreslibro 625 00:43:48,890 --> 00:43:52,830 kaj alŝuti ĝin al Pado ĝuste kiam vi instalis kaj kuris al la apliko, 626 00:43:52,830 --> 00:43:55,840 kaj ili ne diras al vi pri tio. 627 00:43:55,840 --> 00:43:58,750 Ili pensis ke estis vere helpemaj por vi 628 00:43:58,750 --> 00:44:04,040 por povi dividi kun ĉiuj homoj en via adreslibro 629 00:44:04,040 --> 00:44:06,920 ke vi uzas la Pado apliko. 630 00:44:06,920 --> 00:44:09,490 >> Nu, evidente Path pensis ĉi estis granda por sia kompanio. 631 00:44:09,490 --> 00:44:13,510 Ne tiel granda al la uzanto. 632 00:44:13,510 --> 00:44:19,020 Vi devas pensi ke ĝi estas unu afero, se eble adoleskanto 633 00:44:19,020 --> 00:44:23,700 estas uzanta ĉi apliko kaj ilia dekojn da amikoj estas en tie, 634 00:44:23,700 --> 00:44:29,360 sed kio se ĝi estas la ĝenerala direktoro de kompanio kiu instalas Pado 635 00:44:29,360 --> 00:44:33,170 kaj tiam subite ilia tuta adreslibro estas tie supre? 636 00:44:33,170 --> 00:44:38,310 Vi tuj ricevos amason da potenciale valora kontakto informoj 637 00:44:38,310 --> 00:44:40,920 cxar multe da homoj. 638 00:44:40,920 --> 00:44:44,500 Raportisto de la New York Times, eble vi povos akiri la telefonnumero 639 00:44:44,500 --> 00:44:47,380 por eks prezidantoj de siaj adreslibro, 640 00:44:47,380 --> 00:44:54,780 do evidente multaj sentemaj informoj gets kopiitaj kun iu kiel ĉi tio. 641 00:44:54,780 --> 00:44:58,090 Tie estis tia granda frapeto sur ĉi tiu vojo pardonpetis. 642 00:44:58,090 --> 00:45:01,610 Ili sxangxis sian app, kaj ĝi eĉ efikis al Apple. 643 00:45:01,610 --> 00:45:06,950 Apple diris, "Ni tuj devigos app vendistoj suflori uzantoj 644 00:45:06,950 --> 00:45:12,650 se ili iras por kolekti sian tutan adresaron. " 645 00:45:12,650 --> 00:45:15,360 >> Ĝi aspektas kiel kio okazas ĉi tie estas 646 00:45:15,360 --> 00:45:19,430 kiam ekzistas unu grandan intimecon seksperfortado kaj ĝi faras la gazetaro 647 00:45:19,430 --> 00:45:21,680 ni vidas ŝanĝon tie. 648 00:45:21,680 --> 00:45:23,230 Sed kompreneble ekzistas aliaj aferoj tie. 649 00:45:23,230 --> 00:45:27,440 La LinkedIn apliko rikoltas vian kalendaron enskriboj, 650 00:45:27,440 --> 00:45:34,530 sed Apple ne faras la uzanto estos pridemandata pri tio. 651 00:45:34,530 --> 00:45:38,030 Kalendaro Aktualaĵoj povas havi sentema informojn en ili tro. 652 00:45:38,030 --> 00:45:40,000 Kien vi iras por tiri la linio? 653 00:45:40,000 --> 00:45:43,960 Ĉi tio estas vere afabla de evoluanta lokon 654 00:45:43,960 --> 00:45:47,640 kie ne vere ekzistas bona normo tie 655 00:45:47,640 --> 00:45:51,990 por la uzantoj por kompreni kiam iliaj informoj tuj estos en danĝero 656 00:45:51,990 --> 00:45:57,820 kaj kiam ili tuj scios ĝi estas prenita. 657 00:45:57,820 --> 00:46:03,040 Ni skribis app ĉe Veracode nomata Adios, 658 00:46:03,040 --> 00:46:08,350 kaj esence ĝi permesis al vi notas la app ĉe via iTunes dosierujon 659 00:46:08,350 --> 00:46:12,550 kaj rigardi la tutan aplikoj kiuj rikoltante vian kompletan adresaron. 660 00:46:12,550 --> 00:46:19,760 Kaj kiel vi povas vidi sur tiu listo tie, Kolera Birdoj, 661 00:46:19,760 --> 00:46:21,590 AIM, AroundMe. 662 00:46:21,590 --> 00:46:24,050 Kial Kolera Birdoj bezonas vian adresaron? 663 00:46:24,050 --> 00:46:29,160 Mi ne scias, sed ĝi faras iel. 664 00:46:29,160 --> 00:46:32,310 >> Tio estas io, ke multaj, multaj aplikoj fari. 665 00:46:32,310 --> 00:46:34,780 Vi povas inspekti la kodo por tio. 666 00:46:34,780 --> 00:46:38,660 Estas bone-difinita API por iPhone, Android kaj BlackBerry 667 00:46:38,660 --> 00:46:42,120 akiri ĉe la adreslibro. 668 00:46:42,120 --> 00:46:48,520 Vi povas vere facile inspekti por tio kaj ĉi tio estas, kion ni faris en nia Adios apliko. 669 00:46:48,520 --> 00:46:52,320 La sekvanta kategorio, necerta Sensitive Data Storage, 670 00:46:52,320 --> 00:46:55,670 Estas io kie programistoj preni ion kiel pinglo aŭ konton nombro 671 00:46:55,670 --> 00:46:58,530 aŭ pasvorto kaj konservas ĝin en la klara en la artefakto. 672 00:46:58,530 --> 00:47:02,310 Eĉ pli malbone, ili povu gardi ĝin en areo en la telefono 673 00:47:02,310 --> 00:47:06,820 kiu estas tutmonde alireblaj, same kiel la SD karto. 674 00:47:06,820 --> 00:47:11,320 Komprenu tion pli ofte sur Android ĉar Android permesas por SD karto. 675 00:47:11,320 --> 00:47:13,200 IPhone aparatoj ne. 676 00:47:13,200 --> 00:47:17,900 Sed ni ankoraŭ vidis tion okazi en Citigroup apliko. 677 00:47:17,900 --> 00:47:25,450 Ilia interreta banko apliko stokitaj la konto nombroj insecurely, 678 00:47:25,450 --> 00:47:28,120 nur en la klara, do se vi perdis vian aparaton, 679 00:47:28,120 --> 00:47:30,670 esence vi perdis vian bankokonton. 680 00:47:30,670 --> 00:47:36,000 Jen kial mi persone ne faru bankan sur mia iPhone. 681 00:47:36,000 --> 00:47:43,710 Mi kredas ke estas tro riska nun fari tiajn agadojn. 682 00:47:43,710 --> 00:47:45,950 >> Skype faris la samon. 683 00:47:45,950 --> 00:47:49,870 Skype, kompreneble, havas konton ekvilibro, uzanto nomon kaj pasvorton 684 00:47:49,870 --> 00:47:51,030 kiuj konsentas ke ekvilibro. 685 00:47:51,030 --> 00:48:00,080 Ili estis stoki tutan tiun informon en la klara sur la movebla aparato. 686 00:48:00,080 --> 00:48:05,760 Mi havas kelkajn ekzemplojn ĉi tie por krei dosierojn 687 00:48:05,760 --> 00:48:10,310 ke ili ne havas la rajton permesojn aux skribante al disko 688 00:48:10,310 --> 00:48:17,260 kaj ne havante ajnan ĉifrado okazi por tio. 689 00:48:17,260 --> 00:48:20,190 Tiu apud areo, necerta Sensitive Datumoj Transmission, 690 00:48:20,190 --> 00:48:24,450 Mi aludis al ĉi kelkaj momentoj, kaj pro publika Wi-Fi 691 00:48:24,450 --> 00:48:27,770 tio estas iu kiu apps absolute bezonas fari, 692 00:48:27,770 --> 00:48:31,250 kaj tio estas probable, kion ni vidas iri malbone la plej. 693 00:48:31,250 --> 00:48:34,920 Mi dirus-efektive, mi kredas ke mi havas la realan datumon, 694 00:48:34,920 --> 00:48:38,120 sed ĝi estas proksime al la duono de la telefonoj aplikoj 695 00:48:38,120 --> 00:48:41,780 screw farante SSL. 696 00:48:41,780 --> 00:48:43,910 Ili simple ne uzi la API korekte. 697 00:48:43,910 --> 00:48:47,970 Mi volas diri, ĉiuj vi devas fari estas sekvi la instrukciojn kaj uzu la API, 698 00:48:47,970 --> 00:48:54,720 sed ili faras aferojn kiel ne kontrolu ĉu estas malvalida registrita ĉe la alia fino, 699 00:48:54,720 --> 00:49:02,120 Ne kontrolu, se la alia fino provas fari protokolon downgrade atako. 700 00:49:02,120 --> 00:49:07,200 >> La programistoj, ili volas preni iliajn checkbox, right? 701 00:49:07,200 --> 00:49:11,910 Ilia kondiĉo estas uzi ĉi por vendi. Ili jam uzas ĉi por vendi. 702 00:49:11,910 --> 00:49:14,800 La postulo estas ne uzi tiun vendi sekure, 703 00:49:14,800 --> 00:49:19,680 kaj tiel ĉi tio estas kial ĉiuj aplikoj kiuj uzas SSL por sekurigi datumoj 704 00:49:19,680 --> 00:49:23,470 kiel ĝi estos esti transdonita for de la aparato vere devas esti inspektis 705 00:49:23,470 --> 00:49:28,950 por certiĝi, ke estis implementado korekte. 706 00:49:28,950 --> 00:49:32,850 Kaj ĉi tie mi havas iom da ekzemploj, kie vi povas vidi apliko 707 00:49:32,850 --> 00:49:37,400 eble uzante HTTP anstataŭ HTTPS. 708 00:49:37,400 --> 00:49:40,510 En iuj kazoj apps falos reen al HTTP 709 00:49:40,510 --> 00:49:44,250 se la HTTPS ne funkcias. 710 00:49:44,250 --> 00:49:49,070 Mi havas alian alvokon tie sur Android kie jam malebligita la registrita ĉeko, 711 00:49:49,070 --> 00:49:51,700 Kaj homon-en-la-mezo atenco povas okazi. 712 00:49:51,700 --> 00:49:56,370 Nevalidan atestilo estos akceptita. 713 00:49:56,370 --> 00:50:01,920 Tiuj estas ĉiuj kazoj kie atakantoj ili tuj povos pluiri 714 00:50:01,920 --> 00:50:07,150 la sama Wi-Fi, kiel la uzanto kaj aliro ĉiuj datumoj 715 00:50:07,150 --> 00:50:11,650 tio estas senditaj sur la interreto. 716 00:50:11,650 --> 00:50:15,970 >> Kaj fine, la lasta kategorio Mi havas tie estas hardcoded pasvorton kaj ŝlosilojn. 717 00:50:15,970 --> 00:50:21,470 Ni vere vidas multe da programistoj uzi la saman kodigon stilo 718 00:50:21,470 --> 00:50:25,900 ke ili faris, kiam ili konstruas ttt-servilo aplikoj, 719 00:50:25,900 --> 00:50:29,700 Do oni konstruas Ĝava servilo apliko, kaj ili estas hardcoding la ŝlosilo. 720 00:50:29,700 --> 00:50:31,940 Nu, kiam vi estas konstruanta servilo apliko, jes, 721 00:50:31,940 --> 00:50:34,240 hardcoding la ŝlosilo ne estas bona ideo. 722 00:50:34,240 --> 00:50:36,290 Ĝi faras ĝin malfacile ŝanĝi. 723 00:50:36,290 --> 00:50:40,700 Sed ne estas tiel malbona ĉe la servilo flanko ĉar kiu havas aliron al la servilo? 724 00:50:40,700 --> 00:50:43,140 Nur la administrantoj. 725 00:50:43,140 --> 00:50:48,100 Sed se vi prenos la sama kodo kaj vi surversxis al mobile apliko 726 00:50:48,100 --> 00:50:52,550 Nun ĉiuj, kiuj havas tiun mobile apliko havas aliron al tiu hardcoded klavo, 727 00:50:52,550 --> 00:50:56,380 kaj ni efektive vidas tiun multajn fojojn, kaj mi havas iom da statistiko 728 00:50:56,380 --> 00:51:00,920 je kiom ofte oni vidas ĉi okazos. 729 00:51:00,920 --> 00:51:04,940 Ĝi fakte estis en ekzemplo-kodon MasterCard eldonita 730 00:51:04,940 --> 00:51:06,850 pri kiel uzi sian servon. 731 00:51:06,850 --> 00:51:11,860 La ekzempla kodo montris kiom vi estus simple preni la pasvorton 732 00:51:11,860 --> 00:51:14,850 kaj metis gxin en hardcoded kordo rajton tie, 733 00:51:14,850 --> 00:51:19,380 kaj ni scias kiel programistoj amas kopii kaj almeti kodo kodaĵoj 734 00:51:19,380 --> 00:51:22,360 Kiam ili provas fari ion, do vi kopiu kaj algluu la kodon fragmento 735 00:51:22,360 --> 00:51:28,450 ke ili donis kiel ekzemplo de kodo, kaj vi havas necerta apliko. 736 00:51:28,450 --> 00:51:31,490 >> Kaj tie ni havas iujn ekzemplojn. 737 00:51:31,490 --> 00:51:35,840 Tiu unua estas unu ni vidas multajn kie hardcode 738 00:51:35,840 --> 00:51:40,510 la datumojn rekte en URL ke gets sendis. 739 00:51:40,510 --> 00:51:45,120 Foje oni vidas kordo pasvorto = la pasvorton. 740 00:51:45,120 --> 00:51:49,060 Tio estas sufiĉe facila por detekti, aŭ kordo pasvorton sur BlackBerry kaj Android. 741 00:51:49,060 --> 00:51:53,680 Ĝi estas fakte sufiĉe facila por kontroli, ĉar preskaŭ ĉiam 742 00:51:53,680 --> 00:51:57,030 la developer nomoj la variablo tio estas tenante la pasvorton 743 00:51:57,030 --> 00:52:02,290 iu variado de pasvorto. 744 00:52:02,290 --> 00:52:05,200 Mi menciis, ke ni faru statika analizo ĉe Veracode, 745 00:52:05,200 --> 00:52:11,790 tial ni analizis kelkcent Android kaj IOS aplikoj. 746 00:52:11,790 --> 00:52:15,160 Ni konstruis plenan modeloj de ili, kaj ni povos skani ilin 747 00:52:15,160 --> 00:52:19,280 por malsamaj vulnerabilidades, speciale la vulnerabilidades mi parolis, 748 00:52:19,280 --> 00:52:21,050 kaj mi ne havas iujn datumojn tie. 749 00:52:21,050 --> 00:52:24,320 68,5% de la Android apps ni rigardis 750 00:52:24,320 --> 00:52:28,590 forrompis ĉifrikaj kodo, 751 00:52:28,590 --> 00:52:33,240 kiu por ni, ni ne povas detekti se vi faris vian propran kripto rutino, 752 00:52:33,240 --> 00:52:38,980 Ne ke tio estas bona ideo, sed ĉi tiu estas efektive uzante la publikigita API 753 00:52:38,980 --> 00:52:42,530 kiu estas sur la platformo sed fari ilin en tia vojo 754 00:52:42,530 --> 00:52:46,680 ke la kripto estus vundebla, 68.5. 755 00:52:46,680 --> 00:52:49,870 Kaj jen estas por homoj, kiuj sendas al ni siajn aplikoj reale ĉar 756 00:52:49,870 --> 00:52:53,730 Ili pensas ke estas bona ideo fari sekureco testado. 757 00:52:53,730 --> 00:52:56,960 Tio estas jam homoj kiuj probable pensante sekure, 758 00:52:56,960 --> 00:52:59,540 tial ĝi estas probable eĉ pli malbona. 759 00:52:59,540 --> 00:53:02,690 >> Mi ne parolas pri kontrolo linio feed injekto. 760 00:53:02,690 --> 00:53:07,640 Estas io kontroli, sed ne estas tiu riska afero. 761 00:53:07,640 --> 00:53:15,390 Informo fugo, tiu estas kie sentema datenoj estas senditaj ekstere de la aparato. 762 00:53:15,390 --> 00:53:19,270 Ni trovis ke en 40% de la aplikoj. 763 00:53:19,270 --> 00:53:23,540 Tempo kaj ŝtataj, tiuj estas raso kondiĉo tipo temoj, tipe bela malfacile atakeblaj, 764 00:53:23,540 --> 00:53:26,170 tial Mi ne parolas pri tio, sed ni rigardis ĝin. 765 00:53:26,170 --> 00:53:28,750 23% havas SQL injekto temoj. 766 00:53:28,750 --> 00:53:32,020 Multaj homoj ne scias ke multa aplikoj 767 00:53:32,020 --> 00:53:35,880 uzi malgrandan iom SQL datumbazo sur lia dorso fino stoki datumojn. 768 00:53:35,880 --> 00:53:40,430 Nu, se la datumoj kiujn vi grabbing super la reto 769 00:53:40,430 --> 00:53:43,800 havas SQL injekto atako kordoj en ĝi 770 00:53:43,800 --> 00:53:45,970 iu povas kompromisi la mekanismon per tio, 771 00:53:45,970 --> 00:53:49,800 kaj tial mi pensas, ke ni trovos ĉirkaŭ 40% de aplikoj retejo havas ĉi tiun problemon, 772 00:53:49,800 --> 00:53:52,840 kio estas grandega epidemio problemon. 773 00:53:52,840 --> 00:53:55,740 Ni trovas ĝin 23% de la tempo en mobile apps 774 00:53:55,740 --> 00:54:02,030 kaj tio verŝajne ĉar multaj pli ttt aplikoj uzas SQL ol telefonoj. 775 00:54:02,030 --> 00:54:05,580 >> Kaj tiam ni ankoraŭ vidos iuj kruc-ejo skripta, rajtigo temoj, 776 00:54:05,580 --> 00:54:09,400 kaj tiam credencial demarŝon, tio estas kie vi havas viajn hardcoded pasvorton. 777 00:54:09,400 --> 00:54:14,540 En la 5% el la aplikoj oni vidas tion. 778 00:54:14,540 --> 00:54:17,970 Kaj tiam ni havas iujn datumojn en IOS. 779 00:54:17,970 --> 00:54:20,180 81% havis eraro uzado temoj. 780 00:54:20,180 --> 00:54:23,130 Ĉi tio estas pli de kodo kvalito problemo, 781 00:54:23,130 --> 00:54:28,010 sed 67% havis ĉifrikaj temoj, do ne tute tiel malbona kiel Android. 782 00:54:28,010 --> 00:54:32,440 Eble la API estas iom pli simpla, la ekzemplo kodoj iom bona je IOS. 783 00:54:32,440 --> 00:54:35,420 Sed ankoraŭ tre altan procenton. 784 00:54:35,420 --> 00:54:39,040 Ni havis 54% kun informoj fugo, 785 00:54:39,040 --> 00:54:42,080 ĉirkaŭ 30% kun bufro mastrumado eraroj. 786 00:54:42,080 --> 00:54:45,930 Tio estas lokoj kie oni povus potenciale esti memoro korupto temo. 787 00:54:45,930 --> 00:54:50,350 Rezultas, ke tiu ne estas tiom multe de problemo por ekspluatado 788 00:54:50,350 --> 00:54:56,450 sur IOS ĉar ĉiuj kodo devas esti subskribita, 789 00:54:56,450 --> 00:55:02,210 tial estas malfacile por atakanto ekzekuti arbitrajn kodo sur IOS. 790 00:55:02,210 --> 00:55:07,880 Kodo kvalito, dosierujo trairado, sed tiam akreditaĵojn mastrumado tie je 14.6%, 791 00:55:07,880 --> 00:55:09,250 tiom pli malbone ol sur la Android. 792 00:55:09,250 --> 00:55:13,240 Ni havas la homo ne manipuli pasvortojn korekte. 793 00:55:13,240 --> 00:55:15,790 Kaj tiam la nombran eraroj kaj buffer overflow, 794 00:55:15,790 --> 00:55:22,680 tiuj estas pli tuj estos kodo kvalito temoj sur IOS. 795 00:55:22,680 --> 00:55:26,110 >> Tio estis por mia prezento. Mi ne scias ĉu ni el tempo aŭ ne. 796 00:55:26,110 --> 00:55:29,540 Mi ne scias se estas ia demandoj. 797 00:55:29,540 --> 00:55:33,220 [Male] Rapida demandon ĉirkaŭ fragmentiĝo kaj la Android merkato. 798 00:55:33,220 --> 00:55:36,240 Pomo almenaŭ posedas parchear. 799 00:55:36,240 --> 00:55:40,780 Ili faras bonan laboron de iĝi ŝin tie dum malpli tiel en la Android spaco. 800 00:55:40,780 --> 00:55:44,280 Vi preskaŭ bezonas jailbreak vian telefonon por resti aktuala 801 00:55:44,280 --> 00:55:46,660 kun la nuna versio de Android. 802 00:55:46,660 --> 00:55:50,960 Jes, tio estas grandega problemo kaj do se vi opinias pri- 803 00:55:50,960 --> 00:55:52,280 [Male] Kial vi ne povas ripeti tion? 804 00:55:52,280 --> 00:55:55,610 >> Ho, dekstra, do la demando estis kia pri fragmentiĝo 805 00:55:55,610 --> 00:56:00,410 de la mastruma sistemo sur la platformo Android? 806 00:56:00,410 --> 00:56:05,890 How does kiuj tuŝas la riskiness de tiuj aparatoj? 807 00:56:05,890 --> 00:56:09,700 Kaj tio efektive estas grandega problemo ĉar kio okazas estas 808 00:56:09,700 --> 00:56:15,110 la malnovaj aparatoj, kiam iu venas supren kun jailbreak por tiu aparato, 809 00:56:15,110 --> 00:56:19,960 esence tio estas privilegio grimpita, kaj ĝis tiu mastruma sistemo estas ĝisdatigita 810 00:56:19,960 --> 00:56:25,350 neniu malware povas tiam uzi tiun vundebleco plene kompromisi la mekanismo, 811 00:56:25,350 --> 00:56:30,200 kaj kion ni vidas en la Android estas la celo akiri novan mastruman sistemon 812 00:56:30,200 --> 00:56:34,690 Google havas estingi la mastruma sistemo, kaj poste la aparataro Fabrikejo 813 00:56:34,690 --> 00:56:39,390 devas agordi ĝin, kaj tiam la portanto havas personigi ĝin kaj transdoni ĝin. 814 00:56:39,390 --> 00:56:43,070 Vi havas esence 3 movante partoj tie, 815 00:56:43,070 --> 00:56:47,210 kaj ĝin igante ke la portantoj ne gravas, 816 00:56:47,210 --> 00:56:50,400 kaj la aparataro fabrikantoj ne gravas, kaj Google ne prodding ilin sufiĉe 817 00:56:50,400 --> 00:56:54,430 fari ion, do esence ol duono de la mekanismoj por tie 818 00:56:54,430 --> 00:57:00,590 havi mastrumaj sistemoj kiuj havas tiujn privilegio grimpita vulnerabilidades en ili, 819 00:57:00,590 --> 00:57:08,440 kaj do se vi ricevas malware sur via Android mekanismo estas multe pli ol problemo. 820 00:57:08,440 --> 00:57:10,350 >> Bone, dankon tre multa. 821 00:57:10,350 --> 00:57:12,310 [Aplaŭdo] 822 00:57:12,310 --> 00:57:14,310 [CS50.TV]