Lutte contre les botnets : analyse et stratégie

Lutte contre les botnets : analyse et stratégie

Introduction

Les botnets, ou réseaux d’ordinateurs zombies, constituent l’un des premiers outils de la délinquance sur Internet aujourd’hui. La création d’un botnet consiste à prendre le contrôle d’un maximum de systèmes informatiques connectés à Internet, par la diffusion d’un logiciel malveillant qui se connecte à un système de commande, placé sous le contrôle du malfaiteur. Ces systèmes de commande peuvent être de nature différente, mais le plus souvent il s’agira de l’utilisation du protocole HTTP (celui du Web) ou IRC (Internet relay chat, protocole permettant la discussion ou l’échange de fichiers). Celui qui contrôle un tel réseau est traditionnellement appelé « pasteur ». Par la suite, l’ensemble de ces machines, lorsqu’elles sont connectées à Internet, répondent aux directives de leur « pasteur » à l’insu de leur utilisateur légitime et peuvent être utilisées pour conduire des attaques en déni de service distribué, la distribution de contenus illicites ou malveillants, la diffusion de courriers électroniques non sollicités (ou « spam »), la collecte des données personnelles des usagers de ces machines, du calcul distribué ou toute autre activité qu’il souhaitera. Ces botnets constituent, selon les juridictions, l’élément matériel d’infractions contre des systèmes informatiques — et en particulier en France de l’ensemble des infractions d’atteintes aux systèmes de traitement automatisé de données. Ils peuvent être aussi les outils permettant d’effectuer toutes les activités illégales décrites précédemment et donc permettent la commission de l’ensemble des infractions correspondantes. Ils permettent aussi de concrétiser le développement d’un nouveau type d’activités criminelles : le crime comme un service (ou « crime as a service », CaaS), avec ici la possibilité de louer un botnet pour quelques heures ou quelques jours : sa puissance de calcul, sa puissance de frappe ou sa capacité à collecter des données personnelles ou diffuser des contenus illicites discrètement et efficacement. Les botnets constituent un défi en matière de répression. D’abord par l’importance de leur impact sur la sécurité des réseaux et la commission d’infractions sur Internet. Ensuite par la dimension extrêmement internationale de leur diffusion et donc une certaine difficulté à mener des investigations. Enfin, par le grand nombre des acteurs qui peuvent être impliqués (les codeurs qui écrivent les programmes du logiciel malveillant, le pasteur évoqué plus haut, les mules chargées éventuellement de relayer les gains financiers issus des activités illégales, les commanditaires ou les commerçants de services). On retrouve même parfois de véritables sociétés, chargées de gérer des infrastructures pour ces botnets ou de commercialiser leurs services. Elles sont souvent liées à d’autres activités illégales telles que la commercialisation 20 Introduction de faux logiciels de sécurité ou l’accès à des contenus illicites tels la pédopornographie. La réponse à l’enjeu des botnets rassemble de nombreux acteurs : les opérateurs de communications électroniques, des entreprises de sécurité des systèmes d’information, des éditeurs de solutions de sécurisation, les services de police et la justice ; et comme souvent en matière de sécurité sur Internet les usagers jouent un rôle important. Les méthodes employées sont pour l’instant assez inefficaces et le nombre d’interpellations d’auteurs et de gestionnaires de botnets est limité par rapport à l’ampleur du phénomène. Une fois employées dans une première affaire elles se révèlent rapidement inefficaces car les techniques des délinquants eux-mêmes évoluent à un rythme qui paraît s’accélérer. Organisation des travaux Lors de la rédaction du sujet de la thèse, l’objectif initiale était de couvrir trois parties : la description des botnets, les réponses et le développement d’une stratégie d’ensemble. Le résultat de nos travaux s’avère beaucoup plus pragmatique avec trois propositions : la constitution d’un corpus de connaissance et d’une méthode de classification des botnets, l’analyse critique des méthodes de lutte et enfin la proposition d’un outil concret pour la détection et l’investigation. Les travaux ont été conduits à la fois par un travail personnel, de nombreux échanges et discussions, participation à des conférences et la confrontation à des situations réelles permises par notre métier. Échanges De façon classique, les échanges avec la communauté scientifique et technique ont été nombreux. On pourra citer en particulier la richesse de la coopération engagée avec le laboratoire de haute sécurité du LORIA et les conseils particulièrement éclairés de nombreux observateurs du secteur privé ou indépendants, en particulier Charlie Hurel qui a développé une connaissance très avancée des méthodes de diffusion des menaces. Moins traditionnelle en revanche a été la constitution d’une communauté autour du Wiki botnets.fr, dont une partie des membres s’est investi dans l’organisation d’une conférence internationale dédiée à la lutte contre les botnets. Botconf a réuni 150 personnes en 2013 et 200 en 2014, de toutes les régions du monde, avec une qualité croissante des contributions présentées. Contributions Nos travaux apportent plusieurs contributions à la recherche et à la compréhension du phénomène des botnets. Ainsi, nous avons regroupé et, quand c’était nécessaire, créé les définitions de tous les éléments clés de l’observation des botnets. Parmi les définitions originales, la notion de communications univoques et réciproques dans les infrastructures de commande et de contrôle (cf. page 42). Nous apportons ensuite un nouveau modèle plus détaillé que l’état de l’art du cycle de vie des botnets (cf. page 48). Introduction 21 Nous avons collecté de façon structurée (sous forme de Wiki) et rendu public un corpus d’informations sur les botnets 1 . Enfin, la synthèse des méthodes de défense et de lutte contre les botnets que nous proposons s’est concrétisée par le développement d’un site Web d’information sur la prévention et la mitigation des logiciels malveillants liés aux botnets 2 , puis, est conclue par un certain nombre de recommandations pour le chemin à suivre. Nos contributions écrites prennent la forme d’un chapitre d’un ouvrage sur la cybercriminalité [Fre12a], de nombreuses présentations et des publications dans des revues d’intérêt scientifique (dont la revue du GRASCO [Fre13b]) et plus récemment un article de réflexion conjoint sur les botnets de mobiles [MFB15] (avec le centre de recherches de la Commission européenne à Isrpra) retenu pour une présentation dans une conférence scientifique (EISIC 2015).

Les programmes malveillants (ou malwares)

Tout au long de ce mémoire, nous utiliserons indifféremment les termes malware ou programme malveillant. Une des définitions de référence est celle du Guide to malware incident prevention and handling du National Institute of Standards and Technologies (NIST) [MKN05] : « Malware, also known as malicious code and malicious software, refers to a program that is inserted into a system, usually covertly, with the intent of compromising the confidentiality, integrity, or availability of the victim’s data, applications, or operating system or otherwise annoying or disrupting the victim. » On retrouve donc uniquement, dans cette définition, des composants logiciels spécifiquement conçus pour porter atteinte à l’intégrité d’un système. Par programme on entend évidemment les programmes directement exécutables par le système ou dans un langage interprété (scripts notamment). Pour embrasser plus de situations, nous prendrons aussi en compte les atteintes au matériel qui sont parfois recherchées, notamment vis à vis des systèmes industriels [CAL+11], [YLB15]. C’est soit le système piloté, soit les données qu’il contient qu’on cherche le plus souvent à détruire, toutefois, en 2011, Charlie Miller montra à la conférence Black Hat qu’il est possible de détruire des batteries d’ordinateurs portables [Mil11], on n’est donc pas à l’abri d’une telle évolution. D’autres définitions nous sont données par les différents textes juridiques. Ainsi, la directive 2013/40/UE relative aux attaques contre les systèmes d’information [Par13] définit dans son article 7 les outils qui doivent être rendus illégaux par les législations nationales : « Les États membres prennent les mesures nécessaires pour ériger en infraction pénale punissable la production, la vente, l’obtention pour utilisation, l’importation, la diffusion ou d’autres formes de mise à disposition intentionnelles d’un des outils suivants lorsque l’acte est commis sans droit et dans l’intention de l’utiliser pour commettre l’une des infractions visées aux articles 3 à 6, au moins lorsqu’il ne s’agit pas de cas mineurs : a) un programme informatique, principalement conçu ou adapté pour permettre la commission de l’une des infractions visées aux articles 3 à 6 ; b) un mot de passe, un code d’accès ou des données informatiques similaires permettant d’accéder à tout ou partie d’un système d’information. » Les articles 3 à 6 de cette directive portent respectivement sur : – l’accès illégal à des systèmes d’information ; – l’atteinte illégale à l’intégrité d’un système ; – l’atteinte illégale à l’intégrité des données ; – l’interception illégale.

 Quelques particularités des logiciels malveillants

Avant cela, pour compléter cette description des logiciels malveillants, il convient d’aborder aussi leur variété.

Variétés de logiciels malveillants

Il est difficile de donner une classification claire des logiciels malveillants. En effet, très souvent, ceux-ci vont combiner les qualités de plusieurs des catégories qu’on cherchera à définir. Ainsi, dans le guide du NIST [MKN05] souvent cité en référence, sont décrites les catégories suivantes de programmes malveillants : • un virus est conçu pour s’auto-répliquer en insérant des copies de son code dans d’autres fichiers, programmes ou systèmes ; – un virus compilé a été transformé à partir d’un code source, par un compilateur, dans une forme directement exécutable par le système d’exploitation du système cible ; – un virus interprété a contrario est dans un code source qui doit être interprété par une application ou un service disponible dans le système cible ; • un ver (worm) se propage de machine en machine par les connexions réseau ou toute autre forme de partage de ressources ; • un cheval de Troie (trojan horse) sont des programmes non-reproductifs, apparemment bénins et qui présentent des fonctionnalités cachées malveillantes ; • les codes malveillants mobiles (malicious mobile code) sont capables de s’exécuter indifféremment dans différents environnements – systèmes d’exploitations ou applications – grâce notamment à l’utilisation de langages de script tels que Java, ActiveX, JavaScript et VBScript ; • les attaques mixtes ou combinées (blended attacks) sont des logiciels malveillants capables d’utiliser différentes méthodes pour réaliser infections ou transferts ; Le NIST présente encore les cookies de traçage (tracking cookies) ou les mouchards Web (web bugs) comme des composants utilisés par des logiciels malveillants pour traquer 26 Chapitre 1. Observation et classification l’activité des utilisateurs ciblés. Enfin, on y lit la description des différents outils d’attaque qui peuvent être intégrés ou additionnés à un virus (portes dérobées, enregistreurs de frappe au clavier, rootkits, extensions de navigateurs Web, générateurs de courriers électroniques, techniques d’obfuscation, etc.). En réalité, on ne peut que partager le constat de Robert Hensing [Hen05] qui cherchait à définir plus précisément ce qu’est un rootkit et dès le titre souligne que des caractéristiques décrites comme discriminantes sont souvent mêlées au sein des mêmes logiciels malveillants. Ainsi, on pourra rencontrer un ver qui se comporte comme un virus en se répliquant aussi dans différents fichiers d’un système. Cela nous amène donc à voir ces différentes catégories de logiciels malveillants comme des caractéristiques ou fonctionnalités combinées. 

Table des matières

s
Table des matières 7
Résumé 17
Introduction 19
1 Observation et classification
1.1 Introduction .
1.2 Définitions
1.2.1 Les programmes malveillants (ou malwares)
1.2.2 Quelques particularités des logiciels malveillants
1.2.2.1 Variétés de logiciels malveillants
1.2.3 Les botnets .
1.2.3.1 Définitions possibles
1.2.3.2 Proposition de définitions complètes
1.2.3.3 Problématique des botnets à usage “légal”
Calcul distribué
Botnets utilisés à des fins incertaines
Captation de données autorisée par la loi .
Des victimes parfois consentantes .
Logiciels potentiellement indésirables
1.2.3.4 Définitions des typologies de logiciels malveillants et de leurs
fonctionnalités
8 Table des matières
Typologies principales de logiciels malveillants
Principales caractéristiques rencontrées dans les logiciels malveillants .
1.2.3.5 Composantes d’un botnet
1.2.3.6 Classes, instances et compartiments d’un botnet
1.2.3.7 Architectures possibles pour les systèmes de commande et de contrôle
Architecture centralisée
Architecture décentralisée
Architectures hybrides
Architecture aléatoire
Sens des communications
Modalités persistantes et périodiques
Profiter d’une autre architecture
Plates-formes mobiles
1.2.3.8 Cycle de vie
Exemple du botnet Gameover
Modèles issus de la littérature 47
Proposition d’un modèle détaillé de cycle de vie des botnets48
1.2.3.9 Utilisation des serveurs DNS 51
Algorithmes de génération de noms de domaines (DGA)
Fast-flux DNS
Le DNS comme canal caché
1.2.3.10 Taille d’un botnet et autres mesures
Distinguer les bots
Initiatives de mesure
Mesurer dans les réseaux de distribution
Conclusion sur la mesure
1.2.4 Vecteurs de distribution
1.2.4.1 Exemple d’installation d’un code malveillant de botnet
Diffusion du botnet Dridex en août 2015
1.2.4.2 Typologies de méthodes et d’acteurs
Installation physique
Ver
Spam
Par téléchargement et exécution volontaires
Drive-by-download
Traffic distribution services (TDS)
Exploit kits
Via un autre botnet
Synthèse sur les vecteurs de distribution
1.2.5 Autres acteurs de l’écosystème
1.3 Conclusion du premier chapitre
2 Collecte d’informations
2.1 Wiki sémantique
2.1.1 Définition
2.1.2 Structure de données
2.1.3 Stratégie d’alimentation
À partir des publications et actualités
Documentation systématique sur une menace
2.1.4 Partage de données
2.1.5 Quelques éléments statistiques
2.2 Autres modèles de données structurés
2.2.1 Bases de connaissances des éditeurs de solutions de sécurité
2.2.1.1 Référentiels de détection par les produits de sécurité
Le rançongiciel policier “Reveton” chez Microsoft
2.2.1.2 Bases d’échantillons
Bases d’échantillons spécialisées
2.2.1.3 Nommage des logiciels malveillants
2.2.1.4 Les blogs
Blogs de chercheurs indépendants
Blogs des éditeurs de sécurité
2.2.2 Formats d’échanges du MITRE
2.2.2.1 MAEC
MAEC Bundle
10 Table des matières
MAEC Package
MAEC Container
Vocabulaires
2.2.2.2 STIX
L’architecture de STIX comporte huit constructeurs
Confrontation à notre problématique de l’investigation des botnets
2.2.3 Autres formats de données
2.2.3.1 YARA
2.2.4 Propositions d’évolution
2.3 Catégories de botnets (et autres menaces)
2.3.1 Proposition de catégorisation
2.3.2 Quelles méthodes pour classifier ?
2.3.3 Conclusion sur la classification des botnets
2.4 Confrontation à des cas concrets
2.4.1 Rançongiciels policiers
2.4.2 Les botnets et campagnes d’espionnage
2.4.3 Botnets bancaires
2.4.4 Les botnets de terminaux de point de vente
2.4.5 Prospective sur les objets connectés
2.5 Conclusion du second chapitre
3 Méthodes de lutte contre les botnets
3.1 Introduction
3.2 Détection
3.2.1 Détection passive
3.2.1.1 Inspection de flux et de paquets
3.2.1.2 Observation du protocole DNS
3.2.1.3 Cas particulier des réseaux pair-à-pair
3.2.1.4 Analyse des données liées au spam
Collecte et analyse du spam
Détecter les abus liés à son infrastructure
3.2.1.5 Retour des éditeurs de sécurité et de solutions antivirus
3.2.1.6 Analyse des journaux d’activité
Table des matières
3.2.2 Pots de miel (honeypots) et simulations . 106
3.2.3 Détection active
3.2.3.1 Sinkholing
3.2.3.2 Infiltration
Activité sur les canaux de commande IRC . 108
Sur les réseaux sociaux
Dans les réseaux pair à pair
Remonter jusqu’à l’attaquant
3.2.4 Défis à venir
3.3 Analyse des logiciels malveillants
3.3.1 L’analyse en bac à sable
3.3.2 L’analyse statique
3.3.2.1 Aller plus loin dans l’analyse dynamique
Plates-formes de simulation
3.3.3 Détecter et contourner les méthodes d’obfuscation
3.4 Développement d’un outil de veille contre les botnets – MALINT
3.4.1 Introduction
3.4.2 Concept
3.4.3 Architecture
3.4.4 Améliorations
3.5 Défense et blocage
3.5.1 Se protéger de la propagation
3.5.2 Blocage dans les réseaux
3.5.3 Protéger les systèmes
3.5.3.1 Antivirus
3.5.3.2 Dans les navigateurs
3.6 Démantèlement
3.6.1 Approches techniques
3.6.2 Actions des acteurs privés
3.6.3 Actions policières et judiciaires, et actions conjointes
3.6.4 Quelle stratégie
3.7 Ethique
3.8 Conclusion du troisième chapitre
12 Table des matières
Conclusion
A Table des botnets documentés sur le Wiki botnets.fr
B Définition des classes du Wiki botnets.fr
B.1 Botnets
B.1.1 Introduction
B.1.2 Définition
B.2 Exploit kits
B.2.1 Introduction
B.2.2 Définition
B.3 Panels
B.3.1 Introduction
B.3.2 Définition
B.4 Malware
B.4.1 Introduction
B.4.2 Définition
B.5 Services
B.5.1 Introduction
B.5.2 Définition
B.5.3 Vocabulaires
B.5.3.1 Catégories de services cybercriminels
B.6 Groups
B.6.1 Introduction
B.6.2 Définition
B.6.3 Vocabulaires
B.7 Features
B.7.1 Introduction
B.7.2 Définition
B.7.3 Vocabulaires
B.8 Campaigns
B.8.1 Introduction
B.8.2 Définition
B.9 Families
Table des matières
B.9.1 Introduction
B.9.2 Définition
B.10 Assets
B.10.1 Introduction
B.10.2 Définition
B.10.3 Vocabulaires
B.10.3.1 Types de ressources/cibles
B.11 Operations .
B.11.1 Introduction
B.11.2 Définition
B.12 Publications .
B.12.1 Introduction
B.12.2 Définition
B.12.3 Vocabulaires
B.12.3.1 Types de publications
B.13 Authors
B.13.1 Introduction
B.13.2 Définition
B.14 Editors
B.14.1 Introduction
B.14.2 Définition
B.15 Images
B.15.1 Introduction
B.15.2 Définition
B.16 Languages
B.16.1 Introduction
B.16.2 Définition
B.16.3 Vocabulaires
B.17 Programming languages
B.17.1 Introduction
B.17.2 Définition
B.17.3 Vocabulaires
B.18 Vectors
14 Table des matières
B.18.1 Introduction
B.18.2 Définition
B.19 Vulnerabilities
B.19.1 Introduction
B.19.2 Définition
B.19.3 Vocabulaires
B.20 Protocols
B.20.1 Introduction
B.20.2 Définition
B.20.3 Vocabulaires
B.21 Years .
B.21.1 Introduction
B.21.2 Définition
C Exemple de macro VBA obfusquée utilisée dans la diffusion de Dridex
C.1 Macro VBA .
C.2 Macro VBS récupérée sur pastebin
D Exemple de données stockées chez un éditeur
E Etude sur la prise en compte des mises à jour de sécurité
E.1 Période de l’étude .
E.2 Questions posées
E.2.1 Quel est le secteur de votre entreprise ou organisation ?
E.2.2 Quel est la taille de votre parc informatique ?
E.2.3 Pour vos postes de travail (et ordinateurs portables), disposez-vous d’une politique de maintien à jour de vos logiciels et systèmes d’exploi tation ?
E.2.4 Pour vos serveurs, disposez-vous d’une politique de maintien à jour de vos logiciels et systèmes d’exploitation ?
E.2.5 Disposez-vous d’un logiciel de gestion de parc ?
E.2.6 Quel pourcentage de votre parc informatique se met à jour automatiquement ? (système d’exploitation)
E.2.7 Quel pourcentage de votre parc informatique dispose d’un antivirus qui
est automatiquement mis à jour ?
E.2.8 Quel pourcentage de votre parc informatique se met à jour automatiquement ? (navigateur Web)
E.2.9 Quel pourcentage de votre parc informatique se met à jour automatiquement ? (extensions du navigateur Web)
E.2.10 Quel pourcentage de votre parc informatique se met à jour automatiquement ? (autres logiciels)
E.2.11 Si vous n’utilisez pas ou peu de systèmes/configurations de mise à jour
automatiques, avez-vous toutefois mis en place une politique de mise à
jour régulière ?
E.2.12 Si vous utilisez une passerelle pour permettre l’accès de vos utilisateurs
sur Internet, est-ce que cette passerelle vérifie que cet accès est réalisé
depuis un navigateur Web autorisé et à jour ?
E.2.13 Quelle est la raison principale qui peut vous empêcher de mettre en
place l’une ou plusieurs des dispositions décrites ci-dessus ?
E.2.13.1 Autres réponses
Liste des définitions
Liste des tableaux
Table des figures
Acronymes
Bibliographie

projet fin d'etude

Télécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *