1 00:00:00,000 --> 00:00:02,610 >> [Seminar] [Kaitstes taga seade: 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 [See on CS50.] [CS50.TV] 4 00:00:07,830 --> 00:00:10,360 >> Tere päevast. Minu nimi on Chris Wysopal. 5 00:00:10,360 --> 00:00:13,360 Olen CTO ja asutaja Veracode. 6 00:00:13,360 --> 00:00:15,880 Veracode on rakendus turvafirma. 7 00:00:15,880 --> 00:00:18,230 Me testime igasuguseid erinevaid rakendusi, 8 00:00:18,230 --> 00:00:25,060 ja mida ma täna rääkida on mobiilne rakendus turvalisust. 9 00:00:25,060 --> 00:00:28,630 Minu taust on Olen teinud julgeoleku-uuringute 10 00:00:28,630 --> 00:00:31,970 jaoks väga pikka aega, arvatavasti umbes niikaua kedagi. 11 00:00:31,970 --> 00:00:35,000 Hakkasin keskel 90s, 12 00:00:35,000 --> 00:00:37,370 ja see oli aeg, et oli päris huvitav, sest 13 00:00:37,370 --> 00:00:39,220 meil oli paradigma muutus keskel 90s. 14 00:00:39,220 --> 00:00:43,520 Äkitselt igaühe arvuti püüdsin kuni internet, 15 00:00:43,520 --> 00:00:46,550 ja siis meil oli algusest veebirakendusi, 16 00:00:46,550 --> 00:00:49,330 ja see, mida ma keskendunud palju siis. 17 00:00:49,330 --> 00:00:51,160 See on huvitav. 18 00:00:51,160 --> 00:00:53,930 Nüüd on meil teine ​​paradigma muutus juhtub arvuti, 19 00:00:53,930 --> 00:00:58,710 mis on nihe mobiilsed rakendused. 20 00:00:58,710 --> 00:01:03,680 >> Ma tunnen, see on omamoodi sarnane aeg siis oli hilja 90s 21 00:01:03,680 --> 00:01:07,650 kui olime uurides veebirakendusi ja leida vigu nagu 22 00:01:07,650 --> 00:01:11,800 seansihalduse vigu ja SQL süst 23 00:01:11,800 --> 00:01:14,940 mis tegelikult ei olnud olemas enne, ja äkki nad olid kõikjal 24 00:01:14,940 --> 00:01:19,360 veebirakendusi, ja nüüd palju aega ma veedan 25 00:01:19,360 --> 00:01:27,950 vaatab mobiilside rakenduste ja vaadake, mis toimub seal looduses. 26 00:01:27,950 --> 00:01:32,060 Mobile rakendused on tõesti domineeriv computing platvorm, 27 00:01:32,060 --> 00:01:35,060 nii meil on tõesti vaja kulutada palju aega, kui sa oled julgeoleku tööstus 28 00:01:35,060 --> 00:01:39,280 keskendudes veebirakendusi. 29 00:01:39,280 --> 00:01:43,420 Oli 29000000000 mobiilne apps alla 2011. 30 00:01:43,420 --> 00:01:47,920 See on eeldada, et 76 miljardit apps 2014. 31 00:01:47,920 --> 00:01:54,040 Seal 686000000 seadmed, mis hakkavad osta tänavu 32 00:01:54,040 --> 00:01:57,060 nii et see on koht, kus inimesed hakkavad tegema 33 00:01:57,060 --> 00:01:59,600  enamuse oma kliendi arvuti läheb edasi. 34 00:01:59,600 --> 00:02:04,220 >> Ma rääkisin esimehena Fidelity Investments 35 00:02:04,220 --> 00:02:08,780 paar kuud tagasi, ja ta ütles, et nad just nägin rohkem liiklust 36 00:02:08,780 --> 00:02:12,610 teeme finantstehingute oma kliendibaasi 37 00:02:12,610 --> 00:02:16,230 oma mobiili kui oma koduleheküljel, 38 00:02:16,230 --> 00:02:20,610 nii ühise kasutamise kohta veebis varem olnud 39 00:02:20,610 --> 00:02:23,800 kontrollida oma börsikursid, hallata oma portfelli, 40 00:02:23,800 --> 00:02:28,060 ja me tegelikult näeme, et 2012 ümberlülitamiseks 41 00:02:28,060 --> 00:02:30,960 olla domineeriv mobiilsel platvormil. 42 00:02:30,960 --> 00:02:34,530 Muidugi, kui seal saab olema kuritegudes, 43 00:02:34,530 --> 00:02:38,900 pahatahtlik tegevus, see saab hakata keskenduma mobiilne platvorm 44 00:02:38,900 --> 00:02:44,210 Aja jooksul inimesed üle minna seda. 45 00:02:44,210 --> 00:02:48,320 Kui te vaatate mobiilsel platvormil, 46 00:02:48,320 --> 00:02:54,380 pilk riske platvorm see on kasulik jaotada see eri kihtidest, 47 00:02:54,380 --> 00:02:59,010 nagu sa oleks seda teha lauaarvuti, 48 00:02:59,010 --> 00:03:02,860 ja sa arvad eri kihtidest, tarkvara, operatsioonisüsteem, 49 00:03:02,860 --> 00:03:07,730 võrgu kiht, riistvara kiht, ja muidugi, seal on nõrgad kohad on kõik need kihid. 50 00:03:07,730 --> 00:03:10,510 >> Sama asi juhtub mobiilne. 51 00:03:10,510 --> 00:03:14,880 Kuid mobiiltelefoni, tundub, et mõned neist kihtidest on halvem. 52 00:03:14,880 --> 00:03:19,840 Ühe võrgu kiht on problemaatilisem mobiil 53 00:03:19,840 --> 00:03:25,650 sest paljud inimesed on oma kontoris või kodus 54 00:03:25,650 --> 00:03:30,780 traadiga ühendusi või on neil turvaline Wi-Fi ühendused, 55 00:03:30,780 --> 00:03:36,530 ja palju mobiilseadmete sa oled ilmselt väljaspool kodu 56 00:03:36,530 --> 00:03:40,520 või väljaspool kontorit palju, ja kui te kasutate Wi-Fi seal 57 00:03:40,520 --> 00:03:42,820 Sa võid olla kasutades ebakindel Wi-Fi ühendus, 58 00:03:42,820 --> 00:03:45,570 midagi, mis on avaliku Wi-Fi ühendus, 59 00:03:45,570 --> 00:03:48,840 Nii et kui me mõtleme mobiilne apps peame arvestama 60 00:03:48,840 --> 00:03:53,770 et võrgukeskkond on riskantsem nende rakendused 61 00:03:53,770 --> 00:03:57,640 kui Wi-Fi kasutatakse. 62 00:03:57,640 --> 00:04:02,410 Ja kui ma saan rohkem mobiili riske 63 00:04:02,410 --> 00:04:04,910 saate aru, miks see on tähtsam. 64 00:04:04,910 --> 00:04:09,710 On olemas oht, riistvara tasemel mobiiliga. 65 00:04:09,710 --> 00:04:11,670 See on valdkond, käimasolevate teadus. 66 00:04:11,670 --> 00:04:15,910 Inimesed kutsuvad neid lairiba rünnakute või baseband rünnakud 67 00:04:15,910 --> 00:04:21,870 kuhu rünnata püsivara kuulab raadiost. 68 00:04:21,870 --> 00:04:25,430 >> Need on tõesti hirmutav rünnakute tõttu 69 00:04:25,430 --> 00:04:27,280 kasutaja ei pea midagi tegema. 70 00:04:27,280 --> 00:04:30,760 Võite tabas palju seadmeid jooksul RF valik 71 00:04:30,760 --> 00:04:36,690 korraga, ja tundub, et iga kord, kui see uuring mullid üles 72 00:04:36,690 --> 00:04:40,750 kiiresti saab klassifitseerida kui 73 00:04:40,750 --> 00:04:46,600 inimesed sööstma ümber ja öelda: "Siin rääkige meile, et ja siis räägi seda." 74 00:04:46,600 --> 00:04:49,460 Seal on mõned uuringud toimub lairibaühenduse valdkonnas, 75 00:04:49,460 --> 00:04:51,980 kuid see tundub olevat väga Hush Hush. 76 00:04:51,980 --> 00:04:56,910 Ma arvan, et see on rohkem rahvusriik liiki teadusuuringuid, et toimub. 77 00:04:56,910 --> 00:05:02,140 Valdkonnas aktiivne teadus, kuigi on operatsioonisüsteemi kiht, 78 00:05:02,140 --> 00:05:08,910 ja jälle, et see on teistsugune kui lauaarvutite maailmas 79 00:05:08,910 --> 00:05:14,840 kuna mobiilne ruumi teil on need meeskonnad inimesed kutsutud jailbreakers, 80 00:05:14,840 --> 00:05:18,670 ja jailbreakers on teistsugune kui regulaarne haavatavus teadlased. 81 00:05:18,670 --> 00:05:21,970 Nad püüavad leida turvaauke operatsioonisüsteemi 82 00:05:21,970 --> 00:05:27,000 kuid põhjus, et nad üritavad leida turvaauke ei 83 00:05:27,000 --> 00:05:31,810 tungida kellegi teise masina ja ohustada see. 84 00:05:31,810 --> 00:05:34,280 See tungida oma arvuti. 85 00:05:34,280 --> 00:05:38,820 >> Nad tahavad tungida oma mobiiltelefoni, muuta oma mobiilse operatsioonisüsteemi 86 00:05:38,820 --> 00:05:41,050 nii et neid saab käivitada rakendusi oma valiku 87 00:05:41,050 --> 00:05:44,510 ja muuta asju täis ülema õigusi, 88 00:05:44,510 --> 00:05:49,050 ja nad ei taha öelda, et müüja sellest. 89 00:05:49,050 --> 00:05:52,960 Nad ei ole nagu turvalisuse teadlane, kes on valge müts turvalisuse teadlane 90 00:05:52,960 --> 00:05:56,600 mida teeme vastutab avalikustamise ja öelda müüja about it. 91 00:05:56,600 --> 00:06:01,270 Nad tahavad seda teha uuringud, ning nad tahavad tegelikult avaldada 92 00:06:01,270 --> 00:06:06,400 aastal ära või rootkit või jailbreak kood, 93 00:06:06,400 --> 00:06:10,010 ja nad tahavad seda teha strateegiliselt, nagu kohe pärast 94 00:06:10,010 --> 00:06:13,570 müüja laevade uue operatsioonisüsteemi. 95 00:06:13,570 --> 00:06:16,350 Sul on see võistleva suhe 96 00:06:16,350 --> 00:06:19,000 OS-tase turvaaukude mobiil 97 00:06:19,000 --> 00:06:23,150 mis minu arvates on päris huvitav, ja ühes kohas me näeme seda 98 00:06:23,150 --> 00:06:29,210 on ta teeb seda nii, et seal on hea avaldas kasutada koodi seal 99 00:06:29,210 --> 00:06:31,750 kernel-tasandi turvaaukude 100 00:06:31,750 --> 00:06:35,040 ja me oleme näinud neid tegelikult kasutatakse pahavara kirjutajad. 101 00:06:35,040 --> 00:06:38,450 See on natuke teistsugune kui PC maailmas. 102 00:06:38,450 --> 00:06:42,530 Ja seejärel lõplik kiht on pealmine kiht, kohaldamise kiht. 103 00:06:42,530 --> 00:06:45,250 See, mida ma täna rääkida. 104 00:06:45,250 --> 00:06:48,970 >> Muud kihti olemas, ja teised kihid mängima sinna, 105 00:06:48,970 --> 00:06:53,310 aga ma enamasti ei kavatse rääkida, mis toimub kell Rakenduse kiht 106 00:06:53,310 --> 00:06:55,560 kui kood töötab liivakastis. 107 00:06:55,560 --> 00:06:58,670 See ei ole administraatori õigusi. 108 00:06:58,670 --> 00:07:02,170 See on kasutada APIs on seadme 109 00:07:02,170 --> 00:07:06,970 Aga ikkagi, palju pahatahtliku tegevuse ja palju risk võib juhtuda, et kiht 110 00:07:06,970 --> 00:07:09,220 sest see on kiht, kus kõik andmed on. 111 00:07:09,220 --> 00:07:12,330 Apps on võimalik tutvuda kogu informatsioon vahendile 112 00:07:12,330 --> 00:07:15,390 kui neil on õigus load, 113 00:07:15,390 --> 00:07:17,540 ja nad saavad juurdepääsu erinevate sensorite seadmel 114 00:07:17,540 --> 00:07:23,950 GPS sensor, mikrofon, kaamera, mida olete. 115 00:07:23,950 --> 00:07:27,380 Isegi kui me ainult räägime kell Rakenduse kiht 116 00:07:27,380 --> 00:07:33,700 meil on palju risk olemas. 117 00:07:33,700 --> 00:07:38,450 Teine asi, mis on erinev umbes mobiili keskkonnale 118 00:07:38,450 --> 00:07:45,060 on kõik operatsioonisüsteemi mängijad, olgu see BlackBerry või Android 119 00:07:45,060 --> 00:07:53,410 või iOS või Windows mobile, neil kõigil on peeneteraline luba mudel, 120 00:07:53,410 --> 00:07:56,990 ja see on üks viise, et nad ehitatud operatsioonisüsteem 121 00:07:56,990 --> 00:08:01,230 Mõte, et see ei ole nii riskantne, kui sa arvad. 122 00:08:01,230 --> 00:08:04,550 Isegi kui teil on kõik teie kontaktid on kõik teie isikuandmeid, 123 00:08:04,550 --> 00:08:09,080 sul on pilte, siis on teie asukohta seal, 124 00:08:09,080 --> 00:08:14,820 sa salvestada oma panga pin auto login seal, et see on ohutu, sest 125 00:08:14,820 --> 00:08:19,430 apps peavad olema teatud õigused, et saada teatud osad 126 00:08:19,430 --> 00:08:25,080 informatsiooni seadme ja kasutaja peab olema esitatud koos 127 00:08:25,080 --> 00:08:29,230 need õigused ja öelda midagi. 128 00:08:29,230 --> 00:08:32,590 >> Probleem on kasutaja ütleb alati midagi. 129 00:08:32,590 --> 00:08:35,240 Kuna turvalisuse inimene, ma tean, et sa ei küsi kasutaja 130 00:08:35,240 --> 00:08:40,100 öelda midagi väga halba juhtub, sa tahad, et see juhtub? 131 00:08:40,100 --> 00:08:44,680 Ja kui nad kiirustada või on midagi tõesti köitev on teisel pool, 132 00:08:44,680 --> 00:08:47,760 nagu mäng läheb paigaldada, et nad on oodanud, 133 00:08:47,760 --> 00:08:50,860 nad ei kavatse kliki okei. 134 00:08:50,860 --> 00:08:56,630 Sellepärast ma ütlen minu slide siin just let me paiskama lindude sigade juba, 135 00:08:56,630 --> 00:09:03,150 ja te näete slaidil siin seal on näited BlackBerry luba kasti. 136 00:09:03,150 --> 00:09:05,990 Ta ütleb: "Palun määrake BlackBerry Travel taotluse load 137 00:09:05,990 --> 00:09:09,720 pärast klõpsates nuppu allpool "ja põhiliselt kasutaja lihtsalt ütlen 138 00:09:09,720 --> 00:09:12,240 kehtestatud õigused ja salvestada. 139 00:09:12,240 --> 00:09:18,010 Siin Android kiire, kui ta näitab asju, 140 00:09:18,010 --> 00:09:20,260 ja see tegelikult paneb midagi, et peaaegu tundub hoiatust. 141 00:09:20,260 --> 00:09:25,090 Tal on mingi saak märk seal ütlesid võrgu side, telefonikõne, 142 00:09:25,090 --> 00:09:28,120 kuid kasutaja saab klõpsata installida, eks? 143 00:09:28,120 --> 00:09:32,940 Ja siis Apple üks täiesti kahjutu. 144 00:09:32,940 --> 00:09:34,300 See ei anna mingit hoiatust. 145 00:09:34,300 --> 00:09:37,380 See on lihtsalt Apple soovib kasutada oma praeguses asukohas. 146 00:09:37,380 --> 00:09:39,670 Muidugi sa lähed kliki okei. 147 00:09:39,670 --> 00:09:42,260 >> On see peeneteraline luba mudel, 148 00:09:42,260 --> 00:09:45,890 ja apps pea olema manifestfaili kus nad kinnitavad, 149 00:09:45,890 --> 00:09:49,410 õigused, mida nad vajavad, ja et saad kuvatakse kasutajale, 150 00:09:49,410 --> 00:09:53,480 ja kasutajal on öelda, et ma neid õigusi. 151 00:09:53,480 --> 00:09:55,080 Kuid olgem ausad. 152 00:09:55,080 --> 00:09:58,400 Kasutajad lihtsalt läheb alati öelda midagi. 153 00:09:58,400 --> 00:10:04,460 Võtame pilgu load, et need apps küsivad 154 00:10:04,460 --> 00:10:06,850 ja mõned õigused, mis on olemas. 155 00:10:06,850 --> 00:10:09,950 See ettevõte Ihukaitsja tegi uuringu mullu 156 00:10:09,950 --> 00:10:14,170 53000 taotlusi analüüsiti Android turg ja 3. osapoole turgude 157 00:10:14,170 --> 00:10:16,770 nii et see on kõik Android. 158 00:10:16,770 --> 00:10:19,670 Ja keskmine Avaldaja nõudis 3 load. 159 00:10:19,670 --> 00:10:23,370 Mõned apps taotles 117 load, 160 00:10:23,370 --> 00:10:27,480 Nii et ilmselt on need väga peeneteraline ja liiga keeruline, et kasutajal mõista 161 00:10:27,480 --> 00:10:31,600 kui nad esitatakse koos selle app, mis vajab need 117 õigused. 162 00:10:31,600 --> 00:10:37,270 See on nagu lõppkasutaja litsentsilepinguga, mis on 45 lehekülge pikk. 163 00:10:37,270 --> 00:10:40,240 Võib-olla varsti nad on võimalus, kui see on nagu 164 00:10:40,240 --> 00:10:43,100 prindi õigused ja saatke mulle email. 165 00:10:43,100 --> 00:10:45,480 >> Aga kui te vaatate mõned top huvitav load 166 00:10:45,480 --> 00:10:50,840 24% apps, et nad alla välja 53000 167 00:10:50,840 --> 00:10:57,230 taotletud GPS informatsiooni seadme. 168 00:10:57,230 --> 00:10:59,810 8% lugeda kontaktid. 169 00:10:59,810 --> 00:11:03,770 4% saadetud SMS, ja 3% said SMS. 170 00:11:03,770 --> 00:11:07,730 2% salvestatud heli. 171 00:11:07,730 --> 00:11:11,210 1% töödeldud väljuvad kõned. 172 00:11:11,210 --> 00:11:13,140 Ma ei tea. 173 00:11:13,140 --> 00:11:17,520 Ma ei usu, 4% apps App Store tõesti vaja saata SMS tekstisõnumid, 174 00:11:17,520 --> 00:11:21,410 nii et ma arvan, et see on vihje, et midagi ebasoovitavad juhtub. 175 00:11:21,410 --> 00:11:24,350 8% apps vaja lugeda oma kontaktide nimekirja. 176 00:11:24,350 --> 00:11:26,510 See ilmselt ei ole vajalik. 177 00:11:26,510 --> 00:11:30,990 Üks muid huvitavaid asju õigused on 178 00:11:30,990 --> 00:11:36,740 kui sa link jagatud raamatukogud oma taotluse 179 00:11:36,740 --> 00:11:39,780 need pärivad õigused taotluse, 180 00:11:39,780 --> 00:11:46,570 Seega, kui teie app vajab kontaktiloendisse või vajab GPS asukoha toimida 181 00:11:46,570 --> 00:11:49,940 ja sa lingi reklaami nt raamatukogus, 182 00:11:49,940 --> 00:11:53,170 et reklaami raamatukogu ka pääse kontaktid 183 00:11:53,170 --> 00:11:57,630 ja ka pääse GPS asukoha 184 00:11:57,630 --> 00:12:01,990 ja arendaja app teab midagi koodi, mis jookseb reklaami raamatukogu. 185 00:12:01,990 --> 00:12:05,370 Nad lihtsalt siduda, et kuna nad tahavad teenida raha oma app. 186 00:12:05,370 --> 00:12:09,820 >> See on koht, kus-ja räägin mõned näited sellest, kus 187 00:12:09,820 --> 00:12:13,930 rakendus nimega Pandora, kus rakendus arendaja 188 00:12:13,930 --> 00:12:18,910 võib tahtmatult hakkas lekkima info 189 00:12:18,910 --> 00:12:24,580 oma kasutajatele, sest raamatukogud nad seotud sisse 190 00:12:24,580 --> 00:12:30,110 Geodeetilised maastik seal, vaadates kõiki erinevaid apps 191 00:12:30,110 --> 00:12:34,310 mis on kirjeldatud uudised pahatahtlik või midagi kasutajad ei taha 192 00:12:34,310 --> 00:12:39,360 ja siis kontrollimise palju apps-teeme palju staatiline binaarne analüüs mobiil apps, 193 00:12:39,360 --> 00:12:42,010 seega oleme uurisid neid ja vaatas kood ise- 194 00:12:42,010 --> 00:12:49,640 tulime me kutsume meie top 10 nimekiri riskikäitumine rakendustes. 195 00:12:49,640 --> 00:12:54,180 Ja see on jaotatud 2 ossa, pahatahtliku koodi, 196 00:12:54,180 --> 00:12:57,600 nii need on halvad asjad, mis apps võib seda tehes 197 00:12:57,600 --> 00:13:06,520 tõenäoliselt midagi, mida pahatahtlik üksikute 198 00:13:06,520 --> 00:13:10,060 on konkreetselt esitatud taotluses, kuid see on natuke udune. 199 00:13:10,060 --> 00:13:13,300 See võiks olla midagi, et arendaja arvab, on hea, 200 00:13:13,300 --> 00:13:16,350 kuid see jõuab on mõelnud kui pahatahtlik kasutaja. 201 00:13:16,350 --> 00:13:19,830 >> Ja siis teine ​​osa on see, mida me nimetame kodeerimine turvaaukude 202 00:13:19,830 --> 00:13:24,600 ja need on asjad, kus arendaja põhimõtteliselt on vigu 203 00:13:24,600 --> 00:13:27,200 või lihtsalt ei saa aru, kuidas kirjutada app turvaliselt 204 00:13:27,200 --> 00:13:30,260  ja mis paneb app kasutaja ohus. 205 00:13:30,260 --> 00:13:34,060 Ma lähen läbi nende üksikasjalikult ja tuua mõned näited. 206 00:13:34,060 --> 00:13:39,620 Viide, ma tahtsin panna OWASP mobiil top 10 nimekiri. 207 00:13:39,620 --> 00:13:43,590 Need on 10 küsimused, mis grupi OWASP, 208 00:13:43,590 --> 00:13:48,900 Open Web Application Security Project, nad on töörühm 209 00:13:48,900 --> 00:13:50,620 kallal mobiiltelefoni top 10 nimekiri. 210 00:13:50,620 --> 00:13:54,600 Nad on väga kuulus web top 10 nimekiri, mis on top 10 211 00:13:54,600 --> 00:13:57,180 ohtlikumad asjad saab olla veebirakenduse. 212 00:13:57,180 --> 00:13:59,090 Nad teevad sama asja mobiili 213 00:13:59,090 --> 00:14:01,750 ja nende nimekiri on veidi teistsugune kui meil. 214 00:14:01,750 --> 00:14:03,670 6 otsa 10 on sama. 215 00:14:03,670 --> 00:14:06,020 Nad on 4, mis on erinevad. 216 00:14:06,020 --> 00:14:10,550 Ma arvan, et nad on natuke erinev võtma 217 00:14:10,550 --> 00:14:14,490 risk mobiilside apps kui palju nende küsimuste 218 00:14:14,490 --> 00:14:20,490 on tõesti, kuidas taotluse edastamisel back-end server 219 00:14:20,490 --> 00:14:23,100 või mis toimub on back-end server, 220 00:14:23,100 --> 00:14:29,220 mitte nii palju apps, mis on riskantne tegevus, mis on sama lihtne klient apps. 221 00:14:29,220 --> 00:14:36,640 >> Ones punaselt siin on erinevused 2 nimekirju. 222 00:14:36,640 --> 00:14:40,740 Ja mõned minu uurimisrühm on tegelikult aidanud kaasa selle projekti 223 00:14:40,740 --> 00:14:44,570 nii me näeme, mis juhtub aja jooksul, kuid ma arvan, Buffee siin 224 00:14:44,570 --> 00:14:47,550 me tõesti ei tea, mida top 10 nimekiri on mobiilne apps sest 225 00:14:47,550 --> 00:14:50,510 nad on tõesti olnud vaid umbes 2 või 3 aastat, 226 00:14:50,510 --> 00:14:57,750 ja seal ei ole olnud piisavalt aega, et tõesti teadus operatsioonisüsteemid 227 00:14:57,750 --> 00:15:00,450 ja mida nad suudavad, ja seal ei ole olnud piisavalt aega 228 00:15:00,450 --> 00:15:06,870 pahatahtlikku kogukond, kui soovite, et oli veetnud piisavalt aega 229 00:15:06,870 --> 00:15:12,910 üritavad rünnata kasutajatele mobiilne apps, et ma ootan neid nimekirju muuta natuke. 230 00:15:12,910 --> 00:15:18,720 Aga nüüd on need top 10 asju muretsema. 231 00:15:18,720 --> 00:15:24,150 Võite küsida, mobiilne side, kus ei pahatahtliku mobiilne koodi 232 00:15:24,150 --> 00:15:28,880 kuidas see saada, et seade? 233 00:15:28,880 --> 00:15:35,210 North Carolina State on projekt nimega Mobile Malware Geenivaramu 234 00:15:35,210 --> 00:15:39,520 kus neid kogudes nii palju mobiilne pahavara, kui nad saavad ja analüüsimine, 235 00:15:39,520 --> 00:15:45,270 ja nad on jaotatud süst vektorite et mobiil pahavara kasutab, 236 00:15:45,270 --> 00:15:51,490 ja 86% kasutavad tehnikat nimega ümberpakendamine, 237 00:15:51,490 --> 00:15:54,160 ja see on ainult Android platvorm 238 00:15:54,160 --> 00:15:56,720 kas sa tõesti seda teha ümberpakendamine. 239 00:15:56,720 --> 00:16:03,100 >> Põhjus on Android kood on ehitatud 240 00:16:03,100 --> 00:16:08,130 Java byte kood kutsus Dalvik mis on kergesti decompilable. 241 00:16:08,130 --> 00:16:12,460 Mida paha saab teha, on 242 00:16:12,460 --> 00:16:16,590 võtma Android taotlus, dekompileerida see, 243 00:16:16,590 --> 00:16:20,120 sisestada oma pahatahtliku koodi, kompileeri see, 244 00:16:20,120 --> 00:16:28,070 ja siis pane see üles App Store, mis tahab olla uus versioon, et taotlus, 245 00:16:28,070 --> 00:16:30,330 või lihtsalt võibolla muutuvad rakenduse nimi. 246 00:16:30,330 --> 00:16:35,140 Kui see oli mingi mäng, nime muuta veidi, 247 00:16:35,140 --> 00:16:42,860 ja nii see ümberpakendamine on kuidas 86% mobiilse pahavara saab laiali. 248 00:16:42,860 --> 00:16:45,810 Seal on teine ​​tehnikat nimega uuendus, mis on 249 00:16:45,810 --> 00:16:50,030 väga sarnane ümberpakendamine, aga tegelikult ei pane pahatahtliku koodi sisse 250 00:16:50,030 --> 00:16:52,870 Mida teha, on paned väikese ajakohastamise mehhanism. 251 00:16:52,870 --> 00:16:56,660 Sa dekompileerida, paned ajakohastamise mehhanism, ja sa kompileerida see, 252 00:16:56,660 --> 00:17:02,360 ja siis, kui rakendus töötab see tõmbab alla pahavara seade. 253 00:17:02,360 --> 00:17:06,300 >> Valdav enamik on need 2 meetodeid. 254 00:17:06,300 --> 00:17:12,710 Seal ei ole tõesti palju download drive-bys või drive-by downloads mobiiltelefonide, 255 00:17:12,710 --> 00:17:15,890 mis võiks olla nagu õngevõtmiskatset. 256 00:17:15,890 --> 00:17:18,200 Hei, vaadake seda väga lahe veebileht, 257 00:17:18,200 --> 00:17:21,020 või sa pead minema seda veebilehte ja täitke see vorm 258 00:17:21,020 --> 00:17:24,420 hoida jätkuvalt midagi. 259 00:17:24,420 --> 00:17:26,230 Need on phishing rünnakuid. 260 00:17:26,230 --> 00:17:28,160 Sama asi võib juhtuda mobiilne platvorm, kus nad 261 00:17:28,160 --> 00:17:33,830 osutavad mobiilne app alla laadida, siis ütle "Tere, see on Bank of America." 262 00:17:33,830 --> 00:17:36,070 "Me näeme, et sa seda rakendust." 263 00:17:36,070 --> 00:17:38,540 "Te peaksite alla laadima selle muu rakendus." 264 00:17:38,540 --> 00:17:41,170 Teoreetiliselt võiks sobida. 265 00:17:41,170 --> 00:17:48,610 Võib-olla ta lihtsalt ei kasutata piisavalt, et teha kindlaks, kas see on edukas või mitte, 266 00:17:48,610 --> 00:17:51,680 kuid nad leidsid, et vähem kui 1% ajast kasutatakse seda tehnikat. 267 00:17:51,680 --> 00:17:56,130 Enamuse ajast on see tõesti ümberpakendatud kood. 268 00:17:56,130 --> 00:17:58,710 >> Seal on teine ​​kategooria nimega standalone 269 00:17:58,710 --> 00:18:01,420 kui keegi lihtsalt ehitab uhiuus taotluse. 270 00:18:01,420 --> 00:18:04,020 Nad ehitada rakendus, mis väidab end olevat midagi. 271 00:18:04,020 --> 00:18:07,360 See ei ole ümberpakendamine midagi muud, ja mis on pahatahtliku koodi. 272 00:18:07,360 --> 00:18:11,230 Seda kasutatakse 14% ajast. 273 00:18:11,230 --> 00:18:17,880 Nüüd ma tahan rääkida, mis on pahatahtliku koodi teed? 274 00:18:17,880 --> 00:18:23,070 Üks esimesi pahavara seal 275 00:18:23,070 --> 00:18:25,490 siis võiks kaaluda nuhkvara. 276 00:18:25,490 --> 00:18:27,620 Põhiliselt spioonid kasutaja. 277 00:18:27,620 --> 00:18:30,470 Ta kogub kirju, SMS sõnumeid. 278 00:18:30,470 --> 00:18:32,340 Selgub mikrofoni. 279 00:18:32,340 --> 00:18:37,330 Ta koristab kontakt raamatut ja saadab ta ära kellelegi teisele. 280 00:18:37,330 --> 00:18:40,870 Seda tüüpi nuhkvara on olemas arvuti, 281 00:18:40,870 --> 00:18:46,200 nii et see on täiesti loogiline, et inimesed saaksid proovida seda teha mobiiliga. 282 00:18:46,200 --> 00:18:53,230 >> Üks esimese näited sellest oli programm nimega salajane SMS Replitkaatori. 283 00:18:53,230 --> 00:18:56,250 See oli Android Marketplace paar aastat tagasi, 284 00:18:56,250 --> 00:18:59,960 ja mõte oli, kui teil oleks juurdepääs kellegi Android telefon 285 00:18:59,960 --> 00:19:03,450 mis sa tahtsid luurama, et äkki see on sinu abikaasa 286 00:19:03,450 --> 00:19:07,600 või teie teised olulised ja soovite luurama oma tekstisõnumit, 287 00:19:07,600 --> 00:19:11,200 võid alla laadida see app ja installida ja seadistada 288 00:19:11,200 --> 00:19:16,540 saata SMS sõnum teile koopia 289 00:19:16,540 --> 00:19:21,710 iga SMS-sõnumi nad said. 290 00:19:21,710 --> 00:19:27,220 Ilmselt on rikkumisi app store kasutustingimused 291 00:19:27,220 --> 00:19:32,040 ja see oli eemaldatud Android Marketplace 18 tunni jooksul, et oleks olemas, 292 00:19:32,040 --> 00:19:36,760 nii väga väike hulk inimesi on ohus, sest sellest. 293 00:19:36,760 --> 00:19:42,510 Nüüd ma arvan, et kui programm kutsuti midagi võib-olla veidi vähem provokatiivne 294 00:19:42,510 --> 00:19:48,690 nagu Secret SMS Replicator see ilmselt oleks töötas palju paremini. 295 00:19:48,690 --> 00:19:52,870 Aga see oli selline ilmne. 296 00:19:52,870 --> 00:19:58,680 >> Üks asi, mida me saame teha, et teha kindlaks, kas apps on selline käitumine, et me ei taha 297 00:19:58,680 --> 00:20:01,410 on kontrollida koodi. 298 00:20:01,410 --> 00:20:06,250 See on tegelikult väga lihtne teha Android sest me ei dekompileerida apps. 299 00:20:06,250 --> 00:20:11,050 IOS saate disassembleri nagu IDA Pro 300 00:20:11,050 --> 00:20:17,190 vaadata, mida rakendusliideste app helistab ja mida ta teeb. 301 00:20:17,190 --> 00:20:20,680 Me kirjutasime oma binaarne staatiline analüsaator meie kood 302 00:20:20,680 --> 00:20:24,940 ja kui me seda teeme, ja nii, mida võiks teha, on, võiks öelda, 303 00:20:24,940 --> 00:20:30,490 Mis seade teha midagi, mis on põhimõtteliselt luurad mind või jälgimise mind? 304 00:20:30,490 --> 00:20:33,360 Ja mul on mõned näited siin on iPhone. 305 00:20:33,360 --> 00:20:41,440 Esimene näide on see, kuidas pääseda UUID telefon. 306 00:20:41,440 --> 00:20:47,060 See on tegelikult midagi, et Apple on lihtsalt keelatud uute rakenduste jaoks, 307 00:20:47,060 --> 00:20:52,540 kuid vana rakendused, mida oleks võinud töötab teie telefon on veel teha, 308 00:20:52,540 --> 00:20:56,500 ja nii, et unikaalne identifikaator võib kasutada pala 309 00:20:56,500 --> 00:21:00,440 paljudes erinevates rakendustes. 310 00:21:00,440 --> 00:21:07,180 >> Android, mul on näiteks siin saada seadme asukohta. 311 00:21:07,180 --> 00:21:10,310 Näete, et kui see API kõne on seal, et app on jälgida, 312 00:21:10,310 --> 00:21:15,000 ja te näete, kas see muutub trahvi asukoha või jäme asukohta. 313 00:21:15,000 --> 00:21:18,860 Ja siis põhjale siin, mul on näide sellest, kuidas BlackBerry 314 00:21:18,860 --> 00:21:25,130 rakendamine võib pääseda e-kirju oma postkasti. 315 00:21:25,130 --> 00:21:27,660 Need on omamoodi asju saab kontrollida, et näha, 316 00:21:27,660 --> 00:21:32,360 kui app teeb neid asju. 317 00:21:32,360 --> 00:21:38,320 Teine suur kategooria pahatahtlikku käitumist ja see on tõenäoliselt suurim kategooria nüüd, 318 00:21:38,320 --> 00:21:43,950 on lubamatu numbrid loata premium SMS tekstisõnumeid 319 00:21:43,950 --> 00:21:46,080 või autoriseerimata maksete. 320 00:21:46,080 --> 00:21:48,930 Teine asi, mis on ainulaadne umbes telefon 321 00:21:48,930 --> 00:21:52,700 Kas seade on konks arvelduskonto, 322 00:21:52,700 --> 00:21:55,960 ja kui tegevus toimub telefoni 323 00:21:55,960 --> 00:21:58,510 see võib tekitada eest. 324 00:21:58,510 --> 00:22:00,700 Te saate osta asju telefoni teel, 325 00:22:00,700 --> 00:22:04,390 ja kui sa talle lisatasu SMS-sõnumi sa tegelikult annab raha 326 00:22:04,390 --> 00:22:11,590 et konto omaniku telefoni number teisel pool. 327 00:22:11,590 --> 00:22:17,420 Need loodi selleks, et saada börsikursid või saada oma igapäevane horoskoop või muid asju, 328 00:22:17,420 --> 00:22:21,680 kuid neid saab luua tellida toode saates SMS. 329 00:22:21,680 --> 00:22:26,970 Inimesed annavad raha, et Punase Risti saates tekstisõnumi. 330 00:22:26,970 --> 00:22:30,650 Võite anda $ 10 nii. 331 00:22:30,650 --> 00:22:34,190 >> Ründajad, mida nad on teinud, on nad loonud 332 00:22:34,190 --> 00:22:38,750 moodustab välisriikides, ja nad kinnistada pahavara 333 00:22:38,750 --> 00:22:42,840 et telefon saadab lisatasu SMS-sõnumi, 334 00:22:42,840 --> 00:22:47,700 öelda, paar korda päevas, ja lõpus kuu sa mõistad, sa oled veetnud 335 00:22:47,700 --> 00:22:52,090 kümneid või isegi sadu dollareid, ja nad minema jalutada raha. 336 00:22:52,090 --> 00:22:57,280 See on nii halb, et see oli esimene asi, mida Android 337 00:22:57,280 --> 00:23:00,760 Marketplace või Google koht-see oli Android Marketplace ajal, 338 00:23:00,760 --> 00:23:04,430 ja see on nüüd Google Play-esimene asi, mida Google alustas kontrollides. 339 00:23:04,430 --> 00:23:08,700 Kui Google alustas jaotavad Android apps oma App Store 340 00:23:08,700 --> 00:23:11,350 nad ütlesid, et nad ei kavatse vaadata midagi. 341 00:23:11,350 --> 00:23:15,630 Me tõmba apps kui oleme teatanud nad murdsid meie kasutustingimuste, 342 00:23:15,630 --> 00:23:17,520 kuid me ei kavatse vaadata midagi. 343 00:23:17,520 --> 00:23:24,350 Noh, umbes aasta tagasi see on nii halb see premium SMS tekstisõnumi pahavara 344 00:23:24,350 --> 00:23:28,030 et see on kõige esimene asi, mida nad hakkasid kontrollimine. 345 00:23:28,030 --> 00:23:31,770 Kui app on võimalik saata SMS-sõnumeid 346 00:23:31,770 --> 00:23:34,750 nad edasi käsitsi kontrollida, et taotluse. 347 00:23:34,750 --> 00:23:38,770 Nad ootavad API, mis kutsuvad seda, 348 00:23:38,770 --> 00:23:40,580 ja nüüd, sest siis Google on laienenud, 349 00:23:40,580 --> 00:23:46,900 kuid see oli esimene asi, mida nad hakkasid otsima. 350 00:23:46,900 --> 00:23:50,690 >> Mõned teised apps et tegin mõned SMS tekstisõnumeid, 351 00:23:50,690 --> 00:23:56,980 see Android Qicsomos, ma arvan, et see on nn. 352 00:23:56,980 --> 00:24:02,670 Oli see praegune sündmus mobiilne kus see CarrierIQ tuli välja 353 00:24:02,670 --> 00:24:07,720 nuhkvara panna seade kandjaid, 354 00:24:07,720 --> 00:24:10,820 et inimesed tahtsid teada, kas nende telefon oli haavatav sellele, 355 00:24:10,820 --> 00:24:13,890 ja see oli tasuta app, et katsetada seda. 356 00:24:13,890 --> 00:24:17,520 Noh, muidugi, mida see app tegin oli see saadetakse premium SMS tekstisõnumeid, 357 00:24:17,520 --> 00:24:20,090 nii, testides, et näha, kui olete nakatunud nuhkvaraga 358 00:24:20,090 --> 00:24:24,930 laaditud pahavara seade. 359 00:24:24,930 --> 00:24:27,310 Me nägime sama asi juhtub viimasel Super Bowl. 360 00:24:27,310 --> 00:24:33,180 Seal oli võlts versioon Madden jalgpalli mäng 361 00:24:33,180 --> 00:24:38,320 et saata tasulisi SMSe tekstisõnumeid. 362 00:24:38,320 --> 00:24:45,750 See tegelikult püüdnud luua bot võrku liiga seadmes. 363 00:24:45,750 --> 00:24:48,090 Siin on mul mõned näited. 364 00:24:48,090 --> 00:24:52,640 Huvitaval kombel on Apple oli päris nutikas, 365 00:24:52,640 --> 00:24:58,470 ning need ei võimalda taotluste saata SMS tekstisõnumeid üldse. 366 00:24:58,470 --> 00:25:00,350 No app ei saa seda teha. 367 00:25:00,350 --> 00:25:03,530 See on suurepärane võimalus vabaneda kogu klass haavatavuse 368 00:25:03,530 --> 00:25:09,040 kuid Android sa saad seda teha, ja muidugi, BlackBerry saab seda teha ka. 369 00:25:09,040 --> 00:25:13,060 On huvitav, et BlackBerry kõik, mida vaja on internetiühendus õigusi 370 00:25:13,060 --> 00:25:18,370 saata SMS-sõnumi. 371 00:25:18,370 --> 00:25:21,580 >> Teine asi tõesti, et me otsima 372 00:25:21,580 --> 00:25:24,780 kui me otsime, et näha, kui midagi on pahatahtlik on lihtsalt mingeid 373 00:25:24,780 --> 00:25:28,100 lubamatu võrgu tegevust, nagu vaatate võrgu tegevust 374 00:25:28,100 --> 00:25:31,570 app peaks siis olema oma funktsionaalsuse, 375 00:25:31,570 --> 00:25:35,380 ja vaadata seda teiste võrgustiku tegevust. 376 00:25:35,380 --> 00:25:43,380 Võib-olla app, töötada, on saada andmed üle HTTP, 377 00:25:43,380 --> 00:25:47,500 aga kui ta teeb asju üle e-posti või SMS-i või Bluetoothi ​​või midagi sellist 378 00:25:47,500 --> 00:25:52,890 nüüd, et app võiks olla pahatahtlik, nii et see on veel üks asi, mida saab kontrollida eest. 379 00:25:52,890 --> 00:26:00,430 Ja see slaidi siin on mul selle kohta mõned näited. 380 00:26:00,430 --> 00:26:05,950 Teine huvitav asi, mida me nägime pahavara juhtus aastal 2009, 381 00:26:05,950 --> 00:26:07,600 ja see juhtus suur viisil. 382 00:26:07,600 --> 00:26:11,390 Ma ei tea, kas see on juhtunud nii palju, sest siis, kuid see oli app 383 00:26:11,390 --> 00:26:15,140 et kehastas teine ​​rakendus. 384 00:26:15,140 --> 00:26:21,700 Seal oli hulk apps, ja see oli dubleeritud 09Droid rünnak, 385 00:26:21,700 --> 00:26:29,770 ja keegi otsustas, et seal oli palju väikseid, piirkondliku keskmise suurusega pangad 386 00:26:29,770 --> 00:26:32,260 et ei ole internetipanga rakendused 387 00:26:32,260 --> 00:26:36,870 nii et mida nad tegid, oli neil ehitatud umbes 50 online-panganduse rakenduste 388 00:26:36,870 --> 00:26:39,410 et kõik nad tegid oli võtta kasutajanimi ja parool 389 00:26:39,410 --> 00:26:42,190 ja suunata sind veebilehel. 390 00:26:42,190 --> 00:26:47,470 Ja nii nad panid need kõik üles Google Marketplace, 391 00:26:47,470 --> 00:26:51,530 Android Marketplace, ja kui keegi otsida, et näha, kui oma panga 392 00:26:51,530 --> 00:26:56,000 oli taotlus, et nad leiaksid võlts rakendus 393 00:26:56,000 --> 00:27:01,230 mis on kogutud oma volikirjad ja seejärel suunata neid oma veebilehel. 394 00:27:01,230 --> 00:27:06,640 Nii, et see tegelikult sai-apps olid seal paar nädalat, 395 00:27:06,640 --> 00:27:09,050 ja seal oli tuhandeid ja tuhandeid faile. 396 00:27:09,050 --> 00:27:12,910 >> Kuidas see tuli ilmsiks oli keegi, kellel on probleeme 397 00:27:12,910 --> 00:27:15,740 üks rakendused ning nad kutsusid oma panga, 398 00:27:15,740 --> 00:27:18,390 ning nad kutsusid oma panga klienditugi ja ütles: 399 00:27:18,390 --> 00:27:21,180 "Mul on probleem oma liikuva panga taotlus." 400 00:27:21,180 --> 00:27:23,460 "Kas sa mind aidata?" 401 00:27:23,460 --> 00:27:26,540 Ja nad vastasid: "Meil ei ole mobiilne pangandus taotluse." 402 00:27:26,540 --> 00:27:28,120 See alustanud uurimist. 403 00:27:28,120 --> 00:27:31,200 See pank nimega Google, ja siis Google vaatas ja ütles: 404 00:27:31,200 --> 00:27:37,220 "Wow, sama autor on kirjutanud 50 panga rakendused" ja võttis nad kõik maha. 405 00:27:37,220 --> 00:27:43,410 Aga kindlasti võiks see korduda. 406 00:27:43,410 --> 00:27:51,790 Seal on nimekiri kõikidest erinevates pankades siin 407 00:27:51,790 --> 00:27:55,870 mis olid osa selle analüüs. 408 00:27:55,870 --> 00:28:02,050 Teine asi app saab teha, on praegu UI teise taotluse. 409 00:28:02,050 --> 00:28:06,430 Kuigi see töötab see võiks avanes Facebook UI. 410 00:28:06,430 --> 00:28:09,540 Ta ütleb, et sa pead panema oma kasutajanimi ja parool jätkata 411 00:28:09,540 --> 00:28:15,090 või panna suvalise kasutajanime ja salasõna UI kodulehel 412 00:28:15,090 --> 00:28:18,420 et äkki kasutaja kasutab lihtsalt proovida petta kasutaja 413 00:28:18,420 --> 00:28:21,340 sisse pannes oma volikirjad sisse 414 00:28:21,340 --> 00:28:25,590 See on tõesti sirge paralleeli email phishing rünnakuid 415 00:28:25,590 --> 00:28:28,210 kui keegi saadab teile e-kirja 416 00:28:28,210 --> 00:28:33,050 ja annab teile põhimõtteliselt võlts UI kodulehel 417 00:28:33,050 --> 00:28:37,320 et teil on juurdepääs. 418 00:28:37,320 --> 00:28:41,590 >> Muu asi, mida me otsima pahatahtliku koodi süsteemi muutmist. 419 00:28:41,590 --> 00:28:48,160 Võite vaadata kõiki API kõned, mis nõuavad root privileegi 420 00:28:48,160 --> 00:28:50,870 täita korrektselt. 421 00:28:50,870 --> 00:28:56,160 Muutuvad seadme web proxy oleks midagi, et taotlus 422 00:28:56,160 --> 00:28:59,530 ei peaks olema võimalik seda teha. 423 00:28:59,530 --> 00:29:03,030 Aga juhul, kui taotlus on kood seal seda teha 424 00:29:03,030 --> 00:29:05,960 sa tead, et see on ilmselt ründerakendusega 425 00:29:05,960 --> 00:29:09,620 või väga suure tõenäosusega ründerakenduseks, 426 00:29:09,620 --> 00:29:13,910 ja mis siis juhtub see, et app oleks kuidagi Suurenevad privileeg. 427 00:29:13,910 --> 00:29:17,200 See on teatud privileeg eskaleerumise ära 428 00:29:17,200 --> 00:29:20,730 taotluses, ja siis, kui see eskaleerunud privileegid 429 00:29:20,730 --> 00:29:23,800 see teeks need muudatused süsteemi. 430 00:29:23,800 --> 00:29:28,010 Leiad pahavara, mis on privileeg eskaleerumise 431 00:29:28,010 --> 00:29:32,550 ta isegi ei tea, kuidas privileeg eskaleerumise 432 00:29:32,550 --> 00:29:37,960 ära juhtub, ja see on tore ja lihtne viis 433 00:29:37,960 --> 00:29:41,220 otsida pahavara. 434 00:29:41,220 --> 00:29:46,030 DroidDream oli ilmselt kõige kuulsam tükk Android pahavara. 435 00:29:46,030 --> 00:29:50,530 Ma arvan, et see mõjutab umbes 250.000 kasutajat üle mõne päeva 436 00:29:50,530 --> 00:29:52,810 Enne leiti. 437 00:29:52,810 --> 00:29:56,890 Nad ümberpakendatud 50 võlts rakendused 438 00:29:56,890 --> 00:30:00,370 pange need Android App Store, 439 00:30:00,370 --> 00:30:10,940 ja sisuliselt seda kasutada Android jailbreak kood laieneda privileegid 440 00:30:10,940 --> 00:30:16,380 ja siis installida juhtimise ja kontrolli muuta kõik ohvrid 441 00:30:16,380 --> 00:30:20,690 arvesse bot net, aga sa oleks võinud avastada selle 442 00:30:20,690 --> 00:30:24,170 kui sa olid skaneerimise taotlus ja lihtsalt otsin 443 00:30:24,170 --> 00:30:32,230 API kõned, vaja root õigusi teostada õigesti. 444 00:30:32,230 --> 00:30:40,150 >> Ja seal on näiteks siin on mul, mis on muutumas proxy, 445 00:30:40,150 --> 00:30:46,380 ja see tegelikult on saadaval ainult Android. 446 00:30:46,380 --> 00:30:49,070 Näete Ma annan sulle palju näiteid Android 447 00:30:49,070 --> 00:30:53,990 sest see on koht, kus kõige aktiivsem pahavara ökosüsteemi 448 00:30:53,990 --> 00:30:58,690 sest see on väga lihtne ründajal saada pahatahtliku koodi 449 00:30:58,690 --> 00:31:01,470 arvesse Android Market. 450 00:31:01,470 --> 00:31:06,480 See ei ole nii lihtne teha, et Apple App Store 451 00:31:06,480 --> 00:31:10,250 kuna Apple nõuab arendajatele end identifitseerida 452 00:31:10,250 --> 00:31:12,790 ja kirjutada koodi. 453 00:31:12,790 --> 00:31:20,340 Nad tegelikult kontrollida, kes sa oled, ja Apple on tegelikult taotluste läbivaatamist. 454 00:31:20,340 --> 00:31:27,450 Me ei näe palju tõsi pahavara, kus seade hakkab ohus. 455 00:31:27,450 --> 00:31:32,250 Räägin mõned näited, kus see on tõesti privaatsust, mis on saada kahjustatud, 456 00:31:32,250 --> 00:31:38,460 ja see, mis tegelikult toimub Apple seadmega. 457 00:31:38,460 --> 00:31:44,090 Teine asi otsida pahatahtliku koodi, riskantne koodi seadmed 458 00:31:44,090 --> 00:31:50,300 on loogika või aeg pommid ja ajapommid on ilmselt 459 00:31:50,300 --> 00:31:53,370 palju lihtsam otsida kui loogika pomme. 460 00:31:53,370 --> 00:31:57,030 Kuid aeg pomme, mida saate teha, on sul võimalik otsida 461 00:31:57,030 --> 00:32:04,760 kohti kood, kus aeg on testitud või absoluutset aega otsinud 462 00:32:04,760 --> 00:32:08,190 enne teatud funktsioone app juhtub. 463 00:32:08,190 --> 00:32:14,200 Ja seda on võimalik teha, et varjata, et aktiivsus kasutaja, 464 00:32:14,200 --> 00:32:17,510 nii see juhtub hilisõhtuni. 465 00:32:17,510 --> 00:32:24,350 DroidDream tegi kogu oma tegevuse 11:00-08:00 kohaliku aja järgi 466 00:32:24,350 --> 00:32:30,650 proovida seda teha, kui kasutaja ei pruugi olla kasutades oma seade. 467 00:32:30,650 --> 00:32:38,680 >> Teine põhjus seda teha on, kui inimesed kasutavad käitumisanalüüsiga taotluse, 468 00:32:38,680 --> 00:32:43,430 töötab app liivakastis näha, mis käitumist taotlus, 469 00:32:43,430 --> 00:32:51,090 nad saavad kasutada aega põhinev loogika teha tegevus 470 00:32:51,090 --> 00:32:54,640 kui rakendus ei ole liivakast. 471 00:32:54,640 --> 00:33:01,520 Näiteks app store nagu Apple 472 00:33:01,520 --> 00:33:07,940 jookseb rakendus, kuid nad ilmselt ei jookse iga taotluse, ütleme, 30 päeva 473 00:33:07,940 --> 00:33:10,550 enne selle rahuldamist, siis võite panna 474 00:33:10,550 --> 00:33:14,120 loogika oma rakendus, mis ütles, okei, ainult tee paha 475 00:33:14,120 --> 00:33:20,490 pärast 30 päeva on möödunud või pärast 30 päeva möödumist avaldab taotluse esitamise kuupäev, 476 00:33:20,490 --> 00:33:27,020 ja mis aitab pahatahtliku koodi peida inimeste kontrollimise eest. 477 00:33:27,020 --> 00:33:30,050 Kui viirusetõrje firmad töötavad asjad liivakastid 478 00:33:30,050 --> 00:33:36,370 või app kauplustes ise see aitab 479 00:33:36,370 --> 00:33:39,260 varjata, et selle kontrolli. 480 00:33:39,260 --> 00:33:43,020 Nüüd klapp külg, et see on lihtne leida staatilise analüüsi, 481 00:33:43,020 --> 00:33:46,170 nii tegelikult kontrolliva koodi saate otsida kõik kohad 482 00:33:46,170 --> 00:33:54,010 kus taotlus testib aega ja kontrollida nii. 483 00:33:54,010 --> 00:33:58,850 Ja siin mul on mõned näited neist 3 erinevatel platvormidel 484 00:33:58,850 --> 00:34:05,640 kuidas aega saab kontrollida, mida app tegija 485 00:34:05,640 --> 00:34:10,520 et sa tead, mida otsida, kui sa kontrollimise app staatiliselt. 486 00:34:10,520 --> 00:34:14,570 >> Ma veetsin terve hunnik erinevaid pahatahtlik tegevus 487 00:34:14,570 --> 00:34:18,969 et me oleme näinud looduses, kuid milline neist on kõige rohkem levinud? 488 00:34:18,969 --> 00:34:23,940 Sama uuring North Carolina State Mobile Geenivaramu 489 00:34:23,940 --> 00:34:28,560 avaldanud mõned andmed, ja seal olid põhiliselt 4 aladel 490 00:34:28,560 --> 00:34:32,850 et nad nägid, kus oli palju tegevust. 491 00:34:32,850 --> 00:34:35,370 37% apps ei privileeg eskaleerumise, 492 00:34:35,370 --> 00:34:38,429 et nad olid teatud tüüpi jailbreak kood sinna 493 00:34:38,429 --> 00:34:42,070 kus nad püüdsid laieneda õigused, et nad saaksid 494 00:34:42,070 --> 00:34:48,360 ei API käsud töötavad operatsioonisüsteemi. 495 00:34:48,360 --> 00:34:52,520 45% apps seal tegin premium SMS, 496 00:34:52,520 --> 00:34:57,260 nii et see on väga suur osa, mis püüab otse rahaks. 497 00:34:57,260 --> 00:35:02,640 93% ei kaugjuhtimispult, et nad üritasid luua bot net, mobiil bot net. 498 00:35:02,640 --> 00:35:08,990 Ja 45% koristatud kindlaks teave 499 00:35:08,990 --> 00:35:16,230 nagu telefoninumbrid, UUIDs, GPS asukoha, kasutajakontod, 500 00:35:16,230 --> 00:35:22,870 ja see lisab kuni rohkem kui 100, sest enamik pahavara üritab teha mõned neist asjadest. 501 00:35:22,870 --> 00:35:27,070 >> Ma minna teisele poole ja rääkida koodi kohti. 502 00:35:27,070 --> 00:35:29,480 See on teine ​​pool riskantne tegevus. 503 00:35:29,480 --> 00:35:33,450 See on koht, kus peamiselt arendaja teeb vigu. 504 00:35:33,450 --> 00:35:37,210 Õigustatud arendaja kirjalikult õigustatud app 505 00:35:37,210 --> 00:35:41,830 teeb vigu või on asjatundmatu riskidele mobiilsel platvormil. 506 00:35:41,830 --> 00:35:44,780 Nad lihtsalt ei tea, kuidas teha turvaline mobiilne app, 507 00:35:44,780 --> 00:35:47,700 või mõnikord arendaja ei hooli paneb kasutaja ohus. 508 00:35:47,700 --> 00:35:50,850 Vahel osa nende ärimudel võiks olla 509 00:35:50,850 --> 00:35:54,610 korjanud kasutaja isikuandmeid. 510 00:35:54,610 --> 00:35:58,090 See on omamoodi teine ​​kategooria, ja see on põhjus, miks mõned selle pahatahtliku 511 00:35:58,090 --> 00:36:03,200 versus õigustatud veritsema hakkab üle, sest seal on erinev arusaam 512 00:36:03,200 --> 00:36:10,440 vahel, mida kasutaja tahab ja mida kasutaja arvab riskantne 513 00:36:10,440 --> 00:36:13,050 ja mida rakendus arendaja leiab riskantne. 514 00:36:13,050 --> 00:36:18,380 Muidugi, see ei ole rakendus arendaja andmed enamasti. 515 00:36:18,380 --> 00:36:22,030 >> Ja siis lõpuks, teine ​​viis seda juhtub on arendaja võib linki 516 00:36:22,030 --> 00:36:28,600 Jagatud teegi, mis on nõrgad kohad või see riskantne käitumine see 517 00:36:28,600 --> 00:36:32,480 unbeknownst neile. 518 00:36:32,480 --> 00:36:37,060 Esimene kategooria on tundlike andmete leke, 519 00:36:37,060 --> 00:36:40,030 ja see on siis, kui rakendus kogub teavet 520 00:36:40,030 --> 00:36:44,980 nagu asukoht, aadressiraamatu teabe omaniku andmed 521 00:36:44,980 --> 00:36:48,000 ning saadab selle välja seade. 522 00:36:48,000 --> 00:36:53,050 Ja kui see on välja lülitatud, et seade, et me ei tea, mis toimub, et info. 523 00:36:53,050 --> 00:36:57,170 Võiks salvestatud ebakindlalt poolt rakendus arendaja. 524 00:36:57,170 --> 00:37:02,070 Me oleme näinud rakendus arendajad saavad kahjustatud, 525 00:37:02,070 --> 00:37:05,820 ja andmed, mida nad hoidmiseks saab võtta. 526 00:37:05,820 --> 00:37:10,970 See juhtus paar kuud tagasi, et arendaja Floridas 527 00:37:10,970 --> 00:37:21,660 kus suur hulk-see oli iPad UUIDs ja seadmete nimetused 528 00:37:21,660 --> 00:37:25,270 olid lekkinud sest keegi, ma arvan, et see oli anonüümne, 529 00:37:25,270 --> 00:37:29,460 väitis seda teha, tungis see arendaja serverid 530 00:37:29,460 --> 00:37:34,920 ja varastas miljoneid iPad UUIDs 531 00:37:34,920 --> 00:37:37,390 ja arvuti nime. 532 00:37:37,390 --> 00:37:40,260 Mitte kõige riskantsem info 533 00:37:40,260 --> 00:37:46,820 kuid mis siis, kui see oli ladustamiseks kasutajanimed ja paroolid 534 00:37:46,820 --> 00:37:48,170 ja kodused aadressid? 535 00:37:48,170 --> 00:37:51,100 Seal on palju rakendusi, et säilitada sellist teavet. 536 00:37:51,100 --> 00:37:53,230 Risk on olemas. 537 00:37:53,230 --> 00:37:56,620 >> Teine asi, mis võib juhtuda, on see, kui arendaja ei hoolitse 538 00:37:56,620 --> 00:38:01,370 tagada andmete kanal, ja see on üks suur haavatavus ma rääkida, 539 00:38:01,370 --> 00:38:05,160 et andmed on saadetud selge. 540 00:38:05,160 --> 00:38:09,040 Kui kasutaja on avaliku Wi-Fi võrgu 541 00:38:09,040 --> 00:38:12,330 või keegi nuusutamisel internetis kuskil 542 00:38:12,330 --> 00:38:19,260 mööda teed, et andmed on kokku puutunud. 543 00:38:19,260 --> 00:38:23,790 Üks väga kuulus puhul selle teabe leke juhtus Pandora, 544 00:38:23,790 --> 00:38:27,250 ja see on midagi, mida me uuritud Veracode. 545 00:38:27,250 --> 00:38:33,200 Kuulsime, et seal oli-Ma arvan, et see oli Federal Trade Commission 546 00:38:33,200 --> 00:38:35,310 Uurimine toimub Pandora. 547 00:38:35,310 --> 00:38:39,830 Me ütlesime: "Mis seal toimub? Alustame Kaevetööd Pandora taotluse." 548 00:38:39,830 --> 00:38:46,690 Ja mida me kindlaks oli Pandora taotlus kogutud 549 00:38:46,690 --> 00:38:51,270 teie sugu ja teie vanus, 550 00:38:51,270 --> 00:38:56,660 ja see ka avada oma GPS asukoha ja Pandora taotlus 551 00:38:56,660 --> 00:39:00,200 tegin seda, mida nad ütlesid oli õigustatud põhjustel. 552 00:39:00,200 --> 00:39:05,360 Muusika, et nad mängisid-Pandora on muusika streaming app- 553 00:39:05,360 --> 00:39:07,530 muusika nad mängisid oli ainult litsentseeritud Ameerika Ühendriigid, 554 00:39:07,530 --> 00:39:13,020 et nad pidid kontrollima, et täita oma litsentsilepingud, et nad olid 555 00:39:13,020 --> 00:39:17,240 jaoks muusikat, kasutaja oli Ameerika Ühendriigid. 556 00:39:17,240 --> 00:39:25,070 Samuti soovisid nad vastavad Parental Advisory 557 00:39:25,070 --> 00:39:33,790 ümber täiskasvanu keel muusikas 558 00:39:33,790 --> 00:39:37,500 ja nii see on vabatahtlik programm, kuid nad tahtsid järgimiseks 559 00:39:37,500 --> 00:39:43,010 ja ei mängi selgesõnaline lyrics lastele 13 ja alla. 560 00:39:43,010 --> 00:39:46,280 >> Neil oli õigustatud põhjusi kogudes need andmed. 561 00:39:46,280 --> 00:39:49,160 Nende app oli load teha. 562 00:39:49,160 --> 00:39:52,000 Kasutajad arvasin, et see oli õigustatud. Aga mis juhtus? 563 00:39:52,000 --> 00:39:55,810 Nad on seotud 3 või 4 erinevat reklaami raamatukogudes. 564 00:39:55,810 --> 00:39:59,140 Nüüd äkki kõik need ad raamatukogud 565 00:39:59,140 --> 00:40:02,970 saavad kasutada seda sama informatsiooni. 566 00:40:02,970 --> 00:40:05,830 Ad raamatukogud, kui te vaatate kood reklaami raamatukogud 567 00:40:05,830 --> 00:40:08,430 Mida nad teevad, on igas kuulutuses raamatukogu ütleb 568 00:40:08,430 --> 00:40:11,340 "Kas minu app luba saada GPS asukohta?" 569 00:40:11,340 --> 00:40:14,890 "Oh, see? Okei, ütle mulle, GPS asukohta." 570 00:40:14,890 --> 00:40:16,620 Iga reklaami raamatukogu teeb seda, 571 00:40:16,620 --> 00:40:19,740 ja kui app ei ole GPS luba 572 00:40:19,740 --> 00:40:23,460 see ei ole võimalik saada, kuid kui see juhtub, siis saab seda. 573 00:40:23,460 --> 00:40:26,240 See on koht, kus ärimudel ad raamatukogud 574 00:40:26,240 --> 00:40:31,160 on vastu privaatsust kasutaja. 575 00:40:31,160 --> 00:40:34,980 Ja seal on olnud uuringuid seal, et öelda, kui sa tead vanus 576 00:40:34,980 --> 00:40:38,430 isiku ja sa tead nende asukohta 577 00:40:38,430 --> 00:40:42,530 kus nad magavad öösel, sest sa oled oma GPS koordinaadid 578 00:40:42,530 --> 00:40:46,030 kuigi nad ehk magavad, siis tead täpselt, kes see isik on 579 00:40:46,030 --> 00:40:50,230 sest sa võid määrata, milline kasutaja selle majapidamises on see, et isik. 580 00:40:50,230 --> 00:40:54,780 Tõesti see on kindlaks reklaamijatele 581 00:40:54,780 --> 00:40:59,530 täpselt, kes sa oled, ja tundub, et see oli õigustatud. 582 00:40:59,530 --> 00:41:02,800 Ma lihtsalt tahan, et mu streaming muusika, ja see on ainus viis, kuidas seda saada. 583 00:41:02,800 --> 00:41:05,370 >> Noh, me avatud see. 584 00:41:05,370 --> 00:41:08,030 Meil kirjutas selle üles mitu blogi postitusi, 585 00:41:08,030 --> 00:41:13,280 ja selgus, et keegi Rolling Stone ajakiri 586 00:41:13,280 --> 00:41:18,810 lugeda ühe meie blogi postitusi ja kirjutas oma blogis Rolling Stone about it, 587 00:41:18,810 --> 00:41:22,120 ja juba järgmisel päeval Pandora arvasin, et see oli hea mõte 588 00:41:22,120 --> 00:41:27,600 kõrvaldada reklaami raamatukogude nende kohaldamist. 589 00:41:27,600 --> 00:41:31,270 Niipalju kui ma tean, et nad ainult-nad tuleks tunnustada. 590 00:41:31,270 --> 00:41:35,770 Ma arvan, et nad ainult freemium tüüpi app, et on seda teinud. 591 00:41:35,770 --> 00:41:38,660 Kõik teised freemium apps on sama käitumine, 592 00:41:38,660 --> 00:41:41,780 nii et sa pead mõtlema, milliseid andmeid te annate 593 00:41:41,780 --> 00:41:48,330 Nende freemium rakendusi, sest see kõik läheb reklaamijatele. 594 00:41:48,330 --> 00:41:53,390 Ihukaitsja ka tegi uuringu kohta jagatud raamatukogude ja ütles: 595 00:41:53,390 --> 00:41:57,100 "Vaatame, mida on jagatud raamatukogude on top jagatud raamatukogude," ja see oli andmeid. 596 00:41:57,100 --> 00:41:59,420 >> Nad analüüsitud 53.000 apps, 597 00:41:59,420 --> 00:42:01,900 ja number 1 jagatud raamatukogu oli AdMobi. 598 00:42:01,900 --> 00:42:06,060 See oli tegelikult 38% taotlustest seal, 599 00:42:06,060 --> 00:42:08,800 nii 38% taotlustest te kasutate 600 00:42:08,800 --> 00:42:11,250 tõenäoliselt korjanud oma isiklikke andmeid 601 00:42:11,250 --> 00:42:16,650 ja saates selle reklaami võrgustikud. 602 00:42:16,650 --> 00:42:19,350 Apache ja Android oli 8% ja 6% 603 00:42:19,350 --> 00:42:22,960 ja siis need teised need maha allosas, Google Ads, kärsitus, 604 00:42:22,960 --> 00:42:26,600 Mob City ja Millennial meedia 605 00:42:26,600 --> 00:42:30,500 need on kõik reklaami firmad ja siis huvitaval kombel 606 00:42:30,500 --> 00:42:33,500 4% ühendatud Facebook raamatukogu 607 00:42:33,500 --> 00:42:38,870 ilmselt teha autentimise kaudu Facebook 608 00:42:38,870 --> 00:42:40,810 nii app võiks autentimiseks Facebook. 609 00:42:40,810 --> 00:42:44,660 Aga see tähendab ka ettevõtte Facebook kontrollib kood 610 00:42:44,660 --> 00:42:49,010 mis jookseb 4% Android mobiiltelefoni apps seal, 611 00:42:49,010 --> 00:42:53,490 ning neil on juurdepääs kõigile andmetele, et see app on luba saada on. 612 00:42:53,490 --> 00:42:57,170 Facebook sisuliselt üritab müüa reklaamipinda. 613 00:42:57,170 --> 00:43:00,120 See on nende ärimudel. 614 00:43:00,120 --> 00:43:02,920 >> Kui vaadata kogu seda ökosüsteemi nende õigused 615 00:43:02,920 --> 00:43:07,740 ja jagatud raamatukogude hakkate näha, et 616 00:43:07,740 --> 00:43:13,850 sul on palju riske väidetavalt õigustatud taotluse. 617 00:43:13,850 --> 00:43:19,360 Sama sarnane asi, mis juhtus Pandora 618 00:43:19,360 --> 00:43:22,340 juhtus rakendus nimega Path, 619 00:43:22,340 --> 00:43:27,660 ja Path arvasin, et nad on abivalmis, sõbralik arendajad. 620 00:43:27,660 --> 00:43:32,160 Nad olid lihtsalt üritan sulle suurepärase kogemuse, 621 00:43:32,160 --> 00:43:37,810 ja selgus, et küsimata kasutaja või teatades kasutajale midagi- 622 00:43:37,810 --> 00:43:40,400 ja seda juhtus iPhone ja Android, 623 00:43:40,400 --> 00:43:44,420 Pandora app oli iPhone ja Android- 624 00:43:44,420 --> 00:43:48,890 et tee taotlus haarata kogu oma aadressiraamatusse 625 00:43:48,890 --> 00:43:52,830 ja laadige see tee just siis, kui olete installinud ja jooksis taotluse 626 00:43:52,830 --> 00:43:55,840 ja nad ei ütle teile seda. 627 00:43:55,840 --> 00:43:58,750 Nad arvasid, et see oli tõesti kasulik teile 628 00:43:58,750 --> 00:44:04,040 et oleks võimalik jagada kõigi inimesi oma aadressiraamatust 629 00:44:04,040 --> 00:44:06,920 et te kasutate Path taotluse. 630 00:44:06,920 --> 00:44:09,490 >> Noh, ilmselt Path arvasin, et see oli suurepärane oma firma. 631 00:44:09,490 --> 00:44:13,510 Ei ole nii suur, et kasutaja. 632 00:44:13,510 --> 00:44:19,020 Sa pead mõtlema, et see on üks asi, kui äkki teismeline 633 00:44:19,020 --> 00:44:23,700 kasutab seda rakendust ja nende kümneid sõbrad on seal, 634 00:44:23,700 --> 00:44:29,360 kuid mis siis, kui see on tegevjuht firma, et paigaldab Path 635 00:44:29,360 --> 00:44:33,170 ja siis äkki kogu oma aadressiraamatu on seal üleval? 636 00:44:33,170 --> 00:44:38,310 Sa lähed, et saada palju potentsiaalselt väärtuslike kontaktandmed 637 00:44:38,310 --> 00:44:40,920 jaoks palju inimesi. 638 00:44:40,920 --> 00:44:44,500 Reporter New York Times, et sa võiksid saada telefoni number 639 00:44:44,500 --> 00:44:47,380 ex presidenti tema aadressiraamatus 640 00:44:47,380 --> 00:44:54,780 nii ilmselt palju tundlikke andmeid saab üle midagi sellist. 641 00:44:54,780 --> 00:44:58,090 Oli selline suur klapp sellest, et tee vabandas. 642 00:44:58,090 --> 00:45:01,610 Nad muutsid oma app, ja see isegi mõjutada Apple. 643 00:45:01,610 --> 00:45:06,950 Apple ütles: "Me sundida app müüjad sunnib kasutajaid 644 00:45:06,950 --> 00:45:12,650 kui nad ei kavatse koguda kogu oma aadressiraamatus. " 645 00:45:12,650 --> 00:45:15,360 >> Tundub, mis siin toimub on 646 00:45:15,360 --> 00:45:19,430 kui seal on üks suur privaatsuse rikkumine ja see muudab press 647 00:45:19,430 --> 00:45:21,680 näeme muutus seal. 648 00:45:21,680 --> 00:45:23,230 Aga muidugi, seal on teised asjad seal. 649 00:45:23,230 --> 00:45:27,440 LinkedIn taotlus korista oma kalendrikirjeid 650 00:45:27,440 --> 00:45:34,530 kuid Apple ei tee kasutaja palutakse sellest. 651 00:45:34,530 --> 00:45:38,030 Kalendrikirjeid saab olema tundliku teabe ka neid. 652 00:45:38,030 --> 00:45:40,000 Kuhu sa lähed, et tõmmata piir? 653 00:45:40,000 --> 00:45:43,960 See on tõesti selline arenev koht 654 00:45:43,960 --> 00:45:47,640 kui seal on tõesti mingit hea standard seal 655 00:45:47,640 --> 00:45:51,990 kasutajate jaoks, et mõista, kui nende andmed ei kavatse olla ohus 656 00:45:51,990 --> 00:45:57,820 ja kui nad ei kavatse tean, et see on tehtud. 657 00:45:57,820 --> 00:46:03,040 Me kirjutasime app Veracode nimetatakse Adios, 658 00:46:03,040 --> 00:46:08,350 ja sisuliselt see võimaldas teil juhtida app oma iTunes kataloogi 659 00:46:08,350 --> 00:46:12,550 ja vaadata kõiki rakendusi, mis olid korjanud kogu oma aadressiraamatust. 660 00:46:12,550 --> 00:46:19,760 Ja nagu näete selles nimekirjas siin, Angry Birds, 661 00:46:19,760 --> 00:46:21,590 AIM, AroundMe. 662 00:46:21,590 --> 00:46:24,050 Miks Angry Birds vaja aadressiraamatu? 663 00:46:24,050 --> 00:46:29,160 Ma ei tea, kuid see kuidagi. 664 00:46:29,160 --> 00:46:32,310 >> See on midagi, mida paljud, paljud rakendused teha. 665 00:46:32,310 --> 00:46:34,780 Võite kontrollida koodi eest. 666 00:46:34,780 --> 00:46:38,660 Seal on hästi määratletud APIs iPhone, Android ja BlackBerry 667 00:46:38,660 --> 00:46:42,120 nöökima aadressiraamatus. 668 00:46:42,120 --> 00:46:48,520 Võite tegelikult lihtsalt kontrollida seda, ja see on see, mida me tegime meie Adios taotluse. 669 00:46:48,520 --> 00:46:52,320 Järgmise kategooria ohtlikud Sensitive Data Storage, 670 00:46:52,320 --> 00:46:55,670 on midagi, kus arendajad võtma midagi pin või kontonumber 671 00:46:55,670 --> 00:46:58,530 või salasõna üles ja hoidke seda selgeks seadme. 672 00:46:58,530 --> 00:47:02,310 Isegi hullem, nad võivad seda säilitada ala telefon 673 00:47:02,310 --> 00:47:06,820 mis on ülemaailmselt kättesaadav, nagu SD-kaardilt. 674 00:47:06,820 --> 00:47:11,320 Sa näed seda sagedamini Android sest Android võimaldab SD-kaardilt. 675 00:47:11,320 --> 00:47:13,200 IPhone seadmed ei. 676 00:47:13,200 --> 00:47:17,900 Aga me isegi näinud seda juhtuda Citigroup taotluse. 677 00:47:17,900 --> 00:47:25,450 Internetipanga salvestatud kontonumbrid ebakindlalt, 678 00:47:25,450 --> 00:47:28,120 ainult selge, et kui sa kaotasid oma seadmes 679 00:47:28,120 --> 00:47:30,670 sisuliselt sa kaotasid oma pangakonto. 680 00:47:30,670 --> 00:47:36,000 See on põhjus, miks ma isiklikult ei tee pangandus minu iPhone. 681 00:47:36,000 --> 00:47:43,710 Ma arvan, et see on liiga riskantne praegu teha selliseid tegevusi. 682 00:47:43,710 --> 00:47:45,950 >> Skype tegi sama asja. 683 00:47:45,950 --> 00:47:49,870 Skype muidugi on kontojäägi kasutajanimi ja parool 684 00:47:49,870 --> 00:47:51,030 millel on juurdepääs sellele tasakaal. 685 00:47:51,030 --> 00:48:00,080 Nad säilitada kogu selle teabe selge mobiilne seade. 686 00:48:00,080 --> 00:48:05,760 Mul on mõned näited siin luua faili 687 00:48:05,760 --> 00:48:10,310 et ei ole õige õigusi või kirjalikult ketas 688 00:48:10,310 --> 00:48:17,260 ja kellel ei ole krüpteerimine juhtuda, et. 689 00:48:17,260 --> 00:48:20,190 See järgmise ala, ohtlikud tundlike andmete edastamine, 690 00:48:20,190 --> 00:48:24,450 Olen viidanud sellele paar korda, ja kuna avaliku Wi-Fi 691 00:48:24,450 --> 00:48:27,770 see on midagi, mida apps absoluutselt vaja teha, 692 00:48:27,770 --> 00:48:31,250 ja see on ilmselt see, mida me näeme valesti minna kõige rohkem. 693 00:48:31,250 --> 00:48:34,920 Ütleksin, tegelikult, ma arvan, et mul on tegelikud andmed, 694 00:48:34,920 --> 00:48:38,120 aga see on peaaegu poole mobiilsed rakendused 695 00:48:38,120 --> 00:48:41,780 kägardama teed SSL. 696 00:48:41,780 --> 00:48:43,910 Nad lihtsalt ei kasuta APIs õigesti. 697 00:48:43,910 --> 00:48:47,970 Ma mõtlen, et kõik mida sa pead tegema, on järgige juhiseid ja kasutage APIs, 698 00:48:47,970 --> 00:48:54,720 kuid nad asju ei vaadata, kas on kehtetu teise otsa, 699 00:48:54,720 --> 00:49:02,120 mitte vaadata, kui teine ​​ots on püüdnud teha protokolli alandada rünnak. 700 00:49:02,120 --> 00:49:07,200 >> Arendajad, nad tahavad saada oma kast, eks? 701 00:49:07,200 --> 00:49:11,910 Nende nõue on kasutada seda müüa. Nad kasutasid seda müüa. 702 00:49:11,910 --> 00:49:14,800 Nõue ei kasuta seda müüa turvaliselt 703 00:49:14,800 --> 00:49:19,680 ja nii see on, miks kõik rakendused, mis kasutavad SSL andmete turvalisuse 704 00:49:19,680 --> 00:49:23,470 kui see on edastatud off seade tõesti tuleb kontrollida 705 00:49:23,470 --> 00:49:28,950 veenduda, et on rakendatud õigesti. 706 00:49:28,950 --> 00:49:32,850 Ja siin mul on mõned näited, kus näete rakenduse 707 00:49:32,850 --> 00:49:37,400 võivad olla kasutades HTTP asemel HTTPS. 708 00:49:37,400 --> 00:49:40,510 Mõnel juhul apps taandub HTTP 709 00:49:40,510 --> 00:49:44,250 kui HTTPS ei tööta. 710 00:49:44,250 --> 00:49:49,070 Mul on teine ​​kõne siin Android kus nad blokeeritud sertifikaadi kontroll, 711 00:49:49,070 --> 00:49:51,700 nii mees-in-the-middle rünnak võib juhtuda. 712 00:49:51,700 --> 00:49:56,370 Kehtetu sertifikaat lubatavus. 713 00:49:56,370 --> 00:50:01,920 Need on kõik juhtumid, kus ründajad hakkavad saama minna 714 00:50:01,920 --> 00:50:07,150 sama Wi-Fi ühendus, kui kasutaja ja juurdepääsu kõik andmed 715 00:50:07,150 --> 00:50:11,650 mis kuramuse saadetakse üle interneti. 716 00:50:11,650 --> 00:50:15,970 >> Ja lõpuks, viimane I kategooria on siin kõva parool ja võtmed. 717 00:50:15,970 --> 00:50:21,470 Me tegelikult näha palju arendajaid kasutab sama kodeerimine stiili 718 00:50:21,470 --> 00:50:25,900 mis nad tegid, kui nad olid hoone web server rakenduste 719 00:50:25,900 --> 00:50:29,700 nii nad ehitavad Java server rakendus ja nad hardcoding võti. 720 00:50:29,700 --> 00:50:31,940 Noh, kui sa oled hoone server rakendus, jah, 721 00:50:31,940 --> 00:50:34,240 hardcoding võti ei ole hea mõte. 722 00:50:34,240 --> 00:50:36,290 See raskendab muuta. 723 00:50:36,290 --> 00:50:40,700 Aga see ei ole nii halb serveripoolne sest kellel on juurdepääs serveri poolel? 724 00:50:40,700 --> 00:50:43,140 Ainult administraatorid. 725 00:50:43,140 --> 00:50:48,100 Aga kui te võtate sama koodi ja sa valada see üle mobiilile 726 00:50:48,100 --> 00:50:52,550 nüüd igaühele, kellel on, et mobiili on juurdepääs sellele kõva võti, 727 00:50:52,550 --> 00:50:56,380 ja me tegelikult näeme seda palju kordi ja mul on veidi statistikat 728 00:50:56,380 --> 00:51:00,920 sellest, kui tihti me näeme seda juhtub. 729 00:51:00,920 --> 00:51:04,940 See tegelikult oli näiteks koodi, MasterCard avaldatud 730 00:51:04,940 --> 00:51:06,850 kuidas kasutada oma teenust. 731 00:51:06,850 --> 00:51:11,860 Näiteks kood näitas, kuidas sa lihtsalt võtta salasõna 732 00:51:11,860 --> 00:51:14,850 ja pane see kõva string seal, 733 00:51:14,850 --> 00:51:19,380 ja me teame, kuidas arendajad armastavad kopeeri ja kleebi koodilõigud 734 00:51:19,380 --> 00:51:22,360 kui nad üritavad midagi teha, siis kopeeri ja kleebi koodijupi 735 00:51:22,360 --> 00:51:28,450 et nad andsid nii näiteks kood, ja sul on ebakindlam. 736 00:51:28,450 --> 00:51:31,490 >> Ja siin on meil mõned näited. 737 00:51:31,490 --> 00:51:35,840 See esimene on üks me näeme palju, kui nad hardcode 738 00:51:35,840 --> 00:51:40,510 andmed otse URL, et saab saata. 739 00:51:40,510 --> 00:51:45,120 Vahel näeme string password = parool. 740 00:51:45,120 --> 00:51:49,060 See on üsna lihtne avastada, või string parool BlackBerry ja Android. 741 00:51:49,060 --> 00:51:53,680 See on tegelikult üsna lihtne kontrollida, kuna peaaegu alati 742 00:51:53,680 --> 00:51:57,030 arendaja nimed muutuja, mis hoiab salasõna 743 00:51:57,030 --> 00:52:02,290 varianti salasõna. 744 00:52:02,290 --> 00:52:05,200 Mainisin, et me staatilise analüüsi Veracode, 745 00:52:05,200 --> 00:52:11,790 seega oleme analüüsinud mitusada Android ja iOS rakendusi. 746 00:52:11,790 --> 00:52:15,160 Oleme loonud täieliku mudelite neid ja me saame otsida neile 747 00:52:15,160 --> 00:52:19,280 erinevate turvaaukude eriti nõrku kohti, millest ma rääkisin, 748 00:52:19,280 --> 00:52:21,050 ja mul on mõned andmed siin. 749 00:52:21,050 --> 00:52:24,320 68,5% Android apps me vaatasime 750 00:52:24,320 --> 00:52:28,590 oli katki krüptograafiliste kood, 751 00:52:28,590 --> 00:52:33,240 mis meie jaoks, me ei saa tuvastada, kui sa tegid oma krüpto rutiinne, 752 00:52:33,240 --> 00:52:38,980 mitte, et see on hea mõte, kuid see on tegelikult kasutades avaldatud APIs 753 00:52:38,980 --> 00:52:42,530 mis on lastud platvormi kuid teeme neid sellisel viisil 754 00:52:42,530 --> 00:52:46,680 et krüpto oleks haavatav, 68,5. 755 00:52:46,680 --> 00:52:49,870 Ja see on inimestele, kes on saates meile oma taotlused tegelikult sest 756 00:52:49,870 --> 00:52:53,730 nad arvavad, et see on hea mõte teha turvalisuse testimine. 757 00:52:53,730 --> 00:52:56,960 Need on juba inimesi, kes on ilmselt mõelda turvaliselt 758 00:52:56,960 --> 00:52:59,540 nii et see on ilmselt veel hullem. 759 00:52:59,540 --> 00:53:02,690 >> Ma ei räägi kontrolli reavahetus süsti. 760 00:53:02,690 --> 00:53:07,640 See on midagi, mida me kontrollida, kuid see ei ole nii riskantne küsimus. 761 00:53:07,640 --> 00:53:15,390 Info lekkimine on see, kui delikaatsed andmed on saadetud seadmest välja. 762 00:53:15,390 --> 00:53:19,270 Me leidsime, et 40%-rakendusi. 763 00:53:19,270 --> 00:53:23,540 Aeg ja riik, need on rassi tingimus tüüpi küsimusi, mis on tavaliselt üsna raske kasutada, 764 00:53:23,540 --> 00:53:26,170 nii et ma ei räägi sellest, aga me vaatasime seda. 765 00:53:26,170 --> 00:53:28,750 23%-l oli SQL süst küsimusi. 766 00:53:28,750 --> 00:53:32,020 Paljud inimesed ei tea, et palju rakendusi 767 00:53:32,020 --> 00:53:35,880 Kasutage väike väike SQL andmebaasi oma kolp andmete talletamiseks. 768 00:53:35,880 --> 00:53:40,430 Noh, kui andmed, mida sa haarata üle võrgu 769 00:53:40,430 --> 00:53:43,800 on SQL süst rünnak paelu, 770 00:53:43,800 --> 00:53:45,970 keegi võib ohustada seadme abil, et 771 00:53:45,970 --> 00:53:49,800 ja nii ma arvan, et me leiame umbes 40% veebirakendused on see probleem, 772 00:53:49,800 --> 00:53:52,840 mis on tohutu epideemia probleemi. 773 00:53:52,840 --> 00:53:55,740 Me leiame, et 23% ajast mobiilne apps 774 00:53:55,740 --> 00:54:02,030 ja see on ilmselt seetõttu, et paljud enam veebirakendusi kasutada SQL kui mobiiltelefoni. 775 00:54:02,030 --> 00:54:05,580 >> Ja siis me veel näha mõnda murdskriptimise luba küsimused 776 00:54:05,580 --> 00:54:09,400 ja siis mandaat juhtimine, see on kui sul on kõva salasõna. 777 00:54:09,400 --> 00:54:14,540 Aastal 5% taotlustest näeme. 778 00:54:14,540 --> 00:54:17,970 Ja siis on meil mõned andmed iOS. 779 00:54:17,970 --> 00:54:20,180 81%-l oli viga küsimustega tegelemiseks. 780 00:54:20,180 --> 00:54:23,130 See on rohkem koodi kvaliteedi probleem, 781 00:54:23,130 --> 00:54:28,010 vaid 67%-l oli krüptograafiliste küsimusi, et ei ole nii hull, nagu Android. 782 00:54:28,010 --> 00:54:32,440 Ehk APIs on natuke lihtsam, näiteks koodide veidi parem iOS. 783 00:54:32,440 --> 00:54:35,420 Aga ikkagi väga kõrge protsent. 784 00:54:35,420 --> 00:54:39,040 Meil oli 54% informatsiooni lekkimist, 785 00:54:39,040 --> 00:54:42,080 umbes 30% puhvriga juhtimise vead. 786 00:54:42,080 --> 00:54:45,930 See on kohad, kus võiks olla mälu korruptsiooni teema. 787 00:54:45,930 --> 00:54:50,350 Selgub, et see ei ole nii suur probleem ärakasutamine 788 00:54:50,350 --> 00:54:56,450 iOS sest kõik kood on kirjutatud, 789 00:54:56,450 --> 00:55:02,210 nii et see on raske ründajal käivitada suvalise koodi iOS. 790 00:55:02,210 --> 00:55:07,880 Kood kvaliteediga kataloog läbipääsusüsteemid, kuid seejärel volikirjad haldamine siin 14,6%, 791 00:55:07,880 --> 00:55:09,250 nii hullem kui Android. 792 00:55:09,250 --> 00:55:13,240 Meil on inimesi, mitte käitlemise paroolid korralikult. 793 00:55:13,240 --> 00:55:15,790 Ja siis numbriliste vigade ja buffer overflow, 794 00:55:15,790 --> 00:55:22,680 need on rohkem saab olema kood kvaliteedi küsimusi iOS. 795 00:55:22,680 --> 00:55:26,110 >> See oli see minu esitlus. Ma ei tea, kas me oleme hilinenult või mitte. 796 00:55:26,110 --> 00:55:29,540 Ma ei tea, kas seal on mingeid küsimusi. 797 00:55:29,540 --> 00:55:33,220 [Mees] kiire küsimus ümber killustatus ja Android turg. 798 00:55:33,220 --> 00:55:36,240 Apple vähemalt omab lappimine. 799 00:55:36,240 --> 00:55:40,780 Nad teevad head tööd saada see seal samas vähem Android ruumi. 800 00:55:40,780 --> 00:55:44,280 Sa peaaegu vaja Jailbreak telefoni kursis 801 00:55:44,280 --> 00:55:46,660 praeguse vabastamist Android. 802 00:55:46,660 --> 00:55:50,960 Jah, see on väga suur probleem ja et kui sa arvad, 803 00:55:50,960 --> 00:55:52,280 [Mees] Miks sa ei saa korrata? 804 00:55:52,280 --> 00:55:55,610 >> Oh, jah, nii et küsimus oli kuidas killustatus 805 00:55:55,610 --> 00:56:00,410 operatsioonisüsteemi Android platvorm? 806 00:56:00,410 --> 00:56:05,890 Kuidas see mõjutab riskantsuse need seadmed? 807 00:56:05,890 --> 00:56:09,700 Ja tegelikult on suur probleem, sest see, mis juhtub, on 808 00:56:09,700 --> 00:56:15,110 vanemad seadmed, kui keegi kerkib jailbreak jaoks seade 809 00:56:15,110 --> 00:56:19,960 põhiliselt see privileeg eskaleerumise, kuni kõnealuse operatsioonisüsteemi uuendatud 810 00:56:19,960 --> 00:56:25,350 pahavara saab siis kasutada, et haavatavust täiesti kahjustada seadme 811 00:56:25,350 --> 00:56:30,200 ja mida me näeme Android on selleks, et saada uus operatsioonisüsteem 812 00:56:30,200 --> 00:56:34,690 Google on välja pandud opsüsteemi ja seejärel riistvara tootja 813 00:56:34,690 --> 00:56:39,390 on kohandada, ja siis peab vedaja kohandada ja saavutada. 814 00:56:39,390 --> 00:56:43,070 Sul on põhiliselt 3 liikuvaid osi siin, 815 00:56:43,070 --> 00:56:47,210 ja ta pöörab tähelepanu sellele, et vedajad ei hooli, 816 00:56:47,210 --> 00:56:50,400 ja riistvara tootjad ei hooli, ning Google ei tonksates neid piisavalt 817 00:56:50,400 --> 00:56:54,430 midagi teha, nii et sisuliselt üle poole seadmete seal 818 00:56:54,430 --> 00:57:00,590 on operatsioonisüsteemid, mis on nende privileeg eskaleerumise turvaauke neid, 819 00:57:00,590 --> 00:57:08,440 ja nii kui sa saad pahavara Android seade, see on palju suurem probleem. 820 00:57:08,440 --> 00:57:10,350 >> Ok, tänan teid väga palju. 821 00:57:10,350 --> 00:57:12,310 [Aplaus] 822 00:57:12,310 --> 00:57:14,310 [CS50.TV]