1 00:00:00,000 --> 00:00:02,610 >> [Seminaar] [Defending Agter die toestel: Mobile Aansoek Security] 2 00:00:02,610 --> 00:00:04,380 [Chris Wysopal] [Harvard Universiteit] 3 00:00:04,380 --> 00:00:07,830 [Hierdie is CS50.] [CS50.TV] 4 00:00:07,830 --> 00:00:10,360 >> Goeie middag. My naam is Chris Wysopal. 5 00:00:10,360 --> 00:00:13,360 Ek is die tegniese direkteur en mede-stigter van Veracode. 6 00:00:13,360 --> 00:00:15,880 Veracode is 'n aansoek sekuriteit maatskappy. 7 00:00:15,880 --> 00:00:18,230 Ons toets alle vorme van verskillende programme, 8 00:00:18,230 --> 00:00:25,060 en wat ek gaan om te praat oor vandag mobiele sekuriteit. 9 00:00:25,060 --> 00:00:28,630 My agtergrond is ek doen veiligheid navorsing 10 00:00:28,630 --> 00:00:31,970 vir 'n baie lang tyd, waarskynlik omtrent so lank soos enigiemand. 11 00:00:31,970 --> 00:00:35,000 Ek het in die middel van die 90s, 12 00:00:35,000 --> 00:00:37,370 en dit was 'n tyd wat was 'n bietjie interessant, want 13 00:00:37,370 --> 00:00:39,220 ons het 'n paradigma verandering in die middel van die 90s. 14 00:00:39,220 --> 00:00:43,520 Al van 'n skielike almal se rekenaar is gekoppel aan die internet, 15 00:00:43,520 --> 00:00:46,550 en dan het ons die begin van die web programme, 16 00:00:46,550 --> 00:00:49,330 en dit is wat ek gefokus op 'n baie dan. 17 00:00:49,330 --> 00:00:51,160 Dit is interessant. 18 00:00:51,160 --> 00:00:53,930 Nou het ons 'n ander paradigma verandering gebeur met die rekenaar, 19 00:00:53,930 --> 00:00:58,710 wat is die verskuiwing na mobiele programme. 20 00:00:58,710 --> 00:01:03,680 >> Ek voel dit is soort van 'n soortgelyke tyd toe was dit in die laat 90's 21 00:01:03,680 --> 00:01:07,650 wanneer ons ondersoek web-programme en die vind van defekte soos 22 00:01:07,650 --> 00:01:11,800 sessie bestuur foute en SQL-inspuiting 23 00:01:11,800 --> 00:01:14,940 wat regtig nie voorheen bestaan, en almal van 'n skielike hulle was oral 24 00:01:14,940 --> 00:01:19,360 in web programme, en nou 'n groot deel van die tyd wat ek spandeer 25 00:01:19,360 --> 00:01:27,950 is op soek na mobiele programme en kyk na wat aangaan daar buite in die natuur. 26 00:01:27,950 --> 00:01:32,060 Mobile aansoeke regtig gaan die dominante rekenaar platform te wees, 27 00:01:32,060 --> 00:01:35,060 sodat ons regtig nodig het 'n baie tyd te spandeer as jy in die sekuriteitsbedryf 28 00:01:35,060 --> 00:01:39,280 fokus op die web programme. 29 00:01:39,280 --> 00:01:43,420 Daar was 29000000000 mobiele apps afgelaai in 2011. 30 00:01:43,420 --> 00:01:47,920 Dit is voorspel te wees 76000000000 apps teen 2014. 31 00:01:47,920 --> 00:01:54,040 Daar is 686000000 toestelle wat gaan vanjaar gekoop word, 32 00:01:54,040 --> 00:01:57,060 so dit is waar mense gaan om te doen 33 00:01:57,060 --> 00:01:59,600  die meerderheid van hul kliënt rekenaar gaan vorentoe. 34 00:01:59,600 --> 00:02:04,220 >> Ek was in gesprek met 'n vise-president op Fidelity Investments 35 00:02:04,220 --> 00:02:08,780 'n paar maande gelede, en hy het gesê dat hulle nou net gesien het meer verkeer 36 00:02:08,780 --> 00:02:12,610 doen finansiële transaksies van hul kliënte 37 00:02:12,610 --> 00:02:16,230 op hul mobiele aansoek as op hul webwerf, 38 00:02:16,230 --> 00:02:20,610 so 'n algemene gebruik vir die Web in die verlede was 39 00:02:20,610 --> 00:02:23,800 die monitor van jou voorraadkwotasies, die bestuur van jou portefeulje, 40 00:02:23,800 --> 00:02:28,060 en ons is eintlik sien dat in 2012 oorskakeling 41 00:02:28,060 --> 00:02:30,960 om meer dominante op die mobiele platform. 42 00:02:30,960 --> 00:02:34,530 Seker as daar gaan 'n kriminele aktiwiteit te wees, 43 00:02:34,530 --> 00:02:38,900 enige kwaadwillige aktiwiteit, gaan dit begin om te fokus op die selfoon-platform 44 00:02:38,900 --> 00:02:44,210 met verloop van tyd as mense oor te skakel nie. 45 00:02:44,210 --> 00:02:48,320 As jy kyk na die mobiele platform, 46 00:02:48,320 --> 00:02:54,380 om te kyk na die risiko's van die platform is dit nuttig om dit te breek in die verskillende lae, 47 00:02:54,380 --> 00:02:59,010 net soos jy dit sou doen op 'n rekenaar, 48 00:02:59,010 --> 00:03:02,860 en jy dink oor die verskillende lae, sagteware, bedryfstelsel, 49 00:03:02,860 --> 00:03:07,730 netwerk laag, hardeware laag, en natuurlik, is daar probleme op almal wat lae. 50 00:03:07,730 --> 00:03:10,510 >> Dieselfde gebeur op die selfoon. 51 00:03:10,510 --> 00:03:14,880 Maar selfoon, blyk dit dat sommige van die lae is slegter af. 52 00:03:14,880 --> 00:03:19,840 Vir een, die netwerk laag is meer problematies op mobiele 53 00:03:19,840 --> 00:03:25,650 want baie van die mense het in hul kantoor of by die huis 54 00:03:25,650 --> 00:03:30,780 bedraad verbindings of hulle veilig WiFi-verbindings, 55 00:03:30,780 --> 00:03:36,530 en met 'n baie van mobiele toestelle wat jy is natuurlik buite die huis 56 00:03:36,530 --> 00:03:40,520 of buite die kantoor 'n baie, en as jy met Wi-Fi daar 57 00:03:40,520 --> 00:03:42,820 jy kan gebruik word om 'n onveilige WiFi-konneksie, 58 00:03:42,820 --> 00:03:45,570 iets wat 'n openbare Wi-Fi, 59 00:03:45,570 --> 00:03:48,840 So wanneer ons dink oor mobiele apps ons het in ag te neem 60 00:03:48,840 --> 00:03:53,770 dat die netwerk omgewing is riskant vir diegene aansoeke 61 00:03:53,770 --> 00:03:57,640 wanneer Wi-Fi gebruik word. 62 00:03:57,640 --> 00:04:02,410 En toe ek in die meer van die mobiele aansoek's 63 00:04:02,410 --> 00:04:04,910 jy sal sien waarom dit is meer belangrik is. 64 00:04:04,910 --> 00:04:09,710 Daar is risiko's aan die hardeware vlak op mobiele toestelle. 65 00:04:09,710 --> 00:04:11,670 Dit is 'n gebied van deurlopende navorsing. 66 00:04:11,670 --> 00:04:15,910 Mense noem hierdie breëband aanvalle of basisband aanvalle 67 00:04:15,910 --> 00:04:21,870 waar jy die aanval op die firmware wat se luister op die radio. 68 00:04:21,870 --> 00:04:25,430 >> Dit is regtig scary aanvalle omdat 69 00:04:25,430 --> 00:04:27,280 die gebruiker nie om iets te doen. 70 00:04:27,280 --> 00:04:30,760 Jy kan getref baie van die toestelle in RF reeks 71 00:04:30,760 --> 00:04:36,690 in 'n keer, en dit lyk asof wanneer hierdie navorsing borrels up 72 00:04:36,690 --> 00:04:40,750 dit vinnig kry geklassifiseer waar 73 00:04:40,750 --> 00:04:46,600 mense ophef in rond en sê: "Hier, vertel ons oor wat, en stop asseblief om daaroor te praat." 74 00:04:46,600 --> 00:04:49,460 Daar is 'n bietjie navorsing gaan aan in die breëband area, 75 00:04:49,460 --> 00:04:51,980 maar dit lyk baie hush hush te wees. 76 00:04:51,980 --> 00:04:56,910 Ek dink dit is meer van 'n nasie-staat tipe navorsing wat aangaan. 77 00:04:56,910 --> 00:05:02,140 'N gebied van aktiewe navorsing, al is, is die bedryfstelsel laag, 78 00:05:02,140 --> 00:05:08,910 en weer, dit is anders as in die lessenaar rekenaar wêreld 79 00:05:08,910 --> 00:05:14,840 want in die mobiele ruimte wat jy hierdie spanne van mense genoem jailbreakers, 80 00:05:14,840 --> 00:05:18,670 en jailbreakers is anders as gereelde kwesbaarheid navorsers. 81 00:05:18,670 --> 00:05:21,970 Hulle het probeer om probleme te vind in die bedryfstelsel, 82 00:05:21,970 --> 00:05:27,000 Maar die rede waarom hulle probeer om die probleme te vind, is om nie te 83 00:05:27,000 --> 00:05:31,810 breek in iemand anders se masjien en kompromie nie. 84 00:05:31,810 --> 00:05:34,280 Dit is om te breek in hul eie rekenaar. 85 00:05:34,280 --> 00:05:38,820 >> Hulle wil om te breek in hul eie selfone, verander hul eie mobiele bedryfstelsel 86 00:05:38,820 --> 00:05:41,050 sodat hulle die aansoeke van hul keuse kan hardloop 87 00:05:41,050 --> 00:05:44,510 en dinge met volle administratiewe regte verander, 88 00:05:44,510 --> 00:05:49,050 en hulle wil nie die verkoper hiervan te vertel. 89 00:05:49,050 --> 00:05:52,960 Hulle is nie soos 'n sekuriteit navorser wat 'n wit hoed sekuriteit navorser 90 00:05:52,960 --> 00:05:56,600 wat gaan verantwoordelike openbaarmaking te doen en vertel die verkoper daaroor. 91 00:05:56,600 --> 00:06:01,270 Hulle wil hierdie navorsing te doen, en hulle wil dit eintlik publiseer 92 00:06:01,270 --> 00:06:06,400 in 'n buit of 'n rootkit of 'n jailbreak kode, 93 00:06:06,400 --> 00:06:10,010 en hulle wil dit om strategies te doen, soos regs na 94 00:06:10,010 --> 00:06:13,570 die verkoper skepe die nuwe bedryfstelsel. 95 00:06:13,570 --> 00:06:16,350 Jy het hierdie adversarial verhouding 96 00:06:16,350 --> 00:06:19,000 met OS-vlak probleme op die selfoon, 97 00:06:19,000 --> 00:06:23,150 wat ek dink is baie interessant, en een plek waar ons dit sien 98 00:06:23,150 --> 00:06:29,210 is dit maak dit so dat daar 'n goeie gepubliseer ontgin kode daar buite 99 00:06:29,210 --> 00:06:31,750 vir kern-vlak kwesbaarheid, 100 00:06:31,750 --> 00:06:35,040 en ons het gesien wat werklik deur malware skrywers gebruik word. 101 00:06:35,040 --> 00:06:38,450 Dit is 'n bietjie anders as die PC wêreld. 102 00:06:38,450 --> 00:06:42,530 En dan die finale laag is die boonste laag, die aansoek laag. 103 00:06:42,530 --> 00:06:45,250 Dit is wat ek gaan vandag oor te praat. 104 00:06:45,250 --> 00:06:48,970 >> Die ander lae bestaan, en die ander lae speel in dit, 105 00:06:48,970 --> 00:06:53,310 maar ek is meestal gaan om te praat oor wat gaan aan by die aansoek laag 106 00:06:53,310 --> 00:06:55,560 Wanneer Kode loop in die sandbox. 107 00:06:55,560 --> 00:06:58,670 Dit hoef nie 'n administratiewe voorregte. 108 00:06:58,670 --> 00:07:02,170 Dit het die APIs van die toestel te gebruik, 109 00:07:02,170 --> 00:07:06,970 Maar nog steeds, 'n baie kwaadwillige aktiwiteit en 'n baie risiko kan gebeur op daardie laag 110 00:07:06,970 --> 00:07:09,220 want dit is die laag waar al die inligting. 111 00:07:09,220 --> 00:07:12,330 Programme kan al die inligting op die toestel toegang 112 00:07:12,330 --> 00:07:15,390 indien hulle oor die nodige regte, 113 00:07:15,390 --> 00:07:17,540 en hulle kan toegang tot die verskillende sensors op die toestel, 114 00:07:17,540 --> 00:07:23,950 GPS sensor, mikrofoon, kamera, wat jy het. 115 00:07:23,950 --> 00:07:27,380 Selfs al het ons net praat oor die program laag 116 00:07:27,380 --> 00:07:33,700 Ons het 'n baie risiko daar. 117 00:07:33,700 --> 00:07:38,450 Die ander ding wat anders is oor die mobiele omgewing 118 00:07:38,450 --> 00:07:45,060 is al die bedryfstelsel spelers, word dit BlackBerry of Android 119 00:07:45,060 --> 00:07:53,410 of IOS of Windows Mobile, het hulle almal het 'n boete grein toestemming model, 120 00:07:53,410 --> 00:07:56,990 en dit is een van die maniere wat hulle in die bedryfstelsel gebou 121 00:07:56,990 --> 00:08:01,230 die idee dat dit is nie so riskant wees as wat jy dink. 122 00:08:01,230 --> 00:08:04,550 Selfs al het jy al jou kontakte op daar, al jou persoonlike inligting, 123 00:08:04,550 --> 00:08:09,080 jy jou foto's, moet jy jou plek op daar, 124 00:08:09,080 --> 00:08:14,820 jy die stoor van jou bank pen vir motor aanteken op daar, dit is veilig, want 125 00:08:14,820 --> 00:08:19,430 programme het sekere regte te hê om by sekere dele 126 00:08:19,430 --> 00:08:25,080 van die inligting oor die toestel, en die gebruiker het met aangebied word 127 00:08:25,080 --> 00:08:29,230 hierdie regte en sê okay. 128 00:08:29,230 --> 00:08:32,590 >> Die probleem met dit is die gebruiker sê altyd goed. 129 00:08:32,590 --> 00:08:35,240 As 'n sekuriteit persoon, ek weet jy kan die gebruiker vra, 130 00:08:35,240 --> 00:08:40,100 sê iets baie sleg gaan gebeur, wil jy dit om te gebeur? 131 00:08:40,100 --> 00:08:44,680 En as hulle in 'n haas of daar is iets wat regtig aanloklike aan die ander kant van daardie, 132 00:08:44,680 --> 00:08:47,760 soos 'n spel gaan geïnstalleer word dat hulle gewag het, 133 00:08:47,760 --> 00:08:50,860 hulle gaan om te klik okay. 134 00:08:50,860 --> 00:08:56,630 Dit is waarom ek sê op my slide hier laat my net fling voëls by varke reeds 135 00:08:56,630 --> 00:09:03,150 en jy kan sien op die skyfie hier daar is voorbeelde van 'n BlackBerry toestemming boks. 136 00:09:03,150 --> 00:09:05,990 Dit sê: "Stel die BlackBerry Travel aansoek regte 137 00:09:05,990 --> 00:09:09,720 nadat dit op die knoppie hieronder "en basies die gebruiker is net gaan om te sê 138 00:09:09,720 --> 00:09:12,240 stel die regte en red. 139 00:09:12,240 --> 00:09:18,010 Hier is 'n Android vinnige waar dit wys dinge, 140 00:09:18,010 --> 00:09:20,260 en dit eintlik sit iets wat amper lyk soos 'n waarskuwing. 141 00:09:20,260 --> 00:09:25,090 Dit het 'n soort van toegeeteken daar gesê netwerk kommunikasie, oproep, 142 00:09:25,090 --> 00:09:28,120 maar die gebruiker gaan kliek installeer, reg? 143 00:09:28,120 --> 00:09:32,940 En dan is die Apple een is heeltemal onskadelik. 144 00:09:32,940 --> 00:09:34,300 Dit gee nie enige vorm van waarskuwing. 145 00:09:34,300 --> 00:09:37,380 Dis net Apple wil graag jou huidige ligging te gebruik. 146 00:09:37,380 --> 00:09:39,670 Natuurlik jy gaan kliek okay. 147 00:09:39,670 --> 00:09:42,260 >> Daar is hierdie fyn toestemming model, 148 00:09:42,260 --> 00:09:45,890 en programme het 'n manifes lêer waar hulle verklaar te hê 149 00:09:45,890 --> 00:09:49,410 die regte wat hulle nodig het, en dit sal vertoon te raak aan die gebruiker, 150 00:09:49,410 --> 00:09:53,480 en die gebruiker sal hê om te sê ek gee die regte. 151 00:09:53,480 --> 00:09:55,080 Maar laat ons eerlik wees. 152 00:09:55,080 --> 00:09:58,400 Gebruikers is net gaan om altyd okay sê. 153 00:09:58,400 --> 00:10:04,460 Kom ons neem 'n vinnige blik op die regte wat hierdie programme vra vir 154 00:10:04,460 --> 00:10:06,850 en 'n paar van die regte wat daar is. 155 00:10:06,850 --> 00:10:09,950 Hierdie maatskappy Praetorian het 'n opname verlede jaar 156 00:10:09,950 --> 00:10:14,170 van 53000 aansoeke ontleed in die Android mark en 3rd party markte, 157 00:10:14,170 --> 00:10:16,770 so dit is al Android. 158 00:10:16,770 --> 00:10:19,670 En die gemiddelde inligting versoek 3 regte. 159 00:10:19,670 --> 00:10:23,370 Sommige programme versoek 117 regte, 160 00:10:23,370 --> 00:10:27,480 so natuurlik hierdie is 'n baie fyn grein en weg te kompleks vir 'n gebruiker om te verstaan 161 00:10:27,480 --> 00:10:31,600 as hulle aangebied met hierdie inligting wat nodig het om hierdie 117 regte. 162 00:10:31,600 --> 00:10:37,270 Dit is soos die eindgebruiker lisensie-ooreenkoms dit is 45 bladsye lank. 163 00:10:37,270 --> 00:10:40,240 Miskien gou hulle sal 'n opsie waar dit is soos 'n 164 00:10:40,240 --> 00:10:43,100 die regte druk en stuur vir my 'n e-pos. 165 00:10:43,100 --> 00:10:45,480 >> Maar as jy kyk na 'n paar van die top interessante regte 166 00:10:45,480 --> 00:10:50,840 24% van die programme wat hulle afgelaai het van die 53000 167 00:10:50,840 --> 00:10:57,230 versoek GPS inligting uit die toestel. 168 00:10:57,230 --> 00:10:59,810 8% lees die kontakte. 169 00:10:59,810 --> 00:11:03,770 4% gestuur SMS, en 3% ontvang SMS. 170 00:11:03,770 --> 00:11:07,730 2% aangeteken klank. 171 00:11:07,730 --> 00:11:11,210 1% verwerk uitgaande oproepe. 172 00:11:11,210 --> 00:11:13,140 Ek weet nie. 173 00:11:13,140 --> 00:11:17,520 Ek dink nie 4% van die programme in die App Store regtig nodig sms-boodskappe te stuur, 174 00:11:17,520 --> 00:11:21,410 so ek dink dit is 'n aanduiding dat iets verdags aan die gang is. 175 00:11:21,410 --> 00:11:24,350 8% van die programme moet jou kontakte lys te lees. 176 00:11:24,350 --> 00:11:26,510 Dit is waarskynlik nie nodig nie. 177 00:11:26,510 --> 00:11:30,990 Een van die ander interessante dinge oor regte is 178 00:11:30,990 --> 00:11:36,740 As jy 'n skakel in 'n gedeelde biblioteke in jou aansoek 179 00:11:36,740 --> 00:11:39,780 diegene erfgename van die regte van die aansoek, 180 00:11:39,780 --> 00:11:46,570 So as jou jeug moet die kontak lys of moet die GPS-plek om te funksioneer 181 00:11:46,570 --> 00:11:49,940 en jy 'n skakel in 'n advertensie-biblioteek, byvoorbeeld, 182 00:11:49,940 --> 00:11:53,170 dat die advertensie biblioteek sal ook in staat wees om die kontakte om toegang te verkry 183 00:11:53,170 --> 00:11:57,630 en ook in staat wees om toegang tot die GPS-plek, 184 00:11:57,630 --> 00:12:01,990 en die ontwikkelaar van die jeug weet niks van die kode wat hardloop in die advertensie biblioteek. 185 00:12:01,990 --> 00:12:05,370 Hulle is maar net 'n skakel wat in, want hulle wil hul jeug om geld te verdien. 186 00:12:05,370 --> 00:12:09,820 >> Dit is waar-en ek sal praat oor 'n paar voorbeelde van hierdie met 187 00:12:09,820 --> 00:12:13,930 'n aansoek genoem Pandora waar 'n aansoek ontwikkelaar 188 00:12:13,930 --> 00:12:18,910 dalk onwetend lek word inligting 189 00:12:18,910 --> 00:12:24,580 van hul gebruikers as gevolg van biblioteke hulle verbind het in 190 00:12:24,580 --> 00:12:30,110 Oorsig van die landskap daar buite, kyk na al die verskillende programme 191 00:12:30,110 --> 00:12:34,310 wat aangemeld is in die nuus as kwaadwillige of om iets te doen gebruikers nie wil 192 00:12:34,310 --> 00:12:39,360 en dan inspekteer 'n baie van die programme-ons doen 'n baie statiese binêre analise op mobiele apps, 193 00:12:39,360 --> 00:12:42,010 so ons het hulle geïnspekteer en kyk na die kode self- 194 00:12:42,010 --> 00:12:49,640 ons het met wat ons ons top 10 lys van riskante gedrag in aansoeke. 195 00:12:49,640 --> 00:12:54,180 En dit is afgebreek in 2 afdelings, kwaadwillige kode, 196 00:12:54,180 --> 00:12:57,600 so dit is slegte dinge dat die programme kan doen wat 197 00:12:57,600 --> 00:13:06,520 is waarskynlik iets wat 'n kwaadwillige individu te wees 198 00:13:06,520 --> 00:13:10,060 spesifiek sit in die aansoek nie, maar dit is 'n bietjie vaag. 199 00:13:10,060 --> 00:13:13,300 Dit kan iets wees wat 'n ontwikkelaar dink is goed wees, 200 00:13:13,300 --> 00:13:16,350 maar dit eindig word beskou as kwaadwillige deur die gebruiker. 201 00:13:16,350 --> 00:13:19,830 >> En dan is die tweede deel is wat ons noem kodering probleme, 202 00:13:19,830 --> 00:13:24,600 en dit is dinge waar die ontwikkelaar basies is die maak van foute 203 00:13:24,600 --> 00:13:27,200 of net nie verstaan ​​hoe die jeug om veilig te skryf, 204 00:13:27,200 --> 00:13:30,260  en dit is om die jeug gebruiker in gevaar. 205 00:13:30,260 --> 00:13:34,060 Ek gaan om te gaan deur middel van hierdie in detail en gee 'n paar voorbeelde. 206 00:13:34,060 --> 00:13:39,620 Vir verwysing, ek wou sit die OWASP mobiele top 10 lys. 207 00:13:39,620 --> 00:13:43,590 Dit is die 10 kwessies wat 'n groep by OWASP, 208 00:13:43,590 --> 00:13:48,900 die Open Web Aansoek Security Project, hulle het 'n werkgroep 209 00:13:48,900 --> 00:13:50,620 werk op 'n mobiele top 10 lys. 210 00:13:50,620 --> 00:13:54,600 Hulle het 'n baie bekende web top 10 lys, wat is die top 10 211 00:13:54,600 --> 00:13:57,180 gevaarlikste dinge wat jy kan hê in 'n web aansoek. 212 00:13:57,180 --> 00:13:59,090 Hulle doen dieselfde ding vir mobiele, 213 00:13:59,090 --> 00:14:01,750 en die lys is 'n bietjie anders as ons s'n. 214 00:14:01,750 --> 00:14:03,670 6 uit die 10 is dieselfde. 215 00:14:03,670 --> 00:14:06,020 Hulle het 4 wat anders is. 216 00:14:06,020 --> 00:14:10,550 Ek dink hulle het 'n bietjie van 'n ander neem op 217 00:14:10,550 --> 00:14:14,490 risiko in mobiele programme waar 'n baie van hul probleme 218 00:14:14,490 --> 00:14:20,490 regtig hoe om die aansoek te kommunikeer aan 'n back-end-bediener 219 00:14:20,490 --> 00:14:23,100 of wat gaan aan op die back-end-bediener, 220 00:14:23,100 --> 00:14:29,220 nie soseer programme wat riskante gedrag wat net eenvoudig kliënt programme. 221 00:14:29,220 --> 00:14:36,640 >> Die mense in die rooi hier is die verskille tussen die 2 lys. 222 00:14:36,640 --> 00:14:40,740 En 'n paar van my navorsing-span het eintlik bygedra tot die projek, 223 00:14:40,740 --> 00:14:44,570 so ons sal sien wat gebeur met verloop van tyd, maar ek dink die afhaal hier is 224 00:14:44,570 --> 00:14:47,550 Ons weet nie regtig wat die top-10-lys is in mobiele programme, omdat 225 00:14:47,550 --> 00:14:50,510 hulle het eintlik net is om vir 2 of 3 jaar nou, 226 00:14:50,510 --> 00:14:57,750 en daar is nie genoeg tyd om werklik ondersoek die bedryfstelsel 227 00:14:57,750 --> 00:15:00,450 en wat hulle in staat is, en daar is nie genoeg tyd 228 00:15:00,450 --> 00:15:06,870 vir die kwaadwillige gemeenskap, as jy wil, genoeg tyd bestee het 229 00:15:06,870 --> 00:15:12,910 probeer om gebruikers aan te val deur middel van mobiele apps, so ek verwag dat hierdie lyste 'n bietjie te verander. 230 00:15:12,910 --> 00:15:18,720 Maar vir nou, hierdie is die top 10 dinge om te bekommer nie. 231 00:15:18,720 --> 00:15:24,150 Jy mag dalk wonder oor die mobiele kant waar kom die kwaadwillige mobiele kode- 232 00:15:24,150 --> 00:15:28,880 hoe dit kry op die toestel? 233 00:15:28,880 --> 00:15:35,210 Noord-Carolina State het 'n projek genaamd die Mobile Malware Genome Project 234 00:15:35,210 --> 00:15:39,520 waar hulle versamel soveel mobiele malware as hulle kan en dit te ontleed, 235 00:15:39,520 --> 00:15:45,270 en hulle het afgebreek inspuiting vektore dat die mobiele malware gebruik, 236 00:15:45,270 --> 00:15:51,490 en 86% gebruik 'n tegniek genoem herverpakking, 237 00:15:51,490 --> 00:15:54,160 En dit is net op die Android-platform 238 00:15:54,160 --> 00:15:56,720 kan jy regtig hierdie herverpakking. 239 00:15:56,720 --> 00:16:03,100 >> Die rede is Android-kode is gebou met 240 00:16:03,100 --> 00:16:08,130 'n Java-kode byte genoem Dalvik wat maklik decompilable. 241 00:16:08,130 --> 00:16:12,460 Wat die slegte ou kan doen, is om 242 00:16:12,460 --> 00:16:16,590 neem 'n Android-aansoek, afbreek nie, 243 00:16:16,590 --> 00:16:20,120 voeg hul kwaadwillige kode, heropstel dit, 244 00:16:20,120 --> 00:16:28,070 en dan sit dit in die app store voorgee om 'n nuwe weergawe van die aansoek om te wees, 245 00:16:28,070 --> 00:16:30,330 of net miskien die verandering van die naam van die aansoek. 246 00:16:30,330 --> 00:16:35,140 As dit was 'n soort van wild, die naam verander effens 247 00:16:35,140 --> 00:16:42,860 En so gaan dit herverpakking is hoe 86% van die mobiele malware kry versprei. 248 00:16:42,860 --> 00:16:45,810 Daar is nog 'n tegniek genoem update wat 249 00:16:45,810 --> 00:16:50,030 baie soortgelyk aan herverpakking, maar jy eintlik nie sit die kwaadwillige kode in 250 00:16:50,030 --> 00:16:52,870 Wat jy doen is jy sit in 'n klein update meganisme. 251 00:16:52,870 --> 00:16:56,660 Jy afbreek, jy sit in 'n update meganisme, en jy dit heropstel, 252 00:16:56,660 --> 00:17:02,360 en dan wanneer die jeug aktief is dit trek af in die malware op die toestel. 253 00:17:02,360 --> 00:17:06,300 >> By verre die meerderheid is die 2 tegnieke. 254 00:17:06,300 --> 00:17:12,710 Daar is nie regtig veel aflaai drive-gangers of ry-deur afgelaai op selfone, 255 00:17:12,710 --> 00:17:15,890 wat kan wees soos 'n phishing-aanval. 256 00:17:15,890 --> 00:17:18,200 Hey, check hierdie baie cool website, 257 00:17:18,200 --> 00:17:21,020 of jy moet gaan na die webwerf en vul die vorm in 258 00:17:21,020 --> 00:17:24,420 te hou voort om iets te doen. 259 00:17:24,420 --> 00:17:26,230 Diegene is phishing-aanvalle. 260 00:17:26,230 --> 00:17:28,160 Dieselfde kan gebeur op die selfoon-platform waar hulle 261 00:17:28,160 --> 00:17:33,830 verwys na 'n foon te laai, sê: "Hi, dit is die Bank van Amerika." 262 00:17:33,830 --> 00:17:36,070 "Ons sien jy die gebruik van hierdie aansoek." 263 00:17:36,070 --> 00:17:38,540 "Jy moet dit ander aansoek af te laai." 264 00:17:38,540 --> 00:17:41,170 Teoreties, kan dit werk. 265 00:17:41,170 --> 00:17:48,610 Miskien is dit net nie genoeg sal wees nie gebruik word om te bepaal of dit suksesvol was of nie, 266 00:17:48,610 --> 00:17:51,680 maar hulle het bevind dat minder as 1% van die tyd wat tegniek gebruik word. 267 00:17:51,680 --> 00:17:56,130 Die meerderheid van die tyd wat dit is regtig 'n herverpakte kode. 268 00:17:56,130 --> 00:17:58,710 >> Daar is 'n ander kategorie genoem selfstandige 269 00:17:58,710 --> 00:18:01,420 waar iemand net bou 'n splinternuwe program. 270 00:18:01,420 --> 00:18:04,020 Hulle bou 'n aansoek wat voorgee om iets te wees. 271 00:18:04,020 --> 00:18:07,360 Dit is nie 'n herverpakking van iets anders, en dit het die kwaadwillige kode. 272 00:18:07,360 --> 00:18:11,230 Wat gebruik word om 14% van die tyd. 273 00:18:11,230 --> 00:18:17,880 Nou wil ek om te praat oor wat die kwaadwillige kode te doen? 274 00:18:17,880 --> 00:18:23,070 Een van die eerste malware daar buite 275 00:18:23,070 --> 00:18:25,490 jy kan 'n spyware oorweeg. 276 00:18:25,490 --> 00:18:27,620 Dit spioene basies op die gebruiker. 277 00:18:27,620 --> 00:18:30,470 Dit versamel e-pos, SMS-boodskappe. 278 00:18:30,470 --> 00:18:32,340 Dit blyk op die mikrofoon. 279 00:18:32,340 --> 00:18:37,330 Dit oes die kontak boek, en dit stuur dit aan iemand anders. 280 00:18:37,330 --> 00:18:40,870 Hierdie tipe van spyware bestaan ​​op die rekenaar, 281 00:18:40,870 --> 00:18:46,200 so maak dit perfekte sin vir mense om te probeer om dit te doen op mobiele toestelle. 282 00:18:46,200 --> 00:18:53,230 >> Een van die eerste voorbeelde van hierdie was 'n program met die naam Secret SMS Replicator. 283 00:18:53,230 --> 00:18:56,250 Dit was in die Android Marketplace 'n paar jaar gelede, 284 00:18:56,250 --> 00:18:59,960 en die idee was om as jy toegang gehad het tot iemand se Android-selfoon 285 00:18:59,960 --> 00:19:03,450 wat jy wou om te spioeneer op, so miskien is dit jou eggenoot 286 00:19:03,450 --> 00:19:07,600 of jou beduidende ander, en jy wil om te spioeneer op hul sms, 287 00:19:07,600 --> 00:19:11,200 jy kan hierdie inligting af te laai en installeer dit en stel dit 288 00:19:11,200 --> 00:19:16,540 'n sms-boodskap te stuur na jou met 'n afskrif 289 00:19:16,540 --> 00:19:21,710 elke sms wat hulle gekry het. 290 00:19:21,710 --> 00:19:27,220 Dit is natuurlik in die skending van die app store terme van die diens, 291 00:19:27,220 --> 00:19:32,040 en dit is verwyder van die Android Marketplace binne 18 uur van dit wat daar is, 292 00:19:32,040 --> 00:19:36,760 so 'n baie klein aantal mense was in gevaar as gevolg van hierdie. 293 00:19:36,760 --> 00:19:42,510 Nou, ek dink as die program is iets wat dalk 'n bietjie minder uitdagende genoem 294 00:19:42,510 --> 00:19:48,690 soos Secret SMS Replicator is dit waarskynlik 'n baie beter sou gewerk het. 295 00:19:48,690 --> 00:19:52,870 Maar dit was soort van voor die hand liggend. 296 00:19:52,870 --> 00:19:58,680 >> Een van die dinge wat ons kan doen om te bepaal of programme het hierdie gedrag wat ons wil nie 297 00:19:58,680 --> 00:20:01,410 is die kode te inspekteer. 298 00:20:01,410 --> 00:20:06,250 Dit is eintlik baie maklik om te doen op Android, want ons kan afbreek van die programme. 299 00:20:06,250 --> 00:20:11,050 Op IOS kan jy 'n disassembler soos IDA Pro gebruik 300 00:20:11,050 --> 00:20:17,190 om te kyk wat Apis die jeug is die roeping en wat dit doen. 301 00:20:17,190 --> 00:20:20,680 Ons het ons eie binêre statiese ontleder vir ons kode 302 00:20:20,680 --> 00:20:24,940 en ons doen dit, en so wat jy kan doen is jy kan sê 303 00:20:24,940 --> 00:20:30,490 beteken die toestel enigiets wat basies spioenasie op my of my dop te doen? 304 00:20:30,490 --> 00:20:33,360 En ek het 'n paar voorbeelde hier op die iPhone. 305 00:20:33,360 --> 00:20:41,440 Die eerste voorbeeld is hoe die UUID op die telefoon om toegang te verkry. 306 00:20:41,440 --> 00:20:47,060 Dit is eintlik iets wat Apple het net verban vir nuwe aansoeke, 307 00:20:47,060 --> 00:20:52,540 Maar ou programme wat jy kan loop op jou selfoon kan nog steeds doen, 308 00:20:52,540 --> 00:20:56,500 en sodat unieke identifikasie kan gebruik word om jou op te spoor 309 00:20:56,500 --> 00:21:00,440 oor baie verskillende programme. 310 00:21:00,440 --> 00:21:07,180 >> Op die Android, ek het hier 'n voorbeeld om die toestel se plek. 311 00:21:07,180 --> 00:21:10,310 Jy kan sien dat as dit API oproep is daar dat inligting is die dop, 312 00:21:10,310 --> 00:21:15,000 en jy kan sien of dit is om fyn plek of growwe plek. 313 00:21:15,000 --> 00:21:18,860 En dan op die bodem hier, ek het 'n voorbeeld van hoe om op die BlackBerry 314 00:21:18,860 --> 00:21:25,130 'n aansoek kan toegang tot die e-pos boodskappe in jou posbus. 315 00:21:25,130 --> 00:21:27,660 Dit is die soort van dinge wat jy kan inspekteer om te sien 316 00:21:27,660 --> 00:21:32,360 As die jeug doen daardie dinge. 317 00:21:32,360 --> 00:21:38,320 Die tweede groot kategorie van kwaadwillige optrede, en dit is waarskynlik die grootste kategorie nou, 318 00:21:38,320 --> 00:21:43,950 is ongemagtigde skakelkode, ongemagtigde premium SMS teks boodskappe 319 00:21:43,950 --> 00:21:46,080 of ongemagtigde betalings. 320 00:21:46,080 --> 00:21:48,930 Nog 'n ding wat uniek is oor die telefoon 321 00:21:48,930 --> 00:21:52,700 word die toestel is verslaaf aan 'n faktuur rekening 322 00:21:52,700 --> 00:21:55,960 En toe aktiwiteite gebeur op die selfoon 323 00:21:55,960 --> 00:21:58,510 Dit koste kan skep. 324 00:21:58,510 --> 00:22:00,700 Jy kan dinge koop oor die telefoon, 325 00:22:00,700 --> 00:22:04,390 en as jy 'n premie sms jy eintlik die gee van geld 326 00:22:04,390 --> 00:22:11,590 na die rekening houer van die telefoon nommer op die ander kant. 327 00:22:11,590 --> 00:22:17,420 Hierdie is die opstel van voorraad kwotasies te kry of kry jou daaglikse horoscoop of ander dinge, 328 00:22:17,420 --> 00:22:21,680 maar hulle kan ingestel word om 'n produk te bestel deur die stuur van 'n sms. 329 00:22:21,680 --> 00:22:26,970 Mense gee geld aan die Rooi Kruis deur die stuur van 'n SMS-boodskap. 330 00:22:26,970 --> 00:22:30,650 Jy kan gee $ 10 op die manier. 331 00:22:30,650 --> 00:22:34,190 >> Die aanvallers, wat hulle gedoen het, is hulle die opstel 332 00:22:34,190 --> 00:22:38,750 rekeninge in die buiteland, en hulle sluit in die malware 333 00:22:38,750 --> 00:22:42,840 dat die telefoon sal 'n premie sms-boodskap stuur, 334 00:22:42,840 --> 00:22:47,700 sê, 'n paar keer 'n dag, en aan die einde van die maand wat jy besef jy het spandeer 335 00:22:47,700 --> 00:22:52,090 tien of miskien selfs honderde dollars, en hulle loop weg met die geld. 336 00:22:52,090 --> 00:22:57,280 Dit het so erg dat dit die heel eerste ding wat die Android 337 00:22:57,280 --> 00:23:00,760 Mark of die Google-plek was dit die Android Marketplace op die oomblik, 338 00:23:00,760 --> 00:23:04,430 en dit is nou Google Play-die eerste ding wat Google begin nagaan vir. 339 00:23:04,430 --> 00:23:08,700 Wanneer Google begin die verspreiding van Android-programme in hul App Store 340 00:23:08,700 --> 00:23:11,350 hulle het gesê hulle is nie van plan om te kyk vir iets nie. 341 00:23:11,350 --> 00:23:15,630 Ons sal trek programme keer het ons in kennis gestel hulle ons terme van die diens het gebreek, 342 00:23:15,630 --> 00:23:17,520 maar ons gaan nie om te kyk vir iets nie. 343 00:23:17,520 --> 00:23:24,350 Wel, sowat 'n jaar gelede het dit so sleg met hierdie premie sms malware 344 00:23:24,350 --> 00:23:28,030 dit is die heel eerste ding wat hulle begin nagaan vir. 345 00:23:28,030 --> 00:23:31,770 As 'n jeug sms-boodskappe stuur 346 00:23:31,770 --> 00:23:34,750 hulle verder met die hand bestudeer wat aansoek. 347 00:23:34,750 --> 00:23:38,770 Hulle kyk vir die APIs wat noem dit, 348 00:23:38,770 --> 00:23:40,580 en nou is sedertdien Google het uitgebrei, 349 00:23:40,580 --> 00:23:46,900 maar dit was die eerste ding wat hulle begin soek. 350 00:23:46,900 --> 00:23:50,690 >> Sommige ander programme wat het 'n paar sms-boodskappe, 351 00:23:50,690 --> 00:23:56,980 hierdie Android Qicsomos, ek dink dit is genoem. 352 00:23:56,980 --> 00:24:02,670 Daar was hierdie huidige geval op die selfoon waar hierdie CarrierIQ uitgekom 353 00:24:02,670 --> 00:24:07,720 as spyware op die toestel deur die draers, 354 00:24:07,720 --> 00:24:10,820 sodat mense wou weet of sy selfoon was kwesbaar vir hierdie, 355 00:24:10,820 --> 00:24:13,890 en dit was 'n gratis artikels wat getoets nie. 356 00:24:13,890 --> 00:24:17,520 Wel, natuurlik, wat hierdie inligting gedoen het, was dit gestuur premie sms-boodskappe, 357 00:24:17,520 --> 00:24:20,090 so deur die toets om te sien of jy besmet is met spyware 358 00:24:20,090 --> 00:24:24,930 jy gelaai malware op jou toestel. 359 00:24:24,930 --> 00:24:27,310 Ons het dieselfde ding gebeur in die laaste Super Bowl. 360 00:24:27,310 --> 00:24:33,180 Daar was 'n valse weergawe van die Madden sokker wedstryd 361 00:24:33,180 --> 00:24:38,320 wat gestuur premium SMS teks boodskappe. 362 00:24:38,320 --> 00:24:45,750 Dit is eintlik probeer om 'n bot netwerk te skep op die toestel. 363 00:24:45,750 --> 00:24:48,090 Hier het ek 'n paar voorbeelde. 364 00:24:48,090 --> 00:24:52,640 Interessant genoeg, Apple was redelik slim, 365 00:24:52,640 --> 00:24:58,470 en hulle nie toelaat dat aansoeke sms-boodskappe op alle te stuur. 366 00:24:58,470 --> 00:25:00,350 Geen inligting kan dit doen. 367 00:25:00,350 --> 00:25:03,530 Dit is 'n goeie manier om ontslae te raak van 'n hele klas van kwesbaarheid, 368 00:25:03,530 --> 00:25:09,040 maar op Android kan jy dit doen, en natuurlik, op 'n BlackBerry kan jy dit ook doen. 369 00:25:09,040 --> 00:25:13,060 Dit is interessant dat op die BlackBerry al wat jy nodig het, is die internet regte 370 00:25:13,060 --> 00:25:18,370 'n sms-boodskap te stuur. 371 00:25:18,370 --> 00:25:21,580 >> Die ander ding regtig dat ons kyk vir 372 00:25:21,580 --> 00:25:24,780 wanneer ons soek om te sien of daar iets is kwaadwillige is net 'n soort 373 00:25:24,780 --> 00:25:28,100 ongemagtigde netwerk aktiwiteit, soos kyk na die netwerk aktiwiteit 374 00:25:28,100 --> 00:25:31,570 die jeug is veronderstel om te hê om sy funksies te hê, 375 00:25:31,570 --> 00:25:35,380 en kyk na hierdie ander netwerk aktiwiteit. 376 00:25:35,380 --> 00:25:43,380 Miskien is 'n app, om te werk, het data oor HTTP te kry, 377 00:25:43,380 --> 00:25:47,500 Maar as dit om dinge te doen via e-pos of SMS of Bluetooth of iets soos dit 378 00:25:47,500 --> 00:25:52,890 nou dat inligting kan potensieel skadelike wees, so dit is 'n ander ding wat jy kan inspekteer vir. 379 00:25:52,890 --> 00:26:00,430 En op hierdie skyfie hier Ek het 'n paar voorbeelde van wat. 380 00:26:00,430 --> 00:26:05,950 Nog 'n interessante ding wat ons gesien het met malware gebeur terug in 2009, 381 00:26:05,950 --> 00:26:07,600 en dit gebeur het in 'n groot manier. 382 00:26:07,600 --> 00:26:11,390 Ek weet nie of dit so baie gebeur het sedertdien, maar dit was 'n artikels 383 00:26:11,390 --> 00:26:15,140 wat hom uit 'n ander program. 384 00:26:15,140 --> 00:26:21,700 Daar was 'n stel van die programme, en dit is genoem die 09Droid aanval, 385 00:26:21,700 --> 00:26:29,770 en iemand het besluit dat daar 'n baie klein, streeks-, musiek-grootte banke 386 00:26:29,770 --> 00:26:32,260 wat nie 'online bank aansoeke, 387 00:26:32,260 --> 00:26:36,870 So wat hulle gedoen het, was hulle sowat 50 aanlyn bank aansoeke gebou 388 00:26:36,870 --> 00:26:39,410 dat alles wat hulle gedoen het, was die gebruiker naam en wagwoord 389 00:26:39,410 --> 00:26:42,190 en lei jou na die webwerf. 390 00:26:42,190 --> 00:26:47,470 En so het hulle dit al in die Google Marketplace, 391 00:26:47,470 --> 00:26:51,530 in die Android mark, en wanneer iemand gesoek om te sien of hul bank 392 00:26:51,530 --> 00:26:56,000 het 'n aansoek sou hulle die valse aansoek vind, 393 00:26:56,000 --> 00:27:01,230 wat hul geloofsbriewe versamel en dan herlei hulle na hul webwerf. 394 00:27:01,230 --> 00:27:06,640 Die manier waarop dit werklik geword het-die programme was daar vir 'n paar weke, 395 00:27:06,640 --> 00:27:09,050 en daar was duisende afgelaai. 396 00:27:09,050 --> 00:27:12,910 >> Die manier om dit aan die lig gekom het iemand 'n probleem 397 00:27:12,910 --> 00:27:15,740 met een van die programme, en hulle het hul bank, 398 00:27:15,740 --> 00:27:18,390 en hulle het hul bank se kliënte ondersteuning lyn en gesê: 399 00:27:18,390 --> 00:27:21,180 "Ek het 'n probleem met jou mobiele bank aansoek." 400 00:27:21,180 --> 00:27:23,460 "Kan jy my help om uit?" 401 00:27:23,460 --> 00:27:26,540 En hulle het gesê: "Ons het nie 'n mobiele bank aansoek doen." 402 00:27:26,540 --> 00:27:28,120 Wat begin met die ondersoek. 403 00:27:28,120 --> 00:27:31,200 Dat die bank genoem Google, en dan Google gekyk en gesê: 404 00:27:31,200 --> 00:27:37,220 "Sjoe, dieselfde outeur geskryf het 50 bank aansoeke," en het hulle almal af. 405 00:27:37,220 --> 00:27:43,410 Maar seker dit kan weer gebeur nie. 406 00:27:43,410 --> 00:27:51,790 Daar is die lys van al die verskillende banke hier 407 00:27:51,790 --> 00:27:55,870 wat deel was van hierdie bedrogspul. 408 00:27:55,870 --> 00:28:02,050 Die ander ding wat 'n app kan doen, is die oomblik is die UI van 'n ander program. 409 00:28:02,050 --> 00:28:06,430 Terwyl dit is wat uitgevoer kan dit pop-up die Facebook UI. 410 00:28:06,430 --> 00:28:09,540 Dit sê jy hoef te sit in jou gebruiker naam en wagwoord om voort te gaan 411 00:28:09,540 --> 00:28:15,090 of sit 'n gebruiker naam en wagwoord UI vir 'n webwerf 412 00:28:15,090 --> 00:28:18,420 dat miskien die gebruiker gebruik net om te probeer om die gebruiker te flous 413 00:28:18,420 --> 00:28:21,340 in om hul geloofsbriewe in 414 00:28:21,340 --> 00:28:25,590 Dit is regtig 'n reguit parallel van die e-pos phishing-aanvalle 415 00:28:25,590 --> 00:28:28,210 waar iemand wat jy stuur 'n e-pos 416 00:28:28,210 --> 00:28:33,050 en gee jou basies 'n valse UI vir 'n webwerf 417 00:28:33,050 --> 00:28:37,320 dat jy toegang het. 418 00:28:37,320 --> 00:28:41,590 >> Die ander ding wat ons sien in 'n kwaadwillige kode is stelsel verander. 419 00:28:41,590 --> 00:28:48,160 Jy kan kyk vir al die API oproepe wat vereis dat die wortel voorreg 420 00:28:48,160 --> 00:28:50,870 korrek uit te voer. 421 00:28:50,870 --> 00:28:56,160 Die verandering van die toestel se web proxy sal iets wat 'n aansoek in 422 00:28:56,160 --> 00:28:59,530 moet nie in staat wees om te doen. 423 00:28:59,530 --> 00:29:03,030 Maar as die aansoek het kode daar om dit te doen 424 00:29:03,030 --> 00:29:05,960 jy weet dat dit waarskynlik 'n kwaadwillige aansoek 425 00:29:05,960 --> 00:29:09,620 of baie hoogs waarskynlik 'n kwaadwillige aansoek te wees, 426 00:29:09,620 --> 00:29:13,910 En ja, wat sal gebeur, is dat inligting sal een of ander manier van stygende voorreg het. 427 00:29:13,910 --> 00:29:17,200 Dit sou 'n paar voorreg eskalasie ontgin 428 00:29:17,200 --> 00:29:20,730 in die aansoek, en dan wanneer dit toegeneem voorregte 429 00:29:20,730 --> 00:29:23,800 dit hierdie stelsel veranderinge sou doen. 430 00:29:23,800 --> 00:29:28,010 Jy kan malware wat voorreg eskalasie vind 431 00:29:28,010 --> 00:29:32,550 in dit selfs sonder om te weet hoe om die voorreg eskalasie 432 00:29:32,550 --> 00:29:37,960 ontgin gaan gebeur, en dit is 'n lekker, maklike manier 433 00:29:37,960 --> 00:29:41,220 om te kyk vir malware. 434 00:29:41,220 --> 00:29:46,030 DroidDream was waarskynlik die mees bekende stuk Android malware. 435 00:29:46,030 --> 00:29:50,530 Ek dink dit geraak oor 250,000 gebruikers oor 'n paar dae 436 00:29:50,530 --> 00:29:52,810 voordat dit gevind is. 437 00:29:52,810 --> 00:29:56,890 Hulle herverpak 50 valse aansoeke, 438 00:29:56,890 --> 00:30:00,370 sit hulle in die Android App Store, 439 00:30:00,370 --> 00:30:10,940 en in wese is dit gebruik Android jailbreak kode voorregte te styg 440 00:30:10,940 --> 00:30:16,380 en dan installeer 'n bevel en beheer en draai al die slagoffers 441 00:30:16,380 --> 00:30:20,690 in 'n bot net, maar jy kan opgespoor het hierdie 442 00:30:20,690 --> 00:30:24,170 As jy die skandering van die aansoek en net op soek na 443 00:30:24,170 --> 00:30:32,230 API oproepe wat vereis wortel toestemming korrek uit te voer. 444 00:30:32,230 --> 00:30:40,150 >> En daar is 'n voorbeeld hier Ek het wat besig is om die volmag, 445 00:30:40,150 --> 00:30:46,380 en dit is eintlik net beskikbaar is op die Android. 446 00:30:46,380 --> 00:30:49,070 Jy kan sien ek gee jou 'n baie voorbeelde op Android 447 00:30:49,070 --> 00:30:53,990 want dit is waar die mees aktiewe malware ekosisteem is 448 00:30:53,990 --> 00:30:58,690 want dit is baie maklik vir 'n aanvaller kwaadwillige kode te kry 449 00:30:58,690 --> 00:31:01,470 in die Android Marketplace. 450 00:31:01,470 --> 00:31:06,480 Dit is nie so maklik om dit te doen in die Apple App Store 451 00:31:06,480 --> 00:31:10,250 omdat Apple vereis ontwikkelaars om hulself te identifiseer 452 00:31:10,250 --> 00:31:12,790 en teken die kode. 453 00:31:12,790 --> 00:31:20,340 Hulle het eintlik kyk wie jy is, en Apple is eintlik onder die loep die aansoeke. 454 00:31:20,340 --> 00:31:27,450 Ons sien nie 'n baie van die ware malware waar die toestel is om die gedrang kom. 455 00:31:27,450 --> 00:31:32,250 Ek sal praat oor 'n paar voorbeelde waar dit is regtig privaatheid wat is om in die gedrang, 456 00:31:32,250 --> 00:31:38,460 en dit is wat regtig gebeur op die Apple-toestel. 457 00:31:38,460 --> 00:31:44,090 Nog 'n ding om te kyk vir kwaadwillige kode, riskante kode in toestelle 458 00:31:44,090 --> 00:31:50,300 is logika of tyd bomme, en tyd bomme is waarskynlik 459 00:31:50,300 --> 00:31:53,370 veel makliker om te kyk vir as logika bomme. 460 00:31:53,370 --> 00:31:57,030 Maar met die tyd bomme, wat jy kan doen is dat jy kan kyk vir 461 00:31:57,030 --> 00:32:04,760 plekke in die kode waar die tyd getoets word of 'n absolute tyd het vir 462 00:32:04,760 --> 00:32:08,190 voordat sekere funksies in die jeug gebeur. 463 00:32:08,190 --> 00:32:14,200 En dit gedoen kan word dat die aktiwiteit om weg te steek van die gebruiker, 464 00:32:14,200 --> 00:32:17,510 sodat dit laat gebeur in die nag. 465 00:32:17,510 --> 00:32:24,350 DroidDream het al sy aktiwiteite 11:00-08:00 plaaslike tyd 466 00:32:24,350 --> 00:32:30,650 om te probeer om dit te doen, terwyl die gebruiker kan nie gebruik word om hul toestel. 467 00:32:30,650 --> 00:32:38,680 >> Nog 'n rede om dit te doen, is as mense is met behulp van gedrags-analise van 'n aansoek, 468 00:32:38,680 --> 00:32:43,430 loop van die jeug in 'n sandput om te sien wat die gedrag van die aansoek is, 469 00:32:43,430 --> 00:32:51,090 hulle kan die tyd-gebaseerde logika gebruik om die aktiwiteit te doen 470 00:32:51,090 --> 00:32:54,640 wanneer die jeug is nie in die sandbox. 471 00:32:54,640 --> 00:33:01,520 Byvoorbeeld, 'n app store soos Apple 472 00:33:01,520 --> 00:33:07,940 loop die aansoek nie, maar dat hulle waarskynlik nie elke aansoek om te hardloop nie, sê, 30 dae 473 00:33:07,940 --> 00:33:10,550 voor die goedkeuring daarvan, sodat jy kan sit 474 00:33:10,550 --> 00:33:14,120 logika in jou aansoek wat gesê het, okay, net die slegte ding doen 475 00:33:14,120 --> 00:33:20,490 na 30 dae het verby gegaan of na 30 dae na die publiseer datum van die aansoek, 476 00:33:20,490 --> 00:33:27,020 en wat kan help om die kwaadwillige kode versteek van mense te inspekteer vir dit. 477 00:33:27,020 --> 00:33:30,050 As anti-virus maatskappye loop dinge in zandbakken 478 00:33:30,050 --> 00:33:36,370 of die artikels winkels self kan help 479 00:33:36,370 --> 00:33:39,260 verberg dat van daardie inspeksie. 480 00:33:39,260 --> 00:33:43,020 Nou, die ander kant van wat dit is maklik om te vind met statiese analise, 481 00:33:43,020 --> 00:33:46,170 so eintlik die inspeksie van die kode wat jy kan kyk vir al die plekke 482 00:33:46,170 --> 00:33:54,010 waar die aansoek toets van die tyd en inspekteer op die manier. 483 00:33:54,010 --> 00:33:58,850 En hier het ek 'n paar voorbeelde op hierdie 3 verskillende platforms 484 00:33:58,850 --> 00:34:05,640 hoe om tyd vir kan gekontroleer word deur die jeug outeur 485 00:34:05,640 --> 00:34:10,520 sodat jy weet wat om te kyk vir as jy inspekteer die jeug staties. 486 00:34:10,520 --> 00:34:14,570 >> Ek het net gegaan deur 'n hele klomp van verskillende kwaadwillige aktiwiteite 487 00:34:14,570 --> 00:34:18,969 wat ons gesien het in die natuur nie, maar watter is die mees algemene? 488 00:34:18,969 --> 00:34:23,940 Dieselfde studie van Noord-Carolina State Mobile Genome Project 489 00:34:23,940 --> 00:34:28,560 gepubliseer sommige data, en daar was basies 4 areas 490 00:34:28,560 --> 00:34:32,850 wat hulle gesien het, waar daar was 'n baie van die aktiwiteit. 491 00:34:32,850 --> 00:34:35,370 37% van die programme het voorreg eskalasie, 492 00:34:35,370 --> 00:34:38,429 sodat hulle het 'n soort van jailbreak kode in daar 493 00:34:38,429 --> 00:34:42,070 waar hulle probeer voorregte te styg sodat hulle kon 494 00:34:42,070 --> 00:34:48,360 nie API opdragte wel soos die bedryfstelsel. 495 00:34:48,360 --> 00:34:52,520 45% van die programme daar buite het premium SMS, 496 00:34:52,520 --> 00:34:57,260 so dit is 'n groot persentasie wat probeer om direk geld te verdien. 497 00:34:57,260 --> 00:35:02,640 93% het remote control, sodat hulle probeer om 'n bot net, 'n mobiele bot net. 498 00:35:02,640 --> 00:35:08,990 En 45% geoes identifisering van inligting 499 00:35:08,990 --> 00:35:16,230 soos telefoonnommers, UUIDs, GPS-plek, die gebruiker rekeninge, 500 00:35:16,230 --> 00:35:22,870 en dit dra by tot meer as 100, want die meeste malware probeer om 'n paar van hierdie dinge te doen. 501 00:35:22,870 --> 00:35:27,070 >> Ek gaan oor te skakel na die tweede helfte en praat oor die kode probleme. 502 00:35:27,070 --> 00:35:29,480 Dit is die tweede helfte van die riskante aktiwiteit. 503 00:35:29,480 --> 00:35:33,450 Dit is waar in wese die ontwikkelaar maak foute. 504 00:35:33,450 --> 00:35:37,210 'N wettige ontwikkelaar skryf van 'n wettige inligting 505 00:35:37,210 --> 00:35:41,830 maak foute of onkundig is van die risiko's van die mobiele platform. 506 00:35:41,830 --> 00:35:44,780 Hulle het net nie weet hoe om 'n veilige foon te maak, 507 00:35:44,780 --> 00:35:47,700 of soms die ontwikkelaar nie omgee om die gebruiker in gevaar. 508 00:35:47,700 --> 00:35:50,850 Soms deel van hul besigheid model kan wees 509 00:35:50,850 --> 00:35:54,610 die oes van die gebruiker se persoonlike inligting. 510 00:35:54,610 --> 00:35:58,090 Dit is soort van die ander kategorie, en dit is die rede waarom sommige van hierdie kwaadwillige 511 00:35:58,090 --> 00:36:03,200 versus wettige begin bloei oor, want daar is verskil van mening 512 00:36:03,200 --> 00:36:10,440 tussen wat die gebruiker wil hê en wat die gebruiker riskante mening 513 00:36:10,440 --> 00:36:13,050 en wat die program ontwikkelaar van mening riskant. 514 00:36:13,050 --> 00:36:18,380 Natuurlik, dit is nie die aansoek ontwikkelaar se data in die meeste gevalle. 515 00:36:18,380 --> 00:36:22,030 >> En dan uiteindelik, 'n ander manier dit gebeur is 'n ontwikkelaar kan skakel in 516 00:36:22,030 --> 00:36:28,600 'n gedeelde biblioteek wat probleme of hierdie riskante gedrag in dit 517 00:36:28,600 --> 00:36:32,480 Unbeknownst aan hulle. 518 00:36:32,480 --> 00:36:37,060 Die eerste kategorie is sensitiewe data lekkasie, 519 00:36:37,060 --> 00:36:40,030 en dit is wanneer die jeug versamel inligting 520 00:36:40,030 --> 00:36:44,980 soos plek, adres boek inligting, eienaar inligting 521 00:36:44,980 --> 00:36:48,000 en stuur dat die toestel af. 522 00:36:48,000 --> 00:36:53,050 En as dit is die toestel af, ons weet nie wat gebeur met daardie inligting. 523 00:36:53,050 --> 00:36:57,170 Dit kan nie beskerm word deur die program ontwikkelaar. 524 00:36:57,170 --> 00:37:02,070 Ons het gesien dat die aansoek ontwikkelaars te raak in die gedrang, 525 00:37:02,070 --> 00:37:05,820 en die data wat hulle kry stoor geneem. 526 00:37:05,820 --> 00:37:10,970 Dit het gebeur 'n paar maande gelede aan 'n ontwikkelaar in Florida 527 00:37:10,970 --> 00:37:21,660 waar 'n groot aantal nie-dit was iPad UUIDs en toestel name 528 00:37:21,660 --> 00:37:25,270 uitgelek omdat iemand, ek dink dit is anoniem, 529 00:37:25,270 --> 00:37:29,460 beweer om dit te doen, het in hierdie ontwikkelaar se servers 530 00:37:29,460 --> 00:37:34,920 en miljoene iPad UUIDs gesteel 531 00:37:34,920 --> 00:37:37,390 en rekenaar name. 532 00:37:37,390 --> 00:37:40,260 Nie die mees riskante inligting 533 00:37:40,260 --> 00:37:46,820 Maar wat as dit was die berging van gebruikers name en wagwoorde 534 00:37:46,820 --> 00:37:48,170 en die huis adresse? 535 00:37:48,170 --> 00:37:51,100 Daar is baie van die programme wat slaan dat die soort van inligting. 536 00:37:51,100 --> 00:37:53,230 Die risiko is daar. 537 00:37:53,230 --> 00:37:56,620 >> Die ander ding wat kan gebeur, is as die ontwikkelaar nie sorg 538 00:37:56,620 --> 00:38:01,370 die data-kanaal te verseker, en dit is nog 'n groot kwesbaarheid ek gaan om te praat oor, 539 00:38:01,370 --> 00:38:05,160 dat data gestuur word in die helder. 540 00:38:05,160 --> 00:38:09,040 As die gebruiker is op 'n openbare Wi-Fi netwerk 541 00:38:09,040 --> 00:38:12,330 of iemand snuif die internet iewers 542 00:38:12,330 --> 00:38:19,260 langs die pad wat data blootgestel word. 543 00:38:19,260 --> 00:38:23,790 Een baie bekende geval van hierdie inligting lekkasie gebeur met Pandora, 544 00:38:23,790 --> 00:38:27,250 en dit is iets wat ons nagevors by Veracode. 545 00:38:27,250 --> 00:38:33,200 Ons het gehoor dat daar 'n-ek dink dit was 'n Federal Trade Commission 546 00:38:33,200 --> 00:38:35,310 ondersoek aan die gang met Pandora. 547 00:38:35,310 --> 00:38:39,830 Ons het gesê, "Wat gaan daar aan? Kom ons begin grawe in die Pandora aansoek." 548 00:38:39,830 --> 00:38:46,690 En wat ons bepaal was die Pandora aansoek ingesamel 549 00:38:46,690 --> 00:38:51,270 jou geslag en ouderdom, 550 00:38:51,270 --> 00:38:56,660 en dit het ook toegang tot jou GPS-plek, en die Pandora aansoek 551 00:38:56,660 --> 00:39:00,200 het dit vir wat hulle gesê het, was geldige redes. 552 00:39:00,200 --> 00:39:05,360 Die musiek wat hulle speel-Pandora is 'n musiek streaming app- 553 00:39:05,360 --> 00:39:07,530 die musiek wat hulle gespeel het slegs gelisensieer in die Verenigde State van Amerika, 554 00:39:07,530 --> 00:39:13,020 sodat hulle het om te kyk om te voldoen aan hul lisensie-ooreenkomste wat hulle moes 555 00:39:13,020 --> 00:39:17,240 vir die musiek wat die gebruiker in die Verenigde State. 556 00:39:17,240 --> 00:39:25,070 Hulle wou ook om te voldoen aan die ouers adviserende 557 00:39:25,070 --> 00:39:33,790 om volwasse taal in musiek, 558 00:39:33,790 --> 00:39:37,500 en dus is dit 'n vrywillige program, maar hulle wou om te voldoen aan wat 559 00:39:37,500 --> 00:39:43,010 en nie eksplisiete lirieke speel kinders 13 en onder. 560 00:39:43,010 --> 00:39:46,280 >> Hulle het geldige redes vir die insameling van hierdie inligting. 561 00:39:46,280 --> 00:39:49,160 Hul program het die regte om dit te doen. 562 00:39:49,160 --> 00:39:52,000 Gebruikers het gedink dit was reg. Maar wat gebeur? 563 00:39:52,000 --> 00:39:55,810 Hulle gekoppel in 3 of 4 verskillende advertensie biblioteke. 564 00:39:55,810 --> 00:39:59,140 Nou het al van 'n skielike al hierdie advertensie biblioteke 565 00:39:59,140 --> 00:40:02,970 kry toegang tot dieselfde inligting. 566 00:40:02,970 --> 00:40:05,830 Die advertensie biblioteke, as jy kyk na die kode in die advertensie biblioteke 567 00:40:05,830 --> 00:40:08,430 wat hulle doen, is om elke advertensie biblioteek sê 568 00:40:08,430 --> 00:40:11,340 "Maak my jeug het toestemming GPS-plek te kry?" 569 00:40:11,340 --> 00:40:14,890 "Ag, dit maak? Goed, vertel my die GPS-plek." 570 00:40:14,890 --> 00:40:16,620 Elke enkele advertensie biblioteek dit doen, 571 00:40:16,620 --> 00:40:19,740 en as die inligting nie GPS toestemming 572 00:40:19,740 --> 00:40:23,460 dit sal nie in staat wees om dit te kry, maar as dit gebeur, sal dit dit kry. 573 00:40:23,460 --> 00:40:26,240 Dit is waar die besigheid model van die advertensie biblioteke 574 00:40:26,240 --> 00:40:31,160 is gekant teen die privaatheid van die gebruiker. 575 00:40:31,160 --> 00:40:34,980 En daar is studies daar buite wat sal sê as jy weet die ouderdom 576 00:40:34,980 --> 00:40:38,430 van 'n persoon en jy weet hul plek 577 00:40:38,430 --> 00:40:42,530 waar hulle slaap in die nag, want jy het hul GPS koördinate 578 00:40:42,530 --> 00:40:46,030 terwyl hulle dalk aan die slaap, jy weet presies wie die persoon is 579 00:40:46,030 --> 00:40:50,230 want jy kan bepaal watter lid van die huishouding is daardie persoon. 580 00:40:50,230 --> 00:40:54,780 Regtig dit is die identifisering vir adverteerders 581 00:40:54,780 --> 00:40:59,530 presies wie jy is, en dit lyk soos dit was wettig. 582 00:40:59,530 --> 00:41:02,800 Ek wil net my streaming musiek, en dit is die enigste manier om dit te kry. 583 00:41:02,800 --> 00:41:05,370 >> Wel, ons blootgestel nie. 584 00:41:05,370 --> 00:41:08,030 Ons het hierdie in 'n paar blog boodskappe, 585 00:41:08,030 --> 00:41:13,280 en dit blyk dat iemand van Rolling Stone tydskrif 586 00:41:13,280 --> 00:41:18,810 lees een van ons blog en skryf hul eie blog in Rolling Stone oor dit, 587 00:41:18,810 --> 00:41:22,120 en die volgende dag Pandora het gedink dit was 'n goeie idee 588 00:41:22,120 --> 00:41:27,600 die advertensie biblioteke van hul aansoek te verwyder. 589 00:41:27,600 --> 00:41:31,270 Sover ek weet hulle is die enigste nie-hulle geprys moet word. 590 00:41:31,270 --> 00:41:35,770 Ek dink hulle is die enigste freemium tipe artikels wat dit gedoen het nie. 591 00:41:35,770 --> 00:41:38,660 Al die ander freemium programme het dieselfde gedrag, 592 00:41:38,660 --> 00:41:41,780 sodat jy het om te dink oor watter soort data wat jy gee 593 00:41:41,780 --> 00:41:48,330 hierdie freemium aansoeke, want dit is al wat gaan vir adverteerders. 594 00:41:48,330 --> 00:41:53,390 Praetorian het ook 'n studie oor die gedeelde biblioteke en gesê: 595 00:41:53,390 --> 00:41:57,100 "Kom ons kyk wat gedeel biblioteke die top gedeel biblioteke," en dit was die data. 596 00:41:57,100 --> 00:41:59,420 >> Hulle ontleed 53000 apps, 597 00:41:59,420 --> 00:42:01,900 en die nommer 1 van gedeelde biblioteek was Admob. 598 00:42:01,900 --> 00:42:06,060 Dit was eintlik in 38% van die aansoeke wat daar is, 599 00:42:06,060 --> 00:42:08,800 so 38% van die aansoeke wat jy gebruik 600 00:42:08,800 --> 00:42:11,250 is waarskynlik die oes van jou persoonlike inligting 601 00:42:11,250 --> 00:42:16,650 en stuur dit na die advertensie netwerke. 602 00:42:16,650 --> 00:42:19,350 Apache en Android was 8% en 6%, 603 00:42:19,350 --> 00:42:22,960 en dan die ander kinders af aan die onderkant, Google-advertensies, gejaagd, 604 00:42:22,960 --> 00:42:26,600 Mob City en Millennium Media, 605 00:42:26,600 --> 00:42:30,500 dit is al ad maatskappye, en dan, interessant genoeg, 606 00:42:30,500 --> 00:42:33,500 4% gekoppel in die Facebook-biblioteek 607 00:42:33,500 --> 00:42:38,870 waarskynlik verifikasie te doen deur middel van Facebook 608 00:42:38,870 --> 00:42:40,810 sodat die jeug kan kontroleer die Facebook. 609 00:42:40,810 --> 00:42:44,660 Maar dit beteken ook dat die korporasie Facebook beheer kode 610 00:42:44,660 --> 00:42:49,010 wat hardloop in 4% van die Android mobiele apps daar buite, 611 00:42:49,010 --> 00:42:53,490 en hulle het toegang tot al die data dat inligting het om toestemming te kry by. 612 00:42:53,490 --> 00:42:57,170 Facebook probeer wese advertensie spasie te verkoop. 613 00:42:57,170 --> 00:43:00,120 Dit is hul sake-model. 614 00:43:00,120 --> 00:43:02,920 >> As jy kyk na hierdie hele ekosisteem met hierdie regte 615 00:43:02,920 --> 00:43:07,740 en gedeelde biblioteke jy begin om te sien dat 616 00:43:07,740 --> 00:43:13,850 jy het 'n baie risiko in 'n sogenaamde wettige aansoek. 617 00:43:13,850 --> 00:43:19,360 Dieselfde soortgelyke ding wat gebeur het met Pandora 618 00:43:19,360 --> 00:43:22,340 gebeur met 'n aansoek genoem pad, 619 00:43:22,340 --> 00:43:27,660 en Pad gedink hulle was nuttig, vriendelike ontwikkelaars. 620 00:43:27,660 --> 00:43:32,160 Hulle is net probeer om te gee jy 'n groot gebruikers ervaring, 621 00:43:32,160 --> 00:43:37,810 en dit blyk dat sonder om te vra die gebruiker of die vertel van die gebruiker enigiets- 622 00:43:37,810 --> 00:43:40,400 en dit gebeur op die iPhone en Android, 623 00:43:40,400 --> 00:43:44,420 die Pandora app op iPhone en Android- 624 00:43:44,420 --> 00:43:48,890 dat die pad aansoek gryp jou hele adresboek 625 00:43:48,890 --> 00:43:52,830 en dit oplaai na pad net wanneer jy geïnstalleer en hardloop die aansoek, 626 00:43:52,830 --> 00:43:55,840 en hulle het nie vertel oor hierdie. 627 00:43:55,840 --> 00:43:58,750 Hulle het gedink dit was regtig nuttig vir jou 628 00:43:58,750 --> 00:44:04,040 in staat wees om met al die mense in jou adresboek om te deel 629 00:44:04,040 --> 00:44:06,920 dat jy met behulp van die pad aansoek. 630 00:44:06,920 --> 00:44:09,490 >> Wel, natuurlik pad het gedink dit was 'n groot vir die maatskappy. 631 00:44:09,490 --> 00:44:13,510 Nie so groot aan die gebruiker. 632 00:44:13,510 --> 00:44:19,020 Jy het om te dink dat dit is een ding as miskien 'n tiener 633 00:44:19,020 --> 00:44:23,700 die gebruik van hierdie aansoek en hul dosyne vriende is daar, 634 00:44:23,700 --> 00:44:29,360 Maar wat as dit is die hoof uitvoerende beampte van 'n maatskappy wat Pad installeer 635 00:44:29,360 --> 00:44:33,170 en dan is almal van 'n skielike hulle hele adres boek is daar? 636 00:44:33,170 --> 00:44:38,310 Jy gaan 'n baie potensieel waardevolle kontak inligting te kry 637 00:44:38,310 --> 00:44:40,920 vir 'n klomp mense. 638 00:44:40,920 --> 00:44:44,500 'N verslaggewer van die New York Times, kan jy in staat wees om die telefoon nommer te kry 639 00:44:44,500 --> 00:44:47,380 vir oud-presidente van hul adres boek, 640 00:44:47,380 --> 00:44:54,780 so natuurlik 'n baie sensitiewe inligting word oorgedra met iets soos hierdie. 641 00:44:54,780 --> 00:44:58,090 Daar was so 'n groot flap oor hierdie dat die pad om verskoning gevra. 642 00:44:58,090 --> 00:45:01,610 Hulle het hul jeug, en dit het selfs 'n impak Apple. 643 00:45:01,610 --> 00:45:06,950 Apple het gesê: "Ons gaan inligting verskaffers te dwing om gebruikers te vinnig 644 00:45:06,950 --> 00:45:12,650 As hulle gaan hul hele adresboek in te samel. " 645 00:45:12,650 --> 00:45:15,360 >> Dit lyk soos wat hier gebeur is 646 00:45:15,360 --> 00:45:19,430 wanneer daar 'n groot privaatheid skending en dit maak die pers 647 00:45:19,430 --> 00:45:21,680 sien ons 'n verandering wat daar is. 648 00:45:21,680 --> 00:45:23,230 Maar natuurlik, daar is ander dinge wat daar is. 649 00:45:23,230 --> 00:45:27,440 Die LinkedIn aansoek oes jou kalender inskrywings, 650 00:45:27,440 --> 00:45:34,530 maar Apple maak nie die gebruiker gevra word oor wat. 651 00:45:34,530 --> 00:45:38,030 Kalender inskrywings kan sensitiewe inligting in hulle te maak. 652 00:45:38,030 --> 00:45:40,000 Waar gaan jy die lyn te trek? 653 00:45:40,000 --> 00:45:43,960 Dit is regtig soort van 'n ontwikkelende plek 654 00:45:43,960 --> 00:45:47,640 waar daar is regtig nie 'n goeie standaard daar buite 655 00:45:47,640 --> 00:45:51,990 vir die gebruikers te verstaan ​​wanneer hulle inligting gaan wees op die risiko 656 00:45:51,990 --> 00:45:57,820 en toe hulle gaan om te weet dit is wat geneem word. 657 00:45:57,820 --> 00:46:03,040 Ons het 'n app op Veracode genoem Adios, 658 00:46:03,040 --> 00:46:08,350 en in wese is dit toegelaat dat jy die jeug om te wys op jou iTunes gids 659 00:46:08,350 --> 00:46:12,550 en kyk na al die aansoeke wat die oes van jou volledige adres boek. 660 00:46:12,550 --> 00:46:19,760 En soos jy kan sien op die lys hier, kwaad voëls, 661 00:46:19,760 --> 00:46:21,590 AIM, AroundMe. 662 00:46:21,590 --> 00:46:24,050 Hoekom is kwaad voëls nodig het om jou adres boek? 663 00:46:24,050 --> 00:46:29,160 Ek weet nie, maar dit een of ander manier. 664 00:46:29,160 --> 00:46:32,310 >> Dit is iets wat baie, baie aansoeke doen. 665 00:46:32,310 --> 00:46:34,780 Jy kan die kode inspekteer vir hierdie. 666 00:46:34,780 --> 00:46:38,660 Daar is goed gedefinieer API vir iPhone, Android en BlackBerry 667 00:46:38,660 --> 00:46:42,120 te kry by die adres boek. 668 00:46:42,120 --> 00:46:48,520 Jy kan regtig maklik inspekteer vir hierdie, en dit is wat ons gedoen het in ons Adios aansoek. 669 00:46:48,520 --> 00:46:52,320 Die volgende kategorie, onveilige sensitiewe data stoor, 670 00:46:52,320 --> 00:46:55,670 is iets waar ontwikkelaars neem iets soos 'n pen of 'n rekening nommer 671 00:46:55,670 --> 00:46:58,530 of 'n wagwoord en stoor dit in die helder op die toestel. 672 00:46:58,530 --> 00:47:02,310 Erger nog, hulle kan dit in 'n gebied stoor op die telefoon 673 00:47:02,310 --> 00:47:06,820 wat is wêreldwyd toeganklik is, soos die SD kaart. 674 00:47:06,820 --> 00:47:11,320 Jy sien dit meer dikwels op Android omdat Android maak voorsiening vir 'n SD kaart. 675 00:47:11,320 --> 00:47:13,200 IPhone toestelle nie. 676 00:47:13,200 --> 00:47:17,900 Maar ons het dit selfs gebeur in 'n CitiGroup aansoek. 677 00:47:17,900 --> 00:47:25,450 Hulle aanlyn bank aansoek gestoor die rekening nommers onveilig, 678 00:47:25,450 --> 00:47:28,120 net in die helder, so as jy jou toestel verloor, 679 00:47:28,120 --> 00:47:30,670 wese jy verloor jou bankrekening. 680 00:47:30,670 --> 00:47:36,000 Dit is waarom ek persoonlik nie doen nie bank op my iPhone. 681 00:47:36,000 --> 00:47:43,710 Ek dink dit is te riskant nou hierdie soort van aktiwiteite te doen. 682 00:47:43,710 --> 00:47:45,950 >> Skype het dieselfde ding. 683 00:47:45,950 --> 00:47:49,870 Skype, natuurlik, het 'n rekening balans, 'n gebruiker naam en wagwoord 684 00:47:49,870 --> 00:47:51,030 dat toegang wat balans. 685 00:47:51,030 --> 00:48:00,080 Hulle is die stoor van al die inligting in die helder op die mobiele toestel. 686 00:48:00,080 --> 00:48:05,760 Ek het 'n paar voorbeelde hier van die skep van lêers 687 00:48:05,760 --> 00:48:10,310 wat nie oor die nodige regte of skryf aan skyf 688 00:48:10,310 --> 00:48:17,260 en nie enige enkripsie gebeur vir daardie. 689 00:48:17,260 --> 00:48:20,190 Hierdie volgende gebied, onveilige sensitiewe data-oordrag, 690 00:48:20,190 --> 00:48:24,450 Ek het verwys na 'n paar keer, en as gevolg van openbare Wi-Fi 691 00:48:24,450 --> 00:48:27,770 dit is iets wat apps absoluut nodig het om te doen nie, 692 00:48:27,770 --> 00:48:31,250 en dit is waarskynlik wat ons sien verkeerd gaan die meeste. 693 00:48:31,250 --> 00:48:34,920 Ek sou sê-eintlik, ek dink ek het die werklike data, 694 00:48:34,920 --> 00:48:38,120 maar dit is naby aan die helfte van die mobiele programme 695 00:48:38,120 --> 00:48:41,780 skroef doen SSL. 696 00:48:41,780 --> 00:48:43,910 Hulle het net nie die APIs korrek te gebruik nie. 697 00:48:43,910 --> 00:48:47,970 Ek bedoel, al wat jy het om te doen is soos volg die instruksies en gebruik die API's, 698 00:48:47,970 --> 00:48:54,720 maar hulle het nie dinge soos nie te kyk of daar 'n ongeldige sertifikaat aan die ander kant, 699 00:48:54,720 --> 00:49:02,120 nie seker of die ander kant is probeer om 'n protokol te skaal aanval te doen. 700 00:49:02,120 --> 00:49:07,200 >> Die ontwikkelaars, hulle wil hulle boks te kry, reg? 701 00:49:07,200 --> 00:49:11,910 Hul vereiste is om dit te gebruik om te verkoop. Hulle het gebruik om dit te verkoop. 702 00:49:11,910 --> 00:49:14,800 Die vereiste is nie om dit te gebruik om veilig te verkoop, 703 00:49:14,800 --> 00:49:19,680 en so dit is die rede waarom alle aansoeke wat gebruik SSL data te beveilig 704 00:49:19,680 --> 00:49:23,470 as dit is wat oorgedra uit die toestel werklik geïnspekteer moet word 705 00:49:23,470 --> 00:49:28,950 om seker te maak dat die korrek geïmplementeer maak. 706 00:49:28,950 --> 00:49:32,850 En hier het ek 'n paar voorbeelde waar jy kan 'n aansoek te sien 707 00:49:32,850 --> 00:49:37,400 kan gebruik word HTTP in plaas van HTTPS. 708 00:49:37,400 --> 00:49:40,510 In sommige gevalle is programme sal val terug na HTTP 709 00:49:40,510 --> 00:49:44,250 As die HTTPS is nie werk nie. 710 00:49:44,250 --> 00:49:49,070 Ek het nog 'n oproep hier op Android waar hulle die sertifikaat tjek het afgeskakel, 711 00:49:49,070 --> 00:49:51,700 so 'n man-in-die-middel aanval kan gebeur. 712 00:49:51,700 --> 00:49:56,370 'N ongeldige sertifikaat sal aanvaar word nie. 713 00:49:56,370 --> 00:50:01,920 Dit is al die gevalle waar die aanvallers gaan in staat wees om te kry op 714 00:50:01,920 --> 00:50:07,150 dieselfde Wi-Fi-verbinding as die gebruiker en toegang tot al die data 715 00:50:07,150 --> 00:50:11,650 dit is wat gestuur word oor die internet. 716 00:50:11,650 --> 00:50:15,970 >> En uiteindelik, die laaste kategorie Ek het hier is gekodeer wagwoord en sleutels. 717 00:50:15,970 --> 00:50:21,470 Ons het eintlik sien 'n baie ontwikkelaars gebruik dieselfde kodering styl 718 00:50:21,470 --> 00:50:25,900 wat hulle gedoen het toe hulle die bou van web bediener aansoeke, 719 00:50:25,900 --> 00:50:29,700 sodat hulle die bou van 'n Java-bediener aansoek, en hulle het die sleutel is hardcoding. 720 00:50:29,700 --> 00:50:31,940 Wel, as jy 'n program te bou, ja, 721 00:50:31,940 --> 00:50:34,240 hardcoding die sleutel is nie 'n goeie idee. 722 00:50:34,240 --> 00:50:36,290 Dit maak dit moeilik om te verander. 723 00:50:36,290 --> 00:50:40,700 Maar dit is nie so erg op die bediener kant, want wat toegang tot die bediener kant het? 724 00:50:40,700 --> 00:50:43,140 Slegs die administrateurs. 725 00:50:43,140 --> 00:50:48,100 Maar as jy dieselfde kode is en jy gooi dit oor na 'n mobiele aansoek 726 00:50:48,100 --> 00:50:52,550 Nou almal wat daardie mobiele program het toegang tot daardie gekodeer sleutel, 727 00:50:52,550 --> 00:50:56,380 en ons eintlik sien hierdie 'n baie keer, en ek het 'n paar statistieke 728 00:50:56,380 --> 00:51:00,920 van hoe dikwels sien ons dit gebeur nie. 729 00:51:00,920 --> 00:51:04,940 Dit was eintlik in voorbeeld kode wat MasterCard gepubliseer 730 00:51:04,940 --> 00:51:06,850 oor hoe om hulle te gebruik nie. 731 00:51:06,850 --> 00:51:11,860 Die voorbeeld kode gewys hoe jy net die wagwoord sal neem 732 00:51:11,860 --> 00:51:14,850 en sit dit in 'n gekodeer string net daar, 733 00:51:14,850 --> 00:51:19,380 en ons weet hoe ontwikkelaars lief stukkies kode te kopieer en plak 734 00:51:19,380 --> 00:51:22,360 wanneer hulle probeer om iets te doen, sodat jy kopieer en plak die kode uit 735 00:51:22,360 --> 00:51:28,450 dat hulle gegee het as 'n voorbeeld kode, en jy het 'n onveilige aansoek. 736 00:51:28,450 --> 00:51:31,490 >> En hier het ons 'n paar voorbeelde. 737 00:51:31,490 --> 00:51:35,840 Die eerste een is die een wat ons sien 'n baie waar hulle hardcode 738 00:51:35,840 --> 00:51:40,510 die data reg in 'n URL wat gestuur kry. 739 00:51:40,510 --> 00:51:45,120 Soms sien ons string wagwoord = die wagwoord. 740 00:51:45,120 --> 00:51:49,060 Dit is redelik maklik om op te spoor, of string wagwoord op BlackBerry en Android. 741 00:51:49,060 --> 00:51:53,680 Dit is eintlik redelik maklik om te kyk vir nie omdat byna altyd 742 00:51:53,680 --> 00:51:57,030 die ontwikkelaar name die veranderlike wat is die hou van die wagwoord 743 00:51:57,030 --> 00:52:02,290 'n variasie van die wagwoord. 744 00:52:02,290 --> 00:52:05,200 Ek het genoem dat ons doen statiese analise op Veracode, 745 00:52:05,200 --> 00:52:11,790 so ons het 'n paar honderd ontleed Android en IOS aansoeke. 746 00:52:11,790 --> 00:52:15,160 Ons het volle modelle van hulle gebou het, en ons is in staat om hulle te scan 747 00:52:15,160 --> 00:52:19,280 vir verskillende probleme, veral die probleme wat ek praat, 748 00:52:19,280 --> 00:52:21,050 en ek het 'n paar data hier. 749 00:52:21,050 --> 00:52:24,320 68,5% van die Android-programme het ons gekyk na 750 00:52:24,320 --> 00:52:28,590 het kriptografiese kode gebreek, 751 00:52:28,590 --> 00:52:33,240 wat vir ons is, kan ons nie vra as jy jou eie crypto roetine, 752 00:52:33,240 --> 00:52:38,980 Nie dat dit 'n goeie idee, maar dit is eintlik die gebruik van die gepubliseerde APIs 753 00:52:38,980 --> 00:52:42,530 wat op die platform, maar hulle doen dit op so 'n manier 754 00:52:42,530 --> 00:52:46,680 dat die crypto kwesbaar sou wees, 68.5. 755 00:52:46,680 --> 00:52:49,870 En dit is vir mense wat die stuur van hul aansoeke eintlik omdat 756 00:52:49,870 --> 00:52:53,730 hulle dink dis 'n goeie idee om veiligheid toets te doen. 757 00:52:53,730 --> 00:52:56,960 Dit is reeds mense wat waarskynlik veilig te dink, 758 00:52:56,960 --> 00:52:59,540 so dit is waarskynlik nog erger. 759 00:52:59,540 --> 00:53:02,690 >> Ek het nie gepraat oor die beheer lyn voer inspuiting. 760 00:53:02,690 --> 00:53:07,640 Dit is iets wat ons seker nie, maar dit is nie so riskant 'n probleem. 761 00:53:07,640 --> 00:53:15,390 Inligting lekkasie, dit is waar sensitiewe data wat gestuur word uit die toestel. 762 00:53:15,390 --> 00:53:19,270 Ons het gevind dat in 40% van die aansoeke. 763 00:53:19,270 --> 00:53:23,540 Tyd en die staat, dit is ras toestand tipe kwessies, tipies baie moeilik om te ontgin, 764 00:53:23,540 --> 00:53:26,170 so ek het nie daaroor praat, maar ons kyk na dit. 765 00:53:26,170 --> 00:53:28,750 23% het SQL-inspuiting kwessies. 766 00:53:28,750 --> 00:53:32,020 Baie mense weet nie dat baie van die aansoeke 767 00:53:32,020 --> 00:53:35,880 Gebruik 'n klein bietjie SQL databasis op hul rug einde data te stoor. 768 00:53:35,880 --> 00:53:40,430 Wel, as die data wat jy gryp oor die netwerk 769 00:53:40,430 --> 00:53:43,800 het SQL-inspuiting aanval snare in dit 770 00:53:43,800 --> 00:53:45,970 iemand kan die toestel in gevaar deur daardie, 771 00:53:45,970 --> 00:53:49,800 en so ek dink ons ​​kry sowat 40% van die web programme het hierdie probleem, 772 00:53:49,800 --> 00:53:52,840 wat is 'n groot epidemie probleem. 773 00:53:52,840 --> 00:53:55,740 Ons vind dit 23% van die tyd in mobiele programme 774 00:53:55,740 --> 00:54:02,030 en dit is waarskynlik omdat baie meer web programme gebruik SQL as selfoon. 775 00:54:02,030 --> 00:54:05,580 >> En dan sien ons nog 'n paar kruis-site scripting, magtiging kwessies, 776 00:54:05,580 --> 00:54:09,400 en dan diploma bestuur, dit is waar jy jou gekodeer wagwoord. 777 00:54:09,400 --> 00:54:14,540 In 5% van die aansoeke sien ons dat. 778 00:54:14,540 --> 00:54:17,970 En dan het ons het 'n paar data op IOS. 779 00:54:17,970 --> 00:54:20,180 81% het fout hantering kwessies. 780 00:54:20,180 --> 00:54:23,130 Dit is meer van 'n kode kwaliteit probleem, 781 00:54:23,130 --> 00:54:28,010 maar 67% het kriptografiese kwessies, so nie heeltemal so erg soos Android. 782 00:54:28,010 --> 00:54:32,440 Miskien is die APIs is 'n bietjie makliker te maak, die voorbeeld kode 'n bietjie beter op IOS. 783 00:54:32,440 --> 00:54:35,420 Maar nog steeds 'n baie hoë persentasie. 784 00:54:35,420 --> 00:54:39,040 Ons het 54% van inligting lekkasie, 785 00:54:39,040 --> 00:54:42,080 ongeveer 30% met buffer bestuur foute. 786 00:54:42,080 --> 00:54:45,930 Dit is plekke waar daar potensieel 'n geheue korrupsie kwessie kan wees. 787 00:54:45,930 --> 00:54:50,350 Dit blyk dat dit is nie so veel van 'n probleem vir die uitbuiting 788 00:54:50,350 --> 00:54:56,450 op IOS, omdat al die kode moet onderteken word, 789 00:54:56,450 --> 00:55:02,210 so dit is moeilik vir 'n aanvaller arbitrêre kode uit te voer op IOS. 790 00:55:02,210 --> 00:55:07,880 Gehalte-kode, gids traversal, maar dan geloofsbriewe bestuur hier by 14,6%, 791 00:55:07,880 --> 00:55:09,250 so erger as op die Android. 792 00:55:09,250 --> 00:55:13,240 Ons het mense nie wagwoorde korrek hanteer word. 793 00:55:13,240 --> 00:55:15,790 En dan is die numeriese foute en buffer oorloop, 794 00:55:15,790 --> 00:55:22,680 diegene is meer gaan code kwaliteit kwessies op IOS te wees. 795 00:55:22,680 --> 00:55:26,110 >> Dit was dit vir my aanbieding. Ek weet nie of ons is uit van die tyd of nie. 796 00:55:26,110 --> 00:55:29,540 Ek weet nie of daar enige vrae. 797 00:55:29,540 --> 00:55:33,220 [Man] 'n vinnige vraag rondom die versnippering en die Android mark. 798 00:55:33,220 --> 00:55:36,240 Apple ten minste besit lap. 799 00:55:36,240 --> 00:55:40,780 Hulle doen 'n goeie werk om dit daar buite, terwyl minder so in die Android ruimte. 800 00:55:40,780 --> 00:55:44,280 Jy moet byna jou selfoon te jailbreak te bly 801 00:55:44,280 --> 00:55:46,660 met die huidige weergawe van Android. 802 00:55:46,660 --> 00:55:50,960 Ja, dit is 'n groot probleem en so as jy dink oor- 803 00:55:50,960 --> 00:55:52,280 [Man] Hoekom kan jy dit nie herhaal? 804 00:55:52,280 --> 00:55:55,610 >> O, regs, so die vraag is wat oor die versnippering 805 00:55:55,610 --> 00:56:00,410 van die bedryfstelsel op die Android-platform? 806 00:56:00,410 --> 00:56:05,890 Hoe is dit invloed op die riskiness van dié toestelle? 807 00:56:05,890 --> 00:56:09,700 En dit is eintlik 'n groot probleem, want wat gebeur, is 808 00:56:09,700 --> 00:56:15,110 die ouer toestelle, wanneer iemand kom met 'n jailbreak vir daardie toestel, 809 00:56:15,110 --> 00:56:19,960 wese dis voorreg eskalasie, en tot op daardie bedryfstelsel is opgedateer 810 00:56:19,960 --> 00:56:25,350 enige malware kan dan gebruik om daardie kwesbaarheid heeltemal kompromie die toestel, 811 00:56:25,350 --> 00:56:30,200 en wat ons sien op die Android is om 'n nuwe bedryfstelsel te kry 812 00:56:30,200 --> 00:56:34,690 Google het om uit te sit die bedryfstelsel, en dan die hardeware vervaardiger 813 00:56:34,690 --> 00:56:39,390 het dit aan te pas, en dan is die draer het dit aan te pas en dit lewer. 814 00:56:39,390 --> 00:56:43,070 Jy het basies 3 bewegende dele hier, 815 00:56:43,070 --> 00:56:47,210 en dit draai uit dat die draers gee nie om nie, 816 00:56:47,210 --> 00:56:50,400 en die hardeware vervaardigers gee nie om nie, en Google is nie genoeg oefen om hulle 817 00:56:50,400 --> 00:56:54,430 om iets te doen, so in wese meer as die helfte van die toestelle daar buite 818 00:56:54,430 --> 00:57:00,590 'bedryfstelsels wat hierdie voorreg eskalasie kwesbaarheid in hulle 819 00:57:00,590 --> 00:57:08,440 En so, as jy malware op jou Android-toestel dit is veel meer van 'n probleem. 820 00:57:08,440 --> 00:57:10,350 >> Goed, baie dankie. 821 00:57:10,350 --> 00:57:12,310 [Applous] 822 00:57:12,310 --> 00:57:14,310 [CS50.TV]