동적 클래스 계층구조를 이용한 MAPbox상에서의 악성코드 탐지 기법

Detecting Malicious Codes with MAPbox using Dynamic Class Hierarchies

  • 김철민 (아주대학교 정보통신전문대학원) ;
  • 이성욱 (신구대학 인터넷정보과) ;
  • 홍만표 (아주대학교 정보및정보통신공학부)
  • 발행 : 2004.12.01

초록

알려지지 않은 악성 코드의 수행에 의한 피해를 막는 방법으로 프로그램의 실행 환경을 제한하는 '샌드박스' 기법이 많이 쓰여져 왔다. 코드의 비정상 행위를 탐지하는 이 기법은 구현 방식에 따라 적용성(configurability)과 편리성(ease of use) 간의 양면성(trade-off)을 가진다. 기존의 MAPbox는 이 두 가지를 동시에 만족 키기 위해 프로그램의 클래스별로 특정 샌드박스를 두는 클래스별 샌드박스 적용 기법을 사용한다[1]. 그러나, 이 방법은 정적으로 클래스의 수와 특성이 결정되므로 적용성에 한계가 있다. 본 논문에서는 MAPbox의 개념에 동적 클래스 생성 기능을 추가함으로써 적용성을 높이는 기법을 소개하고 이를 구현한다. 새로이 생성된 클래스에는 적절한 접근 제어를 가한다. MAPbox에 비해 적용성이 높아진 예로 MAPbox에서는 정상행위이지만 비정상행위로 판단되는 경우가 제안된 기법을 통해 올바르게 판단됨을 보인다. 또한 이 기법을 분석하고 실제로 구현하기 위해 어떠한 문제를 해결하였는지 보인다.

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.

키워드

참고문헌

  1. Anurag Acharya and Mandar Raje, 'MAPbox : Using Parametererized Behavior Classes to Confine Aplications,' Computer Science Technical Report TRCS99-15, 1999
  2. Scott Oaks, JAVA Security, pp.120-135, O'REILLY, 1999
  3. Ian Goldberg, David Wagner, Randi Thomas and Eric A. Brewer, 'A Secure Environment for Untrusted Helper Applications,' Proceedings of the 1996 USENIX Security Symposium, p.207, 1996
  4. Roland Biischkes, Mark Borning and Dogan Kesdogan, 'Transaction-based Anomaly Detection,' Proceedings of the Workshop on Intrusion Detection and Network Monitoring, Vol.1, p.146, 1999
  5. W. Richard Stevens, Advanced Programming in the UNIX Environment, p.287, Addison Wesley 1998
  6. M. Beck, H Bohme, M Dziadzka, U Kunitz, R Magnus, D Verwomer, LINUX KERNEL INTERNALS, p.324, Addison Wesley, 1999
  7. Stephen Prata, C++ Primer Plus, pp.140-210, the White Group, 1995
  8. G. Edjlali, A. Acharya, and V. Chaudhary, 'History-based access control for mobile code,' Proceedings of the Fifth ACM Conference on Computer and Communication Security, Vol.1, p.68, 1998 https://doi.org/10.1145/288090.288102
  9. T. Gamble, 'Implementing execution controls in Unix,' Proceedings of the 7th System Administration Conference, Vol.1, pp.237-242, 1993
  10. P. Karger, 'Limiting the damage potential of the discretionary Trojan horse,' Proceedings of the 1987 IEEE Symposium on Reserch in Security and Privacy, Vol.1, p.182, 1987
  11. C. Ko, G. Fink, and K. Levitt, 'Automated detection of vulnerabilities in privileged programs by execution monitoring,' Proceedings. 10th Annual computer Security Applications Conference, Vol.1, pp.l34-144, 1994 https://doi.org/10.1109/CSAC.1994.367313
  12. N. Mehta and K. Sollins. Extending and expanding the security features of Java. In Proceedings of the 1998 USENIX Security Symposium, 1998
  13. F. Schneider. Enforceable security policies. Technical report, Dept of Computer Science, Cornell university, 1998
  14. L. Gong. New security architectural directions for Java. In Proceedings of IEEE COMPCON97, 1997 https://doi.org/10.1109/CMPCON.1997.584679
  15. T. Jaeger, A. Rubin, and A. Prakash, 'Building systems that flexibly control downloaded executable content,' Proceedings of the Sixth USENIX Security Symposium, Vol.1, p.139, 1996
  16. 김철민, 홍만표, 예홍진, 조은선, 이철원, '샌드박스의 동적 클래스 계층구조를 통한 악성코드 탐지 기법', 정보보호연구회 발표 논문집, Vol.1, pp. 2001. 2
  17. 김철민, 임영환 홍만표, 예홍진, 조은선, '샌드박스의 동적 클래스 계층구조를 통한 악성코드 탐지 기법의 설계', 한국정보처리학회 춘계학술발표논문집 제8권제1호, 2001. 4
  18. Cholmin Kim, Younghwan Lim, Manpyo Hong, Sunho Hong and Eunsun Cho, 'Design Mechanism for Malicious Code Detection with Sandboxes in Dynamic Class Hierarchies,' Proceeding of the 1st ACIS Annual International Conference on Computer and Irformation Science ICIS'01, 2001. 10
  19. IBM, 'The Sandbox,' Developer Works, http://wwwl0.lotus.com/ldd/sandbox.nsf, 2004
  20. Security Company, Digital Sandbox, 'Sandbox Solutions,' http://www.dsbox.comlcompany/index. html, 2003