Certes, nous avons eu droit à une excellente présentation au SSTIC sur la véritable utilité de la certification IS0 27001 et autres normes associées. J'aime bien le titre qui contient à lui seul une grosse partie de la réponse qui n'est pas très loin de "à rien". J'exagère. Ce que j'ai retenu de cette intervention, c'est que ISO 27001, ça permet à une entité soucieuse de sa sécurité d'en rationaliser la conduite, et donc l'efficacité. Et c'est le cas de nombreuses autres certification sécurité, à commencer par PCI DSS. Ce qui me va fort bien... Jusqu'à ce qu'on commence à les utiliser comme preuve de la sécurité effective d'une organisation...

Cette vision des certifications ne peut en effet pas s'appliquer au cas où elles sont utilisées pour sanctionner l'accession à un marché. Typiquement, pour reprendre l'exemple totalement fortuit de PCI DSS, une boîte qui reçoit, stocke, traite ou envoie des données relatives à des paiements par carte doit être certifiée pour se voir autorisée à la faire par des organismes bancaires principaux que son Visa, Mastercard et Amex. AFAIK, ce n'est pas une obligation réglementaire, mais une obligation de fait, imposée avec plus ou moins de zèle par ces trois mastodontes. La vision précédemment évoquée ne s'applique pas à mon sens, parce que dans ce cas, le but de l'entité audité n'est pas du tout l'amélioration de sa sécurité, mais bien éviter son éviction d'un marché et maintenir son chiffre d'affaire annuel. Et c'est là que ce qui pouvait ressembler de prime abord à une situation propice à l'amélioration de la sécurité d'une industrie dans son ensemble, ici le paiement bancaire, se transforme en consensus mou, avec à la clé un joli jeu des chaises musicales des responsabilités.

Pour illustrer ceci, je vais vous renvoyer à une interview accordée par le CEO de Heartland, Robert Carr. C'est un bijou à lire. Véritablement. Une perle de naïveté, ce cynisme ou de mauvaise foi, je ne saurais trop dire, mais qui montre clairement les limites de la certification dans ce contexte. Et ça commence dès le début :

The audits done by our QSAs were of no value whatsoever. To 
the extent that they were telling us we were secure 
beforehand, that we were PCI compliant, was a major problem.

Nos auditeurs ont été méchants, ils nous ont menti. C'est ce qui transpire de l'ensemble de ses propos. On n'est en effet pas tant sur une mauvaise traduction du sens de la certification, encore qu'il admette avoir voulu croire qu'être certifié était un gage de sécurité, que sur la volonté à peine voilée de décharger sa responsabilité sur quelqu'un d'autre, ici les auditeurs :

In the post-Enron environment, the auditors have contracts 
with clients that essentially absolve them of gross 
negligence. The false reports we got for 6 years, we have 
no recourse. No grounds for litigation. That was a stunning 
thing to learn.

Je pense que la "stunning thing to learn" que Heartland a apprise à ses dépends sur ce coup là, c'est qu'ils avaient une responsabilité et que la certification n'était pas là pour les en décharger, en totalité comme en partie. Et ce discours de Robert Carr est à mon avis assez révélateur du consensus mou dont je vous parlais auparavant. D'un côté, vous avec l'entreprise auditée qui veut sa certification. Pas forcément sa sécurité, juste le sésame qui lui permet de travailler. Et de l'autre, vous avec l'auditeur qui veut que son mandat se déroule bien, pour pouvoir remettre le couvert l'année d'après. Ce qui veut dire in fine accorder la certification. Parce qu'on pourrait croire que l'auditeur est indépendant dans l'histoire. Que nenni : il est payé par l'entreprise qui demande la certification. Il a donc tout intérêt à ce que les relations soient cordiales s'il veut assurer un contrat récurrent avec ce client...

Reste que si le parallèle avec l'affaire Enron vient effectivement à l'esprit, il est un peu exagéré. La certification est en effet ainsi faite qu'il n'est nul besoin d'aller jusqu'à la collusion pour qu'une entreprise aux pratiques de sécurité légères se retrouve certifiée. Tout simplement parce que c'est dans l'intérêt de tout le monde. Sauf du client final, M. Toulemonde, qui paie en magasin avec sa carte, mais c'est une autre histoire... Alors maintenant, on va vous dire "oui mais la certification, ça ne veut pas dire que les gens sont secure". OK. Le problème avec PCI DSS, c'est que cette certification est le sésame pour traiter, de près ou de loin, des paiements bancaires. Si cette certification n'a pas de signification quant au degré de sécurité effectif de celui qui l'obtient, pourquoi joue-t-elle ce rôle ? En gros, pourquoi nos organismes de cartes bancaires s'appuient dessus pour autoriser ou non une entité à traiter des données pour eux ? Simplement parce que ça les arrange bien aussi. C'est ce que j'appelle le consensus mou : l'évolution du système vers un point d'équilibre non conforme au but annoncé, mais qui satisfait tout le monde, en tout connaissance de cause.

Le problème, c'est la stabilité de cet équilibre face aux perturbations. C'est ce que j'appelle les chaises musicales. Car un bon consensus serait un équilibre stable. Genre une boîte se fait défoncer, mais les apports de la certification empêchent que ça se transforme en une débâcle à l'échelle de l'ensemble de l'industrie impactée et le jeu des responsabilités assure un bon retour au point d'équilibre. Alors que là, il suffit de voir les réactions pour comprendre qu'on en est loin. Les organismes bancaires nous disent que les sociétés en question sont certifiées, et donc que ce n'est pas leur problème. Surtout quand ils exhibent des pratiques qui ne seraient pas conformes aux exigences de la certification, comme la transmission des numéros de carte en clair[1]. C'est à se demander comment elles ont eu leur certification ces boîtes, ou plutôt comme les auditeurs qui ont loupé ça ont été certifiés eux-même... Les sociétés qui s'expriment leur répondent grosso modo qu'ils ont été trompés par leurs auditeurs, que ces derniers les ont déclarés conformes alors que leur sécurité n'était pas au rendez-vous. Et les auditeurs répondent que bon, la certification, ce n'est pas une preuve de sécurité, et que de toute manière, ils ne sont pas responsables.

Et la boucle est bouclée. Sauf que comme on est pas chez les bisounours, la société qui s'est faite trouer se retrouve sans chaise à la fin du morceau. Ça n'est pas si choquant que ça sur le plan de la morale, puisque finalement ce sont eux qui ont fait la grosse boulette et qui ont cru que la certification les en dédouanerait. N'empêche qu'à la fin, cette bonne grosse usine à consulting qui s'appelle PCI DSS a failli à son but premier, à savoir prévenir la fraude au paiement bancaire. Pas parce qu'elle n'a aucun sens ou qu'elle ne permet pas la mise en place de bonne pratique de sécurité dans le temps. Juste parce qu'elle est utilisée pour sanctionner un niveau de sécurité. Et en cela, et en cela seulement, on peut dire que PCI DSS est un échec.


Pour aller plus loin sur les certifications, je vous conseille la lecture du blog d'Anton Chuvakin qui parle beaucoup de ces problématiques. Vous pouvez commencer par celui qui parle de l'interview que je cite au-dessus, et continuer sur les billets connexes mentionnés en bas.

Sinon, deux billets antagonistes sur la question :

Notes

[1] Déja remontée lors de l'affaire TJX, également en partie incriminée dans les autres cas..