본문으로 건너뛰기

WASM 리버싱으로 웹 보안 포인트 찾기

최근 프론트엔드에서 민감 로직을 WebAssembly로 숨기는 경우가 많습니다. WASM은 브라우저에서 실행되지만 결국 바이너리라서 리버싱 포인트가 생깁니다.

빠른 분석 흐름

  • 수집: DevTools → Network에서 .wasm 다운로드
  • 디스어셈블: wasm2wat로 WAT 변환 후 문자열/상수 스캔
  • 로직 파악: 입력 검증, 토큰 생성, 암호화 루틴 위치 찾기
  • 우회 시도: JS glue 코드에서 호출 인자/반환값 훅킹

보안 체크리스트

  • 클라이언트 검증만 믿지 않기 (서버 재검증 필수)
  • 키/시크릿을 WASM에 포함하지 않기
  • 난독화보다 위협 모델 명확화가 우선

WASM은 “보안 강화”가 아니라 “분석 난이도 상승”에 가깝습니다. 결국 공격자는 WAT로 읽고, JS로 우회합니다.