Presentation on theme: "Attacking and defending Flash Applications. Flash Security I’ll talk about; o RIA, Web 2.0 and Security o What is Crossdomain.xml? Why does it exist?"— Presentation transcript:
Attacking and defending Flash Applications
Flash Security I’ll talk about; o RIA, Web 2.0 and Security o What is Crossdomain.xml? Why does it exist? o Only problem about Flash : XSS o XSS and Impact of XSS Attacks o Attack Surface of Flash Applications Global Parameters External Resources o Same-origin Policy and Flash Embedding o High Security Required Applications and Flash Not going to talk about these, at least not today; o Server-side Flash Security o Attacking users via Flash o Flash Vulnerabilities
RIA, Web 2.0 and Security Complexity is the worst enemy of security Every new component in the browser is a new threat AJAX, Silverlight, AIR, Flash, Java, Myspace Upload ActiveX etc. All of these are potential security problems. Every new technology comes with new style of development and it takes time to have secure “best practices”.
A Quite Naïve Crossdomain.xml File
Demo Stealing information via Flash by exploiting Crossdomain.xml trust.
XSS Tunnelling? Tunnelling HTTP tarffic through XSS channels. Allows to bypassing IP Restrictions, VPN, basic auth etc.
Attack Surface of Flash Global Parameters Flashvars Querystring LoadVars Configuration Files Dynamically loaded Flash Animations
Global Parameter Modification Who are these global parameters? _root. _global. _level0.
Flash Embedding Limit Flash file’s access by setting Allowscriptaccess attribute to “noaccess” while embedding an external Flash animation.
HTML Text Area If HTML enabled in the textareas and if the data loaded up dynamically
LoadClip, xml.load Are external resources secure? Hardly coded or configuration files coming from a secure place? You should check for configuration location and should not this from the user input.
Flash usage in highly security required systems Why it can be a problem? Increased attack surface
Sum it Up! Loaded configurations should be coming from trusted domains, Loaded external resources should be coming from trusted domains.
Sum it Up! When you are using Htmltext be sure that loaded data is sanitised and encoded.
References, Resources and Tools Flashsec Wiki OWASP – Finding Vulnerabilities in Flash Applications SWFIntruder Flare and similar decompilers