샌드박스 (컴퓨터 보안)
보이기
샌드박스(sandbox)란 외부로부터 들어온 프로그램이 보호된 영역에서 동작해 시스템이 부정하게 조작되는 것을 막는 보안 형태이다.
호스트 머신이나 운영 체제에 손상을 입히지 않고 확인되지 않거나 신뢰할 수 없는 서드파티, 공급자, 사용자, 웹사이트로부터 잠재적으로 테스트되지 않거나 신뢰하지 못하는 프로그램이나 코드를 실행하기 위해 종종 사용된다.[1]
고도로 제어되는 환경을 제공한다는 측면에서 샌드박스는 가상화의 특정 예시로 간주할 수 있다. 샌드박스는 소프트웨어가 호스트 장치에 위험을 주지 않게 하면서 바이러스나 기타 악성 코드를 포함할 수 있는 미검증된 프로그램을 테스트하기 위해 종종 사용된다.[2]
자바의 샌드박스
[편집]이 문단의 내용은 출처가 분명하지 않습니다. (2012년 7월) |
- 자바(Java)가 지원하는 기본 보안 소프트웨어로, 1996년 1월 발표된 JDK(Java development kit:자바개발도구)1.0부터 제공되고 있다. 외부에서 받은 프로그램을 JVM(Java Virtual Machine)이라는 보호된 영역 안에 가둔 뒤 작동시키는 방법으로 프로그램의 폭주나 악성 바이러스의 침투를 막는다.
- 자바가 제공하는 샌드박스는 네트워크를 통해 전송받은 애플릿의 시스템 자원에 대한 접근을 제한한다. 샌드박스에서 접근을 허용한 애플릿은 작업이 가능하지만 그렇지 않은 경우는 로컬파일을 읽거나 바꿀 수 없게 하는 방법으로 시스템의 피해를 방지한다.
- 샌드박스는 클래스 로더(class loader), 바이트코드 검사기(bytecode verifier), 보안관리자(security manager)의 콤포넌트로 구성된다. 각 콤포넌트는 시스템의 신뢰성을 유지하는 역할을 한다.
일반적 의미
[편집]- 샌드박스는 실험적 의미의 프로그램을 연결하는 곳을 지칭하기도 한다. 따라서, 실제 적용 이전에 먼저 샌드박스로 연결하여 테스트하라는 것은 작동은 실제와 같으나 금융상 또는 ��률상의 실제행위는 일어나지 않는 것을 뜻한다. 모의 테스트라는 의미이다.
같이 보기
[편집]각주
[편집]- ↑ Goldberg, Ian; Wagner, David; Thomas, Randi; Brewer, Eric (1996). “A Secure Environment for Untrusted Helper Applications (Confining the Wily Hacker)” (PDF). 《Proceedings of the Sixth USENIX UNIX Security Symposium》. 2011년 10월 25일에 확인함.
- ↑ Geier, Eric (2012년 1월 16일). “How to Keep Your PC Safe With Sandboxing”. TechHive. 2014년 7월 12일에 원본 문서에서 보존된 문서. 2014년 7월 3일에 확인함.
![]() |
이 글은 소프트웨어에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |
![]() |
이 글은 보안에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |