3. Motivace
• Informační společnost
• Zranitelnost webových aplikací
o Osobní data, čísla kreditních karet, ukradeni dentity, podvody, odstavení aplikace...
• IBM X-Force research team
o Polovina všech objevených zranitelností se týká webových aplikací
o 70 % odhalených / 34 % úspěšných útoků provedeno pomocí SQL injection a Cross-site scripting
o 92 % všech kompromitovaných záznamů bylo ukradeno útokem proti webové aplikaci
o 90 % všech stránek jsou zranitelné aplikačními útoky
• Růst počtu webových aplikací > růst bezpečnostních odborníků
o Software často psaný vývojáři nevyškolenými v bezpečnosti
o Orientace na čas, peníze a funkcionalitu x bezpečnost
o Inovace produktů nutí vytvářet stále složitější aplikace
• Bezpečnostní tým často bottleneck ve vývojevém cyklu
• Tlak na dodržování bezpečnostních standardů (např. nakupování
po internetu)
• Průběžné monitorování aplikací omezené nebo neexistuje
4. Bezpečnostní testování ve vývoji aplikace
% of Issue Found by Stage of SDLC
$80/defect $240/defect $960/defect $1,440/defect $7,600/defect +
soudní výlohy,
ztráta důvěry,
Většina bezpečnostních poškození
problémů nalezena jména...
bezpečnostním auditem
před nasazením
5. Bezpečnostní testování ve vývoji aplikace
% of Issue Found by Stage of SDLC
$80/defect $240/defect $960/defect $1,440/defect $7,600/defect +
soudní výlohy,
ztráta důvěry,
poškození
jména...
Ideální stav
6. Náklady bezpečnostní trhliny
Náklady:
1,000,000x Oznámení uživatelům
Pokuta
Vedení sporu u soudu
Bezpečnostní chyba
Škoda pro společnost
Poškozená reputace
Uživatelské důvěry
Cena opravy
Funkční chyba
10x
1x
Vývoj Testování Nasazení
9. SQL Injection
• „Jednoduché“ a mocné
• „Má uživatel X heslo Y?“
• „Má uživatel X heslo Y nebo X=X?
• SELECT userid, full_name FROM members WHERE
username = ‘X’ AND password = ‘Y’
• SELECT userid, full_name FROM members WHERE
username = ‘X’ AND password = ‘Y’ OR ‘X’=‘X’
10. Cross-site scripting
Úrovně útoků:
1. Falešný poplach
o <script>alert(“Byl jste napaden”);</script>
2. Ovlivnění uživatelova chování zobrazením zfalšovaných
informací
o Podrvžené výsledky burzy, kalkulací apod.
3. Udělat aplikaci nepoužitelnou
o Vyskakování pop-up oken, falšování odkazů
4. Ukradení identity sledováním stisků klávesnice
5. Monitorování uživatelů při používání aplikace
o Útočník vidí ty stejné stránky co uživatel a může získat jím zadané údaje (hesla,
čísla platebních karet...)
6. Útočník může plně ovládnout uživatelovo prostředí
o Nakupovat zboží
11. IBM Rational AppScan Product Line
• Pomáhá bránit se proti hrozbám útoku a zneužití dat
• Identifikuje, prioritizuje, sleduje a napravuje kritické
bezpečnostní slabiny
• Pokrývá celý vývojový cyklus aplikace
• Poskytuje návod jak zranitelnost odstranit
• Nabízí řešení pro všechny zainteresované strany
o Vývojáři, build manažeři, QA, penetrační testeři, bezpečnostní auditoři, top
management
• Pro společnosti, které jsou závislé na webovém software
• Pravidelné aktualizace nových hrozeb
• Možnost testovat i webové služby
• 40+ reportů potvrzujících dodržení bezpečnostních
standardů
13. IBM Rational AppScan Product Line
IBM Rational Web Based Training for AppScan
IBM Rational AppScan Enterprise / Reporting Console
AppScan Source AppScan Build AppScan Tester AppScan Standard
Edition Edition Edition Edition
Požadavky Návrh Vývoj Sestavení Testování Audit
Analýza architektury Statická analýza
Dynamická analýza
14. IBM Rational AppScan Source Edition
• Pro koho: Vývojový tým
• K čemu: Vyhledává zranitelnosti ve zdrojovém kódu
• Statická analýza – skenuje zdrojový kód a hledá
bezpečnostní chyby
o Porovnávání vzorků (pattern matching), kdy se sada předdefinovaných vzorků
používá k identifikaci zranitelných míst kódu webové aplikace. Typicky se
hledají příkazy jazyka, které mohou potenciálně porušit bezpečnost.
• Lokální reportování
• Chytré filtry
o Snižuje „šum“ pro vývojaře
• Dostupné v IDE
o Rational Application Developer
o Eclipse
• Defect Tracking Systems
o RTC, TFS
15. IBM Rational AppScan Source Edition
• Rozšiřitelný
o Možnost definovat vlastní
pravidla
o Regulární výrazy
o Spojení s různými jazyky
• Podporuje
o Java, JSP, C, C++,
.NET (C#, VB.NET, ASP.NET),
Classic ASP, PHP, COBOL,
PL/SQL, T-SQL, HTML, Perl,
ColdFusion, Client-Side JS,
Server-Side JS, VBScript
16. IBM Rational AppScan Product Line
IBM Rational Web Based Training for AppScan
IBM Rational AppScan Enterprise / Reporting Console
AppScan Source AppScan Build AppScan Tester AppScan Standard
Edition Edition Edition Edition
Požadavky Návrh Vývoj Sestavení Testování Audit
Analýza architektury Statická analýza
Dynamická analýza
17. IBM Rational AppScan Build Edition
• Pro koho: Vývojový tým
• K čemu: Automaticky vyhledává zranitelnosti při
sestavování aplikace
• Bezpečnostní testy součástí verifikačního procesu
každého buildu
• Statická analýza, dynamická analýza, hybridní analýza
• Lokální reportování nebo do Enterprise Edition/Reporting
Centre
• Integrovatelné s:
o Build Forge (pro plánování automatických buildů)
o ClearQuest
o RTC
18. IBM Rational AppScan Product Line
IBM Rational Web Based Training for AppScan
IBM Rational AppScan Enterprise / Reporting Console
AppScan Source AppScan Build AppScan Tester AppScan Standard
Edition Edition Edition Edition
Požadavky Návrh Vývoj Sestavení Testování Audit
Analýza architektury Statická analýza
Dynamická analýza
19. IBM Rational AppScan Tester Edition
• Pro koho: QA týmy
• K čemu: Integruje bezpečnostní testování do
procesu zajištění kvality
• Dynamická analýza
• Snižuje zatížení bezpečnostního týmu
• Využití bezpečnostního testování souběžně s
funkčním a zátěžovým
• Integrovatelné s CLM
20. IBM Rational AppScan Product Line
IBM Rational Web Based Training for AppScan
IBM Rational AppScan Enterprise / Reporting Console
AppScan Source AppScan Build AppScan Tester AppScan Standard
Edition Edition Edition Edition
Požadavky Návrh Vývoj Sestavení Testování Audit
Analýza architektury Statická analýza
Dynamická analýza
21. IBM Rational AppScan Standard Edition
• Pro koho: Malé bezpečnostní týmy s několika testery
• K čemu: Desktopové řešení pro automatické testování
bezpečnosti webových aplikací
• Dynamická analýza
• Hybridní pro JSX – JavaScript Analyzer
o Identifikuje předtím neznámé zranitelnosti
• Skenuje i malware
• Lokální reportování
• Scan Expert
o Průvodce nastavením skenu, navrhuje změny v konfiguraci
• State inducer
o Umožňuje skenovat a testovat složitější procesy (nákup přes košík)
• Předdefinované šablony skenů (Complex, Vital Few,
Invasive...)
22. IBM Rational AppScan Express Edition
• Pro koho: Jednotlivý IT bezpečností profesionál
• K čemu: Cenově dostupné řešení bezpečnostního
skenování pro malé organizace.
• Desktopové řešení
• Zhruba to samé jako Standard Edition
23. IBM Rational AppScan Product Line
IBM Rational Web Based Training for AppScan
IBM Rational AppScan Enterprise / Reporting Console
AppScan Source AppScan Build AppScan Tester AppScan Standard
Edition Edition Edition Edition
Požadavky Návrh Vývoj Sestavení Testování Audit
Analýza architektury Statická analýza
Dynamická analýza
24. IBM Rational AppScan Enterprise Edition
• Pro koho: Rozsálné skupiny vývojařů, QA a bezpečnostních
profesionálů
• K čemu: Více-uživatelské řešení poskytující bezpečnostní
skenování a centralizované reportování a administraci
• Webové centralizované řešení
• Dynamická analýza
• Hybridní analýza – může být spojeno se Source Edition
• Reportování napříč celou organizací
• Bezpečnostní testování pro více týmů, stovek aplikací
současně, časté opakované testování sledující změny
• Dashboards
o Zvýrazňuje změny mezi jednotlivými skeny, zahrnuje opravené, přetrvávající a nová
bezpečnostní rizika
• Integrovatelné s:
o RQM
27. IBM Rational AppScan Reporting Console
• Pro koho: Uživatelé, kteří potřebují výsledky skenování a
reporty napříč mnoha instancemi Express, Standard a
Source Edition
• K čemu: Poksytuje centralizované reportování o
zranitelnosti webových aplikací
• Webová centralizovaná správa
• Porovnává výsledky napříč týmy i aplikacemi
• Zobrazuje trendy, monitoruje postup řešení problémů,
identifikuje nejčastější hrozby
• Integrovatelné s:
o Rational Team Concert
o Rational Quality Manager
o Rational ClearQuest
28. Penetrační testeři vs. Automatizované testy
• Dvě metody:
o Manuální penetrační testování a revize kódu
o Automatizované skenování a statická analýza
• Dvě kategorie zranitelností:
o Technická
• XSS, injection, přetečení zásobníku
o Logická
• Těžké kategorizovat, manipulací dostat aplikaci do stavu, aby dělala
věci, které nebyly záměřem
29. Technická zranitelnost
• Existuje více jak 70 různých technik XSS
• Registrační formulář zahrnuje 30 unikátních prvků
o Každý z nich potenciálně zranitelný
• Potřeba více jak 2 000 testů pro kontrolu zda není
formulář zranitelný proti XSS
• Automatické testování efektivnější
• S rozvojem manuální testování stále složitější,
nákladnější
30. Logická zranitelnost
• Nutnost pochopit jak aplikace funguje a obejít
typické chování aplikace
• Jsou schopni pouze testeři
• A => B => C, v B se provádí bezpečnostní ověření
• A => C, obejití bodu B
31. Penetrační testeři vs. Automatizované testy
Ani jedno vyčerpávající, vzájemně se nedají nahradit
- Časově a finančně + Šetří čas a peníze
náročné + Otestuje větší množství
- Potřeba zkušených zranitelných míst
testerů + Není potřeba zkušených
+ Mohou odhalit logické testerů
zranitelnosti - Neodhalí logické
zranitelnosti
Cílem najít ten správný poměr obou
32. V čem jsme lepší?
• #1 v podílu na trhu podle IDC a Gartner
• Pokrýváme celý vývojový cyklus aplikace
• Zaměřeni i na středně velký trh
• Nejlepší na statickou a dynamickou analýzu (100+ patentů)
• Testujeme JavaScript/Ajax frameworky a Flash
• Unikátní analyzátor JavaScriptu na straně klienta (hybridní analýza)
• Integrovaná detekce malware a odkazů na škodlivé stránky
• Zcela flexibilní a rozšiřitelné eXtensible Framework (Spring MVC template)
• Pyscan - Možnost vytvářet vlastní testy
• Nabízíme Web Based Trainings
• U každé zranitelnosti máme seznam úkonů jak opravit
• Plně transparentní
• Přes 40 compliance reportů (ISO 17799 a 27001, PCI Data Security
Standard, ...)
• Pravidelné aktualizace nových zranitelností