This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

Difference between revisions of "RIA Security Smackdown"

From OWASP
Jump to: navigation, search
Line 8: Line 8:
 
* JFX (Sun Java)
 
* JFX (Sun Java)
 
* Silverlight (Microsoft) - .NET Applets that run inside the browser, no privileged code
 
* Silverlight (Microsoft) - .NET Applets that run inside the browser, no privileged code
* GWT + Google Gears
+
*Google Gears - local storage component with JavaScript API (Same Origin all the way down)
 
* AIR (Adobe - formerly Apollo) - VM that runs Flash, Shockwave movies, ActionScript, JavaScript, FLV
 
* AIR (Adobe - formerly Apollo) - VM that runs Flash, Shockwave movies, ActionScript, JavaScript, FLV
  
Line 21: Line 21:
 
* Is there sharing of data between users?  Download someone else's data into your application?
 
* Is there sharing of data between users?  Download someone else's data into your application?
 
* How do you separate code from data?  Does any data contain anything that might get interpreted? HTML, XML, JSON, Javascript, ???
 
* How do you separate code from data?  Does any data contain anything that might get interpreted? HTML, XML, JSON, Javascript, ???
 +
* How does data move between the RIA and the server?  Is it just data or is embedded code possible?
 
* How do you separate one app from another app within the VM (same for DB)
 
* How do you separate one app from another app within the VM (same for DB)
 
* What happens when you move outside the browser?  You lose the protection that the browser sandbox afford.
 
* What happens when you move outside the browser?  You lose the protection that the browser sandbox afford.
 
* Mashups?
 
* Mashups?
 
* Connections between an RIA and an app running inside the browser (to steal SESSION)
 
* Connections between an RIA and an app running inside the browser (to steal SESSION)
 
+
* What level of interaction is allowed with the browser and the DOM?  Is there an API to interact with DOM?  Can you interact with other components in the DOM?
 +
* How is interaction with native code allowed?
 +
* How is interaction with the code of the RIA platform allowed?  Can you modify platform (Backbase)
 +
* How is information passed to the VM to restrict its behavior to comply with the Same Origin Policy
 +
* Protected against DNS pinning? Use TLS Certificates?
  
 
==References==
 
==References==

Revision as of 23:56, 23 August 2007

Notes from the OWASP Washington chapter meeting where we discussed:

  • FLEX (Adobe) - development environment for Flash Apps
  • Flash Studio for movies
  • Java Applet
  • Flash 7
  • JFX (Sun Java)
  • Silverlight (Microsoft) - .NET Applets that run inside the browser, no privileged code
  • Google Gears - local storage component with JavaScript API (Same Origin all the way down)
  • AIR (Adobe - formerly Apollo) - VM that runs Flash, Shockwave movies, ActionScript, JavaScript, FLV

Threat Agents

  • Threat from external attackers
  • Threat from malicious developers (sandbox?)

Basic Problems

  • Anyone going to this model will have to deal with how to handle sensitive information and sensitive functions on the client.
  • Is there sharing of data between users? Download someone else's data into your application?
  • How do you separate code from data? Does any data contain anything that might get interpreted? HTML, XML, JSON, Javascript, ???
  • How does data move between the RIA and the server? Is it just data or is embedded code possible?
  • How do you separate one app from another app within the VM (same for DB)
  • What happens when you move outside the browser? You lose the protection that the browser sandbox afford.
  • Mashups?
  • Connections between an RIA and an app running inside the browser (to steal SESSION)
  • What level of interaction is allowed with the browser and the DOM? Is there an API to interact with DOM? Can you interact with other components in the DOM?
  • How is interaction with native code allowed?
  • How is interaction with the code of the RIA platform allowed? Can you modify platform (Backbase)
  • How is information passed to the VM to restrict its behavior to comply with the Same Origin Policy
  • Protected against DNS pinning? Use TLS Certificates?

References

AIR - http://www.flashsec.org, http://www.wisec.it.en/Docs/flash_App_testing_Owasp07.swf


Criteria

  • Cross platform
  • Local File system access
  • Network access
  • Built-in Database
  • HTML
  • JavaScript
  • Support for cross-domain policy (crossdomain.xml)
  • Windowing
  • Drag and Drop


Organizations have been rated on the following five characteristics:

1. Adobe AIR
The
2.
The
3. Flex
The
4. Flex
The
5. Flex
The

Scoring

RIA Framework 1. Awareness 2. Requirements 3. Verification 4. AppSec Team 5. Response Score
Full Full Full Full Full 10
Oracle Full None Partial None Full 5
Foobar Full Full Full Full Full  ?