10 najpopularniejszych błędów w webaplikacjach
#1
Za Niebezpiecznik.pl
Parę tygodni temu Open Web Application Security Project(OWASP) opublikował listę zawierającą 10 najpopularniejszych błędów bezpieczeństwa spotykanych w webaplikacjach. Niebezpiecznik przetłumaczył ten raport i oto wykaz tych błędów:
1. Injection: “błędy wstrzyknięcia”
Zaliaczamy do nich błędy: SQL, OS shell, LDAP, XPath Injection. Błędy te powstają podczas przesłania specjalnie spreparowanych danych do interpretera, jako części zapytania lub polecenia (prościej mówiąc: wartości traktowane są jak polecenia). Jeżeli dane te nie są w odpowiedni sposób filtrowane, osoba atakująca ma możliwość wywołania własnych poleceń/zapytań. Może to spowodować dostęp do poufnych informacji lub nieautoryzowanych działań w systemie.
2. Cross Site Scripting (XSS): “skrypty międzyserwisowe”
Błędy tego typu powstają podczas próby wyświetlenia w przeglądarce internetowej danych pochodzących od użytkownika, bez ich wcześniejszej walidacji. Umożliwia to atakującemu, wykonanie skryptu na prawach ofiary. Efektem może być przechwycenie sesji zalogowanego użytkownika, podmiana zawartości serwisu lub przekierowanie użytkownika na stronę zawierającą inne szkodliwe skrypty lub oprogramowanie.
3. Broken Authentication and Session Management: “niepoprawna obsługa uwierzytelniania i sesji”
Bardzo często funkcje związane z uwierzytelnianiem oraz zarządzaniem sesjami nie są odpowiednio zaimplementowane. Umożliwia to osobom atakującym ujawnienie haseł (w zależności od struktury serwisu), kluczy, tokenów sesji lub wykonania poleceń na prawach zalogowanego użytkownika.
4. Insecure Direct Object References: “niezabezpieczone bezpośrednie odwołanie do obiektu”
Pojawia się kiedy zostaje ujawniona referencja do wewnętrznego obiektu. Może być to plik, katalog lub wartość klucza z bazy danych. Bez kontroli dostępu, lub innych kontroli, atakujący może manipulować referencjami w celu uzyskania dostępu do poufnych informacji.
5. Cross Site Request Forgery: “Fałszowanie żądań”
Atakujący wabiąc ofiarę na swoją stronę, za pomocą umieszczanych na niej instrukcji, może wykonywać zapytania w serwisie do którego jest zalogowana ofiara. Atak ma na celu skłonić użytkownika zalogowanego do serwisu internetowego do uruchomienia odnośnika, który wykona w wybranym serwisie akcję, do której atakujący nie miałby dostępu (np. brak cookie).
6. Security Misconfiguration: “zła konfiguracja”
Dana aplikacja, framework, web server, server aplikacji, platforma, powinny posiadać odpowiednie ustawienia mające wpływ na bezpieczeństwo. Wszelkie ustawienia powinny zostać zdefiniowane, zaimplementowane oraz utrzymywane przez cały czas, ponieważ często domyślne ustawienia nie zapewniają żadnego bezpieczeństwa. Do tego typu problemów możemy zaliczyć zostawianie domyślnych haseł oraz konfiguracji, możliwości listowania katalogów, brak podejmowania akcji w przypadku plików typu *.inc, włączone raportowanie informacji odnośnie błędów aplikacji i wiele innych.
7. Failure to Restrict URL Access: “Brak zabezpieczeń dostępu przez URL”
Często dostęp do poufnych danych lub narzędzi administracyjnych nie jest limitowany do właściwych użytkowników. Aplikacje powinny wykonywać dodatkowe sprawdzanie czy dana osoba powinna mieć dostęp do żądanych danych, nawet jeżeli zna “ukryty” adres URL.
8. Unvalidated Redirects and Forwards: “Brak walidacji przekierowań”
Aplikacje wielokrotnie przekierowują użytkownika na inne strony lub serwisy na podstawie przesłanych danych. Bez odpowiedniej walidacji tych danych, użytkownik może zostać skierowany w zupełnie inne miejsce, np. na stronę phishingową lub ze szkodliwym oprogramowaniem.
9. Insecure Cryptographic Storage: “Błędy szyfrowania danych”
Aplikacje w wielu przypadkach przechowują dane poufne w niezaszyfrowanej postaci. Mogą to być dane typu SSN (Social Security Number), hasła, dane osobowe. Poufne dane należy przechowywać w zaszyfrowanej postaci, jednocześnie zapewniając dostateczny poziom szyfrowania.
10. Insufficient Transport Layer Protection: “Niedostateczne zabezpieczenia wymiany danych”
Aplikacje często nie posiadają odpowiednio zabezpieczonych kanałów przesyłu danych. Może to być brak stosowania SSL podczas logowania, wygasłe certyfikaty lub zbyt słabe szyfrowanie połączenia.

Oryginalny artykuł

[Aby zobaczyć linki, zarejestruj się tutaj]

"Bezpieczeństwo jest podróżą, a nie celem samym w sobie - to nie jest problem, który można rozwiązać raz na zawsze"
"Zaufanie nie stanowi kontroli, a nadzieja nie jest strategią"
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości