37
Mateusz Olejarka Realia testów bezpieczeństwa

Matuesz Olejarka - Realia testów bezpieczeństwa

  • Upload
    kraqa

  • View
    1.177

  • Download
    0

Embed Size (px)

DESCRIPTION

Prezentacja Matuesza Olejarki przedstawiona na drugim spotkaniu KraQA. Kraków, 31 marca 2014r.

Citation preview

Page 1: Matuesz Olejarka - Realia testów bezpieczeństwa

Mateusz OlejarkaMateusz Olejarka

Realia testów bezpieczeństwaRealia testów bezpieczeństwa

Page 2: Matuesz Olejarka - Realia testów bezpieczeństwa

22

Kto zacz?

• Starszy specjalista ds. bezpieczeństwa IT, SecuRing

• Ocena bezpieczeństwa aplikacji webowych i mobilnych

• Przegląd kodu źródłowego i konfiguracji

• (były) programista

Page 3: Matuesz Olejarka - Realia testów bezpieczeństwa

33

Agenda

• Testy bezpieczeństwa, czyli co?

• Potrzeba, zakres, przygotowania

• Realizacja – narzędzia i przykłady błędów

• Raportowanie, co dalej?

Page 4: Matuesz Olejarka - Realia testów bezpieczeństwa

44

Testy bezpieczeństwa

• Co to znaczy bezpieczna aplikacja?!

• Problem z przełożeniem tego na zakres testów

• Wymagania związane z bezpieczeństwem aplikacji

• Funkcjonalne

• Niefunkcjonalne

Page 5: Matuesz Olejarka - Realia testów bezpieczeństwa

55

Testy funkcjonalne vs Testy bezpieczeństwa

Symulacja działań użytkownika

Symulacja działań intruza

Scenariusze użyciaCoś co jest w interfejsie

Scenariusze nadużyć (ataku)Coś czego nie ma w interfejsieWymaga analizy zagrożeń

Opisane (lub intuicyjne) wymagania

Z reguły brak zdefiniowanych wymagań (zwłaszcza niefunkcjonalnych)

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

Page 6: Matuesz Olejarka - Realia testów bezpieczeństwa

66

Przygotowania

• Biznes aplikacji

• Modelowanie zagrożeń

• Dostępy, konta, kontakty

• Dokumentacja, model uprawnień

• Rekonesans funkcjonalny

Page 7: Matuesz Olejarka - Realia testów bezpieczeństwa

77

Realizacja

• Mapa funkcjonalna aplikacji

• Mechanika aplikacji

• Wygenerowane scenariusze ataku

• Checklisty dla standardowych mechanizmów,formularzy, list, usług…

• A może ASVS ?

Page 8: Matuesz Olejarka - Realia testów bezpieczeństwa

88

Realizacja

Page 9: Matuesz Olejarka - Realia testów bezpieczeństwa

99

Zbrojownia

• Przeglądarki – IE, Chrome, Firefox

• Narzędzia deweloperskie pod klawiszem F12

• Dodatki – Firebug, Web Developer

• HTTP proxy – Burp, Fiddler

• Myśl, myśl, myśl

Page 10: Matuesz Olejarka - Realia testów bezpieczeństwa

1010

Zbrojownia

• HTTP proxy

Przeglądarka SerwerProxy

Page 11: Matuesz Olejarka - Realia testów bezpieczeństwa

1111

Przykłady błędów

• Elementy zablokowane/ukryte

• Globalny identyfikator

• Zmiana hasła

• Przypomnij hasło

Page 12: Matuesz Olejarka - Realia testów bezpieczeństwa

1212

Elementy zablokowane/ukryte

• zablokowane: pole input z atrybutem disabled

• przeglądarka nie wysyła wartości pola przy wykonaniu akcji

Page 13: Matuesz Olejarka - Realia testów bezpieczeństwa

1313

Elementy zablokowane/ukryte

• Usuwamy atrybut disabled z kodu html pola input

• przeglądarka wysyła wartość pola przy wykonaniu akcji

Page 14: Matuesz Olejarka - Realia testów bezpieczeństwa

1414

Web Developer

Page 15: Matuesz Olejarka - Realia testów bezpieczeństwa

1515

Elementy zablokowane/ukryte

• ukryte: pole input typu hidden

• przeglądarka wysyła wartość pola, ale nie widać go na stronie

Page 16: Matuesz Olejarka - Realia testów bezpieczeństwa

1616

Web Developer

Page 17: Matuesz Olejarka - Realia testów bezpieczeństwa

1717

Elementy zablokowane/ukryte

• Błąd jest dopiero wtedy, gdy

• Zmiana wartości pola zablokowanego/ukrytego jest akceptowana przez serwer bez dodatkowych pytań

• Pozwala na obejście logiki aplikacji

• Podobnie bywa z walidacją danych po stronie kodu JavaScript

Page 18: Matuesz Olejarka - Realia testów bezpieczeństwa

1818

Globalny identyfikator

• Nazwa często zawiera id

• Liczba całkowita

• Co będzie jak dodamy 1 ?

Page 19: Matuesz Olejarka - Realia testów bezpieczeństwa

1919

Zmiana hasła

Page 20: Matuesz Olejarka - Realia testów bezpieczeństwa

2020

Zmiana hasła [email protected]

Page 21: Matuesz Olejarka - Realia testów bezpieczeństwa

2121

Zmiana hasła

• Mając adres email użytkownika możemy zmienić mu hasło

• Skutki

• Atak DoS poprzez masową zmianę haseł

• Uszczerbek na wizerunku

Page 22: Matuesz Olejarka - Realia testów bezpieczeństwa

2222

Przypomnij hasło

• Wysyłamy adres email użyty w rejestracji

• Dostajemy link w postaci: http://myapp.securing.pl/reminder/{hash}

• Po wejściu na link widzimy:

Page 23: Matuesz Olejarka - Realia testów bezpieczeństwa

2323

Przypomnij hasło

[email protected]

• 08f08f0900950c00d10c008c09b0ce0c00be0d00cd0c40c90c20890cb0c7

Page 24: Matuesz Olejarka - Realia testów bezpieczeństwa

2424

Przypomnij hasło

[email protected]

• 08f08f0900950c00d10c008c09b0ce0c00be0d00cd0c40c90c20890cb0c7

• Drugi raz przypominamy:

• 08f08f0910950c00d10c008c09b0ce0c00be0d00cd0c40c90c20890cb0c7

Page 25: Matuesz Olejarka - Realia testów bezpieczeństwa

2525

Przypomnij hasło

[email protected]

• 08f08f08c0950c00d10c008c09b0ce0c00be0d00cd0c40c90c20890cb0c7

[email protected]

• 08f08f08d0950c00d10c008d09b0ce0c00be0d00cd0c40c90c20890cb0c7

Page 26: Matuesz Olejarka - Realia testów bezpieczeństwa

2626

Przypomnij hasło

[email protected]

• 08f08f08c0950c00d10c008c09b0ce0c00be0d00cd0c40c90c20890cb0c7

[email protected]

• 08f08f08d0950c00d10c008d09b0ce0c00be0d00cd0c40c90c20890cb0c7

Page 27: Matuesz Olejarka - Realia testów bezpieczeństwa

2727

Przypomnij hasło

[email protected]

• 08f08f0920950bc0bc0bd09b0ce0c00be0d00cd0c40c90c20890cb0c7

[email protected]

• 08f08f0930950bc0bd0bc09b0ce0c00be0d00cd0c40c90c20890cb0c7

Page 28: Matuesz Olejarka - Realia testów bezpieczeństwa

2828

Przypomnij hasło

• Wygląda na szyfr podstawieniowy

• Na końcu jest zaszyfrowany adres email

• A może to tekst zakodowany szesnastkowo ?

Page 29: Matuesz Olejarka - Realia testów bezpieczeństwa

2929

Przypomnij hasło

• hash z linku dla [email protected]:

• 08f08f0940950bc0bd0bc09b0ce0c00be0d00cd c4 c9 c2 89 cb c7

• hex([email protected]) = 616261407365637572 69 6e 67 2e 70 6c

• różnica: 0x5b (d’91)

Page 30: Matuesz Olejarka - Realia testów bezpieczeństwa

3030

Przypomnij hasło

• Szyfr Cezara z kodowaniem szesnastkowym - odwracalny

• Tekst jawny ma postać:

• 449:[email protected]

• Na początku jest licznik rosnący o 1 przy kolejnym resecie hasła

Page 31: Matuesz Olejarka - Realia testów bezpieczeństwa

3131

Przypomnij hasło

• mając:

• adres email użytkownika

• ustawiając dobrą wartość licznika

• możemy poznać hasło innego użytkownika

• Skutki ?

Page 32: Matuesz Olejarka - Realia testów bezpieczeństwa

3232

Raportowanie

• Ogólny opis problemu

• Sposób odtworzenia

• Ryzyko = f(skutki, warunki wykorzystania)

• Rekomendacje

Page 33: Matuesz Olejarka - Realia testów bezpieczeństwa

3333

Raportowanie

• Ogólny opis problemu

• Sposób odtworzenia

• Ryzyko = f(skutki, warunki wykorzystania)

• Rekomendacje

• Opisuj błąd tak, jakby osoba mająca robić retesty była seryjnym mordercą i znała Twój adres

Page 34: Matuesz Olejarka - Realia testów bezpieczeństwa

3434

Co dalej ?

• Retesty wewnętrzne

• Weryfikacja podatności z raportu w innych aplikacjach

• Rozbudowa bazy wiedzy

• Rzut oka na OWASP ASVS

Page 35: Matuesz Olejarka - Realia testów bezpieczeństwa

3535

???

Page 37: Matuesz Olejarka - Realia testów bezpieczeństwa

3737

Dziękuję za uwagę

http://www.securing.pl e-mail: [email protected]. (12) 4252575fax. (12) 4252593

Mateusz [email protected]