• Aide
  • Eurêkoi Eurêkoi

Livre

Cybersécurité et malwares : détection, analyse et threat intelligence

Résumé

Après une identification des malwares puis une description des collectes rapportées par des investigations numériques légales, aborde les bases de l'assembleur, l'utilisation d'outils d'analyse statique ou le fonctionnement des outils de sandboxes. La dernière partie est consacrée aux méthodes d'éradication des malwares. Avec un lien pour accéder gratuitement à la version numérique. ©Electre 2022


  • Autre(s) auteur(s)
  • Éditeur(s)
  • Date
    • C 2022
  • Notes
    • La couv. porte en plus : "En téléchargement : code source des exemples" ; "+ quiz" ; "Version en ligne offerte ! pendant 1 an" ; "Informatique technique"
    • La 4e de couv. indique : "Sur www.editions-eni.fr : le code source des exemples du livre, en Python ou en C"
    • Contient un "flashcode" permettant d'accéder à un contenu via Internet
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (538 p.) : ill. ; 21 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-03810-5
  • Indice
  • Quatrième de couverture
    • Cybersécurité et Malwares

      Détection, analyse et Threat Intelligence

      Ce livre décrit les techniques et la méthodologie utilisées par les professionnels de l'analyse de malwares (ou logiciels malveillants). Il s'adresse à des informaticiens passionnés de sécurité, à des professionnels dans le domaine de la sécurité informatique, qui souhaitent une approche opérationnelle et hautement technique.

      Les auteurs commencent par l'identification et la classification des malwares, ils décrivent ensuite les collectes rapportées par des investigations numériques légales (inforensiques) puis les analyse. Ces collectes comportent des images disque, des journaux d'évènements, mais aussi des images mémoire. Les outils et techniques permettant d'analyser ces données sont décrits avec de nombreux exemples.

      Après avoir identifié le malware, il convient de l'analyser. Les auteurs expliquent le fonctionnement des outils de sandboxes et décrivent des formats de fichier comme les documents PDF, Microsoft Office ou encore les binaires Windows. Afin de réaliser des analyses extrêmement techniques, le livre contient un chapitre entier sur le reverse engineering (ou rétro-ingénierie), les auteurs y expliquent les bases de l'assembleur (x86 et x64) et l'utilisation d'outils d'analyse statique tels que Ghidra et Rizin ou de debuggers tels que x64dbg et WinDBG. En complément sur ce sujet du reverse engineering, un chapitre explique les techniques d'obfuscation utilisées par les malwares, telles que l'obfus- cation de chaînes de caractères ou l'utilisation de packers. Les auteurs détaillent les techniques permettant de dépacker des binaires packés. Deux chapitres sont dédiés à l'analyse de malwares sous systèmes mobiles : le système d'exploitation Android de Google et celui d'Apple : iOS. La dernière partie de ce livre décrit la Cyber Threat Intelligence et explique comment stocker les informations acquises durant des investigations mais aussi comment les partager pour améliorer sa connaissance et sa détection.

      Le livre est illustré d'exemples d'analyses de véritables malwares et les techniques présentées ont toutes été validées sur des cas réels.


  • Tables des matières
      • Cybersécurité et Malwares

      • Détection, analyse et Treat Inteligence

      • Éditions Eni

      • Chapitre 1
      • Compréhension des malwares
      • 1. Présentation des malwares par familles13
      • 1.1 Introduction13
      • 1.2 Backdoor14
      • 1.3 Ransomware et locker15
      • 1.4 Stealer16
      • 1.5 Miner17
      • 1.6 Banking trojan17
      • 1.7 Rootkit17
      • 2. Scénario d'infection19
      • 2.1 Introduction19
      • 2.2 Scénario 1 : exécution d'une pièce jointe19
      • 2.3 Scénario 2 : clic malencontreux20
      • 2.4 Scénario 3 : ouverture d'un document infecté21
      • 2.5 Scénario 4 : attaques informatiques21
      • 2.6 Scénario 5 : attaques physiques - infection par clé USB22
      • 2.7 Scénario 6 : attaques de type supply chain22
      • 3. Techniques de communication avec le C&C23
      • 3.1 Introduction23
      • 3.2 Mise à jour de la liste des noms de domaine23
      • 3.3 Communication via HTTP/HTTPS/FTP/IRC24
      • 3.4 Communication via un client e-mail24
      • 3.5 Communication via un réseau point à point25
      • 3.6 Communication via des protocoles propriétaires25
      • 3.7 Communication via le protocole DNS25
      • 3.8 Communication passive26
      • 3.9 Fast flux et DGA (Domain Generation Algorithms)26
      • 3.10 Cibles sans accès internet27
      • 4. Mode opératoire en cas d'attaques ciblées persistantes (APT)28
      • 4.1 Introduction28
      • 4.2 Phase 1 : reconnaissance28
      • 4.3 Phase 2 : intrusion29
      • 4.4 Phase 3 : persistance30
      • 4.5 Phase 4 : pivot30
      • 4.6 Phase 5 : exfiltration31
      • 4.7 Traces laissées par l'attaquant31
      • 5. Ressources sur Internet concernant les malwares32
      • 5.1 Introduction32
      • 5.2 Sites permettant des analyses en ligne32
      • 5.3 Sites présentant des analyses techniques34
      • 5.4 Sites permettant de télécharger des samples de malwares36
      • 6. Résumé37
      • Chapitre 2
      • Malwares ciblant les systèmes Microsoft Windows
      • 1. Introduction39
      • 2. Collecte d'informations40
      • 2.1 Introduction40
      • 2.2 Collecte et analyse de la base de registre40
      • 2.3 Collecte et analyse des journaux d'événements42
      • 2.4 Collecte et analyse des fichiers exécutés au démarrage43
      • 2.5 Collecte et analyse du système de fichiers45
      • 2.6 Gestion des fichiers bloqués par le système d'exploitation51
      • 2.7 Outil DFIRORC52
      • 3. Image mémoire53
      • 3.1 Présentation53
      • 3.2 Réalisation d'une image mémoire54
      • 3.3 Analyse d'une image mémoire57
      • 3.4 Analyse de l'image mémoire d'un processus64
      • 4. Fonctionnalités des malwares65
      • 4.1 Techniques pour rester persistant65
      • 4.2 Techniques pour se cacher67
      • 4.3 Malware sans fichier71
      • 4.4 Contournement de l'UAC72
      • 5. Création d'un laboratoire d'analyse73
      • 5.1 Introduction73
      • 5.2 VirtualBox74
      • 5.3 Machines virtuelles préconfigurées80
      • 5.4 Viper : l'outil de gestion d'échantillons de malwares80
      • 6. Analyse du vecteur d'infection88
      • 6.1 Informations sur un fichier88
      • 6.1.1 Format d'un fichier88
      • 6.1.2 Chaînes de caractères présentes dans un fichier89
      • 6.2 Analyse dans le cas d'un fichier PDF91
      • 6.2.1 Introduction91
      • 6.2.2 Extraire le code JavaScript92
      • 6.2.3 Désobfusquer du code JavaScript96
      • 6.2.4 Conclusion100
      • 6.3 Analyse dans le cas d'un fichier Adobe Flash100
      • 6.3.1 Introduction100
      • 6.3.2 Extraire et analyser le code ActionScript100
      • 6.4 Analyse dans le cas d'un fichier JAR101
      • 6.4.1 Introduction101
      • 6.4.2 Récupération du code source depuis les classes103
      • 6.5 Analyse dans le cas d'un fichier Microsoft Office104
      • 6.5.1 Introduction104
      • 6.5.2 Outils permettant l'analyse de fichiers Office104
      • 6.5.3 Cas d'un malware utilisant des macros : Dridex105
      • 6.5.4 Cas d'un malware utilisant une vulnérabilité107
      • 6.6 Utilisation de PowerShell109
      • 7. Analyse dans le cas d'un binaire110
      • 7.1 Analyse de binaires développés en Autolt110
      • 7.2 Analyse de binaires développés avec le framework .NET112
      • 7.3 Analyse de scripts Python compilés113
      • 7.4 Analyse de binaires développés en C ou C++114
      • 7.5 Analyse rapide des fonctionnalités d'un binaire114
      • 7.6 Analyse de bootkits UEFI116
      • 8. Format PE117
      • 8.1 Introduction117
      • 8.2 Schéma du format PE117
      • 8.2.1 En-tête MZ-DOS118
      • 8.2.2 Segment DOS118
      • 8.2.3 En-tête PE119
      • 8.2.4 Table des sections122
      • 8.2.5 Table des imports123
      • 8.2.6 Table des exports124
      • 8.2.7 Ressources125
      • 8.3 Outils pour analyser un PE125
      • 8.4 API d'analyse d'un PE128
      • 9. Suivre l'exécution d'un binaire132
      • 9.1 Introduction132
      • 9.2 Activité au niveau de la base de registre132
      • 9.3 Activité au niveau du système de fichiers135
      • 9.4 Activité réseau135
      • 9.5 Activité réseau de type HTTP(S)144
      • 10. Utilisation de Cuckoo Sandbox145
      • 10.1 Introduction145
      • 10.2 Configuration145
      • 10.3 Utilisation147
      • 10.4 Limitations154
      • 10.5 Conclusion156
      • 11. Résumé156
      • Chapitre 3
      • Reverse engineering
      • 1. Introduction157
      • 1.1 Présentation157
      • 1.2 Législation158
      • 2. Qu'est-ce qu'un processus Windows ?159
      • 2.1 Introduction159
      • 2.2 Process Environment Block159
      • 2.3 Thread Environment Block161
      • 3. Assembleur x86162
      • 3.1 Registres162
      • 3.2 Instructions et opérations167
      • 3.3 Gestion de la mémoire par la pile174
      • 3.4 Gestion de la mémoire par le tas177
      • 3.5 Optimisation du compilateur177
      • 4. Assembleur x64179
      • 4.1 Registres179
      • 4.2 Paramètres des fonctions179
      • 5. Analyse statique180
      • 5.1 Présentation180
      • 5.2 Ghidra180
      • 5.2.1 Présentation180
      • 5.3 Navigation181
      • 5.3.1 Renommages et commentaires191
      • 5.3.2 Extensions193
      • 5.3.3 Support de Python 3195
      • 5.4 Rizin195
      • 5.4.1 Présentation195
      • 5.4.2 Ligne de commande195
      • 5.4.3 Interface graphique : Cutter197
      • 5.5 Techniques d'analyse201
      • 5.5.1 Commencer une analyse201
      • 5.5.2 Sauts conditionnels203
      • 5.5.3 Boucles204
      • 5.6 API Windows205
      • 5.6.1 Introduction205
      • 5.6.2 API d'accès aux fichiers206
      • 5.6.3 API d'accès à la base de registre209
      • 5.6.4 API de communication réseau215
      • 5.6.5 API de gestion des services220
      • 5.6.6 API des objets COM222
      • 5.6.7 API restart manager223
      • 5.6.8 Exemples de l'utilisation de l'API225
      • 5.6.9 Conclusion234
      • 5.7 Comparaison entre binaires234
      • 5.7.1 Description234
      • 5.7.2 Outils235
      • 5.7.3 Exemple235
      • 5.8 Limites de l'analyse statique241
      • 6. Analyse dynamique242
      • 6.1 Présentation242
      • 6.2 x64dbg242
      • 6.2.1 Présentation242
      • 6.2.2 Contrôle de flux d'exécution247
      • 6.2.3 Points d'arrêt251
      • 6.2.4 Visualisation des valeurs en mémoire254
      • 6.2.5 Copie de la mémoire255
      • 6.3 WinDbg256
      • 6.3.1 Présentation256
      • 6.3.2 Interface257
      • 6.3.3 Commandes de base259
      • 6.3.4 Plug-in264
      • 6.4 Analyse du noyau Windows265
      • 6.4.1 Présentation265
      • 6.4.2 Mise en place de l'environnement265
      • 6.4.3 Protections du noyau Windows266
      • 6.5 Émulation et instrumentation267
      • 6.6 Limites de l'analyse dynamique et conclusion268
      • Chapitre 4
      • Techniques d'obfuscation
      • 1. Introduction269
      • 2. Obfuscation des chaînes de caractères271
      • 2.1 Introduction271
      • 2.2 Utilisation de ROT13271
      • 2.3 Utilisation de la fonction XOR avec une clé statique275
      • 2.4 Utilisation de la fonction XOR avec une clé dynamique280
      • 2.5 Utilisation de fonctions cryptographiques283
      • 2.6 Utilisation de fonctions personnalisées290
      • 2.7 Outils permettant de décoder les chaînes de caractères299
      • 2.8 Utilisation de Cyberchef300
      • 2.9 Utilisation de Malduck304
      • 3. Obfuscation de l'utilisation de l'API Windows305
      • 3.1 Introduction305
      • 3.2 Étude du cas Duqu307
      • 3.3 Étude du cas EvilBunny311
      • 4. Packers313
      • 4.1 Introduction313
      • 4.2 Packers utilisant la pile315
      • 4.3 Packers utilisant le tas327
      • 4.4 Encodeur Metasploit334
      • 4.5 Outils pour automatiser l'unpack336
      • 5. Autres techniques337
      • 5.1 Anti-VM337
      • 5.2 Anti-reverse engineering et anti-débogage339
      • 6. Résumé343
      • Chapitre 5
      • Malwares ciblant les systèmes Android
      • 1. Introduction345
      • 2. Système d'exploitation Android346
      • 2.1 Historique346
      • 2.2 Architecture347
      • 2.3 Partitions et systèmes de fichiers351
      • 2.4 Sécurité355
      • 2.4.1 Sécurité au niveau système355
      • 2.4.2 Sécurité au niveau Dalvik/ART357
      • 2.4.3 Effet de bord des fonctionnalités de sécurité359
      • 2.5 Application Android359
      • 2.6 Malwares ciblant les téléphones Android364
      • 3. Vecteurs d'infection
      • 3.1 Installation via Google Store366
      • 3.2 Installation via des stores alternatifs367
      • 3.3 Installation manuelle367
      • 3.4 MDM (Mobile Device Management)368
      • 3.5 Accès physique au terminal368
      • 4. Création d'un laboratoire d'analyse369
      • 4.1 Machine virtuelle ou téléphone physique ?369
      • 4.2 Adb (Android Debug Bridge)373
      • 4.3 Accès administrateur (root)375
      • 4.4 Capture réseau379
      • 4.4.1 Capture réseau pure379
      • 4.4.2 Capture HTTP/HTTPS379
      • 5. Analyse statique et décompilation d'une application382
      • 5.1 Analyse d'un fichier APK382
      • 5.2 Code Java et décompilation : Bytecode Viewer385
      • 5.3 Anti-VM388
      • 5.4 Code natif390
      • 5.5 Techniques d'obfuscation393
      • 6. Analyse dynamique397
      • 6.1 Utilisation de Frida397
      • 6.2 Utilisation de gdb pour les binaires natifs399
      • 7. Résumé400
      • Chapitre 6
      • Malwares ciblant les systèmes iOS
      • 1. Introduction401
      • 2. Système d'exploitation iOS402
      • 2.1 Historique402
      • 2.2 Architecture402
      • 2.3 Partitions et systèmes de fichiers406
      • 2.4 Sécurité408
      • 2.5 Jailbreak410
      • 2.6 Application iOS411
      • 2.7 Malwares ciblant iOS414
      • 3. Vecteurs d'infection415
      • 3.1 Accès physique au terminal415
      • 3.2 Liens vers un fichier .ipa415
      • 3.3 Stores alternatifs415
      • 3.4 MDM malveillant416
      • 4. Création d'un laboratoire d'analyse416
      • 4.1 Analyse réseau416
      • 4.2 Jailbreak d'un terminal et déploiement d'une application417
      • 5. Analyse statique d'une application420
      • 5.1 Introduction420
      • 5.2 Analyse avec Ghidra420
      • 6. Analyse dynamique428
      • 6.1 Utilisation de Frida428
      • 6.2 Utilisation de lldb430
      • 7. Technique utilisée par les malwares sous iOS431
      • 7.1 Injection de librairies431
      • 7.2 Injection de JavaScript433
      • 7.3 Keylogger sous iOS434
      • 7.4 Terminal jailbreaké et injection de code435
      • 8. Résumé436
      • Chapitre 7
      • Analyse de malware et Threat Intelligence
      • 1. Introduction437
      • 2. Indicateurs de compromission (IOC)439
      • 2.1 Empreintes et signatures de fichiers439
      • 2.1.1 Empreintes cryptographiques439
      • 2.1.2 Empreintes par similarité : ssdeep et TLSH441
      • 2.1.3 Empreintes des tables d'imports des exécutables Windows445
      • 2.2 Indicateurs système448
      • 2.2.1 Clés de registre449
      • 2.2.2 Système de fichiers454
      • 2.2.3 Réseau455
      • 2.2.4 Exécutions456
      • 3. Matrice du MITRE, TTPs et Threat Actors457
      • 3.1 Matrice du MITRE457
      • 3.1.1 Présentation457
      • 3.1.2 Exemples d'utilisation de la matrice ATT&CK460
      • 3.2 TTP et Threat Actors462
      • 3.2.1 Définition462
      • 3.2.2 TTP de TA505463
      • 3.2.3 Threat Actor et Intrusion Set464
      • 4. Règles et détections465
      • 4.1 Introduction465
      • 4.2 Suricata465
      • 4.2.1 Suricata465
      • 4.2.2 Exemple de détection467
      • 4.3 YARA470
      • 4.3.1 Présentation470
      • 4.3.2 Syntaxe470
      • 4.3.3 Exemple de détection de webshells472
      • 4.3.4 Exemple de détection de Chinoxy via le module PE472
      • 4.3.5 Python et YARA479
      • 4.3.6 Outils open source utilisant YARA479
      • 5. Sources de données481
      • 5.1 Présentation481
      • 5.2 Scanners481
      • 5.2.1 Définition481
      • 5.2.2 Shodan.io482
      • 5.2.3 Onyphe.io486
      • 5.2.4 Censys.io490
      • 5.3 Passives DNS494
      • 5.3.1 Présentation494
      • 5.3.2 Passive DNS de VirusTotal494
      • 5.3.3 RiskIQ496
      • 5.4 Dépôts de malwares499
      • 5.4.1 Présentation499
      • 5.4.2 VirusTotal499
      • 5.4.3 MalwareBazaar501
      • 5.5 Sources multi-indicateurs507
      • 5.5.1 Présentation507
      • 5.5.2 OTX AlienVault507
      • 5.5.3 RiskIQ511
      • 6. Plateformes de Threat Intelligence515
      • 6.1 Introduction515
      • 6.2 MISP515
      • 6.2.1 Généralités515
      • 6.2.2 Fonctionnalités516
      • 6.3 Yeti522
      • 6.3.1 Présentation522
      • 6.3.2 Fonctionnalités522
      • 7. Résumé528
      • Index529

  • Origine de la notice:
    • Electre
  • Disponible - 681.40 RAS

    Niveau 3 - Informatique