피드로 돌아가기
GeekNewsSecurity
원문 읽기
sogen - 고성능 Windows & Linux 유저스페이스 에뮬레이터
Syscall 레벨 후킹 기반 고성능 Windows 유저스페이스 에뮬레이터 구현
AI 요약
Context
Python 기반 에뮬레이터의 느린 후킹 속도와 API 재구현 방식의 낮은 신뢰성으로 인한 분석 효율 저하 발생. 특히 Denuvo와 같은 고도화된 DRM 분석 시 정적/동적 분석의 한계를 극복할 고성능 실행 제어 환경 필요.
Technical Solution
- API 재구현 대신 syscall 레벨 동작 설계를 통한 기존 시스템 DLL 활용 및 호환성 확보
- C++ 기반 구현과 JIT 백엔드(Unicorn, Hyper-V 등) 채택을 통한 실행 속도 극대화
- Windows 고유 메모리 타입(Reserved/Committed) 지원을 위한 커스텀 메모리 관리 계층 구축
- PE 로더 구현을 통한 DLL 매핑, Relocation, TLS 처리 등 완전한 실행 환경 제공
- SEH(Structured Exception Handling) 및 라운드 로빈 스케줄링 기반의 쓰레딩 모델 구현
- GDB 시리얼 프로토콜 인터페이스 제공을 통한 외부 디버거 연동 환경 구축
실천 포인트
복잡한 바이너리 분석 환경 설계 시
1. 분석 대상의 API 의존성 확인,
2. 재구현 범위와 시스템 콜 가로채기 비용 비교,
3. JIT 엔진 기반의 실행 가속화 방안 검토