返回
Detecting Cryptography Misuses With Machine Learning: Graph Embeddings, Transfer Learning and Data Augmentation in Source Code Related Tasks
DOI:10.1109/TR.2023.3237849.png)
摘要
En 中文
Cryptography is a ubiquitous tool in secure software development in order to guarantee security requirements in general. However, software developers have scarce knowledge about cryptography and rely on limited support tools that cannot properly detect bad uses of cryptography, thus generating vulnerabilities in software. In this work, we extend the scarcely use of machine learning to detect cryptography misuse in source code by using a state of the art deep learning model (i.e., code2vec) through transfer learning to generate features that feed machine learning models. In addition, we compare this approach to previous ones in different types of binary models. Also, we adapt code obfuscation to serve as data augmentation in machine learning source code related tasks. Finally, we show that through transfer learning code2vec can be a competitive feature generator for cryptography misuse detection and simple code obfuscation can be used to generate data to enhance machine learning models training in source code related tasks.
Keyword:
Code obfuscation
cryptography misuse
data augmentation
machine learning
misuse detection
transfer learning
期刊
IF:
5.7
论文数:
2.7K
被引数:
8.5K
机构
引用论文
Automatically identifying code features for software defect prediction: Using AST N-grams用于软件缺陷预测的自动识别代码特征: 使用AST n-gram
Evaluation of Static Vulnerability Detection Tools With Java Cryptographic API Benchmarks使用Java加密API基准评估静态漏洞检测工具
Leveraging ontologies and machine-learning techniques for malware analysis into Android permissions ecosystems
COMPUTERS & SECURITY
IF5.4

