Google dispose depuis longtemps d’un programme de récompense afin de payer en cash ceux qui découvrent des failles de sécurité dans certains produits. Le plus concerné est de loin Chrome, mais la firme étend actuellement le périmètre à de nombreux composants open source. Nouvelle étape marquante, Android fait désormais partie du lot lui aussi.
Crédits : David Goehring
Des failles corrigées en échange d'une récompense financière
Google récompense depuis environ deux ans ceux qui découvrent des failles dans Chrome. Une technique bien utile : la perspective d’empocher parfois jusqu’à 10 000 dollars sur une seule faille motive les experts en sécurité qui souhaitent arrondir leurs fins de mois. Notez d’ailleurs qu'ils ne sont pas les seuls à participer puisque des particuliers sont régulièrement concernés, ainsi que des étudiants. Google avait même récompensé un enfant de 13 ans via son programme.
L’intérêt réside évidemment dans l’accélération de la détection des failles. Le simple fait que Google récompense chaque mois plusieurs personnes montre que les seules équipes de développeurs travaillant sur Chrome ne suffiraient pas. Chaque faille découverte est une brèche potentielle que n’exploiteront pas les pirates. Les quelques milliers de dollars ainsi investis permettent de sécuriser plus rapidement le code, une dépense que Google peut se permettre bien facilement.
Un premier coup d'accélérateur le mois dernier
Si facilement d’ailleurs que la firme n’a pas hésité à ouvrir son programme à de nombreux composants open source le mois dernier. Cela concernait de nombreux domaines :
- Les fondations open source de Chrome : Chromium et le moteur de rendu Blink
- Les services réseaux de l’infrastructure centrale : OpenSSH, BIND, ISC DHCP
- Les bibliothèques de gestion d’images : libjpeg, libjpeg-turbo, libpng, giflib
- Les éléments couramment utilisés dans le noyau Linux et dont la sécurité est critique, dont KVM
- Les autres bibliothèques importantes : OpenSSL, zlib
Là où le processus devient intéressant, c’est qu’il ne prend plus simplement en compte les failles de sécurité. De manière générale, Google évoque désormais de ce qu’un développeur tiers pourrait désirer pour les éléments concernés : sécuriser un pointeur, ajouter une séparation des privilèges, nettoyer du code faisant des appels à des fonctions qu’il vaut mieux éviter ou encore activer l’ASLR (Adress Space Layout Randomization), une technique permettant aux éléments en mémoire de changer d’adresse à chaque démarrage de l’application.
De 500 à 3133,7 dollars pour un patch, les composants de l'AOSP entrent dans la danse
Cela signifie que Google va récompenser, dans une fourchette de 500 à 3133,7 dollars, toute amélioration significative sur les composants cités. Lesdites améliorations n’ont plus besoin de concerner directement la sécurité, bien qu’elle soit souvent le résultat attendu, notamment pour les pointeurs en mémoire et l’ajout de l’ASLR. Et non seulement le programme permet de fait de bénéficier à l’ensemble de la communauté du libre autour de ces travaux, mais il représente un gain notable pour l’image de l’entreprise : de l’argent est investi dans l’open source.
Or, ce programme prend une nouvelle fois de l’ampleur à peine un mois après cette accélération. C’est désormais la totalité de l’Android Open Source Project qui est concerné, soit la totalité des composants open source du système mobile. On peut littéralement considérer que Google va payer pour les améliorations significatives qui seront apportées dans le code. Certains pourraient d’ailleurs considérer l’arrivée de cet argent comme une antithèse de l’esprit du logiciel libre qui s’appuie essentiellement sur les contributions volontaires, qui sortent du cadre habituel du travail.
Et comme si l’ajout du projet Android ne suffisait pas, Google étend l’ensemble des composants open source pris en charge dans son programme :
- Les serveurs web couramment utilisés : Apache httpd, lighttpd, nginx
- Les services SMTP courants : Sendmail, Postfix, Exim
- Les améliorations de sécurité pour les toolchains GCC, binutils et LLVM
- Le réseau virtuel privé : OpenVPN
Les patchs doivent d'abord être acceptés par leurs communautés respectives
Google précise par ailleurs que les patchs proposés ne doivent pas lui être envoyés en premier lieu, mais bien au mainteneur principal de chaque projet. Ce n’est qu’une fois que la contribution a été acceptée que les détails peuvent être envoyés à security-patches@google.com. « Si nous estimons que la proposition a un impact positif et démontrable sur le projet, vous serez qualifié pour une récompense allant de 500 à 3133,7 dollars » indique ainsi la firme de Mountain View.
Elle explique en outre que le programme, tel qu’il était imaginé au départ, était prévu pour être beaucoup plus imposant. Google envisageait ainsi d’ouvrir tout simplement un immense dépôt pour référencer l’ensemble des bugs qui seraient trouvés. Après réflexion, l’idée a été abandonnée car elle aurait détourné cette chasse aux bugs des dépôts déjà existants dans les projets, sans parler du nombre incalculable d’informations qu’il aurait fallu traiter. De fait, l’entreprise a préféré récompenser directement des patchs acceptés par les communautés respectives.
Ceux qui souhaitent se pencher sérieusement sur ce programme de récompenses pourront se rendre sur la page contenant les règles de contribution.