Testy penetracyjne webaplikacji. piotr.konieczny@niebezpiecznik.pl



Podobne dokumenty
OWASP i Top 10 Sposób tworzenia Top 10 Czym jest a czym NIE jest Top 10? Zmiany w wersji 2013 Omówienie nowych podatności na liście Podsumowanie

Open(Source) Web Application Security Project

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

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

Drobne błędy w portalach WWW

Bezpieczeństwo aplikacji internetowych

The OWASP Foundation Session Management. Sławomir Rozbicki.

Application Security Verification Standard. Wojciech Dworakowski, SecuRing

Luki w bezpieczeństwie aplikacji istotnym zagrożeniem dla infrastruktury krytycznej

Bezpieczeństwo aplikacji Czy musi być aż tak źle? OWASP The OWASP Foundation

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

Jak efektywnie wykrywać podatności bezpieczeństwa w aplikacjach? OWASP The OWASP Foundation

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

Fuzzing OWASP The OWASP Foundation Piotr Łaskawiec J2EE Developer/Pentester

Opis Przedmiotu Zamówienia na przeprowadzenie testów bezpieczeństwa systemu wspomagania nadzoru archiwalnego e-nadzór

Standard aplikacji WWW Urzędu Miasta Olsztyna

Techniki komputerowe w robotyce

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

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

JAK DOTRZYMAĆ KROKU HAKEROM. Tomasz Zawicki, Passus

Program szkolenia: Bezpieczny kod - podstawy

OWASP. The Open Web Application Security Project. OWASP Top rc1. Dziesięć najbardziej krytycznych zagrożeń w web aplikacjach

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Zgodność, fraudy i inne wyzwania oraz zagrożenia w Bankach Spółdzielczych. Aleksander Czarnowski AVET Information and Network Security Sp. z o.o.

Bezpieczeostwo aplikacyjne

Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid

Administrator Systemów SCADA

Zapewnienie bezpieczeństwa w całym cyklu życia aplikacji (czyli dlaczego lepiej zapobiegać chorobom, niż leczyć je w zaawansowanym stadium)

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

Portal Security - ModSec Enterprise

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

Bezpieczeństwo aplikacji webowych - standardy, przewodniki i narzędzia OWASP OWASP The OWASP Foundation

Projektowanie sieci metodą Top-Down

Bezpieczeństwo systemów komputerowych

Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)

Dworakowski. Wojciech. Zagrożenia i metody ataku. Aplikacje internetowe -

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

17-18 listopada, Warszawa

z testów penetracyjnych

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

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

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

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

Bezpieczeństwo systemów komputerowych

Usługa: Audyt kodu źródłowego

Testy automatyczne. Korzystające z junit

Webapplication Security Pentest Service

Agenda. Quo vadis, security? Artur Maj, Prevenity

Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF

Bezpieczeństwo aplikacji internetowych. Rozwój napędzany potrzebą WALLF Web Gateway. Leszek Miś, RHCA,RHCSS,Sec+ 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

Program szkolenia: Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia

Gatesms.eu Mobilne Rozwiązania dla biznesu

Migracja bazy danych Microsoft Access *.mdb do Microsoft SQL 2008 Server R2 SP1 dla oprogramowania Płatnik

Bezpieczeństwo IT Audyty bezpieczeństwa i testy penetracyjne

Wprowadzenie do kryptografii i bezpieczeństwa. Po raz czwarty

Wyzwania i dobre praktyki zarządzania ryzykiem technologicznym dla obszaru cyberzagrożeń

Jak zabezpieczyć aplikacje przed włamaniami?

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

Projektowani Systemów Inf.

Plan testów do Internetowego Serwisu Oferowania i Wyszukiwania Usług Transportowych

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Szczegółowy opis przedmiotu zamówienia

OFERTA DLA MIAST, GMIN, INSTYTUCJI FINANSOWYCH I PODMIOTÓW KOMERCYJNYCH DOTYCZĄCA ZAGADNIEŃ ZWIĄZANYCH Z CYBERBEZPIECZEŃSTWEM

Programowanie. Dodatek - uzupełnienie wiadomości. mgr inż. Krzysztof Szwarc. Sosnowiec,

Wybrane ataki na urządzenia sieciowe Secure Michał Sajdak, Securitum sekurak.pl

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

2. Zastosowanie standardu Wi-Fi w systemach AMR... 21

Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Instytut Technik Innowacyjnych

Wojciech Dworakowski. Zabezpieczanie aplikacji. Firewalle aplikacyjne - internetowych

Bezpieczeństwo systemów internetowych

Warszawa, 25 lipca 2014 r.

UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci

Kurs rozszerzony języka Python

Mamy najlepsze ceny na rynku!

Szybkość w biznesie. Zwinne testowanie oprogramowania (Agile) Mateusz Morawski (mateusz.morawski@hp.com) 14 kwietnia 2015

NAJLEPSZE STRATEGIE SKUTECZNYCH PROGRAMISTÓW. TECHNIKI PRACY Z KODEM KOD: NSKOD

REFERAT PRACY DYPLOMOWEJ

Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework. Edyta Tomalik Grzegorz Ziemiecki

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

HumanTechnology. Projektowanie interakcji. czyli łatanie dziury w procesie produkcji

Aspekty bezpieczeństwa aplikacji internetowych

Analiza skuteczności zabezpieczeń przed atakami na aplikacje Web

Testowanie aplikacji Java Servlets

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36

Wybrane problemy bezpieczeństwa w systemach IT.

Program szkolenia: Continuous Integration i Git

Projektowanie oprogramowania. Termin zajęć: poniedziałek, a podstawie materiału ze strony.

! Retina. Wyłączny dystrybutor w Polsce

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

Studencka Pracownia Inżynierii Oprogramowania Zespół nr 2, IIUWR 2008/09. Bartłomiej Gałkowski, Marek Kembrowski, Tomasz Maciejewski.

Zasady bezpiecznego korzystania z bankowości elektronicznej

epolska XX lat później Daniel Grabski Paweł Walczak

Programowanie Komponentowe WebAPI

Najskuteczniejsze sposoby zabezpieczania baz danych, w jaki sposób je monitorować oraz jak audytować

Open Source na Uniwersytecie Łódzkim

Transkrypt:

Testy penetracyjne webaplikacji piotr.konieczny@niebezpiecznik.pl

niebezpiecznik.pl testujemy (web)aplikacje, ludzi i sieci komputerowe pod kątem odporności na ataki (nie tylko komputerowe...) doradzamy i konsultujemy projekty IT pod kątem bezpieczeństwa szkolimy programistów i administratorów

Dziś wszystko jest Autostrada A4 webaplikacją...

Autostrada A4

Autostrada A4

Czym jest bezpieczeństwo (web)aplikacji?

Ciągła walka!

z developerami mam zabezpieczenia, ale źle je stosuję

z zarządem (budżet) małe kłamstwo, duże kłamstwo, statystyka

z czasem 0day e na Twitterze (sic!)

No, srsly! 0 daye na Twitterze!

ale nie tylko tam

http://explo.it

Ciągla Walka (w liczbach) niebezpiecznik.pl odpiera ok. 60 ataków dziennie a wystarczy jeden 0day na Wordpressa i leżymy

Z kim walczymy?

Lata 70-90 vs "lata neostrady" umiejętność myślenia, zdolności programistyczne tzw. "hacking" to wyzwanie umiejętność czytania programy do "hakowania" hacking to LOL! & $$$

zone-h.org @LulzSec: we did it for teh lulz

Bezpieczeństwo Webaplikacji to nie tylko bezpieczeństwo kodu

Techniki Ataków masowe lub ukierunkowane warstwa 3: znane dziury w protokołach/urządzeniach/usługach warstwa 7: SQL injection, XSS, CSRF, inne ataki na webaplikacje warstwa 666: dostęp do treści opublikowanych przez pomyłkę (czeski rząd ujawnia agentów na stronach www) http://niebezpiecznik.pl/post/mon-i-pkw-ujawniaja-tajne-dane-o-polskim-wojsku/ http://niebezpiecznik.pl/post/poradnik-jak-nie-dac-sie-zatrzymac-na-granicy-usa/

Błędy, bugi, podatności, dziury są, były i będą badanie Carnegie Mellon University s CyLab, 1 KLOC (1000 linii kodu) zawiera ~ 30 bugów czasem zagrażają życiu THERAC25 - race condition, 5 osób, 1985r. Ariane 5 - overflow, 5 milionów USD Mars - metric units, 125 milionów USD, 1999 LA Airport - 2^32, max 50 dni, brak restartu.

Projektowanie oprogramowania Czy kiedykolwiek przed projektowaniem (web)aplikacji wykonałeś tzw. threat modeling? Czy masz przygotowaną "wycenę zasobów" dla swojej (web)aplikacji? Jakie standardy dot. jakości oprogramowania znasz/spełniasz? np. Systems Development Life Cycle (SDLC)

Przykłady ataków na polskie serwisy

WYKOP. PL można (było) zaatakować nie dotykając webaplikacji

Systemy developerskie i testowe

O2.pl - kciuk w dół

o2.pl - kciuk w dóŀ Kiepskie usability serwisu może przerodzić się w błąd bezpieczeństwa

Błędy wynikające z architektury

Niezaufany Kanał Komunikacyjny i Granice Zaufania

`

Paradoks: wersje mobilne Ograniczona funkcjonalność (liczy się wygoda) - np. brak CAPTCHA oraz cache owanie danych - http://niebezpiecznik.pl/post/uwaga-na-facebookowa-aplikacje-makemelaughnow/! "Desynchronizacja" z głównym projektem - Programiści przy patchowaniu głównej wersji serwisu, zapominają o patchowaniu wersji mobilnej...! Problemy zrootowanych telefonów - zapis danych na karcie SD - OWASP Mobile Jailbreaking Cheet Sheet! https://www.owasp.org/index.php/ios_developer_cheat_sheet https://www.owasp.org/index.php/owasp_mobile_security_project

Błędy wynikające z niewiedzy programisty! część praktyczna

Fingerprinting serwera HTTP!?=PHPE9568F36-D428-11d2-A769-00AA001ACF42

Fingerprinting serwera HTTP!?=PHPE9568F36-D428-11d2-A769-00AA001ACF42 Niebieski słoń 5.3.0 Królik 5.0.0 5.0.3 Rozmazane logo PHP 5.1.3 5.2.13 Czarny pies 4.3.11 4.4.6 oraz 5.0.4 5.1.2 Brązowy pies 4.3.0 4.3.10 Twarz z frytkami 4.0.0 4.2.3

Przetestuj pole data urodzenia

pole data Wy - czy format daty prawidłowy (15. miesiąc?) - czy można pominąć to pole My - czy walidacja odbywa się po stronie serwera? - czy można ustawić datę z przyszłości? - czy wartość jest powtarzana w kolejnych krokach formularza (na stronie www)? czy można wstrzykiwać np.<script></script> - czy wartość trafia do bazy danych? próba ataku SQL injection - co, jeśli podamy liczbę ujemną, UTF-8, etc?

Obejście filtrów ' or 'a' = b'1100001 ' or 'a' = x'61 ' or 1 = true ' or round(pi(),1)+true+true = version() # 3.1+1+1 = 5.1 aes_encrypt(1,12) # 4çh±{?"^z HéÉEa ceil(pi()+pi()+version()) 12

Losowość ID sesji Zwykle serwer aplikacji/framework dba o nadawanie identyfikatorów, a aplikacja korzysta z jego API. Nie należy na tym zawsze polegać Przykład: IBM WebSphere 4.0 TWGYLZIAAACVDQ3UUSZQV2I 10:27:12 TWGY0WYAAACVFQ3UUSZQV2I 10:27:13 TWGZNZAAAACVHQ3UUSZQV2I 10:27:14 TWG0BUYAAACVJQ3UUSZQV2I 10:27:15 TWG0VIAAAACVLQ3UUSZQV2I 10:27:16 TWG1ICIAAACVNQ3UUSZQV2I 10:27:17 TWG111YAAACVPQ3UUSZQV2I 10:27:18 Da się odgadnąć algorytm i przeszukać całą przestrzeń wartości ID sesji -- ataki brute-force, narzędzie np. idefense Session Auditor

OWASP TOP 10 Podsumowanie błędów publikowane co jakiś czas Najgroźniejsze =?= najpopularniejsze Zamiarem podniesienie jakości tworzonego kodu definiowanie ochrony przed OWASP Top10 jako wymóg specyfikacji projektu (punkt w protokole zdawczo-odbiorcznym) Czy to znaczy, że inne błędy nie są ważne? Że nie da się za ich pomocą skutecznie zaatakować? NIE!

OWASP TOP10 2013 A1-Injection A2-Broken Authentication and Session Management A3-Cross-Site Scripting (XSS) A4-Insecure Direct Object References A5-Security Misconfiguration A6-Sensitive Data Exposure A7-Missing Function Level Access Control A8-Cross-Site Request Forgery (CSRF) A9-Using Components with Known Vulnerabilities A10-Unvalidated Redirects and Forwards https://www.owasp.org/index.php/top_10_2013

Narzędzia pentestera Local Proxy Także jako dodatek do przeglądarki Narzędzia do rekonesansu / fingerprintingu Skanery dynamiczne testy bez znajomości kodu źródłowego wyspecjalizowane w konkretnych atakach Skanery statyczne

Narzędzia automatyczne Warto z nich korzystać, jako dodatek - regularnie, po każdym deploy'u Ale warto też znać ich ograniczenia... - Koszt: Acunetix, IBM AppScan - Problem z "niestandardowością" test.pl/?id=1 or 1=1; test.pl/?id=1 or 1=1;&phash=1a47a563baaee Podatności można szukać nie tylko "z zewnątrz" webaplikacji -- istnieją też skanery kodu źródłowego - np. YASCA, HP Fortify, IBM AppScan, Sonar

DEMO! od seksownego XSS-a do T0T4L PWN4G3!

W N I O S E K 1. ze zwykłego testera można (tanio) zrobić pentestera 2.... 3. PROFIT!!!

koszt naprawy błędu w czasie $$$ t

testwarez@niebezpiecznik.pl +48 12 44 202 44 +1 42 42 HACKME facebook.com/niebezpiecznik google.com/+niebezpiecznik