DOI QR코드

DOI QR Code

Detection of Unknown Malicious Scripts Using Static Analysis

정적 분석을 이용한 알려지지 않은 악성 스크립트 감지

  • 이성욱 (아주대학교 대학원 컴퓨터공학과) ;
  • 배병우 ((주)트라이튼테크 연구원) ;
  • 이형준 (아주대학교 정보통신전문대학원) ;
  • 조은선 (충북대학교 전기전자 및 컴퓨터학부) ;
  • 홍만표 (아주대학교 정보 및 컴퓨터공학부)
  • Published : 2002.10.01

Abstract

Analyzing the code using static heuristics is a widely used technique for detecting unknown malicious codes. It decides the maliciousness of a code by searching for some fragments that had been frequently found in known malicious codes. However, in script codes, it tries to search for sequences of method calls, not code fragments, because finding such fragments is much difficult. This technique makes many false alarms because such method calls can be also used in normal scripts. Thus, static heuristics for scripts are used only to detect malicious behavior consisting of specific method calls which is seldom used in normal scripts. In this paper. we suggest a static analysis that can detect malicious behavior more accurately, by concerning not only the method calls but also parameters and return values. The result of experiments show that malicious behaviors, which were difficult to detect by previous works, due to high false positive, will be detected by our method.

정적 휴리스틱 분석은 알려지지 않은 악성 코드를 감지하는데 널리 사용되는 기법으로, 악성 코드에 보편적으로 존재하는 코드 조각들을 탐색하여 대상 코드의 악성 여부를 판단한다. 그러나, 스크립트로 작성된 악성 코드에서는 정형화된 코드 조각들을 찾아내기 어려우므로, 특정한 메소드 호출들의 존재만을 검사하는 것이 보편적이다. 이러한 감지 방식은 높은 감지 오류율을 보이게 되는데, 이는 많은 메소드들이 일반 스크립트에서도 빈번하게 사용될 수 있는 것들임에 기인한다. 따라서, 현재 정적 휴리스틱 분석은 일반 스크립트에서 거의 사용되지 않는 특별한 메소드 호출들로 이루어진 악성 행위만을 감지하는데 제한적으로 사용되고 있다. 본 논문에서는 메소드 호출 뿐 아니라 이에 관련된 파라미터와 리턴 값까지 고려하여 악성 행위 패턴을 정확하게 감지함으로써 이러한 단점을 극복할 수 있는 정적 분석 기법을 제안하고 그 구현을 제시한다. 또한, 구현된 시스템 상에서의 실험을 통해, 높은 긍정 오류 때문에 기존 기법의 적용이 어려웠던 악성 행위가 제안된 기법으로 감지될 수 있음을 보인다.

Keywords

References

  1. Alex Shipp, 'Heuristic Detection of Viruses within Email,' virus bulletin conference, 2001
  2. CERTCC-KR, '2000년 5월 바이러스 통계', http://www.certcc.or.kr/statistics/virus/virus-200005.html, 2000
  3. Francisco Femandez, 'Heuristic Engines,' 11th International Virus Bulletin Conference, 2001
  4. Igor Muttik, 'Stripping down an AV Engine,' Virus Bulletin Conference, 2000
  5. Vesselin Bontchev, 'Macro Virus Identification Problems,' 7th International Virus Bulletin Conference, 1997 https://doi.org/10.1016/S0167-4048(97)80275-1
  6. Eugene H. Spafford, 'Computer Viruses as Artificial Life,' Journal of Artificial Life, MIT Press, 1994
  7. Sandeep Kumar, Eugene H. Spafford, 'A Generic Virus Scanner in C++,' Purdue University Technical Report CSD-TR-92-062, 1992
  8. Mark Kennedy, 'Script-Based Mobile Threats,' Symantec White Paper, 2000
  9. Baudouim Le Charler, Morton Swimmer, Abdelaziz Mounji, 'Dynamic detection and classification of computer viruses using general behaviour patterns,' Fifth International Virus Bulletin Conference, Boston, pp.20-22, September, 1995
  10. Symantec AntiVirus Research Center, 'Understanding Heuristic,' Symantec White Paper, 1998
  11. Gabor Szappanos, 'VBA Emulator Engine Design,' Virus Bulletin Conference, 2001
  12. Gene H. Kim, Eugene H. Spafford, 'The Design and Implementation of Tripwire : A File System Integrity Checker,' ACM Conference on Computer and Communications Security, 1994 https://doi.org/10.1145/191177.191183
  13. The WildList Organization International, 'PC Viruses In-the-Wild-February, 2002,' http://www.wildlist.org/WildList/200202.htm, 2002
  14. Tim Hollebeek and Dur Berrier,' Interception, Wrapping and Analysis Framework for Win32 Scripts,' Cigital Labs https://doi.org/10.1109/DISCEX.2001.932174