EYEN

논문리뷰 총정리 본문

PBL

논문리뷰 총정리

EYEN 2025. 3. 3. 15:02

논문리뷰의 목적: 논문의 '선행연구'에 해당하는 부분 조사 및 연구 방향 세부화
=> 각 연구별 사용 기법과 차별점  및 우리 연구에 적용 가능한 연구 방향 
 

1. n-gram과 트랜스포머 모델을 결합한 연구 - DeepGram: Combining LanguageTransformer and N-Gram-Based MLModels for YouTube Spam CommentDetection

사용 기법과 차별점

transformer 모델의 전역적인 문맥 이해 능력과 N-gram 모델의 로컬 패턴 탐지 능력을 결합
n-gram모델 단독 사용 시와 transformer 모델 단독사용시 부족한 점을 하이브리드 모델을 사용하여 극복.
 
악성코드 또한 n-gram 모델 단독 사용시 문맥이해가 필요한 악성코드(시작시 외부 포트에 연결, 종료시 외부 포트로 정보 전송)를 탐지 못할 수 있고, transformer 모델 단독 사용시 반복되는 패턴이 존재하는 악성코드는 다소 취약할 수 있으므로 하이브리드 접근법을 사용해 극복할 수 있을 것으로 예상

 

우리 연구에 적용 가능한 연구 방향 

transformer 모델로 문맥화된 단어 임베딩 생성, N-gram 기반으로 특징 추출, 둘을 결합한 결합 특징 생성하여 결합 특징 기반으로 학습시킴. 
 
결합 특징 생성 하는 법: 입력 텍스트-> 단어 배열로 변환-> n-gram 추출 -> transformer모델 출력값과 결합 

 

2. n-gram을 이용한 멀웨어 (변종탐지) 연구 - Multi N―gram을 이용한 악성코드 분류 방법

사용 기법과 차별점

정보가 많은 텍스트 섹션이 엔트로피가 가장 높다는 점을 활용해 패킹되어 있는 악성코드에서도 텍스트 섹션 추출 가능케함.
한 번의 분석으로 Uni/Bi/Tri-gram 동시 추출하여 가장 높은 빈도의 n-gram을 특징으로 사용
리스트 형식이 아닌 멀티 매트릭스 사용(다차원)하여 속도 개선
 

우리 연구에 적용 가능한 연구 방향 

n-gram 저장 방식
1gram

  • 각 인덱스(index) → 1-byte(8-bit) 값(= 1-gram을 의미)
  • 1 byte = 8 bit 이므로 2^8 = 256개의 종류(인덱스)가 존재
  • 각 인덱스에는 해당 1-gram이 등장한 빈도수가 저장됨
  • 예시) Array[65] = 3 → 'A'(ASCII 65)가 3번 등장/   Array[98] = 5 → 'b'(ASCII 98)가 5번 등장

2gram

  • 1-gram이 등장하면 바로 다음 1-gram을 하위 배열에 저장
  • 즉, Array[i][j] → 'ij'라는 2-gram의 등장 횟수를 저장
  • 예시) Array[65][98] = 2 → "Ab"가 2번 등장/   Array[98][99] = 1 → "bc"가 1번 등장

 
 
 

3. n-gram을 이용한 멀웨어 (변종탐지) 연구 - N-gram Opcode Analysis forAndroid Malware Detection

사용 기법과 차별점

최대 10그램 시퀀스를 분석해본 결과  악성 소프트웨어 탐지의 경우 n = 3, 분류의 경우 n = 4에서 최고의 정확도를 달성함.
주파수, 이진, 빈도 n-그램 특징을 모두 평가한 결과 주파수와 이진 n-gram 특징이 성능이 좋음 
* 주파수, 이진, 빈도 n-그램

  • 주파수: 단어나 문구의 등장 횟수.
  • 이진: 단어나 문구의 등장 여부를 0 또는 1로 표시.
  • 빈도 n-그램: 연속적인 n개의 단어 또는 문자 시퀀스의 등장 횟수.

우리 연구에 적용 가능한 연구 방향 

각 특징의 정보 이득(information gain)을 측정한 후, 정보 이득이 낮은 덜 중요한 특징을 필터링, 정확한 결과에 미치는 영향이 큰 특징을 선택하는 과정(WEKA (Hall et al., 2009)에서 제공하는 정보 이득 구현을 사용
 
 

4. 멀웨어 변종탐지 관련 연구 - Detecting new obfuscated malware variants: A lightweight andinterpretable machine learning approach

사용 기법과 차별점

15개 모델 각각 한 가지의 악성코드 변종을 학습시키고, 그 중 transponder라는 악성코드 변종 한가지를 학습한 모델이 15가지의 미탐지 악성코드 변종을 탐지함. 탐지하는 과정을 SHAP(Shapley Additive Explanations) 기법을 활용하여 모델의 의사결정 과정 설명.

우리 연구에 적용 가능한 연구 방향 

악성코드의 55개 특징중 '재귀적 특징 제거'방법을 활용해 5개로 줄여 경량화 -> Extreme Gradient Boost (XGBoost) 분류기를 훈련하는 데 사용
기존 연구에서 높은 성능을 보인 Random forest 모델 사용
SHAP는 모델의 출력을 각 피처의 기여도로 분해하여 옳은 출력에 가장 큰 기여를 한 특징을 보여줄 수 있음.
 
*우리는 탐지 성능 개선을 목표로 한 하이브리드기 때문에 경량화까지는 노리지 않아도 될 것 같으나 가능하다면 해봐도 될 듯함. 
 

5. 트랜스포머 모델을 이용한 멀웨어(변종탐지)연구 - Survey of Transformer-Based Malicious SoftwareDetection Systems

사용 기법과 차별점

모든 트랜스포머를 활용한 모델의 특징과 성능에 대한 정리한 논문 
트랜스포머 기반 모델은 악성 소프트웨어 탐지에서 높은 정확도를 달성합니다.
하이브리드 모델(트랜스포머와 CNN 또는 RNN을 결합한)이 더 나은 성능을 발휘합니다
 

 
트랜스포머 모델도 매우 다양함. 뭐가 더 나은지에 대해서는 안 나와있음. 단지 이미지, 그래프, 텍스트를 활용한 모델은 대체로 이런 구조를 가진다는 뜻. 
 

6. 멀웨어 난독화 탐지 - Exploring Large Language Models for Semantic Analysis and Categorization ofAndroid Malware

사용 기법과 차별점

계층적 코드 요약(Hierarchical-Tiered Summarization)과 고급 프롬프트 엔지니어링(Advanced Prompt Engineering) 기법을 활용하여 악성코드를 분석
정확도 77%...
 

우리 연구에 적용 가능한 연구 방향?

안드로이드 앱을 봤을 때 난독화가 되어있어도 코드 구조는 변하지 않아서 이 논문 내용이 충분히 가능했을 것이나 바이너리 악성코드의 경우는 잘 모르겠음.  바이너리 악성코드는 난독화보다는 패킹되어있거나 암호화되어있을 것 같아서 '패킹'에 집중하는 게 나을듯.

  1. 계층적 코드 요약(Hierarchical-Tiered Summarization)
    • 기능(Function) → 클래스(Class) → 패키지(Package) 단위로 요약
    • 요약된 정보를 단계적으로 결합하여 전체 코드의 의미를 추론
    • 이후 패키지 → 클래스 → 기능 단위로 분석하여 악성 행위의 원인 코드 추적 가능

     2. 프롬프트 엔지니어링(Prompt Engineering) 기반 모델 최적화
            - Vanilla 프롬프트: 코드 기능을 단순 요약
            - API-Scoped 프롬프트: 악성코드에서 자주 사용되는 API 및 권한 분석
            - Malware-Scoped 프롬프트: 악성 행위(Privilege Escalation, Dynamic Code Execution 등) 탐지