Nettoyer un fichier Microsoft Office revient à lui appliquer des dizaines de traitements de protection. L'approche classique consiste à faire lire le document dans son intégralité à chaque traitement de protection et à relire ce même document à chaque fois qu'un traitement est appliqué.
Technologie Deep CDR™ lit chaque document une seule fois et applique tous les traitements au cours de ce seul passage. Cette méthode permet de diviser par deux le temps de traitement des fichiers Office volumineux tout en garantissant des résultats de nettoyage identiques.
Le coût caché de la rigueur
La désinfection est conçue pour être exhaustive. La technologie Deep CDR™ désinfecte un document Microsoft Office en appliquant simultanément des dizaines de traitements : liens externes, objets intégrés, images et leurs métadonnées, balises intelligentes, etc. Chaque traitement cible une catégorie de menaces spécifique et effectue sa propre analyse et ses propres modifications.
Avec les fichiers Office modernes, cette minutie prend beaucoup de temps et mobilise d’importantes ressources. Un fichier Word ou Excel est un dossier compressé. Il contient des fichiers texte écrits en XML, un format structuré qui décrit chaque cellule, chaque paragraphe, chaque image et chaque lien du document. Pour nettoyer le fichier, la technologie Deep CDR™ doit analyser l’intégralité de ce code XML. Une feuille de calcul d’une taille initiale de 50 Mo peut, une fois décompressée, contenir une seule feuille renfermant un demi-gigaoctet de code XML.
Dans une architecture de moteur classique, chaque traitement parcourt l'intégralité du fichier XML : un passage pour les liens, un autre pour les objets intégrés, un autre encore pour les images, et ainsi de suite.
Le coût de traitement augmente à chaque mesure de protection mise en place. Cette « taxe cachée » se traduit par des files d'attente de fichiers plus longues et une charge de calcul plus importante pour un même volume de trafic. Elle exerce également une pression qui pousse à réduire les mesures de protection, ne serait-ce que pour suivre le rythme.
Stratégie en un seul passage : une marche, plusieurs travailleurs
Imaginez une inspection immobilière. En général, l'électricien, le plombier et l'inspecteur des incendies inspectent la maison les uns après les autres, et chacun d'entre eux parcourt toutes les pièces. Et si on les faisait venir tous en même temps ? La maison serait alors inspectée une seule fois, par tous les spécialistes nécessaires.

C'est exactement ce que permet la stratégie en un seul passage de la technologie Deep CDR™. Elle bouleverse l'approche classique de la désinfection grâce à trois principes :
- Un hôte, un parcours. Un seul hôte de traitement lit, ou « parcourt », chaque partie XML du document exactement une fois. Chaque protection est un gestionnaire qui accompagne ce parcours, examine chaque nœud XML au fur et à mesure de son passage, et effectue son travail à la volée. Dix protections signifient une lecture d’une feuille de 500 Mo, avec dix gestionnaires qui la surveillent.
- Chaque protection est un plug-in. Un vérificateur spécialisé, ou « gestionnaire », prend en charge un aspect de bout en bout : les nœuds d’utilisation au sein du contenu XML, les définitions de ressources qui les déclarent et l’artefact stocké lui-même. Chaque gestionnaire suit le même cycle de vie : initialisation, traitement de chaque nœud, finalisation. Ajouter une protection au moteur revient à enregistrer un gestionnaire supplémentaire sur le même parcours. Le coût de l’exhaustivité n’augmente plus à chaque protection ajoutée.
- Les protections désactivées ne s'exécutent jamais. Avant le début du traitement, chaque gestionnaire vérifie si sa configuration s'applique. Une protection que votre politique a désactivée est écartée d'emblée et n'ajoute aucune charge de travail par nœud. Le document est lu une seule fois, et seules les protections pertinentes sont prises en compte.
Ce que révèlent les tests de performance
Nous avons évalué les performances de la stratégie avant et après, tant sur des documents volumineux spécialement conçus que sur des suites complètes de tests de régression issues de cas réels, sous Windows et sous Linux.

- Fichiers Excel volumineux (environ 500 Mo de données XML des feuilles) : environ deux fois plus rapides. Le temps de traitement total a été réduit de 94 % sous Windows et de 67 % sous Linux, et le fichier à feuille unique le plus dense a enregistré une amélioration de 147 %.
- Documents Word volumineux (ensemble de 70 fichiers spécialement créés) : durée d'exécution totale environ deux fois plus rapide, avec une amélioration de 169 % du temps moyen par fichier.
- Suites de tests de régression en conditions réelles (des milliers de fichiers Word, Excel et PowerPoint) : gain de vitesse d'environ 4 % à 20 %, selon le format et la plateforme. La plupart des fichiers étant de petite taille, l'avantage lié à la lecture unique augmente avec la taille du document.
- Aucun changement de comportement: les deux versions ont exécuté l'ensemble des suites de régression avec des résultats de nettoyage identiques. Le gain de vitesse provient de la suppression des lectures répétées, et aucune protection n'a été omise.
C'est ce dernier résultat qui importe le plus. Dans le domaine de la sécurité, les arguments liés aux performances n'ont de sens que si le niveau de protection reste constant. Le débit au niveau d'une passerelle contribue également à la sécurité : plus un fichier est nettoyé rapidement, moins les équipes sont tentées de contourner la protection.
Pourquoi nous avons commencé par tester les formats d'Office 2007
C'est dans la suite Office 2007 (.docx, .xlsx et .pptx) que se concentre le coût caché lié au format XML. Ces trois formats partageant la même structure de paquets, une seule conception d'hôte suffit pour tous les prendre en charge ; c'est notamment dans le trafic comportant un grand nombre de feuilles de calcul que l'on rencontre, dans la pratique, des éléments XML atteignant un demi-gigaoctet.
Cette stratégie s'applique à tout format dont le coût réside dans un contenu structuré volumineux, ce qui fait de ces formats des candidats à ce même traitement.
Auparavant, la rigueur avait un coût qui augmentait à chaque mesure de protection ajoutée. Grâce au traitement en un seul passage, la technologie Deep CDR™ analyse l'intégralité du document une seule fois, quel que soit le nombre de mesures de protection appliquées.

Nhut Ngo est directeur de l'ingénierie « Software » chez OPSWAT, où il dirige les équipes d'ingénieurs chargées de la technologie Deep CDR™ et d'autres technologies de traitement des fichiers au sein d'MetaDefender Core™. Fort de plus d'une décennie d'expérience en génie logiciel et en cybersécurité, il s'attache à rendre l'assainissement des fichiers rapide, précis et adapté aux infrastructures critiques. Nhut a obtenu son doctorat en sciences de l'information en 2015.

