Bonjour,

vous avez sans doute entendu parler des problèmes de sécurité soulevés dans un article publié récemment sur ZDNet (voir http://www.zdnet.fr/actualites/informatique/0,39040745,39362096,00.htm).

Une réponse a été apportée par OOo sur son site (http://www.openoffice.org/security/response_to_defence_ministry_leak.html).

Cependant cette réponse étant pour le moins laconique, Malte Timmermann, développeur OOo chez Sun a publié le 16 août 2006 des éléments plus complets dans son blog (voir http://blogs.sun.com/malte/)

La réponse (et son condensé) étant en Anglais, j'en ai rédigé une traduction, que voici, pour le cas où cela intéresserait certains d'entre vous.

Le texte ci-dessous est en trois parties : 1. texte détaillé, 2. texte allégé, 3. "bio" de Malte. Mes propres commentaires (de pure forme) sont entre [], de même que les URL cités.


8<------------------------------------------------------------------------

[1. Version détaillée]

[http://blogs.sun.com/malte/]

Mes commentaires sur l'article "In-depth analysis of the viral threats with OpenOffice.org documents"

[Voir http://www.zdnet.fr/actualites/informatique/0,39040745,39362096,00.htm]

Comme promis, voici quelques commentaires sur différents points évoqués dans l'article "In-depth analysis of the viral threats with OpenOffice.org documents".

Cette entrée de blog est assez longue, aussi, pour ceux qui ne sont pas intéressés par les détails techniques, il vaudrait mieux lire cette autre entrée [http://blogs.sun.com/roller/page/malte?entry=is_openoffice_org_less_secure] [Traduite dans la 2è partie, ci-dessous].

L'article qui devrait bientôt paraître dans la revue "Journal in Computer Virology", liste beaucoup de points avec force détails. Je ne commenterai pas chaque point individuellement, mais par catégorie.


Les arguments (qui ne sont pas des citations) sont marqués en italique [mis ici entre //].

PLUSIEURS LANGAGES DE PROGRAMMATION

/L'article indique que des virus plus sophistiqués peuvent être écrits grâce au support de multiples langages de programmation par OpenOffice.org/

Ces multiples langages permettent également à l'utilisateur d'écrire des solutions sophistiquées pour OpenOffice.org. En termes de sécurité, cela ne fait pas de différence. Une macro (que ce soit en OOoBasic ou en VBA) peut quasiment tout faire en exploitant les droits de l'utilisateur, c'est pourquoi l'emploi d'autres langages de programmation n'accroît pas le risque.

ZIP ET XML

/Ces formats rendent les manipulations plus aisées avec une panoplie d'outils existants et le conteneur ZIP peut inclure tout exécutable malveillant/

Ces formats standardisés rendent vraiment facile l'injection de code, mais ils rendent tout aussi aisée sa détection. Il est aussi très facile aux gens de les détecter et de les supprimer, grâce à la façon dont OOo enregistre les macros dans le conteneur zippé. Ce peut être réalisé, par exemple, dans le portail de messagerie. L'injection de code est également possible dans les formats de fichiers binaires, même si c'est un peu plus difficile. Des contrôles d'intégrité au moyen de sommes de contrôle peuvent être réalisés dans les deux situations. N'oublions pas non plus que le format de fichier par défaut à venir pour Microsoft Office est également constitué de fichiers XML et ZIP. Nous sommes dans la même situation.

/L'article signale également que les documents -- ou mieux, les conteneurs zippés -- ne sont pas protégés par mot de passe, ce qui pourrait empêcher les manipulations/

Bien sûr qu'ils ne sont pas protégés par mot de passe. Ce qui est bien avec OpenDocument [http://en.wikipedia.org/wiki/OpenDocument] c'est qu'il s'agit d'un format ouvert et que vous disposez de plusieurs applications pour lire vos documents. Le chiffrement automatique des documents ou des conteneurs zippés impliquerait que vous ne pourriez les ouvrir qu'au moyen de logiciels fermés et que, très probablement, vous devriez payer des droits de licence pour ces logiciels. En outre, vous ne pourriez probablement pas employer ces logiciels sur tant de plateformes différentes.

/Une autre remarque est que le format compressé permet d'injecter du code plus volumineux, car la taille des fichiers augmente peu/

Comparez-vous vraiment la taille de vos fichiers régulièrement ? Moi pas...

Les fichiers OpenDocument sont assez petits, l'injection de code provoque une faible augmentation de leur taille. Les fichiers Microsoft Office sont plus volumineux, l'injection de code provoque une augmentation plus importante de leur taille. Finalement, le pourcentage d'augmentation de la taille serait sensiblement identique, c'est pourquoi vous ne tomberez pas dessus. Et, si c'est le changement de taille qui vous dérange, alors ce sont tous les changements de taille qui vous importent, pas seulement les gros.

PAS DE VERIFICATION DE COHERENCE DES MACROS

/On peut ajouter des macros ou des bibliothèques dans un document. OpenOffice.org ne s'en aperçoit pas ni n'informe l'utilisateur/

Ce problème est similaire au précédent. L'introcution de sommes de contrôles devrait donc être spécifié dans le format OpenDocument car les autres applications qui supportent ce dormat devraient effectuer les traitements de la même manière. Et bien sûr, les virus aussi...

SOURCES DE CONFIANCE

/Certains emplacements sont considérés par défaut comme étant de confiance. Il n'y a pas d'avertissements lorsque des macros placées à ces endroits sont exécutées/

Ce n'est pas vrai. Il n'y a pas d'emplacements de confiance par défaut. En fait, les alertes de sécurité ne sont levées que pour des macros contenues dans des documents, pas pour des macros qui font partie de l'installation d'OOo. Quiconque a accès à ces emplacements est autorisé à manipuler tout ce qui s'y trouve. Voir aussi "L'effet viral" plus loin dans cet article.

INFECTION DE DOCUMENTS PROTEGES PAR MOT DE PASSE

/Dans certains cas, les macros présentes dans un document protégé par mot de passe ne sont pas chiffrées. L'infection de documents protégés par mot de passe est donc possible/

Ici les auteurs de l'article sont tombés sur un réel bug d'implémentation. Bien entendu, les macros d'un document protégé par mot de passe devraient être chiffrées. C'est, en principe, le cas, mais dans certaines conditions cela n'est pas fait. Ce bug est d'ores et déjà corrigé.

MANIPULATION DES MENUS D'OOo ET DE SA CONFIGURATION

/L'article mentionne qu'un virus peut manipuler des entrées de menu ou attacher des macros à des évènements ou des frappes de touches, car ceux-ci sont stockés dans des fichiers XML. Il est également possible de désactiver les alertes de sécurité ou encore de configurer un proxy http qui pourrait intercepter des données/

Bon, si un virus est déjà présent ou si du code malveillant prépare l'intrusion d'un virus, c'est faisable. Mais, de toutes façons, c'est déjà trop tard pour l'utilisateur. Ce code peut apporter les mêmes modifications à des tas d'autres programmes, ce qui nous amène à "L'effet viral" ci-après.

/Ils suggèrent d'utiliser des signatures numériques pour signer les fichiers de configuration/

Comment cela pourrait-il marcher dans un logiciel open source ? Et même pour du logiciel fermé ce n'est pas non plus une solution adaptée. Si vous placez votre clef privée quelque part dans une application, des gens trouveront le moyen de se la procurer. Et cela n'aiderait que l'application en question, pas pour la vérification d'intégrité de l'ensemble du système. Alors, si vous vous intéressez à cette question, jetez donc un oeil à [l'article Wikipedia sur] "l'Informatique de confiance" [http://en.wikipedia.org/wiki/Trusted_computing].

L'EFFET VIRAL

/L'article décrit de nombreuses choses qui pourraient être réalisées dans OpenOffice.org pour atteindre un effet viral. L'un de ces points est que la configration est en XML, donc les paramètres de sécurité et les entrées de menus peuvent facilement être changés. Du code à effet viral pourrait être injecté en de nombreux endroits, par exemple au sein des documents, des macros dans des dossiers OOo ou, sous Unix, dans des scripts du shell utilisés pour lancer les binaires OOo/

Tout cela est exact. Mais, comme je l'ai déjà écrit dans mon entrée de blog précédente [http://blogs.sun.com/roller/page/malte?entry=is_openoffice_org_less_secure] : ceci ne marche qu'avec une infection initiale du système et ne se réduit pas à des manipulations d'OOo. Si vous permettez l'infection initiale, tous les systèmes peuvent être compromis.


CONCLUSION

Cette fois il s'agit de ma propre conclusion, pas de celle de l'article :)

Presque tout ce que mentionne l'article repose sur le fait qu'une infection initiale du système a lieu. Comme je l'ai déjà écrit, à partir de ce moment, le système tout entier est compromis et pas seulement OOo. On sait que beaucoup de choses peuvent être réalisées lorsqu'un virus est présent dans un système et comment on peut utiliser OOo pour atteindre l'effet viral. Mais tout ceci peut être fait avec n'importe quelle application.

J'admets qu'il y a matière à amélioration de la sécurité sous OOo pour rendre les choses un tout petit peu plus compliquées pour les virus. Mais la sécurité à 100% n'existe pas. La seule façon d'atteindre un tel objectif est l'informatique de confiance, mais elle n'est pas disponible actuellement. Il faudra également un matériel spécial avec un BIOS et un OS adaptés.

Cependant les utilisateurs peuvent d'ores et déjà minimiser les risques :

* Ne pas travailler avec des droits d'administration ou root qui ne doivent être employés que pour l'exécution de certaines tâches

* Ne pas exécuter de binaires qui ne soient de confiance

* Ne pas exécuter de macros dans des documents reçus, sauf si l'on est certain de leur inocuité

Comme je l'ai déjà écrit dans mon article précédent sur mon blog [http://blogs.sun.com/roller/page/malte?entry=is_openoffice_org_less_secure], je ne partage pas l'opinion que OpenOffice.org est moins sûr que Microsoft Office.

En matière de macros, les deux applications rencontrent les mêmes problèmes : les utilisateurs exécutent aveuglément les macros des documents qu'ils reçoivent. Ils autorisent explicitement l'exécution des macros parce qu'OpenOffice.org demande toujours la permission d'exécuter les macros présentes dans les documents.

En ce qui concerne le format des fichiers, je pense que les fichiers OpenDocument, avec leur usage du XML et du format ZIP, sont plus sûrs que des fichiers binaires parce qu'il est beaucoup plus facile de vérifier la présence de binaires incorporés ou l'existence de macros et toutes ces menaces peuvent en être très aisément retirées.

Pour ce qui est de la manipulation des applications par quelque binaire malveillant, ils sont tous les deux [OOo et Microsoft Office] affectés de la même façon que tout autre logiciel installé ou que le système d'exploitation lui-même.

--------------------------------------------------------------------------

[2. Version allégée]

OpenOffice.org est-il moins sûr que Microsoft Office?

Vous avez sans doute lu des articles de journaux qui expliquent que OpenOffice.org n'est pas sûr, peut-être encore moins que Microsoft Office. Ces articles sont tous basés sur l'article "In-depth analysis of the viral threats with OpenOffice.org documents", à paraître dans "Journal in Computer Virology". L'article discute de problèmes conceptuels, pas d'exploits qui tireraient parti de contrôles de sécurité qui pourraient être court-circuités. [Voir http://www.zdnet.fr/actualites/informatique/0,39040745,39362096,00.htm]

De ce point de vue, il ne peut y avoir une grande différence entre OpenOffice.org et Microsoft Office. Les deux suites sont livrées avec un langage de script qui permet à l'utilisateur d'écrire des macros puissantes et sophistiquées. J'ai déjà écrit à ce sujet dans ces colonnes [http://blogs.sun.com/roller/page/malte?entry=some_words_about_macro_security].

Tous les scénarios décrits dans l'article ont un point en commun : ils reposent sur l'existence d'une infection initiale ("primo infection") du système. Il y a deux moyens pour réaliser cette infection :

* L'utilisateur lance un exécutable qui contient un virus ou un cheval de Troie

* L'utilisateur charge un document contenant des macros malveillantes qui sont (automatiquement) exécutées

Alors, comment en arrive-t-on à l'infection ?

En principe, les utilisateurs ne doivent pas exécuter les programmes qu'ils reçoivent par email ou de la part de sites web "bizarres". Il est possible que du code vulnérable dans le navigateur ou dans un autre programme fasse cela automatiquement. En principe, les utilisateurs ne doivent pas exécuter les macros qui se trouvent dans des documents inconnus. Dans OpenOffice.org ils reçoivent un avertissement de sécurité lors du chargement de tels documents et doivent explicitement permettre l'exécution de la macro.

Qu'importe la *manière* dont la primo infection est réalisée. Ce qui compte c'est qu' *il y a* primo infection et que ce code infectant peut effectuer *n'importe quelle* tâche en utilisant les privilèges de l'utilisateur. Le code infectant n'est pas nécessairement limité à l'exécution de modifications dans OpenOffice.org, par exemple la désactivation de contrôles de sécurité ou l'injection de code viral dans des macros OpenOffice.org. Le code primo infectant peut également effectuer des modifications dans tout le système ou encore des lancer des scripts de démarrage spécifiques à l'utilisateur ou infecter des fichiers souvent utilisés comme des binaires du shell, le navigateur, le client de messagerie, ou encore installer un keylogger.

C'est pourquoi, si vous exécutez du code malveillant sur votre système, il ne faut pas vous inquiéter uniquement pour OpenOffice.org.

Si vous êtes intéressés par des informations plus détaillées à propos des différents points de l'article, vous les trouverez dans une autre entrée de blog que je publierai bientôt.


-------------------------------------------------

[3. Qui est Malte?]

[http://blogs.sun.com/malte/entry/who_is_malte]

[...]

J'ai commencé à travailler pour StarDivision en 1991. C'était la petite société allemande qui développait StarOffice. La société fut ensuite rachetée par Sun Microsystems en 1999, à la suite de quoi Sun libéra les sources sous le nom d'OpenOffice.org en juillet 2000.

Le développement de StarWriter pour Windows, OS/2, Mac et Motif démarra en 1990. Pour le réaliser nous avons également développé notre propre boîte à outils multi-plateforme, "StarView". D'autres modules, tels que Calc et Impress, furent ajoutés à la suite bureautique à partir de 1994.

Comme vous voyez, je travaille sur ce projet à peu près depuis le début.

Au cours des 15 dernières années j'ai travaillé sur différents domaines de StarOffice. Les plus importants sont le moteur d'édition, le système d'aide en ligne, l'accessibilité et les signatures numériques. Tout lister serait trop long mais ceux qui sont intéressés trouveront plus d'informations ici [http://blogs.sun.com/roller/resources/malte/mt-resume.html]

Aujourd'hui je suis Technical Architect dans l'équipe StarOffice/OpenOffice.org à Hamburg. Mes centres d'intérêts sont l'accessibilité, la sécurité, la performance et l'architecture.

Je suis également membre du sous-comité Accessibilité OASIS OpenDocument.

------------------------------------------------------------------------ >8

PS : Cette traduction est -- bien entendu -- sous PDL ;)

Bon dimanche,
--
Jean-Francois Nifenecker, Bordeaux

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à