Testowanie bezpieczeństwa

Slides:



Advertisements
Podobne prezentacje
Nigdy nie przegapisz zakłóceń
Advertisements

I część 1.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
ZARZĄDZANIE ZAPASAMI.
Podsumowanie II edycji CoRe IT Program Program szkoleniowy dedykowany środowisku akademickiemu Warszawskiej Wyższej Szkoły Informatyki pod auspicjami.
Nowy model komunikacji z emitentami
Project management w procesie budowy grona
Obserwowalność System ciągły System dyskretny
Bezpieczeństwo aplikacji WWW
Czy warto wdrażać ISO w Banku Spółdzielczym
Analiza ryzyka projektu
w Bankach Spółdzielczych z wykorzystaniem rozwiązań Wdrożenie wymagań NUK w Bankach Spółdzielczych z wykorzystaniem rozwiązań Asseco Poland S.A. Zawiercie,
BENCHMARKING – NARZĘDZIE EFEKTYWNEJ KONTROLI ZARZĄDCZEJ
Platforma A2A PA2A.
Projektowanie Aplikacji Komputerowych
1 Stan rozwoju Systemu Analiz Samorządowych czerwiec 2009 Dr Tomasz Potkański Z-ca Dyrektora Biura Związku Miast Polskich Warszawa,
Tomasz Smieszkoł - 15 stycznia
Ksantypa2: Architektura
Analiza i walidacja wymagań
Cykle życia oprogramowania
„Migracja środowisk Novell NDS/eDirectory oraz Novell Groupwise do środowiska Microsoft Active Directory oraz Microsoft Exchange przy użyciu narzędzi Quest.
Poznańskie Centrum Superkomputerowo-Sieciowe Cezary Mazurek
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Wykład 2 Cykl życia systemu informacyjnego
Atlantis INSPECTOR System wspomagania zarządzaniem i ewidencją obiektów sieciowych.
Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services.
© Victo Testowanie dla menedżerów Wersja TDM Slajd 1 (27) Testowanie oprogramowania dla menedżerów Co menedżerowie i kierownicy naprawdę potrzebują
Promotor: dr.inż. Aleksandra Werner
Wykonawcy:Magdalena Bęczkowska Łukasz Maliszewski Piotr Kwiatek Piotr Litwiniuk Paweł Głębocki.
Bezpieczeństwo w cyklu życia oprogramowania
Adam Gabryś , v1.1,
SecPoint Penetrator Audyt sieci może być przyjemny
Projektowanie Stron WWW
Modelowanie bezpieczeństwa infrastruktury IT na bazie doświadczeń z włamań i wykrytych podatności Prowadzący: Specjalista do sp. Informatyki Śledczej Maciej.
RYNEK PRACY I HR WOBEC REWOLUCJI CYFROWEJ Social HR? – Wykorzystanie social media w działaniach HR dr Jan Zając 9 maja 2012.
Przeznaczenie produktu Opis funkcjonalności
Microsoft Solution Framework
Zarządzanie jakością projektu
Rozwiązania informatyczne dla przedsiębiorstw
1/34 HISTORIA BUDOWY /34 3/34 6 MAJA 2011.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Wymiana integracja ? oprogramowania dr Danuta Kajrunajtys.
1 Zdjęcia ze stron: Spotkanie dotowane w ramach: Programu Rozwoju Samorządów Salamon Consulting.
Plan prezentacji Zarys projektu Geneza tematu
Google Testing Radosław Smilgin, , TestWarez.
STAĆ CIĘ NA INNOWACJE System CRM w Focus Telecom Polska - cechy i funkcjonalność usługi Autor: Tomasz Paprocki.
1 Zdjęcia ze stron: Spotkanie dotowane Salamon Consulting.
Podstawy działania wybranych usług sieciowych
Analiza wpływu regulatora na jakość regulacji (1)
Obsługa procesów biznesowych w MOSS 2007 Na przykładzie procesu obsługi zleceń Paweł Wróbel.
Bezpieczeństwo a zarządzanie projektami
Copyright (c) 2007 DGA S.A. | All rights reserved. Skuteczny i efektywny samorząd terytorialny Warszawa, 8 października 2010 r. System Przeciwdziałania.
Dr Karolina Muszyńska Na podst.:
TESTOWANIE OPROGRAMOWANIA
System do zarządzania i ewidencji dokumentów.
Bezpieczeństwo aplikacji w systemie Tizen
Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, 85 – 321 Bydgoszcz
OWASP + DevOps, kilka przydatnych narzędzi
Przykłady błędów bezpieczeństwa w kilku krokach, Mateusz Olejarka czyli rzecz o atakowaniu procesów.
Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services.
Agenda O Nas Ogólne informacje o Produkcie Job Manager – idealne rozwiązanie Aplikacja Webowa Aplikacja Kliencka Najnowsze zmiany.
Kalendarz 2020.
Eksploatacja zasobów informatycznych przedsiębiorstwa.
niezawodności Z problemem jakości systemów informacyjnych wiąże się problem zapewnienia odpowiedniej niezawodności ich działania.
7/1/ Projektowanie Aplikacji Komputerowych Piotr Górczyński Cykl życia systemu.
Moduł e-Kontroli Grzegorz Dziurla.
1 © copyright by Piotr Bigosiński DOKUMENTACJA SYSTEMU HACCP. USTANOWIENIE, PROWADZENIE I UTRZYMANIE DOKUMENTACJI. Piotr Bigosiński 1 czerwiec 2004 r.
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
The OWASP Foundation Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under.
Zapis prezentacji:

Testowanie bezpieczeństwa Jak to się robi? Wojciech Dworakowski

> whoami SecuRing (od 2003) Testowanie i doradztwo dotyczące bezpieczeństwa aplikacji i systemów IT Badania dotyczące nowych metod ataku i obrony OWASP Poland Chapter Leader Propagowanie wiedzy związanej z bezpieczeństwem aplikacji

Agenda Czy testy bezpieczeństwa są potrzebne? Na czym polegają testy bezpieczeństwa? Wyzwania (zakres, czas, …) Czy część testów bezpieczeństwa może być wykonana przez testerów funkcjonalności? Podsumowanie

Po co testować bezpieczeństwo?

Trochę statystyki Verizon 2012 Data Breach Investigations Report

Z naszego doświadczenia Ponad 400 zbadanych systemów i aplikacji Średnio ok. 10 podatności na badany system W ponad 30% przypadków znajdujemy podatności o znaczeniu kluczowym

Przykład - Wheedle październik 2012 Nowy serwis aukcyjny

Przykład: Aplikacja finansowa Aplikacja zamawiana w software house Testy bezpieczeństwa przed wdrożeniem Całkowity brak kontroli dostępu do danych Dostawca: Kontrola dostępu jest ale „nie włączona” Po „włączeniu” – znalezione kolejne przypadki Koszt: Opóźnienie, wizerunek, kary umowne

Rosnące koszty usuwania błędów Utrzymanie Dotyczy to również defektów bezpieczeństwa! Wdrażanie Wytwarzanie Projektowanie Definiowanie

Co zwiększa ryzyko? Time to market Złożoność systemów Nowe zastosowania SaaS, IaaS, mobile, NFC, M2M … Nowe technologie jQuery, JSON, HTML5. … Time to market

Przykłady defektów i sposoby ich wykrywania

Brak kontroli dostępu do funkcji Testowanie: Wywołaj funkcje z poziomu innego użytkownika Analiza macierzy uprawnień (dokumentacja?) Trzeba sprawdzić wszystkie przypadki FUNKCJA x ROLA Nie zawsze (rzadko?) w URL

Przykład: Brak kontroli dostępu do danych http://moj.bank/accountHistory?accountNr=1234 zmienienie accountNr na „cudzy” identyfikator Skutek: podgląd lub modyfikacja cudzych danych

Testowanie: Kontrola dostępu do danych Niby proste, ale: Trzeba odnaleźć wszystkie identyfikatory „globalne” ilość (  czas  pieniądze ) zależy od sposobu implementacji aplikacji Dla każdego z nich spróbować „cudzej” wartości Rzadko kiedy w URL (POST, JSON, XML, …)

Przykład: SQL injection Zalogowanie się do aplikacji bez znajomości hasła Pobranie dowolnych informacji z bazy danych zasilającej aplikację

Testowanie: Doklejenie kodu intruza SQL injection, Cross-site scripting (XSS), command iniection, LDAP injection… Dla każdego parametru przekazywanego od klienta… …sprawdź czy da się zakłócić składnie Trzeba stosować wiele metod (fuzzing) Nie zawsze wynik jest jednoznaczny Da się zautomatyzować ale nie jest to łatwe Konieczność dostosowania narzędzia False positives

Błędy logiczne Przykłady: Autoryzacja transakcji kodem SMS Brak autoryzacji operacji zmiany nr telefonu Możliwość przeskoczenia autoryzacji Opis transakcji jest ustalany po stronie przeglądarki Przykład: Zlecenia stałe Ustawienie zlecenia co 0 dni Testowanie: Zależne od scenariusza

Trzeba objąć całe spektrum potencjalnych problemów W oparciu o analizę ryzyka (zagrożeń i potencjalnych skutków) Jeśli nie ma możliwości to stosuj standardy: OWASP Top 10 Lista 10 najczęstszych typów defektów bezpieczeństwa OWASP Application Security Verification Standard Rozbudowana lista kontrola do weryfikacji (lub definiowania) bezpieczeństwa aplikacji OWASP Testing Guide Przewodnik po metodach i narzędziach Top 10 ASVS L1 ASVS L2 ASVS L3

Narzędzia Głowa ;-) Local proxy Przechwytywanie żądań i odpowiedzi HTTP(S) Możliwość zatrzymania i ręcznej modyfikacji Możliwość automatyzacji scenariuszy (oskryptowania) Fiddler, Burp Suite, WebScarab, ZAP, … Języki skryptowe Narzędzia automatyzujące Głowa ;-)

Metody weryfikacji bezpieczeństwa aplikacji Test penetracyjny Empiryczny (dynamiczny) Blackbox / Greybox / Whitebox Przegląd kodu Nie zapominajmy o środowisku Testy penetracyjne środowiska sieciowo-serwerowego Przegląd konfiguracji Najlepiej w połaczeniu (whitebox)

Testy funkcjonalne vs Testy bezpieczeństwa Symulacja działań użytkownika Symulacja działań intruza Scenariusze użycia Scenariusze nadużyć (ataku) Wymaga analizy zagrożeń Opisane (lub intuicyjne) wymagania Z reguły brak zdefiniowanych wymagań (zwłaszcza niefunkcjonalnych) Poszukiwanie niewidocznej funkcjonalności Pozostawione defekty może znaleźć użytkownik Pozostawione defekty może znaleźć intruz Defekt w niszowej funkcjonalności z reguły nie jest bardzo istotny Defekt w dowolnym miejscu systemu może mieć ogromne skutki

Intruz vs Tester Testy bezpieczeństwa – wyzwania Nieograniczony czas Wiele grup Duża motywacja Ograniczony czas Jeden zespół ?

Właściwe ustalenie zakresu  Znaleziono N podatności ale… Czy znaleziono wszystkie istotne podatności? Czy obsłużono wszystkie istotne zagrożenia? Czy szukano tam gdzie trzeba? Czy test symulował realne zagrożenie (atak)?

W idealnym świecie Definiowanie Identyfikacja ryzyka Do kluczowych ryzyk są dobierane zabezpieczenia Zdefiniowanie założeń Projektowanie Założenia są weryfikowane w projekcie Wykonanie Testy jednostkowe zabezpieczeń i poprawności kodu (według przyjętych założeń) Wdrażanie Testy odbiorcze – w zakresie odpowiadającym przyjętym założeniom

Szara rzeczywistość Brak założeń Definiowanie Identyfikacja ryzyka Do kluczowych ryzyk są dobierane zabezpieczenia Zdefiniowanie założeń Projektowanie Założenia są weryfikowane w projekcie Wykonanie Testy jednostkowe zabezpieczeń i poprawności kodu (według przyjętych założeń) Wdrażanie Testy odbiorcze – w zakresie odpowiadającym przyjętym założeniom Brak założeń Brak kwestii niefunkcjonalnych (SQLi, XSS, CSRF, kontrola dostępu, logika, …) Brak uwzględnienia realnych scenariuszy ataku

Zakres testów w oparciu o ryzyko Planowanie Wykonanie Raport Identyfikacja ryzyka Ranking ryzyk Scenariusze ataku Najpierw najistotniejsze Ścisła współpraca Greybox Spis podatności i wykonanych testów Realne zalecenia

Testy bezpieczeństwa dla testerów funkcjonalnych Czy testy bezpieczeństwa mogą być wykonywane przez zespół testujący funkcjonalność? TAK …ale: Przy okazji testowania funkcjonalności W podstawowym zakresie Po wstępnym przeszkoleniu Cel: Wykrycie „nisko wiszących owoców”

Testy bezpieczeństwa dla testerów funkcjonalnych Kontrola dostępu do funkcji BASIC: Powtarzanie URL-i na różnych rolach ADVANCED: Powtarzanie (sekwencji) wywołań POST, jQuery, … Kontrola dostępu do danych BASIC: Manipulacja identyfikatorami danych w URL ADVANCED: w POST, jQuery, Cookies, Headers, … SQL-injection Fuzzing + wykrywanie potencjalnych symptomów Do zweryfikowania przez specjalistę

Testy bezpieczeństwa dla testerów funkcjonalnych Defekty konfiguracji środowiska Podstawowe (np. listing katalogów, wyświetlanie wyjątków, …) Stosowanie skanerów automatycznych Np. poszukiwanie „ukrytej funkcjonalności” Interpretacja wyników Defekty uwierzytelniania i zarządzania sesją Np. brak wygasania sesji, ataki brute-force, odzyskiwanie hasła, …

Podsumowanie Nie ma bezpieczeństwa 100% …ale trzeba ograniczać ryzyko do ŚWIADOMIE zaakceptowanego poziomu

Podsumowanie Bezpieczeństwo jest elementem jakości, więc też trzeba je testować Testy bezpieczeństwa wymagają innego podejścia szczegółowego zaplanowania wiedzy specjalistycznej doświadczenia Ale część testów może być wykonana przez testerów funkcjonalnych

Testy bezpieczeństwa to tylko element procesu QA Definiowanie Identyfikacja ryzyka Do kluczowych ryzyk są dobierane zabezpieczenia Zdefiniowanie założeń Projektowanie Założenia są weryfikowane w projekcie Wykonanie Testy jednost kowe zabezp ieczeń i popra wności kodu (wedłu g przyjęt ych założe ń) Wdrażanie Testy odbior cze – w zakresi e odpowi adając ym przyjęt ym założe niom

Dziękuję za uwagę http://www.securing.pl Wojciech Dworakowski e-mail: info@securing.pl Jontkowa Górka 14a 30-224 Kraków tel. (12) 4252575 fax. (12) 4252593 Wojciech Dworakowski wojciech.dworakowski@securing.pl tel. 506 184 550

Zapraszam Spotkania OWASP Poland Kraków, Warszawa, Poznań https://owasp.org/index.php/Poland http://www.meetup.com/OWASP-Poland/