피드로 돌아가기
I Built a Local Linux Binary Sandbox in Python — Zero Cloud, Zero Root
Dev.toDev.to
Security

Linux Namespace와 strace 기반의 Zero-Cloud 로컬 바이너리 샌드박스 구현

I Built a Local Linux Binary Sandbox in Python — Zero Cloud, Zero Root

Usman2026년 6월 18일4intermediate

Context

VirusTotal과 같은 Cloud 기반 분석의 데이터 유출 위험 및 VM/Cuckoo Sandbox의 과도한 리소스 소모로 인한 분석 지연 발생. 단순 동작 확인을 위한 가벼운 로컬 분석 워크플로우의 부재를 해결하고자 함.

Technical Solution

  • unshare 명령어를 활용한 User, Mount, Network Namespace 격리로 타겟 바이너리의 시스템 영향도 최소화 및 네트워크 통신 차단
  • strace를 통한 실시간 Syscall 캡처 및 패턴 매칭 기반의 행위 분석 엔진 설계
  • pyelftools 라이브러리를 이용해 실행 전 ELF 헤더, Security Mitigations, UPX 패킹 여부를 확인하는 정적 분석 레이어 구축
  • /etc/ld.so.preload와 같은 공통 라이브러리 접근으로 인한 False Positive를 제거하는 방어적 파싱 로직 적용
  • Python subprocess 모듈 기반의 제어 루프로 샌드박스 환경의 생명주기 관리 및 결과 리포팅 자동화

1. Linux Namespace(unshare)를 통한 최소 권한 격리 환경 구축 검토

2. Syscall Tracing 도입 시 런타임 엣지 케이스에 대응하는 방어적 파싱 전략 수립

3. 정적 분석(ELF Inspection)과 동적 분석(Behavioral Tracing)의 단계적 결합을 통한 탐지 정확도 향상

원문 읽기