1 |
1
학습 대상 문서에 포함된 자바스크립트를 동적으로 실행하여 자바스크립트 함수의 제1 호출 시퀀스를 추출하고, 상기 제1 호출 시퀀스로부터 제1 특징 벡터(feature vector)를 추출하는 시퀀스 추출 모듈; 및상기 제1 특징 벡터를 이용하여 상기 학습 대상 문서에 악성 스크립트의 포함 여부를 결정하는 분류기 모델을 학습하는 분류기 학습 모듈을 포함하고,상기 제1 특징 벡터는 상기 제1 호출 시퀀스의 길이, 상기 제1 호출 시퀀스에 포함된 함수의 종류 개수, 상기 제1 호출 시퀀스의 엔트로피, 상기 제1 호출 시퀀스의 N-gram, 상기 제1 호출 시퀀스 내에서 반복적으로 수행되는 반복 서브-시퀀스의 종류, 상기 반복 서브-시퀀스의 개수, 상기 제1 호출 시퀀스에 포함된 호출 스택(stack)의 개수, 상기 호출 스택의 종류, 상기 호출 스택의 평균 깊이(depte) 및 상기 호출 스택의 최대 깊이 중 적어도 하나 이상을 포함하고,상기 시퀀스 추출 모듈은 상기 제1 호출 시퀀스를 미리 정해진 길이로 분할함으로써, 분할된 호출 시퀀스를 추출하여 상기 제1 특징 벡터에 추가로 포함시키는,자바스크립트 분석 장치
|
2 |
2
제1항에 있어서,상기 시퀀스 추출 모듈은 분석 대상 문서를 동적으로 실행하여 자바스크립트 함수의 제2 호출 시퀀스를 추출하고, 상기 제2 호출 시퀀스로부터 제2 특징 벡터를 추출하고,상기 자바스크립트 분석 장치는, 학습된 분류기 모델을 이용하여 상기 분석 대상 문서에 악성 스크립트의 포함 여부를 결정하는 분류 모듈을 더 포함하는,자바스크립트 분석 장치
|
3 |
3
제2항에 있어서,상기 학습 대상 문서와 상기 분석 대상 문서는 HTML(Hypertext Markup Langjage) 문서인,자바스크립트 분석 장치
|
4 |
4
삭제
|
5 |
5
제2항에 있어서,상기 제2 특징 벡터는 상기 제2 호출 시퀀스의 길이, 상기 제2 호출 시퀀스에 포함된 함수의 종류 개수, 상기 제2 호출 시퀀스의 엔트로피, 상기 제2 호출 시퀀스의 N-gram, 상기 제2 호출 시퀀스 내에서 반복적으로 수행되는 반복 서브-시퀀스의 종류, 상기 반복 서브-시퀀스의 개수, 상기 제2 호출 시퀀스에 포함된 호출 스택(stack)의 개수, 상기 호출 스택의 종류, 상기 호출 스택의 평균 깊이(depte) 및 상기 호출 스택의 최대 깊이 중 적어도 하나 이상을 포함하는,자바스크립트 분석 장치
|
6 |
6
제1항에 있어서,상기 분류기 학습 모듈은 서포트 벡터 머신(support vector machine, SVM), 의사 결정 나무(decision tree), 랜덤 포레스트(random forest), 나이브 베이지안(naive bayesian), 로지스틱 회귀분석(logistic regression), 인공 신경망(artificial neural network), 심층 신경망(deep neural network), 컨볼루션 신경망(convolutional neural network) 및 순환형 신경망(recurrent neural network) 중 적어도 하나 이상의 알고리즘을 포함하는 기계 학습 알고리즘을 이용하여 상기 분류기 모델을 학습하는,자바스크립트 분석 장치
|
7 |
7
학습 단계와 분석 단계를 포함하고, 자바스크립트 분석 장치에서 수행되는 자바스크립트 분석 방법에 있어서,상기 학습 단계는,상기 자바스크립트 분석 장치에 포함되는 시퀀스 추출 모듈이 학습 대상 문서에 포함된 자바스크립트를 동적으로 실행하여 자바스크립트 함수의 제1 호출 시퀀스를 추출하는 단계;상기 시퀀스 추출 모듈이 상기 제1 호출 시퀀스로부터 제1 특징 벡터를 추출하는 단계; 및상기 자바스크립트 분석 장치에 포함되는 분류기 학습 모듈이 상기 제1 특징 벡터를 이용하여 상기 학습 대상 문서에 악성 스크립트의 포함 여부를 결정하는 분류기 모델을 학습하는 단계를 포함하고,상기 분석 단계는,상기 시퀀스 추출 모듈이 분석 대상 문서를 동적으로 실행하여 자바스크립트 함수의 제2 호출 시퀀스를 추출하고, 상기 제2 호출 시퀀스로부터 제2 특징 벡터를 추출하는 단계; 및상기 자바스크립트 분석 장치에 포함되는 분류 모듈이 학습된 분류기 모델을 이용하여 상기 분석 대상 문서에 악성 스크립트의 포함 여부를 결정하는 단계를 포함하고,상기 학습 대상 문서와 상기 분석 대상 문서는 HTML 문서이고,상기 제1 특징 벡터는 상기 제1 호출 시퀀스의 길이, 상기 제1 호출 시퀀스에 포함된 함수의 종류 개수, 상기 제1 호출 시퀀스의 엔트로피, 상기 제1 호출 시퀀스의 N-gram, 상기 제1 호출 시퀀스 내에서 반복적으로 수행되는 제1 반복 서브-시퀀스의 종류, 상기 제1 반복 서브-시퀀스의 개수, 상기 제1 호출 시퀀스에 포함된 제1 호출 스택(stack)의 개수, 상기 제1 호출 스택의 종류, 상기 제1 호출 스택의 평균 깊이(depte) 및 상기 제1 호출 스택의 최대 깊이 중 적어도 하나 이상을 포함하고,상기 제1 특징 벡터는 상기 제1 호출 시퀀스를 미리 정해진 길이로 분할함으로써, 추출된 분할된 호출 시퀀스를 상기 제1 특징 벡터에 추가로 포함하는,자바스크립트 분석 방법
|
8 |
8
제7항에 있어서,상기 제2 특징 벡터는 상기 제2 호출 시퀀스의 길이, 상기 제2 호출 시퀀스에 포함된 함수의 종류 개수, 상기 제2 호출 시퀀스의 엔트로피, 상기 제2 호출 시퀀스의 N-gram, 상기 제2 호출 시퀀스 내에서 반복적으로 수행되는 제2 반복 서브-시퀀스의 종류, 상기 제2 반복 서브-시퀀스의 개수, 상기 제2 호출 시퀀스에 포함된 제2 호출 스택(stack)의 개수, 상기 제2 호출 스택의 종류, 상기 제2 호출 스택의 평균 깊이(depte) 및 상기 제2 호출 스택의 최대 깊이 중 적어도 하나 이상을 포함하는,자바스크립트 분석 방법
|
9 |
9
제7항에 있어서,상기 분류기 학습 모듈은 서포트 벡터 머신(support vector machine, SVM), 의사 결정 나무(decision tree), 랜덤 포레스트(random forest), 나이브 베이지안(naive bayesian), 로지스틱 회귀분석(logistic regression), 인공 신경망(artificial neural network), 심층 신경망(deep neural network), 컨볼루션 신경망(convolutional neural network) 및 순환형 신경망(recurrent neural network) 중 적어도 하나 이상의 알고리즘을 포함하는 기계 학습 알고리즘을 이용하여 상기 분류기 모델을 학습하는,자바스크립트 분석 방법
|