tratarea problemelor de securitate in adobe air
DESCRIPTION
This is my powerpoint presentation for my Diploma Project for Tibiscus University Timisoara : "Tratarea problemelor de securitate in Adobe AIR "TRANSCRIPT
Tratarea problemelor de securitate în Adobe AIR
Valentin Vieriu - Universitatea Tibiscus Timişoara
Adobe AIR este un runtime cross-platform ce oferă programatorilor de aplicaţii web posibilitatea să dezvolte aplicaţii desktop utilizând tehnologii cunoscute precum FLASH, HTML şi JavaScript.
interfaţă text interfaţă grafică avansată
acces res
trân
sacc
es la niv
el mo
nd
ial
RIAs
terminal - server client- server
aplicaţii web
Problemele aplicaţiilor web interactive
► conflict între interfeţele cu utilizatorul
► nu sunt aplicații desktop
► nu pot rula offline
► sunt un labirint al browserelor
Soluţia Adobe AIR
browser web
SQLite
acces la resurselesistemului
acces pdf
cross platform
Adobe AIR APIs
Acces la fişiere
DetecţieReţea
Notificărisistem
UpdateApplicatie
Drag andDrop
SQLITEDatabase ...
Flash
FlexActionScriptXMLAudioVideo
HTML
HTML
HTMLJavaScriptXMLCSS
Flash
Soluţia Adobe AIR
Model de securitate de tip desktop
Model de securitate de tip WEB
sandboxbridge
API-ul AIR, sistemul local de fişiere
API-uri externe, informaţii de pe internet, fişiere externe
Model de securitate web
(non-application sandbox)
Nu are access la sistemul de fişiere
Încarcă fişiere folosind parametrii sandboxRoot şi documentRoot
Poate folosi eval()
Acces limitat la API-ul AIR
Poate incarca scripturi din alte domenii
Model de securitate desktop
(application sandbox)
Are acces la sistemul de fişiere
Are acces la app:/ si la app-storage:/
Nu poate folosi eval()
Acces total la API-ul AIR
Poate importa script doar din directorul aplicatţie
Trimite informaţii, oferă funcţi
onalitate
Accesează API-
ul AIR şi informaţiile locale
Sandbox Bridge
Security Sandbox
non-application sandbox application sandbox
<html>…<script type="text/javascript">
function readLocalFile() {…} var Exposed = new Object(); Exposed.readLocalFile = readLocalFile; function doLoad(){document.getElementById('non-application') .contentWindow.parentSandboxBridge = Exposed;}
</script></head>
<body onload="doLoad();">…</body></html>
<html>…
<body onload="doLoad();">…
<p>Verificam daca avem acces la API-ul AIR:</p>
<input type="button" onclick="alert(parentSandboxBridge.readLocalFile())" value="deschide fisier.txt"/>
</body></html>
readLocalFile()
Exposed
Exposed.readLocalFile readLocalFile
.parentSandboxBridge Exposed
parentSandboxBridge .readLocalFile()
Concluzii
► creat pentru web developeri
► necesită un model de securitate de tip web
► trebuie să aibă acces la sistem/fişiere
► necesită un model de securitate de tip desktop
► interconectarea modelelor se face prin sandbox bridge
Programatorii trebuie să se simtă responsabili