28
State of Windows Application Security: Shared Libraries

State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

StateofWindowsApplicationSecurity:SharedLibraries

Page 2: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

Aboutthespeaker

• Previouslyasoftwaredeveloper• Chromiumbasedbrowserwithsecurityfeatures

• JoinedTencent in2014• Securityresearcher• XuanwuLabresearchesrealworldsecurityproblems

• CanSecWest 2016speaker• QCon 2016speaker

Page 3: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

Previously…

• AtCanSecWest 2016• 55%ofpopularAV’scanbeexploitedtoescapebrowsersandbox• Reportedandfixed…hopefully

Page 4: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

BrowserSandboxes… Whatisitfor?

• Itcontainsthedamageofthecodeexecutionexploits• Makeitmuchharderforexploitstogainhigherprivileges

Page 5: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

SandboxWhitelist:ElevationPolicy

BrowserRenderer

BrowserBroker ElevationPolicyMedium

IntegrityLevelProcess

SecurityBoundary

LowIntegrityLevelProcess

Page 6: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

Example: PandaInternetSecurity

\Pandasecuritytb\dtuser.exe

• ElevationpolicywithsilentMediumIL• Runarbitrarycommand

dtuser.exe runappasadmin calc.exe

• Copyarbitraryfiledtuser.exe copyfile <origin> <target>

Page 7: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

Howtodetectitautomatically?

Page 8: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

ProjectA'Tuin

• Automatedinstallation• Detectinsecurecharacteristicsandbehaviors• Providesearchableresults

Crawl Install TriggerBehavior Log

ClusterOfflineComputation

FrontendInterface

Page 9: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

ProjectA'Tuin

Page 10: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

Example:PandaInternetSecurity

Page 11: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

DiversityisInstallers’Strength

Page 12: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

Automated installation

• Searchesalltoplevelwindowscreatedbytheinstaller• Inallscreenareacoveredbyrecordedwindows,findpolygonsthathasthelargestareaandhighestcontrastratio• Simulateinputtoscreenareainsidethepolygon• Successrate95%+,specialcasetherest

Page 13: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

Whatelsedid wefound?

Page 14: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

TypicalWindowsApplication

MainCode SharedLibraries

MFC/Qt OpenSSL

Image/Video/Audio

Decoders

NetworkLibraries WebKit …

Page 15: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

TheOpenSSLLandscape

Page 16: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

TheOpenSSLLandscape:Heartbleed

Page 17: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

TheOpenSSLLandscape:CVSS>=9

Page 18: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

Doesyourapplicationhaveanembeddedwebbrowser?

Mostlikely.

Page 19: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

ChromiumEmbeddedFramework

• “CEFisaBSD-licensedopensourceprojectfoundedbyMarshallGreenblattin2008andbasedonthe GoogleChromium project”• “CEFfocusesonfacilitatingembeddedbrowserusecasesinthird-partyapplications”• “Therearecurrentlyover100million installedinstancesofCEFaroundtheworldembeddedinproductsfromawiderangeofcompaniesandindustries”

Page 20: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

TheCEFLandscape

Page 21: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

QtWebKit

Page 22: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

Howcanwefindunknown sharedlibraries?

• Brainstorming?• OpenSSL,zlib,Qt,whatelse?• Manylibrariesaredevelopedin-houseandusedinsideonecompany• Libraryissuemayshareamongmultiplesoftware• Outdatedparsing/rendering/decodinglibrariesalmostalwaysindicatesecurityissues

Page 23: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

Howcan wefindunknownsharedlibraries?

• Installeverysoftware• ExtractallPEfiles• Useadisassemblertoextractfunctioninformation• IDAPython

• Recordandcomparefunctionsignaturesacrossdifferentsoftware

Page 24: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

TheResult

Page 25: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

Recap

• Asystemthatcanautomaticallydetectpossiblesecurityissues• ManyapplicationsstillhaveoldOpenSSLlibrariesthatareaffectedbyoldvulnerabilities• Anewwaytoautomaticallydetectsharedlibrariesusedinapplications• Detectedover4000sharedlibrariesinoursample,manyofthemunknown

Page 26: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

Futureworks

• Morebehavior detection• Gomobile• Cross-platformclusteringofresults

Page 27: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

Acomprehensivereportaboutsharedlibrarysecuritywillbereleasedpubliclylaterthisyear.

Andthesystemmaybeopentopublicinthefuture.

Page 28: State of Windows Application Security - Pwn2Own · Example:Panda Internet Security \Pandasecuritytb\dtuser.exe •Elevation policy with silent Medium IL •Run arbitrary command dtuser.exerunappasadmincalc.exe

Thanks.Chuanda Ding

Tencent XuanwuLabxlab.tencent.com