1 00:00:00,000 --> 00:00:02,610 >> [Seminar] [puolustaminen takana Device: Mobile Application Security] 2 00:00:02,610 --> 00:00:04,380 [Chris Wysopal] [Harvardin yliopisto] 3 00:00:04,380 --> 00:00:07,830 [Tämä on CS50.] [CS50.TV] 4 00:00:07,830 --> 00:00:10,360 >> Hyvää iltapäivää. Nimeni on Chris Wysopal. 5 00:00:10,360 --> 00:00:13,360 Olen CTO ja yhteistyötä perustaja Veracode. 6 00:00:13,360 --> 00:00:15,880 Veracode on sovellus turvallisuusalan yritys. 7 00:00:15,880 --> 00:00:18,230 Me testata kaikenlaisia ​​erilaisia ​​sovelluksia, 8 00:00:18,230 --> 00:00:25,060 ja mitä aion puhua tänään on mobiilisovellus turvallisuus. 9 00:00:25,060 --> 00:00:28,630 Oma taustani on olen tehnyt turvallisuustutkimuksen 10 00:00:28,630 --> 00:00:31,970 hyvin pitkän aikaa, luultavasti noin niin kauan kuin kukaan. 11 00:00:31,970 --> 00:00:35,000 Aloitin 90-luvun puolivälissä, 12 00:00:35,000 --> 00:00:37,370 ja se oli aika, että oli aika mielenkiintoinen, koska 13 00:00:37,370 --> 00:00:39,220 meillä oli paradigman muutos puolivälissä 90-luvulla. 14 00:00:39,220 --> 00:00:43,520 Yhtäkkiä kaikkien tietokone oli koukussa internetiin, 15 00:00:43,520 --> 00:00:46,550 ja sitten meillä oli alkua web-sovelluksia, 16 00:00:46,550 --> 00:00:49,330 ja se mitä olen keskittynyt paljon sitten. 17 00:00:49,330 --> 00:00:51,160 Se on mielenkiintoista. 18 00:00:51,160 --> 00:00:53,930 Nyt meillä on toinen paradigman muutos tapahtuu computing, 19 00:00:53,930 --> 00:00:58,710 joka on siirtyminen mobiilisovelluksia. 20 00:00:58,710 --> 00:01:03,680 >> Minusta se on tavallaan samanlainen aikaa sitten se oli 90-luvun lopulla 21 00:01:03,680 --> 00:01:07,650 kun olimme tutkivat web-sovelluksia ja löytää vikoja, kuten 22 00:01:07,650 --> 00:01:11,800 istunnon hallinta virheitä ja SQL-injektio 23 00:01:11,800 --> 00:01:14,940 joka ei todellakaan ole aikaisemmin esiintynyt, ja yhtäkkiä he olivat kaikkialla 24 00:01:14,940 --> 00:01:19,360 web-sovelluksia, ja nyt paljon aikaa vietän 25 00:01:19,360 --> 00:01:27,950 etsii mobiilisovelluksia ja katsot mitä tapahtuu siellä luonnossa. 26 00:01:27,950 --> 00:01:32,060 Mobiilisovellukset ovat todella olemaan hallitseva Computing Platform, 27 00:01:32,060 --> 00:01:35,060 joten meidän on todella viettää paljon aikaa, jos olet turva-alan 28 00:01:35,060 --> 00:01:39,280 keskittyy web-sovelluksia. 29 00:01:39,280 --> 00:01:43,420 Oli 29 miljardia mobiilisovellukset ladata 2011. 30 00:01:43,420 --> 00:01:47,920 Se on ennustettu olevan 76 miljardia apps vuoteen 2014 mennessä. 31 00:01:47,920 --> 00:01:54,040 On 686000000 laitteita, joita aiotaan ostaa tänä vuonna, 32 00:01:54,040 --> 00:01:57,060 joten tämä on, jos ihmiset aikovat tehdä 33 00:01:57,060 --> 00:01:59,600  Suurin osa asiakkaan computing eteenpäin. 34 00:01:59,600 --> 00:02:04,220 >> Puhuin johtajana Fidelity Investments 35 00:02:04,220 --> 00:02:08,780 pari kuukautta sitten, ja hän sanoi, että he vain näkivät enemmän liikennettä 36 00:02:08,780 --> 00:02:12,610 teet liiketoimia niiden asiakaskunta 37 00:02:12,610 --> 00:02:16,230 niiden mobiilisovellus kuin niiden verkkosivuilla, 38 00:02:16,230 --> 00:02:20,610 joten yhteiseen käyttöön Web on aikaisemmin ollut 39 00:02:20,610 --> 00:02:23,800 tarkkailun pörssikurssit, toimitusjohtaja oman salkun, 40 00:02:23,800 --> 00:02:28,060 ja olemme todella nähdä, että vuonna 2012 kytkin yli 41 00:02:28,060 --> 00:02:30,960 olla hallitsevampi mobiilialusta. 42 00:02:30,960 --> 00:02:34,530 Varmasti, jos siellä tulee olla rikollista toimintaa, 43 00:02:34,530 --> 00:02:38,900 haittaohjelmat toimintaa, se tulee aloittaa keskitytään mobiilialusta 44 00:02:38,900 --> 00:02:44,210 ajan myötä ihmiset siirtyä siihen. 45 00:02:44,210 --> 00:02:48,320 Jos tarkastellaan mobiilialusta, 46 00:02:48,320 --> 00:02:54,380 tarkastella riskejä alustan on hyödyllistä murtaa se alas eri kerroksia, 47 00:02:54,380 --> 00:02:59,010 aivan kuten te tekisitte sen pöytätietokoneen, 48 00:02:59,010 --> 00:03:02,860 ja ajattelee eri kerroksiin, ohjelmistot, käyttöjärjestelmä, 49 00:03:02,860 --> 00:03:07,730 verkkokerroksella, laitteisto kerros, ja tietysti siellä on haavoittuvuuksien kaikki kerrokset. 50 00:03:07,730 --> 00:03:10,510 >> Sama tapahtuu mobiili. 51 00:03:10,510 --> 00:03:14,880 Mutta mobiili, näyttää siltä, ​​että jotkut näistä kerrokset ovat huonommin. 52 00:03:14,880 --> 00:03:19,840 Yhden, verkkokerroksen on ongelmallisempaa liikkuvilla 53 00:03:19,840 --> 00:03:25,650 koska monet ihmiset ovat heidän toimistossa tai kotona 54 00:03:25,650 --> 00:03:30,780 langallisten yhteyksien tai heillä on turvallinen Wi-Fi-yhteydet, 55 00:03:30,780 --> 00:03:36,530 ja paljon mobiililaitteita olet ilmeisesti kodin ulkopuolella 56 00:03:36,530 --> 00:03:40,520 tai toimiston ulkopuolella paljon, ja jos käytät Wi-Fi on 57 00:03:40,520 --> 00:03:42,820 saatat käyttää turvaton Wi-Fi-yhteys, 58 00:03:42,820 --> 00:03:45,570 jotain, joka on julkinen Wi-Fi-yhteys, 59 00:03:45,570 --> 00:03:48,840 joten kun ajattelemme mobiilisovellukset meidän on otettava huomioon 60 00:03:48,840 --> 00:03:53,770 että verkkoympäristö on riskialttiimpia sovelluksille 61 00:03:53,770 --> 00:03:57,640 kun Wi-Fi on käytössä. 62 00:03:57,640 --> 00:04:02,410 Ja kun pääsen enemmän mobiilisovellus riskit 63 00:04:02,410 --> 00:04:04,910 näet, miksi se on tärkeämpää. 64 00:04:04,910 --> 00:04:09,710 On riskejä laitteisto tasolla mobiililaitteissa. 65 00:04:09,710 --> 00:04:11,670 Tämä on alue jatkuvaa tutkimusta. 66 00:04:11,670 --> 00:04:15,910 Ihmiset kutsuvat näitä laajakaista hyökkäyksiä tai baseband hyökkäyksiä 67 00:04:15,910 --> 00:04:21,870 jos olet hyökkää firmware joka kuuntelee radiosta. 68 00:04:21,870 --> 00:04:25,430 >> Nämä ovat todella pelottavaa iskujen vuoksi 69 00:04:25,430 --> 00:04:27,280 Käyttäjän ei tarvitse tehdä mitään. 70 00:04:27,280 --> 00:04:30,760 Voit lyödä paljon laitteita RF-alue 71 00:04:30,760 --> 00:04:36,690 kerralla, ja se tuntuu, kun tämä tutkimus kuplia 72 00:04:36,690 --> 00:04:40,750 se nopeasti saa luokitella jossa 73 00:04:40,750 --> 00:04:46,600 ihmiset syöksyä ympäri ja sanoa: "Täällä, kerro meille siitä ja ota puhumatta siitä." 74 00:04:46,600 --> 00:04:49,460 Siellä on joitakin käynnissä on laajakaista-aluettaan, 75 00:04:49,460 --> 00:04:51,980 mutta se näyttää olevan hyvin hys hys. 76 00:04:51,980 --> 00:04:56,910 Minusta se on enemmän kansallisvaltion tyyppistä tutkimusta joka on meneillään. 77 00:04:56,910 --> 00:05:02,140 Aktiivisen tutkimuksen, vaikka on käyttöjärjestelmä kerros, 78 00:05:02,140 --> 00:05:08,910 ja taas, tämä on erilainen kuin pöytätietokoneiden maailmaa 79 00:05:08,910 --> 00:05:14,840 koska mobiililaitteille olet nämä joukkueet ihmisiä kutsutaan jailbreakers, 80 00:05:14,840 --> 00:05:18,670 ja jailbreakers ovat erilaisia ​​kuin säännöllistä haavoittuvuutta tutkijoita. 81 00:05:18,670 --> 00:05:21,970 He yrittävät löytää haavoittuvuuksia käyttöjärjestelmän, 82 00:05:21,970 --> 00:05:27,000 mutta syy he yrittävät löytää haavoittuvuuksia ei ole 83 00:05:27,000 --> 00:05:31,810 murtautua jonkun toisen koneen ja vaarantaa sen. 84 00:05:31,810 --> 00:05:34,280 Se on murtautua oman tietokoneen. 85 00:05:34,280 --> 00:05:38,820 >> He haluavat murtautua omia mobiili, muokata omaa mobiili käyttöjärjestelmä 86 00:05:38,820 --> 00:05:41,050 jotta he voivat ajaa sovelluksia heidän valintansa 87 00:05:41,050 --> 00:05:44,510 ja muuttaa asioita täysin järjestelmänvalvojan oikeuksia 88 00:05:44,510 --> 00:05:49,050 ja he eivät halua kertoa myyjä tästä. 89 00:05:49,050 --> 00:05:52,960 He eivät pidä turvallisuutta tutkija, joka on valkoinen hattu tietoturvatutkija 90 00:05:52,960 --> 00:05:56,600 joka aikoo tehdä vastaavan julkistamista ja kertoa myyjä siitä. 91 00:05:56,600 --> 00:06:01,270 He haluavat tehdä tätä tutkimusta, ja he haluavat todella julkaista sen 92 00:06:01,270 --> 00:06:06,400 in hyödyntää tai rootkit tai Jailbreak koodia, 93 00:06:06,400 --> 00:06:10,010 ja he haluavat tehdä sen strategisesti, kuten heti 94 00:06:10,010 --> 00:06:13,570 myyjä alusten uuden käyttöjärjestelmän. 95 00:06:13,570 --> 00:06:16,350 Sinulla on tämä kontradiktorisen suhde 96 00:06:16,350 --> 00:06:19,000 OS-tason haavoittuvuuksien mobiili, 97 00:06:19,000 --> 00:06:23,150 joka on mielestäni varsin mielenkiintoinen, ja yksi paikka näemme sen 98 00:06:23,150 --> 00:06:29,210 se tekee niin, että siellä on hyviä julkaistu hyväksikäyttökoodi siellä 99 00:06:29,210 --> 00:06:31,750 kernel-tason haavoittuvuuksia, 100 00:06:31,750 --> 00:06:35,040 ja olemme nähneet todellisuudessa käyttää haittaohjelmien kirjoittajat. 101 00:06:35,040 --> 00:06:38,450 Se on hieman erilainen kuin PC-maailmassa. 102 00:06:38,450 --> 00:06:42,530 Ja sitten lopullinen kerros on yläkerros, sovellustasolla. 103 00:06:42,530 --> 00:06:45,250 Se mitä aion puhua tänään. 104 00:06:45,250 --> 00:06:48,970 >> Muut kerrokset ovat olemassa, ja muut kerrokset pelata osaksi sitä, 105 00:06:48,970 --> 00:06:53,310 mutta olen enimmäkseen aio puhua siitä, mitä tapahtuu sovellustasolla 106 00:06:53,310 --> 00:06:55,560 jossa koodi on käynnissä hiekkalaatikko. 107 00:06:55,560 --> 00:06:58,670 Se ei ole järjestelmänvalvojan oikeuksia. 108 00:06:58,670 --> 00:07:02,170 Se on käyttää API laitteen, 109 00:07:02,170 --> 00:07:06,970 mutta silti, paljon haitallisen toiminnan ja paljon riskejä voi tapahtua, että kerros 110 00:07:06,970 --> 00:07:09,220 koska se on kerros, jossa kaikki tieto on. 111 00:07:09,220 --> 00:07:12,330 Sovellukset voivat käyttää kaikkia laitteen tietoja 112 00:07:12,330 --> 00:07:15,390 jos heillä on oikeus käyttöoikeudet, 113 00:07:15,390 --> 00:07:17,540 ja he voivat käyttää erilaisia ​​antureita laitteeseen, 114 00:07:17,540 --> 00:07:23,950 GPS-sensori, mikrofoni, kamera, mitä olet. 115 00:07:23,950 --> 00:07:27,380 Vaikka emme vain puhu sovellustasolla 116 00:07:27,380 --> 00:07:33,700 meillä on paljon riskejä siellä. 117 00:07:33,700 --> 00:07:38,450 Toinen asia, joka on erilaista mobiiliin ympäristöön 118 00:07:38,450 --> 00:07:45,060 on kaikki käyttöjärjestelmän pelaajia, olipa BlackBerry tai Android 119 00:07:45,060 --> 00:07:53,410 tai iOS tai Windows Mobile, ne kaikki ovat hienorakeinen luvan malli, 120 00:07:53,410 --> 00:07:56,990 ja tämä on yksi tapa, että he rakensivat käyttöjärjestelmään 121 00:07:56,990 --> 00:08:01,230 ajatus, että se ei ole niin riskialtista kuin luulet. 122 00:08:01,230 --> 00:08:04,550 Vaikka sinulla on kaikki yhteystiedot siellä, kaikki henkilökohtaiset tiedot, 123 00:08:04,550 --> 00:08:09,080 sinulla on valokuvia, sinulla on paikalla siellä, 124 00:08:09,080 --> 00:08:14,820 olet tallentamisen bank pin automaattinen kirjautuminen on olemassa, se on turvallista, koska 125 00:08:14,820 --> 00:08:19,430 apps on oltava tiettyjä oikeuksia saada tietyissä osissa 126 00:08:19,430 --> 00:08:25,080 tiedot laitteen ja käyttäjän on esitettävä 127 00:08:25,080 --> 00:08:29,230 nämä luvat ja sano okei. 128 00:08:29,230 --> 00:08:32,590 >> Ongelma on käyttäjän sanoo aina kunnossa. 129 00:08:32,590 --> 00:08:35,240 Koska turvallisuus henkilö, tiedän voit pyytää käyttäjää, 130 00:08:35,240 --> 00:08:40,100 sanoa jotain todella pahaa tulee tapahtumaan, sinä haluat sen tapahtua? 131 00:08:40,100 --> 00:08:44,680 Ja jos he ovat kiire tai siinä on jotain todella houkutteleva toisella puolella, että 132 00:08:44,680 --> 00:08:47,760 kuin peli aiotaan asentaa, että he ovat odottaneet, 133 00:08:47,760 --> 00:08:50,860 he aikovat klikkaa kunnossa. 134 00:08:50,860 --> 00:08:56,630 Siksi sanon minun slide täällä juuri minulle paiskata lintuja sikoja jo, 135 00:08:56,630 --> 00:09:03,150 ja näet dian tässä siellä esimerkkejä BlackBerry lupaa ruutuun. 136 00:09:03,150 --> 00:09:05,990 Se sanoo "Aseta BlackBerry Travel sovelluksen käyttöoikeudet 137 00:09:05,990 --> 00:09:09,720 jälkeen klikkaamalla alla olevaa painiketta "ja pohjimmiltaan käyttäjä on juuri menossa sanoa 138 00:09:09,720 --> 00:09:12,240 asettaa käyttöoikeudet ja tallenna. 139 00:09:12,240 --> 00:09:18,010 Tässä Android ajallaan, jossa näkyy asioita, 140 00:09:18,010 --> 00:09:20,260 ja se oikeasti jotain, joka melkein näyttää varoitus. 141 00:09:20,260 --> 00:09:25,090 Se sai eräänlaisen varoituskolmio siellä sanomalla verkkoviestintää, puheluita 142 00:09:25,090 --> 00:09:28,120 mutta käyttäjä on menossa valitse asentaa, eikö? 143 00:09:28,120 --> 00:09:32,940 Ja sitten Apple yksi on täysin vaaraton. 144 00:09:32,940 --> 00:09:34,300 Se ei anna minkäänlaista varoitusta. 145 00:09:34,300 --> 00:09:37,380 Se on vain Apple haluaisi käyttää nykyistä sijaintia. 146 00:09:37,380 --> 00:09:39,670 Tietenkin aiot klikata kunnossa. 147 00:09:39,670 --> 00:09:42,260 >> On tämä hienojakoinen lupaa malli, 148 00:09:42,260 --> 00:09:45,890 ja sovellukset on oltava manifestissä jossa he julistavat 149 00:09:45,890 --> 00:09:49,410 käyttöoikeudet he tarvitsevat, ja että saavat näytetään käyttäjälle, 150 00:09:49,410 --> 00:09:53,480 ja käyttäjän täytyy sanoa myöntää nämä oikeudet. 151 00:09:53,480 --> 00:09:55,080 Mutta olkaamme rehellisiä. 152 00:09:55,080 --> 00:09:58,400 Käyttäjät ovat juuri menossa aina sanoa kunnossa. 153 00:09:58,400 --> 00:10:04,460 Otetaanpa vilkaista käyttöoikeudet nämä sovellukset pyytävät 154 00:10:04,460 --> 00:10:06,850 ja joitakin käyttöoikeuksia, jotka ovat siellä. 155 00:10:06,850 --> 00:10:09,950 Tämä yritys Praetorian teki kyselyn viime vuonna 156 00:10:09,950 --> 00:10:14,170 53000 analysoitujen hakemusten Android markkinoilla ja 3rd party markkinoilla, 157 00:10:14,170 --> 00:10:16,770 joten tämä on kaikki Android. 158 00:10:16,770 --> 00:10:19,670 Ja keskimääräinen app pyydetty 3 käyttöoikeudet. 159 00:10:19,670 --> 00:10:23,370 Jotkin sovellukset pyysi 117 käyttöoikeuksia, 160 00:10:23,370 --> 00:10:27,480 joten ilmeisesti nämä ovat erittäin hienojakoisia ja aivan liian monimutkainen käyttäjä ymmärtää 161 00:10:27,480 --> 00:10:31,600 jos ne siellä esitetään tämän sovelluksen, joka tarvitsee näitä 117 käyttöoikeuksia. 162 00:10:31,600 --> 00:10:37,270 Se on kuin loppukäyttäjän lisenssisopimus, joka on 45 sivua pitkä. 163 00:10:37,270 --> 00:10:40,240 Ehkä pian he ovat yksi vaihtoehto, jos se on kuin 164 00:10:40,240 --> 00:10:43,100 tulostaa käyttöoikeudet ja lähetä minulle sähköpostia. 165 00:10:43,100 --> 00:10:45,480 >> Mutta jos tarkastellaan joitakin alkuun mielenkiintoisia käyttöoikeudet 166 00:10:45,480 --> 00:10:50,840 24% apps että ne ladataan ulos 53000 167 00:10:50,840 --> 00:10:57,230 pyydetyt GPS-tietoja laitteen. 168 00:10:57,230 --> 00:10:59,810 8% lukea yhteystiedot. 169 00:10:59,810 --> 00:11:03,770 4% lähetetään tekstiviesti, ja 3% saapunut. 170 00:11:03,770 --> 00:11:07,730 2% tallennettua ääntä. 171 00:11:07,730 --> 00:11:11,210 1% jalostettu lähtevät puhelut. 172 00:11:11,210 --> 00:11:13,140 En tiedä. 173 00:11:13,140 --> 00:11:17,520 En usko, että 4% kaikista apps App Store todellakaan tarvitse lähettää tekstiviestejä, 174 00:11:17,520 --> 00:11:21,410 joten uskon, että vihje, että jotain epätavallista on tekeillä. 175 00:11:21,410 --> 00:11:24,350 8% apps täytyy lukea yhteystiedot. 176 00:11:24,350 --> 00:11:26,510 Se ei todennäköisesti ole tarpeen. 177 00:11:26,510 --> 00:11:30,990 Yksi muita mielenkiintoisia asioita käyttöoikeudet on 178 00:11:30,990 --> 00:11:36,740 jos linkkiä jaetut kirjastot sovellukseen 179 00:11:36,740 --> 00:11:39,780 nämä perivät käyttöoikeudet hakemuksen, 180 00:11:39,780 --> 00:11:46,570 joten jos sovellus tarvitsee yhteystietoluettelo tai tarvitsee GPS-sijainnin toimiakseen 181 00:11:46,570 --> 00:11:49,940 ja liität vuonna mainonnan kirjasto, esimerkiksi 182 00:11:49,940 --> 00:11:53,170 että mainos kirjasto on myös mahdollisuus käyttää kontakteja 183 00:11:53,170 --> 00:11:57,630 ja myös voi käyttää GPS-sijainti, 184 00:11:57,630 --> 00:12:01,990 ja kehittäjä app tiedä mitään koodia, joka on käynnissä mainoksen kirjastossa. 185 00:12:01,990 --> 00:12:05,370 He vain yhdistää, että koska he haluavat ansaita rahaa sovellus. 186 00:12:05,370 --> 00:12:09,820 >> Tämä on, jos ja minä puhumme joitakin esimerkkejä tämän kanssa 187 00:12:09,820 --> 00:12:13,930 sovellus nimeltä Pandora, jossa sovelluskehittäjä 188 00:12:13,930 --> 00:12:18,910 ehkä tietämättään vuotaa tietoja 189 00:12:18,910 --> 00:12:24,580 niiden käyttäjille, koska kirjastot he ovat sidoksissa sisään 190 00:12:24,580 --> 00:12:30,110 Maanmittaus maiseman siellä, tarkastellaan kaikkia eri sovellukset 191 00:12:30,110 --> 00:12:34,310 että on raportoitu uutiset ilkeä tai tekee jotain käyttäjät eivät halua 192 00:12:34,310 --> 00:12:39,360 ja sitten tarkastaa paljon apps-teemme paljon häiriöitä binary analyysin mobiilisovellukset, 193 00:12:39,360 --> 00:12:42,010 joten olemme tarkastaa ne ja katsoin koodin itse- 194 00:12:42,010 --> 00:12:49,640 keksimme mitä me kutsumme meidän top 10 lista riskikäyttäytymistä sovelluksissa. 195 00:12:49,640 --> 00:12:54,180 Ja se jakautuu 2 osaan, haitallisen koodin, 196 00:12:54,180 --> 00:12:57,600 joten nämä ovat pahoja asioita, että sovellukset voidaan tehdä, että 197 00:12:57,600 --> 00:13:06,520 ovat todennäköisesti jotain, että ilkeä yksittäisiä 198 00:13:06,520 --> 00:13:10,060 on nimenomaan laittaa hakemuksen, mutta se on hieman sumea. 199 00:13:10,060 --> 00:13:13,300 Se voisi olla jotain, että kehittäjä ajattelee on hieno, 200 00:13:13,300 --> 00:13:16,350 mutta se päätyy ajatellut sen haitalliseksi käyttäjä. 201 00:13:16,350 --> 00:13:19,830 >> Ja sitten toinen osa on se, mitä me kutsumme koodaus haavoittuvuuksia, 202 00:13:19,830 --> 00:13:24,600 ja nämä ovat asioita, joissa kehittäjä pohjimmiltaan tekee virheitä 203 00:13:24,600 --> 00:13:27,200 tai vain ei ymmärrä miten kirjoittaa app turvallisesti, 204 00:13:27,200 --> 00:13:30,260  ja joka laittoi sovelluksen käyttäjä vaarassa. 205 00:13:30,260 --> 00:13:34,060 Aion käydä läpi näitä yksityiskohtaisesti ja antaa esimerkkejä. 206 00:13:34,060 --> 00:13:39,620 Ilmenee, halusin laittaa ylös OWASP mobiili top 10 lista. 207 00:13:39,620 --> 00:13:43,590 Nämä ovat 10 numeroa, että ryhmä OWASP, 208 00:13:43,590 --> 00:13:48,900 Open Web Application Security Project, heillä työryhmä 209 00:13:48,900 --> 00:13:50,620 työstää mobiili top 10 lista. 210 00:13:50,620 --> 00:13:54,600 Heillä on erittäin kuuluisa web top 10 lista, jotka ovat top 10 211 00:13:54,600 --> 00:13:57,180 vaarallisinta, mitä voi olla web-sovellus. 212 00:13:57,180 --> 00:13:59,090 He tekevät samaa mobiililaitteille, 213 00:13:59,090 --> 00:14:01,750 ja niiden lista on hieman erilainen kuin omamme. 214 00:14:01,750 --> 00:14:03,670 6 ulos 10 ovat samat. 215 00:14:03,670 --> 00:14:06,020 He ovat 4, jotka ovat erilaisia. 216 00:14:06,020 --> 00:14:10,550 Mielestäni heillä on hieman erilainen ottaa 217 00:14:10,550 --> 00:14:14,490 riski mobiilisovellukset jossa paljon niiden kysymysten 218 00:14:14,490 --> 00:14:20,490 ovat todella miten sovellus viestii back-end-palvelin 219 00:14:20,490 --> 00:14:23,100 tai mitä tapahtuu back-end-palvelin, 220 00:14:23,100 --> 00:14:29,220 ei niin paljon sovelluksia, joilla on riskikäyttäytymistä, jotka ovat aivan yksinkertaista asiakas apps. 221 00:14:29,220 --> 00:14:36,640 >> Niistä punaisella tässä ovat erot 2 luetellaan. 222 00:14:36,640 --> 00:14:40,740 Ja joitakin minun tutkimusryhmä on todella osoittanut tähän hankkeeseen, 223 00:14:40,740 --> 00:14:44,570 niin näemme, mitä tapahtuu ajan myötä, mutta mielestäni takeaway tässä 224 00:14:44,570 --> 00:14:47,550 emme oikeastaan ​​tiedä, mitä top 10 lista on mobiilisovellukset koska 225 00:14:47,550 --> 00:14:50,510 He ovat todella ollut vain noin 2 tai 3 vuotta, 226 00:14:50,510 --> 00:14:57,750 ja ei ole ollut tarpeeksi aikaa todella tutkia käyttöjärjestelmissä 227 00:14:57,750 --> 00:15:00,450 ja mitä he pystyvät, ja ei ole ollut tarpeeksi aikaa 228 00:15:00,450 --> 00:15:06,870 haittaohjelman yhteisölle, jos haluatte, on viettänyt tarpeeksi aikaa 229 00:15:06,870 --> 00:15:12,910 yrittää hyökätä käyttäjille mobiilisovellukset, joten odotan näitä luetteloita muuttaa hieman. 230 00:15:12,910 --> 00:15:18,720 Mutta nyt nämä ovat top 10 asioita murehtia. 231 00:15:18,720 --> 00:15:24,150 Saatat ihmetellä mobiili puolella, jossa ei ilkeä mobiili koodi- 232 00:15:24,150 --> 00:15:28,880 miten se päästä laitteeseen? 233 00:15:28,880 --> 00:15:35,210 North Carolina State on projekti nimeltään Mobile Malware Genome Project 234 00:15:35,210 --> 00:15:39,520 jos ne on kerätä niin paljon mobiililaitteiden haittaohjelmien kuin he voivat ja analysoida sitä, 235 00:15:39,520 --> 00:15:45,270 ja he ovat eriteltyinä pistoksen vektorit että mobiililaitteiden haittaohjelmien käyttää, 236 00:15:45,270 --> 00:15:51,490 ja 86% käyttää tekniikkaa kutsutaan uudelleen pakkaamisen, 237 00:15:51,490 --> 00:15:54,160 ja tämä on vain Android-alustan 238 00:15:54,160 --> 00:15:56,720 voit todella tehdä tämän uudelleen pakkaamisen. 239 00:15:56,720 --> 00:16:03,100 >> Syy on Android-koodi on rakennettu 240 00:16:03,100 --> 00:16:08,130 Java tavu koodi nimeltään Dalvik joka on helposti decompilable. 241 00:16:08,130 --> 00:16:12,460 Mitä pahis voi tehdä, on 242 00:16:12,460 --> 00:16:16,590 ottaa Android-sovellus, purkaa sen, 243 00:16:16,590 --> 00:16:20,120 lisätä niiden haitallista koodia, kääntää sen, 244 00:16:20,120 --> 00:16:28,070 ja sitten laittaa se esille App Store muka olla uusi versio, joka hakemuksen, 245 00:16:28,070 --> 00:16:30,330 tai vain ehkä muuttamalla sovelluksen nimi. 246 00:16:30,330 --> 00:16:35,140 Jos se oli jonkinlainen peli, muuttaa nimeä hieman, 247 00:16:35,140 --> 00:16:42,860 ja niin tämä uudelleen pakkaaminen on, miten 86% mobiililaitteiden haittaohjelmien saa jakaa. 248 00:16:42,860 --> 00:16:45,810 On toinenkin tekniikkaa kutsutaan päivitys, joka on 249 00:16:45,810 --> 00:16:50,030 hyvin samankaltainen uudelleen pakkaamisen, mutta te itse ei laita haitallisen koodin sisään 250 00:16:50,030 --> 00:16:52,870 Mitä tehdä, on laittaa pieni päivitys mekanismi. 251 00:16:52,870 --> 00:16:56,660 Voit purkaa, laitat päivitysmekanismi, ja voit kääntää sen, 252 00:16:56,660 --> 00:17:02,360 ja sitten kun sovellus on käynnissä se vetää alas haittaohjelmien kiinni laitteeseen. 253 00:17:02,360 --> 00:17:06,300 >> Ylivoimaisesti suurin osa ovat ne 2 tekniikoita. 254 00:17:06,300 --> 00:17:12,710 Ei ole oikeastaan ​​paljon download drive pysähdyspaikkoja tai drive-by download matkapuhelinten, 255 00:17:12,710 --> 00:17:15,890 joka voisi olla kuin phishing-hyökkäys. 256 00:17:15,890 --> 00:17:18,200 Hei, katsokaa tämä todella siistiä verkkosivuilla, 257 00:17:18,200 --> 00:17:21,020 tai sinun täytyy mennä tälle sivustolle ja täytä tämä lomake 258 00:17:21,020 --> 00:17:24,420 pitää jatkuvaa tehdä jotain. 259 00:17:24,420 --> 00:17:26,230 Nämä ovat phishing-hyökkäykset. 260 00:17:26,230 --> 00:17:28,160 Sama voi tapahtua mobiilialusta, jossa he 261 00:17:28,160 --> 00:17:33,830 viittaavat Mobile App ladata, sanoa "Hei, tämä on Bank of America." 262 00:17:33,830 --> 00:17:36,070 "Näemme käytät tätä sovellusta." 263 00:17:36,070 --> 00:17:38,540 "Lataa tämä toinen sovellus." 264 00:17:38,540 --> 00:17:41,170 Teoriassa, että voisi toimia. 265 00:17:41,170 --> 00:17:48,610 Ehkä se vain ei käytetä tarpeeksi, onko se onnistunut vai ei, 266 00:17:48,610 --> 00:17:51,680 mutta he havaitsivat, että alle 1% ajasta, joka tekniikkaa käytetään. 267 00:17:51,680 --> 00:17:56,130 Suurimman osan ajasta se on todella uudelleenpakatun koodi. 268 00:17:56,130 --> 00:17:58,710 >> On toinenkin luokasta itsenäisenä 269 00:17:58,710 --> 00:18:01,420 jos joku vain rakentaa upouusi sovellus. 270 00:18:01,420 --> 00:18:04,020 He rakentavat sovellus, joka väittää olevansa jotain. 271 00:18:04,020 --> 00:18:07,360 Se ei ole uudelleen pakkaaminen jotain muuta, ja että on haitallista koodia. 272 00:18:07,360 --> 00:18:11,230 Joka käyttää 14% ajasta. 273 00:18:11,230 --> 00:18:17,880 Nyt haluan puhua siitä, mitä on haitallisen koodin teet? 274 00:18:17,880 --> 00:18:23,070 Yksi ensimmäisistä haittaohjelmien siellä 275 00:18:23,070 --> 00:18:25,490 voisitte harkita vakoiluohjelmia. 276 00:18:25,490 --> 00:18:27,620 Se pohjimmiltaan vakoilee käyttäjää. 277 00:18:27,620 --> 00:18:30,470 Se kerää sähköpostit, tekstiviestit. 278 00:18:30,470 --> 00:18:32,340 Se syttyy mikrofonin. 279 00:18:32,340 --> 00:18:37,330 Se sadot kontakti kirjan, ja se lähettää sen jollekin muulle. 280 00:18:37,330 --> 00:18:40,870 Tämäntyyppinen spyware olemassa PC, 281 00:18:40,870 --> 00:18:46,200 joten on erittäin järkevää, että ihmiset yrittävät tehdä tämän mobiililaitteissa. 282 00:18:46,200 --> 00:18:53,230 >> Yksi ensimmäisiä esimerkkejä tästä oli ohjelma nimeltä Salainen SMS Replicator. 283 00:18:53,230 --> 00:18:56,250 Se oli Android Marketplace pari vuotta sitten, 284 00:18:56,250 --> 00:18:59,960 ja ajatus oli, jos oli pääsy jonkun Android-puhelinta 285 00:18:59,960 --> 00:19:03,450 että olet halunnut vakoilla, joten ehkä se on sinun puolisosi 286 00:19:03,450 --> 00:19:07,600 tai muita huomattavia ja haluat vakoilla tekstiviestit, 287 00:19:07,600 --> 00:19:11,200 voit ladata tämän sovelluksen ja asentaa sen ja määrittää sen 288 00:19:11,200 --> 00:19:16,540 lähettää tekstiviestin sinulle kopion 289 00:19:16,540 --> 00:19:21,710 jokaisen tekstiviestin he saivat. 290 00:19:21,710 --> 00:19:27,220 Tämä tietysti on rikkomuksiin App Store käyttöehdot, 291 00:19:27,220 --> 00:19:32,040 ja tämä poistettiin Android Marketplace 18 tunnin kuluessa se on siellä, 292 00:19:32,040 --> 00:19:36,760 joten hyvin pieni joukko ihmisiä oli vaarassa, koska tämän. 293 00:19:36,760 --> 00:19:42,510 Nyt uskon, että jos ohjelmaa on jotain ehkä hieman vähemmän provosoiva 294 00:19:42,510 --> 00:19:48,690 kuten Secret SMS Replicator se todennäköisesti olisi toiminut paljon paremmin. 295 00:19:48,690 --> 00:19:52,870 Mutta se oli aika ilmeinen. 296 00:19:52,870 --> 00:19:58,680 >> Yksi asioita, joita voimme tehdä, onko apps on tämä ongelma, että emme halua 297 00:19:58,680 --> 00:20:01,410 on tarkastaa koodin. 298 00:20:01,410 --> 00:20:06,250 Tämä on oikeastaan ​​todella helppo tehdä Android koska voimme purkaa apps. 299 00:20:06,250 --> 00:20:11,050 IOS voit käyttää disassembler kuten IDA Pro 300 00:20:11,050 --> 00:20:17,190 katsoa, ​​mitä Apis sovellus soittaa ja mitä se tekee. 301 00:20:17,190 --> 00:20:20,680 Kirjoitimme oman binary staattinen analysaattori meidän koodi 302 00:20:20,680 --> 00:20:24,940 ja teemme tämän, ja niin mitä voisit tehdä on voisi sanoa 303 00:20:24,940 --> 00:20:30,490 ei laite tehdä mitään, on pohjimmiltaan vakoilee minua tai seuranta minua? 304 00:20:30,490 --> 00:20:33,360 Ja minulla on joitakin esimerkkejä tästä iPhonessa. 305 00:20:33,360 --> 00:20:41,440 Tämä ensimmäinen esimerkki on, miten voit käyttää UUID puhelimessa. 306 00:20:41,440 --> 00:20:47,060 Tämä on todella jotain, että Apple on juuri kieltänyt uusien sovellusten, 307 00:20:47,060 --> 00:20:52,540 mutta vanhojen sovellusten, että olet ehkä käynnissä puhelimessa voi vielä tehdä tämän, 308 00:20:52,540 --> 00:20:56,500 ja niin, että yksilöllinen tunniste voidaan seurata sinua 309 00:20:56,500 --> 00:21:00,440 monilla eri sovelluksissa. 310 00:21:00,440 --> 00:21:07,180 >> On Android, minulla on esimerkiksi täältä saada laitteen sijainnin. 311 00:21:07,180 --> 00:21:10,310 Voit nähdä, että jos API puhelu on olemassa, että sovellus on seurata, 312 00:21:10,310 --> 00:21:15,000 ja voit nähdä, onko se alkaa hienolla paikalla tai karkea sijainti. 313 00:21:15,000 --> 00:21:18,860 Ja sitten pohjassa täällä, minulla on esimerkki siitä, miten BlackBerry 314 00:21:18,860 --> 00:21:25,130 ohjelma saattaa käyttää sähköpostiviestejä postilaatikossa. 315 00:21:25,130 --> 00:21:27,660 Nämä ovat sellaisia ​​asioita, voit tarkastaa nähdä 316 00:21:27,660 --> 00:21:32,360 jos sovellus tekee niitä asioita. 317 00:21:32,360 --> 00:21:38,320 Toinen iso luokka haitallista toimintaa, ja tämä on luultavasti suurin luokka nyt 318 00:21:38,320 --> 00:21:43,950 on luvaton numerot, luvaton palkkio tekstiviestejä 319 00:21:43,950 --> 00:21:46,080 tai luvattomasta maksut. 320 00:21:46,080 --> 00:21:48,930 Toinen asia, joka on ainutlaatuista puhelin 321 00:21:48,930 --> 00:21:52,700 on laite koukussa laskutustili, 322 00:21:52,700 --> 00:21:55,960 ja kun toiminta tapahtuu puhelimessa 323 00:21:55,960 --> 00:21:58,510 se voi luoda maksuja. 324 00:21:58,510 --> 00:22:00,700 Voit ostaa asioita puhelimitse, 325 00:22:00,700 --> 00:22:04,390 ja kun lähetät palkkio tekstiviestin olet todella antaa rahaa 326 00:22:04,390 --> 00:22:11,590 tilille haltijan puhelinnumero toisella puolella. 327 00:22:11,590 --> 00:22:17,420 Nämä perustettiin saada pörssikurssit tai saada päivittäinen horoskooppi tai muita asioita, 328 00:22:17,420 --> 00:22:21,680 mutta ne voidaan perustaa tilata tuotteen lähettämällä tekstiviestin. 329 00:22:21,680 --> 00:22:26,970 Ihmiset antavat rahaa Punaisen Ristin lähettämällä tekstiviestin. 330 00:22:26,970 --> 00:22:30,650 Voit antaa 10 dollaria niin. 331 00:22:30,650 --> 00:22:34,190 >> Hyökkääjät, mitä he ovat tehneet on he perustavat 332 00:22:34,190 --> 00:22:38,750 tilejä ulkomailla, ja ne upottaa haittaohjelmia 333 00:22:38,750 --> 00:22:42,840 että puhelin lähettää palkkio tekstiviestillä 334 00:22:42,840 --> 00:22:47,700 sanoa, muutaman kerran päivässä, ja lopussa kuukauden huomaat olet viettänyt 335 00:22:47,700 --> 00:22:52,090 kymmeniä tai ehkä jopa satoja dollareita, ja he kävelevät pois rahaa. 336 00:22:52,090 --> 00:22:57,280 Tämä meni niin pahaksi, että tämä oli aivan ensimmäinen asia, että Android 337 00:22:57,280 --> 00:23:00,760 Marketplace tai Google paikkaan se oli Android Marketplace tuolloin, 338 00:23:00,760 --> 00:23:04,430 ja se on nyt Google Play-Ensimmäinen asia, että Google aloitti tarkkailun. 339 00:23:04,430 --> 00:23:08,700 Kun Google aloitti jakelemalla Android apps niiden App Store 340 00:23:08,700 --> 00:23:11,350 he sanoivat he eivät aio tarkistaa mitään. 341 00:23:11,350 --> 00:23:15,630 Me vedä apps, kun olemme ilmoittaneet he ovat rikkoneet meidän käyttöehdot, 342 00:23:15,630 --> 00:23:17,520 mutta emme aio tarkistaa mitään. 343 00:23:17,520 --> 00:23:24,350 No, noin vuosi sitten se meni niin pahaksi tämän laadukkaan tekstiviestillä haittaohjelmia 344 00:23:24,350 --> 00:23:28,030 että tämä on aivan ensimmäinen asia, he alkoivat tarkistaa. 345 00:23:28,030 --> 00:23:31,770 Jos sovellus voi lähettää tekstiviestejä 346 00:23:31,770 --> 00:23:34,750 ne edelleen manuaalisesti tutkia tämä hakemus. 347 00:23:34,750 --> 00:23:38,770 He etsivät API kutsuvat tätä, 348 00:23:38,770 --> 00:23:40,580 ja nyt sen jälkeen Google on laajentunut, 349 00:23:40,580 --> 00:23:46,900 mutta tämä oli ensimmäinen asia, että he alkoivat etsiä. 350 00:23:46,900 --> 00:23:50,690 >> Jotkut muut sovellukset, jotka tekivät joitakin tekstiviestejä, 351 00:23:50,690 --> 00:23:56,980 Tämän Android Qicsomos, kai sitä kutsutaan. 352 00:23:56,980 --> 00:24:02,670 Oli tämä nykyinen tapahtuma mobiili missä tämä CarrierIQ tuli ulos 353 00:24:02,670 --> 00:24:07,720 spyware laittaa laitteen harjoittajat, 354 00:24:07,720 --> 00:24:10,820 joten ihmiset halusivat tietää, onko heidän puhelin oli Haavoittuvuus, 355 00:24:10,820 --> 00:24:13,890 ja tämä oli ilmainen sovellus, joka testannut. 356 00:24:13,890 --> 00:24:17,520 No, tietysti, mitä tämä app teki oli se lähetti Premium SMS tekstiviestejä, 357 00:24:17,520 --> 00:24:20,090 joten testaamalla nähdä, jos olet saanut tartunnan vakoiluohjelmia 358 00:24:20,090 --> 00:24:24,930 lisätyn haittaohjelmia laitteeseen. 359 00:24:24,930 --> 00:24:27,310 Näimme sama asia tapahtuu viime Super Bowl. 360 00:24:27,310 --> 00:24:33,180 Oli väärä versio Madden jalkapallo-ottelun 361 00:24:33,180 --> 00:24:38,320 joka lähetti palkkio tekstiviestejä. 362 00:24:38,320 --> 00:24:45,750 Se todella yrittänyt luoda bot verkon liian laitteeseen. 363 00:24:45,750 --> 00:24:48,090 Täällä minulla on joitakin esimerkkejä. 364 00:24:48,090 --> 00:24:52,640 Kiinnostavaa kyllä, Apple oli aika fiksu, 365 00:24:52,640 --> 00:24:58,470 ja ne eivät salli sovellusten lähettää tekstiviestejä ollenkaan. 366 00:24:58,470 --> 00:25:00,350 Ei app voi tehdä sitä. 367 00:25:00,350 --> 00:25:03,530 Se on hyvä tapa päästä eroon koko luokan haavoittuvuus, 368 00:25:03,530 --> 00:25:09,040 mutta Android voit tehdä sen, ja tietenkin, BlackBerry voit tehdä sen myös. 369 00:25:09,040 --> 00:25:13,060 On mielenkiintoista, että BlackBerry-kaikki mitä tarvitset on Internet-käyttöoikeudet 370 00:25:13,060 --> 00:25:18,370 lähettää tekstiviestin. 371 00:25:18,370 --> 00:25:21,580 >> Toinen asia todella niin etsimme 372 00:25:21,580 --> 00:25:24,780 kun olemme katsomatta, jos jotain on ilkeä on vain kaikenlaista 373 00:25:24,780 --> 00:25:28,100 luvatonta verkon toimintaa, kuten tarkastella verkon toimintaa 374 00:25:28,100 --> 00:25:31,570 App on tarkoitus täytyy olla sen toiminnallisuutta, 375 00:25:31,570 --> 00:25:35,380 ja katsokaa tätä muut verkon toimintaa. 376 00:25:35,380 --> 00:25:43,380 Ehkä app, tehdä työtä, on saada tietoa HTTP, 377 00:25:43,380 --> 00:25:47,500 mutta jos se tekee asioita uudestaan ​​sähköpostitse tai tekstiviestillä tai Bluetooth tai jotain 378 00:25:47,500 --> 00:25:52,890 nyt, että sovellus voisi mahdollisesti olla ilkeä, joten tämä on toinen asia, voit tarkastaa varten. 379 00:25:52,890 --> 00:26:00,430 Ja tämän dian täällä minulla on joitakin esimerkkejä. 380 00:26:00,430 --> 00:26:05,950 Toinen mielenkiintoinen asia näimme haittaohjelmia tapahtui jo vuonna 2009, 381 00:26:05,950 --> 00:26:07,600 ja se tapahtui isossa tavalla. 382 00:26:07,600 --> 00:26:11,390 En tiedä, jos se on tapahtunut niin paljon jälkeen, mutta se oli app 383 00:26:11,390 --> 00:26:15,140 että matkivan toisen sovelluksen. 384 00:26:15,140 --> 00:26:21,700 Oli joukko apps, ja se oli puhuttu 09Droid hyökkäys, 385 00:26:21,700 --> 00:26:29,770 ja joku päätti, että siellä oli paljon pieniä, alueellisia, Keskisuuret pankit 386 00:26:29,770 --> 00:26:32,260 että ei ollut verkkopankit sovelluksia, 387 00:26:32,260 --> 00:26:36,870 niin mitä he tekivät oli he rakensivat noin 50 verkkopankkisovelluksia 388 00:26:36,870 --> 00:26:39,410 että he vain toteuttaa käyttäjätunnus ja salasana 389 00:26:39,410 --> 00:26:42,190 ja ohjaa sinut verkkosivuilla. 390 00:26:42,190 --> 00:26:47,470 Ja niin ne laittaa nämä kaikki esille Google Marketplace, 391 00:26:47,470 --> 00:26:51,530 Android Marketplace, ja kun joku etsinyt onko heidän pankki 392 00:26:51,530 --> 00:26:56,000 oli sovellus he löytäisivät väärä sovellus, 393 00:26:56,000 --> 00:27:01,230 joka keräsi heidän tietonsa ja sitten ohjataan heidät verkkosivuilla. 394 00:27:01,230 --> 00:27:06,640 Siten, että tämä todella tuli-apps olivat siellä muutaman viikon, 395 00:27:06,640 --> 00:27:09,050 ja oli tuhansia ja tuhansia latauksia. 396 00:27:09,050 --> 00:27:12,910 >> Miten tämä tuli ilmi oli joku, jolla ongelma 397 00:27:12,910 --> 00:27:15,740 yksi sovelluksia, ja he kutsuivat pankki, 398 00:27:15,740 --> 00:27:18,390 ja he kutsuivat pankin asiakaspalveluun linja ja sanoi: 399 00:27:18,390 --> 00:27:21,180 "Minulla on ongelma mobiili pankkitoiminta sovellus." 400 00:27:21,180 --> 00:27:23,460 "Voitteko auttaa minua?" 401 00:27:23,460 --> 00:27:26,540 Ja he sanoivat: "Meillä ei ole mobiili pankkitoiminta sovellus." 402 00:27:26,540 --> 00:27:28,120 Että käynnistänyt tutkinnan. 403 00:27:28,120 --> 00:27:31,200 Että pankki nimeltään Google, ja sitten Google näytti ja sanoi: 404 00:27:31,200 --> 00:27:37,220 "Vau, sama tekijä on kirjoittanut 50 pankki sovelluksia", ja vei heidät kaikki alas. 405 00:27:37,220 --> 00:27:43,410 Mutta varmasti tämä voisi toistua. 406 00:27:43,410 --> 00:27:51,790 On luettelo kaikista eri pankkien täällä 407 00:27:51,790 --> 00:27:55,870 , jotka olivat osa tätä huijaus. 408 00:27:55,870 --> 00:28:02,050 Toinen asia sovellus voi tehdä, on esittää UI toisen hakemuksen. 409 00:28:02,050 --> 00:28:06,430 Vaikka se on käynnissä se voisi ponnahtaa Facebook UI. 410 00:28:06,430 --> 00:28:09,540 Se sanoo, sinun täytyy laittaa käyttäjätunnus ja salasana jatkaaksesi 411 00:28:09,540 --> 00:28:15,090 tai sietää mitään käyttäjänimi ja salasana UI verkkosivuilla 412 00:28:15,090 --> 00:28:18,420 että ehkä käyttäjä käyttää vain yrittää huijata käyttäjä 413 00:28:18,420 --> 00:28:21,340 ottamiseksi käyttöön heidän tietonsa sisään 414 00:28:21,340 --> 00:28:25,590 Tämä on todella suora leveyspiirin email phishing-hyökkäyksiltä 415 00:28:25,590 --> 00:28:28,210 jos joku lähettää sinulle sähköpostiviestin 416 00:28:28,210 --> 00:28:33,050 ja antaa sinulle pohjimmiltaan fake UI verkkosivuilla 417 00:28:33,050 --> 00:28:37,320 että sinulla on pääsy. 418 00:28:37,320 --> 00:28:41,590 >> Toinen asia etsimme haitallista koodia on järjestelmän muutos. 419 00:28:41,590 --> 00:28:48,160 Voit etsiä kaikki API-kutsuja, jotka vaativat root etuoikeus 420 00:28:48,160 --> 00:28:50,870 suorittaa oikein. 421 00:28:50,870 --> 00:28:56,160 Muuttaminen laitteen web proxy olisi jotain, että hakemus 422 00:28:56,160 --> 00:28:59,530 ei pitäisi pystyä tekemään. 423 00:28:59,530 --> 00:29:03,030 Mutta jos sovellus on koodia siellä tehdä, että 424 00:29:03,030 --> 00:29:05,960 tiedät, että se on luultavasti haittaohjelma 425 00:29:05,960 --> 00:29:09,620 tai erittäin hyvin todennäköisesti haittaohjelma, 426 00:29:09,620 --> 00:29:13,910 ja niin mitä tapahtuisi on, että sovellus olisi jokin tapa Kasvavat etuoikeus. 427 00:29:13,910 --> 00:29:17,200 Se olisi joitakin eskalaatiohyökkäykset hyödyntää 428 00:29:17,200 --> 00:29:20,730 hakemuksessa, ja sitten kun se laajeni etuoikeuksia 429 00:29:20,730 --> 00:29:23,800 se tekisi näitä järjestelmän muutoksia. 430 00:29:23,800 --> 00:29:28,010 Voit löytää haittaohjelmia, jotka on eskalaatiohyökkäykset 431 00:29:28,010 --> 00:29:32,550 siinä edes tietämättä, miten eskalaatiohyökkäykset 432 00:29:32,550 --> 00:29:37,960 hyödyntää tulee tapahtumaan, ja se on mukava, helppo tapa 433 00:29:37,960 --> 00:29:41,220 etsiä haittaohjelmia. 434 00:29:41,220 --> 00:29:46,030 DroidDream oli luultavasti tunnetuin pala Android haittaohjelmia. 435 00:29:46,030 --> 00:29:50,530 Minusta se vaikuttaa noin 250000 käyttäjää yli muutaman päivän 436 00:29:50,530 --> 00:29:52,810 ennen kuin se havaittiin. 437 00:29:52,810 --> 00:29:56,890 He uudelleenpakatun 50 tekaistuja sovelluksia, 438 00:29:56,890 --> 00:30:00,370 laita ne Android App Store, 439 00:30:00,370 --> 00:30:10,940 ja lähinnä se käyttää Android jailbreak-koodin kärjistyä etuoikeuksia 440 00:30:10,940 --> 00:30:16,380 ja sitten asentaa Command and Control ja käännä kaikkien uhrien 441 00:30:16,380 --> 00:30:20,690 osaksi bot net, mutta olisit voinut havaita tämän 442 00:30:20,690 --> 00:30:24,170 jos olisit skannaus sovellus ja vain etsivät 443 00:30:24,170 --> 00:30:32,230 API vaatii, että tarvitaan root oikeuksia suorittaa oikein. 444 00:30:32,230 --> 00:30:40,150 >> Ja siellä esim. täällä minulla on joka muuttuu proxy, 445 00:30:40,150 --> 00:30:46,380 ja tämä todella on käytettävissä vain Android. 446 00:30:46,380 --> 00:30:49,070 Näet Minä annan sinulle paljon esimerkkejä Android 447 00:30:49,070 --> 00:30:53,990 koska tämä on aktiivisin haittaohjelma ekosysteemi on 448 00:30:53,990 --> 00:30:58,690 koska se on todella helppo hyökkääjän saada haittaohjelmia 449 00:30:58,690 --> 00:31:01,470 osaksi Android Marketplace. 450 00:31:01,470 --> 00:31:06,480 Se ei ole niin helppo tehdä, että Applen App Store 451 00:31:06,480 --> 00:31:10,250 koska Apple vaatii kehittäjiä samaistua 452 00:31:10,250 --> 00:31:12,790 ja allekirjoittaa koodin. 453 00:31:12,790 --> 00:31:20,340 He itse tarkistaa, kuka olet, ja Apple on todella tarkastelemalla sovelluksia. 454 00:31:20,340 --> 00:31:27,450 Emme näe paljon todellista haittaohjelmia, jossa laite on tulossa vaarantuu. 455 00:31:27,450 --> 00:31:32,250 Aion puhua joitakin esimerkkejä, joissa se on todella yksityisyyttä, joka on tulossa vaarantunut, 456 00:31:32,250 --> 00:31:38,460 ja se mitä todella tapahtuu Applen laite. 457 00:31:38,460 --> 00:31:44,090 Toinen asia etsiä haitallisen koodin, riskialtista koodi laitteissa 458 00:31:44,090 --> 00:31:50,300 on logiikkaa tai aikapommeja, ja aika pommit ovat luultavasti 459 00:31:50,300 --> 00:31:53,370 paljon helpompi etsiä kuin loogiset pommit. 460 00:31:53,370 --> 00:31:57,030 Mutta aikapommeja, mitä voit tehdä on, voit etsiä 461 00:31:57,030 --> 00:32:04,760 paikkoja koodia, jos aika on testattu tai absoluuttista aikaa on etsinyt 462 00:32:04,760 --> 00:32:08,190 ennen tiettyjä toimintoja App tapahtuu. 463 00:32:08,190 --> 00:32:14,200 Ja tämä voitaisiin tehdä piilottaa aktiivisuutta käyttäjä, 464 00:32:14,200 --> 00:32:17,510 niin se tapahtuu myöhään illalla. 465 00:32:17,510 --> 00:32:24,350 DroidDream teki kaiken sen toiminnan välillä kaksikymmentäkolme ja 8 AM paikallista aikaa 466 00:32:24,350 --> 00:32:30,650 yrittää tehdä sen, kun käyttäjä ei ehkä käyttävät laitetta. 467 00:32:30,650 --> 00:32:38,680 >> Toinen syy tähän on, jos ihmiset käyttävät käyttäytymisen analyysi hakemuksen, 468 00:32:38,680 --> 00:32:43,430 käynnissä app hiekkalaatikossa mitä käyttäytymistä sovellus on, 469 00:32:43,430 --> 00:32:51,090 he voivat käyttää aikaa logiikkaa tehdä toiminnan 470 00:32:51,090 --> 00:32:54,640 kun sovellus ei ole hiekkalaatikko. 471 00:32:54,640 --> 00:33:01,520 Esimerkiksi App Store, kuten Apple 472 00:33:01,520 --> 00:33:07,940 ajaa sovellusta, mutta se ei luultavasti ole ajaa jokaista hakemusta, vaikkapa 30 päivää 473 00:33:07,940 --> 00:33:10,550 ennen sen hyväksymistä, niin voit laittaa 474 00:33:10,550 --> 00:33:14,120 logiikka hakemuksesi joka sanoi, okei, vain tehdä huono asia 475 00:33:14,120 --> 00:33:20,490 30 päivän kuluttua on kulunut tai 30 päivän kuluttua julkaisupäivä hakemuksen, 476 00:33:20,490 --> 00:33:27,020 ja jotka voivat auttaa haitallisen koodin piilottaa ihmisiltä tarkastaessa sitä. 477 00:33:27,020 --> 00:33:30,050 Jos anti-virus yritykset ovat käynnissä asioita hiekkalaatikot 478 00:33:30,050 --> 00:33:36,370 tai App Kaupat ovat itse tämä voi auttaa 479 00:33:36,370 --> 00:33:39,260 piilottaa että kyseisestä tarkastus. 480 00:33:39,260 --> 00:33:43,020 Nyt kääntöpuoli, että se on helppo löytää staattisen analyysin, 481 00:33:43,020 --> 00:33:46,170 joten tutkimasta tosiasiallisesti koodin voit etsiä kaikki paikat 482 00:33:46,170 --> 00:33:54,010 jos hakemus testaa aikaa ja tarkasta, että tavalla. 483 00:33:54,010 --> 00:33:58,850 Ja tässä minulla on joitakin esimerkkejä näistä 3 eri alustoilla 484 00:33:58,850 --> 00:34:05,640 miten aika voidaan tarkistaa, jotka sovelluksen maker 485 00:34:05,640 --> 00:34:10,520 niin tiedät mitä etsiä, jos olet tarkastaa App staattisesti. 486 00:34:10,520 --> 00:34:14,570 >> Minä vain meni läpi koko joukko eri vihamielisiin toimiin 487 00:34:14,570 --> 00:34:18,969 että olemme nähneet luonnossa, mutta mitkä ovat yleisimpiä? 488 00:34:18,969 --> 00:34:23,940 Samassa tutkimuksessa North Carolina State Mobile Genome Project 489 00:34:23,940 --> 00:34:28,560 julkaistu joitakin tietoja, ja siellä oli periaatteessa 4 alueet 490 00:34:28,560 --> 00:34:32,850 että he näkivät, jossa oli paljon toimintaa. 491 00:34:32,850 --> 00:34:35,370 37% apps teki eskalaatiohyökkäykset, 492 00:34:35,370 --> 00:34:38,429 joten heillä oli jonkinlaista jailbreak-koodin siellä 493 00:34:38,429 --> 00:34:42,070 jossa he yrittivät kärjistyä etuoikeuksia, jotta he voisivat 494 00:34:42,070 --> 00:34:48,360 älä API komennot toimivat kuten käyttöjärjestelmä. 495 00:34:48,360 --> 00:34:52,520 45% apps siellä teki Premium SMS, 496 00:34:52,520 --> 00:34:57,260 niin, että on valtava osuus, joka yrittää suoraan ansaita rahaa. 497 00:34:57,260 --> 00:35:02,640 93% teki kaukosäädin, joten he yrittivät perustaa bot net, mobiili bot net. 498 00:35:02,640 --> 00:35:08,990 Ja 45% korjattu tunnistetietoja 499 00:35:08,990 --> 00:35:16,230 kuten puhelinnumeroita, UUID, GPS-sijainnin, käyttäjätilejä, 500 00:35:16,230 --> 00:35:22,870 ja tämä lisää jopa yli 100, koska useimmat haittaohjelmat yrittävät tehdä muutamia näistä asioista. 501 00:35:22,870 --> 00:35:27,070 >> Aion siirtyä jälkipuoliskolla ja puhua koodin haavoittuvuuksia. 502 00:35:27,070 --> 00:35:29,480 Tämä on toinen puoli riskialtista toimintaa. 503 00:35:29,480 --> 00:35:33,450 Tämä on silloin lähinnä kehittäjä tekee virheitä. 504 00:35:33,450 --> 00:35:37,210 Oikeutettua kehittäjä kirjallisesti laillinen app 505 00:35:37,210 --> 00:35:41,830 tekee virheitä tai on tietämätön riskeistä mobiilialustan. 506 00:35:41,830 --> 00:35:44,780 He eivät vain tiedä, miten tehdä Secure Mobile app, 507 00:35:44,780 --> 00:35:47,700 tai joskus kehittäjä ei välitä laskemisesta käyttäjä vaarassa. 508 00:35:47,700 --> 00:35:50,850 Joskus osa niiden liiketoimintaa malli voisi olla 509 00:35:50,850 --> 00:35:54,610 korjuu käyttäjän henkilökohtaisia ​​tietoja. 510 00:35:54,610 --> 00:35:58,090 Se on tavallaan muusta alasta, ja siksi osa tästä ilkeä 511 00:35:58,090 --> 00:36:03,200 vs. oikeutettua alkaa vuotamaan yli, koska siellä on näkemyserot 512 00:36:03,200 --> 00:36:10,440 välillä, mitä käyttäjä haluaa ja mitä käyttäjä katsoo riskialtista 513 00:36:10,440 --> 00:36:13,050 ja mitä sovelluskehittäjä katsoo riskialtista. 514 00:36:13,050 --> 00:36:18,380 Tietenkään se ei ole sovelluskehittäjä tietoihin useimmissa tapauksissa. 515 00:36:18,380 --> 00:36:22,030 >> Ja sitten lopulta, toinen tapa tämä tapahtuu, on kehittäjä voisi linkkiä 516 00:36:22,030 --> 00:36:28,600 jaettu kirjasto, jossa on haavoittuvuuksia tai tämän riskikäyttäytyminen se 517 00:36:28,600 --> 00:36:32,480 Tietämättä niitä. 518 00:36:32,480 --> 00:36:37,060 Ensimmäinen luokka on herkkä tietovuodot, 519 00:36:37,060 --> 00:36:40,030 ja tämä on, kun sovellus kerää tietoa 520 00:36:40,030 --> 00:36:44,980 kuten sijainti, osoitekirjan tiedot, omistajan tiedot 521 00:36:44,980 --> 00:36:48,000 ja lähettää nämä pois laitteesta. 522 00:36:48,000 --> 00:36:53,050 Ja kun se on pois laitteesta, emme tiedä mitä tapahtuu tämän tiedon. 523 00:36:53,050 --> 00:36:57,170 Se voitaisiin tallentaa salaamattomana jonka sovelluskehittäjä. 524 00:36:57,170 --> 00:37:02,070 Olemme nähneet sovelluksen kehittäjät saavat vaarantunut, 525 00:37:02,070 --> 00:37:05,820 ja tiedot, jotka he tallentamiseen saa ottaa. 526 00:37:05,820 --> 00:37:10,970 Tämä tapahtui muutama kuukausi sitten kehittäjä alas Floridassa 527 00:37:10,970 --> 00:37:21,660 jossa valtava määrä-se oli iPad UUID ja laitteiden nimet 528 00:37:21,660 --> 00:37:25,270 oli vuotanut koska joku, mielestäni se oli nimetön, 529 00:37:25,270 --> 00:37:29,460 väitti tehdä tämän murtautui tämän kehittäjän palvelimet 530 00:37:29,460 --> 00:37:34,920 ja varasti miljoonia iPad UUID 531 00:37:34,920 --> 00:37:37,390 ja tietokoneen nimet. 532 00:37:37,390 --> 00:37:40,260 Ei kaikkein vaarallisimpia tiedot, 533 00:37:40,260 --> 00:37:46,820 mutta mitä jos se oli varastointi käyttäjätunnuksia ja salasanoja 534 00:37:46,820 --> 00:37:48,170 ja kotiosoite? 535 00:37:48,170 --> 00:37:51,100 On paljon apps, jotka tallentaa tällaiset tiedot. 536 00:37:51,100 --> 00:37:53,230 Riski on olemassa. 537 00:37:53,230 --> 00:37:56,620 >> Toinen asia, joka voi tapahtua on, jos kehittäjä ei hoida 538 00:37:56,620 --> 00:38:01,370 suojaaminen on kanava, ja se on toinen iso haavoittuvuus aion puhua, 539 00:38:01,370 --> 00:38:05,160 että dataa lähetetään selkeä. 540 00:38:05,160 --> 00:38:09,040 Jos käyttäjä on julkinen Wi-Fi-verkon 541 00:38:09,040 --> 00:38:12,330 tai joku haistaa internet jonnekin 542 00:38:12,330 --> 00:38:19,260 tiellä, että tietoja on alttiina. 543 00:38:19,260 --> 00:38:23,790 Yksi erittäin kuuluisa tapaus näiden tietojen vuoto tapahtui Pandora, 544 00:38:23,790 --> 00:38:27,250 ja tämä on meidän tutkittu klo Veracode. 545 00:38:27,250 --> 00:38:33,200 Olemme kuulleet, että siellä oli-Minusta se oli Federal Trade Commission 546 00:38:33,200 --> 00:38:35,310 Tutkimus meneillään kanssa Pandora. 547 00:38:35,310 --> 00:38:39,830 Me sanoimme, "Mitä siellä tapahtuu? Aloitetaan kaivaa Pandora sovellus." 548 00:38:39,830 --> 00:38:46,690 Ja mitä me ratkaistavana oli Pandora sovellus kerätty 549 00:38:46,690 --> 00:38:51,270 sukupuolesi ja ikäsi, 550 00:38:51,270 --> 00:38:56,660 ja se myös käyttää GPS-sijainnin ja Pandora sovellus 551 00:38:56,660 --> 00:39:00,200 teki tämän, mitä he sanoivat oli laillista syytä. 552 00:39:00,200 --> 00:39:05,360 Musiikkia, että he olivat pelaamassa-Pandora on musiikin suoratoisto app- 553 00:39:05,360 --> 00:39:07,530 musiikki soitettiin oli ainoa toimiluvan Yhdysvalloissa, 554 00:39:07,530 --> 00:39:13,020 joten ne täytyi tarkistaa noudattamaan lisenssisopimuksia, että heillä oli 555 00:39:13,020 --> 00:39:17,240 musiikin, että käyttäjä oli Yhdysvalloissa. 556 00:39:17,240 --> 00:39:25,070 He halusivat myös noudattaa Parental Advisory 557 00:39:25,070 --> 00:39:33,790 noin aikuisten kieltä musiikin, 558 00:39:33,790 --> 00:39:37,500 ja niin se on vapaaehtoinen ohjelma, mutta he halusivat noudattaa kyseistä 559 00:39:37,500 --> 00:39:43,010 ja ei pelata nimenomaista lyrics lapsille 13 ja alle. 560 00:39:43,010 --> 00:39:46,280 >> Heillä oli perusteltu syy kerätä näitä tietoja. 561 00:39:46,280 --> 00:39:49,160 Heidän app oli oikeudet tehdä se. 562 00:39:49,160 --> 00:39:52,000 Käyttäjät mielestä tämä oli laillista. Mutta mitä tapahtui? 563 00:39:52,000 --> 00:39:55,810 Ne liittyvät 3 tai 4 eri mainoksen kirjastot. 564 00:39:55,810 --> 00:39:59,140 Nyt yhtäkkiä kaikki nämä ad kirjastot 565 00:39:59,140 --> 00:40:02,970 saavat käyttää samoja tietoja. 566 00:40:02,970 --> 00:40:05,830 Mainos kirjastot, jos tarkastellaan koodin mainoksen kirjastojen 567 00:40:05,830 --> 00:40:08,430 mitä he tekevät on jokaisen mainoksen kirjasto sanoo 568 00:40:08,430 --> 00:40:11,340 "Onko minun app lupaa saada GPS-sijainnin?" 569 00:40:11,340 --> 00:40:14,890 "Voi, se ei? Okei, kerro minulle GPS-sijainnin." 570 00:40:14,890 --> 00:40:16,620 Jokainen mainos kirjasto tekee sen, 571 00:40:16,620 --> 00:40:19,740 ja jos sovellus ei ole GPS-lupaa 572 00:40:19,740 --> 00:40:23,460 se ei voi saada sitä, mutta jos niin käy, se saa sen. 573 00:40:23,460 --> 00:40:26,240 Tämä on, jos liiketoimintamalli mainoksen kirjastojen 574 00:40:26,240 --> 00:40:31,160 vastustaa käyttäjän yksityisyyden. 575 00:40:31,160 --> 00:40:34,980 Ja siellä on ollut tutkimuksia siellä, että sanoa, jos tiedät ikä 576 00:40:34,980 --> 00:40:38,430 henkilön ja tiedät niiden sijainnin 577 00:40:38,430 --> 00:40:42,530 jos he nukkuvat yöllä, koska sinulla on GPS-koordinaatit 578 00:40:42,530 --> 00:40:46,030 kun he ehkä nukkuvat, tiedät tarkalleen, kuka tämä henkilö on 579 00:40:46,030 --> 00:40:50,230 koska voit määrittää, mitä jäsen, että kotitalouksien on, että henkilö. 580 00:40:50,230 --> 00:40:54,780 Oikeasti tämä on tunnistaa mainostajille 581 00:40:54,780 --> 00:40:59,530 tarkalleen, kuka olet, ja se näyttää se oli laillista. 582 00:40:59,530 --> 00:41:02,800 Haluan vain musiikin, ja tämä on ainoa tapa saada se. 583 00:41:02,800 --> 00:41:05,370 >> No, me paljastanut tämän. 584 00:41:05,370 --> 00:41:08,030 Kirjoitimme tämän käyttöön monilla blogikirjoituksia, 585 00:41:08,030 --> 00:41:13,280 ja kävi ilmi, että joku Rolling Stone-lehden 586 00:41:13,280 --> 00:41:18,810 lukea jokin meidän blogikirjoituksia ja kirjoitti oman blogin Rolling Stone siitä, 587 00:41:18,810 --> 00:41:22,120 ja jo seuraavana päivänä Pandora mielestä se oli hyvä idea 588 00:41:22,120 --> 00:41:27,600 poistaa mainoksen kirjastojen niiden soveltamisesta. 589 00:41:27,600 --> 00:41:31,270 Sikäli kuin tiedän, he vain-ne on kiitettävä. 590 00:41:31,270 --> 00:41:35,770 Minusta he vain freemium tyyppinen sovellus, joka on tehnyt tämän. 591 00:41:35,770 --> 00:41:38,660 Kaikki muut freemium apps on tämä sama ongelma, 592 00:41:38,660 --> 00:41:41,780 joten sinun täytyy miettiä, millaisia ​​tietoja annat 593 00:41:41,780 --> 00:41:48,330 Näiden freemium sovelluksissa, koska se kaikki tulee mainostajille. 594 00:41:48,330 --> 00:41:53,390 Praetorian myös teki tutkimuksen noin jaetut kirjastot ja sanoi: 595 00:41:53,390 --> 00:41:57,100 "Katsotaan, mitä jaetut kirjastot ovat alkuun jaetut kirjastot", ja tämä oli tietoja. 596 00:41:57,100 --> 00:41:59,420 >> He analysoivat 53000 apps, 597 00:41:59,420 --> 00:42:01,900 ja numero 1 jaettu kirjasto oli Admob. 598 00:42:01,900 --> 00:42:06,060 Se oli itse asiassa 38% hakemuksista siellä, 599 00:42:06,060 --> 00:42:08,800 joten 38% hakemuksista käytät 600 00:42:08,800 --> 00:42:11,250 todennäköisesti korjuu henkilökohtaisia ​​tietoja 601 00:42:11,250 --> 00:42:16,650 ja lähettämällä se mainosverkostot. 602 00:42:16,650 --> 00:42:19,350 Apache ja Android olivat 8% ja 6%, 603 00:42:19,350 --> 00:42:22,960 ja sitten nämä toisilla alas alareunassa, Google Ads, Flurry, 604 00:42:22,960 --> 00:42:26,600 Mob Kaupunki ja tuhatvuotisen Media, 605 00:42:26,600 --> 00:42:30,500 nämä ovat kaikki mainosten yrityksiä, ja sitten, mielenkiintoista kyllä, 606 00:42:30,500 --> 00:42:33,500 4% linkitetty Facebook kirjastossa 607 00:42:33,500 --> 00:42:38,870 luultavasti tekemään todennus Facebookin kautta 608 00:42:38,870 --> 00:42:40,810 niin app voi todentaa Facebook. 609 00:42:40,810 --> 00:42:44,660 Se tarkoittaa kuitenkin myös yhtiö Facebook ohjaa koodi 610 00:42:44,660 --> 00:42:49,010 joka on käynnissä 4% Android mobiilisovellukset siellä, 611 00:42:49,010 --> 00:42:53,490 ja heillä on pääsy kaikkiin tietoihin, että sovellus on lupa saada aikaa. 612 00:42:53,490 --> 00:42:57,170 Facebook olennaisesti yrittää myydä mainostilaa. 613 00:42:57,170 --> 00:43:00,120 Se on heidän liiketoimintamalli. 614 00:43:00,120 --> 00:43:02,920 >> Jos sinä katsot tätä koko ekosysteemin näitä oikeuksia 615 00:43:02,920 --> 00:43:07,740 ja jaetut kirjastot alkaa nähdä, että 616 00:43:07,740 --> 00:43:13,850 sinulla on paljon riskin muka sallittua soveltamista. 617 00:43:13,850 --> 00:43:19,360 Sama samankaltainen asia, joka tapahtui Pandora 618 00:43:19,360 --> 00:43:22,340 tapahtui sovellus nimeltä Path, 619 00:43:22,340 --> 00:43:27,660 ja Polku luulivat olevan avulias ja ystävällinen kehittäjille. 620 00:43:27,660 --> 00:43:32,160 He olivat vain yrittää antaa sinulle erinomainen käyttökokemus, 621 00:43:32,160 --> 00:43:37,810 ja kävi ilmi, että kysymättä käyttäjältä tai kertoa käyttäjälle mitään- 622 00:43:37,810 --> 00:43:40,400 ja tämä tapahtui iPhone ja Android, 623 00:43:40,400 --> 00:43:44,420 Pandora app oli iPhone ja Android- 624 00:43:44,420 --> 00:43:48,890 että Path hakemus tarttumalla koko osoitekirjan 625 00:43:48,890 --> 00:43:52,830 ja lähettämällä sen Path juuri kun olet asentanut ja juoksi sovellus, 626 00:43:52,830 --> 00:43:55,840 ja he eivät kerro teille tästä. 627 00:43:55,840 --> 00:43:58,750 Heidän mielestään se oli todella hyödyllinen sinulle 628 00:43:58,750 --> 00:44:04,040 pystyä jakamaan kaikkien ihmisten osoitekirjaasi 629 00:44:04,040 --> 00:44:06,920 että käytät Path sovelluksen. 630 00:44:06,920 --> 00:44:09,490 >> No, ilmeisesti Polku mielestä tämä oli hyvä yrityksestään. 631 00:44:09,490 --> 00:44:13,510 Ei niin hienoa käyttäjälle. 632 00:44:13,510 --> 00:44:19,020 Sinun täytyy ajatella, että se on yksi asia, jos ehkä teini 633 00:44:19,020 --> 00:44:23,700 käyttää tätä sovellusta ja heidän kymmeniä ystävät ovat siellä, 634 00:44:23,700 --> 00:44:29,360 mutta entä jos se toimitusjohtaja yritys, joka asentaa Path 635 00:44:29,360 --> 00:44:33,170 ja sitten yhtäkkiä heidän koko osoitekirjan on tuolla? 636 00:44:33,170 --> 00:44:38,310 Olet menossa saada paljon potentiaalisesti arvokasta yhteystiedot 637 00:44:38,310 --> 00:44:40,920 ja paljon ihmisiä. 638 00:44:40,920 --> 00:44:44,500 Reportteri New York Times, saatat pystyä saamaan puhelinnumeron 639 00:44:44,500 --> 00:44:47,380 ex presidentit heidän osoitekirjan, 640 00:44:47,380 --> 00:44:54,780 joten ilmeisesti paljon arkaluonteisia tietoja saa siirtää jotain tällaista. 641 00:44:54,780 --> 00:44:58,090 Siellä oli niin iso läppä tästä, että Path anteeksi. 642 00:44:58,090 --> 00:45:01,610 He muuttivat app, ja se jopa vaikutti Apple. 643 00:45:01,610 --> 00:45:06,950 Apple sanoi, "Me aiomme pakottaa sovelluksen myyjiä että käyttäjät 644 00:45:06,950 --> 00:45:12,650 jos he aikovat kerätä koko osoitekirjan. " 645 00:45:12,650 --> 00:45:15,360 >> Se näyttää, mitä tapahtuu tässä 646 00:45:15,360 --> 00:45:19,430 kun siellä on yksi iso tietosuojaloukkaus ja se tekee lehdistö 647 00:45:19,430 --> 00:45:21,680 näemme muutoksen siellä. 648 00:45:21,680 --> 00:45:23,230 Mutta tietenkin, on olemassa muita asioita siellä. 649 00:45:23,230 --> 00:45:27,440 LinkedIn sovellus sadot kalenterimerkintöjä, 650 00:45:27,440 --> 00:45:34,530 mutta Apple ei tee käyttäjä pyytää siitä. 651 00:45:34,530 --> 00:45:38,030 Kalenterimerkintöjä voi olla arkaluontoisia tietoja niitä liikaa. 652 00:45:38,030 --> 00:45:40,000 Minne olet menossa vetää rajan? 653 00:45:40,000 --> 00:45:43,960 Tämä on todella sellainen kehittyvä paikka 654 00:45:43,960 --> 00:45:47,640 jos siellä oikeastaan ​​mitään hyvää tasoa siellä 655 00:45:47,640 --> 00:45:51,990 käyttäjät voivat ymmärtää, kun niiden tietoja tulee olemaan vaarassa 656 00:45:51,990 --> 00:45:57,820 ja kun he tulevat tietämään se otetaan. 657 00:45:57,820 --> 00:46:03,040 Kirjoitimme app Veracode nimeltään Adios, 658 00:46:03,040 --> 00:46:08,350 ja lähinnä se saa sinut kohta app iTunes-hakemisto 659 00:46:08,350 --> 00:46:12,550 ja katsoa kaikki ohjelmat, jotka oli korjuu täynnä osoitekirjan. 660 00:46:12,550 --> 00:46:19,760 Ja kuten näette tässä luettelossa täällä, Angry Birds, 661 00:46:19,760 --> 00:46:21,590 AIM, AroundMe. 662 00:46:21,590 --> 00:46:24,050 Miksi Angry Birds tarvitse osoitekirjaasi? 663 00:46:24,050 --> 00:46:29,160 En tiedä, mutta se jotenkin. 664 00:46:29,160 --> 00:46:32,310 >> Tämä on jotain, että monet, monet sovellukset eivät. 665 00:46:32,310 --> 00:46:34,780 Voit tarkastaa koodi tähän. 666 00:46:34,780 --> 00:46:38,660 On hyvin määritelty API iPhone, Android ja BlackBerry 667 00:46:38,660 --> 00:46:42,120 saada aikaa osoitekirjan. 668 00:46:42,120 --> 00:46:48,520 Voit todella helposti tarkastaa tämän, ja tämä on mitä teimme Adios sovelluksen. 669 00:46:48,520 --> 00:46:52,320 Seuraavan luokka, Unsafe Sensitive Data Storage, 670 00:46:52,320 --> 00:46:55,670 on jotakin, jossa kehittäjät suhtautuvat jotain pin tai tilinumero 671 00:46:55,670 --> 00:46:58,530 tai salasana ja säilytä sitä selvää laitteen. 672 00:46:58,530 --> 00:47:02,310 Vielä pahempaa, he saattavat tallentaa sen alueella puhelimessa 673 00:47:02,310 --> 00:47:06,820 joka on maailmanlaajuisesti käytettävissä, kuten SD-kortti. 674 00:47:06,820 --> 00:47:11,320 Näet tämän useammin Android koska Android mahdollistaa SD-kortille. 675 00:47:11,320 --> 00:47:13,200 IPhone laitteet eivät. 676 00:47:13,200 --> 00:47:17,900 Mutta me edes nähnyt tämän tapahtua CitiGroup sovelluksen. 677 00:47:17,900 --> 00:47:25,450 Heidän verkkopankit tallennettu sovellus tilinumerot turvattomasti, 678 00:47:25,450 --> 00:47:28,120 vain selkeä, joten jos olet menettänyt laitteen, 679 00:47:28,120 --> 00:47:30,670 pohjimmiltaan olet menettänyt pankkitilisi. 680 00:47:30,670 --> 00:47:36,000 Siksi en henkilökohtaisesti tehdä pankki minun iPhone. 681 00:47:36,000 --> 00:47:43,710 Mielestäni se on liian vaarallista juuri nyt tehdä tällaisen toiminnan. 682 00:47:43,710 --> 00:47:45,950 >> Skype teki saman. 683 00:47:45,950 --> 00:47:49,870 Skype tietenkin on tilin saldo, käyttäjätunnus ja salasana 684 00:47:49,870 --> 00:47:51,030 käyttöön kyseistä tasapainoa. 685 00:47:51,030 --> 00:48:00,080 He olivat tallentaa kaikki nämä tiedot selkeästi mobiililaitteella. 686 00:48:00,080 --> 00:48:05,760 Minulla on joitakin esimerkkejä tästä luoda tiedostoja 687 00:48:05,760 --> 00:48:10,310 joilla ei ole tarvittavia oikeuksia tai kirjoittaa levylle 688 00:48:10,310 --> 00:48:17,260 ja joilla ei ole mitään salausta tapahtua siitä. 689 00:48:17,260 --> 00:48:20,190 Tämä seuraava alue, Unsafe Sensitive tiedonsiirto, 690 00:48:20,190 --> 00:48:24,450 Olen viittasi tähän muutaman kerran, ja koska julkisen Wi-Fi 691 00:48:24,450 --> 00:48:27,770 tämä on jotain, apps ehdottomasti täytyy tehdä, 692 00:48:27,770 --> 00:48:31,250 ja tämä on luultavasti mitä näemme mennä pieleen eniten. 693 00:48:31,250 --> 00:48:34,920 Sanoisin-itse, olen mielestäni toteumatietojen 694 00:48:34,920 --> 00:48:38,120 mutta se on lähes puolet mobiilisovelluksia 695 00:48:38,120 --> 00:48:41,780 tyriä tekee SSL. 696 00:48:41,780 --> 00:48:43,910 He vain eivät käytä API oikein. 697 00:48:43,910 --> 00:48:47,970 Tarkoitan, kaikki sinun täytyy tehdä on seurata ohjeita ja käyttää API, 698 00:48:47,970 --> 00:48:54,720 mutta ne eivät asioita, kuten ei tarkista, onko virheellinen todistus toisessa päässä, 699 00:48:54,720 --> 00:49:02,120 ei tarkista jos toinen pää on yrittää tehdä protokollan downgrade hyökkäys. 700 00:49:02,120 --> 00:49:07,200 >> Kehittäjät, he haluavat saada valintaruutu, eikö? 701 00:49:07,200 --> 00:49:11,910 Niiden vaatimus on käyttää tätä myydä. He käyttivät tätä myydä. 702 00:49:11,910 --> 00:49:14,800 Vaatimus ei ole käyttää tätä myydä turvallisesti, 703 00:49:14,800 --> 00:49:19,680 ja joten siksi kaikki sovellukset, jotka käyttävät SSL Suojaa tiedot 704 00:49:19,680 --> 00:49:23,470 koska se siirretään pois laitteesta todella on tarkastettava 705 00:49:23,470 --> 00:49:28,950 varmistaa, että on toteutettu oikein. 706 00:49:28,950 --> 00:49:32,850 Ja tässä minulla on joitakin esimerkkejä, joissa voit nähdä sovelluksen 707 00:49:32,850 --> 00:49:37,400 saattaa käyttää HTTP sijaan HTTPS. 708 00:49:37,400 --> 00:49:40,510 Joissakin tapauksissa apps putoaa takaisin HTTP 709 00:49:40,510 --> 00:49:44,250 jos HTTPS ei toimi. 710 00:49:44,250 --> 00:49:49,070 Minulla on toinen puhelu täällä Android missä he ovat poissa käytöstä todistuksen tarkistaa, 711 00:49:49,070 --> 00:49:51,700 niin man-in-the-middle-hyökkäys voi tapahtua. 712 00:49:51,700 --> 00:49:56,370 Virheellinen varmenne hyväksytään. 713 00:49:56,370 --> 00:50:01,920 Nämä ovat kaikissa tapauksissa, joissa hyökkääjät ovat menossa pystyä päästä 714 00:50:01,920 --> 00:50:07,150 samaan Wi-Fi-yhteyden käyttäjä ja pääsy kaikki tiedot 715 00:50:07,150 --> 00:50:11,650 joka lähetetään internetin välityksellä. 716 00:50:11,650 --> 00:50:15,970 >> Ja lopuksi, viimeinen luokka Minulla on tässä kovakoodattuihin salasanan ja avaimet. 717 00:50:15,970 --> 00:50:21,470 Me itse asiassa nähdä paljon kehittäjät käyttävät samaa koodausta tyyli 718 00:50:21,470 --> 00:50:25,900 että he tekivät, kun he olivat rakentamassa web-palvelin-sovelluksia, 719 00:50:25,900 --> 00:50:29,700 joten he ovat rakentamassa Java server-sovellus, ja he hardcoding näppäintä. 720 00:50:29,700 --> 00:50:31,940 No, kun olet rakentaa palvelin sovellus, joo, 721 00:50:31,940 --> 00:50:34,240 hardcoding avain ei ole hyvä idea. 722 00:50:34,240 --> 00:50:36,290 Sen vuoksi on vaikea muuttaa. 723 00:50:36,290 --> 00:50:40,700 Mutta se ei ole niin paha palvelimen puolella, koska kenellä on pääsy palvelimen puolella? 724 00:50:40,700 --> 00:50:43,140 Vain ylläpitäjät. 725 00:50:43,140 --> 00:50:48,100 Mutta jos otat sama koodi ja olet kaadetaan sen yli mobiilisovellus 726 00:50:48,100 --> 00:50:52,550 Nyt jokainen, joka on, että mobiilisovellus on pääsy kyseiselle kovakoodattuihin avain, 727 00:50:52,550 --> 00:50:56,380 ja me itse nähdä tätä paljon kertaa, ja minulla on joitakin tilastotietoja 728 00:50:56,380 --> 00:51:00,920 kuinka usein näemme tämän tapahtua. 729 00:51:00,920 --> 00:51:04,940 Se todella oli esimerkki koodin että MasterCard julkaistu 730 00:51:04,940 --> 00:51:06,850 miten käyttää palvelua. 731 00:51:06,850 --> 00:51:11,860 Esimerkiksi koodi osoitti, kuinka voisitte vain ottaa salasanan 732 00:51:11,860 --> 00:51:14,850 ja laita se kovakoodattuihin string oikeassa, 733 00:51:14,850 --> 00:51:19,380 ja tiedämme, miten kehittäjät rakastavat kopioida ja liittää koodinpätkiä 734 00:51:19,380 --> 00:51:22,360 kun he yrittävät tehdä jotain, joten voit kopioida ja liittää koodinpätkä 735 00:51:22,360 --> 00:51:28,450 että he antoivat kuten esimerkiksi koodin, ja sinulla on turvaton sovellus. 736 00:51:28,450 --> 00:51:31,490 >> Ja tässä meillä on joitakin esimerkkejä. 737 00:51:31,490 --> 00:51:35,840 Tämä ensimmäinen on yksi näemme paljon missä he hardcode 738 00:51:35,840 --> 00:51:40,510 tiedot suoraan URL-osoitteeseen saa lähettää. 739 00:51:40,510 --> 00:51:45,120 Joskus näemme merkkijono password = salasana. 740 00:51:45,120 --> 00:51:49,060 Se on melko helppo havaita, tai merkkijono salasana BlackBerry ja Android. 741 00:51:49,060 --> 00:51:53,680 Se on oikeastaan ​​aika helppo tarkistaa, koska lähes aina 742 00:51:53,680 --> 00:51:57,030 kehittäjä nimet muuttuja, joka pitelee salasana 743 00:51:57,030 --> 00:52:02,290 jonkin verran vaihtelua salasanan. 744 00:52:02,290 --> 00:52:05,200 Mainitsin, että teemme staattinen analyysi Veracode, 745 00:52:05,200 --> 00:52:11,790 joten olemme analysoitu useita satoja Android ja iOS sovelluksia. 746 00:52:11,790 --> 00:52:15,160 Olemme rakentaneet täynnä malleja niistä, ja pystymme skannata ne 747 00:52:15,160 --> 00:52:19,280 eri haavoittuvuuksia, varsinkin haavoittuvuuksia puhuin, 748 00:52:19,280 --> 00:52:21,050 ja minulla on joitakin tietoja täällä. 749 00:52:21,050 --> 00:52:24,320 68,5% Android apps me katsoimme 750 00:52:24,320 --> 00:52:28,590 oli rikki salaus koodi, 751 00:52:28,590 --> 00:52:33,240 joka meille, emme voi havaita, jos olet tehnyt oman Crypto rutiini, 752 00:52:33,240 --> 00:52:38,980 ole, että se on hyvä idea, mutta tämä on todellisuudessa käyttävät julkaistu API 753 00:52:38,980 --> 00:52:42,530 jotka ovat alustalla, mutta tekee niistä siten 754 00:52:42,530 --> 00:52:46,680 että Crypto olisi haavoittuva, 68,5. 755 00:52:46,680 --> 00:52:49,870 Ja tämä on tarkoitettu ihmisille, jotka lähettävät meille määriin tosiasiallisesti, koska 756 00:52:49,870 --> 00:52:53,730 he ajattelevat se on hyvä idea tehdä tietoturvatestauksessa. 757 00:52:53,730 --> 00:52:56,960 Nämä ovat jo ihmisiä, jotka luultavasti ajattelevat turvallisesti, 758 00:52:56,960 --> 00:52:59,540 joten se on luultavasti vielä pahempi. 759 00:52:59,540 --> 00:53:02,690 >> En puhu ohjaus siimansyöttö injektio. 760 00:53:02,690 --> 00:53:07,640 Se on jotain, me tarkistaa, mutta se ei ole niin riskialtista asia. 761 00:53:07,640 --> 00:53:15,390 Tietojen vuotaminen, tämä on, kun arkaluonteisia tietoja lähetetään pois laitteesta. 762 00:53:15,390 --> 00:53:19,270 Huomasimme, että 40% hakemuksista. 763 00:53:19,270 --> 00:53:23,540 Aika ja tila, ne ovat kilpailutilanteesta tyyppi kysymyksiä, tyypillisesti melko vaikea hyödyntää, 764 00:53:23,540 --> 00:53:26,170 joten en puhu siitä, mutta me katsoimme sitä. 765 00:53:26,170 --> 00:53:28,750 23% oli SQL-injektio kysymyksiä. 766 00:53:28,750 --> 00:53:32,020 Monet ihmiset eivät tiedä, että paljon hakemuksia 767 00:53:32,020 --> 00:53:35,880 käyttää pienen pieni SQL-tietokannan heidän loppupäätä tallentaa tietoja. 768 00:53:35,880 --> 00:53:40,430 No, jos tiedot, jotka olet tarttumalla verkon yli 769 00:53:40,430 --> 00:53:43,800 on SQL-injektio hyökkäys jousille se 770 00:53:43,800 --> 00:53:45,970 joku voi vaarantaa laitteen läpi, 771 00:53:45,970 --> 00:53:49,800 ja niin mielestäni löydämme noin 40% web-sovelluksia on tämä ongelma, 772 00:53:49,800 --> 00:53:52,840 joka on valtava epidemia ongelma. 773 00:53:52,840 --> 00:53:55,740 Löydämme sen 23% ajasta ja mobiilisovellukset 774 00:53:55,740 --> 00:54:02,030 ja se on luultavasti koska monet enemmän web-sovellukset käyttävät SQL kuin mobiili. 775 00:54:02,030 --> 00:54:05,580 >> Ja sitten me vielä nähdä joitakin cross-site scripting, valtuutuskysymykset, 776 00:54:05,580 --> 00:54:09,400 ja sitten käyttäjätietojen hallinta, sinne sinulla on kovakoodattuihin salasanasi. 777 00:54:09,400 --> 00:54:14,540 5% hakemuksista näemme, että. 778 00:54:14,540 --> 00:54:17,970 Ja sitten meillä on joitakin tietoja iOS. 779 00:54:17,970 --> 00:54:20,180 81% oli virheiden käsittelyä kysymyksiä. 780 00:54:20,180 --> 00:54:23,130 Tämä on enemmän koodin laatua ongelma, 781 00:54:23,130 --> 00:54:28,010 mutta 67% oli salauksen kysymyksiä, joten ei ole aivan niin paha kuin Android. 782 00:54:28,010 --> 00:54:32,440 Ehkä API ovat hieman helpompaa, esimerkiksi koodeja hieman paremmin iOS. 783 00:54:32,440 --> 00:54:35,420 Mutta silti hyvin suuri prosenttiosuus. 784 00:54:35,420 --> 00:54:39,040 Meillä oli 54% tietoa vuoto, 785 00:54:39,040 --> 00:54:42,080 noin 30% puskurilla hallinnolliset virheet. 786 00:54:42,080 --> 00:54:45,930 Se on siellä, missä voisi mahdollisesti olla muistinvahingoittumisongelma. 787 00:54:45,930 --> 00:54:50,350 On käynyt ilmi, että ei ole niin suuri ongelma hyväksikäytöstä 788 00:54:50,350 --> 00:54:56,450 iOS koska kaikki koodi on allekirjoitettava, 789 00:54:56,450 --> 00:55:02,210 joten on vaikea hyökkääjä voi suorittaa haluamaansa koodia iOS. 790 00:55:02,210 --> 00:55:07,880 Koodin laatua, hakemistopolun, mutta sitten valtakirjojen hallinnan täällä 14,6%, 791 00:55:07,880 --> 00:55:09,250 niin huonompi kuin Android. 792 00:55:09,250 --> 00:55:13,240 Meillä on ihmisiä jotka eivät käsittele salasanoja oikein. 793 00:55:13,240 --> 00:55:15,790 Ja sitten numeerinen virheitä ja puskurin ylivuodon, 794 00:55:15,790 --> 00:55:22,680 nämä ovat enemmän olemaan koodin laatua kysymyksiä iOS. 795 00:55:22,680 --> 00:55:26,110 >> Se oli se minun esitys. En tiedä, jos olemme liian myöhään tai ei. 796 00:55:26,110 --> 00:55:29,540 En tiedä, onko siellä jotain kysyttävää. 797 00:55:29,540 --> 00:55:33,220 [Mies] nopea kysymys ympäri hajanaisuus ja Android Market. 798 00:55:33,220 --> 00:55:36,240 Apple ainakin omistaa kauneuspilkku. 799 00:55:36,240 --> 00:55:40,780 Ne tekevät hyvää työtä saada se siellä taas niinkään Android tilaan. 800 00:55:40,780 --> 00:55:44,280 Melkein täytyy karkaaminen puhelimen pysyä ajan tasalla 801 00:55:44,280 --> 00:55:46,660 nykyisen vapauttamaan Android. 802 00:55:46,660 --> 00:55:50,960 Joo, se on valtava ongelma, ja niin jos ajattelee- 803 00:55:50,960 --> 00:55:52,280 [Mies] Miksi et voi toistaa sitä? 804 00:55:52,280 --> 00:55:55,610 >> Ai niin, joten kysymys oli entä hajanaisuus 805 00:55:55,610 --> 00:56:00,410 käyttöjärjestelmä Android-alustan? 806 00:56:00,410 --> 00:56:05,890 Miten se vaikuttaa riskisyyttä näiden laitteiden? 807 00:56:05,890 --> 00:56:09,700 Ja se todella on valtava ongelma, koska mitä tapahtuu on 808 00:56:09,700 --> 00:56:15,110 vanhempia laitteita, kun joku keksii jailbreak tälle laitteelle, 809 00:56:15,110 --> 00:56:19,960 lähinnä se eskalaatiohyökkäykset, eikä ennen kuin se käyttöjärjestelmä päivitetään 810 00:56:19,960 --> 00:56:25,350 haittaohjelmia voi sitten käyttää haavoittuvuutta täysin vaarantaa laitteen 811 00:56:25,350 --> 00:56:30,200 ja me näemme Android on saadakseen uuden käyttöjärjestelmän 812 00:56:30,200 --> 00:56:34,690 Google on laittaa ulos käyttöjärjestelmä, ja sitten laitevalmistajan 813 00:56:34,690 --> 00:56:39,390 on muokata sitä, ja sitten harjoittajalla on muokata sitä ja tuottaa sitä. 814 00:56:39,390 --> 00:56:43,070 Sinulla on periaatteessa 3 liikkuvia osia täällä, 815 00:56:43,070 --> 00:56:47,210 ja se on tulossa, että harjoittajat eivät välitä, 816 00:56:47,210 --> 00:56:50,400 ja laitevalmistajat eivät välitä, ja Google ei prodding heitä tarpeeksi 817 00:56:50,400 --> 00:56:54,430 tehdä mitään, niin lähinnä yli puolet laitteita siellä 818 00:56:54,430 --> 00:57:00,590 ovat käyttöjärjestelmiä, jotka ovat nämä eskalaatiohyökkäykset haavoittuvuuksia niitä, 819 00:57:00,590 --> 00:57:08,440 joten jos saat haittaohjelmia Android-laitteen se on paljon suurempi ongelma. 820 00:57:08,440 --> 00:57:10,350 >> Okei, kiitos paljon. 821 00:57:10,350 --> 00:57:12,310 [Suosionosoituksia] 822 00:57:12,310 --> 00:57:14,310 [CS50.TV]