vendredi 2 janvier 2015

Une toile délicate et fragile : vulnérabilités et correctifs pour nos browsers en 2014

Les technologies qui tissent notre Internet ont toutes présenté divers accrocs en 2014 et, en ce qui concerne la première d'entre elles - entendez le navigateur web, un bref résumé des correctifs publiés sur l'année 2014 nous donne une idée de la fragilité de cette délicate toile dont nous ne pouvons plus nous passer.

Les informations qui suivent ont été consolidées sur la base des données publiques communiquées par les éditeurs de janvier 2014 à janvier 2015 (à date de publication de cet article) :

Cet article se veut donc sans parti pris, comme un cliché sans légende pour une réflexion laissée ouverte à votre attention. Une seule question m'obsède, peut-on mesurer le niveau de sécurité d'une application au nombre de vulnérabilités qui sont corrigées à son propos ou à la fréquence de publication desdits correctifs ? Et si tel n'est pas le cas, pourquoi nous obstiner à employer ce critère ?

Je vous encourage donc à continuer votre réflexion en allant consulter le sujet "software security, disclosure, and bug bounties" posté sur la liste de diffusion DailyDave (http://seclists.org/dailydave/2014/q4/50) pour retrouver certains des sous-jacents non exprimés ici (je ne suis - malheureusement - pas assez calée pour en tirer la substantifique moelle sans paraphraser les auteurs concernés).

PS : un grand merci à ces deux personnes qui m'ont fait l'honneur de relire la première version de cet article : @follc pour ses conseils avisés sur le fond de cet article et @helkhoury pour l'orientation de mon prochain article.

Jess - @JessicaGallante

 

En résumé


Les éditeurs de nos quatre navigateurs ont tous, mois après mois, publié un ou plusieurs bulletin(s) de sécurité affectant leurs technologies :
  • Chrome : 18 publications
  • Firefox : 10 publications
  • Internet Explorer : 12 Publications
  • Safari : 9 publications



... et l'année 2014 a présenté quatre mois "bingo" : Février, Avril, Juin et Septembre : pour lesquels tous les navigateurs ont présenté un ou plusieurs bulletins de sécurité à appliquer.

Une étude de la moyenne entre deux publications de correctifs pour nos quatre navigateurs permet de constater que celle-ci oscille entre ~20 jours et ~42 jours (à comparer avec les délais de publication du patch tuesday mensuel Microsoft ou du critical patch update trimestriel Oracle) :
  • Chrome : 19 jours
  • Firefox : 33 jours
  • Internet Explorer : 25 jours
  • Safari : 41 jours

... et cette étude nous permet de constater que, tous navigateurs confondus et sur une base hebdomadaire, 33 semaines sur 52 ont été concernées par la publication de correctifs pour un ou plusieurs de ces quatre navigateurs Web :


En détail


Chrome


L'analyse des données publiées en 2014 sur  http://googlechromereleases.blogspot.fr permet de constater que Google a corrigé (au moins) 447 vulnérabilités dont 65 sont qualifiées avec un niveau de sévérité élevé et au moins 2 avec un niveau de sévérité critique :
  • 18.11.14 : 42 security fix (11 CVE High)
  • 07.10.14 : 159 security fix (6 CVE high et 1 CVE critical)
  • 24.09.14 : 1 security fix
  • 09.09.14 : 4 security fix (1 high)
  • 26.08.14 : 50 security fix (4 CVE high et 1 CVE critical)
  • 12.08.14 : 12 security fix (2 CVE high)
  • 16.07.14 : 26 security fix
  • 10.06.14 : 4 security fix (2 CVE high)
  • 20.05.14 : 23 security fix (3 CVE high)
  • 13.05.14 : 3 security fix (3 CVE high)
  • 24.04.14 : 9 security fix (2 CVE high)
  • 08.04.14 : 31 security fix (9 CVE high)
  • 14.03.14 : 4 security fix (4 CVE high) (Pwn2Own 2014)
  • 11.03.14 : 7 security fix (4 CVE high)
  • 03.03.14 : 19 security fix (3 CVE high)
  • 20.02.14 : 28 security fix (5 CVE high)
  • 27.01.14 : 14 security fix (2 CVE high)
  • 14.01.14 : 11 security fix (4 CVE high)

Notons que Google ne précise pas le niveau de sévérité des CVE ouverts pour son propre compte dans ces articles. Si l'on se réfère à la NVD, une quinzaine de CVE supplémentaires peut donc être qualifiée avec un niveau de sévérité élevé.

La comparaison des scores CVSS de la NVD avec les sévérités attribuées par Google permet également de constater qu'un "désaccord" de sévérité concerne une vingtaine de CVE (High pour Google et Medium pour la NVD ou inversement).

A titre indicatif, la durée la plus longue entre deux publications de correctifs pour Chrome est supérieure à 44 jours (entre le 18.11.14 et le 01.01.15) et la durée la plus courte a été de 3 jours (entre le 11.03.14 et le 14.03.14 avec Pwn2Own 2014 les 12/13 mars) - la moyenne entre deux publications s'établissant à 19,5 jours.

Finalement, une analyse rapide des "crédits" mentionnés par Google permet de noter que plus de 50% des CVE remontés l'ont été par les équipes Google (18 références), "cloudfuzzer" (15 références), Atte Kettunen de l'OUSPG (10 références), Collin Payne (8 références), Khalil Zhani, miaubiz et pour plus d'information, rendez-vous sur http://www.chromium.org/Home/chromium-security/hall-of-fame et sur https://www.google.com/about/appsecurity/hall-of-fame/).

 

Firefox


L'analyse des données publiées en 2014 sur https://www.mozilla.org/security/known-vulnerabilities/firefox/ permet de constater que Mozilla a corrigé (au moins) 88 vulnérabilités MFSA dont 32 sont qualifiées avec un niveau de sévérité élevé et au moins 32 avec un niveau de sévérité critique :
  • 02.12.14 : 9 MFSA (3 MFSA high et 4 MFSA critical)
  • 14.10.14 : 9 MFSA (4 MFSA high et 3 MFSA critical)
  • 24.09.14 : 1 MFSA (1 MFSA critical)
  • 02.09.14 : 7 MFSA (3 MFSA high et 3 MFSA critical)
  • 22.07.14 : 11 MFSA (5 MFSA high et 3 MFSA critical)
  • 10.06.14 : 7 MFSA (2 MFSA high et 5 MFSA critical)
  • 29.04.14 : 14 MFSA (7 MFSA high et 4 critical)
  • 25.03.14 : 1 MFSA (1 MFSA high)
  • 18.03.14 : 17 MFSA (3 MFSA high et 5 MFSA critical)
  • 04.02.14 : 13 MFSA (4 MFSA high et 4 MFSA critical)

Notons que Mozilla attribue une sévérité à un MFSA qui peut lui même englober plusieurs CVE. Si l'on consolide les statistiques correspondant à ces CVE, Mozilla a corrigé 108 CVE avec 88 MFSA au cours de l'année 2014 (44 CVE correspondant à des MFSA critiques et 33 CVE correspondant à des MFSA élevés).

La comparaison des scores CVSS de la NVD avec les sévérités attribuées par Mozilla permet également de constater qu'un "désaccord" de sévérité concerne environ 33 CVE (High pour Mozilla et Medium pour la NVD ou inversement).

A titre indicatif, la durée la plus longue entre deux publications de correctifs pour Firefox a été de 49 jours (pour les curieux, notez le cycle : 42/7+35/42/42/42/22+20/42+7 ^^) et la durée la plus courte a été de 7 jours (entre le 18.03.14 et le 25.03.14) - la moyenne entre deux publications s'établissant à 33,5 jours.

Finalement, une analyse rapide des "crédits" mentionnés par Mozilla permet de noter que la majorité des CVE remontés le sont par de très nombreux contributeurs parmi lesquels nous pouvons à nouveau mentionner la "Google Chrome Security Team" référencée 9 fois, Atte Kettunen de l'OUSPG (4 références), et 8 entrées pour TippingPoint (5 pour le Pwn2Own 2014 et 3 pour la "Zero Day Initiative").

 

Internet Explorer


L'analyse des données publiées en 2014 sur  https://technet.microsoft.com/en-us/library/security/ permet de constater que Microsoft a publié 11 bulletins pour IE6/7/8/9/10/11 (dont un hors cycle) et 1 bulletin pour IE6/7/8/9/11 - tous les bulletins étant qualifiés avec un niveau de sévérité critique (pour les clients) et l'ensemble des bulletins totalisant 248 corrections :
  • 09.12.14 : 14 fix (critical MS14-080)
  • 11.11.14 : 17 fix (critical MS14-065)
  • 14.10.14 : 11 fix (critical MS14-056)
  • 09.09.14 : 37 fix (critical MS14-052)
  • 12.08.14 : 26 fix (critical MS14-051)
  • 08.07.14 : 25 fix (critical MS14-037)
  • 10.06.14 : 60 fix (critical MS14-035)
  • 13.05.14 : 2 fix (critical MS14-029)
  • 01.05.14 : 1 fix (critical MS14-021) (OOB)
  • 08.04.14 : 6 fix (critical MS14-018) (IE6/7/8/9/11)
  • 11.03.14 : 18 fix (critical MS14-012)
  • 11.02.14 : 24 fix (critical MS14-010)

Notons que Microsoft attribue une sévérité à un bulletin qui peut lui-même englober plusieurs CVE. Si l'on consolide les statistiques correspondant à ces CVE, Microsoft a corrigé 248 CVE avec les 12 bulletins 2014 concernant Internet Explorer.

La comparaison des scores CVSS de la NVD avec les sévérités attribuées par Microsoft permet de constater qu'une vingtaine de CVE sont qualifiés comme Medium par la NVD, que seuls 4 CVE présentent une note CVSS à 10 ou que seuls 4 d'entre eux sont inconnues dans la NVD (tous ont été ajoutés postérieurement à la publication d'un bulletin MS avec la mention "modification purement informative").

A titre indicatif, la durée la plus longue entre deux publications de correctifs pour Internet Explorer a été de 35 jours (maximum 2014 entre 2 patch tuesday) et la durée la plus courte a été de 12 jours (entre le OOB du 01.05.14 et le patch tuesday du 13.05.14) - la moyenne entre deux publications s'établissant à 25 jours.

Finalement, une analyse rapide des "crédits" mentionnés par Microsoft permet de noter que 55% des CVE sont remontés par des chercheurs ou organisations créditées 12 fois ou plus : 70 références pour Palo Alto (dont 58 pour le seul magicien Dr Bo Qu), 55 pour Qihoo, 23 pour des chercheurs anonymes ou "hachés" travaillant avec le programme HP Zero Day initiative, 14 pour Trend Micro, 13 pour Abdul-Aziz Hariri et 12 pour NSFOCUS et plus de 82% sont remontés par des chercheurs ou organisations crédités 5 fois ou plus. A noter que le programme HP Zero Day Initiative est crédité pour 35% des CVE remontés.

Safari


L'analyse des données publiées en 2014 sur http://support.apple.com/en-us/HT1222 permet de constater que Apple a corrigé (au moins) 97 vulnérabilités référencées par des CVE :
  • 11.12.14 : 0 CVE ?
  • 03.12.14 : 13 CVE
  • 17.11.14 : 2 CVE
  • 17.09.14 : 9 CVE
  • 13.08.14 : 7 CVE
  • 30.06.14 : 12 CVE
  • 21.05.14 : 22 CVE
  • 01.04.14 : 27 CVE
  • 25.02.14 : 5 CVE

Apple ne se prononçant pas sur la sévérité des CVE référencés, une analyse des scores CVSS fournis par la NVD permet de constater que seulement 7 CVE sont qualifiés avec une sévérité élevée.

A titre indicatif, la durée la plus longue entre deux publications de correctifs pour Safari a été de 61 jours (entre le 17.09.14 et le 17.11.14) et la durée la plus courte a été de 8 jours (entre le 03.12.14 et le 11.12.14 bien que le APPLE-SA du 11.12.14 ne référence aucun CVE (?)) - la moyenne entre deux publications s'établissant à 41,5 jours.

Finalement, une analyse rapide des "crédits" mentionnés par Apple permet de noter que 39% des vulnérabilités ont été remontées par les équipes Apple, 33% par la "Google Chrome Security Team" et le "Google Project Zero" et 4% par le programme "Zero Day Initiative" de HP.

De la difficulté de cette étude


Lorsque @nathplanteur et moi avons discuté cet été à propos de cette idée d'article, j'ai tout d'abord pensé qu'il me serait aisé de consolider les données publiées par les éditeurs concernés car chacun d'entre eux réalise un travail fantastique en terme de communication et présentation au public et que de nombreux sites publics traitent de ce sujet.

Force est de constater que je me trompais et, en toute humilité, voici quelques écueils rencontrés sur lesquels j'ai été obligée de procéder à un choix pour la rédaction de cet article :
  • Certains éditeurs communiquent à propos du niveau de sévérité d'une vulnérabilité (Chrome, Internet Explorer), d'autres communiquent à propos du niveau de sévérité du bulletin (Firefox) et d'autres ne communiquent pas (Safari) : j'ai choisi de consolider mes données à partir du niveau de sévérité 1/ communiqué par l'éditeur pour la vulnérabilité, 2/ communiqué par l'éditeur par le bulletin et 3/ communiquée par la NVD.
  • Un fort taux de "désaccord" existe entre le niveau de sévérité communiqué par un éditeur pour une vulnérabilité et le niveau de sévérité qualifié par la NVD (sauf pour Microsoft) : j'ai choisi de conserver le niveau de sévérité communiqué par l'éditeur pour ma consolidation et tenté, pour chaque éditeur, de donner une idée de ce volume de désaccord.
  • Chacun des éditeurs dispose d'une stratégie qui lui est propre pour gérer les avertissements de sécurité concernant des vulnérabilités pour lesquelles aucun correctif n'est disponible (proposition de contournement technique ou fonctionnel par exemple) : j'ai choisi de ne pas tenir compte de ce critère dans la consolidation temporelle des données car il m'a semblé extrêmement compliqué de retracer cet historique à posteriori.

 

J'aime et je n'aime pas


Tous


J'aime l'idée que les "crédits" sont publiés par les éditeurs pour les chercheurs qui les aident à améliorer le niveau de sécurité de leurs logiciels et, je l'avoue, cela me laisse toujours admirative devant le coté magique dont certains d'entre eux sont pour moi auréolés. J'aime aussi particulièrement cette volonté de la part de Google, Microsoft et Mozilla (dans une moindre mesure pour celle d'Apple) de communiquer en détail sur les vulnérabilités identifiées et sur les corrections qui leurs sont apportées.

Je n'aime pas cette idée de "désaccord" entre l'éditeur et la NVD même si, pour moi, le niveau de sévérité/impact communiqué par l'éditeur demeure le critère principal et je n'aime pas l'absence de tracker propre à chaque éditeur qui permettrait d'aller les questionner sur la base d'une référence CVE comme nous pouvons le faire avec la NVD.

Chrome


J'aime la qualité et la concision des publications Google pour les correctifs de sécurité : les vulnérabilités sont identifiées par leur CVE et/ou par leur identifiant "issue" et un niveau de sévérité est communiqué.

Je n'aime pas le fait que les vulnérabilités identifiées par Google ne fassent pas l'objet d'une communication sur le niveau de sévérité.

Firefox


J'aime le visuel et l'esthétique du site dédié aux bulletins et la qualité et le détail des bulletins MFSA de Mozilla : les vulnérabilités sont identifiées par leur CVE et/ou par leur identifiant "issue" et un niveau de sévérité est communiqué.

Je n'aime pas la couleur orange pour la sévérité High des bulletins MFSA, le fait que de multiples technologies soient regroupées sous un même indice MFSA et l'absence de date sur la page principale dédiée à tous les bulletins.

Internet Explorer


J'aime la qualité et le niveau de détail sur lesquels Microsoft s'attache pour communiquer sur les vulnérabilités impactant leurs logiciels : chaque bulletin est comme un bijou à étudier et foisonne de tant d'idées et de suggestions à tester qu'il serait même intéressant d'y consacrer un article retraçant l'évolution du format même du bulletin au cours des années passées : les vulnérabilités sont identifiées par un CVE et un niveau de sévérité est communiqué.

Je n'aime pas que les bulletins soient modifiés à posteriori (y compris plusieurs mois plus tard) avec l'ajout de nouveaux CVE sans que ceci soit facilement identifiable sans avoir à ouvrir lesdits bulletins et à consulter les révisions correspondantes.

Safari


J'aime l'idée que Apple ait choisi d'appliquer une politique à contre courant sur la communication publique quant à la gestion des vulnérabilités impactant leurs produits ("For the protection of our customers, Apple does not disclose, discuss or confirm security issues until a full investigation has occurred and any necessary patches or releases are available."), je ne sais si cela est utile ou bénéfique mais cela à tout du moins le mérite d'être présenté "différemment".

Je n'aime pas l'absence de communication sur le niveau de sévérité ou d'impact des vulnérabilités corrigées, la difficulté à savoir immédiatement si un security update inclut ou non les correctifs pour Safari et/ou si un bulletin propre à Safari sera publié après un security update et le niveau de détail minimum minimorum des bulletins Apple (et encore moins les bulletins "vides").

Aucun commentaire:

Enregistrer un commentaire

Votre avis ?