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]