Machine learning methods are widely used in Android malware detection, but carefully scrambled adversarial samples can effectively evade detection. Adversarial defence methods such as retraining and ensemble learning have high training costs and significant errors. This paper proposes a novel Android malware detection system, KFFPDet, to detect adversarial samples. It can detect adversarial samples efficiently. Firstly, this paper uses K-Nearest Neighbor (KNN) as the primary detection algorithm. In addition, this paper proposes a three-stage adversarial sample detection method, which saves the detection cost and reduces the error through prior knowledge. In the first stage, the frequency difference between benign typical features and malicious typical features is used to filter adversarial samples. In the second stage, the feature continuous values of benign typical features are used for adversarial sample filtering. The third stage filters adversarial samples by detecting isolation permissions and application programming interface (API). Experiments on various benchmark datasets verify the detection effect of KFFPDet. KFFPDet achieves 96% accuracy of adversarial sample detection on the VirusShare dataset. Compared with other advanced methods, KFFPDet ’s adversarial sample detection accuracy is improved by 4.43% to 94.53%. The experimental results show that the proposed three-stage adversarial sample detection method is useful and will help design a more effective adversarial sample detection scheme.
Read full abstract