5. Защо все пак е важно да сме защитени?
Source: http://www.informationisbeautiful.net/visualizations/worlds-biggest-data-breaches-hacks/
6. Защо все пак е важно да сме защитени?
Source: IBM X-Force report, http://www.foerderland.de/fileadmin/pdf/IBM_XForce_Report_2016.pdf
7.
8. 35%от пробивите се случват през уеб приложения
Кой каза web?
Защо?
По-лесен достъп.
9. Sensitivity loss =
# of records stolen * sensitivity of leaks
1. Email address/Online information
2. SSN/Personal details
3. Credit card information
4. Email password/Health records
5. Full bank account details
Web Data Breaches
Source: http://www.informationisbeautiful.net/visualizations/worlds-biggest-data-breaches-hacks/
10. Как помага един penetration test?
Създава условия на „реалистична заплаха“
Тества системите за отговор – автоматизираните, аналитичните
и реакционните
Позволява временно да се разменят ролите с „лошите“
Убеждава екипа, че не трябва да има лесно уязвими точки:
o Философията на weakest link
o Философията на low hanging fruit
11. Видовете penetration testPenetrationtesting
Black Box
Brute force атака срещу цялата
инфраструктура, с надежда да бъде
открита уязвимост
Защитава до 72% от атаките*
Открива 20% от уязвимостите
Много бавен, често автоматизиран.
За добър резултат е нужно да
наемете световни имена – иначе
рискувате пропуски.
White Box
Проверяващият получава пълен
достъп до сорс кода, софтуерната
архитектура и инфраструктурата
Бърз, изчерпателен, много скъп -
защото изисква много повече
работа на ръка.
95% от уязвимостите!
Трябва да имате пълно доверие на
проверяващия: той вече знае
всичките ви тайни.
Gray Box Лимитирано знание на тестера за
архитектурата на апликацията.
Хибриден подход, опитващ да
комбинира предимствата на
предишните два метода.
25-50% от уязвимостите.
13. Типове penetration test
Penetration testing по тип
Мрежови атаки
Computer Network
Exploitation (C/I)
Firewall
IPS
DNS атаки
Non-web
апликации
Computer Network
Attack (A)
Firewall
IPS
DNS атаки
Non-web
апликации
Client-side
апликации
Социално инженерство
Phishing
Dumpster Diving
Имперсонализация
Заплахи
Уеб апликация
14. Типове penetration test
Penetration testing по тип
Мрежови атаки
Computer Network
Exploitation (C/I)
Firewall
IPS
DNS атаки
Non-web
апликации
Computer Network
Attack (A)
Firewall
IPS
DNS атаки
Non-web
апликации
Client-side
апликации
Социално инженерство
Phishing
Dumpster Diving
Имперсонализация
Заплахи
Уеб апликация
15. Планът
•Secure Development Lifecycle
Secure coding
•Как създавате сървър
(виртуализация / хостинг / ?
•Какви допълнителни
услуги/софтуер имате на
сървъра?
•Имате ли политика на
пачване?
Защитен сървър •Колко разнородна е
инфраструктурата?
•Следите ли – и колко
ефективно – уязвимостите
Защитена
инфраструктура
•Автоматиочен scanning
•Ръчна валидация на
откритите уязвимости
•Процес и време за
отстраняване
Вътрешен одит •Колко авторитетен е
вендорът?
•Колко доверие му имате?
•Колко ресурси сте склонни да
отделите (хора, пари,
време)?
Външен одит
16.
17. Планът
•Secure Development Lifecycle
Secure coding
•Как създавате сървър
(виртуализация / хостинг / ?
•Какви допълнителни
услуги/софтуер имате на
сървъра?
•Имате ли политика на
пачване?
Защитен сървър •Колко разнородна е
инфраструктурата?
•Следите ли – и колко
ефективно – уязвимостите
Защитена
инфраструктура
•Автоматиочен scanning
•Ръчна валидация на
откритите уязвимости
•Процес и време за
отстраняване
Вътрешен одит •Колко авторитетен е
вендорът?
•Колко доверие му имате?
•Колко ресурси сте склонни да
отделите (хора, пари,
време)?
Външен одит
Continuous
compliance
18. „The more input you collect, the larger the attack surface”
Уеб апликация
Входни
данни
Отговор
20. Secure Coding: Top 15 уязвимости vs.
OWASP Top 10
Cross Site Scripting (XSS)
Cross Site Request Forgery (CSRF)
Path Traversal (Redirects and Forwards)
Information Disclosure
Authentication / Управление на сесиите
(SQL) Injection
Качване на файлове
External Entity Injection (XXE)
Управление на пароли
Authorization (Missing Function Level Access Control)
Canocalization, locale и UNICODE
Error handling, auditing и logging
Using Components with Known Vulnerabilities
Insecure Direct Object References
Security Misconfiguration
Source: SecConsult, OWASPTop10
И в двете бази данни
Top 15
OWASP Top 10
21. Input validation, output sanitization
Уеб апликация
Входни
данни
Отговор
Inputvalidation
Outputsanitization
Как да валидираме? https://www.owasp.org/index.php/Web_Application_Penetration_Testing
On the serverside:
•Always be as strict as possible:
•Validate input based on regex or whitelists
•Sanitize user output ()
•Validation / Sanitization rule is dependent on context!
•Do not rely on any user supplied values!
•Validate the content of the uploaded file against the
specified mime-type
•Check the maximum file size beforehand
•Never execute user supplied files directly
•Do not store uploaded file in a web-accessible folder
•Recreate binary data of images (if possible)
•Use random filenames instead of the user provided
• Be aware of DOM based XSS
If required, do:
• Clients side validation of user data
• Client side sanitization of user data
• Know your JavaScript framework
• Use provided validation classes
• Use provided filter classes
• Don‘t make false assumptions
22.
23. Какво предотвратихме дотук?
Cross Site Scripting (XSS)
Cross Site Request Forgery (CSRF)
Path Traversal (Redirects and Forwards)
Information Disclosure
Authentication / Управление на сесиите
(SQL) Injection
Качване на файлове
External Entity Injection (XXE)
Управление на пароли
Authorization (Missing Function Level Access Control)
Canocalization, locale и UNICODE
Error handling, auditing и logging
Using Components with Known Vulnerabilities
Insecure Direct Object References
Security Misconfiguration
Source: SecConsult, OWASPTop10
И в двете бази данни
Top 15
OWASP Top 10
Input validation fix
Outputsanitationfix
Secure Coding fix
24.
25.
26. Планът
•Secure Development Lifecycle
Secure coding
•Как създавате сървър
(виртуализация / хостинг / ?
•Какви допълнителни
услуги/софтуер имате на
сървъра?
•Имате ли политика на
пачване?
Защитен сървър •Колко разнородна е
инфраструктурата?
•Следите ли – и колко
ефективно – уязвимостите
Защитена
инфраструктура
•Автоматиочен scanning
•Ръчна валидация на
откритите уязвимости
•Процес и време за
отстраняване
Вътрешен одит •Колко авторитетен е
вендорът?
•Колко доверие му имате?
•Колко ресурси сте склонни да
отделите (хора, пари,
време)?
Външен одит
Continuous
compliance
28. Wireshark
• Следи целия
L2/L3 трафик на
мрежовата карта
• HTTP(S)
• Всичко
останало
• Sniffing – не
модифицира
заявки
• Не декриптира
HTTPS
29. Zed Attack Proxy
• Java-базирано (платформено агностично) прокси; ефективно MitM
• След като научи credentials, може да crawl-ва цели апликации
(може и да се ограничи по домейн)
• Web sockets
• OWASP tool
30. Burp Suite
• ZAP еквивалент
• Поддържа се от едноименната компания, има комерсиална част
31. Xenotix XSS Exploit Framework
• XSS detection & exploitation, 4800+ exploits
• Лесно създаване на PoC
• OWASP tool
32. Не-безплатни, не-отворени алтернативи
• Acunetix
• Вградена приоритизация на уязвимостите, която работи
• Предложения за разрешаване на проблема
• Sensing на използвания framework, специфични уязвимости и съвети
• Има и скенер на мрежата
• Windows
• IBM App Scanner
• Индустриален, корпоративен стандарт
• Windows
• Nexpose
• Силно ограничена безплатна фунционалност
• Qualis Guard (Qualis)
• Cloud-based
• Web Inspect (HP)
33. Планът
•Secure Development Lifecycle
Secure coding
•Как създавате сървър
(виртуализация / хостинг / ?
•Какви допълнителни
услуги/софтуер имате на
сървъра?
•Имате ли политика на
пачване?
Защитен сървър •Колко разнородна е
инфраструктурата?
•Следите ли – и колко
ефективно – уязвимостите
Защитена
инфраструктура
•Автоматиочен scanning
•Ръчна валидация на
откритите уязвимости
•Процес и време за
отстраняване
Вътрешен одит •Колко авторитетен е
вендорът?
•Колко доверие му имате?
•Колко ресурси сте склонни да
отделите (хора, пари,
време)?
Външен одит
Continuous
compliance
34. Минимална чеклиста, оптимална
чеклиста
Резулати от автоматизирано тестване
Анализ и валидация на автоматизирания тест
Ръчно открити уязвимости и PoC code
Рапорт, приоритизация на рисковете и препоръки
Риск scoring методология и сравнение с други играчи в индустрията
Система за управление на рисковете
Повторен тест след като отстраните уязвимостите
Обучение по security awareness
(Spear)Phishing тест на екипа
Социално инженерство
DDoS моделиране