[Seminar] [Kaitstes taga seade: Mobile Application Security] [Chris Wysopal] [Harvard University] [See on CS50.] [CS50.TV] Tere päevast. Minu nimi on Chris Wysopal. Olen CTO ja asutaja Veracode. Veracode on rakendus turvafirma. Me testime igasuguseid erinevaid rakendusi, ja mida ma täna rääkida on mobiilne rakendus turvalisust. Minu taust on Olen teinud julgeoleku-uuringute jaoks väga pikka aega, arvatavasti umbes niikaua kedagi. Hakkasin keskel 90s, ja see oli aeg, et oli päris huvitav, sest meil oli paradigma muutus keskel 90s. Äkitselt igaühe arvuti püüdsin kuni internet, ja siis meil oli algusest veebirakendusi, ja see, mida ma keskendunud palju siis. See on huvitav. Nüüd on meil teine ​​paradigma muutus juhtub arvuti, mis on nihe mobiilsed rakendused. Ma tunnen, see on omamoodi sarnane aeg siis oli hilja 90s kui olime uurides veebirakendusi ja leida vigu nagu seansihalduse vigu ja SQL süst mis tegelikult ei olnud olemas enne, ja äkki nad olid kõikjal veebirakendusi, ja nüüd palju aega ma veedan vaatab mobiilside rakenduste ja vaadake, mis toimub seal looduses. Mobile rakendused on tõesti domineeriv computing platvorm, nii meil on tõesti vaja kulutada palju aega, kui sa oled julgeoleku tööstus keskendudes veebirakendusi. Oli 29000000000 mobiilne apps alla 2011. See on eeldada, et 76 miljardit apps 2014. Seal 686000000 seadmed, mis hakkavad osta tänavu nii et see on koht, kus inimesed hakkavad tegema  enamuse oma kliendi arvuti läheb edasi. Ma rääkisin esimehena Fidelity Investments paar kuud tagasi, ja ta ütles, et nad just nägin rohkem liiklust teeme finantstehingute oma kliendibaasi oma mobiili kui oma koduleheküljel, nii ühise kasutamise kohta veebis varem olnud kontrollida oma börsikursid, hallata oma portfelli, ja me tegelikult näeme, et 2012 ümberlülitamiseks olla domineeriv mobiilsel platvormil. Muidugi, kui seal saab olema kuritegudes, pahatahtlik tegevus, see saab hakata keskenduma mobiilne platvorm Aja jooksul inimesed üle minna seda. Kui te vaatate mobiilsel platvormil, pilk riske platvorm see on kasulik jaotada see eri kihtidest, nagu sa oleks seda teha lauaarvuti, ja sa arvad eri kihtidest, tarkvara, operatsioonisüsteem, võrgu kiht, riistvara kiht, ja muidugi, seal on nõrgad kohad on kõik need kihid. Sama asi juhtub mobiilne. Kuid mobiiltelefoni, tundub, et mõned neist kihtidest on halvem. Ühe võrgu kiht on problemaatilisem mobiil sest paljud inimesed on oma kontoris või kodus traadiga ühendusi või on neil turvaline Wi-Fi ühendused, ja palju mobiilseadmete sa oled ilmselt väljaspool kodu või väljaspool kontorit palju, ja kui te kasutate Wi-Fi seal Sa võid olla kasutades ebakindel Wi-Fi ühendus, midagi, mis on avaliku Wi-Fi ühendus, Nii et kui me mõtleme mobiilne apps peame arvestama et võrgukeskkond on riskantsem nende rakendused kui Wi-Fi kasutatakse. Ja kui ma saan rohkem mobiili riske saate aru, miks see on tähtsam. On olemas oht, riistvara tasemel mobiiliga. See on valdkond, käimasolevate teadus. Inimesed kutsuvad neid lairiba rünnakute või baseband rünnakud kuhu rünnata püsivara kuulab raadiost. Need on tõesti hirmutav rünnakute tõttu kasutaja ei pea midagi tegema. Võite tabas palju seadmeid jooksul RF valik korraga, ja tundub, et iga kord, kui see uuring mullid üles kiiresti saab klassifitseerida kui inimesed sööstma ümber ja öelda: "Siin rääkige meile, et ja siis räägi seda." Seal on mõned uuringud toimub lairibaühenduse valdkonnas, kuid see tundub olevat väga Hush Hush. Ma arvan, et see on rohkem rahvusriik liiki teadusuuringuid, et toimub. Valdkonnas aktiivne teadus, kuigi on operatsioonisüsteemi kiht, ja jälle, et see on teistsugune kui lauaarvutite maailmas kuna mobiilne ruumi teil on need meeskonnad inimesed kutsutud jailbreakers, ja jailbreakers on teistsugune kui regulaarne haavatavus teadlased. Nad püüavad leida turvaauke operatsioonisüsteemi kuid põhjus, et nad üritavad leida turvaauke ei tungida kellegi teise masina ja ohustada see. See tungida oma arvuti. Nad tahavad tungida oma mobiiltelefoni, muuta oma mobiilse operatsioonisüsteemi nii et neid saab käivitada rakendusi oma valiku ja muuta asju täis ülema õigusi, ja nad ei taha öelda, et müüja sellest. Nad ei ole nagu turvalisuse teadlane, kes on valge müts turvalisuse teadlane mida teeme vastutab avalikustamise ja öelda müüja about it. Nad tahavad seda teha uuringud, ning nad tahavad tegelikult avaldada aastal ära või rootkit või jailbreak kood, ja nad tahavad seda teha strateegiliselt, nagu kohe pärast müüja laevade uue operatsioonisüsteemi. Sul on see võistleva suhe OS-tase turvaaukude mobiil mis minu arvates on päris huvitav, ja ühes kohas me näeme seda on ta teeb seda nii, et seal on hea avaldas kasutada koodi seal kernel-tasandi turvaaukude ja me oleme näinud neid tegelikult kasutatakse pahavara kirjutajad. See on natuke teistsugune kui PC maailmas. Ja seejärel lõplik kiht on pealmine kiht, kohaldamise kiht. See, mida ma täna rääkida. Muud kihti olemas, ja teised kihid mängima sinna, aga ma enamasti ei kavatse rääkida, mis toimub kell Rakenduse kiht kui kood töötab liivakastis. See ei ole administraatori õigusi. See on kasutada APIs on seadme Aga ikkagi, palju pahatahtliku tegevuse ja palju risk võib juhtuda, et kiht sest see on kiht, kus kõik andmed on. Apps on võimalik tutvuda kogu informatsioon vahendile kui neil on õigus load, ja nad saavad juurdepääsu erinevate sensorite seadmel GPS sensor, mikrofon, kaamera, mida olete. Isegi kui me ainult räägime kell Rakenduse kiht meil on palju risk olemas. Teine asi, mis on erinev umbes mobiili keskkonnale on kõik operatsioonisüsteemi mängijad, olgu see BlackBerry või Android või iOS või Windows mobile, neil kõigil on peeneteraline luba mudel, ja see on üks viise, et nad ehitatud operatsioonisüsteem Mõte, et see ei ole nii riskantne, kui sa arvad. Isegi kui teil on kõik teie kontaktid on kõik teie isikuandmeid, sul on pilte, siis on teie asukohta seal, sa salvestada oma panga pin auto login seal, et see on ohutu, sest apps peavad olema teatud õigused, et saada teatud osad informatsiooni seadme ja kasutaja peab olema esitatud koos need õigused ja öelda midagi. Probleem on kasutaja ütleb alati midagi. Kuna turvalisuse inimene, ma tean, et sa ei küsi kasutaja öelda midagi väga halba juhtub, sa tahad, et see juhtub? Ja kui nad kiirustada või on midagi tõesti köitev on teisel pool, nagu mäng läheb paigaldada, et nad on oodanud, nad ei kavatse kliki okei. Sellepärast ma ütlen minu slide siin just let me paiskama lindude sigade juba, ja te näete slaidil siin seal on näited BlackBerry luba kasti. Ta ütleb: "Palun määrake BlackBerry Travel taotluse load pärast klõpsates nuppu allpool "ja põhiliselt kasutaja lihtsalt ütlen kehtestatud õigused ja salvestada. Siin Android kiire, kui ta näitab asju, ja see tegelikult paneb midagi, et peaaegu tundub hoiatust. Tal on mingi saak märk seal ütlesid võrgu side, telefonikõne, kuid kasutaja saab klõpsata installida, eks? Ja siis Apple üks täiesti kahjutu. See ei anna mingit hoiatust. See on lihtsalt Apple soovib kasutada oma praeguses asukohas. Muidugi sa lähed kliki okei. On see peeneteraline luba mudel, ja apps pea olema manifestfaili kus nad kinnitavad, õigused, mida nad vajavad, ja et saad kuvatakse kasutajale, ja kasutajal on öelda, et ma neid õigusi. Kuid olgem ausad. Kasutajad lihtsalt läheb alati öelda midagi. Võtame pilgu load, et need apps küsivad ja mõned õigused, mis on olemas. See ettevõte Ihukaitsja tegi uuringu mullu 53000 taotlusi analüüsiti Android turg ja 3. osapoole turgude nii et see on kõik Android. Ja keskmine Avaldaja nõudis 3 load. Mõned apps taotles 117 load, Nii et ilmselt on need väga peeneteraline ja liiga keeruline, et kasutajal mõista kui nad esitatakse koos selle app, mis vajab need 117 õigused. See on nagu lõppkasutaja litsentsilepinguga, mis on 45 lehekülge pikk. Võib-olla varsti nad on võimalus, kui see on nagu prindi õigused ja saatke mulle email. Aga kui te vaatate mõned top huvitav load 24% apps, et nad alla välja 53000 taotletud GPS informatsiooni seadme. 8% lugeda kontaktid. 4% saadetud SMS, ja 3% said SMS. 2% salvestatud heli. 1% töödeldud väljuvad kõned. Ma ei tea. Ma ei usu, 4% apps App Store tõesti vaja saata SMS tekstisõnumid, nii et ma arvan, et see on vihje, et midagi ebasoovitavad juhtub. 8% apps vaja lugeda oma kontaktide nimekirja. See ilmselt ei ole vajalik. Üks muid huvitavaid asju õigused on kui sa link jagatud raamatukogud oma taotluse need pärivad õigused taotluse, Seega, kui teie app vajab kontaktiloendisse või vajab GPS asukoha toimida ja sa lingi reklaami nt raamatukogus, et reklaami raamatukogu ka pääse kontaktid ja ka pääse GPS asukoha ja arendaja app teab midagi koodi, mis jookseb reklaami raamatukogu. Nad lihtsalt siduda, et kuna nad tahavad teenida raha oma app. See on koht, kus-ja räägin mõned näited sellest, kus rakendus nimega Pandora, kus rakendus arendaja võib tahtmatult hakkas lekkima info oma kasutajatele, sest raamatukogud nad seotud sisse Geodeetilised maastik seal, vaadates kõiki erinevaid apps mis on kirjeldatud uudised pahatahtlik või midagi kasutajad ei taha ja siis kontrollimise palju apps-teeme palju staatiline binaarne analüüs mobiil apps, seega oleme uurisid neid ja vaatas kood ise- tulime me kutsume meie top 10 nimekiri riskikäitumine rakendustes. Ja see on jaotatud 2 ossa, pahatahtliku koodi, nii need on halvad asjad, mis apps võib seda tehes tõenäoliselt midagi, mida pahatahtlik üksikute on konkreetselt esitatud taotluses, kuid see on natuke udune. See võiks olla midagi, et arendaja arvab, on hea, kuid see jõuab on mõelnud kui pahatahtlik kasutaja. Ja siis teine ​​osa on see, mida me nimetame kodeerimine turvaaukude ja need on asjad, kus arendaja põhimõtteliselt on vigu või lihtsalt ei saa aru, kuidas kirjutada app turvaliselt  ja mis paneb app kasutaja ohus. Ma lähen läbi nende üksikasjalikult ja tuua mõned näited. Viide, ma tahtsin panna OWASP mobiil top 10 nimekiri. Need on 10 küsimused, mis grupi OWASP, Open Web Application Security Project, nad on töörühm kallal mobiiltelefoni top 10 nimekiri. Nad on väga kuulus web top 10 nimekiri, mis on top 10 ohtlikumad asjad saab olla veebirakenduse. Nad teevad sama asja mobiili ja nende nimekiri on veidi teistsugune kui meil. 6 otsa 10 on sama. Nad on 4, mis on erinevad. Ma arvan, et nad on natuke erinev võtma risk mobiilside apps kui palju nende küsimuste on tõesti, kuidas taotluse edastamisel back-end server või mis toimub on back-end server, mitte nii palju apps, mis on riskantne tegevus, mis on sama lihtne klient apps. Ones punaselt siin on erinevused 2 nimekirju. Ja mõned minu uurimisrühm on tegelikult aidanud kaasa selle projekti nii me näeme, mis juhtub aja jooksul, kuid ma arvan, Buffee siin me tõesti ei tea, mida top 10 nimekiri on mobiilne apps sest nad on tõesti olnud vaid umbes 2 või 3 aastat, ja seal ei ole olnud piisavalt aega, et tõesti teadus operatsioonisüsteemid ja mida nad suudavad, ja seal ei ole olnud piisavalt aega pahatahtlikku kogukond, kui soovite, et oli veetnud piisavalt aega üritavad rünnata kasutajatele mobiilne apps, et ma ootan neid nimekirju muuta natuke. Aga nüüd on need top 10 asju muretsema. Võite küsida, mobiilne side, kus ei pahatahtliku mobiilne koodi kuidas see saada, et seade? North Carolina State on projekt nimega Mobile Malware Geenivaramu kus neid kogudes nii palju mobiilne pahavara, kui nad saavad ja analüüsimine, ja nad on jaotatud süst vektorite et mobiil pahavara kasutab, ja 86% kasutavad tehnikat nimega ümberpakendamine, ja see on ainult Android platvorm kas sa tõesti seda teha ümberpakendamine. Põhjus on Android kood on ehitatud Java byte kood kutsus Dalvik mis on kergesti decompilable. Mida paha saab teha, on võtma Android taotlus, dekompileerida see, sisestada oma pahatahtliku koodi, kompileeri see, ja siis pane see üles App Store, mis tahab olla uus versioon, et taotlus, või lihtsalt võibolla muutuvad rakenduse nimi. Kui see oli mingi mäng, nime muuta veidi, ja nii see ümberpakendamine on kuidas 86% mobiilse pahavara saab laiali. Seal on teine ​​tehnikat nimega uuendus, mis on väga sarnane ümberpakendamine, aga tegelikult ei pane pahatahtliku koodi sisse Mida teha, on paned väikese ajakohastamise mehhanism. Sa dekompileerida, paned ajakohastamise mehhanism, ja sa kompileerida see, ja siis, kui rakendus töötab see tõmbab alla pahavara seade. Valdav enamik on need 2 meetodeid. Seal ei ole tõesti palju download drive-bys või drive-by downloads mobiiltelefonide, mis võiks olla nagu õngevõtmiskatset. Hei, vaadake seda väga lahe veebileht, või sa pead minema seda veebilehte ja täitke see vorm hoida jätkuvalt midagi. Need on phishing rünnakuid. Sama asi võib juhtuda mobiilne platvorm, kus nad osutavad mobiilne app alla laadida, siis ütle "Tere, see on Bank of America." "Me näeme, et sa seda rakendust." "Te peaksite alla laadima selle muu rakendus." Teoreetiliselt võiks sobida. Võib-olla ta lihtsalt ei kasutata piisavalt, et teha kindlaks, kas see on edukas või mitte, kuid nad leidsid, et vähem kui 1% ajast kasutatakse seda tehnikat. Enamuse ajast on see tõesti ümberpakendatud kood. Seal on teine ​​kategooria nimega standalone kui keegi lihtsalt ehitab uhiuus taotluse. Nad ehitada rakendus, mis väidab end olevat midagi. See ei ole ümberpakendamine midagi muud, ja mis on pahatahtliku koodi. Seda kasutatakse 14% ajast. Nüüd ma tahan rääkida, mis on pahatahtliku koodi teed? Üks esimesi pahavara seal siis võiks kaaluda nuhkvara. Põhiliselt spioonid kasutaja. Ta kogub kirju, SMS sõnumeid. Selgub mikrofoni. Ta koristab kontakt raamatut ja saadab ta ära kellelegi teisele. Seda tüüpi nuhkvara on olemas arvuti, nii et see on täiesti loogiline, et inimesed saaksid proovida seda teha mobiiliga. Üks esimese näited sellest oli programm nimega salajane SMS Replitkaatori. See oli Android Marketplace paar aastat tagasi, ja mõte oli, kui teil oleks juurdepääs kellegi Android telefon mis sa tahtsid luurama, et äkki see on sinu abikaasa või teie teised olulised ja soovite luurama oma tekstisõnumit, võid alla laadida see app ja installida ja seadistada saata SMS sõnum teile koopia iga SMS-sõnumi nad said. Ilmselt on rikkumisi app store kasutustingimused ja see oli eemaldatud Android Marketplace 18 tunni jooksul, et oleks olemas, nii väga väike hulk inimesi on ohus, sest sellest. Nüüd ma arvan, et kui programm kutsuti midagi võib-olla veidi vähem provokatiivne nagu Secret SMS Replicator see ilmselt oleks töötas palju paremini. Aga see oli selline ilmne. Üks asi, mida me saame teha, et teha kindlaks, kas apps on selline käitumine, et me ei taha on kontrollida koodi. See on tegelikult väga lihtne teha Android sest me ei dekompileerida apps. IOS saate disassembleri nagu IDA Pro vaadata, mida rakendusliideste app helistab ja mida ta teeb. Me kirjutasime oma binaarne staatiline analüsaator meie kood ja kui me seda teeme, ja nii, mida võiks teha, on, võiks öelda, Mis seade teha midagi, mis on põhimõtteliselt luurad mind või jälgimise mind? Ja mul on mõned näited siin on iPhone. Esimene näide on see, kuidas pääseda UUID telefon. See on tegelikult midagi, et Apple on lihtsalt keelatud uute rakenduste jaoks, kuid vana rakendused, mida oleks võinud töötab teie telefon on veel teha, ja nii, et unikaalne identifikaator võib kasutada pala paljudes erinevates rakendustes. Android, mul on näiteks siin saada seadme asukohta. Näete, et kui see API kõne on seal, et app on jälgida, ja te näete, kas see muutub trahvi asukoha või jäme asukohta. Ja siis põhjale siin, mul on näide sellest, kuidas BlackBerry rakendamine võib pääseda e-kirju oma postkasti. Need on omamoodi asju saab kontrollida, et näha, kui app teeb neid asju. Teine suur kategooria pahatahtlikku käitumist ja see on tõenäoliselt suurim kategooria nüüd, on lubamatu numbrid loata premium SMS tekstisõnumeid või autoriseerimata maksete. Teine asi, mis on ainulaadne umbes telefon Kas seade on konks arvelduskonto, ja kui tegevus toimub telefoni see võib tekitada eest. Te saate osta asju telefoni teel, ja kui sa talle lisatasu SMS-sõnumi sa tegelikult annab raha et konto omaniku telefoni number teisel pool. Need loodi selleks, et saada börsikursid või saada oma igapäevane horoskoop või muid asju, kuid neid saab luua tellida toode saates SMS. Inimesed annavad raha, et Punase Risti saates tekstisõnumi. Võite anda $ 10 nii. Ründajad, mida nad on teinud, on nad loonud moodustab välisriikides, ja nad kinnistada pahavara et telefon saadab lisatasu SMS-sõnumi, öelda, paar korda päevas, ja lõpus kuu sa mõistad, sa oled veetnud kümneid või isegi sadu dollareid, ja nad minema jalutada raha. See on nii halb, et see oli esimene asi, mida Android Marketplace või Google koht-see oli Android Marketplace ajal, ja see on nüüd Google Play-esimene asi, mida Google alustas kontrollides. Kui Google alustas jaotavad Android apps oma App Store nad ütlesid, et nad ei kavatse vaadata midagi. Me tõmba apps kui oleme teatanud nad murdsid meie kasutustingimuste, kuid me ei kavatse vaadata midagi. Noh, umbes aasta tagasi see on nii halb see premium SMS tekstisõnumi pahavara et see on kõige esimene asi, mida nad hakkasid kontrollimine. Kui app on võimalik saata SMS-sõnumeid nad edasi käsitsi kontrollida, et taotluse. Nad ootavad API, mis kutsuvad seda, ja nüüd, sest siis Google on laienenud, kuid see oli esimene asi, mida nad hakkasid otsima. Mõned teised apps et tegin mõned SMS tekstisõnumeid, see Android Qicsomos, ma arvan, et see on nn. Oli see praegune sündmus mobiilne kus see CarrierIQ tuli välja nuhkvara panna seade kandjaid, et inimesed tahtsid teada, kas nende telefon oli haavatav sellele, ja see oli tasuta app, et katsetada seda. Noh, muidugi, mida see app tegin oli see saadetakse premium SMS tekstisõnumeid, nii, testides, et näha, kui olete nakatunud nuhkvaraga laaditud pahavara seade. Me nägime sama asi juhtub viimasel Super Bowl. Seal oli võlts versioon Madden jalgpalli mäng et saata tasulisi SMSe tekstisõnumeid. See tegelikult püüdnud luua bot võrku liiga seadmes. Siin on mul mõned näited. Huvitaval kombel on Apple oli päris nutikas, ning need ei võimalda taotluste saata SMS tekstisõnumeid üldse. No app ei saa seda teha. See on suurepärane võimalus vabaneda kogu klass haavatavuse kuid Android sa saad seda teha, ja muidugi, BlackBerry saab seda teha ka. On huvitav, et BlackBerry kõik, mida vaja on internetiühendus õigusi saata SMS-sõnumi. Teine asi tõesti, et me otsima kui me otsime, et näha, kui midagi on pahatahtlik on lihtsalt mingeid lubamatu võrgu tegevust, nagu vaatate võrgu tegevust app peaks siis olema oma funktsionaalsuse, ja vaadata seda teiste võrgustiku tegevust. Võib-olla app, töötada, on saada andmed üle HTTP, aga kui ta teeb asju üle e-posti või SMS-i või Bluetoothi ​​või midagi sellist nüüd, et app võiks olla pahatahtlik, nii et see on veel üks asi, mida saab kontrollida eest. Ja see slaidi siin on mul selle kohta mõned näited. Teine huvitav asi, mida me nägime pahavara juhtus aastal 2009, ja see juhtus suur viisil. Ma ei tea, kas see on juhtunud nii palju, sest siis, kuid see oli app et kehastas teine ​​rakendus. Seal oli hulk apps, ja see oli dubleeritud 09Droid rünnak, ja keegi otsustas, et seal oli palju väikseid, piirkondliku keskmise suurusega pangad et ei ole internetipanga rakendused nii et mida nad tegid, oli neil ehitatud umbes 50 online-panganduse rakenduste et kõik nad tegid oli võtta kasutajanimi ja parool ja suunata sind veebilehel. Ja nii nad panid need kõik üles Google Marketplace, Android Marketplace, ja kui keegi otsida, et näha, kui oma panga oli taotlus, et nad leiaksid võlts rakendus mis on kogutud oma volikirjad ja seejärel suunata neid oma veebilehel. Nii, et see tegelikult sai-apps olid seal paar nädalat, ja seal oli tuhandeid ja tuhandeid faile. Kuidas see tuli ilmsiks oli keegi, kellel on probleeme üks rakendused ning nad kutsusid oma panga, ning nad kutsusid oma panga klienditugi ja ütles: "Mul on probleem oma liikuva panga taotlus." "Kas sa mind aidata?" Ja nad vastasid: "Meil ei ole mobiilne pangandus taotluse." See alustanud uurimist. See pank nimega Google, ja siis Google vaatas ja ütles: "Wow, sama autor on kirjutanud 50 panga rakendused" ja võttis nad kõik maha. Aga kindlasti võiks see korduda. Seal on nimekiri kõikidest erinevates pankades siin mis olid osa selle analüüs. Teine asi app saab teha, on praegu UI teise taotluse. Kuigi see töötab see võiks avanes Facebook UI. Ta ütleb, et sa pead panema oma kasutajanimi ja parool jätkata või panna suvalise kasutajanime ja salasõna UI kodulehel et äkki kasutaja kasutab lihtsalt proovida petta kasutaja sisse pannes oma volikirjad sisse See on tõesti sirge paralleeli email phishing rünnakuid kui keegi saadab teile e-kirja ja annab teile põhimõtteliselt võlts UI kodulehel et teil on juurdepääs. Muu asi, mida me otsima pahatahtliku koodi süsteemi muutmist. Võite vaadata kõiki API kõned, mis nõuavad root privileegi täita korrektselt. Muutuvad seadme web proxy oleks midagi, et taotlus ei peaks olema võimalik seda teha. Aga juhul, kui taotlus on kood seal seda teha sa tead, et see on ilmselt ründerakendusega või väga suure tõenäosusega ründerakenduseks, ja mis siis juhtub see, et app oleks kuidagi Suurenevad privileeg. See on teatud privileeg eskaleerumise ära taotluses, ja siis, kui see eskaleerunud privileegid see teeks need muudatused süsteemi. Leiad pahavara, mis on privileeg eskaleerumise ta isegi ei tea, kuidas privileeg eskaleerumise ära juhtub, ja see on tore ja lihtne viis otsida pahavara. DroidDream oli ilmselt kõige kuulsam tükk Android pahavara. Ma arvan, et see mõjutab umbes 250.000 kasutajat üle mõne päeva Enne leiti. Nad ümberpakendatud 50 võlts rakendused pange need Android App Store, ja sisuliselt seda kasutada Android jailbreak kood laieneda privileegid ja siis installida juhtimise ja kontrolli muuta kõik ohvrid arvesse bot net, aga sa oleks võinud avastada selle kui sa olid skaneerimise taotlus ja lihtsalt otsin API kõned, vaja root õigusi teostada õigesti. Ja seal on näiteks siin on mul, mis on muutumas proxy, ja see tegelikult on saadaval ainult Android. Näete Ma annan sulle palju näiteid Android sest see on koht, kus kõige aktiivsem pahavara ökosüsteemi sest see on väga lihtne ründajal saada pahatahtliku koodi arvesse Android Market. See ei ole nii lihtne teha, et Apple App Store kuna Apple nõuab arendajatele end identifitseerida ja kirjutada koodi. Nad tegelikult kontrollida, kes sa oled, ja Apple on tegelikult taotluste läbivaatamist. Me ei näe palju tõsi pahavara, kus seade hakkab ohus. Räägin mõned näited, kus see on tõesti privaatsust, mis on saada kahjustatud, ja see, mis tegelikult toimub Apple seadmega. Teine asi otsida pahatahtliku koodi, riskantne koodi seadmed on loogika või aeg pommid ja ajapommid on ilmselt palju lihtsam otsida kui loogika pomme. Kuid aeg pomme, mida saate teha, on sul võimalik otsida kohti kood, kus aeg on testitud või absoluutset aega otsinud enne teatud funktsioone app juhtub. Ja seda on võimalik teha, et varjata, et aktiivsus kasutaja, nii see juhtub hilisõhtuni. DroidDream tegi kogu oma tegevuse 11:00-08:00 kohaliku aja järgi proovida seda teha, kui kasutaja ei pruugi olla kasutades oma seade. Teine põhjus seda teha on, kui inimesed kasutavad käitumisanalüüsiga taotluse, töötab app liivakastis näha, mis käitumist taotlus, nad saavad kasutada aega põhinev loogika teha tegevus kui rakendus ei ole liivakast. Näiteks app store nagu Apple jookseb rakendus, kuid nad ilmselt ei jookse iga taotluse, ütleme, 30 päeva enne selle rahuldamist, siis võite panna loogika oma rakendus, mis ütles, okei, ainult tee paha pärast 30 päeva on möödunud või pärast 30 päeva möödumist avaldab taotluse esitamise kuupäev, ja mis aitab pahatahtliku koodi peida inimeste kontrollimise eest. Kui viirusetõrje firmad töötavad asjad liivakastid või app kauplustes ise see aitab varjata, et selle kontrolli. Nüüd klapp külg, et see on lihtne leida staatilise analüüsi, nii tegelikult kontrolliva koodi saate otsida kõik kohad kus taotlus testib aega ja kontrollida nii. Ja siin mul on mõned näited neist 3 erinevatel platvormidel kuidas aega saab kontrollida, mida app tegija et sa tead, mida otsida, kui sa kontrollimise app staatiliselt. Ma veetsin terve hunnik erinevaid pahatahtlik tegevus et me oleme näinud looduses, kuid milline neist on kõige rohkem levinud? Sama uuring North Carolina State Mobile Geenivaramu avaldanud mõned andmed, ja seal olid põhiliselt 4 aladel et nad nägid, kus oli palju tegevust. 37% apps ei privileeg eskaleerumise, et nad olid teatud tüüpi jailbreak kood sinna kus nad püüdsid laieneda õigused, et nad saaksid ei API käsud töötavad operatsioonisüsteemi. 45% apps seal tegin premium SMS, nii et see on väga suur osa, mis püüab otse rahaks. 93% ei kaugjuhtimispult, et nad üritasid luua bot net, mobiil bot net. Ja 45% koristatud kindlaks teave nagu telefoninumbrid, UUIDs, GPS asukoha, kasutajakontod, ja see lisab kuni rohkem kui 100, sest enamik pahavara üritab teha mõned neist asjadest. Ma minna teisele poole ja rääkida koodi kohti. See on teine ​​pool riskantne tegevus. See on koht, kus peamiselt arendaja teeb vigu. Õigustatud arendaja kirjalikult õigustatud app teeb vigu või on asjatundmatu riskidele mobiilsel platvormil. Nad lihtsalt ei tea, kuidas teha turvaline mobiilne app, või mõnikord arendaja ei hooli paneb kasutaja ohus. Vahel osa nende ärimudel võiks olla korjanud kasutaja isikuandmeid. See on omamoodi teine ​​kategooria, ja see on põhjus, miks mõned selle pahatahtliku versus õigustatud veritsema hakkab üle, sest seal on erinev arusaam vahel, mida kasutaja tahab ja mida kasutaja arvab riskantne ja mida rakendus arendaja leiab riskantne. Muidugi, see ei ole rakendus arendaja andmed enamasti. Ja siis lõpuks, teine ​​viis seda juhtub on arendaja võib linki Jagatud teegi, mis on nõrgad kohad või see riskantne käitumine see unbeknownst neile. Esimene kategooria on tundlike andmete leke, ja see on siis, kui rakendus kogub teavet nagu asukoht, aadressiraamatu teabe omaniku andmed ning saadab selle välja seade. Ja kui see on välja lülitatud, et seade, et me ei tea, mis toimub, et info. Võiks salvestatud ebakindlalt poolt rakendus arendaja. Me oleme näinud rakendus arendajad saavad kahjustatud, ja andmed, mida nad hoidmiseks saab võtta. See juhtus paar kuud tagasi, et arendaja Floridas kus suur hulk-see oli iPad UUIDs ja seadmete nimetused olid lekkinud sest keegi, ma arvan, et see oli anonüümne, väitis seda teha, tungis see arendaja serverid ja varastas miljoneid iPad UUIDs ja arvuti nime. Mitte kõige riskantsem info kuid mis siis, kui see oli ladustamiseks kasutajanimed ja paroolid ja kodused aadressid? Seal on palju rakendusi, et säilitada sellist teavet. Risk on olemas. Teine asi, mis võib juhtuda, on see, kui arendaja ei hoolitse tagada andmete kanal, ja see on üks suur haavatavus ma rääkida, et andmed on saadetud selge. Kui kasutaja on avaliku Wi-Fi võrgu või keegi nuusutamisel internetis kuskil mööda teed, et andmed on kokku puutunud. Üks väga kuulus puhul selle teabe leke juhtus Pandora, ja see on midagi, mida me uuritud Veracode. Kuulsime, et seal oli-Ma arvan, et see oli Federal Trade Commission Uurimine toimub Pandora. Me ütlesime: "Mis seal toimub? Alustame Kaevetööd Pandora taotluse." Ja mida me kindlaks oli Pandora taotlus kogutud teie sugu ja teie vanus, ja see ka avada oma GPS asukoha ja Pandora taotlus tegin seda, mida nad ütlesid oli õigustatud põhjustel. Muusika, et nad mängisid-Pandora on muusika streaming app- muusika nad mängisid oli ainult litsentseeritud Ameerika Ühendriigid, et nad pidid kontrollima, et täita oma litsentsilepingud, et nad olid jaoks muusikat, kasutaja oli Ameerika Ühendriigid. Samuti soovisid nad vastavad Parental Advisory ümber täiskasvanu keel muusikas ja nii see on vabatahtlik programm, kuid nad tahtsid järgimiseks ja ei mängi selgesõnaline lyrics lastele 13 ja alla. Neil oli õigustatud põhjusi kogudes need andmed. Nende app oli load teha. Kasutajad arvasin, et see oli õigustatud. Aga mis juhtus? Nad on seotud 3 või 4 erinevat reklaami raamatukogudes. Nüüd äkki kõik need ad raamatukogud saavad kasutada seda sama informatsiooni. Ad raamatukogud, kui te vaatate kood reklaami raamatukogud Mida nad teevad, on igas kuulutuses raamatukogu ütleb "Kas minu app luba saada GPS asukohta?" "Oh, see? Okei, ütle mulle, GPS asukohta." Iga reklaami raamatukogu teeb seda, ja kui app ei ole GPS luba see ei ole võimalik saada, kuid kui see juhtub, siis saab seda. See on koht, kus ärimudel ad raamatukogud on vastu privaatsust kasutaja. Ja seal on olnud uuringuid seal, et öelda, kui sa tead vanus isiku ja sa tead nende asukohta kus nad magavad öösel, sest sa oled oma GPS koordinaadid kuigi nad ehk magavad, siis tead täpselt, kes see isik on sest sa võid määrata, milline kasutaja selle majapidamises on see, et isik. Tõesti see on kindlaks reklaamijatele täpselt, kes sa oled, ja tundub, et see oli õigustatud. Ma lihtsalt tahan, et mu streaming muusika, ja see on ainus viis, kuidas seda saada. Noh, me avatud see. Meil kirjutas selle üles mitu blogi postitusi, ja selgus, et keegi Rolling Stone ajakiri lugeda ühe meie blogi postitusi ja kirjutas oma blogis Rolling Stone about it, ja juba järgmisel päeval Pandora arvasin, et see oli hea mõte kõrvaldada reklaami raamatukogude nende kohaldamist. Niipalju kui ma tean, et nad ainult-nad tuleks tunnustada. Ma arvan, et nad ainult freemium tüüpi app, et on seda teinud. Kõik teised freemium apps on sama käitumine, nii et sa pead mõtlema, milliseid andmeid te annate Nende freemium rakendusi, sest see kõik läheb reklaamijatele. Ihukaitsja ka tegi uuringu kohta jagatud raamatukogude ja ütles: "Vaatame, mida on jagatud raamatukogude on top jagatud raamatukogude," ja see oli andmeid. Nad analüüsitud 53.000 apps, ja number 1 jagatud raamatukogu oli AdMobi. See oli tegelikult 38% taotlustest seal, nii 38% taotlustest te kasutate tõenäoliselt korjanud oma isiklikke andmeid ja saates selle reklaami võrgustikud. Apache ja Android oli 8% ja 6% ja siis need teised need maha allosas, Google Ads, kärsitus, Mob City ja Millennial meedia need on kõik reklaami firmad ja siis huvitaval kombel 4% ühendatud Facebook raamatukogu ilmselt teha autentimise kaudu Facebook nii app võiks autentimiseks Facebook. Aga see tähendab ka ettevõtte Facebook kontrollib kood mis jookseb 4% Android mobiiltelefoni apps seal, ning neil on juurdepääs kõigile andmetele, et see app on luba saada on. Facebook sisuliselt üritab müüa reklaamipinda. See on nende ärimudel. Kui vaadata kogu seda ökosüsteemi nende õigused ja jagatud raamatukogude hakkate näha, et sul on palju riske väidetavalt õigustatud taotluse. Sama sarnane asi, mis juhtus Pandora juhtus rakendus nimega Path, ja Path arvasin, et nad on abivalmis, sõbralik arendajad. Nad olid lihtsalt üritan sulle suurepärase kogemuse, ja selgus, et küsimata kasutaja või teatades kasutajale midagi- ja seda juhtus iPhone ja Android, Pandora app oli iPhone ja Android- et tee taotlus haarata kogu oma aadressiraamatusse ja laadige see tee just siis, kui olete installinud ja jooksis taotluse ja nad ei ütle teile seda. Nad arvasid, et see oli tõesti kasulik teile et oleks võimalik jagada kõigi inimesi oma aadressiraamatust et te kasutate Path taotluse. Noh, ilmselt Path arvasin, et see oli suurepärane oma firma. Ei ole nii suur, et kasutaja. Sa pead mõtlema, et see on üks asi, kui äkki teismeline kasutab seda rakendust ja nende kümneid sõbrad on seal, kuid mis siis, kui see on tegevjuht firma, et paigaldab Path ja siis äkki kogu oma aadressiraamatu on seal üleval? Sa lähed, et saada palju potentsiaalselt väärtuslike kontaktandmed jaoks palju inimesi. Reporter New York Times, et sa võiksid saada telefoni number ex presidenti tema aadressiraamatus nii ilmselt palju tundlikke andmeid saab üle midagi sellist. Oli selline suur klapp sellest, et tee vabandas. Nad muutsid oma app, ja see isegi mõjutada Apple. Apple ütles: "Me sundida app müüjad sunnib kasutajaid kui nad ei kavatse koguda kogu oma aadressiraamatus. " Tundub, mis siin toimub on kui seal on üks suur privaatsuse rikkumine ja see muudab press näeme muutus seal. Aga muidugi, seal on teised asjad seal. LinkedIn taotlus korista oma kalendrikirjeid kuid Apple ei tee kasutaja palutakse sellest. Kalendrikirjeid saab olema tundliku teabe ka neid. Kuhu sa lähed, et tõmmata piir? See on tõesti selline arenev koht kui seal on tõesti mingit hea standard seal kasutajate jaoks, et mõista, kui nende andmed ei kavatse olla ohus ja kui nad ei kavatse tean, et see on tehtud. Me kirjutasime app Veracode nimetatakse Adios, ja sisuliselt see võimaldas teil juhtida app oma iTunes kataloogi ja vaadata kõiki rakendusi, mis olid korjanud kogu oma aadressiraamatust. Ja nagu näete selles nimekirjas siin, Angry Birds, AIM, AroundMe. Miks Angry Birds vaja aadressiraamatu? Ma ei tea, kuid see kuidagi. See on midagi, mida paljud, paljud rakendused teha. Võite kontrollida koodi eest. Seal on hästi määratletud APIs iPhone, Android ja BlackBerry nöökima aadressiraamatus. Võite tegelikult lihtsalt kontrollida seda, ja see on see, mida me tegime meie Adios taotluse. Järgmise kategooria ohtlikud Sensitive Data Storage, on midagi, kus arendajad võtma midagi pin või kontonumber või salasõna üles ja hoidke seda selgeks seadme. Isegi hullem, nad võivad seda säilitada ala telefon mis on ülemaailmselt kättesaadav, nagu SD-kaardilt. Sa näed seda sagedamini Android sest Android võimaldab SD-kaardilt. IPhone seadmed ei. Aga me isegi näinud seda juhtuda Citigroup taotluse. Internetipanga salvestatud kontonumbrid ebakindlalt, ainult selge, et kui sa kaotasid oma seadmes sisuliselt sa kaotasid oma pangakonto. See on põhjus, miks ma isiklikult ei tee pangandus minu iPhone. Ma arvan, et see on liiga riskantne praegu teha selliseid tegevusi. Skype tegi sama asja. Skype muidugi on kontojäägi kasutajanimi ja parool millel on juurdepääs sellele tasakaal. Nad säilitada kogu selle teabe selge mobiilne seade. Mul on mõned näited siin luua faili et ei ole õige õigusi või kirjalikult ketas ja kellel ei ole krüpteerimine juhtuda, et. See järgmise ala, ohtlikud tundlike andmete edastamine, Olen viidanud sellele paar korda, ja kuna avaliku Wi-Fi see on midagi, mida apps absoluutselt vaja teha, ja see on ilmselt see, mida me näeme valesti minna kõige rohkem. Ütleksin, tegelikult, ma arvan, et mul on tegelikud andmed, aga see on peaaegu poole mobiilsed rakendused kägardama teed SSL. Nad lihtsalt ei kasuta APIs õigesti. Ma mõtlen, et kõik mida sa pead tegema, on järgige juhiseid ja kasutage APIs, kuid nad asju ei vaadata, kas on kehtetu teise otsa, mitte vaadata, kui teine ​​ots on püüdnud teha protokolli alandada rünnak. Arendajad, nad tahavad saada oma kast, eks? Nende nõue on kasutada seda müüa. Nad kasutasid seda müüa. Nõue ei kasuta seda müüa turvaliselt ja nii see on, miks kõik rakendused, mis kasutavad SSL andmete turvalisuse kui see on edastatud off seade tõesti tuleb kontrollida veenduda, et on rakendatud õigesti. Ja siin mul on mõned näited, kus näete rakenduse võivad olla kasutades HTTP asemel HTTPS. Mõnel juhul apps taandub HTTP kui HTTPS ei tööta. Mul on teine ​​kõne siin Android kus nad blokeeritud sertifikaadi kontroll, nii mees-in-the-middle rünnak võib juhtuda. Kehtetu sertifikaat lubatavus. Need on kõik juhtumid, kus ründajad hakkavad saama minna sama Wi-Fi ühendus, kui kasutaja ja juurdepääsu kõik andmed mis kuramuse saadetakse üle interneti. Ja lõpuks, viimane I kategooria on siin kõva parool ja võtmed. Me tegelikult näha palju arendajaid kasutab sama kodeerimine stiili mis nad tegid, kui nad olid hoone web server rakenduste nii nad ehitavad Java server rakendus ja nad hardcoding võti. Noh, kui sa oled hoone server rakendus, jah, hardcoding võti ei ole hea mõte. See raskendab muuta. Aga see ei ole nii halb serveripoolne sest kellel on juurdepääs serveri poolel? Ainult administraatorid. Aga kui te võtate sama koodi ja sa valada see üle mobiilile nüüd igaühele, kellel on, et mobiili on juurdepääs sellele kõva võti, ja me tegelikult näeme seda palju kordi ja mul on veidi statistikat sellest, kui tihti me näeme seda juhtub. See tegelikult oli näiteks koodi, MasterCard avaldatud kuidas kasutada oma teenust. Näiteks kood näitas, kuidas sa lihtsalt võtta salasõna ja pane see kõva string seal, ja me teame, kuidas arendajad armastavad kopeeri ja kleebi koodilõigud kui nad üritavad midagi teha, siis kopeeri ja kleebi koodijupi et nad andsid nii näiteks kood, ja sul on ebakindlam. Ja siin on meil mõned näited. See esimene on üks me näeme palju, kui nad hardcode andmed otse URL, et saab saata. Vahel näeme string password = parool. See on üsna lihtne avastada, või string parool BlackBerry ja Android. See on tegelikult üsna lihtne kontrollida, kuna peaaegu alati arendaja nimed muutuja, mis hoiab salasõna varianti salasõna. Mainisin, et me staatilise analüüsi Veracode, seega oleme analüüsinud mitusada Android ja iOS rakendusi. Oleme loonud täieliku mudelite neid ja me saame otsida neile erinevate turvaaukude eriti nõrku kohti, millest ma rääkisin, ja mul on mõned andmed siin. 68,5% Android apps me vaatasime oli katki krüptograafiliste kood, mis meie jaoks, me ei saa tuvastada, kui sa tegid oma krüpto rutiinne, mitte, et see on hea mõte, kuid see on tegelikult kasutades avaldatud APIs mis on lastud platvormi kuid teeme neid sellisel viisil et krüpto oleks haavatav, 68,5. Ja see on inimestele, kes on saates meile oma taotlused tegelikult sest nad arvavad, et see on hea mõte teha turvalisuse testimine. Need on juba inimesi, kes on ilmselt mõelda turvaliselt nii et see on ilmselt veel hullem. Ma ei räägi kontrolli reavahetus süsti. See on midagi, mida me kontrollida, kuid see ei ole nii riskantne küsimus. Info lekkimine on see, kui delikaatsed andmed on saadetud seadmest välja. Me leidsime, et 40%-rakendusi. Aeg ja riik, need on rassi tingimus tüüpi küsimusi, mis on tavaliselt üsna raske kasutada, nii et ma ei räägi sellest, aga me vaatasime seda. 23%-l oli SQL süst küsimusi. Paljud inimesed ei tea, et palju rakendusi Kasutage väike väike SQL andmebaasi oma kolp andmete talletamiseks. Noh, kui andmed, mida sa haarata üle võrgu on SQL süst rünnak paelu, keegi võib ohustada seadme abil, et ja nii ma arvan, et me leiame umbes 40% veebirakendused on see probleem, mis on tohutu epideemia probleemi. Me leiame, et 23% ajast mobiilne apps ja see on ilmselt seetõttu, et paljud enam veebirakendusi kasutada SQL kui mobiiltelefoni. Ja siis me veel näha mõnda murdskriptimise luba küsimused ja siis mandaat juhtimine, see on kui sul on kõva salasõna. Aastal 5% taotlustest näeme. Ja siis on meil mõned andmed iOS. 81%-l oli viga küsimustega tegelemiseks. See on rohkem koodi kvaliteedi probleem, vaid 67%-l oli krüptograafiliste küsimusi, et ei ole nii hull, nagu Android. Ehk APIs on natuke lihtsam, näiteks koodide veidi parem iOS. Aga ikkagi väga kõrge protsent. Meil oli 54% informatsiooni lekkimist, umbes 30% puhvriga juhtimise vead. See on kohad, kus võiks olla mälu korruptsiooni teema. Selgub, et see ei ole nii suur probleem ärakasutamine iOS sest kõik kood on kirjutatud, nii et see on raske ründajal käivitada suvalise koodi iOS. Kood kvaliteediga kataloog läbipääsusüsteemid, kuid seejärel volikirjad haldamine siin 14,6%, nii hullem kui Android. Meil on inimesi, mitte käitlemise paroolid korralikult. Ja siis numbriliste vigade ja buffer overflow, need on rohkem saab olema kood kvaliteedi küsimusi iOS. See oli see minu esitlus. Ma ei tea, kas me oleme hilinenult või mitte. Ma ei tea, kas seal on mingeid küsimusi. [Mees] kiire küsimus ümber killustatus ja Android turg. Apple vähemalt omab lappimine. Nad teevad head tööd saada see seal samas vähem Android ruumi. Sa peaaegu vaja Jailbreak telefoni kursis praeguse vabastamist Android. Jah, see on väga suur probleem ja et kui sa arvad, [Mees] Miks sa ei saa korrata? Oh, jah, nii et küsimus oli kuidas killustatus operatsioonisüsteemi Android platvorm? Kuidas see mõjutab riskantsuse need seadmed? Ja tegelikult on suur probleem, sest see, mis juhtub, on vanemad seadmed, kui keegi kerkib jailbreak jaoks seade põhiliselt see privileeg eskaleerumise, kuni kõnealuse operatsioonisüsteemi uuendatud pahavara saab siis kasutada, et haavatavust täiesti kahjustada seadme ja mida me näeme Android on selleks, et saada uus operatsioonisüsteem Google on välja pandud opsüsteemi ja seejärel riistvara tootja on kohandada, ja siis peab vedaja kohandada ja saavutada. Sul on põhiliselt 3 liikuvaid osi siin, ja ta pöörab tähelepanu sellele, et vedajad ei hooli, ja riistvara tootjad ei hooli, ning Google ei tonksates neid piisavalt midagi teha, nii et sisuliselt üle poole seadmete seal on operatsioonisüsteemid, mis on nende privileeg eskaleerumise turvaauke neid, ja nii kui sa saad pahavara Android seade, see on palju suurem probleem. Ok, tänan teid väga palju. [Aplaus] [CS50.TV]