[OWASP-TR Mobil Güvenlik Çalıştayı 2015] Ömer Faruk Acar - Mobil Uygulamalar İçin Fuzz...
-
Upload
owasp-turkiye -
Category
Mobile
-
view
345 -
download
4
Transcript of [OWASP-TR Mobil Güvenlik Çalıştayı 2015] Ömer Faruk Acar - Mobil Uygulamalar İçin Fuzz...
Giriş• Uygulamagüvenliğindegeliş9rmevetestaşamalarındakaynakkodanalizitekniğinikullananotoma9zearaçlaryetersizkalmaktadır.
• FuzzTestleriuygulanmalı(whiteboxveblackbox)• Android,IOS,WindowsPhonev.s.üzerindeolması• SınırlıkaynaklariçinBulutOrtamı• EşzamanlıtestleriçinDağıRkSistem• Dahaverimlifuzztes9içinEvrimselTabanlıyaklaşım
BugHun9ngLifecycle
3
sourcecode(WhiteBox):• manualcodereview(Sourcecodeaudit)• sta9canalysisBinary(BlackBox):• DynamicAnalysis• reverseengineering(Debugging&Disassembly)• fuzzing
FuzzingNedir?Tanım
• FuzzingisimbabasıProf.BartonMiller
1989
• Fuzztes9yadafuzzing,otoma9k
olarakbozulmuşyadayarıbozulmuş
verikullanarakuygulamalardabug
bulmakiçinuygulananyazılım
güvenliğitekniğidir.
• Blackbox,Whitebox
• Metotlar– Genera9on-basedyadaRandom-
based(SmartFuzzing)– Muta9on-based(DumbFuzzing)– Proxy-based
4
FuzzingFazları
• HedefBelirle– Uygulamalar(oynaRcılar,okuyucular,web…)– Protokoller(Unix,Windows,OSX)– Cihazlar(arm,telefonlar,modemler…)– …
• GirdiBelirle– DosyaFormaR(java,pdf,png,m3u,swf…)– Ağprotokolleri(bp,hcp,arp,ssl…)– Kayıtdeberigirdileri,başlıklar,…
FuzzingFazları• Fuzzverisiüret(TestCaseGenera9on)– Muta9on– Genera9on– Evalua9on
• FuzzverisiniçalışRr– Yarı-geçerligirdilerinhedefegönderilmesi
• numbers(signed/unsignedintegers/float...)• chars(urls,command-lineinputs)• metadata:user-inputtext(id3tag)• purebinarysequences
• Monitörişlemi
FuzzVectors
12
• CrossSiteScrip9ng(XSS)• BufferOverflow• FormatString• IntegerOverflow• Sqlinjec9on• LDAPInjec9on• XPATHInjec9on• XMLInjec9on….
OWASP-TOP10MobileSecurityRisks
13
• M1:InsecureDataStorage• M2:WeakServerSideControls• M3:InsufficientTransportLayerProtec9on
• SSLImplementa9on• FlowManipula9on
• M4:ClientSideInjec9on• SQLInjec9on• XSSInjec9on
• M5:PoorAuthoriza9onandAuthen9ca9on• RemoteCodeExecu9onviaOverflows
• M6:ImproperSessionHandling• FlowManipula9on
• M7:SecurityDecisionsViaUntrustedInputs• MemoryCorrup9ons
• M8:SideChannelDataLeakage• M9:BrokenCryptography• M10:Sensi9veInforma9onDisclosure
• Informa9onLeatwithErrorandWarningMessages
YapılanÇalışmalar
• Fuzzinggüvenliktestlerininilkkullanıldığızamanlar2009yıllarınadayanmaktadır.
(BlackHatUSA2009)• CharlieMiller’ınönemliçalışmalarındanbiriolanbumakaledeakıllıtelefonlarüzerindeaçıkkaynakkodluSulleyfuzzer’ıkullanılarakbozulmuşSMSmesajlarıilestrestestlerigerçekleş9rilmiş9r.
YapılanÇalışmalar• 2013yılındabulutortamındafuzzingyöntemikullanılarak
zafiyetaraşRrmalarıyapılmışRr.
• XensanallaşRrmaplawormundamediafuzzerkullanarakmedyaoynaRcıandroiduygulamalarıüzerindemutasyontabanlıfuzzingtestlerigerçekleş9rilmiş9r.
• 120KB’lık10,000adetavidosyasıadbkabuğuaracılığıylabulutortamınabağlanıptestlergerçekleş9rilmiş9r.
• Exploitedilebilir“heapleakage”zafiyetlertespitedilmiş9r.
YapılanÇalışmalar
• FuzzingçalışmalarınıneşzamanlıolmasıiçindağıRkfuzzingyapısınıkullananbiraraşRrmada150sanalmakineüzerindemilyonlarcatestgerçekleş9rebilmiş9r.
(2013IEEESixthInterna9onalConferenceonCloudCompu9ng)
• Yüzbinlerceçakılma(crash)eldeederken,onlarcada
ciddigüvenlikaçığıtespitedilmiş9r.• AraşRrmasadecemasaüstüuygulamalardatestlerini
gerçekleş9rmiş9r.
YapılanÇalışmalar
• BualandakiengüncelçalışmaiseAlexandruBlandatarazndanfuzztes9niAndroidüzerindekiMedyauygulamalarıüzerindegerçekleştrdiğiçalışma(linuxFounda9on2015)
• MFFA(MediaFuzzingFrameworkforAndroid)• 8habaiçerisinde1milyontestdenemesisonrası185,000çakılma(crash)tespitedilmiş9r.
CaseStudy:AmericanFuzzyLop
20
• Noveldumbfuzzerby7MichaelZalewski• Combinessimplefuzzingtechniqueswith
targetinstrumenta9on• compile-9meinstrumenta9onandgene9c
algorithms• Fastfuzzingspeedagainstcommonreal-
worldtargets
MobileFuzzingFrameworkProjeleri
21
• MBFuzzer• ADBFuzz• STAMP• MFFA-MediaFuzzingFrameworkfor
Android(Stagefrightfuzzer)• AndroidIntentFuzzer• SulleyFuzzer….
Mul9pleintegeroverflowsinStagefrightcode(libstagefrightSampleTable):CVE-2014-7915CVE-2014-7916CVE-2014-7917
AcrabedMPEG4mediafilecanresultinheapcorrup9oninlibstagefright,thatcanleadtoarbitrarycodeexecu9oninthemediaserverprocess:
CVE-2015-3832