KR101564999B1 - 스크립트진단장치 및 스크립트 진단 방법 - Google Patents

스크립트진단장치 및 스크립트 진단 방법 Download PDF

Info

Publication number
KR101564999B1
KR101564999B1 KR1020150012171A KR20150012171A KR101564999B1 KR 101564999 B1 KR101564999 B1 KR 101564999B1 KR 1020150012171 A KR1020150012171 A KR 1020150012171A KR 20150012171 A KR20150012171 A KR 20150012171A KR 101564999 B1 KR101564999 B1 KR 101564999B1
Authority
KR
South Korea
Prior art keywords
diagnostic
script
strings
string
rule
Prior art date
Application number
KR1020150012171A
Other languages
English (en)
Inventor
정태일
Original Assignee
주식회사 안랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 안랩 filed Critical 주식회사 안랩
Priority to KR1020150012171A priority Critical patent/KR101564999B1/ko
Application granted granted Critical
Publication of KR101564999B1 publication Critical patent/KR101564999B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/561Virus type analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은, 스크립트진단장치 및 스크립트 진단 방법이 개시되어 있다. 본 발명의 실시예들은 (진단)문자열의 속성 및 위치관계를 정의하는 새로운 형태의 진단룰(예 : A)을 제시하고, 이러한 진단룰을 이용해서 다양한 형태의 악성스크립트까지 효율적이고 신뢰도 높게 진단해 낼 수 있도록 한다.

Description

스크립트진단장치 및 스크립트 진단 방법{SCRIPT DIAGNOSTICS DEVISE AND SCRIPT DIAGNOSTICS METHOD}
본 발명은 스크립트 진단 기술에 관한 것으로, 더욱 상세하게는 문자열의 속성 및 위치관계를 정의하는 새로운 형태의 진단룰을 제시하고, 이러한 진단룰을 이용해서 다양한 형태의 악성스크립트까지 효율적이고 신뢰도 높게 진단해 낼 수 있는 스크립트진단장치 및 스크립트 진단 방법에 관한 것이다.
현재, 악성스크립트를 진단하는 기술은, 악성스크립트를 분석해 얻은 시그니처를 엔진에 로딩하여 진단룰을 만들고, 엔진에서는 이와 같은 진단룰을 기반으로 진단 대상인 스크립트에 대해 시그니처와의 매칭 여부를 판단함으로써, 진단 대상인 스크립트가 악성스크립트인지 여부를 진단하고 있다.
이와 같은 기존의 진단 방식은, 진단 대상인 스크립트에 대해 단순히 시그니처와의 매칭 여부를 판단한 결과 만을 근거로 하기 때문에, 변형된 악성스크립트가 새롭게 등장한다면 기존의 진단룰로는 진단해낼 수 없는 명백한 한계가 있다.
결국, 기존의 진단 방식에서는 변형된 악성스크립크가 등장할 때마다 분석하여 진단룰을 만들어야 하는데, 그 형태가 다양하게 변형된 수많은 악성스크립트가 매우 빠르게 등장하고 있는 현 추세를 감안한다면, 모든 악성스크립트를 알 수도 없을 뿐 아니라, 모든 악성스크립트를 안다고 해도 모두 분석하여 진단룰로 만드는 것은 거의 불가능하다.
따라서, 기존의 진단 방식이 갖는 한계를 극복하고, 변형된 악성스크립트까지 진단해 낼 수 있는 새로운 진단 방식이 필요하다.
이에, 본 발명에서는, 시그니처(문자열)의 속성 및 위치관계를 정의하는 새로운 형태의 진단룰을 제시하고, 이러한 진단룰을 이용해서 다양한 형태의 악성스크립트까지 효율적이고 신뢰도 높게 진단해 낼 수 있는 방안을 제안하고자 한다.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은 문자열의 속성 및 위치관계를 정의하는 새로운 형태의 진단룰을 제시하고, 이러한 진단룰을 이용해서 다양한 형태의 악성스크립트까지 효율적이고 신뢰도 높게 진단해 낼 수 있는 스크립트진단장치 및 스크립트 진단 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 스크립트 진단 방법은, 다수의 진단문자열 및 상기 다수의 진단문자열 간 위치관계가 포함된 진단룰을 저장하는 룰저장단계; 및 진단 대상이 되는 진단대상 스크립트에 대해 상기 진단룰을 기초로 악성스크립트인지 여부를 진단하여, 동일한 진단룰을 이용한 서로 다른 형태의 악성스크립트 진단이 가능해지도록 하는 악성스크립트진단단계를 포함한다.
상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따른 스크립트진단장치는, 다수의 진단문자열 및 상기 다수의 진단문자열 간 위치관계가 포함된 진단룰을 저장하는 룰저장부; 및 진단 대상이 되는 진단대상 스크립트에 대해 상기 진단룰을 기초로 악성스크립트인지 여부를 진단하여, 동일한 진단룰을 이용한 서로 다른 형태의 악성스크립트 진단이 가능해지도록 하는 진단수행부를 포함한다.
본 발명의 실시예들에 따르면, 문자열의 속성 및 위치관계를 정의하는 새로운 형태의 진단룰을 제시하고, 이러한 진단룰을 이용해서 다양한 형태의 악성스크립트까지 효율적이고 신뢰도 높게 진단해 낼 수 있는 효과를 도출한다.
도 1은 본 발명의 바람직한 실시예에 따른 스크립트진단장치의 구성을 보여주는 구성도이다.
도 2는 본 발명의 바람직한 실시예에 따른 스크립트 진단 방법을 보여주는 흐름도이다.
도 3은 본 발명의 바람직한 실시예에 따라 악성스크립트 여부가 진단된 진단결과를 보여주는 예시도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.
먼저, 도 1을 참조하여 본 발명을 설명하면 다음과 같다. 여기서, 도 1은 본 발명의 바람직한 실시예에 따른 스크립트진단장치의 구성을 보여주고 있다.
도 1에 도시된 바와 같이 본 발명에 따른 스크립트진단장치(100)는, 다수의 진단문자열 및 상기 다수의 진단문자열 간 위치관계가 포함된 진단룰을 저장하는 룰저장부(110)와, 진단 대상이 되는 진단대상 스크립트에 대해 상기 진단룰을 기초로 악성스크립트인지 여부를 진단하여, 동일한 진단룰을 이용한 서로 다른 형태의 악성스크립트 진단이 가능해지도록 하는 진단수행부(120)를 포함한다.
룰저장부(110)는, 다수의 진단문자열 및 그 다수의 진단문자열 간 위치관계가 포함된 진단룰을 저장한다.
이러한 룰저장부(110)에는, 1개 또는 여러 개의 진단룰이 저장될 수 있다. 다만, 이하에서는 설명의 편의를 위해, 룰저장부(110)에 저장된 진단룰(예 : 도 3의 A)을 언급하여 설명하겠다.
보다 구체적으로 설명하면, 분석가(미도시)는 적어도 하나의 악성스크립트를 분석한 결과를 기반으로, 악성스크립트의 특징적인 다수의 진단문자열을 정의할 수 있다.
이때, 후술에서 구체적으로 언급하겠으나, 이처럼 정의한 다수의 진단문자열 각각에는, 분석가(미도시)에 의해 정의된 속성(예 : 고정문자열 속성, 변수문자열 속성, 가변문자열 속성)이 부여된다.
그리고, 분석가(미도시)는, 이처럼 정의한 다수의 진단문자열 간 위치관계를 정의할 수 있다.
이에, 룰저장부(110)에는, 전술과 같이 속성이 부여된 다수의 진단문자열 및 그 다수의 진단문자열 간 위치관계가 포함된 진단룰이 저장될 수 있다.
물론, 다수의 진단문자열은, 스크립트진단장치(100)에서 사용 가능한 형태의 데이터로 변환된 후 룰저장부(110)에 저장될 것이다.
진단수행부(120)는, 진단 대상이 되는 진단대상 스크립트에 대해 룰저장부(110)에 저장된 진단룰을 기초로 악성스크립트인지 여부를 진단한다.
전술에서 언급한 예시와 같이 진단룰(예 : 도 3의 A)을 언급하여 설명하면, 진단수행부(120)는, 진단 대상이 되는 진단대상 스크립트에 대해 룰저장부(110)에 저장된 진단룰(A)을 기초로 악성스크립트인지 여부를 진단할 수 있다.
진단수행부(120)에서 수행하는 악성스크립트 여부 진단 과정을 설명하기에 앞서, 악성스크립트 여부 진단 과정에서 이용되는 진단룰에 대해 보다 구체적으로 설명하겠다.
진단룰에 포함된 다수의 진단문자열에는, 진단문자열을 구성하는 문자 내용과 일치하는 문자열이 존재하는지 확인해야 하는 변경 불가능한 속성의 고정문자열 및 변경 가능한 속성의 변수문자열과, 진단문자열을 구성하는 구성 패턴과 일치하는 문자열이 존재하는지 확인해야 하는 변경 가능한 속성의 가변문자열 중 적어도 하나가 포함될 수 있다.
예를 들면, 도 3에 도시된 진단룰(A)를 언급하여 설명하면, 진단룰(A)에는 다수의 진단문자열(1~4)가 포함된다.
이때, 다수의 진단문자열(1~4) 중에서, 진단문자열(1,4)에는 고정문자열 속성이 부여되고, 진단문자열(2)에는 변수문자열 속성이 부여되고, 진단문자열(3)에는 가변문자열 속성이 부여된 실시예를 가정하고 있다.
이때, 각 진단문자열은, 하나의 단어로 구성될 수 있고 또는 연속된 2 이상의 단어로 구성될 수 있다.
이때, 연속된 2 이상의 단어로 구성되는 진단문자열은, 달리 말하면 2 이상의 단어가 직접 연결되는 관계의 진단문자열을 의미한다.
여기서, 직접 연결되는 관계란, 관계를 형성하는 각 구성요소(즉, 각 단어) 사이에 다른 구성요소(즉, 다른 단어)가 존재하지 않는 관계로 한정된다.
도 3에 도시된 진단룰(A)의 경우, 진단문자열(1,4)은 연속된 2 이상의 단어(동일한 단어 가능, 서로 다른 단어 가능)로 구성되고, 진단문자열(2,3)은 하나의 단어로 구성된 것으로 가정하여 설명하겠다.
진단문자열(1,4) 중 진단문자열(1)을 언급하여 고정문자열 속성에 대해 설명하면, 예컨대 진단문자열(1)은 연속된 단어(1a) 및 단어(1b)로 구성될 수 있고 단어(1a) 및 단어(1b)가 동일한 문자(Malicious)라고 가정할 때, 진단문자열(1)의 문자 내용은 "Malicious Malicious"인 것으로 가정할 수 있다.
이때, 고정문자열 속성을 갖는 진단문자열(1)의 문자 내용 "Malicious Malicious"은 변경이 불가능하다.
악성스크립트 여부 진단 과정에서 진단수행부(120)는, 고정문자열 속성을 갖는 진단문자열(1)에 대해서, 진단문자열(1)의 문자 내용 "Malicious Malicious"과 정확하게 일치하는 문자열이 진단대상 스크립트 내에 있는 경우, 진단대상 스크립트에 진단문자열(1)과 일치하는 문자열이 존재하는 것으로 판단할 수 있다.
한편, 진단문자열(2)을 언급하여 변수문자열 속성에 대해 설명하면, 예컨대 진단문자열(2)을 구성하는 문자 내용은 "121212"인 것으로 가정한다.
이때, 변수문자열 속성을 갖는 진단문자열(2)의 문자 내용 "121212"은 변경이 가능하다.
예를 들면, 진단문자열(2)에는 변수문자열 속성임을 나타내는 변수식별자(예 : #{id}V)를 사용할 수 있다. 이때, {id}는 0 보다 크거나 같은 숫자이며, {id}의 숫자가 같은 변수식별자(예 : #{id}V)를 사용하는 진단문자열 끼리는 동일한 문자 내용을 가져야 한다.
예를 들어, 진단문자열(2)에는, {id}가 0인 변수식별자(예 : #{0}V)가 사용될 수 있다. 이 경우, 스크립트진단장치(100)에서 {id}가 0인 변수식별자(예 : #{0}V)에 대해 문자 내용을 임의로 변경하는 입력(예 : 123123)이 발생하면, 특정 변수식별자(예 : #{0}V)가 사용된 진단문자열 즉 진단룰(A)의 진단문자열(2) 문자 내용이 "123123"으로 변경될 수 있다.
물론, 본 발명에서는, 전술한 방식 외에도, 변수 내용을 변경하는 기존의 다양한 방식을 통해 변수문자열 속성을 갖는 진단문자열의 문자 내용을 변경할 수 있을 것이다.
한편, 진단룰(A)에는, 진단문자열(2)로서, 진단문자열(2)을 구성하는 문자 내용 "121212"이 포함될 수도 있고, 문자 내용 "121212" 대신 진단문자열(2)에 사용된 변수식별자(예 : #{0}V)가 포함될 수도 있다.
진단룰(A)에 변수문자열 속성을 갖는 진단문자열(2)로서 진단문자열(2)을 구성하는 문자 내용 "121212"이 포함된 경우라면, 악성스크립트 여부 진단 과정에서 진단수행부(120)는, 진단문자열(2)의 문자 내용 "121212"과 정확하게 일치하는 문자열이 진단대상 스크립트 내에 있는 경우, 진단대상 스크립트에 진단문자열(2)과 일치하는 문자열이 존재하는 것으로 판단할 수 있다.
또한, 진단룰(A)에 진단문자열(2)로서 진단문자열(2)의 문자 내용 대신 진단문자열(2)에 사용된 변수식별자(예 : #{0}V)가 포함된 경우라면, 악성스크립트 여부 진단 과정에서 진단수행부(120)는, 변수식별자(예 : #{0}V)가 사용된 진단문자열(2)의 문자 내용을 먼저 파악한 후 파악한 문자 내용 "121212"과 정확하게 일치하는 문자열이 진단대상 스크립트 내에 있는 경우, 진단대상 스크립트에 진단문자열(2)과 일치하는 문자열이 존재하는 것으로 판단할 수 있다.
한편, 진단문자열(3)을 언급하여 가변문자열 속성에 대해 설명하면, 예컨대 진단문자열(3)을 구성하는 문자 내용은 "name#V"인 것으로 가정한다.
여기서, #V는 진단문자열(3)가 가변문자열 속성임을 나타내는 가변식별자로서, 이 경우 진단문자열(3)을 구성하는 구성 패턴은 "name"으로 시작하는 불특정 단어로 정의될 수 있다.
이때, 가변문자열 속성을 갖는 진단문자열(3)의 문자 내용 "name#V"은, 변경이 가능하다.
악성스크립트 여부 진단 과정에서 진단수행부(120)는, 가변문자열 속성을 갖는 진단문자열(3)에 대해서, 진단문자열(3) 즉 "name#V"의 구성 패턴("name"으로 시작하는 불특정 단어)과 일치하는 문자열(예 : namevale, name00, namename 등)이 진단대상 스크립트 내에 있는 경우, 진단대상 스크립트에 진단문자열(3)과 일치하는 문자열이 존재하는 것으로 판단할 수 있다.
물론, "name#V" 이외에도 진단문자열(3)의 문자 내용은 가변식별자 #V를 사용하여 다양하게 구성할 수 있고, 이에 대응하여 진단문자열(3)의 구성 패턴 역시 다양해질 수 있다.
전술에서는, 진단룰에 포함된 다수의 진단문자열에 부여 가능한 속성으로서, 고정문자열 속성, 변수문자열 속성, 가변문자열 속성을 정의하고 있으나, 더 다양한 속성을 정의하고 진단룰에 포함되는 진단문자열에 부여(적용)할 수 있다.
예를 들어, 본 발명에서는, 숫자를 나타내는 진단문자열, 특정 스크립트 언어에서 예약어로 사용되는 진단문자열, url형태의 진단문자열, 아이피(IP)를 나타내는 진단문자열, 파일 경로명을 나타내는 진단문자열, tag 진단문자열, 헥사코드 진단문자열, 유니코드를 나타내는 진단문자열 등등의 속성을 더 정의하고 진단룰에 포함되는 진단문자열에 부여(적용)할 수 있으며, 이 외에도 진단문자열의 다양한 속성을 사전에 정의하여 진단룰에 포함되는 진단문자열에 부여(적용)할 수 있다.
한편, 진단룰에 포함된 다수의 진단문자열 간 위치관계는, 진단문자열 사이의 다른 단어 존재 여부와 무관하게 진단문자열 간의 순서를 지정하는 제1위치관계, 진단문자열 사이의 다른 단어 존재 여부 및 진단문자열 간의 순서와 무관하게 진단대상 스크립트 내 존재하는 것을 지정하는 제2위치관계 중 적어도 하나를 포함할 수 있다.
예를 들면, 도 3에 도시된 진단룰(A)를 언급하여 설명하면, 진단룰(A)에 포함된 다수의 진단문자열(1~4) 중, 진단문자열(1) 및 진단문자열(2) 간에는, 진단문자열(1) 및 진단문자열(2) 사이의 다른 단어 존재 여부와 무관하게 진단문자열 간의 순서(진단문자열(1) 다음 진단문자열(2))를 지정하는 제1위치관계(a)가 정의되며, 이때 사용되는 위치관계식은 NEXT로 표현될 수 있다.
즉, 진단룰(A)에서 진단문자열(1) NEXT 진단문자열(2)가 의미하는 바는, 진단문자열(1) 다음에 진단문자열(2)이 존재하는 순서를 유지하며 연결된 관계, 즉 진단문자열(1)이 진단문자열(2) 보다 먼저 존재하면 진단문자열(1) 및 진단문자열(2) 사이에 다른 단어가 존재해도 무방함을 의미한다.
또한, 진단문자열(2) 및 진단문자열(3) 간 역시, 위치관계식 NEXT를 사용하여, 진단문자열(2) 및 진단문자열(3) 사이의 다른 단어 존재 여부와 무관하게 진단문자열 간의 순서(진단문자열(2) 다음 진단문자열(3))를 지정하는 제1위치관계가 정의된다.
즉, 진단룰(A)에서 진단문자열(2) NEXT 진단문자열(3)이 의미하는 바는, 진단문자열(2) 다음에 진단문자열(3)이 존재하는 순서를 유지하며 연결된 관계, 즉 진단문자열(2)가 진단문자열(3) 보다 먼저 존재하면 진단문자열(2) 및 진단문자열(3) 사이에 다른 단어가 존재해도 무방함을 의미한다.
또한, 진단문자열(3) 및 진단문자열(4) 간에는, 진단문자열(3) 및 진단문자열(4) 사이의 다른 단어 존재 여부 및 진단문자열 간의 순서와 무관하게 진단대상 스크립트 내 존재하는 것을 지정하는 제2위치관계(b)가 정의되며, 이때 사용되는 위치관계식은 AND로 표현될 수 있다.
즉, 진단룰(A)에서 진단문자열(3) AND 진단문자열(4)가 의미하는 바는, 진단문자열(2) 및 진단문자열(3)이 존재하는 순서와 무관하게 연결된 관계, 즉 진단문자열(3) 및 진단문자열(4) 중 어느 진단문자열이 먼저 존재해도 무방하고 진단문자열(3) 및 진단문자열(4) 사이에 다른 단어가 존재해도 무방함을 의미한다.
이하에서는, 진단수행부(120)에서 수행하는 악성스크립트 여부 진단 과정을 설명하겠다.
진단수행부(120)는, 진단 대상이 되는 진단대상 스크립트에 대해, 룰저장부(110)에 저장된 진단룰을 기초로 악성스크립트인지 여부를 진단한다.
보다 구체적으로는, 진단수행부(120)는, 진단대상 스크립트에 진단룰에 포함된 다수의 진단문자열과 일치하는 다수의 문자열이 존재하며, 진단대상 스크립트에 존재하는 상기 다수의 문자열 간 위치가 진단룰에 따른 상기 다수의 진단문자열 간 위치관계를 만족하는 경우에, 진단대상 스크립트를 악성스크립트인 것으로 진단하는 것이 바람직하다.
전술과 같이 설명의 편의를 위해 도 3의 진단룰(A)을 언급하여 보다 구체적으로 설명하면 다음과 같다.
일 실시예에 따르면, 진단수행부(120)는, 진단대상 스크립트에 진단룰(A)에 포함된 다수의 진단문자열(1~4)과 일치하는 다수의 문자열이 존재하는지 여부를 먼저 판단할 수 있다.
예를 들면, 진단수행부(120)는, 진단대상 스크립트를 단어(또는, 토큰) 단위로 분해하고, 진단대상 스크립트를 분해하여 얻은 단어들 및 그 단어들로 구성 가능한 문자열과 진단룰(A)에 포함된 다수의 진단문자열(1~4)을 비교하여, 진단대상 스크립트에 다수의 진단문자열(1~4)과 일치하는 다수의 문자열이 존재하는지 여부를 먼저 판단할 수 있다.
이에, 진단수행부(120)는, 진단대상 스크립트에 다수의 진단문자열(1~4)과 일치하는 다수의 문자열이 존재하는 것으로 판단되면, 그 후에 진단대상 스크립트에 존재하는 다수의 문자열 간 위치가 진단룰(A)에 따른 다수의 진단문자열(1~4) 간 위치관계를 만족하는지 여부를 판단할 수 있다.
이에, 진단수행부(120)는, 진단대상 스크립트에 존재하는 다수의 문자열 간 위치가, 진단룰(A)에 따른 다수의 진단문자열(1~4) 간 위치관계를 만족하는 경우에 진단대상 스크립트를 악성스크립트인 것으로 진단하고, 진단룰(A)에 따른 다수의 진단문자열(1~4) 간 위치관계를 만족하지 못하는 경우에 진단대상 스크립트를 악성스크립트가 아닌 것(예 : 정상)으로 진단할 수 있다.
한편, 다른 실시예에 따르면, 진단수행부(120)는, 진단대상 스크립트에 진단룰(A)에 포함된 다수의 진단문자열(1~4)과 일치하는 다수의 문자열이 존재하는지 여부와, 진단대상 스크립트에 존재하는 다수의 문자열 간 위치가 진단룰(A)에 따른 다수의 진단문자열(1~4) 간 위치관계를 만족하는지 여부를, 병렬적으로 판단할 수도 있다.
예를 들면, 진단수행부(120)는, 진단대상 스크립트를 분해하여 얻은 단어들 및 그 단어들로 구성 가능한 문자열과 진단룰(A)에 포함된 다수의 진단문자열(1~4)을 비교하는 과정을 시간 관점으로 볼 때, 진단대상 스크립트에 다수의 진단문자열(1~4) 중 일부의 진단문자열(예 : 1,2)과 일치하는 문자열이 존재하는 것을 판단하고, 그 이후에 나머지의 진단문자열(예 : 3,4)과 일치하는 문자열이 존재하는 것을 판단하게 될 수 있다.
이 경우라면, 진단수행부(120)는, 진단대상 스크립트에 진단문자열(예 : 1,2)과 일치하는 문자열이 존재하는 것을 판단한 시점 이후부터, 진단대상 스크립트에 나머지의 진단문자열(예 : 3,4)과 일치하는 문자열이 존재하는지 여부를 계속해서 판단함과 아울러, 진단문자열(예 : 1,2)과 일치하는 문자열 간 위치가 진단룰(A)에 따른 진단문자열(예 : 1,2) 간 위치관계를 만족하는지 여부를 판단한다.
이에, 진단수행부(120)는, 진단문자열(예 : 1,2)과 일치하는 문자열 간 위치가 진단룰(A)에 따른 진단문자열(예 : 1,2) 간 위치관계를 만족하지 못하는 경우에, 더 이상 나머지의 진단문자열(예 : 3,4)과 일치하는 문자열이 존재하는지 여부를 판단하지 않고 즉시 진단대상 스크립트를 악성스크립트가 아닌 것(예 : 정상)으로 진단할 수 있다.
이하에서는, 도 3에 도시된 진단룰(A)를 언급하여, 본 발명의 스크립트진단장치(100)에서 진단대상 스크립트(예 : 스크립트1,2,3,4)에 대해 악성스크립트 여부를 진단한 진단결과의 예를 설명하도록 하겠다.
도 3에서 알 수 있듯이, 진단룰(A)에는, 다수의 진단문자열(1~4)이 포함되고, 이 중 진단문자열(1,4)은 연속된 2개의 단어(1a 및 1b, 4a 및 4b)로 구성되고, 진단문자열(2,3)은 하나의 단어로 구성된 것으로 가정하여 설명하겠다.
먼저, 진단대상 스크립트로서 스크립트1을 설명하면, 본 발명의 스크립트진단장치(100)는, 스크립트1에 대해 진단룰(A)을 기초로 악성스크립트인지 여부를 진단한 결과, 스크립트1을 악성스크립트가 아닌 것(예 : 정상)으로 진단할 것이다.
그 이유는, 진단문자열(1)는, 연속된 단어(1a) 및 단어(1b)가 직접 연결되는 관계의 진단문자열이므로, 각 단어(1a) 및 단어(1b), 즉 "Malicious" 및 "Malicious" 사이에 다른 단어가 존재하지 않는 관계여야 하는데, 도 3에서 알 수 있듯이, 스크립트1에서는 단어(1a) 및 단어(1b) 사이에 다른 단어가 존재하고 있다.
따라서, 본 발명의 스크립트진단장치(100)는, 스크립트1에는 진단문자열(2,3,4)과 일치하는 문자열은 존재하지만, 진단문자열(1) 즉 연속된 2개의 단어(1a 및 1b)와 일치하는 문자열은 존재하지 않으므로, 스크립트1을 악성스크립트가 아닌 것(예 : 정상)으로 진단하는 것이다.
또한, 진단대상 스크립트로서 스크립트2를 설명하면, 본 발명의 스크립트진단장치(100)는, 스크립트2에 대해 진단룰(A)을 기초로 악성스크립트인지 여부를 진단한 결과, 스크립트2를 악성스크립트가 아닌 것(예 : 정상)으로 진단할 것이다.
그 이유는, 도 3에서 알 수 있듯이, 스크립트2에는 진단문자열(1,2,3)과 일치하는 문자열은 존재하지만 진단문자열(4) 즉 연속된 2개의 단어(4a 및 4b)와 일치하는 문자열은 존재하지 않기 때문이며, 또한 진단문자열(2,3)과 일치하는 문자열 간 위치가 진단문자열(2,3) 간 위치관계 즉 제1위치관계(a, NEXT)를 만족하지 않기 때문이기도 하다.
또한, 진단대상 스크립트로서 스크립트3을 설명하면, 본 발명의 스크립트진단장치(100)는, 스크립트3에 대해 진단룰(A)을 기초로 악성스크립트인지 여부를 진단한 결과, 스크립트3을 악성스크립트인 것으로 진단할 것이다.
그 이유는, 도 3에서 알 수 있듯이, 스크립트3에는 진단문자열(1,2,3,4)과 일치하는 문자열이 모두 존재하고 진단문자열(1,2,3,4)과 일치하는 문자열 간 위치가 진단문자열(1,2,3,4) 간 위치관계 즉 제1위치관계(a, NEXT) 및 제2위치관계(b, AND)를 모두 만족하기 때문이다.
또한, 진단대상 스크립트로서 스크립트4를 설명하면, 본 발명의 스크립트진단장치(100)는, 스크립트4에 대해 진단룰(A)을 기초로 악성스크립트인지 여부를 진단한 결과, 스크립트4를 악성스크립트인 것으로 진단할 것이다.
그 이유는, 도 3에서 알 수 있듯이, 스크립트4에는 진단문자열(1,2,3,4)과 일치하는 문자열이 모두 존재하고 진단문자열(1,2,3,4)과 일치하는 문자열 간 위치가 진단문자열(1,2,3,4) 간 위치관계 즉 제1위치관계(a, NEXT) 및 제2위치관계(b, AND)를 모두 만족하기 때문이다.
따라서, 본 발명의 스크립트진단장치(100)는, 동일한 진단룰(예 : A)을 이용한 서로 다른 형태의 악성스크립트(예 : 스크립트3,4) 진단이 가능해지도록 한다.
이상에서 설명한 바와 같이, 본 발명에서는, (진단)문자열의 속성 및 위치관계를 정의하는 새로운 형태의 진단룰(예 : A)을 제시하고, 이러한 진단룰을 이용해서 다양한 형태의 악성스크립트까지 효율적이고 신뢰도 높게 진단해 낼 수 있는 효과를 도출한다.
더 나아가, 본 발명에서는, 정상적인 스크립트를 악성스크립트인 것으로 오진할 가능성을 줄이기 위한 방안을 더 포함하는 것이 바람직하다.
이를 위해, 룰저장부(110)는, 다수의 오진방지문자열 및 그 다수의 오진방지문자열 간 위치관계가 포함되어 있는 오진방지룰을 더 저장할 수 있다.
이때, 룰저장부(110)에는, 1개 또는 여러 개의 오진방지문자열 이 저장될 수 있다.
그리고, 오진방지룰 역시 진단룰(예 : A)와 마찬가지로, 각 오진방지문자열은 하나의 단어로 구성될 수 있고 또는 연속된 2 이상의 단어로 구성될 수 있고, 다수의 오진방지문자열 각각에 정의된 속성(예 : 고정문자열 속성, 변수문자열 속성, 가변문자열 속성)이 부여되고, 다수의 오진방지문자열 간 위치관계(예 : 제1위치관계, 제2위치관계)가 정의될 수 있다.
그리고, 진단수행부(120)는, 전술의 진단룰(예 : A)을 기초로 한 악성스크립트 여부 진단결과 악성스크립트인 것으로 진단된 진단대상 스크립트에 대하여, 오진방지룰을 만족하는지 판단하여 오진방지룰을 만족하는 경우 악성스크립트가 아닌 것으로 최종 진단할 수 있다.
이에, 본 발명의 스크립트진단장치(100)는, 예를 들어 전술의 도 3에 도시된 바와 같이 진단룰(A)을 기초로 악성스크립트인지 여부를 진단한 결과 스크립트3,4를 악성스크립트인 것으로 진단한 경우라도, 오진방지룰을 만족하는 스크립트(예 : 3)에 대해서는 악성스크립트가 아닌 것으로 최종 진단할 수 있다.
이하에서는, 도 2를 참조하여 본 발명의 바람직한 실시예에 따른 스크립트 진단 방법을 보다 구체적으로 설명하도록 한다. 여기서, 설명의 편의를 위해 전술한 도 1 및 도 3에 도시된 구성은 해당 참조번호를 언급하여 설명하겠다.
설명의 편의를 위해, 본 발명에 따른 스크립트 진단 방법은, 도 1에 도시된 스크립트진단장치(100)에 의해 동작되는 동작 방법인 것으로 언급하여 설명하도록 하겠다.
본 발명에 따른 스크립트진단장치(100)의 동작 방법은, 다수의 진단문자열 및 그 다수의 진단문자열 간 위치관계가 포함된 진단룰을 저장한다(S110).
이때, 1개 또는 여러 개의 진단룰이 저장될 수 있으며, 설명의 편의를 위해, 진단룰(예 : 도 3의 A)을 언급하여 설명하겠다.
진단룰(A)를 언급하여 설명하면, 도 3에 도시된 바와 같이, 진단룰(A)에는 다수의 진단문자열(1~4)가 포함된다.
그리고, 진단룰(A)의 각 진단문자열은 하나의 단어로 구성될 수 있고 또는 연속된 2 이상의 단어로 구성될 수 있고, 다수의 진단문자열 각각에 정의된 속성(예 : 고정문자열 속성, 변수문자열 속성, 가변문자열 속성)이 부여되고, 다수의 진단문자열 간 위치관계(예 : 제1위치관계, 제2위치관계)가 정의될 수 있다.
이하에서는, 도 3에 도시된 바와 같이, 다수의 진단문자열(1~4) 중에서, 진단문자열(1,4)에는 고정문자열 속성이 부여되고, 진단문자열(2)에는 변수문자열 속성이 부여되고, 진단문자열(3)에는 가변문자열 속성이 부여된 실시예를 가정하고, 진단문자열(1,4)은 연속된 2 이상의 단어(동일한 단어 가능, 서로 다른 단어 가능)로 구성되고, 진단문자열(2,3)은 하나의 단어로 구성된 것으로 가정하여 설명하겠다.
더 나아가, 본 발명에 따른 스크립트진단장치(100)의 동작 방법은, 다수의 오진방지문자열 및 그 다수의 오진방지문자열 간 위치관계가 포함되어 있는 오진방지룰을 저장한다(S110).
이때, 1개 또는 여러 개의 오진방지문자열 이 저장될 수 있다.
그리고, 오진방지룰 역시 진단룰(예 : A)와 마찬가지로, 각 오진방지문자열은 하나의 단어로 구성될 수 있고 또는 연속된 2 이상의 단어로 구성될 수 있고, 다수의 오진방지문자열 각각에 정의된 속성(예 : 고정문자열 속성, 변수문자열 속성, 가변문자열 속성)이 부여되고, 다수의 오진방지문자열 간 위치관계(예 : 제1위치관계, 제2위치관계)가 정의될 수 있다.
이후, 본 발명에 따른 스크립트진단장치(100)의 동작 방법은, 진단 대상이 되는 진단대상 스크립트에 대해, 기 저장된 진단룰 및 오진방지룰을 기초로 악성스크립트 여부를 진단하게 된다.
보다 구체적으로 설명하면, 본 발명에 따른 스크립트진단장치(100)의 동작 방법은, 진단 대상이 되는 진단대상 스크립트를 확인하여 진단대상 스크립트를 단어(또는, 토큰) 단위로 분해한다(S120).
그리고, 본 발명에 따른 스크립트진단장치(100)의 동작 방법은, 진단대상 스크립트를 분해하여 얻은 단어들 및 그 단어들로 구성 가능한 문자열과 진단룰을 비교한 결과에 따라, 진단대상 스크립트가 악성스크립트인지 여부를 진단한다(S130).
전술과 같이 설명의 편의를 위해 도 3의 진단룰(A)을 언급하여 보다 구체적으로 설명하면, 본 발명에 따른 스크립트진단장치(100)의 동작 방법은, 진단대상 스크립트를 분해하여 얻은 단어들 및 그 단어들로 구성 가능한 문자열과 진단룰(A)에 포함된 다수의 진단문자열(1~4)을 비교하여, 진단대상 스크립트에 다수의 진단문자열(1~4)과 일치하는 다수의 문자열이 존재하며, 진단대상 스크립트에 존재하는 다수의 문자열 간 위치가 진단룰(A)에 따른 다수의 진단문자열(1~4) 간 위치관계를 만족하는지 여부를 판단한다(S130).
이에, 본 발명에 따른 스크립트진단장치(100)의 동작 방법은, S130단계에서 진단룰(A)를 만족하지 않는 것으로 판단하면(S130 No), 진단대상 스크립트를 악성스크립트가 아닌 것(예 : 정상)으로 진단할 수 있다(S160).
한편, 본 발명에 따른 스크립트진단장치(100)의 동작 방법은, S130단계에서 진단룰(A)를 만족하는 것으로 판단하면(S130 Yes), 진단대상 스크립트에 대하여 오진방지룰을 만족하는지 여부, 즉 진단대상 스크립트를 분해하여 얻은 단어들 및 그 단어들로 구성 가능한 문자열과 오진방지룰에 포함된 다수의 오진방지문자열을 비교하여, 진단대상 스크립트에 다수의 오진방지문자열과 일치하는 다수의 문자열이 존재하며, 진단대상 스크립트에 존재하는 다수의 문자열 간 위치가 오진방지룰에 따른 다수의 오진방지문자열 간 위치관계를 만족하는지 여부를 판단한다(S140).
이에, 본 발명에 따른 스크립트진단장치(100)의 동작 방법은, S140단계에서 오진방지룰을 만족하지 않는 것으로 판단하면(S130 No), 진단대상 스크립트를 악성스크립트인 것으로 최종 진단할 수 있다(S150).
한편, 본 발명에 따른 스크립트진단장치(100)의 동작 방법은, S140단계에서 오진방지룰을 만족하는 것으로 판단하면(S130 Yes), 진단대상 스크립트를 악성스크립트가 아닌 것(예 : 정상)으로 최종 진단할 수 있다(S160).
이상에서 설명한 바와 같이 본 발명에 따른 스크립트진단장치(100)의 동작 방법 즉 본 발명에 따른 스크립트 진단 방법은, (진단)문자열의 속성 및 위치관계를 정의하는 새로운 형태의 진단룰(예 : A)을 제시하고, 이러한 진단룰을 이용해서 다양한 형태의 악성스크립트까지 효율적이고 신뢰도 높게 진단해 낼 수 있는 효과를 도출한다.
본 발명의 일실시예에 따른 스크립트 진단 방법은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
100 : 스크립트진단장치
110 : 룰저장부 120 : 진단수행부

Claims (11)

  1. 다수의 진단문자열 및 상기 다수의 진단문자열 간 위치관계가 포함된 진단룰을 저장하는 룰저장단계; 및
    진단 대상이 되는 진단대상 스크립트에 대해 상기 진단룰을 기초로 악성스크립트인지 여부를 진단하여, 동일한 진단룰을 이용한 서로 다른 형태의 악성스크립트 진단이 가능해지도록 하는 악성스크립트진단단계를 포함하며;
    상기 다수의 진단문자열 간 위치관계는,
    진단문자열 사이의 다른 단어 존재 여부와 무관하게 진단문자열 간의 순서를 지정하는 제1위치관계, 진단문자열 사이의 다른 단어 존재 여부 및 진단문자열 간의 순서와 무관하게 진단대상 스크립트 내 존재하는 것을 지정하는 제2위치관계 중 적어도 하나를 포함하는, 스크립트 진단 방법.
  2. 제 1 항에 있어서,
    상기 악성스크립트진단단계는,
    상기 진단대상 스크립트에 상기 다수의 진단문자열과 일치하는 다수의 문자열이 존재하며, 상기 진단대상 스크립트에 존재하는 상기 다수의 문자열 간 위치가 상기 진단룰에 따른 상기 다수의 진단문자열 간 위치관계를 만족하는 경우에, 상기 진단대상 스크립트를 악성스크립트인 것으로 진단하는 것을 특징으로 하는 스크립트 진단 방법.
  3. 제 1 항에 있어서,
    상기 다수의 진단문자열에는,
    진단문자열을 구성하는 문자 내용과 일치하는 문자열이 존재하는지 확인해야 하는 변경 불가능한 속성의 고정문자열 및 변경 가능한 속성의 변수문자열과, 진단문자열을 구성하는 구성 패턴과 일치하는 문자열이 존재하는지 확인해야 하는 변경 가능한 속성의 가변문자열 중 적어도 하나가 포함되는 것을 특징으로 하는 스크립트 진단 방법.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 악성스크립트인 것으로 진단된 진단대상 스크립트에 대하여, 기 저장된 오진방지룰을 만족하는 경우 악성스크립트가 아닌 것으로 최종 진단하는 오진방지단계를 더 포함하는 것을 특징으로 하는 스크립트 진단 방법.
  6. 제 5 항에 있어서,
    상기 오진방지룰은,
    다수의 오진방지문자열 및 상기 다수의 오진방지문자열 간 위치관계가 포함되어 있는 것을 특징으로 하는 스크립트 진단 방법.
  7. 제 1 항에 있어서,
    상기 진단문자열은,
    하나의 단어 또는 연속된 2 이상의 단어로 구성되는 것을 것을 특징으로 하는 스크립트 진단 방법.
  8. 다수의 진단문자열 및 상기 다수의 진단문자열 간 위치관계가 포함된 진단룰을 저장하는 룰저장부; 및
    진단 대상이 되는 진단대상 스크립트에 대해 상기 진단룰을 기초로 악성스크립트인지 여부를 진단하여, 동일한 진단룰을 이용한 서로 다른 형태의 악성스크립트 진단이 가능해지도록 하는 진단수행부를 포함하며;
    상기 다수의 진단문자열 간 위치관계는,
    진단문자열 사이의 다른 단어 존재 여부와 무관하게 진단문자열 간의 순서를 지정하는 제1위치관계, 진단문자열 사이의 다른 단어 존재 여부 및 진단문자열 간의 순서와 무관하게 진단대상 스크립트 내 존재하는 것을 지정하는 제2위치관계 중 적어도 하나를 포함하는, 스크립트진단장치.
  9. 제 8 항에 있어서,
    상기 진단수행부는,
    상기 진단대상 스크립트에 상기 다수의 진단문자열과 일치하는 다수의 문자열이 존재하며, 상기 진단대상 스크립트에 존재하는 상기 다수의 문자열 간 위치가 상기 진단룰에 따른 상기 다수의 진단문자열 간 위치관계를 만족하는 경우에, 상기 진단대상 스크립트를 악성스크립트인 것으로 진단하는 것을 특징으로 하는 스크립트진단장치.
  10. 제 8 항에 있어서,
    상기 룰저장부는, 다수의 오진방지문자열 및 상기 다수의 오진방지문자열 간 위치관계가 포함된 오진방지룰을 저장하며,
    상기 진단수행부는,
    상기 악성스크립트인 것으로 진단된 진단대상 스크립트에 대하여, 상기 오진방지룰을 만족하는 경우 악성스크립트가 아닌 것으로 최종 진단하는 것을 특징으로 하는 스크립트진단장치.
  11. 제 1 항 내지 제 3 항 및 제 5 항 내지 제 7 항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
KR1020150012171A 2015-01-26 2015-01-26 스크립트진단장치 및 스크립트 진단 방법 KR101564999B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150012171A KR101564999B1 (ko) 2015-01-26 2015-01-26 스크립트진단장치 및 스크립트 진단 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150012171A KR101564999B1 (ko) 2015-01-26 2015-01-26 스크립트진단장치 및 스크립트 진단 방법

Publications (1)

Publication Number Publication Date
KR101564999B1 true KR101564999B1 (ko) 2015-11-03

Family

ID=54599315

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150012171A KR101564999B1 (ko) 2015-01-26 2015-01-26 스크립트진단장치 및 스크립트 진단 방법

Country Status (1)

Country Link
KR (1) KR101564999B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101816045B1 (ko) * 2016-11-29 2018-01-08 주식회사 엔에스에이치씨 악성코드 룰셋을 이용한 악성코드 탐지 시스템 및 방법
KR20180006714A (ko) * 2016-07-11 2018-01-19 주식회사 안랩 구조 및 문자열 기반의 파일 진단장치 및 구조 및 문자열 기반의 파일 진단방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101246623B1 (ko) 2012-09-03 2013-03-25 주식회사 안랩 악성 애플리케이션 진단 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101246623B1 (ko) 2012-09-03 2013-03-25 주식회사 안랩 악성 애플리케이션 진단 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180006714A (ko) * 2016-07-11 2018-01-19 주식회사 안랩 구조 및 문자열 기반의 파일 진단장치 및 구조 및 문자열 기반의 파일 진단방법
KR101869744B1 (ko) * 2016-07-11 2018-06-21 주식회사 안랩 구조 및 문자열 기반의 파일 진단장치 및 구조 및 문자열 기반의 파일 진단방법
KR101816045B1 (ko) * 2016-11-29 2018-01-08 주식회사 엔에스에이치씨 악성코드 룰셋을 이용한 악성코드 탐지 시스템 및 방법

Similar Documents

Publication Publication Date Title
US10146532B2 (en) Apparatus and method for detecting code cloning of software
US10423474B2 (en) Performing diagnostic tracing of an executing application to identify suspicious pointer values
CN110225029B (zh) 注入攻击检测方法、装置、服务器及存储介质
CN110287693B (zh) 基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法
KR102151318B1 (ko) 이종 정보 네트워크 기반 악성 코드 탐지 방법 및 장치
EP3121749B1 (en) Method and apparatus for ensuring control flow integrity
US20170277890A1 (en) Method for Testing computer program product
US20170277887A1 (en) Information processing apparatus, information processing method, and computer readable medium
KR101645019B1 (ko) 소프트웨어 보안취약점 검출을 위한 규칙명세언어
JP5303795B2 (ja) アプリケーションの解析方法、解析システム及び解析プログラム
JP6245006B2 (ja) テストケース生成装置、方法、及びプログラム
KR101696694B1 (ko) 역추적을 이용한 소스 코드 취약점 분석 방법 및 장치
CN114817927A (zh) 基于分支覆盖指导的有效符号执行方法及装置
KR101564999B1 (ko) 스크립트진단장치 및 스크립트 진단 방법
JP2016218997A (ja) 未知のバイナリプログラムに対する有効な入力の決定
US20150193617A1 (en) Signature verification device, signature verification method, and program
CN112817877B (zh) 异常脚本检测方法、装置、计算机设备和存储介质
CN112231278A (zh) 项目工程文件的分析方法、装置、设备及存储介质
KR102415494B1 (ko) 에뮬레이션 기반의 임베디드 기기 취약점 점검 및 검증 방법
CN109165509B (zh) 软件实时可信度量的方法、设备、系统及存储介质
KR101645412B1 (ko) 악성파일진단장치 및 악성파일진단장치의 진단 방법
US20220164277A1 (en) Analysis and Testing of Embedded Code
EP3739485A1 (en) Method and system for identification of secure binary images
WO2016189721A1 (ja) ソースコード評価装置及びソースコード評価方法及びソースコード評価プログラム
WO2021106172A1 (ja) ルール生成装置およびルール生成プログラム

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181029

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191028

Year of fee payment: 5