Bezpečnosť v kontexte RIA              EurOpen                Želiv             5.10. 2011         Mgr. Juraj Michálek Twi...
Niečo o mne
Obsah          RIA    Flex, Flash, PDFHTML5, JavaScript, Mobile
Rich Internet Applications       Ako to vzniklo?       Výlet históriou
Rok 2005Zložitejší JavaScript uvaril browser
Adobe   3. 12. 2005Kupuje Macromediu
FlashPlayerNajrozšírenejšia platforma      Win, Mac, Lin
ActionScript 2S rastúcou aplikáciouexponenciálne rástla     pracnosť.
ActrionScript 3 a MXML    Veľmi podobné Jave. Bez historickej ťarchy Javy.
Open source framework Flex      Adobe dodáva nástroj   pre vývoj na Flash Platforme.      A definuje skratku RIA.
Microsoft        Nočná mora web vývojárov: IE6http://georgik.sinusgear.com/2011/03/05/ie-6-countdown/
Adobe má úspechFlash platforma získava popularitu.
MicrosoftVidí potenciál a spúšťa Silverlight
Flash Platforma má náskok FlashPlayer a ActionScript je staršía kopec problémov u má vyriešených.       Microsoft sa „inšp...
SunSilverlight aj Flash vytláčajú Java applety.             Vzniká Java FX.
JavaFX           Sunu sa nedarí.Dôležití vývojári odchádzajú do Adobe.
Apple       iPhone je populárny.Iná platforma na iPhone predstavuje         riziko straty kontroly.
Adobe Max 2010Hlavná téma – Flash Player pre iPhone.      Dlho očakávaná novinka.      Bude ohlásené v pondelok       na z...
Rana pod pásV piatok pre Adobe MaxApple zmení jeden riadok        v licencii
Zmena 3.3.1 — Applications may only use DocumentedAPIs in the manner prescribed by Apple and must  not use or call any pri...
FP pre iPhone     Zostáva v labáku Adobe.Než Apple zmení svoje rozhodnutie.
iPad a iPhoneJobs hlása: HTML5 je tá správna cesta
Google        Úzko spolupracuje s Adobe.    Zabuduje Flash Player do Chromu.Zároveň výrazne zlepší podporu JavaScriptu.
Vic Gundotra - GoogleThe platform that is not owned by anyone      truely belongs to everyone.                HTML5
A znova objavenie kolesaHTML5 reimplemetuje nanovo väčšinu            vecí z FP.
Otvorený kódFlex – postupne uvoľnený pod    Mozilla Public Licence         Silverlight          JavaFx
Flash Builder         Eclipse basedštudenti a akademický pracovníci        - licencia zdarma
MXMLC, COMPC    shell, ant task FlexMojos – Maven(Lin, Win, Mac, BSD)Intellij Idea (Ultimate)
Architektúra RIA aplikácii Paralela s desktop aplikáciami      Jeden kód v pamäti     Komunikácia cez API
Permanent cookieFP si udržiaval vlastné cookie.       Security issue.
FP 10.3Mazanie cookie je konečne možné          kontrolovať.
Crossdomain FP umožňuje GET a POST.Obmedzenie: rovnaká doména
Prístup na iné doménycrossdomain.xml v roote webuFP ho kontroluje predtým, než     odošle požiadavku.
crossdomain.xml<cross-domain-policy>  <allow-access-from  domain="*"/>  <allow-http-request-headers-from  domain="*" /></c...
REST        GET a POST   odosielané cez browserPUT, DELETE atp. sú blokované
Hlavičky request/responseFP dokáže vytvoriť niektoré hlavičky.  Nedokáže však načítať žiadne.
Flash Player Sockets Priamy prístup k socketu.      Od FP 9.0.124
Socket PolicySocket Policy File Server        port 848
Policy document<?xml version="1.0"?><!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd"><cross-domain...
Za firewallom  848 je blokované...A sme došli stará mama.
Prístup k súborom  Otvorenie dialógu pre výber súboruje možné len ako reakcia na uživateľskú               udalosť.       ...
File Uploaderwww.klokantech.com
Transparent SWF            Overlaythis.parentApplication.alpha = 0;
SWF  SWF obsahuje bajtkód.Ten je možné dekompilovať.
Assety v SWFZo SWF je možné vytiahnuť         súbory.
Obfuskácia         Je možná.Silnejšie riešenie: enkrypcia          (Nitro LM)
HTTPSServer MUSÍ mať validný ceritikát.
HTTPS a IEWarning pri každom requeste.
HTTPS a Google App Engine          Certifikát zdarma.  Plne validný len na jednu úroveň. https://srobick-server.appspot.co...
CertifikátZdarma (slabší)www.startssl.com
Memory Leak - Flash        Monitoring Flash Player pamätehttp://georgik.sinusgear.com/projects/flash-memory-monitor/      ...
Bezpečnostné opravy    Pre administrátorov: Aktualizujte!Security oprava je vydaná pomerne rýchlo           od objavenia h...
Bug reportinghttps://bugbase.adobe.com/
RIA z webu na desktop    Zoberme web app. Nech je z nej desktop app! www.hotrunnermodel.com
AIR Runtime„Upravený“ FP pre desktop.Flex SDK + AIR rozšírenia  Win, Lin, Mac, Mobile
RIA z webu na mobil a TV      Jeden kód, jeden runtime  a množstvo cieľových platformiem:Mac, Win, Lin, Android, iOS, Blac...
Odstránené obmedzenia FP   Crossdomain nemá význam.     Socket priamy prístup.   Prístup na súborový systém.
AIR aplikácia - manifest<allowBrowserInvocation>true</allowBrowserInvocation>
AIR update aplikácií
AIR a HTTPS Platí to isté čo pre web.Certifikát musí byť validný.Inak čo request to warning.
RIA v PDFAplikácia zabalená do PDF.
Security SandboxKaždá požiadavka mimo sandbox     si vyžiada potvrdenie.
Projekt RomeTvorba interaktívneho PDF  http://rome.adobe.com
Kontinuálna integrácia                JenkinsPríklad - Open Source AS3/MXML projekty:         http://ci.sinusgear.com
Silverlight Konkurent Flexu a FPAktuálne zameranie WP7
Komunikačné protokoly       Nad HTTP         XML        SOAP        JSON        AMF3
XML a SOAPPenalizácia (de)serializácie.
AMF3       Binárny protokol.    Veľmi rýchly a otvorený.Klient FP only, server Java only.
AMF3 introspection                            Toaster Lite                     Dekódovacia proxyhttp://georgik.sinusgear.c...
JSONRýchlosť, otvorenosť, čitateľnosť.               F12
HTML5, JavaScript
Canvas, WebGLhttp://www.ermannobalzi.com/app/standardslide-2.0/            http://www.webglearth.org/                http:...
three.jshttps://github.com/mrdoob/three.js/
jQuery a jQueryMobileFenomenálny prielom v možnostiach JavaScriptu.   $("#zeliv").animate({top:"300px"}).animate({left:"10...
Malý web serverpython -m SimpleHTTPServer
EmglareMobile App: http://www.emglare.comMobile app: http://m.emglare.com   Postavené na PhoneGap
Dreamweaver a PhoneGap    Deployment na Android
Back buttonUžívateľ sa môže vrátiť k predchádzajúcej               aplikácii.      Nutné zneplatniť citlivé data.
GET       Pozor! Na keš.Každý browser sa chová inak.    POST sa nekešuje.
CrossdomainGET/POST request je obmedzený na doménu.
Sanitizácia HTML         Príklad: diskusný portálvkladá do stránky nesanitizované príspevky               <script.....>
JSON problém       Incident s Gmailom (fixed)<script src=“http://gmail.com...“></script>
Ochrana dát proti crossdomainwhile (true); &&&START&&&{"Success":true,"
User Tacking DOM
Ochrana JavaScriptu?            Aspoň kompresia            YUI-Compressorhttp://developer.yahoo.com/yui/compressor/
Memory leakJavaScript - Circular reference
Captcha :-Dhttp://www.webdesignbeach.com/beachbar/ajax-fancy-captcha-jquery-plugin
Bezpečnostné výstrahy pre SWThe Open Source Vulnerability Database           http://osvdb.org/
$(this).close()             Europen               Želiv            5.10. 2011        Mgr. Juraj MichálekTwitter: http://tw...
Upcoming SlideShare
Loading in …5
×

Bezpečnosť v kontexte RIA technológií

1,814 views

Published on

Možnosti RIA technológii a ich bezpečnostné aspekty. Vývoj pomocou Flash Builderu, Visual Studia, Intellij Idei. Prednáška prednesená na konferencii Europen.cz v Želive.

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,814
On SlideShare
0
From Embeds
0
Number of Embeds
873
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Bezpečnosť v kontexte RIA technológií

  1. 1. Bezpečnosť v kontexte RIA EurOpen Želiv 5.10. 2011 Mgr. Juraj Michálek Twitter: http://twitter.com/sinusgear Blog: http://georgik.sinusgear.com
  2. 2. Niečo o mne
  3. 3. Obsah RIA Flex, Flash, PDFHTML5, JavaScript, Mobile
  4. 4. Rich Internet Applications Ako to vzniklo? Výlet históriou
  5. 5. Rok 2005Zložitejší JavaScript uvaril browser
  6. 6. Adobe 3. 12. 2005Kupuje Macromediu
  7. 7. FlashPlayerNajrozšírenejšia platforma Win, Mac, Lin
  8. 8. ActionScript 2S rastúcou aplikáciouexponenciálne rástla pracnosť.
  9. 9. ActrionScript 3 a MXML Veľmi podobné Jave. Bez historickej ťarchy Javy.
  10. 10. Open source framework Flex Adobe dodáva nástroj pre vývoj na Flash Platforme. A definuje skratku RIA.
  11. 11. Microsoft Nočná mora web vývojárov: IE6http://georgik.sinusgear.com/2011/03/05/ie-6-countdown/
  12. 12. Adobe má úspechFlash platforma získava popularitu.
  13. 13. MicrosoftVidí potenciál a spúšťa Silverlight
  14. 14. Flash Platforma má náskok FlashPlayer a ActionScript je staršía kopec problémov u má vyriešených. Microsoft sa „inšpiruje“.
  15. 15. SunSilverlight aj Flash vytláčajú Java applety. Vzniká Java FX.
  16. 16. JavaFX Sunu sa nedarí.Dôležití vývojári odchádzajú do Adobe.
  17. 17. Apple iPhone je populárny.Iná platforma na iPhone predstavuje riziko straty kontroly.
  18. 18. Adobe Max 2010Hlavná téma – Flash Player pre iPhone. Dlho očakávaná novinka. Bude ohlásené v pondelok na začiatku konferencie.
  19. 19. Rana pod pásV piatok pre Adobe MaxApple zmení jeden riadok v licencii
  20. 20. Zmena 3.3.1 — Applications may only use DocumentedAPIs in the manner prescribed by Apple and must not use or call any private APIs. Applicationsmust be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly linkagainst the Documented APIs (e.g., Applications that link to Documented APIs through anintermediary translation or compatibility layer or tool are prohibited).
  21. 21. FP pre iPhone Zostáva v labáku Adobe.Než Apple zmení svoje rozhodnutie.
  22. 22. iPad a iPhoneJobs hlása: HTML5 je tá správna cesta
  23. 23. Google Úzko spolupracuje s Adobe. Zabuduje Flash Player do Chromu.Zároveň výrazne zlepší podporu JavaScriptu.
  24. 24. Vic Gundotra - GoogleThe platform that is not owned by anyone truely belongs to everyone. HTML5
  25. 25. A znova objavenie kolesaHTML5 reimplemetuje nanovo väčšinu vecí z FP.
  26. 26. Otvorený kódFlex – postupne uvoľnený pod Mozilla Public Licence Silverlight JavaFx
  27. 27. Flash Builder Eclipse basedštudenti a akademický pracovníci - licencia zdarma
  28. 28. MXMLC, COMPC shell, ant task FlexMojos – Maven(Lin, Win, Mac, BSD)Intellij Idea (Ultimate)
  29. 29. Architektúra RIA aplikácii Paralela s desktop aplikáciami Jeden kód v pamäti Komunikácia cez API
  30. 30. Permanent cookieFP si udržiaval vlastné cookie. Security issue.
  31. 31. FP 10.3Mazanie cookie je konečne možné kontrolovať.
  32. 32. Crossdomain FP umožňuje GET a POST.Obmedzenie: rovnaká doména
  33. 33. Prístup na iné doménycrossdomain.xml v roote webuFP ho kontroluje predtým, než odošle požiadavku.
  34. 34. crossdomain.xml<cross-domain-policy> <allow-access-from  domain="*"/> <allow-http-request-headers-from  domain="*" /></cross-domain-policy>
  35. 35. REST GET a POST odosielané cez browserPUT, DELETE atp. sú blokované
  36. 36. Hlavičky request/responseFP dokáže vytvoriť niektoré hlavičky. Nedokáže však načítať žiadne.
  37. 37. Flash Player Sockets Priamy prístup k socketu. Od FP 9.0.124
  38. 38. Socket PolicySocket Policy File Server port 848
  39. 39. Policy document<?xml version="1.0"?><!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd"><cross-domain-policy><site-control permitted-cross-domain-policies="master-only"/><allow-access-from domain="swf.example.com" to-ports="123,456-458" /></cross-domain-policy>
  40. 40. Za firewallom 848 je blokované...A sme došli stará mama.
  41. 41. Prístup k súborom Otvorenie dialógu pre výber súboruje možné len ako reakcia na uživateľskú udalosť. Click :-)
  42. 42. File Uploaderwww.klokantech.com
  43. 43. Transparent SWF Overlaythis.parentApplication.alpha = 0;
  44. 44. SWF SWF obsahuje bajtkód.Ten je možné dekompilovať.
  45. 45. Assety v SWFZo SWF je možné vytiahnuť súbory.
  46. 46. Obfuskácia Je možná.Silnejšie riešenie: enkrypcia (Nitro LM)
  47. 47. HTTPSServer MUSÍ mať validný ceritikát.
  48. 48. HTTPS a IEWarning pri každom requeste.
  49. 49. HTTPS a Google App Engine Certifikát zdarma. Plne validný len na jednu úroveň. https://srobick-server.appspot.com/ Podúrovne sú nevalidné.http://test.srobick-server.appspot.com/
  50. 50. CertifikátZdarma (slabší)www.startssl.com
  51. 51. Memory Leak - Flash Monitoring Flash Player pamätehttp://georgik.sinusgear.com/projects/flash-memory-monitor/ Loitering Objects
  52. 52. Bezpečnostné opravy Pre administrátorov: Aktualizujte!Security oprava je vydaná pomerne rýchlo od objavenia hrozby. Adobe Security Bulletin http://www.adobe.com/support/security/
  53. 53. Bug reportinghttps://bugbase.adobe.com/
  54. 54. RIA z webu na desktop Zoberme web app. Nech je z nej desktop app! www.hotrunnermodel.com
  55. 55. AIR Runtime„Upravený“ FP pre desktop.Flex SDK + AIR rozšírenia Win, Lin, Mac, Mobile
  56. 56. RIA z webu na mobil a TV Jeden kód, jeden runtime a množstvo cieľových platformiem:Mac, Win, Lin, Android, iOS, BlackBerry
  57. 57. Odstránené obmedzenia FP Crossdomain nemá význam. Socket priamy prístup. Prístup na súborový systém.
  58. 58. AIR aplikácia - manifest<allowBrowserInvocation>true</allowBrowserInvocation>
  59. 59. AIR update aplikácií
  60. 60. AIR a HTTPS Platí to isté čo pre web.Certifikát musí byť validný.Inak čo request to warning.
  61. 61. RIA v PDFAplikácia zabalená do PDF.
  62. 62. Security SandboxKaždá požiadavka mimo sandbox si vyžiada potvrdenie.
  63. 63. Projekt RomeTvorba interaktívneho PDF http://rome.adobe.com
  64. 64. Kontinuálna integrácia JenkinsPríklad - Open Source AS3/MXML projekty: http://ci.sinusgear.com
  65. 65. Silverlight Konkurent Flexu a FPAktuálne zameranie WP7
  66. 66. Komunikačné protokoly Nad HTTP XML SOAP JSON AMF3
  67. 67. XML a SOAPPenalizácia (de)serializácie.
  68. 68. AMF3 Binárny protokol. Veľmi rýchly a otvorený.Klient FP only, server Java only.
  69. 69. AMF3 introspection Toaster Lite Dekódovacia proxyhttp://georgik.sinusgear.com/2011/01/14/how-to-introspect-amf-communication/
  70. 70. JSONRýchlosť, otvorenosť, čitateľnosť. F12
  71. 71. HTML5, JavaScript
  72. 72. Canvas, WebGLhttp://www.ermannobalzi.com/app/standardslide-2.0/ http://www.webglearth.org/ http://www.ro.me/
  73. 73. three.jshttps://github.com/mrdoob/three.js/
  74. 74. jQuery a jQueryMobileFenomenálny prielom v možnostiach JavaScriptu. $("#zeliv").animate({top:"300px"}).animate({left:"10px"});
  75. 75. Malý web serverpython -m SimpleHTTPServer
  76. 76. EmglareMobile App: http://www.emglare.comMobile app: http://m.emglare.com Postavené na PhoneGap
  77. 77. Dreamweaver a PhoneGap Deployment na Android
  78. 78. Back buttonUžívateľ sa môže vrátiť k predchádzajúcej aplikácii. Nutné zneplatniť citlivé data.
  79. 79. GET Pozor! Na keš.Každý browser sa chová inak. POST sa nekešuje.
  80. 80. CrossdomainGET/POST request je obmedzený na doménu.
  81. 81. Sanitizácia HTML Príklad: diskusný portálvkladá do stránky nesanitizované príspevky <script.....>
  82. 82. JSON problém Incident s Gmailom (fixed)<script src=“http://gmail.com...“></script>
  83. 83. Ochrana dát proti crossdomainwhile (true); &&&START&&&{"Success":true,"
  84. 84. User Tacking DOM
  85. 85. Ochrana JavaScriptu? Aspoň kompresia YUI-Compressorhttp://developer.yahoo.com/yui/compressor/
  86. 86. Memory leakJavaScript - Circular reference
  87. 87. Captcha :-Dhttp://www.webdesignbeach.com/beachbar/ajax-fancy-captcha-jquery-plugin
  88. 88. Bezpečnostné výstrahy pre SWThe Open Source Vulnerability Database http://osvdb.org/
  89. 89. $(this).close() Europen Želiv 5.10. 2011 Mgr. Juraj MichálekTwitter: http://twitter.com/sinusgearBlog: http://georgik.sinusgear.com

×