PE Notes · 보안
샌드박스와 화이트박스
격리 실행으로 행동을 보는 샌드박스와 내부를 열어 보는 화이트박스를 분석·암호 구현 두 축으로 비교하고, 우회와 키 추출 한계를 같은 표에 올립니다.
모르는 코드를 돌릴 때와, 키를 단말 메모리에 둘 때는 질문이 갈립니다. 전자는 실제 시스템과 떨어뜨려 행동을 볼 수 있는가, 후자는 내부를 다 보여도 키가 안 나오는가입니다. 와 화이트박스는 둘 다 “가시성” 이야기지만, 한쪽은 가시성을 제한하고 다른 쪽은 가시성을 전제로 둡니다.
두 개념을 한 자리에
샌드박스는 의심 파일·URL을 VM·컨테이너·에뮬레이터·OS 격리 안에서 실행하고, 파일·레지스트리·네트워크·프로세스만 기록합니다. 화이트박스는 테스트에서는 소스와 구조를 전부 아는 분석이고, 암호에서는 공격자가 CPU·메모리를 통째로 보는 모델입니다.
| 비교축 | 블랙박스 | 그레이박스 | 화이트박스 |
|---|---|---|---|
| 분석자 지식 | 입출력만 | 일부 내부 | 소스·구조 전부 |
| 악성코드 | 샌드박스 동적 관찰 | 동적 + 일부 정적 | 정적 역공학 |
| 소프트웨어 테스트 | 기능 확인 | 통합 구간 | 경로·커버리지 |
| 장점 | 실제 외부자 시각, 자동화 | 균형 | 깊은 결함, 코드 품질 |
| 단점 | 내부 오류를 놓치기 쉬움 | 범위 설계가 필요 | 시간·비용 |
| 침투 테스트 | 외부자 시나리오 | 제한된 내부 정보 | 내부자 시나리오 |
시큐어코딩이 “쓰기 전에 닫는 규칙”이라면, 여기서는 돌린 뒤 무엇을 보느냐입니다.
구현과 관찰 항목
구현은 VM, 네임스페이스 컨테이너, CPU 에뮬레이션, OS 앱 격리, 브라우저 사이트 격리로 나뉩니다. 관찰은 파일 변경, 네트워크, 프로세스 주입, API 호출입니다. 암호 쪽 화이트박스는 AES 라운드와 키를 룩업 테이블에 섞어, 메모리에 키가 드러나지 않게 합니다.
| 유형 | 한 줄 | 대표 |
|---|---|---|
| VM | 게스트 전체를 가둔다. | KVM, 데스크톱 하이퍼바이저 |
| 컨테이너 | 커널을 공유하되 네임스페이스로 가둔다. | gVisor, Kata |
| 에뮬레이션 | CPU·OS를 흉내 내 여러 환경을 본다. | QEMU 계열 분석기 |
| OS·브라우저 | 앱·탭을 프로세스 단위로 가둔다. | 모바일 앱 격리, 사이트 격리 |
완전히 안전한 화이트박스 AES는 아직 어렵습니다. 테이블을 통째로 가져가 키를 역산한 사례가 있어, DRM·결제 단말에서는 난독화·가상화와 겹쳐 씁니다.
우회와 같이 쓰기
악성코드는 분석을 기다렸다가 움직이거나, VM 장치·마우스 없음·빈 프로세스를 보고 잠을 잡니다. 이를 라고 부릅니다. 대응은 대기 시간을 늘리고, 가상화 흔적을 숨기며, 과 을 같이 돌리는 것입니다.
| 비교축 | 샌드박스 우회 | 화이트박스 한계 |
|---|---|---|
| 상대 | 분석 VM·자동화 | 메모리·디버거를 가진 공격자 |
| 수법 | 대기, VM 핑거프린트, 사용자 행동 요구 | 테이블 추출, 부채널 |
| 대응 | 시간 조작, 흔적 은닉, 정적 병행 | 난독화, 키 분리, 원격 증명 |
BPFdoor처럼 커널에 남는 백도어는 사용자 공간 샌드박스만으로는 안 보입니다. 딥러닝 취약점의 적대 입력도 “모델 내부가 열린 분석”과 맞닿습니다. 답안에는 격리 실행과 내부 가시성을 지식 축으로 비교하면 충분합니다.