Le scan de port peut être une action légitime : un administrateur peut vouloir scanner ses machines pour repérer des logiciels indésirables sur son réseau (anciennes versions, malwares). Cependant, le scan de port permet aussi à une personne malintentionnée d’obtenir des informations sur les applications en service dans un réseau afin d’identifier des failles ou de contourner les mesures de sécurités (firewalls, détecteurs anti intrusion). Il peut ainsi s’inscrire dans une démarche de préparation à une attaque contre un système d’information et constituer une étape préliminaire avant une intrusion.
Pour autant, le scan de ports est-t il contraire à la loi ?
Cet article apporte des éléments de réponses à cette question.
(article co-écrit avec Jean Dujardin)
Il apparaît que le droit pénal et notamment les articles 323 1 à 323 7 sur les atteintes aux systèmes de traitement automatisé de données, qui remplacent la loi Godfrain du 5 janvier 1988 n°88 19, ne contient pas la matière suffisante à une réponse définitive. Comme l’avait déjà souligné Thiébaut Devergranne, dans un article de référence publié dans Misc n°4 (novembre-décembre 2002), seule la jurisprudence sera en mesure d’apporter une réponse définitive.
Tout d’abord, il est clair que la prise d’empreintes de ports informatiques ne peut pas être assimilée à un accès frauduleux à un système de traitement automatisé de données (STAD) et ne peut donc être sanctionnée au travers de l’article 323 1 du Code pénal. Un scanner de port se contente de collecter des informations qui ne peuvent être qualifiées de confidentielles et sans contourner de systèmes de sécurité, éléments qui conditionnent la poursuite pénale de l’intrusion.
Toutefois, le scan de port peut être une étape préliminaire à une intrusion et participer au faisceau de preuves attestant de l’intention frauduleuse. Pour autant, l’acte de scan de ports ne semble pas pouvoir être qualifié de tentative d’intrusion punissable par l’article 323 7. En effet, le scan de ports ne dépasserait pas le stade des actes préparatoires qui, selon la jurisprudence, ne saurait être sanctionné, et ne pourrait donc être qualifié de commencement d’exécution. Jusqu'à présent, la jurisprudence n’a pas encore statué sur ce fait.
Il apparaît enfin, que le risque pénal pesant sur le scan de ports réside non pas en l’acte en lui-même mais principalement en la détention des outils permettant de le réaliser. En effet, introduit par la loi pour la Confiance dans l’Economie Numérique, l’article 323 3 1 du Code pénal punit la détention d’outils pouvant servir à commettre des infractions prévues par les articles 323 1 à 323 3, des peines prévues respectivement pour l’infraction elle-même ou pour l’infraction la plus sévèrement réprimée. Cette qualification reste dépendante de l’interprétation des tribunaux qui, jusqu’à présent n’ont rendu aucun jugement sur cette question.
Le scan de port n’est pas un accès frauduleux à un système de traitement automatisé de données.
L’article 323-1 du Code pénal sanctionne l’accès frauduleux à un système de traitement automatisé de données.
Il faut tout d’abord rappeler que les actes d’intrusion informatique sont sanctionnés au travers de l'article 323 1 du Code pénal qui incrimine le fait « d’accéder ou de se maintenir frauduleusement dans tout ou partie d’un système de traitement automatisé de données » (STAD). La sanction associée à ce délit est de deux ans de prison et 30 000 euros d’amende. Le deuxième alinéa du même l’article prévoit des circonstances aggravantes lorsque l’intrusion a causé, même de façon involontaire, la suppression ou la modification de données contenues dans le système : dans ce cas, la sanction est portée à trois ans d’emprisonnement et 45 000 euros d’amende.Il est donc légitime de se demander si le scan de port peut constituer au regard de loi un accès frauduleux à un système de traitement automatisé de données.
Le scan de port est une interaction entre deux machines sans contournement de systèmes de sécurité. Il permet de faire des déductions à partir d’informations publiquement accessibles nécessaires à la communication, qui ne peuvent donc être qualifiées de confidentielles.
Pour répondre à la question de savoir si le scan de port peut constituer au regard de loi un accès frauduleux à un système de traitement automatisé de données, il convient de décrire précisément le scan de port dans son fonctionnement et les informations qu’il permet d’obtenir.La prise d’empreinte de ports informatiques détermine les protocoles de transport fonctionnels, comme TCP, UDP ou ICMP, et la liste de ports ouverts, fermés ou filtrés par un firewall. A ce niveau, elle ne révèle que des informations publiques, c’est-à-dire des informations qui peuvent être connues par une interaction normale avec le système et dont la connaissance peut être nécessaire notamment à des fins d’interopérabilité.
La prise d’empreinte de ports informatiques permet aussi d’identifier les systèmes d’exploitation et les services applicatifs en envoyant des séries de requêtes et en analysant leurs réponses. Connaître les logiciels utilisés sur la machine pourrait alors être considéré comme des informations d’ordre privé d’une machine. Mais ces informations sont toujours déduites d’un dialogue avec l’interface de communication d’une machine et sans contournement de systèmes de sécurité. Elles ne sauraient donc être qualifiées de confidentielles.
Or, selon la jurisprudence, ces éléments semblent conditionner la poursuite pénale de l’intrusion. L’article 323 1 du Code pénal ne peut donc pas s’appliquer au scan de port.
Ainsi, la preuve de l’intention frauduleuse de l’auteur du scan de port ne peut être établie dans le sens où ce dernier communique avec l’interface de communication d’une machine et ne contourne pas de systèmes de sécurité. Il ne peut donc être qualifié d’avoir agi sans droit et en connaissance de cause.Dans l’affaire Tati Kitetoa, le 30 octobre 2002 la Cour d’appel de Paris a décidé qu’ « il ne peut être reproché à un internaute d'accéder ou de se maintenir dans les parties des sites qui peuvent être atteintes par la simple utilisation d'un logiciel grand public de navigation, ces parties de site, qui ne font par définition l'objet d'aucune protection de la part de l'exploitant du site ou de son prestataire de services, devant être réputées non confidentielles à défaut de toute indication contraire et de tout obstacle à l'accès ».
En l’absence de contournement d’un dispositif de sécurité ou de la connaissance du caractère confidentiel des informations accédées, il ne semble pas que l’on puisse caractériser l’intention de l’auteur de commettre une infraction. On peut donc en conclure que l’article 323 1 du Code pénal ne peut pas s’appliquer au scan de port.
Comparaison avec la jurisprudence américaine.
Il est intéressant de constater que si la question du scan de port n’a pas été directement traitée par la jurisprudence française, celle-ci a déjà été abordée dans d’autres ordres juridiques.Aux Etats-Unis par exemple, le scan de port n’est pas sanctionné lorsqu’il ne permet pas d’accéder au système d’information et que les données ne sont pas menacées. Il n’est donc clairement pas considéré comme un accès au système de traitement automatisé de données. Ainsi, dans l’affaire Moulton , où le prévenu était mis en cause pour avoir scanné les ports de plusieurs machines, le juge a estimé que : « The tests run by Plaintiff Moulton did not grant him access to Defendant's network. (…) The public data stored on Defendant’s network was never in jeopardy».
Le contexte juridique américain est toutefois moins strict qu’en Europe en général et qu’en France en particulier, dans la mesure où la législation et la jurisprudence américaine ne sanctionne l’accès à un système d’information que lorsqu’il est suivi d’une utilisation non autorisée ou qu’il lui porte atteinte et qu’il y ait l’intention de commettre un délit.
Conclusion partielle.
Il est donc établi que la prise d’empreintes de ports informatiques ne peut pas être assimilée à un accès frauduleux à un système de traitement automatisé de données (STAD) et ne peut donc être sanctionnée au travers de l’article 323 1 du Code pénal.Elle ne peut non plus être considérée comme une action entravant le fonctionnement du système d’information, sanctionnée par l’article 323 2 du Code pénal. Le scan de port ne mobilise pas de ressources suffisantes, tant en puissance de calcul qu’en bande passante du réseau pour être responsable d’un déni de service.
Mais si le scan de port ne constitue pas en lui-même une intrusion, il peut néanmoins être une étape préliminaire à un accès illicite à un système d’information. Le scan de port peut il alors être considéré comme une tentative d’intrusion ?
Le scan de port ne semble pas pouvoir être qualifié de tentative d’accès frauduleux à un système de traitement automatisé de données.
L’article 323 7 du Code pénal sanctionne la tentative d’accès frauduleux à un système de traitement automatisé de données.
Les actes de tentative d’intrusion informatique sont sanctionnés au travers de l’article 323 7 du Code pénal. Ce dernier prévoit que « la tentative des délits prévus par les articles 323 1 à 323 3 1 est punie des mêmes peines ». Or, il est clair que le scan de port peut s’inscrire dans une démarche de préparation à une attaque contre un système d’information et constituer une étape préliminaire avant une intrusion.La prise d’empreinte de ports informatiques est elle alors déjà un commencement d’exécution au sens de la loi, ce qui signifierait qu’elle soit punissable au titre de la tentative, ou ne dépasse t elle pas le stade de l’acte préparatoire qui, selon la jurisprudence, ne saurait être sanctionné ?
Le scan de port est-il un acte qui tend directement à l’accès frauduleux, accompli avec l’intention de le commettre ?
Pour répondre à cette question, il est bien sûr nécessaire d’approfondir la notion de tentative.Selon l’article 121 5 du Code pénal, « la tentative est constituée dès lors que, manifestée par un commencement d’exécution, elle n’a été suspendue ou n’a manqué son effet qu’en raison de circonstances indépendantes de la volonté de son auteur ».
Mais la distinction entre ces deux phases du délit, l’acte préparatoire et le commencement d’exécution reste difficile à faire.
Selon la Cour de cassation, la qualification de tentative est une question de droit qui relève de son contrôle. Elle définit le commencement d’exécution comme « l’acte qui tend directement au délit lorsqu'il a été accompli avec l’intention de le commettre ». Elle caractérise donc l’élément matériel de la tentative par l’élément moral du délit.
La question reste entière, à savoir est ce que le scan de port est un acte accompli avec l’intention d’accéder frauduleusement à un système de traitement automatisé de données ?
Cette distinction entre acte préparatoire et commencement d'exécution est pourtant indispensable puisque l’acte préparatoire est non punissable alors que le commencement d’exécution est réprimé sous l’angle de la tentative.
Aucune jurisprudence n’existe dans ce domaine.
Dans les faits, la qualification du commencement d’exécution dépend largement du domaine où il s’applique.Or aucune décision de justice concernant l’accès et le maintien frauduleux dans un système ne peut faire, pour l’instant jurisprudence.
Sans jurisprudence dans le domaine des scans de port, la question reste donc ouverte.
On peut néanmoins avancer qu’un simple scan de port ne conduit que très rarement à une attaque malveillante. Selon des chercheurs de l’université du Maryland en décembre 2005, seulement 5% des attaques ont été précédées d’un scan de port.
Il ne semble pas que le scan de port puisse constituer un acte permettant de prouver un commencement d’exécution mais le risque subsiste.
Comparaison avec la jurisprudence israélienne.
Si elle n’a pas encore été posée en France, la question de savoir si le scan de port peut être considéré comme une tentative d’accès frauduleux à un système de traitement automatisé de données, a déjà reçu une réponse de la part de la Justice israélienne.Ainsi, l’auteur d’un scan du site web des services du Mossad a été poursuivi pour tentative d’accès non autorisé mais il a été relaxé.
Là encore, le contexte juridique est nettement plus laxiste qu’en France : le juge a estimé que les internautes qui vérifient les vulnérabilités des sites web agissent dans l’intérêt public. Si leurs intentions ne sont pas malicieuses et s’ils ne causent pas de dommages, ils doivent même être félicités .
Conclusion partielle.
La question reste confuse lorsque l’on s’interroge sur la qualification du scan de ports en tant que tentative d’intrusion. La réponse serait plutôt négative au regard de la législation mais le doute subsiste dans la mesure où aucune jurisprudence ne le confirme.S’il n’est pas facile à établir que le scan de port est une tentative d’intrusion, il n’en reste pas moins vrai qu’un outil de scan de port comme Hping ou Nmap peut être utilisé pour préparer l’accès frauduleux à un système d’information. La simple détention d’un tel outil pourrait elle constituer une infraction ?
La détention de certains outils de scan de port pourrait être sanctionnée car qualifiés d’outil informatique conçu ou spécialement adapté pour commettre un accès frauduleux.
L’article 323 3 1 du Code pénal sanctionne la détention d’outils informatiques conçus ou spécialement adaptés pour commettre un accès frauduleux à un système de traitement automatisé de données.
Introduit par la loi pour la Confiance dans l’Economie Numérique, l’article 323 3 1 du Code pénal prévoit que «le fait, sans motif légitime, d’importer, de détenir, d’offrir, de céder ou de mettre à disposition un équipement, un instrument, un programme informatique ou toute donnée conçus ou spécialement adaptés pour commettre une ou plusieurs des infractions prévues par les articles 323 1 à 323 3 est puni des peines prévues respectivement pour l’infraction elle-même ou pour l’infraction la plus sévèrement réprimée ».Cet article est issu de la volonté du législateur de sanctionner la détention volontaire de virus informatiques mais possède en fait des perspectives d’application plus vastes et peut en réalité s’appliquer à de nombreux outils informatiques.
L’incrimination de ce texte voit son champ d’application seulement limité par deux éléments : d’une part par le fait que les outils doivent avoir été créés ou modifiés afin de commettre une infraction, d’autre part par l’absence de motif légitime comme par exemple la sécurisation d’un réseau en tant qu’administrateur ou expert en sécurité informatique.
Les outils de scan de port ont-ils été « conçus ou spécialement adaptés » pour commettre une infraction ?
La notion d’outil « conçu ou spécialement adapté» pour commettre des infractions renvoie à un élément intentionnel, défini par l’article 121 3 du Code pénal comme le fait de commettre l’acte répréhensible sciemment. Il s’agit donc ici de déterminer l’objectif recherché par le développeur du programme.Pour évaluer si un outil logiciel comme un scanner de port entre dans le cadre de définition légale fixée par l’article 323 3 1 du Code pénal, il convient tout d’abord de rechercher les applications pratiques qui peuvent en être faites.
Or les logiciels développés afin de scanner les ports n’ont généralement pas été spécifiquement conçus à des fins délictueuses mais dans un but d’auditer et d’améliorer la sécurité des réseaux. La dualité d’utilisation des outils en informatique est assez courante : utilisation à des fins de sécurité ou utilisation à des fins de piratage informatique, et il n’existe généralement pas de frontière claire entre logiciel d’attaque et logiciel de défense des réseaux.
Dans le cas où le scanner de port permet d’accomplir à la fois des actes légitimes et des actes malveillants, ce qui correspond à la majorité des outils, il faut alors rechercher dans l’intention de l’auteur un élément qui permette de déterminer si le logiciel a été conçu ou spécialement adapté pour commettre des infractions.
Dans ce contexte, les outils développés par les entreprises du secteur de la sécurité informatique devraient logiquement être exclus du champ d’application de l’article 323 3 1.
Un des logiciels les plus utilisés pour le scan de port est Network Mapper ou Nmap. Nmap est un scanner de ports open source créé par Fyodor et distribué par insecure.org. Il est conçu pour détecter les ports ouverts, les services hébergés et les informations sur le système d’exploitation d’un ordinateur distant. Ce logiciel est devenu une référence pour les administrateurs réseaux car l’audit des résultats de Nmap fournit des indications sur la sécurité d’un réseau.
Il est ainsi qualifié par son auteur : « Nmap is an open source tool for network exploration and security auditing (…). While Nmap is commonly used for security audits, many systems and network administrators find it useful for routine tasks such as network inventory, managing service upgrade schedules, and monitoring host or service uptime ».
L’intention de l’auteur était donc la sécurité et l’audit des réseaux et non le piratage informatique, ce qui devrait l’exclure de la définition de l’article 323 3 1 de programme informatique conçu ou spécialement adapté pour commettre une infraction.
En revanche, il sera plus difficile de lier des logiciels conçus par des développeurs indépendants avec une intention de sécurisation des réseaux. C’est par exemple le cas du scanner de port Scan.php créé par _SebF et distribué par frameip.com. Ils seront sans doute plus facilement considérés par un juge comme entrant dans le cadre de l’incrimination.
Si de tels outils étaient en possession de personnes non concernées par l’exception de motifs légitimes, comme un simple amateur des questions de sécurité dont la profession n’exige pas la détention de tels outils, alors l’article 323 3 1 du Code pénal pourrait aisément s’appliquer.
Il faut néanmoins nuancer ces propos dans la mesure où cette qualification reste dépendante de l’interprétation des tribunaux qui, jusqu’à présent, n’ont rendu aucun jugement sur cette question.
Comparaison avec la législation et la jurisprudence allemandes.
Il est intéressant de voir si de tels jugements ont été rendus en Allemagne, où le cadre légal est comparable au Code pénal français.Selon la section 202c StGB , il est interdit de «posséder, vendre, distribuer, créer, utiliser des logiciels qui pourraient être utilisés comme outils de piratage». Une décision de la Cour constitutionnelle fédérale allemande en date du 18 mai 2009, selon laquelle la sanction ne peut s’appliquer que dans le cas où le logiciel a été développé avec l’intention illégale, introduit une limitation similaire à l’article 121 3 du Code pénal français.
On peut donc constater que la législation allemande comporte un champ d’application plus étendu dans la mesure où elle n’est pas limitée par le motif légitime, contrairement à la législation française. Ainsi la détention de logiciels développés avec une intention illégale pourrait être sanctionnée en Allemagne, même s’ils sont utilisés par un administrateur ou un expert en sécurité informatique dans le but de sécurisation des réseaux.
Malgré cela, aucune poursuite n’a été constatée à ce jour.
Conclusion.
En conclusion, il est clair que le scan de port n’est pas un accès frauduleux à un système de traitement automatisé de données, ni ne peut provoquer d’altération du fonctionnement ou d’atteinte aux données. Le scan de port est en effet une interaction entre deux machines sans contournement de systèmes de sécurité. Il permet de faire des déductions à partir d’informations publiquement accessibles nécessaires à la communication, qui ne peuvent donc être qualifiées de confidentielles. Selon la jurisprudence, ces deux éléments empêchent la poursuite pénale de l’intrusion. L’article 323-1 du Code pénal qui sanctionne l’accès frauduleux à un système de traitement automatisé de données, et de manière évidente les articles 323 2 et 323 3 qui punissent l’altération du fonctionnement ou l’atteinte aux données, ne peuvent s’appliquer au scan de port.Le doute subsiste quant à la qualification de tentative d’accès frauduleux à un système de traitement automatisé de données, puisque le scan de port peut être une étape préliminaire à une intrusion et participer au faisceau de preuves attestant de l’intention frauduleuse. La tentative d’accès frauduleux sanctionnée par l’article 323 7 du Code pénal doit se manifester par un commencement d’exécution, qui serait alors le scan de port accompli avec l’intention de commettre un accès qui n’aurait manqué son effet qu’en raison de circonstances indépendantes de la volonté de son auteur. Or, un simple scan de port ne conduit que très rarement à une attaque malveillante et ne dépasserait donc pas le stade des actes préparatoires qui, selon la jurisprudence, ne saurait être sanctionné.
Pour le reste, il semble que seule la détention, par des personnes dont la profession est sans rapport avec la sécurité informatique, d’outils de scan de ports créés par des développeurs indépendants, est punissable. Dans ce cas, l’article 323 3 1 du Code pénal, qui sanctionne la détention d’outils informatiques conçus ou spécialement adaptés pour commettre un accès frauduleux à un système de traitement automatisé de données, pourrait s’appliquer. La peine prévue est de deux ans d’emprisonnement et de 30 000 euros d’amende.
Jusqu’à présent, la jurisprudence n’a pas encore statué sur le scan de port. Elle seule sera en mesure d’apporter une réponse définitive.
Références.
1. Droit : un scan de port est-il licite ? , MISC Magazine n°4, novembre-décembre 2002.2. Pentests : réveillez-moi, je suis en plein cauchemar ! , Marie Barel, Orange Business Services, 2008.
3. Le scan de ports : une intrusion dans un STAD ? , Xavier Lemarteleur, juriste spécialisé en droit des technologies de l’information, 2008.
4. Aspects juridiques du scan et des tests intrusifs, Cabinet de conseil en sécurité informatique Itrust, 2009.
Très bon article, qui mérite que j'y apporte une précision.
RépondreSupprimerL'un des derniers chapitres tente de définir si Nmap peut être considéré comme un outil de travail légitime dans le cadre de l'administration technique d'un réseau ou au contraire comme un outil malveillant.
Pour ce faire, il s'appuie sur la présentation de Nmap qu'en fait Fyodor, son auteur.
Il faut ajouter un point technique lié au développement : chaque nouvelle option et surtout chaque nouveau plugin NSE fait l'objet d'un débat sur la dangerosité qu'il peut présenter vis à vis d'un système scanné.
A ce titre, les payloads qui peuvent potentiellement crasher un service sont écartés et d'autres solutions de PoC sont recherchées par les développeurs.
C'est particulièrement intéressant d'ailleurs puisque dans de nombreux cas le premier jet d'un nouveau plugin va être le portage d'un PoC ou d'un exploit publié contre une vulnérabilité.
Or souvent ce PoC ou cet exploit va mener très basiquement à un déni de service ou un plantage du service : le challenge devient alors de pouvoir développer un exploit n'existant pas encore qui révèle la vulnérabilité tout en sauvegardant le service. Et c'est pas facile...
Il en va de même concernant les rapports de bugs qu'envoient les utilisateurs (des admins réseaux la plupart du temps) lorsque leur utilisation de Nmap a fait crasher un système ou un service.
Souvent dans ce cas le développement n'avait pas conscience jusque là de ce comportement parce qu'il est toujours lié à *une* situation très particulière, une combinaison de configurations qui n'avait pas encore été testée.
Là encore, le développement entre alors dans une phase de recherche afin de recréer les conditions de crash, auditer le code responsable du coté de Nmap et patcher finalement ce code.
Une anecdote illustre assez bien cet état d'esprit général vis à vis du caractère potentiellement dangereux de Nmap : pendant longtemps ce scanner ne testait tout simplement pas le port 9100.
Ceci était du au fait que ce port, lié à certains systèmes d'impression en réseau, occasionnait littéralement un raz de marée d'impressions contenant tous les paquets reçus sur le système considéré.
Le choix avait donc été fait de mettre de côté une capacité essentielle (au sens de l'essence même) au nom de la protection des systèmes distants des utilisateurs.
Un grand bravo pour cet article fouillé, clair et compréhensible, qui permet de s'y retrouver dans la complexité du cadre législatif français sur les questions de sécurité informatique.
RépondreSupprimer