1 00:00:00,000 --> 00:00:02,610 >> [Seminari] [Defensant Darrere del dispositiu: Application Security Mobile] 2 00:00:02,610 --> 00:00:04,380 [Chris Wysopal] [Universitat de Harvard] 3 00:00:04,380 --> 00:00:07,830 [Aquest és CS50.] [CS50.TV] 4 00:00:07,830 --> 00:00:10,360 >> Bona tarda. El meu nom és Chris Wysopal. 5 00:00:10,360 --> 00:00:13,360 Sóc el director de tecnologia i cofundador de Veracode. 6 00:00:13,360 --> 00:00:15,880 Veracode és una empresa de seguretat de l'aplicació. 7 00:00:15,880 --> 00:00:18,230 Provem tot tipus d'aplicacions diferents, 8 00:00:18,230 --> 00:00:25,060 i el que vaig a parlar avui és la seguretat d'aplicacions mòbils. 9 00:00:25,060 --> 00:00:28,630 La meva experiència és que he estat fent la investigació sobre seguretat 10 00:00:28,630 --> 00:00:31,970 durant molt de temps, probablement gairebé tan llarg com el que més. 11 00:00:31,970 --> 00:00:35,000 Vaig començar a mitjans dels anys 90, 12 00:00:35,000 --> 00:00:37,370 i va ser un temps en què era bastant interessant perquè 13 00:00:37,370 --> 00:00:39,220 vam tenir un canvi de paradigma en els mitjans dels anys 90. 14 00:00:39,220 --> 00:00:43,520 Tot l'equip d'un tot sobtat estava connectat a Internet, 15 00:00:43,520 --> 00:00:46,550 i després vam tenir l'inici de les aplicacions web, 16 00:00:46,550 --> 00:00:49,330 i això és el que m'he centrat en molt llavors. 17 00:00:49,330 --> 00:00:51,160 És interessant. 18 00:00:51,160 --> 00:00:53,930 Ara tenim un nou canvi de paradigma passant amb la informàtica, 19 00:00:53,930 --> 00:00:58,710 que és el canvi a les aplicacions mòbils. 20 00:00:58,710 --> 00:01:03,680 >> Sento que és una espècie de temps similar i després va ser a finals dels anys 90 21 00:01:03,680 --> 00:01:07,650 quan estàvem investigant les aplicacions web i la recerca de defectes com 22 00:01:07,650 --> 00:01:11,800 errors d'administració de sessions i d'injecció SQL 23 00:01:11,800 --> 00:01:14,940 que en realitat no existia abans, i, de sobte, estaven per tot arreu 24 00:01:14,940 --> 00:01:19,360 en les aplicacions web, i ara una gran part del temps que pas 25 00:01:19,360 --> 00:01:27,950 està mirant a les aplicacions mòbils i mirant al que està passant allà fora en el salvatge. 26 00:01:27,950 --> 00:01:32,060 Les aplicacions mòbils són realment serà la plataforma informàtica dominant, 27 00:01:32,060 --> 00:01:35,060 pel que realment hem de gastar un munt de temps si vostè està en la indústria de la seguretat 28 00:01:35,060 --> 00:01:39,280 centrant-se en les aplicacions web. 29 00:01:39,280 --> 00:01:43,420 Hi va haver 29000000000 d'aplicacions mòbils descarregats el 2011. 30 00:01:43,420 --> 00:01:47,920 Es preveu de ser de 76000000000 d'aplicacions per a l'any 2014. 31 00:01:47,920 --> 00:01:54,040 Hi ha 686 milions de dispositius que es compraran aquest any, 32 00:01:54,040 --> 00:01:57,060 de manera que aquest és el lloc on la gent va a estar fent 33 00:01:57,060 --> 00:01:59,600  la major part de la seva informàtica de client en el futur. 34 00:01:59,600 --> 00:02:04,220 >> Jo estava parlant amb un vicepresident de Fidelity Investments 35 00:02:04,220 --> 00:02:08,780 Fa un parell de mesos, i em va dir que acaben de veure més trànsit 36 00:02:08,780 --> 00:02:12,610 fer transaccions financeres des de la base de clients 37 00:02:12,610 --> 00:02:16,230 en la seva aplicació mòbil que a la seva pàgina web, 38 00:02:16,230 --> 00:02:20,610 de manera que un ús comú del web en el passat ha estat 39 00:02:20,610 --> 00:02:23,800 la comprovació de les seves cotitzacions d'accions, la gestió de la seva cartera, 40 00:02:23,800 --> 00:02:28,060 i que en realitat estem veient que el 2012 més d'interruptor 41 00:02:28,060 --> 00:02:30,960 a ser més dominant a la plataforma mòbil. 42 00:02:30,960 --> 00:02:34,530 Certament, si no hi haurà cap activitat criminal, 43 00:02:34,530 --> 00:02:38,900 qualsevol activitat maliciosa, que començarà a centrar-se en la plataforma mòbil 44 00:02:38,900 --> 00:02:44,210 amb el temps com la gent canvia a això. 45 00:02:44,210 --> 00:02:48,320 Si ens fixem en la plataforma mòbil, 46 00:02:48,320 --> 00:02:54,380 mirar els riscos de la plataforma és útil per desglossar en les diferents capes, 47 00:02:54,380 --> 00:02:59,010 igual que ho faria en un ordinador d'escriptori, 48 00:02:59,010 --> 00:03:02,860 i es pensa en les diferents capes, programari, sistema operatiu, 49 00:03:02,860 --> 00:03:07,730 capa de xarxa, capa de maquinari, i per descomptat, hi ha vulnerabilitats en totes aquestes capes. 50 00:03:07,730 --> 00:03:10,510 >> El mateix succeeix en el mòbil. 51 00:03:10,510 --> 00:03:14,880 Però el mòbil, sembla que algunes d'aquestes capes estan en pitjor situació. 52 00:03:14,880 --> 00:03:19,840 D'una banda, la capa de xarxa és més problemàtica al mòbil 53 00:03:19,840 --> 00:03:25,650 perquè molta gent té a la seva oficina oa casa 54 00:03:25,650 --> 00:03:30,780 cablejat o les connexions que tenen connexions segures Wi-Fi, 55 00:03:30,780 --> 00:03:36,530 i amb una gran quantitat de dispositius mòbils que està, òbviament fora de la casa 56 00:03:36,530 --> 00:03:40,520 o fora de l'oficina molt i si estàs fent servir Wi-Fi no 57 00:03:40,520 --> 00:03:42,820 es podria estar utilitzant una connexió Wi-Fi insegura, 58 00:03:42,820 --> 00:03:45,570 cosa que és un públic de connexió Wi-Fi gratuïta, 59 00:03:45,570 --> 00:03:48,840 així que quan pensem en aplicacions mòbils que hem de tenir en compte 60 00:03:48,840 --> 00:03:53,770 que l'entorn de xarxa és més arriscat per a les aplicacions 61 00:03:53,770 --> 00:03:57,640 quan s'està utilitzant Wi-Fi. 62 00:03:57,640 --> 00:04:02,410 I quan em fico en diversos dels riscos d'aplicacions mòbils 63 00:04:02,410 --> 00:04:04,910 veuràs per què això és més important. 64 00:04:04,910 --> 00:04:09,710 Hi ha riscos a nivell de maquinari en els dispositius mòbils. 65 00:04:09,710 --> 00:04:11,670 Aquesta és una àrea de recerca en curs. 66 00:04:11,670 --> 00:04:15,910 La gent crida a aquests atacs de banda ampla o atacs de banda base 67 00:04:15,910 --> 00:04:21,870 on s'està atacant el firmware que està escoltant a la ràdio. 68 00:04:21,870 --> 00:04:25,430 >> Aquests són realment atacs de por perquè 69 00:04:25,430 --> 00:04:27,280 l'usuari no ha de fer res. 70 00:04:27,280 --> 00:04:30,760 Vostè pot colpejar un munt de dispositius en la gamma de RF 71 00:04:30,760 --> 00:04:36,690 alhora, i sembla que cada vegada que aquesta investigació es propaga cap amunt 72 00:04:36,690 --> 00:04:40,750 ràpidament es classifica en el 73 00:04:40,750 --> 00:04:46,600 gent sola vegada en la volta i dir: "Aquí, ens diuen sobre això, i si us plau deixin de parlar-ne." 74 00:04:46,600 --> 00:04:49,460 Hi ha una mica de recerca en curs en l'àrea de la banda ampla, 75 00:04:49,460 --> 00:04:51,980 però sembla ser Hush Hush molt. 76 00:04:51,980 --> 00:04:56,910 Crec que és més d'un tipus d'Estat-nació de la investigació que està passant. 77 00:04:56,910 --> 00:05:02,140 Una àrea d'investigació activa, però, és la capa del sistema operatiu, 78 00:05:02,140 --> 00:05:08,910 i de nou, això és diferent que en el món de la computació d'escriptori 79 00:05:08,910 --> 00:05:14,840 perquè en l'espai mòbil té aquests equips de persones anomenats Jailbreakers, 80 00:05:14,840 --> 00:05:18,670 i Jailbreakers són diferents que els investigadors de vulnerabilitats regulars. 81 00:05:18,670 --> 00:05:21,970 Estan tractant de trobar vulnerabilitats en el sistema operatiu, 82 00:05:21,970 --> 00:05:27,000 però la raó per la qual estan tractant de trobar les vulnerabilitats no és 83 00:05:27,000 --> 00:05:31,810 entrar a la màquina d'una altra persona i comprometre. 84 00:05:31,810 --> 00:05:34,280 És entrar en el seu propi ordinador. 85 00:05:34,280 --> 00:05:38,820 >> Volen entrar en el seu propi mòbil, modificar el sistema operatiu del seu propi mòbil 86 00:05:38,820 --> 00:05:41,050 perquè puguin executar les aplicacions de la seva elecció 87 00:05:41,050 --> 00:05:44,510 i canviar les coses amb els permisos administratius, 88 00:05:44,510 --> 00:05:49,050 i ells no volen dir-li al venedor sobre això. 89 00:05:49,050 --> 00:05:52,960 No són com un investigador de seguretat que és un investigador de seguretat barret blanc 90 00:05:52,960 --> 00:05:56,600 que es va a fer d'una font responsable i dir-li al venedor sobre això. 91 00:05:56,600 --> 00:06:01,270 Ells volen fer aquesta investigació, i que volen publicar en realitat 92 00:06:01,270 --> 00:06:06,400 en una explotació o un rootkit o un codi de fuga de la presó, 93 00:06:06,400 --> 00:06:10,010 i volen fer-ho estratègicament com just després del 94 00:06:10,010 --> 00:06:13,570 les naus de proveïdors del nou sistema operatiu. 95 00:06:13,570 --> 00:06:16,350 Vostè té aquesta relació de confrontació 96 00:06:16,350 --> 00:06:19,000 amb vulnerabilitats a nivell de sistema operatiu al mòbil, 97 00:06:19,000 --> 00:06:23,150 que crec que és bastant interessant, i un lloc on veig 98 00:06:23,150 --> 00:06:29,210 es ho fa perquè hi hagi un bon codi publicat explotar per aquí 99 00:06:29,210 --> 00:06:31,750 a la recerca de vulnerabilitats a nivell de nucli, 100 00:06:31,750 --> 00:06:35,040 i hem vist els realment ser utilitzat pels creadors de malware. 101 00:06:35,040 --> 00:06:38,450 És una mica diferent que el món del PC. 102 00:06:38,450 --> 00:06:42,530 I a continuació, la capa final és la capa superior, la capa d'aplicació. 103 00:06:42,530 --> 00:06:45,250 Això és el que vaig a parlar avui. 104 00:06:45,250 --> 00:06:48,970 >> Existeixen les altres capes, i les altres capes exerceixen en ell, 105 00:06:48,970 --> 00:06:53,310 però jo estic majoritàriament va a parlar sobre el que està passant a la capa d'aplicació 106 00:06:53,310 --> 00:06:55,560 on el codi s'executa en l'entorn limitat. 107 00:06:55,560 --> 00:06:58,670 No té privilegis administratius. 108 00:06:58,670 --> 00:07:02,170 S'ha d'utilitzar les API del dispositiu, 109 00:07:02,170 --> 00:07:06,970 però tot i així, una gran quantitat d'activitats malicioses i una gran quantitat de risc poden ocórrer en aquesta capa 110 00:07:06,970 --> 00:07:09,220 perquè aquesta és la capa on tota la informació està. 111 00:07:09,220 --> 00:07:12,330 Les aplicacions poden accedir a tota la informació en el dispositiu 112 00:07:12,330 --> 00:07:15,390 si tenen els permisos adequats, 113 00:07:15,390 --> 00:07:17,540 i poden accedir als diferents sensors en el dispositiu, 114 00:07:17,540 --> 00:07:23,950 Sensor de GPS, micròfon, càmera, el que vostè té. 115 00:07:23,950 --> 00:07:27,380 Tot i que només estem parlant de la capa d'aplicació 116 00:07:27,380 --> 00:07:33,700 tenim una gran quantitat de risc allà. 117 00:07:33,700 --> 00:07:38,450 L'altra cosa que és diferent en l'entorn mòbil 118 00:07:38,450 --> 00:07:45,060 és que tots els jugadors del sistema operatiu, ja sigui BlackBerry o Android 119 00:07:45,060 --> 00:07:53,410 o iOS o Windows Mobile, tots ells tenen un model de permisos de gra fi, 120 00:07:53,410 --> 00:07:56,990 i aquesta és una de les formes en què construeixen en el sistema operatiu 121 00:07:56,990 --> 00:08:01,230 la idea que no és tan arriscat com sembla. 122 00:08:01,230 --> 00:08:04,550 Tot i que té tots els seus contactes en allà, tota la seva informació personal, 123 00:08:04,550 --> 00:08:09,080 vostè té les seves fotos, vostè té la seva ubicació en allà, 124 00:08:09,080 --> 00:08:14,820 vostè està emmagatzemant la seva pin bancària per a inici de sessió automàtic de l'existència, és segur perquè 125 00:08:14,820 --> 00:08:19,430 aplicacions han de tenir certs permisos per arribar a certes parts 126 00:08:19,430 --> 00:08:25,080 de la informació en el dispositiu, i l'usuari ha de ser presentada amb 127 00:08:25,080 --> 00:08:29,230 aquests permisos i diuen bé. 128 00:08:29,230 --> 00:08:32,590 >> El problema amb això és que l'usuari sempre diu bé. 129 00:08:32,590 --> 00:08:35,240 Com una persona de seguretat, sé que vostè pot demanar a l'usuari, 130 00:08:35,240 --> 00:08:40,100 dir alguna cosa molt dolent passarà, és el que vols que passi? 131 00:08:40,100 --> 00:08:44,680 I si estan en un compromís o hi ha alguna cosa realment atractiu a l'altra banda d'això, 132 00:08:44,680 --> 00:08:47,760 com un joc es va a instal · lar que han estat esperant, 133 00:08:47,760 --> 00:08:50,860 que van a fer clic bé. 134 00:08:50,860 --> 00:08:56,630 És per això que dic en el meu diapositiva aquí només vull llançar ocells als porcs ja, 135 00:08:56,630 --> 00:09:03,150 i es pot veure a la diapositiva aquí hi ha exemples d'una caixa permís BlackBerry. 136 00:09:03,150 --> 00:09:05,990 Diu: "Si us plau, estableix els permisos de l'aplicació BlackBerry Travel 137 00:09:05,990 --> 00:09:09,720 després de fer clic al botó de baix ", i, bàsicament, l'usuari és només dirà 138 00:09:09,720 --> 00:09:12,240 establir els permisos i guardar. 139 00:09:12,240 --> 00:09:18,010 Heus aquí un símbol de l'Android en el qual mostra les coses, 140 00:09:18,010 --> 00:09:20,260 i que en realitat posa una cosa que gairebé sembla una advertència. 141 00:09:20,260 --> 00:09:25,090 Té una mena de senyal de cedir allà dient comunicació de xarxa, trucada de telèfon, 142 00:09:25,090 --> 00:09:28,120 però l'usuari s'instal · larà, feu clic a, oi? 143 00:09:28,120 --> 00:09:32,940 I llavors el d'Apple és completament innocu. 144 00:09:32,940 --> 00:09:34,300 No dóna cap tipus d'advertència. 145 00:09:34,300 --> 00:09:37,380 És només d'Apple li agradaria utilitzar la seva ubicació actual. 146 00:09:37,380 --> 00:09:39,670 Per descomptat que faràs clic bé. 147 00:09:39,670 --> 00:09:42,260 >> No és aquest model de permisos de gra fi, 148 00:09:42,260 --> 00:09:45,890 i les aplicacions han de tenir un fitxer de manifest en el qual declaren 149 00:09:45,890 --> 00:09:49,410 els permisos que necessiten, i que aconseguiran que es mostra a l'usuari, 150 00:09:49,410 --> 00:09:53,480 i l'usuari haurà de dir que em concedeixo aquests permisos. 151 00:09:53,480 --> 00:09:55,080 Però siguem honestos. 152 00:09:55,080 --> 00:09:58,400 Els usuaris són només dirà sempre bé. 153 00:09:58,400 --> 00:10:04,460 Fem un ràpid cop d'ull als permisos que aquestes aplicacions estan demanant 154 00:10:04,460 --> 00:10:06,850 i alguns dels permisos que hi són. 155 00:10:06,850 --> 00:10:09,950 Aquesta empresa pretoriana va fer una enquesta de l'any passat 156 00:10:09,950 --> 00:10:14,170 de 53.000 aplicacions analitzades en els mercats del mercat i de 3 ª part per Android, 157 00:10:14,170 --> 00:10:16,770 així que això és tot Android. 158 00:10:16,770 --> 00:10:19,670 I l'aplicació mitjana va demanar 3 permisos. 159 00:10:19,670 --> 00:10:23,370 Algunes aplicacions van sol · licitar 117 permisos, 160 00:10:23,370 --> 00:10:27,480 de manera que, òbviament, aquests són de gra molt fi i massa complex per a un usuari a entendre 161 00:10:27,480 --> 00:10:31,600 si se'ls presenten amb aquesta aplicació que necessita aquests 117 permisos. 162 00:10:31,600 --> 00:10:37,270 És com l'acord de llicència d'usuari final que és 45 pàgines de llarg. 163 00:10:37,270 --> 00:10:40,240 Potser aviat tindran una opció on se sent 164 00:10:40,240 --> 00:10:43,100 imprimir els permisos i enviar-me un correu electrònic. 165 00:10:43,100 --> 00:10:45,480 >> Però si ens fixem en alguns dels millors permisos interessants 166 00:10:45,480 --> 00:10:50,840 24% de les aplicacions que es descarreguen de la 53000 167 00:10:50,840 --> 00:10:57,230 la informació del GPS sol · licitat des del dispositiu. 168 00:10:57,230 --> 00:10:59,810 8% llegeix els contactes. 169 00:10:59,810 --> 00:11:03,770 4% enviament de SMS, i 3% de SMS rebut. 170 00:11:03,770 --> 00:11:07,730 2% l'àudio gravat. 171 00:11:07,730 --> 00:11:11,210 1% processa les trucades sortints. 172 00:11:11,210 --> 00:11:13,140 No. 173 00:11:13,140 --> 00:11:17,520 No crec que el 4% de les aplicacions disponibles a la botiga d'aplicacions que necessita per enviar missatges de text SMS, 174 00:11:17,520 --> 00:11:21,410 així que crec que això és un indici que alguna cosa dolenta està passant. 175 00:11:21,410 --> 00:11:24,350 8% de les aplicacions necessita llegir la llista de contactes. 176 00:11:24,350 --> 00:11:26,510 Probablement no sigui necessari. 177 00:11:26,510 --> 00:11:30,990 Una altra de les coses interessants sobre els permisos és 178 00:11:30,990 --> 00:11:36,740 si enllaça a les biblioteques compartides en la seva aplicació 179 00:11:36,740 --> 00:11:39,780 els hereten els permisos de l'aplicació, 180 00:11:39,780 --> 00:11:46,570 així que si la seva aplicació necessita la llista de contactes o necessita la ubicació GPS per funcionar 181 00:11:46,570 --> 00:11:49,940 i vincular en una biblioteca de la publicitat, per exemple, 182 00:11:49,940 --> 00:11:53,170 que biblioteca anunci també serà capaç d'accedir als contactes 183 00:11:53,170 --> 00:11:57,630 i també ser capaç d'accedir a la ubicació del GPS, 184 00:11:57,630 --> 00:12:01,990 i el desenvolupador de l'aplicació no sap res sobre el codi que hi ha a la biblioteca anunci. 185 00:12:01,990 --> 00:12:05,370 Només estan vinculació que perquè volen obtenir beneficis econòmics de la seva aplicació. 186 00:12:05,370 --> 00:12:09,820 >> Aquí és on-i vaig a parlar d'alguns exemples d'això amb 187 00:12:09,820 --> 00:12:13,930 una aplicació anomenada Pandora, on un desenvolupador d'aplicacions 188 00:12:13,930 --> 00:12:18,910 podria ser, sense saber-ho, la filtració d'informació 189 00:12:18,910 --> 00:12:24,580 dels seus usuaris a causa de les biblioteques que han vinculades polz 190 00:12:24,580 --> 00:12:30,110 Topografia del paisatge per aquí, mirant totes les diferents aplicacions 191 00:12:30,110 --> 00:12:34,310 que s'han reportat en les notícies com una cosa que els usuaris malintencionats o fer que no volien 192 00:12:34,310 --> 00:12:39,360 i després d'inspeccionar una gran quantitat d'aplicacions-que fem un munt d'anàlisi binari estàtic en aplicacions mòbils, 193 00:12:39,360 --> 00:12:42,010 de manera que els hem inspeccionat i mirem el codi en si mateix- 194 00:12:42,010 --> 00:12:49,640 se'ns va ocórrer el que anomenem la nostra llista dels 10 comportaments de risc en les aplicacions. 195 00:12:49,640 --> 00:12:54,180 I es divideix en 2 seccions, el codi maliciós, 196 00:12:54,180 --> 00:12:57,600 així que aquestes són les coses dolentes que les aplicacions podrien estar fent que 197 00:12:57,600 --> 00:13:06,520 és probable que sigui una cosa que un individu malintencionat 198 00:13:06,520 --> 00:13:10,060 ha posat específicament en l'aplicació, però és una mica difusa. 199 00:13:10,060 --> 00:13:13,300 Podria ser una cosa que un desenvolupador pensa està bé, 200 00:13:13,300 --> 00:13:16,350 però acaba sent considerat com maliciós per l'usuari. 201 00:13:16,350 --> 00:13:19,830 >> I després la segona secció és el que anomenem les vulnerabilitats de codificació, 202 00:13:19,830 --> 00:13:24,600 i aquestes són les coses que el desenvolupador bàsicament està cometent errors 203 00:13:24,600 --> 00:13:27,200 o simplement no entén com escriure de forma segura l'aplicació, 204 00:13:27,200 --> 00:13:30,260  i això és posar l'usuari de l'aplicació en risc. 205 00:13:30,260 --> 00:13:34,060 Vaig a anar a través d'aquests punts en detall i donar alguns exemples. 206 00:13:34,060 --> 00:13:39,620 Com a referència, jo volia posar la llista mòbil top 10 OWASP. 207 00:13:39,620 --> 00:13:43,590 Aquests són els 10 temes que un grup de la OWASP, 208 00:13:43,590 --> 00:13:48,900 Projecte Obrir Web Application Security, que té un grup de treball 209 00:13:48,900 --> 00:13:50,620 treballant en una llista dels 10 mòbil. 210 00:13:50,620 --> 00:13:54,600 Tenen una molt famosa llista superior del drap 10, que són els 10 primers 211 00:13:54,600 --> 00:13:57,180 les coses més arriscades que poden tenir en una aplicació web. 212 00:13:57,180 --> 00:13:59,090 Estan fent el mateix per a mòbils, 213 00:13:59,090 --> 00:14:01,750 i la seva llista és una mica diferent a la nostra. 214 00:14:01,750 --> 00:14:03,670 6 de la 10 són el mateix. 215 00:14:03,670 --> 00:14:06,020 Tenen 4 que són diferents. 216 00:14:06,020 --> 00:14:10,550 Crec que tenen una mica d'una opinió diferent sobre 217 00:14:10,550 --> 00:14:14,490 risc en aplicacions mòbils on molts dels seus temes 218 00:14:14,490 --> 00:14:20,490 són realment la forma en l'aplicació es comunica amb un servidor back-end 219 00:14:20,490 --> 00:14:23,100 o el que està passant al servidor back-end, 220 00:14:23,100 --> 00:14:29,220 no tant les aplicacions que tenen conductes de risc que són aplicacions client simplement senzill. 221 00:14:29,220 --> 00:14:36,640 >> Els que estan en vermell aquí són les diferències entre les 2 llistes. 222 00:14:36,640 --> 00:14:40,740 I part del meu equip d'investigació ha contribuït realment a aquest projecte, 223 00:14:40,740 --> 00:14:44,570 així que ja veurem què passa amb el temps, però crec que el menjar per emportar aquí és 224 00:14:44,570 --> 00:14:47,550 nosaltres no sabem realment el que la llista dels 10 està en les aplicacions mòbils, ja 225 00:14:47,550 --> 00:14:50,510 realment han estat només al voltant de 2 a 3 anys, 226 00:14:50,510 --> 00:14:57,750 i no hi ha hagut temps suficient per investigar realment els sistemes operatius 227 00:14:57,750 --> 00:15:00,450 i el que són capaços de, i no hi ha hagut temps suficient 228 00:15:00,450 --> 00:15:06,870 per a la comunitat maliciós, si es vol, que ha passat prou temps 229 00:15:06,870 --> 00:15:12,910 tractar d'atacar als usuaris a través d'aplicacions mòbils, de manera que espero que aquestes llistes canvien una mica. 230 00:15:12,910 --> 00:15:18,720 Però per ara, aquests són els 10 millors coses de què preocupar-se. 231 00:15:18,720 --> 00:15:24,150 Vostè podria preguntar-se pel costat mòbil, on fa el codi mòbil maliciós 232 00:15:24,150 --> 00:15:28,880 com arriba al dispositiu? 233 00:15:28,880 --> 00:15:35,210 North Carolina State té un projecte anomenat Projecte Genoma Mobile malware 234 00:15:35,210 --> 00:15:39,520 on s'estan recollint la major quantitat de malware mòbil com poden i la seva anàlisi, 235 00:15:39,520 --> 00:15:45,270 i han enderrocat els vectors d'injecció que utilitza el malware per a mòbils, 236 00:15:45,270 --> 00:15:51,490 i el 86% utilitza una tècnica anomenada reenvasament, 237 00:15:51,490 --> 00:15:54,160 i això és només en la plataforma Android 238 00:15:54,160 --> 00:15:56,720 Pot vostè realment fer això reenvasat. 239 00:15:56,720 --> 00:16:03,100 >> La raó és el codi d'Android està construït amb 240 00:16:03,100 --> 00:16:08,130 un codi de bytes de Java anomenada Dalvik que és fàcilment decompilable. 241 00:16:08,130 --> 00:16:12,460 El que el dolent de la pel · lícula pot fer és 242 00:16:12,460 --> 00:16:16,590 tenir una aplicació per Android, descompilar, 243 00:16:16,590 --> 00:16:20,120 afegir-li el codi maliciós, recompilar, 244 00:16:20,120 --> 00:16:28,070 i després el va posar en l'App Store que pretén ser una nova versió d'aquesta aplicació, 245 00:16:28,070 --> 00:16:30,330 o només potser canviar el nom de l'aplicació. 246 00:16:30,330 --> 00:16:35,140 Si es tractava d'una mena de joc, canviar el nom una mica, 247 00:16:35,140 --> 00:16:42,860 de manera que aquest reenvasament és com el 86% del malware mòbil es distribueix. 248 00:16:42,860 --> 00:16:45,810 Hi ha una altra actualització tècnica trucada que 249 00:16:45,810 --> 00:16:50,030 molt similar al reenvasament, però en realitat no posa el codi maliciós polz 250 00:16:50,030 --> 00:16:52,870 El que fa és posar en un petit mecanisme d'actualització. 251 00:16:52,870 --> 00:16:56,660 Vostè descompilar, vostè posa en un mecanisme d'actualització, i torni a compilar ella, 252 00:16:56,660 --> 00:17:02,360 i després, quan l'aplicació s'està executant, es baixa el programari maliciós en el dispositiu. 253 00:17:02,360 --> 00:17:06,300 >> La gran majoria són aquestes 2 tècniques. 254 00:17:06,300 --> 00:17:12,710 En realitat no hi ha molt de descàrrega drive-bys o descàrregues drive-by en els mòbils, 255 00:17:12,710 --> 00:17:15,890 el que podria ser com un atac de phishing. 256 00:17:15,890 --> 00:17:18,200 Escolta, fes un cop d'ull a aquest lloc realment genial, 257 00:17:18,200 --> 00:17:21,020 o has d'anar a aquest lloc web i omplir aquest formulari 258 00:17:21,020 --> 00:17:24,420 per mantenir constant fent alguna cosa. 259 00:17:24,420 --> 00:17:26,230 Aquests són els atacs de phishing. 260 00:17:26,230 --> 00:17:28,160 El mateix pot passar a la plataforma mòbil on 261 00:17:28,160 --> 00:17:33,830 apuntar a una aplicació mòbil per a descarregar, dir "Hola, això és Bank of America." 262 00:17:33,830 --> 00:17:36,070 "Veiem que utilitzeu aquesta aplicació." 263 00:17:36,070 --> 00:17:38,540 "Vostè ha de descarregar aquesta altra aplicació." 264 00:17:38,540 --> 00:17:41,170 En teoria, això podria funcionar. 265 00:17:41,170 --> 00:17:48,610 És possible que simplement no s'utilitza prou com per determinar si és correcta o no, 266 00:17:48,610 --> 00:17:51,680 però es van trobar que s'utilitza menys d'1% del temps que la tècnica. 267 00:17:51,680 --> 00:17:56,130 La majoria de les vegades és realment un codi de reenvasament. 268 00:17:56,130 --> 00:17:58,710 >> Hi ha una altra categoria anomenada independent 269 00:17:58,710 --> 00:18:01,420 on algú construeix una aplicació nova. 270 00:18:01,420 --> 00:18:04,020 Construeixen una aplicació que pretén ser alguna cosa. 271 00:18:04,020 --> 00:18:07,360 No és un nou embolcall d'una altra cosa, i que té el codi maliciós. 272 00:18:07,360 --> 00:18:11,230 Que s'utilitza el 14% del temps. 273 00:18:11,230 --> 00:18:17,880 Ara vull parlar del que està fent el codi maliciós? 274 00:18:17,880 --> 00:18:23,070 Un dels primers malware que hi ha 275 00:18:23,070 --> 00:18:25,490 vostè podria considerar un spyware. 276 00:18:25,490 --> 00:18:27,620 Bàsicament espia a l'usuari. 277 00:18:27,620 --> 00:18:30,470 Recull correus electrònics, missatges SMS. 278 00:18:30,470 --> 00:18:32,340 S'encén el micròfon. 279 00:18:32,340 --> 00:18:37,330 Recull la llibreta de contactes, i l'envia a una altra persona. 280 00:18:37,330 --> 00:18:40,870 Aquest tipus de programari espia existent al PC, 281 00:18:40,870 --> 00:18:46,200 així que té sentit perfecte per a les persones que tracten de fer això en els dispositius mòbils. 282 00:18:46,200 --> 00:18:53,230 >> Un dels primers exemples d'això va ser un programa anomenat Secret SMS replicador. 283 00:18:53,230 --> 00:18:56,250 Va ser en el mercat Android fa un parell d'anys, 284 00:18:56,250 --> 00:18:59,960 i la idea era si tenia accés a telèfon Android d'algú 285 00:18:59,960 --> 00:19:03,450 que volia espiar, per la qual cosa potser és el seu cònjuge 286 00:19:03,450 --> 00:19:07,600 o la seva parella i vol espiar als seus missatges de text, 287 00:19:07,600 --> 00:19:11,200 vostè pot descarregar aquesta aplicació i instal · lar i configurar 288 00:19:11,200 --> 00:19:16,540 per enviar un missatge de text SMS a vostè amb una còpia 289 00:19:16,540 --> 00:19:21,710 de cada missatge de text SMS que van aconseguir. 290 00:19:21,710 --> 00:19:27,220 Això, òbviament, està en violacions dels termes botiga d'aplicacions de servei, 291 00:19:27,220 --> 00:19:32,040 i això va ser retirat de la del mercat androide termini de 18 hores que hi sigui, 292 00:19:32,040 --> 00:19:36,760 de manera que un nombre molt petit de persones que estaven en situació de risc a causa d'això. 293 00:19:36,760 --> 00:19:42,510 Ara, crec que si el programa es deia alguna cosa potser una mica menys provocativa 294 00:19:42,510 --> 00:19:48,690 com Secret SMS replicador probablement hauria funcionat molt millor. 295 00:19:48,690 --> 00:19:52,870 Però era una mica obvi. 296 00:19:52,870 --> 00:19:58,680 >> Una de les coses que podem fer per determinar si les aplicacions tenen aquest comportament que no volem 297 00:19:58,680 --> 00:20:01,410 és inspeccionar el codi. 298 00:20:01,410 --> 00:20:06,250 Això és realment molt fàcil de fer en Android, ja que podem descompondre les aplicacions. 299 00:20:06,250 --> 00:20:11,050 En iOS pot usar un desensamblador, com ANADA Pro 300 00:20:11,050 --> 00:20:17,190 mirar el que les API de l'aplicació està trucant i el que està fent. 301 00:20:17,190 --> 00:20:20,680 Escrivim el nostre propi analitzador estàtic binari per al nostre codi 302 00:20:20,680 --> 00:20:24,940 i ho fem, i així el que podria fer és que es pot dir 303 00:20:24,940 --> 00:20:30,490 ¿El dispositiu de fer tot el que està bàsicament espiant a mi o em seguiment? 304 00:20:30,490 --> 00:20:33,360 I tinc alguns exemples aquí a l'iPhone. 305 00:20:33,360 --> 00:20:41,440 Aquest primer exemple és com accedir a la UUID al telèfon. 306 00:20:41,440 --> 00:20:47,060 Això és realment una cosa que Apple acaba de prohibir per a noves aplicacions, 307 00:20:47,060 --> 00:20:52,540 però les aplicacions antigues que vostè pot ser que s'estiguin executant al telèfon encara es pot fer això, 308 00:20:52,540 --> 00:20:56,500 i de manera que l'identificador únic pot ser usat per rastrejar vostè 309 00:20:56,500 --> 00:21:00,440 en moltes aplicacions diferents. 310 00:21:00,440 --> 00:21:07,180 >> En l'Android, tinc aquí un exemple d'obtenir la ubicació del dispositiu. 311 00:21:07,180 --> 00:21:10,310 Es pot veure que si aquesta crida a l'API és allà on l'aplicació és el seguiment, 312 00:21:10,310 --> 00:21:15,000 i es pot veure si es tracta d'obtenir la ubicació per bé o ubicació gruixuda. 313 00:21:15,000 --> 00:21:18,860 I després a la part inferior aquí, tinc un exemple de com al BlackBerry 314 00:21:18,860 --> 00:21:25,130 una aplicació pot accedir als missatges de correu electrònic a la safata d'entrada. 315 00:21:25,130 --> 00:21:27,660 Aquests són el tipus de coses que vostè pot inspeccionar per veure 316 00:21:27,660 --> 00:21:32,360 si l'aplicació està fent aquestes coses. 317 00:21:32,360 --> 00:21:38,320 La segona gran categoria de comportament maliciós, i això és probablement la categoria més gran ara, 318 00:21:38,320 --> 00:21:43,950 és el marcatge no autoritzada, els missatges de text SMS premium no autoritzada 319 00:21:43,950 --> 00:21:46,080 o pagaments no autoritzats. 320 00:21:46,080 --> 00:21:48,930 Una altra cosa que és únic sobre el telèfon 321 00:21:48,930 --> 00:21:52,700 hi ha el dispositiu està connectat a un compte de facturació, 322 00:21:52,700 --> 00:21:55,960 i quan les activitats ocorren al telèfon 323 00:21:55,960 --> 00:21:58,510 pot crear càrrecs. 324 00:21:58,510 --> 00:22:00,700 Vostè pot comprar les coses a través del telèfon, 325 00:22:00,700 --> 00:22:04,390 i quan s'envia un missatge de text SMS premium en realitat estàs donant diners 326 00:22:04,390 --> 00:22:11,590 al titular del compte del número de telèfon a l'altra banda. 327 00:22:11,590 --> 00:22:17,420 Aquests van ser creats per obtenir cotitzacions de borsa o d'obtenir el seu horòscop diari o d'altres coses, 328 00:22:17,420 --> 00:22:21,680 però poden ser configurats per demanar un producte mitjançant l'enviament d'un SMS de text. 329 00:22:21,680 --> 00:22:26,970 La gent dóna diners a la Creu Roja mitjançant l'enviament d'un missatge de text. 330 00:22:26,970 --> 00:22:30,650 Vostè pot donar 10 $ d'aquesta manera. 331 00:22:30,650 --> 00:22:34,190 >> Els agressors, el que han fet és que van crear 332 00:22:34,190 --> 00:22:38,750 comptes a l'estranger, i s'incrusten en el malware 333 00:22:38,750 --> 00:22:42,840 que el telèfon enviarà un missatge de text SMS premium, 334 00:22:42,840 --> 00:22:47,700 per exemple, un parell de vegades al dia, i al final del mes t'adones que has gastat 335 00:22:47,700 --> 00:22:52,090 desenes o potser fins i tot centenars de dòlars, i s'allunyen amb els diners. 336 00:22:52,090 --> 00:22:57,280 Això va arribar a tal punt que aquesta era la primera cosa que l'Android 337 00:22:57,280 --> 00:23:00,760 Del mercat o del lloc-que Google va ser el mercat d'Android en el moment, 338 00:23:00,760 --> 00:23:04,430 i ara és Google Play-el primer que Google va començar comprovant. 339 00:23:04,430 --> 00:23:08,700 Quan Google va començar a distribuir les apps Android a la seva botiga d'aplicacions 340 00:23:08,700 --> 00:23:11,350 em van dir que no anaven a revisar qualsevol cosa. 341 00:23:11,350 --> 00:23:15,630 Traurem les aplicacions un cop hem estat notificats que han trencat els nostres termes de servei, 342 00:23:15,630 --> 00:23:17,520 però nosaltres no anem a revisar qualsevol cosa. 343 00:23:17,520 --> 00:23:24,350 Bé, fa aproximadament un any es va posar tan malament amb aquest SMS premium missatge de text de malware 344 00:23:24,350 --> 00:23:28,030 que aquesta és la primera cosa que van començar comprovant. 345 00:23:28,030 --> 00:23:31,770 Si una aplicació pot enviar missatges de text SMS 346 00:23:31,770 --> 00:23:34,750 vigilar més manualment l'aplicació. 347 00:23:34,750 --> 00:23:38,770 Busquen les API que criden a això, 348 00:23:38,770 --> 00:23:40,580 i ara des de llavors Google s'ha expandit, 349 00:23:40,580 --> 00:23:46,900 però aquesta era la primera cosa que ells van començar a buscar. 350 00:23:46,900 --> 00:23:50,690 >> Algunes altres aplicacions que van fer alguns dels missatges de text SMS, 351 00:23:50,690 --> 00:23:56,980 aquest Qicsomos Android, crec que es diu. 352 00:23:56,980 --> 00:24:02,670 Hi havia un esdeveniment en curs al mòbil on aquesta CarrierIQ va sortir 353 00:24:02,670 --> 00:24:07,720 com a programari espia posen al dispositiu pels transportistes, 354 00:24:07,720 --> 00:24:10,820 de manera que la gent volia saber si el seu telèfon estava vulnerable a això, 355 00:24:10,820 --> 00:24:13,890 i això era una aplicació gratuïta que va provar això. 356 00:24:13,890 --> 00:24:17,520 Bé, per descomptat, el que aquesta aplicació va fer va ser que va enviar missatges de text SMS premium, 357 00:24:17,520 --> 00:24:20,090 així provant per veure si vostè està infectat amb spyware 358 00:24:20,090 --> 00:24:24,930 que ha carregat de malware al dispositiu. 359 00:24:24,930 --> 00:24:27,310 Vam veure el mateix succeeix en l'últim Super Bowl. 360 00:24:27,310 --> 00:24:33,180 No hi va haver una versió falsa del partit de futbol Madden 361 00:24:33,180 --> 00:24:38,320 que envien missatges de text SMS premium. 362 00:24:38,320 --> 00:24:45,750 En realitat, va tractar de crear una xarxa bot també al dispositiu. 363 00:24:45,750 --> 00:24:48,090 Aquí tinc alguns exemples. 364 00:24:48,090 --> 00:24:52,640 Curiosament, Apple era bastant intel · ligent, 365 00:24:52,640 --> 00:24:58,470 i que no permeten a les aplicacions enviar missatges de text SMS en absolut. 366 00:24:58,470 --> 00:25:00,350 No aplicació pot fer-ho. 367 00:25:00,350 --> 00:25:03,530 Això és una gran manera de desfer de tota una classe de vulnerabilitat, 368 00:25:03,530 --> 00:25:09,040 però en Android que pots fer-ho, i per descomptat, en el BlackBerry pot fer-ho també. 369 00:25:09,040 --> 00:25:13,060 És interessant que en el BlackBerry només necessites permisos d'Internet 370 00:25:13,060 --> 00:25:18,370 per enviar un missatge de text SMS. 371 00:25:18,370 --> 00:25:21,580 >> L'altra cosa realment que busquem 372 00:25:21,580 --> 00:25:24,780 quan estem mirant per veure si alguna cosa és maliciós és qualsevol tipus de 373 00:25:24,780 --> 00:25:28,100 activitat de xarxa no autoritzat, com miri el activitat de la xarxa 374 00:25:28,100 --> 00:25:31,570 l'aplicació se suposa que ha de tenir la seva funcionalitat, 375 00:25:31,570 --> 00:25:35,380 i mirar a aquesta altra activitat de la xarxa. 376 00:25:35,380 --> 00:25:43,380 Potser una aplicació, a treballar, ha d'obtenir les dades a través d'HTTP, 377 00:25:43,380 --> 00:25:47,500 però si es tracta de fer les coses per correu electrònic o SMS o Bluetooth, o alguna cosa així 378 00:25:47,500 --> 00:25:52,890 ara que l'aplicació podria deure maliciós, de manera que aquesta és una altra cosa que vostè pot inspeccionar. 379 00:25:52,890 --> 00:26:00,430 I en aquesta diapositiva aquí tinc alguns exemples. 380 00:26:00,430 --> 00:26:05,950 Una altra cosa interessant que vam veure amb malware que va succeir el 2009, 381 00:26:05,950 --> 00:26:07,600 i va succeir d'una manera gran. 382 00:26:07,600 --> 00:26:11,390 No sé si ha passat molt des d'aleshores, però era una aplicació 383 00:26:11,390 --> 00:26:15,140 que van personificar a una altra aplicació. 384 00:26:15,140 --> 00:26:21,700 Hi havia un conjunt d'aplicacions, i va ser anomenat l'atac 09Droid, 385 00:26:21,700 --> 00:26:29,770 i algú va decidir que hi havia una gran quantitat de petits bancs, regional, de grandària mitjana 386 00:26:29,770 --> 00:26:32,260 que no tenen les aplicacions de banca en línia, 387 00:26:32,260 --> 00:26:36,870 així que el que van fer va ser que van construir prop de 50 aplicacions de banca en línia 388 00:26:36,870 --> 00:26:39,410 que l'únic que van fer va ser prendre el nom d'usuari i contrasenya 389 00:26:39,410 --> 00:26:42,190 i li redirigirà a la pàgina web. 390 00:26:42,190 --> 00:26:47,470 I pel que posar tots aquests en el mercat de Google, 391 00:26:47,470 --> 00:26:51,530 en el mercat Android, i quan algú buscat per veure si el seu banc 392 00:26:51,530 --> 00:26:56,000 tingut una aplicació que trobarien l'aplicació falsa, 393 00:26:56,000 --> 00:27:01,230 que va recollir les seves credencials i després els redirigeix ​​a la seva pàgina web. 394 00:27:01,230 --> 00:27:06,640 La forma en què aquest fet es va convertir en-les aplicacions hi eren per un parell de setmanes, 395 00:27:06,640 --> 00:27:09,050 i hi havia milers i milers de descàrregues. 396 00:27:09,050 --> 00:27:12,910 >> La forma en què va sortir a la llum va ser que algú està patint un problema 397 00:27:12,910 --> 00:27:15,740 amb una de les aplicacions, i ells van cridar al seu banc, 398 00:27:15,740 --> 00:27:18,390 i van cridar a la línia d'atenció al client del seu banc i li van dir: 399 00:27:18,390 --> 00:27:21,180 "Estic tenint un problema amb la seva aplicació de banca mòbil". 400 00:27:21,180 --> 00:27:23,460 "Em pots ajudar?" 401 00:27:23,460 --> 00:27:26,540 I ells van dir: "No tenim una aplicació de banca mòbil". 402 00:27:26,540 --> 00:27:28,120 Això va començar la investigació. 403 00:27:28,120 --> 00:27:31,200 Aquest banc diu Google, i després Google va mirar i va dir: 404 00:27:31,200 --> 00:27:37,220 "Wow, el mateix autor ha escrit 50 aplicacions bancàries", i se'ls va endur cap avall. 405 00:27:37,220 --> 00:27:43,410 Però, certament, això podria succeir de nou. 406 00:27:43,410 --> 00:27:51,790 Aquí hi ha la llista de tots els diferents bancs aquí 407 00:27:51,790 --> 00:27:55,870 que formaven part d'aquesta estafa. 408 00:27:55,870 --> 00:28:02,050 L'altra cosa que una aplicació pot fer és presentar la interfície d'usuari d'una altra aplicació. 409 00:28:02,050 --> 00:28:06,430 Mentre s'està executant podria aparèixer al Facebook UI. 410 00:28:06,430 --> 00:28:09,540 Es diu que vostè ha de posar el seu nom d'usuari i contrasenya per a continuar 411 00:28:09,540 --> 00:28:15,090 o posar qualsevol nom d'usuari i la contrasenya de la interfície d'usuari per a un lloc web 412 00:28:15,090 --> 00:28:18,420 que potser l'usuari utilitza només per intentar enganyar l'usuari 413 00:28:18,420 --> 00:28:21,340 a posar les seves credencials polz 414 00:28:21,340 --> 00:28:25,590 Això és realment un paral · lel directe dels atacs de phishing de correu electrònic 415 00:28:25,590 --> 00:28:28,210 on algú li envia un missatge de correu electrònic 416 00:28:28,210 --> 00:28:33,050 i li dóna bàsicament una interfície d'usuari per a un lloc web fals 417 00:28:33,050 --> 00:28:37,320 que vostè té accés. 418 00:28:37,320 --> 00:28:41,590 >> L'altra cosa que busquem en el codi maliciós és la modificació del sistema. 419 00:28:41,590 --> 00:28:48,160 Vostè pot buscar totes les trucades a l'API que requereixen privilegis de root 420 00:28:48,160 --> 00:28:50,870 per executar correctament. 421 00:28:50,870 --> 00:28:56,160 Canvi de proxy web del dispositiu seria una cosa que una aplicació 422 00:28:56,160 --> 00:28:59,530 no hauria de ser capaç de fer. 423 00:28:59,530 --> 00:29:03,030 Però si l'aplicació té codi en allà per fer que 424 00:29:03,030 --> 00:29:05,960 vostè sap que és probable que sigui una aplicació maliciosa 425 00:29:05,960 --> 00:29:09,620 o molt altament probable que sigui una aplicació maliciosa, 426 00:29:09,620 --> 00:29:13,910 i així el que succeiria és que l'aplicació tindria alguna forma d'una escalada de privilegis. 427 00:29:13,910 --> 00:29:17,200 Tindria alguna escalada de privilegis explotar 428 00:29:17,200 --> 00:29:20,730 en l'aplicació i, a continuació, una vegada que es va intensificar privilegis 429 00:29:20,730 --> 00:29:23,800 seria fer aquestes modificacions en el sistema. 430 00:29:23,800 --> 00:29:28,010 Vostè pot trobar malware que té una escalada de privilegis 431 00:29:28,010 --> 00:29:32,550 en ell, fins i tot sense saber com l'escalada de privilegis 432 00:29:32,550 --> 00:29:37,960 explotar passarà, i això és una bona manera, fàcil 433 00:29:37,960 --> 00:29:41,220 buscar malware. 434 00:29:41,220 --> 00:29:46,030 DroidDream va ser probablement la més famosa peça de malware Android. 435 00:29:46,030 --> 00:29:50,530 Crec que va afectar prop de 250.000 usuaris en pocs dies 436 00:29:50,530 --> 00:29:52,810 abans que fos trobat. 437 00:29:52,810 --> 00:29:56,890 Ells reenvasament 50 aplicacions falses, 438 00:29:56,890 --> 00:30:00,370 posar-los en la botiga d'aplicacions Android, 439 00:30:00,370 --> 00:30:10,940 i, essencialment, s'utilitza el codi jailbreak Android per escalar privilegis 440 00:30:10,940 --> 00:30:16,380 i després instal · lar un comandament i control i giri totes les víctimes 441 00:30:16,380 --> 00:30:20,690 en una xarxa bot, però es podria haver detectat aquesta 442 00:30:20,690 --> 00:30:24,170 Si estava escanejant l'aplicació i només a la recerca de 443 00:30:24,170 --> 00:30:32,230 API demana permís a aquesta arrel necessari per executar correctament. 444 00:30:32,230 --> 00:30:40,150 >> I hi ha un exemple aquí he de canvia el proxy, 445 00:30:40,150 --> 00:30:46,380 i això en realitat només està disponible en l'Android. 446 00:30:46,380 --> 00:30:49,070 Es pot veure que t'estic donant una gran quantitat d'exemples sobre Android 447 00:30:49,070 --> 00:30:53,990 perquè aquí és on l'ecosistema de malware més actiu és 448 00:30:53,990 --> 00:30:58,690 perquè és molt fàcil per a un atacant per obtenir el codi maliciós 449 00:30:58,690 --> 00:31:01,470 en el mercat Android. 450 00:31:01,470 --> 00:31:06,480 No és tan fàcil de fer que a l'App Store d'Apple 451 00:31:06,480 --> 00:31:10,250 perquè Apple obliga els desenvolupadors a identificar- 452 00:31:10,250 --> 00:31:12,790 i signar el codi. 453 00:31:12,790 --> 00:31:20,340 Ells realment comprovar que és vostè, i Apple és en realitat escodrinyant les aplicacions. 454 00:31:20,340 --> 00:31:27,450 No veiem una gran quantitat de malware de veritat en el que el dispositiu s'està compromès. 455 00:31:27,450 --> 00:31:32,250 Vaig a parlar d'alguns exemples en què és realment la vida privada que està sent compromesa, 456 00:31:32,250 --> 00:31:38,460 i això és el que realment està succeint en el dispositiu d'Apple. 457 00:31:38,460 --> 00:31:44,090 Una altra cosa a cercar codi maliciós, el codi de risc en els dispositius 458 00:31:44,090 --> 00:31:50,300 és lògiques o de bombes i bombes de temps són probablement 459 00:31:50,300 --> 00:31:53,370 molt més fàcil de buscar que les bombes lògiques. 460 00:31:53,370 --> 00:31:57,030 Però amb bombes de temps, el que pot fer és que es pot buscar 461 00:31:57,030 --> 00:32:04,760 llocs en el codi on es posa a prova el temps o un temps absolut que es busca 462 00:32:04,760 --> 00:32:08,190 abans de certa funcionalitat en l'aplicació passa. 463 00:32:08,190 --> 00:32:14,200 I això es podria fer per amagar que l'activitat de l'usuari, 464 00:32:14,200 --> 00:32:17,510 pel que està succeint a altes hores de la nit. 465 00:32:17,510 --> 00:32:24,350 DroidDream fer tota la seva activitat 11 p.m.-08 a.m. hora local 466 00:32:24,350 --> 00:32:30,650 en tractar de fer-ho, mentre que l'usuari no estigui utilitzant el dispositiu. 467 00:32:30,650 --> 00:32:38,680 >> Una altra raó per fer això és que si la gent està utilitzant l'anàlisi del comportament d'una aplicació, 468 00:32:38,680 --> 00:32:43,430 executar l'aplicació en un entorn limitat a veure el que el comportament de l'aplicació és, 469 00:32:43,430 --> 00:32:51,090 poden utilitzar la lògica basada en el temps de fer l'activitat 470 00:32:51,090 --> 00:32:54,640 quan l'aplicació no es troba a la caixa de sorra. 471 00:32:54,640 --> 00:33:01,520 Per exemple, una botiga d'aplicacions com Apple 472 00:33:01,520 --> 00:33:07,940 executa l'aplicació, però probablement no s'executen totes les aplicacions, per exemple, 30 dies 473 00:33:07,940 --> 00:33:10,550 abans d'aprovar-la, el que pot posar 474 00:33:10,550 --> 00:33:14,120 la lògica de l'aplicació que, va dir, està bé, només fer el dolent 475 00:33:14,120 --> 00:33:20,490 després de 30 dies ha passat, o al cap de 30 dies després de la data de publicació de la sol · licitud, 476 00:33:20,490 --> 00:33:27,020 i que pot ajudar a ocultar el codi maliciós de la gent inspeccionant per a això. 477 00:33:27,020 --> 00:33:30,050 Si les companyies d'antivirus estan funcionant les coses en caixes de sorra 478 00:33:30,050 --> 00:33:36,370 o les pròpies botigues d'aplicacions són que això pot ajudar 479 00:33:36,370 --> 00:33:39,260 amagar que a partir d'aquesta inspecció. 480 00:33:39,260 --> 00:33:43,020 Ara, l'altra cara d'això és que és fàcil de trobar amb l'anàlisi estàtic, 481 00:33:43,020 --> 00:33:46,170 el que en realitat inspeccionar el codi que pot buscar tots els llocs 482 00:33:46,170 --> 00:33:54,010 on l'aplicació comprova el temps i inspeccionar d'aquesta manera. 483 00:33:54,010 --> 00:33:58,850 I aquí tinc alguns exemples d'aquestes 3 plataformes diferents 484 00:33:58,850 --> 00:34:05,640 com el temps es pot comprovar pel fabricant de l'aplicació 485 00:34:05,640 --> 00:34:10,520 així que vostè sap què cercar si està inspeccionant l'aplicació de forma estàtica. 486 00:34:10,520 --> 00:34:14,570 >> Acabo d'anar a través d'un munt de diferents activitats malicioses 487 00:34:14,570 --> 00:34:18,969 que hem vist en la naturalesa, però que són els més freqüents? 488 00:34:18,969 --> 00:34:23,940 Aquest mateix estudi realitzat a Carolina del Nord State Project Mobile Genoma 489 00:34:23,940 --> 00:34:28,560 publicat algunes dades, i existeixen principalment 4 àrees 490 00:34:28,560 --> 00:34:32,850 que van veure on hi havia poca activitat. 491 00:34:32,850 --> 00:34:35,370 37% de les aplicacions va fer una escalada de privilegis, 492 00:34:35,370 --> 00:34:38,429 pel que van tenir algun tipus de codi de jailbreak allà 493 00:34:38,429 --> 00:34:42,070 on van tractar d'escalar privilegis perquè poguessin 494 00:34:42,070 --> 00:34:48,360 Què comandaments de l'API s'executa com a sistema operatiu. 495 00:34:48,360 --> 00:34:52,520 45% de les aplicacions per aquí va fer SMS premium, 496 00:34:52,520 --> 00:34:57,260 així que és un gran percentatge que està tractant d'obtenir beneficis econòmics de forma directa. 497 00:34:57,260 --> 00:35:02,640 El 93% ho va fer de control remot, pel que va tractar d'establir una xarxa bot, una xarxa bot mòbil. 498 00:35:02,640 --> 00:35:08,990 I el 45% obtingut informació d'identificació 499 00:35:08,990 --> 00:35:16,230 com números de telèfon, UUID, localització GPS, comptes d'usuari 500 00:35:16,230 --> 00:35:22,870 i això se suma a més de 100, perquè la majoria del malware tracta de fer algunes d'aquestes coses. 501 00:35:22,870 --> 00:35:27,070 >> Vaig a canviar a la segona meitat i parlar sobre les vulnerabilitats de codi. 502 00:35:27,070 --> 00:35:29,480 Aquesta és la segona part de l'activitat de risc. 503 00:35:29,480 --> 00:35:33,450 Aquí és on essencialment el desenvolupador està fent errors. 504 00:35:33,450 --> 00:35:37,210 Un desenvolupador legítim escriure una aplicació legítima 505 00:35:37,210 --> 00:35:41,830 està cometent errors o és ignorant dels riscos de la plataforma mòbil. 506 00:35:41,830 --> 00:35:44,780 Ells simplement no saben com fer que una aplicació mòbil segura, 507 00:35:44,780 --> 00:35:47,700 o, de vegades el desenvolupador no es preocupa per posar l'usuari en risc. 508 00:35:47,700 --> 00:35:50,850 De vegades part del seu model de negocis podria ser 509 00:35:50,850 --> 00:35:54,610 collir la informació personal de l'usuari. 510 00:35:54,610 --> 00:35:58,090 Això és una espècie de l'altra categoria, i és per això que alguns d'aquest maliciós 511 00:35:58,090 --> 00:36:03,200 contra arrencades legítims a sagnar de nou perquè hi ha diferència d'opinions 512 00:36:03,200 --> 00:36:10,440 entre el que l'usuari vol i el que l'usuari consideri arriscada 513 00:36:10,440 --> 00:36:13,050 i el que el desenvolupador de l'aplicació considera arriscat. 514 00:36:13,050 --> 00:36:18,380 Per descomptat, no és de dades dels desenvolupadors d'aplicacions en la majoria dels casos. 515 00:36:18,380 --> 00:36:22,030 >> I, finalment, una altra forma això passa és un desenvolupador podria vincular a 516 00:36:22,030 --> 00:36:28,600 una biblioteca compartida que té vulnerabilitats o aquesta conducta de risc en ella 517 00:36:28,600 --> 00:36:32,480 a esquena d'ells. 518 00:36:32,480 --> 00:36:37,060 La primera categoria és la fuga de dades sensibles, 519 00:36:37,060 --> 00:36:40,030 i això seria l'aplicació recull informació 520 00:36:40,030 --> 00:36:44,980 com la ubicació, la informació de la llibreta d'adreces, informació del propietari 521 00:36:44,980 --> 00:36:48,000 i envia d'apagar el dispositiu. 522 00:36:48,000 --> 00:36:53,050 I una vegada que està fora del dispositiu, no sabem el que està passant amb aquesta informació. 523 00:36:53,050 --> 00:36:57,170 Podria ser emmagatzemat de forma insegura pel desenvolupador de l'aplicació. 524 00:36:57,170 --> 00:37:02,070 Hem vist els desenvolupadors d'aplicacions queden compromeses, 525 00:37:02,070 --> 00:37:05,820 i les dades que s'estan emmagatzemant és portat. 526 00:37:05,820 --> 00:37:10,970 Això va succeir fa uns mesos a un desenvolupador a Florida 527 00:37:10,970 --> 00:37:21,660 on un gran nombre de-era iPad UUID i noms de dispositius 528 00:37:21,660 --> 00:37:25,270 es van filtrar perquè algú, crec que va ser en l'anonimat, 529 00:37:25,270 --> 00:37:29,460 reclamat per fer això, van irrompre en els servidors d'aquest desenvolupador 530 00:37:29,460 --> 00:37:34,920 i van robar milions d'iPad UUID 531 00:37:34,920 --> 00:37:37,390 i els noms d'equip. 532 00:37:37,390 --> 00:37:40,260 No és la informació més arriscat, 533 00:37:40,260 --> 00:37:46,820 però el que si que era l'emmagatzematge de noms d'usuari i contrasenyes 534 00:37:46,820 --> 00:37:48,170 i adreces de domicili? 535 00:37:48,170 --> 00:37:51,100 Hi ha un munt d'aplicacions que emmagatzemen aquest tipus d'informació. 536 00:37:51,100 --> 00:37:53,230 El risc hi és. 537 00:37:53,230 --> 00:37:56,620 >> L'altra cosa que pot succeir és si el desenvolupador no s'ocupa 538 00:37:56,620 --> 00:38:01,370 per assegurar el canal de dades, i això és un altre gran vulnerabilitat que vaig a parlar, 539 00:38:01,370 --> 00:38:05,160 que les dades s'envien en el clar. 540 00:38:05,160 --> 00:38:09,040 Si l'usuari està en una xarxa Wi-Fi pública 541 00:38:09,040 --> 00:38:12,330 o algú que està olorant l'Internet en algun lloc 542 00:38:12,330 --> 00:38:19,260 al llarg de la ruta d'accés està sent exposat a aquestes dades. 543 00:38:19,260 --> 00:38:23,790 Un cas molt famós d'aquesta fuga d'informació ocórrer amb Pandora, 544 00:38:23,790 --> 00:38:27,250 i això és una cosa que investiguem a Veracode. 545 00:38:27,250 --> 00:38:33,200 Ens assabentem que hi havia una-Crec que va ser una Comissió Federal de Comerç 546 00:38:33,200 --> 00:38:35,310 investigació passant amb Pandora. 547 00:38:35,310 --> 00:38:39,830 Vam dir: "Què està passant aquí? Anem a començar a cavar en l'aplicació de Pandora." 548 00:38:39,830 --> 00:38:46,690 I el que es va determinar va ser l'aplicació Pandora recollit 549 00:38:46,690 --> 00:38:51,270 seu sexe i la seva edat, 550 00:38:51,270 --> 00:38:56,660 i també accedir a la seva ubicació GPS i l'aplicació de Pandora 551 00:38:56,660 --> 00:39:00,200 Ho vaig fer pel que van dir eren raons legítimes. 552 00:39:00,200 --> 00:39:05,360 La música que tocaven-Pandora és una aplicació de streaming de música 553 00:39:05,360 --> 00:39:07,530 la música estaven jugant només va ser autoritzada als Estats Units, 554 00:39:07,530 --> 00:39:13,020 així que van haver de comprovar que compleix amb els seus acords de llicència que tenien 555 00:39:13,020 --> 00:39:17,240 per a la música que l'usuari estava als Estats Units. 556 00:39:17,240 --> 00:39:25,070 També volien complir amb l'assessorament dels pares 557 00:39:25,070 --> 00:39:33,790 al voltant de llenguatge d'adults en la música, 558 00:39:33,790 --> 00:39:37,500 i el que és un programa voluntari, però volia complir amb aquest 559 00:39:37,500 --> 00:39:43,010 i no jugar lletres explícites de nens de 13 anys o menors. 560 00:39:43,010 --> 00:39:46,280 >> No tenien motius legítims per recopilar aquestes dades. 561 00:39:46,280 --> 00:39:49,160 La seva aplicació té els permisos per fer-ho. 562 00:39:49,160 --> 00:39:52,000 Els usuaris van pensar que això era legítim. Però, què va passar? 563 00:39:52,000 --> 00:39:55,810 Es van unir en 3 o 4 biblioteques d'anuncis diferents. 564 00:39:55,810 --> 00:39:59,140 Ara, de sobte, totes aquestes biblioteques d'anuncis 565 00:39:59,140 --> 00:40:02,970 són cada vegada més l'accés a la mateixa informació. 566 00:40:02,970 --> 00:40:05,830 Les biblioteques d'anuncis, si ens fixem en el codi a les biblioteques d'anuncis 567 00:40:05,830 --> 00:40:08,430 el que fan és cada biblioteca anunci diu 568 00:40:08,430 --> 00:40:11,340 "La meva aplicació té permís per obtenir la ubicació GPS?" 569 00:40:11,340 --> 00:40:14,890 "Oh, sí? Bé, digues-me la ubicació GPS." 570 00:40:14,890 --> 00:40:16,620 Cada biblioteca anunci fa això, 571 00:40:16,620 --> 00:40:19,740 i si l'aplicació no té permís GPS 572 00:40:19,740 --> 00:40:23,460 no serà capaç de fer-ho, però si ho fa, l'obtindrà. 573 00:40:23,460 --> 00:40:26,240 Aquí és on el model de negoci de les biblioteques d'anuncis 574 00:40:26,240 --> 00:40:31,160 s'oposa a la privadesa dels usuaris. 575 00:40:31,160 --> 00:40:34,980 I no hi ha hagut estudis per aquí que dirà si vostè sap l'edat 576 00:40:34,980 --> 00:40:38,430 d'una persona i vostè sap la seva ubicació 577 00:40:38,430 --> 00:40:42,530 on dormir a la nit, perquè té les seves coordenades GPS 578 00:40:42,530 --> 00:40:46,030 mentre que potser estiguin dormint, vostè sap exactament qui és aquesta persona 579 00:40:46,030 --> 00:40:50,230 perquè es pot determinar quin membre d'aquesta llar és aquesta persona. 580 00:40:50,230 --> 00:40:54,780 Realment això és identificar els anunciants 581 00:40:54,780 --> 00:40:59,530 exactament qui és vostè, i es veu com si fos legítim. 582 00:40:59,530 --> 00:41:02,800 Només vull que la meva música streaming, i aquesta és l'única manera d'aconseguir-. 583 00:41:02,800 --> 00:41:05,370 >> Bé, vam exposar això. 584 00:41:05,370 --> 00:41:08,030 Escrivim això en diverses publicacions al bloc, 585 00:41:08,030 --> 00:41:13,280 i va resultar que algú de la revista Rolling Stone 586 00:41:13,280 --> 00:41:18,810 llegir un dels nostres missatges de bloc i escriure el seu propi bloc a la revista Rolling Stone en això, 587 00:41:18,810 --> 00:41:22,120 i l'endemà Pandora va pensar que era una bona idea 588 00:41:22,120 --> 00:41:27,600 per eliminar les biblioteques d'anuncis de la seva aplicació. 589 00:41:27,600 --> 00:41:31,270 Pel que jo sé que són l'únic-que haurien de ser elogiats. 590 00:41:31,270 --> 00:41:35,770 Crec que són l'únic tipus freemium d'aplicació que s'ha fet això. 591 00:41:35,770 --> 00:41:38,660 Totes les altres aplicacions freemium tenen aquest mateix comportament, 592 00:41:38,660 --> 00:41:41,780 pel que ha de pensar en quin tipus de dades que s'estan donant 593 00:41:41,780 --> 00:41:48,330 aquestes aplicacions freemium perquè tot va a anunciants. 594 00:41:48,330 --> 00:41:53,390 Pretoriana també va fer un estudi sobre les biblioteques compartides i va dir: 595 00:41:53,390 --> 00:41:57,100 "Anem a veure el que comparteixen les biblioteques són les biblioteques compartides superiors", i això va ser les dades. 596 00:41:57,100 --> 00:41:59,420 >> Van analitzar 53,000 aplicacions, 597 00:41:59,420 --> 00:42:01,900 i la biblioteca compartida número 1 era AdMob. 598 00:42:01,900 --> 00:42:06,060 En realitat, va ser en el 38% de les aplicacions que hi ha, 599 00:42:06,060 --> 00:42:08,800 de manera que el 38% de les aplicacions que utilitzeu 600 00:42:08,800 --> 00:42:11,250 probablement estiguin capturant la seva informació personal 601 00:42:11,250 --> 00:42:16,650 i enviar-lo a les xarxes d'anuncis. 602 00:42:16,650 --> 00:42:19,350 Apache i Android van ser del 8% i 6%, 603 00:42:19,350 --> 00:42:22,960 i llavors aquests altres cap avall a la part inferior, els anuncis de Google, Flurry, 604 00:42:22,960 --> 00:42:26,600 Mob City i Millennial Mitjana, 605 00:42:26,600 --> 00:42:30,500 aquestes són totes les empreses de publicitat, i després, curiosament, 606 00:42:30,500 --> 00:42:33,500 4% relacionat a la biblioteca de Facebook 607 00:42:33,500 --> 00:42:38,870 probablement per realitzar l'autenticació a través de Facebook 608 00:42:38,870 --> 00:42:40,810 pel que l'aplicació pot autenticar al Facebook. 609 00:42:40,810 --> 00:42:44,660 Però això també significa que la corporació Facebook controla codi 610 00:42:44,660 --> 00:42:49,010 que s'està executant en el 4% de les aplicacions mòbils per Android per aquí, 611 00:42:49,010 --> 00:42:53,490 i tenen accés a totes les dades que aquesta aplicació té permís per arribar. 612 00:42:53,490 --> 00:42:57,170 Facebook essencialment tracta de vendre espais publicitaris. 613 00:42:57,170 --> 00:43:00,120 Aquest és el seu model de negoci. 614 00:43:00,120 --> 00:43:02,920 >> Si ens fixem en tot aquest ecosistema amb aquests permisos 615 00:43:02,920 --> 00:43:07,740 i les biblioteques compartides de començar a veure que 616 00:43:07,740 --> 00:43:13,850 vostè té una gran quantitat de risc en una aplicació suposadament legítim. 617 00:43:13,850 --> 00:43:19,360 La mateixa cosa semblant va passar amb Pandora 618 00:43:19,360 --> 00:43:22,340 passat amb una aplicació anomenada Path, 619 00:43:22,340 --> 00:43:27,660 i ruta va pensar que estaven sent útils, els desenvolupadors d'amistat. 620 00:43:27,660 --> 00:43:32,160 Ells estaven tractant de donar-li una gran experiència d'usuari, 621 00:43:32,160 --> 00:43:37,810 i va resultar que sense preguntar a l'usuari o indicant a l'usuari res- 622 00:43:37,810 --> 00:43:40,400 i això va succeir en l'iPhone i en Android, 623 00:43:40,400 --> 00:43:44,420 Pandora aplicació era a iPhone i Android- 624 00:43:44,420 --> 00:43:48,890 que l'aplicació Sender estava agafant tota la seva llibreta d'adreces 625 00:43:48,890 --> 00:43:52,830 i pujar-lo a la ruta només quan va instal · lar i executar l'aplicació, 626 00:43:52,830 --> 00:43:55,840 i no li van dir res sobre això. 627 00:43:55,840 --> 00:43:58,750 Ells van pensar que era molt útil per a vostè 628 00:43:58,750 --> 00:44:04,040 per poder compartir amb totes les persones de la seva llibreta d'adreces 629 00:44:04,040 --> 00:44:06,920 que utilitzeu l'aplicació Path. 630 00:44:06,920 --> 00:44:09,490 >> Bé, òbviament Sender va pensar que era gran per la seva empresa. 631 00:44:09,490 --> 00:44:13,510 No és tan bo per a l'usuari. 632 00:44:13,510 --> 00:44:19,020 Cal pensar que es tracta d'una cosa si potser un adolescent 633 00:44:19,020 --> 00:44:23,700 és l'ús d'aquesta aplicació i les seves desenes d'amics hi són, 634 00:44:23,700 --> 00:44:29,360 però el que si que és el CEO d'una empresa que instal · la Sendera 635 00:44:29,360 --> 00:44:33,170 i després, de la seva llibreta d'adreces sencera sobtada és allà dalt? 636 00:44:33,170 --> 00:44:38,310 Vostè va a obtenir una gran quantitat d'informació de contacte que pot ser valuosa 637 00:44:38,310 --> 00:44:40,920 per a un munt de gent. 638 00:44:40,920 --> 00:44:44,500 Un periodista del New York Times, que podria ser capaç de veure el telèfon 639 00:44:44,500 --> 00:44:47,380 per als expresidents de la seva llibreta d'adreces, 640 00:44:47,380 --> 00:44:54,780 pel que, òbviament, una gran quantitat d'informació sensible es transfereix amb alguna cosa com això. 641 00:44:54,780 --> 00:44:58,090 Hi va haver un gran penjoll tals sobre això que Sender es va disculpar. 642 00:44:58,090 --> 00:45:01,610 Van canviar la seva aplicació, i que fins i tot van afectar Apple. 643 00:45:01,610 --> 00:45:06,950 Apple va dir: "Anem a obligar els proveïdors d'aplicacions per sol · licitar als usuaris 644 00:45:06,950 --> 00:45:12,650 si cobraran la totalitat de la seva llibreta d'adreces ". 645 00:45:12,650 --> 00:45:15,360 >> Sembla que el que està succeint aquí és 646 00:45:15,360 --> 00:45:19,430 quan hi ha una gran violació de la privacitat i fa la premsa 647 00:45:19,430 --> 00:45:21,680 veiem un canvi que hi ha. 648 00:45:21,680 --> 00:45:23,230 Però, és clar, hi ha altres coses per aquí. 649 00:45:23,230 --> 00:45:27,440 L'aplicació LinkedIn collita les entrades de calendari, 650 00:45:27,440 --> 00:45:34,530 però Apple no ho fa se sol · licita a l'usuari sobre això. 651 00:45:34,530 --> 00:45:38,030 Les entrades de calendari pot tenir informació confidencial a ells també. 652 00:45:38,030 --> 00:45:40,000 A on va a traçar la línia? 653 00:45:40,000 --> 00:45:43,960 Això és realment una espècie de lloc en evolució 654 00:45:43,960 --> 00:45:47,640 on no hi ha realment cap bona qualitat per aquí 655 00:45:47,640 --> 00:45:51,990 per als usuaris a entendre quan la informació estarà en risc 656 00:45:51,990 --> 00:45:57,820 i quan ho van a saber que està sent presa. 657 00:45:57,820 --> 00:46:03,040 Escrivim una aplicació en Veracode anomenat Adios, 658 00:46:03,040 --> 00:46:08,350 i, essencialment, que va permetre que vostè assenyali l'aplicació en el directori d'iTunes 659 00:46:08,350 --> 00:46:12,550 i mirar totes les aplicacions que estaven collint la seva llibreta d'adreces completa. 660 00:46:12,550 --> 00:46:19,760 I com es pot veure en aquesta llista aquí, Angry Birds, 661 00:46:19,760 --> 00:46:21,590 AIM, AroundMe. 662 00:46:21,590 --> 00:46:24,050 Per què Angry Birds necessiten la teva llibreta d'adreces? 663 00:46:24,050 --> 00:46:29,160 No ho sé, però ho fa d'alguna manera. 664 00:46:29,160 --> 00:46:32,310 >> Això és una cosa que moltes, moltes aplicacions fan. 665 00:46:32,310 --> 00:46:34,780 Vostè pot inspeccionar el codi per això. 666 00:46:34,780 --> 00:46:38,660 Hi ha APIs ben definides per a iPhone, Android i BlackBerry 667 00:46:38,660 --> 00:46:42,120 per arribar a la llibreta d'adreces. 668 00:46:42,120 --> 00:46:48,520 Vostè pot inspeccionar amb gran facilitat per això, i això és el que vam fer en la nostra aplicació Adios. 669 00:46:48,520 --> 00:46:52,320 La següent categoria, no segur d'emmagatzematge de dades sensibles, 670 00:46:52,320 --> 00:46:55,670 és una cosa que els desenvolupadors tenen una mena agulla o un número de compte 671 00:46:55,670 --> 00:46:58,530 o una clau i guardi-la en el clar en el dispositiu. 672 00:46:58,530 --> 00:47:02,310 Pitjor encara, podrien emmagatzemar en una àrea al telèfon 673 00:47:02,310 --> 00:47:06,820 que és accessible a nivell mundial, igual que la targeta SD. 674 00:47:06,820 --> 00:47:11,320 Vostè veu això més sovint en Android Android perquè permet una targeta SD. 675 00:47:11,320 --> 00:47:13,200 Dispositius iPhone no. 676 00:47:13,200 --> 00:47:17,900 Però fins i tot vam veure que això passi en una aplicació de Citigroup. 677 00:47:17,900 --> 00:47:25,450 La seva aplicació de banca en línia emmagatzema els números de compte de forma insegura, 678 00:47:25,450 --> 00:47:28,120 només en el clar, així que si vostè va perdre el seu dispositiu, 679 00:47:28,120 --> 00:47:30,670 en essència el que vas perdre el teu compte bancari. 680 00:47:30,670 --> 00:47:36,000 És per això que jo personalment no faig les activitats bancàries en el meu iPhone. 681 00:47:36,000 --> 00:47:43,710 Crec que és massa arriscat en aquest moment per fer aquest tipus d'activitats. 682 00:47:43,710 --> 00:47:45,950 >> Skype va fer el mateix. 683 00:47:45,950 --> 00:47:49,870 Skype, per descomptat, té un saldo de compte, nom d'usuari i contrasenya 684 00:47:49,870 --> 00:47:51,030 d'accedir a aquest equilibri. 685 00:47:51,030 --> 00:48:00,080 Ells estaven emmagatzemant tota aquesta informació en el clar en el dispositiu mòbil. 686 00:48:00,080 --> 00:48:05,760 Tinc alguns exemples aquí de la creació d'arxius 687 00:48:05,760 --> 00:48:10,310 que no tenen els permisos adequats o escrivint a disc 688 00:48:10,310 --> 00:48:17,260 i no tenir cap tipus de xifrat passi per això. 689 00:48:17,260 --> 00:48:20,190 Aquesta àrea següent, insegur Sensible de transmissió de dades, 690 00:48:20,190 --> 00:48:24,450 M'he referit a això unes quantes vegades, i perquè de públic Wi-Fi 691 00:48:24,450 --> 00:48:27,770 això és una cosa que les aplicacions tenen una necessitat imperiosa de fer, 692 00:48:27,770 --> 00:48:31,250 i això és probablement el que veiem sortir malament la majoria. 693 00:48:31,250 --> 00:48:34,920 Jo diria que-en realitat, crec que tinc les dades reals, 694 00:48:34,920 --> 00:48:38,120 però és a prop de la meitat de les aplicacions mòbils 695 00:48:38,120 --> 00:48:41,780 ficar la pota fent SSL. 696 00:48:41,780 --> 00:48:43,910 Ells simplement no s'utilitzen les APIs correctament. 697 00:48:43,910 --> 00:48:47,970 Vull dir, tot el que has de fer és seguir les instruccions i utilitzar les API, 698 00:48:47,970 --> 00:48:54,720 però sí coses com no comprovar si hi ha un certificat no vàlid en l'altre extrem, 699 00:48:54,720 --> 00:49:02,120 No comprovar si l'altre extrem està tractant de fer un atac rebaixa protocol. 700 00:49:02,120 --> 00:49:07,200 >> Els desenvolupadors, que volen aconseguir la seva casella, no? 701 00:49:07,200 --> 00:49:11,910 La seva requisit és usar això per vendre. Han utilitzat aquest per vendre. 702 00:49:11,910 --> 00:49:14,800 El requisit és no usar això per vendre amb seguretat, 703 00:49:14,800 --> 00:49:19,680 pel que aquesta és la raó per totes les aplicacions que utilitzen SSL per protegir les dades 704 00:49:19,680 --> 00:49:23,470 ja que està sent transmesa apagar el dispositiu necessita realment per ser inspeccionat 705 00:49:23,470 --> 00:49:28,950 per assegurar-se que s'ha implementat correctament. 706 00:49:28,950 --> 00:49:32,850 I aquí tinc alguns exemples on es pot veure una aplicació 707 00:49:32,850 --> 00:49:37,400 podria ser a través d'HTTP en lloc de HTTPS. 708 00:49:37,400 --> 00:49:40,510 En alguns casos, les aplicacions es cauran de nou a HTTP 709 00:49:40,510 --> 00:49:44,250 si el HTTPS no està funcionant. 710 00:49:44,250 --> 00:49:49,070 Tinc una altra trucada aquí a Android on han desactivar el xec certificat, 711 00:49:49,070 --> 00:49:51,700 de manera que un atac man-in-the-middle pot succeir. 712 00:49:51,700 --> 00:49:56,370 S'acceptarà un certificat no vàlid. 713 00:49:56,370 --> 00:50:01,920 Aquests són tots els casos en què els atacants seran capaç d'obtenir en 714 00:50:01,920 --> 00:50:07,150 la mateixa connexió Wi-Fi com l'usuari i accedir a totes les dades 715 00:50:07,150 --> 00:50:11,650 que està sent enviat a través d'Internet. 716 00:50:11,650 --> 00:50:15,970 >> I finalment, l'última categoria que tinc aquí és la contrasenya i les tecles codificat. 717 00:50:15,970 --> 00:50:21,470 En realitat, veiem una gran quantitat de desenvolupadors utilitzen el mateix estil de codificació 718 00:50:21,470 --> 00:50:25,900 que ho van fer quan estaven construint aplicacions de servidor web, 719 00:50:25,900 --> 00:50:29,700 pel que estan construint una aplicació de servidor Java, i s'estan codificant la clau. 720 00:50:29,700 --> 00:50:31,940 Bé, quan vostè està construint una aplicació de servidor, si, 721 00:50:31,940 --> 00:50:34,240 codificar la clau no és una bona idea. 722 00:50:34,240 --> 00:50:36,290 Això fa que sigui difícil canviar. 723 00:50:36,290 --> 00:50:40,700 Però no és tan dolent en el costat del servidor, ja que té accés a la part del servidor? 724 00:50:40,700 --> 00:50:43,140 Només els administradors. 725 00:50:43,140 --> 00:50:48,100 Però si es pren el mateix codi i s'aboca per sobre d'una aplicació mòbil 726 00:50:48,100 --> 00:50:52,550 ara tothom que té aquesta aplicació mòbil té accés a aquesta clau codificada, 727 00:50:52,550 --> 00:50:56,380 i que en realitat veure això moltes vegades, i tinc algunes estadístiques 728 00:50:56,380 --> 00:51:00,920 la freqüència amb què veiem que això passi. 729 00:51:00,920 --> 00:51:04,940 En realitat va ser en l'exemple de codi que va publicar MasterCard 730 00:51:04,940 --> 00:51:06,850 sobre l'ús del seu servei. 731 00:51:06,850 --> 00:51:11,860 El codi d'exemple va mostrar com vostè acaba de prendre la contrasenya 732 00:51:11,860 --> 00:51:14,850 i el va posar en una cadena codificada allà, 733 00:51:14,850 --> 00:51:19,380 i sabem com els desenvolupadors els encanta copiar i enganxar fragments de codi 734 00:51:19,380 --> 00:51:22,360 quan estan tractant de fer alguna cosa, de manera que copiar i enganxar el fragment de codi 735 00:51:22,360 --> 00:51:28,450 que ha posat com a exemple de codi, i vostè té una aplicació insegura. 736 00:51:28,450 --> 00:51:31,490 >> I aquí tenim alguns exemples. 737 00:51:31,490 --> 00:51:35,840 Aquesta primera és que veiem un munt on retoquen 738 00:51:35,840 --> 00:51:40,510 el dret de les dades en un URL que s'envia. 739 00:51:40,510 --> 00:51:45,120 A vegades veiem string password = contrasenya. 740 00:51:45,120 --> 00:51:49,060 Això és molt fàcil de detectar, o la contrasenya de sèrie en el BlackBerry i Android. 741 00:51:49,060 --> 00:51:53,680 En realitat és bastant fàcil de detectar pel fet que gairebé sempre 742 00:51:53,680 --> 00:51:57,030 els noms dels desenvolupadors de la variable que es sosté la contrasenya 743 00:51:57,030 --> 00:52:02,290 alguna variació de la contrasenya. 744 00:52:02,290 --> 00:52:05,200 Vaig esmentar que fem anàlisi estàtic en Veracode, 745 00:52:05,200 --> 00:52:11,790 pel que hem analitzat diversos centenars d'aplicacions d'Android i iOS. 746 00:52:11,790 --> 00:52:15,160 Hem construït models complets d'ells, i som capaços d'escanejar 747 00:52:15,160 --> 00:52:19,280 per a diferents vulnerabilitats, especialment les vulnerabilitats de què parlava, 748 00:52:19,280 --> 00:52:21,050 i tinc algunes dades aquí. 749 00:52:21,050 --> 00:52:24,320 68,5% de les aplicacions d'Android que vam veure 750 00:52:24,320 --> 00:52:28,590 havia trencat el codi de xifrat, 751 00:52:28,590 --> 00:52:33,240 que, per a nosaltres, no podem detectar si ha realitzat la seva pròpia rutina de xifrat, 752 00:52:33,240 --> 00:52:38,980 no és que això sigui una bona idea, però això en realitat està utilitzant els API publicades 753 00:52:38,980 --> 00:52:42,530 que estan a la plataforma, però fent ells de tal manera 754 00:52:42,530 --> 00:52:46,680 que la criptografia seria vulnerable, 68.5. 755 00:52:46,680 --> 00:52:49,870 I això és per a les persones que ens estan enviant seves sol · licituds en realitat perquè 756 00:52:49,870 --> 00:52:53,730 ells pensen que és una bona idea per fer les proves de seguretat. 757 00:52:53,730 --> 00:52:56,960 Aquests ja són persones que probablement estan pensant de forma segura, 758 00:52:56,960 --> 00:52:59,540 pel que és probablement encara pitjor. 759 00:52:59,540 --> 00:53:02,690 >> No vaig parlar sobre la injecció d'alimentació de la línia de control. 760 00:53:02,690 --> 00:53:07,640 És una cosa que anem a comprovar, però no és tan arriscat un problema. 761 00:53:07,640 --> 00:53:15,390 Filtració d'informació, és aquí on s'estan enviant dades sensibles fora del dispositiu. 762 00:53:15,390 --> 00:53:19,270 Es va trobar que en el 40% de les sol · licituds. 763 00:53:19,270 --> 00:53:23,540 El temps i l'estat, els que són qüestions de tipus condició de carrera, en general molt difícils d'explotar, 764 00:53:23,540 --> 00:53:26,170 així que no em refereixo a això, sinó que el vaig mirar. 765 00:53:26,170 --> 00:53:28,750 23% tenia problemes d'injecció SQL. 766 00:53:28,750 --> 00:53:32,020 Molta gent no sap que una gran quantitat d'aplicacions 767 00:53:32,020 --> 00:53:35,880 utilitzar una mica petita base de dades SQL a la part posterior per emmagatzemar dades. 768 00:53:35,880 --> 00:53:40,430 Bé, si les dades que vostè està agafant per la xarxa 769 00:53:40,430 --> 00:53:43,800 té cadenes d'atac d'injecció SQL-hi 770 00:53:43,800 --> 00:53:45,970 algú pot posar en perill el dispositiu a través d'això, 771 00:53:45,970 --> 00:53:49,800 i així que crec que trobarà prop del 40% de les aplicacions web tenen aquest problema, 772 00:53:49,800 --> 00:53:52,840 que és un problema enorme epidèmia. 773 00:53:52,840 --> 00:53:55,740 El trobem 23% de les vegades en les aplicacions mòbils 774 00:53:55,740 --> 00:54:02,030 i això és probablement pel fet que moltes més aplicacions web utilitzen SQL de mòbil. 775 00:54:02,030 --> 00:54:05,580 >> I després encara veiem algunes seqüències d'ordres entre llocs, les qüestions d'autorització, 776 00:54:05,580 --> 00:54:09,400 i després l'administració de credencials, que és on vostè té la contrasenya codificada. 777 00:54:09,400 --> 00:54:14,540 En el 5% de les aplicacions que veiem això. 778 00:54:14,540 --> 00:54:17,970 I després tenim algunes dades sobre iOS. 779 00:54:17,970 --> 00:54:20,180 El 81% tenia problemes de maneig d'errors. 780 00:54:20,180 --> 00:54:23,130 Això és més d'un problema de la qualitat del codi, 781 00:54:23,130 --> 00:54:28,010 però el 67% tenia problemes de xifrat, pel que no és tan dolent com Android. 782 00:54:28,010 --> 00:54:32,440 Potser les API són una mica més fàcil, els codis d'exemple una mica millor en iOS. 783 00:54:32,440 --> 00:54:35,420 Però segueix sent un percentatge molt alt. 784 00:54:35,420 --> 00:54:39,040 Vam tenir un 54% amb la fuga d'informació, 785 00:54:39,040 --> 00:54:42,080 aproximadament el 30% amb errors de gestió de memòria intermèdia. 786 00:54:42,080 --> 00:54:45,930 Això és els llocs on podria ser potencialment un problema de corrupció de memòria. 787 00:54:45,930 --> 00:54:50,350 Resulta que això no és com molt d'un problema per a l'explotació 788 00:54:50,350 --> 00:54:56,450 en iOS, perquè tot el codi ha de ser signat, 789 00:54:56,450 --> 00:55:02,210 així que és difícil per a un atacant per a executar codi arbitrari en iOS. 790 00:55:02,210 --> 00:55:07,880 La qualitat del codi, recorregut de directori, però la gestió de credencials d'aquí en un 14,6%, 791 00:55:07,880 --> 00:55:09,250 per el pitjor que en l'Android. 792 00:55:09,250 --> 00:55:13,240 Tenim gent no gestionar contrasenyes correctament. 793 00:55:13,240 --> 00:55:15,790 I a continuació, els errors numèrics i de desbordament de memòria intermèdia, 794 00:55:15,790 --> 00:55:22,680 que estan més hi haurà problemes de qualitat de codi en iOS. 795 00:55:22,680 --> 00:55:26,110 >> Això va ser tot per la meva presentació. No sé si estem fora de temps o no. 796 00:55:26,110 --> 00:55:29,540 No sé si hi ha alguna pregunta. 797 00:55:29,540 --> 00:55:33,220 [Home] Una pregunta ràpida al voltant de la fragmentació i el mercat Android. 798 00:55:33,220 --> 00:55:36,240 D'Apple, almenys, és propietària de pegats. 799 00:55:36,240 --> 00:55:40,780 Ells fan una bona feina de fer les coses per aquí mentre que en menor mesura en l'espai d'Android. 800 00:55:40,780 --> 00:55:44,280 Gairebé es necessita per fer jailbreak al seu telèfon per estar al dia 801 00:55:44,280 --> 00:55:46,660 amb la versió actual d'Android. 802 00:55:46,660 --> 00:55:50,960 Sí, això és un gran problema i que si es pensa en- 803 00:55:50,960 --> 00:55:52,280 [Home] Per què no t'ho repeteixi? 804 00:55:52,280 --> 00:55:55,610 >> Ah, clar, així que la pregunta era què passa amb la fragmentació 805 00:55:55,610 --> 00:56:00,410 del sistema operatiu a la plataforma Android? 806 00:56:00,410 --> 00:56:05,890 Com afecta el grau de risc d'aquests dispositius? 807 00:56:05,890 --> 00:56:09,700 I el que realment és un gran problema perquè el que passa és 808 00:56:09,700 --> 00:56:15,110 els dispositius més antics, quan algú se li ocorre una fugida de la presó per a aquest dispositiu, 809 00:56:15,110 --> 00:56:19,960 en essència, que és una escalada de privilegis, i fins que s'actualitzi el sistema operatiu 810 00:56:19,960 --> 00:56:25,350 qualsevol tipus de malware pot llavors utilitzar aquesta vulnerabilitat per comprometre totalment el dispositiu, 811 00:56:25,350 --> 00:56:30,200 i el que estem veient en l'Android és la fi d'obtenir un nou sistema operatiu 812 00:56:30,200 --> 00:56:34,690 Google ha de apagar el sistema operatiu, i després el fabricant de maquinari 813 00:56:34,690 --> 00:56:39,390 té per personalitzar, i després el transportista ha de personalitzar i lliurar-lo. 814 00:56:39,390 --> 00:56:43,070 Vostè té bàsicament 3 peces en moviment aquí, 815 00:56:43,070 --> 00:56:47,210 i s'està convertint en que els transportistes no els importa, 816 00:56:47,210 --> 00:56:50,400 i els fabricants de maquinari no els importa, i Google no aguijoneándolos suficient 817 00:56:50,400 --> 00:56:54,430 per fer qualsevol cosa, el que en essència més de la meitat dels dispositius per aquí 818 00:56:54,430 --> 00:57:00,590 tenir sistemes operatius que tenen aquestes vulnerabilitats d'escalada de privilegis en ells, 819 00:57:00,590 --> 00:57:08,440 i així que si tens el malware en el seu dispositiu Android és molt més d'un problema. 820 00:57:08,440 --> 00:57:10,350 >> Bé, moltes gràcies. 821 00:57:10,350 --> 00:57:12,310 [Aplaudiments] 822 00:57:12,310 --> 00:57:14,310 [CS50.TV]