OVH Cloud OVH Cloud

Winsock et sécurite

5 réponses
Avatar
Alain Cotterot
Bonjour

Je souhaite développer une application qui permette d'échanger des données
en utilisant l'internet et le contrôle Winsock. Je m'interroge sur les
risques qu'il y a à laisser un port ouvert et, si risque il y a, la manière
de mettre en place un système sécurisant mon serveur. Quelqu'un
connaitrait-il un site ou un ouvrage ou ces notions sont abordés?

Merci

Alain Cotterot

5 réponses

Avatar
Adam Pietrasiewicz
<<< Attention - mon adresse dans l'entete de ce message >>>
<<< est une adresse ANTISPAM - pour m'ecrire cliquez sur >>>
<<< http://cerbermail.com/?DQr0g2Y88R >>>
=================================================== Le 05 pa¼dziernika 2003 18:30:20 Alain Cotterot a ecrit dans un message
news:SGXfb.19617$

Je souhaite développer une application qui permette d'échanger des données
en utilisant l'internet et le contrôle Winsock. Je m'interroge sur les
risques qu'il y a a laisser un port ouvert et, si risque il y a, la maniere
de mettre en place un systeme sécurisant mon serveur. Quelqu'un
connaitrait-il un site ou un ouvrage ou ces notions sont abordés?



Laisser un port ouvert avec un Winsock derriere en ecoute ne pose pas, a ma
connaissance, aucun probleme de securite.

Si derriere ce winsock il y a un programme qui reagit a un protocole donne,
le programme ne va reagir que sur les donnees qui correspondent au
protocole fixe. Il n'y a donc pas de risque.

--
Adam Pietrasiewicz
Pologne


---
Ten list zosta³ wys³any przy u¿yciu Go³±bka http://www.amsoft.com.pl/golabek
Avatar
François Picalausa
Bonjour/soir,

Laisser un port ouvert avec un Winsock derriere en ecoute ne pose
pas, a ma connaissance, aucun probleme de securite.



Sauf si il y a un bug dans le contrôle Winsock qui fait qu'il y a une
faille. Mais a priori, il n'y en a pas et si il y en avait, ce serait a
Microsoft a sortir le patch...

Si derriere ce winsock il y a un programme qui reagit a un protocole
donne, le programme ne va reagir que sur les donnees qui
correspondent au protocole fixe. Il n'y a donc pas de risque.



Sauf si il réagit mal...
Supposons qu'il copie des données via un copymemory mais en faisant une
erreur sur la vérification de la taille des donées a copier et qu'il copie
en dehors de la zone ou il peut... ça s'appel un buffer overrun et ça permet
a l'attaquant d'exécuter a peu pres ce qu'il veut.
D'ou l'importance de savoir ou on va, d'avoir une idée de comment on va
coder quoi, voir d'en faire un plan pour etre sur que ce soit clair et
laisser le moins de chances a l'erreur.
Toutefois, beaucoup de risques sont évités si on n'emploie pas les APIs, vu
que les types de VB sont déja sécurisés.

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"Adam Pietrasiewicz" a écrit dans
le message de news:
<<< Attention - mon adresse dans l'entete de ce message >>>
<<< est une adresse ANTISPAM - pour m'ecrire cliquez sur >>>
<<< http://cerbermail.com/?DQr0g2Y88R >>>
=================================================== > Le 05 pa¼dziernika 2003 18:30:20 Alain Cotterot a ecrit dans un
message news:SGXfb.19617$

Je souhaite développer une application qui permette d'échanger des
données en utilisant l'internet et le contrôle Winsock. Je
m'interroge sur les risques qu'il y a a laisser un port ouvert et,
si risque il y a, la maniere de mettre en place un systeme
sécurisant mon serveur. Quelqu'un connaitrait-il un site ou un
ouvrage ou ces notions sont abordés?



Laisser un port ouvert avec un Winsock derriere en ecoute ne pose
pas, a ma connaissance, aucun probleme de securite.

Si derriere ce winsock il y a un programme qui reagit a un protocole
donne, le programme ne va reagir que sur les donnees qui
correspondent au protocole fixe. Il n'y a donc pas de risque.


Avatar
Adam Pietrasiewicz
<<< Attention - mon adresse dans l'entete de ce message >>>
<<< est une adresse ANTISPAM - pour m'ecrire cliquez sur >>>
<<< http://cerbermail.com/?DQr0g2Y88R >>>
=================================================== Le 05 pa¼dziernika 2003 22:01:17 François Picalausa a ecrit dans un message
news:#


Si derriere ce winsock il y a un programme qui reagit a un protocole
donne, le programme ne va reagir que sur les donnees qui
correspondent au protocole fixe. Il n'y a donc pas de risque.



Sauf si il réagit mal...
Supposons qu'il copie des données via un copymemory mais en faisant une
erreur sur la vérification de la taille des donées a copier et qu'il copie
en dehors de la zone ou il peut... ça s'appel un buffer overrun et ça permet
a l'attaquant d'exécuter a peu pres ce qu'il veut.
D'ou l'importance de savoir ou on va, d'avoir une idée de comment on va
coder quoi, voir d'en faire un plan pour etre sur que ce soit clair et
laisser le moins de chances a l'erreur.
Toutefois, beaucoup de risques sont évités si on n'emploie pas les APIs, vu
que les types de VB sont déja sécurisés.



Est-ce que tu peux expliquer ceci un peu plus en detail?

Prenons un cas pour exemple:

J'ai un winsock qui ecoute sur le port 15000. Il n'execute d'operation que
si le paquet de 128 caracteres qui arrive commence par "SALUTADAM". Comment
dans un cas comme ca l'attaquant pourrait me faire quoi que ce soit?

--
Adam Pietrasiewicz
Pologne


---
Ten list zosta³ wys³any przy u¿yciu Go³±bka http://www.amsoft.com.pl/golabek
Avatar
Adam Pietrasiewicz
<<< Attention - mon adresse dans l'entete de ce message >>>
<<< est une adresse ANTISPAM - pour m'ecrire cliquez sur >>>
<<< http://cerbermail.com/?DQr0g2Y88R >>>
=================================================== Le 05 pa¼dziernika 2003 22:43:38 François Picalausa a ecrit dans un message
news:


Donc, quand on code, et surtout, quand on reçoit des données de l'extérieur,
faire attention a gérer tous les cas, et surtout a les gérer correctement,
pour ne pas pouvoir avoir de problemes (c'est évidemment plus facile a dire
qu'a faire).



Cette indication me parait EVIDENTE. heureusement je ne fais jamais des
copymemory etc. A part ceci, si on definit un protocole il est evident
qu'il faut le definir BIEN. Et commencer par exemple par voir si le paquet
qui arrive a la bonne taille et un bon format.

Donc, finalement, je pense que le winsock qui ecoute sur un port EST
fiable.

N'importe quel programme mal fait est non fiable. Je le sais, OH OUI! Mon
client mail, dans une situation precise effacait TOUS les fichiers du
catalogue C: sur les ordinateurs XP (il ne le faisait pas sur les Win98).
On peut dire bien sur qu'il est dangereux d'utiliser mon programme, mais
moi, je dirais qu'il est plutot important de faire gaffe en programmant!


--
Adam Pietrasiewicz
Pologne


---
Ten list zosta³ wys³any przy u¿yciu Go³±bka http://www.amsoft.com.pl/golabek
Avatar
Adam Pietrasiewicz
<<< Attention - mon adresse dans l'entete de ce message >>>
<<< est une adresse ANTISPAM - pour m'ecrire cliquez sur >>>
<<< http://cerbermail.com/?DQr0g2Y88R >>>
=================================================== Le 06 pa¼dziernika 2003 17:01:09 François Picalausa a ecrit dans un message
news:#$#


Mon client mail, dans une situation precise effacait TOUS les
fichiers du catalogue C: sur les ordinateurs XP (il ne le faisait
pas sur les Win98).





Ben on peut dire que pour résumer ce que je pensais en clair, tu es doué :-)
Merci :-)



Je voudrais parler encore de cette erreur qui me faisait effecer les
fichiers du C: sur le XP

En fait si par erreur on fait

Kill ""

sur un Win98 on obtient une erreur et c'est tout.

Si jamais on le fait sur XP, ca efface les fichiers du C:

Terrible, non?

Je l'avoue - je n'ai pas suivi ni controle a fond cette erreur - j'ai ete
si panique quand un des utilisateurs de mon client mail m'a signale cette
erreur qu'une fois identifiee elle a ete de suite corrigee et oubliee.

Mais c'est grave quand meme, non?

--
Adam Pietrasiewicz
Pologne


---
Ten list zosta³ wys³any przy u¿yciu Go³±bka http://www.amsoft.com.pl/golabek