penetration testing for dummies

Post on 22-Jan-2018

144 Views

Category:

Internet

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 моделиране

https://www.code-runners.com

Въпроси и контакт

top related