Domanda |
Risposta |
Wycieki informacji - ochrona #2 inizia ad imparare
|
|
czasowo blokować dostęp do formularzy przy próbach siłowego pozyskania info; hasła w hash'ach + "posolone"; przemyślane treści komunikatów, bez zdradzania info
|
|
|
Przechowywanie haseł statycznych inizia ad imparare
|
|
plaintext; szyfrogram (ciphertext); skrótu (hash-code); klucz PBKDF (master key)
|
|
|
inizia ad imparare
|
|
wykorzystują fun. mieszające do zwrócenia pewnej wartości (stałej wielkości).
|
|
|
inizia ad imparare
|
|
szybkie i kompresować dane; funkcjami nieodwracalnymi; cechować się słabą odpornością na kolizje
|
|
|
inizia ad imparare
|
|
(salt) pewna wartość (zazwyczaj losowa) dodawana do hasła w celu zwiększenia jego złożoności
|
|
|
inizia ad imparare
|
|
(pepper) stała wartość dla wszystkich haseł dodana np.: do wartości skrótu
|
|
|
Bezpieczeństw o haseł statycznych - dobre praktyki #1 inizia ad imparare
|
|
przechowywanie haseł w bezpiecznej formie; pamiętanie, że wiele frameworków i CMS nie posiada bezpiecznego kryptosystemu zarządzania hasłami; oprócz zabezpieczenia DB, pamiętać o logach i dziennikach zdarzeń
|
|
|
Bezpieczeństw o haseł statycznych - dobre praktyki #2 inizia ad imparare
|
|
wykrywanie próby wielokrotnego logowania; testy wydajnościowe kryptosystemu przed jego uruchomieniem; utwardzanie haseł (sól, pieprz); wprowadzenie polityki zabraniającej korzystanie z słabych haseł
|
|
|
inizia ad imparare
|
|
Zestawia 10 najpopularniejszych luk bezp.: A1 - broken access control; A2 - cryptographic failures; A3 - injection; A4 - insecure design; A5 - security misconfiguration
|
|
|
inizia ad imparare
|
|
A6 - Vulnerable and Outdated Components; A7 - Identification and Authentication Failures; A8 - Software and Data Integrity Failures; A9 - Security Logging and Monitoring Failures; A10 - Server-Side Request Forgery
|
|
|
A1 - Broken Access Control - definicja inizia ad imparare
|
|
niepoprawna kontrola dostępu - możliwość uzyskania dostępu do nieautoryzowanych funkcji/danych/kont innych użytkownikow/przeglądanie poufnych plików/modyfikowanie danych innych użytkowników/zmiana praw dostępu
|
|
|
A1 - Broken Access Control - Aplikacja jest podatna jeśli inizia ad imparare
|
|
zezwolenie na podniesienie uprawnień jako użytkownik bez zalogowana/jako admin po zalogowaniu jako użytkownik; zezwolenie na przepięcie klucza dostępowego umożliwiającego przeglądanie/edytowanie konta innego użtk.; korzysta z błędnie skonfigurowanego CORS
|
|
|
A1 - Broken Access Control - Jak zapobiegać inizia ad imparare
|
|
odmawianie dostępu; mechanizm kontroli dostępu, minimalne użycie CORS; pewność, że metadane i pliki zapasowe nie są umieszczone w katalogu głównym; rejestrowanie błędów kontroli dostępu
|
|
|
A2 - Cryptographic Failures - definicja inizia ad imparare
|
|
ujawnienie wrażliwych danych - podatność na kradzież tożsamości, danych kart płatniczych lub innych (np.: przechwytując ciastko i przejmując kontrolę nad sesją)
|
|
|
A2 - Cryptographic Failures - aplikacja jest podatna jeśli inizia ad imparare
|
|
dane wrażliwe są przesyłane jawnym tekstem; dane wrażliwe są przechowywane w postaci jawnego tekstu; stare i słabe algorytmy kryptograficzne; szyfrowanie danych nie jest wymuszone przez serwer
|
|
|
A2 - Cryptographic Failures - jak zapobiegać inizia ad imparare
|
|
nie przechowywać wrażliwych danych bez potrzeby; szyfrować wrażliwe dane; korzystać z aktualnych i silnych algo. kryptograficznych; wymuszać szyfrowanie
|
|
|
A3 - Injection - definicja inizia ad imparare
|
|
wszystkiwanie - błędy związane ze wstrzykiwaniem danych do zapytań i poleceń (SQL, NoSQL).
|
|
|
A3 - Injection - aplikacja jest podatna jeśli inizia ad imparare
|
|
dane dostarczone przez użytkownika nie są walidowane ani filtrowane; dyn. zapyt./sparam. wywoł są używ. bezpoś. w interpret.; dane dostarcz. są bezpoś. wykorzyst./łącz. z danymi strukt.
|
|
|
A3 - Injection - jak zapobiegać inizia ad imparare
|
|
używ. bezpiecz. interf. API; korzyst. z narz. do mapo. obiekt.-rel. (ORM); "whitelisty" do walid. danych wejść. po stronie serw.; instru. ograni. typu LIMIT w SQL
|
|
|
A4 - Insecure Design - definicja inizia ad imparare
|
|
"Niebezpieczny design" - ryzk. bezpiecz. ze względu na niewłaś. założenia w fazie projekt. apk.
|
|
|