라이브러리 샌드박싱: 보안으로 가는 가시밭길

2025-05-11
라이브러리 샌드박싱: 보안으로 가는 가시밭길

이 글에서는 샌드박싱된 라이브러리를 구축하는 데 따르는 중대한 어려움을 자세히 살펴봅니다. 저자는 위협 모델, 메모리 변조, 언어 간 상호 운용성, 코드 재사용 등의 문제점을 분석합니다. 반사, 전역 메서드, 네이티브 메서드와 같은 기능 때문에 Java와 같은 언어조차도 완벽한 샌드박싱에 어려움을 겪습니다. 기능 기반 프로그래밍 언어인 Joe-E는 Java의 기능을 크게 제한하지만 샌드박싱된 라이브러리 설계에 귀중한 통찰력을 제공합니다. 하지만 이러한 접근 방식은 "신 객체" 문제를 야기하여 단일 객체가 모든 권한을 제어해야 하며, 이는 우수한 객체 지향 설계 원칙에 위배됩니다. Chrome의 Mojo 시스템은 프로세스 간 통신을 기반으로 하는 샌드박싱 솔루션을 제공하지만 불안정한 API, 코드 재사용의 어려움, 성능 오버헤드와 같은 문제에 직면합니다. 결론적으로, 안전한 샌드박싱된 라이브러리를 구축하는 것은 여전히 복잡하고 미해결된 문제로 남아 있습니다.

개발 샌드박싱