View in

English

Sécurité informatique : bogues logiciels : et si on changeait les choses ?

Savez-vous ce que les drogues et les logiciels propriétaires ont en commun ? Dans les deux cas, si le produit que vous achetez est de mauvaise qualité, vous en subissez les conséquences. Vous n’avez aucun recours et vous ne serez pas remboursés. La différence de taille est que l’achat d’un logiciel est légal. Malgré cela, en aucun cas vous ne pourrez le rendre s'il présente un bogue, ou le retourner au fabricant en lui demandant de le réparer (enfin, vous pouvez toujours essayer !), ou encore insister pour qu'il vous dédommage. Au lieu de cela, vous, en tant qu'individu, ou nous, en tant qu'organisation, devons dépenser davantage pour protéger notre pile logicielle contre d'éventuelles attaques qui exploiteraient ses failles. Alors, comment inciter les fabricants à améliorer la qualité de leurs logiciels ? En imposant par la loi une « prime au bogue » (Bug Bounty Premium) !

Plusieurs grands fabricants de logiciels utilisent déjà ce que l'on appelle des « cycles de vie de développement sécurisé » pour améliorer leurs produits. En revanche, de nombreux autres n'hésitent pas à vendre des logiciels remplis de bogues, trop pressés d’être les premiers sur le marché. L'utilisateur devient ainsi le bêta-testeur et la sécurité passe au deuxième plan. Les fabricants ne sont tout simplement pas encouragés à s'assurer que les erreurs, pour le moins les plus évidentes, sont corrigées. Très souvent, notamment en ce qui concerne les objets connectés à internet, la pile logicielle (système d'exploitation, interface réseau, serveur web, interface utilisateur) n'est que du bricolage, car les entreprises qui les produisent ont peu d'expérience dans la conception et la sécurité des logiciels. En effet, ce qui compte pour ces dernières, ce sont les objets eux-mêmes, c'est-à-dire les thermomètres, les appareils photo, etc., qu'elles rendent « intelligents » en les connectant à internet. Il en va de même pour les petites sociétés de développement de logiciels, qui peuvent avoir une excellente idée à commercialiser mais manquent de personnel et de temps pour assurer une conception sécurisée et un logiciel comportant le moins de bogues possible. D'autres ne s'en préoccupent tout simplement pas (assez). Les fabricants ne sont en réalité pas incités à investir dans la sécurité, si ce n'est pour sauvegarder leur réputation. En outre, si l'on se penche sur les erreurs en matière de logiciels révélées par les médias, on constate qu'une entreprise fait rarement faillite à cause d'un bogue de sécurité*. Pourquoi alors s'en soucier ?

Comment encourager les fabricants à produire des logiciels plus fiables ? En rendant obligatoire le dispositif « Bug Bounty Premium » ! Aujourd'hui, grâce au programme de « prime au bogue », une entreprise peut décider de s'engager à verser une certaine somme d'argent si on lui signale un défaut dans l'un de ses produits. Google dispose d'un tel programme, tout comme Microsoft. Le CERN en a également lancé un (mais comme nous sommes financés par des fonds publics, nous ne pouvons donner que des T-shirts en récompense). Malheureusement, de nombreux autres développeurs de logiciels n’ont rien prévu. C'est pour cette raison que le dispositif de prime au bogue, s’il était rendu obligatoire par la loi, serait très utile. Les gouvernements, l'Union européenne ou, idéalement, une organisation internationale pourraient définir la valeur de chaque bogue et obliger légalement les fabricants de logiciels à payer la somme correspondante à toute personne qui détecte une nouvelle faille. L'infrastructure permettant d’enregistrer les bogues et d’assurer le suivi des correctifs existe depuis un certain temps déjà : il s'agit des CVE (Common Vulnerabilities and Exposures). On pourrait alors imaginer qu'un bogue de script intersite rapporterait, par exemple, 100 dollars ; une injection SQL, 200 dollars ; une injection en ligne de commande, 1 000 dollars ; un root exploit, 10 000 dollars, etc. Et la loi imposerait aux fabricants de logiciels de payer ces sommes à la première personne qui décèlerait de telles failles.

Ce système inciterait les fabricants soit à payer la prime au bogue, soit à investir dans de meilleurs processus de développement logiciel interne, soit à collaborer avec des tiers pour détecter les failles avant les chasseurs de primes au bogue. Mais ce système présente d'autres avantages ! En effet, des primes au bogue imposées par la loi pourraient représenter une source de revenus garantie pour les experts en logiciels, comme les chercheurs en sécurité, les ingénieurs informaticiens et les étudiants en informatique. Toute personne qui aime disséquer les logiciels à la recherche de failles pourrait gagner d'honnêtes sommes d'argent. En outre, tous ceux qui avaient tendance auparavant à vendre de manière illicite leurs découvertes sur le marché noir auraient la possibilité de gagner de l'argent légalement.

Bien entendu, il y a d'autres éléments dont il faut tenir compte, comme la diffusion des logiciels et l'open source. Ainsi, au lieu d'avoir des primes fixes (100, 200, 1 000 ou 10 000 dollars), on pourrait imaginer qu'elles augmenteraient en fonction de la diffusion du logiciel comportant des bogues. En d'autres termes, la découverte d'un bogue dans la petite bibliothèque que j'ai écrite et que nous sommes les seuls à utiliser, ne vous rapporterait presque rien. Mais si vous déceliez une faille dans un système d'exploitation majeur, un navigateur web dominant, ou une bibliothèque largement utilisée, alors vous toucheriez le jackpot ! Et l'open source dans tout ça ? C’est là que l'État interviendrait. La prime pourrait être payée à partir d'une cagnotte nationale, européenne ou internationale. C'est peut-être le point le plus problématique mais qui pourrait, à long terme, encourager les fabricants de logiciels à changer leur stratégie. En effet, au lieu d'assurer la maintenance de leurs (anciens) logiciels propriétaires et de devoir payer en cas de bogue, ils pourraient décider de rendre leur code source public et ouvert, ce qui les dédouanerait de toute responsabilité en cas de bogue. L'avantage pour la communauté serait de disposer de toujours plus de code en open source !

Et ensuite ?

______

Pour en savoir plus sur les incidents et les problèmes en matière de sécurité informatique au CERN, lisez notre rapport mensuel (en anglais). Si vous désirez avoir plus d’informations, poser des questions ou obtenir de l’aide, visitez notre site ou contactez-nous à l’adresse Computer.Security@cern.ch.

*Ce qui pourrait changer avec le Règlement général sur la protection des données, au cas où le bogue divulguerait des données privées, car les entreprises qui enfreignent le règlement sont passibles d'une amende.