« Détection de logiciels malveillants renforcée par apprentissage automatique » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
Kevrgn (discuter | contributions)
Kevrgn (discuter | contributions)
Ligne 231 : Ligne 231 :
*{{Cite article|lang=en|nom1= Grosse|prenom1= Kathrin|nom2= Papernot|prenom2= Nicolas|nom3= Manoharan|prenom3= Praveen|nom4= Backes|prenom4= Michael|nom5= McDaniel|prenom5= Patrick|titre= Adversarial Examples for Malware Detection|périodique= European Symposium on Research in Computer Security|année= 2017|pages= 62-79|id=Grosse2017}}
*{{Cite article|lang=en|nom1= Grosse|prenom1= Kathrin|nom2= Papernot|prenom2= Nicolas|nom3= Manoharan|prenom3= Praveen|nom4= Backes|prenom4= Michael|nom5= McDaniel|prenom5= Patrick|titre= Adversarial Examples for Malware Detection|périodique= European Symposium on Research in Computer Security|année= 2017|pages= 62-79|id=Grosse2017}}


*{{Cite article|lang=en|nom1= Suciu|prenom1= Octavian|nom2= Cull|prenom2= Scott.E|nom3= Johns|prenom3= Jeffrey|titre= Exploring Adversarial Examplesin Malware Detection|périodique= ?|année= 2018|pages= 1-7|id=Suciu2018 | url=https://arxiv.org/pdf/1810.08280.pdf}}
*{{Cite article|lang=en|nom1= Suciu|prenom1= Octavian|nom2= Cull|prenom2= Scott.E|nom3= Johns|prenom3= Jeffrey|titre= Exploring Adversarial Examples in Malware Detection|périodique= ?|année= 2018|pages= 1-7|id=Suciu2018 | url=https://arxiv.org/pdf/1810.08280.pdf}}

*{{Cite article|lang=en|nom1= Neugschwandtner|prenom1= Matthias |nom2= Platzer|prenom2= Christian |nom3= Comparetti |prenom3= Paolo Milani|titre= d Anubis – Dynamic Device Driver Analysis Based on Virtual Machine Introspection|périodique= Proceedings of the 7th international conference on Detection of intrusions and malware, and vulnerability assessment|année= 2010|pages= 41-60|id=Neug10|doi=10.1007/978-3-642-14215-4_3}}

*{{Cite article|lang=en|nom1= Vasudevan|prenom1= Amit|titre= MalTRAK: Tracking and Eliminating Unknown Malware|périodique=Annual Computer Security Applications Conference|année= 2008|pages= 41-60|id=Vasudevan08}}

*{{Cite article|lang=en|nom1= Polino|prenom1= Mario|nom2= Continella|prenom2= Andrea |nom3= Mariano|prenom3= Sebastiano|nom4= d'Alessio|prenom4= Stefano|nom5= Fontana|prenom5= Lorenzo |nom6= Gritti|prenom6= Fabio |nom7= Zanero|prenom2= Stefano |titre= Measuring and Defeating Anti-Instrumentation-Equipped Malware|périodique=Detection of Intrusions and Malware, and Vulnerability Assessment|année= 2017|pages= 73-96|id=Polino17}}

*{{Cite article|lang=en|nom1= Rhee|prenom1= Junghwan|nom2= Riley|prenom2= Ryan|nom3= Xu|prenom3= Dongyan|nom4= Jiang|prenom4= Xuxian |titre= Kernel Malware Analysis with Un-tampered and Temporal Views of Dynamic Kernel Memory|périodique=International Workshop on Recent Advances in Intrusion Detection|année= 2010|pages= 178-197|id=Rhee10}}

*{{Cite article|lang=en|nom1= Rhee|prenom1= Junghwan|nom2= Riley|prenom2= Ryan|nom3= Xu|prenom3= Dongyan|nom4= Jiang|prenom4= Xuxian |titre= Kernel Malware Analysis with Un-tampered and Temporal Views of Dynamic Kernel Memory|périodique=International Workshop on Recent Advances in Intrusion Detection|année= 2010|pages= 178-197|id=Rhee10}}

*{{Cite article|lang=en|nom1= Gorecki|prenom1= Christian|nom2= Freiling|prenom2= Felix C.|nom3= Kührer|prenom3= Marc|nom4= Holz|prenom4= Throsten|titre= TrumanBox: Improving Dynamic Malware Analysis by Emulating the Internet|périodique=Symposium on Self-Stabilizing Systems:Stabilization, Safety, and Security of Distributed Systems|année= 2011|pages= 208-222|id=Gorecki11}}


=== À GENERER EN FR ===
=== À GENERER EN FR ===

Version du 10 janvier 2021 à 20:19

Enjeux

According to AV-Test in March 2017, the total number of malwares is rising exponentially since 2008 and has reached more than 583 million.[1]

Our work indicates that Deep Learning based architectures such as Auto-Encoders (for Feature Extraction) and Deep Neural Net-works (for malware classification) may provide a very effective system for defense against many types of malware[2] Signature methods cannot cope with code obfuscation, previously unseen malware or large amounts of new malware [4]. Two approaches exist that can deal with unknown malware that the classic signature method cannot handle, namely, anomaly detectors and machine-learning-based detectors[3]

The term malicious code (malcode) commonly refers to pieces of code, not necessarily executable files, which are intended to harm, generally or in particular, the specific owner of the host. Malcodes are classified, mainly based on their transport mechanism, into five main categories: worms, viruses, Trojans and new group that is becoming more common, which is comprised of remote access Trojans and backdoors. [4]

some studies showed that unknown malware detection can be improved using machine-learning algorithms that provide prediction, generalization, and classification capabilities. [5]

Diversité des plateformes -> malware peuvent se présenter sous plein de formes (binaire exécutable, script (bash, powershell etc..), shellcode, firmware..

Peut provoquer des dégâts proportionnels à son niveau de privilèges.

Approches et méthodes d'analyse

Two approaches exist that can deal with unknown malware that the classic signature method cannot handle, namely, anomaly detectors and machine-learning-based detectors.[3]

Therefore, generalizing the detection methods to be able to detect unknown malcodes is crucial. Recently, classification algorithms were employed to automate and extend the idea of heuristic-based methods. [4]

In these methods, the process of detection is usually divided into two stages: feature extraction and classification/clustering. The performance of such intelligent malware detection approaches critically depend on the extracted features and the methods for classification/clustering. [6]

Extraction de caractéristiques

Analyse statiques

Static analysis is based on the extraction of information that provides hints about the code’s behavior; [5]

Application de modèles de "data-mining" pour détection de malware basé sur code binaire. three different feature extraction approaches, namely, program headers, string features and byte sequence features.[7]

Travail complété par cette étude[8] qui met à l'épreuve plusieurs algotithmes et conclut sur un résultat optimal avec un "Boosted Decision Tree" (voir boosting[9]). Appliquent des "n-gram" (= overlapping byte sequences) plutôt que des "non-overlapping sequences".

D'autres études se sont intéressées à la distribution "N-gramme" d'octets et à l'exploration de données

Conversion binaire -> image pour de la reconnaissance d'image

Naeem et al. proposed a static analysis technique to detect IoT malware(Naeem et al., 2018). The proposed technique converts a malware file to a grayscale image and ex-tracts a set of visual features from the malware im-age to train an SVM classifier that could distinguish between malware families using visual features Su et al.proposed a similar technique to classify IoT malware into malware families using visual features and image recognition (Su et al., 2018)[10]

Analyse du code binaire

Tout fichier de taille octets peut être représenté par un sous-ensemble de mots de taille (avec ) appelé "N-gramme". Par exemple, la séquence 0xCAFE peut est représentée par trois 2-gramme (respectivement 0xCA, 0xAF, 0xFE) ou encore deux 3-gramme (respectivement 0xCAF et 0xAFE).

En s'appuyant sur des méthodes d'exploration de données[4] [11] [12] [13], il est possible de s'intéresser à la distribution "N-gramme" d'octets au sein d'un fichier pour en faire ressortir des mots typiquement associées à du code malveillant. Cette méthode a la particularité de ne faire aucune interprétation fonctionelle des données qu'elle analyse.

Un processus d'analyse naïf d'analyse pourrait prendre la forme de :

  1. Extraction de termes n-gramme
  2. Normalisation de la fréquence d'appartion ()
  3. Classification (Artificial Neural Networks, Decision Trees, Naïve Bayes, Support Vector Machines[14])

[14]

As we will describe in more detail shortly, the binary code of a file is represented by n-grams and classifiers are applied to learn patterns in the code and classify large amounts of data. A classifier is a rule set which is learnt from a given training-set, including examples of classes, both malicious and benign files in our case.

Analyse des codes d'opération (Opcodes)

Recent research intos strategies for detecting obfuscated malware have used dynamic analyses to allow the true code to be revealed at runtime. Specifically, dynamic opcode analysis investigates the assembly language instructions passed to the CPU at runtime (opcodes).

With such a low level focus, this approach allows the direct investigation of malware behaviour, including any attempts at anti-analysis techniques.

Machine learning has been applied to the runtraces yielded by these analyses, with the aim of building a predictive model which is immune to obfuscation and capable of detecting unseen malware.[15]

Analyse Dynamique

L'analyse dynamique désigne le processus d'observation comportementale d'un programme en provoquant volontairement son exécution au sein d'un environnement surveillé, isolé du reste du système (type « bac à sable »). Permettant une étude plus fine que celle proposée par l'analyse statique, cette méthode présente cependant un risque plus important pour le système hôte dans la mesure où elle implique l'exécution de code étranger sur du matériel (physique ou virtuel) sensible. Une faiblesse de conception dans les outils d'analyse pourrait introduire, pour un programme qui en aurrait conaissance, la capacité de réaliser une évasion et de compromettre la plateforme en élevant son niveau de privilèges.

dynamic analysis is based on the idea that you can execute the code and actually trace what it does and how it affects the hosting system. [5]

While various techniques (e.g., code obfuscation, dynamic code loading, encryption, and packing) can be used by malware writers to evade static analysis (including signature-based antivirus tools), dynamic analysis is robust to these techniques and can provide greater understanding regarding the analyzed file and consequently can lead to better detection capabilities. [5]

Dynamic analysis [1] refers to the process of analyzing a code or script by executing it and observing its actions. These actions can be observed at various levels, from the lowest level possible (the binary code itself) to the system as a whole (e.g., changes made to the registry or file system). The objective of dynamic analysis is to expose the malicious activity performed by the executable while it is running, without compromising the security of the analysis platform. From the defensive

Analyse des appels de fonction

Mécanismes natifs de l'OS pour monitorer les appels de fonction. Injection de code (ex: d'un DLL) pour inspecter de l'interrieur.

Analyse de la mémoire

Analyse forensique de la mémoire volatile lors de l'exécution du programme.

Analyse du réseau

Lim et al. (Lim et al., 2015) proposed a mal-ware detection technique by analyzing network traf-fic generated when the malware communicates witha malicious C&C server such as in the case of bot-net or ransomware. The proposed technique extractsa set of features from network flows to present a flowssequence. The authors used different sequence align-ment algorithms to classify malware traffic. They re-ported an accuracy above 60% when analyzing mal-ware traffic in a real network environment.[16]


Classification

Après normalisation des données issues de l'étape d'extraction de caractéristiques intervient le processus de classification, qui vise à construire une base de connaissance fiable qui permettra de déterminer, à l'aide d'algorithmes de classification renforcés par apprentissage statistique, si la resource concernée est bénine ou présente une menace réelle pour le système.

À l'image de la majorité des projets conditionnés par l'apprentissage automatique, ce travail se divise en deux étapes : la construction (ou "entrainement") du modèle de détection, puis l'application de ce modèle au monde réeel. Lors de la première étape, le système est alimenté par le corpus d'analyse constitué précédemment afin de "l'entrainer" et de construire un classifieur. La seconde étape consiste à confronter ce classifieur à des fichiers aléatoires afin de trancher entre menace et inoffensivité. [6]

Plus le modèle sera pertinent et le corpus d'analyse complet, plus la disctimination entre fichier malicieux et bénin sera fine.

Limites et contre mesures

Crédibilité des résultats

La qualité des résultats d'un détecteur de programme malveillant dépend de la complexité des fonctions de détections [17] et des fonctions de classifications utilisées dans le modèle de conception du réseau neuronal.[18]

L'environnement de détection est aussi sujet à une baisse de la précision des algorithmes de détection. En effet la mise en place de tels algorithmes et plus difficile dans un système de production[19] avec de nombreux processus s'exécutant parallèlement ou avec un trafic réseau chargé et générera potentiellement plus de résultats erronés que dans un environnement isolé.[20]

Les auteurs de programme malveillant utilisent aussi des techniques qui permettent d'échapper à la détection ou alors de modifier le comportement de leurs logiciels afin qu'il soit catégorisé comme sûr et dégradent ainsi les résultats du détecteur.

Difficulté de construction du modèle

Les logiciels malveillants sont plus nombreux, proviennent d'une multitude de sources, exploitent un grand nombre de failles toutes différentes les unes des autres. Par conséquent, collecter des informations sur leurs comportements et anticiper les menaces possibles sont des tâches complexes qui requièrent un temps considérable.[20]

Du fait de l'homogénéité des comportements des différents logiciels et de leurs capacité à changer ces comportements, les algorithmes de détections sont rapidement obsolètes [19] et ont besoin d'être régulièrement entraînés/ré-entraînés, ce qui augmente significativement les coûts énergétiques des systèmes qui élaborent et utilisent les d'algorithmes de détections de logiciels malveillants [15].

Les techniques d'évasions sont plus nombreuses et plus sophistiquées ce qui augmente la difficulté de conception des modèles et des algorithmes de détection. [21]

Généralement, les analystes utilisent des détecteurs dit en "boîte blanche" afin de maîtriser le comportement des détecteurs et de pouvoir affiner les résultats sur des cas spécifiques, ce qui nécessite de concevoir le détecteur.

La conception d'un détecteur de logiciel malveillant utilisant l'apprentissage automatique requièrent cependant des compétences techniques poussées et les solutions déjà présentes sont généralement des détecteurs en dit en "boîte noire" où on ne contrôle pas le comportement du détecteur mais on lui fournit simplement des entrées et il produit un résultat, sans avoir connaissance des états intermédiaires. Il est souvent difficile d'interpréter les résultats fournis par ce type de détecteurs. [22]

Furtivité et méthodes d'évasion

Analyse de l'environnement d'exécution

Les logiciels malveillants sont capables d'analyser leurs environnements de détections afin de déterminer si ils sont dans un véritable système ou dans un bac à sable surveillé.

Afin de déterminer si les logiciels malveillants s’exécutent dans un environnement surveillé, ils analysent l'environnement à la recherche d'empreintes tel que la présence de logiciel d'analyse (débuggeur), la liste des processus qui cohabitent avec le logiciel malveillant. [23],[24]

Lorsqu'ils détectent qu'ils sont dans un bac à sable surveillé, il est possible pour les logiciels de changer de comportement et de ne pas tenter d'actions (exemple : ne pas s’exécuter) afin que le détecteur les catégorisent comme logiciels sûrs. [23]

Les logiciels malveillants peuvent aussi mesurer le temps de chaque instruction qu'ils exécutent dans l'environnement afin de déterminer si la durée est plus longue que dans un système classique et en déduire qu'ils sont surveillés. [23]

Les logiciels malveillants peuvent mettre en place un test de Turing inversé, afin d'analyser l'environnement à la recherche de traces d'un utilisateur pour déterminer si ils sont dans un environnement surveillé ou dans un véritable système.

Un bac à sable est généralement un système récemment instancié, de manière automatique, sans action humaine courante (visite de sites internet, déplacement de curseur, entrées au clavier, présence de moniteur etc). [23],[25] Si le logiciel ne trouve pas ces actions, il peut en déduire qu'il se trouve dans un environnement surveillé.

Méthodes d'évasion

Les techniques d'évasions sont plus nombreuses et plus sophistiquées[21] ce qui augmente la difficulté de conception des modèles et des algorithmes de détection ou des antivirus, de plus même après leurs développement, ils deviennent très rapidement obsolètes.[19],[26]

Évasion par escalade de privilège

Un logiciel malveillant peut s'évader d'un environnement surveillé, avec des privilèges restreint, en tentant d'infecter le système dans lequel il s’exécute pour obtenir des privilèges de plus haut niveau et ainsi pouvoir effectuer ses actions malveillantes en laissant le moins d'informations possible au système de surveillance. [27]

Les logiciels malveillants peuvent infecter le système en utilisant diverses techniques : Installation d'un pilote de kernel infecté, hyperviseur corrompu, utilisation de failles matériel du système... [27]

Évasion par offuscation de code

Un logiciel malveillant peut cacher les éventuelles empreintes qu'il laisse lors de son exécution pour tromper le système de détection en utilisant l'offuscation de code.

Il existe plusieurs techniques d'offuscation de code telles que le polymorphisme, le métamorphisme.[6],[28]

Le polymorphisme est une technique qui permet de chiffrer le code binaire du logiciel malveillant afin que ce code ne puisse être interpréter qu'en possession de la clé de déchiffrement.[28]

Le métamorphisme est une technique qui permet de modifier les instructions du logiciel malveillant tels que l'insertion de code d'opérations ou le changement de registre[28], mais sans changer la finalité des instructions. Cela a pour but de masquer les empreintes du logiciel et que de différentes copies de ce même logiciel paraissent différentes, pour le système de surveillance, lors de son exécution.

Evasion par absence de fichier

La plupart des antivirus classique effectuent une analyse des fichiers présents sur le disque dur du système à la recherche de logiciels malveillants. Une approche possible pour ces logiciels pour masquer leurs présence est de ne stocker aucun fichier sur le disque mais plutôt dans la mémoire vive. Le point faible de cette technique est la fréquence de redémarrage du système c'est pourquoi elle est plus efficace sur les serveurs que sur les ordinateurs personnels. [28]

Cette technique est majoritairement utilisée par les virus de type "Cryptojacking".[29]

Avec la démocratisation du Big Data et l'utilisation massive des outils de grilles en mémoire tel que Apache Spark ou Redis, ce genre d'attaque est particulièrement redoutable car le programme malveillant est présent dans la mémoire du système et son redémarrage est synonyme de perte d'informations.[21],[28]

Evasion par le réseau

Généralement les pare-feu bloquent le trafic entrant sur un serveur et laisse le trafic sortant pour communiquer avec les autres machines sur Internet. Si un programme malveillant réussit à infecter le système, il peut aisément communiquer avec l'extérieur pour recevoir des instructions grâce aux tunnels ou communiquer de manière chiffrer afin de ne pas laisser d'empreintes. [30]

Généralement, les logiciels malveillants tel que les botnets ont recourt à la technique d'évasion par le réseau.

Dans d'autres mesures, les différentes librairies et méthodes utilisées pour faciliter la mise en place de l'apprentissage automatique permettent aux auteurs de programmes malveillants de découvrir et d'utiliser de nouvelles techniques d'évasion. [21]

D'autres techniques, plus générales dans le monde de l'apprentissage automatiques, existent et sont utilisées pour diminuer la précision des détecteurs, c'est le cas notamment du adversarial machine learning (en). [22],[17],[31]

Projets et outils notoires

[5]

- dAnubis (dAnubis – Dynamic Device Driver Analysis Based on Virtual Machine Introspection)

- MalTRAK (MalTRAK: Tracking and eliminating unknown malware 2008)

- Arancino (Measuring and defeating anti-instrumentation-equipped malware.)

- LiveDM (Kernel malware analysis with un-tampered and temporal views ofdynamic kernel memory)

- TrumanBox(Truman box: Improving dynamic malware analysis by emulating the internet)

Références

  1. Sethi 2018, p. 1
  2. Sewak 2018, p. 1
  3. a et b Santos 2011, p. 220–227
  4. a b et c Moskovitch 2008, p. 158
  5. a b c d et e Or-Meir 2019, p. 88
  6. a b et c Ye 2017, p. 41
  7. Schultz 2001, p. 38-49
  8. Kolter 2004, p. 470-478
  9. Mayr 2014, p. 419-427
  10. Saad 2019, p. 2
  11. Shafiq 2008, p. 88-107
  12. Zhou 2008, p. 53-60
  13. Santos 2009, p. 317-320
  14. a et b Moskovitch 2008, p. 158
  15. a et b Carlin 2019, p. 1138–155
  16. Saad 2019, p. 2
  17. a et b Grosse 2017, p. 1
  18. Sewak 2018, p. 9
  19. a b et c Saad 2019, p. 5
  20. a et b Saad 2019, p. 1
  21. a b c et d Saad 2019, p. 4
  22. a et b Saad 2019, p. 6
  23. a b c et d Or-Meir 2019, p. 102
  24. Afianian 2019, p. 4
  25. Afianian 2019, p. 17
  26. Afianian 2019, p. 3
  27. a et b Or-Meir 2019, p. 101
  28. a b c d et e Or-Meir 2019, p. 104
  29. Handaya 2020, p. 2
  30. Or-Meir 2019, p. 105
  31. Suciu 2018, p. 1

Bibliographie

  • Document utilisé pour la rédaction de l’article (en) Sethi, Chaudhary, Tripathy et Bera, « A Novel Malware Analysis Framework for Malware Detection and Classification using Machine Learning Approach », Proceedings of the 19th International Conference on Distributed Computing and Networking,‎ , p. 1–4 (DOI 10.1145/3154273.3154326)
  • Document utilisé pour la rédaction de l’article (en) Sewak, Sahay et Rathore, « An investigation of a deep learning based malware detection system », Proceedings of the 13th International Conference on Availability, Reliability and Security,‎ , p. 1–5 (DOI 10.1145/3230833.3230835)
  • (en) Santos, Brezo, Sanz, Laorden et Bringas, « Using opcode sequences in single-class learning to detect unknown malware », IET Information Security, vol. 5,‎ , p. 220–227 (ISSN 1751-8717, DOI 10.1049/iet-ifs.2010.0180)
  • (en) Moskovitch, Stopel, Feher, Nissim et Elovici, « Unknown malcode detection via text categorization and the imbalance problem », 2008 IEEE International Conference on Intelligence and Security Informatics,‎ , p. 156-161 (DOI 10.1109/ISI.2008.4565046)
  • Document utilisé pour la rédaction de l’article (en) Or-Meir, Nissim, Elovici et Rokach, « Dynamic Malware Analysis in the Modern Era-A State of the Art Survey », ACM Computing Surveys, vol. 52,‎ , p. 88:1-88:48 (ISSN 0360-0300, DOI 10.1145/3329786)
  • (en) Ye, Li, Adjeroh et Iyengar, « A Survey on Malware Detection Using Data Mining Techniques », ACM Computing Surveys, vol. 50,‎ , p. 41:1-41:40 (ISSN 0360-0300, DOI 10.1145/3073559)
  • (en) Schultz, Eskin, Zadok et Stolfo, « Data mining methods for detection of new malicious executables », Proceedings 2001 IEEE Symposium on Security and Privacy. S P 2001,‎ , p. 38-49 (DOI 10.1109/SECPRI.2001.924286)
  • (en) Kolter et Maloof, « Learning to detect malicious executables in the wild », Proceedings of the tenth ACM SIGKDD international conference on Knowledge discovery and data mining,‎ , p. 470-478 (DOI 10.1145/1014052.1014105, lire en ligne)
  • (en) Mayr, Binder, Gefeller et Schmid, « The Evolution of Boosting Algorithms - From Machine Learning to Statistical Modelling », Methods of Information in Medicine, vol. 53,‎ , p. 419-427 (DOI 10.3414/ME13-01-0122, lire en ligne)
  • Document utilisé pour la rédaction de l’article (en) Saad, Briguglio et Elmiligi, « The Curious Case of Machine Learning In Malware Detection », 5th International Conference on Information Systems Security and Privacy,‎ , p. 1-9
  • (en) Shafiq, Khayam et Farooq, « Embedded Malware Detection Using Markov N-Grams », Proceedings of the 5th International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment,‎ , p. 88-107 (DOI 10.1007/978-3-540-70542-0_5)
  • (en) Zhou et Inge, « Malware detection using adaptive data compression », Proceedings of the 1st ACM workshop on Workshop on AISec,‎ , p. 53-60 (DOI 10.1145/1456377.1456393, lire en ligne)
  • (en) Carlin, O’Kane et Sezer, « A cost analysis of machine learning using dynamic runtime opcodes for malware detection », Computers & Security, vol. 85,‎ , p. 138–155 (ISSN 0167-4048, DOI 10.1016/j.cose.2019.04.018)
  • (en) Afianian, Niksefat, Sadeghiyan et Baptiste, « Malware Dynamic Analysis Evasion Techniques: A Survey », ACM Computing Surveys, vol. 52,‎ , p. 1-28 (ISSN 0360-0300, DOI 10.1145/3365001)
  • (en) Handaya, Yusoff et Jantan, « Machine learning approach for detection of fileless cryptocurrency mining malware », Journal of Physics: Conference Series, vol. 1450,‎ , p. 1-8 (DOI 0.1088/1742-6596/1450/1/012075)
  • (en) Grosse, Papernot, Manoharan, Backes et McDaniel, « Adversarial Examples for Malware Detection », European Symposium on Research in Computer Security,‎ , p. 62-79
  • (en) Suciu, Cull et Johns, « Exploring Adversarial Examples in Malware Detection », ?,‎ , p. 1-7 (lire en ligne)
  • (en) Neugschwandtner, Platzer et Comparetti, « d Anubis – Dynamic Device Driver Analysis Based on Virtual Machine Introspection », Proceedings of the 7th international conference on Detection of intrusions and malware, and vulnerability assessment,‎ , p. 41-60 (DOI 10.1007/978-3-642-14215-4_3)
  • (en) Vasudevan, « MalTRAK: Tracking and Eliminating Unknown Malware », Annual Computer Security Applications Conference,‎ , p. 41-60
  • (en) Polino, Continella, Mariano, d'Alessio, Fontana, Gritti et Zanero, « Measuring and Defeating Anti-Instrumentation-Equipped Malware », Detection of Intrusions and Malware, and Vulnerability Assessment,‎ , p. 73-96
  • (en) Rhee, Riley, Xu et Jiang, « Kernel Malware Analysis with Un-tampered and Temporal Views of Dynamic Kernel Memory », International Workshop on Recent Advances in Intrusion Detection,‎ , p. 178-197
  • (en) Rhee, Riley, Xu et Jiang, « Kernel Malware Analysis with Un-tampered and Temporal Views of Dynamic Kernel Memory », International Workshop on Recent Advances in Intrusion Detection,‎ , p. 178-197
  • (en) Gorecki, Freiling, Kührer et Holz, « TrumanBox: Improving Dynamic Malware Analysis by Emulating the Internet », Symposium on Self-Stabilizing Systems:Stabilization, Safety, and Security of Distributed Systems,‎ , p. 208-222

À GENERER EN FR

  • Igor Santos, Yoseba Penya, Jaime Devesa et Pablo Bringas « N-grams-based File Signatures for Malware Detection. » ()

Analyse

Réseau

Opcodes

  • (en) Carlin, Cowan, O’Kane et Sezer, « The Effects of Traditional Anti-Virus Labels on Malware Detection Using Dynamic Runtime Opcodes », IEEE Access, vol. 5,‎ , p. 17742–17752 (ISSN 2169-3536, DOI 10.1109/ACCESS.2017.2749538)
  • (en) Carlin, O'Kane et Sezer, « Dynamic Runtime Opcode Dataset Generation for Improving Malware Classification », 19th International Symposium on Research in Attacks, Intrusions and Defenses,‎

Mémoire

  • (en) Xu, Ray, Subramanyan et Malik, « Malware detection using machine learning based analysis of virtual memory access patterns », Design, Automation Test in Europe Conference Exhibition (DATE), 2017,‎ , p. 169–174 (DOI 10.23919/DATE.2017.7926977)

Limites

Furtivité et évasion

  • (en) Hyrum S Anderson, Anant Kharkar et Bobby Filar, « Evading Machine Learning Malware Detection », ?,‎ , p. 1-6 (lire en ligne)


Projets existant

  • (en) Karbab et Debbabi, « MalDy: Portable, data-driven malware detection using natural language processing and machine learning techniques on behavioral analysis reports », Digital Investigation, vol. 28,‎ , p. 77-87 (ISSN 1742-2876, DOI 10.1016/j.diin.2019.01.017)
  • (en) Ye, Chen, Hou, Hardy et Li, « DeepAM: a heterogeneous deep learning framework for intelligent malware detection », Knowledge and Information Systems, vol. 54,‎ , p. 265–285 (ISSN 0219-3116, DOI 10.1007/s10115-017-1058-9)

Sources à trier

  • (en) Scofield, Miles et Kuhn, « Automated Model Learning for Accurate Detection of Malicious Digital Documents », Digital Threats: Research and Practice, vol. 1,‎ , p. 15–1–15:21 (ISSN 2692-1626, DOI 10.1145/3379505)
  • (en) Rieck, Trinius, Willems et Holz, « Automatic analysis of malware behavior using machine learning », Journal of Computer Security, vol. 19,‎ , p. 639–668 (ISSN 0926-227X, DOI 10.3233/JCS-2010-0410)