közreműködő(K): KirstenS, Paul McMillan, Raesene, Adedov, Dinis.Cruz, JoE, Daniel Waller, kingthorin
brute Force támadások blokkolása
a közös fenyegetés a webfejlesztők arca egy jelszó-kitaláló támadás, amelyet brute force támadásnak neveznek.A brute-force támadás egy kísérlet, hogy felfedezzék a jelszót szisztematikusan próbál minden lehetséges kombinációja betűk, számok, szimbólumok, amíg meg nem találja az egyetlen helyes kombináció, ami működik.,Ha a webhely felhasználói hitelesítést igényel, akkor jó célpont vagy egy brutális támadáshoz.
a támadó mindig felfedezhet egy jelszót egy brute-force támadás révén, de a hátránya az, hogy évekig tarthat megtalálni.A jelszó hosszától és összetettségétől függően több billió lehetséges kombináció lehet.
a dolgok felgyorsítása érdekében egy brutális támadás szótári szavakkal vagy kissé módosított szótári szavakkal kezdődhet, mert a legtöbb ember ezeket fogja használni, nem pedig egy teljesen véletlenszerű jelszót., Ezeket a támadásokat szótári támadásoknak vagy hibrid brute-force támadásoknak nevezik.A Brute-force támadások veszélyeztetik a felhasználói fiókokat, és felesleges forgalommal árasztják el webhelyét.
A hackerek brute-force támadásokat indítanak széles körben elérhető eszközök segítségével, amelyek wordlistákat és intelligens szabályrendszereket használnak a felhasználói jelszavak intelligens és automatikus kitalálására. Bár az ilyen támadások könnyen észlelhetők, nem olyan könnyű megakadályozni őket.
például sok HTTP brute-force eszköz továbbíthatja a kéréseket a nyitott proxykiszolgálók listáján keresztül., Mivel úgy tűnik, hogy minden kérés más IP-címről származik, nem blokkolhatja ezeket a támadásokat egyszerűen az IP blokkolásával address.To tovább bonyolítja a dolgokat, egyes eszközök minden egyes kísérletnél más felhasználónevet és jelszót próbálnak ki, így egyetlen fiókot sem zárhat ki a sikertelen jelszókísérletekhez.
fiókok zárolása
a brute-force támadások blokkolásának legnyilvánvalóbb módja az, hogy egyszerűen lezárja a fiókokat egy meghatározott számú helytelen jelszó-kísérlet után.,A fiókzárolások egy meghatározott időtartamig tarthatnak, például egy óráig, vagy a fiókok zárolva maradhatnak, amíg a rendszergazda manuálisan nem oldja fel.
Azonban figyelembe lockout nem mindig a legjobb megoldás, mert valaki könnyen visszaélnek a biztonsági intézkedés, illetve zár ki több száz felhasználói fiókok.Sőt, egyes weboldalak élmény így sok támadás, hogy nem tudnak érvényesíteni lockout politika, mert állandóan feloldása vevői számlák.,
a fiókzárolásokkal kapcsolatos problémák a következők:
- a támadó nagyszámú fiók zárolásával szolgáltatásmegtagadást (dos) okozhat.
- mivel nem zárolhat ki olyan fiókot, amely nem létezik, csak az érvényes fióknevek zárolnak. A támadó ezt a tényt felhasználhatja a felhasználónevek betakarítására a webhelyről, a hibaelhárításoktól függően.
- a támadó elterelést okozhat azáltal, hogy sok fiókot zár ki, és elárasztja a ügyfélszolgálatot támogató hívásokkal.,
- a támadó folyamatosan zárolhatja ugyanazt a fiókot, akár másodpercekkel a rendszergazda feloldása után is, hatékonyan letiltva a fiókot.
- a fiókzárolás hatástalan a lassú támadások ellen, amelyek óránként csak néhány jelszót próbálnak ki.
- a fiókzárolás hatástalan olyan támadások ellen, amelyek egy jelszót próbálnak ki a felhasználónevek nagy listájával szemben.a
- fiókzárolás hatástalan, ha a támadó felhasználónév/jelszó kombinációs listát használ, és az első pár kísérlet során helyesen talál ki.,
- a nagy teljesítményű fiókok, például az adminisztrátori fiókok gyakran megkerülik a kizárási házirendet,de ezek a leginkább kívánatos fiókok. Egyes rendszerek csak hálózati alapú bejelentkezések esetén zárják ki a rendszergazdai fiókokat.
- még akkor is, ha zárol egy fiókot, a támadás folytatódhat, értékes emberi és számítógépes erőforrásokat fogyasztva.
Fiók lockout néha hatékony, de csak ellenőrzött körülmények között, vagy olyan esetekben, amikor a kockázat olyan nagy, hogy még a folyamatos DoS támadások előnyösebb figyelembe kompromisszum.,A legtöbb esetben azonban a számlazárolás nem elegendő a brute-force támadások megállításához.
fontolja meg például egy aukciós oldalt, amelyen több ajánlattevő harcol ugyanazon tételért.Ha az aukciós weboldal érvényesíteni számla gyárfoglalások, egy ajánlattevő csak egyszerűen zárd be a mások számlák az utolsó pillanatban az aukció, ami megakadályozza, hogy benyújtása minden győztes ajánlatot.A támadók használja ugyanazt a technikát, hogy blokkolja a kritikus pénzügyi tranzakciók vagy e-mail kommunikációt.,
eszköz Cookie-k
fontolóra veheti az ismert és ismeretlen böngészők vagy eszközök hitelesítési kísérleteinek külön-külön történő lezárását is.A lassul Online találgatás támadások készülék cookie-k cikk javasolja protokoll zárolási mechanizmus információk alapján, ha adott böngésző már használják a sikeres bejelentkezés.A protokoll kevésbé érzékeny a DoS támadásokra, mint a sima fiókzárás, mégis hatékony és könnyen megvalósítható.,
Egyéb ellenintézkedések keresése
a leírtak szerint a fiókzárások általában nem praktikus megoldás, de vannak más trükkök is a brutális erőszakos támadások kezelésére.Először is, mivel a támadás sikere az időtől függ, egyszerű megoldás véletlenszerű szünetek beadása a jelszó ellenőrzésekor.Még néhány másodperc szünet hozzáadása nagyban lelassíthatja a brutális támadást, de nem zavarja a legtöbb legitim felhasználót, amikor bejelentkezik a fiókjába.,
vegye figyelembe, hogy bár a késleltetés hozzáadása lelassíthatja az egyszálú támadást, kevésbé hatékony, ha a támadó több egyidejű hitelesítési kérelmet küld.
egy másik megoldás az IP-cím zárolása több sikertelen bejelentkezéssel.A probléma ezzel a megoldással az, hogy véletlenül blokkolhatja a felhasználók nagy csoportjait egy ISP vagy nagyvállalat által használt proxykiszolgáló blokkolásával.Egy másik probléma az, hogy sok eszköz Használja proxy listák küldeni csak néhány kérést minden IP-címet, mielőtt a következő.,
a széles körben elérhető nyílt proxy listák segítségével a támadó könnyen megkerülheti az IP blokkoló mechanizmusokat.Mivel a legtöbb webhely nem blokkolja csak egy sikertelen jelszó után, a támadó két vagy három kísérletet használhat proxy.An az 1000 proxyval rendelkező támadó 2000 vagy 3000 jelszót próbálhat meg blokkolás nélkül.
ennek ellenére a módszer gyengeségei ellenére a nagyszámú támadást tapasztaló webhelyek (különösen a felnőtt webhelyek) úgy döntenek, hogy blokkolják a proxy IP-címeket.,
egy egyszerű, mégis meglepően hatékony megoldás az, hogy megtervezze webhelyét, hogy ne használjon kiszámítható viselkedést a sikertelen jelszavakhoz.Például a legtöbb webhely egy “HTTP 401 error” kódot ad vissza jelszóval, bár egyes webhelyek ehelyett “HTTP 200 SUCCESS” kódot adnak vissza, de irányítják a felhasználót egy oldalra, amely elmagyarázza a sikertelen jelszó-kísérletet.Ez bolondok néhány automatizált rendszerek, de ez is könnyen megkerülhető.
jobb megoldás lehet a viselkedés megváltoztatása ahhoz, hogy végül elriassza az összes, de a legelkötelezettebb hackereket.,Használhat például különböző hibaüzeneteket minden alkalommal, vagy néha átengedheti a felhasználót egy oldalra, majd újból megadhatja a jelszót.
néhány automatizált brute-force eszköz lehetővé teszi a támadó számára, hogy bizonyos trigger-karakterláncokat keressen, amelyek sikertelen jelszó-kísérletet jeleznek.Ha például az eredményül kapott oldal tartalmazza a “rossz felhasználónév vagy jelszó” kifejezést, az eszköz tudni fogja, hogy a hitelesítő adatok nem sikerültek, és megpróbálja a következőt a listában.,Egy egyszerű módja annak, hogy bolond ezeket az eszközöket, hogy tartalmazza azokat a kifejezéseket, mint megjegyzéseket a HTML forrás az oldal kapnak, amikor sikeresen hitelesíteni.
egy vagy két sikertelen bejelentkezési kísérlet után érdemes lehet a felhasználót nem csak a felhasználónévre és a jelszóra kérni, hanem egy titkos kérdésre is válaszolni.Ez nem csak az automatizált támadásokkal okoz problémát, hanem megakadályozza, hogy a támadó hozzáférjen, még akkor is, ha a felhasználónevet és a jelszót helyesen kapja meg.,
rendszerszintű támadások nagy számát is észlelheti, és ilyen körülmények között minden felhasználót arra kérhet, hogy válaszoljon titkos kérdéseire.
egyéb technikák, amelyeket érdemes megfontolni:
- olyan fejlett felhasználók számára, akik meg akarják védeni fiókjaikat a támadástól, lehetőséget adnak arra, hogy csak bizonyos IP-címekről engedélyezzék a bejelentkezést.
- egyedi bejelentkezési URL-ek hozzárendelése a felhasználók blokkjaihoz, így nem minden felhasználó férhet hozzá a webhelyhez ugyanabból az URL-ből.,
- használjon a-t az automatizált támadások megelőzésére
- a fiók teljes zárolása helyett helyezze korlátozott képességekkel rendelkező zárolási módba.
a támadók gyakran megkerülhetik ezeket a technikákat önmagukban, de több technika kombinálásával jelentősen korlátozhatja a nyers erőt attacks.It lehet, hogy nehéz megállítani a támadó, aki eltökélt szándéka, hogy egy jelszót kifejezetten a webhely, de ezek a technikák minden bizonnyal hatékony lehet ellen sok támadás, beleértve a Kezdő hackerek.,Ezek a technikák több munkát igényelnek a támadó részéről, ami több lehetőséget ad a támadás észlelésére, sőt talán még a támadó azonosítására is.
bár a brute-force támadásokat nehéz teljesen megállítani, könnyű észlelni őket, mert minden sikertelen bejelentkezési kísérlet HTTP 401 állapotkódot rögzít a webszerverben logs.It fontos, hogy figyelemmel kísérje a logfiles brute-force támadások-különösen a keverve 200 statuscodes, ami azt jelenti, a támadó talált egy érvényes jelszót.,ins hivatkozó URL valaki mailben vagy IRC kliens
Brute force támadások meglepően nehéz, hogy ne teljesen, de a gondos tervezés, több ellenintézkedések, korlátozhatja az expozíció, hogy ezek a támadások.,
végső soron az egyetlen legjobb védelem annak biztosítása, hogy a felhasználók kövessék az erős jelszavak alapvető szabályait: hosszú, kiszámíthatatlan jelszavakat használjanak, kerüljék a szótári szavakat, ne használják újra a jelszavakat, és rendszeresen cseréljék a jelszavakat.
egy teljesen automatizált nyilvános Turing teszt a számítógépek és az emberek szétválasztására, vagy egy olyan program, amely lehetővé teszi az emberek és a számítógépek megkülönböztetését.Először széles körben használják az Alta Vista, hogy megakadályozzák az automatizált Keresési beadványok, s különösen hatékonyak a megállás bármilyen automatizált visszaélés, beleértve a nyers erő támadások.,
úgy dolgoznak, hogy bemutatnak egy olyan tesztet, amely az emberek számára könnyen átadható, de a számítógépek számára nehéz; ezért bizonyos bizonyossággal megállapíthatják, hogy van-e ember a másik végén.
ahhoz, hogy az a hatékony legyen, az embereknek képesnek kell lenniük a teszt helyes megválaszolására az idő közel 100% – ában.A számítógépeknek az idő közel 100% – át kell meghibásodniuk.A Carnegie Mellon ‘ s School of Computer Science kutatói folyamatosan dolgoznak az új s fejlesztésén és bevezetésén.,
ha saját fejlesztést végez, ne feledje, hogy nem számít, mennyire nehéz a kérdés-mennyire valószínű, hogy egy számítógép megkapja a helyes választ.Egyszer láttam egy, amely bemutatja a felhasználó egy képet három zebrák, egy feleletválasztós kérdés kérdezi, hogy hány zebrák voltak a picture.To válaszolj a kérdésre, kattintson a három gomb egyikére.
bár egy számítógépes program számára nagyon nehéz lenne megérteni a kérdést és értelmezni a képet, a program véletlenszerűen kitalálhat bármilyen választ, és az idő egyharmadát kijavíthatja., Bár ez kielégítő kockázati szintnek tűnhet, ez semmiképpen sem hatékony .Ha egy ingyenes e-mail szolgáltatást futtat, és egy ilyen szolgáltatást használ, hogy megakadályozza a spamküldők tömeges fiókok létrehozását, csak annyit kell tennie, hogy írjon egy szkriptet, hogy automatikusan létrehozzon 1000 fiókot, és átlagosan elvárja, hogy 333 ilyen kísérlet sikeres lesz.
Mindazonáltal egy egyszerű még mindig hatékony lehet a brutális erőszakos támadások ellen.,Ha össze az esélye, hogy egy támadó küld egy helyes felhasználónév és jelszó hiszem, az esélye, hogy kitalálja a helyesen, kombinálva más leírt technikák ebben a fejezetben, még egy egyszerű is hatékonynak bizonyulhat.
1. ábra: jelszó hitelesítési késleltetés: C #
2. ábra: jelszó hitelesítési késleltetés: VB.NET
Public Sub AuthenticateRequest(ByVal obj As Object, ByVal ea As System.EventArgs) Dim objApp As HttpApplication Dim objContext As HttpContext Dim ran As Random objApp = obj objContext = objApp.Context ' If user identity is not blank, pause for a random amount of time If objApp.User.Identity.Name <> "" Then ran = New Random Thread.Sleep(ran.Next(ran.Next(minSeconds, maxSeconds) * 1000)) End IfEnd Sub