2009-10-17 5 views
0

Je viens de commencer à écrire des programmes de socket. Entré à savoir que le paquet UDP unique a le port de destination du port source et une adresse MAC représentant le routeur .. etc. Je me demande pourquoi quelqu'un ne peut pas créer des paquets personnalisés avec une fausse information et l'envoyer sur internet. Je voudrais savoir à quel point nos ordinateurs sont en sécurité. Que devrait-on faire pour le sécuriser?À quel point le web est-il dangereux?

Répondre

5

Il y a plusieurs aspects à la réponse. L'une est que le Web repose sur TCP, pas sur UDP. Ce qui signifie qu'il est orienté connexion. Votre paquet sera rejeté, sauf s'il semble faire partie d'une connexion existante (ce qui signifie, entre autres, qu'il doit avoir la bonne adresse IP et le bon port source.) Il doit avoir le bon numéro de séquence la fenêtre de réception). Cela peut encore être truqué sans trop de problèmes, bien sûr. Mais cela nécessite de connaître un peu les paquets envoyés sur la connexion d'origine.

Une autre partie est que chaque fois que nous devons être sûr que l'expéditeur d'un paquet est ce qu'il prétend être, nous utilisons le cryptage. :)

La plupart des paquets n'en ont pas vraiment besoin. Ce n'est pas une grosse affaire si quelqu'un envoie une requête à Google qui apparaît pour provenir de mon IP. Mais lorsque vous effectuez des transactions par carte de crédit, cela devient un peu plus important.

+0

Vous avez dit que le Web repose sur TCP, mais je pensais que certains contenus multimédias fonctionnaient sous UDP. Est-ce correct? – LJM

+0

@fella HTTP est TCP tandis que UDP est généralement laissé à la diffusion en continu des médias et des choses où peu importe si quelques paquets disparaissent en raison du bruit de réseau normal. – David

+0

Notez également que "le web" est HTTP, ce qui n'est pas la même chose que "Internet" – lfaraone

3

La plus grande partie de la pile TCP/IP "fait confiance", comme je l'ai dit une fois - et il n'y a pas grand chose en tant que développeur de logiciel (en supposant que vous cherchez une solution de programmation le mauvais forum, allez à serverfault ou au superutilisateur ;-) peut faire à ce sujet - au delà du choix et des protocoles soigneusement mis en application qui sont raisonnables en termes d'attente de sécurité.

HTTPS (avec des vérifications strictes des certificats, etc.) est une approche raisonnablement forte; Pour une sécurité renforcée, examinez les approches basées sur SSH et VPN. Bien sûr, personne ne devrait supposer que la confidentialité ou l'authentification forte est en place à moins qu'ils aient pris des mesures spécifiques à son égard (s'ils ont pris de telles mesures, ils peuvent toujours être sujets à des attaques réussies, c'est pourquoi utiliser des méthodes existantes, plus ou moins "Des solutions telles que HTTPS, SSH, VPN, est conseillée ;-).

1

Oui, n'importe qui peut créer des paquets avec les données qu'ils veulent et les envoyer sur Internet. Surtout avec UDP, vous pouvez prétendre être n'importe qui que vous voulez (à moins que votre FAI fasse le filtrage de sortie). Les adresses source pour UDP ne peuvent pas être approuvées. Les adresses source pour TCP peuvent dans une certaine mesure (vous savez que les données doivent provenir de l'adresse IP en question ou de quelqu'un le long de la route).

Bienvenue sur Internet :)

Edit: juste pour clarifier le filtrage de sortie est quelque chose que le envoyer FAI aurait à faire. En tant que destinataire, vous ne pouvez rien faire pour vérifier l'adresse sur un paquet UDP sans communiquer à l'expéditeur. La seule raison pour laquelle vous pouvez au moins partiellement approuver une connexion TCP entrante est que TCP nécessite certaines données de contrôle à l'expéditeur (et nécessite donc une adresse/port IP valide pour établir la connexion et la maintenir).

1

Eh bien, beaucoup de gens créent des paquets invalides et les envoient sur Internet; par exemple, lisez Ping of death.

Un ordinateur [complètement] sécurisé est un ordinateur éteint. Pour sécuriser davantage votre PC en cours d'exécution à partir de ce type de thread, vous devez vous fier aux logiciels pare-feu/hardwares, qui peuvent détecter ces paquets mal formés.

1

Des paquets personnalisés avec de fausses informations peuvent facilement être créés. Par conséquent, vous devez vous assurer que vous n'êtes pas vulnérable à eux.

Questions connexes