백신 프로젝트 진행 후기

Hae_To·2025년 3월 20일

🔍 개요

이전 글에서는 YARA 룰을 활용하여 트로이 목마(RAT) 및 가짜 업데이트 악성코드(FakeUpdates)를 탐지하는 백신을 개발하는 과정을 소개했습니다. 이 백신은 가볍고 간편하게 실행할 수 있다는 장점이 있어, 접근성과 편의성을 높이기 위해 크롬 익스텐션으로 확장하기로 계획했습니다.

이번 글에서는 크롬 익스텐션 통합 과정과 테스트 결과를 공유하며, 발생한 문제점과 개선 방향을 다루겠습니다.


1️⃣ 테스트 백신 개발 (YARA 룰 기반 탐지)

먼저, YARA 룰을 이용하여 악성코드를 탐지하는 백신을 만들었습니다.

  • 목표: 트로이 목마(RAT) 및 가짜 업데이트 멀웨어(FakeUpdates)를 탐지
  • 방법: 악성코드 샘플로부터 특징적인 문자열과 행동 패턴을 추출하여 YARA 룰 작성
  • 추가 기능: C2 서버와의 연결을 감지하는 기능 포함

코드를 실행하면, 지정된 디렉토리와 현재 실행 중인 프로세스를 모두 검사하여 악성코드를 탐지하도록 설계하였습니다.


2️⃣ 백신의 크롬 익스텐션화

YARA 룰 기반 백신을 좀 더 쉽게 사용할 수 있도록, 크롬 익스텐션으로 만들기로 했습니다.

💡 크롬 익스텐션화의 목적

  • 악성 웹사이트와의 통신을 차단
  • 사용자가 브라우저를 통해 악성코드를 다운로드할 때 실시간으로 탐지
  • 사용자 편의성을 높이고, 빠른 탐지 및 경고 제공

💡 구현 방법

  • chrome.webRequest API를 이용하여 악성 사이트 접속 감지
  • chrome.downloads.onDeterminingFilename API로 다운로드되는 파일 검사
  • 브라우저 내에서 실행되는 악성 JavaScript 감지 기능 추가

3️⃣ 탐지율 문제 및 테스트 결과

하지만, 실제 테스트 과정에서 여러 문제가 발견되었습니다.

🔍 문제점 1: 낮은 탐지율

  • YARA 룰을 작성할 때, 엄격하게 검증하지 않은 룰을 적용한 것이 문제였습니다.
  • 몇 가지 간단한 특징을 기반으로 룰을 작성하다 보니, 탐지할 수 있는 악성코드의 수가 매우 적었습니다.

🔍 문제점 2: C2 서버 감지 기능의 한계

  • C2 서버 연결 감지 기능을 넣었지만, 많은 RAT 악성코드는 탐지되지 않았습니다.
  • C2 서버 연결 방식이 매우 다양하여 모든 경우를 커버하지 못했습니다.

🔍 문제점 3: 크롬 익스텐션에서의 탐지 오류

  • 크롬 익스텐션으로 만들고 테스트를 진행했을 때, 경고창과 검사 결과 안내는 정상적으로 표시되었지만, 정작 악성코드를 탐지하지 못했습니다.
  • 이는 백신 코드가 웹페이지의 악성 스크립트를 탐지하는 방식이 부정확했기 때문입니다.

4️⃣ 개선 방향 및 앞으로의 계획

💡 문제를 해결하기 위한 접근 방식

  1. YARA 룰의 정밀도 개선:

    • 샘플 데이터를 더 많이 확보하여, 보다 정확하게 악성코드를 탐지할 수 있는 룰 작성 필요
  2. 탐지 방식의 확장:

    • 정적 분석(YARA) 외에도, 동적 분석(행동 기반 탐지)이상 탐지(머신러닝 기반) 기능 추가 예정
  3. 크롬 익스텐션의 탐지 로직 수정:

    • 웹사이트 트래픽 분석 기능을 강화하고, 다운로드되는 파일의 해시 값을 검사하는 기능 추가 예정
    • 웹페이지 내에서 비정상적인 자바스크립트 호출을 탐지할 수 있는 방식 추가
  4. 서버와의 연동 테스트:

    • 백엔드 서버와의 통신을 통해 탐지 결과를 기록하고 분석하는 시스템 구축 예정

🚀 결론

이번 시도는 크롬 익스텐션에서 백신을 구현하는 첫 번째 단계였습니다.
비록 탐지율이 낮고 오류가 발생하였지만, 이러한 문제를 개선하고 다시 시도할 계획입니다.
다음 단계에서는 YARA 룰을 개선하고, 크롬 익스텐션의 탐지 기능을 강화하여 보다 효과적인 백신을 만들겠습니다.

profile
진인사대천명

0개의 댓글