Abstract
A Sandbox has been widely used to prevent damages caused by running of unknown malicious codes. It prevents damages by containing running environment of a program. There is a trade-off in using sandbox, between configurability and ease-of-use. MAPbox, an instance system of sandbox, had employed sandbox classification technique to satisfy both configurability and ease-of-use [1]. However, the configurability of MAPbox can be improved further. In this paper, we introduce a technique to attach dynamic class facility to MAPbox and implement MAPbox-advanced one. Newly generated class in our system has an access control with proper privileges. We show an example for improvements which denote our system have increased the configurability of MAPbox. It was determined as abnormal by MAPbox although is not. Our system could determine it as normal. We also show our techniques to overcome obstacles to implement the system.
알려지지 않은 악성 코드의 수행에 의한 피해를 막는 방법으로 프로그램의 실행 환경을 제한하는 '샌드박스' 기법이 많이 쓰여져 왔다. 코드의 비정상 행위를 탐지하는 이 기법은 구현 방식에 따라 적용성(configurability)과 편리성(ease of use) 간의 양면성(trade-off)을 가진다. 기존의 MAPbox는 이 두 가지를 동시에 만족 키기 위해 프로그램의 클래스별로 특정 샌드박스를 두는 클래스별 샌드박스 적용 기법을 사용한다[1]. 그러나, 이 방법은 정적으로 클래스의 수와 특성이 결정되므로 적용성에 한계가 있다. 본 논문에서는 MAPbox의 개념에 동적 클래스 생성 기능을 추가함으로써 적용성을 높이는 기법을 소개하고 이를 구현한다. 새로이 생성된 클래스에는 적절한 접근 제어를 가한다. MAPbox에 비해 적용성이 높아진 예로 MAPbox에서는 정상행위이지만 비정상행위로 판단되는 경우가 제안된 기법을 통해 올바르게 판단됨을 보인다. 또한 이 기법을 분석하고 실제로 구현하기 위해 어떠한 문제를 해결하였는지 보인다.