Czytałem trochę literatury na temat bezpieczeństwa, w szczególności bezpieczeństwa / szyfrowania haseł, i zastanawiałem się nad jedną rzeczą: czy zasada 3-strike jest idealnym rozwiązaniem dla bezpieczeństwa haseł? Oznacza to, że jeśli liczba prób podania hasła jest ograniczona do niewielkiej liczby, po której wszystkie żądania uwierzytelnienia nie zostaną uwzględnione, czy nie ochroni to użytkowników przed włamaniem? Zdaję sobie sprawę, że uzyskanie dostępu lub kontrola nad czymś nie zawsze oznacza przejście przez system uwierzytelniania, ale czy ta funkcja nie powoduje, że ataki słownikowe / brutalne są przestarzałe? Czy czegoś brakuje?
10
Odpowiedzi:
Tak, uniemożliwi to ataki słownikowe poprzez mechanizm logowania . (To nie znaczy wiele, jeśli uzyskają dostęp do bazy danych. Aby zapewnić bezpieczeństwo, musisz odpowiednio zaszyfrować i słonić hasła).
Pozwala również na możliwość ataku DOS na określonego użytkownika. Powiedzmy, że chciałem uniemożliwić Ci zalogowanie się. Wystarczy, że wykonam trzy fałszywe próby zalogowania się na Twoje konto, a następnie powtórz to za każdym razem, gdy zrobisz wszystko, co konieczne, aby zresetować login. Radzenie sobie z tym problemem jest nieco trudniejsze.
źródło
Zgadzam się również, że dzięki temu ataki słownikowe są mniej skuteczne jako sposoby uzyskania dostępu do konta bez odpowiednich uprawnień. Jednak:
Takie podejście może przekształcić atak słownikowy w atak DOS przeciwko systemowi, uniemożliwiając dostęp, jeśli zostanie źle zaimplementowany. Na przykład serwer może zostać zalany próbami uwierzytelnienia. Jednym ze sposobów obejścia tego problemu jest kontrolowanie przepływu usług dostępu do zablokowanego konta przez usługę uwierzytelniającą. Na przykład, jeśli konto jest zablokowane, przedstawiaj opóźnienie przed każdą kolejną próbą logowania. Można jednak wprowadzić opóźnienie między próbą zalogowania się a `` odmową dostępu '', co utrzymuje drzwi otwarte dla rozproszonego ataku typu odmowa usługi, w którym atakujący podejmuje wiele jednoczesnych prób uwierzytelnienia.
Jak wspomniano w drugiej odpowiedzi, może to również zmienić atak słownikowy w prymitywny DOS przeciwko prawowitemu właścicielowi atakowanego konta. Sposoby ograniczenia wpływu na legalnego właściciela obejmują:
Jeśli Twój strach nieumyślnie karze zapomnianego użytkownika tak, jakby był atakującym, zamiast kontrolować przepływ nieudanych prób logowania po ustalonej liczbie nieudanych prób, możesz użyć częstotliwości prób logowania jako dowodu na atak na konto. Na przykład, jeśli zobaczysz 10 prób uwierzytelnienia w ciągu sekundy, możesz użyć jednej z powyższych metod, aby zapobiec dalszym podobnym próbom uwierzytelnienia. Alternatywnie możesz użyć tej gwałtownej liczby prób logowania jako sygnału do rozpoczęcia kontroli przepływu. Ta metoda staje się coraz bardziej popularna na forach, podczas gdy po pewnej liczbie nieudanych prób logowania z określonego adresu IP uniemożliwia się uwierzytelnienie tego adresu przez krótki okres czasu.
Wreszcie dobrym sposobem na zapobieganie wielokrotnemu atakowaniu użytkownika przez atak DOS jest umożliwienie mu zresetowania zarówno hasła, jak i nazwy użytkownika . Innymi słowy, zarówno nazwę użytkownika, jak i hasło traktuj jako tajemnice. Jeśli nazwa użytkownika jest używana gdzie indziej (np. Na forum, jeśli nazwa użytkownika jest nazwą wyświetlaną użytkownika), po prostu traktuj tę nazwę wyświetlaną jako coś osobnego. Takie podejście jest zwykle stosowane w sieciach społecznościowych, w których nazwa użytkownika używana do uwierzytelniania jest adresem e-mail użytkownika - coś, co można zmienić, ale rzadko jest udostępniane - podczas gdy nazwa wyświetlana używana w witrynie jest zdefiniowana przez użytkownika, co może, ale nie musi zmienić się.
W każdym razie mam nadzieję, że jedno lub kilka kombinacji tych podejść się przyda.
źródło