1 00:00:00,000 --> 00:00:02,610 >> [Seminario] [Defender Detrás do teléfono: Seguridade de Aplicacións Mobile] 2 00:00:02,610 --> 00:00:04,380 [Chris Wysopal] [Universidade de Harvard] 3 00:00:04,380 --> 00:00:07,830 [Isto é CS50.] [CS50.TV] 4 00:00:07,830 --> 00:00:10,360 >> Boa tarde. O meu nome é Chris Wysopal. 5 00:00:10,360 --> 00:00:13,360 Eu son o CTO e cofundador da Veracode. 6 00:00:13,360 --> 00:00:15,880 Veracode é unha empresa de seguridade da aplicación. 7 00:00:15,880 --> 00:00:18,230 Probamos todo tipo de aplicacións diferentes, 8 00:00:18,230 --> 00:00:25,060 eo que eu vou falar hoxe é a seguridade de aplicacións móbiles. 9 00:00:25,060 --> 00:00:28,630 A miña experiencia é que eu veño facendo investigación de seguridade 10 00:00:28,630 --> 00:00:31,970 por un tempo moi longo, probablemente case tan longo como calquera. 11 00:00:31,970 --> 00:00:35,000 I comezou a mediados dos anos 90, 12 00:00:35,000 --> 00:00:37,370 e foi un tempo que foi moi interesante porque 13 00:00:37,370 --> 00:00:39,220 tivemos un cambio de paradigma a mediados dos anos 90. 14 00:00:39,220 --> 00:00:43,520 Todas ordenador súpeto de todo estaba ligado á internet, 15 00:00:43,520 --> 00:00:46,550 e logo, tivemos o inicio de aplicacións web, 16 00:00:46,550 --> 00:00:49,330 e iso é o que me concentrei en moito, entón. 17 00:00:49,330 --> 00:00:51,160 É interesante. 18 00:00:51,160 --> 00:00:53,930 Agora temos unha outro cambio de paradigma a ocorrer coa computación, 19 00:00:53,930 --> 00:00:58,710 que é o cambio para aplicacións móbiles. 20 00:00:58,710 --> 00:01:03,680 >> Eu sinto que é unha especie de tempo similar, a continuación, foi a finais dos anos 90 21 00:01:03,680 --> 00:01:07,650 cando estabamos investigando aplicacións web e atopar defectos como 22 00:01:07,650 --> 00:01:11,800 erros de xestión sesión e inxección de SQL 23 00:01:11,800 --> 00:01:14,940 que realmente non existía antes, e de súpeto eles estaban por todas partes 24 00:01:14,940 --> 00:01:19,360 en aplicacións web, e agora unha gran parte do tempo eu paso 25 00:01:19,360 --> 00:01:27,950 está mirando para aplicacións móbiles e ollando para o que está pasando aí fóra na selva. 26 00:01:27,950 --> 00:01:32,060 As aplicacións móbiles son realmente vai ser a plataforma de computación dominante, 27 00:01:32,060 --> 00:01:35,060 entón nós realmente necesita gastar unha morea de tempo, se está no sector de seguridade 28 00:01:35,060 --> 00:01:39,280 con foco en aplicacións web. 29 00:01:39,280 --> 00:01:43,420 Había 29 millóns de aplicacións móbiles descargados en 2011. 30 00:01:43,420 --> 00:01:47,920 Está previsto en 76 mil millóns de aplicacións en 2014. 31 00:01:47,920 --> 00:01:54,040 Hai 686 millóns de dispositivos que van ser compras este ano, 32 00:01:54,040 --> 00:01:57,060 de xeito que este é o lugar onde as persoas van estar facendo 33 00:01:57,060 --> 00:01:59,600  a maioría dos seus computación cliente de aquí para fronte. 34 00:01:59,600 --> 00:02:04,220 >> Eu estaba a charlar con un vicepresidente da Fidelity Investments 35 00:02:04,220 --> 00:02:08,780 un par de meses, e el dixo que só vin máis tráfico 36 00:02:08,780 --> 00:02:12,610 facendo transaccións financeiras a partir da súa base de clientes 37 00:02:12,610 --> 00:02:16,230 sobre a súa aplicación móbil que na súa páxina web, 38 00:02:16,230 --> 00:02:20,610 así un uso común para a web no pasado foi 39 00:02:20,610 --> 00:02:23,800 comprobando as súas presupostos de accións, a xestión da súa carteira, 40 00:02:23,800 --> 00:02:28,060 e nós estamos realmente a ver que en 2012 máis de chave 41 00:02:28,060 --> 00:02:30,960 para ser máis dominante na plataforma móbil. 42 00:02:30,960 --> 00:02:34,530 Certamente, se non vai ser calquera actividade criminal, 43 00:02:34,530 --> 00:02:38,900 calquera actividade maliciosa, que vai comezar a ser focado na plataforma móbil 44 00:02:38,900 --> 00:02:44,210 ao longo do tempo como a xente pasar a iso. 45 00:02:44,210 --> 00:02:48,320 Se ollar para a plataforma móbil, 46 00:02:48,320 --> 00:02:54,380 ollar os riscos da plataforma é útil división la en diferentes capas, 47 00:02:54,380 --> 00:02:59,010 así como faría nun ordenador de escritorio, 48 00:02:59,010 --> 00:03:02,860 e pensa sobre as diferentes capas, software, sistema operativo, 49 00:03:02,860 --> 00:03:07,730 capa de rede, capa de hardware, e, por suposto, hai vulnerabilidades en todas as capas. 50 00:03:07,730 --> 00:03:10,510 >> O mesmo acontece no móbil. 51 00:03:10,510 --> 00:03:14,880 Pero móbil, parece que algunhas destas capas están en situación peor. 52 00:03:14,880 --> 00:03:19,840 Por unha banda, a capa de rede é máis problemático no móbil 53 00:03:19,840 --> 00:03:25,650 porque unha morea de persoas teñen na súa oficina ou na casa 54 00:03:25,650 --> 00:03:30,780 conexións con fío ou teñen conexións WiFi seguras, 55 00:03:30,780 --> 00:03:36,530 e con unha morea de dispositivos móbiles que está, obviamente, fóra de casa 56 00:03:36,530 --> 00:03:40,520 ou fóra da oficina moito, e se está a usar Wi-Fi alí 57 00:03:40,520 --> 00:03:42,820 pode estar a usar unha conexión Wi-Fi insegura, 58 00:03:42,820 --> 00:03:45,570 algo que é unha conexión Wi-Fi público, 59 00:03:45,570 --> 00:03:48,840 por iso, cando pensamos sobre aplicacións móbiles que debemos ter en conta 60 00:03:48,840 --> 00:03:53,770 que o ambiente de rede é máis arriscado para as aplicacións 61 00:03:53,770 --> 00:03:57,640 cando o WiFi está a ser usado. 62 00:03:57,640 --> 00:04:02,410 E cando eu entrar en máis do risco de aplicacións móbiles 63 00:04:02,410 --> 00:04:04,910 vai ver por que isto é máis importante. 64 00:04:04,910 --> 00:04:09,710 Hai riscos a nivel de hardware en dispositivos móbiles. 65 00:04:09,710 --> 00:04:11,670 Esta é unha área de investigación en curso. 66 00:04:11,670 --> 00:04:15,910 As persoas chaman eses ataques de banda ancha ou de banda base de ataques 67 00:04:15,910 --> 00:04:21,870 onde está atacando o firmware que está escoitando na radio. 68 00:04:21,870 --> 00:04:25,430 >> Estes son realmente asustado ataques por 69 00:04:25,430 --> 00:04:27,280 o usuario non ten que facer nada. 70 00:04:27,280 --> 00:04:30,760 Podes bater distintos dispositivos dentro do rango de RF 71 00:04:30,760 --> 00:04:36,690 dunha vez, e parece que sempre que esta investigación burbulla 72 00:04:36,690 --> 00:04:40,750 el rapidamente se clasifican onde 73 00:04:40,750 --> 00:04:46,600 persoas rusga arredor e dicir: "Aquí, conte-nos sobre iso, e por favor, deixe de falar sobre iso." 74 00:04:46,600 --> 00:04:49,460 Hai algunha investigación en curso na área de banda ancha, 75 00:04:49,460 --> 00:04:51,980 pero parece ser moi silencio silencio. 76 00:04:51,980 --> 00:04:56,910 Creo que é máis de un tipo de Estado-nación de investigación que está a suceder. 77 00:04:56,910 --> 00:05:02,140 Unha área de investigación activa, con todo, é a capa de sistema operativo, 78 00:05:02,140 --> 00:05:08,910 e, de novo, iso é diferente do que no mundo da computación de escritorio 79 00:05:08,910 --> 00:05:14,840 porque no espazo móbil ten eses equipos de persoas chamadas Jailbreakers, 80 00:05:14,840 --> 00:05:18,670 e Jailbreakers son diferentes do que os investigadores de vulnerabilidades comúns. 81 00:05:18,670 --> 00:05:21,970 Están intentando atopar vulnerabilidades no sistema operativo, 82 00:05:21,970 --> 00:05:27,000 pero a razón pola que eles están intentando atopar as vulnerabilidades non é 83 00:05:27,000 --> 00:05:31,810 invadir máquina de outra persoa e compromete-lo. 84 00:05:31,810 --> 00:05:34,280 É de romper no seu propio ordenador. 85 00:05:34,280 --> 00:05:38,820 >> Eles queren invadir o seu propio teléfono móbil, modificar o sistema operativo do seu propio teléfono móbil 86 00:05:38,820 --> 00:05:41,050 para que se poidan executar as aplicacións da súa elección 87 00:05:41,050 --> 00:05:44,510 e cambiar as cousas con permisos administrativos totais, 88 00:05:44,510 --> 00:05:49,050 e eles non queren dicir o vendedor sobre iso. 89 00:05:49,050 --> 00:05:52,960 Eles non son como un investigador de seguridade, que é un investigador de seguridade sombreiro branco 90 00:05:52,960 --> 00:05:56,600 que vai facer a divulgación responsable e dicir ao vendedor sobre iso. 91 00:05:56,600 --> 00:06:01,270 Queren facer esa investigación, e queren realmente public-lo 92 00:06:01,270 --> 00:06:06,400 nun ataque ou un rootkit ou un código de jailbreak, 93 00:06:06,400 --> 00:06:10,010 e queren facelo estratexicamente, como logo 94 00:06:10,010 --> 00:06:13,570 os buques de provedores do novo sistema operativo. 95 00:06:13,570 --> 00:06:16,350 Ten esa relación conflitiva 96 00:06:16,350 --> 00:06:19,000 con vulnerabilidades de nivel de sistema operativo no móbil, 97 00:06:19,000 --> 00:06:23,150 que eu creo que é moi interesante, e un lugar que velo 98 00:06:23,150 --> 00:06:29,210 iso é o que o fai tan bo que non hai código publicado explotar por aí 99 00:06:29,210 --> 00:06:31,750 de vulnerabilidades no nivel do núcleo, 100 00:06:31,750 --> 00:06:35,040 e vimos aqueles realmente ser usado por escritores de malware. 101 00:06:35,040 --> 00:06:38,450 É un pouco diferente do que o mundo do PC. 102 00:06:38,450 --> 00:06:42,530 E, a continuación, a capa final é a capa superior, a capa de aplicación. 103 00:06:42,530 --> 00:06:45,250 Iso é o que eu vou falar hoxe. 104 00:06:45,250 --> 00:06:48,970 >> Existir As outras capas, e as outras capas de xogar nel, 105 00:06:48,970 --> 00:06:53,310 pero eu estou indo todo para falar sobre o que está a ocorrer na capa de aplicación 106 00:06:53,310 --> 00:06:55,560 onde o código está en execución no cadro de area. 107 00:06:55,560 --> 00:06:58,670 Non ten privilexios administrativos. 108 00:06:58,670 --> 00:07:02,170 Ten que usar as APIs do dispositivo, 109 00:07:02,170 --> 00:07:06,970 pero aínda así, unha gran cantidade de actividades maliciosas e unha morea de risco pode ocorrer a esa capa 110 00:07:06,970 --> 00:07:09,220 porque esa é a capa onde toda a información é. 111 00:07:09,220 --> 00:07:12,330 Aplicacións poden acceder toda a información sobre o dispositivo 112 00:07:12,330 --> 00:07:15,390 se eles teñen os permisos axeitadas, 113 00:07:15,390 --> 00:07:17,540 e poden acceder aos distintos sensores do teléfono, 114 00:07:17,540 --> 00:07:23,950 Sensor GPS, micrófono, cámara, o que ten. 115 00:07:23,950 --> 00:07:27,380 Aínda que nós só estamos a falar na capa de aplicación 116 00:07:27,380 --> 00:07:33,700 temos unha morea de risco alí. 117 00:07:33,700 --> 00:07:38,450 A outra cousa que é diferente sobre o ambiente móbil 118 00:07:38,450 --> 00:07:45,060 é todos os xogadores do sistema operativo, sexa BlackBerry ou Android 119 00:07:45,060 --> 00:07:53,410 ou iOS ou Windows Mobile, todos eles teñen un modelo de permiso de gran fino, 120 00:07:53,410 --> 00:07:56,990 e esta é unha das formas que eles incorporados ao sistema operativo 121 00:07:56,990 --> 00:08:01,230 a idea de que non é tan arriscado como pensa. 122 00:08:01,230 --> 00:08:04,550 Aínda que teña todos os seus contactos sobre alí, toda a súa información persoal, 123 00:08:04,550 --> 00:08:09,080 ten as súas fotos, ten a súa localización no alí, 124 00:08:09,080 --> 00:08:14,820 está almacenando o seu contrasinal da base para auto login alí, é seguro porque 125 00:08:14,820 --> 00:08:19,430 aplicacións ten que ter certas permisos para chegar a certas partes 126 00:08:19,430 --> 00:08:25,080 de información sobre o dispositivo, e que o usuario ten que ser presentado con 127 00:08:25,080 --> 00:08:29,230 os permisos e dicir ben. 128 00:08:29,230 --> 00:08:32,590 >> O problema con isto é que o usuario sempre di todo ben. 129 00:08:32,590 --> 00:08:35,240 Como unha persoa de seguridade, sei que pode solicitar que o usuario, 130 00:08:35,240 --> 00:08:40,100 dicir algo moi malo vai pasar, que quere que ocorre? 131 00:08:40,100 --> 00:08:44,680 E se eles están nunha carreira ou hai algo realmente atractivo do outro lado de que, 132 00:08:44,680 --> 00:08:47,760 como un xogo será instalado que estaba esperando, 133 00:08:47,760 --> 00:08:50,860 están indo a facer clic ben. 134 00:08:50,860 --> 00:08:56,630 É por iso que digo no meu diapositivas aquí, déixeme tirar paxaros en porcos xa, 135 00:08:56,630 --> 00:09:03,150 e pode ver na foto aquí hai exemplos dunha caixa de permiso BlackBerry. 136 00:09:03,150 --> 00:09:05,990 El di: "Por favor, configure os permisos de aplicacións BlackBerry Viaxe 137 00:09:05,990 --> 00:09:09,720 tras o botón premendo de abaixo ", e, basicamente, o usuario está indo só para dicir 138 00:09:09,720 --> 00:09:12,240 establecer os permisos e gardar. 139 00:09:12,240 --> 00:09:18,010 Aquí está unha liña de Android, onde mostra as cousas, 140 00:09:18,010 --> 00:09:20,260 e realmente pon algo que case se parece un aviso. 141 00:09:20,260 --> 00:09:25,090 Ten unha especie de sinal de rendemento alí dicindo comunicación de rede, chamada de teléfono, 142 00:09:25,090 --> 00:09:28,120 pero o usuario vai facer clic instalar, non? 143 00:09:28,120 --> 00:09:32,940 E entón o que Apple é completamente inocuo. 144 00:09:32,940 --> 00:09:34,300 Non dá ningún tipo de aviso. 145 00:09:34,300 --> 00:09:37,380 É só Apple quere usar a súa localización actual. 146 00:09:37,380 --> 00:09:39,670 Claro que vai facer clic todo ben. 147 00:09:39,670 --> 00:09:42,260 >> Existe ese modelo de permiso de gran fino, 148 00:09:42,260 --> 00:09:45,890 e as aplicacións ten que ter un ficheiro de manifesto onde declaran 149 00:09:45,890 --> 00:09:49,410 os permisos que precisan, e que será exhibida para o usuario, 150 00:09:49,410 --> 00:09:53,480 e que o usuario terá que dicir que eu conceder os permisos. 151 00:09:53,480 --> 00:09:55,080 Pero imos ser honestos. 152 00:09:55,080 --> 00:09:58,400 Os usuarios están indo só para dicir sempre todo ben. 153 00:09:58,400 --> 00:10:04,460 Imos dar unha rápida ollo nas permisos que estas aplicacións están pedindo 154 00:10:04,460 --> 00:10:06,850 e algunhas dos permisos que están alí. 155 00:10:06,850 --> 00:10:09,950 Esta empresa pretoriana fixo unha investigación o ano pasado 156 00:10:09,950 --> 00:10:14,170 de 53.000 aplicacións analizadas nos mercados de mercado e 3rd party para Android, 157 00:10:14,170 --> 00:10:16,770 entón iso é todo o Android. 158 00:10:16,770 --> 00:10:19,670 E o app media solicitado 3 permisos. 159 00:10:19,670 --> 00:10:23,370 Algunhas aplicacións solicitado 117 permisos, 160 00:10:23,370 --> 00:10:27,480 entón, obviamente, estes son moi gran fino e demasiado complexo para un usuario para entender 161 00:10:27,480 --> 00:10:31,600 se son presentados con esta aplicación que necesita deses 117 permisos. 162 00:10:31,600 --> 00:10:37,270 É coma se o acordo de licenza do usuario final que é 45 páxinas. 163 00:10:37,270 --> 00:10:40,240 Quizais en breve terá unha opción onde é como 164 00:10:40,240 --> 00:10:43,100 imprimir os permisos e enviar-me un e-mail. 165 00:10:43,100 --> 00:10:45,480 >> Pero se ollar para algunhas das principais permisos interesantes 166 00:10:45,480 --> 00:10:50,840 24% das aplicacións que baixaron de 53.000 a 167 00:10:50,840 --> 00:10:57,230 información de GPS solicitada desde o dispositivo. 168 00:10:57,230 --> 00:10:59,810 8% ler os contactos. 169 00:10:59,810 --> 00:11:03,770 4% enviaron SMS, e 3% recibiron SMS. 170 00:11:03,770 --> 00:11:07,730 2% rexistrados audio. 171 00:11:07,730 --> 00:11:11,210 1% procesadas chamadas de saída. 172 00:11:11,210 --> 00:11:13,140 Eu non sei. 173 00:11:13,140 --> 00:11:17,520 Eu non creo que o 4% das aplicacións na App Store realmente necesita para enviar mensaxes de texto SMS, 174 00:11:17,520 --> 00:11:21,410 entón eu creo que iso é un indicio de que algo desagradable está pasando. 175 00:11:21,410 --> 00:11:24,350 8% das aplicacións que ler a súa lista de contactos. 176 00:11:24,350 --> 00:11:26,510 Probablemente non é necesario. 177 00:11:26,510 --> 00:11:30,990 Unha das cousas interesantes sobre permisos e 178 00:11:30,990 --> 00:11:36,740 se conectar en bibliotecas compartidas na súa aplicación 179 00:11:36,740 --> 00:11:39,780 quen herdar os permisos da aplicación, 180 00:11:39,780 --> 00:11:46,570 polo que, se a súa aplicación precisa da lista de contactos ou precisa da localización GPS a funcionar 181 00:11:46,570 --> 00:11:49,940 e conectar nunha biblioteca de publicidade, por exemplo, 182 00:11:49,940 --> 00:11:53,170 esta biblioteca anuncio tamén poderá acceder aos contactos 183 00:11:53,170 --> 00:11:57,630 e tamén ser capaz de acceder o lugar de GPS, 184 00:11:57,630 --> 00:12:01,990 eo creador do app non sabe nada sobre o código que está a ser executado na biblioteca anuncio. 185 00:12:01,990 --> 00:12:05,370 Eles están só conectando en que, porque eles queren rendibilizar a súa aplicación. 186 00:12:05,370 --> 00:12:09,820 >> Este é o lugar onde, e eu vou falar sobre algúns exemplos deste con 187 00:12:09,820 --> 00:12:13,930 unha aplicación chamado Pandora, onde un programador de aplicacións 188 00:12:13,930 --> 00:12:18,910 pode inadvertidamente estar vazando información 189 00:12:18,910 --> 00:12:24,580 dos seus usuarios por mor de bibliotecas eles conectados dentro 190 00:12:24,580 --> 00:12:30,110 Examinando a paisaxe aí fóra, mirando para as diferentes aplicacións 191 00:12:30,110 --> 00:12:34,310 que foron relativos na noticia como algo que os usuarios mal intencións ou facendo non quería 192 00:12:34,310 --> 00:12:39,360 e despois de inspeccionar unha morea de aplicacións de que facemos unha morea de análises binaria estática en aplicacións móbiles, 193 00:12:39,360 --> 00:12:42,010 polo que temos inspeccionado los e mirou para o propio código- 194 00:12:42,010 --> 00:12:49,640 que xurdiu co que chamamos a nosa lista top 10 dos comportamentos de risco nas aplicacións. 195 00:12:49,640 --> 00:12:54,180 E está dividido en dúas seccións, código malicioso, 196 00:12:54,180 --> 00:12:57,600 así que estas son cousas malas que as aplicacións poden estar a facer iso 197 00:12:57,600 --> 00:13:06,520 tenden a ser algo que un individuo malicioso 198 00:13:06,520 --> 00:13:10,060 ten especificamente poñer na aplicación, pero é un pouco confuso. 199 00:13:10,060 --> 00:13:13,300 Podería ser algo que un desenvolvedor pensa é bo, 200 00:13:13,300 --> 00:13:16,350 mais acaba sendo visto como mal intencionado polo usuario. 201 00:13:16,350 --> 00:13:19,830 >> E entón a segunda parte é o que chamamos de codificación vulnerabilidades, 202 00:13:19,830 --> 00:13:24,600 e estas son as cousas en que o creador, basicamente, é cometer erros 203 00:13:24,600 --> 00:13:27,200 ou simplemente non entende como escribir a aplicación con seguridade, 204 00:13:27,200 --> 00:13:30,260  e que está poñendo o usuario de aplicación en perigo. 205 00:13:30,260 --> 00:13:34,060 Vou pasar por iso en detalles e dar algúns exemplos. 206 00:13:34,060 --> 00:13:39,620 Para referencia, eu quería poñer a lista móbil top 10 da OWASP. 207 00:13:39,620 --> 00:13:43,590 Estas son as 10 preguntas que un grupo de OWASP, 208 00:13:43,590 --> 00:13:48,900 o Proxecto Open Web Application Security, eles teñen un grupo de traballo 209 00:13:48,900 --> 00:13:50,620 traballando nun móbil lista top 10. 210 00:13:50,620 --> 00:13:54,600 Teñen unha lista moi famoso web top 10, que é o top 10 211 00:13:54,600 --> 00:13:57,180 cousas máis arriscadas que pode ter nunha aplicación web. 212 00:13:57,180 --> 00:13:59,090 Están facendo o mesmo para móbil, 213 00:13:59,090 --> 00:14:01,750 e súa lista é un pouco diferente da nosa. 214 00:14:01,750 --> 00:14:03,670 6 dos 10 son o mesmo. 215 00:14:03,670 --> 00:14:06,020 Teñen 4 que son diferentes. 216 00:14:06,020 --> 00:14:10,550 Eu creo que teñen un pouco de unha posición diferente sobre 217 00:14:10,550 --> 00:14:14,490 risco en aplicacións móbiles, onde moitos dos seus problemas 218 00:14:14,490 --> 00:14:20,490 son realmente como a aplicación está comunicando con un servidor back-end 219 00:14:20,490 --> 00:14:23,100 ou o que está pasando no servidor back-end, 220 00:14:23,100 --> 00:14:29,220 non tanto aplicacións que teñan comportamento de risco que son aplicacións cliente só simple. 221 00:14:29,220 --> 00:14:36,640 >> Os de vermello aquí son as diferenzas entre as dúas listas. 222 00:14:36,640 --> 00:14:40,740 E un pouco da miña equipo de investigación que realmente contribuíron a este proxecto, 223 00:14:40,740 --> 00:14:44,570 entón imos ver o que acontece ao longo do tempo, pero creo que o takeaway aquí é 224 00:14:44,570 --> 00:14:47,550 nós realmente non sabemos o que a lista top 10 é en aplicacións móbiles porque 225 00:14:47,550 --> 00:14:50,510 realmente só en torno de 2 ou 3 anos, 226 00:14:50,510 --> 00:14:57,750 e non houbo tempo suficiente para realmente buscar os sistemas operativos 227 00:14:57,750 --> 00:15:00,450 eo que son capaces de facer, e non houbo tempo suficiente 228 00:15:00,450 --> 00:15:06,870 á comunidade maliciosa, se quere, de pasar tempo suficiente 229 00:15:06,870 --> 00:15:12,910 tentando atacar usuarios a través de aplicacións móbiles, polo que espera que estas listas para cambiar un pouco. 230 00:15:12,910 --> 00:15:18,720 Pero, por agora, estas son as 10 mellores cousas para se preocupar. 231 00:15:18,720 --> 00:15:24,150 Podes preguntar sobre o lado móbil onde é que o código malicioso-móbil 232 00:15:24,150 --> 00:15:28,880 como consegue o dispositivo? 233 00:15:28,880 --> 00:15:35,210 New York State ten un proxecto chamado Proxecto Xenoma Móbil Malware 234 00:15:35,210 --> 00:15:39,520 onde están traídos o máximo de malware móbil que puideren e analiza-lo, 235 00:15:39,520 --> 00:15:45,270 e eles teñen dividido os vectores de inxección que o malware móbil usa, 236 00:15:45,270 --> 00:15:51,490 e 86% utilizan unha técnica chamada reembalagem, 237 00:15:51,490 --> 00:15:54,160 e este é só na plataforma Android 238 00:15:54,160 --> 00:15:56,720 pode realmente facer iso reembalagem. 239 00:15:56,720 --> 00:16:03,100 >> A razón é código de Android está construído con 240 00:16:03,100 --> 00:16:08,130 un código Java byte chamado Dalvik, que é facilmente descompilável. 241 00:16:08,130 --> 00:16:12,460 Que o bandido pode facer é 242 00:16:12,460 --> 00:16:16,590 ter unha aplicación Android, decompor-lo, 243 00:16:16,590 --> 00:16:20,120 introducir o código malicioso, recopila-lo, 244 00:16:20,120 --> 00:16:28,070 e, a continuación, colocar-lo na tenda de aplicacións que se presente unha nova versión deste programa, 245 00:16:28,070 --> 00:16:30,330 ou que só cambiar o nome da aplicación. 246 00:16:30,330 --> 00:16:35,140 Se fose algún tipo de xogo, cambie o nome lixeiramente, 247 00:16:35,140 --> 00:16:42,860 e por iso esta reembalagem é como 86% dos malware móbil é distribuída. 248 00:16:42,860 --> 00:16:45,810 Hai outra actualización técnica chamada que se 249 00:16:45,810 --> 00:16:50,030 moi semellante a reembalagem, pero en realidade non poñer o código malicioso dentro 250 00:16:50,030 --> 00:16:52,870 O que fai é poñer nun pequeno mecanismo de actualización. 251 00:16:52,870 --> 00:16:56,660 Vostede descompilar, se pon nun mecanismo de actualización, e recompilar, 252 00:16:56,660 --> 00:17:02,360 e despois, cando a aplicación está en execución el tira abaixo o malware para o aparello. 253 00:17:02,360 --> 00:17:06,300 >> A gran maioría son as 2 técnicas. 254 00:17:06,300 --> 00:17:12,710 Non hai realmente moito de descarga drive-bys ou drive-by descargas en teléfonos móbiles, 255 00:17:12,710 --> 00:17:15,890 o que podería ser como un ataque de phishing. 256 00:17:15,890 --> 00:17:18,200 Ei, mira esta web moi legal, 257 00:17:18,200 --> 00:17:21,020 ou ten que ir a este sitio web e enche este formulario 258 00:17:21,020 --> 00:17:24,420 para manter continúa facendo algo. 259 00:17:24,420 --> 00:17:26,230 Estes son ataques de phishing. 260 00:17:26,230 --> 00:17:28,160 O mesmo pode ocorrer na plataforma móbil, onde 261 00:17:28,160 --> 00:17:33,830 apuntan a unha aplicación móbil para descargar, dicir "Ola, aquí é o Bank of America." 262 00:17:33,830 --> 00:17:36,070 "Vemos que está a usar esta aplicación." 263 00:17:36,070 --> 00:17:38,540 "Debe descargar esta outra aplicación." 264 00:17:38,540 --> 00:17:41,170 Teoricamente, isto podería funcionar. 265 00:17:41,170 --> 00:17:48,610 Quizais el simplemente non está a ser usado como para determinar se é ou non un éxito, 266 00:17:48,610 --> 00:17:51,680 pero descubriron que menos do 1% do tempo que a técnica é utilizada. 267 00:17:51,680 --> 00:17:56,130 A maioría das veces é realmente un código reembalado. 268 00:17:56,130 --> 00:17:58,710 >> Hai outra categoría chamada standalone 269 00:17:58,710 --> 00:18:01,420 onde alguén só crea unha aplicación nova. 270 00:18:01,420 --> 00:18:04,020 Eles constrúen unha aplicación que pretende ser algo. 271 00:18:04,020 --> 00:18:07,360 Non é unha reembalagem doutra cousa, e que ten o código malicioso. 272 00:18:07,360 --> 00:18:11,230 Isto é usado 14% do tempo. 273 00:18:11,230 --> 00:18:17,880 Agora quero falar sobre o que está a facer o código malicioso? 274 00:18:17,880 --> 00:18:23,070 Un dos primeiros malware para fora alí 275 00:18:23,070 --> 00:18:25,490 podería considerar un spyware. 276 00:18:25,490 --> 00:18:27,620 El espia basicamente sobre o usuario. 277 00:18:27,620 --> 00:18:30,470 El recolle correos electrónicos, mensaxes SMS. 278 00:18:30,470 --> 00:18:32,340 Acontece o micrófono. 279 00:18:32,340 --> 00:18:37,330 Colle o libro de contactos e envia-lo a outra persoa. 280 00:18:37,330 --> 00:18:40,870 Este tipo de spyware existente no ordenador, 281 00:18:40,870 --> 00:18:46,200 por iso, fai todo o sentido para as persoas intentando facelo en dispositivos móbiles. 282 00:18:46,200 --> 00:18:53,230 >> Un dos primeiros exemplos diso foi un programa chamado Segredo SMS Replicator. 283 00:18:53,230 --> 00:18:56,250 Foi en Android Marketplace un par de anos, 284 00:18:56,250 --> 00:18:59,960 ea idea era se tivese acceso a alguén teléfono Android 285 00:18:59,960 --> 00:19:03,450 que quería para espiar, entón quizais sexa o seu cónxuxe 286 00:19:03,450 --> 00:19:07,600 ou o seu outro significativo e quere espiar as mensaxes de texto, 287 00:19:07,600 --> 00:19:11,200 podes descargar esta aplicación e instala-lo e configure-lo 288 00:19:11,200 --> 00:19:16,540 para enviar unha mensaxe de texto SMS para ti unha copia 289 00:19:16,540 --> 00:19:21,710 de cada mensaxe de texto SMS que eles teñen. 290 00:19:21,710 --> 00:19:27,220 Isto, obviamente, é en violacións dos termos App Store do servizo, 291 00:19:27,220 --> 00:19:32,040 e este foi eliminado do Android Marketplace dentro de 18 horas do mesmo estar alí, 292 00:19:32,040 --> 00:19:36,760 así que un número moi pequeno de persoas estaban en risco por causa diso. 293 00:19:36,760 --> 00:19:42,510 Agora, eu creo que se o programa foi chamado de algo quizais algo menos provocante 294 00:19:42,510 --> 00:19:48,690 como Segredo SMS Replicator probablemente funcionaría moito mellor. 295 00:19:48,690 --> 00:19:52,870 Pero era medio evidente. 296 00:19:52,870 --> 00:19:58,680 >> Unha das cousas que podemos facer para determinar se as aplicacións teñen ese comportamento que non queremos 297 00:19:58,680 --> 00:20:01,410 é inspeccionar o código. 298 00:20:01,410 --> 00:20:06,250 Isto é realmente moi fácil de facer en Android porque podemos descompoñer os apps. 299 00:20:06,250 --> 00:20:11,050 En iOS, pode utilizar un disassembler como IDA Pro 300 00:20:11,050 --> 00:20:17,190 ollar para o que APIs da aplicación está chamando eo que está facendo. 301 00:20:17,190 --> 00:20:20,680 Nós escribir o noso propio analizador estático binario para o noso código 302 00:20:20,680 --> 00:20:24,940 e facemos isto, e así o que podería facer é que podería dicir 303 00:20:24,940 --> 00:20:30,490 O dispositivo de facer calquera cousa que é, basicamente, me espionando ou me visite? 304 00:20:30,490 --> 00:20:33,360 E eu teño algúns exemplos aquí no iPhone. 305 00:20:33,360 --> 00:20:41,440 Este primeiro exemplo é como acceder o UUID no teléfono. 306 00:20:41,440 --> 00:20:47,060 Isto é realmente algo que Apple acaba proscrito a novas aplicacións, 307 00:20:47,060 --> 00:20:52,540 pero aplicacións antigos que pode ter en execución no seu teléfono aínda pode facelo, 308 00:20:52,540 --> 00:20:56,500 e de xeito que o identificador único pode ser usado para rastrexar vostede 309 00:20:56,500 --> 00:21:00,440 en moitas aplicacións diferentes. 310 00:21:00,440 --> 00:21:07,180 >> O Android, teño un exemplo aquí de obter a localización do dispositivo. 311 00:21:07,180 --> 00:21:10,310 Podes ver que, se esa chamada API é alí que o app está seguindo, 312 00:21:10,310 --> 00:21:15,000 e pode ver se está quedando boa situación ou localización groseira. 313 00:21:15,000 --> 00:21:18,860 E, a continuación, na parte inferior aquí, eu teño un exemplo de como o BlackBerry 314 00:21:18,860 --> 00:21:25,130 unha aplicación pode acceder as mensaxes de correo electrónico na súa caixa de entrada. 315 00:21:25,130 --> 00:21:27,660 Estes son o tipo de cousas que pode inspeccionar a ver 316 00:21:27,660 --> 00:21:32,360 se a aplicación está a facer estas cousas. 317 00:21:32,360 --> 00:21:38,320 A segunda gran categoría de comportamento malicioso, e este é probablemente o máis grande de categoría, agora, 318 00:21:38,320 --> 00:21:43,950 é a cita non autorizado, non autorizado premio de mensaxes de texto SMS 319 00:21:43,950 --> 00:21:46,080 ou pagos non autorizados. 320 00:21:46,080 --> 00:21:48,930 Outra cousa que é único sobre o teléfono 321 00:21:48,930 --> 00:21:52,700 Se o seu dispositivo está conectado a unha conta de cobro, 322 00:21:52,700 --> 00:21:55,960 e cando as actividades se celebran no teléfono 323 00:21:55,960 --> 00:21:58,510 pode crear encargos. 324 00:21:58,510 --> 00:22:00,700 Podes mercar as cousas polo teléfono, 325 00:22:00,700 --> 00:22:04,390 e cando envía unha mensaxe de texto SMS Premium en realidade está dando cartos 326 00:22:04,390 --> 00:22:11,590 ao titular da conta do número de teléfono do outro lado. 327 00:22:11,590 --> 00:22:17,420 Estes foron creados para obter presupostos de accións ou conseguir o seu horóscopo diario ou outras cousas, 328 00:22:17,420 --> 00:22:21,680 pero poden ser configurados para solicitar un produto, enviando un SMS. 329 00:22:21,680 --> 00:22:26,970 A xente dan diñeiro para a Cruz Vermella a través do envío dunha mensaxe de texto. 330 00:22:26,970 --> 00:22:30,650 Pode dar 10 dólares dese xeito. 331 00:22:30,650 --> 00:22:34,190 >> Os agresores, o que fixeron é eles montaron 332 00:22:34,190 --> 00:22:38,750 contas en países estranxeiros, e incorporar na malware 333 00:22:38,750 --> 00:22:42,840 que o teléfono pode enviar unha mensaxe de texto SMS Premium, 334 00:22:42,840 --> 00:22:47,700 dicir, algunhas veces ao día, e ao final do mes entender que pasou 335 00:22:47,700 --> 00:22:52,090 decenas ou quizais ata centos de dólares, e que a pé co diñeiro. 336 00:22:52,090 --> 00:22:57,280 Este quedou tan mal que esta foi a primeira cousa que Android 337 00:22:57,280 --> 00:23:00,760 Mercado ou Google lugar-se o mercado Android no momento, 338 00:23:00,760 --> 00:23:04,430 e agora é Google Play-o primeiro que Google comezou comprobando. 339 00:23:04,430 --> 00:23:08,700 Cando Google empezou a distribuír os apps Android na súa tenda de aplicacións 340 00:23:08,700 --> 00:23:11,350 eles dixeron que non estaban indo para comprobar a calquera cousa. 341 00:23:11,350 --> 00:23:15,630 Imos tirar aplicacións, xa que xa foi notificado que rompe nosos termos de servizo, 342 00:23:15,630 --> 00:23:17,520 pero nós non estamos indo para comprobar a calquera cousa. 343 00:23:17,520 --> 00:23:24,350 Así, hai un ano quedou tan mal con este malware mensaxe de texto SMS Premium 344 00:23:24,350 --> 00:23:28,030 que esta é a primeira cousa que eles comezaron a verificación de. 345 00:23:28,030 --> 00:23:31,770 Se unha aplicación pode enviar mensaxes de texto SMS 346 00:23:31,770 --> 00:23:34,750 que examinar máis que a aplicación manual. 347 00:23:34,750 --> 00:23:38,770 Eles miran para as APIs que chaman iso, 348 00:23:38,770 --> 00:23:40,580 e agora, desde entón, Google se expandir, 349 00:23:40,580 --> 00:23:46,900 pero esta foi a primeira cousa que eles comezaron a buscar. 350 00:23:46,900 --> 00:23:50,690 >> Outros aplicacións que facían algunhas mensaxes de texto SMS, 351 00:23:50,690 --> 00:23:56,980 este Qicsomos Android, creo que se chama. 352 00:23:56,980 --> 00:24:02,670 Había un evento actual no móbil onde esta CarrierIQ saíu 353 00:24:02,670 --> 00:24:07,720 como spyware poñer no dispositivo polas operadoras, 354 00:24:07,720 --> 00:24:10,820 para que as persoas querían saber se o seu teléfono era vulnerable a iso, 355 00:24:10,820 --> 00:24:13,890 e este foi unha aplicación gratuita que probou iso. 356 00:24:13,890 --> 00:24:17,520 Ben, por suposto, o que fixo esta aplicación foi enviado mensaxes de texto SMS Premium, 357 00:24:17,520 --> 00:24:20,090 así, probando a ver se está infectado con spyware 358 00:24:20,090 --> 00:24:24,930 Cargou malware no seu dispositivo. 359 00:24:24,930 --> 00:24:27,310 Vimos o mesmo acontecer no último Super Bowl. 360 00:24:27,310 --> 00:24:33,180 Houbo unha versión falsa do partido de fútbol Madden 361 00:24:33,180 --> 00:24:38,320 que enviou mensaxes de texto SMS Premium. 362 00:24:38,320 --> 00:24:45,750 De feito, intentou crear unha rede bot tamén no teléfono. 363 00:24:45,750 --> 00:24:48,090 Aquí eu teño algúns exemplos. 364 00:24:48,090 --> 00:24:52,640 Curiosamente, a Apple foi moi intelixente, 365 00:24:52,640 --> 00:24:58,470 e eles non permiten que aplicacións para enviar mensaxes de texto SMS en todo. 366 00:24:58,470 --> 00:25:00,350 Ningunha aplicación pode facelo. 367 00:25:00,350 --> 00:25:03,530 Esta é unha gran forma de se librar de toda unha clase de vulnerabilidade, 368 00:25:03,530 --> 00:25:09,040 pero en Android podes facelo, e, por suposto, o BlackBerry, pode facelo tamén. 369 00:25:09,040 --> 00:25:13,060 É interesante que o BlackBerry todo o que precisa é de permisos de internet 370 00:25:13,060 --> 00:25:18,370 para enviar unha mensaxe de texto SMS. 371 00:25:18,370 --> 00:25:21,580 >> A outra cousa realmente que nós buscamos 372 00:25:21,580 --> 00:25:24,780 cando estamos mirando a ver se algo está mal intencionado é calquera tipo de 373 00:25:24,780 --> 00:25:28,100 actividade de rede non autorizado, como ollar para a actividade de rede 374 00:25:28,100 --> 00:25:31,570 o app se quere ter que ter a súa función, 375 00:25:31,570 --> 00:25:35,380 e mirar para esta outra actividade da rede. 376 00:25:35,380 --> 00:25:43,380 Quizais unha aplicación, para funcionar, ten que obter datos sobre HTTP, 377 00:25:43,380 --> 00:25:47,500 pero se é facer as cousas por correo electrónico ou SMS ou Bluetooth ou algo así 378 00:25:47,500 --> 00:25:52,890 agora que o app podería ser potencialmente malicioso, polo que esta é outra cousa que pode inspeccionar. 379 00:25:52,890 --> 00:26:00,430 E neste foto aquí eu teño algúns exemplos diso. 380 00:26:00,430 --> 00:26:05,950 Outra cousa interesante que vimos con malware aconteceu en 2009, 381 00:26:05,950 --> 00:26:07,600 e pasou en gran forma. 382 00:26:07,600 --> 00:26:11,390 Eu non sei se isto aconteceu moito desde entón, pero era un app 383 00:26:11,390 --> 00:26:15,140 que personificou outra aplicación. 384 00:26:15,140 --> 00:26:21,700 Houbo unha serie de aplicacións, e foi alcumado ataque 09Droid, 385 00:26:21,700 --> 00:26:29,770 e alguén decidiu que había unha morea de pequenos bancos de medio porte, rexionais 386 00:26:29,770 --> 00:26:32,260 que non tiña aplicacións bancarias en liña, 387 00:26:32,260 --> 00:26:36,870 entón o que fixeron foi que eles construíron uns 50 aplicacións bancarias online 388 00:26:36,870 --> 00:26:39,410 que todo o que fixo foi levar o nome de usuario e contrasinal 389 00:26:39,410 --> 00:26:42,190 e redireccionándoos para o sitio. 390 00:26:42,190 --> 00:26:47,470 E así, eles puxeron todos estes por enriba en Google Marketplace, 391 00:26:47,470 --> 00:26:51,530 no mercado Android, e cando alguén buscou a ver se a súa base 392 00:26:51,530 --> 00:26:56,000 tiña unha aplicación que ía atopar a aplicación falso, 393 00:26:56,000 --> 00:27:01,230 que recadou súas credenciais e, entón, redirixido-os para o seu sitio. 394 00:27:01,230 --> 00:27:06,640 O xeito que iso realmente tornouse as aplicacións foron ata alí por algunhas semanas, 395 00:27:06,640 --> 00:27:09,050 e había miles e miles de descargas. 396 00:27:09,050 --> 00:27:12,910 >> O xeito como isto veu á tona era alguén estaba tendo un problema 397 00:27:12,910 --> 00:27:15,740 cunha das aplicacións, e chamaron a súa base, 398 00:27:15,740 --> 00:27:18,390 e chamaron liña de atención ao cliente do banco e dixo: 399 00:27:18,390 --> 00:27:21,180 "Eu estou tendo un problema coa aplicación de mobile Banking". 400 00:27:21,180 --> 00:27:23,460 "Vostede me pode axudar?" 401 00:27:23,460 --> 00:27:26,540 E eles dixeron: "Nós non temos unha aplicación bancario móbil." 402 00:27:26,540 --> 00:27:28,120 Isto comezou a investigación. 403 00:27:28,120 --> 00:27:31,200 Este banco chamado Google e Google mirou e dixo: 404 00:27:31,200 --> 00:27:37,220 "Guau, o mesmo autor ten escrito 50 aplicacións de base", e os levou a todos para abaixo. 405 00:27:37,220 --> 00:27:43,410 Pero, certamente, isto pode ocorrer de novo. 406 00:27:43,410 --> 00:27:51,790 Aí está a lista de todos os distintos bancos aquí 407 00:27:51,790 --> 00:27:55,870 que formaron parte desta farsa. 408 00:27:55,870 --> 00:28:02,050 A outra cousa que unha aplicación pode facer é presentar a interface de usuario de outra aplicación. 409 00:28:02,050 --> 00:28:06,430 Mentres el está executando podería aparecer Facebook UI. 410 00:28:06,430 --> 00:28:09,540 Di que tes que poñer no seu nome de usuario e contrasinal para continuar 411 00:28:09,540 --> 00:28:15,090 ou poñer o nome de usuario e contrasinal da interface de usuario a un sitio web 412 00:28:15,090 --> 00:28:18,420 que quizais o usuario utiliza só para tratar de enganar o usuario 413 00:28:18,420 --> 00:28:21,340 en poñer as súas credenciais no 414 00:28:21,340 --> 00:28:25,590 Este é realmente un paralelo directo dos ataques de phishing correo-e 415 00:28:25,590 --> 00:28:28,210 onde alguén lle envía unha mensaxe de correo electrónico 416 00:28:28,210 --> 00:28:33,050 e dálle basicamente unha interface de usuario a un sitio falso 417 00:28:33,050 --> 00:28:37,320 que ten acceso. 418 00:28:37,320 --> 00:28:41,590 >> A outra cousa que buscar en un código malicioso é a modificación do sistema. 419 00:28:41,590 --> 00:28:48,160 Podes ollar para todas as chamadas de API que requiren privilexios de root 420 00:28:48,160 --> 00:28:50,870 para realizar correctamente. 421 00:28:50,870 --> 00:28:56,160 Cambiar proxy web do dispositivo sería algo que unha aplicación 422 00:28:56,160 --> 00:28:59,530 non debe ser capaz de facer. 423 00:28:59,530 --> 00:29:03,030 Pero se a aplicación ten código alí para facelo 424 00:29:03,030 --> 00:29:05,960 vostede sabe que é, probablemente, unha aplicación malicioso 425 00:29:05,960 --> 00:29:09,620 ou altamente probable que sexa unha aplicación malicioso, 426 00:29:09,620 --> 00:29:13,910 e así o que sucedería é que a app tería algún tipo de escalada privilexio. 427 00:29:13,910 --> 00:29:17,200 Tería algún intercambio de privilexios explotar 428 00:29:17,200 --> 00:29:20,730 na aplicación, a continuación, unha vez que el escalou privilexios 429 00:29:20,730 --> 00:29:23,800 sería facer estas modificacións no sistema. 430 00:29:23,800 --> 00:29:28,010 Podes atopar malware que ten escalação de privilexios 431 00:29:28,010 --> 00:29:32,550 nel aínda sen saber como o intercambio de privilexios 432 00:29:32,550 --> 00:29:37,960 exploit que vai pasar, e iso é un xeito agradable, fácil 433 00:29:37,960 --> 00:29:41,220 para buscar malware. 434 00:29:41,220 --> 00:29:46,030 DroidDream foi, probablemente, a máis famosa peza de malware Android. 435 00:29:46,030 --> 00:29:50,530 Eu creo que afectou preto de 250 mil usuarios ao longo de varios días 436 00:29:50,530 --> 00:29:52,810 antes de ser atopado. 437 00:29:52,810 --> 00:29:56,890 Eles reembalado 50 aplicacións teitos, 438 00:29:56,890 --> 00:30:00,370 colocalos na tenda de aplicacións Android, 439 00:30:00,370 --> 00:30:10,940 e, esencialmente, ela usou o código jailbreak Android para escalar privilexios 440 00:30:10,940 --> 00:30:16,380 e, a continuación, instalar un mando e control e virar todas as vítimas 441 00:30:16,380 --> 00:30:20,690 nunha rede de bot, pero podería ter detectado este 442 00:30:20,690 --> 00:30:24,170 se fose a dixitalización da aplicación e só a buscar 443 00:30:24,170 --> 00:30:32,230 Chamadas de API que o permiso raíz necesarios para executar correctamente. 444 00:30:32,230 --> 00:30:40,150 >> E hai un exemplo aquí teño que está cambiando o proxy, 445 00:30:40,150 --> 00:30:46,380 e este, en realidade, só está dispoñible en Android. 446 00:30:46,380 --> 00:30:49,070 Podes ver que eu estou te dando unha morea de exemplos sobre Android 447 00:30:49,070 --> 00:30:53,990 porque este é o lugar onde o ecosistema malware máis activo é 448 00:30:53,990 --> 00:30:58,690 porque é moi doado para un dianteiro para obter o código malicioso 449 00:30:58,690 --> 00:31:01,470 en Android Marketplace. 450 00:31:01,470 --> 00:31:06,480 Non é tan fácil de facer que na App Store de Apple 451 00:31:06,480 --> 00:31:10,250 porque Apple esixe que os desenvolvedores a identificar-se 452 00:31:10,250 --> 00:31:12,790 e asinar o código. 453 00:31:12,790 --> 00:31:20,340 Realmente comprobar quen é vostede, e Apple é realmente o exame das solicitudes. 454 00:31:20,340 --> 00:31:27,450 Non vemos unha morea de malware en si, onde o dispositivo está a ser comprometida. 455 00:31:27,450 --> 00:31:32,250 Vou falar sobre algúns exemplos onde é realmente de privacidade que está quedando comprometida, 456 00:31:32,250 --> 00:31:38,460 e iso é o que realmente está a suceder no dispositivo de Apple. 457 00:31:38,460 --> 00:31:44,090 Outra cousa é mirar para o código malicioso, código arriscado en dispositivos 458 00:31:44,090 --> 00:31:50,300 é lóxica ou tempo bombas e bombas de tempo son, probablemente, 459 00:31:50,300 --> 00:31:53,370 moito máis fácil do que buscar bombas lóxicas. 460 00:31:53,370 --> 00:31:57,030 Pero, con bombas de tempo, o que pode facer é que pode ollar 461 00:31:57,030 --> 00:32:04,760 lugares no código onde o tempo é probada ou un tempo absoluto é demandado 462 00:32:04,760 --> 00:32:08,190 antes de certas funcionalidades na aplicación pasa. 463 00:32:08,190 --> 00:32:14,200 E iso podería ser feito para ocultar que a actividade do usuario, 464 00:32:14,200 --> 00:32:17,510 polo que está a acontecer á noite. 465 00:32:17,510 --> 00:32:24,350 DroidDream fixo toda a súa actividade 11:00-08:00 hora local 466 00:32:24,350 --> 00:32:30,650 para tratar de facelo mentres o usuario non pode estar usando o seu dispositivo. 467 00:32:30,650 --> 00:32:38,680 >> Outra razón para facelo é se a xente está a usar a análise do comportamento dunha aplicación, 468 00:32:38,680 --> 00:32:43,430 executar a aplicación nunha caixa de area a ver que o comportamento da aplicación, 469 00:32:43,430 --> 00:32:51,090 poden usar a lóxica baseada en tempo de facer a actividade 470 00:32:51,090 --> 00:32:54,640 cando a aplicación non está no cadro de area. 471 00:32:54,640 --> 00:33:01,520 Por exemplo, unha tenda de aplicacións como Apple 472 00:33:01,520 --> 00:33:07,940 executa a aplicación, pero eles probablemente non realizar todas as aplicacións para, digamos, 30 días 473 00:33:07,940 --> 00:33:10,550 antes de que o aproba, para que poida poñer 474 00:33:10,550 --> 00:33:14,120 lóxica na súa aplicación que dixo, todo ben, só facer o que é malo 475 00:33:14,120 --> 00:33:20,490 despois de 30 días se pasou ou despois de 30 días a partir da data de publicación da solicitude, 476 00:33:20,490 --> 00:33:27,020 e que pode axudar a ocultar o código malicioso de persoas que inspeccionan por iso. 477 00:33:27,020 --> 00:33:30,050 Se as empresas de antivirus están levando as cousas en caixas de area 478 00:33:30,050 --> 00:33:36,370 ou as propias tendas de aplicacións son isto pode axudar 479 00:33:36,370 --> 00:33:39,260 ocultar que a partir desa inspección. 480 00:33:39,260 --> 00:33:43,020 Agora, a outra cara da moeda é que é fácil de encontrar coa análise estática, 481 00:33:43,020 --> 00:33:46,170 por iso, en realidade, inspecionar o código que podes ollar para todas as partes 482 00:33:46,170 --> 00:33:54,010 onde a aplicación examina o tempo e inspeccionar así. 483 00:33:54,010 --> 00:33:58,850 E aquí eu teño algúns exemplos sobre estas tres plataformas diferentes 484 00:33:58,850 --> 00:34:05,640 como o tempo pode ser verificado polo fabricante aplicación 485 00:34:05,640 --> 00:34:10,520 para que vostede sabe o que buscar se está inspecionar a aplicación estaticamente. 486 00:34:10,520 --> 00:34:14,570 >> Eu só pasei por unha morea de diferentes actividades maliciosas 487 00:34:14,570 --> 00:34:18,969 que vimos na natureza, pero cales son os máis prevalentes? 488 00:34:18,969 --> 00:34:23,940 Ese mesmo estudo da New York State móbil Proxecto Xenoma 489 00:34:23,940 --> 00:34:28,560 publicados algúns datos, e foron basicamente catro áreas 490 00:34:28,560 --> 00:34:32,850 que viron onde había unha gran cantidade de actividade. 491 00:34:32,850 --> 00:34:35,370 37% dos apps fixo escalação de privilexios, 492 00:34:35,370 --> 00:34:38,429 entón eles tiñan algún tipo de código de jailbreak alí 493 00:34:38,429 --> 00:34:42,070 onde tentaron escalar privilexios para que puidesen 494 00:34:42,070 --> 00:34:48,360 que comandos API rodando como sistema operativo. 495 00:34:48,360 --> 00:34:52,520 45% dos apps aí fixo SMS Premium, 496 00:34:52,520 --> 00:34:57,260 de xeito que é unha enorme porcentaxe que está intentando rendibilizar directamente. 497 00:34:57,260 --> 00:35:02,640 93% fixeron o mando a distancia, para que eles intentaron crear unha rede de bot, unha rede bot móbil. 498 00:35:02,640 --> 00:35:08,990 E o 45% collido información de identificación 499 00:35:08,990 --> 00:35:16,230 como números de teléfono, UUIDs, localización GPS, contas de usuario 500 00:35:16,230 --> 00:35:22,870 e isto engade-se a máis de 100, porque a maioría dos malware intenta facer algunhas destas cousas. 501 00:35:22,870 --> 00:35:27,070 >> Vou pasar á segunda metade e falar sobre as vulnerabilidades de código. 502 00:35:27,070 --> 00:35:29,480 Esta é a segunda metade da actividade de risco. 503 00:35:29,480 --> 00:35:33,450 Este é o lugar onde esencialmente o creador está cometendo erros. 504 00:35:33,450 --> 00:35:37,210 Desenrolador lexítimo escribir unha aplicación lexítimo 505 00:35:37,210 --> 00:35:41,830 é cometer erros ou é ignorante sobre os riscos de que a plataforma móbil. 506 00:35:41,830 --> 00:35:44,780 Eles simplemente non saben como facer unha aplicación móbil seguro, 507 00:35:44,780 --> 00:35:47,700 ou, por veces, o creador non se preocupa en poñer o usuario en perigo. 508 00:35:47,700 --> 00:35:50,850 Ás veces, parte do seu modelo de negocio se pode 509 00:35:50,850 --> 00:35:54,610 collendo información persoal do usuario. 510 00:35:54,610 --> 00:35:58,090 Isto é unha especie de outra categoría, e é por iso que algunhas desas malicioso 511 00:35:58,090 --> 00:36:03,200 contra comeza a sangrar máis lexítimos porque non hai diferenza de opinións 512 00:36:03,200 --> 00:36:10,440 entre o que o usuario quere eo que o usuario considera arriscado 513 00:36:10,440 --> 00:36:13,050 eo que o creador da aplicación considera arriscado. 514 00:36:13,050 --> 00:36:18,380 Por suposto, non é de datos do creador da aplicación, na maioría dos casos. 515 00:36:18,380 --> 00:36:22,030 >> E entón, finalmente, outra forma isto ocorre é un creador pode vincular en 516 00:36:22,030 --> 00:36:28,600 unha biblioteca compartida que ten vulnerabilidades ou este comportamento de risco en que 517 00:36:28,600 --> 00:36:32,480 sen o coñecemento deles. 518 00:36:32,480 --> 00:36:37,060 A primeira categoría é a filtración de datos sensibles, 519 00:36:37,060 --> 00:36:40,030 e iso é cando a aplicación recolle información 520 00:36:40,030 --> 00:36:44,980 como localización, información de libro de enderezos, información do propietario 521 00:36:44,980 --> 00:36:48,000 e manda que apagalo. 522 00:36:48,000 --> 00:36:53,050 E xa que está fóra do dispositivo, non sabemos o que está a suceder con esta información. 523 00:36:53,050 --> 00:36:57,170 Podería ser gardados de forma insegura polo creador da aplicación. 524 00:36:57,170 --> 00:37:02,070 Vimos os desenvolvedores de aplicacións comprometido, 525 00:37:02,070 --> 00:37:05,820 e os datos que están almacenando é levado. 526 00:37:05,820 --> 00:37:10,970 Iso aconteceu hai uns meses a un creador en Florida 527 00:37:10,970 --> 00:37:21,660 onde un gran número de-era UUIDs iPads e nomes de dispositivos 528 00:37:21,660 --> 00:37:25,270 baleiraron porque alguén, eu creo que era anónimo, 529 00:37:25,270 --> 00:37:29,460 presuntamente para facelo, invadiu os servidores deste creador 530 00:37:29,460 --> 00:37:34,920 e roubou millóns de iPad UUIDs 531 00:37:34,920 --> 00:37:37,390 e nomes de computadores. 532 00:37:37,390 --> 00:37:40,260 Non a información máis arriscado, 533 00:37:40,260 --> 00:37:46,820 pero o que se fose ese o almacenamento de nomes de usuario e contrasinais 534 00:37:46,820 --> 00:37:48,170 Enderezos residenciais? 535 00:37:48,170 --> 00:37:51,100 Hai moitas aplicacións que almacenan este tipo de información. 536 00:37:51,100 --> 00:37:53,230 O risco está aí. 537 00:37:53,230 --> 00:37:56,620 >> A outra cousa que pode ocorrer é que o creador non coidar 538 00:37:56,620 --> 00:38:01,370 para protexer a canle de datos, e iso é outro gran vulnerabilidade vou falar, 539 00:38:01,370 --> 00:38:05,160 que os datos están sendo enviados en claro. 540 00:38:05,160 --> 00:38:09,040 Se o usuario está nunha rede Wi-Fi pública 541 00:38:09,040 --> 00:38:12,330 ou alguén está cheirando a internet nalgún lugar 542 00:38:12,330 --> 00:38:19,260 ao longo do percorrido que os datos están sendo expostos. 543 00:38:19,260 --> 00:38:23,790 Un moi famoso caso deste baleirado de información pasou con Pandora, 544 00:38:23,790 --> 00:38:27,250 e iso é algo que investigou no Veracode. 545 00:38:27,250 --> 00:38:33,200 Escoitamos que había unha-Eu creo que foi unha Comisión Federal de Comercio 546 00:38:33,200 --> 00:38:35,310 investigación a suceder con Pandora. 547 00:38:35,310 --> 00:38:39,830 Nós dixemos: "O que está a suceder alí? Imos comezar a cavar para a aplicación Pandora". 548 00:38:39,830 --> 00:38:46,690 E o que determinou foi a aplicación Pandora recollidas 549 00:38:46,690 --> 00:38:51,270 seu sexo ea súa idade, 550 00:38:51,270 --> 00:38:56,660 e tamén acceder á súa localización GPS ea aplicación Pandora 551 00:38:56,660 --> 00:39:00,200 fixo isto para que eles dixeron eran razóns lexítimas. 552 00:39:00,200 --> 00:39:05,360 A música que eles estaban xogándose Pandora é unha aplicación de streaming de música 553 00:39:05,360 --> 00:39:07,530 a música que eles estaban xogando só foi licenciado en Estados Unidos, 554 00:39:07,530 --> 00:39:13,020 entón eles tiñan que comprobar a cumprir os seus contratos de licenza que tiñan 555 00:39:13,020 --> 00:39:17,240 para a música que o usuario estaba nos Estados Unidos. 556 00:39:17,240 --> 00:39:25,070 Eles querían cumprir co parental Advisory 557 00:39:25,070 --> 00:39:33,790 en torno a linguaxe adulta na música, 558 00:39:33,790 --> 00:39:37,500 e por iso é un programa voluntario, pero eles querían cumprir esa 559 00:39:37,500 --> 00:39:43,010 e non xogar letras explícitas para nenos de 13 anos ou menos. 560 00:39:43,010 --> 00:39:46,280 >> Tiñan razóns lexítimas para a obtención de datos. 561 00:39:46,280 --> 00:39:49,160 Seu programa tiña os permisos para facelo. 562 00:39:49,160 --> 00:39:52,000 Usuarios pensaba que iso era lexítimo. Pero o que pasou? 563 00:39:52,000 --> 00:39:55,810 Eles ligaron en 3 ou 4 bibliotecas de anuncios diferentes. 564 00:39:55,810 --> 00:39:59,140 Agora, de súpeto, todas estas bibliotecas de anuncios 565 00:39:59,140 --> 00:40:02,970 están tendo acceso a esta mesma información. 566 00:40:02,970 --> 00:40:05,830 As bibliotecas de anuncios, se ollar o código nas bibliotecas de anuncios 567 00:40:05,830 --> 00:40:08,430 o que fan é cada biblioteca anuncio di 568 00:40:08,430 --> 00:40:11,340 "Será que o meu programa ten permiso para obter a localización GPS?" 569 00:40:11,340 --> 00:40:14,890 "Oh, iso? Ben, me diga a localización GPS." 570 00:40:14,890 --> 00:40:16,620 Cada biblioteca anuncio só fai iso, 571 00:40:16,620 --> 00:40:19,740 e se a aplicación non ten permiso GPS 572 00:40:19,740 --> 00:40:23,460 non poderá obtelo, pero se isto acontecer, que vai busca-la. 573 00:40:23,460 --> 00:40:26,240 Este é o lugar onde o modelo de negocio das bibliotecas de anuncios 574 00:40:26,240 --> 00:40:31,160 oponse á privacidade do usuario. 575 00:40:31,160 --> 00:40:34,980 E houbo estudos alí fóra, que vai dicir se sabe a idade 576 00:40:34,980 --> 00:40:38,430 dunha persoa e sabe que a súa situación 577 00:40:38,430 --> 00:40:42,530 onde durmir á noite, porque ten as coordenadas GPS 578 00:40:42,530 --> 00:40:46,030 mentres eles están durmindo, quizais, vostede sabe exactamente quen é esa persoa 579 00:40:46,030 --> 00:40:50,230 porque pode determinar membro desta familia é esa persoa. 580 00:40:50,230 --> 00:40:54,780 Realmente esta é a identificación para anunciantes 581 00:40:54,780 --> 00:40:59,530 exactamente quen é vostede, e parece que era lexítimo. 582 00:40:59,530 --> 00:41:02,800 Eu só quero que o meu streaming de música, e esta é a única forma de obtelo. 583 00:41:02,800 --> 00:41:05,370 >> Ben, nós expuxemos iso. 584 00:41:05,370 --> 00:41:08,030 Nós escribir isto en varios artigos, 585 00:41:08,030 --> 00:41:13,280 e descubriuse que alguén da revista Rolling Stone 586 00:41:13,280 --> 00:41:18,810 ler un dos nosos artigos e escribiu o seu propio blog na revista Rolling Stone sobre o tema, 587 00:41:18,810 --> 00:41:22,120 e ao día seguinte Pandora pensou que era unha boa idea 588 00:41:22,120 --> 00:41:27,600 para eliminar as bibliotecas de anuncios coa súa aplicación. 589 00:41:27,600 --> 00:41:31,270 Polo que eu sei que son o único, eles deben ser eloxiados. 590 00:41:31,270 --> 00:41:35,770 Eu creo que son o único tipo freemium de aplicación que teña feito isto. 591 00:41:35,770 --> 00:41:38,660 Todos os outros programas freemium ter ese mesmo comportamento, 592 00:41:38,660 --> 00:41:41,780 así que ten que pensar sobre o tipo de datos que está dando 593 00:41:41,780 --> 00:41:48,330 estas aplicacións freemium porque todo vai para os anunciantes. 594 00:41:48,330 --> 00:41:53,390 Praetorian tamén fixo un estudo sobre as bibliotecas compartidas e dixo: 595 00:41:53,390 --> 00:41:57,100 "Imos ver cales bibliotecas compartidas son as bibliotecas compartidas top", e iso foi os datos. 596 00:41:57,100 --> 00:41:59,420 >> Eles analizaron 53 mil apps, 597 00:41:59,420 --> 00:42:01,900 ea biblioteca compartida número 1 foi AdMob. 598 00:42:01,900 --> 00:42:06,060 De feito, foi en 38% das aplicacións aí fóra, 599 00:42:06,060 --> 00:42:08,800 así 38% das aplicacións que está a usar 600 00:42:08,800 --> 00:42:11,250 probablemente están collendo a súa información persoal 601 00:42:11,250 --> 00:42:16,650 e enviá-lo para as redes de anuncios. 602 00:42:16,650 --> 00:42:19,350 Apache e Android foron de 8% e 6%, 603 00:42:19,350 --> 00:42:22,960 e logo, estes outros, na parte inferior, Google Ads, Flurry, 604 00:42:22,960 --> 00:42:26,600 Mob City e Millennial Media, 605 00:42:26,600 --> 00:42:30,500 estas son as empresas de publicidade, e despois, curiosamente, 606 00:42:30,500 --> 00:42:33,500 4% ligados na biblioteca Facebook 607 00:42:33,500 --> 00:42:38,870 probabelmente para facer a identificación a través de Facebook 608 00:42:38,870 --> 00:42:40,810 de xeito que a aplicación podería rexistrarse Facebook. 609 00:42:40,810 --> 00:42:44,660 Pero iso tamén significa que a corporación Facebook controla código 610 00:42:44,660 --> 00:42:49,010 que está a ser executado en un 4% das aplicacións móbiles Android aí, 611 00:42:49,010 --> 00:42:53,490 e eles teñen acceso a todos os datos que este programa ten permiso para chegar. 612 00:42:53,490 --> 00:42:57,170 Facebook esencialmente intenta vender espazo publicitario. 613 00:42:57,170 --> 00:43:00,120 Ese é o seu modelo de negocio. 614 00:43:00,120 --> 00:43:02,920 >> Se ollar para todo este ecosistema con os permisos 615 00:43:02,920 --> 00:43:07,740 e bibliotecas compartidas, comeza a ver que 616 00:43:07,740 --> 00:43:13,850 ten unha morea de risco nunha aplicación, supostamente lexítima. 617 00:43:13,850 --> 00:43:19,360 A mesma cousa semellante que pasou con Pandora 618 00:43:19,360 --> 00:43:22,340 aconteceu con un programa chamado Path, 619 00:43:22,340 --> 00:43:27,660 e Camiño pensaron que estaban a ser útiles, desenvolvedores amigables. 620 00:43:27,660 --> 00:43:32,160 Eles estaban só tentando darlle unha gran experiencia do usuario, 621 00:43:32,160 --> 00:43:37,810 e descubriuse que sen avisar o usuario ou dicir calquera cousa que o usuario- 622 00:43:37,810 --> 00:43:40,400 e aconteceu no iPhone e en Android, 623 00:43:40,400 --> 00:43:44,420 a aplicación Pandora foi o iPhone e Android- 624 00:43:44,420 --> 00:43:48,890 que a aplicación Path foi coller o seu libro de enderezos enteiro 625 00:43:48,890 --> 00:43:52,830 e envialo ao camiño só cando instalou e executou a aplicación, 626 00:43:52,830 --> 00:43:55,840 e non falar sobre iso. 627 00:43:55,840 --> 00:43:58,750 Eles pensaron que era realmente útil para ti 628 00:43:58,750 --> 00:44:04,040 para poder compartir con todas as persoas na súa lista de enderezos 629 00:44:04,040 --> 00:44:06,920 que está a usar a aplicación Path. 630 00:44:06,920 --> 00:44:09,490 >> Ben, obviamente Camiño pensaba que iso era óptimo para a súa empresa. 631 00:44:09,490 --> 00:44:13,510 Non tan grande para o usuario. 632 00:44:13,510 --> 00:44:19,020 Ten que pensar que é unha cousa que se cadra un adolescente 633 00:44:19,020 --> 00:44:23,700 está a usar esta aplicación e as súas decenas de amigos están alí, 634 00:44:23,700 --> 00:44:29,360 pero o que si é o CEO dunha empresa que instala Path 635 00:44:29,360 --> 00:44:33,170 e despois, de súpeto, o seu libro de enderezos enteiro está aí enriba? 636 00:44:33,170 --> 00:44:38,310 Vai ter un monte de información de contacto potencialmente valiosa 637 00:44:38,310 --> 00:44:40,920 para unha morea de xente. 638 00:44:40,920 --> 00:44:44,500 Un reporteiro do New York Times, que pode ser capaz de obter o seu número de teléfono 639 00:44:44,500 --> 00:44:47,380 para expresidentes do seu libro de enderezos, 640 00:44:47,380 --> 00:44:54,780 entón, obviamente, unha gran cantidade de información sigilosas é trasladado con algo parecido a isto. 641 00:44:54,780 --> 00:44:58,090 Houbo unha gran pestana tal sobre iso que camiño desculpouse. 642 00:44:58,090 --> 00:45:01,610 Cambiaron a súa aplicación, e aínda impactado Apple. 643 00:45:01,610 --> 00:45:06,950 Apple dixo, "Estamos indo para forzar os provedores de aplicacións para solicitar aos usuarios 644 00:45:06,950 --> 00:45:12,650 se eles están indo a recoller todo o seu catálogo de enderezos. " 645 00:45:12,650 --> 00:45:15,360 >> Parece que o que está pasando aquí é 646 00:45:15,360 --> 00:45:19,430 cando hai unha gran violación de privacidade e iso fai a prensa 647 00:45:19,430 --> 00:45:21,680 vemos un cambio alí fora. 648 00:45:21,680 --> 00:45:23,230 Pero, claro, hai outras cousas por aí. 649 00:45:23,230 --> 00:45:27,440 A aplicación LinkedIn colle súas entradas de calendario, 650 00:45:27,440 --> 00:45:34,530 pero Apple non fai o usuario será solicitada a este respecto. 651 00:45:34,530 --> 00:45:38,030 As entradas de calendario pode ter información confidencial neles tamén. 652 00:45:38,030 --> 00:45:40,000 Onde é que vai debuxar a liña? 653 00:45:40,000 --> 00:45:43,960 Isto realmente é unha especie de lugar evolucionando 654 00:45:43,960 --> 00:45:47,640 onde non hai realmente ningunha boa calidade por aí 655 00:45:47,640 --> 00:45:51,990 para os usuarios a entender cando a súa información vai estar en perigo 656 00:45:51,990 --> 00:45:57,820 e cando eles van saber que está a ser tomada. 657 00:45:57,820 --> 00:46:03,040 Nós escribir unha aplicación Veracode chamado Adios, 658 00:46:03,040 --> 00:46:08,350 e, esencialmente, que lle permitiu apuntar a aplicación no seu directorio de iTunes 659 00:46:08,350 --> 00:46:12,550 e ollar para todas as aplicacións que foron collendo o seu libro de enderezo completo. 660 00:46:12,550 --> 00:46:19,760 E como podes ver nesta lista aquí, Angry Birds, 661 00:46:19,760 --> 00:46:21,590 AIM, AroundMe. 662 00:46:21,590 --> 00:46:24,050 Por que Angry Birds precisa do seu libro de enderezos? 663 00:46:24,050 --> 00:46:29,160 Eu non sei, pero de algunha maneira. 664 00:46:29,160 --> 00:46:32,310 >> Isto é algo que moitos, moitos programas fan. 665 00:46:32,310 --> 00:46:34,780 Pode inspeccionar o código para iso. 666 00:46:34,780 --> 00:46:38,660 Hai APIs ben definidas para iPhone, Android e BlackBerry 667 00:46:38,660 --> 00:46:42,120 para chegar ao libro de enderezos. 668 00:46:42,120 --> 00:46:48,520 Pode moi facilmente inspeccionar para iso, e iso é o que nós fixemos na nosa aplicación Adios. 669 00:46:48,520 --> 00:46:52,320 A seguinte categoría, inseguro de almacenamento de datos sensibles, 670 00:46:52,320 --> 00:46:55,670 é algo que os desenvolvedores tomar algo como un alfinete ou un número de conta 671 00:46:55,670 --> 00:46:58,530 ou un contrasinal e garde-a en claro no dispositivo. 672 00:46:58,530 --> 00:47:02,310 Aínda peor, poden almacena-lo nunha área no teléfono 673 00:47:02,310 --> 00:47:06,820 que é globalmente accesible, como a tarxeta SD. 674 00:47:06,820 --> 00:47:11,320 Ve iso con máis frecuencia en Android porque Android permite a unha tarxeta SD. 675 00:47:11,320 --> 00:47:13,200 Dispositivos iPhone non. 676 00:47:13,200 --> 00:47:17,900 Pero aínda vimos isto acontecer nunha aplicación Citigroup. 677 00:47:17,900 --> 00:47:25,450 A súa aplicación bancaria en liña gardados os números de conta de forma insegura, 678 00:47:25,450 --> 00:47:28,120 só en claro, entón se perde o seu dispositivo, 679 00:47:28,120 --> 00:47:30,670 esencialmente perdeu a súa conta bancaria. 680 00:47:30,670 --> 00:47:36,000 É por iso que eu, persoalmente, non facer banca no meu iPhone. 681 00:47:36,000 --> 00:47:43,710 Creo que é moi arriscado no momento de facer estes tipos de actividades. 682 00:47:43,710 --> 00:47:45,950 >> Skype fixo o mesmo. 683 00:47:45,950 --> 00:47:49,870 Skype, por suposto, ten un saldo de conta, nome de usuario e contrasinal 684 00:47:49,870 --> 00:47:51,030 que poida acceder a este equilibrio. 685 00:47:51,030 --> 00:48:00,080 Estaban almacenando toda a información en claro no teléfono móbil. 686 00:48:00,080 --> 00:48:05,760 Teño algúns exemplos aquí de crear arquivos 687 00:48:05,760 --> 00:48:10,310 que non teñen os permisos axeitadas ou gravando nun disco 688 00:48:10,310 --> 00:48:17,260 e non ter ningún cifrado ocorrer para iso. 689 00:48:17,260 --> 00:48:20,190 Esta próxima zona, inseguro de transmisión de datos sensibles, 690 00:48:20,190 --> 00:48:24,450 Eu xa aludiu a iso algunhas veces, e por mor do público WiFi 691 00:48:24,450 --> 00:48:27,770 iso é algo que as aplicacións absolutamente que facer, 692 00:48:27,770 --> 00:48:31,250 e este é, probablemente, o que vemos errar máis. 693 00:48:31,250 --> 00:48:34,920 Eu diría-de feito, eu creo que eu teño os datos reais, 694 00:48:34,920 --> 00:48:38,120 pero é preto de metade das aplicacións móbiles 695 00:48:38,120 --> 00:48:41,780 romper facendo SSL. 696 00:48:41,780 --> 00:48:43,910 Eles simplemente non usar as APIs correctamente. 697 00:48:43,910 --> 00:48:47,970 É dicir, todo o que tes que facer é seguir as instrucións e utilizar as APIs, 698 00:48:47,970 --> 00:48:54,720 pero cousas como non comprobar se existe un certificado válido, no outro extremo, 699 00:48:54,720 --> 00:49:02,120 non comprobar se o outro extremo está a tratar de facer un ataque protocolo descenso. 700 00:49:02,120 --> 00:49:07,200 >> Os desenvolvedores, queren obter a súa opción, non? 701 00:49:07,200 --> 00:49:11,910 A súa esixencia é a de usar isto para vender. Utilizaban tanto para vender. 702 00:49:11,910 --> 00:49:14,800 A demanda non é usar isto para vender con seguridade, 703 00:49:14,800 --> 00:49:19,680 e así é por iso que todas as aplicacións que utilizan o SSL para protexer datos 704 00:49:19,680 --> 00:49:23,470 como está a ser transmitida apagalo realmente precisan ser inspeccionadas 705 00:49:23,470 --> 00:49:28,950 estar seguro de que foi aplicado correctamente. 706 00:49:28,950 --> 00:49:32,850 E aquí eu teño algúns exemplos onde se pode ver unha aplicación 707 00:49:32,850 --> 00:49:37,400 pode estar usando HTTP en vez de HTTP. 708 00:49:37,400 --> 00:49:40,510 Nalgúns casos, aplicacións vai caer de volta para HTTP 709 00:49:40,510 --> 00:49:44,250 O HTTPS non está funcionando. 710 00:49:44,250 --> 00:49:49,070 Teño outra chamada aquí en Android onde desactivado a verificación dos certificados, 711 00:49:49,070 --> 00:49:51,700 así un ataque man-in-the-middle pode ocorrer. 712 00:49:51,700 --> 00:49:56,370 Un certificado válido será aceptado. 713 00:49:56,370 --> 00:50:01,920 Estes son todos os casos en que os atacantes van ser capaces de obter en 714 00:50:01,920 --> 00:50:07,150 a mesma conexión Wi-Fi como o usuario e acceso de todos os datos 715 00:50:07,150 --> 00:50:11,650 que está a ser enviada a través de internet. 716 00:50:11,650 --> 00:50:15,970 >> E, finalmente, a última categoría que eu teño aquí é o contrasinal e claves codificado. 717 00:50:15,970 --> 00:50:21,470 Nós realmente ver unha chea de desarrolladores utilizar o mesmo estilo de codificación 718 00:50:21,470 --> 00:50:25,900 que fixeron cando estaban construíndo aplicacións de servidor web, 719 00:50:25,900 --> 00:50:29,700 así eles están construíndo unha aplicación de servidor Java, e están codificar a clave. 720 00:50:29,700 --> 00:50:31,940 Ben, cando está a construír unha aplicación de servidor, si, 721 00:50:31,940 --> 00:50:34,240 codificar a clave non é unha boa idea. 722 00:50:34,240 --> 00:50:36,290 Faise difícil de cambiar. 723 00:50:36,290 --> 00:50:40,700 Pero non é tan malo no lado do servidor, porque quen ten acceso ao lado do servidor? 724 00:50:40,700 --> 00:50:43,140 Só os administradores. 725 00:50:43,140 --> 00:50:48,100 Pero se tomar o mesmo código e derramou-o para unha aplicación móbil 726 00:50:48,100 --> 00:50:52,550 agora todo o mundo que ten ese aplicación móbil ten acceso a esa chave codificada, 727 00:50:52,550 --> 00:50:56,380 e realmente vemos iso unha morea de veces, e eu teño algunhas estatísticas 728 00:50:56,380 --> 00:51:00,920 de cantas veces vemos isto acontecer. 729 00:51:00,920 --> 00:51:04,940 El realmente estaba no código de exemplo que a MasterCard publicado 730 00:51:04,940 --> 00:51:06,850 sobre como usar o seu servizo. 731 00:51:06,850 --> 00:51:11,860 O código de exemplo amosa como é que coller o contrasinal 732 00:51:11,860 --> 00:51:14,850 e poñelas nunha secuencia codificada alí mesmo, 733 00:51:14,850 --> 00:51:19,380 e sabemos como os desenvolvedores quere copiar e pegar fragmentos de código 734 00:51:19,380 --> 00:51:22,360 cando eles están tentando facer algo, para que copie e pegue o fragmento de código 735 00:51:22,360 --> 00:51:28,450 que deu como exemplo de código, e ten unha aplicación inseguro. 736 00:51:28,450 --> 00:51:31,490 >> E aquí temos algúns exemplos. 737 00:51:31,490 --> 00:51:35,840 Este primeiro é que podemos ver unha chea onde se codificar 738 00:51:35,840 --> 00:51:40,510 o dereito de datos en unha URL que é enviado. 739 00:51:40,510 --> 00:51:45,120 Ás veces vemos cadea password = o contrasinal. 740 00:51:45,120 --> 00:51:49,060 Iso é moi fácil de detectar, ou cadea contrasinal no BlackBerry e Android. 741 00:51:49,060 --> 00:51:53,680 É realmente moi fácil para comprobar a porque case sempre 742 00:51:53,680 --> 00:51:57,030 os nomes de desenvolvedores a variable que está sostendo o contrasinal 743 00:51:57,030 --> 00:52:02,290 algunha variación de contrasinal. 744 00:52:02,290 --> 00:52:05,200 Eu mencionar que nós facemos a análise estática en Veracode, 745 00:52:05,200 --> 00:52:11,790 polo que temos analizado varios centos de aplicacións Android e IOS. 746 00:52:11,790 --> 00:52:15,160 Nós construímos modelos cheo deles, e nós somos capaces de dixitalizar-los 747 00:52:15,160 --> 00:52:19,280 para diferentes vulnerabilidades, sobre as vulnerabilidades que eu estaba falando, 748 00:52:19,280 --> 00:52:21,050 e eu teño algúns datos aquí. 749 00:52:21,050 --> 00:52:24,320 68,5% das aplicacións Android que nós miramos 750 00:52:24,320 --> 00:52:28,590 tiña roto código criptográfico, 751 00:52:28,590 --> 00:52:33,240 que, para nós, non podemos detectar se fixo a súa propia rutina de cifrado, 752 00:52:33,240 --> 00:52:38,980 non que iso sexa unha boa idea, pero iso está realmente usando as APIs publicadas 753 00:52:38,980 --> 00:52:42,530 que están sobre a plataforma, pero facendo-as de tal xeito 754 00:52:42,530 --> 00:52:46,680 que o cifrado sería vulnerábel, 68,5. 755 00:52:46,680 --> 00:52:49,870 E iso é para as persoas que están enviando-nos as súas aplicacións, porque en realidade 756 00:52:49,870 --> 00:52:53,730 eles pensan que é unha boa idea para facer probas de seguridade. 757 00:52:53,730 --> 00:52:56,960 Estes xa son persoas que probablemente están a pensar en seguridade, 758 00:52:56,960 --> 00:52:59,540 por iso é probablemente aínda peor. 759 00:52:59,540 --> 00:53:02,690 >> Eu non falar de control de liña de inxección de alimentación. 760 00:53:02,690 --> 00:53:07,640 É que comprobar se hai algo, pero non é tan arriscado un problema. 761 00:53:07,640 --> 00:53:15,390 Baleirado de información, este é o lugar onde os datos confidenciais están sendo enviadas fóra do dispositivo. 762 00:53:15,390 --> 00:53:19,270 Descubrimos que o 40% das solicitudes. 763 00:53:19,270 --> 00:53:23,540 Tempo e Estado, estas son cuestións tipo de condición de carreira, normalmente moi difíciles de explotar, 764 00:53:23,540 --> 00:53:26,170 entón eu non falar sobre iso, pero miramos para el. 765 00:53:26,170 --> 00:53:28,750 23% tiveron problemas de inxección SQL. 766 00:53:28,750 --> 00:53:32,020 Moitas persoas non saben que unha morea de aplicacións 767 00:53:32,020 --> 00:53:35,880 use un pequeno banco de datos SQL pouco no seu back-end para almacenar datos. 768 00:53:35,880 --> 00:53:40,430 Ben, se os datos que está agarrando na rede 769 00:53:40,430 --> 00:53:43,800 ten cordas de ataque de inxección SQL nel 770 00:53:43,800 --> 00:53:45,970 alguén pode comprometer o dispositivo a través diso, 771 00:53:45,970 --> 00:53:49,800 e entón eu creo que atopamos uns 40% das aplicacións web ten este problema, 772 00:53:49,800 --> 00:53:52,840 que é un problema enorme epidemia. 773 00:53:52,840 --> 00:53:55,740 Podemos atopalo 23% do tempo en aplicacións móbiles 774 00:53:55,740 --> 00:54:02,030 e iso pode ser porque moitas outras aplicacións web empregan SQL do móbil. 775 00:54:02,030 --> 00:54:05,580 >> E despois aínda vemos algúns cross-site scripting, as cuestións de autorización, 776 00:54:05,580 --> 00:54:09,400 e xestión de credenciais, que é onde ten o seu contrasinal codificado. 777 00:54:09,400 --> 00:54:14,540 O 5% das solicitudes que ver iso. 778 00:54:14,540 --> 00:54:17,970 E entón temos algúns datos sobre IOS. 779 00:54:17,970 --> 00:54:20,180 81% tiveron problemas de tratamento de erros. 780 00:54:20,180 --> 00:54:23,130 Este é un problema de calidade de código, 781 00:54:23,130 --> 00:54:28,010 pero o 67% tiveron problemas de cifrado, polo que non é tan malo como Android. 782 00:54:28,010 --> 00:54:32,440 Quizais as APIs son un pouco máis fácil, os códigos de exemplo un pouco mellor en iOS. 783 00:54:32,440 --> 00:54:35,420 Pero aínda unha porcentaxe moi elevada. 784 00:54:35,420 --> 00:54:39,040 Tivemos 54% co baleirado de información, 785 00:54:39,040 --> 00:54:42,080 preto de 30% con erros de xestión buffer. 786 00:54:42,080 --> 00:54:45,930 É lugares onde non podería ser un problema de corrupción de memoria. 787 00:54:45,930 --> 00:54:50,350 Acontece que isto non é tanto un problema para a explotación 788 00:54:50,350 --> 00:54:56,450 en iOS, porque todo o código debe ser asinado, 789 00:54:56,450 --> 00:55:02,210 por iso é difícil para un invasor executar un código arbitrario en iOS. 790 00:55:02,210 --> 00:55:07,880 Calidade de código, paso de directorio, pero despois credenciais xestión aquí en 14,6%, 791 00:55:07,880 --> 00:55:09,250 tan peor que en Android. 792 00:55:09,250 --> 00:55:13,240 Temos xente non xestionar contrasinais correctamente. 793 00:55:13,240 --> 00:55:15,790 E, a continuación, os erros numéricos e buffer overflow, 794 00:55:15,790 --> 00:55:22,680 quen son máis vai haber problemas de calidade de código en iOS. 795 00:55:22,680 --> 00:55:26,110 >> Que foi a miña presentación. Eu non sei se estamos sen tempo ou non. 796 00:55:26,110 --> 00:55:29,540 Non sei se hai algunha dúbida. 797 00:55:29,540 --> 00:55:33,220 [Feminino] Unha pregunta rápida arredor da fragmentación e do mercado de Android. 798 00:55:33,220 --> 00:55:36,240 Apple, polo menos, é propietario de corrección. 799 00:55:36,240 --> 00:55:40,780 Eles fan un bo traballo de comeza-lo alí fóra, mentres menos así, no espazo Android. 800 00:55:40,780 --> 00:55:44,280 Vostede case ten desbloquear o teléfono para manterse actualizado 801 00:55:44,280 --> 00:55:46,660 coa versión actual de Android. 802 00:55:46,660 --> 00:55:50,960 Si, iso é un problema enorme e por iso, se pensar sobre- 803 00:55:50,960 --> 00:55:52,280 [Feminino] Por que non pode repetir? 804 00:55:52,280 --> 00:55:55,610 >> Ah, ben, entón a pregunta é o que pasa coa fragmentación 805 00:55:55,610 --> 00:56:00,410 do sistema operativo na plataforma Android? 806 00:56:00,410 --> 00:56:05,890 Como iso afecta o grao de risco destes dispositivos? 807 00:56:05,890 --> 00:56:09,700 E iso realmente é un problema enorme, xa que o que pasa é 808 00:56:09,700 --> 00:56:15,110 os dispositivos máis antigos, cando alguén xorde cun jailbreak para este dispositivo, 809 00:56:15,110 --> 00:56:19,960 esencialmente iso é escalação de privilexios, e ata que o sistema operativo está actualizado 810 00:56:19,960 --> 00:56:25,350 calquera malware pode, entón, usar esta vulnerabilidade para comprometer totalmente o dispositivo, 811 00:56:25,350 --> 00:56:30,200 E o que estamos a ver en Android é a fin de obter un novo sistema operativo 812 00:56:30,200 --> 00:56:34,690 Google ten que apagar o sistema operativo e, a continuación, o fabricante do hardware 813 00:56:34,690 --> 00:56:39,390 ten que personalizar-lo, e, a continuación, o transportista ten a personalizar-lo e entrega-lo. 814 00:56:39,390 --> 00:56:43,070 Ten basicamente tres partes móbiles aquí, 815 00:56:43,070 --> 00:56:47,210 e está xirando para fóra para que os transportistas non me importa, 816 00:56:47,210 --> 00:56:50,400 e os fabricantes de hardware non lles importa, e Google non está estimulando-as abondo 817 00:56:50,400 --> 00:56:54,430 para facer calquera cousa, polo que, esencialmente máis da metade dos dispositivos aí 818 00:56:54,430 --> 00:57:00,590 teñen sistemas operativos que teñen esas vulnerabilidades de escalonamento de privilexios neles, 819 00:57:00,590 --> 00:57:08,440 e por iso, se ten malware no seu teléfono Android é moito máis dun problema. 820 00:57:08,440 --> 00:57:10,350 >> Vale, moitas grazas. 821 00:57:10,350 --> 00:57:12,310 [Aplausos] 822 00:57:12,310 --> 00:57:14,310 [CS50.TV]