Skip to main content
QUICK REVIEW

[논문 리뷰] SourceFinder: Finding Malware Source-Code from Publicly Available Repositories

Md Omar Faruk Rokon, Risul Islam|arXiv (Cornell University)|2020. 05. 28.
Advanced Malware Detection Techniques참고 문헌 49인용 수 10
한 줄 요약

SourceFinder는 GitHub와 같은 공공 코드 아카이브의 악성코드 소스코드 레포지토리를 89% 정밀도와 86% 재현율로 식별하는 지도 학습 시스템이다. 이 시스템은 레포지토리 메타데이터를 기반으로 키워드 기반 수집 및 특징 공학을 활용하여 현재까지 알려진 바 중 가장 큰 비상업적 악성코드 소스코드 데이터베이스(7,504개 레포지토리)를 구축했으며, 악성코드 분석 및 역공학 분야의 새로운 연구를 가능하게 한다.

ABSTRACT

Where can we find malware source code? This question is motivated by a real need: there is a dearth of malware source code, which impedes various types of security research. Our work is driven by the following insight: public archives, like GitHub, have a surprising number of malware repositories. Capitalizing on this opportunity, we propose, SourceFinder, a supervised-learning approach to identify repositories of malware source code efficiently. We evaluate and apply our approach using 97K repositories from GitHub. First, we show that our approach identifies malware repositories with 89% precision and 86% recall using a labeled dataset. Second, we use SourceFinder to identify 7504 malware source code repositories, which arguably constitutes the largest malware source code database. Finally, we study the fundamental properties and trends of the malware repositories and their authors. The number of such repositories appears to be growing by an order of magnitude every 4 years, and 18 malware authors seem to be "professionals" with well-established online reputation. We argue that our approach and our large repository of malware source code can be a catalyst for research studies, which are currently not possible.

연구 동기 및 목표

  • 공개적으로 이용 가능한 악성코드 소스코드의 부족 문제를 해결함으로써 보안 연구 및 도구 평가를 저해하는 문제를 해결하고자 한다.
  • GitHub와 같은 대규모 공공 아카이브에서 악성코드 소스코드 레포지토리를 체계적으로 식별하고자 하며, 이는 그 존재가 널리 퍼져 있음에도 불구하고 여전히 미비하게 다뤄지고 있음에도 불구하고 그렇다.
  • 메타데이터 특징을 사용하여 악성코드 레포지토리와 정상 레포지토리를 정확히 구분할 수 있는 확장 가능한 지도 학습 접근법을 개발하고자 한다.
  • 미래 연구를 위해 사용자 친화적이고 정제된, 지속 가능한 악성코드 소스코드 데이터베이스를 구축하고자 한다.
  • 악성코드 레포지토리의 성장 추세와 저자 행동 패턴을 분석하며, 전문 악성코드 저자들이 나타나는 경향을 포함한다.

제안 방법

  • 137개의 악성코드 관련 키워드를 사용하여 97,000개의 GitHub 레포지토리를 수집하여 초기 후보 집합을 구성한다.
  • 모델 훈련 및 평가를 위해 수작업으로 악성코드 또는 정상으로 레이블링된 2,013개의 레포지토리로 구성된 기준 데이터셋을 만든다.
  • 제목, 설명, 리드미, 언어, 주제의 다섯 가지 레포지토리 필드에서 특징을 추출하고 공학한다.
  • 공학된 특징을 기반으로 지도 학습 분류기(XGBoost 또는 유사 알고리즘 등)를 훈련시켜 악성코드 레포지토리와 정상 레포지토리를 구분한다.
  • 훈련된 모델을 전체 후보 집합에 적용하여 7,504개의 악성코드 소스코드 레포지토리를 식별한다.
  • 보류된 테스트 세트에서 정밀도, 재현율, F1 점수를 사용하여 모델 성능을 검증한다.

실험 결과

연구 질문

  • RQ1고정밀도와 고재현율을 달성하면서, 지도 학습 접근법이 GitHub와 같은 공공 코드 아카이브에서 악성코드 소스코드 레포지토리를 효과적으로 식별할 수 있는가?
  • RQ2공공 레포지토리 내에서 악성코드 레포지토리와 정상 레포지토리를 가장 잘 구분하는 핵심 메타데이터 특징은 무엇인가?
  • RQ3GitHub에 존재하는 악성코드 소스코드 레포지토리는 얼마나 되며, 시간에 따라 어떤 성장 추세를 보이는가?
  • RQ4가장 활발하고 영향력 있는 악성코드 저자는 누구이며, 그들은 전문가 수준의 행동 패턴을 보이는가?
  • RQ5식별된 악성코드 레포지토리 데이터베이스는 악성코드 분석, 역공학, 도구 평가 분야에서 새로운 연구를 지원할 수 있는가?

주요 결과

  • SourceFinder는 다섯 가지 레포지토리 메타데이터 필드를 기반으로 89% 정밀도, 86% 재현율, 87% F1 점수를 달성하여 악성코드 레포지토리를 식별한다.
  • 본 연구는 GitHub에서 7,504개의 악성코드 소스코드 레포지토리를 식별하여 현재까지 알려진 바 중 가장 큰 비상업적 악성코드 소스코드 데이터베이스를 구성한다.
  • 신규 악성코드 레포지토리의 수는 매 4년마다 3배 이상 증가하고 있어 급속도로 확장되는 생태계임을 시사한다.
  • 18명의 악성코드 저자는 일관된 기여, 높은 레포지토리 품질, 강력한 온라인 명성 등을 보이며 전문가 수준의 행동 패턴을 보인다.
  • 유사한 메타데이터 구조와 공개 레포지토리 접근 권한을 가진 GitLab, BitBucket 등의 다른 공공 코드 아카이브로도 이 접근법이 일반화될 수 있다.
  • 저자는 향후 연구를 지원하기 위해 SourceFinder 모델과 정제된 악성코드 소스코드 데이터베이스를 공개할 계획이다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.