[Seminar] [pagtatanggol Sa likod ng Device: Mobile Application Security] [Chris Wysopal] [Harvard University] [Ito ay CS50.] [CS50.TV] Magandang hapon. Ang pangalan ko ay Chris Wysopal. Ako ang CTO at co-founder ng Veracode. Veracode ay isang kompanya ng seguridad application. Subukan namin ang lahat ng mga uri ng mga iba't ibang mga application, at kung ano pupuntahan ko na makipag-usap tungkol sa ngayon ay seguridad sa mobile application. Ang aking background ay ko ang paggawa seguridad pananaliksik para sa isang napaka-haba ng panahon, marahil tungkol sa hangga't ang sinuman. Sinimulan ko sa kalagitnaan mula sa 90s, at ito ay isang oras na iyon ay medyo kawili-wiling dahil nagkaroon kami ng pagbabago tularan sa kalagitnaan mula sa 90s. Ang lahat ng mga computer ng isang biglaang lahat ay baluktot up sa internet, at pagkatapos ay nagkaroon kami ng Beginnings ng mga web application, at iyon ang kung ano ang aking nakatutok sa marami pagkatapos. Ito ay kawili-wili. Ngayon kami ay may isa pang pagbabago tularan nangyayari sa computing, kung saan ay ang shift sa mga mobile application. Sa tingin ko ito ay uri ng isang katulad na oras pagkatapos ito ay nasa late mula sa 90s kung kailan namin sinisiyasat ang mga web application at paghahanap ng mga depekto tulad ng Mga error sa pamamahala ng session at SQL iniksyon kung saan talaga ay hindi umiiral ang bago, at lahat ng isang biglaang sila ay lahat ng dako sa mga web application, at ngayon ng maraming oras ang gagastusin ko tumitingin sa mga mobile application at tumitingin sa kung ano ang nangyayari sa labas doon sa ligaw. Mga application na mobile ay talagang pagpunta sa maging ang nangingibabaw platform computing, kaya talagang kailangan naming gastusin ng maraming oras kung ikaw ay sa industriya ng seguridad tumututok sa mga web application. Nagkaroon ng mga 29000000000 mobile apps na-download sa 2011. Ito ay hinulaang upang maging 76000000000 apps sa pamamagitan ng 2014. Mayroong 686,000,000 na aparato na ay pagpunta sa bilhin ito taon, kaya ito ay kung saan ang mga tao ay pagpunta sa ginagawa  ang karamihan ng kanilang mga client computing pasulong. Ako ay pakikipag-usap sa isang vice president sa Fidelity Investments ng ilang mga buwan na nakalipas, at sinabi niya nakita nila lamang ng mas maraming trapiko paggawa mga financial transactions mula sa kanilang customer base sa kanilang mga application sa mobile kaysa sa kanilang website, kaya isang karaniwang paggamit para sa Web sa nakaraan ay naging pagsuri ng iyong mga stock quote, sa pamamahala ng iyong portfolio, at kami ay aktwal na nakikita na sa 2012 lumipat sa paglipas ng na maging mas nangingibabaw sa mga mobile platform. Tiyak kung may pupuntahan maging anumang kriminal na aktibidad, anumang mga nakahahamak na aktibidad, ito ay pagpunta sa simulan na nakatuon sa mga mobile platform sa paglipas ng panahon bilang mga tao lumipat sa na. Kung tumingin ka sa mobile platform, upang tumingin sa mga panganib ng platform ito ay kapaki-pakinabang upang masira ito down sa mga iba't ibang mga layer, tulad lamang ng gusto mong gawin ito sa isang desktop computer, at sa tingin mo tungkol sa iba't ibang mga layer, software, operating system, layer network, hardware layer, at siyempre, may mga kahinaan sa lahat ng mga layer. Ang parehong bagay ang mangyayari sa mga mobile. Ngunit sa mobile, tila na ang ilan sa mga layer ay mas masahol off. Para sa isa, ang layer ng network ay mas may problemang sa mga mobile dahil maraming mga tao ay may sa kanilang mga opisina o sa bahay wired na koneksyon o mayroon silang secure na Wi-Fi na koneksyon, at na may maraming mga mobile na mga aparato ikaw ay malinaw naman sa labas ng bahay o sa labas ng tanggapan ng maraming, at kung gumagamit ka ng Wi-Fi doon sa iyo ay maaaring gamit ang isang hindi secure na Wi-Fi connection, isang bagay na ang isang pampublikong koneksyon sa Wi-Fi, kaya kapag sa tingin namin tungkol sa mobile apps na mayroon kami sa isinasaalang-alang ng na ang kapaligiran ng network ay riskier para sa mga application na iyon kapag Wi-Fi ay ginagamit. At kapag nakakuha ako sa higit pa ng mga panganib sa mobile application makikita mo kung bakit na mas mahalaga. May mga panganib sa antas ng hardware sa mga mobile device. Ito ay isang lugar ng patuloy na pananaliksik. Mga Tao tumawag sa mga pag-atake ng broadband o pag-atake baseband kung saan ka na umaatake ang firmware na nakikinig sa radyo. Ang mga ito ay talagang katakot-takot na pag-atake dahil ang gumagamit ay hindi na kailangang gumawa ng kahit ano. Maaari ninyong pindutin ng maraming mga aparato sa loob ng hanay ng RF nang sabay-sabay, at ito ay tila tulad ng kailanman mga bula up na ito pananaliksik ito ay makakakuha ng mabilis na naiuri kung saan mga tao salimbay sa paligid at sabihin, "Narito, sabihin sa amin ang tungkol sa na, at mangyaring ihinto ang pakikipag-usap tungkol dito." Mayroong ilang mga pananaliksik ng pagpunta sa sa broadband area, ngunit tila upang maging napaka-katahimikan katahimikan. Sa tingin ko ito ay higit pa sa isang uri ng estado bansa ng pananaliksik na ang nangyayari sa. Isang lugar ng aktibong pananaliksik, bagaman, ay ang layer ng operating system, at muli, ito ay iba kaysa sa desktop computing mundo dahil sa mobile space mayroon kang mga koponan ng mga tao na tinatawag na jailbreakers, at jailbreakers ay iba kaysa sa regular na mga mananaliksik kahinaan. Sila ay sinusubukan upang mahanap ang mga kahinaan sa operating system, ngunit ang kadahilanan nila sinusubukan upang mahanap ang mga kahinaan ay hindi upang masira sa makina ng ibang tao at ikompromiso ito. Ito ay upang buksan sa kanilang mga sariling computer. Gusto nilang masira sa kanilang sariling mobile, baguhin operating system kanilang sariling mga mobile gayon ay maaari silang patakbuhin ang mga application ng kanilang pinili at baguhin ang mga bagay na may ganap na administrative na mga pahintulot, at sila ay hindi nais na sabihin ng vendor tungkol sa ito. Hindi nila ka bang isang seguridad tagapagpananaliksik na isang puting sumbrero seguridad tagapagpananaliksik na kung saan ay pagpunta sa gawin responsable pagbubunyag at sabihin ng vendor tungkol dito. Gusto nila upang gawin ito pananaliksik, at nais nilang talagang i-publish ito sa isang maningning na tagumpay o isang rootkit o isang jailbreak code, at nais nilang gawin ito madiskarteng, tulad ng karapatan pagkatapos ang ships vendor ang bagong operating system. Mayroon kang ito adversarial relasyon may mga kahinaan sa OS na antas sa mobile, na sa palagay ko ay medyo kawili-wiling, at isang lugar na nakikita namin ito ay ito ay ginagawang kaya na mayroong magandang nai-publish na maningning na tagumpay code out doon para sa mga kahinaan sa kernel antas, at nakakita kami mga aktwal na gagamitin ng mga manunulat ng malware. Ito ay isang Medyo naiiba kaysa sa PC mundo. At pagkatapos ay ang huling layer ay ang pinakamataas na layer, ang layer ng application. Iyon ay kung ano pupuntahan ko na makipag-usap tungkol sa ngayon. Umiiral Ang iba pang mga layer, at ang iba pang mga layer maglaro sa ito, ngunit karamihan ay pupuntahan ko na makipag-usap tungkol sa kung ano ang nangyayari sa sa layer ng application kung saan code ay tumatakbo sa sandbox. Hindi nito ay may pribilehiyong administrative. Ito ay upang gamitin ang mga API ng aparato, ngunit pa rin, ng maraming nakahahamak na aktibidad at maraming panganib Maaari itong mangyari sa layer na dahil iyon ang layer na kung saan ang lahat ng impormasyon ay. Maaaring i-access Apps lahat ng mga impormasyon sa mga aparato kung mayroon silang karapatan na mga pahintulot, at maaari silang ma-access ang iba't ibang mga sensor sa aparato, GPS sensor, mikropono, camera, kung ano ang mayroon ka. Kahit na kami ay lamang ng pakikipag-usap tungkol sa mga layer ng application mayroon kaming ng maraming panganib doon. Ang iba pang mga bagay na iba ang tungkol sa kapaligiran mobile ay ang lahat ng mga operating system na mga manlalaro, maging ito BlackBerry o Android o iOS o Windows mobile, lahat ng mga ito ay may pinong haspe pahintulot modelo, at ito ay isa sa mga paraan na kanilang inilagay sa mga operating system ang ideya na ito ay hindi bilang peligroso bilang sa tingin mo. Kahit na mayroon ka ng lahat ng iyong mga contact sa doon, ang lahat ng iyong personal na impormasyon, mayroon kang ang iyong mga larawan, mayroon kang ang iyong lokasyon sa doon, naka-imbak ng iyong pin bangko para sa auto-login sa doon, ito ay ligtas dahil apps mayroon na magkaroon ng tiyak na mga pahintulot upang makakuha ng sa ilang mga bahagi ng impormasyon sa device, at ang gumagamit ay may sa ay bibigyan ng mga pahintulot at sabihin okay. Ang problema sa ito ay gumagamit ng palaging sabi ni okay. Bilang isang seguridad tao, alam ko maaari kang i-prompt ng gumagamit, sinasabi ng isang bagay na ganap na hindi maayos ay pagpunta sa mangyari, huwag nais mo itong mangyari? At kung ang mga ito ay apurahan o mayroong isang bagay na talagang nakakaakit sa kabilang bahagi ng iyon, tulad ng isang laro ay pagpunta sa mai-install na ito ay nai-naghihintay para sa, ang mga ito ay pagpunta sa i-click ang okay. Iyon ang dahilan kung bakit sinasabi ko sa aking mga slide dito ipaalam lamang sa akin fling ibon sa Baboy na, at maaari mong makita sa slide dito mayroong mga halimbawa ng isang BlackBerry pahintulot na kahon. Sinasabi nito "Mangyari lamang na itakda ang mga pahintulot Paglalakbay BlackBerry application pagkatapos ng pag-click sa pindutan sa ibaba, "at isa lamang ang user ay lamang ng pagpunta sa sabihin itakda ang mga pahintulot at i-save. Narito ang isang Android prompt kung saan ito ay nagpapakita ng mga bagay, at ito talagang naglalagay ng isang bagay na halos kamukha ng babala. Ito nakuha ko ang isang uri ng ani sign doon na nagsasabi sa komunikasyon ng network, tawag sa telepono, ngunit ang user ay pagpunta sa i-click ang i-install, i-right? At pagkatapos ay ang isa Apple ay lubos na hindi nakapipinsala. Hindi nito magbigay ng anumang uri ng babala. Ito ay lamang Apple ay nais na gamitin ang iyong kasalukuyang lokasyon. Siyempre ka ng pagpunta sa i-click ang okay. May ito pinino pahintulot modelo, at apps mayroon na magkaroon ng isang manifest file kung saan sila idedeklara ang mga pahintulot sa kailangan nila, at iyon ay makakuha ng ipinapakita sa gumagamit, at ang gumagamit ay magkakaroon upang sabihin magbigay ko ang mga pahintulot. Ngunit maging tapat ipaalam. Ang mga gumagamit ay lamang ng pagpunta sa laging sinasabi okay. Hayaan ang tumagal ng isang mabilis na pagtingin sa mga pahintulot na mga app na ito ay humihingi ng at ang ilan sa mga pahintulot na ang naroon. Praytoryan ginawa kumpanya na ito ng survey noong nakaraang taon ng 53,000 mga application Pinag-aralan sa merkado at 3rd party na mga merkado Android, kaya ito ay ang lahat ng Android. At ang average na app hiniling 3 mga pahintulot. Ang ilang apps hiniling na 117 mga pahintulot, kaya malinaw naman ang mga ito ay napaka-pinong haspe at paraan masyadong kumplikado para sa isang gumagamit upang maunawaan kung sila ay bibigyan ng app na ito na kailangan ng mga 117 na mga pahintulot. Ito ay tulad ng mga kasunduan sa lisensya ng gumagamit ng pagtatapos na 45 mga pahina ang haba. Siguro sa lalong madaling panahon ang mga ito ay mayroon ng isang pagpipilian kung saan ito ay tulad ng i-print ang mga pagpapahintulot at magpadala sa akin ng isang email. Ngunit kung tiningnan mo ang ilan sa mga nangungunang mga kawili-wiling mga pahintulot 24% ng apps na sila na-download na sumali sa 53,000 hiniling na impormasyon ng GPS mula sa aparato. 8% basahin ang mga contact. Nagpadala ng SMS 4%, at nakatanggap ng 3% ng SMS. Record na audio 2%. 1% na naproseso mga papalabas na tawag. Hindi ko alam. Hindi sa tingin ko 4% ng apps sa store app talagang kailangan upang magpadala ng SMS text na mensahe, kaya sa tingin ko na ang isang pahiwatig na ang isang bagay hindi mabuti ay nangyayari. Kailangan 8% ng mga app na basahin ang listahan ng iyong mga contact. Ito ay marahil hindi kinakailangan. Isa sa mga iba pang mga kagiliw-giliw na bagay tungkol sa mga pahintulot ay kung i-link mo sa nakabahaging library sa iyong application mga magmana ang mga pahintulot ng application, kaya kung kailangan ng iyong app ang listahan ng contact o kailangan ng GPS na lokasyon upang gumana at i-link mo sa isang advertising library, halimbawa, Makikita din ang ad na iyon library ma-access ang mga contact at ma-access ang lokasyon ng GPS din, at walang tungkol sa code na tumatakbo sa ad aklatan ang nag-develop ng app nakakaalam. Lang nila na inuugnay na sa dahil gusto nilang pagkakitaan ang kanilang mga app. Ito ay kung saan-at kukunin ko na makipag-usap tungkol sa ilang mga halimbawa ng mga ito na may ang isang application na tinatawag na Pandora kung saan nag-develop ng application maaari nang hindi kinukusa ay pagtulo impormasyon mula sa kanilang mga gumagamit dahil sa mga library nila na-link in Pagtilingin ang landscape out doon, ang pagtingin sa lahat ng iba't ibang apps na naiulat sa balita bilang ay hindi gusto ng nakahahamak o paggawa ng isang bagay mga gumagamit at pagkatapos ay inspecting ng maraming apps-kami ng maraming mga static na binary na pagtatasa sa mobile apps, kaya nagbigay siniyasat namin ang mga ito at tumingin sa ang code mismo- dumating up namin sa kung ano ang tinatawag naming ang aming nangungunang 10 listahan ng mga peligrosong na pag-uugali sa mga application. At ito ay pinaghiwa-hiwalay sa mga seksyon 2, malisyosong code, kaya ang mga ito ay masamang bagay na maaaring ginagawa ang apps na ay malamang na maging isang bagay na ang isang nakakahamak na indibidwal ay partikular na ilalagay sa application, ngunit ito ay isang maliit na bit malabo. Ito ay maaaring maging isang bagay na ang isang developer palagay ni ay pinong, ngunit ito ay nagtatapos up na naisip ng bilang nakahahamak ng user. At pagkatapos ay ang ikalawang seksyon ay ang tinatawag naming coding mga kahinaan, at ang mga ito ay mga bagay na kung saan ang nag-develop talaga ay gumagawa pagkakamali o lamang ay hindi maunawaan kung paano upang secure na isulat ang app,  at na ang paglalagay ng mga gumagamit app sa panganib. Pupunta ako sa pumunta sa pamamagitan ng mga detalyado at bigyan ang ilang mga halimbawa. Para sa sanggunian, nais kong ilagay up ang OWASP mobile nangungunang 10 listahan. Ito ang mga 10 na isyu na isang grupo sa OWASP, Buksan ang Web Application Security Project, mayroon sila ng isang gumaganang pangkat nagtatrabaho sa isang mobile nangungunang 10 listahan. Ang mga ito ay isang napaka sikat na web nangungunang 10 listahan, na kung saan ay ang nangungunang 10 riskiest bagay na maaari mong magkaroon sa isang web application. Sila ay ginagawa ang parehong bagay para sa mobile, at ang kanilang mga listahan ay medyo iba kaysa atin. 6 out ng 10 ay pareho. Ang mga ito ay 4 na iba. Sa tingin ko mayroon sila ng kaunting ibang Dumaan sa panganib sa mobile apps kung saan marami sa kanilang mga isyu ang talagang paano ang application ay sa pakikipag-ugnayan sa isang back-end server o kung ano ang nangyayari sa sa back-end server, hindi kaya magkano ang apps na mayroon peligroso pag-uugali na lamang prangka apps client. Ang mga bago sa pula narito ang mga pagkakaiba sa pagitan ng 2 listahan. At ang ilan sa aking koponan sa pananaliksik ay aktwal na nag-ambag sa proyektong ito, kaya ipapakita namin makita kung ano ang mangyayari sa paglipas ng panahon, ngunit sa palagay ko ang takeaway dito ay hindi namin talaga alam kung ano ang nangungunang 10 listahan ay nasa mobile apps dahil na talagang lamang naging sila sa paligid para sa 2 o 3 taon na ngayon, at doon ay hindi pa sapat na oras upang talagang magsaliksik ang mga operating system at kung ano ang kanilang may kakayahang, at doon ay hindi pa sapat na oras para sa nakahahamak na komunidad, kung habilin sa iyo, upang Ginastos sapat na oras sinusubukang i-atake ng mga gumagamit sa pamamagitan ng mga mobile app, kaya inaasahan ko ang mga listahang ito upang baguhin nang kaunti. Ngunit sa ngayon, narito ang mga nangungunang 10 mga bagay na dapat mag-alala tungkol sa. Maaaring nagtataka sa gilid ng mobile kung saan ginagawa ang nakakahamak na code sa mobile- paano nito sumakay sa aparato? North Carolina Estado ay isang proyekto na tinatawag na Mobile Malware Genome Project kung saan sila ay pagkolekta ng maraming mga mobile na malware hangga't makakaya nila at pag-aaral ito, at na-sira sila pababa ang iniksyon vectors na gumagamit ng mga mobile na malware, at gamitin ang 86% isang diskarte na tinatawag na repackaging, at ito ay para lamang sa Android platform Maaari mo ba talagang gawin ito repackaging. Ang dahilan dito ay ang Android code ay binuo na may isang Java byte code na tinatawag na Dalvik na kung saan ay madaling decompilable. Ano ang maaari gawin ang masamang tao ay tumagal ng isang Android application, i-decompile ito, ipasok ang kanilang mga malisyosong code, mag-recompile ito, at pagkatapos ay ilagay ito up sa store app purporting upang maging isang bagong bersyon ng application na iyon, o lang siguro ang pagbabago ng pangalan ng application. Kung ito ay isang uri ng laro, baguhin ang pangalan nang bahagya, at kaya ito repackaging ay kung paano 86% ng mga mobile na malware ay makakakuha ng ibinahagi. Mayroong isa pang pamamaraan na tinatawag na-update na na halos kapareho sa repackaging, ngunit ikaw talaga ay hindi ilagay ang nakakahamak na code in Ano gagawin mo ay ilagay mo sa isang maliit na mekanismo update. Ikaw decompile, ilagay mo sa isang mekanismo pag-update, at mag-recompile mo ito, at pagkatapos ay kapag ang app ay tumatakbo ito pulls down na ang malware sa ang aparato. Sa pamamagitan ng malayo ang karamihan ay ang mga 2 diskarte. May hindi talaga magkano ang pag-download biyahe-bys o humimok-sa ​​pamamagitan ng pag-download sa Mobile, na maaaring maging tulad ng isang phishing na atake. Uy, tingnan ang talagang cool na website, o kailangan mo upang pumunta sa website na ito at punan ang form na ito upang mapanatili ang patuloy na paggawa ng isang bagay. Yaong ay phishing na pag-atake. Ang parehong bagay ay maaaring mangyari sa mga mobile platform kung saan sila tumuturo sa isang mobile app upang i-download, sabihin ang "Hi, ito ay Bank ng Amerika." "Makita namin na ginagamit mo ang application na ito." "Dapat mong i-download ang iba pang mga application." Theoretically, na maaaring gumana. Siguro ito lamang ay hindi sapat na ginamit upang matukoy kung ito ay ang matagumpay o hindi, ngunit sila ay natagpuan na mas mababa sa 1% ng oras na pamamaraan ay ginagamit. Ang karamihan ng mga oras na talagang isang repackaged code. Mayroong isa pang kategorya na tinatawag na nakapag-iisa kung saan ang isang tao ay nagbubuo mula lamang ng isang application bagung-bago. Bumuo ng mga ito ang isang application na purports upang maging isang bagay. Ito ay hindi isang repackaging ng ibang bagay, at iyon ay ang nakakahamak na code. Iyon ay ginagamit 14% ng oras. Ngayon Gusto kong makipag-usap tungkol sa kung ano ay ang nakakahamak na code ginagawa? Ang isa sa mga unang malware out doon maaari mong isaalang-alang ang isang spyware. Ito talaga spies sa user. Nangongolekta ito ng mga email, SMS na mensahe. Ito ay lumiliko sa mikropono. Ito harvests ang libro contact, at ito ay nagpapadala ng ito sa iba. Ang uri ng spyware umiiral sa PC, kaya gumagawa ng perpektong kahulugan para sa mga tao upang subukan upang gawin ito sa mga mobile device. Ang isa sa mga unang halimbawa ng mga ito ay isang programa na tinatawag na Lihim SMS Replicator. Ito ay sa Android Marketplace ng ilang taon na ang nakaraan, at ang ideya ay kung nagkaproblema ka sa pag-access sa telepono Android ng isang tao na ginusto mong himanmanan, kaya marahil ito ay ang iyong asawa o sa iyong iba pang mga makabuluhang at gusto mong himanmanan kanilang text messaging, maaari mong i-download ang app na ito at i-install ito at i-configure ito upang magpadala ng isang SMS na mensaheng text sa iyo na may isang kopya ng bawat SMS na mensaheng text nila nakuha. Ito malinaw naman ay nasa mga paglabag sa mga tuntunin store app ng serbisyo, at ito ay inalis mula sa Android Marketplace sa loob ng 18 oras ng ito pagiging doon, kaya ito ng napakaliit na bilang ng mga tao ay nasa panganib dahil dito. Ngayon, sa palagay ko kung ang programa ay tinawag ng isang bagay na siguro ay medyo mas kagalit-galit tulad Lihim SMS Replicator marahil ito sana ay nagtrabaho ng maraming mas mahusay. Ngunit ito ay uri ng halata. Isa sa mga bagay na maaari naming gawin upang matukoy kung ang apps na mayroon ito na pag-uugali na hindi namin nais ay upang siyasatin ang code. Ito ay talagang talagang madali lang gawin sa Android dahil maaari naming i-decompile ang apps. Sa iOS maaari kang gumamit ng disassembler tulad Ida Pro upang tumingin sa kung ano ang mga API na ang app sa pagtawag at kung ano ang ginagawa nito. Sinulat ni namin ang aming sariling binary static analisador para sa aming mga code at ginagawa namin ito, at kaya kung ano ang maaari mong gawin ay ang maaari mong sabihin gumawa ng anumang bagay na ay isa lamang himanman sa akin o sa akin sa pagsubaybay ay ang aparato? At Mayroon akong ilang mga halimbawa dito sa iPhone. Ang unang halimbawa ay ang kung paano i-access ang UUID sa telepono. Ito ay talagang isang bagay na Apple Nag-ban na para sa mga bagong application, ngunit lumang mga application na maaari kang tumatakbo sa iyong telepono ay maaari pa ring gawin ito, at nang sa gayon ay natatanging identifier ay maaaring magamit upang subaybayan ka sa kabuuan ng maraming iba't ibang mga application. Sa Android, mayroon akong isang halimbawa dito ng pagkuha ng lokasyon ng aparato. Maaari mong makita na kapag na tawag sa API ay mayroong app na pagsubaybay, at maaari mong makita kung nakakakuha ito ng masarap na lokasyon o magaspang na lokasyon. At pagkatapos sa ibaba dito, mayroon akong isang halimbawa kung paano sa BlackBerry Maaaring ma-access ang isang application ang mensaheng e-mail sa iyong inbox. Ito ang mga uri ng bagay na maaari mong siyasatin upang makita kung ang app ay ginagawa ang mga bagay. Ang ikalawang malaking kategorya ng mga nakakahamak na pag-uugali, at ito ay marahil ang pinakamalaking kategorya ngayon, ay walang pahintulot na dialing, ang hindi awtorisadong mga premium na mga SMS text na mensahe o hindi awtorisadong mga pagbabayad. Isa pang bagay na natatangi tungkol sa mga telepono ay ang aparato ay baluktot sa isang account sa pagsingil, at kapag aktibidad mangyari sa telepono maaari itong lumikha ng mga singil. Maaari kang bumili ng mga bagay sa pamamagitan ng telepono, at kapag nagpadala ka ng isang premium SMS text message aktwal na pagbibigay ng pera sa may-ari ng numero ng telepono sa kabilang panig account. 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, ngunit maaari silang mai-set up na bumili ng isang produkto sa pamamagitan ng pagpapadala ng SMS text. Mga tao magbigay ng pera sa Red Cross sa pamamagitan ng pagpapadala ng text message. Maaari mong bigyan ang $ 10 na paraan. Ang attackers, ano ang nagawa nila ay set up nila mga account sa banyagang bansa, at i-embed ang mga ito sa malware na ang telepono ay magpapadala ng isang premium SMS text message, sabihin, ilang beses sa isang araw, at sa dulo ng buwan natanto na iyong ginugol sampu-sampung o marahil kahit na daan-daang mga dolyar, at sila maglakad ang layo sa pera. Ito nakuha kaya masamang na ito ay ang napaka-unang bagay na sa Android Marketplace o ang Google lugar-ito ay ang Android Marketplace sa oras, at ito ay Google Play-ang unang bagay na sinimulan ng pagsusuri para sa Google ngayon. Kapag sinimulan ng Google ang pamamahagi ng Android apps sa kanilang mga tindahan ng app sinabi nila hindi sila ay pagpunta upang suriin para sa anumang bagay. Susubukan naming hilahin apps sa sandaling na-notify na namin ang sira nila ang aming mga tuntunin ng serbisyo, ngunit hindi namin ang pagpunta upang suriin para sa anumang bagay. Well, tungkol sa isang taon na ang nakalipas ito nakuha kaya masamang na may ganitong mga premium SMS text message malware na ito ay ang napaka-unang bagay na sinimulan nila pagsusuri para sa. Kung maaari magpadala ng SMS text na mensahe ang isang app higit pang manu-mano nilang magsiyasat na mabuti application na iyon. Inaasahan nila para sa mga API na tumawag ito, at ngayon mula noon pinalawak na ang Google, ngunit ito ay ang unang bagay na sinimulan nila hinahanap. Ang ilang mga iba pang apps na ginawa ng ilang mga SMS text na mensahe, ito Android Qicsomos, hulaan ko ito ay tinatawag na. Nagkaroon ito kasalukuyang kaganapan sa mobile kung saan ito CarrierIQ ay dumating out bilang spyware ilagay sa device sa pamamagitan ng mga carrier, kaya gusto ng mga tao upang malaman kung ang kanilang telepono ay mahina laban sa ito, at ito ay isang libreng app na nasubukan na. Well, siyempre, kung ano ang ginawa app na ito ay ito ay nagpadala ng mga premium na mga SMS text na mensahe, kaya sa pamamagitan ng pagsubok upang makita kung ikaw ay nahawaan ng spyware ikaw-load ng malware sa iyong aparato. Nakita namin ang parehong bagay mangyari sa ang huling Super Bowl. Nagkaroon ng bogus bersyon ng football laro magalit nang labis na ipinadala premium SMS text na mensahe. Ito talaga sinubukan upang lumikha ng masyadong isang network ng bot sa aparato. Narito Mayroon akong ilang mga halimbawa. Nang kawili-wili sapat, Apple ay medyo matalino, at hindi nila pinapayagan ang application na magpadala ng mga SMS text na mensahe sa lahat. Maaari gawin ito Walang app. Iyon ay isang mahusay na paraan ng inaalis ng isang buong klase ng mga kahinaan, ngunit sa Android maaari mong gawin ito, at siyempre, sa BlackBerry maaari mo itong gawin masyadong. Ito ay kagiliw-giliw na sa BlackBerry kailangan mo lang ng mga pahintulot sa internet upang magpadala ng isang SMS na mensaheng text. Ang iba pang mga bagay na talagang masaya naming para sa kapag kaming naghahanap upang makita kung ang isang bagay ay nakakahamak na lamang ang anumang uri ng hindi awtorisadong aktibidad network, tulad tingnan ang aktibidad ng network ang app ay dapat na mayroon upang magkaroon ng pag-andar nito, at tumingin sa ito ng iba pang aktibidad ng network. Marahil na ang isang app, upang gumana, ay may upang makakuha ng mga data sa paglipas ng HTTP, ngunit kung ito ang ginagawa ng mga bagay sa pamamagitan ng email o SMS o Bluetooth o ang isang bagay tulad na ngayon app na maaaring potensyal na maging nakakahamak na, kaya ito ay isa pang bagay na maaari mong siyasatin para sa. At sa slide na ito dito Mayroon akong ilang mga halimbawa ng iyon. Isa pang kawili-wiling bagay nakita natin na may malware ang nangyari bumalik sa 2009, at ito ang nangyari sa isang malaking paraan. Hindi ko alam kung ito ay nangyari kaya magkano mula noon, ngunit ito ay isang app na ginagaya ng isa pang application. Nagkaroon ng isang hanay ng mga app, at ito ay tinatawag na 09Droid atake, at may isang taong nagpasya na mayroong ng maraming maliit na, rehiyonal, midsize bangko na hindi magkaroon ng online banking application, kaya kung ano ang kanilang ginawa noon ay binuo nila tungkol sa 50 banking application online na ang lahat ng mga ito ginawa noon ay gawin ang mga user name at password at i-redirect ka sa website. At kaya ilagay nila ang mga lahat up sa Google Marketplace, sa Android Marketplace, at kapag may taong naghanap upang makita kung ang kanilang bangko Nagkaroon ng isang application na gusto nila mahanap ang bogus application, na nakolekta kanilang mga kredensyal at pagkatapos ay nai-redirect sa kanila sa kanilang mga website. Ang paraan na ito talagang naging-ang apps ay up doon para sa isang ilang linggo, at mayroong mga libu-libo at libu-libong mga pag-download. Ang paraan na ito ay dumating sa liwanag ay isang tao ay nagkakaroon ng problema gamit ang isa sa mga application, at tinatawag nila ang kanilang mga bangko, at tinawag nila Linya ng suporta sa customer ang kanilang mga bangko at sinabing, "Nagkakaroon ako ng mga problema sa iyong banking application ng mobile." "Matutulungan mo ba ako sumali?" At sinabi nila, "Wala kaming isang banking application ng mobile." Iyon na sinimulan ang pagsisiyasat. Bangko na ang tinatawag na Google, at pagkatapos ay tumingin Google at sinabi, "Wow, ang parehong mga may-akda ay nakasulat 50 bank application," at kinuha sila lahat pababa. Ngunit tiyak na ito ay maaaring mangyari muli. Mayroong ang listahan ng lahat ng iba't ibang mga bangko dito na naging bahagi ng ito scam. Ang iba pang mga bagay na maaaring gawin ang isang app ay naroroon ang UI ng isa pang application. Habang pinapagana nito maaari itong pop up ang Facebook UI. Sinasabi nito kailangan mong ilagay sa iyong user name at password upang magpatuloy o maglagay ng anumang mga user name at password UI para sa isang website na siguro ang gumagamit ay gumagamit lamang na subukan upang linlangin ang user sa paglalagay ng kanilang mga kredensyal in Ito ay talagang isang tuwid na kahilera ng pag-atake ng phishing email kung saan may nagpadala sa iyo ng isang mensaheng email at nagbibigay sa iyo ng isa lamang pekeng UI para sa isang website na may access ka. Ang iba pang mga bagay Inaasahan namin para sa nakakahamak na code ay pagbabago ng sistema. Maaari mong hanapin ang lahat ng mga tawag sa API na nangangailangan ng root pribilehiyo upang isakatuparan nang tama. Ang pagbabago ng web proxy ng device ay magiging isang bagay na ang isang application hindi dapat magawa. Ngunit kung ang application ay may code sa doon upang gawin iyon malalaman mo na marahil ito ay isang nakakahamak na application o napaka lubos na malamang na maging isang nakakahamak na application, at kaya kung ano ang mangyayari ay na ang app ay magkaroon ng ilang mga paraan ng dumadami pribilehiyo. Ito ay may ilang mga pribilehiyo pagdami maningning na tagumpay sa application, at pagkatapos ay sa sandaling tumataas na ito pribilehiyo Gusto ito gawin ang mga pagbabago ng sistema. Maaari mong makita ang malware na may pribilehiyo pagdami sa ito kahit na walang pag-alam kung paano ang pribilehiyo pagdami maningning na tagumpay ay pagpunta sa mangyari, at iyon ang isang maganda, madaling paraan upang tumingin para sa malware. DroidDream ay marahil ang pinaka sikat na piraso ng Android malware. Sa tingin ko apektado ito tungkol sa 250,000 mga gumagamit sa paglipas ng ilang araw bago ito ay natagpuan. Repackaged Sila 50 bogus application, ilagay ang mga ito sa tindahan ng app sa Android, at lubos na ito ginamit jailbreak code ng Android upang idulog pribilehiyo at pagkatapos ay i-install ng isang command at kontrolin at i lahat ng mga biktima sa isang net bot, ngunit maaari mo pa nakita ito kung ikaw ay pag-scan ang application at lamang naghahanap para sa Mga tawag sa API na kinakailangan ugat ng pahintulot upang maisagawa nang tama. At mayroong dito ang isang halimbawa Mayroon akong na pagbabago ng proxy, at ito talaga ay magagamit lamang sa mga Android. Maaari mong makita ako ng pagbibigay sa iyo ng maraming mga halimbawa sa Android dahil ito ay kung saan ang pinaka-aktibong ecosystem malware ay dahil ito ay talagang madali para sa isang umaatake upang makakuha ng mga malisyosong code sa Android Marketplace. Ito ay hindi kaya madaling gawin iyon sa Apple App Store dahil Apple ay nangangailangan ng mga developer upang kilalanin ang kanilang sarili at mag-sign ang code. Talaga nilang suriin kung sino ka, at Apple ay aktwal na scrutinizing ang mga application. Hindi namin makita ang marami ng mga tunay na malware kung saan ang aparato ay nagsisimula pa nakompromiso. Ako ay makipag-usap tungkol sa ilang mga halimbawa kung saan ito ay talagang privacy na nagsisimula pa nakompromiso, at iyon ang kung ano talaga ang nangyayari sa mga aparatong Apple. Isa pang bagay upang tumingin para sa mga malisyosong code, peligrosong code sa device ay logic o time bomb, at oras ng bomba ay marahil lubhang mas madaling hanapin kaysa sa logic bomb. Ngunit sa oras bomba, ano ang maaari mong gawin ay maaari kang tumingin para sa mga lugar sa code kung saan ang oras ay nasubukan o isang absolute oras ay tumingin para sa bago sa ilang mga pag-andar sa app mangyayari. At ito ay maaaring tapos na upang itago na aktibidad mula sa mga gumagamit, kaya ito ang nangyayari late na sa gabi. DroidDream ginawa ang lahat ng mga aktibidad nito 11:00-08:00 lokal na oras upang subukang gawin ito habang maaaring hindi paggamit ng user ang kanilang device. Ang isa pang dahilan upang gawin ito ay kung ang mga tao ay gumagamit ng pagtatasa ng pag-uugali ng isang application, tumatakbo ang app sa isang sandbox upang makita kung ano ang pag-uugali ng application ay, maaari nilang gamitin base sa oras na logic upang magawa ang aktibidad kapag ang app ay wala sa sandbox. Halimbawa, ang isang app tindahan tulad ng Apple tumatakbo ang application, ngunit sila ay marahil hindi tumatakbo ang bawat application para sa, sabihin nating, 30 araw bago nag-aapruba ito, kaya maaari kang maglagay logic sa iyong application na nagsabi, okay, gawin lamang ang masamang bagay pagkatapos ng 30 araw ay nawala sa pamamagitan ng o pagkatapos ng 30 araw pagkatapos ng petsa-publish ng application, at na maaaring makatulong ang nakakahamak na code itago mula sa mga tao inspecting para dito. Kung anti-virus mga kumpanya ay tumatakbo bagay sa sandboxes o mga tindahan ng app ang kanilang mga sarili ay maaari itong makatulong itago na mula sa na-inspeksyon. Ngayon, ang pumitik bahagi ng na ay madali upang mahanap ang may static na pagtatasa, kaya talagang inspecting ang code maaari kang tumingin para sa lahat ng mga lugar kung saan ay sumusubok sa mga application sa oras at siyasatin na paraan. At dito Mayroon akong ilang mga halimbawa sa mga 3 iba't ibang mga platform kung paano maaaring mai-check oras para sa sa pamamagitan ng mga app maker gayon ay alam mo kung ano ang hahanapin kung ikaw ay inspecting ang app statically. Ko lang ang nagpunta sa pamamagitan ng ang maramihang mga iba't ibang mga nakahahamak na aktibidad na nasaksihan namin sa ligaw, ngunit kung alin ang pinaka ginagamit ng marami? Iyon parehong pag-aaral mula sa North Carolina Estado Mobile Genome Project nai-publish na mga data, at doon ay isa lamang 4 lugar na nakita nila kung saan nagkaroon ng maraming gawain. 37% ng apps ginawa pribilehiyo pagdulog, kaya sila ay may ilang uri ng jailbreak code sa doon kung saan sila sinubukan upang idulog pribilehiyo sa gayon na maaari nilang huwag utos API tumakbo ang operating system. 45% ng apps out doon ginawa premium SMS, kaya iyan ay isang malaking porsyento na ay sinusubukan upang direktang pagkakitaan. 93% ng ginawa remote control, kaya nila sinubukan i-set up ang isang net bot, isang net sa mobile bot. At harvested 45% na impormasyon ng pagkakakilanlan tulad ng mga numero ng telepono, UUIDs, GPS na lokasyon, mga account ng gumagamit, at ito ay nagdadagdag ng hanggang sa higit sa 100 dahil karamihan ng malware sinusubukan na gawin ang ilan sa mga bagay na ito. Pupunta ako upang lumipat sa ikalawang kalahati at makipag-usap tungkol sa mga kahinaan code. Ito ang pangalawang kalahati ng delikadong aktibidad. Ito ay kung saan talaga ang nag-develop ay gumagawa ng mga error. Ang isang lehitimong nag-develop pagsusulat ng isang lehitimong app ay gumagawa ng mga error o ay walang pinag-aralan ng mga panganib sa mga mobile platform. Sila lamang ay hindi alam kung paano gumawa ng isang secure na mobile app, o kung minsan sa developer ay hindi na nagmamalasakit sa paglalagay ng user sa panganib. Minsan bahagi ng kanilang mga modelo ng negosyo ay maaaring maging Pag-ani ng personal na impormasyon ng user. Iyon uri ng iba pang mga kategorya, at iyon ang dahilan kung bakit ang ilan sa mga ito ng nakahahamak kumpara sa lehitimong mga pagsisimula upang kunan ng dugo sa paglipas ng dahil mayroong pagkakaiba ng opinyon sa pagitan ng kung ano ang nais ni user at kung ano ang isinasaalang-alang ng gumagamit sa peligrosong at kung ano ang isinasaalang-alang peligroso ang nag-develop ng application. Siyempre, hindi ito data ng nag-develop ng application sa karamihan ng mga kaso. At pagkatapos ay sa wakas, isa pang paraan nangyari ito ay maaaring i-link sa isang developer isang ibinahaging library na may mga kahinaan o ito peligroso pag-uugali sa loob nito walang anumang kaalaman sa kanila. Ang unang kategorya ay sensitibong butas na tumutulo ng data, at ito ay kapag nangongolekta ang app impormasyon tulad ng lokasyon, impormasyon ng address book, impormasyon may-ari at ipapadala na-off ang aparato. At sa sandaling off ang aparato, hindi namin alam kung ano ang nangyayari sa na impormasyon. Maaaring ito ay naka-imbak insecurely sa pamamagitan ng nag-develop ng application. Nakita namin ang mga developer ng application makakuha nakompromiso, at ang data na ito ay naka-iimbak ng mga nakuhang kinunan. Nangyari ito ng ilang mga buwan na nakalipas sa isang developer pababa sa Florida kung saan isang malaking bilang ng mga-ito ay iPad UUIDs at mga pangalan ng device ay leaked dahil sa isang tao, sa tingin ko ito ay anonymous, inaangkin upang gawin ito, sinira sa mga server ng developer na ito at nakaagaw ng milyun-milyong mga iPad UUIDs at mga pangalan ng computer. Hindi ang pinaka-peligrosong impormasyon, ngunit kung ano kung na noon ay ang imbakan ng mga user name at password at mga address ng tahanan? Mayroong maraming mga apps na mag-imbak na uri ng impormasyon. Ang panganib ay doon. Ang iba pang mga bagay na maaaring mangyari ay kung ang developer ay hindi mag-ingat upang ma-secure ang data ng channel, at iyon ang isa pang malaking kahinaan Pupunta ako sa pag-uusapan, na ang data ay ipinadala sa malinaw. Kung ang gumagamit ay nasa isang pampublikong Wi-Fi network o may isang taong sniffing sa internet sa isang lugar kasama ang path na ang data ay nakalantad. Isang napaka sikat na kaso ng mga ito butas na tumutulo impormasyon nangyari sa Pandora, at ito ay isang bagay na namin sinaliksik sa Veracode. Narinig namin na nagkaroon tingin a-kong ito ay isang Federal Trade Commission pagsisiyasat ng pagpunta sa may Pandora. Sinabi namin, "Ano ang nangyayari sa doon? Ni magsimula paghuhukay sa Pandora application Hayaan." At kung ano ang tinutukoy namin ay ang Pandora application na nakolekta ang iyong kasarian at ang iyong edad, at ito rin access sa iyong lokasyon ng GPS, at ang Pandora application ginawa ito para sa kung ano ang kanilang sinabi ay lehitimong kadahilanan. Ang musika na sila ay naglalaro ng-Pandora ay isang musika streaming app- ang musika sila ay naglalaro ng ay lamang lisensyado sa Estados Unidos, kaya kinailangan nilang suriin upang sumunod sa kanilang mga kasunduan sa paglilisensya na sila ay nagkaroon ng para sa mga musika na ang gumagamit ay nasa Estados Unidos. Gusto rin nilang sumunod sa mga advisory ng magulang sa paligid adulto wika sa musika, at sa gayon ito ay isang kusang-loob na programa, ngunit ninais nilang sumunod sa na at hindi maglaro tahasang lyrics sa mga bata 13 at sa ilalim. Sila ay nagkaroon ng lehitimong kadahilanan para sa pagkolekta ng data na ito. Ang kanilang mga app ay nagkaroon ng pahintulot na gawin ito. Naisip mga gumagamit na ito ay lehitimo. Pero ano ang nangyari? Sila ay naka-link sa 3 o 4 na magkakaibang mga library ng ad. Ngayon ang lahat ng isang biglaang ang lahat ng mga aklatan ng ad nakakakuha ng access sa parehong impormasyon. Ang mga aklatan ng ad, kung tiningnan mo ang mga code na ito sa aklatan ng ad kung ano ang ginagawa nila ay nagsasabing bawat ad library "Ang aking mga app mayroon ba pahintulot na kumuha ng lokasyon ng GPS?" "Oh, ito? Okay, sabihin sa akin ang lokasyon ng GPS." Ang bawat solong library ng ad gumagana na, at kung ang app ay walang pahintulot GPS hindi ito magagawang upang makakuha ng mga ito, ngunit kung ito gumagana, ito ay makakuha ng ito. Ito ay kung saan ang modelo ng negosyo ng mga aklatan ng ad ay hindi kasang-ayon ang privacy ng user. At doon naging mga pag-aaral out doon na sabihin kung alam mo ang edad ng isang tao at alam mo ang kanilang lokasyon kung saan sila makatulog sa gabi, dahil mayroon kang kanilang mga coordinate sa GPS habang sila ay marahil ay natutulog, alam mo kung sino eksakto ang taong iyon ay dahil maaari mong matukoy kung aling mga miyembro ng sambahayan na taong iyon. Talagang ito ay pagkilala sa mga advertiser nang eksakto kung sino ka, at ito mukhang ito ay lehitimo. Gusto ko lang ang aking mga streaming ng musika, at ito ay ang tanging paraan upang makakuha ng mga ito. Well, nakalantad na namin ito. Sinulat ni namin ito hanggang sa ilang mga post sa blog, at ito naka-out na ang isang tao mula sa Rolling Stone magazine basahin ang isa sa aming mga post sa blog at sumulat si kanilang sariling mga blog sa Rolling Stone tungkol dito, at ang napaka susunod na araw naisip Pandora ito ay isang magandang ideya upang alisin ang mga library ng ad mula sa kanilang application. Sa pagkaalam ko sila lamang-ito ay dapat na commended. Sa tingin ko sila lamang ang freemium uri ng app na na tapos na ito. Ang lahat ng iba pang mga freemium apps mayroon ang parehong pag-uugali, kaya na kailangan mong isipin ang tungkol sa kung anong uri ng data na iyong pagbibigay mga freemium application dahil ang lahat ng ito ang nangyayari sa mga advertiser. Praytoryan ginawa din ng pag-aaral tungkol sa ibinahaging library at sinabing, "Tingnan natin kung ano ang ibinahagi aklatan ay ang mga nangungunang Nagbahagi aklatan Hayaan," at ito ay ang data. Pinag-aralan ng mga ito 53,000 apps, at ang bilang 1 nakabahaging library ay AdMob. Ito ay talagang sa 38% ng mga application out doon, kaya 38% ng mga application na iyong ginagamit ay malamang Pag-ani ng iyong personal na impormasyon at ipadala ito sa mga network ng ad. Apache at Android ay 8% at 6%, at pagkatapos ay ang mga iba pang down na mga bago sa ibaba, Google Ads, biglang pagkakagulo, Nagkakagulong mga tao City at ng sanlibong taon Media, ang mga ito ay ang lahat ng mga kumpanya ng ad, at pagkatapos, nang kawili-wili sapat, 4% na naka-link sa Facebook library malamang na gawin ang pagpapatotoo sa pamamagitan ng Facebook kaya ang app ay maaaring patotohanan ang Facebook. Ngunit na nangangahulugan din ang korporasyon kumokontrol Facebook code na tumatakbo sa 4% ng mga mobile na app sa Android out doon, at mayroon silang access sa lahat ng data na app na may pahintulot na makakuha ng sa. Facebook mahalagang sinusubukan upang magbenta ng puwang sa advertising. Iyon ang kanilang mga modelo ng negosyo. Kung tumingin ka sa ito buong ecosystem may mga pahintulot at ibinahagi aklatan nagsimula ka upang makita na mayroon kang maraming mga panganib sa isang parang lehitimong application. Ang parehong mga katulad na bagay na nangyari sa Pandora nangyari na may isang application na tinatawag na Landas, at Path inisip nila ay pagiging kapaki-pakinabang, friendly na mga developer. Sila ay lamang sinusubukan upang bigyan ka ng isang mahusay na karanasan ng gumagamit, at ito naka-out na walang pagdikta ang user o pagsasabi ng user ang anumang bagay- at ito ang nangyari sa iPhone at sa Android, ang Pandora app ay sa iPhone at Android na ang application Path ay daklot ang iyong buong address book at pag-upload ito sa Path lamang kapag nag-install at nagpatakbo ng application, at hindi nila sabihin sa iyo ang tungkol dito. Inisip nila ito ay talagang kapaki-pakinabang para sa iyo upang magagawang upang ibahagi sa lahat ng tao sa iyong address book na ginagamit mo ang application Path. Well, malinaw naman Path naisip na ito ay mahusay para sa kanilang kumpanya. Hindi kaya mahusay na sa user. Mayroon kang mag-isip na ito ay isang bagay kung siguro isang binatilyo ay gumagamit ng application na ito at ang kanilang mga dose-dosenang mga kaibigan ay sa doon, ngunit kung ano kung ito ay ang CEO ng isang kumpanya na i-install ng Path at pagkatapos ay biglang-bigla ang kanilang buong address book up doon? Ikaw ay pagpunta upang makakuha ng maraming mga potensyal na mahalagang impormasyon sa pakikipag-ugnay para sa maraming mga tao. Ang isang reporter mula sa New York Times, na maaaring magawa upang makuha ang numero ng telepono para sa ex ng Presidente mula sa kanilang address book, kaya malinaw naman ng maraming sensitibong impormasyon ay makakakuha ng inilipat sa isang bagay na katulad nito. Nagkaroon tulad ng isang malaking flap tungkol sa Path na ng paumanhin. Binago nila ang kanilang app, at ito kahit na magkaroon ng epekto sa Apple. Sinabi ni Apple, "Kami ay pagpunta upang pilitin mga vendor ng app upang i-prompt ang mga gumagamit kung sila ay pagpunta upang mangolekta ng kanilang buong address book. " Mukhang kung ano ang nangyayari dito ay kapag mayroong isa malaki paglabag sa privacy at ito ay gumagawa ng pindutin ang nakita namin ang isang pagbabago out doon. Ngunit siyempre, mayroong iba pang mga bagay out doon. Harvests Ang LinkedIn application ang iyong mga entry sa kalendaryo, ngunit Apple ay hindi gumagawa ng user ang prompt tungkol sa na. Mga entry Calendar ay maaaring magkaroon ng masyadong sensitibong impormasyon sa kanila. Saan kayo pagpunta sa gumuhit ng linya? Ito ay talagang uri ng isang umuunlad na lugar kung saan mayroong talagang walang magandang standard out doon para sa mga gumagamit upang maunawaan kapag ang kanilang impormasyon ay magiging nasa panganib at kapag sila ay pagpunta sa malaman ito ay dalhin. Sinulat ni kami ng isang app sa Veracode tinatawag Adios, at lubos na ito pinapayagan ka upang ituro ang app sa iyong direktoryo ng iTunes at tumingin sa lahat ng mga application na na-ani ng iyong buong address book. At bilang maaari mong makita sa listahang ito dito, galit na mga ibon, AIM, AroundMe. Bakit ang Nagagalit ibon kailangan iyong address book? Hindi ko alam, ngunit ginagawa nito kahit paano. Ito ay isang bagay na gawin marami, maraming mga application. Maaari mong siyasatin ang code para dito. Mayroon maayos na natukoy na mga API para sa iPhone, Android at BlackBerry upang makakuha ng sa address book. Maaari mo ba talagang madali siyasatin para sa ito, at ito ay kung ano ang ginawa namin sa aming Adios application. Ang susunod na kategorya, hindi ligtas na Imbakan Sensitive Data, ay isang bagay na kung saan ang mga developer tumagal ng isang bagay tulad ng isang pin o isang numero ng account o isang password at mag-store ito sa malinaw sa device. Kahit na mas masahol pa, maaaring mag-imbak ng nila ito sa isang lugar sa telepono na kung saan ay globally-access, tulad ng SD card. Ang makikita mo ito nang mas madalas sa Android dahil nagbibigay-daan sa Android para sa isang SD card. IPhone mga aparato ay hindi. Ngunit nakita namin kahit na ito mangyari sa isang CitiGroup application. Ang kanilang online banking application na naka-imbak ang mga numero ng account insecurely, lamang sa malinaw, kaya kung nawala mo ang iyong aparato, mahalagang nawala mo ang iyong bank account. Ito ang dahilan kung bakit ako personal na huwag gawin banking sa aking iPhone. Sa tingin ko ay masyadong peligroso ngayon ang gagawin ng mga ganitong uri ng gawain. Skype ginawa ang parehong bagay. Skype, siyempre, ay may balanse sa account, isang user name at password na-access sa balanseng iyon. Sila ay nag-iimbak ng lahat ng impormasyon na iyon sa malinaw sa mga mobile device. Mayroon akong ilang mga halimbawa dito ng paglikha ng mga file na hindi ay may karapatan na mga pahintulot o pagsulat sa disc at hindi pagkakaroon ng mangyari ang anumang encryption para sa mga iyon. Ang susunod na lugar, hindi ligtas na Sensitibong Transmission Data, Na alluded kong ito nang ilang beses, at dahil sa pampublikong Wi-Fi ito ay isang bagay na apps talagang kailangan na gawin, at ito ay marahil kung ano ang nakikita namin magkamali ang pinaka. Gusto ko sabihin-aktwal na, sa tingin ko ba akong magkaroon ng aktwal na data, subalit ito ay malapit sa kalahati ng mga mobile application magtaas paggawa ng SSL. Sila lamang ay hindi gumagamit ng mga API nang tama. Ibig kong sabihin, ang lahat na kailangan mong gawin ay sundin ang mga tagubilin at gamitin ang mga API, ngunit sila ay hindi ko mga bagay tulad ng check kung mayroong isang di-wastong certificate sa kabilang dulo, hindi suriin kung ang kabilang dulo ay sinusubukan na gawin ang isang protocol downgrade atake. Ang mga developer, nais nilang makuha ang kanilang mga checkbox, tama? Ang kanilang mga pangangailangan ay ang gamitin ito upang magbenta. Ginagamit na nila ito upang magbenta. Ang kinakailangan ay hindi gamitin ito upang magbenta ng ligtas, at kaya ito ang dahilan kung bakit lahat ng mga application na gumagamit ng SSL upang ma-secure ang data bilang ito ay ini-transmitted off talaga kailangan ang aparato upang ma-siniyasat upang siguraduhin na naipatupad nang tama. At dito Mayroon akong ilang mga halimbawa kung saan maaari mong makita ang isang application Maaaring gamit ang HTTP sa halip ng HTTPS. Sa ilang mga kaso ay umurong ang apps na HTTP kung ang HTTPS ay hindi gumagana. Mayroon akong isa pang tawag dito sa Android kung saan ito ay nai pinagana ang check sertipiko, kaya isang tao-in-the-gitna-atake ay maaaring mangyari. Ang isang di-wastong certificate tatanggapin. Ang mga ito ang lahat ng mga kaso kung saan attackers ay pagpunta sa magagawang upang makakuha ng sa ang parehong koneksyon sa Wi-Fi bilang ng gumagamit at i-access ang lahat ng data na ipinapadala sa internet. At sa wakas, ang huling kategorya Mayroon akong dito ay hardcoded password at key. Talaga namin makita ang marami ng mga developer gamitin ang parehong estilo coding na ginawa nila kapag sila ay pagbuo ng mga application sa web server, kaya sila ay pagbuo ng isang server application ng Java, at sila ay hardcoding ang key. Well, kapag ikaw ay pagbuo ng isang application server, oo, hardcoding ang key ay hindi isang magandang ideya. Ginagawang mahirap na baguhin. Ngunit ito ay hindi kaya masamang sa gilid ng server dahil kung sino ang may access sa panig ng server? Tanging ang mga administrator. Subalit kung gagawin mo ang parehong code at mo poured ito sa paglipas ng sa isang mobile application ngayon sa lahat na mayroon na sa mobile application ang may access sa na hardcoded key, at talaga naming makita ito ng maraming beses, at Mayroon akong ilang mga istatistika sa kung gaano kadalas namin nakikita mangyari ito. Ito talaga ay nasa halimbawang code na MasterCard publish kung paano gamitin ang kanilang mga serbisyo. Ang halimbawa code ay nagpakita kung paano mo tumagal lamang ang password at ilagay ito sa isang hardcoded string doon, at alam namin kung gaano ibigin developer upang kopyahin at i-paste ang mga snippet ng code kapag sila ay sinusubukan na gawin ang isang bagay, kaya kopyahin mo at i-paste ang code snippet na nagbigay sila bilang halimbawa code, at mayroon kang isang hindi secure na application. At dito mayroon kaming ilang mga halimbawa. Ang unang isa ay isa na nakikita namin ng maraming kung saan sila hardcode ang data pakanan papunta sa isang URL na ay makakakuha ng nagpadala. Minsan nakikita namin string password = ang password. Iyon ay medyo madali upang makita, o string password sa Blackberry at Android. Ito ay talagang medyo madali upang tingnan ang mga dahil halos palaging ang mga pangalan ng nag-develop ng variable na hinahawakan ang password ilang mga pagkakaiba-iba ng password. Binanggit ko na ang ginagawa namin static analysis sa Veracode, kaya Pinag-aralan namin ang ilang daang mga application ng Android at iOS. Binuo namin ang buong modelo ng mga ito, at hindi namin magagawang upang i-scan ang mga ito para sa iba't ibang mga kahinaan, lalo na ang mga kahinaan ay pakikipag-usap ko tungkol sa, at Mayroon akong ilang mga data dito. 68.5% ng Android apps itinuturing namin ang ay pinaghiwa-cryptographic code, na para sa amin, hindi namin kayang sundan kung ginawa mo ang iyong sariling crypto routine, hindi na na isang magandang ideya, ngunit ito ay aktwal na paggamit ng nai-publish na mga API na sa platform ngunit ginagawa ang mga ito sa paraang na ang crypto ay magiging mahina laban, 68.5. At ito ay para sa mga tao na ipinadadala sa amin ang kanilang mga application talaga dahil sa tingin nila ito ay isang magandang ideya na gawin ang pagsubok sa seguridad. Ang mga ito ay na ang mga tao na malamang na pag-iisip nang ligtas, kaya ito ay marahil kahit na mas masahol pa. Hindi ko makipag-usap tungkol sa kontrol linya feed iniksyon. Ito ay isang bagay na suriin namin para sa, ngunit ito ay hindi na peligrosong isang isyu. Impormasyon sa butas na tumutulo, ito ay kung saan ang sensitibong data na ipinapadala off ang aparato. Nalaman namin na sa 40% ng mga application. Oras at estado, mga mga isyu uri kondisyon lahi, karaniwang medyo mahirap na maningning na tagumpay, kaya hindi ko makipag-usap tungkol sa na, ngunit itinuturing namin ang ito. 23% ay nagkaroon ng mga isyu iniksyon SQL. Ang isang pulutong ng mga tao ay hindi alam na ng maraming mga application gumamit ng isang maliit na maliit na database ng SQL sa kanilang pagtatapos pabalik upang mag-imbak ng data. Well, kung ang data na naka-daklot sa network May mga string ng SQL iniksyon atake sa loob nito isang tao ay maaaring ikompromiso ang aparato sa pamamagitan ng na, at kaya tingin ko nakita namin tungkol sa 40% ng mga web application mayroon ang problemang ito, na kung saan ay isang malaking problema epidemya. Nakakatagpo kami ng ito 23% ng panahon sa mobile apps at iyon marahil dahil sa marami pang mga web application gamitin SQL kaysa sa mobile. At pagkatapos pa rin makita namin ang ilang scripting cross-site, mga isyu sa pag-debit, at pagkatapos ay sa pamamahala ng kredensyal, na kung saan mayroon kang ang iyong hardcoded password. Sa 5% ng mga application na nakikita namin iyon. At pagkatapos ay mayroon kaming ilang mga data sa iOS. 81% ay nagkaroon ng mga isyu sa pag-asikaso ng error. Ito ay higit pa sa isang problema sa kalidad ng code, ngunit 67% ay nagkaroon ng cryptographic mga isyu, kaya hindi pa bilang masamang bilang Android. Siguro ay Medyo mas madali ang mga API, halimbawa sa mga code ng kaunti mas mahusay sa iOS. Ngunit pa rin napakataas na porsyento. Nagkaroon kami ng 54% gamit ang butas na tumutulo impormasyon, tungkol sa 30% na may mga error sa pamamahala ng buffer. Iyon ang mga lugar kung saan may potensyal na maaaring maging isang isyu katiwalian memorya. Ito ay lumiliko out na hindi iyon kasing dami ng isang problema para sa pagsasamantala sa iOS dahil ang lahat ang code ay naka-sign, kaya mahirap para sa isang umaatake upang isakatuparan arbitrary code sa iOS. Kalidad Code, na direktoryo ng traversal, ngunit pagkatapos ay kredensyal pamamahala dito sa 14.6%, kaya mas masama kaysa sa Android. Mayroon kaming hindi paghawak ng mga tao ang mga password ng tama. At pagkatapos ay ang numeric na mga error at buffer overflow, iyon ay higit pa ng pagpunta sa maging isyu sa kalidad code sa iOS. Iyon ay ito para sa aking mga presentasyon. Hindi ko alam kung hindi kami out ng oras o hindi. Hindi ko alam kung mayroong anumang mga katanungan. [Male] Ang isang mabilis na tanong sa paligid pagkapira-piraso at sa Android market. Apple ng hindi bababa sa nagmamay-ari ng patching. Gawin nila ang isang mahusay na trabaho ng pagkuha ng ito out doon samantalang mas mababa kaya sa Android espasyo. Malapit na kayong kailangan upang jailbreak ang iyong telepono upang manatili sa kasalukuyang gamit ang mga kasalukuyang release ng Android. Oo, iyan ay isang malaking problema at kaya kung sa tingin mo tungkol- [Male] Bakit hindi mo ulitin ito? Oh, kanan, kaya ang tanong ay kung ano ang tungkol sa pagkapira-piraso ng mga operating system sa Android platform? Paano gumagana ang na makakaapekto sa mga panganib ng mga aparatong iyon? At ito talaga ay isang malaking problema dahil kung ano ang mangyayari ay ang mas lumang mga aparato, kapag ang isang tao ay lumalabas na may jailbreak para sa device na iyon, tunay na pribilehiyo pagdulog, at hanggang sa na operating system ay na-update Maaari pagkatapos ay gamitin ang anumang malware na kahinaan upang lubos na ikompromiso ang aparato, at kung ano ang aming nakikita sa Android ay sa pagkakasunud-sunod upang makakuha ng isang bagong operating system Ang Google ay may upang ilabas ang operating system, at pagkatapos ay ang tagagawa ng hardware May upang i-customize ito, at pagkatapos ay ang carrier ay may upang i-customize ito at ihahatid ito. Mayroon kang talaga 3 gumagalaw na bahagi dito, at ito ay nagiging out na ang mga carrier ay hindi na mahalaga, at ang mga tagagawa ng hardware ay hindi na mahalaga, at Google ay hindi prodding kanila sapat gumawa ng kahit ano, kaya mahalagang higit sa kalahati ng mga aparato out doon may mga operating system na may mga pribilehiyo pagdami ang mga kahinaan sa kanila, at kaya kung ikaw ay makakuha ng malware sa iyong Android device na ito ay higit pa sa isang problema. Okay, salamat sa iyo talaga. [Palakpakan] [CS50.TV]