Penetration testing
за глупци
КСТ ТУ 2006-2010
МБА ТУ 2015-2017*
3xCCNP Cisco Systems 2008-2010
CEH and CISSP trained HP 2010-2011
Webmaster Evolink 2008-2010
Information Security Officer Nokia, Ericsson 2010-2012
Бизнес консултант Philips, Pfizer 2012-2015
CTO CodeRunners 2012 +
$ whoami
Бермудски триъгълник на сигурността
УдобноЗащитено
Скъпо
Защо все пак е важно да сме защитени?
Source: http://www.informationisbeautiful.net/visualizations/worlds-biggest-data-breaches-hacks/
Защо все пак е важно да сме защитени?
Source: IBM X-Force report, http://www.foerderland.de/fileadmin/pdf/IBM_XForce_Report_2016.pdf
35%от пробивите се случват през уеб приложения
Кой каза web?
Защо?По-лесен достъп.
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/
Как помага един penetration test?
Създава условия на „реалистична заплаха“
Тества системите за отговор – автоматизираните, аналитичните
и реакционните
Позволява временно да се разменят ролите с „лошите“
Убеждава екипа, че не трябва да има лесно уязвими точки:
o Философията на weakest link
o Философията на low hanging fruit
Видовете penetration testPe
net
rati
on
tes
tin
g
Black BoxBrute force атака срещу цялата
инфраструктура, с надежда да бъде открита уязвимост
Защитава до 72% от атаките*Открива 20% от уязвимостите
Много бавен, често автоматизиран. За добър резултат е нужно да
наемете световни имена – иначе рискувате пропуски.
White BoxПроверяващият получава пълен
достъп до сорс кода, софтуерната архитектура и инфраструктурата
Бърз, изчерпателен, много скъп -защото изисква много повече
работа на ръка. 95% от уязвимостите!
Трябва да имате пълно доверие на проверяващия: той вече знае
всичките ви тайни.
Gray Box Лимитирано знание на тестера за архитектурата на апликацията.
Хибриден подход, опитващ да комбинира предимствата на
предишните два метода.25-50% от уязвимостите.
Ефективност на penetration test
Black Box
Gray Box
50%
White Box
Отк
ри
ти с
лаб
ост
и
Разходи
Типове 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
Имперсонализация
Заплахи
Уеб апликация
Типове 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
Имперсонализация
Заплахи
Уеб апликация
Планът
•Secure Development Lifecycle
Secure coding
•Как създавате сървър (виртуализация / хостинг / ?
•Какви допълнителни услуги/софтуер имате на сървъра?
•Имате ли политика на пачване?
Защитен сървър•Колко разнородна е
инфраструктурата?
•Следите ли – и колко ефективно – уязвимостите
Защитена инфраструктура
•Автоматиочен scanning
•Ръчна валидация на откритите уязвимости
•Процес и време за отстраняване
Вътрешен одит•Колко авторитетен е
вендорът?
•Колко доверие му имате?
•Колко ресурси сте склонни да отделите (хора, пари, време)?
Външен одит
Планът
•Secure Development Lifecycle
Secure coding
•Как създавате сървър (виртуализация / хостинг / ?
•Какви допълнителни услуги/софтуер имате на сървъра?
•Имате ли политика на пачване?
Защитен сървър•Колко разнородна е
инфраструктурата?
•Следите ли – и колко ефективно – уязвимостите
Защитена инфраструктура
•Автоматиочен scanning
•Ръчна валидация на откритите уязвимости
•Процес и време за отстраняване
Вътрешен одит•Колко авторитетен е
вендорът?
•Колко доверие му имате?
•Колко ресурси сте склонни да отделите (хора, пари, време)?
Външен одит
Continuous compliance
„The more input you collect, the larger the attack surface”
Уеб апликацияВходни данни
Отговор
OWASP Top 10
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, OWASP Top10
И в двете бази данни Top 15 OWASP Top 10
Input validation, output sanitization
Уеб апликацияВходни данни
Отговор
Inp
ut valid
ation
Ou
tpu
t sa
nit
izat
ion
Как да валидираме? https://www.owasp.org/index.php/Web_Application_Penetration_Testing
On the server side:•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 XSSIf 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
Какво предотвратихме дотук?
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, OWASP Top10
И в двете бази данни Top 15 OWASP Top 10Input validation fixOutput sanitation fixSecure Coding fix
Планът
•Secure Development Lifecycle
Secure coding
•Как създавате сървър (виртуализация / хостинг / ?
•Какви допълнителни услуги/софтуер имате на сървъра?
•Имате ли политика на пачване?
Защитен сървър•Колко разнородна е
инфраструктурата?
•Следите ли – и колко ефективно – уязвимостите
Защитена инфраструктура
•Автоматиочен scanning
•Ръчна валидация на откритите уязвимости
•Процес и време за отстраняване
Вътрешен одит•Колко авторитетен е
вендорът?
•Колко доверие му имате?
•Колко ресурси сте склонни да отделите (хора, пари, време)?
Външен одит
Continuous compliance
Self-service pentest tools
Wireshark
• Следи целия L2/L3 трафик на мрежовата карта• HTTP(S)• Всичко
останало
• Sniffing – не модифицира заявки
• Не декриптира HTTPS
Zed Attack Proxy
• Java-базирано (платформено агностично) прокси; ефективно MitM• След като научи credentials, може да crawl-ва цели апликации
(може и да се ограничи по домейн)• Web sockets• OWASP tool
Burp Suite
• ZAP еквивалент• Поддържа се от едноименната компания, има комерсиална част
Xenotix XSS Exploit Framework
• XSS detection & exploitation, 4800+ exploits• Лесно създаване на PoC• OWASP tool
Не-безплатни, не-отворени алтернативи
• Acunetix• Вградена приоритизация на уязвимостите, която работи• Предложения за разрешаване на проблема• Sensing на използвания framework, специфични уязвимости и съвети• Има и скенер на мрежата • Windows
• IBM App Scanner• Индустриален, корпоративен стандарт• Windows
• Nexpose• Силно ограничена безплатна фунционалност
• Qualis Guard (Qualis)• Cloud-based
• Web Inspect (HP)
Планът
•Secure Development Lifecycle
Secure coding
•Как създавате сървър (виртуализация / хостинг / ?
•Какви допълнителни услуги/софтуер имате на сървъра?
•Имате ли политика на пачване?
Защитен сървър•Колко разнородна е
инфраструктурата?
•Следите ли – и колко ефективно – уязвимостите
Защитена инфраструктура
•Автоматиочен scanning
•Ръчна валидация на откритите уязвимости
•Процес и време за отстраняване
Вътрешен одит•Колко авторитетен е
вендорът?
•Колко доверие му имате?
•Колко ресурси сте склонни да отделите (хора, пари, време)?
Външен одит
Continuous compliance
Минимална чеклиста, оптимална
чеклиста
Резулати от автоматизирано тестване Анализ и валидация на автоматизирания тест Ръчно открити уязвимости и PoC code Рапорт, приоритизация на рисковете и препоръки
Риск scoring методология и сравнение с други играчи в индустрията Система за управление на рисковете Повторен тест след като отстраните уязвимостите Обучение по security awareness (Spear)Phishing тест на екипа Социално инженерство DDoS моделиране