En savoir plus sur la fonction Disarm de Symantec Messaging Gateway (SMG).
Les polices font partie intégrante de tous les documents et systèmes d'exploitation modernes. Un document contient une ou plusieurs zones de texte, telles que des paragraphes, et chaque zone de texte est composée d'une séquence de caractères. Pour afficher ces caractères, une visionneuse de documents doit savoir comment un caractère est représenté graphiquement. C'est exactement ce que les polices sont censées contenir : des informations sur la représentation graphique de tous les caractères, aussi appelés glyphes et des instructions sur la façon de les rendre.
Une police est spécifiée dans une langue telle que TrueType ou OpenType, et elle spécifie les glyphes pour un jeu de caractères. Elle contient des informations sur le jeu de caractères qu'elle peut rendre, comment trouver des glyphes pour un caractère donné dans le jeu, comment mettre à l'échelle un glyphe (par exemple, quand il doit être affiché dans une grande taille de 30 points ou une petite taille de 6 points), comment rendre le glyphe lisse et précis dans toutes ces tailles, etc. Un langage de police contient des instructions supplémentaires pour l'indice et l'anticrénelage, qui lui permettent de décrire comment modifier les glyphes pour obtenir une représentation précise des caractères et comment lisser les glyphes avec une utilisation appropriée des pixels gris.
Parce qu'il n'y a que très peu de langages de police (par exemple TrueType) qui sont très populaires, les systèmes d'exploitation modernes facilitent la tâche des processeurs de documents en incorporant des moteurs dans leurs plates-formes qui peuvent traiter les polices spécifiées dans ces langages populaires et les afficher sur l'écran. En fait, les systèmes d'exploitation modernes vont plus loin et incluent un certain nombre de polices populaires, spécifiées dans ces langages, de sorte qu'un document n'ait pas toujours à intégrer ces polices et puisse toujours rendre les caractères qui utilisent les polices à l'écran.
Bien que tout cela facilite le travail des processeurs de documents et améliore l'expérience des utilisateurs (par exemple, grâce à un traitement efficace des polices et à une implémentation de rendu), cela permet aux attaquants d'exploiter un élément supplémentaire à des fins malveillantes. Si un attaquant crée un fichier de polices de manière à pouvoir exploiter une certaine vulnérabilité dans le moteur d'analyse et d'interprétation des polices du système d'exploitation, il peut permettre à l'attaquant de faire des choses potentiellement dangereuses au nom de l'utilisateur. Duqu est un exemple d'une telle attaque qui exploitait la vulnérabilité d'analyse des polices Microsoft Windows TrueType et permettait à l'attaquant d'exécuter du code arbitraire avec les privilèges de l'utilisateur.
Disarm considère chaque police intégrée comme un objet potentiellement malveillant. Chaque fichier de police contient des informations qui nécessitent une analyse et une interprétation approfondies, ce qui les rend potentiellement dangereux. Lorsque Disarm rencontre une police intégrée dans un document PDF et que la configuration de la police est activée dans Symantec Messaging Gateway sur la page des paramètres Disarm, nous supprimons la police. Dans la première version de Disarm fournie avec Symantec Messaging Gateway 10.5, seule la suppression des polices PDF est prise en charge.
Alors, à quel point cela pose-t-il problème en termes de lisibilité des documents ? Dans la pratique, la majorité des documents que nous recevons chaque jour utilisent des polices qui sont incluses dans l'installation de base du système d'exploitation. De plus, davantage de polices sont installées lorsque des packages d'apps de traitement de documents populaires sont installés. Ainsi, après avoir supprimé toutes les polices d'un document, la plupart des polices populaires, et beaucoup de polices moins populaires, sont susceptibles d'être déjà présentes dans le système et seront rendues.
En pratique, la plupart des documents n'intègrent pas toutes les polices qu'ils utilisent, mais contiennent suffisamment d'informations pour que l'app puisse localiser une police dans le système de fichiers de l'ordinateur où elle doit être rendue. Les polices intégrées sont donc des polices qui sont moins susceptibles d'être présentes, ce qui signifie généralement qu'elles ne sont pas si fréquentes. Toutes les polices malveillantes appartiennent au jeu de polices qui sont intégrées. Ainsi, Disarm adopte une approche prudente et les supprime toutes sans essayer de déterminer si elles sont bonnes ou mauvaises.
Lorsque toutes les polices intégrées par Disarm sont supprimées d'un document et que toutes les polices supprimées ne sont pas disponibles sur le système, des parties du document deviennent généralement illisibles. La visionneuse de documents affiche certains glyphes inattendus, tels que des carrés et des points, à la place des caractères dont les glyphes ne sont pas trouvés. En outre, la visionneuse de documents affiche généralement une erreur qui informe les utilisateurs de la police manquante, dont le message d'erreur peut également inclure le nom de la police. Une approche de résolution de ce problème consiste à installer la police manquante sur le système et à redémarrer l'app de visualisation pour lire le document. Cependant, cela laisse à l'utilisateur le soin de récupérer la police sur Internet, ce qui peut être dangereux, car les attaquants peuvent amener les utilisateurs à télécharger un fichier de police malveillant portant le même nom que celui de la police recherchée.
Une solution raisonnable à ce problème consiste à empêcher les utilisateurs d'installer des polices et à demander aux administrateurs système d'installer les polices à la demande. Cela permet aux administrateurs système de contrôler quelles polices sont présentes et utilisées sur les terminaux en choisissant dans une liste blanche gérée et contenant uniquement des polices correctes et reconnues. Toute police qui n'est pas présente dans la liste blanche peut être interdite et examinée manuellement par un expert, par exemple en effectuant un rendu dans un environnement contrôlé, avant d'être ajoutée à la liste blanche.
Un document PDF est composé d'un certain nombre d'objets (de quelques dizaines à plusieurs milliers) reliés de manière bien définie. Un fichier qui stocke un document PDF peut contenir des objets qui ne sont reliés à aucun objet faisant partie du document. Ces objets ne sont pas interprétés par l'app de visualisation et ne sont pas affichés à l'écran ou imprimés sur le papier.
De tels objets peuvent exister dans un fichier PDF pour des raisons légitimes. Par exemple, de nouvelles versions de document peuvent ajouter de nouveaux objets de contenu sans supprimer les anciens, qui sont remplacés et déconnectés des autres objets. Cependant, il est possible d'ajouter des objets contenant des données arbitraires dans un fichier PDF et déconnectés de tous les autres objets afin qu'ils n'affectent pas le document. Cela peut permettre aux attaquants d'intégrer une charge utile arbitraire dans n'importe quel document PDF sans se faire remarquer par les pare-feu traditionnels et les analyseurs antivirus. L'ordre des objets dans un fichier PDF n'a aucune corrélation avec la façon dont ils sont reliés entre eux, qui est déterminée par les structures de données contenues dans les objets eux-mêmes. Ainsi, un changement dans l'ordre des objets, sans changer leur contenu, n'affecte pas vraiment le comportement global d'un document.
Lorsqu'un PDF malveillant est créé par un attaquant, il contient généralement une charge utile répartie sur un ou plusieurs objets. Les objets sont généralement des objets de flux qui permettent l'intégration de données binaires. Disarm analyse les objets et leurs connexions avec d'autres objets du document et, le cas échéant, prend l'une des mesures suivantes :
Image 1. Un document PDF se compose de quatre parties principales : en-tête, corps, table de références croisées et trailer. Le trailer et la table de références croisées sont utilisés pour localiser tous les objets pertinents dans le document. Lorsqu'un ou plusieurs objets sont supprimés ou réorganisés, les entrées correspondantes, si elles sont présentes, sont également supprimées ou modifiées respectivement.
Toutes les opérations décrites ci-dessus font partie de la reconstruction PDF de base et sont effectuées chaque fois qu'un document PDF est désamorcé. Aucun de ces objets n'est potentiellement malveillant puisqu'ils sont inutilisés et déconnectés du document et peuvent ou non être liés à d'autres composants potentiellement malveillants. Cette technique nous permet de supprimer ou de perturber divers types de charges utiles d'exploit Zero Day potentiel. Cependant, cette transformation à elle seule n'indique pas la présence de composants potentiellement malveillants dans un document. En d'autres termes, il est conseillé d'effectuer ces transformations pour éviter de nombreux types de charges utiles malveillantes, mais elles transformeront chaque document PDF, et cela n'indique pas la présence de composants malveillants dans chacun de ces documents.
Une signature numérique fournit une méthode pour démontrer l'authenticité d'un document numérique. Une signature numérique valide donne au destinataire des raisons de croire que le document a été créé par un expéditeur connu et que l'expéditeur ne peut nier avoir créé le document. De plus, elle atteste également de l'intégrité du document pour le destinataire, c'est-à-dire qu'il n'a pas été modifié en cours de transport. Elle est fréquemment utilisée pour les documents tels que les formulaires publiés par le gouvernement, les certificats, etc. Dans la pratique, on l'utilise plus souvent avec des documents PDF qu'avec des documents Microsoft Office, en partie parce que les apps Office sont plus adaptées à l'édition et sont moins souvent utilisées en mode lecture seule.
Lorsque Disarm transforme un document signé numériquement, le contenu est modifié et, par conséquent, la signature ne reste pas valide. Dans la mesure où la signature d'un document ne nécessite pas une grande infrastructure et que les attaquants peuvent en disposer à très peu de frais, il est difficile de faire confiance à un document sur la base de sa seule signature. Il peut donc être risqué de ne pas désamorcer les documents signés. Parce que Disarm invalide la signature numérique dans tout document sur lequel il fonctionne, il est important d'en comprendre les répercussions. Lorsqu'un document PDF désamorcé est ouvert par une app de visualisation de documents, il présente habituellement une alerte à l'utilisateur pour indiquer que le document a été modifié en cours de transport et que la signature n'est pas valide. Dans Disarm, cette situation est corrigée en supprimant la signature numérique après la transformation du document PDF.
Image 2. Un document Microsoft Word signé numériquement affiche une barre d'alerte à l'attention de l'utilisateur qui implique que le document n'est pas destiné à être modifié.
Dans les documents Microsoft Office, l'affichage de tout document signé numériquement affiche une barre d'alerte au-dessus de la zone de visualisation/édition indiquant à l'utilisateur que le document est final et signé par son créateur. Lorsque Disarm modifie un tel document et invalide sa signature, l'app de visualisation affiche une autre barre d'alerte indiquant que le document a été modifié depuis sa création par le signataire. Actuellement, Disarm ne fait rien pour supprimer les signatures après la transformation des documents Microsoft Office, donc l'utilisateur est censé voir l'alerte supplémentaire, qui peut être facilement ignorée si l'utilisateur le souhaite.
Livre blanc sur le filtrage Disarm de Messaging Gateway v3
Votre abonnement vous permettra de recevoir des mises à jour par message électronique lorsque cet article sera mis à jour. La connexion est requise.
This will clear the history and restart the chat.
Merci pour vos commentaires. Faites-nous savoir ci-dessous si vous avez d'autres commentaires. (connexion requise)