Toon posts:

[theorie] hoe veilig is dit intrution detection system?!

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor een inlogprocedure voor een webapp ga ik een intrution detection system maken: nu wil ik vooraf even een beeld krijgen van de zwakke plekken in dit systeem....

Het komt er op neer dat als je 3x een fout naam/ww opgeeft je voor 5 minuten op de strafbank zit, na deze 5 minuten mag je t opnieuw proberen, doe je t dan 3x fout ben je een half uur weg, daarna 2 uur, 6 uur en vervolgens heb je een perm ip ban...

Het script staat bovenaan de pagina in een include dus zal eerst worden uitgevoerd voordat de pagina wordt geladen, hij kijk op het ipadres van de requist vorokomt in de ipdatabase, indien ja: is de straftijd al voorbij of neit?! Zo niet --> redirect.

Degene die dus emt een bruteforce programma alle combinaties gaan proberen zijn dus na 15 pogingen definief geband... Aber, wat te doen tegen ipspoofing?!

Zou het een goed idee zijn om aan het begin van de sessie het 1e ipadres vast te leggen in een sessie en vervolgens te kijken of het ipadres veranderd en hem dan ook blokken?!

Maar de crackende partij kan natuurlijk na iedere attempt zijn cookies verwijderen, waardoor ook de sessie gekilled is, en hij vrolijk door kan gaan met spoofen, en cracken.

Wie heeft hier nog goede ideeen over?! Of ben ik nu te paranoide aan het worden?

Verwijderd

hmmm.. sla alle failed log in attempts op in een soort log (gebruik ik ook in me CMS).
Ennuh, IP spoofen? je bedoeld een proxy, IP spoofen is niet zo simpel in de praktijk ;)

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Stel, ik wil mijn buurman plagen. Via de proxy die hij ook gebruikt vul ik een paar keer achter elkaar een verkeerd wachtwoord in.

Brute-forcen over het web gebeurt doorgaans niet - het is gewoon te traag. Stel je kunt 10 requests per seconde doen, dan doe je over een wachtwoord van drie karakters al minimaal een uur (hoofdletter ongevoelig) of 6 uur (hoofdlettergevoelig). Je kunt je applicatie dus beter beschermen door minimale wachtwoordlengte in te stellen. (8 karakters kost ongeveer 1000 eeuwen)

Mocht je je nog beter willen beschermen, blokkeer dan na 10 pogingen het account, en laat een mailtje naar de admin sturen. Die kan dan in de db-admin de account weer unlocken nadat de aanval voorbij is.

Zoek eens een goed artikel over ip-spoofing, want ik heb niet het idee dat je begrijpt wat het exact is. Ip-spoofing is namelijk onbruikbaar voor dit doeleinde. (ip-spoofing is blind, en vereist grote hoeveelheden dataverkeer, en een brak server-os)

Localhost, sweet localhost


  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
kvdveer schreef op 09 February 2003 @ 12:52:
Brute-forcen over het web gebeurt doorgaans niet - het is gewoon te traag. Stel je kunt 10 requests per seconde doen, dan doe je over een wachtwoord van drie karakters al minimaal een uur (hoofdletter ongevoelig) of 6 uur (hoofdlettergevoelig). Je kunt je applicatie dus beter beschermen door minimale wachtwoordlengte in te stellen. (8 karakters kost ongeveer 1000 eeuwen)
Hoofdletters zijn niet voorbehouden aan de eerste letter van een wachtwoord, dus het verschil is een factor 8 bij 3 letters.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 23:08
Je bent ontzettend moeilijk aan het doen, om vrijwel onmogelijke gebeurtenissen uit te sluiten. Ik wil me dus aansluiten bij kvdveer: doe niet zo moeilijk, maar zorg er gewoon voor dat je gebruikers een veilig wachtwoord kiezen.
kvdveer schreef op 09 February 2003 @ 12:52:
Zoek eens een goed artikel over ip-spoofing, want ik heb niet het idee dat je begrijpt wat het exact is. Ip-spoofing is namelijk onbruikbaar voor dit doeleinde. (ip-spoofing is blind, en vereist grote hoeveelheden dataverkeer, en een brak server-os)
Jij ook niet helemaal, geloof ik, want IP-spoofing kost absoluut geen dataverkeer, en je hebt er geen "brak server-os" voor nodig: met elk modern operating system is het mogelijk. Met Windows 95 en Windows NT (???) nog niet, dacht ik, maar verder zijn er vrij weinig beperkingen.

IP-spoofing gebruiken om 'anoniem' over TCP te communiceren is echter bijna onmogelijk, aangezien de 'hacker' dan belangrijke informatie misloopt. De kans is dan veel groter dat iemand een of andere Windows bak besmet met een programma dat 'm instaat stelt om van een andere internetconnectie gebruik te maken (back orifice, subseven, netbus, etc.).

Maar dat schiet nog steeds niet op: als je over 1000 IP addressen kunt beschikken en je kunt elk IP adres een stuk of 100 keer gebruiken, dan kun je nog steeds geen wachtwoord van, bijvoorbeeld 6 kleine letters kraken (tenzij je ontzettend veel mazzel hebt, natuurlijk).

[ Voor 33% gewijzigd door Soultaker op 09-02-2003 13:12 ]


Verwijderd

Dynamische IP's en Flooding/(D)Dos ben je nog vergeten :)

Hoe te detecteren:
Dynamische IP's vallen meestal in dezelfde reeks, dus als Pietje eerst IP 192.168.120.1 krijgt, is de kans groot dat hij na close/reconnect IP nummers krijgt in 192.168.12x.x
Wat jij doet met een perm.ban op IP zou je eventueel ook nog op domain kunnen doen (indien dus de persoon langduring probeert én elke keer een IP in dezelfde hoofdgroep heeft, maar niet exact hetzelfde IP).
Flooding/Dos is traffic van hetzelfde IP nummer, DDos is traffic van meerdere IP's. Spoofed Dos is traffic van willekeurige IP's. (zeg ik dat nu goed?)

Paranoide ? Tsja, heb je wat te verbergen dan ? :)

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Soultaker schreef op 09 February 2003 @ 13:07:
Jij ook niet helemaal, geloof ik, want IP-spoofing kost absoluut geen dataverkeer, en je hebt er geen "brak server-os" voor nodig: met elk modern operating system is het mogelijk. Met Windows 95 en Windows NT (???) nog niet, dacht ik, maar verder zijn er vrij weinig beperkingen.
Een korte inleiding in IP-spoofing (en dat is niet hetzelfde als zombying en ip-hyjacking).

Een TCP verbinding wordt gemaakt door een SYN- pakketje te sturen naar de host. Dit pakketje bevat het ipadres van de client, en een uniek nummer. De host stuurt een SYN-ACK pakketje terug naar het from-adres, en een _ander_ uniek nummer. Vervolgens stuurt de client een ACK naar de server. Hierna kan gecommuniceerd worden. De client stuurt met ieder TCP-pakketje het unieke nummer uit het SYN-ACK pakketje mee, en de server stuurt met ieder TCP-pakketje het unieke nummer uit het SYN-pakketje van de client mee.

Nu gaan we spoofen. We sturen een SYN-pakketje met een vervalst from-adres naar de server. De server reageert met een SYN-ACK-pakketje, maar dat wordt naar de verkeerde host gestuurd. de hacker weet dus niet dat unieke nummer. Gelukkig voor de hacker zijn die nummers globaal te voorspellen. In Win95 waren deze gewoon opvolgend. Het is dan mogelijk om bijvoorbeeld 100 pakketjes te sturen met de data die je nodig hebt, met ieder een ander nummer. De server gooit de pakketjes met de verkeerde nummers weg, en accepteert dat ene pakketje met het juiste nummer. Hij blijft overigens zijn antwoorden naar de verkeerde host sturen. Aangezien die host-OS die unieke nummers produceert, is er dus sprake van een brak host-os.

Localhost, sweet localhost


Verwijderd

De moeite die je nu steekt in een systeem voor intrusion detection kun je beter verplaatsen naar een betere controle op verwachte url en form variabelen, etc. :) Daar heb je veel meer aan.

Verwijderd

Topicstarter
oke heb ff wat nog wat meer verdiept in het mittnick ip spoofing verhaal, het lijkt me toch wat lastiger dan ik dacht... ik kan al mijn klanten niet dwingen om een wachtwoord te kiezen van minimaal 8 character, die beginnen met een vaag leesteken, daarna hofd en kleine letters en ook nog willekurig afgewisseld met cijfers ed.... Het klinkt natuurlijk als een goede oplossing, maar of die wachtwoorden hangen op een post-it briefje, of ik heb ze om de 2 dagen aan de telefoon en dan moet ik een nieuw wachtwoord aanmaken (md-5)

En we willen natuurlijk geen lpfkandidaten.nl toestanden meer hebben, waar als ik me niet sterk vergis ook een bruteforce methode is gebruikt... Dynamische ip's zullen alleen bij modemgebruikers voorkomen en zijn dus niet erg geschikt voor bruteforce methoden...

Ik heb nix te verbergen hoor, maar ik vind het alleen niet zo fijn als er iemand die niet in mijn applicatie thuishoort er toch binnen kan wandelen...

Ow ja Koert: ik heb je stukje gelezen op webgoeroe.net dus ik neem aan dat je er iets meer verstand van hebt dan ik nu, ik sluit me bij je aan.

[ Voor 8% gewijzigd door Verwijderd op 09-02-2003 13:32 ]


  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Verwijderd schreef op 09 februari 2003 @ 13:22:
Flooding/Dos is traffic van hetzelfde IP nummer, DDos is traffic van meerdere IP's. Spoofed Dos is traffic van willekeurige IP's. (zeg ik dat nu goed?)

Paranoide ? Tsja, heb je wat te verbergen dan ? :)
DoS hoeft niet hetzelfde source IPA in alle packets te gebruiken en DDoS kan hetzelfde source IPA in alle packets gebruiken.
(D)DoS maakt vaak gebruik van een fake source IPA om filteren tegen te gaan.

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
[b][message=16985918,noline]mabit schreef op 09 februari 2003 @ 13:31ik kan al mijn klanten niet dwingen om een wachtwoord te kiezen van minimaal 8 character, die beginnen met een vaag leesteken, daarna hofd en kleine letters en ook nog willekurig afgewisseld met cijfers ed.... Het klinkt natuurlijk als een goede oplossing, maar of die wachtwoorden hangen op een post-it briefje, of ik heb ze om de 2 dagen aan de telefoon en dan moet ik een nieuw wachtwoord aanmaken (md-5)
Passworden op een post-it zijn veiliger dan passworden als "secret" of van 4 letters.

Je zou elke controle minimaal 1 s kunnen laten duren en per IPA maar 1 controle per 10 s uitvoeren.

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Verwijderd schreef op 09 February 2003 @ 13:31:
Ow ja Koert: ik heb je stukje gelezen op webgoeroe.net dus ik neem aan dat je er iets meer verstand van hebt dan ik nu, ik sluit me bij je aan.
Ik wist niet dat die artikelen ook echt gelezen werden... B)

Als die wachtwoorden op postit-briefjes hangen, dan kun je beveiligen tot je een ons weegt, maar je systeem wordt er niet veiliger op... Publiek toegankelijke wachtwoorden zijn de zwakte van vrijwel ieder systeem, slechte wachtwoorden ook.
Wil je je systeem op technische wijze hiertegen wapenen, dan moet je een rechtensysteem invoeren. Alleen admins kunnen bepaalde gevoelige informatie zien, en wijzigen. Voor admins geldt tevens een password policy van meer dan 6 karakters (letters+cijfers, hoofdlettergevoelig). Op die manier is je systeem bij een eventueel lek nog niet helemaal open.
Een passwordpolicy van 5 karakters (letters, hoofdletterongevoelig) zal een cracker toch nog ongeveer een half jaar bezig houden. In dat geval werkt het account-locking systeem wel aardig, geen enkele gebruiker zal vaker dan 10 keer zijn wachtwoord fout intikken, daarvoor heeft 'ie jou allang gebeld met de vraag waar zijn post-it briefje ookalweer lag... ;) Voor een cracker is 10 pogingen ruim onvoldoende, tenzij hij het wachtwoord al weet...

Localhost, sweet localhost

Pagina: 1