Security

BlackMamba

폴리모픽 바이러스 생성 엔진. 실행할 때마다 코드가 자동 변이 — 동일한 시그니처가 두 번 나오지 않음. 백신의 패턴 매칭을 원리적으로 무력화. 국내 백신 엔진 아키텍처를 근본적으로 바꾸게 만든 도구. 1999년 배포 중지.

v2.0·등록 1997년 11월 1일·업데이트 1999년 4월 1일·다운로드 0
#바이러스#폴리모픽#변이엔진#Assembly#소스공개#배포중지
다운로드v2.0
다운로드 파일이 준비 중입니다.
배포 영구 중지 · 소스코드 삭제

이 프로그램은 1999년 4월, 백신 산업 자체를 위협하는 수준의 기술로 판단되어 영구 배포 중지되었습니다.

개요

BlackMamba폴리모픽(Polymorphic) 바이러스 생성 엔진입니다. 이 도구로 만들어진 바이러스는 실행될 때마다 자신의 코드를 완전히 다른 형태로 변이시킵니다. 같은 바이러스가 복제되어도, 두 개의 복사본은 단 한 바이트도 동일하지 않습니다.

1997년, 백신은 바이러스의 고유한 바이트 패턴(시그니처)을 데이터베이스에 등록하고 이를 탐지하는 방식이었습니다. BlackMamba는 이 시그니처 기반 탐지의 근본적 한계를 증명했습니다.

폴리모픽 엔진의 원리

BlackMamba의 변이 엔진은 순수 x86 Assembly로 작성되었습니다:

  • 코드 치환MOV AX, BXPUSH BX / POP AX로 치환하는 등, 동일한 동작을 다른 명령어로 재작성
  • 레지스터 치환 — 사용하는 레지스터를 매번 무작위로 변경
  • 쓰레기 코드 삽입 — 실행에 영향 없는 무의미한 명령어를 무작위 위치에 삽입
  • 암호화 레이어 — 핵심 코드를 매번 다른 키와 알고리즘으로 암호화
  • 디코더 변이 — 암호를 해제하는 디코더 자체도 매번 다른 형태로 생성

결과적으로 하나의 바이러스에서 수학적으로 10억 개 이상의 고유한 변종이 생성될 수 있었습니다.

백신 산업에 미친 영향

BlackMamba의 등장은 한국 백신 업계에 존재론적 위기를 불러왔습니다:

"시그니처를 등록해도 다음 감염에서는 완전히 다른 형태로 나타난다. 패턴 매칭으로는 원리적으로 탐지가 불가능하다."
— 당시 백신 개발자

이 사건은 한국 백신 엔진이 단순 시그니처 매칭에서 휴리스틱 분석, 행위 기반 탐지, 에뮬레이션 엔진으로 전환하는 계기가 되었습니다. V3의 아키텍처 전면 개편이 이 시기에 시작되었습니다.

배포 중지

BlackMamba의 폴리모픽 엔진이 다른 바이러스 제작자들에게 라이브러리로 활용되기 시작했습니다. 엔진만 가져다 쓰면 누구나 탐지 불가능한 바이러스를 만들 수 있었습니다. 백신 산업 자체의 존립을 위협하는 수준이었습니다.

  • 폴리모픽 엔진 소스코드 완전 삭제
  • 배포 서버 폐쇄
  • 바이러스 관련 도구 개발 영구 중단
  • 이후 백신 업체에 기술 자문 비공식 협력

"백신을 무력화하는 것이 목표가 아니었다. 시그니처 매칭의 한계를 증명하고 싶었을 뿐이다. 하지만 증명은 파괴와 구분되지 않았다."

기술 사양

개발 언어x86 Assembly (MASM)
소스코드6,500줄 순수 Assembly (현재 삭제)
핵심 기술폴리모픽 엔진, 코드 치환, 레지스터 로테이션, 다중 암호화
변종 생성 수수학적으로 10억+ 고유 변종 가능
지원 OSDOS / Windows 95 / 98
엔진 크기2,800 바이트
개발 기간1997년 11월 ~ 1999년 2월
최종 상태영구 배포 중지 · 소스 삭제 (1999년 4월)

버전 히스토리

v2.0최신
1999.02.15
최종 버전. 디코더 변이 엔진 완성 — 10억+ 고유 변종 생성. 다중 암호화 알고리즘. 이후 배포 영구 중단.
v1.5
1998.06.01
쓰레기 코드 삽입 모듈 추가. 암호화 레이어(XOR/ADD/ROL 3종). Windows 98 지원.
v1.0
1997.11.01
최초 공개. 기본 폴리모픽 엔진 — 코드 치환 + 레지스터 로테이션. DOS/Win95 지원. Assembly 소스 배포.