Gå til innhold
Trenger du hjelp med internett og nettverk? Still spørsmål her ×

IP Spoofing


Anbefalte innlegg

Går som kjent ut på å ha detaljert kunnskap om hvilken respons som forventes.

A bruker f.eks. B sin IP og sender en pakke til C.

C sender så retur til B, som er uvitende.

A vet da hva som må svares for at C skal godta kommunikasjonen.

 

Det jeg da tenkte på, er at hvis C sender tilfeldige spørsmål tilbake (f.eks. hva er 2+2?) av og til, så kan ikke A ha en (lengre) falsk kommunikasjon med C, før C oppdager det.

 

Er det allerede implementert i noen protokoller/programmer/hardware?

Lenke til kommentar
Videoannonse
Annonse

Nå er ikke jeg noen "authoritei" på sikkerhet, men det du beskriver høres ut som en slags challange-response mellom klient og server. Det er vel strengt tatt ikke nødvendig å sende ut et regnestykke, i enkleste form kan jo bare serveren sende ut et tilfeldig tall og be klienten sende det tilbake. Er tallet stort nok kan det bli vanskelig å gjette dette tallet for en klient som driver ip-spoofing, og dermed ikke mottar noe data i retur.

 

De gode gamle protokollene har ingen slik sikkerhet, f.eks http, rlogin, rsh, telnet. De kan derfor være sårbare for slike angrep hvis man bruker autentisering ved hjelp av ip-addresse.

 

TCP benytter seg av 3-veis handshake for å opprette forbindelse:

1. Klient sender SYN til server

2. Server sender SYN+ACK til klient

3. Klient sender ACK til server

 

Her er det bygd inn en veldig basic sikkerhet, maskinene må nemlig sende tilbake en ACK med sekvensnummer + 1. I skritt 3 må derfor klienten gjette sekvensnummeret til pakken serveren sendte ut i skritt 2. Det kan by på problemer siden dette er et 32-bit heltall, og begge maskinene starter med hvert sitt "tilfeldige" tall. (Påfølgende pakker bruker bare forrige sekvensnummer + 1).

 

Problemet er at algoritmene for å generere tilfeldige tall ikke trenger å være så gode, f.eks er de fleste Windows-vesjoner veldig. NT4 kunne opprinnelig knekkes på ca 5000 forsøk, dette ble heldigvis forbedret i NT4SP6 og Win2000. Windows 95 og 98 er EKSTREMT dårlige, mens nyere versjoner av Linux og spesielt OpenBSD har meget sikre algorimer og er derfor svært lite utsatt for angrep.

 

Ønsker man sikker kommunikasjon over internett bør man satse på protokoller som SSH, SSL osv. Disse unngår slike problemer ved hjelp av sikker autentisering ved hjelp av kryptering. Påfølgende kommunikasjon blir også kryptert og kan derfor ikke snappes opp ved hjelp av pakkesniffing. Normalt brukes public/private key under autentiseringen, og man vil derfor ikke kunne benytte ip-spoofing fordi man ikke får tak i de nødvendige nøklene.

 

Protokoller kan stort sett deles inn i 2 kategorier, nogenlunde sikre eller de som har totalt fravær av sikkerhet. Jeg vet derfor ikke om noen protokoller som benytter seg utelukkende av trikset du nevnte om å sende ut data og sjekke det opp mot returverdien for å se om de er like. Det kunne selvsagt hjulpet for å forhindre ip-spoofing, men som sagt har jo allerede TCP-protokollen en viss beskyttelse innebygd. Skal man først lage en sikker protokoll går man heller hele veien, og bruker kryptering som sørger for sikker autentisering og informasjonsutveksling.

 

[ Denne Melding var redigert av: Langbein på 2002-06-18 01:18 ]

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...