안드로이드 플랫폼에서 악성 행위 분석을 통한 특징 추출과 머신러닝 기반 악성 어플리케이션 분류 Malware Application Classification based on Feature Extraction and Machine Learning for Malicious Behavior Analysis in Android Platform원문보기
본 논문은 안드로이드 플랫폼에서 악성 어플리케이션을 탐지하기 위한 연구로, 안드로이드 악성 어플리케이션에 대한 위협과 행위 분석에 대한 연구를 바탕으로 머신러닝을 적용한 악성 어플리케이션 탐지를 수행하였다. 안드로이드의 행위 분석은 동적 분석도구를 통해 수행할 수 있으며, 이를 통해 어플리케이션에 대한 API Calls, RuntimeLog, System Resource, Network 등의 정보를 추출할 수 있다. 이 연구에서는 행위 분석을 통한 특징 추출을 머신러닝에 적용하기 위해 특징에 대한 속성을 변환하고, 전체 특징에 대한 머신러닝 적용과 특징들의 연관분석을 통한 주성분분석으로 특징간의 상관분석으로 얻은 머신러닝 적용을 수행하였다, 이에 대한 결과로 악성 어플리케이션에 대한 머신러닝 분류 결과는 전체 특징을 사용한 분류 결과보다 주요 특징을 통한 정확도 결과가 약 1~4%정도 향상되었으며, SVM 분류기의 경우 10%이상의 좋은 결과를 얻을 수 있었다. 이 결과를 통해서 우리는 전체적인 특징을 이용하는 것보다, 주요 특징만을 통해 얻을 결과가 전체적인 분류 알고리즘에 더 좋은 결과를 얻을 수 있고, 데이터 세트에서 의미있는 특징을 선정하는 것이 중요하다고 파악하였다.
본 논문은 안드로이드 플랫폼에서 악성 어플리케이션을 탐지하기 위한 연구로, 안드로이드 악성 어플리케이션에 대한 위협과 행위 분석에 대한 연구를 바탕으로 머신러닝을 적용한 악성 어플리케이션 탐지를 수행하였다. 안드로이드의 행위 분석은 동적 분석도구를 통해 수행할 수 있으며, 이를 통해 어플리케이션에 대한 API Calls, Runtime Log, System Resource, Network 등의 정보를 추출할 수 있다. 이 연구에서는 행위 분석을 통한 특징 추출을 머신러닝에 적용하기 위해 특징에 대한 속성을 변환하고, 전체 특징에 대한 머신러닝 적용과 특징들의 연관분석을 통한 주성분분석으로 특징간의 상관분석으로 얻은 머신러닝 적용을 수행하였다, 이에 대한 결과로 악성 어플리케이션에 대한 머신러닝 분류 결과는 전체 특징을 사용한 분류 결과보다 주요 특징을 통한 정확도 결과가 약 1~4%정도 향상되었으며, SVM 분류기의 경우 10%이상의 좋은 결과를 얻을 수 있었다. 이 결과를 통해서 우리는 전체적인 특징을 이용하는 것보다, 주요 특징만을 통해 얻을 결과가 전체적인 분류 알고리즘에 더 좋은 결과를 얻을 수 있고, 데이터 세트에서 의미있는 특징을 선정하는 것이 중요하다고 파악하였다.
This paper is a study to classify malicious applications in Android environment. And studying the threat and behavioral analysis of malicious Android applications. In addition, malicious apps classified by machine learning were performed as experiments. Android behavior analysis can use dynamic anal...
This paper is a study to classify malicious applications in Android environment. And studying the threat and behavioral analysis of malicious Android applications. In addition, malicious apps classified by machine learning were performed as experiments. Android behavior analysis can use dynamic analysis tools. Through this tool, API Calls, Runtime Log, System Resource, and Network information for the application can be extracted. We redefined the properties extracted for machine learning and evaluated the results of machine learning classification by verifying between the overall features and the main features. The results show that key features have been improved by 1~4% over the full feature set. Especially, SVM classifier improved by 10%. From these results, we found that the application of the key features as a key feature was more effective in the performance of the classification algorithm than in the use of the overall features. It was also identified as important to select meaningful features from the data sets.
This paper is a study to classify malicious applications in Android environment. And studying the threat and behavioral analysis of malicious Android applications. In addition, malicious apps classified by machine learning were performed as experiments. Android behavior analysis can use dynamic analysis tools. Through this tool, API Calls, Runtime Log, System Resource, and Network information for the application can be extracted. We redefined the properties extracted for machine learning and evaluated the results of machine learning classification by verifying between the overall features and the main features. The results show that key features have been improved by 1~4% over the full feature set. Especially, SVM classifier improved by 10%. From these results, we found that the application of the key features as a key feature was more effective in the performance of the classification algorithm than in the use of the overall features. It was also identified as important to select meaningful features from the data sets.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
따라서 본 논문에서는 행위 기반 분석 정보를 이용한 방법으로 악성 어플리케이션을 탐지하는 기법을 제안한다. 2장에서는 악성 어플리케이션 동적 행위 정보 분석에 관련된 기존 연구에 대해 살펴보며, 3장에서는 어플리케이션의 행위 기반 분석 결과로 얻을 수 있는 특징을 설명한다.
이는 전체 특징의 불필요한 특징을 최소화하기 위한 방안과 성능 향상을 위한 단계이다. 또한 연구 목표로써, 머신 러닝의 알고리즘의 분류 정확도를 향상시키고, 안드로이드 악성 어플리케이션 탐지에 대한 행위 분석 특징이 악성 어플리케이션의 분류에 적절한지 검증한다.
본 연구는 안드로이드 악성 어플리케이션 분류를 위하여 악성 어플리케이션에 대한 행위 분석에서 특징을 추출하고, 머신러닝 분류기를 통해 악성 어플리케이션을 탐지하는 연구를 진행하였다. 우리는 본 실험 결과를 통해서 일반 행위 분석을 통해 얻은 결과에서 전체적인 특징을 사용하는 것보다는 데이터의 특성에 따라 특징을 선정하는 것이 머신러닝 분류에 향상되어짐을 확인하였다.
제안 방법
추출된 분석 정보를 머신러닝 알고리즘에 적용하기 위하여 전처리 작업을 수행하며, 이에 대해 안드로이드 행위 기반에 대한 속성을 재정의하여 데이터세트를 구성한다. 구성된 데이터세트를 통하여 머신러닝을 적용하여 악성앱과 정상앱을 분류하는 작업을 수행한다. 주요 특징을 분별하기 위해 특징들 간의 상관관계를 수행하고, 전체 특징을 이용한 결과와 상관분석을 수행한 결과를 비교하여, 악성앱을 분류하기 주요 특징을 선별하고 머신러닝에 대한 성능을 향상 시킬 수 있는 근거를 평가한다.
이는 학습 데이터의 부족으로 평가되어짐으로 판단되어진다. 다음 실험으로는 전체 특징에서의 특징간의 상관분석을 통한 주성분석을 통하여 주요 특징만으로 학습 분류를 수행하였다. 주성분 분석에 대한 차원 축소는 (그림 2)의 기울기에 따른 component 10개로의 가장 관련성 있는 76개의 특징으로의 PC 표본으로 수행하였다.
정적 분석의 경우 해당 dex 파일을 디스어셈블하여 해당 어플리케이션에서 사용된 API에서 정보유출 API가 존재하는지 여부를 판단한다. 동적 분석에서는 추출된 dex 파일을 Dalvik 가상 머신에서 구동시켜 실제 메소드를 출력시키는 함수를 찾아 해당 부분을 수정하고, 새로운 안드로이드 이미지를 생성하고 이를 실행하여 생성되는 로그를 출력시키도록 했다. 이에 따라 탐지된 API가 실제로 어떤 순서로 호출되었는지에 대한 정보를 알 수 있다.
머신러닝을 위한 주요 특징을 분별하고 분류 향상을 위해, 특징들간의 상관분석을 수행한다. 이는 주성분분석(PCA, Principal Component Analysis) 방법을 적용한다.
특징 추출과 전처리 작업이 진행되어지면, 머신러닝 모델에 적용하기 위한 데이터세트가 생성이 이루어질 수 있다. 머신러닝의 적용을 통해 변환된 속성에 따라 각 모델에 따른 성능 분석을 수행한다. 본 연구에서는 Navive Bayes, SVM, Random Forest, MultilayerP erceptron, BayesNet의 분류 알고리즘을 이용해 분류 정확도를 수행하였다.
이러한 악성 어플리케이션을 분류하기 위해 (그림 1)과 같이 프로세스를 수행한다. 먼저 APK 파일에 대한 분석 정보 수집을 위하여 Androdguard[ 분석기를 통하여, 어플리케이션에 대한 분석을 추출을 진행한다. Androguard는 오픈 소스 분석도구로 안드로이드 어플리케이션을 분해하고, 디컴파일이 가능한 도구로 어플리케이션 분석에 유용하다.
머신러닝의 적용을 통해 변환된 속성에 따라 각 모델에 따른 성능 분석을 수행한다. 본 연구에서는 Navive Bayes, SVM, Random Forest, MultilayerP erceptron, BayesNet의 분류 알고리즘을 이용해 분류 정확도를 수행하였다.
본 연구의 안드로이드 악성 어플리케이션을 탐지하기 위해 안드로이드 어플리케이션의 행위 분석 분석결과를 통해 악성어플리케이션을 분류한다. 이를 위해 수집된 데이터 세트는 총 400개의 어플리케이션을 수집하였으며, 정상 315개 악성 85개의 데이터로 구성되었다.
본 제안 방법에서는 안드로이드 어플리케이션을 동적 분석 도구를 이용하여, 행위 분석에 대한 주요 특징을 추출하고, 이를 머신러닝 분류기를 위한 속성을 재정의함으로써 머신러닝을 통해 악성 어플리케이션을 분류한다. 이러한 악성 어플리케이션을 분류하기 위해 (그림 1)과 같이 프로세스를 수행한다.
사용자가 안드로이드 기반의 모바일 장치를 감지하고, 기기에서 발생하는 위협적인 행동에 대한 탐지를 돕는다. 악성코드 탐지 프로세스에서 수집되는 데이터는 CPU 소비, Wi-Fi를 통한 전송 패킷 수, 실행중인 프로세스 수, 배터리 수준과 같은 실시간 모니터링 수집, 전처리 및 다양한 시스템 사용 파라미터 등을 수집하여 기계학습을 이용하여 악성코드 탐지를 수행한다. 하지만 실험 결과 구체적으로 악성코드 여부를 판단하지 못하는 결과가 나타났다.
SmartSiren[11]은 프록시 기반의 아키텍처를 사용하여 리소스가 제한된 스마트폰에서 처리 부담을 줄여주고 스마트폰 간의 공동 작업을 단순화하는 바이러스 탐지 및 경고 시스템이다. 악성코드를 탐지하기 위해 스마트폰으로부터 SMS, 블루투스 등의 통신 활동 정보를 수집하고, 이 로그 데이터를 프록시 서버로 전송한다. 프록시 서버 에서는 사용자의 평균 통신 활동 수치와 전달된 로그 데이터를 비교하여 악성코드의 침입 여부를 판단한다.
[18]은 네트워크 트래픽 데이터를 특징으로 하여 기계학 습을 적용한 이상탐지 기반 악성 어플리케이션 탐지 기법이다. 여기서는 Wireshark를 통해 악성코드의 TCP 패킷에서 모든 관련 정보를 추출한 뒤 True Positive Rate를 가장 높은 값으로 끌어낼 수 있는 가장 관련성이 높은 특징 11개를 선택하여 실험을 진행하였다.
‘Wireshark'는 설치와 사용이 쉽고 기능들도 매우 다양하여 세계에서 가장 널리 쓰이는 네트워크 분석 프로그램 중 하나이다. 이 프로그램은 네트워크 상에서 캡쳐한 데이터에 대한 네트워크/상위레이어 프로토콜의 정보를 제공한다. 다른 네트워크 프로그램과 같이 Wireshark는패킷 캡쳐를 위해 pcap 네트워크 라이브러리를 사용한다.
Crowdroid[9]는 ‘크라우드소싱’의 개념을 차용한 경량 클라이언트로써, 리눅스 커널의 시스템 호출을 모니터링하고, 수집된 로그를 중앙 서버로 전송한 후 아웃소싱을 통해 악성코드를 탐지하는 방법이다. 전송받은 데이터를 중앙 서버에서 구문 분석을 진행한 후 시스템 호출 벡터를 생성하고 k-means 알고리즘을 통해 데이터를 클러스 터링한다. Crowdroid 어플리케이션을 사용하는 사용자가 많아질수록 시스템이 더욱 정확해진다.
전체 특징과 주성분석으로의 주요특징 간의 비교를 통해 머신러닝 기술의 분류 평가를 검증하고, 각각 머신러닝 분류 모델에 따른 머신러닝 분류 평가를 수행한다. 이는 전체 특징의 불필요한 특징을 최소화하기 위한 방안과 성능 향상을 위한 단계이다.
구성된 데이터세트를 통하여 머신러닝을 적용하여 악성앱과 정상앱을 분류하는 작업을 수행한다. 주요 특징을 분별하기 위해 특징들 간의 상관관계를 수행하고, 전체 특징을 이용한 결과와 상관분석을 수행한 결과를 비교하여, 악성앱을 분류하기 주요 특징을 선별하고 머신러닝에 대한 성능을 향상 시킬 수 있는 근거를 평가한다.
Androguard는 오픈 소스 분석도구로 안드로이드 어플리케이션을 분해하고, 디컴파일이 가능한 도구로 어플리케이션 분석에 유용하다. 추출된 분석 정보를 머신러닝 알고리즘에 적용하기 위하여 전처리 작업을 수행하며, 이에 대해 안드로이드 행위 기반에 대한 속성을 재정의하여 데이터세트를 구성한다. 구성된 데이터세트를 통하여 머신러닝을 적용하여 악성앱과 정상앱을 분류하는 작업을 수행한다.
플랫폼 수정 방법은 안드로이드 어플리케이션이 실제로 동작하는 DVM(Dalvik Virtual Machine)의 코드를 수정하여 사용되는 API를 추적하거나 로그를 남겨 악성 행위를 탐지한다[19]. 후킹 기법을 이용한 API 분석 방법은 안드로이드 플랫폼 구조 중 리눅스 커널 계층에서 사용되는 API를 후킹하여 동적 분석을 수행한다. 후킹 기법을 적용하기 위해 LKM(Loadable Kernel Module) 또는 공유 라이브러리 파일을 삽입하여 안드로이드 플랫폼에 발생되는 API를 모니터링하고, 그 결과로 악성코드를 탐지한다[20].
후킹 기법을 이용한 API 분석 방법은 안드로이드 플랫폼 구조 중 리눅스 커널 계층에서 사용되는 API를 후킹하여 동적 분석을 수행한다. 후킹 기법을 적용하기 위해 LKM(Loadable Kernel Module) 또는 공유 라이브러리 파일을 삽입하여 안드로이드 플랫폼에 발생되는 API를 모니터링하고, 그 결과로 악성코드를 탐지한다[20]. 대부분의 안드로이드 악성코드는 어플리케이션 개발을 위해 제공되는 SDK를 이용하여 제작되기 때문에, 어플리케이션에 사용되는 API를 추출하여 분석하면 악성 여부를 식별할 수 있다.
대상 데이터
본 연구를 위한 데이터 수집은 일반 정상적인 apk는 Google Play Maker과 같은 미러링 사이트에서 수집이 이루어졌으며, 악성 apk 파일은 koodous[22], Virusshare와 같은 Malware 분석 사이트에서 수집이 이루어졌다. 수집된 apk은 SHA256 값을 통하여 Koodous의 분석 사이트에서 지원하는 Androguard 분석 정보를 수집하여 특징 추출이 이루어졌다.
본 연구의 안드로이드 악성 어플리케이션을 탐지하기 위해 안드로이드 어플리케이션의 행위 분석 분석결과를 통해 악성어플리케이션을 분류한다. 이를 위해 수집된 데이터 세트는 총 400개의 어플리케이션을 수집하였으며, 정상 315개 악성 85개의 데이터로 구성되었다. 이후 총 400개의 샘플에서 추출되어지는 특징은 총 176개의 특징을 추출하였으며, 각각 표 2에 나타난 특징과 관련된 것으로 나열되어있다.
다음 실험으로는 전체 특징에서의 특징간의 상관분석을 통한 주성분석을 통하여 주요 특징만으로 학습 분류를 수행하였다. 주성분 분석에 대한 차원 축소는 (그림 2)의 기울기에 따른 component 10개로의 가장 관련성 있는 76개의 특징으로의 PC 표본으로 수행하였다. 주성분분석은 도메인에 따라 무의미한 특징들이 있기 때문에 이를 제거할 필요가 있고, 특징간의 연관성을 분석하여 데이터의 특성을 반영한 특징들을 선정하기 위한 고차원의 데이터를 저차원의 데이터로 환원시키는 특징 선택 방법이다.
이후 총 400개의 샘플에서 추출되어지는 특징은 총 176개의 특징을 추출하였으며, 각각 표 2에 나타난 특징과 관련된 것으로 나열되어있다. 총 400개의 데이터샘플에서 75%는트레이닝 데이터 세트로 구성하였고, 나머지 25%는 테스트 데이터로 활용하였다. 이에 따른 전체 특징의 머신러닝 분류 결과는 표 3과 같다.
데이터처리
데이터 수집 이후 Androguard 분석 도구를 통해 출력된 특징 값에 대해 전처리 과정을 수행한다. 일반적으로 apk 파일 분석 도구를 이용하여, 결과를 출력하였을 경우각 특징에 대한 내용이 다양한 문자열과 숫자로 나타난다.
본 연구를 위한 데이터 수집은 일반 정상적인 apk는 Google Play Maker과 같은 미러링 사이트에서 수집이 이루어졌으며, 악성 apk 파일은 koodous[22], Virusshare와 같은 Malware 분석 사이트에서 수집이 이루어졌다. 수집된 apk은 SHA256 값을 통하여 Koodous의 분석 사이트에서 지원하는 Androguard 분석 정보를 수집하여 특징 추출이 이루어졌다. Koodous의 분석 사이트는 apk 파일에 대한 안드로이드 분석 도구를 통해 apk 파일에 대한 동적 분석을 수행을 지원해주며, 이 과정에서는 안드로이드 apk 파일을 분석할 수 있는 도구 androguard를 통해 동적 분석 프레임워크에 대한 기록을 추출할 수 있다.
이에 따라 탐지된 API가 실제로 어떤 순서로 호출되었는지에 대한 정보를 알 수 있다. 이렇게 분석을 통해 얻은 정보를 자동화된 악성코드 분류와 판별을 위해 기계학습 기법을 적용하였다.
이론/모형
머신러닝을 위한 주요 특징을 분별하고 분류 향상을 위해, 특징들간의 상관분석을 수행한다. 이는 주성분분석(PCA, Principal Component Analysis) 방법을 적용한다.
성능/효과
실시간 모드에서는 간단한 런타임 오버헤드로 빠르게 악성코드 탐지를 할 수 있으며, 배터리 충전 중에는 보다 정교한 기계학습 기술을 적용하여 탐지 정확도를 향상시킨다. 실험 결과에 따르면 VirusMeter는 1.5% 미만의 추가 전력 소비로 실시간 악성코드 탐지에 효과적인 결과를 보였다.
본 연구는 안드로이드 악성 어플리케이션 분류를 위하여 악성 어플리케이션에 대한 행위 분석에서 특징을 추출하고, 머신러닝 분류기를 통해 악성 어플리케이션을 탐지하는 연구를 진행하였다. 우리는 본 실험 결과를 통해서 일반 행위 분석을 통해 얻은 결과에서 전체적인 특징을 사용하는 것보다는 데이터의 특성에 따라 특징을 선정하는 것이 머신러닝 분류에 향상되어짐을 확인하였다. 이 결과는 SVM 분류기에서 10% 이상의 분류 결과가 향상된 검증을 통해서 알 수 있다.
우리는 본 실험 결과를 통해서 일반 행위 분석을 통해 얻은 결과에서 전체적인 특징을 사용하는 것보다는 데이터의 특성에 따라 특징을 선정하는 것이 머신러닝 분류에 향상되어짐을 확인하였다. 이 결과는 SVM 분류기에서 10% 이상의 분류 결과가 향상된 검증을 통해서 알 수 있다. 분류 검증에서 악성 어플리케이션을 정확하게 분류하기 위해서는 좋은 데이터 세트를 생성하고, 의미있는 특징을 선정하는 것이 중요하다.
분류 검증에서 악성 어플리케이션을 정확하게 분류하기 위해서는 좋은 데이터 세트를 생성하고, 의미있는 특징을 선정하는 것이 중요하다. 이를 위해서 행위 분석 결과 값에 대한 특징에 대한 속성 정의가 제대로 이루어져야 하고, 분석 결과에서 나타나는 전체 특징을 적용하는 것보다는 특징에 대한 연관분석으로 데이터의 특성을 반영하는 방법이 전체적인 머신러닝 분류 알고리즘 성능에 정확한 결과를 얻을 수 있다. 본 논문에서는 어플리케이션에 대한 분석 정보에서 다양한 텍스트 출력 값을 일반적인 속성으로 변환하여 다루었지만, 향후연구에는 데이터에 대한 특성이 고유하게 반영될 수 있도록 연구가 필요하다.
이를 위해 수집된 데이터 세트는 총 400개의 어플리케이션을 수집하였으며, 정상 315개 악성 85개의 데이터로 구성되었다. 이후 총 400개의 샘플에서 추출되어지는 특징은 총 176개의 특징을 추출하였으며, 각각 표 2에 나타난 특징과 관련된 것으로 나열되어있다. 총 400개의 데이터샘플에서 75%는트레이닝 데이터 세트로 구성하였고, 나머지 25%는 테스트 데이터로 활용하였다.
전체적으로 SVM을 제외한 정확도는 90%이상을 나타내는 것을 확인하였으며, SVM 분류기 경우에는 84%의성능을 나타내었다. 이에 대한 문제는 SVM 분류기가 정상적인 분류를 84%정도를 수행해주나, SVM 특성에서 범주형 데이터의 경우 다른 표본 특성들과의 Overfitting이발생하여 나타나는 현상으로 바라볼 수 있다.
PCA를 적용한 머신러닝의 실험결과는 표 4에 나타내었다. 전체적으로 모든 분류기에서 정확도가 향상되었음이 확인이 되며, 특히 SVM 분류기의 성능이 대폭 향상되었다. 이는 특징간의 상관계수의 보정으로 인해 앞서 SVM의 특성에서 나타난 Overffiting 문제가 완화되어짐으로 나타난 것으로 확인되어진다.
후속연구
이를 위해서 행위 분석 결과 값에 대한 특징에 대한 속성 정의가 제대로 이루어져야 하고, 분석 결과에서 나타나는 전체 특징을 적용하는 것보다는 특징에 대한 연관분석으로 데이터의 특성을 반영하는 방법이 전체적인 머신러닝 분류 알고리즘 성능에 정확한 결과를 얻을 수 있다. 본 논문에서는 어플리케이션에 대한 분석 정보에서 다양한 텍스트 출력 값을 일반적인 속성으로 변환하여 다루었지만, 향후연구에는 데이터에 대한 특성이 고유하게 반영될 수 있도록 연구가 필요하다. 이는 데이터 분석의 식별의 이해와 주요 특징선택에 대한 상관분석 연구로 진행되어져야 할 것이다.
이는 데이터 분석의 식별의 이해와 주요 특징선택에 대한 상관분석 연구로 진행되어져야 할 것이다. 우리는 이 향후 연구에서는 텍스트 마이닝 기법으로 텍스트 정보에 대한 의미를 추출하고, 분석하여 자동으로 머신러닝에 적합한 유형으로 변환할 수 있는 연구로 나아갈 것이다.
본 논문에서는 어플리케이션에 대한 분석 정보에서 다양한 텍스트 출력 값을 일반적인 속성으로 변환하여 다루었지만, 향후연구에는 데이터에 대한 특성이 고유하게 반영될 수 있도록 연구가 필요하다. 이는 데이터 분석의 식별의 이해와 주요 특징선택에 대한 상관분석 연구로 진행되어져야 할 것이다. 우리는 이 향후 연구에서는 텍스트 마이닝 기법으로 텍스트 정보에 대한 의미를 추출하고, 분석하여 자동으로 머신러닝에 적합한 유형으로 변환할 수 있는 연구로 나아갈 것이다.
질의응답
핵심어
질문
논문에서 추출한 답변
Andromaly 프레임워크의 문제점은 무엇인가?
악성코드 탐지 프로세스에서 수집되는 데이터는 CPU 소비, Wi-Fi를 통한 전송 패킷 수, 실행중인 프로세스 수, 배터리 수준과 같은 실시간 모니터링 수집, 전처리 및 다양한 시스템 사용 파라미터 등을 수집하여 기계학습을 이용하여 악성코드 탐지를 수행한다. 하지만 실험 결과 구체적으로 악성코드 여부를 판단하지 못하는 결과가 나타났다.
안드 로이드가 빠른 시간에 성장할 수 있었던 요인은 무엇인가?
구글은 2008년 최초로 공개한 모바일 OS ‘안드로이드’ 를 통해 전 세계적으로 많은 인기를 끌었으며, 가트너 보고서에 의하면 2017년 1분기 안드로이드 기반 모바일 기기의 시장점유율이 약 86% 가량으로 가장 높다[1]. 안드 로이드가 빠른 시간에 가장 큰 성장을 이루게 된 이유는 ‘오픈소스 플랫폼’, ‘어플리케이션 개발 용이’, ‘공개마켓을 통한 어플리케이션 유포’ 등의 개방형 구조를 이점으로 한다. 하지만 안드로이드의 개방형 구조는 보안에 매우 취약하여 수많은 사이버공격을 초래하게 되었다.
리패키징 기법이란 무엇인가?
안드로이드 악성코드의 제작 방법으로는 다양한 방법이 존재하는데, 그 중에서 리패키징(repackaging) 기법이 가장 많이 사용된다. 리패키징 기법은 정상 어플리 케이션에 일부 악성 기능을 추가하여 정상 어플리케이션처럼 위장하거나 기존 안티 바이러스 시스템을 우회하기 위해 기존 악성코드를 일부 수정하고 이를 다시 다양한 경로를 통해 배포하는 기법이다. 해커나 개발자들은 APK 파일의 압축을 해제하여 나온 바이너리 형태의 파일을 디컴파일(decompile)하여 소스 코드로 변환시킨다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.