1 00:00:00,000 --> 00:00:02,610 >> [Семинар] [одбрана зад уред: Мобилна апликација за безбедност] 2 00:00:02,610 --> 00:00:04,380 [Крис Wysopal] [Универзитетот Харвард] 3 00:00:04,380 --> 00:00:07,830 [Ова е CS50.] [CS50.TV] 4 00:00:07,830 --> 00:00:10,360 >> Добар ден. Моето име е Крис Wysopal. 5 00:00:10,360 --> 00:00:13,360 Јас сум CTO и ко-основач на Veracode. 6 00:00:13,360 --> 00:00:15,880 Veracode е апликација компанија за безбедност. 7 00:00:15,880 --> 00:00:18,230 Ние тестираат сите видови на различни апликации, 8 00:00:18,230 --> 00:00:25,060 и она што јас ќе одам да се зборува за денес е мобилна апликација за безбедност. 9 00:00:25,060 --> 00:00:28,630 Мојата позадина е Сум бил прават безбедносни истражувања 10 00:00:28,630 --> 00:00:31,970 за многу долго време, веројатно е за онолку долго колку што никого. 11 00:00:31,970 --> 00:00:35,000 Почнав во средината на 90-тите години, 12 00:00:35,000 --> 00:00:37,370 и тоа беше едно време, што беше прилично интересен бидејќи 13 00:00:37,370 --> 00:00:39,220 имавме парадигма промена во средината на 90-тите години. 14 00:00:39,220 --> 00:00:43,520 Сите компјутерски одеднаш сите се уредила на интернет, 15 00:00:43,520 --> 00:00:46,550 а потоа моравме почетоците на веб апликации, 16 00:00:46,550 --> 00:00:49,330 и тоа е она што јас се фокусираше на многу тогаш. 17 00:00:49,330 --> 00:00:51,160 Тоа е интересно. 18 00:00:51,160 --> 00:00:53,930 Сега имаме уште една промена парадигма случува со компјутери, 19 00:00:53,930 --> 00:00:58,710 што е промената на мобилни апликации. 20 00:00:58,710 --> 00:01:03,680 >> Сметам дека тоа е еден вид на слични време, тогаш тоа е во доцните 90-ти 21 00:01:03,680 --> 00:01:07,650 кога бевме истражување на веб апликации и наоѓање на дефекти како 22 00:01:07,650 --> 00:01:11,800 сесија за управување со грешки и SQL инјекција 23 00:01:11,800 --> 00:01:14,940 кои, навистина, не постоел претходно и одеднаш тие беа насекаде 24 00:01:14,940 --> 00:01:19,360 во веб апликации, и сега многу од времето го минувам 25 00:01:19,360 --> 00:01:27,950 е во потрага на мобилни апликации и гледа во она што се случува таму во дивината. 26 00:01:27,950 --> 00:01:32,060 Мобилни апликации се навистина се случува да биде доминантен компјутерска платформа, 27 00:01:32,060 --> 00:01:35,060 па ние навистина треба да се трошат многу време ако сте во безбедносната индустрија 28 00:01:35,060 --> 00:01:39,280 фокусирајќи се на веб апликации. 29 00:01:39,280 --> 00:01:43,420 Има 29 милијарди мобилни апликации симнати во 2011 година. 30 00:01:43,420 --> 00:01:47,920 Тоа е предвидено дека ќе биде 76 милијарди апликации од 2014 година. 31 00:01:47,920 --> 00:01:54,040 Има 686 милиони уреди кои се случува да се купи оваа година, 32 00:01:54,040 --> 00:01:57,060 па ова е местото каде што луѓето се случува да се прави 33 00:01:57,060 --> 00:01:59,600  поголемиот дел од нивниот клиент компјутерите оди напред. 34 00:01:59,600 --> 00:02:04,220 >> Јас разговарав со потпретседател на Фиделити инвестиции 35 00:02:04,220 --> 00:02:08,780 Пред неколку месеци, а тој рече дека тие само видов повеќе сообраќај 36 00:02:08,780 --> 00:02:12,610 прави финансиски трансакции од нивниот клиент база 37 00:02:12,610 --> 00:02:16,230 на нивните мобилни апликации отколку на нивниот веб-сајт, 38 00:02:16,230 --> 00:02:20,610 па општа употреба за Веб во минатото беше 39 00:02:20,610 --> 00:02:23,800 проверка на вашата берзанските, управување со вашето портфолио, 40 00:02:23,800 --> 00:02:28,060 и ние сме всушност гледаат дека во 2012 година префрлиме 41 00:02:28,060 --> 00:02:30,960 да биде подоминантен на мобилна платформа. 42 00:02:30,960 --> 00:02:34,530 Секако, ако има ќе биде кој било криминални активности, 43 00:02:34,530 --> 00:02:38,900 било малициозни активности, тоа се случува да се започне да се фокусира на мобилна платформа 44 00:02:38,900 --> 00:02:44,210 со текот на времето како луѓе да ги префрлиме на тоа. 45 00:02:44,210 --> 00:02:48,320 Ако се погледне на мобилна платформа, 46 00:02:48,320 --> 00:02:54,380 да се погледне на ризици на платформа тоа е корисно да го срушат во различни слоеви, 47 00:02:54,380 --> 00:02:59,010 исто како тебе би го направил тоа на десктоп компјутер, 48 00:02:59,010 --> 00:03:02,860 и мислите за различни слоеви, софтвер, оперативен систем, 49 00:03:02,860 --> 00:03:07,730 мрежниот слој, хардвер слој, и, се разбира, има слабости на сите оние слоеви. 50 00:03:07,730 --> 00:03:10,510 >> Истото се случува на мобилен телефон. 51 00:03:10,510 --> 00:03:14,880 Но, мобилни, се чини дека некои од оние слоеви се во полоша ситуација. 52 00:03:14,880 --> 00:03:19,840 За еден, на мрежниот слој е попроблематична на мобилен 53 00:03:19,840 --> 00:03:25,650 затоа што многу луѓе го имаат во нивната канцеларија или дома 54 00:03:25,650 --> 00:03:30,780 жичен врски или имаат безбедна Wi-Fi конекции, 55 00:03:30,780 --> 00:03:36,530 и со многу мобилни уреди ти си очигледно надвор од дома 56 00:03:36,530 --> 00:03:40,520 или надвор од канцеларија многу, и ако сте со користење на Wi-Fi постои 57 00:03:40,520 --> 00:03:42,820 можеби ќе биде со користење на небезбедна Wi-Fi конекција, 58 00:03:42,820 --> 00:03:45,570 нешто што е јавна Wi-Fi конекција, 59 00:03:45,570 --> 00:03:48,840 па кога ќе се размислува за мобилни апликации ние мора да се земе во предвид 60 00:03:48,840 --> 00:03:53,770 дека мрежата на животната средина е поризични за оние апликации 61 00:03:53,770 --> 00:03:57,640 кога Wi-Fi се користи. 62 00:03:57,640 --> 00:04:02,410 И кога ќе се влезе во повеќе од мобилна апликација ризици 63 00:04:02,410 --> 00:04:04,910 ќе видите зошто тоа е повеќе важно. 64 00:04:04,910 --> 00:04:09,710 Постојат ризици на хардвер ниво на мобилни уреди. 65 00:04:09,710 --> 00:04:11,670 Ова е област на тековните истражувања. 66 00:04:11,670 --> 00:04:15,910 Луѓето го нарекуваат овие широкопојасен интернет напади или baseband-напади 67 00:04:15,910 --> 00:04:21,870 каде што сте напаѓање на firmware-от дека е слушање на радио. 68 00:04:21,870 --> 00:04:25,430 >> Овие се навистина страшно напади, бидејќи 69 00:04:25,430 --> 00:04:27,280 корисникот не треба да правите ништо. 70 00:04:27,280 --> 00:04:30,760 Може да се погоди многу уреди во рамките на RF спектар 71 00:04:30,760 --> 00:04:36,690 одеднаш, и ми се чини дека секогаш кога ова истражување меури 72 00:04:36,690 --> 00:04:40,750 таа брзо добива доверливи кога 73 00:04:40,750 --> 00:04:46,600 луѓе пикирам околу и да каже: "Еве, да ни кажете за тоа, и ве молиме да престане да зборува за тоа." 74 00:04:46,600 --> 00:04:49,460 Има некои истражувања се случува во широкопојасниот интернет област, 75 00:04:49,460 --> 00:04:51,980 но се чини дека да се биде многу молкот молкот. 76 00:04:51,980 --> 00:04:56,910 Мислам дека тоа е повеќе од национална држава тип на истражување што се случува. 77 00:04:56,910 --> 00:05:02,140 Површина на активно истражување, сепак, е оперативен систем слој, 78 00:05:02,140 --> 00:05:08,910 и повторно, ова е различно отколку во десктоп компјутери во светот 79 00:05:08,910 --> 00:05:14,840 бидејќи во мобилната простор имате овие тимови на луѓе наречена jailbreakers, 80 00:05:14,840 --> 00:05:18,670 и jailbreakers се различни од редовните ранливост истражувачите. 81 00:05:18,670 --> 00:05:21,970 Тие се обидуваат да се најде слабостите во оперативниот систем, 82 00:05:21,970 --> 00:05:27,000 но причината тие се обидуваат да се најде слабостите не е да се 83 00:05:27,000 --> 00:05:31,810 се скрши во машина на некој друг и компромис неа. 84 00:05:31,810 --> 00:05:34,280 Тоа е да се пробие во нивниот сопствен компјутер. 85 00:05:34,280 --> 00:05:38,820 >> Тие сакаат да се пробие во нивниот сопствен мобилен, менувате своите мобилни оперативен систем 86 00:05:38,820 --> 00:05:41,050 така што тие можат да ги стартува апликациите на нивниот избор 87 00:05:41,050 --> 00:05:44,510 и се променат работите со целосен административен дозволи, 88 00:05:44,510 --> 00:05:49,050 и тие не сакаат да им кажам на продавачот за тоа. 89 00:05:49,050 --> 00:05:52,960 Тие не се допаѓа безбедност истражувач кој е бела капа, безбедност истражувач 90 00:05:52,960 --> 00:05:56,600 која се случува да се направи одговорен откривање и кажете на продавачот за тоа. 91 00:05:56,600 --> 00:06:01,270 Тие сакаат да го направите ова истражување, и тие сакаат да всушност го објавувам 92 00:06:01,270 --> 00:06:06,400 во еден подвиг или rootkit или jailbreak-от код, 93 00:06:06,400 --> 00:06:10,010 и тие сакаат да го прават тоа стратешки, како веднаш по 94 00:06:10,010 --> 00:06:13,570 продавачот бродови на новиот оперативен систем. 95 00:06:13,570 --> 00:06:16,350 Имате овој спротивставениот однос 96 00:06:16,350 --> 00:06:19,000 со оперативен систем на ниво слабостите на мобилен, 97 00:06:19,000 --> 00:06:23,150 што мислам дека е доста интересно и едно место ние ја видите 98 00:06:23,150 --> 00:06:29,210 е тоа го прави така што постои добра објавена искористат кодот таму 99 00:06:29,210 --> 00:06:31,750 за кернелот ниво слабости, 100 00:06:31,750 --> 00:06:35,040 и видовме оние кои всушност се користи од страна на малициозен софтвер писатели. 101 00:06:35,040 --> 00:06:38,450 Тоа е малку различен од PC светот. 102 00:06:38,450 --> 00:06:42,530 А потоа на завршниот слој е на врвот слој, слој апликација. 103 00:06:42,530 --> 00:06:45,250 Тоа е она што јас ќе одам да се зборува за денес. 104 00:06:45,250 --> 00:06:48,970 >> На другите слоеви постојат, и другите слоеви игра во него, 105 00:06:48,970 --> 00:06:53,310 но јас сум претежно се случува да се зборува за она што се случува во примената слој 106 00:06:53,310 --> 00:06:55,560 каде кодот е вклучен во песокот. 107 00:06:55,560 --> 00:06:58,670 Тоа не мора административни привилегии. 108 00:06:58,670 --> 00:07:02,170 Таа треба да се користи API-јата на уредот, 109 00:07:02,170 --> 00:07:06,970 но сепак, многу од малициозни активност и многу на ризик може да се случи тој слој 110 00:07:06,970 --> 00:07:09,220 затоа што тоа е слој каде што сите информации е. 111 00:07:09,220 --> 00:07:12,330 Апликации може да пристапите до сите информации за уредот 112 00:07:12,330 --> 00:07:15,390 ако тие имаат право на дозволи, 113 00:07:15,390 --> 00:07:17,540 и тие може да пристапите до различни сензори на уредот, 114 00:07:17,540 --> 00:07:23,950 ГПС сензор, микрофон, камера, она што го имате. 115 00:07:23,950 --> 00:07:27,380 Иако ние сме само зборува за во примената слој 116 00:07:27,380 --> 00:07:33,700 имаме многу на ризик таму. 117 00:07:33,700 --> 00:07:38,450 Од друга работа што е различно за мобилни животната средина 118 00:07:38,450 --> 00:07:45,060 е сите играчи на оперативниот систем, било да е тоа BlackBerry или Андроид 119 00:07:45,060 --> 00:07:53,410 или iOS или Windows Mobile, сите тие имаат парична казна грануларен дозвола модел, 120 00:07:53,410 --> 00:07:56,990 и ова е еден од начините на кои тие се вградени во оперативниот систем 121 00:07:56,990 --> 00:08:01,230 идејата дека тоа не е како ризично како што мислите. 122 00:08:01,230 --> 00:08:04,550 Иако имаш сите ваши контакти таму, сите ваши лични информации, 123 00:08:04,550 --> 00:08:09,080 имате вашите фотографии, имате вашата локација таму, 124 00:08:09,080 --> 00:08:14,820 сте чување на вашата банкарска игла за автомацко најава за таму, тоа е безбедно, бидејќи 125 00:08:14,820 --> 00:08:19,430 апликации треба да имаат одредени дозволи за да се добие во некои делови 126 00:08:19,430 --> 00:08:25,080 на информации за уредот, и корисникот мора да бидат претставени со 127 00:08:25,080 --> 00:08:29,230 овие дозволи и да каже во ред. 128 00:08:29,230 --> 00:08:32,590 >> Проблемот со тоа е на корисникот секогаш вели во ред. 129 00:08:32,590 --> 00:08:35,240 Како безбедноста лице, знам дека може да го поттикне на корисникот, 130 00:08:35,240 --> 00:08:40,100 кажете нешто навистина лошо ќе се случи, дали сакате тоа да се случи? 131 00:08:40,100 --> 00:08:44,680 И ако тие се во брзање или има нешто навистина примамливата на другата страна на тоа, 132 00:08:44,680 --> 00:08:47,760 како игра се случува да биде инсталиран дека тие се чека, 133 00:08:47,760 --> 00:08:50,860 тие ќе кликнете во ред. 134 00:08:50,860 --> 00:08:56,630 Тоа е зошто велам на мојот слајд тука само да ме фрла птици во свињи веќе, 135 00:08:56,630 --> 00:09:03,150 и можете да видите на слајд тука има примери на BlackBerry дозвола кутија. 136 00:09:03,150 --> 00:09:05,990 Таа вели: "Ве молиме поставете на BlackBerry Патување апликација дозволи 137 00:09:05,990 --> 00:09:09,720 по кликнување на копчето подолу, "и во основа на корисникот е само случува да се каже 138 00:09:09,720 --> 00:09:12,240 поставите дозволи и спаси. 139 00:09:12,240 --> 00:09:18,010 Тука е Андроид брза каде што се покажува работи, 140 00:09:18,010 --> 00:09:20,260 а тоа всушност го става нешто што речиси изгледа како предупредување. 141 00:09:20,260 --> 00:09:25,090 Тоа доби еден вид на родот знак таму велејќи мрежа за комуникација, телефонски повик, 142 00:09:25,090 --> 00:09:28,120 но корисникот ќе кликнете инсталирате, нели? 143 00:09:28,120 --> 00:09:32,940 А потоа еден на Apple е целосно безвреден. 144 00:09:32,940 --> 00:09:34,300 Тоа не даде било каков вид на предупредување. 145 00:09:34,300 --> 00:09:37,380 Тоа е само на Apple би сакале да користите Вашата моментална локација. 146 00:09:37,380 --> 00:09:39,670 Се разбира дека си оди за да кликнете во ред. 147 00:09:39,670 --> 00:09:42,260 >> Постои оваа ситно-грануларен дозвола модел, 148 00:09:42,260 --> 00:09:45,890 и апликации мора да имаат манифестира датотека каде што тие се изјасни 149 00:09:45,890 --> 00:09:49,410 на дозволи што им треба, и дека ќе се прикажува на корисникот, 150 00:09:49,410 --> 00:09:53,480 и корисникот ќе мора да се каже дека одобрат овие дозволи. 151 00:09:53,480 --> 00:09:55,080 Но, ајде да бидеме искрени. 152 00:09:55,080 --> 00:09:58,400 Корисници се само случува да се каже секогаш во ред. 153 00:09:58,400 --> 00:10:04,460 Да го земеме еден брз поглед на тоа каква привилегија дека овие апликации се прашуваат за 154 00:10:04,460 --> 00:10:06,850 и некои од дозволите кои се таму. 155 00:10:06,850 --> 00:10:09,950 Оваа компанија Преторијанското направи истражувањето направено минатата година 156 00:10:09,950 --> 00:10:14,170 на 53.000 апликации анализирани во Андроид пазар и 3-ти пазари, 157 00:10:14,170 --> 00:10:16,770 па ова е за сите Андроид. 158 00:10:16,770 --> 00:10:19,670 А просечната стан бара 3 дозволи. 159 00:10:19,670 --> 00:10:23,370 Некои апликации бара 117 дозволи, 160 00:10:23,370 --> 00:10:27,480 па очигледно е дека овие се многу фини грануларен и премногу комплексни за на корисникот да се разбере 161 00:10:27,480 --> 00:10:31,600 ако тие се претставени со овој стан дека треба овие 117 дозволи. 162 00:10:31,600 --> 00:10:37,270 Тоа е како на крајниот корисник договорот за лиценца, тоа е 45 страници. 163 00:10:37,270 --> 00:10:40,240 Можеби наскоро тие ќе имаат опција каде што тоа е како 164 00:10:40,240 --> 00:10:43,100 печати дозволи и ме испрати е-маил. 165 00:10:43,100 --> 00:10:45,480 >> Но, ако погледнеме некои од најдобрите интересни дозволи 166 00:10:45,480 --> 00:10:50,840 24% од апликации кои тие ја преземале од 53.000 167 00:10:50,840 --> 00:10:57,230 побара GPS информации од уредот. 168 00:10:57,230 --> 00:10:59,810 8% прочитате контакти. 169 00:10:59,810 --> 00:11:03,770 4% испратени SMS и 3% примени SMS. 170 00:11:03,770 --> 00:11:07,730 2% снимени аудио. 171 00:11:07,730 --> 00:11:11,210 1% обработени појдовни повици. 172 00:11:11,210 --> 00:11:13,140 Не знам. 173 00:11:13,140 --> 00:11:17,520 Јас не мислам дека 4% од апликации во App Store навистина треба да испрати СМС текстуални пораки, 174 00:11:17,520 --> 00:11:21,410 па мислам дека тоа е знак дека нешто непокорен се случува. 175 00:11:21,410 --> 00:11:24,350 8% на апликации треба да ја прочитате вашата листа на контакти. 176 00:11:24,350 --> 00:11:26,510 Тоа е веројатно не е потребно. 177 00:11:26,510 --> 00:11:30,990 Еден од други интересни работи за дозволи е 178 00:11:30,990 --> 00:11:36,740 ако водат во споделени библиотеки во вашата апликација 179 00:11:36,740 --> 00:11:39,780 оние наследат дозволите на апликацијата, 180 00:11:39,780 --> 00:11:46,570 Значи, ако вашиот стан треба листата на контакти или треба локацијата GPS да функционира 181 00:11:46,570 --> 00:11:49,940 и ти линк во рекламна библиотеката, на пример, 182 00:11:49,940 --> 00:11:53,170 таа реклама библиотека, исто така, ќе бидат во можност да пристапите до контакти 183 00:11:53,170 --> 00:11:57,630 а исто така да биде во можност да пристапите до локација GPS, 184 00:11:57,630 --> 00:12:01,990 и на инвеститорот на стан не знае ништо за код кој е водење во рекламата библиотека. 185 00:12:01,990 --> 00:12:05,370 Тие се само поставување врски дека во затоа што тие сакаат да заработат нивните стан. 186 00:12:05,370 --> 00:12:09,820 >> Ова е местото каде-и јас ќе се зборува за некои примери на тоа со 187 00:12:09,820 --> 00:12:13,930 апликација наречена Пандора каде апликација инвеститорот 188 00:12:13,930 --> 00:12:18,910 несвесно може да биде протекување информации 189 00:12:18,910 --> 00:12:24,580 од своите корисници, бидејќи на библиотеки, кои го поврзана внатре 190 00:12:24,580 --> 00:12:30,110 Геодетски пејзажот таму, гледајќи во сите различни апликации 191 00:12:30,110 --> 00:12:34,310 кои се пријавени во вестите како злонамерни или прави нешто корисници не сакаат 192 00:12:34,310 --> 00:12:39,360 а потоа инспекција многу апликации-тоа го правиме многу на статички бинарен анализа на мобилни апликации, 193 00:12:39,360 --> 00:12:42,010 па сме ги прегледаат и го погледна кодот себе- 194 00:12:42,010 --> 00:12:49,640 дојдовме со она што ние го нарекуваме нашата Топ 10 листа на ризично однесување во апликации. 195 00:12:49,640 --> 00:12:54,180 И тоа е расчленети на 2 дела, малициозен код, 196 00:12:54,180 --> 00:12:57,600 па овие се лоши нешта за кои апликации може да се прави тоа 197 00:12:57,600 --> 00:13:06,520 најверојатно, ќе биде нешто што малициозен поединечни 198 00:13:06,520 --> 00:13:10,060 конкретно стави во примена, но тоа е малку нејасни. 199 00:13:10,060 --> 00:13:13,300 Тоа би можело да биде нешто што инвеститорот мисли дека е во ред, 200 00:13:13,300 --> 00:13:16,350 но тоа завршува се смета за злонамерни од страна на корисникот. 201 00:13:16,350 --> 00:13:19,830 >> И тогаш започна вториот дел е она што ние го нарекуваме кодирање пропусти, 202 00:13:19,830 --> 00:13:24,600 и овие се нештата каде што инвеститорот во основа е правење на грешки 203 00:13:24,600 --> 00:13:27,200 или едноставно не се разбере како да се напише на стан безбедно, 204 00:13:27,200 --> 00:13:30,260  и тоа е ставање на стан корисникот во ризик. 205 00:13:30,260 --> 00:13:34,060 Одам да поминат низ овие во детали и да даде некои примери. 206 00:13:34,060 --> 00:13:39,620 За повикување, сакав да го постави на OWASP мобилен топ 10 листа. 207 00:13:39,620 --> 00:13:43,590 Овие се 10 прашања што група на OWASP, 208 00:13:43,590 --> 00:13:48,900 Проектот Отвори веб апликација за безбедност, тие имаат работна група 209 00:13:48,900 --> 00:13:50,620 работи на мобилен топ 10 листа. 210 00:13:50,620 --> 00:13:54,600 Тие имаат многу познат веб топ 10 листа, кои се на врвот 10 211 00:13:54,600 --> 00:13:57,180 најризичните работи што можете да ги имаат во веб апликацијата. 212 00:13:57,180 --> 00:13:59,090 Што го правиш истото за мобилни, 213 00:13:59,090 --> 00:14:01,750 и нивната листа е малку различен од нашиот. 214 00:14:01,750 --> 00:14:03,670 6 од 10 се исти. 215 00:14:03,670 --> 00:14:06,020 Тие имаат 4, кои се различни. 216 00:14:06,020 --> 00:14:10,550 Јас мислам дека тие имаат малку поинаков преземе во врска 217 00:14:10,550 --> 00:14:14,490 ризик во мобилни апликации каде што многу од нивните проблеми 218 00:14:14,490 --> 00:14:20,490 се навистина како примената е комуницирањето со back-end серверот 219 00:14:20,490 --> 00:14:23,100 или она што се случува на back-end серверот, 220 00:14:23,100 --> 00:14:29,220 не толку многу апликации кои имаат ризично однесување, кои се само директна клиент апликации. 221 00:14:29,220 --> 00:14:36,640 >> Оние во црвено тука се разликите помеѓу 2 листи. 222 00:14:36,640 --> 00:14:40,740 И некои од моите истражувачки тим, всушност, придонесе за овој проект, 223 00:14:40,740 --> 00:14:44,570 па ќе видиме што ќе се случи со текот на времето, но мислам дека на готова брза тука е 224 00:14:44,570 --> 00:14:47,550 ние навистина не знам што на топ 10 листата е во мобилни апликации, бидејќи 225 00:14:47,550 --> 00:14:50,510 тие навистина само околу за 2 или 3 години, 226 00:14:50,510 --> 00:14:57,750 и таму не е доволно време да се навистина истражување на оперативни системи 227 00:14:57,750 --> 00:15:00,450 и она што тие се способни за, и таму не е доволно време 228 00:15:00,450 --> 00:15:06,870 за злонамерни заедница, ако сакате, да го поминам доволно време 229 00:15:06,870 --> 00:15:12,910 обидуваат да го нападне корисници преку мобилни апликации, така што очекувам овие листи да се промени малку. 230 00:15:12,910 --> 00:15:18,720 Но, за сега, тие се првите 10 работи кои треба да се грижите. 231 00:15:18,720 --> 00:15:24,150 Може да се прашувам на мобилниот страна, каде што го прави малициозни мобилни код- 232 00:15:24,150 --> 00:15:28,880 како не го добие на уредот? 233 00:15:28,880 --> 00:15:35,210 Северна Каролина државен има проект наречен геном Мобилни Malware 234 00:15:35,210 --> 00:15:39,520 каде што тие го собираат колку мобилни малициозен софтвер, како тие можат и анализирање на тоа, 235 00:15:39,520 --> 00:15:45,270 и тие го разурне инјекција вектори дека мобилниот малвер ги користи, 236 00:15:45,270 --> 00:15:51,490 и 86% користат техника наречена пакување, 237 00:15:51,490 --> 00:15:54,160 и ова е само на Android платформата 238 00:15:54,160 --> 00:15:56,720 може да ви навистина направи ова препакување. 239 00:15:56,720 --> 00:16:03,100 >> Причината е Андроид кодот е изграден со 240 00:16:03,100 --> 00:16:08,130 Јава бајт код наречен Dalvik кој е лесно decompilable. 241 00:16:08,130 --> 00:16:12,460 Што лошо момче да направите е да 242 00:16:12,460 --> 00:16:16,590 земе Андроид апликација, таа разделувате, 243 00:16:16,590 --> 00:16:20,120 вметнете своите малициозен код, тоа прекомпајлирате, 244 00:16:20,120 --> 00:16:28,070 и потоа и го стави во App Store се осмислува како нова верзија на таа апликација, 245 00:16:28,070 --> 00:16:30,330 или само можеби промена на името на апликацијата. 246 00:16:30,330 --> 00:16:35,140 Ако тоа беше некој вид на игра, го промени името малку, 247 00:16:35,140 --> 00:16:42,860 па така ова препакување е како 86% на мобилни малициозен софтвер добива дистрибуирани. 248 00:16:42,860 --> 00:16:45,810 Има уште една техника наречена надградба која е 249 00:16:45,810 --> 00:16:50,030 многу сличен на препакување, но вие всушност не се стави на малициозен код внатре 250 00:16:50,030 --> 00:16:52,870 Она што го правите е да се стави во мал ажурирање механизам. 251 00:16:52,870 --> 00:16:56,660 Можете разделувате, ќе се стави во механизам за ажурирање, и ќе ја прекомпајлирате, 252 00:16:56,660 --> 00:17:02,360 а потоа кога стан е трчање повлекува по малициозен софтвер на уредот. 253 00:17:02,360 --> 00:17:06,300 >> Најголемиот дел се оние 2 техники. 254 00:17:06,300 --> 00:17:12,710 Таму не е навистина многу симнување диск минувачи или возење со преземања на мобилни телефони, 255 00:17:12,710 --> 00:17:15,890 кој може да биде како обид за phishing. 256 00:17:15,890 --> 00:17:18,200 Еј, проверете го овој навистина кул веб-сајт, 257 00:17:18,200 --> 00:17:21,020 или треба да одам на оваа веб страна и да ги пополните овој формулар 258 00:17:21,020 --> 00:17:24,420 да продолжите да направите нешто. 259 00:17:24,420 --> 00:17:26,230 Тие се phishing напади. 260 00:17:26,230 --> 00:17:28,160 Истото може да се случи на мобилна платформа каде што 261 00:17:28,160 --> 00:17:33,830 укажуваат на мобилен стан за да ја преземете, велат "Здраво, ова е Банката на Америка". 262 00:17:33,830 --> 00:17:36,070 "Гледаме сте со користење на оваа апликација." 263 00:17:36,070 --> 00:17:38,540 "Мора да преземете оваа друга апликација." 264 00:17:38,540 --> 00:17:41,170 Теоретски, кои би можеле да работат. 265 00:17:41,170 --> 00:17:48,610 Можеби тоа не се користи доволно за да се утврди дали тоа е успешно или не, 266 00:17:48,610 --> 00:17:51,680 но тие откриле дека помалку од 1% од времето таа техника се користи. 267 00:17:51,680 --> 00:17:56,130 Поголемиот дел од времето тоа е навистина препакувани код. 268 00:17:56,130 --> 00:17:58,710 >> Има уште една категорија наречена самостојни 269 00:17:58,710 --> 00:18:01,420 каде некој само гради сосема нова апликација. 270 00:18:01,420 --> 00:18:04,020 Тие градат апликација која настојува да биде нешто. 271 00:18:04,020 --> 00:18:07,360 Тоа не е препакување на нешто друго, и дека има малициозен код. 272 00:18:07,360 --> 00:18:11,230 Кој се користи 14% од времето. 273 00:18:11,230 --> 00:18:17,880 Сега сакам да се зборува за она што е малициозен код правиш? 274 00:18:17,880 --> 00:18:23,070 Една од првите малициозен софтвер таму 275 00:18:23,070 --> 00:18:25,490 може да сметаат дека шпионски софтвер. 276 00:18:25,490 --> 00:18:27,620 Тоа во основа шпиони на корисникот. 277 00:18:27,620 --> 00:18:30,470 Собира пораки, СМС пораки. 278 00:18:30,470 --> 00:18:32,340 Таа се врти на микрофон. 279 00:18:32,340 --> 00:18:37,330 Тоа реколти контакт книга, и тоа го праќа исклучување на некој друг. 280 00:18:37,330 --> 00:18:40,870 Овој тип на шпионски софтвер постои на компјутер, 281 00:18:40,870 --> 00:18:46,200 па тоа го прави совршена смисла за луѓето да се обиде да го направи тоа на мобилни уреди. 282 00:18:46,200 --> 00:18:53,230 >> Еден од првите примери за ова беше една програма наречена Тајната СМС Replicator. 283 00:18:53,230 --> 00:18:56,250 Тоа беше во Андроид пазар неколку години, 284 00:18:56,250 --> 00:18:59,960 и идејата е ако сте имале пристап до нечија Android телефон 285 00:18:59,960 --> 00:19:03,450 што си сакал да ги шпионираат, па можеби тоа е вашиот брачен другар 286 00:19:03,450 --> 00:19:07,600 или вашиот значајни други и сакате да ги шпионираат своите СМС пораки, 287 00:19:07,600 --> 00:19:11,200 можете да го симнете овој стан и да ја инсталирате и конфигурирате тоа 288 00:19:11,200 --> 00:19:16,540 да пратите SMS текстуална порака до тебе со копија 289 00:19:16,540 --> 00:19:21,710 на секој SMS текстуална порака ги добија. 290 00:19:21,710 --> 00:19:27,220 Ова очигледно е во прекршување на App Store условите на услугата, 291 00:19:27,220 --> 00:19:32,040 и ова беше отстранет од Андроид пазар во рок од 18 часа од неа се таму, 292 00:19:32,040 --> 00:19:36,760 па многу мал број на луѓе се изложени на ризик поради ова. 293 00:19:36,760 --> 00:19:42,510 Сега, мислам дека ако програмата се викаше нешто можеби малку помалку провокативен 294 00:19:42,510 --> 00:19:48,690 како Тајната СМС Replicator тоа веројатно би работеле многу подобро. 295 00:19:48,690 --> 00:19:52,870 Но, тоа беше вид на очигледни. 296 00:19:52,870 --> 00:19:58,680 >> Една од работите можеме да направиме за да се утврди дали апликации имаат оваа однесување кое не сакаме 297 00:19:58,680 --> 00:20:01,410 е да извршат инспекција на кодот. 298 00:20:01,410 --> 00:20:06,250 Ова е всушност навистина лесно да се направи на Андроид затоа што може да разделувате апликации. 299 00:20:06,250 --> 00:20:11,050 На iOS можете да го користите disassembler како ИДА Про 300 00:20:11,050 --> 00:20:17,190 да се погледне во она што API-јата на стан е повик и она што таа го прави. 301 00:20:17,190 --> 00:20:20,680 Ние напиша нашите сопствени бинарни статички анализатор за нашиот код 302 00:20:20,680 --> 00:20:24,940 и го правиме тоа, и така она што може да направите е да може да се каже 303 00:20:24,940 --> 00:20:30,490 значи уред направи нешто што е во основа шпионирањето на мене или ме за следење? 304 00:20:30,490 --> 00:20:33,360 И имам некои примери тука на iPhone-от. 305 00:20:33,360 --> 00:20:41,440 Овој прв пример е како да пристапите на UUID на телефонот. 306 00:20:41,440 --> 00:20:47,060 Ова е всушност нешто што Apple штотуку забранети за нови апликации, 307 00:20:47,060 --> 00:20:52,540 но старите апликации кои може да се извршува на Вашиот телефон се уште може да го направите ова, 308 00:20:52,540 --> 00:20:56,500 и така што единствен идентификатор може да се користи за да ги пратите 309 00:20:56,500 --> 00:21:00,440 во многу различни апликации. 310 00:21:00,440 --> 00:21:07,180 >> На Андроид, јас имам еден пример тука за добивање на локација на уредот. 311 00:21:07,180 --> 00:21:10,310 Можете да видите дека ако тоа API на повик е таму дека стан е за следење, 312 00:21:10,310 --> 00:21:15,000 и можете да видите дали станува парична казна локација или груб локација. 313 00:21:15,000 --> 00:21:18,860 А потоа на дното овде, имам пример за тоа како на BlackBerry 314 00:21:18,860 --> 00:21:25,130 апликација може да пристапите на e-mail пораки во вашето сандаче. 315 00:21:25,130 --> 00:21:27,660 Овие се вид на работи што може да прегледате за да ја видите 316 00:21:27,660 --> 00:21:32,360 ако стан прави тие работи. 317 00:21:32,360 --> 00:21:38,320 Втората голема категорија на малициозни однесување, и ова е веројатно најголемиот категорија сега, 318 00:21:38,320 --> 00:21:43,950 е неовластено бирање, неовластено премија текстуални пораки 319 00:21:43,950 --> 00:21:46,080 или неовластено исплати. 320 00:21:46,080 --> 00:21:48,930 Друга работа која е уникатна за телефон 321 00:21:48,930 --> 00:21:52,700 е уред е закопчан до платежна сметка, 322 00:21:52,700 --> 00:21:55,960 и кога активностите се случи на телефонот 323 00:21:55,960 --> 00:21:58,510 тоа може да создаде обвиненија. 324 00:21:58,510 --> 00:22:00,700 Можете да ги купите работи во текот на телефон, 325 00:22:00,700 --> 00:22:04,390 и кога ќе се испрати премија SMS текстуална порака ти си, всушност давање пари 326 00:22:04,390 --> 00:22:11,590 на носителот на сметката на телефонскиот број на другата страна. 327 00:22:11,590 --> 00:22:17,420 Овие беа поставени за да се добие берзанските или да земете вашиот дневен хороскоп или други работи, 328 00:22:17,420 --> 00:22:21,680 но тие може да се постави да нарачате производ со испраќање на SMS текст. 329 00:22:21,680 --> 00:22:26,970 Луѓе даваат пари за Црвениот крст со испраќање на текстуална порака. 330 00:22:26,970 --> 00:22:30,650 Може да се даде $ 10 на тој начин. 331 00:22:30,650 --> 00:22:34,190 >> Напаѓачите, она што тие го направиле е дека тие се постави 332 00:22:34,190 --> 00:22:38,750 сметки во странски земји, и тие го вградите во малициозен софтвер 333 00:22:38,750 --> 00:22:42,840 дека телефонот ќе испрати премија SMS текстуална порака, 334 00:22:42,840 --> 00:22:47,700 велат, неколку пати на ден, и на крајот на месецот ќе сфатиш дека си поминав 335 00:22:47,700 --> 00:22:52,090 десетици или можеби дури и стотици долари, и тие одиме подалеку со пари. 336 00:22:52,090 --> 00:22:57,280 Ова доби толку лошо дека ова е многу првото нешто што на Андроид 337 00:22:57,280 --> 00:23:00,760 Пазар или на Google место-тоа беше на Андроид пазар во тоа време, 338 00:23:00,760 --> 00:23:04,430 и тоа е сега Google Play-првото нешто што Google започна проверка за. 339 00:23:04,430 --> 00:23:08,700 Кога Google започна со издавање Андроид апликации во нивните App Store 340 00:23:08,700 --> 00:23:11,350 тие рекоа дека не се случува да се провери за ништо. 341 00:23:11,350 --> 00:23:15,630 Ние ќе се повлече апликации еднаш сме се најавиле дека сме скршени нашите услови на користење, 342 00:23:15,630 --> 00:23:17,520 но ние нема да се провери за ништо. 343 00:23:17,520 --> 00:23:24,350 Па, пред околу една година го доби толку лошо со оваа премија SMS текстуална порака малициозен софтвер 344 00:23:24,350 --> 00:23:28,030 дека ова е многу првото нешто што започна проверка за. 345 00:23:28,030 --> 00:23:31,770 Ако еден стан може да испрати SMS текстуални пораки 346 00:23:31,770 --> 00:23:34,750 тие понатаму рачно изанализира таа апликација. 347 00:23:34,750 --> 00:23:38,770 Тие се погледне за API кои ова го нарекуваат, 348 00:23:38,770 --> 00:23:40,580 и сега, бидејќи тогаш Google го прошири, 349 00:23:40,580 --> 00:23:46,900 но ова беше првото нешто што тие почнаа да бараат. 350 00:23:46,900 --> 00:23:50,690 >> Некои други апликации кои не некои текстуални пораки, 351 00:23:50,690 --> 00:23:56,980 овој Андроид Qicsomos, претпоставувам дека тоа се нарекува. 352 00:23:56,980 --> 00:24:02,670 Имаше оваа сегашната настан на мобилен кога тоа CarrierIQ излезе 353 00:24:02,670 --> 00:24:07,720 како шпионски софтвер стави на уредот од страна на превозниците, 354 00:24:07,720 --> 00:24:10,820 па луѓето сакаат да знаат дали нивните телефон беше подложен на ова, 355 00:24:10,820 --> 00:24:13,890 и ова беше бесплатен стан, што тестирани тоа. 356 00:24:13,890 --> 00:24:17,520 Па, се разбира, она што овој стан го правеше беше за да го испрати премија текстуални пораки, 357 00:24:17,520 --> 00:24:20,090 па од страна на тестирање за да видите дали сте инфицирани со spyware 358 00:24:20,090 --> 00:24:24,930 ставената малициозен софтвер на Вашиот уред. 359 00:24:24,930 --> 00:24:27,310 Видовме истото се случи во последен Супер Боул. 360 00:24:27,310 --> 00:24:33,180 Имаше лажни верзија на Madden фудбалски натпревар 361 00:24:33,180 --> 00:24:38,320 оној кој ја испратил премија текстуални пораки. 362 00:24:38,320 --> 00:24:45,750 Тоа всушност се обиделе да создадат бот мрежа премногу на уредот. 363 00:24:45,750 --> 00:24:48,090 Тука имам некои примери. 364 00:24:48,090 --> 00:24:52,640 Интересно, Apple беше прилично паметни, 365 00:24:52,640 --> 00:24:58,470 и тие не дозволуваат апликации да испрати СМС текстуални пораки. 366 00:24:58,470 --> 00:25:00,350 Нема стан може да го направи тоа. 367 00:25:00,350 --> 00:25:03,530 Тоа е одличен начин да се ослободиме од цела класа на ранливост, 368 00:25:03,530 --> 00:25:09,040 но на Android ќе може да го направи тоа, и се разбира, на BlackBerry можете да го прават тоа премногу. 369 00:25:09,040 --> 00:25:13,060 Интересно е дека на BlackBerry сите што ви треба е интернет дозволи 370 00:25:13,060 --> 00:25:18,370 да пратите SMS текстуална порака. 371 00:25:18,370 --> 00:25:21,580 >> Од друга работа навистина дека ние се погледне за 372 00:25:21,580 --> 00:25:24,780 кога ние сме во потрага да се види дали нешто е злопамтило е само било каков вид на 373 00:25:24,780 --> 00:25:28,100 неавторизирани мрежни активности, како да се погледне на мрежна активност 374 00:25:28,100 --> 00:25:31,570 стан би требало да имаат да имаат нејзината функционалност, 375 00:25:31,570 --> 00:25:35,380 и се погледне на овој и други мрежна активност. 376 00:25:35,380 --> 00:25:43,380 Можеби еден стан, да работат, мора да се добие податоци преку HTTP, 377 00:25:43,380 --> 00:25:47,500 но ако тоа е вршење на работите преку е-мејл или СМС или Bluetooth или нешто слично 378 00:25:47,500 --> 00:25:52,890 сега дека стан потенцијално може да биде штетен, па ова е уште една работа што може да врши увид за. 379 00:25:52,890 --> 00:26:00,430 И на овој слајд тука имам некои примери за тоа. 380 00:26:00,430 --> 00:26:05,950 Уште една интересна работа што ја видовме со малициозен софтвер се случи уште во 2009 година, 381 00:26:05,950 --> 00:26:07,600 и тоа се случи во голема начин. 382 00:26:07,600 --> 00:26:11,390 Јас не знам дали тоа се случило толку многу од тогаш, но тоа беше еден стан 383 00:26:11,390 --> 00:26:15,140 дека impersonated друга апликација. 384 00:26:15,140 --> 00:26:21,700 Имаше сет на апликации, и тоа беше наречена 09Droid напад, 385 00:26:21,700 --> 00:26:29,770 и некој одлучи дека имало многу мали, регионални, средни банки 386 00:26:29,770 --> 00:26:32,260 кои немаа интернет банкарство апликации, 387 00:26:32,260 --> 00:26:36,870 Значи она што го правеше беше за тие градат околу 50 интернет банкарство апликации 388 00:26:36,870 --> 00:26:39,410 дека сите тие го направив беше да ги преземат корисничко име и лозинка 389 00:26:39,410 --> 00:26:42,190 и ви се пренасочува кон веб страната. 390 00:26:42,190 --> 00:26:47,470 И така тие се стави овие сите во на Google пазар, 391 00:26:47,470 --> 00:26:51,530 во Андроид пазар, и кога некој бара да се види дали нивната банка 392 00:26:51,530 --> 00:26:56,000 имаше барање тие ќе го најде лажен апликација, 393 00:26:56,000 --> 00:27:01,230 кои собираат нивните акредитиви и потоа да ги пренасочи кон нивниот веб-сајт. 394 00:27:01,230 --> 00:27:06,640 Начинот на кој тоа всушност стана-апликации беа таму за неколку недели, 395 00:27:06,640 --> 00:27:09,050 и имаше илјадници и илјадници на симнувања. 396 00:27:09,050 --> 00:27:12,910 >> Начинот на кој оваа излегоа на виделина беше некој има проблем 397 00:27:12,910 --> 00:27:15,740 со една од апликациите, и тие се нарекува нивната банка, 398 00:27:15,740 --> 00:27:18,390 и тие се нарекува нивната банката корисничка подршка линија и рече: 399 00:27:18,390 --> 00:27:21,180 "Имам проблем со вашиот мобилен банкарство апликација." 400 00:27:21,180 --> 00:27:23,460 "Можете ли да ми помогне?" 401 00:27:23,460 --> 00:27:26,540 А тие рекоа: "Немаме мобилен банкарство апликација." 402 00:27:26,540 --> 00:27:28,120 Која започна истрагата. 403 00:27:28,120 --> 00:27:31,200 Таа банка наречен Google, а потоа на Google погледна и рече: 404 00:27:31,200 --> 00:27:37,220 "Леле, истиот автор има напишано 50 банкарски апликации," и ги презеле сите ги надолу. 405 00:27:37,220 --> 00:27:43,410 Но, секако тоа би можело да се случи повторно. 406 00:27:43,410 --> 00:27:51,790 Тука е листа на сите различни банки тука 407 00:27:51,790 --> 00:27:55,870 кои беа дел од оваа измама. 408 00:27:55,870 --> 00:28:02,050 Од друга работа еден стан може да направи е присутна на графичката околина на друга апликација. 409 00:28:02,050 --> 00:28:06,430 Додека тоа е водење тоа би можело да pop-up на Фејсбук на графичката околина. 410 00:28:06,430 --> 00:28:09,540 Таа вели дека треба да се стави во вашето корисничко име и лозинка за да продолжите 411 00:28:09,540 --> 00:28:15,090 или да се стави на било корисничко име и лозинка адаптери за веб-сајт 412 00:28:15,090 --> 00:28:18,420 дека можеби корисникот го користи само за да се обиде да трик на корисникот 413 00:28:18,420 --> 00:28:21,340 во кријат своите акредитивни писма внатре 414 00:28:21,340 --> 00:28:25,590 Ова е навистина прави паралела на е-мејл фишинг напади 415 00:28:25,590 --> 00:28:28,210 каде што некој ви праќа е-мејл порака 416 00:28:28,210 --> 00:28:33,050 и ви дава основа лажен адаптери за веб-сајт 417 00:28:33,050 --> 00:28:37,320 дека вие имате пристап до. 418 00:28:37,320 --> 00:28:41,590 >> Од друга работа што барате малициозен код е систем модификација. 419 00:28:41,590 --> 00:28:48,160 Може да се погледне за сите API повици кои бараат коренот привилегија 420 00:28:48,160 --> 00:28:50,870 да се изврши правилно. 421 00:28:50,870 --> 00:28:56,160 Менување на веб прокси на уредот ќе биде нешто што на барање 422 00:28:56,160 --> 00:28:59,530 не треба да биде во можност да го стори. 423 00:28:59,530 --> 00:29:03,030 Но, ако барањето има код во таму за да го направите тоа 424 00:29:03,030 --> 00:29:05,960 знаеш дека тоа е веројатно малициозен апликација 425 00:29:05,960 --> 00:29:09,620 или многу многу веројатно да биде штетен апликација, 426 00:29:09,620 --> 00:29:13,910 и така што ќе се случи е дека стан ќе има некој начин на ескалацијата на привилегии. 427 00:29:13,910 --> 00:29:17,200 Тоа ќе има некои привилегија ескалација искористат 428 00:29:17,200 --> 00:29:20,730 во пријавата, а потоа, откако таа ескалираа привилегии 429 00:29:20,730 --> 00:29:23,800 тоа ќе го направи овие системски промени. 430 00:29:23,800 --> 00:29:28,010 Можете да најдете малициозен софтвер кој има привилегија ескалација 431 00:29:28,010 --> 00:29:32,550 во неа, дури и без да знаат како привилегија ескалација 432 00:29:32,550 --> 00:29:37,960 искористат ќе се случи, и тоа е убав, лесен начин 433 00:29:37,960 --> 00:29:41,220 да се погледне за малициозен софтвер. 434 00:29:41,220 --> 00:29:46,030 DroidDream беше веројатно најпознатиот дел од Андроид малициозен софтвер. 435 00:29:46,030 --> 00:29:50,530 Мислам дека погодени околу 250.000 корисници во текот на неколку дена 436 00:29:50,530 --> 00:29:52,810 пред да биде пронајдена. 437 00:29:52,810 --> 00:29:56,890 Тие препакувани 50 лажни апликации, 438 00:29:56,890 --> 00:30:00,370 ги стави во Андроид App Store, 439 00:30:00,370 --> 00:30:10,940 и во суштина го користат Андроид jailbreak-от код да ескалира привилегии 440 00:30:10,940 --> 00:30:16,380 и потоа инсталирајте команда и контрола и да се сврти на сите жртви 441 00:30:16,380 --> 00:30:20,690 во бот нет, но може да се открие овој 442 00:30:20,690 --> 00:30:24,170 ако сте биле скенирање на апликација и само барате 443 00:30:24,170 --> 00:30:32,230 API повици кои се бараат корен дозвола да се изврши правилно. 444 00:30:32,230 --> 00:30:40,150 >> И таму е еден пример тука имам што е промена на прокси, 445 00:30:40,150 --> 00:30:46,380 и ова всушност е достапна само на Андроид. 446 00:30:46,380 --> 00:30:49,070 Можете да видите јас сум ви даваат многу примери на Андроид 447 00:30:49,070 --> 00:30:53,990 бидејќи ова е местото каде најактивните малициозен софтвер екосистем е 448 00:30:53,990 --> 00:30:58,690 затоа што тоа е навистина лесен за напаѓачот да се добие малициозен код 449 00:30:58,690 --> 00:31:01,470 во Андроид пазар. 450 00:31:01,470 --> 00:31:06,480 Тоа не е така лесно да го направи тоа во Apple App Store 451 00:31:06,480 --> 00:31:10,250 бидејќи Apple бара програмери да се идентификуваат себеси 452 00:31:10,250 --> 00:31:12,790 и да го потпише код. 453 00:31:12,790 --> 00:31:20,340 Тие всушност се провери кој сте, и Apple е всушност преглед на апликациите. 454 00:31:20,340 --> 00:31:27,450 Ние не ги гледаме многу точно малициозен софтвер каде што уредот е добивање компромитиран. 455 00:31:27,450 --> 00:31:32,250 Јас ќе се зборува за некои примери каде тоа е навистина приватност и тоа е добивање компромитиран, 456 00:31:32,250 --> 00:31:38,460 и тоа е она што навистина се случува на Apple уред. 457 00:31:38,460 --> 00:31:44,090 Друга работа е да се погледне за малициозен код, ризично кодот во уреди 458 00:31:44,090 --> 00:31:50,300 логика или време бомби, и време бомби веројатно 459 00:31:50,300 --> 00:31:53,370 многу полесно да се погледне за од логиката бомби. 460 00:31:53,370 --> 00:31:57,030 Но со текот на времето бомби, што можете да направите е да може да се погледне за 461 00:31:57,030 --> 00:32:04,760 места во кодот каде што времето се тестира или апсолутна времето погледна за 462 00:32:04,760 --> 00:32:08,190 пред некои функции во стан случува. 463 00:32:08,190 --> 00:32:14,200 И ова би можело да се направи за да се скрие таа активност од страна на корисникот, 464 00:32:14,200 --> 00:32:17,510 па тоа се случува доцна во ноќта. 465 00:32:17,510 --> 00:32:24,350 DroidDream не сите својата дејност 11:00-08:00 по локално време 466 00:32:24,350 --> 00:32:30,650 да се обиде да го направи тоа, додека на корисникот не може да се користи нивното уред. 467 00:32:30,650 --> 00:32:38,680 >> Друга причина да го направите ова е ако луѓето се користи анализа на однесувањето на апликацијата, 468 00:32:38,680 --> 00:32:43,430 водење на стан во песок за да видите што однесувањето на пријавата е, 469 00:32:43,430 --> 00:32:51,090 можат да ги користат време-базирани логика да се направи на дејноста 470 00:32:51,090 --> 00:32:54,640 кога стан не е во песокот. 471 00:32:54,640 --> 00:33:01,520 На пример, на App Store како Apple 472 00:33:01,520 --> 00:33:07,940 раководи со органот на примена, но тие веројатно не се кандидира секој апликација за, да речеме, 30 дена 473 00:33:07,940 --> 00:33:10,550 пред одобрување него, па може да се стави 474 00:33:10,550 --> 00:33:14,120 логика во вашата апликација што рече, во ред, само што лошо 475 00:33:14,120 --> 00:33:20,490 по 30 дена помина од или по 30 дена од денот на примената објавуваат, 476 00:33:20,490 --> 00:33:27,020 и дека може да им помогне на малициозен код кријат од луѓе инспекција за тоа. 477 00:33:27,020 --> 00:33:30,050 Ако анти-вирус компании се работи работи во sandboxes 478 00:33:30,050 --> 00:33:36,370 или на стан самите продавници се ова може да помогне 479 00:33:36,370 --> 00:33:39,260 кријат дека од таа инспекција. 480 00:33:39,260 --> 00:33:43,020 Сега, друга страна на тоа е тоа е лесно да се најде со статичка анализа, 481 00:33:43,020 --> 00:33:46,170 па всушност инспекција на кодот можете да се погледне за сите места 482 00:33:46,170 --> 00:33:54,010 каде што примената тестови време и увид на тој начин. 483 00:33:54,010 --> 00:33:58,850 И тука имам некои примери за овие 3 различни платформи 484 00:33:58,850 --> 00:34:05,640 колку време може да се провери од страна на стан произведувач 485 00:34:05,640 --> 00:34:10,520 па да знаете што да барате ако сте инспекција на стан статички. 486 00:34:10,520 --> 00:34:14,570 >> Јас само помина низ еден куп на различни малициозни активности 487 00:34:14,570 --> 00:34:18,969 дека ние сме виделе во дивината, но кои од нив се најмногу распространети? 488 00:34:18,969 --> 00:34:23,940 Истата студија од Северна Каролина државен Мобилни геном 489 00:34:23,940 --> 00:34:28,560 објави некои податоци, и таму беа во основа 4 области 490 00:34:28,560 --> 00:34:32,850 дека виделе каде што имаше голем број на активности. 491 00:34:32,850 --> 00:34:35,370 37% од апликации не привилегија ескалација, 492 00:34:35,370 --> 00:34:38,429 па морале некои од типот на jailbreak-от код во таму 493 00:34:38,429 --> 00:34:42,070 каде што се обидуваа да ескалира привилегии, така што тие би можеле да 494 00:34:42,070 --> 00:34:48,360 се API команди работи како оперативен систем. 495 00:34:48,360 --> 00:34:52,520 45% од апликации таму не премиум SMS порака, 496 00:34:52,520 --> 00:34:57,260 па тоа е огромен процент кој се обидува да директно заработат. 497 00:34:57,260 --> 00:35:02,640 93% не далечински управувач, па тие се обиделе да се постави бот нет, мобилен бот мрежата. 498 00:35:02,640 --> 00:35:08,990 И 45%, собрани идентификување на информации 499 00:35:08,990 --> 00:35:16,230 како телефонски броеви, UUIDs, GPS локација, кориснички профили, 500 00:35:16,230 --> 00:35:22,870 и овој додава до повеќе од 100, бидејќи повеќето малвер се обидува да направи неколку од овие работи. 501 00:35:22,870 --> 00:35:27,070 >> Одам да се префрлат на втората половина и да разговараат за код слабости. 502 00:35:27,070 --> 00:35:29,480 Ова е втората половина на ризична активност. 503 00:35:29,480 --> 00:35:33,450 Ова е местото каде во суштина инвеститорот прави грешки. 504 00:35:33,450 --> 00:35:37,210 А легитимни инвеститорот пишување легитимен стан 505 00:35:37,210 --> 00:35:41,830 е правење грешки или е неук на ризиците од мобилна платформа. 506 00:35:41,830 --> 00:35:44,780 Тие едноставно не знаат како да се направи безбедна мобилен стан, 507 00:35:44,780 --> 00:35:47,700 или понекогаш инвеститорот не се грижи за ставање на корисникот во ризик. 508 00:35:47,700 --> 00:35:50,850 Понекогаш дел од нивниот бизнис модел може да биде 509 00:35:50,850 --> 00:35:54,610 бербата лични информации на корисникот. 510 00:35:54,610 --> 00:35:58,090 Тоа е вид на друга категорија, а тоа е зошто некои од овој малициозен 511 00:35:58,090 --> 00:36:03,200 наспроти легитимните почнува да го изменува бидејќи има разлика на мислење 512 00:36:03,200 --> 00:36:10,440 помеѓу она што корисникот сака и она што корисникот го смета ризично 513 00:36:10,440 --> 00:36:13,050 и она што апликација инвеститорот смета ризично. 514 00:36:13,050 --> 00:36:18,380 Се разбира, тоа не е на податоци примена инвеститорот во повеќето случаи. 515 00:36:18,380 --> 00:36:22,030 >> И тогаш, конечно, уште еден начин ова се случува е инвеститорот може да се поврзе во 516 00:36:22,030 --> 00:36:28,600 заедничка библиотека која има слабости или ова ризично однесување во него 517 00:36:28,600 --> 00:36:32,480 непознат за нив. 518 00:36:32,480 --> 00:36:37,060 Првата категорија е чувствителни податоци протекување, 519 00:36:37,060 --> 00:36:40,030 а тоа е кога на стан собира информации 520 00:36:40,030 --> 00:36:44,980 како локација, адресар информации, информации за сопственикот 521 00:36:44,980 --> 00:36:48,000 и ја праќа таа го уредот. 522 00:36:48,000 --> 00:36:53,050 И еднаш тоа е надвор од уредот, не знаеме што се случува со таа информација. 523 00:36:53,050 --> 00:36:57,170 Тоа би можело да се чуваат несигурно со примена инвеститорот. 524 00:36:57,170 --> 00:37:02,070 Видовме апликација програмери се компромитирани, 525 00:37:02,070 --> 00:37:05,820 и податоците дека тие се чување добива преземат. 526 00:37:05,820 --> 00:37:10,970 Ова се случи пред неколку месеци на инвеститорот долу во Флорида 527 00:37:10,970 --> 00:37:21,660 каде што огромен број на-тоа беше iPad UUIDs и имиња уред 528 00:37:21,660 --> 00:37:25,270 беа протекоа затоа што некој, мислам дека тоа беше анонимна, 529 00:37:25,270 --> 00:37:29,460 тврди да го направите ова, провалил во серверите оваа инвеститорот 530 00:37:29,460 --> 00:37:34,920 и украле милиони iPad UUIDs 531 00:37:34,920 --> 00:37:37,390 и компјутерски имиња. 532 00:37:37,390 --> 00:37:40,260 Не најризичните информации, 533 00:37:40,260 --> 00:37:46,820 но што ако тоа беше за складирање на кориснички имиња и лозинки 534 00:37:46,820 --> 00:37:48,170 и домашни адреси? 535 00:37:48,170 --> 00:37:51,100 Има многу апликации кои ги чувате таков вид на информации. 536 00:37:51,100 --> 00:37:53,230 Ризикот е таму. 537 00:37:53,230 --> 00:37:56,620 >> Од друга работа што може да се случи е ако инвеститорот не се грижи 538 00:37:56,620 --> 00:38:01,370 да се обезбеди податоци канал, и тоа е уште една голема ранливост, ќе одам да се зборува за, 539 00:38:01,370 --> 00:38:05,160 дека податоците се праќаат во јасна. 540 00:38:05,160 --> 00:38:09,040 Ако корисникот не е на јавен Wi-Fi мрежа 541 00:38:09,040 --> 00:38:12,330 или некој кои душкаат интернет некаде 542 00:38:12,330 --> 00:38:19,260 по патот што податоците се изложени. 543 00:38:19,260 --> 00:38:23,790 Еден многу познат случај на оваа истекување информации што се случи со Пандора, 544 00:38:23,790 --> 00:38:27,250 и ова е нешто што ние истражуван на Veracode. 545 00:38:27,250 --> 00:38:33,200 Слушнавме дека има-Мислам дека тоа беше Федералната комисија за трговија 546 00:38:33,200 --> 00:38:35,310 Истрагата се случува со Пандора. 547 00:38:35,310 --> 00:38:39,830 Ние рече: "Што се случува таму? Да почнеме копа во Пандорината апликација." 548 00:38:39,830 --> 00:38:46,690 И она што го одредува беше Пандора апликација собрани 549 00:38:46,690 --> 00:38:51,270 вашиот пол и вашата возраст, 550 00:38:51,270 --> 00:38:56,660 а исто така се пристапи вашиот GPS локација, и Пандора апликација 551 00:38:56,660 --> 00:39:00,200 направив ова за она што го рече, биле легитимни причини. 552 00:39:00,200 --> 00:39:05,360 Музиката што тие ја играа-Пандора е музика стриминг стан- 553 00:39:05,360 --> 00:39:07,530 музиката што ја свиреа беше само лиценцирани во Соединетите Американски Држави, 554 00:39:07,530 --> 00:39:13,020 па морале да се провери да се усогласат со нивните договори за лиценца кои тие имаа 555 00:39:13,020 --> 00:39:17,240 за музика која корисникот е во САД. 556 00:39:17,240 --> 00:39:25,070 Тие исто така, сакаше да се усогласат со родителска советодавни 557 00:39:25,070 --> 00:39:33,790 околу јазик за возрасни во музиката, 558 00:39:33,790 --> 00:39:37,500 и така тоа е доброволна програма, но тие сакаа да се усогласат со кој 559 00:39:37,500 --> 00:39:43,010 и не игра експлицитна лирика на децата 13 и под. 560 00:39:43,010 --> 00:39:46,280 >> Тие имаа легитимни причини за собирање на овие податоци. 561 00:39:46,280 --> 00:39:49,160 Нивните стан имаа дозволи за да го направи тоа. 562 00:39:49,160 --> 00:39:52,000 Корисниците дека ова е легитимен. Но, она што се случи? 563 00:39:52,000 --> 00:39:55,810 Тие се поврзани во 3 или 4 различни реклама библиотеки. 564 00:39:55,810 --> 00:39:59,140 Сега одеднаш сите овие реклама библиотеки 565 00:39:59,140 --> 00:40:02,970 се добива пристап до оваа истите информации. 566 00:40:02,970 --> 00:40:05,830 Реклама библиотеки, ако се погледне на кодот во рекламата библиотеки 567 00:40:05,830 --> 00:40:08,430 она што го прават е секоја реклама библиотека вели 568 00:40:08,430 --> 00:40:11,340 "Дали мојот стан немате дозвола да ја добие GPS локација?" 569 00:40:11,340 --> 00:40:14,890 "О, тоа не? Океј, кажи ми на локацијата GPS." 570 00:40:14,890 --> 00:40:16,620 Секој реклама библиотека прави тоа, 571 00:40:16,620 --> 00:40:19,740 и ако на стан не имаат GPS дозвола 572 00:40:19,740 --> 00:40:23,460 тоа нема да биде во можност да го добие, но ако го прави тоа, таа ќе го добие. 573 00:40:23,460 --> 00:40:26,240 Ова е местото каде што бизнис модел на рекламата библиотеки 574 00:40:26,240 --> 00:40:31,160 се противи на приватноста на корисникот. 575 00:40:31,160 --> 00:40:34,980 И имало студии таму што ќе каже, ако знаете на возраст 576 00:40:34,980 --> 00:40:38,430 на лице и знаеш нивната локација 577 00:40:38,430 --> 00:40:42,530 каде што спијам ноќе, затоа што имаат GPS координати 578 00:40:42,530 --> 00:40:46,030 додека тие можеби се спие, ќе знаат точно кои тоа лице е 579 00:40:46,030 --> 00:40:50,230 бидејќи може да се утврди кои член на домаќинството е тоа лице. 580 00:40:50,230 --> 00:40:54,780 Навистина ова е идентификување за рекламни 581 00:40:54,780 --> 00:40:59,530 точно кој сте, и тоа изгледа како да е легитимна. 582 00:40:59,530 --> 00:41:02,800 Јас само сакам мојата стриминг музика, и тоа е единствениот начин да го добие. 583 00:41:02,800 --> 00:41:05,370 >> Па, ние изложени ова. 584 00:41:05,370 --> 00:41:08,030 Ние напиша ова во неколку блог постови, 585 00:41:08,030 --> 00:41:13,280 и се покажа дека некој од списанието Rolling Stone 586 00:41:13,280 --> 00:41:18,810 , пишуваше на еден од нашите блог постови и напиша свој блог во Ролинг Стоун во врска со тоа, 587 00:41:18,810 --> 00:41:22,120 и веќе следниот ден Пандора мислев дека тоа е добра идеја 588 00:41:22,120 --> 00:41:27,600 да се отстрани рекламата библиотеки од нивната примена. 589 00:41:27,600 --> 00:41:31,270 Колку што знам тие се само-тие треба да се пофали. 590 00:41:31,270 --> 00:41:35,770 Мислам дека тие се единствените Freemium тип на апликација која има направено ова. 591 00:41:35,770 --> 00:41:38,660 Сите други Freemium апликации имаат оваа исто однесување, 592 00:41:38,660 --> 00:41:41,780 па имаш да се размислува за она што вид на податоците што се даваат 593 00:41:41,780 --> 00:41:48,330 овие Freemium апликации, бидејќи тоа е сите ќе рекламни. 594 00:41:48,330 --> 00:41:53,390 Преторијанското исто така, направи студија за споделени библиотеки и рече: 595 00:41:53,390 --> 00:41:57,100 "Ајде да ги погледнеме во она споделени библиотеки се на врвот споделени библиотеки", и тоа беше на податоци. 596 00:41:57,100 --> 00:41:59,420 >> Тие анализирале 53.000 апликации, 597 00:41:59,420 --> 00:42:01,900 и број 1 споделена библиотека беше Admob. 598 00:42:01,900 --> 00:42:06,060 Тоа беше всушност во 38% од апликациите таму, 599 00:42:06,060 --> 00:42:08,800 па 38% од апликациите што ја користите 600 00:42:08,800 --> 00:42:11,250 најверојатно бербата вашите лични информации 601 00:42:11,250 --> 00:42:16,650 и тоа испраќање на мрежи за рекламирање. 602 00:42:16,650 --> 00:42:19,350 Apache и Андроид беа 8% и 6%, 603 00:42:19,350 --> 00:42:22,960 а потоа овие други оние долу на дното, реклами на Google, Бран, 604 00:42:22,960 --> 00:42:26,600 МОБ Сити и илјадагодишната медиуми, 605 00:42:26,600 --> 00:42:30,500 овие се сите рекламирање компании, а потоа, интересно е доволно, 606 00:42:30,500 --> 00:42:33,500 4% поврзани во библиотеката на Фејсбук 607 00:42:33,500 --> 00:42:38,870 веројатно да се направи проверка преку Фејсбук 608 00:42:38,870 --> 00:42:40,810 па стан може да се идентификувате на Фејсбук. 609 00:42:40,810 --> 00:42:44,660 Но, тоа исто така значи корпорацијата Фејсбук контролира код 610 00:42:44,660 --> 00:42:49,010 тоа е водење во 4% од Андроид мобилни апликации таму, 611 00:42:49,010 --> 00:42:53,490 и тие имаат пристап до сите податоци кои што стан има дозвола да се добие во. 612 00:42:53,490 --> 00:42:57,170 Фејсбук во суштина се обидува да го продаде рекламен простор. 613 00:42:57,170 --> 00:43:00,120 Тоа е нивниот бизнис модел. 614 00:43:00,120 --> 00:43:02,920 >> Ако се погледне на целиот овој екосистем со овие дозволи 615 00:43:02,920 --> 00:43:07,740 и споделени библиотеки ќе почнете да се види дека 616 00:43:07,740 --> 00:43:13,850 имате голем број на ризик во наводно легитимно барање. 617 00:43:13,850 --> 00:43:19,360 Исто нешто слично што се случи со Пандора 618 00:43:19,360 --> 00:43:22,340 се случи со апликација наречена Пат, 619 00:43:22,340 --> 00:43:27,660 и Пат сметав дека се корисни, пријателски програмери. 620 00:43:27,660 --> 00:43:32,160 Тие беа само се обидува да ви даде голем корисник искуство, 621 00:43:32,160 --> 00:43:37,810 и се покажа дека без прашува корисникот или раскажување на корисникот ништо- 622 00:43:37,810 --> 00:43:40,400 и ова се случило на iPhone и на Андроид, 623 00:43:40,400 --> 00:43:44,420 Пандорината стан беше на iPhone и Android- 624 00:43:44,420 --> 00:43:48,890 дека апликацијата пат бил грабање вашиот целиот адресар 625 00:43:48,890 --> 00:43:52,830 и ја подигнете на патот само кога ќе се инсталира и се стрча на апликацијата, 626 00:43:52,830 --> 00:43:55,840 и тие не ви кажам за ова. 627 00:43:55,840 --> 00:43:58,750 Тие помислиле дека станува навистина од голема помош за вас 628 00:43:58,750 --> 00:44:04,040 да бидат во можност да ги споделите со сите луѓе во вашиот адресар 629 00:44:04,040 --> 00:44:06,920 дека сте користење на апликација Пат. 630 00:44:06,920 --> 00:44:09,490 >> Па, очигледно Пат мислев дека ова е одлично за нивната компанија. 631 00:44:09,490 --> 00:44:13,510 Не толку голема за корисникот. 632 00:44:13,510 --> 00:44:19,020 Мора да мислат дека тоа е една работа, ако можеби тинејџер 633 00:44:19,020 --> 00:44:23,700 е користење на оваа апликација и нивните десетици пријатели се таму, 634 00:44:23,700 --> 00:44:29,360 но што ако тоа е извршниот директор на компанијата која инсталира Пат 635 00:44:29,360 --> 00:44:33,170 а потоа одеднаш целата нивна адреса книга е таму горе? 636 00:44:33,170 --> 00:44:38,310 Си оди за да се добие многу на потенцијално вредни информации за контакт 637 00:44:38,310 --> 00:44:40,920 за многу луѓе. 638 00:44:40,920 --> 00:44:44,500 Еден новинар од Њу Јорк Тајмс, може да биде во можност да се добие на телефонскиот број 639 00:44:44,500 --> 00:44:47,380 за екс претседатели од нивната адреса книга, 640 00:44:47,380 --> 00:44:54,780 па очигледно многу чувствителни информации добива пренесени со нешто како ова. 641 00:44:54,780 --> 00:44:58,090 Имаше толку голем размавта за тоа што Пат извини. 642 00:44:58,090 --> 00:45:01,610 Ќе го сменат стан, и тоа дури и влијание на Apple. 643 00:45:01,610 --> 00:45:06,950 Јаболко рече: "Ние ќе го присили стан продавачите да ги поттикне корисниците 644 00:45:06,950 --> 00:45:12,650 ако тие се случува да се соберат нивните целиот адресар. " 645 00:45:12,650 --> 00:45:15,360 >> Тоа изгледа како она што се случува тука е 646 00:45:15,360 --> 00:45:19,430 кога има една голема повреда на приватноста и тоа го прави на прес- 647 00:45:19,430 --> 00:45:21,680 можеме да видиме промена таму. 648 00:45:21,680 --> 00:45:23,230 Но, се разбира, има и други работи таму. 649 00:45:23,230 --> 00:45:27,440 На LinkedIn апликација жетви вашиот календар записи, 650 00:45:27,440 --> 00:45:34,530 но Apple не се направи на корисникот бидете прашани за тоа. 651 00:45:34,530 --> 00:45:38,030 Записи во календарот може да има доверливи информации во нив. 652 00:45:38,030 --> 00:45:40,000 Каде ќе одиш да исцртување на линија? 653 00:45:40,000 --> 00:45:43,960 Ова е навистина вид на развојот место 654 00:45:43,960 --> 00:45:47,640 каде што има навистина нема добар стандард таму 655 00:45:47,640 --> 00:45:51,990 за корисниците да се разбере кога нивните информации ќе бидат изложени на ризик 656 00:45:51,990 --> 00:45:57,820 и кога тие се случува да знаат дека тоа е се преземат. 657 00:45:57,820 --> 00:46:03,040 Ние напиша стан во Veracode наречен Adios, 658 00:46:03,040 --> 00:46:08,350 и во суштина тоа е дозволено да се укаже на стан во вашиот iTunes директориум 659 00:46:08,350 --> 00:46:12,550 и се погледне во сите апликации кои беа бербата вашиот полна адреса книга. 660 00:46:12,550 --> 00:46:19,760 И како што можете да видите на оваа листа овде, Лути птици, 661 00:46:19,760 --> 00:46:21,590 AIM, AroundMe. 662 00:46:21,590 --> 00:46:24,050 Зошто Лути птици треба вашиот адресар? 663 00:46:24,050 --> 00:46:29,160 Не знам, но тоа не некако. 664 00:46:29,160 --> 00:46:32,310 >> Ова е нешто што многу, многу апликации се направи. 665 00:46:32,310 --> 00:46:34,780 Можете да изврши увид во кодот за тоа. 666 00:46:34,780 --> 00:46:38,660 Има добро дефинирана API-јата за iPhone, Android и BlackBerry 667 00:46:38,660 --> 00:46:42,120 да се добие во адресарот. 668 00:46:42,120 --> 00:46:48,520 Вие навистина може лесно да врши увид за тоа, и тоа е она што ние го сторивме во нашата Adios апликација. 669 00:46:48,520 --> 00:46:52,320 Следниот категорија, Недостаток на најбезбедни чувствителни податоци за чување, 670 00:46:52,320 --> 00:46:55,670 е нешто каде што програмерите се нешто како игла или број на сметка 671 00:46:55,670 --> 00:46:58,530 или лозинка и чувајте го во јасна на уредот. 672 00:46:58,530 --> 00:47:02,310 Дури и полошо, тие би можеле да се чува во област на телефонот 673 00:47:02,310 --> 00:47:06,820 кој е глобално достапен, како SD картичка. 674 00:47:06,820 --> 00:47:11,320 Гледаш ова почесто на Андроид, бидејќи Андроид овозможува SD картичка. 675 00:47:11,320 --> 00:47:13,200 IPhone уреди не. 676 00:47:13,200 --> 00:47:17,900 Но, ние дури и видов ова се случи во Ситигруп апликација. 677 00:47:17,900 --> 00:47:25,450 Нивната онлајн банкарски апликација чуваат броеви на сметки несигурно, 678 00:47:25,450 --> 00:47:28,120 само во јасна, па ако сте ја изгубиле Вашиот уред, 679 00:47:28,120 --> 00:47:30,670 во суштина сте ја изгубиле вашата банкарска сметка. 680 00:47:30,670 --> 00:47:36,000 Ова е причината зошто јас лично не го сторат банкарски на мојот iPhone. 681 00:47:36,000 --> 00:47:43,710 Мислам дека тоа е премногу ризично токму сега да направиме овие видови на активности. 682 00:47:43,710 --> 00:47:45,950 >> Skype го направи истото. 683 00:47:45,950 --> 00:47:49,870 Skype, се разбира, има баланс на сметка, корисничко име и лозинка 684 00:47:49,870 --> 00:47:51,030 дека пристапот тој баланс. 685 00:47:51,030 --> 00:48:00,080 Ги чуваат сите информации во јасна на мобилниот уред. 686 00:48:00,080 --> 00:48:05,760 Имам некои примери овде за создавање на датотеки 687 00:48:05,760 --> 00:48:10,310 кои немаат право на дозволи или пишување на диск 688 00:48:10,310 --> 00:48:17,260 и не да има енкрипција случи тоа. 689 00:48:17,260 --> 00:48:20,190 Овој следната област, Недостаток на најбезбедни чувствителни податоци Пренос, 690 00:48:20,190 --> 00:48:24,450 Сум алудираше на тоа неколку пати, и поради јавноста за Wi-Fi 691 00:48:24,450 --> 00:48:27,770 ова е нешто што апликации апсолутно треба да се направи, 692 00:48:27,770 --> 00:48:31,250 и ова е веројатно она што го гледаме тргне наопаку најмногу. 693 00:48:31,250 --> 00:48:34,920 Јас би рекол-всушност, мислам дека имам вистински податоци, 694 00:48:34,920 --> 00:48:38,120 но тоа е блиску до половина на мобилни апликации 695 00:48:38,120 --> 00:48:41,780 завинтвам прави SSL. 696 00:48:41,780 --> 00:48:43,910 Тие едноставно не се користи API-јата правилно. 697 00:48:43,910 --> 00:48:47,970 Мислам, сите имате да направите е да се следат инструкциите и да го користите API-јата, 698 00:48:47,970 --> 00:48:54,720 но тие ги правите нештата како да не проверите дали има валиден сертификат на другиот крај, 699 00:48:54,720 --> 00:49:02,120 не провери дали другиот крај се обидува да направи записник сменат напад. 700 00:49:02,120 --> 00:49:07,200 >> На програмерите, тие сакаат да ги добијат полето, нели? 701 00:49:07,200 --> 00:49:11,910 Нивните услов е да го користите овој да го продаде. Тие ги користат оваа да го продаде. 702 00:49:11,910 --> 00:49:14,800 Условот не е да го користите овој да го продаде безбедно, 703 00:49:14,800 --> 00:49:19,680 и така тоа е причината зошто сите апликации кои ги користат SSL за да се обезбеди податоци 704 00:49:19,680 --> 00:49:23,470 како што е да биде пренесена исклучите уредот навистина треба да биде прегледано 705 00:49:23,470 --> 00:49:28,950 да бидете сигурни дека се спроведува правилно. 706 00:49:28,950 --> 00:49:32,850 И тука имам некои примери каде што можете да видите некоја апликација 707 00:49:32,850 --> 00:49:37,400 може да се користат за HTTP, наместо HTTPS. 708 00:49:37,400 --> 00:49:40,510 Во некои случаи апликации ќе се врати на HTTP 709 00:49:40,510 --> 00:49:44,250 ако HTTPS не е работа. 710 00:49:44,250 --> 00:49:49,070 Имам уште еден повик тука на Андроид каде што сум оневозможен проверка на сертификатот, 711 00:49:49,070 --> 00:49:51,700 па човек-во-средината нападот може да се случи. 712 00:49:51,700 --> 00:49:56,370 Невалиден сертификат ќе бидат прифатени. 713 00:49:56,370 --> 00:50:01,920 Овие се сите случаи каде што напаѓачите се случува да бидат во можност да се добие на 714 00:50:01,920 --> 00:50:07,150 на истата Wi-Fi конекција како корисник и пристап до сите податоци 715 00:50:07,150 --> 00:50:11,650 тоа е се испратени преку интернет. 716 00:50:11,650 --> 00:50:15,970 >> И, конечно, последната категорија имам тука е hardcoded лозинка и клучеви. 717 00:50:15,970 --> 00:50:21,470 Ние всушност се види многу од програмерите користат истата кодирање стил 718 00:50:21,470 --> 00:50:25,900 дека тие не кога тие беа градење на веб сервер апликации, 719 00:50:25,900 --> 00:50:29,700 па тие градиме серверот Java апликација, и тие се hardcoding клучот. 720 00:50:29,700 --> 00:50:31,940 Па, кога ќе градиме сервер апликација, да, 721 00:50:31,940 --> 00:50:34,240 hardcoding клучот не е добра идеја. 722 00:50:34,240 --> 00:50:36,290 Тоа го прави тешко да се промени. 723 00:50:36,290 --> 00:50:40,700 Но, тоа не е толку лошо на страната на серверот, бидејќи кој има пристап до серверот? 724 00:50:40,700 --> 00:50:43,140 Само администраторите. 725 00:50:43,140 --> 00:50:48,100 Но, ако го заземат истиот код и го истури во текот на мобилна апликација 726 00:50:48,100 --> 00:50:52,550 сега секој кој има што мобилна апликација има пристап до тие hardcoded клуч, 727 00:50:52,550 --> 00:50:56,380 а ние всушност ја гледаат оваа многу пати, и имам некои статистики 728 00:50:56,380 --> 00:51:00,920 од тоа колку често го гледаме тоа да се случи. 729 00:51:00,920 --> 00:51:04,940 Тоа всушност беше во пример код кој Мастеркард објавени 730 00:51:04,940 --> 00:51:06,850 за тоа како да ги користат нивните услуги. 731 00:51:06,850 --> 00:51:11,860 На пример кодот покажа како можете едноставно би го лозинката 732 00:51:11,860 --> 00:51:14,850 и го стави во hardcoded низа право таму, 733 00:51:14,850 --> 00:51:19,380 и знаеме како програмери сакаат да го копирате и залепите кодот фрагменти 734 00:51:19,380 --> 00:51:22,360 кога тие се обидуваат да се направи нешто, па можете да копирате и залепите кодот програмка 735 00:51:22,360 --> 00:51:28,450 дека тие дадоа како пример кодот, и имаш еден несигурен апликација. 736 00:51:28,450 --> 00:51:31,490 >> И тука имаме некои примери. 737 00:51:31,490 --> 00:51:35,840 Овој првиот е една можеме да видиме многу, каде што тие hardcode 738 00:51:35,840 --> 00:51:40,510 право на податоци во URL, кој добива испратени. 739 00:51:40,510 --> 00:51:45,120 Понекогаш гледаме низа лозинка = лозинка. 740 00:51:45,120 --> 00:51:49,060 Тоа е прилично лесно да се открие, или низа лозинка на BlackBerry и Android. 741 00:51:49,060 --> 00:51:53,680 Тоа е всушност прилично лесно да се провери за, бидејќи скоро секогаш 742 00:51:53,680 --> 00:51:57,030 инвеститорот имиња променлива тоа е одржувањето на лозинка 743 00:51:57,030 --> 00:52:02,290 некои варијации на лозинка. 744 00:52:02,290 --> 00:52:05,200 Јас спомнав дека тоа го правиме статичка анализа на Veracode, 745 00:52:05,200 --> 00:52:11,790 па ние сме анализирани неколку стотици Android и iOS апликации. 746 00:52:11,790 --> 00:52:15,160 Ние сме изградиле целосна модели од нив, и ние сме во состојба да ги скенира 747 00:52:15,160 --> 00:52:19,280 за различни слабости, особено слабости зборувам, 748 00:52:19,280 --> 00:52:21,050 и имам некои податоци тука. 749 00:52:21,050 --> 00:52:24,320 68,5% од Андроид апликации ние погледна 750 00:52:24,320 --> 00:52:28,590 го прекршила криптографски код, 751 00:52:28,590 --> 00:52:33,240 која за нас, ние не може да се открие, ако сте направиле свој крипто рутина, 752 00:52:33,240 --> 00:52:38,980 не дека тоа е добра идеја, но тоа е, всушност, со користење на објавени API-јата 753 00:52:38,980 --> 00:52:42,530 кои се на платформа, но тоа нив на таков начин 754 00:52:42,530 --> 00:52:46,680 дека крипто ќе биде ранлив, 68,5. 755 00:52:46,680 --> 00:52:49,870 И ова е за луѓе кои се ни ги испратат своите апликации всушност затоа што 756 00:52:49,870 --> 00:52:53,730 тие мислат дека тоа е добра идеја да се направи безбедност тестирање. 757 00:52:53,730 --> 00:52:56,960 Овие се веќе луѓе кои се најверојатно мислејќи безбедно, 758 00:52:56,960 --> 00:52:59,540 така што е веројатно уште полошо. 759 00:52:59,540 --> 00:53:02,690 >> Јас не зборувам за контрола линија храна инјекција. 760 00:53:02,690 --> 00:53:07,640 Тоа е нешто што ние се провери за, но тоа не е толку ризично прашање. 761 00:53:07,640 --> 00:53:15,390 Информации за истекување, ова е местото каде што чувствителни податоци се испратени надвор од уредот. 762 00:53:15,390 --> 00:53:19,270 Ние откривме дека во 40% од апликациите. 763 00:53:19,270 --> 00:53:23,540 Време и државата, тие се трка состојба тип прашања, обично се прилично тешко да се искористат, 764 00:53:23,540 --> 00:53:26,170 па јас не зборувам за тоа, но ние погледна. 765 00:53:26,170 --> 00:53:28,750 23% имале SQL инјекција прашања. 766 00:53:28,750 --> 00:53:32,020 Многу луѓе не знаат дека многу апликации 767 00:53:32,020 --> 00:53:35,880 Користете една мала малку SQL база на податоци на нивните задниот крај за зачувување на податоци. 768 00:53:35,880 --> 00:53:40,430 Па, ако податоците дека сте грабање преку мрежа 769 00:53:40,430 --> 00:53:43,800 има SQL инјекција напад жици во него 770 00:53:43,800 --> 00:53:45,970 некој може да ја загрози уред преку кој, 771 00:53:45,970 --> 00:53:49,800 и така мислам дека ќе најдеме околу 40% од веб апликации имаат овој проблем, 772 00:53:49,800 --> 00:53:52,840 кој е епидемија огромен проблем. 773 00:53:52,840 --> 00:53:55,740 Ние го најдете 23% од времето во мобилни апликации 774 00:53:55,740 --> 00:54:02,030 и тоа е веројатно затоа што многу повеќе веб апликации користат SQL од мобилен телефон. 775 00:54:02,030 --> 00:54:05,580 >> И тогаш ние се уште видите некои крос-сајт скриптирање, овластување прашања, 776 00:54:05,580 --> 00:54:09,400 а потоа акредитивен управување, тоа е каде што имаш hardcoded лозинка. 777 00:54:09,400 --> 00:54:14,540 Во 5% од апликациите гледаме дека. 778 00:54:14,540 --> 00:54:17,970 А потоа имаме некои податоци за iOS. 779 00:54:17,970 --> 00:54:20,180 81% имале грешка ракување прашања. 780 00:54:20,180 --> 00:54:23,130 Ова е повеќе од кодот квалитет проблем, 781 00:54:23,130 --> 00:54:28,010 но 67% имале криптографски прашања, па не е толку лоша како Андроид. 782 00:54:28,010 --> 00:54:32,440 Можеби API-јата се малку полесно, на пример кодови малку подобро за iOS. 783 00:54:32,440 --> 00:54:35,420 Но сепак многу висок процент. 784 00:54:35,420 --> 00:54:39,040 Имавме 54% со информации протекување, 785 00:54:39,040 --> 00:54:42,080 околу 30% со тампон управување грешки. 786 00:54:42,080 --> 00:54:45,930 Тоа е места каде што има потенцијално би можело да биде проблем меморија корупцијата. 787 00:54:45,930 --> 00:54:50,350 Излезе дека тоа не е како голем дел од проблемот за експлоатација 788 00:54:50,350 --> 00:54:56,450 на iOS, бидејќи сите го кодот мора да биде потпишан, 789 00:54:56,450 --> 00:55:02,210 така што е тешко за напаѓачот да се изврши арбитрарен код на iOS. 790 00:55:02,210 --> 00:55:07,880 Кодот квалитет, директориум traversal, но потоа прими акредитивните писма за управување тука во 14,6%, 791 00:55:07,880 --> 00:55:09,250 па полошо отколку на Андроид. 792 00:55:09,250 --> 00:55:13,240 Имаме луѓе не ракување лозинки правилно. 793 00:55:13,240 --> 00:55:15,790 А потоа нумерички грешки и buffer overflow, 794 00:55:15,790 --> 00:55:22,680 тие се повеќе ќе биде квалитетот на кодот прашањата за iOS. 795 00:55:22,680 --> 00:55:26,110 >> Дека тоа било во мојата презентација. Јас не знам дали ние сме надвор од времето или не. 796 00:55:26,110 --> 00:55:29,540 Не знам дали има било какви прашања. 797 00:55:29,540 --> 00:55:33,220 [Машко] А брз прашање околу фрагментација и Андроид пазар. 798 00:55:33,220 --> 00:55:36,240 Јаболко најмалку поседува амандман. 799 00:55:36,240 --> 00:55:40,780 Тие се направи добра работа за добивање на тоа таму додека помалку во Андроид простор. 800 00:55:40,780 --> 00:55:44,280 Можете речиси треба да jailbreak вашиот телефон да остане актуелна 801 00:55:44,280 --> 00:55:46,660 со актуелното издание на Андроид. 802 00:55:46,660 --> 00:55:50,960 Да, тоа е голем проблем и така, ако мислиш за- 803 00:55:50,960 --> 00:55:52,280 [Машко] Зошто не може да го повтори? 804 00:55:52,280 --> 00:55:55,610 >> О, десно, така што прашање е она за фрагментација 805 00:55:55,610 --> 00:56:00,410 на оперативниот систем на Android платформата? 806 00:56:00,410 --> 00:56:05,890 Како тоа влијае на ризичноста на тие уреди? 807 00:56:05,890 --> 00:56:09,700 А тоа всушност е огромен проблем, бидејќи она што се случува е 808 00:56:09,700 --> 00:56:15,110 постарите уреди, кога некој влегува со jailbreak-от за тој уред, 809 00:56:15,110 --> 00:56:19,960 во суштина тоа е привилегија ескалација, и се додека тој оперативен систем се ажурираат 810 00:56:19,960 --> 00:56:25,350 тогаш секој малициозен софтвер може да се користи и дека ранливоста да се целосно компромис на уредот, 811 00:56:25,350 --> 00:56:30,200 и она што го гледате на Андроид е со цел да се добие нов оперативен систем 812 00:56:30,200 --> 00:56:34,690 Google е да се стави надвор од оперативниот систем, а потоа на произведувачот на хардверот 813 00:56:34,690 --> 00:56:39,390 мора да го изберете, а потоа на превозникот мора да го прилагодите и да ги даде. 814 00:56:39,390 --> 00:56:43,070 Имате основа 3 подвижни делови тука, 815 00:56:43,070 --> 00:56:47,210 и тоа е така излегува дека превозници не се грижат, 816 00:56:47,210 --> 00:56:50,400 и хардвер производители не ми е гајле, и Google не е да ги prodding доволно 817 00:56:50,400 --> 00:56:54,430 да се направи нешто, па во суштина повеќе од половина од уреди таму 818 00:56:54,430 --> 00:57:00,590 имаат оперативни системи кои ги имаат овие привилегија ескалација пропусти во нив, 819 00:57:00,590 --> 00:57:08,440 и така ако добиете малициозен софтвер на вашиот Андроид уред тоа е многу повеќе од еден проблем. 820 00:57:08,440 --> 00:57:10,350 >> Океј, ти благодарам многу. 821 00:57:10,350 --> 00:57:12,310 [Аплауз] 822 00:57:12,310 --> 00:57:14,310 [CS50.TV]