웹 페이지에서 다양한 서비스를 제공하면서 악성코드가 웹 페이지를 통해 배포되는 것도 늘어났다. 악성코드는 개인정보 유출, 시스템의 성능저하, 시스템의 좀비 피씨화 등의 피해를 입힌다. 이런 피해를 막으려면 악성코드가 있는 웹 페이지의 접근을 막아야 한다. 그런데 웹 페이지에 있는 악성코드는 난독화나 변형기법으로 위장하고 있어 기존 안티바이러스 소프트웨어가 사용하는 시그니처 방식의 접근법으로 찾아내기 어렵다. 이를 해결하기 위하여, 웹 페이지를 분석하여 악성 웹 페이지와 양성 웹 페이지를 구별하기 위한 특징을 추출하고, 기계 학습법으로 널리 사용되는 SVM을 통하여 악성 웹 페이지를 분류하는 방법을 제안한다. 제안하는 방법이 우수함을 실험을 통하여 보인다. 제안한 방법으로 악성 웹 페이지를 정확히 분류하면 웹 페이지를 통한악성코드의 배포를 막는데 이바지할 것이다.
웹 페이지에서 다양한 서비스를 제공하면서 악성코드가 웹 페이지를 통해 배포되는 것도 늘어났다. 악성코드는 개인정보 유출, 시스템의 성능저하, 시스템의 좀비 피씨화 등의 피해를 입힌다. 이런 피해를 막으려면 악성코드가 있는 웹 페이지의 접근을 막아야 한다. 그런데 웹 페이지에 있는 악성코드는 난독화나 변형기법으로 위장하고 있어 기존 안티바이러스 소프트웨어가 사용하는 시그니처 방식의 접근법으로 찾아내기 어렵다. 이를 해결하기 위하여, 웹 페이지를 분석하여 악성 웹 페이지와 양성 웹 페이지를 구별하기 위한 특징을 추출하고, 기계 학습법으로 널리 사용되는 SVM을 통하여 악성 웹 페이지를 분류하는 방법을 제안한다. 제안하는 방법이 우수함을 실험을 통하여 보인다. 제안한 방법으로 악성 웹 페이지를 정확히 분류하면 웹 페이지를 통한악성코드의 배포를 막는데 이바지할 것이다.
As web pages provide various services, the distribution of malware via the web pages is being also increased. Malware can make personal information leak, system mal-function and system be zombie. To protect this damages, we should block the malicious web pages. Because the malicious codes embedded i...
As web pages provide various services, the distribution of malware via the web pages is being also increased. Malware can make personal information leak, system mal-function and system be zombie. To protect this damages, we should block the malicious web pages. Because the malicious codes embedded in web pages are obfuscated or transformed, it is difficult to detect them using signature-based approaches which are used by current anti-virus software. To overcome this problem, we extracted features to classify malicious web pages and benign ones by analyzing web pages. And we propose a classification method using SVM which is widely used in machine learning. Experimental results show that the proposed method is better than other methods. The proposed method could classify malicious web pages correctly and be helpful to block the distribution of malicious codes.
As web pages provide various services, the distribution of malware via the web pages is being also increased. Malware can make personal information leak, system mal-function and system be zombie. To protect this damages, we should block the malicious web pages. Because the malicious codes embedded in web pages are obfuscated or transformed, it is difficult to detect them using signature-based approaches which are used by current anti-virus software. To overcome this problem, we extracted features to classify malicious web pages and benign ones by analyzing web pages. And we propose a classification method using SVM which is widely used in machine learning. Experimental results show that the proposed method is better than other methods. The proposed method could classify malicious web pages correctly and be helpful to block the distribution of malicious codes.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
이런 실험결과가 나온 이유는 학습에 사용한 데이터가 176개로 충분하지 않고, 학습에 사용한 데이터로 그대로 테스트에 사용했으므로 학습 데이터에 최적화된 Boosted 결정 트리가 좋은 결과를 낸 것으로 보인다. 본 연구는 기본특징을 조합하여 상대적인 특징을 만들고, 충분히 많은 데이터로 학습을 하여 분류율을 향상시켰다.
오탐율이 높은 이유는 학습에 사용한 특징이 충분하지 않거나 단순한 결정 트리에서 오는 것으로 보인다. 본 연구는 더 우수한 특징과 기계학습을 통한 분류율 향상이 목표이다.
본 연구는 악성 웹 페이지를 탐지하기 위하여 악성 웹 페이지에서 공통으로 발견되는 특징을 조사하고, 이 특징을 기계학습 방법으로 학습하여 악성 웹 페이지를 분류하는 방법을 연구한다. 악성코드가 일반적으로 가지는 특성들을 추출하고, 이들을 상대적으로 비교하기 쉬우며 악성코드의 특성을 더 드러내도록 서로 조합하였다.
조합한 특징으로 악성/양성 웹 페이지에 대해 분석하여 제안한 특징의 우수함을 조사하였다. 특징만으로 악성 웹 페이지를 분류하는데 한계가 있으므로 더나은 분류율을 얻기 위하여 기계학습 방법을 연구하였다. 기계학습법 중에 일반화 능력이 우수하여 최근 널리 사용하는 SVM(support vector machine)을 채택하여 학습시켰으며 실험을 통하여 제안한 방법의 우수함을 보였다.
가설 설정
이 방법으로 난독화된 스크립트를 효과적으로 찾아내었다. 자바 스크립트의 eval()과 document.write()함수를 위험한 함수로 가정한다. 그런데 Feinstein과 Peck의 연구에 따르면 악성 웹페이지보다 양성 웹 페이지에서 document.
제안 방법
Yung-Tsung Hou팀은 결정트리, Naive Bayes, SVM, Boosted 결정트리의 4가지 기계학습 방법으로 악성 웹 페이지를 분류하는 연구를 수행했다 [2]. 154개 자바함수의 사용 횟수, 9가지 HTML 문서 특징, 8가지 ActivX 객체의 사용 횟수를 특징으로 사용하였다. 실험결과 Boosted 결정트리가 가장 좋은 결과를 보였다.
2절의 데이터를 libsvm이 요구하는 형식에 맞게 바꿔주었다. RBF 커널 함수에 필요한 매개 변수 C와 g를 libsvm 이 제공하는 grid 툴을 사용하여 결정하였다. 그리드 방식은 매개 변수를 아주 큰 값을 주어 학습을 시키고, 그 다음 매우 작은 값을 주어 학습을 시켜서 그 결과를 비교하여 결과가 좋아지도록 큰 값은 작게 하고, 작은 값을 크게 하면서 가장 최적의 매개 변수 값을 찾아 나가는 방식이다.
write()가 더 많이 사용되고, eval()함수도 흔히 사용된다[12]. 본 연구에서는 단순한 척도만이 아니라 척도를 조합한 후, 기계 학습을 통하여 분류율의 향상을 꾀하였다.
악성 웹 페이지를 탐지하기 위하여 양성 웹 페이지와 악성 웹 페이지를 분석하여 이 둘을 분류하기 위한 기본 특징 14개를 추출하고, 웹 페이지의 크기에 영향을 받지 않도록 기본 특징 14개를 조합한 확장 특징 16개를 제시하였다. 확장 특징 16개를 입력으로 하여 일반화 능력이 우수한 SVM을 학습 시켜서 학습하지 않은 테스트 데이터에 대해 실험하였다.
예를 들어, 스크립트의 길이는 5,000이상일 수 있지만 함수의 수는 수백 개 이내이다. 웹 페이지의 크기에 상관없는 비교를 위하여 기본 척도를 활용하여 표 2와 같은 16가지 확장 척도를 개발하였다.
이런 특징을 그대로 사용하면 상대적으로 값이 큰 특징에 많은 영향을 받게 되어 분류율이 떨어진다. 이를 해결하기 위하여 16개의 특징값을 모두 0과 1사이의 값으로 정규화하였다.
악성코드가 일반적으로 가지는 특성들을 추출하고, 이들을 상대적으로 비교하기 쉬우며 악성코드의 특성을 더 드러내도록 서로 조합하였다. 조합한 특징으로 악성/양성 웹 페이지에 대해 분석하여 제안한 특징의 우수함을 조사하였다. 특징만으로 악성 웹 페이지를 분류하는데 한계가 있으므로 더나은 분류율을 얻기 위하여 기계학습 방법을 연구하였다.
악성 웹 페이지를 탐지하기 위하여 양성 웹 페이지와 악성 웹 페이지를 분석하여 이 둘을 분류하기 위한 기본 특징 14개를 추출하고, 웹 페이지의 크기에 영향을 받지 않도록 기본 특징 14개를 조합한 확장 특징 16개를 제시하였다. 확장 특징 16개를 입력으로 하여 일반화 능력이 우수한 SVM을 학습 시켜서 학습하지 않은 테스트 데이터에 대해 실험하였다. 실험 결과 분류율이 94.
대상 데이터
SVM을 학습시키기 위하여 양성 데이터를 250개, 악성 데이터를 250개씩 선정하였다. 여기에서 데이터는 3.
분모가 0인 경우 척도값을 0으로 처리한다. 선택하는 기준은 3.2절의 웹 페이지 분석을 참고하여 휴리스틱으로 선정하였다.
SVM을 학습시키기 위하여 양성 데이터를 250개, 악성 데이터를 250개씩 선정하였다. 여기에서 데이터는 3.1절의 확장 척도에 따라 웹 페이지에서 추출한 데이터이다. 학습 데이터가 두 부류의 모든 경우를 포함하도록 추출되면 이상적이지만 미리 알 수 없으므로 순서대로 250개를 선정하였다.
1절의 확장 척도에 따라 웹 페이지에서 추출한 데이터이다. 학습 데이터가 두 부류의 모든 경우를 포함하도록 추출되면 이상적이지만 미리 알 수 없으므로 순서대로 250개를 선정하였다. 확보한 데이터가 양성이 훨씬 많지만 악성 웹 페이지를 잘 찾아내는 것이 양성 웹 페이지를 악성으로 오판하는 것보다 나으므로 두 부류의 학습 데이터의 비율을 같게 하였다.
확보한 데이터가 양성이 훨씬 많지만 악성 웹 페이지를 잘 찾아내는 것이 양성 웹 페이지를 악성으로 오판하는 것보다 나으므로 두 부류의 학습 데이터의 비율을 같게 하였다. 학습에 사용하지 않은 나머지 데이터(양성: 2,354, 악성: 194)를 테스트 데이터로 활용하였다.
한국인터넷진흥원(KISA)에서 수집한 2,604개의 양성 웹페이지와 444개의 악성 웹 페이지[14]를 분석하여 악성 웹페이지를 찾는데 도움이 되는 특징을 14개 추출하였다.
성능/효과
Seifert팀은 악성 웹 페이지를 분류하기 위한 휴리스틱 방법을 제시했다[13]. 기계 학습법의 하나인 결정 트리를 이용 하였는데 악성 웹 페이지를 찾지 못하는 오탐율이 46.15%로 높게 나왔다. 오탐율이 높은 이유는 학습에 사용한 특징이 충분하지 않거나 단순한 결정 트리에서 오는 것으로 보인다.
특징만으로 악성 웹 페이지를 분류하는데 한계가 있으므로 더나은 분류율을 얻기 위하여 기계학습 방법을 연구하였다. 기계학습법 중에 일반화 능력이 우수하여 최근 널리 사용하는 SVM(support vector machine)을 채택하여 학습시켰으며 실험을 통하여 제안한 방법의 우수함을 보였다.
8%로 높게 나왔다. 다른 연구결과와 제안한 방법의 실험결과를 비교하여 보면 제안한 방법의 FP가 10.3%으로 매우 양호함을 알 수 있다. 표 5의 각 연구결과가 서로 다른 데이터를 사용하여 객관적인 비교는 어렵지만 대략의 경향을 확인할 수 있다.
확장 특징 16개를 입력으로 하여 일반화 능력이 우수한 SVM을 학습 시켜서 학습하지 않은 테스트 데이터에 대해 실험하였다. 실험 결과 분류율이 94.1%이며, 악성 웹 페이지만을 대상으로 했을 때, 89.7%를 찾아내었다. 실험결과가 기존 방법보다 우수하여 제안한 특징과 SVM이 악성 웹 페이지 분류에 유용함을 알 수 있다.
실험 결과 악성을 양성으로 잘못 분류한 FP(false positive) 가 10.3%이며, 전체 분류율은 94.1% (2,397/2,548)이다. 이 결과를 보고된 다른 결과와 비교하면 다음과 같다.
154개 자바함수의 사용 횟수, 9가지 HTML 문서 특징, 8가지 ActivX 객체의 사용 횟수를 특징으로 사용하였다. 실험결과 Boosted 결정트리가 가장 좋은 결과를 보였다. 이런 실험결과가 나온 이유는 학습에 사용한 데이터가 176개로 충분하지 않고, 학습에 사용한 데이터로 그대로 테스트에 사용했으므로 학습 데이터에 최적화된 Boosted 결정 트리가 좋은 결과를 낸 것으로 보인다.
7%를 찾아내었다. 실험결과가 기존 방법보다 우수하여 제안한 특징과 SVM이 악성 웹 페이지 분류에 유용함을 알 수 있다.
표 5의 각 연구결과가 서로 다른 데이터를 사용하여 객관적인 비교는 어렵지만 대략의 경향을 확인할 수 있다. 실험을 통해 제안한 16개 확장 특징이 악성 웹 페이지를 분류하는데 유용한 특징이며 SVM의 일반화 능력을 활용하면 FP를 낮출수 있음을 알 수 있다.
실험결과 Boosted 결정트리가 가장 좋은 결과를 보였다. 이런 실험결과가 나온 이유는 학습에 사용한 데이터가 176개로 충분하지 않고, 학습에 사용한 데이터로 그대로 테스트에 사용했으므로 학습 데이터에 최적화된 Boosted 결정 트리가 좋은 결과를 낸 것으로 보인다. 본 연구는 기본특징을 조합하여 상대적인 특징을 만들고, 충분히 많은 데이터로 학습을 하여 분류율을 향상시켰다.
제안한 방법에 의하여 악성 웹 페이지를 미리 분류하여 탐지할 수 있으며, 이를 통해 사용자에 의한 악성 웹 페이지로의 방문을 차단하여 악성코드가 전파되는 것을 막을 수 있다.
7%이었다. 테스트 데이터에 대해 결과가 좋은 분류기는 베이시언 분류기로 FP가 10.5%였다. 양성 데이터를 악성으로 오분류하는 FN(false negative) 값은 제시되지 않았다.
후속연구
이 중 몇 개를 어떻게 선택하는 것이 좋은지에 대한 좀 더 정교한 연구가 필요하다. 제안한 확장척도는 휴리스틱에 의해 결정되었지만 특징선택법에 의해 선택하면 더 좋은 결과를 얻을 수 있을 것이다.
질의응답
핵심어
질문
논문에서 추출한 답변
악성코드가 웹 페이지에서 유포되는 패턴으로 무엇이 사용되는가?
그런데 웹페이지를 변경하는 것은 실행코드를 바꾸는 것보다 쉬우므로 빈번한 변경이 일어나서 시그니처의 변경이 상대적으로 느린 안티 바이러스 소프트웨어의 탐지 능력이 떨어지게 된다[2]. 악성코드가 웹 페이지에서 유포되는 패턴으로 iframe 태그를 이용하면서 width 값을 0으로 하여 브라우저가 알 수없게 하거나 EMBED, OBJECT, SCRIPT, LINK 등의 태그를 활용하는 방법, 자바스크립트 함수를 삽입하는데 문자열을 바로 알아보지 못하게 난독화(obfuscation)하는 방법 등이 사용된다. 스크립트 함수의 경우 다양한 문자열 조작 함수를 통해 최종 악성코드를 만들어내므로 단순한 시그니처 방식으로 탐지하기 어렵다[7-10].
악성코드는 어떤 피해를 입히는가?
웹 페이지에서 다양한 서비스를 제공하면서 악성코드가 웹 페이지를 통해 배포되는 것도 늘어났다. 악성코드는 개인정보 유출, 시스템의 성능저하, 시스템의 좀비 피씨화 등의 피해를 입힌다. 이런 피해를 막으려면 악성코드가 있는 웹 페이지의 접근을 막아야 한다.
악성 웹페이지를 찾는데 SoF는 어떤요소로 사용되는가?
•SoF(Size of File) : 파일의 크기, 악성 웹페이지와 정상 웹페이지의 크기가 통계적으로 크게 다르지 않다. 확장 특징에서 비율을 구하기 위한 요소로 사용된다.
참고문헌 (15)
L.C. Tae, J.H, Oh and H,C. Jeong, "Study of the Technique Trend and Analysis Method of Recent Malaware," Communications of the KIISE, Vol.28, No.11, pp.117-125. Nov. 2010.
Y.-T. Hou, Y. Chang, T. Chen, C.-S. Laih and C.-M. Chen, "Malicious web content detection by machine learning," Expert Systems with Applications, Vol.378, pp.55-60, 2010.
IBM X-Force Team, "IBM X-Force 2010 Trend and Risk Report", IBM Published, March, 2011
ByungHa Choi and Kyungsan Cho, "An Improved Detecting Scheme of Malicious Codes using HTTP Outbound Traffic," Journal of the KSCI, Vol.14, No.9 pp.47-54, Aug. 2009. (in Korean)
Hee-Hwan Park and Dea-Woo Park, "A Study on Treatment Way of a Malicious Code to injected in Windows System File," Journal of the KSCI, Vol.14, No.2, pp.255-262, De. 2006. (in Korean)
Chong-Woo Woo and Kyoung-Hui Ha, "A Development of Malware Detection Tool based on Signature Patterns," Journal of the KSCI, Vol.10, No.6, pp.127-136, De. 2005. (in Korean)
N. Proves, D. McNamee, et al., "The Ghost In The Browser Analysis of Web-based Malware", Proc.Of the first USENIX workshop on hot topic in Botnets, 2007.4
B. Kim, C. Im, H. Jung, "Suspicious Malicious Web Site Detection with Strength Analysis of a JavaScript Obfuscation", International Journal of Advanced Science and Technology, Vol.26, pp.19-32, Jan, 2011.
Peter Likarish, E. Jung, I. Jo, "Obfuscated Malicious JavaScript Detection using Classification Techniques", in 4th International Conference on Malicious and Unwanted Software, pp.47-54, 2009.
H. Chang, M. Kim, D. Kim, J. Lee, H. Kim, and S. Cho, "An Implementation of System for Detecting and Filtering Malicious URLs," Journal of KIISE:Computing Practices and Letters, Vol.16, No.4, pp.405-414, Apr. 2010. (in Korean)
Y. Choi, T. Kim, and S. Choi, "Automatic Detection for JavaScript Obfuscation Attacks in Web Pages through String Pattern Analysis", International Journal of Security and Its Applications, Vol.4, No.2, pp.13-26, Apr. 2010.
B. Feinstein and D. Peck, "Caffeine Monkey: Automated Collection, Detection and Analysis of Malicious JavaScript", Black Hat USA, 2007.
Christian Seifert, Ian Welch, Peter Komisarczuk, "Identification of Malicious Web Pages with Static Heuristics," Telecommunication Networks and Applications Conference, pp.91-96, Dec. 2008.
J. Lee, J. Moon, S. Cho, Y. Lee, M. Park, and W. Choi, "Malicious Web Page Detection Using Malicious Code Spreading Pattern," The 3rd International Conference on Internet (ICONI 2011), pp.195-200, Dec. 2011.
Chih-Chung Chang and Chih-Jen Lin, LIBSVM: a library for support vector machines, 2001. Software available at http://www.csie.ntu.edu.tw/-cjlin/libsvm.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.