Researchers Compare Malware Development in Rust vs C and C++
Researchers Compare Malware Development in Rust vs C and C++
The research cites a 2023 study from Rochester Institute of Technology that confirmed several technical advantages of Rust for malware development.
gbhackers.com
- Rust 언어의 악성코드 개발 활용 증가
- Bishop Fox의 Nick Cerne 연구원은 Rust 언어가 C/C++ 대비 리버스 엔지니어링 난이도 증가, 서명 기반 탐지 회피 측면에서 악성코드 개발에 유리하다고 분석
- Rust, Go, Nim은 고급 난독화, 디버깅 회피, 정적 분석 혼란화를 자연스럽게 지원함
- Rust 컴파일러(rustc)의 최적화 특성
- Rust 컴파일된 바이너리는 C/C++보다 바이너리 크기가 크고 복잡한 어셈블리 출력을 생성
- 예시: 동일 기능을 수행하는 쉘코드 로더
- C 버전 크기: 71.7KB
- Rust 버전 크기: 151.5KB
- 예시: 동일 기능을 수행하는 쉘코드 로더
- Ghidra, IDA Free 등 리버스 엔지니어링 도구가 Rust 바이너리에서 함수 경계, 변수 추적, 메모리 흐름 분석에 취약
- Rust 컴파일된 바이너리는 C/C++보다 바이너리 크기가 크고 복잡한 어셈블리 출력을 생성
- 자동 분석 우회 효과
- Rust 악성코드는 정적 분석 도구에서 FP/FN(오탐/미탐) 발생률이 높음
- 최적화된 LLVM 기반 어셈블리 출력은 일반적인 분석 흐름 해석을 방해
- 실무 적용: 파일 매핑 주입(File Mapping Injection)
- VirtualAlloc 계열 API 대신 CreateFileMapping, MapViewOfFile, MapViewOfFileNuma2 등 비감시 API 사용
- 테스트 시나리오
- Rust 악성코드 드로퍼가
calc.exe
쉘코드를notepad.exe
에 주입 - 이후 Sliver C2 프레임워크 기반 HTTPS C2 페이로드 연결로 확장
- Rust 악성코드 드로퍼가
- 개발자 환경 노출 가능성
- Rust는 디버깅 정보에 절대 경로 포함
- OPSEC 측면에서 개발 환경 정보 노출 가능성 존재
- 빌드 시
--remap-path-prefix
옵션 등으로 대응 필요
- Rust는 디버깅 정보에 절대 경로 포함
- 결론
- Rust는 기술적 분석 회피 효과, 비표준 API 활용 용이성, C2 통신의 유연한 암호화 적용성 등으로 악성코드 제작에 매력적인 플랫폼으로 부상
- 보안 솔루션은 Rust, Go, Nim 기반 악성코드의 비정형 바이너리 특징과 메모리 기반 행동 분석 강화가 필수
'Kant's IT > Issue on IT&Security' 카테고리의 다른 글
악성 AI 도구 급증과 LLM 플랫폼 침해 증가 분석 (0) | 2025.05.07 |
---|---|
CVE-2025-26633: Water Gamayun의 MSC EvilTwin 기법을 통한 MUIPath 악용 분석 (0) | 2025.05.07 |
CAPE 악성코드 분석 샌드박스 플랫폼 기능 분석 (0) | 2025.05.07 |
정식 도구 및 브라우저 확장을 악용한 악성코드 유포 기법 고도화 분석 (1) | 2025.05.07 |
SnakeKeylogger: 다단계 인포스틸러의 은밀한 자격 증명 탈취 캠페인 분석 (0) | 2025.05.07 |