CNN Mobile Net 기반 악성코드 탐지 모델에서의 학습 데이터 크기와 검출 정확도의 상관관계 분석 Correlation Analysis of Dataset Size and Accuracy of the CNN-based Malware Detection Algorithm원문보기
현재 4차 산업혁명을 맞이하여 머신러닝과 인공지능 기술이 급속도로 발전하고 있으며 보안 분야에서도 머신러닝 기술을 응용하려는 움직임이 있다. 많은 악성코드가 생성됨에 따라 사람의 힘으로는 모든 악성코드를 탐지하기 어려워지고 있기 때문이다. 이에 따라 학계와 산업계에서는 머신러닝을 통해 악성코드나 네트워크 침입 이벤트를 탐지하는 것에 관한 연구가 활발히 진행되고 있으며 국제 학회와 저널에서는 머신러닝의 한 분야인 딥러닝을 이용한 보안데이터 분석 연구가 논문 발표되고 있다. 그러나 해당 논문들은 검출 정확도에 초점이 맞추어져 있고 검출 정확도를 높이기 위해 여러 파라미터들을 수정하지만 Dataset의 개수를 고려하지 않고 있다. 따라서 본 논문에서는 CNN Mobile net 기반 악성코드 탐지 모델에서 가장 높은 검출 정확도를 도출할 수 있는 Dataset의 개수을 찾아내어 많은 머신러닝 연구 진행에 비용과 리소스를 줄이고자 한다.
현재 4차 산업혁명을 맞이하여 머신러닝과 인공지능 기술이 급속도로 발전하고 있으며 보안 분야에서도 머신러닝 기술을 응용하려는 움직임이 있다. 많은 악성코드가 생성됨에 따라 사람의 힘으로는 모든 악성코드를 탐지하기 어려워지고 있기 때문이다. 이에 따라 학계와 산업계에서는 머신러닝을 통해 악성코드나 네트워크 침입 이벤트를 탐지하는 것에 관한 연구가 활발히 진행되고 있으며 국제 학회와 저널에서는 머신러닝의 한 분야인 딥러닝을 이용한 보안데이터 분석 연구가 논문 발표되고 있다. 그러나 해당 논문들은 검출 정확도에 초점이 맞추어져 있고 검출 정확도를 높이기 위해 여러 파라미터들을 수정하지만 Dataset의 개수를 고려하지 않고 있다. 따라서 본 논문에서는 CNN Mobile net 기반 악성코드 탐지 모델에서 가장 높은 검출 정확도를 도출할 수 있는 Dataset의 개수을 찾아내어 많은 머신러닝 연구 진행에 비용과 리소스를 줄이고자 한다.
At the present stage of the fourth industrial revolution, machine learning and artificial intelligence technologies are rapidly developing, and there is a movement to apply machine learning technology in the security field. Malicious code, including new and transformed, generates an average of 390,0...
At the present stage of the fourth industrial revolution, machine learning and artificial intelligence technologies are rapidly developing, and there is a movement to apply machine learning technology in the security field. Malicious code, including new and transformed, generates an average of 390,000 a day worldwide. Statistics show that security companies ignore or miss 31 percent of alarms. As many malicious codes are generated, it is becoming difficult for humans to detect all malicious codes. As a result, research on the detection of malware and network intrusion events through machine learning is being actively conducted in academia and industry. In international conferences and journals, research on security data analysis using deep learning, a field of machine learning, is presented. have. However, these papers focus on detection accuracy and modify several parameters to improve detection accuracy but do not consider the ratio of dataset. Therefore, this paper aims to reduce the cost and resources of many machine learning research by finding the ratio of dataset that can derive the highest detection accuracy in CNN Mobile net-based malware detection model.
At the present stage of the fourth industrial revolution, machine learning and artificial intelligence technologies are rapidly developing, and there is a movement to apply machine learning technology in the security field. Malicious code, including new and transformed, generates an average of 390,000 a day worldwide. Statistics show that security companies ignore or miss 31 percent of alarms. As many malicious codes are generated, it is becoming difficult for humans to detect all malicious codes. As a result, research on the detection of malware and network intrusion events through machine learning is being actively conducted in academia and industry. In international conferences and journals, research on security data analysis using deep learning, a field of machine learning, is presented. have. However, these papers focus on detection accuracy and modify several parameters to improve detection accuracy but do not consider the ratio of dataset. Therefore, this paper aims to reduce the cost and resources of many machine learning research by finding the ratio of dataset that can derive the highest detection accuracy in CNN Mobile net-based malware detection model.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
가설 설정
따라서 Case 50의 경우 정상 파일 50개, 악성 파일 50개를 의미한다. Case 0은 아무런 학습을 시키지 않았을 때 50%의 확률을 가진다고 가정하였다.
제안 방법
xml 파일을 분석하여 모든 Requested Permission을 추출하였으며 해당 Requested Permission을 Gray Scale의 이미지 파일로 변환하여 학습 데이터로 사용하였다. 그 후 여러 CNN 모델(LeNet, GoogleNet)을 대상으로 정확도 측정을 진행하여 어떤 모델이 가장 높은 정확도를 가지는지 알아내고자 하였으며, Batch Size, Iteration 등의 파라미터 값을 수정해 최적화된 검출 정확도를 찾는 연구를 진행하였다. 또한, CPU vs GPU 실행 시간과 APK File Processing Overhead 등을 측정하여 최적 리소스를 찾는 연구도 진행하였으나 학습데이터 개수에 따른 검출 정확도에 관한 연구는 진행되지 않았다[14].
따라서 본 논문에서는 Dataset 의 개수가 검출 정확도에 미치는 영향을 알아보고자 학습 Dataset의 개수를 변경시켜 가며 연구를 진행하였다. 해당 연구를 통해 CNN(Convolution Neural Network) Mobile Net 기반 Malware Detection 모델을 생성할 때 높은 정확도를 가지는 Dataset 의 개수를 확인할 수 있고, 이는 추후 비슷한 연구 진행에 있어 비용과 리소스를 절약할 수 있을 것으로 생각된다[5].
본 논문에서는 CNN 알고리즘으로 Malware를 검출하므로 학습 데이터를 이미지화하였다. 이미지 파일은 한 픽셀에 한 바이트의 데이터가 들어가기 때문에 학습 데이터 파일을 이미지화하기 위해 파일을 한 바이트씩 끊어서 읽은 후 픽셀에 하나씩 대입하여 Gray Scale의 이미지 파일을 만들었고 bmp의 확장자로 이미지 파일을 저장하였다.
대상 데이터
본 논문에서는 CNN 알고리즘 중 Mobile Net을 사용하는 Teachable Machine을 대상으로 Dataset의 개수와 정확도 간의 상관관계를 분석하였다. 해당 결과를 통해 도출된 음의 2차 함수 그래프는
본 논문에서는 이미지의 통일성을 위해 크기를 512*512픽셀로 고정하였으며 이미지화된 학습 데이터 파일은 다음 (그림 6), (그림 7)과 같다.
본 연구를 진행하기 위해 KISA에서 제공하는 악성코드를 사용하였으며 해당 악성코드 파일은 종 분류(Worm, Trojan Horse, Back Door, Rootkit, Ransomware 등)가 되지 않은 1만 개의 파일이다.
Ganesh et al에서는 Android Malware Detection, Classification을 하기 위해 Application에서 설정할 수 있는 138개의 권한을 분석하고 4가지로 분류하였다[14]. 지정된 Application의 안드로이드 APK파일을 Disassembling하고 AndroidManifest.xml 파일을 분석하여 모든 Requested Permission을 추출하였으며 해당 Requested Permission을 Gray Scale의 이미지 파일로 변환하여 학습 데이터로 사용하였다. 그 후 여러 CNN 모델(LeNet, GoogleNet)을 대상으로 정확도 측정을 진행하여 어떤 모델이 가장 높은 정확도를 가지는지 알아내고자 하였으며, Batch Size, Iteration 등의 파라미터 값을 수정해 최적화된 검출 정확도를 찾는 연구를 진행하였다.
데이터처리
값이 나왔으며 최곳값을 도출한 결과 1627개 일 때 가장 높은 정확도를 가질 수 있음을 확인하였다. 더욱 정확한 테스트를 진행하기 위해 같은 조건으로 총 10번 실험을 진행하여 나온 정확도를 평균을 내었다. 그 후 다시 평균값을 기반으로 그래프를 도출한 결과 다음과 같은 그래프가 도출되었다.
이론/모형
본 논문에서는 Dataset 의 개수와 검출 정확도의 상관관계를 파악하고자 하였으므로 머신러닝을 학습시킬 때 변경가능한 파라미터(Epoch, Batch size 등)는 모두 고정하였고, Dateset의 개수만 변동을 주어 머신러닝 모델을 생성하였다. 모델을 생성하는 방법은 구글에서 머신러닝 모델을 만들 수 있도록 제공하는 CNN Mobile Net base의 Teachable Machine 웹 기반 서비스를 이용하였다[15].
성능/효과
값이 나왔으며 최곳값을 도출한 결과 1627개 일 때 가장 높은 정확도를 가질 수 있음을 확인하였다. 더욱 정확한 테스트를 진행하기 위해 같은 조건으로 총 10번 실험을 진행하여 나온 정확도를 평균을 내었다.
실험결과 Dataset 의 개수와 정확도가 양의 상관관계를 보이다가 그 후 점차 음의 상관관계를 나타내는 것을 확인하였다. 이는 CNN Mobile Net을 활용하여 Malware Detection 모델을 생성하였을 때 학습 데이터의 개수 증가가 검출 정확도와 비례하지 않음을 나타낸다.
후속연구
또한, 다른 알고리즘, 다른 이미지 파일을 대상으로 하는 연구가 진행되지 못하였으며 악성코드종 분류가 되지 않아 학습에 어려움이 있었다. 따라서 추후에는 여러 알고리즘과, 다양한 이미지 파일, 전 처리된 파일들을 대상으로 최적의 데이터 사이즈를 도출하는 연구를 진행 할 예정이다. 또한 Dataset의 크기뿐만 아니라, Epoch, Batch Size Learning Rate 등을 수정하여 최적의 파라미터 값을 찾는 연구를 진행할 예정이다.
따라서 추후에는 여러 알고리즘과, 다양한 이미지 파일, 전 처리된 파일들을 대상으로 최적의 데이터 사이즈를 도출하는 연구를 진행 할 예정이다. 또한 Dataset의 크기뿐만 아니라, Epoch, Batch Size Learning Rate 등을 수정하여 최적의 파라미터 값을 찾는 연구를 진행할 예정이다.
따라서 본 논문에서는 Dataset 의 개수가 검출 정확도에 미치는 영향을 알아보고자 학습 Dataset의 개수를 변경시켜 가며 연구를 진행하였다. 해당 연구를 통해 CNN(Convolution Neural Network) Mobile Net 기반 Malware Detection 모델을 생성할 때 높은 정확도를 가지는 Dataset 의 개수를 확인할 수 있고, 이는 추후 비슷한 연구 진행에 있어 비용과 리소스를 절약할 수 있을 것으로 생각된다[5].
이를 통해 이 연구를 통해 Teachable Machine에서 많은 Dataset 이 높은 정확도를 가져오는 것은 아님을 확인할 수 있었다. 향후 연구를 진행할 시 참고하여 리소스를 줄일 수 있을 것으로 기대된다.
질의응답
핵심어
질문
논문에서 추출한 답변
Teachable Machine이란?
0을 이용하였다. Teachable Machine 이란 웹페이지 상에서 손쉽게 머신러닝 모델을 만들 수 있도록 Google이 제공하는 플랫폼이다. 해당 플랫폼에서는 CNN 기반의 Mobile Net Network를 사용하여 (그림 8)과 같은 네트워크 구조로 모델을 생성한다.
Feature Engineering이란?
머신러닝을 활용하여 악성코드의 검출 정확도 높이기 위해서는 파일의 특징을 추출하여 정상 파일과 악성 파일을 구분하는 Feature Engineering이 필요하다. Feature Engineering이란 모델을 학습시키기 위해서 Dataset 에서 일정한 특징을 추출 및 가공하는 과정을 말하며 모델 학습에 추출된 특징을 기반으로 학습을 진행하게 되면 머신러닝 기반 모델의 성능에 직접 관여한다.
보안 분야에서 머신러닝 기술을 응용하려는 이유는?
현재 4차 산업혁명을 맞이하여 머신러닝과 인공지능 기술이 급속도로 발전하고 있으며 보안 분야에서도 머신러닝 기술을 응용하려는 움직임이 있다. 많은 악성코드가 생성됨에 따라 사람의 힘으로는 모든 악성코드를 탐지하기 어려워지고 있기 때문이다. 이에 따라 학계와 산업계에서는 머신러닝을 통해 악성코드나 네트워크 침입 이벤트를 탐지하는 것에 관한 연구가 활발히 진행되고 있으며 국제 학회와 저널에서는 머신러닝의 한 분야인 딥러닝을 이용한 보안데이터 분석 연구가 논문 발표되고 있다.
C. Chen, S. Wang, D. Wen, G. Lai and M. Sun, "Applying Convolutional Neural Network for Malware Detection," 2019 IEEE 10th International Conference on Awareness Science and Technology (iCAST), Morioka, Japan, 2019, pp. 1-5.
F. Hussain, R. Hussain, S. A. Hassan and E. Hossain, "Machine Learning in IoT Security: Current Solutions and Future Challenges," in IEEE Communications Surveys & Tutorials, doi: 10.1109/COMST.2020.2986444.
Krizhevsky, Alex & Sutskever, Ilya & Hinton, Geoffrey. (2012). ImageNet Classification with Deep Convolutional Neural Networks. Neural Information Processing Systems. 25. 10.1145/3065386.
W. Chen, J. T. Wilson, S. Tyree, K. Q. Weinberger, and Y. Chen. Compressing neural networks with the hashing trick. CoRR, abs/1504.04788, 2015.
O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, et al. Imagenet large scale visual recognition challenge. International Journal of Computer Vision, 115(3):211-252, 2015
K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556, 2014
C. Szegedy, V. Vanhoucke, S. Ioffe, J. Shlens, and Z. Wojna. Rethinking the inception architecture for computer vision. arXiv preprint arXiv:1512.00567, 2015
C. Szegedy, S. Ioffe, and V. Vanhoucke. Inception-v4, inception-resnet and the impact of residual connections on learning. arXiv preprint arXiv:1602.07261, 2016.
K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. arXiv preprint arXiv:1512.03385, 2015
A. G. Howard, M. Zhu, B. Chen, D. Kalenichenko, W. Wang, T. Weyand, M. Andreetto, and H. Adam. Mobilenets: Efficient convolutional neural networks for mobile vision applications. arXiv:1704.04861, 2017.
M. Ganesh, P. Pednekar, P. Prabhuswamy, D. S. Nair, Y. Park and H. Jeon, "CNN-Based Android Malware Detection," 2017 International Conference on Software Security and Assurance (ICSSA), Altoona, PA, 2017, pp. 60-65.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.