Bidragsyter(e): KirstenS, Paul McMillan, Raesene, Adedov, Dinis.Cruz, JoE, Daniel Waller, kingthorin
Blokkere Brute Force Angrep
En felles trussel web-utviklere står overfor, er en passord-gjette angrep kjent som en «brute force» – angrep.En brute-force-angrep er et forsøk på å finne et passord ved systematisk å prøve alle mulige kombinasjoner av bokstaver, tall og symboler helt til du oppdager en riktig kombinasjon som fungerer.,Hvis web-siden krever brukergodkjenning, du er et godt mål for en brute-force angrep.
En angriper kan alltid oppdage et passord gjennom en brute-force angrep, men ulempen er at det kan ta år å finne det.Avhengig av passord lengde og kompleksitet, kan det være billioner av mulige kombinasjoner.
for Å sette fart ting opp litt, en brute-force angrep kan starte med ord fra ordboken, eller litt endret ordbok ord, fordi folk flest vil bruke disse heller enn en helt tilfeldig passord., Disse angrepene er kalt ordliste angrep eller hybrid brute-force angrep.Brute-force angrep sette brukerkontoer på risiko og flom ditt nettsted med unødvendig trafikk.
Hackere som lansere brute-force angrep ved hjelp av allment tilgjengelige verktøy som bruker wordlists og smart rulesets intelligent og automatisk antar brukerpassord. Selv om slike angrep er lett å oppdage, de er ikke så lett å unngå.
For eksempel, mange HTTP brute-force verktøy kan videresende forespørsler gjennom en liste over åpne proxy-servere., Siden hver forespørsel synes å komme fra en annen IP-adresse, kan du ikke blokkere disse angrepene bare ved å blokkere IP-adresse.For ytterligere å komplisere ting, noen verktøy prøv et annet brukernavn og passord på hvert forsøk, så kan du ikke låse ut en enkelt konto for mislyktes passord forsøk.
Låse Kontoer
Den mest opplagte måten å blokkere brute-force angrep er å enkelt låse ut kontoer etter et definert antall feil passord forsøk.,Konto lockout kan vare en viss tid, for eksempel en time, eller kontoer kan forbli låst inntil låst opp manuelt av en administrator.
Imidlertid konto lockout er ikke alltid den beste løsningen, fordi noen kan lett misbruke sikkerhet måle og låse ut hundrevis av brukerkontoer.Faktisk, noen nettsteder oppleve så mange angrep som de er i stand til å håndheve en lockout politikken, fordi de vil hele tiden være å låse opp kundenes kontoer.,
problemer med konto lockout er:
- En angriper kan føre til tjenestenekt (denial of service (DoS) ved å låse ut et stort antall kontoer.
- Fordi du ikke kan låse opp en konto som ikke eksisterer, bare gyldig konto navn vil låse. En angriper kan utnytte dette faktum for å samle inn brukernavn fra nettstedet, avhengig av feil svar.
- En angriper kan føre til en avveksling ved å låse ut mange kontoer og flom hjelp skrivebord med støtte anrop.,
- En angriper kan kontinuerlig for å låse opp den samme kontoen, selv sekunder etter at en administrator, som deretter låses opp, effektivt deaktivere kontoen din.
- Konto lockout er ineffektive mot treg angrep som prøver bare et par passord hver time.
- Konto lockout er ineffektive mot angrep som prøver ett passord mot en stor liste over brukernavn.
- Konto lockout er ineffektiv hvis angriperen er med brukernavn/passord combo liste og gjetter riktig på første par forsøk.,
- Kraftig kontoer som administrator kontoer ofte bypass lockout politikk, men disse er de mest ønskelige kontoer for å angripe. Noen systemer låse ut administrator kontoer på nett-basert logikk.
- Selv når du låse opp en konto, angrepet kan fortsette, forbruk av verdifulle menneskelige og datamaskinen ressurser.
Konto lockout er ofte effektive, men bare i kontrollerte omgivelser eller i tilfeller der risikoen er så stor at selv kontinuerlig DoS-angrep er å foretrekke til konto kompromiss.,I de fleste tilfeller er, imidlertid, konto lockout er ikke nok for å stoppe brute-force angrep.
Tenk deg for eksempel en auksjon nettsted der flere tilbydere blir som kjemper om det samme elementet.Hvis auksjon nettsted håndheves konto lockout, en tilbyder kan bare låse andres kontoer i siste liten av auksjonen, og hindre dem fra å sende noen vinnende bud.En angriper kan bruke samme teknikk for å blokkere kritiske finansielle transaksjoner eller e-post kommunikasjon.,
Enhet Informasjonskapsler
Du kan også vurdere å låse ut godkjenning forsøk fra kjente og ukjente nettlesere eller enheter separat.Den Sakte Ned Online Gjetter Angrep med Enheten Cookies artikkelen foreslår protokoll for lockout mekanisme basert på informasjon om spesifikke leseren allerede har blitt brukt for pålogging.Protokollen er mindre utsatt for DoS-angrep enn vanlig konto låse ut og samtidig som den er effektiv og enkel å implementere.,
å Finne Andre Løsninger på
Som beskrevet, konto lockout er vanligvis ikke en praktisk løsning, men det er andre triks for å håndtere brute force angrep.Først, siden suksessen av angrepet er avhengig av tid, en enkel løsning er å injisere tilfeldig pauser når du kontrollerer et passord.Å legge til enda et par sekunder pause i stor grad kan bremse en brute-force angrep, men vil ikke bry mest legitime brukere som de logge seg på kontoene sine.,
Merk at selv legge til en forsinkelse kan bremse en single-threaded angrep, det er mindre effektive hvis de angriper sender flere samtidige godkjenning forespørsler.
en Annen løsning er å låse ut en IP-adresse med flere mislykkede pålogginger.Problemet med denne løsningen er at du kan utilsiktet blokkere store grupper av brukere ved å blokkere en proxy-server brukes av en internett-leverandør eller stort firma.Et annet problem er at mange verktøy for bruk proxy-postlister og sende bare et par forespørsler fra hver IP-adresse før du går videre til neste.,
ved Hjelp av allment tilgjengelige åpen proxy lister, kan en angriper enkelt å omgå eventuelle IP-blokkering mekanisme.Fordi de fleste nettsteder ikke blokkere etter bare ett mislykket passord, kan en angriper kan bruke to eller tre forsøk per proxy.En angriper med en liste over 1,000 proxyer kan forsøke på 2000-eller 3000 i passord uten å bli blokkert.
Likevel, til tross for denne metoden har svakheter, nettsteder som opplever høye tall for angrep (voksen nettsteder i særdeleshet) velger å blokkere proxy IP-adresser.,
En enkel, men likevel overraskende effektiv løsning er å designe ditt Nettsted ikke å bruke forutsigbar atferd for mislyktes passord.For eksempel, de fleste nettsteder returnere en «HTTP 401-feil» kode med et passord feil, selv om noen nettsteder i stedet returnere en «HTTP 200 SUKSESS» – koden, men du sende brukeren til en side som forklarer mislyktes passord forsøk.Dette fools noen av automatiserte systemer, men det er også lett å omgå.
En bedre løsning kan være å endre atferd nok for til slutt å ta motet fra alle, men de mest dedikerte hackere.,Du kan for eksempel bruke forskjellige feilmeldinger hver gang, eller noen ganger lar en bruker til en side, og deretter be dem igjen for et passord.
automatisert brute-force verktøy tillate en angriper å angi bestemte utløse strenger å se etter som indikerer at en mislykket password forsøk.For eksempel, hvis den resulterende siden inneholder uttrykket «Ugyldig brukernavn eller passord,» verktøyet ville vite legitimasjon mislyktes, og ville prøve den neste på listen.,En enkel måte å lure disse verktøyene er å inkludere også de setningene som kommentarer i HTML-kilden for siden de får når de lykkes med å godkjenne.
Etter ett eller to mislykkede påloggingsforsøk, ønsker du kanskje å be brukeren ikke bare for brukernavn og passord, men også for å svare på et hemmelig spørsmål.Dette er ikke bare fører til problemer med automatiserte angrep, er det hindrer at en angriper fra å få tilgang til, selv om de får brukernavn og passord riktig.,
Du kan også oppdage høyt antall angrep, system-wide og under de forholdene be alle brukerne om å svare på deres hemmelige spørsmål.
Andre teknikker som du kan vurdere er:
- For avanserte brukere som ønsker å beskytte sine kontoer fra angrep, gi dem muligheten til å tillate innlogging bare fra bestemte IP-adresser.
- Angi påloggingsinformasjon Nettadresser til blokker av brukerne, slik at ikke alle brukere kan få tilgang til nettstedet fra samme URL.,
- Bruk a for å hindre automatiserte angrep
- i Stedet for helt å låse ut en konto, kan du plassere det i en lockdown-modus med begrensede evner.
Angripere kan ofte omgå mange av disse teknikkene av seg selv, men ved å kombinere flere metoder, du kan betydelig begrense brute-force angrep.Det kan være vanskelig å stoppe en angriper som er fast bestemt på å få tak i et passord, spesielt fra din nettside, men disse teknikkene sikkert kan være effektiv mot mange angrep, inkludert de fra nybegynner hackere.,Disse teknikkene krever også mer arbeid på angriperen, som gir deg flere muligheter til å oppdage angrep og kanskje til og med identifiserer angriperen.
Selv om brute-force angrep er vanskelig å slutte helt, de er lette å oppdage, fordi hver mislykkede påloggingsforsøk poster en HTTP status code 401 i din Web server loggfiler.Det er viktig å overvåke dine loggfiler for brute-force angrep, spesielt blandet 200 statuscodes som mener angriperen funnet et gyldig passord.,moduler med en refererende URL adressen til noen e-post eller IRC-klient
Brute force » – angrep er overraskende vanskelig å slutte helt, men med forsiktig design og flere mottiltak, kan du begrense din eksponering for disse angrepene.,
til Slutt, den eneste beste forsvar er å sørge for at brukerne følger de grunnleggende reglene for sterke passord: bruk lange uforutsigbare passord, unngå ord fra ordboken, unngå å gjenbruke passord og endre passord med jevne mellomrom.
En fullstendig automatisert offentlig Turing test å fortelle datamaskiner og mennesker fra hverandre, eller er et program som gjør det mulig å skille mellom mennesker og datamaskiner.Først mye brukt av Alta Vista for å hindre automatiserte søk innleveringer, s er spesielt effektive i å stoppe enhver form for automatisert misbruk, herunder brute-force angrep.,
De fungerer ved å presentere noen test som er lett for mennesker å passere, men vanskelig for datamaskiner å passere, og derfor kan de konkludere med noen sikkerhet om det er et menneske i den andre enden.
For å være effektive, mennesker må være i stand til å besvare testen riktig så nær 100 prosent av tiden som mulig.Datamaskiner må mislykkes så nær 100 prosent av tiden som mulig.Forskere ved Carnegie Mellon ‘ s School of Computer Science jobber kontinuerlig med å forbedre og introdusere nye s.,
Hvis du utvikler din egen , husk at det er ikke hvor hardt det er spørsmålet som betyr noe-det er hvor sannsynlig det er at en datamaskin vil få det riktige svaret.Jeg en gang så en som presenterer brukeren med et bilde av tre sebraer, med en multiple-choice spørsmål å spørre hvor mange sebraer var i bildet.For å svare på spørsmålet, må du klikke på en av de tre knappene.
Selv om det ville være svært vanskelig for et dataprogram for å både forstå spørsmålet og tolke bildet, kan det hende at programmet bare tilfeldig gjette noen svar, og få det rette en tredjedel av tiden., Selv om dette kan virke som et tilfredsstillende nivå av risiko, det er på ingen måte en effektiv .Hvis du kjører en gratis e-post-tjenesten og bruk en slik som dette for å hindre at spammere fra å opprette kontoer i bulk, er alt de har å gjøre er å skrive et skript for automatisk opprette 1,000 kontoer og forvente i gjennomsnitt at 333 av disse forsøkene vil bli vellykket.
Likevel, en enkel, likevel kan være effektiv mot brute-force angrep.,Når du kombinerer muligheten for at en angriper sender en riktig brukernavn og passord gjette med sjanse for å gjette riktig, kombinert med andre teknikker som er beskrevet i dette kapittelet, og med et enkelt kan vise seg effektive.
Figur 1: Godkjenning av Passord Forsinkelse: C#
Figur 2: Godkjenning av Passord Forsinkelse: 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