Samba et Microsoft : l'accord de 2007 qui a ouvert le protocole SMB
Le 20 décembre 2007, la Protocol Freedom Information Foundation (PFIF), une organisation à but non lucratif créée par le Software Freedom Law Center, signait avec Microsoft un accord donnant au projet Samba accès à la documentation officielle du protocole SMB. Près de vingt ans plus tard, cet épisode reste l'un des tournants les plus concrets de l'histoire de l'interopérabilité entre Windows et le monde libre. Cet article revient sur ce que l'accord contenait réellement, et sur ce qu'il a changé.
L'accord Microsoft - Samba du 20 décembre 2007
Contrairement à ce que l'on a beaucoup lu à l'époque, cet accord n'était pas un geste spontané de Microsoft. Il découlait directement de la décision de la Commission européenne du 24 mars 2004, qui imposait à l'éditeur de fournir ses informations d'interopérabilité à ses concurrents. Microsoft avait fait appel et perdu devant le Tribunal de première instance des Communautés européennes le 17 septembre 2007.
Les termes de l'accord sont les suivants :
- la PFIF verse à Microsoft une redevance unique de 10 000 euros ;
- elle reçoit en échange la documentation des protocoles de serveur de groupe de travail, ainsi que la liste des brevets que Microsoft estime applicables à ces protocoles ;
- le dispositif repose sur un accord de confidentialité, que les développeurs signent avec la PFIF et non avec Microsoft ;
- cet accord de confidentialité n'interdit ni à Samba ni à aucun autre projet libre de distribuer le code source écrit à partir de ces spécifications.
C'est ce dernier point qui rendait l'accord acceptable pour un projet sous licence GPL, là où les programmes de licence de protocoles antérieurs de Microsoft étaient inutilisables par les développeurs de logiciel libre. Andrew Tridgell, créateur de Samba et négociateur du dossier, a salué le résultat tout en regrettant que la décision ne tranche pas la question des revendications de brevets sur les protocoles.
Le protocole SMB, colonne vertébrale des réseaux Windows
Le protocole SMB (Server Message Block) est ce qui fait fonctionner un réseau Windows au quotidien : le partage de fichiers, le partage d'imprimantes, l'authentification et la gestion des domaines reposent dessus. Il circule historiquement sur les ports TCP 139 et 445.
Sa première version, longtemps commercialisée sous le nom de CIFS, n'a jamais fait l'objet d'une spécification publique. Toute implémentation tierce devait donc être déduite de l'observation du trafic réseau.
Pourquoi Samba a eu recours au reverse engineering
Lancé en 1992 par Andrew Tridgell, Samba permet aux systèmes Unix et Linux de se comporter comme un serveur ou un client Windows. Le projet s'est construit en analysant les échanges entre machines Windows, paquet par paquet, pour en déduire le comportement attendu. Plus de trente ans après, cette méthode reste la marque de fabrique du projet.
L'accès aux spécifications officielles a permis aux développeurs de gagner un temps considérable sur trois plans : la compatibilité avec les versions récentes de Windows, la correction des bugs et des failles de sécurité, et l'implémentation des fonctionnalités de domaine qui ont abouti à Samba 4 et à son contrôleur de domaine Active Directory.
Samba a-t-il vraiment arrêté le reverse engineering ?
Non, et c'est la principale idée reçue à corriger sur ce sujet. Cet article s'intitulait d'ailleurs à l'origine « Samba va devoir arrêter le reverse engineering », ce que les années ont démenti.
Disposer d'une spécification ne dispense pas de vérifier ce que fait réellement l'implémentation en face. Les documents Microsoft comportent des zones d'ombre, des ambiguïtés et des comportements non décrits, que seule l'observation du trafic permet de lever. La documentation du projet Samba indique elle-même que la dernière version du protocole, SMB3, définie dans la spécification MS-SMB2, ne fait l'objet que d'une implémentation partielle, et que certains mécanismes comme la réplication des stratégies de groupe restent incomplets.
Microsoft a par ailleurs fini par publier l'ensemble de ces spécifications en libre accès sur son site, sous le nom d'Open Specifications. Les documents MS-CIFS, MS-SMB et MS-SMB2 sont aujourd'hui consultables par n'importe qui, sans accord de confidentialité ni redevance. L'accord de 2007 aura donc surtout servi de levier pour ouvrir une porte qui ne s'est plus refermée.
Un coup dur pour la recherche en sécurité ? Plutôt l'inverse
L'ouverture des spécifications n'a pas tari l'intérêt des chercheurs en sécurité pour SMB. Elle l'a alimenté. Le protocole est devenu l'une des surfaces d'attaque les plus étudiées de l'écosystème Windows.
L'illustration la plus spectaculaire reste EternalBlue, un exploit visant la vulnérabilité CVE-2017-0145 de SMBv1. Microsoft l'avait corrigée le 14 mars 2017 par le bulletin MS17-010, avant que le groupe Shadow Brokers ne publie le code d'exploitation le 14 avril 2017. Le 12 mai 2017, le rançongiciel WannaCry s'en servait pour se propager de machine en machine sur le port 445, touchant plus de 200 000 ordinateurs dans le monde, dont ceux de Telefónica en Espagne et des hôpitaux du NHS britannique.
SMB aujourd'hui : ce qu'il faut retenir
SMBv1 est à désactiver partout. Microsoft a officiellement déprécié le protocole en 2014, et il n'est plus installé par défaut depuis Windows 10 et Windows Server version 1709. Si un équipement de votre réseau l'exige encore, c'est un signal d'alerte sur son niveau de maintenance.
SMB2 et SMB3 apportent de vraies garanties. La signature des messages repose sur HMAC-SHA256, et le chiffrement de session introduit avec SMB3 s'appuie sur AES-128-CCM puis AES-128-GCM. Encore faut-il les activer : sur beaucoup d'installations, le chiffrement reste facultatif et désactivé.
Le partage de fichiers reste une cible de choix. Un NAS exposé avec un partage SMB mal configuré est l'un des vecteurs les plus courants de compromission domestique. Nos 9 astuces pour renforcer la sécurité de votre NAS Synology couvrent les réglages essentiels, et protéger les sauvegardes de vos serveurs sur votre NAS évite qu'un rançongiciel n'emporte les sauvegardes avec le reste.
Si vous rencontrez des difficultés d'accès à un partage réseau, la question de la version de SMB négociée est souvent en cause : c'est exactement le problème traité dans notre article sur l'accès au disque de la Freebox depuis Windows. Et pour penser l'ensemble de votre dispositif, notre comparatif des stratégies de sauvegarde NAS, cloud et disque dur reste un bon point de départ.
Pour aller plus loin
- L'annonce officielle du projet Samba : samba.org/samba/PFIF
- Le communiqué de la Free Software Foundation Europe : fsfe.org
- La spécification MS-SMB2 sur Microsoft Learn : learn.microsoft.com


