Sandbox
À propos de la technologie sandbox
Une sandbox est un système de détection des programmes malveillants qui exécute les objets suspects dans une machine virtuelle avec un système d'exploitation complet et détecte l'activité malveillante des objets en question en analysant leurs comportements. Si l'objet effectue des actions malveillantes dans une machine virtuelle, la sandbox le considère comme un programme malveillant. Les machines virtuelles sont alors isolées de la véritable infrastructure d'entreprise.
Les sandboxes analysent le comportement des objets au moment de leur exécution, de sorte que ce sont des outils efficaces contre les programmes malveillants qui auraient échappé à l'analyse statique. De même, en comparaison d'autres systèmes d'analyse comportementale, une sandbox est plus sûre en ce qu'elle ne risque pas d'exécuter un objet suspect dans l'infrastructure d'entreprise réelle.
Kaspersky sandbox
Il y a maintenant quelques années que nous avons mis au point notre propre sandbox. Dans notre infrastructure, elle fait partie des outils d'analyse des programmes malveillants, de recherche et de création de bases de données antivirus. Une sandbox fait aussi partie de la Plateforme Kaspersky Anti Targeted Attack et de la Plateforme Kaspersky Threat Intelligence. Elle permet de classer les fichiers et les URL selon leur caractère malveillant ou inoffensif et offre des informations sur leur activité bien utiles pour créer des règles de détection et des algorithmes.
Fonctionnalités de la sandbox
- La sandbox repose sur la virtualisation matérielle, ce qui la rend rapide et stable.
- Les machines virtuelles sont compatibles avec les systèmes d'exploitation suivants :
- Windows (toutes versions de PC depuis Windows XP, toutes versions de serveurs depuis Windows Server 2003),
- Android (architecture processeur ARM x86).
- La sandbox surveille l'interaction entre le processus examiné et le système d'exploitation et, dans les cas suspects, elle va plus loin.
- La sandbox assure une détection des vulnérabilités dès les premières phases d'exploitation. Elle détecte ainsi les comportements frauduleux typiques, tels que l'utilisation de la chaîne ROP, l'injection de code, la falsification de pile, les changements de jetons de sécurité, les modifications suspectes de la protection de la mémoire, etc. La sandbox est capable de détecter y compris les exploits les plus complexes faisant l'objet d'attaques ciblées.
Types d'objet pouvant être exécutés
- Windows : tous fichiers, par exemple : *fichiers .exe, *.dll ; objets .NET, fichiers MS Office, fichiers PDF.
- Android: APK (DEX).
- URL : la sandbox accède à une URL et détecte les événements suivants : téléchargements, exécution JavaScript ou Adobe Flash, etc.
Détection des programmes malveillants
- La sandbox reçoit une demande d'analyse d'objet (fichier ou URL) de la part d'un autre composant de la solution de sécurité, avec des instructions : le système d'exploitation et la configuration pour l'exécution de l'objet, les paramètres d'exécution de l'objet, les autres applications tierces installées dans la machine virtuelle, la durée maximum des tests, etc.
- L'objet testé est exécuté.
- La sandbox collecte des artefacts pendant toute la durée spécifiée. Si l'objet interagit avec d'autres processus ou URL dont la réputation est connue, la sandbox enregistre ces informations.
- Après analyse des artefacts, la sandbox rend son verdict au système à l'origine de la demande : malveillant ou inoffensif. La sandbox enrichit son verdict des données de l'objet (identifiant, caractéristiques, journaux, détails relatifs au comportement), ce qui peut être utile pour une analyse plus poussée sans avoir à adresser de nouvelle demande à la sandbox.
Artefacts collectés par la sandbox
- Journaux d'exécution des applications (appels de fonction API avec leurs paramètres et événements d'exécution)
- Vidages de mémoire
- Vidages de modules chargés
- Modifications dans le système de fichiers ou le registre
- Trafic réseau (fichiers PCAP)
- Captures d'écran (pour faciliter les audits et l'analyse manuelle en cas de besoin)
- Artefacts d'activité liée aux vulnérabilités
Prévention de l'évasion
Aujourd'hui, il n'est pas rare que les programmes malveillants tentent de détecter la sandbox et d'y échapper. Après avoir compris qu'ils s'exécutaient dans une sandbox, ils peuvent s'abstenir de toute activité malveillante, s'effacer des disques, s'auto-détruire ou user d'autres stratagèmes d'évasion.
Si la surveillance assurée par la sandbox reposait sur une conception matérielle plus simple (par ex., en « hameçonnant » les fonctions API), cela donnerait des signes de surveillance d'un processus suspect. C'est pourquoi nous avons mis au point des techniques de surveillance non intrusives qui ne laissent à l'objet analysé aucune chance de s'en apercevoir. La sandbox contrôle le processeur et la RAM sans modifier l'exploitation des processus, la mémoire, les bibliothèques système sur disque et dans la mémoire, sans laisser de traces de surveillance.
Par ailleurs, nous tenons à jour une liste de nouvelles techniques d'évasion et réajustons notre sandbox pour les déjouer, par exemple :
Évasion A : l'environnement de la sandbox est typique de celui d'une marque connue. Le programme malveillant la reconnaît et échappe à la détection.
Contre-évasion A : notre sandbox randomise l'environnement de la machine virtuelle avant le démarrage de la machine virtuelle.
Évasion B : le programme malveillant peut détecter l'environnement de la sandbox du fait du manque d'activité des utilisateurs. Pour qu'un programme malveillant s'exécute, l'utilisateur doit saisir un mot de passe dans un compte email, cliquer sur un assistant ou effectuer d'autres activités « humaines ». De nombreuses sandboxes ne savant pas émuler ces actions, c'est pourquoi elles ne voient pas le programme malveillant à l'œuvre.
Contre-évasion B : notre sandbox émule les actions des utilisateurs : mouvements de souris ou défilement de documents qu'elle ouvre. Notre sandbox effectue de nombreuses actions semblables à celles des utilisateurs, et qui activent les programmes malveillants.
Attaques mises au jour par Kaspersky Sandbox
Exemples de nouvelles vagues d'attaques ciblées détectées grâce aux sandboxes dont sont dotés les produits d'infrastructure Kaspersky entre 2016 et 2017 : Sofacy (oct. 2017), Zero.T (oct., nov. 2016, avr. 2017), Enfal (sept., oct., nov. 2016), Freakyshelly (oct. 2016), NetTraveller (août 2016), CobaltGoblin (août 2016), Microcin (juin 2016), etc.
Produits associés
Kaspersky Anti Targeted Attack Platform
Cybersecurity Services
Kaspersky Endpoint Detection and Response
Article
“A simple example of a complex cyberattack” captured by Sandbox
Article
Vulnerable driver: lesson almost learned. How not to use a driver to execute code with kernel privileges.
Article
A Modern Hypervisor as a Basis for a Sandbox