[Семинар] [одбрана зад уред: Мобилна апликација за безбедност] [Крис Wysopal] [Универзитетот Харвард] [Ова е CS50.] [CS50.TV] Добар ден. Моето име е Крис Wysopal. Јас сум CTO и ко-основач на Veracode. Veracode е апликација компанија за безбедност. Ние тестираат сите видови на различни апликации, и она што јас ќе одам да се зборува за денес е мобилна апликација за безбедност. Мојата позадина е Сум бил прават безбедносни истражувања за многу долго време, веројатно е за онолку долго колку што никого. Почнав во средината на 90-тите години, и тоа беше едно време, што беше прилично интересен бидејќи имавме парадигма промена во средината на 90-тите години. Сите компјутерски одеднаш сите се уредила на интернет, а потоа моравме почетоците на веб апликации, и тоа е она што јас се фокусираше на многу тогаш. Тоа е интересно. Сега имаме уште една промена парадигма случува со компјутери, што е промената на мобилни апликации. Сметам дека тоа е еден вид на слични време, тогаш тоа е во доцните 90-ти кога бевме истражување на веб апликации и наоѓање на дефекти како сесија за управување со грешки и SQL инјекција кои, навистина, не постоел претходно и одеднаш тие беа насекаде во веб апликации, и сега многу од времето го минувам е во потрага на мобилни апликации и гледа во она што се случува таму во дивината. Мобилни апликации се навистина се случува да биде доминантен компјутерска платформа, па ние навистина треба да се трошат многу време ако сте во безбедносната индустрија фокусирајќи се на веб апликации. Има 29 милијарди мобилни апликации симнати во 2011 година. Тоа е предвидено дека ќе биде 76 милијарди апликации од 2014 година. Има 686 милиони уреди кои се случува да се купи оваа година, па ова е местото каде што луѓето се случува да се прави  поголемиот дел од нивниот клиент компјутерите оди напред. Јас разговарав со потпретседател на Фиделити инвестиции Пред неколку месеци, а тој рече дека тие само видов повеќе сообраќај прави финансиски трансакции од нивниот клиент база на нивните мобилни апликации отколку на нивниот веб-сајт, па општа употреба за Веб во минатото беше проверка на вашата берзанските, управување со вашето портфолио, и ние сме всушност гледаат дека во 2012 година префрлиме да биде подоминантен на мобилна платформа. Секако, ако има ќе биде кој било криминални активности, било малициозни активности, тоа се случува да се започне да се фокусира на мобилна платформа со текот на времето како луѓе да ги префрлиме на тоа. Ако се погледне на мобилна платформа, да се погледне на ризици на платформа тоа е корисно да го срушат во различни слоеви, исто како тебе би го направил тоа на десктоп компјутер, и мислите за различни слоеви, софтвер, оперативен систем, мрежниот слој, хардвер слој, и, се разбира, има слабости на сите оние слоеви. Истото се случува на мобилен телефон. Но, мобилни, се чини дека некои од оние слоеви се во полоша ситуација. За еден, на мрежниот слој е попроблематична на мобилен затоа што многу луѓе го имаат во нивната канцеларија или дома жичен врски или имаат безбедна Wi-Fi конекции, и со многу мобилни уреди ти си очигледно надвор од дома или надвор од канцеларија многу, и ако сте со користење на Wi-Fi постои можеби ќе биде со користење на небезбедна Wi-Fi конекција, нешто што е јавна Wi-Fi конекција, па кога ќе се размислува за мобилни апликации ние мора да се земе во предвид дека мрежата на животната средина е поризични за оние апликации кога Wi-Fi се користи. И кога ќе се влезе во повеќе од мобилна апликација ризици ќе видите зошто тоа е повеќе важно. Постојат ризици на хардвер ниво на мобилни уреди. Ова е област на тековните истражувања. Луѓето го нарекуваат овие широкопојасен интернет напади или baseband-напади каде што сте напаѓање на firmware-от дека е слушање на радио. Овие се навистина страшно напади, бидејќи корисникот не треба да правите ништо. Може да се погоди многу уреди во рамките на RF спектар одеднаш, и ми се чини дека секогаш кога ова истражување меури таа брзо добива доверливи кога луѓе пикирам околу и да каже: "Еве, да ни кажете за тоа, и ве молиме да престане да зборува за тоа." Има некои истражувања се случува во широкопојасниот интернет област, но се чини дека да се биде многу молкот молкот. Мислам дека тоа е повеќе од национална држава тип на истражување што се случува. Површина на активно истражување, сепак, е оперативен систем слој, и повторно, ова е различно отколку во десктоп компјутери во светот бидејќи во мобилната простор имате овие тимови на луѓе наречена jailbreakers, и jailbreakers се различни од редовните ранливост истражувачите. Тие се обидуваат да се најде слабостите во оперативниот систем, но причината тие се обидуваат да се најде слабостите не е да се се скрши во машина на некој друг и компромис неа. Тоа е да се пробие во нивниот сопствен компјутер. Тие сакаат да се пробие во нивниот сопствен мобилен, менувате своите мобилни оперативен систем така што тие можат да ги стартува апликациите на нивниот избор и се променат работите со целосен административен дозволи, и тие не сакаат да им кажам на продавачот за тоа. Тие не се допаѓа безбедност истражувач кој е бела капа, безбедност истражувач која се случува да се направи одговорен откривање и кажете на продавачот за тоа. Тие сакаат да го направите ова истражување, и тие сакаат да всушност го објавувам во еден подвиг или rootkit или jailbreak-от код, и тие сакаат да го прават тоа стратешки, како веднаш по продавачот бродови на новиот оперативен систем. Имате овој спротивставениот однос со оперативен систем на ниво слабостите на мобилен, што мислам дека е доста интересно и едно место ние ја видите е тоа го прави така што постои добра објавена искористат кодот таму за кернелот ниво слабости, и видовме оние кои всушност се користи од страна на малициозен софтвер писатели. Тоа е малку различен од PC светот. А потоа на завршниот слој е на врвот слој, слој апликација. Тоа е она што јас ќе одам да се зборува за денес. На другите слоеви постојат, и другите слоеви игра во него, но јас сум претежно се случува да се зборува за она што се случува во примената слој каде кодот е вклучен во песокот. Тоа не мора административни привилегии. Таа треба да се користи API-јата на уредот, но сепак, многу од малициозни активност и многу на ризик може да се случи тој слој затоа што тоа е слој каде што сите информации е. Апликации може да пристапите до сите информации за уредот ако тие имаат право на дозволи, и тие може да пристапите до различни сензори на уредот, ГПС сензор, микрофон, камера, она што го имате. Иако ние сме само зборува за во примената слој имаме многу на ризик таму. Од друга работа што е различно за мобилни животната средина е сите играчи на оперативниот систем, било да е тоа BlackBerry или Андроид или iOS или Windows Mobile, сите тие имаат парична казна грануларен дозвола модел, и ова е еден од начините на кои тие се вградени во оперативниот систем идејата дека тоа не е како ризично како што мислите. Иако имаш сите ваши контакти таму, сите ваши лични информации, имате вашите фотографии, имате вашата локација таму, сте чување на вашата банкарска игла за автомацко најава за таму, тоа е безбедно, бидејќи апликации треба да имаат одредени дозволи за да се добие во некои делови на информации за уредот, и корисникот мора да бидат претставени со овие дозволи и да каже во ред. Проблемот со тоа е на корисникот секогаш вели во ред. Како безбедноста лице, знам дека може да го поттикне на корисникот, кажете нешто навистина лошо ќе се случи, дали сакате тоа да се случи? И ако тие се во брзање или има нешто навистина примамливата на другата страна на тоа, како игра се случува да биде инсталиран дека тие се чека, тие ќе кликнете во ред. Тоа е зошто велам на мојот слајд тука само да ме фрла птици во свињи веќе, и можете да видите на слајд тука има примери на BlackBerry дозвола кутија. Таа вели: "Ве молиме поставете на BlackBerry Патување апликација дозволи по кликнување на копчето подолу, "и во основа на корисникот е само случува да се каже поставите дозволи и спаси. Тука е Андроид брза каде што се покажува работи, а тоа всушност го става нешто што речиси изгледа како предупредување. Тоа доби еден вид на родот знак таму велејќи мрежа за комуникација, телефонски повик, но корисникот ќе кликнете инсталирате, нели? А потоа еден на Apple е целосно безвреден. Тоа не даде било каков вид на предупредување. Тоа е само на Apple би сакале да користите Вашата моментална локација. Се разбира дека си оди за да кликнете во ред. Постои оваа ситно-грануларен дозвола модел, и апликации мора да имаат манифестира датотека каде што тие се изјасни на дозволи што им треба, и дека ќе се прикажува на корисникот, и корисникот ќе мора да се каже дека одобрат овие дозволи. Но, ајде да бидеме искрени. Корисници се само случува да се каже секогаш во ред. Да го земеме еден брз поглед на тоа каква привилегија дека овие апликации се прашуваат за и некои од дозволите кои се таму. Оваа компанија Преторијанското направи истражувањето направено минатата година на 53.000 апликации анализирани во Андроид пазар и 3-ти пазари, па ова е за сите Андроид. А просечната стан бара 3 дозволи. Некои апликации бара 117 дозволи, па очигледно е дека овие се многу фини грануларен и премногу комплексни за на корисникот да се разбере ако тие се претставени со овој стан дека треба овие 117 дозволи. Тоа е како на крајниот корисник договорот за лиценца, тоа е 45 страници. Можеби наскоро тие ќе имаат опција каде што тоа е како печати дозволи и ме испрати е-маил. Но, ако погледнеме некои од најдобрите интересни дозволи 24% од апликации кои тие ја преземале од 53.000 побара GPS информации од уредот. 8% прочитате контакти. 4% испратени SMS и 3% примени SMS. 2% снимени аудио. 1% обработени појдовни повици. Не знам. Јас не мислам дека 4% од апликации во App Store навистина треба да испрати СМС текстуални пораки, па мислам дека тоа е знак дека нешто непокорен се случува. 8% на апликации треба да ја прочитате вашата листа на контакти. Тоа е веројатно не е потребно. Еден од други интересни работи за дозволи е ако водат во споделени библиотеки во вашата апликација оние наследат дозволите на апликацијата, Значи, ако вашиот стан треба листата на контакти или треба локацијата GPS да функционира и ти линк во рекламна библиотеката, на пример, таа реклама библиотека, исто така, ќе бидат во можност да пристапите до контакти а исто така да биде во можност да пристапите до локација GPS, и на инвеститорот на стан не знае ништо за код кој е водење во рекламата библиотека. Тие се само поставување врски дека во затоа што тие сакаат да заработат нивните стан. Ова е местото каде-и јас ќе се зборува за некои примери на тоа со апликација наречена Пандора каде апликација инвеститорот несвесно може да биде протекување информации од своите корисници, бидејќи на библиотеки, кои го поврзана внатре Геодетски пејзажот таму, гледајќи во сите различни апликации кои се пријавени во вестите како злонамерни или прави нешто корисници не сакаат а потоа инспекција многу апликации-тоа го правиме многу на статички бинарен анализа на мобилни апликации, па сме ги прегледаат и го погледна кодот себе- дојдовме со она што ние го нарекуваме нашата Топ 10 листа на ризично однесување во апликации. И тоа е расчленети на 2 дела, малициозен код, па овие се лоши нешта за кои апликации може да се прави тоа најверојатно, ќе биде нешто што малициозен поединечни конкретно стави во примена, но тоа е малку нејасни. Тоа би можело да биде нешто што инвеститорот мисли дека е во ред, но тоа завршува се смета за злонамерни од страна на корисникот. И тогаш започна вториот дел е она што ние го нарекуваме кодирање пропусти, и овие се нештата каде што инвеститорот во основа е правење на грешки или едноставно не се разбере како да се напише на стан безбедно,  и тоа е ставање на стан корисникот во ризик. Одам да поминат низ овие во детали и да даде некои примери. За повикување, сакав да го постави на OWASP мобилен топ 10 листа. Овие се 10 прашања што група на OWASP, Проектот Отвори веб апликација за безбедност, тие имаат работна група работи на мобилен топ 10 листа. Тие имаат многу познат веб топ 10 листа, кои се на врвот 10 најризичните работи што можете да ги имаат во веб апликацијата. Што го правиш истото за мобилни, и нивната листа е малку различен од нашиот. 6 од 10 се исти. Тие имаат 4, кои се различни. Јас мислам дека тие имаат малку поинаков преземе во врска ризик во мобилни апликации каде што многу од нивните проблеми се навистина како примената е комуницирањето со back-end серверот или она што се случува на back-end серверот, не толку многу апликации кои имаат ризично однесување, кои се само директна клиент апликации. Оние во црвено тука се разликите помеѓу 2 листи. И некои од моите истражувачки тим, всушност, придонесе за овој проект, па ќе видиме што ќе се случи со текот на времето, но мислам дека на готова брза тука е ние навистина не знам што на топ 10 листата е во мобилни апликации, бидејќи тие навистина само околу за 2 или 3 години, и таму не е доволно време да се навистина истражување на оперативни системи и она што тие се способни за, и таму не е доволно време за злонамерни заедница, ако сакате, да го поминам доволно време обидуваат да го нападне корисници преку мобилни апликации, така што очекувам овие листи да се промени малку. Но, за сега, тие се првите 10 работи кои треба да се грижите. Може да се прашувам на мобилниот страна, каде што го прави малициозни мобилни код- како не го добие на уредот? Северна Каролина државен има проект наречен геном Мобилни Malware каде што тие го собираат колку мобилни малициозен софтвер, како тие можат и анализирање на тоа, и тие го разурне инјекција вектори дека мобилниот малвер ги користи, и 86% користат техника наречена пакување, и ова е само на Android платформата може да ви навистина направи ова препакување. Причината е Андроид кодот е изграден со Јава бајт код наречен Dalvik кој е лесно decompilable. Што лошо момче да направите е да земе Андроид апликација, таа разделувате, вметнете своите малициозен код, тоа прекомпајлирате, и потоа и го стави во App Store се осмислува како нова верзија на таа апликација, или само можеби промена на името на апликацијата. Ако тоа беше некој вид на игра, го промени името малку, па така ова препакување е како 86% на мобилни малициозен софтвер добива дистрибуирани. Има уште една техника наречена надградба која е многу сличен на препакување, но вие всушност не се стави на малициозен код внатре Она што го правите е да се стави во мал ажурирање механизам. Можете разделувате, ќе се стави во механизам за ажурирање, и ќе ја прекомпајлирате, а потоа кога стан е трчање повлекува по малициозен софтвер на уредот. Најголемиот дел се оние 2 техники. Таму не е навистина многу симнување диск минувачи или возење со преземања на мобилни телефони, кој може да биде како обид за phishing. Еј, проверете го овој навистина кул веб-сајт, или треба да одам на оваа веб страна и да ги пополните овој формулар да продолжите да направите нешто. Тие се phishing напади. Истото може да се случи на мобилна платформа каде што укажуваат на мобилен стан за да ја преземете, велат "Здраво, ова е Банката на Америка". "Гледаме сте со користење на оваа апликација." "Мора да преземете оваа друга апликација." Теоретски, кои би можеле да работат. Можеби тоа не се користи доволно за да се утврди дали тоа е успешно или не, но тие откриле дека помалку од 1% од времето таа техника се користи. Поголемиот дел од времето тоа е навистина препакувани код. Има уште една категорија наречена самостојни каде некој само гради сосема нова апликација. Тие градат апликација која настојува да биде нешто. Тоа не е препакување на нешто друго, и дека има малициозен код. Кој се користи 14% од времето. Сега сакам да се зборува за она што е малициозен код правиш? Една од првите малициозен софтвер таму може да сметаат дека шпионски софтвер. Тоа во основа шпиони на корисникот. Собира пораки, СМС пораки. Таа се врти на микрофон. Тоа реколти контакт книга, и тоа го праќа исклучување на некој друг. Овој тип на шпионски софтвер постои на компјутер, па тоа го прави совршена смисла за луѓето да се обиде да го направи тоа на мобилни уреди. Еден од првите примери за ова беше една програма наречена Тајната СМС Replicator. Тоа беше во Андроид пазар неколку години, и идејата е ако сте имале пристап до нечија Android телефон што си сакал да ги шпионираат, па можеби тоа е вашиот брачен другар или вашиот значајни други и сакате да ги шпионираат своите СМС пораки, можете да го симнете овој стан и да ја инсталирате и конфигурирате тоа да пратите SMS текстуална порака до тебе со копија на секој SMS текстуална порака ги добија. Ова очигледно е во прекршување на App Store условите на услугата, и ова беше отстранет од Андроид пазар во рок од 18 часа од неа се таму, па многу мал број на луѓе се изложени на ризик поради ова. Сега, мислам дека ако програмата се викаше нешто можеби малку помалку провокативен како Тајната СМС Replicator тоа веројатно би работеле многу подобро. Но, тоа беше вид на очигледни. Една од работите можеме да направиме за да се утврди дали апликации имаат оваа однесување кое не сакаме е да извршат инспекција на кодот. Ова е всушност навистина лесно да се направи на Андроид затоа што може да разделувате апликации. На iOS можете да го користите disassembler како ИДА Про да се погледне во она што API-јата на стан е повик и она што таа го прави. Ние напиша нашите сопствени бинарни статички анализатор за нашиот код и го правиме тоа, и така она што може да направите е да може да се каже значи уред направи нешто што е во основа шпионирањето на мене или ме за следење? И имам некои примери тука на iPhone-от. Овој прв пример е како да пристапите на UUID на телефонот. Ова е всушност нешто што Apple штотуку забранети за нови апликации, но старите апликации кои може да се извршува на Вашиот телефон се уште може да го направите ова, и така што единствен идентификатор може да се користи за да ги пратите во многу различни апликации. На Андроид, јас имам еден пример тука за добивање на локација на уредот. Можете да видите дека ако тоа API на повик е таму дека стан е за следење, и можете да видите дали станува парична казна локација или груб локација. А потоа на дното овде, имам пример за тоа како на BlackBerry апликација може да пристапите на e-mail пораки во вашето сандаче. Овие се вид на работи што може да прегледате за да ја видите ако стан прави тие работи. Втората голема категорија на малициозни однесување, и ова е веројатно најголемиот категорија сега, е неовластено бирање, неовластено премија текстуални пораки или неовластено исплати. Друга работа која е уникатна за телефон е уред е закопчан до платежна сметка, и кога активностите се случи на телефонот тоа може да создаде обвиненија. Можете да ги купите работи во текот на телефон, и кога ќе се испрати премија SMS текстуална порака ти си, всушност давање пари на носителот на сметката на телефонскиот број на другата страна. Овие беа поставени за да се добие берзанските или да земете вашиот дневен хороскоп или други работи, но тие може да се постави да нарачате производ со испраќање на SMS текст. Луѓе даваат пари за Црвениот крст со испраќање на текстуална порака. Може да се даде $ 10 на тој начин. Напаѓачите, она што тие го направиле е дека тие се постави сметки во странски земји, и тие го вградите во малициозен софтвер дека телефонот ќе испрати премија SMS текстуална порака, велат, неколку пати на ден, и на крајот на месецот ќе сфатиш дека си поминав десетици или можеби дури и стотици долари, и тие одиме подалеку со пари. Ова доби толку лошо дека ова е многу првото нешто што на Андроид Пазар или на Google место-тоа беше на Андроид пазар во тоа време, и тоа е сега Google Play-првото нешто што Google започна проверка за. Кога Google започна со издавање Андроид апликации во нивните App Store тие рекоа дека не се случува да се провери за ништо. Ние ќе се повлече апликации еднаш сме се најавиле дека сме скршени нашите услови на користење, но ние нема да се провери за ништо. Па, пред околу една година го доби толку лошо со оваа премија SMS текстуална порака малициозен софтвер дека ова е многу првото нешто што започна проверка за. Ако еден стан може да испрати SMS текстуални пораки тие понатаму рачно изанализира таа апликација. Тие се погледне за API кои ова го нарекуваат, и сега, бидејќи тогаш Google го прошири, но ова беше првото нешто што тие почнаа да бараат. Некои други апликации кои не некои текстуални пораки, овој Андроид Qicsomos, претпоставувам дека тоа се нарекува. Имаше оваа сегашната настан на мобилен кога тоа CarrierIQ излезе како шпионски софтвер стави на уредот од страна на превозниците, па луѓето сакаат да знаат дали нивните телефон беше подложен на ова, и ова беше бесплатен стан, што тестирани тоа. Па, се разбира, она што овој стан го правеше беше за да го испрати премија текстуални пораки, па од страна на тестирање за да видите дали сте инфицирани со spyware ставената малициозен софтвер на Вашиот уред. Видовме истото се случи во последен Супер Боул. Имаше лажни верзија на Madden фудбалски натпревар оној кој ја испратил премија текстуални пораки. Тоа всушност се обиделе да создадат бот мрежа премногу на уредот. Тука имам некои примери. Интересно, Apple беше прилично паметни, и тие не дозволуваат апликации да испрати СМС текстуални пораки. Нема стан може да го направи тоа. Тоа е одличен начин да се ослободиме од цела класа на ранливост, но на Android ќе може да го направи тоа, и се разбира, на BlackBerry можете да го прават тоа премногу. Интересно е дека на BlackBerry сите што ви треба е интернет дозволи да пратите SMS текстуална порака. Од друга работа навистина дека ние се погледне за кога ние сме во потрага да се види дали нешто е злопамтило е само било каков вид на неавторизирани мрежни активности, како да се погледне на мрежна активност стан би требало да имаат да имаат нејзината функционалност, и се погледне на овој и други мрежна активност. Можеби еден стан, да работат, мора да се добие податоци преку HTTP, но ако тоа е вршење на работите преку е-мејл или СМС или Bluetooth или нешто слично сега дека стан потенцијално може да биде штетен, па ова е уште една работа што може да врши увид за. И на овој слајд тука имам некои примери за тоа. Уште една интересна работа што ја видовме со малициозен софтвер се случи уште во 2009 година, и тоа се случи во голема начин. Јас не знам дали тоа се случило толку многу од тогаш, но тоа беше еден стан дека impersonated друга апликација. Имаше сет на апликации, и тоа беше наречена 09Droid напад, и некој одлучи дека имало многу мали, регионални, средни банки кои немаа интернет банкарство апликации, Значи она што го правеше беше за тие градат околу 50 интернет банкарство апликации дека сите тие го направив беше да ги преземат корисничко име и лозинка и ви се пренасочува кон веб страната. И така тие се стави овие сите во на Google пазар, во Андроид пазар, и кога некој бара да се види дали нивната банка имаше барање тие ќе го најде лажен апликација, кои собираат нивните акредитиви и потоа да ги пренасочи кон нивниот веб-сајт. Начинот на кој тоа всушност стана-апликации беа таму за неколку недели, и имаше илјадници и илјадници на симнувања. Начинот на кој оваа излегоа на виделина беше некој има проблем со една од апликациите, и тие се нарекува нивната банка, и тие се нарекува нивната банката корисничка подршка линија и рече: "Имам проблем со вашиот мобилен банкарство апликација." "Можете ли да ми помогне?" А тие рекоа: "Немаме мобилен банкарство апликација." Која започна истрагата. Таа банка наречен Google, а потоа на Google погледна и рече: "Леле, истиот автор има напишано 50 банкарски апликации," и ги презеле сите ги надолу. Но, секако тоа би можело да се случи повторно. Тука е листа на сите различни банки тука кои беа дел од оваа измама. Од друга работа еден стан може да направи е присутна на графичката околина на друга апликација. Додека тоа е водење тоа би можело да pop-up на Фејсбук на графичката околина. Таа вели дека треба да се стави во вашето корисничко име и лозинка за да продолжите или да се стави на било корисничко име и лозинка адаптери за веб-сајт дека можеби корисникот го користи само за да се обиде да трик на корисникот во кријат своите акредитивни писма внатре Ова е навистина прави паралела на е-мејл фишинг напади каде што некој ви праќа е-мејл порака и ви дава основа лажен адаптери за веб-сајт дека вие имате пристап до. Од друга работа што барате малициозен код е систем модификација. Може да се погледне за сите API повици кои бараат коренот привилегија да се изврши правилно. Менување на веб прокси на уредот ќе биде нешто што на барање не треба да биде во можност да го стори. Но, ако барањето има код во таму за да го направите тоа знаеш дека тоа е веројатно малициозен апликација или многу многу веројатно да биде штетен апликација, и така што ќе се случи е дека стан ќе има некој начин на ескалацијата на привилегии. Тоа ќе има некои привилегија ескалација искористат во пријавата, а потоа, откако таа ескалираа привилегии тоа ќе го направи овие системски промени. Можете да најдете малициозен софтвер кој има привилегија ескалација во неа, дури и без да знаат како привилегија ескалација искористат ќе се случи, и тоа е убав, лесен начин да се погледне за малициозен софтвер. DroidDream беше веројатно најпознатиот дел од Андроид малициозен софтвер. Мислам дека погодени околу 250.000 корисници во текот на неколку дена пред да биде пронајдена. Тие препакувани 50 лажни апликации, ги стави во Андроид App Store, и во суштина го користат Андроид jailbreak-от код да ескалира привилегии и потоа инсталирајте команда и контрола и да се сврти на сите жртви во бот нет, но може да се открие овој ако сте биле скенирање на апликација и само барате API повици кои се бараат корен дозвола да се изврши правилно. И таму е еден пример тука имам што е промена на прокси, и ова всушност е достапна само на Андроид. Можете да видите јас сум ви даваат многу примери на Андроид бидејќи ова е местото каде најактивните малициозен софтвер екосистем е затоа што тоа е навистина лесен за напаѓачот да се добие малициозен код во Андроид пазар. Тоа не е така лесно да го направи тоа во Apple App Store бидејќи Apple бара програмери да се идентификуваат себеси и да го потпише код. Тие всушност се провери кој сте, и Apple е всушност преглед на апликациите. Ние не ги гледаме многу точно малициозен софтвер каде што уредот е добивање компромитиран. Јас ќе се зборува за некои примери каде тоа е навистина приватност и тоа е добивање компромитиран, и тоа е она што навистина се случува на Apple уред. Друга работа е да се погледне за малициозен код, ризично кодот во уреди логика или време бомби, и време бомби веројатно многу полесно да се погледне за од логиката бомби. Но со текот на времето бомби, што можете да направите е да може да се погледне за места во кодот каде што времето се тестира или апсолутна времето погледна за пред некои функции во стан случува. И ова би можело да се направи за да се скрие таа активност од страна на корисникот, па тоа се случува доцна во ноќта. DroidDream не сите својата дејност 11:00-08:00 по локално време да се обиде да го направи тоа, додека на корисникот не може да се користи нивното уред. Друга причина да го направите ова е ако луѓето се користи анализа на однесувањето на апликацијата, водење на стан во песок за да видите што однесувањето на пријавата е, можат да ги користат време-базирани логика да се направи на дејноста кога стан не е во песокот. На пример, на App Store како Apple раководи со органот на примена, но тие веројатно не се кандидира секој апликација за, да речеме, 30 дена пред одобрување него, па може да се стави логика во вашата апликација што рече, во ред, само што лошо по 30 дена помина од или по 30 дена од денот на примената објавуваат, и дека може да им помогне на малициозен код кријат од луѓе инспекција за тоа. Ако анти-вирус компании се работи работи во sandboxes или на стан самите продавници се ова може да помогне кријат дека од таа инспекција. Сега, друга страна на тоа е тоа е лесно да се најде со статичка анализа, па всушност инспекција на кодот можете да се погледне за сите места каде што примената тестови време и увид на тој начин. И тука имам некои примери за овие 3 различни платформи колку време може да се провери од страна на стан произведувач па да знаете што да барате ако сте инспекција на стан статички. Јас само помина низ еден куп на различни малициозни активности дека ние сме виделе во дивината, но кои од нив се најмногу распространети? Истата студија од Северна Каролина државен Мобилни геном објави некои податоци, и таму беа во основа 4 области дека виделе каде што имаше голем број на активности. 37% од апликации не привилегија ескалација, па морале некои од типот на jailbreak-от код во таму каде што се обидуваа да ескалира привилегии, така што тие би можеле да се API команди работи како оперативен систем. 45% од апликации таму не премиум SMS порака, па тоа е огромен процент кој се обидува да директно заработат. 93% не далечински управувач, па тие се обиделе да се постави бот нет, мобилен бот мрежата. И 45%, собрани идентификување на информации како телефонски броеви, UUIDs, GPS локација, кориснички профили, и овој додава до повеќе од 100, бидејќи повеќето малвер се обидува да направи неколку од овие работи. Одам да се префрлат на втората половина и да разговараат за код слабости. Ова е втората половина на ризична активност. Ова е местото каде во суштина инвеститорот прави грешки. А легитимни инвеститорот пишување легитимен стан е правење грешки или е неук на ризиците од мобилна платформа. Тие едноставно не знаат како да се направи безбедна мобилен стан, или понекогаш инвеститорот не се грижи за ставање на корисникот во ризик. Понекогаш дел од нивниот бизнис модел може да биде бербата лични информации на корисникот. Тоа е вид на друга категорија, а тоа е зошто некои од овој малициозен наспроти легитимните почнува да го изменува бидејќи има разлика на мислење помеѓу она што корисникот сака и она што корисникот го смета ризично и она што апликација инвеститорот смета ризично. Се разбира, тоа не е на податоци примена инвеститорот во повеќето случаи. И тогаш, конечно, уште еден начин ова се случува е инвеститорот може да се поврзе во заедничка библиотека која има слабости или ова ризично однесување во него непознат за нив. Првата категорија е чувствителни податоци протекување, а тоа е кога на стан собира информации како локација, адресар информации, информации за сопственикот и ја праќа таа го уредот. И еднаш тоа е надвор од уредот, не знаеме што се случува со таа информација. Тоа би можело да се чуваат несигурно со примена инвеститорот. Видовме апликација програмери се компромитирани, и податоците дека тие се чување добива преземат. Ова се случи пред неколку месеци на инвеститорот долу во Флорида каде што огромен број на-тоа беше iPad UUIDs и имиња уред беа протекоа затоа што некој, мислам дека тоа беше анонимна, тврди да го направите ова, провалил во серверите оваа инвеститорот и украле милиони iPad UUIDs и компјутерски имиња. Не најризичните информации, но што ако тоа беше за складирање на кориснички имиња и лозинки и домашни адреси? Има многу апликации кои ги чувате таков вид на информации. Ризикот е таму. Од друга работа што може да се случи е ако инвеститорот не се грижи да се обезбеди податоци канал, и тоа е уште една голема ранливост, ќе одам да се зборува за, дека податоците се праќаат во јасна. Ако корисникот не е на јавен Wi-Fi мрежа или некој кои душкаат интернет некаде по патот што податоците се изложени. Еден многу познат случај на оваа истекување информации што се случи со Пандора, и ова е нешто што ние истражуван на Veracode. Слушнавме дека има-Мислам дека тоа беше Федералната комисија за трговија Истрагата се случува со Пандора. Ние рече: "Што се случува таму? Да почнеме копа во Пандорината апликација." И она што го одредува беше Пандора апликација собрани вашиот пол и вашата возраст, а исто така се пристапи вашиот GPS локација, и Пандора апликација направив ова за она што го рече, биле легитимни причини. Музиката што тие ја играа-Пандора е музика стриминг стан- музиката што ја свиреа беше само лиценцирани во Соединетите Американски Држави, па морале да се провери да се усогласат со нивните договори за лиценца кои тие имаа за музика која корисникот е во САД. Тие исто така, сакаше да се усогласат со родителска советодавни околу јазик за возрасни во музиката, и така тоа е доброволна програма, но тие сакаа да се усогласат со кој и не игра експлицитна лирика на децата 13 и под. Тие имаа легитимни причини за собирање на овие податоци. Нивните стан имаа дозволи за да го направи тоа. Корисниците дека ова е легитимен. Но, она што се случи? Тие се поврзани во 3 или 4 различни реклама библиотеки. Сега одеднаш сите овие реклама библиотеки се добива пристап до оваа истите информации. Реклама библиотеки, ако се погледне на кодот во рекламата библиотеки она што го прават е секоја реклама библиотека вели "Дали мојот стан немате дозвола да ја добие GPS локација?" "О, тоа не? Океј, кажи ми на локацијата GPS." Секој реклама библиотека прави тоа, и ако на стан не имаат GPS дозвола тоа нема да биде во можност да го добие, но ако го прави тоа, таа ќе го добие. Ова е местото каде што бизнис модел на рекламата библиотеки се противи на приватноста на корисникот. И имало студии таму што ќе каже, ако знаете на возраст на лице и знаеш нивната локација каде што спијам ноќе, затоа што имаат GPS координати додека тие можеби се спие, ќе знаат точно кои тоа лице е бидејќи може да се утврди кои член на домаќинството е тоа лице. Навистина ова е идентификување за рекламни точно кој сте, и тоа изгледа како да е легитимна. Јас само сакам мојата стриминг музика, и тоа е единствениот начин да го добие. Па, ние изложени ова. Ние напиша ова во неколку блог постови, и се покажа дека некој од списанието Rolling Stone , пишуваше на еден од нашите блог постови и напиша свој блог во Ролинг Стоун во врска со тоа, и веќе следниот ден Пандора мислев дека тоа е добра идеја да се отстрани рекламата библиотеки од нивната примена. Колку што знам тие се само-тие треба да се пофали. Мислам дека тие се единствените Freemium тип на апликација која има направено ова. Сите други Freemium апликации имаат оваа исто однесување, па имаш да се размислува за она што вид на податоците што се даваат овие Freemium апликации, бидејќи тоа е сите ќе рекламни. Преторијанското исто така, направи студија за споделени библиотеки и рече: "Ајде да ги погледнеме во она споделени библиотеки се на врвот споделени библиотеки", и тоа беше на податоци. Тие анализирале 53.000 апликации, и број 1 споделена библиотека беше Admob. Тоа беше всушност во 38% од апликациите таму, па 38% од апликациите што ја користите најверојатно бербата вашите лични информации и тоа испраќање на мрежи за рекламирање. Apache и Андроид беа 8% и 6%, а потоа овие други оние долу на дното, реклами на Google, Бран, МОБ Сити и илјадагодишната медиуми, овие се сите рекламирање компании, а потоа, интересно е доволно, 4% поврзани во библиотеката на Фејсбук веројатно да се направи проверка преку Фејсбук па стан може да се идентификувате на Фејсбук. Но, тоа исто така значи корпорацијата Фејсбук контролира код тоа е водење во 4% од Андроид мобилни апликации таму, и тие имаат пристап до сите податоци кои што стан има дозвола да се добие во. Фејсбук во суштина се обидува да го продаде рекламен простор. Тоа е нивниот бизнис модел. Ако се погледне на целиот овој екосистем со овие дозволи и споделени библиотеки ќе почнете да се види дека имате голем број на ризик во наводно легитимно барање. Исто нешто слично што се случи со Пандора се случи со апликација наречена Пат, и Пат сметав дека се корисни, пријателски програмери. Тие беа само се обидува да ви даде голем корисник искуство, и се покажа дека без прашува корисникот или раскажување на корисникот ништо- и ова се случило на iPhone и на Андроид, Пандорината стан беше на iPhone и Android- дека апликацијата пат бил грабање вашиот целиот адресар и ја подигнете на патот само кога ќе се инсталира и се стрча на апликацијата, и тие не ви кажам за ова. Тие помислиле дека станува навистина од голема помош за вас да бидат во можност да ги споделите со сите луѓе во вашиот адресар дека сте користење на апликација Пат. Па, очигледно Пат мислев дека ова е одлично за нивната компанија. Не толку голема за корисникот. Мора да мислат дека тоа е една работа, ако можеби тинејџер е користење на оваа апликација и нивните десетици пријатели се таму, но што ако тоа е извршниот директор на компанијата која инсталира Пат а потоа одеднаш целата нивна адреса книга е таму горе? Си оди за да се добие многу на потенцијално вредни информации за контакт за многу луѓе. Еден новинар од Њу Јорк Тајмс, може да биде во можност да се добие на телефонскиот број за екс претседатели од нивната адреса книга, па очигледно многу чувствителни информации добива пренесени со нешто како ова. Имаше толку голем размавта за тоа што Пат извини. Ќе го сменат стан, и тоа дури и влијание на Apple. Јаболко рече: "Ние ќе го присили стан продавачите да ги поттикне корисниците ако тие се случува да се соберат нивните целиот адресар. " Тоа изгледа како она што се случува тука е кога има една голема повреда на приватноста и тоа го прави на прес- можеме да видиме промена таму. Но, се разбира, има и други работи таму. На LinkedIn апликација жетви вашиот календар записи, но Apple не се направи на корисникот бидете прашани за тоа. Записи во календарот може да има доверливи информации во нив. Каде ќе одиш да исцртување на линија? Ова е навистина вид на развојот место каде што има навистина нема добар стандард таму за корисниците да се разбере кога нивните информации ќе бидат изложени на ризик и кога тие се случува да знаат дека тоа е се преземат. Ние напиша стан во Veracode наречен Adios, и во суштина тоа е дозволено да се укаже на стан во вашиот iTunes директориум и се погледне во сите апликации кои беа бербата вашиот полна адреса книга. И како што можете да видите на оваа листа овде, Лути птици, AIM, AroundMe. Зошто Лути птици треба вашиот адресар? Не знам, но тоа не некако. Ова е нешто што многу, многу апликации се направи. Можете да изврши увид во кодот за тоа. Има добро дефинирана API-јата за iPhone, Android и BlackBerry да се добие во адресарот. Вие навистина може лесно да врши увид за тоа, и тоа е она што ние го сторивме во нашата Adios апликација. Следниот категорија, Недостаток на најбезбедни чувствителни податоци за чување, е нешто каде што програмерите се нешто како игла или број на сметка или лозинка и чувајте го во јасна на уредот. Дури и полошо, тие би можеле да се чува во област на телефонот кој е глобално достапен, како SD картичка. Гледаш ова почесто на Андроид, бидејќи Андроид овозможува SD картичка. IPhone уреди не. Но, ние дури и видов ова се случи во Ситигруп апликација. Нивната онлајн банкарски апликација чуваат броеви на сметки несигурно, само во јасна, па ако сте ја изгубиле Вашиот уред, во суштина сте ја изгубиле вашата банкарска сметка. Ова е причината зошто јас лично не го сторат банкарски на мојот iPhone. Мислам дека тоа е премногу ризично токму сега да направиме овие видови на активности. Skype го направи истото. Skype, се разбира, има баланс на сметка, корисничко име и лозинка дека пристапот тој баланс. Ги чуваат сите информации во јасна на мобилниот уред. Имам некои примери овде за создавање на датотеки кои немаат право на дозволи или пишување на диск и не да има енкрипција случи тоа. Овој следната област, Недостаток на најбезбедни чувствителни податоци Пренос, Сум алудираше на тоа неколку пати, и поради јавноста за Wi-Fi ова е нешто што апликации апсолутно треба да се направи, и ова е веројатно она што го гледаме тргне наопаку најмногу. Јас би рекол-всушност, мислам дека имам вистински податоци, но тоа е блиску до половина на мобилни апликации завинтвам прави SSL. Тие едноставно не се користи API-јата правилно. Мислам, сите имате да направите е да се следат инструкциите и да го користите API-јата, но тие ги правите нештата како да не проверите дали има валиден сертификат на другиот крај, не провери дали другиот крај се обидува да направи записник сменат напад. На програмерите, тие сакаат да ги добијат полето, нели? Нивните услов е да го користите овој да го продаде. Тие ги користат оваа да го продаде. Условот не е да го користите овој да го продаде безбедно, и така тоа е причината зошто сите апликации кои ги користат SSL за да се обезбеди податоци како што е да биде пренесена исклучите уредот навистина треба да биде прегледано да бидете сигурни дека се спроведува правилно. И тука имам некои примери каде што можете да видите некоја апликација може да се користат за HTTP, наместо HTTPS. Во некои случаи апликации ќе се врати на HTTP ако HTTPS не е работа. Имам уште еден повик тука на Андроид каде што сум оневозможен проверка на сертификатот, па човек-во-средината нападот може да се случи. Невалиден сертификат ќе бидат прифатени. Овие се сите случаи каде што напаѓачите се случува да бидат во можност да се добие на на истата Wi-Fi конекција како корисник и пристап до сите податоци тоа е се испратени преку интернет. И, конечно, последната категорија имам тука е hardcoded лозинка и клучеви. Ние всушност се види многу од програмерите користат истата кодирање стил дека тие не кога тие беа градење на веб сервер апликации, па тие градиме серверот Java апликација, и тие се hardcoding клучот. Па, кога ќе градиме сервер апликација, да, hardcoding клучот не е добра идеја. Тоа го прави тешко да се промени. Но, тоа не е толку лошо на страната на серверот, бидејќи кој има пристап до серверот? Само администраторите. Но, ако го заземат истиот код и го истури во текот на мобилна апликација сега секој кој има што мобилна апликација има пристап до тие hardcoded клуч, а ние всушност ја гледаат оваа многу пати, и имам некои статистики од тоа колку често го гледаме тоа да се случи. Тоа всушност беше во пример код кој Мастеркард објавени за тоа како да ги користат нивните услуги. На пример кодот покажа како можете едноставно би го лозинката и го стави во hardcoded низа право таму, и знаеме како програмери сакаат да го копирате и залепите кодот фрагменти кога тие се обидуваат да се направи нешто, па можете да копирате и залепите кодот програмка дека тие дадоа како пример кодот, и имаш еден несигурен апликација. И тука имаме некои примери. Овој првиот е една можеме да видиме многу, каде што тие hardcode право на податоци во URL, кој добива испратени. Понекогаш гледаме низа лозинка = лозинка. Тоа е прилично лесно да се открие, или низа лозинка на BlackBerry и Android. Тоа е всушност прилично лесно да се провери за, бидејќи скоро секогаш инвеститорот имиња променлива тоа е одржувањето на лозинка некои варијации на лозинка. Јас спомнав дека тоа го правиме статичка анализа на Veracode, па ние сме анализирани неколку стотици Android и iOS апликации. Ние сме изградиле целосна модели од нив, и ние сме во состојба да ги скенира за различни слабости, особено слабости зборувам, и имам некои податоци тука. 68,5% од Андроид апликации ние погледна го прекршила криптографски код, која за нас, ние не може да се открие, ако сте направиле свој крипто рутина, не дека тоа е добра идеја, но тоа е, всушност, со користење на објавени API-јата кои се на платформа, но тоа нив на таков начин дека крипто ќе биде ранлив, 68,5. И ова е за луѓе кои се ни ги испратат своите апликации всушност затоа што тие мислат дека тоа е добра идеја да се направи безбедност тестирање. Овие се веќе луѓе кои се најверојатно мислејќи безбедно, така што е веројатно уште полошо. Јас не зборувам за контрола линија храна инјекција. Тоа е нешто што ние се провери за, но тоа не е толку ризично прашање. Информации за истекување, ова е местото каде што чувствителни податоци се испратени надвор од уредот. Ние откривме дека во 40% од апликациите. Време и државата, тие се трка состојба тип прашања, обично се прилично тешко да се искористат, па јас не зборувам за тоа, но ние погледна. 23% имале SQL инјекција прашања. Многу луѓе не знаат дека многу апликации Користете една мала малку SQL база на податоци на нивните задниот крај за зачувување на податоци. Па, ако податоците дека сте грабање преку мрежа има SQL инјекција напад жици во него некој може да ја загрози уред преку кој, и така мислам дека ќе најдеме околу 40% од веб апликации имаат овој проблем, кој е епидемија огромен проблем. Ние го најдете 23% од времето во мобилни апликации и тоа е веројатно затоа што многу повеќе веб апликации користат SQL од мобилен телефон. И тогаш ние се уште видите некои крос-сајт скриптирање, овластување прашања, а потоа акредитивен управување, тоа е каде што имаш hardcoded лозинка. Во 5% од апликациите гледаме дека. А потоа имаме некои податоци за iOS. 81% имале грешка ракување прашања. Ова е повеќе од кодот квалитет проблем, но 67% имале криптографски прашања, па не е толку лоша како Андроид. Можеби API-јата се малку полесно, на пример кодови малку подобро за iOS. Но сепак многу висок процент. Имавме 54% со информации протекување, околу 30% со тампон управување грешки. Тоа е места каде што има потенцијално би можело да биде проблем меморија корупцијата. Излезе дека тоа не е како голем дел од проблемот за експлоатација на iOS, бидејќи сите го кодот мора да биде потпишан, така што е тешко за напаѓачот да се изврши арбитрарен код на iOS. Кодот квалитет, директориум traversal, но потоа прими акредитивните писма за управување тука во 14,6%, па полошо отколку на Андроид. Имаме луѓе не ракување лозинки правилно. А потоа нумерички грешки и buffer overflow, тие се повеќе ќе биде квалитетот на кодот прашањата за iOS. Дека тоа било во мојата презентација. Јас не знам дали ние сме надвор од времето или не. Не знам дали има било какви прашања. [Машко] А брз прашање околу фрагментација и Андроид пазар. Јаболко најмалку поседува амандман. Тие се направи добра работа за добивање на тоа таму додека помалку во Андроид простор. Можете речиси треба да jailbreak вашиот телефон да остане актуелна со актуелното издание на Андроид. Да, тоа е голем проблем и така, ако мислиш за- [Машко] Зошто не може да го повтори? О, десно, така што прашање е она за фрагментација на оперативниот систем на Android платформата? Како тоа влијае на ризичноста на тие уреди? А тоа всушност е огромен проблем, бидејќи она што се случува е постарите уреди, кога некој влегува со jailbreak-от за тој уред, во суштина тоа е привилегија ескалација, и се додека тој оперативен систем се ажурираат тогаш секој малициозен софтвер може да се користи и дека ранливоста да се целосно компромис на уредот, и она што го гледате на Андроид е со цел да се добие нов оперативен систем Google е да се стави надвор од оперативниот систем, а потоа на произведувачот на хардверот мора да го изберете, а потоа на превозникот мора да го прилагодите и да ги даде. Имате основа 3 подвижни делови тука, и тоа е така излегува дека превозници не се грижат, и хардвер производители не ми е гајле, и Google не е да ги prodding доволно да се направи нешто, па во суштина повеќе од половина од уреди таму имаат оперативни системи кои ги имаат овие привилегија ескалација пропусти во нив, и така ако добиете малициозен софтвер на вашиот Андроид уред тоа е многу повеќе од еден проблем. Океј, ти благодарам многу. [Аплауз] [CS50.TV]