Serveurs Microsoft Exchange et les anti-virus

Date : 06 Juillet 2005

La forte propagation des vers/virus de ces derniers mois a mis en évidence certaines faiblesses des solutions anti-virales sur les serveurs de messagerie Microsoft Exchange et notamment la version 5.5.

Aujourd'hui, les logiciels anti-virus s'interfaçant avec le serveur Exchange :

  • utilisent des API standards fournies par Microsoft
  • ou implémentent eux-même leurs propres API.

Dans le présent article nous allons examiner les différentes limitations de ces 2 solutions.

Utilisation des API Microsoft :

- MAPI :

La première API de Microsoft utilisée par les éditeurs d'anti-virus a été la MAPI (Messaging Application Program Interface). Elle permet, de façon standardisée, d'accéder et d'analyser de façon efficace les messages contenus dans les boites à lettre Exchange. Cependant, la MAPI souffre d'un inconvénient majeur pour les anti-virus : elle ne fournit pas de véritable mécanisme de synchronisation permettant d'intercepter de manière prioritaire tous les nouveaux messages.

Cela se révèle très problématique au niveau des anti-virus, car c'est alors une "course ouverte" pour le traitement des nouveaux messages entre ces derniers et le client de messagerie qui tente lui aussi de télécharger ces messages. Ainsi, les anti-virus, par certains artifices (utilisation de pseudo-évènements, fréquence d'interrogation de la Base d'Information d'Exchange élevée, …), arrivent à traiter les messages avant que le client de messagerie de l'utilisateur ne les télécharge.

Cependant lors des périodes de forte charge, liées par exemple à la propagation de vers de type "Mass-mailer" (propagation automatique par e-mail) comme BadTrans, Sircam, …; il se peut que le client de messagerie télécharge un message avant qu'il ne soit analysé par l'anti-virus, ce qui rend la protection anti-virus inefficace.

Afin de palier ce problème, Microsoft a développé une nouvelle API, AVAPI, destinée aux logiciels anti-virus.

 

- AVAPI :

AVAPI (Anti-Virus API) a été introduite dans le Service Pack 3 de Microsoft Exchange 5.5. Elle est pourvue d'un mécanisme garantissant l'interception des e-mails avant que ces derniers ne soient transférés à l'utilisateur.

Cependant, elle contient d'autres lacunes empêchant une totale immunité contre les vers/virus. En effet, cette API ne permet l'accès qu'aux attachements des e-mails et ne permet donc pas l'analyse des corps de message qui peuvent contenir certains types de ces vers (Kak, BubbleBoy, …). De même, en se focalisant sur les attachements, cette méthode empêche la remontée d'informations complètes sur les messages infectés (adresses e-mail source et destination, sujet de l'e-mail, ….).

De plus, AVAPI ne semble savoir gérer que le mode de fonctionnement natif de Exchange, ce qui pose un problème si on utilise OWA (Outlook Web Access), les connexions SMTP, POP, IMAP et les clients non-Microsoft.

Elle peut également provoquer des problèmes de "Time-Out" entre le serveur Exchange et le client de messagerie.

Microsoft s'est alors penché sur ces nouveaux problèmes et a sorti une nouvelle API, VSAPI.

 

- VSAPI :

VSAPI (Virus Scanning API) a été, elle, introduite avec le Service Pack 1 de Microsoft Exchange 2000. Malheureusement, Microsoft n'a pas prévu d'adapter cette API pour les versions 5.5 d'Exchange.

VSAPI pallie toutes les lacunes des précédentes API en permettant une analyse complète (corps + attachement) de tous les messages, une remontée d'information relativement exhaustive pour tracer les messages infectés et permet une interopérabilité avec OWA (Outlook Web Access), les connexions SMTP, POP, IMAP et les clients non-Microsoft. Elle améliore aussi, entre autres, le traitement des nouveaux messages (gestion de priorité).

Microsoft propose aujourd'hui une API relativement robuste sur laquelle devraient se "connecter" les logiciels anti-virus. Cependant, cette API, VSAPI n'est présente que sur la version 2000 du serveur Exchange et oblige ainsi à une migration des anciennes versions vers cette dernière pour utiliser pleinement ses nouvelles fonctionnalités.

 

Utilisation des API éditeurs :

Sans attendre les développements de Microsoft, certains éditeurs d'anti-virus (Sybari/Antigen par exemple) ont développé leurs propres API pour s'interfacer avec le serveur Exchange et notamment avec son système de gestion de la base de données contenant les boites à lettre utilisateurs : ESE (Extensible Storage Engine – qui remplace le système JET). Cette technique permet de contourner les limitations des API MAPI et AVAPI mais elle a l'inconvénient majeur de ne pas être standardisée.

Ainsi, des problèmes conséquents peuvent intervenir lors de la montée à niveau du serveur Exchange (mise à jour de version, Service Pack, Hotfix) qui peut potentiellement redéfinir l'utilisation de fonctions sur lesquelles s'appuient les API propriétaires.

 

Conclusion :

Bien que Microsoft fournisse une API répondant de plus en plus au besoin des anti-virus, seuls les sites utilisant la dernière version du serveur de messagerie Exchange peuvent en bénéficier pleinement aujourd'hui.

Dans tous les cas le Cert-IST engage les administrateurs des serveurs Exchange munis de solutions de lutte antivirale de vérifier auprès de leur éditeurs d'anti-virus (ceci en fonction de la version de leur serveur Exchange), le type de fonctionnement de leur produit (quelle(s) API est(sont) utilisée(s), sont–elles paramétrables ?, …) et de se faire préciser quels effets de bords l'emploi de telle ou telle technologie peut induire.

Pour plus d'information :

  • Article de TrendMicro France : http://www.antivirus.fr/infoproduits/scanmailexch/doc_ligne/mapiouavapi.htm
  • Article de TrendMicro France : http://www.antivirus.fr/infoproduits/scanmailexch/doc_ligne/mapiouavapi.htm
  • Article de la KB de Microsoft sur l'API AVAPI (Q263949) : http://www.microsoft.com/technet/support/kb.asp?ID=263949
  • Article de la KB de Microsoft sur l'API VSAPI (Q285667) : http://www.microsoft.com/technet/support/kb.asp?ID=285667
  • Article de la KB de Microsoft sur l'utilisations des API propriétaires par les anti-virus (Q250500) : http://www.microsoft.com/technet/support/kb.asp?ID=250500
  • Précedent Précedent Suivant Suivant Imprimer Imprimer