Antiforgery – ochrona przed atakami CSRF

Cross-site request forgery (CSRF lub XSRF) – jest to metoda ataku na serwis internetowy, który wymaga logowania.

Ofiarami tego ataku stają się użytkownicy, którzy po zalogowaniu do swojego serwisu (tu np do AMODIT) odwiedzają strony zawierające złośliwe oprogramowanie. Scenariusz jest następujący:

  1. Użytkownik loguje się na mojafirma.amodit.com przy użyciu uwierzytelniania formularzy. Serwer uwierzytelnia użytkownika i wydaje odpowiedź zawierającą plik cookie uwierzytelniania. Witryna jest podatna na atak, ponieważ ufa wszelkim otrzymanym żądaniom zawierającym prawidłowy plik cookie.
  2. Użytkownik odwiedza teraz złośliwą witrynę www.bad-crook-site.com.
  3. Złośliwa witryna www.bad-crook-site.com zawiera wywołanie np „delete case” odwołujące się do mojaforma.amodit.com.  To jest właśnie atak CSRF  – Cross Site Request Forgery na witrynę, do której użytkownik jest zalogowany i uwierzytelniony.
  4. Żądanie jest uruchamiane na serwerze majafirma.amodit.com w kontekście uwierzytelnionego użytkownika i może zostać wykonana dowolną akcja, którą może wykonać uwierzytelniony użytkownik.

Taki scenariusz nie wymaga żadnych działań ani wysiłku ze strony użytkownika oprócz wizyty na złośliwej stronie.

Korzystanie z HTTPS nie zapobiega atakowi CSRF. Złośliwa witryna może wysłać żądanie https://mojafirma.amodit.com/ równie łatwo, jak może wysłać niepewne żądanie.

Ataki CSRF na aplikacje internetowe, które używają plików cookie do uwierzytelniania, są możliwe ponieważ:

  • Przeglądarki przechowują pliki cookie wydawane przez aplikację internetową.
  • Przeglądarki wysyłają wszystkie pliki cookie związane z domeną do aplikacji internetowej przy każdym żądaniu, niezależnie od tego, w jaki sposób żądanie do aplikacji zostało wygenerowane w przeglądarce.

Użytkownicy mogą chronić się przed lukami w zabezpieczeniach CSRF, podejmując środki ostrożności:

  • Wylogowując się z aplikacji internetowych po zakończeniu ich używania.
  • Nie odwiedzając innych, potencjalnie złośliwych stron, podczas pracy w zalogowanej aplikacji np AMODIT

AMODIT jest zabezpieczony przed atakami CSRF. W tym celu AMODIT w nagłówku swoich wywołań (request) umieszcza wpis RequestVerificationToken, aby być pewnym, że wywołanie pochodzi od AMODIT a nie od złośliwego oprogramowania, które się „podszywa”.

Jeżeli konfiguracja wszystkich elementów sieciowych (firewall, bramy itp)  jest prawidłowa, to zwykły użytkownik niczego nie zauważy. System będzie się prawidłowo bronił przed atakami.

Jednakże,  jeżeli użytkownik zobaczy komunikat jak na poniższym ekranie, oznacza to, że prawdopodobnie nieprawidłowo jest skonfigurowany dostęp do serwera AMODIT i któryś z elementów sieci wycina (usuwa) ten zabezpieczający token (RequestVerificationToken). Należy skontaktować się z administratorem sieci w Państwa firmie i sprawdzić jej ustawienia.

 

Jeżeli administrator sieci jest pewien, że ten typ ataku nie jest możliwy wewnątrz Państwa sieci, to administrator AMODIT może wyłączyć to zabezpieczenie w Ustawieniach systemowych, na zakładce Interfejs użytkownika -> parametr DisableAntiForgery

Was this article helpful?
0 out Of 5 Stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
How can we improve this article?
Please submit the reason for your vote so that we can improve the article.