1 00:00:00,000 --> 00:00:02,610 >> [Seminár] [Obrana Za zariadenie: 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 >> Dobrý deň. Volám sa Chris Wysopal. 5 00:00:10,360 --> 00:00:13,360 Som CTO a spoluzakladateľ Veracode. 6 00:00:13,360 --> 00:00:15,880 Veracode je bezpečnostné aplikácie spoločnosti. 7 00:00:15,880 --> 00:00:18,230 Testujeme všetky druhy rôznych aplikácií, 8 00:00:18,230 --> 00:00:25,060 a čo ja budem hovoriť o dnes je bezpečnosť mobilných aplikácií. 9 00:00:25,060 --> 00:00:28,630 Moje pozadie je som robil výskum v oblasti bezpečnosti 10 00:00:28,630 --> 00:00:31,970 po veľmi dlhú dobu, asi tak dlho, ako všetci. 11 00:00:31,970 --> 00:00:35,000 Som začal v polovici 90. rokov, 12 00:00:35,000 --> 00:00:37,370 a to bol čas, to bolo celkom zaujímavé, pretože 13 00:00:37,370 --> 00:00:39,220 sme mali zmenu paradigmy v polovici 90. rokov. 14 00:00:39,220 --> 00:00:43,520 Všetky počítače náhlej každého bol pripojený k internetu, 15 00:00:43,520 --> 00:00:46,550 a potom sme mali začiatky webových aplikácií, 16 00:00:46,550 --> 00:00:49,330 a to je to, čo som sa zameral na veľa potom. 17 00:00:49,330 --> 00:00:51,160 To je zaujímavé. 18 00:00:51,160 --> 00:00:53,930 Teraz máme ďalšiu zmenu paradigmy sa deje s počítačmi, 19 00:00:53,930 --> 00:00:58,710 čo je posun na mobilných aplikácií. 20 00:00:58,710 --> 00:01:03,680 >> Mám pocit, že je to trochu podobné dobu, potom to bolo v druhej polovici 90. rokov 21 00:01:03,680 --> 00:01:07,650 keď sme boli vyšetrovaní webových aplikácií a hľadanie závad, ako sú 22 00:01:07,650 --> 00:01:11,800 Chyby správu relácie a SQL injection 23 00:01:11,800 --> 00:01:14,940 ktorá naozaj neexistoval predtým, a zrazu boli všade 24 00:01:14,940 --> 00:01:19,360 vo webových aplikáciách, a teraz veľa času trávim 25 00:01:19,360 --> 00:01:27,950 sa pozerá na mobilných aplikácií a pri pohľade na to, čo sa deje tam vonku vo voľnej prírode. 26 00:01:27,950 --> 00:01:32,060 Mobilné aplikácie sú skutočne bude dominantné výpočtovej platformy, 27 00:01:32,060 --> 00:01:35,060 takže sme naozaj musieť stráviť veľa času, ak ste v bezpečnostnom priemysle 28 00:01:35,060 --> 00:01:39,280 so zameraním na webové aplikácie. 29 00:01:39,280 --> 00:01:43,420 Tam bolo 29 miliárd mobilné aplikácie stiahnutej v roku 2011. 30 00:01:43,420 --> 00:01:47,920 Je odhadované na 76 miliárd apps do roku 2014. 31 00:01:47,920 --> 00:01:54,040 K dispozícii je 686 miliónov zariadení, ktoré sa chystáte byť zakúpené v tomto roku, 32 00:01:54,040 --> 00:01:57,060 tak to je miesto, kde ľudia budú robiť 33 00:01:57,060 --> 00:01:59,600  Väčšina ich klienta na počítači aj do budúcnosti. 34 00:01:59,600 --> 00:02:04,220 >> Hovoril som viceprezident Fidelity Investments 35 00:02:04,220 --> 00:02:08,780 pred pár mesiacmi, a on povedal, že práve videl väčšiu návštevnosť 36 00:02:08,780 --> 00:02:12,610 robiť finančné transakcie od ich zákazníkov 37 00:02:12,610 --> 00:02:16,230 na ich mobilné aplikácie, ako na svojich internetových stránkach, 38 00:02:16,230 --> 00:02:20,610 takže spoločné použitie pre web v minulosti bolo 39 00:02:20,610 --> 00:02:23,800 kontrolu svoje kurzy akcií, správu portfólia, 40 00:02:23,800 --> 00:02:28,060 a my sme vlastne vidieť, že v roku 2012 prepínači cez 41 00:02:28,060 --> 00:02:30,960 byť viac dominantný na mobilnej platforme. 42 00:02:30,960 --> 00:02:34,530 Iste, ak sa to bude akákoľvek trestná činnosť, 43 00:02:34,530 --> 00:02:38,900 akákoľvek škodlivá aktivita, bude to začať byť zameraná na mobilnej platforme 44 00:02:38,900 --> 00:02:44,210 v priebehu času, ako ľudia prepnúť na to. 45 00:02:44,210 --> 00:02:48,320 Ak sa pozriete na mobilnú platformu, 46 00:02:48,320 --> 00:02:54,380 pozrieť sa na riziká platformy je užitočné rozčleniť do rôznych vrstiev, 47 00:02:54,380 --> 00:02:59,010 rovnako ako by ste to na stolnom počítači, 48 00:02:59,010 --> 00:03:02,860 a ty si myslíš o rôznych vrstvách, softvér, operačný systém, 49 00:03:02,860 --> 00:03:07,730 sieťová vrstva, hardware vrstva, a samozrejme, je tu slabé miesta vo všetkých týchto vrstvách. 50 00:03:07,730 --> 00:03:10,510 >> To isté sa deje na mobil. 51 00:03:10,510 --> 00:03:14,880 Ale mobilné, zdá sa, že niektoré z týchto vrstiev sú na tom horšie. 52 00:03:14,880 --> 00:03:19,840 Pre jedného, ​​sieťovej vrstvy je problematickejšie na mobil 53 00:03:19,840 --> 00:03:25,650 pretože veľa ľudí, ktorí majú vo svojej kancelárii alebo doma 54 00:03:25,650 --> 00:03:30,780 káblové pripojenie alebo majú zabezpečené pripojenie Wi-Fi, 55 00:03:30,780 --> 00:03:36,530 a s mnohými mobilných zariadení ste zrejme mimo domova 56 00:03:36,530 --> 00:03:40,520 alebo mimo kanceláriu veľa, a ak používate Wi-Fi pripojenie na internet tam 57 00:03:40,520 --> 00:03:42,820 môžete používať nezabezpečené Wi-Fi pripojenie, 58 00:03:42,820 --> 00:03:45,570 niečo, čo je verejné Wi-Fi pripojenie k internetu, 59 00:03:45,570 --> 00:03:48,840 takže keď si myslíme, že o mobilných aplikácií musíme vziať do úvahy 60 00:03:48,840 --> 00:03:53,770 že sieťové prostredie je rizikovejšie pre tie aplikácie, 61 00:03:53,770 --> 00:03:57,640 ak je Wi-Fi používa. 62 00:03:57,640 --> 00:04:02,410 A keď som sa dostal do viacerých mobilných rizík aplikácie 63 00:04:02,410 --> 00:04:04,910 uvidíte, prečo je to oveľa dôležitejšie. 64 00:04:04,910 --> 00:04:09,710 Existujú riziká na úrovni hardvéru na mobilných zariadeniach. 65 00:04:09,710 --> 00:04:11,670 To je oblasť pokračujúceho výskumu. 66 00:04:11,670 --> 00:04:15,910 Ľudia hovoria tieto širokopásmové útoky alebo útoky základného pásma 67 00:04:15,910 --> 00:04:21,870 kam útočia na firmware, ktorý počúva v rádiu. 68 00:04:21,870 --> 00:04:25,430 >> Tie sú naozaj desivé útoky, pretože 69 00:04:25,430 --> 00:04:27,280 používateľ nemusí nič robiť. 70 00:04:27,280 --> 00:04:30,760 Môžete hit veľa zariadení v RF rozsahu 71 00:04:30,760 --> 00:04:36,690 naraz, a vyzerá to, že keď tento výskum bubliny 72 00:04:36,690 --> 00:04:40,750 to rýchlo dostane zaradený kde 73 00:04:40,750 --> 00:04:46,600 ľudia vrhnúť sa okolo a povedal: "Tu, povedzte nám o tom, prosím, a prestať hovoriť o tom." 74 00:04:46,600 --> 00:04:49,460 Tam je nejaký výskum sa deje v oblasti broadbandu, 75 00:04:49,460 --> 00:04:51,980 ale zdá sa, že veľmi Hush Hush. 76 00:04:51,980 --> 00:04:56,910 Myslím, že je to skôr typ národ štátnej výskumu, čo sa deje. 77 00:04:56,910 --> 00:05:02,140 Oblasť aktívneho výskumu, aj keď je operačný systém vrstva, 78 00:05:02,140 --> 00:05:08,910 a opäť, toto je niečo iné, než na ploche svete výpočtovej techniky 79 00:05:08,910 --> 00:05:14,840 pretože v mobilnom priestore máte tieto tímy ľudí zvaných Jailbreakers, 80 00:05:14,840 --> 00:05:18,670 a Jailbreakers sú iné ako pravidelné výskumníkmi zraniteľnosti. 81 00:05:18,670 --> 00:05:21,970 Snažia sa nájsť slabé miesta v operačnom systéme, 82 00:05:21,970 --> 00:05:27,000 ale dôvod, prečo sa snažíte nájsť slabé miesta nie je 83 00:05:27,000 --> 00:05:31,810 preniknúť do prístroja niekoho iného, ​​a ohroziť ju. 84 00:05:31,810 --> 00:05:34,280 Je to preniknúť do ich vlastného počítača. 85 00:05:34,280 --> 00:05:38,820 >> Chcú preniknúť do ich vlastný mobilný telefón, zmeniť operačný systém, svoje vlastné mobile 86 00:05:38,820 --> 00:05:41,050 aby mohli spúšťať aplikácie podľa svojho výberu 87 00:05:41,050 --> 00:05:44,510 a zmeniť veci s plnými oprávneniami správcu, 88 00:05:44,510 --> 00:05:49,050 a nechcú povedať dodávateľa o tom. 89 00:05:49,050 --> 00:05:52,960 Už nie ako bezpečnostný výskumník, ktorý je biely klobúk bezpečnostný výskumník 90 00:05:52,960 --> 00:05:56,600 ktorá sa chystá urobiť zodpovedné zverejňovanie a povedať dodávateľa o tom. 91 00:05:56,600 --> 00:06:01,270 Chcú to urobiť výskum, a chcú, aby skutočne zverejní ho 92 00:06:01,270 --> 00:06:06,400 vo využití alebo rootkit alebo útek z väzenia kódu, 93 00:06:06,400 --> 00:06:10,010 a chcú, aby to strategicky, ako hneď po 94 00:06:10,010 --> 00:06:13,570 dodávateľa lode nový operačný systém. 95 00:06:13,570 --> 00:06:16,350 Máte tento kontradiktórne vzťah 96 00:06:16,350 --> 00:06:19,000 s zraniteľnosti na mobilný OS na úrovni, 97 00:06:19,000 --> 00:06:23,150 čo myslím, že je celkom zaujímavé, a jedno miesto, kde by sme ho vidieť 98 00:06:23,150 --> 00:06:29,210 Je to robí to tak, že je tu dobrá zverejnený kód zneužitie je vonku 99 00:06:29,210 --> 00:06:31,750 pre kernel-level zraniteľnosti, 100 00:06:31,750 --> 00:06:35,040 a my sme videli tie vlastne byť používaný malware spisovateľov. 101 00:06:35,040 --> 00:06:38,450 Je to trochu iné ako na PC svete. 102 00:06:38,450 --> 00:06:42,530 A potom finálna vrstva je horná vrstva, aplikačná vrstva. 103 00:06:42,530 --> 00:06:45,250 To je to, čo ja budem hovoriť o dnes. 104 00:06:45,250 --> 00:06:48,970 >> Ostatné vrstvy existujú, a ďalšie vrstvy hrať na to, 105 00:06:48,970 --> 00:06:53,310 ale ja som hlavne hovoriť o tom, čo sa deje na aplikačnej vrstve 106 00:06:53,310 --> 00:06:55,560 kde je kód bežiaci v karanténe. 107 00:06:55,560 --> 00:06:58,670 To nemá oprávnenie správcu. 108 00:06:58,670 --> 00:07:02,170 Má sa používať rozhranie API z prístroja, 109 00:07:02,170 --> 00:07:06,970 ale stále veľa nebezpečnej činnosti a množstvo nebezpečenstvo sa môže stať v tej vrstve 110 00:07:06,970 --> 00:07:09,220 pretože to je vrstva, kde sú všetky informácie. 111 00:07:09,220 --> 00:07:12,330 Aplikácie môžu pristupovať všetky informácie o zariadení 112 00:07:12,330 --> 00:07:15,390 ak majú správne oprávnenia, 113 00:07:15,390 --> 00:07:17,540 a budú mať prístup rôzne senzory na prístroji, 114 00:07:17,540 --> 00:07:23,950 Senzor GPS, mikrofón, kamera, čo majú tí. 115 00:07:23,950 --> 00:07:27,380 Aj keď hovoríme len o na aplikačnej vrstve 116 00:07:27,380 --> 00:07:33,700 máme veľa rizík tam. 117 00:07:33,700 --> 00:07:38,450 Ďalšia vec, ktorá je odlišná o mobilnom prostredí 118 00:07:38,450 --> 00:07:45,060 sú všetky použité operačný systém hráči, či už je to BlackBerry alebo Android 119 00:07:45,060 --> 00:07:53,410 alebo iOS alebo Windows Mobile, všetci majú jemnozrnné modelu oprávnenie, 120 00:07:53,410 --> 00:07:56,990 a toto je jeden zo spôsobov, ako sa zabudovaných do operačného systému 121 00:07:56,990 --> 00:08:01,230 Myšlienka, že to nie je tak riskantné, ako si myslíte. 122 00:08:01,230 --> 00:08:04,550 Aj keď budete mať všetky svoje kontakty na tú, všetky vaše osobné údaje, 123 00:08:04,550 --> 00:08:09,080 máte svoje fotky, môžete mať svoje miesto tam, 124 00:08:09,080 --> 00:08:14,820 ste ukladanie bankový PIN pre automatické prihlásenie na tam, že je to bezpečné, pretože 125 00:08:14,820 --> 00:08:19,430 aplikácia musí mať určité povolenie, aby sa v niektorých častiach 126 00:08:19,430 --> 00:08:25,080 informácie o zariadení, a užívateľ musí byť prezentované s 127 00:08:25,080 --> 00:08:29,230 tieto oprávnenia a hovoriť v poriadku. 128 00:08:29,230 --> 00:08:32,590 >> Problém s ním je užívateľ vždy hovorí, že áno. 129 00:08:32,590 --> 00:08:35,240 Ako bezpečnostné osobu, viem, že môžete vyzvať užívateľa, 130 00:08:35,240 --> 00:08:40,100 povedať, niečo naozaj zlé sa stane, chceš aby sa to stalo? 131 00:08:40,100 --> 00:08:44,680 A ak ste v zhone, alebo je tu niečo, čo naozaj lákavá na druhej strane, že 132 00:08:44,680 --> 00:08:47,760 ako hra sa bude inštalovaná, že ste čakali, 133 00:08:47,760 --> 00:08:50,860 idú na tlačidlo poriadku. 134 00:08:50,860 --> 00:08:56,630 To je dôvod, prečo hovorím, na mojom snímke sem daj mi hodiť chrípky u ošípaných už, 135 00:08:56,630 --> 00:09:03,150 a môžete vidieť na snímke, tu je príklady BlackBerry povolenie krabici. 136 00:09:03,150 --> 00:09:05,990 To hovorí, že "Prosím nastavte oprávnenia BlackBerry Travel aplikácií 137 00:09:05,990 --> 00:09:09,720 Po kliknutí na tlačidlo nižšie, "a v podstate sa užívateľ práve chystá povedať, 138 00:09:09,720 --> 00:09:12,240 nastaviť povolenia a ušetrite. 139 00:09:12,240 --> 00:09:18,010 Tu je Android riadku, kde sa ukazuje veci, 140 00:09:18,010 --> 00:09:20,260 a to vlastne dáva niečo, čo skoro vyzerá ako varovanie. 141 00:09:20,260 --> 00:09:25,090 Je tu akýsi výnos tam ceduľou s nápisom sieťovej komunikácie, telefónneho hovoru, 142 00:09:25,090 --> 00:09:28,120 ale užívateľ bude kliknite na tlačidlo nainštalovať, nie? 143 00:09:28,120 --> 00:09:32,940 A potom ten Apple je úplne neškodný. 144 00:09:32,940 --> 00:09:34,300 To nedáva žiadny druh varovania. 145 00:09:34,300 --> 00:09:37,380 Je to len Apple by chcel použiť svoju aktuálnu polohu. 146 00:09:37,380 --> 00:09:39,670 Samozrejme, že sa chystáte na tlačidlo poriadku. 147 00:09:39,670 --> 00:09:42,260 >> Tam je to jemnozrnný modelu povolenie, 148 00:09:42,260 --> 00:09:45,890 a aplikácie musia mať súbor manifestu, kde vyhlasujú, 149 00:09:45,890 --> 00:09:49,410 oprávnenia, ktoré potrebujú, a že bude sa zobrazí užívateľovi, 150 00:09:49,410 --> 00:09:53,480 a užívateľ bude musieť povedať, že som udeliť tieto oprávnenia. 151 00:09:53,480 --> 00:09:55,080 Ale buďme úprimní. 152 00:09:55,080 --> 00:09:58,400 Užívatelia sa práve chystá vždy hovorím v poriadku. 153 00:09:58,400 --> 00:10:04,460 Poďme sa rýchlo pozrieť na oprávnenia, ktoré tieto aplikácie žiadajú 154 00:10:04,460 --> 00:10:06,850 a niektoré z oprávnení, ktoré tam sú. 155 00:10:06,850 --> 00:10:09,950 Táto spoločnosť Praetorian robil prieskum v minulom roku 156 00:10:09,950 --> 00:10:14,170 z 53.000 aplikácií, analyzovaných v Android Markete a tretej strany trhov, 157 00:10:14,170 --> 00:10:16,770 tak to je všetko Android. 158 00:10:16,770 --> 00:10:19,670 A priemerný aplikácia požaduje 3 oprávnenia. 159 00:10:19,670 --> 00:10:23,370 Niektoré aplikácie požaduje 117 oprávnenia, 160 00:10:23,370 --> 00:10:27,480 tak samozrejme sa jedná o veľmi jemnozrnnej a príliš zložité pre užívateľa, aby pochopili, 161 00:10:27,480 --> 00:10:31,600 v prípade, že sú prezentované s touto aplikáciou, ktorá potrebuje týchto 117 oprávnenia. 162 00:10:31,600 --> 00:10:37,270 Je to ako koncový používateľ licenčnej zmluvy, ktorá je 45 strán dlho. 163 00:10:37,270 --> 00:10:40,240 Možno, že čoskoro budú mať možnosť, kde to je, 164 00:10:40,240 --> 00:10:43,100 vytlačiť oprávnenia a pošlite mi e-mail. 165 00:10:43,100 --> 00:10:45,480 >> Ale keď sa pozriete na niektoré z najlepších zaujímavých oprávnenia 166 00:10:45,480 --> 00:10:50,840 24% z aplikácií, ktoré sú stiahnuté z 53000 167 00:10:50,840 --> 00:10:57,230 požadované GPS informácie zo zariadenia. 168 00:10:57,230 --> 00:10:59,810 8% si kontakty. 169 00:10:59,810 --> 00:11:03,770 4% odoslaných SMS a 3% prijatej SMS. 170 00:11:03,770 --> 00:11:07,730 2% zaznamenaný zvuk. 171 00:11:07,730 --> 00:11:11,210 1% spracované odchádzajúce hovory. 172 00:11:11,210 --> 00:11:13,140 Neviem. 173 00:11:13,140 --> 00:11:17,520 Nemyslím si, že 4% z aplikácií v App Store naozaj potrebujete odosielať textové správy SMS, 174 00:11:17,520 --> 00:11:21,410 takže si myslím, že je to náznak, že sa niečo neobvyklé deje. 175 00:11:21,410 --> 00:11:24,350 8% z aplikácií je potrebné čítať zoznam kontaktov. 176 00:11:24,350 --> 00:11:26,510 Je to asi nie je nutné. 177 00:11:26,510 --> 00:11:30,990 Jedným z ďalších zaujímavých vecí, o oprávnenie je 178 00:11:30,990 --> 00:11:36,740 ak odkazujú na zdieľaných knižníc do aplikácie 179 00:11:36,740 --> 00:11:39,780 ktoré dedí povolenia z aplikácie, 180 00:11:39,780 --> 00:11:46,570 takže ak vaša aplikácia potrebuje zoznamu kontaktov alebo napríklad umiestnenie GPS fungovať 181 00:11:46,570 --> 00:11:49,940 a prepojenie v reklamnej knižnice, napríklad, 182 00:11:49,940 --> 00:11:53,170 že reklama knižnica bude tiež môcť pristupovať kontakty 183 00:11:53,170 --> 00:11:57,630 a tiež byť schopný získať prístup k umiestnenie GPS, 184 00:11:57,630 --> 00:12:01,990 a vývojár aplikácie nevie nič o kóde, ktorý je spustený v reklamnej knižnici. 185 00:12:01,990 --> 00:12:05,370 Sú to práve prepojenie, ktoré do systému, pretože chcú speňažiť svoje aplikácie. 186 00:12:05,370 --> 00:12:09,820 >> To je miesto, kde, a ja budem hovoriť o niektorých príkladoch to s 187 00:12:09,820 --> 00:12:13,930 aplikácie s názvom Pandora, kde vývojár aplikácie 188 00:12:13,930 --> 00:12:18,910 môže byť mimovoľne únik informácií 189 00:12:18,910 --> 00:12:24,580 od svojich užívateľov, pretože knižníc že som prepojených palcov 190 00:12:24,580 --> 00:12:30,110 Geodetické krajinu tam, pozeral sa na všetkých rôznych aplikácií 191 00:12:30,110 --> 00:12:34,310 , Ktoré boli hlásené v médiách ako škodlivý alebo robiť niečo, čo užívatelia nechceli 192 00:12:34,310 --> 00:12:39,360 a kontrolu veľa aplikácií, robíme veľa statickej binárne analýzy na mobilných aplikácií, 193 00:12:39,360 --> 00:12:42,010 takže sme je kontrolovaná a pozrel sa na samotného kódu- 194 00:12:42,010 --> 00:12:49,640 sme prišli s tým, čo nazývame naše top 10 zoznam rizikového správania v aplikáciách. 195 00:12:49,640 --> 00:12:54,180 A je to rozdelené do 2 častí, škodlivého kódu, 196 00:12:54,180 --> 00:12:57,600 takže sa jedná o zlé veci, že aplikácie by mohlo byť robiť, že 197 00:12:57,600 --> 00:13:06,520 je pravdepodobné, že bude niečo, čo sa zlými úmyslami individuálne 198 00:13:06,520 --> 00:13:10,060 výslovne dať do aplikácie, ale je to trochu rozmazaný. 199 00:13:10,060 --> 00:13:13,300 Mohlo by to byť niečo, čo developer si myslí, že je v poriadku, 200 00:13:13,300 --> 00:13:16,350 ale to skončí je myšlienka ako nebezpečný užívateľom. 201 00:13:16,350 --> 00:13:19,830 >> A potom druhá časť je to, čo nazývame kódovanie zraniteľnosti, 202 00:13:19,830 --> 00:13:24,600 a to sú veci, kde v podstate developer sa robiť chyby 203 00:13:24,600 --> 00:13:27,200 alebo jednoducho nechápe, ako napísať aplikáciu bezpečne, 204 00:13:27,200 --> 00:13:30,260  a to je uvedenie app užívateľa na riziko. 205 00:13:30,260 --> 00:13:34,060 Chystám sa ísť cez tieto v detaile a dať nejaké príklady. 206 00:13:34,060 --> 00:13:39,620 Pre porovnanie, chcel som, aby sa na OWASP mobilné top 10 zoznamu. 207 00:13:39,620 --> 00:13:43,590 Jedná sa o 10 otázok, ktoré skupina na OWASP, 208 00:13:43,590 --> 00:13:48,900 Projekt Open Web Application Security, majú pracovnú skupinu 209 00:13:48,900 --> 00:13:50,620 pracuje na mobilnom top 10 zoznamu. 210 00:13:50,620 --> 00:13:54,600 Majú veľmi slávny web Top 10 zoznamu, ktoré sú top 10 211 00:13:54,600 --> 00:13:57,180 najrizikovejšími veci, ktoré môžete mať vo webovej aplikácii. 212 00:13:57,180 --> 00:13:59,090 Robia to isté pre mobilné telefóny, 213 00:13:59,090 --> 00:14:01,750 a ich zoznam je trochu iný, než ten náš. 214 00:14:01,750 --> 00:14:03,670 6 z 10 sú rovnaké. 215 00:14:03,670 --> 00:14:06,020 Majú 4, ktoré sú odlišné. 216 00:14:06,020 --> 00:14:10,550 Myslím, že majú trochu odlišný pohľad na 217 00:14:10,550 --> 00:14:14,490 Riziko v mobilných aplikáciách, kde mnoho ich otázok 218 00:14:14,490 --> 00:14:20,490 sú naozaj, ako aplikácia komunikuje na serveri back-end 219 00:14:20,490 --> 00:14:23,100 alebo to, čo sa deje na serveri back-end, 220 00:14:23,100 --> 00:14:29,220 nie je toľko aplikácií, ktoré majú rizikové správanie, ktoré sú len prostá klientskej aplikácie. 221 00:14:29,220 --> 00:14:36,640 >> Tie červene sú tu rozdiely medzi zoznamami 2. 222 00:14:36,640 --> 00:14:40,740 A niektorí z môjho výskumného tímu sa vlastne prispel k tomuto projektu, 223 00:14:40,740 --> 00:14:44,570 takže uvidíme, čo sa stane v priebehu času, ale myslím, že stánok s jedlom je tu 224 00:14:44,570 --> 00:14:47,550 sme naozaj neviem, čo top 10 zoznam je v mobilných aplikáciách, pretože 225 00:14:47,550 --> 00:14:50,510 že som naozaj len asi 2 alebo 3 roky, 226 00:14:50,510 --> 00:14:57,750 a tam nebolo dosť času, aby skutočne skúmať operačné systémy 227 00:14:57,750 --> 00:15:00,450 a čo sú schopní, a tam nebolo dosť času 228 00:15:00,450 --> 00:15:06,870 pre škodlivý spoločenstvo, ak chcete, aby strávili dosť času 229 00:15:06,870 --> 00:15:12,910 snaží zaútočiť užívateľom prostredníctvom mobilných aplikácií, takže očakávam, že tieto zoznamy meniť trochu. 230 00:15:12,910 --> 00:15:18,720 Ale teraz, to sú top 10 vecí, ktoré robiť starosti. 231 00:15:18,720 --> 00:15:24,150 Možno sa čudujete, na mobilnom strane, kde nemá škodlivý mobilného kódu 232 00:15:24,150 --> 00:15:28,880 ako sa dostať k zariadeniu? 233 00:15:28,880 --> 00:15:35,210 North Carolina State má projekt Genome Project Mobile Malware 234 00:15:35,210 --> 00:15:39,520 kde sú zhromažďovaní čo najviac mobilné malware, ako môžu a analyzovanie, 235 00:15:39,520 --> 00:15:45,270 a že som v členení vstrekovacie vektory, ktoré mobilné malware používa, 236 00:15:45,270 --> 00:15:51,490 a 86% použiť techniku ​​zvanú prebaľovanie, 237 00:15:51,490 --> 00:15:54,160 a to je len na platforme Android 238 00:15:54,160 --> 00:15:56,720 môžete naozaj urobiť prebaľovanie. 239 00:15:56,720 --> 00:16:03,100 >> Dôvod, prečo je Android kód je postavený s 240 00:16:03,100 --> 00:16:08,130 bajt kód Javy s názvom Dalvik, ktorý je ľahko decompilable. 241 00:16:08,130 --> 00:16:12,460 Čo zlý človek môže urobiť, je 242 00:16:12,460 --> 00:16:16,590 so systémom Android aplikáciu, dekompilovať ju, 243 00:16:16,590 --> 00:16:20,120 vložte svoj škodlivý kód, překompilovat to, 244 00:16:20,120 --> 00:16:28,070 a potom ju v App Store, ktorá sa vyhlási nová verzia tejto aplikácie, 245 00:16:28,070 --> 00:16:30,330 alebo len možná zmena názvu aplikácie. 246 00:16:30,330 --> 00:16:35,140 Keby to bola nejaká hra, zmeniť názov mierne, 247 00:16:35,140 --> 00:16:42,860 , A to tak, ako je upravené balenie 86% mobilný malware dostane distribuovaný. 248 00:16:42,860 --> 00:16:45,810 Je tu ďalší techniku ​​zvanú aktualizácie, ktorá je 249 00:16:45,810 --> 00:16:50,030 veľmi podobný prebalenie, ale v skutočnosti nechcete dať škodlivý kód palcov 250 00:16:50,030 --> 00:16:52,870 Čo robíte, je dáte do malej aktualizačný mechanizmus. 251 00:16:52,870 --> 00:16:56,660 Môžete dekompilovať, môžete dať do aktualizačného mechanizmu, a to překompilovat, 252 00:16:56,660 --> 00:17:02,360 a potom, keď aplikácia beží to stiahne malware na zariadení. 253 00:17:02,360 --> 00:17:06,300 >> Zďaleka väčšina z nich sú tie dve techniky. 254 00:17:06,300 --> 00:17:12,710 Tam naozaj nie je moc na prevzatie pohon-by si, alebo automatickým sťahovaním na mobilné telefóny, 255 00:17:12,710 --> 00:17:15,890 ktoré by mohli byť ako phishing. 256 00:17:15,890 --> 00:17:18,200 Ahoj, pozrite sa na tento fakt super stránky, 257 00:17:18,200 --> 00:17:21,020 alebo budete musieť ísť na túto stránku a vyplňte tento formulár 258 00:17:21,020 --> 00:17:24,420 aby aj naďalej niečo robiť. 259 00:17:24,420 --> 00:17:26,230 Tí, ktorí sú phishingové útoky. 260 00:17:26,230 --> 00:17:28,160 To isté sa môže stať na mobilnú platformu, kde sa 261 00:17:28,160 --> 00:17:33,830 poukazujú na mobilné aplikácie na stiahnutie, hovoriť "Ahoj, tu je Bank of America." 262 00:17:33,830 --> 00:17:36,070 "Vidíme, že používate túto aplikáciu." 263 00:17:36,070 --> 00:17:38,540 "By ste mali stiahnuť túto inú aplikáciu." 264 00:17:38,540 --> 00:17:41,170 Teoreticky, to by mohlo fungovať. 265 00:17:41,170 --> 00:17:48,610 Možno, že to jednoducho nie je používaný tak, aby sa zistilo, či je úspešný, alebo nie, 266 00:17:48,610 --> 00:17:51,680 ale zistili, že sa používa menej ako 1% z času, ktorý techniky. 267 00:17:51,680 --> 00:17:56,130 Väčšina času je to naozaj prebaliť kód. 268 00:17:56,130 --> 00:17:58,710 >> Je tu ďalšie kategórie tzv standalone 269 00:17:58,710 --> 00:18:01,420 kde sa niekto práve stavia zbrusu novej aplikácii. 270 00:18:01,420 --> 00:18:04,020 Majú vytvoriť aplikáciu, ktorá údajného niečo. 271 00:18:04,020 --> 00:18:07,360 Nie je to prebalenie niečo iné, a že má škodlivý kód. 272 00:18:07,360 --> 00:18:11,230 To je použité 14% času. 273 00:18:11,230 --> 00:18:17,880 Teraz chcem hovoriť o tom, čo je škodlivý kód robí? 274 00:18:17,880 --> 00:18:23,070 Jeden z prvých malware tam 275 00:18:23,070 --> 00:18:25,490 by ste mohli zvážiť spyware. 276 00:18:25,490 --> 00:18:27,620 Je to v podstate špehuje užívateľa. 277 00:18:27,620 --> 00:18:30,470 To zbiera e-maily, SMS správy. 278 00:18:30,470 --> 00:18:32,340 Ukazuje na mikrofón. 279 00:18:32,340 --> 00:18:37,330 To žne kontaktné knihu, a odošle ju na niekoho iného. 280 00:18:37,330 --> 00:18:40,870 Tento typ spyware existuje na PC, 281 00:18:40,870 --> 00:18:46,200 tak to dáva zmysel, aby sa ľudia snažia robiť na mobilných zariadeniach to. 282 00:18:46,200 --> 00:18:53,230 >> Jeden z prvých príkladov tohto bol program s názvom Secret SMS Replicator. 283 00:18:53,230 --> 00:18:56,250 Bolo to v Android Marketplace pred pár rokmi, 284 00:18:56,250 --> 00:18:59,960 a myšlienka bola, keby ste mali prístup k niečí Android telefónu 285 00:18:59,960 --> 00:19:03,450 že ste chcel špehovať, takže možno je to váš manžel 286 00:19:03,450 --> 00:19:07,600 alebo vaše ďalších významných a chcete špehovať svoje textové správy, 287 00:19:07,600 --> 00:19:11,200 si môžete stiahnuť túto aplikáciu a nainštalujte ju a nastaviť 288 00:19:11,200 --> 00:19:16,540 poslať textovú správu SMS na Vás s kópiou 289 00:19:16,540 --> 00:19:21,710 každé textové SMS správy, ktoré dostali. 290 00:19:21,710 --> 00:19:27,220 To je samozrejme v porušovaní App Store, pokiaľ ide o služby, 291 00:19:27,220 --> 00:19:32,040 a toto bolo odstránené z trhu Android počas 18 hodín je, že tam, 292 00:19:32,040 --> 00:19:36,760 tak veľmi malý počet ľudí, ktorí boli v ohrození, pretože toto. 293 00:19:36,760 --> 00:19:42,510 Teraz si myslím, že v prípade, že bol program s názvom niečo možno trochu menej provokatívny 294 00:19:42,510 --> 00:19:48,690 ako Secret SMS Replicator by pravdepodobne fungovalo oveľa lepšie. 295 00:19:48,690 --> 00:19:52,870 Ale to bolo celkom jasné. 296 00:19:52,870 --> 00:19:58,680 >> Jedna z vecí, ktoré môžeme urobiť pre to, zistiť, či aplikácia má toto správanie, ktoré nechceme 297 00:19:58,680 --> 00:20:01,410 je kontrolovať kód. 298 00:20:01,410 --> 00:20:06,250 To je naozaj veľmi jednoduché urobiť na Androide, pretože môžeme dekompilovať aplikácie. 299 00:20:06,250 --> 00:20:11,050 Na iOS môžete použiť disassembler, ako je IDA Pro 300 00:20:11,050 --> 00:20:17,190 pozrieť sa na to, čo Apis aplikácie volá a čo to robí. 301 00:20:17,190 --> 00:20:20,680 Napísali sme naše vlastné binárne statický analyzátor pre nášho kódu 302 00:20:20,680 --> 00:20:24,940 a robíme to, a tak to, čo by ste mohli urobiť, je by sa dalo povedať 303 00:20:24,940 --> 00:20:30,490 má zariadenie robiť čokoľvek, čo je v podstate ma špehoval alebo sledovanie ma? 304 00:20:30,490 --> 00:20:33,360 A mám nejaké príklady tu na iPhone. 305 00:20:33,360 --> 00:20:41,440 Tento prvý príklad je, ako pristupovať k UUID na telefóne. 306 00:20:41,440 --> 00:20:47,060 To je skutočne niečo, čo Apple práve zakázaný pre nové aplikácie, 307 00:20:47,060 --> 00:20:52,540 ale staré aplikácie, ktoré ste mohli bežiaci na vašom telefóne môže ešte urobiť, 308 00:20:52,540 --> 00:20:56,500 a tak, že jedinečný identifikačný kód môže byť použitý pre vás sledovať 309 00:20:56,500 --> 00:21:00,440 v mnohých rôznych aplikáciách. 310 00:21:00,440 --> 00:21:07,180 >> Na Android, mám príklad tu, ako sa dostať polohu zariadenia. 311 00:21:07,180 --> 00:21:10,310 Môžete vidieť, že v prípade, že volanie API je tam, že aplikácia je sledovanie, 312 00:21:10,310 --> 00:21:15,000 a vidíte, či je to stále jemné umiestnenie alebo hrubé umiestnenie. 313 00:21:15,000 --> 00:21:18,860 A potom na dne tu, mám príklad, ako na BlackBerry 314 00:21:18,860 --> 00:21:25,130 aplikácia môže pristupovať k e-mailové správy v priečinku Doručená pošta. 315 00:21:25,130 --> 00:21:27,660 Jedná sa o druh vecí, ktoré môžete prezrieť vidieť 316 00:21:27,660 --> 00:21:32,360 v prípade, že aplikácia robí tieto veci. 317 00:21:32,360 --> 00:21:38,320 Druhá veľká kategória škodlivého správania, a to je pravdepodobne najväčší kategóriu teraz, 318 00:21:38,320 --> 00:21:43,950 je zakázané vytáčanie, neoprávnené prémiové textové správy SMS 319 00:21:43,950 --> 00:21:46,080 alebo neoprávnené platby. 320 00:21:46,080 --> 00:21:48,930 Ďalšia vec, ktorá je jedinečná v tom telefóne 321 00:21:48,930 --> 00:21:52,700 je prístroj pripojený do fakturačného účtu, 322 00:21:52,700 --> 00:21:55,960 a pri činnosti sa stalo na telefóne 323 00:21:55,960 --> 00:21:58,510 je možné vytvoriť poplatkov. 324 00:21:58,510 --> 00:22:00,700 Môžete si kúpiť veci po telefóne, 325 00:22:00,700 --> 00:22:04,390 a pri odoslaní premium SMS textovú správu, že ste skutočne dávať peniaze 326 00:22:04,390 --> 00:22:11,590 majiteľovi účtu telefónneho čísla na strane druhej. 327 00:22:11,590 --> 00:22:17,420 Tie boli zriadené, aby sa ceny akcií, alebo si svoj denný horoskop, alebo iné veci, 328 00:22:17,420 --> 00:22:21,680 ale môže byť nastavený tak, aby produkt objednať zaslaním SMS s textom. 329 00:22:21,680 --> 00:22:26,970 Ľudia dávajú peniaze na Červený kríž zaslaním textovej správy. 330 00:22:26,970 --> 00:22:30,650 Môžete dať 10 dolárov týmto spôsobom. 331 00:22:30,650 --> 00:22:34,190 >> Útočníci, čo som urobil, je, že nastavenie 332 00:22:34,190 --> 00:22:38,750 účty v cudzích krajinách, a vložiť do malware 333 00:22:38,750 --> 00:22:42,840 , Že telefón bude odoslanie Premium SMS textovú správu, 334 00:22:42,840 --> 00:22:47,700 povedať, niekoľkokrát denne, a na konci mesiaca si uvedomíte, že ste strávili 335 00:22:47,700 --> 00:22:52,090 desiatky alebo dokonca stovky dolárov, a oni odísť s peniazmi. 336 00:22:52,090 --> 00:22:57,280 To bolo tak zlé, že to bol úplne prvá vec, ktorá pre Android 337 00:22:57,280 --> 00:23:00,760 Marketplace alebo miesto, to bol Google Trhovisko Android v tej dobe, 338 00:23:00,760 --> 00:23:04,430 a to je teraz Google Play-prvá vec, že ​​Google začal kontrolu. 339 00:23:04,430 --> 00:23:08,700 Keď Google začal distribuovať Android aplikácie na ich app store 340 00:23:08,700 --> 00:23:11,350 oni hovorili, že nebude kontrolovať na čokoľvek. 341 00:23:11,350 --> 00:23:15,630 Dáme aplikácie, akonáhle sme boli upozornení, že som porušil naše podmienky služby, 342 00:23:15,630 --> 00:23:17,520 ale nebudeme kontrolovať na čokoľvek. 343 00:23:17,520 --> 00:23:24,350 No, asi pred rokom to bolo tak zlé, s týmto premium SMS textových správ malware 344 00:23:24,350 --> 00:23:28,030 že je to prvá vec, ktorú začali kontrole. 345 00:23:28,030 --> 00:23:31,770 Ak aplikácia umožňuje odosielať textové správy SMS 346 00:23:31,770 --> 00:23:34,750 sa ďalej ručne skúmať túto žiadosť. 347 00:23:34,750 --> 00:23:38,770 Vyzerajú pre rozhrania API, ktoré vyžadujú tento, 348 00:23:38,770 --> 00:23:40,580 a teraz, pretože potom Google rozšíril, 349 00:23:40,580 --> 00:23:46,900 ale to bola prvá vec, ktorá sa začala hľadať. 350 00:23:46,900 --> 00:23:50,690 >> Niektoré ďalšie aplikácie, ktoré robil nejaké textové správy SMS, 351 00:23:50,690 --> 00:23:56,980 Tento Android Qicsomos, myslím, že to je volané. 352 00:23:56,980 --> 00:24:02,670 Bolo to aktuálne udalosti na mobilný telefón, kde tento Carrier vyšiel 353 00:24:02,670 --> 00:24:07,720 ako spyware dať na prístroji dopravcovi, 354 00:24:07,720 --> 00:24:10,820 tak ľudia chceli vedieť, či ich telefón bol vystavený to, 355 00:24:10,820 --> 00:24:13,890 a to bezplatná aplikácia, ktorá skúša to. 356 00:24:13,890 --> 00:24:17,520 No, samozrejme, to, čo táto aplikácia urobila, bolo, že poslal prémiových textových správ SMS, 357 00:24:17,520 --> 00:24:20,090 tak tým testovaním, či ste napadnutý spywarom 358 00:24:20,090 --> 00:24:24,930 ste vložili malware do vášho zariadenia. 359 00:24:24,930 --> 00:24:27,310 Videli sme to isté sa stalo v poslednej Super Bowl. 360 00:24:27,310 --> 00:24:33,180 Tam bol falošný verzia Madden futbal 361 00:24:33,180 --> 00:24:38,320 ktorý poslal prémiové textové správy SMS. 362 00:24:38,320 --> 00:24:45,750 Je to vlastne pokúsil sa vytvoriť topánok sieť príliš na zariadení. 363 00:24:45,750 --> 00:24:48,090 Tu mám pár príkladov. 364 00:24:48,090 --> 00:24:52,640 Je zaujímavé, že Apple bol dosť chytrý, 365 00:24:52,640 --> 00:24:58,470 a neumožňujú aplikáciám odosielať textové správy SMS vôbec. 366 00:24:58,470 --> 00:25:00,350 Žiadna aplikácia môže urobiť. 367 00:25:00,350 --> 00:25:03,530 To je skvelý spôsob, ako sa zbaviť celej triedy zraniteľnosti, 368 00:25:03,530 --> 00:25:09,040 ale na Android, môžete to urobiť, a samozrejme, na BlackBerry, môžete to urobiť taky. 369 00:25:09,040 --> 00:25:13,060 Je zaujímavé, že na BlackBerry všetko, čo potrebujete, je internet oprávnenia 370 00:25:13,060 --> 00:25:18,370 poslať textovú správu SMS. 371 00:25:18,370 --> 00:25:21,580 >> Ďalšia vec, naozaj, že sa pozrieme na 372 00:25:21,580 --> 00:25:24,780 keď sa pozeráme, či je niečo škodlivého, je len nejaký druh 373 00:25:24,780 --> 00:25:28,100 neoprávnená činnosť sietí, ako pozerať sa na činnosti siete 374 00:25:28,100 --> 00:25:31,570 aplikácia má mať jeho funkčnosť, 375 00:25:31,570 --> 00:25:35,380 a pozrieť sa na túto iné sieťové aktivite. 376 00:25:35,380 --> 00:25:43,380 Možno aplikácie, pracovať, musí získať dáta cez HTTP, 377 00:25:43,380 --> 00:25:47,500 ale ak to robí veci, cez e-mail alebo SMS alebo Bluetooth, alebo niečo také 378 00:25:47,500 --> 00:25:52,890 Teraz, že aplikácie by mohli byť nebezpečné, takže to je ďalšia vec, ktorú si môžete prezrieť na. 379 00:25:52,890 --> 00:26:00,430 A na tomto snímku tu mám niekoľko príkladov, ktoré. 380 00:26:00,430 --> 00:26:05,950 Ďalšia zaujímavá vec, ktorú sme videli s malware sa stalo v roku 2009, 381 00:26:05,950 --> 00:26:07,600 a stalo sa to vo veľkom štýle. 382 00:26:07,600 --> 00:26:11,390 Ja neviem, či sa to stalo, tak od tej doby, ale to bolo app 383 00:26:11,390 --> 00:26:15,140 že sa vydával za inú aplikáciu. 384 00:26:15,140 --> 00:26:21,700 Tam bol rad aplikácií, a to bolo nazvané útok 09Droid, 385 00:26:21,700 --> 00:26:29,770 a niekto sa rozhodol, že tam bolo veľa malých, regionálnych, stredne veľké banky 386 00:26:29,770 --> 00:26:32,260 že nemal on-line bankové aplikácie, 387 00:26:32,260 --> 00:26:36,870 takže to, čo urobil, bolo, že postavených asi 50 on-line bankové aplikácie 388 00:26:36,870 --> 00:26:39,410 že všetko, čo urobil, bolo, mať užívateľské meno a heslo 389 00:26:39,410 --> 00:26:42,190 a presmerovať vás na internetových stránkach. 390 00:26:42,190 --> 00:26:47,470 A tak dali to všetko v Google Marketplace, 391 00:26:47,470 --> 00:26:51,530 v Android Marketplace, a keď niekto hľadal, aby zistili, či ich banka 392 00:26:51,530 --> 00:26:56,000 Mal aplikácie, ktoré by sa nájsť falošné žiadosti, 393 00:26:56,000 --> 00:27:01,230 ktoré zhromažďujú svoje prihlasovacie údaje a potom presmerovaný do ich webových stránkach. 394 00:27:01,230 --> 00:27:06,640 Spôsobom, že to vlastne stalo, že aplikácia sa tam na pár týždňov, 395 00:27:06,640 --> 00:27:09,050 a tam boli tisíce a tisíce stiahnutie. 396 00:27:09,050 --> 00:27:12,910 >> Spôsob, ako to prišlo k svetlu bol niekto má problém 397 00:27:12,910 --> 00:27:15,740 s jednou z aplikácií, a nazvali svoju banku, 398 00:27:15,740 --> 00:27:18,390 a oni volali zákazníckej linke ich banky a povedal, 399 00:27:18,390 --> 00:27:21,180 "Mám problém s vašim mobilným bankovníctvo." 400 00:27:21,180 --> 00:27:23,460 "Môžeš mi pomôcť?" 401 00:27:23,460 --> 00:27:26,540 A oni povedali: "Nemáme bankové aplikácie pre mobilné." 402 00:27:26,540 --> 00:27:28,120 To začalo vyšetrovanie. 403 00:27:28,120 --> 00:27:31,200 Že banka s názvom Google, a potom Google pozrel a povedal: 404 00:27:31,200 --> 00:27:37,220 "Wow, rovnaký autor napísal 50 bankových aplikácií," a vzal ich všetky dole. 405 00:27:37,220 --> 00:27:43,410 Ale určite sa to mohlo stať znovu. 406 00:27:43,410 --> 00:27:51,790 Tu je zoznam všetkých rôznych bánk tu 407 00:27:51,790 --> 00:27:55,870 ktoré boli súčasťou tohto podvodu. 408 00:27:55,870 --> 00:28:02,050 Ďalšia vec, ktorú aplikácia môže urobiť, je prítomný UI z inej aplikácie. 409 00:28:02,050 --> 00:28:06,430 Aj keď je to beh by to mohlo vyskočí na Facebook UI. 410 00:28:06,430 --> 00:28:09,540 To hovorí, že budete musieť dať do svojho užívateľského mena a hesla, aby aj naďalej 411 00:28:09,540 --> 00:28:15,090 alebo dať do ľubovoľnej užívateľské meno a heslo užívateľské rozhranie pre webové stránky 412 00:28:15,090 --> 00:28:18,420 že možno užívateľ používa len k pokusu oklamať užívateľa 413 00:28:18,420 --> 00:28:21,340 do uvedenia svojich prihlasovacích údajov palcov 414 00:28:21,340 --> 00:28:25,590 To je naozaj rovno paralelne z e-mailovej útoky typu phishing 415 00:28:25,590 --> 00:28:28,210 kde vám niekto pošle e-mailovú správu 416 00:28:28,210 --> 00:28:33,050 a poskytuje v podstate falošné rozhrania pre webové stránky 417 00:28:33,050 --> 00:28:37,320 že máte prístup. 418 00:28:37,320 --> 00:28:41,590 >> Ďalšia vec, ktorú hľadáme škodlivého kódu je modifikácia systému. 419 00:28:41,590 --> 00:28:48,160 Môžete sa pozrieť na všetky volania API, ktoré vyžadujú oprávnením root 420 00:28:48,160 --> 00:28:50,870 vykonať správne. 421 00:28:50,870 --> 00:28:56,160 Zmena web proxy daného zariadenia by bolo niečo, čo aplikácie 422 00:28:56,160 --> 00:28:59,530 by nemal byť schopný robiť. 423 00:28:59,530 --> 00:29:03,030 Ale v prípade, že aplikácia má kód tam k tomu, že 424 00:29:03,030 --> 00:29:05,960 viete, že je to pravdepodobne škodlivý aplikácie 425 00:29:05,960 --> 00:29:09,620 alebo veľmi vysoko pravdepodobné, že sa jedná o nebezpečnú aplikáciu, 426 00:29:09,620 --> 00:29:13,910 a tak čo by sa stalo, je, že aplikácia bude mať nejaký spôsob, ako stupňujúci privilégium. 427 00:29:13,910 --> 00:29:17,200 Mala by mať nejaké zvýšenie úrovne oprávnenia využívať 428 00:29:17,200 --> 00:29:20,730 v aplikácii, a potom ešte raz to eskalovalo oprávnenia 429 00:29:20,730 --> 00:29:23,800 že by to tieto systémové zmeny. 430 00:29:23,800 --> 00:29:28,010 Nájdete malware, ktorý má oprávnenie eskalácii 431 00:29:28,010 --> 00:29:32,550 v ňom aj bez znalosti, ako sa zvýšenie úrovne oprávnenia 432 00:29:32,550 --> 00:29:37,960 využitie sa bude diať, a to je pekné, jednoduchý spôsob, 433 00:29:37,960 --> 00:29:41,220 hľadať malware. 434 00:29:41,220 --> 00:29:46,030 DroidDream bol pravdepodobne najslávnejší kus Android malware. 435 00:29:46,030 --> 00:29:50,530 Myslím, že to ovplyvnilo asi 250.000 užívateľov po dobu niekoľkých dní 436 00:29:50,530 --> 00:29:52,810 pred tým, než bolo zistené. 437 00:29:52,810 --> 00:29:56,890 Oni prebaliť 50 falošné aplikácie, 438 00:29:56,890 --> 00:30:00,370 dať do Android App Store, 439 00:30:00,370 --> 00:30:10,940 a v podstate je použitý Android jailbreak kód eskalovať privilégiá 440 00:30:10,940 --> 00:30:16,380 a potom nainštalovať velenia a riadenia a zapnite všetky obete 441 00:30:16,380 --> 00:30:20,690 do topánok siete, ale mohli ste objavili tento 442 00:30:20,690 --> 00:30:24,170 ak ste skenovanie aplikácie a len hľadáte 443 00:30:24,170 --> 00:30:32,230 API volanie, ktoré vyžaduje povolenie root spustiť správne. 444 00:30:32,230 --> 00:30:40,150 >> A tu je príklad tu mám, ktorý sa mení proxy, 445 00:30:40,150 --> 00:30:46,380 a to v skutočnosti je k dispozícii len na Android. 446 00:30:46,380 --> 00:30:49,070 Môžete vidieť Dávam vám veľa príkladov na Android 447 00:30:49,070 --> 00:30:53,990 pretože to je miesto, kde najaktívnejší malware ekosystém je 448 00:30:53,990 --> 00:30:58,690 pretože je to pre útočníka veľmi ľahké sa dostať škodlivý kód 449 00:30:58,690 --> 00:31:01,470 do Android Marketplace. 450 00:31:01,470 --> 00:31:06,480 Nie je to tak ľahké, že v Apple App Store 451 00:31:06,480 --> 00:31:10,250 pretože Apple vyžaduje, aby vývojárom spoznať seba 452 00:31:10,250 --> 00:31:12,790 a podpísať kód. 453 00:31:12,790 --> 00:31:20,340 Sú to vlastne zistiť, kto ste, a Apple je vlastne posúdenie žiadostí. 454 00:31:20,340 --> 00:31:27,450 Nechceme vidieť veľa skutočné malware, kde je zariadenie stále ohrozená. 455 00:31:27,450 --> 00:31:32,250 Budem hovoriť o niektorých príkladoch, kde je to naozaj súkromie, ktoré je stále ohrozená, 456 00:31:32,250 --> 00:31:38,460 a to je to, čo sa skutočne deje na zariadenia Apple. 457 00:31:38,460 --> 00:31:44,090 Ďalšia vec, ktorú sa pozrieť na výskyt škodlivého kódu, riskantné kód zariadenia 458 00:31:44,090 --> 00:31:50,300 Je logické alebo časované bomby a časované bomby sú pravdepodobne 459 00:31:50,300 --> 00:31:53,370 oveľa jednoduchšie hľadať, než logických bômb. 460 00:31:53,370 --> 00:31:57,030 Ale s časovaných bômb, čo môžete urobiť, je sa môžete pozrieť na 461 00:31:57,030 --> 00:32:04,760 miesta v kóde, kde je testovaná čas alebo absolútny čas sa hľadá 462 00:32:04,760 --> 00:32:08,190 Pred určité funkcie v aplikácii deje. 463 00:32:08,190 --> 00:32:14,200 A to by mohlo byť vykonané skryť túto činnosť od užívateľa, 464 00:32:14,200 --> 00:32:17,510 tak sa to deje neskoro v noci. 465 00:32:17,510 --> 00:32:24,350 DroidDream robil všetku svoju činnosť medzi dvadsať tri hodín a 8 hodín ráno miestneho času 466 00:32:24,350 --> 00:32:30,650 pokúsiť sa urobiť to, keď používateľ nemusí používať ich zariadenia. 467 00:32:30,650 --> 00:32:38,680 >> Ďalší dôvod k tomu je, ak sú ľudia používajú behaviorálne analýzu aplikácie, 468 00:32:38,680 --> 00:32:43,430 spustenie aplikácie do karantény, aby videli, čo správanie aplikácie je, 469 00:32:43,430 --> 00:32:51,090 môžu využiť čas na základe logiky urobiť aktivitu 470 00:32:51,090 --> 00:32:54,640 keď aplikácia nie je na pieskovisku. 471 00:32:54,640 --> 00:33:01,520 Napríklad, App Store ako Apple 472 00:33:01,520 --> 00:33:07,940 spustí aplikáciu, ale pravdepodobne nie sú v rozpore každú žiadosť, povedzme, 30 dní 473 00:33:07,940 --> 00:33:10,550 pred jej schválením, takže si môžete dať 474 00:33:10,550 --> 00:33:14,120 logika v aplikácii, ktorý povedal, v poriadku, len urobiť zlú vec 475 00:33:14,120 --> 00:33:20,490 po 30 dňoch je preč, alebo po 30 dňoch po publikovaní dátume podania žiadosti, 476 00:33:20,490 --> 00:33:27,020 a ktoré môžu pomôcť škodlivého kódu kožu z ľudí inšpekciu na to. 477 00:33:27,020 --> 00:33:30,050 Je-li anti-virus spoločnosti sú spustené veci v pieskovísk 478 00:33:30,050 --> 00:33:36,370 alebo app samotné obchody sú to môže pomôcť 479 00:33:36,370 --> 00:33:39,260 skryť, že z tejto prehliadky. 480 00:33:39,260 --> 00:33:43,020 Teraz, odvrátenou stranou, že je to ľahké nájsť s statickú analýzu, 481 00:33:43,020 --> 00:33:46,170 takže vlastne inšpekciu kód môžete pozrieť na všetky miesta, 482 00:33:46,170 --> 00:33:54,010 kde sa aplikácie testuje čas a skontrolujte, že tak. 483 00:33:54,010 --> 00:33:58,850 A tu mám nejaké príklady na týchto 3 rôznych platformách 484 00:33:58,850 --> 00:34:05,640 ako môže byť čas skontrolovať pomocou app výrobcu 485 00:34:05,640 --> 00:34:10,520 takže viete, na čo sa zamerať, ak ste kontrolu aplikácie staticky. 486 00:34:10,520 --> 00:34:14,570 >> Som prešiel veľa rôznych škodlivých aktivít 487 00:34:14,570 --> 00:34:18,969 ktoré sme videli vo voľnej prírode, ale ktoré z nich sú najčastejšie? 488 00:34:18,969 --> 00:34:23,940 To isté štúdie z North Carolina State Mobile Genome Project 489 00:34:23,940 --> 00:34:28,560 zverejnené niektoré údaje, a tam boli v podstate štyri oblasti 490 00:34:28,560 --> 00:34:32,850 že videli tam, kde bola kopa aktivít. 491 00:34:32,850 --> 00:34:35,370 37% z aplikácií robil oprávnenie eskalácii, 492 00:34:35,370 --> 00:34:38,429 aby mali nejaký druh jailbreak kódu tam 493 00:34:38,429 --> 00:34:42,070 kde sa snažili stupňovať oprávnenie, aby mohli 494 00:34:42,070 --> 00:34:48,360 sa príkazy API beží ako operačný systém. 495 00:34:48,360 --> 00:34:52,520 45% z aplikácií tam robil Premium SMS, 496 00:34:52,520 --> 00:34:57,260 tak to je veľké percento, ktoré sa snažia priamo speňažiť. 497 00:34:57,260 --> 00:35:02,640 93% áno diaľkové ovládanie, takže sa snažili nastaviť topánok sieť, mobilného topánok sieť. 498 00:35:02,640 --> 00:35:08,990 A 45% zozbierané identifikačné údaje 499 00:35:08,990 --> 00:35:16,230 ako sú telefónne čísla, UUID, umiestnenie GPS, užívateľských účtov, 500 00:35:16,230 --> 00:35:22,870 a to pridáva až na viac ako 100, pretože väčšina malware sa snaží robiť niektoré z týchto vecí. 501 00:35:22,870 --> 00:35:27,070 >> Chystám sa prejsť do druhej polovice a hovoriť o zraniteľnosti kódu. 502 00:35:27,070 --> 00:35:29,480 Toto je druhá polovica riskantné činnosti. 503 00:35:29,480 --> 00:35:33,450 To je miesto, kde v podstate je developer robiť chyby. 504 00:35:33,450 --> 00:35:37,210 Legitímna developer písať legitímne aplikácie 505 00:35:37,210 --> 00:35:41,830 robí chyby, alebo je neznalý o rizikách mobilné platformy. 506 00:35:41,830 --> 00:35:44,780 Oni jednoducho nevedia, ako sa urobiť bezpečné mobilné aplikácie, 507 00:35:44,780 --> 00:35:47,700 alebo niekedy developer sa nestará o uvedení užívateľa v ohrození. 508 00:35:47,700 --> 00:35:50,850 Niekedy je súčasťou ich obchodného modelu by mohlo byť 509 00:35:50,850 --> 00:35:54,610 úrodu osobné údaje užívateľa. 510 00:35:54,610 --> 00:35:58,090 To je niečo ako druhej kategórie, a to je dôvod, prečo niektoré z týchto škodlivý 511 00:35:58,090 --> 00:36:03,200 proti legitímne začne krvácať konca, pretože tam je rozdiel názorov 512 00:36:03,200 --> 00:36:10,440 medzi tým, čo užívateľ chce a čo užívateľ považuje za riskantné 513 00:36:10,440 --> 00:36:13,050 a to, čo vývojár aplikácie považuje za riskantné. 514 00:36:13,050 --> 00:36:18,380 Samozrejme, že to nie je dát vývojárov aplikácií je vo väčšine prípadov. 515 00:36:18,380 --> 00:36:22,030 >> A nakoniec, iný spôsob, ako sa to stane, je developer môže spojiť v 516 00:36:22,030 --> 00:36:28,600 zdieľaná knižnica, ktorá má slabé miesta alebo toto rizikové správanie v ňom 517 00:36:28,600 --> 00:36:32,480 unbeknownst k nim. 518 00:36:32,480 --> 00:36:37,060 Prvá kategória je citlivý úniku dát, 519 00:36:37,060 --> 00:36:40,030 , A to je, keď aplikácia zhromažďuje informácie 520 00:36:40,030 --> 00:36:44,980 ako je umiestnenie, adresáre, informácie vlastníka 521 00:36:44,980 --> 00:36:48,000 a vysiela, že mimo zariadenia. 522 00:36:48,000 --> 00:36:53,050 A akonáhle je to mimo zariadenie, nevieme, čo sa deje s týmito informáciami. 523 00:36:53,050 --> 00:36:57,170 Mohlo by to byť uložené neisto vývojár aplikácie. 524 00:36:57,170 --> 00:37:02,070 Videli sme vývojári aplikácií sa ohrozená, 525 00:37:02,070 --> 00:37:05,820 a údaje, ktoré oni ukladanie dostane prijatá. 526 00:37:05,820 --> 00:37:10,970 To sa stalo pred niekoľkými mesiacmi na developera na Floride 527 00:37:10,970 --> 00:37:21,660 kde obrovské množstvo, to bol iPad UUID a názvy zariadení 528 00:37:21,660 --> 00:37:25,270 bola prepustená preto, že niekto, myslím, že to bol anonymný, 529 00:37:25,270 --> 00:37:29,460 vyhlasoval, že to, vlámal do serverov tohto vývojára 530 00:37:29,460 --> 00:37:34,920 a ukradol milióny iPad UUID 531 00:37:34,920 --> 00:37:37,390 a názvy počítačov. 532 00:37:37,390 --> 00:37:40,260 Nie najrizikovejšie informácie, 533 00:37:40,260 --> 00:37:46,820 ale čo keď to bolo ukladanie užívateľských mien a hesiel 534 00:37:46,820 --> 00:37:48,170 a adresy domov? 535 00:37:48,170 --> 00:37:51,100 Je tu veľa aplikácií, ktoré ukladajú tento druh informácií. 536 00:37:51,100 --> 00:37:53,230 Riziko je tu. 537 00:37:53,230 --> 00:37:56,620 >> Ďalšia vec, ktorá sa môže stať, ak je developer nebude starať 538 00:37:56,620 --> 00:38:01,370 zabezpečiť dátový kanál, a to je ďalšia veľká zraniteľnosť budem hovoriť, 539 00:38:01,370 --> 00:38:05,160 že je odosielané do jasné. 540 00:38:05,160 --> 00:38:09,040 Ak užívateľ na verejnej sieti Wi-Fi 541 00:38:09,040 --> 00:38:12,330 alebo niekto ňuchania internet niekde 542 00:38:12,330 --> 00:38:19,260 po ceste, ktoré dáta sú vystavené. 543 00:38:19,260 --> 00:38:23,790 Jeden veľmi slávny prípad tohto úniku informácií sa stalo s Pandora, 544 00:38:23,790 --> 00:38:27,250 a to je niečo, čo sme skúmali na Veracode. 545 00:38:27,250 --> 00:38:33,200 Počuli sme, že to tam bolo, myslím, že to bol Federal Trade Commission 546 00:38:33,200 --> 00:38:35,310 Vyšetrovanie sa deje s Pandore. 547 00:38:35,310 --> 00:38:39,830 Povedali sme si, "Čo sa to tam deje? Poďme začať kopať do aplikácie Pandora." 548 00:38:39,830 --> 00:38:46,690 A to, čo sme zistili, bola aplikácia Pandora zhromažďované 549 00:38:46,690 --> 00:38:51,270 vaše pohlavie a váš vek, 550 00:38:51,270 --> 00:38:56,660 a tiež prístup k vašej GPS polohy a aplikácie Pandora 551 00:38:56,660 --> 00:39:00,200 urobil to, čo hovorili, bolo oprávnené dôvody. 552 00:39:00,200 --> 00:39:05,360 Hudba, ktorú hrali, Pandora je streamovanie hudby app- 553 00:39:05,360 --> 00:39:07,530 hudba, ktorú hrali bola licencovaná iba v Spojených štátoch, 554 00:39:07,530 --> 00:39:13,020 tak museli skontrolovať, v súlade s ich licenčnými dohodami, ktoré mali 555 00:39:13,020 --> 00:39:17,240 pre hudbu, aby používateľ bol v Spojených štátoch. 556 00:39:17,240 --> 00:39:25,070 Chceli tiež, aby v súlade s Parental Advisory 557 00:39:25,070 --> 00:39:33,790 okolo dospelý jazyk v hudbe, 558 00:39:33,790 --> 00:39:37,500 a tak je to dobrovoľný program, ale chceli, aby v súlade s tým 559 00:39:37,500 --> 00:39:43,010 a nie hrať explicitné texty pre deti 13 a pod. 560 00:39:43,010 --> 00:39:46,280 >> Mali legitímne dôvody na zber týchto dát. 561 00:39:46,280 --> 00:39:49,160 Ich aplikácia mal povolenie, ako to urobiť. 562 00:39:49,160 --> 00:39:52,000 Užívatelia myslel, že toto bolo legitímne. Ale čo sa stalo? 563 00:39:52,000 --> 00:39:55,810 Sú spojené do 3 alebo 4 rôznych reklamných knižníc. 564 00:39:55,810 --> 00:39:59,140 Teraz zrazu všetkých týchto reklamných knižnice 565 00:39:59,140 --> 00:40:02,970 sú stále prístup k týmto rovnakým informáciám. 566 00:40:02,970 --> 00:40:05,830 AD knižnice, keď sa pozriete na kód v reklamných knižniciach 567 00:40:05,830 --> 00:40:08,430 to, čo robia, je umiestnený v každom inzeráte knižnica hovorí 568 00:40:08,430 --> 00:40:11,340 "Má moje app mať oprávnenie získať polohu GPS?" 569 00:40:11,340 --> 00:40:14,890 "Ach, to? Dobre, povedz mi GPS polohu." 570 00:40:14,890 --> 00:40:16,620 Každý ad knižnica robí, 571 00:40:16,620 --> 00:40:19,740 a v prípade, že aplikácia nemá oprávnenie GPS 572 00:40:19,740 --> 00:40:23,460 nebude môcť dostať, ale ak áno, bude to dostať. 573 00:40:23,460 --> 00:40:26,240 To je miesto, kde obchodný model inzerátu knižníc 574 00:40:26,240 --> 00:40:31,160 je protichodný k súkromie užívateľov. 575 00:40:31,160 --> 00:40:34,980 A tam bolo štúdie, že tam bude hovoriť, ak viete, vek 576 00:40:34,980 --> 00:40:38,430 osoby a poznáte ak ich umiestnenie 577 00:40:38,430 --> 00:40:42,530 kde sa v noci spať, pretože máte svoje GPS súradnice 578 00:40:42,530 --> 00:40:46,030 zatiaľ čo oni možno spí, budete presne vedieť, kto tá osoba je 579 00:40:46,030 --> 00:40:50,230 pretože si môžete určiť, ktorý člen tejto domácnosti je osoba. 580 00:40:50,230 --> 00:40:54,780 Naozaj je to identifikácia pre inzerentov 581 00:40:54,780 --> 00:40:59,530 presne, kto ste, a vyzerá to, že to bolo legitímne. 582 00:40:59,530 --> 00:41:02,800 Chcem len môj streaming hudby, a to je jediný spôsob, ako ho získať. 583 00:41:02,800 --> 00:41:05,370 >> No, sme vystavení to. 584 00:41:05,370 --> 00:41:08,030 To sme písali v niekoľkých príspevkoch, 585 00:41:08,030 --> 00:41:13,280 a ukázalo sa, že niekto z časopisu Rolling Stone 586 00:41:13,280 --> 00:41:18,810 prečítajte si jednu z našich blogov a napísal svoje vlastné blog v Rolling Stone o tom, 587 00:41:18,810 --> 00:41:22,120 a hneď ďalší deň Pandora si myslel, že je to dobrý nápad 588 00:41:22,120 --> 00:41:27,600 odstrániť reklamné knižníc z ich použitia. 589 00:41:27,600 --> 00:41:31,270 Pokiaľ je mi známe, sú-oni len je treba pochváliť. 590 00:41:31,270 --> 00:41:35,770 Myslím, že sú len freemium typ aplikácie, ktorá to urobila. 591 00:41:35,770 --> 00:41:38,660 Všetky ostatné Freemium aplikácie majú rovnaký správanie, 592 00:41:38,660 --> 00:41:41,780 tak musíš premýšľať o tom, aký druh dát dávate 593 00:41:41,780 --> 00:41:48,330 Tieto Freemium aplikácie, pretože je to všetko deje k inzerentom. 594 00:41:48,330 --> 00:41:53,390 Praetorian tiež robil štúdiu o zdieľaných knižníc a povedal, 595 00:41:53,390 --> 00:41:57,100 "Poďme sa pozrieť na to, čo zdieľané knižnice sú top zdieľané knižnice," a to, že údaje. 596 00:41:57,100 --> 00:41:59,420 >> Analyzovali 53.000 aplikácií, 597 00:41:59,420 --> 00:42:01,900 a číslo 1 zdieľaná knižnica bola AdMob. 598 00:42:01,900 --> 00:42:06,060 Bolo to vlastne v 38% aplikácií tam, 599 00:42:06,060 --> 00:42:08,800 tak 38% z aplikácií, ktorú používate 600 00:42:08,800 --> 00:42:11,250 je pravdepodobné, zber vaše osobné údaje 601 00:42:11,250 --> 00:42:16,650 a odovzdať ho do reklamných sietí. 602 00:42:16,650 --> 00:42:19,350 Apache a Android bolo 8% a 6%, 603 00:42:19,350 --> 00:42:22,960 a potom tieto iné tie dole v spodnej časti, Google reklamy, Flurry, 604 00:42:22,960 --> 00:42:26,600 Mob City a Millennial Media, 605 00:42:26,600 --> 00:42:30,500 to všetko sú reklamné spoločnosti, a potom, je dosť zaujímavé, 606 00:42:30,500 --> 00:42:33,500 4% sa viaže v knižnici Facebook 607 00:42:33,500 --> 00:42:38,870 Pravdepodobne k tomu overovanie cez Facebook 608 00:42:38,870 --> 00:42:40,810 aby aplikácia mohla overiť na Facebook. 609 00:42:40,810 --> 00:42:44,660 Ale to tiež znamená, že spoločnosť Facebook ovláda kód 610 00:42:44,660 --> 00:42:49,010 že beží v 4% z Android mobilných aplikácií tam, 611 00:42:49,010 --> 00:42:53,490 a majú prístup k všetkým údajom, že aplikácia má oprávnenie sa dostať na. 612 00:42:53,490 --> 00:42:57,170 Facebook v podstate sa snaží predať reklamný priestor. 613 00:42:57,170 --> 00:43:00,120 To je ich obchodný model. 614 00:43:00,120 --> 00:43:02,920 >> Keď sa pozriete na celý tento ekosystém s týmito oprávneniami 615 00:43:02,920 --> 00:43:07,740 a zdieľané knižnice začnete vidieť, že 616 00:43:07,740 --> 00:43:13,850 Máte veľa rizík v údajne legitímne aplikácie. 617 00:43:13,850 --> 00:43:19,360 Rovnaký podobné, čo sa stalo s Pandora 618 00:43:19,360 --> 00:43:22,340 Stalo sa aplikácia s názvom Cesta, 619 00:43:22,340 --> 00:43:27,660 a Path si mysleli, že sú ústretoví, priateľskí vývojári. 620 00:43:27,660 --> 00:43:32,160 Oni sa len snaží, aby vám skvelý užívateľský zážitok, 621 00:43:32,160 --> 00:43:37,810 a ukázalo sa, že bez vyzvania užívateľa, alebo užívateľ musí byť oboznámený, niečo, 622 00:43:37,810 --> 00:43:40,400 a to sa stalo na iPhone a Android, 623 00:43:40,400 --> 00:43:44,420 Pandora app bola na iPhone a Android- 624 00:43:44,420 --> 00:43:48,890 že žiadosť Cesta bola chytil celý adresár 625 00:43:48,890 --> 00:43:52,830 a nahrať ju do cesty vo chvíli, kedy ste nainštalovali a spustili aplikáciu, 626 00:43:52,830 --> 00:43:55,840 a nepovedal ti o tom. 627 00:43:55,840 --> 00:43:58,750 Mysleli si, že to bolo naozaj užitočné pre vás 628 00:43:58,750 --> 00:44:04,040 aby bolo možné zdieľať so všetkými ľuďmi vo vašom adresári 629 00:44:04,040 --> 00:44:06,920 že ste pomocou aplikácie Path. 630 00:44:06,920 --> 00:44:09,490 >> No, samozrejme Cesta myslel, že toto bolo skvelé pre ich spoločnosť. 631 00:44:09,490 --> 00:44:13,510 Nie je to tak veľký užívateľmi. 632 00:44:13,510 --> 00:44:19,020 Musíte si myslieť, že to je jedna vec, pokiaľ možno teenager 633 00:44:19,020 --> 00:44:23,700 sa pomocou tejto aplikácie a ich desiatky priateľov sú tam, 634 00:44:23,700 --> 00:44:29,360 ale čo keď je to generálny riaditeľ spoločnosti, ktorá inštaluje cesta 635 00:44:29,360 --> 00:44:33,170 a potom zrazu ich celého adresára je tam? 636 00:44:33,170 --> 00:44:38,310 Budeš mať veľa potenciálne cenné kontaktné informácie 637 00:44:38,310 --> 00:44:40,920 pre mnoho ľudí. 638 00:44:40,920 --> 00:44:44,500 Reportér z New York Times, mali by ste byť schopní získať telefónne číslo 639 00:44:44,500 --> 00:44:47,380 bývalých prezidentov z ich adresára, 640 00:44:47,380 --> 00:44:54,780 tak samozrejme veľa citlivých informácií je prevedená s niečím, ako je tento. 641 00:44:54,780 --> 00:44:58,090 Tam bola taká veľká klapka o tom, že cesta sa ospravedlnil. 642 00:44:58,090 --> 00:45:01,610 Oni zmenili si ich aplikáciu, a to dokonca aj dopad Apple. 643 00:45:01,610 --> 00:45:06,950 Povedal, Apple, "Chystáme sa nútiť app dodávateľa vyzvať užívateľa 644 00:45:06,950 --> 00:45:12,650 v prípade, že sa chystáte zbierať celý svoj adresár. " 645 00:45:12,650 --> 00:45:15,360 >> Vyzerá to, že to, čo sa tu deje, je 646 00:45:15,360 --> 00:45:19,430 keď je tu jeden veľký porušenie súkromia a to robí tlače 647 00:45:19,430 --> 00:45:21,680 vidíme zmenu tam vonku. 648 00:45:21,680 --> 00:45:23,230 Ale samozrejme, je tu ďalšie veci tam vonku. 649 00:45:23,230 --> 00:45:27,440 Aplikácie LinkedIn žne svoje záznamy kalendára, 650 00:45:27,440 --> 00:45:34,530 ale Apple nerobí užívateľ vyzvaný o tom. 651 00:45:34,530 --> 00:45:38,030 Záznamy v kalendári môžu mať citlivé informácie v nich taky. 652 00:45:38,030 --> 00:45:40,000 Kam sa chystáte na čiaru? 653 00:45:40,000 --> 00:45:43,960 To je naozaj druh vyvíjajúci miesto 654 00:45:43,960 --> 00:45:47,640 tam, kde to naozaj nie je dobré štandardné vonku 655 00:45:47,640 --> 00:45:51,990 pre užívateľa k pochopeniu, keď sa ich informácie bude v ohrození 656 00:45:51,990 --> 00:45:57,820 a keď budeš vedieť, že je prijímaná. 657 00:45:57,820 --> 00:46:03,040 Písali sme o aplikácii na Veracode názvom Adios, 658 00:46:03,040 --> 00:46:08,350 a v podstate je povolené môžete upozorniť aplikáciu na vašom adresári iTunes 659 00:46:08,350 --> 00:46:12,550 a pozrieť sa na všetky žiadosti, ktoré boli úrodu svoje celé adresáre. 660 00:46:12,550 --> 00:46:19,760 A ako môžete vidieť na tomto zozname tu, Angry Birds, 661 00:46:19,760 --> 00:46:21,590 AIM, AROUND. 662 00:46:21,590 --> 00:46:24,050 Prečo Angry Birds potrebujete adresára? 663 00:46:24,050 --> 00:46:29,160 Ja neviem, ale to robí nejako. 664 00:46:29,160 --> 00:46:32,310 >> To je niečo, čo mnoho, mnoho aplikácií robiť. 665 00:46:32,310 --> 00:46:34,780 Môžete si prezrieť kód pre tento. 666 00:46:34,780 --> 00:46:38,660 K dispozícii je dobre definované rozhranie API pre iPhone, Android a BlackBerry 667 00:46:38,660 --> 00:46:42,120 aby sa v adresári. 668 00:46:42,120 --> 00:46:48,520 Môžete naozaj ľahko kontrolovať na to, a to je to, čo sme urobili v našom Adios aplikácii. 669 00:46:48,520 --> 00:46:52,320 Ďalšie kategórie, Nebezpečný Sensitive Data Storage, 670 00:46:52,320 --> 00:46:55,670 je niečo, kde vývojári brať niečo ako pin alebo číslo účtu 671 00:46:55,670 --> 00:46:58,530 alebo heslá a uložte ich v jasnej na zariadení. 672 00:46:58,530 --> 00:47:02,310 Ešte horšie je, môže sa ukladať je v oblasti na telefóne 673 00:47:02,310 --> 00:47:06,820 ktorý je celosvetovo prístupný, rovnako ako na SD kartu. 674 00:47:06,820 --> 00:47:11,320 Vidíte to častejšie na Androide, pretože Android umožňuje na pamäťovú kartu SD. 675 00:47:11,320 --> 00:47:13,200 IPhone zariadenie nie. 676 00:47:13,200 --> 00:47:17,900 Ale my sme ešte videli to stalo v aplikácii Citigroup. 677 00:47:17,900 --> 00:47:25,450 Ich on-line bankové aplikácie uložená čísla účtov neisto, 678 00:47:25,450 --> 00:47:28,120 práve jasné, takže ak ste stratili zariadenie, 679 00:47:28,120 --> 00:47:30,670 v podstate ste stratili svoj bankový účet. 680 00:47:30,670 --> 00:47:36,000 To je dôvod, prečo som osobne nerobím bankovníctva na mojom iPhone. 681 00:47:36,000 --> 00:47:43,710 Myslím, že teraz je to príliš riskantné robiť takéto aktivity. 682 00:47:43,710 --> 00:47:45,950 >> Skype urobil to isté. 683 00:47:45,950 --> 00:47:49,870 Skype, samozrejme, má zostatok na účte, užívateľské meno a heslo 684 00:47:49,870 --> 00:47:51,030 že prístup k tejto rovnováhy. 685 00:47:51,030 --> 00:48:00,080 Boli ukladanie všetky tieto informácie v jasnej, na mobilnom zariadení. 686 00:48:00,080 --> 00:48:05,760 Mám niekoľko príkladov tu o vytváranie súborov 687 00:48:05,760 --> 00:48:10,310 že nemajú správne oprávnenie alebo zápis na disk 688 00:48:10,310 --> 00:48:17,260 a nemajú akékoľvek šifrovanie stalo za to. 689 00:48:17,260 --> 00:48:20,190 Táto ďalšia oblasť, Nebezpečný Sensitive Prenos dát, 690 00:48:20,190 --> 00:48:24,450 Som sa zmieňoval o to niekoľkokrát, a pretože verejné Wi-Fi pripojenie na internet 691 00:48:24,450 --> 00:48:27,770 to je niečo, čo Apps nevyhnutne potrebujú k tomu, 692 00:48:27,770 --> 00:48:31,250 a to je asi to, čo vidíme pokaziť najviac. 693 00:48:31,250 --> 00:48:34,920 Povedal by som, naozaj, myslím, že mám aktuálne dáta, 694 00:48:34,920 --> 00:48:38,120 ale je to blízko na polovicu mobilných aplikácií 695 00:48:38,120 --> 00:48:41,780 skrutka sa robí SSL. 696 00:48:41,780 --> 00:48:43,910 Oni jednoducho nemajú správne používať rozhrania API. 697 00:48:43,910 --> 00:48:47,970 Myslím, že všetko, čo musíš urobiť, je riadiť sa pokynmi a používať rozhranie API, 698 00:48:47,970 --> 00:48:54,720 ale oni sa veci, ako je nekontroluje, či je neplatný certifikát na druhom konci, 699 00:48:54,720 --> 00:49:02,120 nie skontrolujte, či je druhý koniec sa snaží urobiť protokol downgrade útoku. 700 00:49:02,120 --> 00:49:07,200 >> Vývojári, chcú, aby si ich zaškrtávacie políčko, hneď? 701 00:49:07,200 --> 00:49:11,910 Ich požiadavka je použiť na predaj. Už používal toto na predaj. 702 00:49:11,910 --> 00:49:14,800 Táto požiadavka je nepoužívať to bezpečne predať, 703 00:49:14,800 --> 00:49:19,680 a tak to je dôvod, prečo všetky aplikácie, ktoré používajú protokol SSL pre zabezpečenie dát 704 00:49:19,680 --> 00:49:23,470 ako je to sa prenáša mimo zariadenie skutočne musí byť kontrolované 705 00:49:23,470 --> 00:49:28,950 Uistite sa, že bol správne implementovaný. 706 00:49:28,950 --> 00:49:32,850 A tu mám niekoľko príkladov, kde môžete vidieť aplikácie 707 00:49:32,850 --> 00:49:37,400 môžu byť pomocou protokolu HTTP miesto HTTPS. 708 00:49:37,400 --> 00:49:40,510 V niektorých prípadoch aplikácie spadne späť do HTTP 709 00:49:40,510 --> 00:49:44,250 ak HTTPS nefunguje. 710 00:49:44,250 --> 00:49:49,070 Mám ďalší hovor tu na Androide, kde som vypnutú kontrolou certifikátu, 711 00:49:49,070 --> 00:49:51,700 takže sa môže stať, útok man-in-the-middle. 712 00:49:51,700 --> 00:49:56,370 Budú prijímané neplatný certifikát. 713 00:49:56,370 --> 00:50:01,920 Jedná sa o všetky prípady, kedy útočníci sa bude môcť dostať na 714 00:50:01,920 --> 00:50:07,150 rovnakej Wi-Fi pripojenie ako užívateľ a prístup všetkých dát 715 00:50:07,150 --> 00:50:11,650 ktorý je odosielaný cez internet. 716 00:50:11,650 --> 00:50:15,970 >> A konečne posledná kategória I tu je napevno heslo a kľúče. 717 00:50:15,970 --> 00:50:21,470 V skutočnosti sme vidieť mnoho vývojárov používať rovnaké kódovanie štýl 718 00:50:21,470 --> 00:50:25,900 že oni robili, keď stavali web serverových aplikácií, 719 00:50:25,900 --> 00:50:29,700 takže staviate Java aplikačný server, a oni kódujete kľúč. 720 00:50:29,700 --> 00:50:31,940 No, keď staviate serverovú aplikáciu, jo, 721 00:50:31,940 --> 00:50:34,240 kódujete kľúč nie je dobrý nápad. 722 00:50:34,240 --> 00:50:36,290 To je ťažké zmeniť. 723 00:50:36,290 --> 00:50:40,700 Ale nie je to tak zlé, na strane servera, pretože kto má prístup na strane servera? 724 00:50:40,700 --> 00:50:43,140 Iba správcovia. 725 00:50:43,140 --> 00:50:48,100 Ale ak budete mať rovnaký kód a môžete ju vyleje na mobilné aplikácie 726 00:50:48,100 --> 00:50:52,550 Teraz každý, kto má, že mobilné aplikácie má prístup k tomuto hardcoded kľúč, 727 00:50:52,550 --> 00:50:56,380 a my sme vlastne vidieť mnohokrát, a mám nejaké štatistiky 728 00:50:56,380 --> 00:51:00,920 na tom, ako často vidíme to stalo. 729 00:51:00,920 --> 00:51:04,940 V skutočnosti to bolo v príklade kóde, ktorý MasterCard zverejneného 730 00:51:04,940 --> 00:51:06,850 o tom, ako využiť ich služieb. 731 00:51:06,850 --> 00:51:11,860 Príklad kódu ukazuje, ako by ste jednoducho vziať heslo 732 00:51:11,860 --> 00:51:14,850 a vložte ho do hardcoded reťazca tam, 733 00:51:14,850 --> 00:51:19,380 a my vieme, ako vývojári radi skopírovať a vložiť kód, ktorý umiestnite 734 00:51:19,380 --> 00:51:22,360 keď sa snažíte niečo urobiť, tak si skopírujte a vložte fragment kódu 735 00:51:22,360 --> 00:51:28,450 že dal ako príklad kódu, a máte neistý aplikácie. 736 00:51:28,450 --> 00:51:31,490 >> A tu máme pár príkladov. 737 00:51:31,490 --> 00:51:35,840 Prvý z nich je tá, ktorú sme vidieť veľa, kde sa napevno 738 00:51:35,840 --> 00:51:40,510 dát priamo do adresy URL, ktorá sa dostane poslal. 739 00:51:40,510 --> 00:51:45,120 Niekedy vidíme reťazec password = heslo. 740 00:51:45,120 --> 00:51:49,060 To je celkom jednoduché odhaliť, alebo reťazec heslo na BlackBerry a Android. 741 00:51:49,060 --> 00:51:53,680 Je to vlastne celkom jednoduché skontrolovať, pretože takmer vždy 742 00:51:53,680 --> 00:51:57,030 mená developer premenných, ktoré sa držia hesla 743 00:51:57,030 --> 00:52:02,290 nejaká zmena hesla. 744 00:52:02,290 --> 00:52:05,200 Zmienil som sa, že budeme robiť statickej analýzy na Veracode, 745 00:52:05,200 --> 00:52:11,790 takže sme analyzovali niekoľko stoviek aplikácií Android a iOS. 746 00:52:11,790 --> 00:52:15,160 Vytvorili sme všetky modely z nich, a sme schopní ich kontrolovať 747 00:52:15,160 --> 00:52:19,280 pre rôzne zraniteľnosti, najmä zraniteľnosť som hovoril, 748 00:52:19,280 --> 00:52:21,050 a mám niektoré údaje tu. 749 00:52:21,050 --> 00:52:24,320 68,5% z Android aplikácií sme sa pozreli na 750 00:52:24,320 --> 00:52:28,590 porušil kryptografický kód, 751 00:52:28,590 --> 00:52:33,240 ktoré pre nás, nemôžeme zistiť, či ste so svojou vlastnou šifrovacie rutiny, 752 00:52:33,240 --> 00:52:38,980 nie, že je to dobrý nápad, ale je to vlastne s použitím publikovaných rozhrania API 753 00:52:38,980 --> 00:52:42,530 ktoré sú na platforme, ale robiť je takým spôsobom, 754 00:52:42,530 --> 00:52:46,680 že crypto by byť zraniteľný, 68.5. 755 00:52:46,680 --> 00:52:49,870 A to je pre ľudí, ktorí sú nám zašlite svoje žiadosti v skutočnosti, pretože 756 00:52:49,870 --> 00:52:53,730 si myslí, že je to dobrý nápad urobiť testovanie zabezpečenia. 757 00:52:53,730 --> 00:52:56,960 Jedná sa už ľudia, ktorí sú pravdepodobne bezpečne myslenia, 758 00:52:56,960 --> 00:52:59,540 takže je to asi ešte horšie. 759 00:52:59,540 --> 00:53:02,690 >> Nehovoril som o linky injekčného podávania ovládanie. 760 00:53:02,690 --> 00:53:07,640 Je to niečo, čo skontrolovať, ale to nie je tak riskantné záležitosť. 761 00:53:07,640 --> 00:53:15,390 Úniku informácií, to je miesto, kde sa citlivé dáta odosielané mimo zariadenia. 762 00:53:15,390 --> 00:53:19,270 Zistili sme, že v 40% žiadostí. 763 00:53:19,270 --> 00:53:23,540 Čas a štát, to sú otázky, závod typu stav, zvyčajne dosť ťažko využiť, 764 00:53:23,540 --> 00:53:26,170 tak som sa o tom hovoriť, ale my sme sa na to pozeral. 765 00:53:26,170 --> 00:53:28,750 23% malo problémy s SQL injection. 766 00:53:28,750 --> 00:53:32,020 Veľa ľudí nevie, že mnoho aplikácií 767 00:53:32,020 --> 00:53:35,880 použiť malý malý SQL databázy na svojom zadnom konci pre ukladanie dát. 768 00:53:35,880 --> 00:53:40,430 No, v prípade, že údaje, ktoré ste chytil cez sieť 769 00:53:40,430 --> 00:53:43,800 má SQL injection útok reťazca v ňom 770 00:53:43,800 --> 00:53:45,970 niekto môže ohroziť zariadenia cez to, 771 00:53:45,970 --> 00:53:49,800 a tak myslím, že sme si asi 40% webových aplikácií majú tento problém, 772 00:53:49,800 --> 00:53:52,840 , Čo je veľký problém epidémie. 773 00:53:52,840 --> 00:53:55,740 Nájdeme to 23% času v mobilných aplikáciách 774 00:53:55,740 --> 00:54:02,030 a to pravdepodobne preto, že mnoho ďalších webových aplikácií pomocou SQL, ako mobilné telefóny. 775 00:54:02,030 --> 00:54:05,580 >> A potom sme sa ešte pozrieť na nejaké cross-site scripting, problémy autorizácie, 776 00:54:05,580 --> 00:54:09,400 a potom poverenia pre správu, ktorý je miesto, kde máte hardcoded heslo. 777 00:54:09,400 --> 00:54:14,540 V 5% žiadostí vidíme, že. 778 00:54:14,540 --> 00:54:17,970 A potom máme nejaké údaje o iOS. 779 00:54:17,970 --> 00:54:20,180 81% malo problémy spracovania chýb. 780 00:54:20,180 --> 00:54:23,130 To je väčší problém kvality kódu, 781 00:54:23,130 --> 00:54:28,010 ale 67% malo kryptografické problémy, takže nie je tak zlé, ako Android. 782 00:54:28,010 --> 00:54:32,440 Možno, že API je trochu jednoduchšie, že príklad kódy trochu lepšie na iOS. 783 00:54:32,440 --> 00:54:35,420 Ale stále veľmi vysoké percento. 784 00:54:35,420 --> 00:54:39,040 Mali sme 54% sa úniku informácií, 785 00:54:39,040 --> 00:54:42,080 asi 30% s chybami správy vyrovnávacej pamäti. 786 00:54:42,080 --> 00:54:45,930 To je miest, kde by mohli byť problém poškodenie pamäti. 787 00:54:45,930 --> 00:54:50,350 Ukazuje sa, že to nie je tak veľký problém pre využitie 788 00:54:50,350 --> 00:54:56,450 na iOS, pretože celý kód musí byť podpísaná, 789 00:54:56,450 --> 00:55:02,210 takže je to ťažké pre útočníkovi spustiť ľubovoľný kód na iOS. 790 00:55:02,210 --> 00:55:07,880 Kvalita kódu, prehliadania adresárov, ale potom vedenie tu na 14,6% poverenia, 791 00:55:07,880 --> 00:55:09,250 tak horší, než na Android. 792 00:55:09,250 --> 00:55:13,240 Máme ľudia, ktorí nie sú správne spracovanie hesla. 793 00:55:13,240 --> 00:55:15,790 A potom numerických chýb a buffer overflow, 794 00:55:15,790 --> 00:55:22,680 tie sú viac bude kvalitné Kód problémy na iOS. 795 00:55:22,680 --> 00:55:26,110 >> Tak to bolo pre moje prezentáciu. Neviem, či sme mimo čas, alebo nie. 796 00:55:26,110 --> 00:55:29,540 Ja neviem, či tam je nejaké otázky. 797 00:55:29,540 --> 00:55:33,220 [Muž] Rýchly otázku okolo fragmentácie a Android Market. 798 00:55:33,220 --> 00:55:36,240 Apple aspoň vlastné zaplátanie. 799 00:55:36,240 --> 00:55:40,780 Robia dobrú prácu dostať ho tam, zatiaľ čo menej, takže v Android priestore. 800 00:55:40,780 --> 00:55:44,280 Skoro si treba útek z väzenia váš telefón stále aktuálne 801 00:55:44,280 --> 00:55:46,660 s aktuálnou verziou Androidu. 802 00:55:46,660 --> 00:55:50,960 Jo, to je obrovský problém, a tak, ak si myslíte, že o- 803 00:55:50,960 --> 00:55:52,280 [Muž] Prečo nemôžeš to opakovať? 804 00:55:52,280 --> 00:55:55,610 >> Oh, jo, takže otázka je to, čo o fragmentácii 805 00:55:55,610 --> 00:56:00,410 operačného systému na platforme Android? 806 00:56:00,410 --> 00:56:05,890 Ako to, že vplyv na rizikovosť týchto zariadení? 807 00:56:05,890 --> 00:56:09,700 A v skutočnosti je obrovský problém, pretože to, čo sa stane, je 808 00:56:09,700 --> 00:56:15,110 staršie zariadenia, keď niekto príde s jailbreak pre dané zariadenie, 809 00:56:15,110 --> 00:56:19,960 v podstate to je zvýšenie úrovne oprávnenia, a až kým sa systém je aktualizovaný 810 00:56:19,960 --> 00:56:25,350 akýkoľvek malware potom môžete použiť tento problém zabezpečenia, aby úplne ohroziť zariadenie, 811 00:56:25,350 --> 00:56:30,200 a to, čo vidíme na Android je, aby si nový operačný systém 812 00:56:30,200 --> 00:56:34,690 Google má dať z operačného systému, a potom sa na výrobcu hardvéru 813 00:56:34,690 --> 00:56:39,390 musí ju prispôsobiť, a potom je dopravca ju upraviť a doručiť ju. 814 00:56:39,390 --> 00:56:43,070 Máte v podstate tri pohyblivé tu dielov, 815 00:56:43,070 --> 00:56:47,210 a to otáčaním na to, že dopravcovia nezaujíma, 816 00:56:47,210 --> 00:56:50,400 a výrobcovia hardvéru nezaujíma, a Google nie je ich podpichovanie dosť 817 00:56:50,400 --> 00:56:54,430 niečo urobiť, takže v podstate viac ako polovica zariadení tam, 818 00:56:54,430 --> 00:57:00,590 majú operačné systémy, ktoré majú tieto výsady eskalácie zraniteľnosti v nich, 819 00:57:00,590 --> 00:57:08,440 a tak ak máte malware vo vašom zariadení so systémom Android je to oveľa väčší problém. 820 00:57:08,440 --> 00:57:10,350 >> Dobre, ďakujem vám. 821 00:57:10,350 --> 00:57:12,310 [Potlesk] 822 00:57:12,310 --> 00:57:14,310 [CS50.TV]