1 00:00:00,000 --> 00:00:02,610 >> [Seminar] [pagtatanggol Sa likod ng Device: 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 [Ito ay CS50.] [CS50.TV] 4 00:00:07,830 --> 00:00:10,360 >> Magandang hapon. Ang pangalan ko ay Chris Wysopal. 5 00:00:10,360 --> 00:00:13,360 Ako ang CTO at co-founder ng Veracode. 6 00:00:13,360 --> 00:00:15,880 Veracode ay isang kompanya ng seguridad application. 7 00:00:15,880 --> 00:00:18,230 Subukan namin ang lahat ng mga uri ng mga iba't ibang mga application, 8 00:00:18,230 --> 00:00:25,060 at kung ano pupuntahan ko na makipag-usap tungkol sa ngayon ay seguridad sa mobile application. 9 00:00:25,060 --> 00:00:28,630 Ang aking background ay ko ang paggawa seguridad pananaliksik 10 00:00:28,630 --> 00:00:31,970 para sa isang napaka-haba ng panahon, marahil tungkol sa hangga't ang sinuman. 11 00:00:31,970 --> 00:00:35,000 Sinimulan ko sa kalagitnaan mula sa 90s, 12 00:00:35,000 --> 00:00:37,370 at ito ay isang oras na iyon ay medyo kawili-wiling dahil 13 00:00:37,370 --> 00:00:39,220 nagkaroon kami ng pagbabago tularan sa kalagitnaan mula sa 90s. 14 00:00:39,220 --> 00:00:43,520 Ang lahat ng mga computer ng isang biglaang lahat ay baluktot up sa internet, 15 00:00:43,520 --> 00:00:46,550 at pagkatapos ay nagkaroon kami ng Beginnings ng mga web application, 16 00:00:46,550 --> 00:00:49,330 at iyon ang kung ano ang aking nakatutok sa marami pagkatapos. 17 00:00:49,330 --> 00:00:51,160 Ito ay kawili-wili. 18 00:00:51,160 --> 00:00:53,930 Ngayon kami ay may isa pang pagbabago tularan nangyayari sa computing, 19 00:00:53,930 --> 00:00:58,710 kung saan ay ang shift sa mga mobile application. 20 00:00:58,710 --> 00:01:03,680 >> Sa tingin ko ito ay uri ng isang katulad na oras pagkatapos ito ay nasa late mula sa 90s 21 00:01:03,680 --> 00:01:07,650 kung kailan namin sinisiyasat ang mga web application at paghahanap ng mga depekto tulad ng 22 00:01:07,650 --> 00:01:11,800 Mga error sa pamamahala ng session at SQL iniksyon 23 00:01:11,800 --> 00:01:14,940 kung saan talaga ay hindi umiiral ang bago, at lahat ng isang biglaang sila ay lahat ng dako 24 00:01:14,940 --> 00:01:19,360 sa mga web application, at ngayon ng maraming oras ang gagastusin ko 25 00:01:19,360 --> 00:01:27,950 tumitingin sa mga mobile application at tumitingin sa kung ano ang nangyayari sa labas doon sa ligaw. 26 00:01:27,950 --> 00:01:32,060 Mga application na mobile ay talagang pagpunta sa maging ang nangingibabaw platform computing, 27 00:01:32,060 --> 00:01:35,060 kaya talagang kailangan naming gastusin ng maraming oras kung ikaw ay sa industriya ng seguridad 28 00:01:35,060 --> 00:01:39,280 tumututok sa mga web application. 29 00:01:39,280 --> 00:01:43,420 Nagkaroon ng mga 29000000000 mobile apps na-download sa 2011. 30 00:01:43,420 --> 00:01:47,920 Ito ay hinulaang upang maging 76000000000 apps sa pamamagitan ng 2014. 31 00:01:47,920 --> 00:01:54,040 Mayroong 686,000,000 na aparato na ay pagpunta sa bilhin ito taon, 32 00:01:54,040 --> 00:01:57,060 kaya ito ay kung saan ang mga tao ay pagpunta sa ginagawa 33 00:01:57,060 --> 00:01:59,600  ang karamihan ng kanilang mga client computing pasulong. 34 00:01:59,600 --> 00:02:04,220 >> Ako ay pakikipag-usap sa isang vice president sa Fidelity Investments 35 00:02:04,220 --> 00:02:08,780 ng ilang mga buwan na nakalipas, at sinabi niya nakita nila lamang ng mas maraming trapiko 36 00:02:08,780 --> 00:02:12,610 paggawa mga financial transactions mula sa kanilang customer base 37 00:02:12,610 --> 00:02:16,230 sa kanilang mga application sa mobile kaysa sa kanilang website, 38 00:02:16,230 --> 00:02:20,610 kaya isang karaniwang paggamit para sa Web sa nakaraan ay naging 39 00:02:20,610 --> 00:02:23,800 pagsuri ng iyong mga stock quote, sa pamamahala ng iyong portfolio, 40 00:02:23,800 --> 00:02:28,060 at kami ay aktwal na nakikita na sa 2012 lumipat sa paglipas ng 41 00:02:28,060 --> 00:02:30,960 na maging mas nangingibabaw sa mga mobile platform. 42 00:02:30,960 --> 00:02:34,530 Tiyak kung may pupuntahan maging anumang kriminal na aktibidad, 43 00:02:34,530 --> 00:02:38,900 anumang mga nakahahamak na aktibidad, ito ay pagpunta sa simulan na nakatuon sa mga mobile platform 44 00:02:38,900 --> 00:02:44,210 sa paglipas ng panahon bilang mga tao lumipat sa na. 45 00:02:44,210 --> 00:02:48,320 Kung tumingin ka sa mobile platform, 46 00:02:48,320 --> 00:02:54,380 upang tumingin sa mga panganib ng platform ito ay kapaki-pakinabang upang masira ito down sa mga iba't ibang mga layer, 47 00:02:54,380 --> 00:02:59,010 tulad lamang ng gusto mong gawin ito sa isang desktop computer, 48 00:02:59,010 --> 00:03:02,860 at sa tingin mo tungkol sa iba't ibang mga layer, software, operating system, 49 00:03:02,860 --> 00:03:07,730 layer network, hardware layer, at siyempre, may mga kahinaan sa lahat ng mga layer. 50 00:03:07,730 --> 00:03:10,510 >> Ang parehong bagay ang mangyayari sa mga mobile. 51 00:03:10,510 --> 00:03:14,880 Ngunit sa mobile, tila na ang ilan sa mga layer ay mas masahol off. 52 00:03:14,880 --> 00:03:19,840 Para sa isa, ang layer ng network ay mas may problemang sa mga mobile 53 00:03:19,840 --> 00:03:25,650 dahil maraming mga tao ay may sa kanilang mga opisina o sa bahay 54 00:03:25,650 --> 00:03:30,780 wired na koneksyon o mayroon silang secure na Wi-Fi na koneksyon, 55 00:03:30,780 --> 00:03:36,530 at na may maraming mga mobile na mga aparato ikaw ay malinaw naman sa labas ng bahay 56 00:03:36,530 --> 00:03:40,520 o sa labas ng tanggapan ng maraming, at kung gumagamit ka ng Wi-Fi doon 57 00:03:40,520 --> 00:03:42,820 sa iyo ay maaaring gamit ang isang hindi secure na Wi-Fi connection, 58 00:03:42,820 --> 00:03:45,570 isang bagay na ang isang pampublikong koneksyon sa Wi-Fi, 59 00:03:45,570 --> 00:03:48,840 kaya kapag sa tingin namin tungkol sa mobile apps na mayroon kami sa isinasaalang-alang ng 60 00:03:48,840 --> 00:03:53,770 na ang kapaligiran ng network ay riskier para sa mga application na iyon 61 00:03:53,770 --> 00:03:57,640 kapag Wi-Fi ay ginagamit. 62 00:03:57,640 --> 00:04:02,410 At kapag nakakuha ako sa higit pa ng mga panganib sa mobile application 63 00:04:02,410 --> 00:04:04,910 makikita mo kung bakit na mas mahalaga. 64 00:04:04,910 --> 00:04:09,710 May mga panganib sa antas ng hardware sa mga mobile device. 65 00:04:09,710 --> 00:04:11,670 Ito ay isang lugar ng patuloy na pananaliksik. 66 00:04:11,670 --> 00:04:15,910 Mga Tao tumawag sa mga pag-atake ng broadband o pag-atake baseband 67 00:04:15,910 --> 00:04:21,870 kung saan ka na umaatake ang firmware na nakikinig sa radyo. 68 00:04:21,870 --> 00:04:25,430 >> Ang mga ito ay talagang katakot-takot na pag-atake dahil 69 00:04:25,430 --> 00:04:27,280 ang gumagamit ay hindi na kailangang gumawa ng kahit ano. 70 00:04:27,280 --> 00:04:30,760 Maaari ninyong pindutin ng maraming mga aparato sa loob ng hanay ng RF 71 00:04:30,760 --> 00:04:36,690 nang sabay-sabay, at ito ay tila tulad ng kailanman mga bula up na ito pananaliksik 72 00:04:36,690 --> 00:04:40,750 ito ay makakakuha ng mabilis na naiuri kung saan 73 00:04:40,750 --> 00:04:46,600 mga tao salimbay sa paligid at sabihin, "Narito, sabihin sa amin ang tungkol sa na, at mangyaring ihinto ang pakikipag-usap tungkol dito." 74 00:04:46,600 --> 00:04:49,460 Mayroong ilang mga pananaliksik ng pagpunta sa sa broadband area, 75 00:04:49,460 --> 00:04:51,980 ngunit tila upang maging napaka-katahimikan katahimikan. 76 00:04:51,980 --> 00:04:56,910 Sa tingin ko ito ay higit pa sa isang uri ng estado bansa ng pananaliksik na ang nangyayari sa. 77 00:04:56,910 --> 00:05:02,140 Isang lugar ng aktibong pananaliksik, bagaman, ay ang layer ng operating system, 78 00:05:02,140 --> 00:05:08,910 at muli, ito ay iba kaysa sa desktop computing mundo 79 00:05:08,910 --> 00:05:14,840 dahil sa mobile space mayroon kang mga koponan ng mga tao na tinatawag na jailbreakers, 80 00:05:14,840 --> 00:05:18,670 at jailbreakers ay iba kaysa sa regular na mga mananaliksik kahinaan. 81 00:05:18,670 --> 00:05:21,970 Sila ay sinusubukan upang mahanap ang mga kahinaan sa operating system, 82 00:05:21,970 --> 00:05:27,000 ngunit ang kadahilanan nila sinusubukan upang mahanap ang mga kahinaan ay hindi upang 83 00:05:27,000 --> 00:05:31,810 masira sa makina ng ibang tao at ikompromiso ito. 84 00:05:31,810 --> 00:05:34,280 Ito ay upang buksan sa kanilang mga sariling computer. 85 00:05:34,280 --> 00:05:38,820 >> Gusto nilang masira sa kanilang sariling mobile, baguhin operating system kanilang sariling mga mobile 86 00:05:38,820 --> 00:05:41,050 gayon ay maaari silang patakbuhin ang mga application ng kanilang pinili 87 00:05:41,050 --> 00:05:44,510 at baguhin ang mga bagay na may ganap na administrative na mga pahintulot, 88 00:05:44,510 --> 00:05:49,050 at sila ay hindi nais na sabihin ng vendor tungkol sa ito. 89 00:05:49,050 --> 00:05:52,960 Hindi nila ka bang isang seguridad tagapagpananaliksik na isang puting sumbrero seguridad tagapagpananaliksik 90 00:05:52,960 --> 00:05:56,600 na kung saan ay pagpunta sa gawin responsable pagbubunyag at sabihin ng vendor tungkol dito. 91 00:05:56,600 --> 00:06:01,270 Gusto nila upang gawin ito pananaliksik, at nais nilang talagang i-publish ito 92 00:06:01,270 --> 00:06:06,400 sa isang maningning na tagumpay o isang rootkit o isang jailbreak code, 93 00:06:06,400 --> 00:06:10,010 at nais nilang gawin ito madiskarteng, tulad ng karapatan pagkatapos 94 00:06:10,010 --> 00:06:13,570 ang ships vendor ang bagong operating system. 95 00:06:13,570 --> 00:06:16,350 Mayroon kang ito adversarial relasyon 96 00:06:16,350 --> 00:06:19,000 may mga kahinaan sa OS na antas sa mobile, 97 00:06:19,000 --> 00:06:23,150 na sa palagay ko ay medyo kawili-wiling, at isang lugar na nakikita namin ito 98 00:06:23,150 --> 00:06:29,210 ay ito ay ginagawang kaya na mayroong magandang nai-publish na maningning na tagumpay code out doon 99 00:06:29,210 --> 00:06:31,750 para sa mga kahinaan sa kernel antas, 100 00:06:31,750 --> 00:06:35,040 at nakakita kami mga aktwal na gagamitin ng mga manunulat ng malware. 101 00:06:35,040 --> 00:06:38,450 Ito ay isang Medyo naiiba kaysa sa PC mundo. 102 00:06:38,450 --> 00:06:42,530 At pagkatapos ay ang huling layer ay ang pinakamataas na layer, ang layer ng application. 103 00:06:42,530 --> 00:06:45,250 Iyon ay kung ano pupuntahan ko na makipag-usap tungkol sa ngayon. 104 00:06:45,250 --> 00:06:48,970 >> Umiiral Ang iba pang mga layer, at ang iba pang mga layer maglaro sa ito, 105 00:06:48,970 --> 00:06:53,310 ngunit karamihan ay pupuntahan ko na makipag-usap tungkol sa kung ano ang nangyayari sa sa layer ng application 106 00:06:53,310 --> 00:06:55,560 kung saan code ay tumatakbo sa sandbox. 107 00:06:55,560 --> 00:06:58,670 Hindi nito ay may pribilehiyong administrative. 108 00:06:58,670 --> 00:07:02,170 Ito ay upang gamitin ang mga API ng aparato, 109 00:07:02,170 --> 00:07:06,970 ngunit pa rin, ng maraming nakahahamak na aktibidad at maraming panganib Maaari itong mangyari sa layer na 110 00:07:06,970 --> 00:07:09,220 dahil iyon ang layer na kung saan ang lahat ng impormasyon ay. 111 00:07:09,220 --> 00:07:12,330 Maaaring i-access Apps lahat ng mga impormasyon sa mga aparato 112 00:07:12,330 --> 00:07:15,390 kung mayroon silang karapatan na mga pahintulot, 113 00:07:15,390 --> 00:07:17,540 at maaari silang ma-access ang iba't ibang mga sensor sa aparato, 114 00:07:17,540 --> 00:07:23,950 GPS sensor, mikropono, camera, kung ano ang mayroon ka. 115 00:07:23,950 --> 00:07:27,380 Kahit na kami ay lamang ng pakikipag-usap tungkol sa mga layer ng application 116 00:07:27,380 --> 00:07:33,700 mayroon kaming ng maraming panganib doon. 117 00:07:33,700 --> 00:07:38,450 Ang iba pang mga bagay na iba ang tungkol sa kapaligiran mobile 118 00:07:38,450 --> 00:07:45,060 ay ang lahat ng mga operating system na mga manlalaro, maging ito BlackBerry o Android 119 00:07:45,060 --> 00:07:53,410 o iOS o Windows mobile, lahat ng mga ito ay may pinong haspe pahintulot modelo, 120 00:07:53,410 --> 00:07:56,990 at ito ay isa sa mga paraan na kanilang inilagay sa mga operating system 121 00:07:56,990 --> 00:08:01,230 ang ideya na ito ay hindi bilang peligroso bilang sa tingin mo. 122 00:08:01,230 --> 00:08:04,550 Kahit na mayroon ka ng lahat ng iyong mga contact sa doon, ang lahat ng iyong personal na impormasyon, 123 00:08:04,550 --> 00:08:09,080 mayroon kang ang iyong mga larawan, mayroon kang ang iyong lokasyon sa doon, 124 00:08:09,080 --> 00:08:14,820 naka-imbak ng iyong pin bangko para sa auto-login sa doon, ito ay ligtas dahil 125 00:08:14,820 --> 00:08:19,430 apps mayroon na magkaroon ng tiyak na mga pahintulot upang makakuha ng sa ilang mga bahagi 126 00:08:19,430 --> 00:08:25,080 ng impormasyon sa device, at ang gumagamit ay may sa ay bibigyan ng 127 00:08:25,080 --> 00:08:29,230 mga pahintulot at sabihin okay. 128 00:08:29,230 --> 00:08:32,590 >> Ang problema sa ito ay gumagamit ng palaging sabi ni okay. 129 00:08:32,590 --> 00:08:35,240 Bilang isang seguridad tao, alam ko maaari kang i-prompt ng gumagamit, 130 00:08:35,240 --> 00:08:40,100 sinasabi ng isang bagay na ganap na hindi maayos ay pagpunta sa mangyari, huwag nais mo itong mangyari? 131 00:08:40,100 --> 00:08:44,680 At kung ang mga ito ay apurahan o mayroong isang bagay na talagang nakakaakit sa kabilang bahagi ng iyon, 132 00:08:44,680 --> 00:08:47,760 tulad ng isang laro ay pagpunta sa mai-install na ito ay nai-naghihintay para sa, 133 00:08:47,760 --> 00:08:50,860 ang mga ito ay pagpunta sa i-click ang okay. 134 00:08:50,860 --> 00:08:56,630 Iyon ang dahilan kung bakit sinasabi ko sa aking mga slide dito ipaalam lamang sa akin fling ibon sa Baboy na, 135 00:08:56,630 --> 00:09:03,150 at maaari mong makita sa slide dito mayroong mga halimbawa ng isang BlackBerry pahintulot na kahon. 136 00:09:03,150 --> 00:09:05,990 Sinasabi nito "Mangyari lamang na itakda ang mga pahintulot Paglalakbay BlackBerry application 137 00:09:05,990 --> 00:09:09,720 pagkatapos ng pag-click sa pindutan sa ibaba, "at isa lamang ang user ay lamang ng pagpunta sa sabihin 138 00:09:09,720 --> 00:09:12,240 itakda ang mga pahintulot at i-save. 139 00:09:12,240 --> 00:09:18,010 Narito ang isang Android prompt kung saan ito ay nagpapakita ng mga bagay, 140 00:09:18,010 --> 00:09:20,260 at ito talagang naglalagay ng isang bagay na halos kamukha ng babala. 141 00:09:20,260 --> 00:09:25,090 Ito nakuha ko ang isang uri ng ani sign doon na nagsasabi sa komunikasyon ng network, tawag sa telepono, 142 00:09:25,090 --> 00:09:28,120 ngunit ang user ay pagpunta sa i-click ang i-install, i-right? 143 00:09:28,120 --> 00:09:32,940 At pagkatapos ay ang isa Apple ay lubos na hindi nakapipinsala. 144 00:09:32,940 --> 00:09:34,300 Hindi nito magbigay ng anumang uri ng babala. 145 00:09:34,300 --> 00:09:37,380 Ito ay lamang Apple ay nais na gamitin ang iyong kasalukuyang lokasyon. 146 00:09:37,380 --> 00:09:39,670 Siyempre ka ng pagpunta sa i-click ang okay. 147 00:09:39,670 --> 00:09:42,260 >> May ito pinino pahintulot modelo, 148 00:09:42,260 --> 00:09:45,890 at apps mayroon na magkaroon ng isang manifest file kung saan sila idedeklara 149 00:09:45,890 --> 00:09:49,410 ang mga pahintulot sa kailangan nila, at iyon ay makakuha ng ipinapakita sa gumagamit, 150 00:09:49,410 --> 00:09:53,480 at ang gumagamit ay magkakaroon upang sabihin magbigay ko ang mga pahintulot. 151 00:09:53,480 --> 00:09:55,080 Ngunit maging tapat ipaalam. 152 00:09:55,080 --> 00:09:58,400 Ang mga gumagamit ay lamang ng pagpunta sa laging sinasabi okay. 153 00:09:58,400 --> 00:10:04,460 Hayaan ang tumagal ng isang mabilis na pagtingin sa mga pahintulot na mga app na ito ay humihingi ng 154 00:10:04,460 --> 00:10:06,850 at ang ilan sa mga pahintulot na ang naroon. 155 00:10:06,850 --> 00:10:09,950 Praytoryan ginawa kumpanya na ito ng survey noong nakaraang taon 156 00:10:09,950 --> 00:10:14,170 ng 53,000 mga application Pinag-aralan sa merkado at 3rd party na mga merkado Android, 157 00:10:14,170 --> 00:10:16,770 kaya ito ay ang lahat ng Android. 158 00:10:16,770 --> 00:10:19,670 At ang average na app hiniling 3 mga pahintulot. 159 00:10:19,670 --> 00:10:23,370 Ang ilang apps hiniling na 117 mga pahintulot, 160 00:10:23,370 --> 00:10:27,480 kaya malinaw naman ang mga ito ay napaka-pinong haspe at paraan masyadong kumplikado para sa isang gumagamit upang maunawaan 161 00:10:27,480 --> 00:10:31,600 kung sila ay bibigyan ng app na ito na kailangan ng mga 117 na mga pahintulot. 162 00:10:31,600 --> 00:10:37,270 Ito ay tulad ng mga kasunduan sa lisensya ng gumagamit ng pagtatapos na 45 mga pahina ang haba. 163 00:10:37,270 --> 00:10:40,240 Siguro sa lalong madaling panahon ang mga ito ay mayroon ng isang pagpipilian kung saan ito ay tulad ng 164 00:10:40,240 --> 00:10:43,100 i-print ang mga pagpapahintulot at magpadala sa akin ng isang email. 165 00:10:43,100 --> 00:10:45,480 >> Ngunit kung tiningnan mo ang ilan sa mga nangungunang mga kawili-wiling mga pahintulot 166 00:10:45,480 --> 00:10:50,840 24% ng apps na sila na-download na sumali sa 53,000 167 00:10:50,840 --> 00:10:57,230 hiniling na impormasyon ng GPS mula sa aparato. 168 00:10:57,230 --> 00:10:59,810 8% basahin ang mga contact. 169 00:10:59,810 --> 00:11:03,770 Nagpadala ng SMS 4%, at nakatanggap ng 3% ng SMS. 170 00:11:03,770 --> 00:11:07,730 Record na audio 2%. 171 00:11:07,730 --> 00:11:11,210 1% na naproseso mga papalabas na tawag. 172 00:11:11,210 --> 00:11:13,140 Hindi ko alam. 173 00:11:13,140 --> 00:11:17,520 Hindi sa tingin ko 4% ng apps sa store app talagang kailangan upang magpadala ng SMS text na mensahe, 174 00:11:17,520 --> 00:11:21,410 kaya sa tingin ko na ang isang pahiwatig na ang isang bagay hindi mabuti ay nangyayari. 175 00:11:21,410 --> 00:11:24,350 Kailangan 8% ng mga app na basahin ang listahan ng iyong mga contact. 176 00:11:24,350 --> 00:11:26,510 Ito ay marahil hindi kinakailangan. 177 00:11:26,510 --> 00:11:30,990 Isa sa mga iba pang mga kagiliw-giliw na bagay tungkol sa mga pahintulot ay 178 00:11:30,990 --> 00:11:36,740 kung i-link mo sa nakabahaging library sa iyong application 179 00:11:36,740 --> 00:11:39,780 mga magmana ang mga pahintulot ng application, 180 00:11:39,780 --> 00:11:46,570 kaya kung kailangan ng iyong app ang listahan ng contact o kailangan ng GPS na lokasyon upang gumana 181 00:11:46,570 --> 00:11:49,940 at i-link mo sa isang advertising library, halimbawa, 182 00:11:49,940 --> 00:11:53,170 Makikita din ang ad na iyon library ma-access ang mga contact 183 00:11:53,170 --> 00:11:57,630 at ma-access ang lokasyon ng GPS din, 184 00:11:57,630 --> 00:12:01,990 at walang tungkol sa code na tumatakbo sa ad aklatan ang nag-develop ng app nakakaalam. 185 00:12:01,990 --> 00:12:05,370 Lang nila na inuugnay na sa dahil gusto nilang pagkakitaan ang kanilang mga app. 186 00:12:05,370 --> 00:12:09,820 >> Ito ay kung saan-at kukunin ko na makipag-usap tungkol sa ilang mga halimbawa ng mga ito na may 187 00:12:09,820 --> 00:12:13,930 ang isang application na tinatawag na Pandora kung saan nag-develop ng application 188 00:12:13,930 --> 00:12:18,910 maaari nang hindi kinukusa ay pagtulo impormasyon 189 00:12:18,910 --> 00:12:24,580 mula sa kanilang mga gumagamit dahil sa mga library nila na-link in 190 00:12:24,580 --> 00:12:30,110 Pagtilingin ang landscape out doon, ang pagtingin sa lahat ng iba't ibang apps 191 00:12:30,110 --> 00:12:34,310 na naiulat sa balita bilang ay hindi gusto ng nakahahamak o paggawa ng isang bagay mga gumagamit 192 00:12:34,310 --> 00:12:39,360 at pagkatapos ay inspecting ng maraming apps-kami ng maraming mga static na binary na pagtatasa sa mobile apps, 193 00:12:39,360 --> 00:12:42,010 kaya nagbigay siniyasat namin ang mga ito at tumingin sa ang code mismo- 194 00:12:42,010 --> 00:12:49,640 dumating up namin sa kung ano ang tinatawag naming ang aming nangungunang 10 listahan ng mga peligrosong na pag-uugali sa mga application. 195 00:12:49,640 --> 00:12:54,180 At ito ay pinaghiwa-hiwalay sa mga seksyon 2, malisyosong code, 196 00:12:54,180 --> 00:12:57,600 kaya ang mga ito ay masamang bagay na maaaring ginagawa ang apps na 197 00:12:57,600 --> 00:13:06,520 ay malamang na maging isang bagay na ang isang nakakahamak na indibidwal 198 00:13:06,520 --> 00:13:10,060 ay partikular na ilalagay sa application, ngunit ito ay isang maliit na bit malabo. 199 00:13:10,060 --> 00:13:13,300 Ito ay maaaring maging isang bagay na ang isang developer palagay ni ay pinong, 200 00:13:13,300 --> 00:13:16,350 ngunit ito ay nagtatapos up na naisip ng bilang nakahahamak ng user. 201 00:13:16,350 --> 00:13:19,830 >> At pagkatapos ay ang ikalawang seksyon ay ang tinatawag naming coding mga kahinaan, 202 00:13:19,830 --> 00:13:24,600 at ang mga ito ay mga bagay na kung saan ang nag-develop talaga ay gumagawa pagkakamali 203 00:13:24,600 --> 00:13:27,200 o lamang ay hindi maunawaan kung paano upang secure na isulat ang app, 204 00:13:27,200 --> 00:13:30,260  at na ang paglalagay ng mga gumagamit app sa panganib. 205 00:13:30,260 --> 00:13:34,060 Pupunta ako sa pumunta sa pamamagitan ng mga detalyado at bigyan ang ilang mga halimbawa. 206 00:13:34,060 --> 00:13:39,620 Para sa sanggunian, nais kong ilagay up ang OWASP mobile nangungunang 10 listahan. 207 00:13:39,620 --> 00:13:43,590 Ito ang mga 10 na isyu na isang grupo sa OWASP, 208 00:13:43,590 --> 00:13:48,900 Buksan ang Web Application Security Project, mayroon sila ng isang gumaganang pangkat 209 00:13:48,900 --> 00:13:50,620 nagtatrabaho sa isang mobile nangungunang 10 listahan. 210 00:13:50,620 --> 00:13:54,600 Ang mga ito ay isang napaka sikat na web nangungunang 10 listahan, na kung saan ay ang nangungunang 10 211 00:13:54,600 --> 00:13:57,180 riskiest bagay na maaari mong magkaroon sa isang web application. 212 00:13:57,180 --> 00:13:59,090 Sila ay ginagawa ang parehong bagay para sa mobile, 213 00:13:59,090 --> 00:14:01,750 at ang kanilang mga listahan ay medyo iba kaysa atin. 214 00:14:01,750 --> 00:14:03,670 6 out ng 10 ay pareho. 215 00:14:03,670 --> 00:14:06,020 Ang mga ito ay 4 na iba. 216 00:14:06,020 --> 00:14:10,550 Sa tingin ko mayroon sila ng kaunting ibang Dumaan sa 217 00:14:10,550 --> 00:14:14,490 panganib sa mobile apps kung saan marami sa kanilang mga isyu 218 00:14:14,490 --> 00:14:20,490 ang talagang paano ang application ay sa pakikipag-ugnayan sa isang back-end server 219 00:14:20,490 --> 00:14:23,100 o kung ano ang nangyayari sa sa back-end server, 220 00:14:23,100 --> 00:14:29,220 hindi kaya magkano ang apps na mayroon peligroso pag-uugali na lamang prangka apps client. 221 00:14:29,220 --> 00:14:36,640 >> Ang mga bago sa pula narito ang mga pagkakaiba sa pagitan ng 2 listahan. 222 00:14:36,640 --> 00:14:40,740 At ang ilan sa aking koponan sa pananaliksik ay aktwal na nag-ambag sa proyektong ito, 223 00:14:40,740 --> 00:14:44,570 kaya ipapakita namin makita kung ano ang mangyayari sa paglipas ng panahon, ngunit sa palagay ko ang takeaway dito ay 224 00:14:44,570 --> 00:14:47,550 hindi namin talaga alam kung ano ang nangungunang 10 listahan ay nasa mobile apps dahil 225 00:14:47,550 --> 00:14:50,510 na talagang lamang naging sila sa paligid para sa 2 o 3 taon na ngayon, 226 00:14:50,510 --> 00:14:57,750 at doon ay hindi pa sapat na oras upang talagang magsaliksik ang mga operating system 227 00:14:57,750 --> 00:15:00,450 at kung ano ang kanilang may kakayahang, at doon ay hindi pa sapat na oras 228 00:15:00,450 --> 00:15:06,870 para sa nakahahamak na komunidad, kung habilin sa iyo, upang Ginastos sapat na oras 229 00:15:06,870 --> 00:15:12,910 sinusubukang i-atake ng mga gumagamit sa pamamagitan ng mga mobile app, kaya inaasahan ko ang mga listahang ito upang baguhin nang kaunti. 230 00:15:12,910 --> 00:15:18,720 Ngunit sa ngayon, narito ang mga nangungunang 10 mga bagay na dapat mag-alala tungkol sa. 231 00:15:18,720 --> 00:15:24,150 Maaaring nagtataka sa gilid ng mobile kung saan ginagawa ang nakakahamak na code sa mobile- 232 00:15:24,150 --> 00:15:28,880 paano nito sumakay sa aparato? 233 00:15:28,880 --> 00:15:35,210 North Carolina Estado ay isang proyekto na tinatawag na Mobile Malware Genome Project 234 00:15:35,210 --> 00:15:39,520 kung saan sila ay pagkolekta ng maraming mga mobile na malware hangga't makakaya nila at pag-aaral ito, 235 00:15:39,520 --> 00:15:45,270 at na-sira sila pababa ang iniksyon vectors na gumagamit ng mga mobile na malware, 236 00:15:45,270 --> 00:15:51,490 at gamitin ang 86% isang diskarte na tinatawag na repackaging, 237 00:15:51,490 --> 00:15:54,160 at ito ay para lamang sa Android platform 238 00:15:54,160 --> 00:15:56,720 Maaari mo ba talagang gawin ito repackaging. 239 00:15:56,720 --> 00:16:03,100 >> Ang dahilan dito ay ang Android code ay binuo na may 240 00:16:03,100 --> 00:16:08,130 isang Java byte code na tinatawag na Dalvik na kung saan ay madaling decompilable. 241 00:16:08,130 --> 00:16:12,460 Ano ang maaari gawin ang masamang tao ay 242 00:16:12,460 --> 00:16:16,590 tumagal ng isang Android application, i-decompile ito, 243 00:16:16,590 --> 00:16:20,120 ipasok ang kanilang mga malisyosong code, mag-recompile ito, 244 00:16:20,120 --> 00:16:28,070 at pagkatapos ay ilagay ito up sa store app purporting upang maging isang bagong bersyon ng application na iyon, 245 00:16:28,070 --> 00:16:30,330 o lang siguro ang pagbabago ng pangalan ng application. 246 00:16:30,330 --> 00:16:35,140 Kung ito ay isang uri ng laro, baguhin ang pangalan nang bahagya, 247 00:16:35,140 --> 00:16:42,860 at kaya ito repackaging ay kung paano 86% ng mga mobile na malware ay makakakuha ng ibinahagi. 248 00:16:42,860 --> 00:16:45,810 Mayroong isa pang pamamaraan na tinatawag na-update na 249 00:16:45,810 --> 00:16:50,030 na halos kapareho sa repackaging, ngunit ikaw talaga ay hindi ilagay ang nakakahamak na code in 250 00:16:50,030 --> 00:16:52,870 Ano gagawin mo ay ilagay mo sa isang maliit na mekanismo update. 251 00:16:52,870 --> 00:16:56,660 Ikaw decompile, ilagay mo sa isang mekanismo pag-update, at mag-recompile mo ito, 252 00:16:56,660 --> 00:17:02,360 at pagkatapos ay kapag ang app ay tumatakbo ito pulls down na ang malware sa ang aparato. 253 00:17:02,360 --> 00:17:06,300 >> Sa pamamagitan ng malayo ang karamihan ay ang mga 2 diskarte. 254 00:17:06,300 --> 00:17:12,710 May hindi talaga magkano ang pag-download biyahe-bys o humimok-sa ​​pamamagitan ng pag-download sa Mobile, 255 00:17:12,710 --> 00:17:15,890 na maaaring maging tulad ng isang phishing na atake. 256 00:17:15,890 --> 00:17:18,200 Uy, tingnan ang talagang cool na website, 257 00:17:18,200 --> 00:17:21,020 o kailangan mo upang pumunta sa website na ito at punan ang form na ito 258 00:17:21,020 --> 00:17:24,420 upang mapanatili ang patuloy na paggawa ng isang bagay. 259 00:17:24,420 --> 00:17:26,230 Yaong ay phishing na pag-atake. 260 00:17:26,230 --> 00:17:28,160 Ang parehong bagay ay maaaring mangyari sa mga mobile platform kung saan sila 261 00:17:28,160 --> 00:17:33,830 tumuturo sa isang mobile app upang i-download, sabihin ang "Hi, ito ay Bank ng Amerika." 262 00:17:33,830 --> 00:17:36,070 "Makita namin na ginagamit mo ang application na ito." 263 00:17:36,070 --> 00:17:38,540 "Dapat mong i-download ang iba pang mga application." 264 00:17:38,540 --> 00:17:41,170 Theoretically, na maaaring gumana. 265 00:17:41,170 --> 00:17:48,610 Siguro ito lamang ay hindi sapat na ginamit upang matukoy kung ito ay ang matagumpay o hindi, 266 00:17:48,610 --> 00:17:51,680 ngunit sila ay natagpuan na mas mababa sa 1% ng oras na pamamaraan ay ginagamit. 267 00:17:51,680 --> 00:17:56,130 Ang karamihan ng mga oras na talagang isang repackaged code. 268 00:17:56,130 --> 00:17:58,710 >> Mayroong isa pang kategorya na tinatawag na nakapag-iisa 269 00:17:58,710 --> 00:18:01,420 kung saan ang isang tao ay nagbubuo mula lamang ng isang application bagung-bago. 270 00:18:01,420 --> 00:18:04,020 Bumuo ng mga ito ang isang application na purports upang maging isang bagay. 271 00:18:04,020 --> 00:18:07,360 Ito ay hindi isang repackaging ng ibang bagay, at iyon ay ang nakakahamak na code. 272 00:18:07,360 --> 00:18:11,230 Iyon ay ginagamit 14% ng oras. 273 00:18:11,230 --> 00:18:17,880 Ngayon Gusto kong makipag-usap tungkol sa kung ano ay ang nakakahamak na code ginagawa? 274 00:18:17,880 --> 00:18:23,070 Ang isa sa mga unang malware out doon 275 00:18:23,070 --> 00:18:25,490 maaari mong isaalang-alang ang isang spyware. 276 00:18:25,490 --> 00:18:27,620 Ito talaga spies sa user. 277 00:18:27,620 --> 00:18:30,470 Nangongolekta ito ng mga email, SMS na mensahe. 278 00:18:30,470 --> 00:18:32,340 Ito ay lumiliko sa mikropono. 279 00:18:32,340 --> 00:18:37,330 Ito harvests ang libro contact, at ito ay nagpapadala ng ito sa iba. 280 00:18:37,330 --> 00:18:40,870 Ang uri ng spyware umiiral sa PC, 281 00:18:40,870 --> 00:18:46,200 kaya gumagawa ng perpektong kahulugan para sa mga tao upang subukan upang gawin ito sa mga mobile device. 282 00:18:46,200 --> 00:18:53,230 >> Ang isa sa mga unang halimbawa ng mga ito ay isang programa na tinatawag na Lihim SMS Replicator. 283 00:18:53,230 --> 00:18:56,250 Ito ay sa Android Marketplace ng ilang taon na ang nakaraan, 284 00:18:56,250 --> 00:18:59,960 at ang ideya ay kung nagkaproblema ka sa pag-access sa telepono Android ng isang tao 285 00:18:59,960 --> 00:19:03,450 na ginusto mong himanmanan, kaya marahil ito ay ang iyong asawa 286 00:19:03,450 --> 00:19:07,600 o sa iyong iba pang mga makabuluhang at gusto mong himanmanan kanilang text messaging, 287 00:19:07,600 --> 00:19:11,200 maaari mong i-download ang app na ito at i-install ito at i-configure ito 288 00:19:11,200 --> 00:19:16,540 upang magpadala ng isang SMS na mensaheng text sa iyo na may isang kopya 289 00:19:16,540 --> 00:19:21,710 ng bawat SMS na mensaheng text nila nakuha. 290 00:19:21,710 --> 00:19:27,220 Ito malinaw naman ay nasa mga paglabag sa mga tuntunin store app ng serbisyo, 291 00:19:27,220 --> 00:19:32,040 at ito ay inalis mula sa Android Marketplace sa loob ng 18 oras ng ito pagiging doon, 292 00:19:32,040 --> 00:19:36,760 kaya ito ng napakaliit na bilang ng mga tao ay nasa panganib dahil dito. 293 00:19:36,760 --> 00:19:42,510 Ngayon, sa palagay ko kung ang programa ay tinawag ng isang bagay na siguro ay medyo mas kagalit-galit 294 00:19:42,510 --> 00:19:48,690 tulad Lihim SMS Replicator marahil ito sana ay nagtrabaho ng maraming mas mahusay. 295 00:19:48,690 --> 00:19:52,870 Ngunit ito ay uri ng halata. 296 00:19:52,870 --> 00:19:58,680 >> Isa sa mga bagay na maaari naming gawin upang matukoy kung ang apps na mayroon ito na pag-uugali na hindi namin nais 297 00:19:58,680 --> 00:20:01,410 ay upang siyasatin ang code. 298 00:20:01,410 --> 00:20:06,250 Ito ay talagang talagang madali lang gawin sa Android dahil maaari naming i-decompile ang apps. 299 00:20:06,250 --> 00:20:11,050 Sa iOS maaari kang gumamit ng disassembler tulad Ida Pro 300 00:20:11,050 --> 00:20:17,190 upang tumingin sa kung ano ang mga API na ang app sa pagtawag at kung ano ang ginagawa nito. 301 00:20:17,190 --> 00:20:20,680 Sinulat ni namin ang aming sariling binary static analisador para sa aming mga code 302 00:20:20,680 --> 00:20:24,940 at ginagawa namin ito, at kaya kung ano ang maaari mong gawin ay ang maaari mong sabihin 303 00:20:24,940 --> 00:20:30,490 gumawa ng anumang bagay na ay isa lamang himanman sa akin o sa akin sa pagsubaybay ay ang aparato? 304 00:20:30,490 --> 00:20:33,360 At Mayroon akong ilang mga halimbawa dito sa iPhone. 305 00:20:33,360 --> 00:20:41,440 Ang unang halimbawa ay ang kung paano i-access ang UUID sa telepono. 306 00:20:41,440 --> 00:20:47,060 Ito ay talagang isang bagay na Apple Nag-ban na para sa mga bagong application, 307 00:20:47,060 --> 00:20:52,540 ngunit lumang mga application na maaari kang tumatakbo sa iyong telepono ay maaari pa ring gawin ito, 308 00:20:52,540 --> 00:20:56,500 at nang sa gayon ay natatanging identifier ay maaaring magamit upang subaybayan ka 309 00:20:56,500 --> 00:21:00,440 sa kabuuan ng maraming iba't ibang mga application. 310 00:21:00,440 --> 00:21:07,180 >> Sa Android, mayroon akong isang halimbawa dito ng pagkuha ng lokasyon ng aparato. 311 00:21:07,180 --> 00:21:10,310 Maaari mong makita na kapag na tawag sa API ay mayroong app na pagsubaybay, 312 00:21:10,310 --> 00:21:15,000 at maaari mong makita kung nakakakuha ito ng masarap na lokasyon o magaspang na lokasyon. 313 00:21:15,000 --> 00:21:18,860 At pagkatapos sa ibaba dito, mayroon akong isang halimbawa kung paano sa BlackBerry 314 00:21:18,860 --> 00:21:25,130 Maaaring ma-access ang isang application ang mensaheng e-mail sa iyong inbox. 315 00:21:25,130 --> 00:21:27,660 Ito ang mga uri ng bagay na maaari mong siyasatin upang makita 316 00:21:27,660 --> 00:21:32,360 kung ang app ay ginagawa ang mga bagay. 317 00:21:32,360 --> 00:21:38,320 Ang ikalawang malaking kategorya ng mga nakakahamak na pag-uugali, at ito ay marahil ang pinakamalaking kategorya ngayon, 318 00:21:38,320 --> 00:21:43,950 ay walang pahintulot na dialing, ang hindi awtorisadong mga premium na mga SMS text na mensahe 319 00:21:43,950 --> 00:21:46,080 o hindi awtorisadong mga pagbabayad. 320 00:21:46,080 --> 00:21:48,930 Isa pang bagay na natatangi tungkol sa mga telepono 321 00:21:48,930 --> 00:21:52,700 ay ang aparato ay baluktot sa isang account sa pagsingil, 322 00:21:52,700 --> 00:21:55,960 at kapag aktibidad mangyari sa telepono 323 00:21:55,960 --> 00:21:58,510 maaari itong lumikha ng mga singil. 324 00:21:58,510 --> 00:22:00,700 Maaari kang bumili ng mga bagay sa pamamagitan ng telepono, 325 00:22:00,700 --> 00:22:04,390 at kapag nagpadala ka ng isang premium SMS text message aktwal na pagbibigay ng pera 326 00:22:04,390 --> 00:22:11,590 sa may-ari ng numero ng telepono sa kabilang panig account. 327 00:22:11,590 --> 00:22:17,420 Ang mga na-set up upang makakuha ng mga stock quote o kunin ang iyong pang araw-araw na horoscope o iba pang mga bagay, 328 00:22:17,420 --> 00:22:21,680 ngunit maaari silang mai-set up na bumili ng isang produkto sa pamamagitan ng pagpapadala ng SMS text. 329 00:22:21,680 --> 00:22:26,970 Mga tao magbigay ng pera sa Red Cross sa pamamagitan ng pagpapadala ng text message. 330 00:22:26,970 --> 00:22:30,650 Maaari mong bigyan ang $ 10 na paraan. 331 00:22:30,650 --> 00:22:34,190 >> Ang attackers, ano ang nagawa nila ay set up nila 332 00:22:34,190 --> 00:22:38,750 mga account sa banyagang bansa, at i-embed ang mga ito sa malware 333 00:22:38,750 --> 00:22:42,840 na ang telepono ay magpapadala ng isang premium SMS text message, 334 00:22:42,840 --> 00:22:47,700 sabihin, ilang beses sa isang araw, at sa dulo ng buwan natanto na iyong ginugol 335 00:22:47,700 --> 00:22:52,090 sampu-sampung o marahil kahit na daan-daang mga dolyar, at sila maglakad ang layo sa pera. 336 00:22:52,090 --> 00:22:57,280 Ito nakuha kaya masamang na ito ay ang napaka-unang bagay na sa Android 337 00:22:57,280 --> 00:23:00,760 Marketplace o ang Google lugar-ito ay ang Android Marketplace sa oras, 338 00:23:00,760 --> 00:23:04,430 at ito ay Google Play-ang unang bagay na sinimulan ng pagsusuri para sa Google ngayon. 339 00:23:04,430 --> 00:23:08,700 Kapag sinimulan ng Google ang pamamahagi ng Android apps sa kanilang mga tindahan ng app 340 00:23:08,700 --> 00:23:11,350 sinabi nila hindi sila ay pagpunta upang suriin para sa anumang bagay. 341 00:23:11,350 --> 00:23:15,630 Susubukan naming hilahin apps sa sandaling na-notify na namin ang sira nila ang aming mga tuntunin ng serbisyo, 342 00:23:15,630 --> 00:23:17,520 ngunit hindi namin ang pagpunta upang suriin para sa anumang bagay. 343 00:23:17,520 --> 00:23:24,350 Well, tungkol sa isang taon na ang nakalipas ito nakuha kaya masamang na may ganitong mga premium SMS text message malware 344 00:23:24,350 --> 00:23:28,030 na ito ay ang napaka-unang bagay na sinimulan nila pagsusuri para sa. 345 00:23:28,030 --> 00:23:31,770 Kung maaari magpadala ng SMS text na mensahe ang isang app 346 00:23:31,770 --> 00:23:34,750 higit pang manu-mano nilang magsiyasat na mabuti application na iyon. 347 00:23:34,750 --> 00:23:38,770 Inaasahan nila para sa mga API na tumawag ito, 348 00:23:38,770 --> 00:23:40,580 at ngayon mula noon pinalawak na ang Google, 349 00:23:40,580 --> 00:23:46,900 ngunit ito ay ang unang bagay na sinimulan nila hinahanap. 350 00:23:46,900 --> 00:23:50,690 >> Ang ilang mga iba pang apps na ginawa ng ilang mga SMS text na mensahe, 351 00:23:50,690 --> 00:23:56,980 ito Android Qicsomos, hulaan ko ito ay tinatawag na. 352 00:23:56,980 --> 00:24:02,670 Nagkaroon ito kasalukuyang kaganapan sa mobile kung saan ito CarrierIQ ay dumating out 353 00:24:02,670 --> 00:24:07,720 bilang spyware ilagay sa device sa pamamagitan ng mga carrier, 354 00:24:07,720 --> 00:24:10,820 kaya gusto ng mga tao upang malaman kung ang kanilang telepono ay mahina laban sa ito, 355 00:24:10,820 --> 00:24:13,890 at ito ay isang libreng app na nasubukan na. 356 00:24:13,890 --> 00:24:17,520 Well, siyempre, kung ano ang ginawa app na ito ay ito ay nagpadala ng mga premium na mga SMS text na mensahe, 357 00:24:17,520 --> 00:24:20,090 kaya sa pamamagitan ng pagsubok upang makita kung ikaw ay nahawaan ng spyware 358 00:24:20,090 --> 00:24:24,930 ikaw-load ng malware sa iyong aparato. 359 00:24:24,930 --> 00:24:27,310 Nakita namin ang parehong bagay mangyari sa ang huling Super Bowl. 360 00:24:27,310 --> 00:24:33,180 Nagkaroon ng bogus bersyon ng football laro magalit nang labis 361 00:24:33,180 --> 00:24:38,320 na ipinadala premium SMS text na mensahe. 362 00:24:38,320 --> 00:24:45,750 Ito talaga sinubukan upang lumikha ng masyadong isang network ng bot sa aparato. 363 00:24:45,750 --> 00:24:48,090 Narito Mayroon akong ilang mga halimbawa. 364 00:24:48,090 --> 00:24:52,640 Nang kawili-wili sapat, Apple ay medyo matalino, 365 00:24:52,640 --> 00:24:58,470 at hindi nila pinapayagan ang application na magpadala ng mga SMS text na mensahe sa lahat. 366 00:24:58,470 --> 00:25:00,350 Maaari gawin ito Walang app. 367 00:25:00,350 --> 00:25:03,530 Iyon ay isang mahusay na paraan ng inaalis ng isang buong klase ng mga kahinaan, 368 00:25:03,530 --> 00:25:09,040 ngunit sa Android maaari mong gawin ito, at siyempre, sa BlackBerry maaari mo itong gawin masyadong. 369 00:25:09,040 --> 00:25:13,060 Ito ay kagiliw-giliw na sa BlackBerry kailangan mo lang ng mga pahintulot sa internet 370 00:25:13,060 --> 00:25:18,370 upang magpadala ng isang SMS na mensaheng text. 371 00:25:18,370 --> 00:25:21,580 >> Ang iba pang mga bagay na talagang masaya naming para sa 372 00:25:21,580 --> 00:25:24,780 kapag kaming naghahanap upang makita kung ang isang bagay ay nakakahamak na lamang ang anumang uri ng 373 00:25:24,780 --> 00:25:28,100 hindi awtorisadong aktibidad network, tulad tingnan ang aktibidad ng network 374 00:25:28,100 --> 00:25:31,570 ang app ay dapat na mayroon upang magkaroon ng pag-andar nito, 375 00:25:31,570 --> 00:25:35,380 at tumingin sa ito ng iba pang aktibidad ng network. 376 00:25:35,380 --> 00:25:43,380 Marahil na ang isang app, upang gumana, ay may upang makakuha ng mga data sa paglipas ng HTTP, 377 00:25:43,380 --> 00:25:47,500 ngunit kung ito ang ginagawa ng mga bagay sa pamamagitan ng email o SMS o Bluetooth o ang isang bagay tulad na 378 00:25:47,500 --> 00:25:52,890 ngayon app na maaaring potensyal na maging nakakahamak na, kaya ito ay isa pang bagay na maaari mong siyasatin para sa. 379 00:25:52,890 --> 00:26:00,430 At sa slide na ito dito Mayroon akong ilang mga halimbawa ng iyon. 380 00:26:00,430 --> 00:26:05,950 Isa pang kawili-wiling bagay nakita natin na may malware ang nangyari bumalik sa 2009, 381 00:26:05,950 --> 00:26:07,600 at ito ang nangyari sa isang malaking paraan. 382 00:26:07,600 --> 00:26:11,390 Hindi ko alam kung ito ay nangyari kaya magkano mula noon, ngunit ito ay isang app 383 00:26:11,390 --> 00:26:15,140 na ginagaya ng isa pang application. 384 00:26:15,140 --> 00:26:21,700 Nagkaroon ng isang hanay ng mga app, at ito ay tinatawag na 09Droid atake, 385 00:26:21,700 --> 00:26:29,770 at may isang taong nagpasya na mayroong ng maraming maliit na, rehiyonal, midsize bangko 386 00:26:29,770 --> 00:26:32,260 na hindi magkaroon ng online banking application, 387 00:26:32,260 --> 00:26:36,870 kaya kung ano ang kanilang ginawa noon ay binuo nila tungkol sa 50 banking application online 388 00:26:36,870 --> 00:26:39,410 na ang lahat ng mga ito ginawa noon ay gawin ang mga user name at password 389 00:26:39,410 --> 00:26:42,190 at i-redirect ka sa website. 390 00:26:42,190 --> 00:26:47,470 At kaya ilagay nila ang mga lahat up sa Google Marketplace, 391 00:26:47,470 --> 00:26:51,530 sa Android Marketplace, at kapag may taong naghanap upang makita kung ang kanilang bangko 392 00:26:51,530 --> 00:26:56,000 Nagkaroon ng isang application na gusto nila mahanap ang bogus application, 393 00:26:56,000 --> 00:27:01,230 na nakolekta kanilang mga kredensyal at pagkatapos ay nai-redirect sa kanila sa kanilang mga website. 394 00:27:01,230 --> 00:27:06,640 Ang paraan na ito talagang naging-ang apps ay up doon para sa isang ilang linggo, 395 00:27:06,640 --> 00:27:09,050 at mayroong mga libu-libo at libu-libong mga pag-download. 396 00:27:09,050 --> 00:27:12,910 >> Ang paraan na ito ay dumating sa liwanag ay isang tao ay nagkakaroon ng problema 397 00:27:12,910 --> 00:27:15,740 gamit ang isa sa mga application, at tinatawag nila ang kanilang mga bangko, 398 00:27:15,740 --> 00:27:18,390 at tinawag nila Linya ng suporta sa customer ang kanilang mga bangko at sinabing, 399 00:27:18,390 --> 00:27:21,180 "Nagkakaroon ako ng mga problema sa iyong banking application ng mobile." 400 00:27:21,180 --> 00:27:23,460 "Matutulungan mo ba ako sumali?" 401 00:27:23,460 --> 00:27:26,540 At sinabi nila, "Wala kaming isang banking application ng mobile." 402 00:27:26,540 --> 00:27:28,120 Iyon na sinimulan ang pagsisiyasat. 403 00:27:28,120 --> 00:27:31,200 Bangko na ang tinatawag na Google, at pagkatapos ay tumingin Google at sinabi, 404 00:27:31,200 --> 00:27:37,220 "Wow, ang parehong mga may-akda ay nakasulat 50 bank application," at kinuha sila lahat pababa. 405 00:27:37,220 --> 00:27:43,410 Ngunit tiyak na ito ay maaaring mangyari muli. 406 00:27:43,410 --> 00:27:51,790 Mayroong ang listahan ng lahat ng iba't ibang mga bangko dito 407 00:27:51,790 --> 00:27:55,870 na naging bahagi ng ito scam. 408 00:27:55,870 --> 00:28:02,050 Ang iba pang mga bagay na maaaring gawin ang isang app ay naroroon ang UI ng isa pang application. 409 00:28:02,050 --> 00:28:06,430 Habang pinapagana nito maaari itong pop up ang Facebook UI. 410 00:28:06,430 --> 00:28:09,540 Sinasabi nito kailangan mong ilagay sa iyong user name at password upang magpatuloy 411 00:28:09,540 --> 00:28:15,090 o maglagay ng anumang mga user name at password UI para sa isang website 412 00:28:15,090 --> 00:28:18,420 na siguro ang gumagamit ay gumagamit lamang na subukan upang linlangin ang user 413 00:28:18,420 --> 00:28:21,340 sa paglalagay ng kanilang mga kredensyal in 414 00:28:21,340 --> 00:28:25,590 Ito ay talagang isang tuwid na kahilera ng pag-atake ng phishing email 415 00:28:25,590 --> 00:28:28,210 kung saan may nagpadala sa iyo ng isang mensaheng email 416 00:28:28,210 --> 00:28:33,050 at nagbibigay sa iyo ng isa lamang pekeng UI para sa isang website 417 00:28:33,050 --> 00:28:37,320 na may access ka. 418 00:28:37,320 --> 00:28:41,590 >> Ang iba pang mga bagay Inaasahan namin para sa nakakahamak na code ay pagbabago ng sistema. 419 00:28:41,590 --> 00:28:48,160 Maaari mong hanapin ang lahat ng mga tawag sa API na nangangailangan ng root pribilehiyo 420 00:28:48,160 --> 00:28:50,870 upang isakatuparan nang tama. 421 00:28:50,870 --> 00:28:56,160 Ang pagbabago ng web proxy ng device ay magiging isang bagay na ang isang application 422 00:28:56,160 --> 00:28:59,530 hindi dapat magawa. 423 00:28:59,530 --> 00:29:03,030 Ngunit kung ang application ay may code sa doon upang gawin iyon 424 00:29:03,030 --> 00:29:05,960 malalaman mo na marahil ito ay isang nakakahamak na application 425 00:29:05,960 --> 00:29:09,620 o napaka lubos na malamang na maging isang nakakahamak na application, 426 00:29:09,620 --> 00:29:13,910 at kaya kung ano ang mangyayari ay na ang app ay magkaroon ng ilang mga paraan ng dumadami pribilehiyo. 427 00:29:13,910 --> 00:29:17,200 Ito ay may ilang mga pribilehiyo pagdami maningning na tagumpay 428 00:29:17,200 --> 00:29:20,730 sa application, at pagkatapos ay sa sandaling tumataas na ito pribilehiyo 429 00:29:20,730 --> 00:29:23,800 Gusto ito gawin ang mga pagbabago ng sistema. 430 00:29:23,800 --> 00:29:28,010 Maaari mong makita ang malware na may pribilehiyo pagdami 431 00:29:28,010 --> 00:29:32,550 sa ito kahit na walang pag-alam kung paano ang pribilehiyo pagdami 432 00:29:32,550 --> 00:29:37,960 maningning na tagumpay ay pagpunta sa mangyari, at iyon ang isang maganda, madaling paraan 433 00:29:37,960 --> 00:29:41,220 upang tumingin para sa malware. 434 00:29:41,220 --> 00:29:46,030 DroidDream ay marahil ang pinaka sikat na piraso ng Android malware. 435 00:29:46,030 --> 00:29:50,530 Sa tingin ko apektado ito tungkol sa 250,000 mga gumagamit sa paglipas ng ilang araw 436 00:29:50,530 --> 00:29:52,810 bago ito ay natagpuan. 437 00:29:52,810 --> 00:29:56,890 Repackaged Sila 50 bogus application, 438 00:29:56,890 --> 00:30:00,370 ilagay ang mga ito sa tindahan ng app sa Android, 439 00:30:00,370 --> 00:30:10,940 at lubos na ito ginamit jailbreak code ng Android upang idulog pribilehiyo 440 00:30:10,940 --> 00:30:16,380 at pagkatapos ay i-install ng isang command at kontrolin at i lahat ng mga biktima 441 00:30:16,380 --> 00:30:20,690 sa isang net bot, ngunit maaari mo pa nakita ito 442 00:30:20,690 --> 00:30:24,170 kung ikaw ay pag-scan ang application at lamang naghahanap para sa 443 00:30:24,170 --> 00:30:32,230 Mga tawag sa API na kinakailangan ugat ng pahintulot upang maisagawa nang tama. 444 00:30:32,230 --> 00:30:40,150 >> At mayroong dito ang isang halimbawa Mayroon akong na pagbabago ng proxy, 445 00:30:40,150 --> 00:30:46,380 at ito talaga ay magagamit lamang sa mga Android. 446 00:30:46,380 --> 00:30:49,070 Maaari mong makita ako ng pagbibigay sa iyo ng maraming mga halimbawa sa Android 447 00:30:49,070 --> 00:30:53,990 dahil ito ay kung saan ang pinaka-aktibong ecosystem malware ay 448 00:30:53,990 --> 00:30:58,690 dahil ito ay talagang madali para sa isang umaatake upang makakuha ng mga malisyosong code 449 00:30:58,690 --> 00:31:01,470 sa Android Marketplace. 450 00:31:01,470 --> 00:31:06,480 Ito ay hindi kaya madaling gawin iyon sa Apple App Store 451 00:31:06,480 --> 00:31:10,250 dahil Apple ay nangangailangan ng mga developer upang kilalanin ang kanilang sarili 452 00:31:10,250 --> 00:31:12,790 at mag-sign ang code. 453 00:31:12,790 --> 00:31:20,340 Talaga nilang suriin kung sino ka, at Apple ay aktwal na scrutinizing ang mga application. 454 00:31:20,340 --> 00:31:27,450 Hindi namin makita ang marami ng mga tunay na malware kung saan ang aparato ay nagsisimula pa nakompromiso. 455 00:31:27,450 --> 00:31:32,250 Ako ay makipag-usap tungkol sa ilang mga halimbawa kung saan ito ay talagang privacy na nagsisimula pa nakompromiso, 456 00:31:32,250 --> 00:31:38,460 at iyon ang kung ano talaga ang nangyayari sa mga aparatong Apple. 457 00:31:38,460 --> 00:31:44,090 Isa pang bagay upang tumingin para sa mga malisyosong code, peligrosong code sa device 458 00:31:44,090 --> 00:31:50,300 ay logic o time bomb, at oras ng bomba ay marahil 459 00:31:50,300 --> 00:31:53,370 lubhang mas madaling hanapin kaysa sa logic bomb. 460 00:31:53,370 --> 00:31:57,030 Ngunit sa oras bomba, ano ang maaari mong gawin ay maaari kang tumingin para sa 461 00:31:57,030 --> 00:32:04,760 mga lugar sa code kung saan ang oras ay nasubukan o isang absolute oras ay tumingin para sa 462 00:32:04,760 --> 00:32:08,190 bago sa ilang mga pag-andar sa app mangyayari. 463 00:32:08,190 --> 00:32:14,200 At ito ay maaaring tapos na upang itago na aktibidad mula sa mga gumagamit, 464 00:32:14,200 --> 00:32:17,510 kaya ito ang nangyayari late na sa gabi. 465 00:32:17,510 --> 00:32:24,350 DroidDream ginawa ang lahat ng mga aktibidad nito 11:00-08:00 lokal na oras 466 00:32:24,350 --> 00:32:30,650 upang subukang gawin ito habang maaaring hindi paggamit ng user ang kanilang device. 467 00:32:30,650 --> 00:32:38,680 >> Ang isa pang dahilan upang gawin ito ay kung ang mga tao ay gumagamit ng pagtatasa ng pag-uugali ng isang application, 468 00:32:38,680 --> 00:32:43,430 tumatakbo ang app sa isang sandbox upang makita kung ano ang pag-uugali ng application ay, 469 00:32:43,430 --> 00:32:51,090 maaari nilang gamitin base sa oras na logic upang magawa ang aktibidad 470 00:32:51,090 --> 00:32:54,640 kapag ang app ay wala sa sandbox. 471 00:32:54,640 --> 00:33:01,520 Halimbawa, ang isang app tindahan tulad ng Apple 472 00:33:01,520 --> 00:33:07,940 tumatakbo ang application, ngunit sila ay marahil hindi tumatakbo ang bawat application para sa, sabihin nating, 30 araw 473 00:33:07,940 --> 00:33:10,550 bago nag-aapruba ito, kaya maaari kang maglagay 474 00:33:10,550 --> 00:33:14,120 logic sa iyong application na nagsabi, okay, gawin lamang ang masamang bagay 475 00:33:14,120 --> 00:33:20,490 pagkatapos ng 30 araw ay nawala sa pamamagitan ng o pagkatapos ng 30 araw pagkatapos ng petsa-publish ng application, 476 00:33:20,490 --> 00:33:27,020 at na maaaring makatulong ang nakakahamak na code itago mula sa mga tao inspecting para dito. 477 00:33:27,020 --> 00:33:30,050 Kung anti-virus mga kumpanya ay tumatakbo bagay sa sandboxes 478 00:33:30,050 --> 00:33:36,370 o mga tindahan ng app ang kanilang mga sarili ay maaari itong makatulong 479 00:33:36,370 --> 00:33:39,260 itago na mula sa na-inspeksyon. 480 00:33:39,260 --> 00:33:43,020 Ngayon, ang pumitik bahagi ng na ay madali upang mahanap ang may static na pagtatasa, 481 00:33:43,020 --> 00:33:46,170 kaya talagang inspecting ang code maaari kang tumingin para sa lahat ng mga lugar 482 00:33:46,170 --> 00:33:54,010 kung saan ay sumusubok sa mga application sa oras at siyasatin na paraan. 483 00:33:54,010 --> 00:33:58,850 At dito Mayroon akong ilang mga halimbawa sa mga 3 iba't ibang mga platform 484 00:33:58,850 --> 00:34:05,640 kung paano maaaring mai-check oras para sa sa pamamagitan ng mga app maker 485 00:34:05,640 --> 00:34:10,520 gayon ay alam mo kung ano ang hahanapin kung ikaw ay inspecting ang app statically. 486 00:34:10,520 --> 00:34:14,570 >> Ko lang ang nagpunta sa pamamagitan ng ang maramihang mga iba't ibang mga nakahahamak na aktibidad 487 00:34:14,570 --> 00:34:18,969 na nasaksihan namin sa ligaw, ngunit kung alin ang pinaka ginagamit ng marami? 488 00:34:18,969 --> 00:34:23,940 Iyon parehong pag-aaral mula sa North Carolina Estado Mobile Genome Project 489 00:34:23,940 --> 00:34:28,560 nai-publish na mga data, at doon ay isa lamang 4 lugar 490 00:34:28,560 --> 00:34:32,850 na nakita nila kung saan nagkaroon ng maraming gawain. 491 00:34:32,850 --> 00:34:35,370 37% ng apps ginawa pribilehiyo pagdulog, 492 00:34:35,370 --> 00:34:38,429 kaya sila ay may ilang uri ng jailbreak code sa doon 493 00:34:38,429 --> 00:34:42,070 kung saan sila sinubukan upang idulog pribilehiyo sa gayon na maaari nilang 494 00:34:42,070 --> 00:34:48,360 huwag utos API tumakbo ang operating system. 495 00:34:48,360 --> 00:34:52,520 45% ng apps out doon ginawa premium SMS, 496 00:34:52,520 --> 00:34:57,260 kaya iyan ay isang malaking porsyento na ay sinusubukan upang direktang pagkakitaan. 497 00:34:57,260 --> 00:35:02,640 93% ng ginawa remote control, kaya nila sinubukan i-set up ang isang net bot, isang net sa mobile bot. 498 00:35:02,640 --> 00:35:08,990 At harvested 45% na impormasyon ng pagkakakilanlan 499 00:35:08,990 --> 00:35:16,230 tulad ng mga numero ng telepono, UUIDs, GPS na lokasyon, mga account ng gumagamit, 500 00:35:16,230 --> 00:35:22,870 at ito ay nagdadagdag ng hanggang sa higit sa 100 dahil karamihan ng malware sinusubukan na gawin ang ilan sa mga bagay na ito. 501 00:35:22,870 --> 00:35:27,070 >> Pupunta ako upang lumipat sa ikalawang kalahati at makipag-usap tungkol sa mga kahinaan code. 502 00:35:27,070 --> 00:35:29,480 Ito ang pangalawang kalahati ng delikadong aktibidad. 503 00:35:29,480 --> 00:35:33,450 Ito ay kung saan talaga ang nag-develop ay gumagawa ng mga error. 504 00:35:33,450 --> 00:35:37,210 Ang isang lehitimong nag-develop pagsusulat ng isang lehitimong app 505 00:35:37,210 --> 00:35:41,830 ay gumagawa ng mga error o ay walang pinag-aralan ng mga panganib sa mga mobile platform. 506 00:35:41,830 --> 00:35:44,780 Sila lamang ay hindi alam kung paano gumawa ng isang secure na mobile app, 507 00:35:44,780 --> 00:35:47,700 o kung minsan sa developer ay hindi na nagmamalasakit sa paglalagay ng user sa panganib. 508 00:35:47,700 --> 00:35:50,850 Minsan bahagi ng kanilang mga modelo ng negosyo ay maaaring maging 509 00:35:50,850 --> 00:35:54,610 Pag-ani ng personal na impormasyon ng user. 510 00:35:54,610 --> 00:35:58,090 Iyon uri ng iba pang mga kategorya, at iyon ang dahilan kung bakit ang ilan sa mga ito ng nakahahamak 511 00:35:58,090 --> 00:36:03,200 kumpara sa lehitimong mga pagsisimula upang kunan ng dugo sa paglipas ng dahil mayroong pagkakaiba ng opinyon 512 00:36:03,200 --> 00:36:10,440 sa pagitan ng kung ano ang nais ni user at kung ano ang isinasaalang-alang ng gumagamit sa peligrosong 513 00:36:10,440 --> 00:36:13,050 at kung ano ang isinasaalang-alang peligroso ang nag-develop ng application. 514 00:36:13,050 --> 00:36:18,380 Siyempre, hindi ito data ng nag-develop ng application sa karamihan ng mga kaso. 515 00:36:18,380 --> 00:36:22,030 >> At pagkatapos ay sa wakas, isa pang paraan nangyari ito ay maaaring i-link sa isang developer 516 00:36:22,030 --> 00:36:28,600 isang ibinahaging library na may mga kahinaan o ito peligroso pag-uugali sa loob nito 517 00:36:28,600 --> 00:36:32,480 walang anumang kaalaman sa kanila. 518 00:36:32,480 --> 00:36:37,060 Ang unang kategorya ay sensitibong butas na tumutulo ng data, 519 00:36:37,060 --> 00:36:40,030 at ito ay kapag nangongolekta ang app impormasyon 520 00:36:40,030 --> 00:36:44,980 tulad ng lokasyon, impormasyon ng address book, impormasyon may-ari 521 00:36:44,980 --> 00:36:48,000 at ipapadala na-off ang aparato. 522 00:36:48,000 --> 00:36:53,050 At sa sandaling off ang aparato, hindi namin alam kung ano ang nangyayari sa na impormasyon. 523 00:36:53,050 --> 00:36:57,170 Maaaring ito ay naka-imbak insecurely sa pamamagitan ng nag-develop ng application. 524 00:36:57,170 --> 00:37:02,070 Nakita namin ang mga developer ng application makakuha nakompromiso, 525 00:37:02,070 --> 00:37:05,820 at ang data na ito ay naka-iimbak ng mga nakuhang kinunan. 526 00:37:05,820 --> 00:37:10,970 Nangyari ito ng ilang mga buwan na nakalipas sa isang developer pababa sa Florida 527 00:37:10,970 --> 00:37:21,660 kung saan isang malaking bilang ng mga-ito ay iPad UUIDs at mga pangalan ng device 528 00:37:21,660 --> 00:37:25,270 ay leaked dahil sa isang tao, sa tingin ko ito ay anonymous, 529 00:37:25,270 --> 00:37:29,460 inaangkin upang gawin ito, sinira sa mga server ng developer na ito 530 00:37:29,460 --> 00:37:34,920 at nakaagaw ng milyun-milyong mga iPad UUIDs 531 00:37:34,920 --> 00:37:37,390 at mga pangalan ng computer. 532 00:37:37,390 --> 00:37:40,260 Hindi ang pinaka-peligrosong impormasyon, 533 00:37:40,260 --> 00:37:46,820 ngunit kung ano kung na noon ay ang imbakan ng mga user name at password 534 00:37:46,820 --> 00:37:48,170 at mga address ng tahanan? 535 00:37:48,170 --> 00:37:51,100 Mayroong maraming mga apps na mag-imbak na uri ng impormasyon. 536 00:37:51,100 --> 00:37:53,230 Ang panganib ay doon. 537 00:37:53,230 --> 00:37:56,620 >> Ang iba pang mga bagay na maaaring mangyari ay kung ang developer ay hindi mag-ingat 538 00:37:56,620 --> 00:38:01,370 upang ma-secure ang data ng channel, at iyon ang isa pang malaking kahinaan Pupunta ako sa pag-uusapan, 539 00:38:01,370 --> 00:38:05,160 na ang data ay ipinadala sa malinaw. 540 00:38:05,160 --> 00:38:09,040 Kung ang gumagamit ay nasa isang pampublikong Wi-Fi network 541 00:38:09,040 --> 00:38:12,330 o may isang taong sniffing sa internet sa isang lugar 542 00:38:12,330 --> 00:38:19,260 kasama ang path na ang data ay nakalantad. 543 00:38:19,260 --> 00:38:23,790 Isang napaka sikat na kaso ng mga ito butas na tumutulo impormasyon nangyari sa Pandora, 544 00:38:23,790 --> 00:38:27,250 at ito ay isang bagay na namin sinaliksik sa Veracode. 545 00:38:27,250 --> 00:38:33,200 Narinig namin na nagkaroon tingin a-kong ito ay isang Federal Trade Commission 546 00:38:33,200 --> 00:38:35,310 pagsisiyasat ng pagpunta sa may Pandora. 547 00:38:35,310 --> 00:38:39,830 Sinabi namin, "Ano ang nangyayari sa doon? Ni magsimula paghuhukay sa Pandora application Hayaan." 548 00:38:39,830 --> 00:38:46,690 At kung ano ang tinutukoy namin ay ang Pandora application na nakolekta 549 00:38:46,690 --> 00:38:51,270 ang iyong kasarian at ang iyong edad, 550 00:38:51,270 --> 00:38:56,660 at ito rin access sa iyong lokasyon ng GPS, at ang Pandora application 551 00:38:56,660 --> 00:39:00,200 ginawa ito para sa kung ano ang kanilang sinabi ay lehitimong kadahilanan. 552 00:39:00,200 --> 00:39:05,360 Ang musika na sila ay naglalaro ng-Pandora ay isang musika streaming app- 553 00:39:05,360 --> 00:39:07,530 ang musika sila ay naglalaro ng ay lamang lisensyado sa Estados Unidos, 554 00:39:07,530 --> 00:39:13,020 kaya kinailangan nilang suriin upang sumunod sa kanilang mga kasunduan sa paglilisensya na sila ay nagkaroon ng 555 00:39:13,020 --> 00:39:17,240 para sa mga musika na ang gumagamit ay nasa Estados Unidos. 556 00:39:17,240 --> 00:39:25,070 Gusto rin nilang sumunod sa mga advisory ng magulang 557 00:39:25,070 --> 00:39:33,790 sa paligid adulto wika sa musika, 558 00:39:33,790 --> 00:39:37,500 at sa gayon ito ay isang kusang-loob na programa, ngunit ninais nilang sumunod sa na 559 00:39:37,500 --> 00:39:43,010 at hindi maglaro tahasang lyrics sa mga bata 13 at sa ilalim. 560 00:39:43,010 --> 00:39:46,280 >> Sila ay nagkaroon ng lehitimong kadahilanan para sa pagkolekta ng data na ito. 561 00:39:46,280 --> 00:39:49,160 Ang kanilang mga app ay nagkaroon ng pahintulot na gawin ito. 562 00:39:49,160 --> 00:39:52,000 Naisip mga gumagamit na ito ay lehitimo. Pero ano ang nangyari? 563 00:39:52,000 --> 00:39:55,810 Sila ay naka-link sa 3 o 4 na magkakaibang mga library ng ad. 564 00:39:55,810 --> 00:39:59,140 Ngayon ang lahat ng isang biglaang ang lahat ng mga aklatan ng ad 565 00:39:59,140 --> 00:40:02,970 nakakakuha ng access sa parehong impormasyon. 566 00:40:02,970 --> 00:40:05,830 Ang mga aklatan ng ad, kung tiningnan mo ang mga code na ito sa aklatan ng ad 567 00:40:05,830 --> 00:40:08,430 kung ano ang ginagawa nila ay nagsasabing bawat ad library 568 00:40:08,430 --> 00:40:11,340 "Ang aking mga app mayroon ba pahintulot na kumuha ng lokasyon ng GPS?" 569 00:40:11,340 --> 00:40:14,890 "Oh, ito? Okay, sabihin sa akin ang lokasyon ng GPS." 570 00:40:14,890 --> 00:40:16,620 Ang bawat solong library ng ad gumagana na, 571 00:40:16,620 --> 00:40:19,740 at kung ang app ay walang pahintulot GPS 572 00:40:19,740 --> 00:40:23,460 hindi ito magagawang upang makakuha ng mga ito, ngunit kung ito gumagana, ito ay makakuha ng ito. 573 00:40:23,460 --> 00:40:26,240 Ito ay kung saan ang modelo ng negosyo ng mga aklatan ng ad 574 00:40:26,240 --> 00:40:31,160 ay hindi kasang-ayon ang privacy ng user. 575 00:40:31,160 --> 00:40:34,980 At doon naging mga pag-aaral out doon na sabihin kung alam mo ang edad 576 00:40:34,980 --> 00:40:38,430 ng isang tao at alam mo ang kanilang lokasyon 577 00:40:38,430 --> 00:40:42,530 kung saan sila makatulog sa gabi, dahil mayroon kang kanilang mga coordinate sa GPS 578 00:40:42,530 --> 00:40:46,030 habang sila ay marahil ay natutulog, alam mo kung sino eksakto ang taong iyon ay 579 00:40:46,030 --> 00:40:50,230 dahil maaari mong matukoy kung aling mga miyembro ng sambahayan na taong iyon. 580 00:40:50,230 --> 00:40:54,780 Talagang ito ay pagkilala sa mga advertiser 581 00:40:54,780 --> 00:40:59,530 nang eksakto kung sino ka, at ito mukhang ito ay lehitimo. 582 00:40:59,530 --> 00:41:02,800 Gusto ko lang ang aking mga streaming ng musika, at ito ay ang tanging paraan upang makakuha ng mga ito. 583 00:41:02,800 --> 00:41:05,370 >> Well, nakalantad na namin ito. 584 00:41:05,370 --> 00:41:08,030 Sinulat ni namin ito hanggang sa ilang mga post sa blog, 585 00:41:08,030 --> 00:41:13,280 at ito naka-out na ang isang tao mula sa Rolling Stone magazine 586 00:41:13,280 --> 00:41:18,810 basahin ang isa sa aming mga post sa blog at sumulat si kanilang sariling mga blog sa Rolling Stone tungkol dito, 587 00:41:18,810 --> 00:41:22,120 at ang napaka susunod na araw naisip Pandora ito ay isang magandang ideya 588 00:41:22,120 --> 00:41:27,600 upang alisin ang mga library ng ad mula sa kanilang application. 589 00:41:27,600 --> 00:41:31,270 Sa pagkaalam ko sila lamang-ito ay dapat na commended. 590 00:41:31,270 --> 00:41:35,770 Sa tingin ko sila lamang ang freemium uri ng app na na tapos na ito. 591 00:41:35,770 --> 00:41:38,660 Ang lahat ng iba pang mga freemium apps mayroon ang parehong pag-uugali, 592 00:41:38,660 --> 00:41:41,780 kaya na kailangan mong isipin ang tungkol sa kung anong uri ng data na iyong pagbibigay 593 00:41:41,780 --> 00:41:48,330 mga freemium application dahil ang lahat ng ito ang nangyayari sa mga advertiser. 594 00:41:48,330 --> 00:41:53,390 Praytoryan ginawa din ng pag-aaral tungkol sa ibinahaging library at sinabing, 595 00:41:53,390 --> 00:41:57,100 "Tingnan natin kung ano ang ibinahagi aklatan ay ang mga nangungunang Nagbahagi aklatan Hayaan," at ito ay ang data. 596 00:41:57,100 --> 00:41:59,420 >> Pinag-aralan ng mga ito 53,000 apps, 597 00:41:59,420 --> 00:42:01,900 at ang bilang 1 nakabahaging library ay AdMob. 598 00:42:01,900 --> 00:42:06,060 Ito ay talagang sa 38% ng mga application out doon, 599 00:42:06,060 --> 00:42:08,800 kaya 38% ng mga application na iyong ginagamit 600 00:42:08,800 --> 00:42:11,250 ay malamang Pag-ani ng iyong personal na impormasyon 601 00:42:11,250 --> 00:42:16,650 at ipadala ito sa mga network ng ad. 602 00:42:16,650 --> 00:42:19,350 Apache at Android ay 8% at 6%, 603 00:42:19,350 --> 00:42:22,960 at pagkatapos ay ang mga iba pang down na mga bago sa ibaba, Google Ads, biglang pagkakagulo, 604 00:42:22,960 --> 00:42:26,600 Nagkakagulong mga tao City at ng sanlibong taon Media, 605 00:42:26,600 --> 00:42:30,500 ang mga ito ay ang lahat ng mga kumpanya ng ad, at pagkatapos, nang kawili-wili sapat, 606 00:42:30,500 --> 00:42:33,500 4% na naka-link sa Facebook library 607 00:42:33,500 --> 00:42:38,870 malamang na gawin ang pagpapatotoo sa pamamagitan ng Facebook 608 00:42:38,870 --> 00:42:40,810 kaya ang app ay maaaring patotohanan ang Facebook. 609 00:42:40,810 --> 00:42:44,660 Ngunit na nangangahulugan din ang korporasyon kumokontrol Facebook code 610 00:42:44,660 --> 00:42:49,010 na tumatakbo sa 4% ng mga mobile na app sa Android out doon, 611 00:42:49,010 --> 00:42:53,490 at mayroon silang access sa lahat ng data na app na may pahintulot na makakuha ng sa. 612 00:42:53,490 --> 00:42:57,170 Facebook mahalagang sinusubukan upang magbenta ng puwang sa advertising. 613 00:42:57,170 --> 00:43:00,120 Iyon ang kanilang mga modelo ng negosyo. 614 00:43:00,120 --> 00:43:02,920 >> Kung tumingin ka sa ito buong ecosystem may mga pahintulot 615 00:43:02,920 --> 00:43:07,740 at ibinahagi aklatan nagsimula ka upang makita na 616 00:43:07,740 --> 00:43:13,850 mayroon kang maraming mga panganib sa isang parang lehitimong application. 617 00:43:13,850 --> 00:43:19,360 Ang parehong mga katulad na bagay na nangyari sa Pandora 618 00:43:19,360 --> 00:43:22,340 nangyari na may isang application na tinatawag na Landas, 619 00:43:22,340 --> 00:43:27,660 at Path inisip nila ay pagiging kapaki-pakinabang, friendly na mga developer. 620 00:43:27,660 --> 00:43:32,160 Sila ay lamang sinusubukan upang bigyan ka ng isang mahusay na karanasan ng gumagamit, 621 00:43:32,160 --> 00:43:37,810 at ito naka-out na walang pagdikta ang user o pagsasabi ng user ang anumang bagay- 622 00:43:37,810 --> 00:43:40,400 at ito ang nangyari sa iPhone at sa Android, 623 00:43:40,400 --> 00:43:44,420 ang Pandora app ay sa iPhone at Android 624 00:43:44,420 --> 00:43:48,890 na ang application Path ay daklot ang iyong buong address book 625 00:43:48,890 --> 00:43:52,830 at pag-upload ito sa Path lamang kapag nag-install at nagpatakbo ng application, 626 00:43:52,830 --> 00:43:55,840 at hindi nila sabihin sa iyo ang tungkol dito. 627 00:43:55,840 --> 00:43:58,750 Inisip nila ito ay talagang kapaki-pakinabang para sa iyo 628 00:43:58,750 --> 00:44:04,040 upang magagawang upang ibahagi sa lahat ng tao sa iyong address book 629 00:44:04,040 --> 00:44:06,920 na ginagamit mo ang application Path. 630 00:44:06,920 --> 00:44:09,490 >> Well, malinaw naman Path naisip na ito ay mahusay para sa kanilang kumpanya. 631 00:44:09,490 --> 00:44:13,510 Hindi kaya mahusay na sa user. 632 00:44:13,510 --> 00:44:19,020 Mayroon kang mag-isip na ito ay isang bagay kung siguro isang binatilyo 633 00:44:19,020 --> 00:44:23,700 ay gumagamit ng application na ito at ang kanilang mga dose-dosenang mga kaibigan ay sa doon, 634 00:44:23,700 --> 00:44:29,360 ngunit kung ano kung ito ay ang CEO ng isang kumpanya na i-install ng Path 635 00:44:29,360 --> 00:44:33,170 at pagkatapos ay biglang-bigla ang kanilang buong address book up doon? 636 00:44:33,170 --> 00:44:38,310 Ikaw ay pagpunta upang makakuha ng maraming mga potensyal na mahalagang impormasyon sa pakikipag-ugnay 637 00:44:38,310 --> 00:44:40,920 para sa maraming mga tao. 638 00:44:40,920 --> 00:44:44,500 Ang isang reporter mula sa New York Times, na maaaring magawa upang makuha ang numero ng telepono 639 00:44:44,500 --> 00:44:47,380 para sa ex ng Presidente mula sa kanilang address book, 640 00:44:47,380 --> 00:44:54,780 kaya malinaw naman ng maraming sensitibong impormasyon ay makakakuha ng inilipat sa isang bagay na katulad nito. 641 00:44:54,780 --> 00:44:58,090 Nagkaroon tulad ng isang malaking flap tungkol sa Path na ng paumanhin. 642 00:44:58,090 --> 00:45:01,610 Binago nila ang kanilang app, at ito kahit na magkaroon ng epekto sa Apple. 643 00:45:01,610 --> 00:45:06,950 Sinabi ni Apple, "Kami ay pagpunta upang pilitin mga vendor ng app upang i-prompt ang mga gumagamit 644 00:45:06,950 --> 00:45:12,650 kung sila ay pagpunta upang mangolekta ng kanilang buong address book. " 645 00:45:12,650 --> 00:45:15,360 >> Mukhang kung ano ang nangyayari dito ay 646 00:45:15,360 --> 00:45:19,430 kapag mayroong isa malaki paglabag sa privacy at ito ay gumagawa ng pindutin ang 647 00:45:19,430 --> 00:45:21,680 nakita namin ang isang pagbabago out doon. 648 00:45:21,680 --> 00:45:23,230 Ngunit siyempre, mayroong iba pang mga bagay out doon. 649 00:45:23,230 --> 00:45:27,440 Harvests Ang LinkedIn application ang iyong mga entry sa kalendaryo, 650 00:45:27,440 --> 00:45:34,530 ngunit Apple ay hindi gumagawa ng user ang prompt tungkol sa na. 651 00:45:34,530 --> 00:45:38,030 Mga entry Calendar ay maaaring magkaroon ng masyadong sensitibong impormasyon sa kanila. 652 00:45:38,030 --> 00:45:40,000 Saan kayo pagpunta sa gumuhit ng linya? 653 00:45:40,000 --> 00:45:43,960 Ito ay talagang uri ng isang umuunlad na lugar 654 00:45:43,960 --> 00:45:47,640 kung saan mayroong talagang walang magandang standard out doon 655 00:45:47,640 --> 00:45:51,990 para sa mga gumagamit upang maunawaan kapag ang kanilang impormasyon ay magiging nasa panganib 656 00:45:51,990 --> 00:45:57,820 at kapag sila ay pagpunta sa malaman ito ay dalhin. 657 00:45:57,820 --> 00:46:03,040 Sinulat ni kami ng isang app sa Veracode tinatawag Adios, 658 00:46:03,040 --> 00:46:08,350 at lubos na ito pinapayagan ka upang ituro ang app sa iyong direktoryo ng iTunes 659 00:46:08,350 --> 00:46:12,550 at tumingin sa lahat ng mga application na na-ani ng iyong buong address book. 660 00:46:12,550 --> 00:46:19,760 At bilang maaari mong makita sa listahang ito dito, galit na mga ibon, 661 00:46:19,760 --> 00:46:21,590 AIM, AroundMe. 662 00:46:21,590 --> 00:46:24,050 Bakit ang Nagagalit ibon kailangan iyong address book? 663 00:46:24,050 --> 00:46:29,160 Hindi ko alam, ngunit ginagawa nito kahit paano. 664 00:46:29,160 --> 00:46:32,310 >> Ito ay isang bagay na gawin marami, maraming mga application. 665 00:46:32,310 --> 00:46:34,780 Maaari mong siyasatin ang code para dito. 666 00:46:34,780 --> 00:46:38,660 Mayroon maayos na natukoy na mga API para sa iPhone, Android at BlackBerry 667 00:46:38,660 --> 00:46:42,120 upang makakuha ng sa address book. 668 00:46:42,120 --> 00:46:48,520 Maaari mo ba talagang madali siyasatin para sa ito, at ito ay kung ano ang ginawa namin sa aming Adios application. 669 00:46:48,520 --> 00:46:52,320 Ang susunod na kategorya, hindi ligtas na Imbakan Sensitive Data, 670 00:46:52,320 --> 00:46:55,670 ay isang bagay na kung saan ang mga developer tumagal ng isang bagay tulad ng isang pin o isang numero ng account 671 00:46:55,670 --> 00:46:58,530 o isang password at mag-store ito sa malinaw sa device. 672 00:46:58,530 --> 00:47:02,310 Kahit na mas masahol pa, maaaring mag-imbak ng nila ito sa isang lugar sa telepono 673 00:47:02,310 --> 00:47:06,820 na kung saan ay globally-access, tulad ng SD card. 674 00:47:06,820 --> 00:47:11,320 Ang makikita mo ito nang mas madalas sa Android dahil nagbibigay-daan sa Android para sa isang SD card. 675 00:47:11,320 --> 00:47:13,200 IPhone mga aparato ay hindi. 676 00:47:13,200 --> 00:47:17,900 Ngunit nakita namin kahit na ito mangyari sa isang CitiGroup application. 677 00:47:17,900 --> 00:47:25,450 Ang kanilang online banking application na naka-imbak ang mga numero ng account insecurely, 678 00:47:25,450 --> 00:47:28,120 lamang sa malinaw, kaya kung nawala mo ang iyong aparato, 679 00:47:28,120 --> 00:47:30,670 mahalagang nawala mo ang iyong bank account. 680 00:47:30,670 --> 00:47:36,000 Ito ang dahilan kung bakit ako personal na huwag gawin banking sa aking iPhone. 681 00:47:36,000 --> 00:47:43,710 Sa tingin ko ay masyadong peligroso ngayon ang gagawin ng mga ganitong uri ng gawain. 682 00:47:43,710 --> 00:47:45,950 >> Skype ginawa ang parehong bagay. 683 00:47:45,950 --> 00:47:49,870 Skype, siyempre, ay may balanse sa account, isang user name at password 684 00:47:49,870 --> 00:47:51,030 na-access sa balanseng iyon. 685 00:47:51,030 --> 00:48:00,080 Sila ay nag-iimbak ng lahat ng impormasyon na iyon sa malinaw sa mga mobile device. 686 00:48:00,080 --> 00:48:05,760 Mayroon akong ilang mga halimbawa dito ng paglikha ng mga file 687 00:48:05,760 --> 00:48:10,310 na hindi ay may karapatan na mga pahintulot o pagsulat sa disc 688 00:48:10,310 --> 00:48:17,260 at hindi pagkakaroon ng mangyari ang anumang encryption para sa mga iyon. 689 00:48:17,260 --> 00:48:20,190 Ang susunod na lugar, hindi ligtas na Sensitibong Transmission Data, 690 00:48:20,190 --> 00:48:24,450 Na alluded kong ito nang ilang beses, at dahil sa pampublikong Wi-Fi 691 00:48:24,450 --> 00:48:27,770 ito ay isang bagay na apps talagang kailangan na gawin, 692 00:48:27,770 --> 00:48:31,250 at ito ay marahil kung ano ang nakikita namin magkamali ang pinaka. 693 00:48:31,250 --> 00:48:34,920 Gusto ko sabihin-aktwal na, sa tingin ko ba akong magkaroon ng aktwal na data, 694 00:48:34,920 --> 00:48:38,120 subalit ito ay malapit sa kalahati ng mga mobile application 695 00:48:38,120 --> 00:48:41,780 magtaas paggawa ng SSL. 696 00:48:41,780 --> 00:48:43,910 Sila lamang ay hindi gumagamit ng mga API nang tama. 697 00:48:43,910 --> 00:48:47,970 Ibig kong sabihin, ang lahat na kailangan mong gawin ay sundin ang mga tagubilin at gamitin ang mga API, 698 00:48:47,970 --> 00:48:54,720 ngunit sila ay hindi ko mga bagay tulad ng check kung mayroong isang di-wastong certificate sa kabilang dulo, 699 00:48:54,720 --> 00:49:02,120 hindi suriin kung ang kabilang dulo ay sinusubukan na gawin ang isang protocol downgrade atake. 700 00:49:02,120 --> 00:49:07,200 >> Ang mga developer, nais nilang makuha ang kanilang mga checkbox, tama? 701 00:49:07,200 --> 00:49:11,910 Ang kanilang mga pangangailangan ay ang gamitin ito upang magbenta. Ginagamit na nila ito upang magbenta. 702 00:49:11,910 --> 00:49:14,800 Ang kinakailangan ay hindi gamitin ito upang magbenta ng ligtas, 703 00:49:14,800 --> 00:49:19,680 at kaya ito ang dahilan kung bakit lahat ng mga application na gumagamit ng SSL upang ma-secure ang data 704 00:49:19,680 --> 00:49:23,470 bilang ito ay ini-transmitted off talaga kailangan ang aparato upang ma-siniyasat 705 00:49:23,470 --> 00:49:28,950 upang siguraduhin na naipatupad nang tama. 706 00:49:28,950 --> 00:49:32,850 At dito Mayroon akong ilang mga halimbawa kung saan maaari mong makita ang isang application 707 00:49:32,850 --> 00:49:37,400 Maaaring gamit ang HTTP sa halip ng HTTPS. 708 00:49:37,400 --> 00:49:40,510 Sa ilang mga kaso ay umurong ang apps na HTTP 709 00:49:40,510 --> 00:49:44,250 kung ang HTTPS ay hindi gumagana. 710 00:49:44,250 --> 00:49:49,070 Mayroon akong isa pang tawag dito sa Android kung saan ito ay nai pinagana ang check sertipiko, 711 00:49:49,070 --> 00:49:51,700 kaya isang tao-in-the-gitna-atake ay maaaring mangyari. 712 00:49:51,700 --> 00:49:56,370 Ang isang di-wastong certificate tatanggapin. 713 00:49:56,370 --> 00:50:01,920 Ang mga ito ang lahat ng mga kaso kung saan attackers ay pagpunta sa magagawang upang makakuha ng sa 714 00:50:01,920 --> 00:50:07,150 ang parehong koneksyon sa Wi-Fi bilang ng gumagamit at i-access ang lahat ng data 715 00:50:07,150 --> 00:50:11,650 na ipinapadala sa internet. 716 00:50:11,650 --> 00:50:15,970 >> At sa wakas, ang huling kategorya Mayroon akong dito ay hardcoded password at key. 717 00:50:15,970 --> 00:50:21,470 Talaga namin makita ang marami ng mga developer gamitin ang parehong estilo coding 718 00:50:21,470 --> 00:50:25,900 na ginawa nila kapag sila ay pagbuo ng mga application sa web server, 719 00:50:25,900 --> 00:50:29,700 kaya sila ay pagbuo ng isang server application ng Java, at sila ay hardcoding ang key. 720 00:50:29,700 --> 00:50:31,940 Well, kapag ikaw ay pagbuo ng isang application server, oo, 721 00:50:31,940 --> 00:50:34,240 hardcoding ang key ay hindi isang magandang ideya. 722 00:50:34,240 --> 00:50:36,290 Ginagawang mahirap na baguhin. 723 00:50:36,290 --> 00:50:40,700 Ngunit ito ay hindi kaya masamang sa gilid ng server dahil kung sino ang may access sa panig ng server? 724 00:50:40,700 --> 00:50:43,140 Tanging ang mga administrator. 725 00:50:43,140 --> 00:50:48,100 Subalit kung gagawin mo ang parehong code at mo poured ito sa paglipas ng sa isang mobile application 726 00:50:48,100 --> 00:50:52,550 ngayon sa lahat na mayroon na sa mobile application ang may access sa na hardcoded key, 727 00:50:52,550 --> 00:50:56,380 at talaga naming makita ito ng maraming beses, at Mayroon akong ilang mga istatistika 728 00:50:56,380 --> 00:51:00,920 sa kung gaano kadalas namin nakikita mangyari ito. 729 00:51:00,920 --> 00:51:04,940 Ito talaga ay nasa halimbawang code na MasterCard publish 730 00:51:04,940 --> 00:51:06,850 kung paano gamitin ang kanilang mga serbisyo. 731 00:51:06,850 --> 00:51:11,860 Ang halimbawa code ay nagpakita kung paano mo tumagal lamang ang password 732 00:51:11,860 --> 00:51:14,850 at ilagay ito sa isang hardcoded string doon, 733 00:51:14,850 --> 00:51:19,380 at alam namin kung gaano ibigin developer upang kopyahin at i-paste ang mga snippet ng code 734 00:51:19,380 --> 00:51:22,360 kapag sila ay sinusubukan na gawin ang isang bagay, kaya kopyahin mo at i-paste ang code snippet 735 00:51:22,360 --> 00:51:28,450 na nagbigay sila bilang halimbawa code, at mayroon kang isang hindi secure na application. 736 00:51:28,450 --> 00:51:31,490 >> At dito mayroon kaming ilang mga halimbawa. 737 00:51:31,490 --> 00:51:35,840 Ang unang isa ay isa na nakikita namin ng maraming kung saan sila hardcode 738 00:51:35,840 --> 00:51:40,510 ang data pakanan papunta sa isang URL na ay makakakuha ng nagpadala. 739 00:51:40,510 --> 00:51:45,120 Minsan nakikita namin string password = ang password. 740 00:51:45,120 --> 00:51:49,060 Iyon ay medyo madali upang makita, o string password sa Blackberry at Android. 741 00:51:49,060 --> 00:51:53,680 Ito ay talagang medyo madali upang tingnan ang mga dahil halos palaging 742 00:51:53,680 --> 00:51:57,030 ang mga pangalan ng nag-develop ng variable na hinahawakan ang password 743 00:51:57,030 --> 00:52:02,290 ilang mga pagkakaiba-iba ng password. 744 00:52:02,290 --> 00:52:05,200 Binanggit ko na ang ginagawa namin static analysis sa Veracode, 745 00:52:05,200 --> 00:52:11,790 kaya Pinag-aralan namin ang ilang daang mga application ng Android at iOS. 746 00:52:11,790 --> 00:52:15,160 Binuo namin ang buong modelo ng mga ito, at hindi namin magagawang upang i-scan ang mga ito 747 00:52:15,160 --> 00:52:19,280 para sa iba't ibang mga kahinaan, lalo na ang mga kahinaan ay pakikipag-usap ko tungkol sa, 748 00:52:19,280 --> 00:52:21,050 at Mayroon akong ilang mga data dito. 749 00:52:21,050 --> 00:52:24,320 68.5% ng Android apps itinuturing namin ang 750 00:52:24,320 --> 00:52:28,590 ay pinaghiwa-cryptographic code, 751 00:52:28,590 --> 00:52:33,240 na para sa amin, hindi namin kayang sundan kung ginawa mo ang iyong sariling crypto routine, 752 00:52:33,240 --> 00:52:38,980 hindi na na isang magandang ideya, ngunit ito ay aktwal na paggamit ng nai-publish na mga API 753 00:52:38,980 --> 00:52:42,530 na sa platform ngunit ginagawa ang mga ito sa paraang 754 00:52:42,530 --> 00:52:46,680 na ang crypto ay magiging mahina laban, 68.5. 755 00:52:46,680 --> 00:52:49,870 At ito ay para sa mga tao na ipinadadala sa amin ang kanilang mga application talaga dahil 756 00:52:49,870 --> 00:52:53,730 sa tingin nila ito ay isang magandang ideya na gawin ang pagsubok sa seguridad. 757 00:52:53,730 --> 00:52:56,960 Ang mga ito ay na ang mga tao na malamang na pag-iisip nang ligtas, 758 00:52:56,960 --> 00:52:59,540 kaya ito ay marahil kahit na mas masahol pa. 759 00:52:59,540 --> 00:53:02,690 >> Hindi ko makipag-usap tungkol sa kontrol linya feed iniksyon. 760 00:53:02,690 --> 00:53:07,640 Ito ay isang bagay na suriin namin para sa, ngunit ito ay hindi na peligrosong isang isyu. 761 00:53:07,640 --> 00:53:15,390 Impormasyon sa butas na tumutulo, ito ay kung saan ang sensitibong data na ipinapadala off ang aparato. 762 00:53:15,390 --> 00:53:19,270 Nalaman namin na sa 40% ng mga application. 763 00:53:19,270 --> 00:53:23,540 Oras at estado, mga mga isyu uri kondisyon lahi, karaniwang medyo mahirap na maningning na tagumpay, 764 00:53:23,540 --> 00:53:26,170 kaya hindi ko makipag-usap tungkol sa na, ngunit itinuturing namin ang ito. 765 00:53:26,170 --> 00:53:28,750 23% ay nagkaroon ng mga isyu iniksyon SQL. 766 00:53:28,750 --> 00:53:32,020 Ang isang pulutong ng mga tao ay hindi alam na ng maraming mga application 767 00:53:32,020 --> 00:53:35,880 gumamit ng isang maliit na maliit na database ng SQL sa kanilang pagtatapos pabalik upang mag-imbak ng data. 768 00:53:35,880 --> 00:53:40,430 Well, kung ang data na naka-daklot sa network 769 00:53:40,430 --> 00:53:43,800 May mga string ng SQL iniksyon atake sa loob nito 770 00:53:43,800 --> 00:53:45,970 isang tao ay maaaring ikompromiso ang aparato sa pamamagitan ng na, 771 00:53:45,970 --> 00:53:49,800 at kaya tingin ko nakita namin tungkol sa 40% ng mga web application mayroon ang problemang ito, 772 00:53:49,800 --> 00:53:52,840 na kung saan ay isang malaking problema epidemya. 773 00:53:52,840 --> 00:53:55,740 Nakakatagpo kami ng ito 23% ng panahon sa mobile apps 774 00:53:55,740 --> 00:54:02,030 at iyon marahil dahil sa marami pang mga web application gamitin SQL kaysa sa mobile. 775 00:54:02,030 --> 00:54:05,580 >> At pagkatapos pa rin makita namin ang ilang scripting cross-site, mga isyu sa pag-debit, 776 00:54:05,580 --> 00:54:09,400 at pagkatapos ay sa pamamahala ng kredensyal, na kung saan mayroon kang ang iyong hardcoded password. 777 00:54:09,400 --> 00:54:14,540 Sa 5% ng mga application na nakikita namin iyon. 778 00:54:14,540 --> 00:54:17,970 At pagkatapos ay mayroon kaming ilang mga data sa iOS. 779 00:54:17,970 --> 00:54:20,180 81% ay nagkaroon ng mga isyu sa pag-asikaso ng error. 780 00:54:20,180 --> 00:54:23,130 Ito ay higit pa sa isang problema sa kalidad ng code, 781 00:54:23,130 --> 00:54:28,010 ngunit 67% ay nagkaroon ng cryptographic mga isyu, kaya hindi pa bilang masamang bilang Android. 782 00:54:28,010 --> 00:54:32,440 Siguro ay Medyo mas madali ang mga API, halimbawa sa mga code ng kaunti mas mahusay sa iOS. 783 00:54:32,440 --> 00:54:35,420 Ngunit pa rin napakataas na porsyento. 784 00:54:35,420 --> 00:54:39,040 Nagkaroon kami ng 54% gamit ang butas na tumutulo impormasyon, 785 00:54:39,040 --> 00:54:42,080 tungkol sa 30% na may mga error sa pamamahala ng buffer. 786 00:54:42,080 --> 00:54:45,930 Iyon ang mga lugar kung saan may potensyal na maaaring maging isang isyu katiwalian memorya. 787 00:54:45,930 --> 00:54:50,350 Ito ay lumiliko out na hindi iyon kasing dami ng isang problema para sa pagsasamantala 788 00:54:50,350 --> 00:54:56,450 sa iOS dahil ang lahat ang code ay naka-sign, 789 00:54:56,450 --> 00:55:02,210 kaya mahirap para sa isang umaatake upang isakatuparan arbitrary code sa iOS. 790 00:55:02,210 --> 00:55:07,880 Kalidad Code, na direktoryo ng traversal, ngunit pagkatapos ay kredensyal pamamahala dito sa 14.6%, 791 00:55:07,880 --> 00:55:09,250 kaya mas masama kaysa sa Android. 792 00:55:09,250 --> 00:55:13,240 Mayroon kaming hindi paghawak ng mga tao ang mga password ng tama. 793 00:55:13,240 --> 00:55:15,790 At pagkatapos ay ang numeric na mga error at buffer overflow, 794 00:55:15,790 --> 00:55:22,680 iyon ay higit pa ng pagpunta sa maging isyu sa kalidad code sa iOS. 795 00:55:22,680 --> 00:55:26,110 >> Iyon ay ito para sa aking mga presentasyon. Hindi ko alam kung hindi kami out ng oras o hindi. 796 00:55:26,110 --> 00:55:29,540 Hindi ko alam kung mayroong anumang mga katanungan. 797 00:55:29,540 --> 00:55:33,220 [Male] Ang isang mabilis na tanong sa paligid pagkapira-piraso at sa Android market. 798 00:55:33,220 --> 00:55:36,240 Apple ng hindi bababa sa nagmamay-ari ng patching. 799 00:55:36,240 --> 00:55:40,780 Gawin nila ang isang mahusay na trabaho ng pagkuha ng ito out doon samantalang mas mababa kaya sa Android espasyo. 800 00:55:40,780 --> 00:55:44,280 Malapit na kayong kailangan upang jailbreak ang iyong telepono upang manatili sa kasalukuyang 801 00:55:44,280 --> 00:55:46,660 gamit ang mga kasalukuyang release ng Android. 802 00:55:46,660 --> 00:55:50,960 Oo, iyan ay isang malaking problema at kaya kung sa tingin mo tungkol- 803 00:55:50,960 --> 00:55:52,280 [Male] Bakit hindi mo ulitin ito? 804 00:55:52,280 --> 00:55:55,610 >> Oh, kanan, kaya ang tanong ay kung ano ang tungkol sa pagkapira-piraso 805 00:55:55,610 --> 00:56:00,410 ng mga operating system sa Android platform? 806 00:56:00,410 --> 00:56:05,890 Paano gumagana ang na makakaapekto sa mga panganib ng mga aparatong iyon? 807 00:56:05,890 --> 00:56:09,700 At ito talaga ay isang malaking problema dahil kung ano ang mangyayari ay 808 00:56:09,700 --> 00:56:15,110 ang mas lumang mga aparato, kapag ang isang tao ay lumalabas na may jailbreak para sa device na iyon, 809 00:56:15,110 --> 00:56:19,960 tunay na pribilehiyo pagdulog, at hanggang sa na operating system ay na-update 810 00:56:19,960 --> 00:56:25,350 Maaari pagkatapos ay gamitin ang anumang malware na kahinaan upang lubos na ikompromiso ang aparato, 811 00:56:25,350 --> 00:56:30,200 at kung ano ang aming nakikita sa Android ay sa pagkakasunud-sunod upang makakuha ng isang bagong operating system 812 00:56:30,200 --> 00:56:34,690 Ang Google ay may upang ilabas ang operating system, at pagkatapos ay ang tagagawa ng hardware 813 00:56:34,690 --> 00:56:39,390 May upang i-customize ito, at pagkatapos ay ang carrier ay may upang i-customize ito at ihahatid ito. 814 00:56:39,390 --> 00:56:43,070 Mayroon kang talaga 3 gumagalaw na bahagi dito, 815 00:56:43,070 --> 00:56:47,210 at ito ay nagiging out na ang mga carrier ay hindi na mahalaga, 816 00:56:47,210 --> 00:56:50,400 at ang mga tagagawa ng hardware ay hindi na mahalaga, at Google ay hindi prodding kanila sapat 817 00:56:50,400 --> 00:56:54,430 gumawa ng kahit ano, kaya mahalagang higit sa kalahati ng mga aparato out doon 818 00:56:54,430 --> 00:57:00,590 may mga operating system na may mga pribilehiyo pagdami ang mga kahinaan sa kanila, 819 00:57:00,590 --> 00:57:08,440 at kaya kung ikaw ay makakuha ng malware sa iyong Android device na ito ay higit pa sa isang problema. 820 00:57:08,440 --> 00:57:10,350 >> Okay, salamat sa iyo talaga. 821 00:57:10,350 --> 00:57:12,310 [Palakpakan] 822 00:57:12,310 --> 00:57:14,310 [CS50.TV]