1 00:00:00,000 --> 00:00:02,610 >> [Seminar] [brani Za napravo: Mobile Application Security] 2 00:00:02,610 --> 00:00:04,380 [Chris Wysopal] [Harvard University] 3 00:00:04,380 --> 00:00:07,830 [To je CS50.] [CS50.TV] 4 00:00:07,830 --> 00:00:10,360 >> Dober dan. Moje ime je Chris Wysopal. 5 00:00:10,360 --> 00:00:13,360 Jaz sem CTO in soustanovitelj Veracode. 6 00:00:13,360 --> 00:00:15,880 Veracode je varnost uporabe, podjetje. 7 00:00:15,880 --> 00:00:18,230 Smo preizkusili vse vrste različnih aplikacij, 8 00:00:18,230 --> 00:00:25,060 in kaj bom govoril o danes je varnost mobilna aplikacija. 9 00:00:25,060 --> 00:00:28,630 Moje ozadje je kar delam raziskave na področju varnosti 10 00:00:28,630 --> 00:00:31,970 za zelo dolgo časa, verjetno pa tako dolgo, kot vsi. 11 00:00:31,970 --> 00:00:35,000 Začel sem v sredini 90. let, 12 00:00:35,000 --> 00:00:37,370 in to je bil čas, ki je bil zelo zanimiv, saj 13 00:00:37,370 --> 00:00:39,220 smo imeli spremembo paradigme v sredini 90. let. 14 00:00:39,220 --> 00:00:43,520 Naenkrat računalniku vsakega bil zasvojen z internetom, 15 00:00:43,520 --> 00:00:46,550 in potem bomo imeli začetke spletnih aplikacij, 16 00:00:46,550 --> 00:00:49,330 in to je tisto, kar sem se osredotočil na veliko takrat. 17 00:00:49,330 --> 00:00:51,160 To je zanimivo. 18 00:00:51,160 --> 00:00:53,930 Zdaj imamo še eno spremembo paradigme dogaja z računalništva, 19 00:00:53,930 --> 00:00:58,710 ki je prehod za mobilne aplikacije. 20 00:00:58,710 --> 00:01:03,680 >> Menim, da je nekako podobno časa, potem pa je bil v poznih 90. letih 21 00:01:03,680 --> 00:01:07,650 ko smo preiskovanju spletnih aplikacij in iskanje napak, kot so 22 00:01:07,650 --> 00:01:11,800 napake upravljanja seje in SQL injection 23 00:01:11,800 --> 00:01:14,940 ki v resnici ni obstajal prej, in kar naenkrat so bili povsod 24 00:01:14,940 --> 00:01:19,360 v spletnih aplikacijah, in zdaj veliko časa preživim 25 00:01:19,360 --> 00:01:27,950 je videti na mobilnih aplikacij in videti, kaj se dogaja tam v divjini. 26 00:01:27,950 --> 00:01:32,060 Mobilne aplikacije se v resnici dogaja, da je prevladujoča platformo računalništva, 27 00:01:32,060 --> 00:01:35,060 tako da bomo res morali porabiti veliko časa, če ste v varnostne industrije 28 00:01:35,060 --> 00:01:39,280 s poudarkom na spletnih aplikacij. 29 00:01:39,280 --> 00:01:43,420 Je bilo 29 milijard mobilne aplikacije prenesli v leto 2011. 30 00:01:43,420 --> 00:01:47,920 To je napovedal, da bo 76 milijard apps leta 2014. 31 00:01:47,920 --> 00:01:54,040 Tam je 686.000.000 naprave, ki se bodo kupili letos, 32 00:01:54,040 --> 00:01:57,060 Tako to je, če so ljudje, da se delaš 33 00:01:57,060 --> 00:01:59,600  Večina njihovih strank računalništva gredo naprej. 34 00:01:59,600 --> 00:02:04,220 >> Govoril sem podpredsednika uprave pri Fidelity Investments 35 00:02:04,220 --> 00:02:08,780 Pred nekaj meseci, in je rekel, da samo videli več prometa 36 00:02:08,780 --> 00:02:12,610 početje finančne transakcije iz njihove baze strank 37 00:02:12,610 --> 00:02:16,230 na njihovo mobilno aplikacijo, kot na njihovi spletni strani, 38 00:02:16,230 --> 00:02:20,610 tako da je skupna poraba za splet bila v preteklosti 39 00:02:20,610 --> 00:02:23,800 preverjanje vaše borzne kotacije, upravljanju vašega portfelja, 40 00:02:23,800 --> 00:02:28,060 in smo dejansko videli, da je v letu 2012 preklop 41 00:02:28,060 --> 00:02:30,960 bolj dominanten na mobilni platformi. 42 00:02:30,960 --> 00:02:34,530 Vsekakor, če se dogaja, da je vsaka kriminalna dejavnost, 43 00:02:34,530 --> 00:02:38,900 zlonamerne dejavnosti, da se bo za začetek, da se osredotoča na mobilne platforme 44 00:02:38,900 --> 00:02:44,210 sčasoma ljudje preklopite na to. 45 00:02:44,210 --> 00:02:48,320 Če pogledaš na mobilne platforme, 46 00:02:48,320 --> 00:02:54,380 pogled na tveganja platforme je koristno, da se razgradijo v različnih plasteh, 47 00:02:54,380 --> 00:02:59,010 tako kot ti bi to naredila na namiznem računalniku, 48 00:02:59,010 --> 00:03:02,860 in misliš o različnih plasteh, programsko opremo, operacijski sistem, 49 00:03:02,860 --> 00:03:07,730 omrežni sloj, sloj strojne opreme, in seveda, tam je ranljivosti na vseh teh plasti. 50 00:03:07,730 --> 00:03:10,510 >> Isto se dogaja na mobilni telefon. 51 00:03:10,510 --> 00:03:14,880 Ampak mobile, se zdi, da so nekateri od teh plasti na slabšem. 52 00:03:14,880 --> 00:03:19,840 Za eno, omrežni sloj je bolj problematično na mobilniku 53 00:03:19,840 --> 00:03:25,650 ker veliko ljudi ima v svoji pisarni ali doma 54 00:03:25,650 --> 00:03:30,780 žično povezavo ali so varne Wi-Fi povezave, 55 00:03:30,780 --> 00:03:36,530 in z veliko mobilnih naprav si očitno zunaj doma 56 00:03:36,530 --> 00:03:40,520 ali zunaj pisarne veliko, in če ste z uporabo Wi-Fi tam 57 00:03:40,520 --> 00:03:42,820 Morda uporabljate negotovega Wi-Fi povezave, 58 00:03:42,820 --> 00:03:45,570 nekaj, kar je javna Wi-Fi povezave, 59 00:03:45,570 --> 00:03:48,840 tako da, ko razmišljamo o mobilnih aplikacijah moramo upoštevati 60 00:03:48,840 --> 00:03:53,770 da je mreža okolje bolj tvegano za tiste vloge, 61 00:03:53,770 --> 00:03:57,640 kadar se uporablja Wi-Fi. 62 00:03:57,640 --> 00:04:02,410 In ko sem prišel v bolj mobilne tveganj uporabe 63 00:04:02,410 --> 00:04:04,910 videli boste, zakaj je to bolj pomembno. 64 00:04:04,910 --> 00:04:09,710 Obstajajo tveganja na ravni strojne opreme na mobilnih napravah. 65 00:04:09,710 --> 00:04:11,670 To je področje raziskav v teku. 66 00:04:11,670 --> 00:04:15,910 Ljudje imenujejo te širokopasovne napadi ali frekvenčnem pasu napadi 67 00:04:15,910 --> 00:04:21,870 kje ste napadajo firmware, da je poslušanje radia. 68 00:04:21,870 --> 00:04:25,430 >> To so res grozljive napade, ker 69 00:04:25,430 --> 00:04:27,280 uporabniku ni treba storiti ničesar. 70 00:04:27,280 --> 00:04:30,760 Lahko hit veliko naprav v RF območju 71 00:04:30,760 --> 00:04:36,690 na enkrat, in zdi se, kot vedno, kadar je ta raziskava mehurčki up 72 00:04:36,690 --> 00:04:40,750 hitro postane razvrščeni kjer 73 00:04:40,750 --> 00:04:46,600 ljudje Nalet na okrog in rekel: "Tu nam poveste o tem, in nehaj govoriti o tem." 74 00:04:46,600 --> 00:04:49,460 Obstaja nekaj raziskav dogaja na širokopasovnem področju 75 00:04:49,460 --> 00:04:51,980 vendar se zdi, da je zelo Tišina Tišina. 76 00:04:51,980 --> 00:04:56,910 Mislim, da je bolj tip narod stanju raziskav, ki se dogaja. 77 00:04:56,910 --> 00:05:02,140 Območje aktivnih raziskav, čeprav je operacijski sistem plast, 78 00:05:02,140 --> 00:05:08,910 in spet, to je drugače kot v desktop computing svetu 79 00:05:08,910 --> 00:05:14,840 ker v mobilni prostor, ki ga imajo te skupine ljudi imenujemo jailbreakers, 80 00:05:14,840 --> 00:05:18,670 in jailbreakers se razlikujejo od rednih raziskovalcev ranljivosti. 81 00:05:18,670 --> 00:05:21,970 Poskušajo najti ranljivosti v operacijskem sistemu, 82 00:05:21,970 --> 00:05:27,000 ampak razlog, da poskušate najti ranljivosti ni 83 00:05:27,000 --> 00:05:31,810 vdreti v napravo nekdo drug in ga ogroziti. 84 00:05:31,810 --> 00:05:34,280 To je vdreti v svoj računalnik. 85 00:05:34,280 --> 00:05:38,820 >> Hočejo prodreti na svojem mobilniku, spremenite operacijski sistem uporabljajo svoje mobilne stranke 86 00:05:38,820 --> 00:05:41,050 tako da se lahko izvajajo aplikacij po lastni izbiri 87 00:05:41,050 --> 00:05:44,510 in spremeniti stvari s polnimi upravnih dovoljenj, 88 00:05:44,510 --> 00:05:49,050 in ne želijo povedati prodajalca o tem. 89 00:05:49,050 --> 00:05:52,960 Oni ne marajo varnostnega raziskovalca, ki je bel klobuk varnostni raziskovalec 90 00:05:52,960 --> 00:05:56,600 , ki bo naredil odgovornega razkritja in povedal prodajalec o tem. 91 00:05:56,600 --> 00:06:01,270 Želijo, da to storijo raziskave, in želijo, da ga dejansko objaviti 92 00:06:01,270 --> 00:06:06,400 V izkoriščati ali rootkit ali kodo iz zapora, 93 00:06:06,400 --> 00:06:10,010 in želijo, da to strateško, kot takoj po 94 00:06:10,010 --> 00:06:13,570 je prodajalec ladje nov operacijski sistem. 95 00:06:13,570 --> 00:06:16,350 Imate ta kontradiktoren odnos 96 00:06:16,350 --> 00:06:19,000 z ranljivostmi ravni OS na mobilni telefon, 97 00:06:19,000 --> 00:06:23,150 kar mislim, da je zelo zanimivo in eno mesto, ga vidimo 98 00:06:23,150 --> 00:06:29,210 se naredi tako, da je dobro objavljeni izkoriščajo koda tam 99 00:06:29,210 --> 00:06:31,750 ranljivosti ravni jedra, 100 00:06:31,750 --> 00:06:35,040 in smo videli tistih, ki dejansko s pisci škodljive kode. 101 00:06:35,040 --> 00:06:38,450 To je malo drugačen od PC svetu. 102 00:06:38,450 --> 00:06:42,530 In nato končno plast je vrhnja plast, aplikacije. 103 00:06:42,530 --> 00:06:45,250 To je tisto, kar bom govoril o danes. 104 00:06:45,250 --> 00:06:48,970 >> Drugih slojev obstajajo, in so druge plasti igrajo v njej, 105 00:06:48,970 --> 00:06:53,310 vendar sem večinoma bom govoril o tem, kaj se dogaja na ravni aplikacije 106 00:06:53,310 --> 00:06:55,560 kjer je koda teče v peskovniku. 107 00:06:55,560 --> 00:06:58,670 To nima druge privilegije. 108 00:06:58,670 --> 00:07:02,170 To je za uporabo API za naprave, 109 00:07:02,170 --> 00:07:06,970 vendar še vedno lahko veliko zlonamerne aktivnosti in veliko tveganje zgodilo v tistem sloju 110 00:07:06,970 --> 00:07:09,220 ker to je sloj, kjer se vse informacije. 111 00:07:09,220 --> 00:07:12,330 Aplikacije lahko dostop do vseh informacij o napravi 112 00:07:12,330 --> 00:07:15,390 če imajo ustrezna dovoljenja, 113 00:07:15,390 --> 00:07:17,540 in lahko dostopate do različnih senzorjev na napravo, 114 00:07:17,540 --> 00:07:23,950 GPS senzor, mikrofon, kamera, kar imate. 115 00:07:23,950 --> 00:07:27,380 Čeprav smo le govorimo o ravni aplikacije 116 00:07:27,380 --> 00:07:33,700 imamo veliko tveganje obstaja. 117 00:07:33,700 --> 00:07:38,450 Druga stvar, ki je drugačen o mobilnem okolju 118 00:07:38,450 --> 00:07:45,060 se vsi operacijski sistem igralci so, da je BlackBerry ali Android 119 00:07:45,060 --> 00:07:53,410 ali iOS ali Windows mobile, vsi imajo fino zrnato modela dovoljenj, 120 00:07:53,410 --> 00:07:56,990 in to je eden od načinov, ki so vgrajene v operacijski sistem 121 00:07:56,990 --> 00:08:01,230 Ideja, da to ni tako tvegano kot si misliš. 122 00:08:01,230 --> 00:08:04,550 Čeprav imate vse kontakte tam, vse vaše osebne podatke, 123 00:08:04,550 --> 00:08:09,080 imate svoje fotografije, imate svojo lokacijo tam, 124 00:08:09,080 --> 00:08:14,820 ste shranjevanje vaših bančnih pin za samodejno prijavo na tam, da je varno, ker 125 00:08:14,820 --> 00:08:19,430 apps imeti določene dovoljenja, da se na določenih delih 126 00:08:19,430 --> 00:08:25,080 informacij o napravi, in uporabnik mora biti predstavljen s 127 00:08:25,080 --> 00:08:29,230 teh dovoljenj in reči, v redu. 128 00:08:29,230 --> 00:08:32,590 >> Težava je uporabnik vedno pravi redu. 129 00:08:32,590 --> 00:08:35,240 Zaradi varnosti osebe, vem, da lahko poziv uporabniku, 130 00:08:35,240 --> 00:08:40,100 reči nekaj res slabega se bo zgodilo, želiš, da se zgodi? 131 00:08:40,100 --> 00:08:44,680 In če ste v naglici ali je nekaj res vabljiv, na drugi strani, da 132 00:08:44,680 --> 00:08:47,760 kot igro se bo treba namestiti, da so čakali, 133 00:08:47,760 --> 00:08:50,860 oni 'tekoč, da kliknete v redu. 134 00:08:50,860 --> 00:08:56,630 Zato sem rekel, moj diapozitiv tukaj samo mi romanca ptic na prašičih že, 135 00:08:56,630 --> 00:09:03,150 in si lahko ogledate na slide tu obstaja primeri škatle BlackBerry dovoljenja. 136 00:09:03,150 --> 00:09:05,990 Piše "Prosimo, nastavite aplikacijo dovoljenja za BlackBerry Travel 137 00:09:05,990 --> 00:09:09,720 Po gumb kliknete spodaj, "in v bistvu je uporabnik samo reči 138 00:09:09,720 --> 00:09:12,240 nastavite dovoljenja in shranite. 139 00:09:12,240 --> 00:09:18,010 Tukaj je Android poziv, kjer kaže stvari, 140 00:09:18,010 --> 00:09:20,260 in dejansko postavlja nekaj, kar izgleda skoraj kot opozorilo. 141 00:09:20,260 --> 00:09:25,090 Ima neke vrste donosnosti znak tam rekel komunikacijskega omrežja, telefonski klic, 142 00:09:25,090 --> 00:09:28,120 uporabnik pa se dogaja, da kliknete namestiti, kajne? 143 00:09:28,120 --> 00:09:32,940 In potem Apple ena popolnoma neškodljiv. 144 00:09:32,940 --> 00:09:34,300 To ne daje kakršnokoli opozorilo. 145 00:09:34,300 --> 00:09:37,380 To je samo Apple želi uporabiti svoj trenutni položaj. 146 00:09:37,380 --> 00:09:39,670 Seveda boš kliknite V redu. 147 00:09:39,670 --> 00:09:42,260 >> Tam je to drobnozrnatega modela dovoljenje, 148 00:09:42,260 --> 00:09:45,890 in aplikacije imeti datoteko manifesta, kjer se razglasi 149 00:09:45,890 --> 00:09:49,410 dovoljenja, ki jih potrebujejo, in da bo dobil prikaže uporabniku, 150 00:09:49,410 --> 00:09:53,480 in bo uporabnik moral reči, da odobri ta dovoljenja. 151 00:09:53,480 --> 00:09:55,080 Ampak bodimo pošteni. 152 00:09:55,080 --> 00:09:58,400 Uporabniki so le, da bo vedno rekel, v redu. 153 00:09:58,400 --> 00:10:04,460 Vzemimo hiter pogled na dovoljenja, ki te aplikacije prosijo za 154 00:10:04,460 --> 00:10:06,850 in nekaj dovoljenj, ki so tam. 155 00:10:06,850 --> 00:10:09,950 To podjetje Pretorska naredil raziskavo lani 156 00:10:09,950 --> 00:10:14,170 od 53.000 vlog, analiziranih v Android Market in 3rd party trgih, 157 00:10:14,170 --> 00:10:16,770 tako da to je vse Android. 158 00:10:16,770 --> 00:10:19,670 In povprečno app zahteval 3 dovoljenja. 159 00:10:19,670 --> 00:10:23,370 Nekatere aplikacije zahteval 117 dovoljenj, 160 00:10:23,370 --> 00:10:27,480 tako da očitno so zelo fino zrnata in preveč zapletena za uporabnika, da razumejo 161 00:10:27,480 --> 00:10:31,600 če oni predstavljen s to aplikacijo, ki potrebuje teh 117 dovoljenj. 162 00:10:31,600 --> 00:10:37,270 To je kot končni licenčne pogodbe za uporabnika, ki je 45 strani dolgo. 163 00:10:37,270 --> 00:10:40,240 Mogoče kmalu jih bomo imeli možnost, kjer je kot 164 00:10:40,240 --> 00:10:43,100 tiskanje dovoljenja in mi pošljete e-pošto. 165 00:10:43,100 --> 00:10:45,480 >> Ampak, če vi pogled na nekatere od najboljših zanimivih dovoljenj 166 00:10:45,480 --> 00:10:50,840 24% vseh aplikacij, ki so jih prenesli iz 53.000 167 00:10:50,840 --> 00:10:57,230 zahtevane informacije GPS iz naprave. 168 00:10:57,230 --> 00:10:59,810 8% prebral stike. 169 00:10:59,810 --> 00:11:03,770 4% je poslal SMS, in 3% prejetih SMS. 170 00:11:03,770 --> 00:11:07,730 2% avdio, posnet. 171 00:11:07,730 --> 00:11:11,210 1% predelajo odhodne klice. 172 00:11:11,210 --> 00:11:13,140 Ne vem. 173 00:11:13,140 --> 00:11:17,520 Ne verjamem, 4% apps v App Store res potrebujete za pošiljanje besedilnih sporočil SMS, 174 00:11:17,520 --> 00:11:21,410 tako da mislim, da je to namig, da je nekaj neugoden se dogaja. 175 00:11:21,410 --> 00:11:24,350 8% apps morali prebrati svoj seznam stikov. 176 00:11:24,350 --> 00:11:26,510 To verjetno ni potrebna. 177 00:11:26,510 --> 00:11:30,990 Ena od zanimivih stvari o dovoljenjih je 178 00:11:30,990 --> 00:11:36,740 če ste povezavo na deljene knjižnice v aplikaciji 179 00:11:36,740 --> 00:11:39,780 tistih, ki dedujejo dovoljenja za uporabo, 180 00:11:39,780 --> 00:11:46,570 tako da, če tvoja aplikacija potrebuje seznam stikov ali potrebuje GPS lokacijo deloval 181 00:11:46,570 --> 00:11:49,940 in se povežete v oglaševalski knjižnici, na primer, 182 00:11:49,940 --> 00:11:53,170 da knjižnica oglas bodo lahko dostopali do stikov 183 00:11:53,170 --> 00:11:57,630 in prav tako lahko dostop do GPS lokacijo, 184 00:11:57,630 --> 00:12:01,990 in razvijalec app ne ve ničesar o zakoniku, ki je nameščen v knjižnici oglasov. 185 00:12:01,990 --> 00:12:05,370 Oni so ga samo povezuje, da zato, ker želijo, da prihodek od njihove aplikacije. 186 00:12:05,370 --> 00:12:09,820 >> To je, če in bom govoril o nekaterih primeri to z 187 00:12:09,820 --> 00:12:13,930 aplikacijo, imenovano Pandora, kjer razvijalec aplikacije 188 00:12:13,930 --> 00:12:18,910 morda nevede se razkritje informacij 189 00:12:18,910 --> 00:12:24,580 od svojih uporabnikov, saj knjižnic oni povezanih prijavite 190 00:12:24,580 --> 00:12:30,110 Geodetski pokrajino tam, je videti na vseh različnih aplikacij na 191 00:12:30,110 --> 00:12:34,310 da so poročali v novicah, kot zlonamerne ali delaš nekaj, kar uporabniki niso želeli 192 00:12:34,310 --> 00:12:39,360 in nato pregledovanje veliko apps, bomo veliko statične binarni analize na mobilne aplikacije, 193 00:12:39,360 --> 00:12:42,010 zato smo jih pregledati in pogledal kodo sam- 194 00:12:42,010 --> 00:12:49,640 smo prišli do kar imenujemo naš top 10 seznam tveganih vedenj v aplikacijah. 195 00:12:49,640 --> 00:12:54,180 In to je razčlenjeno na 2 razdelka, zlonamerne kode, 196 00:12:54,180 --> 00:12:57,600 tako da so slabe stvari, ki bi jih bilo mogoče aplikacije, ki delajo 197 00:12:57,600 --> 00:13:06,520 verjetno nekaj, kar zlonamerno posameznik 198 00:13:06,520 --> 00:13:10,060 je posebej dal v uporabo, ampak to je malo megleno. 199 00:13:10,060 --> 00:13:13,300 To bi bilo nekaj, da razvijalec misli, da je v redu, 200 00:13:13,300 --> 00:13:16,350 vendar konča se misli kot zlonamerne s strani uporabnika. 201 00:13:16,350 --> 00:13:19,830 >> In potem drugi del je tisto, čemur pravimo kodiranje ranljivosti, 202 00:13:19,830 --> 00:13:24,600 in to so stvari, kjer razvijalec bistvu je delati napake 203 00:13:24,600 --> 00:13:27,200 ali pa samo ne razumem, kako varno napisati aplikacijo, 204 00:13:27,200 --> 00:13:30,260  in da je dajanje uporabnik app ogroženi. 205 00:13:30,260 --> 00:13:34,060 Jaz grem z njimi podrobno in navedem nekaj primerov. 206 00:13:34,060 --> 00:13:39,620 Za referenco sem hotel dati gor OWASP mobile top 10 seznam. 207 00:13:39,620 --> 00:13:43,590 To so vprašanja, ki 10 skupina na OWASP, 208 00:13:43,590 --> 00:13:48,900 Projekt Open Web Application Security, so delovno skupino 209 00:13:48,900 --> 00:13:50,620 delajo na mobilni top 10 seznamu. 210 00:13:50,620 --> 00:13:54,600 Imajo zelo znan web top 10 albumov, ki so top 10 211 00:13:54,600 --> 00:13:57,180 tvegani stvari, ki jih lahko imate v spletne aplikacije. 212 00:13:57,180 --> 00:13:59,090 Počnejo isto stvar za mobilne naprave, 213 00:13:59,090 --> 00:14:01,750 in njihov seznam je malo drugačna od naše. 214 00:14:01,750 --> 00:14:03,670 6 iz 10 so enake. 215 00:14:03,670 --> 00:14:06,020 Imajo 4, ki so drugačni. 216 00:14:06,020 --> 00:14:10,550 Mislim, da imajo malo drugačne, vse večji 217 00:14:10,550 --> 00:14:14,490 Tveganje v mobilnih aplikacijah, kjer je veliko njihovih vprašanj 218 00:14:14,490 --> 00:14:20,490 res, kako je vloga komuniciranja z back-end server 219 00:14:20,490 --> 00:14:23,100 ali kaj se dogaja na back-end strežnik, 220 00:14:23,100 --> 00:14:29,220 ne toliko programi, ki imajo tveganega vedenja, ki so samo enostavne aplikacije odjemalca. 221 00:14:29,220 --> 00:14:36,640 >> Tisti v rdeči tu so razlike med sezname 2. 222 00:14:36,640 --> 00:14:40,740 In je nekaj mojih raziskovalne skupine dejansko prispevala k temu projektu, 223 00:14:40,740 --> 00:14:44,570 tako da bomo videli, kaj se zgodi v tem času, ampak mislim, da takeaway tukaj 224 00:14:44,570 --> 00:14:47,550 ne vem, kaj top 10 seznam je v aplikacijah za mobilne naprave, saj 225 00:14:47,550 --> 00:14:50,510 oni res šele približno za zdaj 2 ali 3 leta, 226 00:14:50,510 --> 00:14:57,750 in ni bilo dovolj časa, da bo res raziskati operacijske sisteme 227 00:14:57,750 --> 00:15:00,450 in kaj so sposobni, in ni bilo dovolj časa 228 00:15:00,450 --> 00:15:06,870 za zlonamerno skupnosti, če boste, da je preživel dovolj časa 229 00:15:06,870 --> 00:15:12,910 poskuša napad uporabnikom prek mobilne aplikacije, zato pričakujem, ti seznami za spremembo malo. 230 00:15:12,910 --> 00:15:18,720 Ampak za zdaj, to so top 10 stvari treba skrbeti. 231 00:15:18,720 --> 00:15:24,150 Morda se sprašujem, na mobilni strani, kjer pa zlonamerna koda mobilne- 232 00:15:24,150 --> 00:15:28,880 kako je pa težko priti na napravi? 233 00:15:28,880 --> 00:15:35,210 North Carolina država ima projekt, imenovan Mobile Malware Genome Project 234 00:15:35,210 --> 00:15:39,520 kjer se zbira toliko mobilne zlonamerne programske opreme, kot jih lahko in jih analizira, 235 00:15:39,520 --> 00:15:45,270 in oni razčleniti vektorji za vbrizgavanje, da mobilni malware uporablja, 236 00:15:45,270 --> 00:15:51,490 in 86% pa jih uporablja tehniko, imenovano prepakiranje, 237 00:15:51,490 --> 00:15:54,160 in to je samo na platformi Android 238 00:15:54,160 --> 00:15:56,720 Lahko si res to prepakiranje. 239 00:15:56,720 --> 00:16:03,100 >> Razlog se je Android koda zgrajena z 240 00:16:03,100 --> 00:16:08,130 Java byte code imenovan Dalvik, ki je zlahka decompilable. 241 00:16:08,130 --> 00:16:12,460 Kaj slab fant lahko naredite, je 242 00:16:12,460 --> 00:16:16,590 prevzame Android aplikacijo, jo prevajati, 243 00:16:16,590 --> 00:16:20,120 vstavite svojo zlonamerno kodo, jo prevedem, 244 00:16:20,120 --> 00:16:28,070 in ga nato dal v App Store, ki se ima nova različica te aplikacije, 245 00:16:28,070 --> 00:16:30,330 ali pa morda spremenili ime aplikacije. 246 00:16:30,330 --> 00:16:35,140 Če bi bilo neke vrste igro, spremeniti ime rahlo 247 00:16:35,140 --> 00:16:42,860 in zato je to ponovno pakiranje, kako dobi 86% mobilni malware porazdeljena. 248 00:16:42,860 --> 00:16:45,810 Še en tehniko, imenovano posodobitev, ki je 249 00:16:45,810 --> 00:16:50,030 zelo podobna za prepakiranje, ampak si dejansko ne dajo zlonamerne kode noter 250 00:16:50,030 --> 00:16:52,870 Kaj morate storiti, je, si dal v majhno mehanizem za posodabljanje. 251 00:16:52,870 --> 00:16:56,660 Vi prevajati, si dal v mehanizmu za posodobitev in jo prevedem, 252 00:16:56,660 --> 00:17:02,360 in potem ko je app teče potegne navzdol zlonamerne programske opreme na napravi. 253 00:17:02,360 --> 00:17:06,300 >> Do sedaj je večina teh 2 tehnike. 254 00:17:06,300 --> 00:17:12,710 Ni res veliko Download pripeljal mimo ali drive-by downloads na mobilnih telefonih, 255 00:17:12,710 --> 00:17:15,890 kar bi bilo podobno phishing napada. 256 00:17:15,890 --> 00:17:18,200 Hej, check out to res kul spletno stran, 257 00:17:18,200 --> 00:17:21,020 ali pa boste morali iti na tej spletni strani in izpolnite obrazec 258 00:17:21,020 --> 00:17:24,420 da še naprej delaš nekaj. 259 00:17:24,420 --> 00:17:26,230 Tisti, ki so phishing napadov. 260 00:17:26,230 --> 00:17:28,160 Isto se lahko zgodi na pomično platformo, kjer 261 00:17:28,160 --> 00:17:33,830 opozarjajo na mobilne aplikacije za prenos, reči "Zdravo, to je Bank of America." 262 00:17:33,830 --> 00:17:36,070 "Vidimo, da ste s to aplikacijo." 263 00:17:36,070 --> 00:17:38,540 "Vi bi morali prenesti to drugo aplikacijo." 264 00:17:38,540 --> 00:17:41,170 Teoretično, da bi delovalo. 265 00:17:41,170 --> 00:17:48,610 Mogoče pa le ni dovolj, se uporablja za ugotavljanje, ali je uspešen ali ne, 266 00:17:48,610 --> 00:17:51,680 vendar so ugotovili, da se uporablja manj kot 1% časa, ki tehniko. 267 00:17:51,680 --> 00:17:56,130 Večino časa, to je res prepakirati kode. 268 00:17:56,130 --> 00:17:58,710 >> Še ena kategorija se imenuje samostojni 269 00:17:58,710 --> 00:18:01,420 kjer je nekdo pravkar gradi vlogo čisto novo. 270 00:18:01,420 --> 00:18:04,020 Gradijo aplikacijo, ki trdi, da mora biti nekaj. 271 00:18:04,020 --> 00:18:07,360 To ni prepakiranje nekaj drugega, in da ima zlonamerno kodo. 272 00:18:07,360 --> 00:18:11,230 To se uporablja 14% časa. 273 00:18:11,230 --> 00:18:17,880 Sedaj želim govoriti o tem, kaj je zlonamerno kodo delaš? 274 00:18:17,880 --> 00:18:23,070 Ena od prvih malware tam 275 00:18:23,070 --> 00:18:25,490 ti bi lahko razmislil spyware. 276 00:18:25,490 --> 00:18:27,620 To v bistvu vohuni za uporabnika. 277 00:18:27,620 --> 00:18:30,470 Zbira e-pošte, SMS sporočil. 278 00:18:30,470 --> 00:18:32,340 Izkazalo se je na mikrofonu. 279 00:18:32,340 --> 00:18:37,330 To obira kontaktne knjigo, in jo pošlje off nekomu drugemu. 280 00:18:37,330 --> 00:18:40,870 Ta vrsta spyware obstaja na računalniku, 281 00:18:40,870 --> 00:18:46,200 zato je logično, da ljudje poskušali to storiti na mobilnih napravah. 282 00:18:46,200 --> 00:18:53,230 >> Eden prvih primerov je to program, imenovan Secret SMS Replicator. 283 00:18:53,230 --> 00:18:56,250 Bilo je v Android Marketplace pred nekaj leti, 284 00:18:56,250 --> 00:18:59,960 in ideja je bila, če bi imeli dostop do Android telefon nekoga 285 00:18:59,960 --> 00:19:03,450 da si je želel, da vohuni za, tako da morda je to vaš zakonec 286 00:19:03,450 --> 00:19:07,600 ali vaše pomembne druge in želite, da vohuni za njihovo pošiljanje besedilnih sporočil, 287 00:19:07,600 --> 00:19:11,200 si lahko prenesete to app in ga namestite in konfigurirate 288 00:19:11,200 --> 00:19:16,540 za pošiljanje SMS-ov na vas s kopijo 289 00:19:16,540 --> 00:19:21,710 vsakega SMS sporočila SMS so dobili. 290 00:19:21,710 --> 00:19:27,220 To je očitno pri kršitvah App Store glede na dobo, 291 00:19:27,220 --> 00:19:32,040 in to je bil odstranjen iz trgovine Android Marketplace v roku 18 ur, da se tam, 292 00:19:32,040 --> 00:19:36,760 Tako zelo majhno število ljudi, ki so ogroženi zaradi tega. 293 00:19:36,760 --> 00:19:42,510 Zdaj pa mislim, da če je bil program, imenovan nekaj morda malo manj provokativen 294 00:19:42,510 --> 00:19:48,690 kot Secret SMS Replicator verjetno bi delal veliko bolje. 295 00:19:48,690 --> 00:19:52,870 Ampak to je nekako jasno. 296 00:19:52,870 --> 00:19:58,680 >> Ena od stvari, ki jih lahko storite, da se ugotovi, ali ima apps to vedenje, da ne želimo 297 00:19:58,680 --> 00:20:01,410 je pregledati kodo. 298 00:20:01,410 --> 00:20:06,250 To je pravzaprav zelo enostavno narediti na Android, ker smo lahko prevajati apps. 299 00:20:06,250 --> 00:20:11,050 Na iOS lahko uporabite disassembler kot IDA Pro 300 00:20:11,050 --> 00:20:17,190 pogledati, kaj Apis app kliče in kaj počne. 301 00:20:17,190 --> 00:20:20,680 Pisali smo naše binarni statično analizator za našo kodo 302 00:20:20,680 --> 00:20:24,940 in to počnemo in kaj lahko narediš, je, da bi lahko rekli, 303 00:20:24,940 --> 00:20:30,490 se naprava storiti ničesar, da je v bistvu vohuni za mano ali me sledenje? 304 00:20:30,490 --> 00:20:33,360 In imam nekaj primerov tukaj na iPhone. 305 00:20:33,360 --> 00:20:41,440 Ta prvi primer je, kako priti do UUID na telefonu. 306 00:20:41,440 --> 00:20:47,060 To je pravzaprav nekaj, kar je Apple pravkar prepovedala za nove aplikacije, 307 00:20:47,060 --> 00:20:52,540 ampak stare aplikacije, ki ste morda teče na telefonu vedno lahko naredimo to, 308 00:20:52,540 --> 00:20:56,500 in lahko tako, da posebni identifikator uporablja za vas spremljali 309 00:20:56,500 --> 00:21:00,440 v številnih različnih aplikacij. 310 00:21:00,440 --> 00:21:07,180 >> Na Android, imam primer tukaj, da bi dobili lokacijo naprave. 311 00:21:07,180 --> 00:21:10,310 Vidite lahko, da če je API klic, da ga app je sledenje, 312 00:21:10,310 --> 00:21:15,000 in lahko vidite, ali je pridobivanje fino lokacijo ali grobo lokacijo. 313 00:21:15,000 --> 00:21:18,860 In nato na dnu tukaj, imam primer, kako na BlackBerry 314 00:21:18,860 --> 00:21:25,130 Zahtevek lahko dostopate do e-poštnih sporočil v vašem nabiralniku. 315 00:21:25,130 --> 00:21:27,660 To so vrste stvari, ki jih lahko pregledajo, da vidim 316 00:21:27,660 --> 00:21:32,360 če app počne te stvari. 317 00:21:32,360 --> 00:21:38,320 Druga velika kategorija škodljivega delovanja, in to je verjetno največja kategorija zdaj 318 00:21:38,320 --> 00:21:43,950 je nepooblaščeno klicanje, nepooblaščeno premium SMS tekstovnih sporočil 319 00:21:43,950 --> 00:21:46,080 ali nepooblaščene plačila. 320 00:21:46,080 --> 00:21:48,930 Še ena stvar, ki je edinstven o telefonu 321 00:21:48,930 --> 00:21:52,700 se je naprava zasvojen z računom za obračun, 322 00:21:52,700 --> 00:21:55,960 in ko se zgodi dejavnosti na telefonu 323 00:21:55,960 --> 00:21:58,510 lahko ustvarijo stroške. 324 00:21:58,510 --> 00:22:00,700 Lahko kupite stvari po telefonu, 325 00:22:00,700 --> 00:22:04,390 in ko pošljete SMS z besedilom premium sporočilo ste dejansko daje denar 326 00:22:04,390 --> 00:22:11,590 imetniku računa na telefonsko številko, na drugi strani. 327 00:22:11,590 --> 00:22:17,420 Te so bile ustanovljene, da bi dobili borzne kotacije ali se vaš dnevni horoskop ali druge stvari, 328 00:22:17,420 --> 00:22:21,680 vendar jih je mogoče ustanoviti naročiti izdelek s pošiljanjem SMS besedilo. 329 00:22:21,680 --> 00:22:26,970 Ljudje dajo denar za Rdeči križ s pošiljanjem SMS sporočila. 330 00:22:26,970 --> 00:22:30,650 Lahko daš 10 $ na tak način. 331 00:22:30,650 --> 00:22:34,190 >> Napadalci so, kaj so naredili, je, da ustanovijo 332 00:22:34,190 --> 00:22:38,750 računi v tujih državah, in jih vgradili v zlonamerne programske opreme 333 00:22:38,750 --> 00:22:42,840 da bo telefon poslal premium SMS-ov, 334 00:22:42,840 --> 00:22:47,700 pravijo, nekajkrat na dan, in na koncu meseca, ko ugotovimo, da ste porabili 335 00:22:47,700 --> 00:22:52,090 desetine ali celo stotine dolarjev, in oditi z denarjem. 336 00:22:52,090 --> 00:22:57,280 Ta se je tako hudo, da je to prva stvar, ki Android 337 00:22:57,280 --> 00:23:00,760 Marketplace ali Google kraj, da je Android Marketplace v času, 338 00:23:00,760 --> 00:23:04,430 in to je zdaj Google Play-prva stvar, ki se je začel Google preverjanje. 339 00:23:04,430 --> 00:23:08,700 Ko je Google začel distribucijo Android aplikacije v svoji App Store 340 00:23:08,700 --> 00:23:11,350 Rekli so, ne bo ček za karkoli. 341 00:23:11,350 --> 00:23:15,630 Bomo potegnite apps, ko sva bila obveščena, da ste prekinili naše pogoje storitve, 342 00:23:15,630 --> 00:23:17,520 ampak ne bomo, da preverite za karkoli. 343 00:23:17,520 --> 00:23:24,350 No, pred približno letom dni je dobil tako hudo s tem premium SMS-ov malware 344 00:23:24,350 --> 00:23:28,030 da je to prva stvar, ki so začeli preverjanje. 345 00:23:28,030 --> 00:23:31,770 Če lahko app pošiljanje SMS sporočil 346 00:23:31,770 --> 00:23:34,750 se dodatno ročno pregledati to vlogo. 347 00:23:34,750 --> 00:23:38,770 Iščejo API-jev, ki kličejo to, 348 00:23:38,770 --> 00:23:40,580 in zdaj od takrat je Google razširil, 349 00:23:40,580 --> 00:23:46,900 ampak to je bila prva stvar, ki so začeli iskati. 350 00:23:46,900 --> 00:23:50,690 >> Nekatere druge aplikacije, naredil nekaj SMS sporočil, 351 00:23:50,690 --> 00:23:56,980 to Android Qicsomos, mislim, da se imenuje. 352 00:23:56,980 --> 00:24:02,670 Tam je bil ta tok dogodkov na mobilniku, kjer je to CarrierIQ areno 353 00:24:02,670 --> 00:24:07,720 kot spyware dal na napravo, ki jih letalski prevozniki, 354 00:24:07,720 --> 00:24:10,820 tako da ljudje želel vedeti, če je bil njihov telefon občutljivi na to, 355 00:24:10,820 --> 00:24:13,890 in to je bil prost app, ki testirajo to. 356 00:24:13,890 --> 00:24:17,520 No, seveda, kaj to app naredil je bilo poslano premium SMS sporočil, 357 00:24:17,520 --> 00:24:20,090 tako s testiranjem, da vidim, če ste okuženi z vohunskimi programi 358 00:24:20,090 --> 00:24:24,930 naložen zlonamerne programske opreme na napravi. 359 00:24:24,930 --> 00:24:27,310 Videli smo isto stvar zgodi na zadnji Super Bowl. 360 00:24:27,310 --> 00:24:33,180 Tam je bil lažni različica Madden nogometne tekme 361 00:24:33,180 --> 00:24:38,320 da pošlje premium SMS sporočil. 362 00:24:38,320 --> 00:24:45,750 To dejansko poskušal ustvariti bot omrežja tudi na napravi. 363 00:24:45,750 --> 00:24:48,090 Tukaj imam nekaj primerov. 364 00:24:48,090 --> 00:24:52,640 Zanimivo je, da je Apple zelo pameten, 365 00:24:52,640 --> 00:24:58,470 in ne omogočajo aplikacije za pošiljanje SMS sporočil na vseh. 366 00:24:58,470 --> 00:25:00,350 Ne app lahko to storite. 367 00:25:00,350 --> 00:25:03,530 To je odličen način, da se znebi celo vrsto ranljivosti, 368 00:25:03,530 --> 00:25:09,040 ampak na Android lahko to storite, in seveda, na BlackBerry lahko to storite tudi. 369 00:25:09,040 --> 00:25:13,060 Zanimivo je, da vse, kar potrebujete, je na BlackBerry Internet dovoljenja 370 00:25:13,060 --> 00:25:18,370 za pošiljanje SMS-ov. 371 00:25:18,370 --> 00:25:21,580 >> Druga stvar res, da smo si za 372 00:25:21,580 --> 00:25:24,780 ko smo iskali, da vidim, če je nekaj zlonamerno je le vse vrste 373 00:25:24,780 --> 00:25:28,100 nepooblaščeno dejavnost omrežja, kot je pogled na aktivnosti omrežja 374 00:25:28,100 --> 00:25:31,570 app naj bi moral imeti svojo funkcionalnost, 375 00:25:31,570 --> 00:25:35,380 in pogled na te druge omrežne dejavnosti. 376 00:25:35,380 --> 00:25:43,380 Morda app, da deluje, je, da bi dobili podatke preko HTTP, 377 00:25:43,380 --> 00:25:47,500 ampak, če je to početje stvari preko e-pošte ali SMS ali Bluetooth ali kaj podobnega 378 00:25:47,500 --> 00:25:52,890 zdaj, da app bi lahko bilo škodljivo, zato je to še ena stvar, ki jo je mogoče preveriti,. 379 00:25:52,890 --> 00:26:00,430 In na ta diapozitiv tukaj imam nekaj primerov, da. 380 00:26:00,430 --> 00:26:05,950 Še ena zanimiva stvar, ki smo videli z zlonamerno programsko opremo se je zgodilo že v letu 2009, 381 00:26:05,950 --> 00:26:07,600 in to se je zgodilo v veliki način. 382 00:26:07,600 --> 00:26:11,390 Ne vem, če je to zgodilo toliko od takrat, vendar je bilo app 383 00:26:11,390 --> 00:26:15,140 da se pretvarjala drugo aplikacijo. 384 00:26:15,140 --> 00:26:21,700 Tam je bil nabor aplikacij, in je bil poimenovan 09Droid napad, 385 00:26:21,700 --> 00:26:29,770 in nekdo odločil, da je bilo veliko manjših, regionalnih in srednje velikih bank 386 00:26:29,770 --> 00:26:32,260 da ni imela spletnih bančnih vlog, 387 00:26:32,260 --> 00:26:36,870 Torej, kaj so naredili je bilo zgrajene okoli 50 spletnih bančnih vlog 388 00:26:36,870 --> 00:26:39,410 da je bilo vse, kar so si vzeli uporabniško ime in geslo 389 00:26:39,410 --> 00:26:42,190 in vas preusmeri na spletno stran. 390 00:26:42,190 --> 00:26:47,470 In tako dajo ti vse v Google Marketplace, 391 00:26:47,470 --> 00:26:51,530 v Android Marketplace, in ko nekdo iskal, da vidim, če njihova banka 392 00:26:51,530 --> 00:26:56,000 imela vlogo, da bi našli lažne prijave, 393 00:26:56,000 --> 00:27:01,230 ki zbirajo svoje poverilnice in jih nato preusmerjen na njihovi spletni strani. 394 00:27:01,230 --> 00:27:06,640 Tako, da je to dejansko postala-apps so tam za nekaj tednov, 395 00:27:06,640 --> 00:27:09,050 in je bilo na tisoče in tisoče prenose. 396 00:27:09,050 --> 00:27:12,910 >> Način, to je pojavila je bil nekdo, ki ima težave 397 00:27:12,910 --> 00:27:15,740 z eno od vlog, in so pozvali svoje banke, 398 00:27:15,740 --> 00:27:18,390 in so ga imenovali za podporo strankam linijo svojih bančnih in dejal, 399 00:27:18,390 --> 00:27:21,180 "Imam težave z mobilnim bančne vloge." 400 00:27:21,180 --> 00:27:23,460 "Ali mi lahko pomagaš?" 401 00:27:23,460 --> 00:27:26,540 In jim je rekel: »Nimamo bančne vloge mobilni." 402 00:27:26,540 --> 00:27:28,120 Ki se je začela preiskavo. 403 00:27:28,120 --> 00:27:31,200 Da banka imenuje Google, nato pa Google pogledal in rekel: 404 00:27:31,200 --> 00:27:37,220 "Wow, je isti avtor napisal 50 bančnih vlog," in jih vse vzel. 405 00:27:37,220 --> 00:27:43,410 Vsekakor pa bi to lahko ponovilo. 406 00:27:43,410 --> 00:27:51,790 Tukaj je seznam vseh različnih bank tukaj 407 00:27:51,790 --> 00:27:55,870 da so bili del te prevara. 408 00:27:55,870 --> 00:28:02,050 Druga stvar app lahko naredimo je prisoten UI druge aplikacije. 409 00:28:02,050 --> 00:28:06,430 Medtem ko se je tekmovanje v teku bi lahko pop up Facebook UI. 410 00:28:06,430 --> 00:28:09,540 To pravi, da moraš dati svoje uporabniško ime in geslo za nadaljevanje 411 00:28:09,540 --> 00:28:15,090 ali so pripravljeni koli uporabniško ime in geslo vmesnik za spletno stran 412 00:28:15,090 --> 00:28:18,420 da je morda uporabnik uporablja samo poskusiti trik uporabnika 413 00:28:18,420 --> 00:28:21,340 v dajanje svojih mandatov prijavite 414 00:28:21,340 --> 00:28:25,590 To je res naravnost vzporedno z napadi na email phishing 415 00:28:25,590 --> 00:28:28,210 kjer vam nekdo pošlje e-poštno sporočilo 416 00:28:28,210 --> 00:28:33,050 in vam v bistvu ponaredek vmesnik za spletno stran 417 00:28:33,050 --> 00:28:37,320 da imate dostop do. 418 00:28:37,320 --> 00:28:41,590 >> Druga stvar, ki smo si za zlonamerna koda je sprememba sistema. 419 00:28:41,590 --> 00:28:48,160 Si lahko ogledate za vse klice API, ki zahtevajo korenske privilegije 420 00:28:48,160 --> 00:28:50,870 Za pravilno izvedbo. 421 00:28:50,870 --> 00:28:56,160 Spreminjanje web proxy za napravo bi bilo nekaj, da aplikacija 422 00:28:56,160 --> 00:28:59,530 ne bi mogli narediti. 423 00:28:59,530 --> 00:29:03,030 Ampak, če je uporaba kode v tam, da ne da 424 00:29:03,030 --> 00:29:05,960 veste, da je to verjetno zlonamerni program 425 00:29:05,960 --> 00:29:09,620 ali zelo zelo verjetno, da gre za zlonamerni program, 426 00:29:09,620 --> 00:29:13,910 in kaj bi se zgodilo, da bi imeli app na nek način stopnjevala privilegij. 427 00:29:13,910 --> 00:29:17,200 To bi bilo nekaj privilegij stopnjevanje izkoriščajo 428 00:29:17,200 --> 00:29:20,730 v vlogi, in potem, ko je stopnjevalo privilegije 429 00:29:20,730 --> 00:29:23,800 to bi naredil te spremembe sistema. 430 00:29:23,800 --> 00:29:28,010 Boste našli zlonamerno programsko opremo, ki ima privilegij stopnjevanje 431 00:29:28,010 --> 00:29:32,550 v njej celo ne da bi vedel, kako stopnjevanje privilegij 432 00:29:32,550 --> 00:29:37,960 izkoriščati se bo zgodilo, in to je lep in enostaven način 433 00:29:37,960 --> 00:29:41,220 iskati malware. 434 00:29:41,220 --> 00:29:46,030 DroidDream je verjetno najbolj znan kos malware Android. 435 00:29:46,030 --> 00:29:50,530 Mislim, da je prizadeta približno 250.000 uporabnikov, čez nekaj dni 436 00:29:50,530 --> 00:29:52,810 preden je bilo ugotovljeno. 437 00:29:52,810 --> 00:29:56,890 So prepakirati 50 lažnih prijav, 438 00:29:56,890 --> 00:30:00,370 jih v Android App Store, 439 00:30:00,370 --> 00:30:10,940 in v bistvu ga uporabljamo Android iz zapora kodo, da se bodo razširile pravice 440 00:30:10,940 --> 00:30:16,380 in nato namestite poveljevanja in nadzora ter nato vse žrtve 441 00:30:16,380 --> 00:30:20,690 v bot net, vendar pa bi to lahko zazna 442 00:30:20,690 --> 00:30:24,170 če ste bili skeniranje aplikacijo in samo iščejo 443 00:30:24,170 --> 00:30:32,230 API klice, ki zahtevajo koren dovoljenje za pravilno izvršitev. 444 00:30:32,230 --> 00:30:40,150 >> In tam je primer tukaj imam, ki se spreminja pooblaščenca, 445 00:30:40,150 --> 00:30:46,380 in to je dejansko na voljo le na Android. 446 00:30:46,380 --> 00:30:49,070 Ogledate si lahko Dajem ti veliko primerov na Android 447 00:30:49,070 --> 00:30:53,990 ker je to, kjer je najbolj aktiven malware ekosistem 448 00:30:53,990 --> 00:30:58,690 ker je zelo enostavno za napadalca, da bi dobili zlonamerno kodo 449 00:30:58,690 --> 00:31:01,470 v Android Marketplace. 450 00:31:01,470 --> 00:31:06,480 To ni tako enostavno narediti, da se v Apple App Store 451 00:31:06,480 --> 00:31:10,250 ker Apple zahteva razvijalcem, da se identificirajo 452 00:31:10,250 --> 00:31:12,790 in podpis kode. 453 00:31:12,790 --> 00:31:20,340 Dejansko preveriti, kdo ste, in Apple je dejansko pregledu zahtevkov. 454 00:31:20,340 --> 00:31:27,450 Mi ne vidimo veliko pravega zlonamerne programske opreme, kjer je naprava za pridobivanje ogrožena. 455 00:31:27,450 --> 00:31:32,250 Bom govoril o nekaj primerov, kjer je res zasebnosti, ki postaja ogrožena, 456 00:31:32,250 --> 00:31:38,460 in to je tisto, kar se v resnici dogaja na napravi Apple. 457 00:31:38,460 --> 00:31:44,090 Še ena stvar, da si za zlonamerno kodo, tvegano kodo v napravah 458 00:31:44,090 --> 00:31:50,300 je logika ali časovne bombe in časovne bombe so verjetno 459 00:31:50,300 --> 00:31:53,370 veliko lažje iskati kot logične bombe. 460 00:31:53,370 --> 00:31:57,030 Ampak s tempirane bombe, kaj lahko naredite, je, si lahko ogledate 461 00:31:57,030 --> 00:32:04,760 mesta v kodi, kjer je testiran čas ali absolutnega časa je iskal 462 00:32:04,760 --> 00:32:08,190 Pred določene funkcionalnosti v aplikaciji zgodi. 463 00:32:08,190 --> 00:32:14,200 In je bilo to mogoče skriti, da je aktivnost od uporabnika, 464 00:32:14,200 --> 00:32:17,510 tako da se dogaja pozno v noč. 465 00:32:17,510 --> 00:32:24,350 DroidDream naredil vso svojo dejavnost 11:00-08:00 po lokalnem času 466 00:32:24,350 --> 00:32:30,650 da poskusite to storiti, ko uporabnik ne bi mogel biti z uporabo svoje naprave. 467 00:32:30,650 --> 00:32:38,680 >> Drug razlog za to je, če ljudje uporabljajo vedenjsko analizo vloge, 468 00:32:38,680 --> 00:32:43,430 teče app v peskovniku, da vidim, kaj obnašanje aplikacije je, 469 00:32:43,430 --> 00:32:51,090 ki jih lahko uporabite, ki temelji na časovno logiko storiti dejavnost 470 00:32:51,090 --> 00:32:54,640 ko je aplikacija ni v peskovniku. 471 00:32:54,640 --> 00:33:01,520 Na primer, app store, kot so Apple 472 00:33:01,520 --> 00:33:07,940 zažene aplikacijo, vendar pa verjetno ne teče vse zahtevke za, recimo, 30 dni 473 00:33:07,940 --> 00:33:10,550 Pred odobritvijo, tako da lahko dajo 474 00:33:10,550 --> 00:33:14,120 Logika v svoji vlogi, ki je dejal, v redu, samo, da se slabe stvari 475 00:33:14,120 --> 00:33:20,490 , potem ko je 30 dni minilo in po 30 dneh po datumu prijave objavi, 476 00:33:20,490 --> 00:33:27,020 in da lahko pomaga zlonamerno kodo skriti od ljudi, ki si ogledujejo za to. 477 00:33:27,020 --> 00:33:30,050 Če je anti-virus podjetja tečejo stvari v peskovniki 478 00:33:30,050 --> 00:33:36,370 ali app trgovin sami so to lahko pomaga 479 00:33:36,370 --> 00:33:39,260 skriti, da je iz tega pregleda. 480 00:33:39,260 --> 00:33:43,020 Zdaj pa druga plat, da je enostavno najti s statično analizo, 481 00:33:43,020 --> 00:33:46,170 tako dejansko nadzorom kode si lahko ogledate vseh krajev 482 00:33:46,170 --> 00:33:54,010 kjer je uporaba testov časa in preglejte ta način. 483 00:33:54,010 --> 00:33:58,850 In tukaj imam nekaj primerov na teh 3 različnih platformah 484 00:33:58,850 --> 00:34:05,640 kako se lahko preveri čas, ki ga app za kavo 485 00:34:05,640 --> 00:34:10,520 tako da boste vedeli, kaj iskati, če ste pregledovanje app statično. 486 00:34:10,520 --> 00:34:14,570 >> Pravkar sem šel skozi cel kup različnih zlonamernih dejavnostih 487 00:34:14,570 --> 00:34:18,969 da smo videli v divjini, ampak katere so najpogostejše? 488 00:34:18,969 --> 00:34:23,940 Ta ista raziskava iz Severne Karoline država Mobile Genome Project 489 00:34:23,940 --> 00:34:28,560 objavil nekaj podatkov, pa je bilo v bistvu 4 območja 490 00:34:28,560 --> 00:34:32,850 da so videli, kjer je bilo veliko aktivnosti. 491 00:34:32,850 --> 00:34:35,370 37% apps storil stopnjevanje privilegij, 492 00:34:35,370 --> 00:34:38,429 Tako so imeli neke vrste Bjekstvo iz zapora kode tam 493 00:34:38,429 --> 00:34:42,070 kjer so poskušali stopnjevali privilegije, tako da bodo lahko 494 00:34:42,070 --> 00:34:48,360 Ne ukazi API deluje kot operacijski sistem. 495 00:34:48,360 --> 00:34:52,520 45% apps tam naredil premium SMS, 496 00:34:52,520 --> 00:34:57,260 tako da je ogromen odstotek, ki se trudijo, da neposredno prihodek. 497 00:34:57,260 --> 00:35:02,640 93% je daljinski upravljalnik, tako da so poskušali vzpostaviti bot net, mobilni bot net. 498 00:35:02,640 --> 00:35:08,990 In 45% pridelane identifikacijske podatke 499 00:35:08,990 --> 00:35:16,230 kot so telefonske številke, UUID, GPS lokacijo, uporabniških računov, 500 00:35:16,230 --> 00:35:22,870 in to dodaja do več kot 100, ker je večina malware poskuša narediti nekaj od teh stvari. 501 00:35:22,870 --> 00:35:27,070 >> Bom, da preklopite na drugo polovico in govori o ranljivosti kode. 502 00:35:27,070 --> 00:35:29,480 To je druga polovica tveganih dejavnosti. 503 00:35:29,480 --> 00:35:33,450 To je, če v bistvu je razvijalec česar napake. 504 00:35:33,450 --> 00:35:37,210 Legitimno razvijalec pisno legitimen app 505 00:35:37,210 --> 00:35:41,830 je izdelava napake ali je vedela za tveganja, mobilne platforme. 506 00:35:41,830 --> 00:35:44,780 Samo ne vem, kako naj varno mobilno aplikacijo, 507 00:35:44,780 --> 00:35:47,700 ali včasih razvijalec ne skrbi dajanje uporabnik v nevarnosti. 508 00:35:47,700 --> 00:35:50,850 Včasih del njihovega poslovnega modela bo 509 00:35:50,850 --> 00:35:54,610 trgatvi uporabnikov osebnih podatkov. 510 00:35:54,610 --> 00:35:58,090 To je nekako druge kategorije, in da je, zakaj nekateri to zlonamerno 511 00:35:58,090 --> 00:36:03,200 v primerjavi z legitimnimi začne krvaveti več zato, ker je razlika v mnenjih 512 00:36:03,200 --> 00:36:10,440 med katerimi uporabnik želi in kaj uporabnik meni tvegano 513 00:36:10,440 --> 00:36:13,050 in kaj razvijalec programske meni tvegano. 514 00:36:13,050 --> 00:36:18,380 Seveda, to ni podatki razvijalca aplikacij v večini primerov. 515 00:36:18,380 --> 00:36:22,030 >> In potem končno, še en način se to zgodi, je razvijalec lahko povežejo v 516 00:36:22,030 --> 00:36:28,600 skupna knjižnica, ki ima šibke ali to tvegano obnašanje v njem 517 00:36:28,600 --> 00:36:32,480 nevede njih. 518 00:36:32,480 --> 00:36:37,060 Prva kategorija je občutljiv uhajanje podatkov, 519 00:36:37,060 --> 00:36:40,030 in to je, ko app zbira podatke 520 00:36:40,030 --> 00:36:44,980 kot so lokacija, informacije imenika, informacije lastnika 521 00:36:44,980 --> 00:36:48,000 , ki ga pošlje z naprave. 522 00:36:48,000 --> 00:36:53,050 In ko je off napravo, ne bomo vedeli, kaj se dogaja s to informacijo. 523 00:36:53,050 --> 00:36:57,170 To bi lahko insecurely shrani razvijalca aplikacij. 524 00:36:57,170 --> 00:37:02,070 Videli smo razvijalci aplikacij se ogrožena, 525 00:37:02,070 --> 00:37:05,820 in podatki, ki jih oni shranjevanje gets sprejeti. 526 00:37:05,820 --> 00:37:10,970 To se je zgodilo pred nekaj meseci, da razvijalec na Floridi 527 00:37:10,970 --> 00:37:21,660 kjer je bilo ogromno število-ji iPad UUID in imena naprav 528 00:37:21,660 --> 00:37:25,270 so ušli, ker je nekdo, mislim da je bil anonimen, 529 00:37:25,270 --> 00:37:29,460 je trdil, da to storijo, so vdrli v strežnike tega razvijalca je 530 00:37:29,460 --> 00:37:34,920 in ukradel milijone iPad UUID 531 00:37:34,920 --> 00:37:37,390 in imena računalnikov. 532 00:37:37,390 --> 00:37:40,260 Ni najbolj tvegana informacije, 533 00:37:40,260 --> 00:37:46,820 kaj pa če bi bilo shranjevanje uporabniških imen in gesel 534 00:37:46,820 --> 00:37:48,170 in domače naslove? 535 00:37:48,170 --> 00:37:51,100 Obstaja veliko aplikacij, ki shranjujejo take vrste informacij. 536 00:37:51,100 --> 00:37:53,230 Tveganje obstaja. 537 00:37:53,230 --> 00:37:56,620 >> Druga stvar, ki se lahko zgodi, je, če razvijalec ne skrbijo 538 00:37:56,620 --> 00:38:01,370 zagotoviti podatkovni kanal, in to je še ena velika ranljivost bom govoriti, 539 00:38:01,370 --> 00:38:05,160 da so podatki, ki se pošljejo v jasni. 540 00:38:05,160 --> 00:38:09,040 Če uporabnik na javno omrežje Wi-Fi 541 00:38:09,040 --> 00:38:12,330 ali kdo vohlja po internetu nekje 542 00:38:12,330 --> 00:38:19,260 po poti je, da podatki niso izpostavljeni. 543 00:38:19,260 --> 00:38:23,790 En zelo znan primer tega uhajanja informacij zgodilo z Pandora, 544 00:38:23,790 --> 00:38:27,250 in to je nekaj, kar smo raziskali na Veracode. 545 00:38:27,250 --> 00:38:33,200 Slišali smo, da je bil, mislim, da je Zvezna komisija za trgovino 546 00:38:33,200 --> 00:38:35,310 Preiskava se dogaja s Pandore. 547 00:38:35,310 --> 00:38:39,830 Rekli smo: "Kaj se dogaja tam? Začnimo kopati v vlogi Pandora." 548 00:38:39,830 --> 00:38:46,690 In kaj smo ugotovili, je bila vloga Pandora zbirajo 549 00:38:46,690 --> 00:38:51,270 vašim spolom in starostjo, 550 00:38:51,270 --> 00:38:56,660 in to tudi pogledali vaš GPS lokacijo, in uporabo Pandora 551 00:38:56,660 --> 00:39:00,200 je to storil za to, kar so rekli so legitimni razlogi. 552 00:39:00,200 --> 00:39:05,360 Glasba, ki sta igrali, Pandora je pretakanje glasbe app- 553 00:39:05,360 --> 00:39:07,530 glasba sta igrali je licenciran samo v Združenih državah Amerike, 554 00:39:07,530 --> 00:39:13,020 tako da so morali preveriti v skladu s svojimi licenčnih pogodb, ki so jih imeli 555 00:39:13,020 --> 00:39:17,240 za glasbe, ki je za uporabo v Združenih državah. 556 00:39:17,240 --> 00:39:25,070 Prav tako so želeli, da ravna v skladu z Parental Advisory 557 00:39:25,070 --> 00:39:33,790 okrog odraslih jezik v glasbi, 558 00:39:33,790 --> 00:39:37,500 in zato je prostovoljni program, ki pa so želeli, da v skladu s tem 559 00:39:37,500 --> 00:39:43,010 in ne igrajo izrecnih pesmi za otroke 13 in pod. 560 00:39:43,010 --> 00:39:46,280 >> Imeli so legitimni razlogi za zbiranje teh podatkov. 561 00:39:46,280 --> 00:39:49,160 Njihova app imeli dovoljenja, da to storite. 562 00:39:49,160 --> 00:39:52,000 Uporabniki so mislili, da je to zakonito. Toda kaj se je zgodilo? 563 00:39:52,000 --> 00:39:55,810 Vezana na 3 ali 4 različnih knjižnicah oglasov. 564 00:39:55,810 --> 00:39:59,140 Zdaj pa kar naenkrat vse te knjižnice oglasov 565 00:39:59,140 --> 00:40:02,970 so dobili dostop do teh istih informacij. 566 00:40:02,970 --> 00:40:05,830 Knjižnice oglasov, če pogledaš na kodo v knjižnicah oglasov 567 00:40:05,830 --> 00:40:08,430 kaj storiti, je vsaka knjižnica oglas pravi, 568 00:40:08,430 --> 00:40:11,340 "Ali moj app dovoljenja za pridobivanje GPS lokacijo?" 569 00:40:11,340 --> 00:40:14,890 "Oh, to? Ok, povej mi GPS lokacijo." 570 00:40:14,890 --> 00:40:16,620 Vsak posamezni knjižnica oglas ne da, 571 00:40:16,620 --> 00:40:19,740 in če app nima GPS dovoljenja 572 00:40:19,740 --> 00:40:23,460 da ne bodo mogli dobiti, če pa ne, jo bo dobil. 573 00:40:23,460 --> 00:40:26,240 To je, če poslovni model knjižnic oglasov 574 00:40:26,240 --> 00:40:31,160 nasprotuje zasebnosti uporabnika. 575 00:40:31,160 --> 00:40:34,980 In je prišlo študij tam, da bodo rekli, če veš, starost 576 00:40:34,980 --> 00:40:38,430 osebe in veš svojo lokacijo 577 00:40:38,430 --> 00:40:42,530 kje spijo ponoči, ker imate svoje GPS koordinate 578 00:40:42,530 --> 00:40:46,030 medtem ko morda spi, boste točno vedeli, kdo je ta oseba 579 00:40:46,030 --> 00:40:50,230 ker lahko ugotovite, katere član tega gospodinjstva je ta oseba. 580 00:40:50,230 --> 00:40:54,780 Res je to identifikacijo za oglaševalce 581 00:40:54,780 --> 00:40:59,530 točno, kdo ste, in izgleda, da je bilo zakonito. 582 00:40:59,530 --> 00:41:02,800 Hočem samo za pretakanje glasbe, in to je edini način, da dobim. 583 00:41:02,800 --> 00:41:05,370 >> No, to smo izpostavljeni. 584 00:41:05,370 --> 00:41:08,030 Mi bi to napisal v nekaj blog delovnih mest, 585 00:41:08,030 --> 00:41:13,280 in se je izkazalo, da je nekdo iz revije Rolling Stone 586 00:41:13,280 --> 00:41:18,810 se glasi eden od naših blog delovnih mest in napisal svoj blog v Rolling Stone o tem, 587 00:41:18,810 --> 00:41:22,120 in že naslednji dan Pandora mislil, da je dobra ideja 588 00:41:22,120 --> 00:41:27,600 odstraniti knjižnice oglasov iz njihove uporabe. 589 00:41:27,600 --> 00:41:31,270 Kolikor jaz vem, oni so le-treba pohvaliti. 590 00:41:31,270 --> 00:41:35,770 Mislim, da so samo freemium vrsta app, ki je to storil. 591 00:41:35,770 --> 00:41:38,660 Vse ostale freemium apps imajo to isto vedenje, 592 00:41:38,660 --> 00:41:41,780 tako da moraš razmišljati o tem, kakšne vrste podatkov, ki ste ga daje 593 00:41:41,780 --> 00:41:48,330 ti freemium aplikacije, saj gre vse za oglaševalce. 594 00:41:48,330 --> 00:41:53,390 Pretorska naredil tudi študijo o skupnih knjižnic in rekel: 595 00:41:53,390 --> 00:41:57,100 "Poglejmo, kaj deliti knjižnice so top deljene knjižnice," in to je bilo po podatkih. 596 00:41:57,100 --> 00:41:59,420 >> Analizirali 53.000 apps, 597 00:41:59,420 --> 00:42:01,900 in knjižnice v skupni rabi številka 1 je bil AdMob. 598 00:42:01,900 --> 00:42:06,060 To je bil dejansko 38% vlog tam, 599 00:42:06,060 --> 00:42:08,800 Tako 38% prošenj, ki jo uporabljate 600 00:42:08,800 --> 00:42:11,250 verjetno spravila svoje osebne podatke 601 00:42:11,250 --> 00:42:16,650 in ga pošljete na ad omrežij. 602 00:42:16,650 --> 00:42:19,350 Apache in Android so bili za 8% in 6%, 603 00:42:19,350 --> 00:42:22,960 in potem te ostale pa navzdol na dnu, Google Ads, razburjenje, 604 00:42:22,960 --> 00:42:26,600 Mob mesta in Millennial Media, 605 00:42:26,600 --> 00:42:30,500 vse to so podjetja, ad, nato pa dovolj zanimivo, 606 00:42:30,500 --> 00:42:33,500 4% vezan v knjižnici Facebook 607 00:42:33,500 --> 00:42:38,870 Verjetno narediti avtentikacijo preko Facebook 608 00:42:38,870 --> 00:42:40,810 tako da bi app overitev Facebook. 609 00:42:40,810 --> 00:42:44,660 Toda to pomeni tudi korporacijo Facebook nadzoruje kodo 610 00:42:44,660 --> 00:42:49,010 da je tekmovanje v teku na 4% Android mobilne aplikacije tam, 611 00:42:49,010 --> 00:42:53,490 in imajo dostop do vseh podatkov, ki jih ima ta app za dovoljenje, da bi dobili na. 612 00:42:53,490 --> 00:42:57,170 Facebook bistvu poskuša za prodajo oglasnega prostora. 613 00:42:57,170 --> 00:43:00,120 To je njihov poslovni model. 614 00:43:00,120 --> 00:43:02,920 >> Če pogledaš na tem celotnem ekosistemu s temi dovoljenji 615 00:43:02,920 --> 00:43:07,740 in deljene knjižnice boste videli, da je 616 00:43:07,740 --> 00:43:13,850 imate veliko tveganje pri domnevno zakonite uporabe. 617 00:43:13,850 --> 00:43:19,360 Enako podobno stvar, ki se je zgodilo s Pandore 618 00:43:19,360 --> 00:43:22,340 se je zgodilo z aplikacijo, imenovano Path, 619 00:43:22,340 --> 00:43:27,660 Pot in so mislili, da bi koristno, prijazni razvijalci. 620 00:43:27,660 --> 00:43:32,160 Bili so samo poskušam, da vam odlično uporabniško izkušnjo, 621 00:43:32,160 --> 00:43:37,810 in izkazalo se je, da brez poziva uporabniku ali pove uporabniku, kaj- 622 00:43:37,810 --> 00:43:40,400 in to se je zgodilo na iPhone in Android, 623 00:43:40,400 --> 00:43:44,420 Pandora app je bil na iPhone in Android- 624 00:43:44,420 --> 00:43:48,890 da je bila prijava Pot oprijemalne vaše celotno adresar 625 00:43:48,890 --> 00:43:52,830 in ga naložite na pot šele, ko boste namestili in zagnali aplikacijo, 626 00:43:52,830 --> 00:43:55,840 in se vam ni povedal o tem. 627 00:43:55,840 --> 00:43:58,750 Mislili so, da je bilo res koristno za vas 628 00:43:58,750 --> 00:44:04,040 da lahko delite z vsemi ljudmi v adresarju 629 00:44:04,040 --> 00:44:06,920 da ste z uporabo poti. 630 00:44:06,920 --> 00:44:09,490 >> No, očitno Pot mislil, da je to super za njihovo družbo. 631 00:44:09,490 --> 00:44:13,510 Ni tako velik, da uporabnik. 632 00:44:13,510 --> 00:44:19,020 Moraš razmišljati, da je to ena stvar, če morda najstnik 633 00:44:19,020 --> 00:44:23,700 se s to aplikacijo in njihove desetine prijatelji so tam, 634 00:44:23,700 --> 00:44:29,360 kaj pa če je predsednik uprave družbe, ki se namesti pot 635 00:44:29,360 --> 00:44:33,170 in potem kar naenkrat njihovi celotni naslov knjige je tam? 636 00:44:33,170 --> 00:44:38,310 Boste dobili veliko potencialno dragocen kontaktne informacije 637 00:44:38,310 --> 00:44:40,920 Za veliko ljudi. 638 00:44:40,920 --> 00:44:44,500 Novinar iz New York Times, boste morda lahko dobili telefonsko številko 639 00:44:44,500 --> 00:44:47,380 za bivše predsednike iz svojega imenika, 640 00:44:47,380 --> 00:44:54,780 tako da očitno veliko občutljivih informacij gets prenesli nekaj takšnega. 641 00:44:54,780 --> 00:44:58,090 Tam je bil tako velik loputa o tem, da je pot opravičil. 642 00:44:58,090 --> 00:45:01,610 So spremenili svoje aplikacije, in to tudi vplivalo Apple. 643 00:45:01,610 --> 00:45:06,950 Apple je dejal: "Mi bomo prisilili app prodajalci uporabnike spodbudila 644 00:45:06,950 --> 00:45:12,650 če boš zbrati ves svoj adresar. " 645 00:45:12,650 --> 00:45:15,360 >> Izgleda, kaj se tukaj dogaja, je 646 00:45:15,360 --> 00:45:19,430 če obstaja ena velika kršitev zasebnosti in ga naredi pritisnite 647 00:45:19,430 --> 00:45:21,680 bomo videli spremembo tam. 648 00:45:21,680 --> 00:45:23,230 Seveda, tam je druge stvari tam. 649 00:45:23,230 --> 00:45:27,440 Vloga LinkedIn obira vaše vpise v koledarju, 650 00:45:27,440 --> 00:45:34,530 vendar pa Apple ne pomeni, da uporabnik pozvani o tem. 651 00:45:34,530 --> 00:45:38,030 Vpisi v koledarju lahko občutljive podatke v njih preveč. 652 00:45:38,030 --> 00:45:40,000 Kam greš potegniti črto? 653 00:45:40,000 --> 00:45:43,960 To je res nekako razvija mesto 654 00:45:43,960 --> 00:45:47,640 kje pa je res ni dober standard tam 655 00:45:47,640 --> 00:45:51,990 za uporabnike, da razumejo, če njihova informacija se bo ogrožena 656 00:45:51,990 --> 00:45:57,820 in ko bomo vedeli, da je so bili sprejeti. 657 00:45:57,820 --> 00:46:03,040 Napisali smo aplikacijo na Veracode imenovano Adios, 658 00:46:03,040 --> 00:46:08,350 in v bistvu je dovoljeno, da točke app na vašem imeniku iTunes 659 00:46:08,350 --> 00:46:12,550 in pogled na vse aplikacije, ki so bile lovilo svoj polni naslov knjige. 660 00:46:12,550 --> 00:46:19,760 In kot lahko vidite na seznamu tukaj, Angry Birds, 661 00:46:19,760 --> 00:46:21,590 AIM, AroundMe. 662 00:46:21,590 --> 00:46:24,050 Zakaj Angry Birds potrebujete adresar? 663 00:46:24,050 --> 00:46:29,160 Ne vem, ampak to počne nekako. 664 00:46:29,160 --> 00:46:32,310 >> To je nekaj, kar veliko, veliko aplikacij narediti. 665 00:46:32,310 --> 00:46:34,780 Lahko preverite kodo za to. 666 00:46:34,780 --> 00:46:38,660 Tam je dobro opredeljene API za iPhone, Android in BlackBerry 667 00:46:38,660 --> 00:46:42,120 priti v adresarju. 668 00:46:42,120 --> 00:46:48,520 Lahko res enostavno pregledati za to, in to je tisto, kar smo storili v naši uporabi Adios. 669 00:46:48,520 --> 00:46:52,320 Naslednja kategorija, Nevarna Sensitive za shranjevanje podatkov, 670 00:46:52,320 --> 00:46:55,670 je nekaj, kjer razvijalci vzeli nekaj podobnega pin ali številka računa 671 00:46:55,670 --> 00:46:58,530 ali geslo in ga shranite na varnem na napravi. 672 00:46:58,530 --> 00:47:02,310 Še huje, bi lahko shranite na območju, na telefonu 673 00:47:02,310 --> 00:47:06,820 ki je globalno dostopne, kot so kartice SD. 674 00:47:06,820 --> 00:47:11,320 Vidiš to bolj pogosto na Android, ker Android omogoča SD kartico. 675 00:47:11,320 --> 00:47:13,200 IPhone naprave ne. 676 00:47:13,200 --> 00:47:17,900 Vendar smo še videli to zgodilo v vlogi Citigroup. 677 00:47:17,900 --> 00:47:25,450 Njihovo spletno bančništvo vloge, shranjene številke računov insecurely, 678 00:47:25,450 --> 00:47:28,120 samo v jasni, tako da, če ste izgubili svojo napravo, 679 00:47:28,120 --> 00:47:30,670 v bistvu si izgubil svoj bančni račun. 680 00:47:30,670 --> 00:47:36,000 To je razlog, zakaj jaz osebno ne delam bančništva na moj iPhone. 681 00:47:36,000 --> 00:47:43,710 Mislim, da je preveč tvegano, prav zdaj narediti te vrste dejavnosti. 682 00:47:43,710 --> 00:47:45,950 >> Skype storil isto stvar. 683 00:47:45,950 --> 00:47:49,870 Skype, seveda, ima stanje na računu, uporabniško ime in geslo 684 00:47:49,870 --> 00:47:51,030 da je dostop do tega ravnovesja. 685 00:47:51,030 --> 00:48:00,080 Bili so shranjevanje vse te informacije v jasno na mobilni napravi. 686 00:48:00,080 --> 00:48:05,760 Imam nekaj primerov tukaj ustvarjanja datoteke 687 00:48:05,760 --> 00:48:10,310 , ki nimajo ustreznih dovoljenj ali pa pišete na ploščo 688 00:48:10,310 --> 00:48:17,260 in ne s katero koli šifriranja zgodilo to. 689 00:48:17,260 --> 00:48:20,190 Naslednja območje, Nevarna Sensitive prenos podatkov, 690 00:48:20,190 --> 00:48:24,450 Sem namiguje na to nekajkrat, in zaradi javnega Wi-Fi 691 00:48:24,450 --> 00:48:27,770 To je nekaj, kar apps nujno potrebno storiti, 692 00:48:27,770 --> 00:48:31,250 in to je verjetno tisto, kar vidimo narobe najbolj. 693 00:48:31,250 --> 00:48:34,920 Jaz bi rekel, pravzaprav mislim, da imam dejanske podatke, 694 00:48:34,920 --> 00:48:38,120 ampak to je skoraj polovica mobilnih aplikacij 695 00:48:38,120 --> 00:48:41,780 zajebal tem SSL. 696 00:48:41,780 --> 00:48:43,910 Oni pač niso pravilno uporabljati API. 697 00:48:43,910 --> 00:48:47,970 Mislim, vse kar moraš storiti je slediti navodilom in uporabo API-jev, 698 00:48:47,970 --> 00:48:54,720 vendar pa take stvari ne preverite, ali je neveljavno potrdilo na drugem koncu, 699 00:48:54,720 --> 00:49:02,120 ne preverite, če drugi konec poskuša narediti protokol strmina napad. 700 00:49:02,120 --> 00:49:07,200 >> Razvijalci, želijo, da bi dobili svoje polje, kajne? 701 00:49:07,200 --> 00:49:11,910 Njihova zahteva je, da uporabite to prodati. Oni to prodajal. 702 00:49:11,910 --> 00:49:14,800 Zahteva, da ne uporabljajo to varno prodati, 703 00:49:14,800 --> 00:49:19,680 in tako je to, zakaj vse aplikacije, ki uporabljajo protokol SSL za zagotavljanje podatkov 704 00:49:19,680 --> 00:49:23,470 kot je to, ki se prenašajo off naprava res treba pregledati 705 00:49:23,470 --> 00:49:28,950 zagotoviti, je, da pravilno izvaja. 706 00:49:28,950 --> 00:49:32,850 In tukaj imam nekaj primerov, kjer lahko vidite vlogo 707 00:49:32,850 --> 00:49:37,400 Morda uporabljate HTTP namesto HTTPS. 708 00:49:37,400 --> 00:49:40,510 V nekaterih primerih bo apps padla nazaj na HTTP 709 00:49:40,510 --> 00:49:44,250 če HTTPS ne deluje. 710 00:49:44,250 --> 00:49:49,070 Imam še en klic tukaj na Android kje so onemogočili preverjanje certifikata, 711 00:49:49,070 --> 00:49:51,700 tako man-in-the-middle napad se lahko zgodi. 712 00:49:51,700 --> 00:49:56,370 Neveljavno potrdilo, bodo sprejete. 713 00:49:56,370 --> 00:50:01,920 Vse to so primeri, v katerih napadalci se bodo lahko dobili na 714 00:50:01,920 --> 00:50:07,150 Enako Wi-Fi povezave, kot uporabnika in dostopa do vseh podatkov 715 00:50:07,150 --> 00:50:11,650 , ki se je poslal preko interneta. 716 00:50:11,650 --> 00:50:15,970 >> In končno, zadnja kategorija imam tukaj so zakodirani geslo in ključi. 717 00:50:15,970 --> 00:50:21,470 Dejansko vidimo veliko razvijalci uporabljajo isto kodiranje slog 718 00:50:21,470 --> 00:50:25,900 da so to storili, ko so gradili spletni strežnik, 719 00:50:25,900 --> 00:50:29,700 zato, ker gradijo strežniško aplikacijo Java, in oni hardcoding ključ. 720 00:50:29,700 --> 00:50:31,940 No, ko ste izgradnjo vlogo strežnika, ja, 721 00:50:31,940 --> 00:50:34,240 hardcoding ključ ni dobra ideja. 722 00:50:34,240 --> 00:50:36,290 To je težko spremeniti. 723 00:50:36,290 --> 00:50:40,700 Ampak to ni tako slabo, na strani strežnika, ker kdo ima dostop do strani strežnika? 724 00:50:40,700 --> 00:50:43,140 Le administratorji. 725 00:50:43,140 --> 00:50:48,100 Ampak, če ste vzeli isto kodo in jo prelijemo z mobilno aplikacijo 726 00:50:48,100 --> 00:50:52,550 Zdaj vsakdo, ki ima, da ima mobilna aplikacija dostopa do tega zakodirani ključa, 727 00:50:52,550 --> 00:50:56,380 in smo dejansko videli to veliko krat, in imam nekaj statističnih podatkov 728 00:50:56,380 --> 00:51:00,920 o tem, kako pogosto vidimo to zgodilo. 729 00:51:00,920 --> 00:51:04,940 Je dejansko bilo v primer kode, ki MasterCard, objavljenem 730 00:51:04,940 --> 00:51:06,850 o tem, kako uporabljati njihove storitve. 731 00:51:06,850 --> 00:51:11,860 Primer kode je pokazala, kako bi si vzemite geslo 732 00:51:11,860 --> 00:51:14,850 in ga v zakodirani niz tam, 733 00:51:14,850 --> 00:51:19,380 in vemo, kako razvijalci radi, da kopirate in prilepite odrezke kode 734 00:51:19,380 --> 00:51:22,360 ko poskušajo narediti nekaj, tako da kopirate in prilepite odrezek kode 735 00:51:22,360 --> 00:51:28,450 da so dali kot primer kode, in imate negotovo aplikacijo. 736 00:51:28,450 --> 00:51:31,490 >> In tukaj je še nekaj primerov. 737 00:51:31,490 --> 00:51:35,840 Ta prva je tista, ki smo videli veliko, kjer so hardcode 738 00:51:35,840 --> 00:51:40,510 Pravica podatkov v URL, ki dobi poslano. 739 00:51:40,510 --> 00:51:45,120 Včasih vidimo niz geslo = geslo. 740 00:51:45,120 --> 00:51:49,060 To je zelo enostavno odkriti, ali niz gesla na BlackBerry in Android. 741 00:51:49,060 --> 00:51:53,680 To je pravzaprav zelo enostavno preveriti, ker se skoraj vedno 742 00:51:53,680 --> 00:51:57,030 imena razvijalec spremenljivi, da je gospodarstvo geslo 743 00:51:57,030 --> 00:52:02,290 nekateri spremembo gesla. 744 00:52:02,290 --> 00:52:05,200 Omenil sem, da bomo statično analizo na Veracode, 745 00:52:05,200 --> 00:52:11,790 zato smo analizirali več sto aplikacij Android in iOS. 746 00:52:11,790 --> 00:52:15,160 Zgradili smo polni modelov njih, in smo mogli skeniranje 747 00:52:15,160 --> 00:52:19,280 za različne ranljivosti, zlasti ranljivosti sem govoril, 748 00:52:19,280 --> 00:52:21,050 in imam nekaj podatkov tukaj. 749 00:52:21,050 --> 00:52:24,320 68,5% vseh Android apps smo si ogledali 750 00:52:24,320 --> 00:52:28,590 je razdeljena kriptografsko kodo, 751 00:52:28,590 --> 00:52:33,240 ki je za nami, ne moremo odkriti, če ste naredili svoj kripto rutino, 752 00:52:33,240 --> 00:52:38,980 ne, da je to dobra ideja, vendar je to dejansko uporabo objavljenih API-jev 753 00:52:38,980 --> 00:52:42,530 da so na nivoju, vendar jih dela na tak način 754 00:52:42,530 --> 00:52:46,680 da bi kripto ranljivi, 68.5. 755 00:52:46,680 --> 00:52:49,870 In to je za ljudi, ki so nam pošljete svoje prijave, ker dejansko 756 00:52:49,870 --> 00:52:53,730 mislijo, da je to dobra ideja narediti testiranje varnosti. 757 00:52:53,730 --> 00:52:56,960 To so že ljudje, ki so verjetno razmišljanje varno, 758 00:52:56,960 --> 00:52:59,540 tako da je verjetno še slabše. 759 00:52:59,540 --> 00:53:02,690 >> Nisem govoril o nadzorni vrstici injiciranje krme. 760 00:53:02,690 --> 00:53:07,640 To je nekaj, kar moramo preveriti, vendar to ni tako tvegano vprašanje. 761 00:53:07,640 --> 00:53:15,390 Uhajanje informacij, to je, če se občutljivi podatki, ki se pošiljajo in izklop naprave. 762 00:53:15,390 --> 00:53:19,270 Ugotovili smo, da v 40% zahtevkov. 763 00:53:19,270 --> 00:53:23,540 Čas in država, to so vprašanja tipa stanje rase, po navadi zelo težko izkoristiti, 764 00:53:23,540 --> 00:53:26,170 tako da nisem govoril o tem, vendar smo pogledal. 765 00:53:26,170 --> 00:53:28,750 23% jih je imelo težave SQL injection. 766 00:53:28,750 --> 00:53:32,020 Veliko ljudi ne ve, da je veliko vlog 767 00:53:32,020 --> 00:53:35,880 uporabite majhno malo SQL baze podatkov o njihovi zadnji konec za shranjevanje podatkov. 768 00:53:35,880 --> 00:53:40,430 No, če podatki, ki ste oprijemalne prek omrežja 769 00:53:40,430 --> 00:53:43,800 je SQL injection napadi strune v njej 770 00:53:43,800 --> 00:53:45,970 nekdo lahko ogrozijo napravo skozi to, 771 00:53:45,970 --> 00:53:49,800 in zato mislim, da smo našli približno 40% vseh spletnih aplikacij imeli ta problem, 772 00:53:49,800 --> 00:53:52,840 kar je velika epidemija problem. 773 00:53:52,840 --> 00:53:55,740 Mi zdi, da 23% časa v aplikacijah za mobilne naprave 774 00:53:55,740 --> 00:54:02,030 in to je verjetno zato, ker je veliko več spletnih aplikacij uporablja SQL kot mobilni telefon. 775 00:54:02,030 --> 00:54:05,580 >> In potem smo še vedno videli nekaj cross-site scripting, vprašanja dovoljenj, 776 00:54:05,580 --> 00:54:09,400 in potem poverilnic za upravljanje, ki je, če imate zakodirani geslo. 777 00:54:09,400 --> 00:54:14,540 V 5% zahtevkov vidimo, da. 778 00:54:14,540 --> 00:54:17,970 In potem imamo nekaj podatkov o iOS. 779 00:54:17,970 --> 00:54:20,180 Vprašanja ravnanje napaka 81%. 780 00:54:20,180 --> 00:54:23,130 To je bolj problem kakovosti kodo, 781 00:54:23,130 --> 00:54:28,010 ampak 67% jih je imelo kriptografskih vprašanj, tako da ni tako slabo, kot Android. 782 00:54:28,010 --> 00:54:32,440 Mogoče API so malo lažje, primer kode malo bolje na iOS. 783 00:54:32,440 --> 00:54:35,420 Vendar še vedno zelo visok odstotek. 784 00:54:35,420 --> 00:54:39,040 Imeli smo 54% z odtekanjem informacij, 785 00:54:39,040 --> 00:54:42,080 približno 30% z napakami upravljanja buffer. 786 00:54:42,080 --> 00:54:45,930 To je krajev, kjer bi lahko bilo vprašanje spomina korupcije. 787 00:54:45,930 --> 00:54:50,350 Izkaže se, da to ni tako velik problem za izkoriščanje 788 00:54:50,350 --> 00:54:56,450 na iOS, ker ima vse kode, ki bo podpisana, 789 00:54:56,450 --> 00:55:02,210 tako da je težko za napadalcu izvajanje naključne kode na iOS. 790 00:55:02,210 --> 00:55:07,880 Kakovost koda, imenik prečkanje, potem pa poverilnice za upravljanje tukaj na 14,6%, 791 00:55:07,880 --> 00:55:09,250 tako slabše kot na Android. 792 00:55:09,250 --> 00:55:13,240 Imamo ljudje ne ravnanje gesel pravilno. 793 00:55:13,240 --> 00:55:15,790 In potem številske napake in buffer overflow, 794 00:55:15,790 --> 00:55:22,680 tistih, ki so bolj tekoč, da se vprašanja kakovosti koda za iOS. 795 00:55:22,680 --> 00:55:26,110 >> To je bilo za mojo predstavitev. Ne vem, če mi je zmanjkalo časa ali ne. 796 00:55:26,110 --> 00:55:29,540 Ne vem, če obstaja kakršna koli vprašanja. 797 00:55:29,540 --> 00:55:33,220 [Moški] hitro vprašanje okoli razdrobljenosti in Android Market. 798 00:55:33,220 --> 00:55:36,240 Apple vsaj lastnik zaplata. 799 00:55:36,240 --> 00:55:40,780 Delajo dobro delo, da bi jo tam ker je manj, tako v Android prostoru. 800 00:55:40,780 --> 00:55:44,280 Skoraj bi morali iz zapora telefon, da ostanejo na sedanji 801 00:55:44,280 --> 00:55:46,660 s trenutno izdajo Android. 802 00:55:46,660 --> 00:55:50,960 Ja, to je velik problem, tako da, če menite, da o- 803 00:55:50,960 --> 00:55:52,280 [Moški] Zakaj ne moreš ponavljati? 804 00:55:52,280 --> 00:55:55,610 >> Oh, v redu, tako da je vprašanje, kaj je razdrobljenost 805 00:55:55,610 --> 00:56:00,410 operacijskega sistema na platformi Android? 806 00:56:00,410 --> 00:56:05,890 Kako to vpliva na tveganost teh naprav? 807 00:56:05,890 --> 00:56:09,700 In dejansko je velik problem, ker tisto, kar se zgodi, je 808 00:56:09,700 --> 00:56:15,110 starejše naprave, ko nekdo pride gor s zapora za to napravo, 809 00:56:15,110 --> 00:56:19,960 v bistvu je to stopnjevanje privilegij, in dokler se posodablja, da operacijski sistem 810 00:56:19,960 --> 00:56:25,350 vsaka malware lahko nato uporabite to ranljivost popolnoma kompromis napravo, 811 00:56:25,350 --> 00:56:30,200 in tisto, kar smo videli na Android je, da bi dobili nov operacijski sistem 812 00:56:30,200 --> 00:56:34,690 Google je dal ven operacijski sistem in nato strojne opreme 813 00:56:34,690 --> 00:56:39,390 Mora jo prilagoditi, nato pa prevoznik, da ga prilagodite in ga dostaviti. 814 00:56:39,390 --> 00:56:43,070 Imate v bistvu 3 gibljive tukaj dele, 815 00:56:43,070 --> 00:56:47,210 in to je izšola, da prevozniki ne skrbi, 816 00:56:47,210 --> 00:56:50,400 ter proizvajalci strojne opreme ne skrbi, in Google se jih ne prodding dovolj 817 00:56:50,400 --> 00:56:54,430 storiti ničesar, tako da v bistvu več kot polovica naprav tam 818 00:56:54,430 --> 00:57:00,590 imeti operacijske sisteme, ki imajo ta privilegij o povečanju ranljivosti v njih, 819 00:57:00,590 --> 00:57:08,440 in tako, če boste dobili škodljive programske opreme na napravi Android je veliko bolj problem. 820 00:57:08,440 --> 00:57:10,350 >> Ok, hvala. 821 00:57:10,350 --> 00:57:12,310 [Aplavz] 822 00:57:12,310 --> 00:57:14,310 [CS50.TV]