KR102001814B1 - A method and apparatus for detecting malicious scripts based on mobile device - Google Patents

A method and apparatus for detecting malicious scripts based on mobile device Download PDF

Info

Publication number
KR102001814B1
KR102001814B1 KR1020160180343A KR20160180343A KR102001814B1 KR 102001814 B1 KR102001814 B1 KR 102001814B1 KR 1020160180343 A KR1020160180343 A KR 1020160180343A KR 20160180343 A KR20160180343 A KR 20160180343A KR 102001814 B1 KR102001814 B1 KR 102001814B1
Authority
KR
South Korea
Prior art keywords
script
malicious
url
extracted
malicious script
Prior art date
Application number
KR1020160180343A
Other languages
Korean (ko)
Other versions
KR20180076174A (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 KR1020160180343A priority Critical patent/KR102001814B1/en
Publication of KR20180076174A publication Critical patent/KR20180076174A/en
Application granted granted Critical
Publication of KR102001814B1 publication Critical patent/KR102001814B1/en

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/562Static detection
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

모바일 단말의 악성 스크립트 탐지 방법이 제공된다. 본 발명의 일 실시예에 따른 탐지 방법은 모바일 브라우저로부터 HTTP request를 인터셉트하는 단계, 상기 HTTP request를 파싱하여, 상기 HTTP request로부터 URL을 추출하는 단계, 상기 추출된 URL을 URL 블랙 리스트와 매칭 하여, 상기 추출된 URL이 악성 URL인지 여부를 판단하는 단계, 상기 판단의 결과, 상기 추출된 URL이 악성 URL인 경우 URL 리다이렉션을 수행하고, 상기 판단의 결과 상기 추출된 URL이 정상 URL인 경우 외부 서버로부터 HTTP response를 수신하는 단계, 상기 HTTP response를 파싱하여, 상기 HTTP response로부터 스크립트를 추출하는 단계, 및 상기 추출된 스크립트가 외부의 시그니처 관리시스템으로부터 업데이트 되어 저장된 시그니처와 패턴 매칭되면 상기 추출된 스크립트를 악성 스크립트로 판정하는 단계를 포함한다.A malicious script detection method of a mobile terminal is provided. The detection method according to an embodiment of the present invention includes intercepting an HTTP request from a mobile browser, parsing the HTTP request, extracting a URL from the HTTP request, matching the extracted URL with a URL black list, Determining whether the extracted URL is a malicious URL, performing a URL redirection if the extracted URL is a malicious URL, and if the extracted URL is a normal URL as a result of the determination, Parsing the HTTP response to extract a script from the HTTP response, and if the extracted script is pattern-matched with a stored signature updated from an external signature management system, And determining by a script.

Description

모바일 장치 기반의 악성 스크립트 탐지 방법 및 그 장치{A METHOD AND APPARATUS FOR DETECTING MALICIOUS SCRIPTS BASED ON MOBILE DEVICE}[0001] METHOD AND APPARATUS FOR DETECTING MALICIOUS SCRIPTS BASED ON MOBILE DEVICE [0002]

본 발명은 모바일 장치 기반의 악성 스크립트 탐지 방법 및 그 장치에 관한 것이다. 보다 자세하게는, 악성 URL 및 악성 스크립트를 탐지할 수 있는 모바일 장치 기반의 악성 스크립트 탐지 방법 및 그 장치에 관한 것이다.The present invention relates to a method and apparatus for malicious script detection based on a mobile device. More particularly, the present invention relates to a mobile device-based malicious script detection method and apparatus capable of detecting malicious URLs and malicious scripts.

웹 기반의 인터넷 서비스에서 악성 스크립트가 증가하고 있으며, 새로운 악성 스크립트가 계속적으로 등장하고 있다. 악성 스크립트는 웹 페이지가 렌더링 될 때 실행되어, 네트워크에 피해를 주고, 불법적으로 정보를 취득한다.Malicious scripts are increasing in web-based Internet services, and new malicious scripts are constantly emerging. A malicious script is executed when a web page is rendered, damaging the network, and illegally acquiring information.

악성 스크립트를 분석하는 방법은 크게 정적 분석과 동적 분석 두 가지로 분류될 수 있다. 정적 분석은 악성 스크립트를 실행시키지 않고 분석하는 방법으로, 소스 코드/바이너리 패턴 매칭 등이 그 예이다. 동적 분석은 상기 악성 스크립트를 실행하여 분석하는 방법으로, 데이터 플로우와 코드 플로우 분석 등이 그 예이다. 정적 분석 기법은 악성 스크립트의 실행을 배제하기 때문에 안전하고 빠른 분석이 용이하다는 장점을 가진다.The methods of analyzing malicious scripts can be roughly divided into static analysis and dynamic analysis. Static analysis is a method of analyzing without executing malicious script, such as source code / binary pattern matching. Dynamic analysis is a method of executing and analyzing the above malicious script, for example, data flow and code flow analysis. Static analysis techniques have the advantage of being safe and quick to analyze because they exclude execution of malicious scripts.

한편, 스마트 폰 등 모바일 단말에 대한 보안 수준 증대를 위하여, 스마트폰에서도 정적 분석 방법으로 악성 스크립트를 탐지할 수 있는 방법이 요구되나, 아직 이러한 기술은 제공되지 못하고 있다.Meanwhile, in order to increase the security level of mobile terminals such as smart phones, a method of detecting malicious scripts by a static analysis method is required in smart phones, but such technology is not yet provided.

공개특허공보 제2007-0049511호(2007.05.11, 공개)Open Patent Publication No. 2007-0049511 (published May 11, 2007)

본 발명이 해결하고자 하는 기술적 과제는, 모바일 단말에서 정적 분석 방법을 통해 악성 스크립트를 탐지할 수 있는 방법 및 장치를 제공하는 것이다.SUMMARY OF THE INVENTION The present invention provides a method and apparatus for detecting a malicious script through a static analysis method in a mobile terminal.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the above-mentioned technical problems, and other technical problems which are not mentioned can be clearly understood by those skilled in the art from the following description.

본 발명의 일 실시예에 따른 모바일 단말의 악성 스크립트 탐지 방법은 모바일 브라우저로부터 HTTP request를 인터셉트하는 단계, 상기 HTTP request를 파싱하여, 상기 HTTP request로부터 URL을 추출하는 단계, 상기 추출된 URL을 URL 블랙 리스트와 매칭 하여, 상기 추출된 URL이 악성 URL인지 여부를 판단하는 단계, 상기 판단의 결과, 상기 추출된 URL이 악성 URL인 경우 URL 리다이렉션을 수행하고, 상기 판단의 결과 상기 추출된 URL이 정상 URL인 경우 외부 서버로부터 HTTP response를 수신하는 단계, 상기 HTTP response를 파싱하여, 상기 HTTP response로부터 스크립트를 추출하는 단계, 및 상기 추출된 스크립트가 외부의 시그니처 관리시스템으로부터 업데이트 되어 저장된 시그니처와 패턴 매칭되면 상기 추출된 스크립트를 악성 스크립트로 판정하는 단계를 포함한다.The malicious script detection method of a mobile terminal according to an exemplary embodiment of the present invention includes intercepting an HTTP request from a mobile browser, parsing the HTTP request, extracting a URL from the HTTP request, Determining whether or not the extracted URL is a malicious URL by matching with the list, and if the extracted URL is a malicious URL, performing URL redirection as a result of the determination, and if the extracted URL is a normal URL Parsing the HTTP response to extract a script from the HTTP response, and if the extracted script is pattern-matched with the stored signature updated from the external signature management system, And judging the extracted script as a malicious script.

일 실시예에서, 상기 악성 스크립트 탐지 방법은, 상기 악성 스크립트가 모바일 단말에 구비된 센서에 의하여 측정된 데이터를 무단 반출하기 위한 것인 경우, 상기 HTTP response의 웹 문서에서 상기 악성 스크립트의 실행을 위한 부분을 제거하여 상기 모바일 브라우저에 제공하는 단계를 더 포함할 수 있다.In one embodiment, the malicious script detection method may further include a step of, when the malicious script is for unauthorized removal of data measured by a sensor provided in the mobile terminal, And removing the portion from the mobile browser and providing the portion to the mobile browser.

일 실시예에서, 상기 악성 스크립트 탐지 방법은, 상기 악성 스크립트가 모바일 단말에 구비된 빛 출력 장치 또는 소리 출력 장치 또는 진동 출력 장치를 사용자 조작 없이 무단으로 동작시키는 것인 경우인 경우, 상기 HTTP response의 웹 문서에서 상기 악성 스크립트의 실행을 위한 부분을 제거하여 상기 모바일 브라우저에 제공하는 단계를 더 포함할 수 있다.In one embodiment, in the case where the malicious script is to operate the light output device, the sound output device, or the vibration output device provided in the mobile terminal without user's operation, the malicious script detection method may include: And removing the portion for execution of the malicious script from the web document and providing the portion to the mobile browser.

일 실시예에서, 상기 악성 스크립트 탐지 방법은, 상기 업데이트에 따른 신규 악성 스크립트의 시그니처와 분석 대상 스크립트의 패턴 매칭이 되는 경우, 상기 시그니처 관리 시스템에 신규 악성 스크립트 패턴 매칭 사실을 가리키는 데이터를 송신하는 단계를 더 포함할 수 있다.In one embodiment, the malicious script detection method further includes transmitting data indicating a new malicious script pattern matching fact to the signature management system when the signature of the new malicious script according to the update matches the pattern of the analysis target script As shown in FIG.

일 실시예에서, 상기 악성 스크립트 탐지 방법은, 상기 시그니처 관리 시스템이, 상기 신규 악성 스크립트 패턴 매칭 사실을 가리키는 데이터가 기 지정된 횟수 이상 수신된 경우, 최신의 시그니처가 강제로 업데이트될 수 있도록 악성 스크립트 탐지 소프트웨어가 설치된 모든 모바일 단말에 업데이트 제어 신호를 송신하는 단계를 더 포함할 수 있다.In one embodiment, the malicious script detection method may further include: when the signature management system receives data indicating a fact of matching the new malicious script pattern over a predetermined number of times, detecting a malicious script so that the latest signature can be forcibly updated And transmitting an update control signal to all the mobile terminals in which the software is installed.

일 실시예에서, 상기 HTTP response로부터 스크립트를 추출하는 단계는,In one embodiment, extracting the script from the HTTP response comprises:

상기 추출된 스크립트에 난독화가 이루어졌는지 여부를 판단하는 단계와 상기 판단의 결과 난독화가 이루어진 경우, 난독화를 해제하는 단계를 더 포함하고, 상기 추출된 스크립트를 악성 스크립트로 판정하는 단계는, 난독화가 해제된 상기 스크립트가 외부의 시그니처 관리시스템으로부터 업데이트 되어 저장된 시그니처와 패턴 매칭되면 상기 추출된 스크립트를 악성 스크립트로 판정하는 단계를 포함할 수 있다.Further comprising the steps of: determining whether obfuscation has been performed on the extracted script; and canceling the obfuscation if the obfuscation is made as a result of the determination, wherein the step of determining the extracted script as a malicious script comprises: And determining that the extracted script is a malicious script if the released script is pattern-matched with the stored signature updated from the external signature management system.

일 실시예에서, 상기 악성 스크립트 탐지 방법은, 상기 악성 스크립트인지 여부를 판단한 결과 상기 추출된 스크립트가 악성 스크립트인 경우, URL 리다이렉션을 수행하여 상기 악성 스크립트의 실행을 방지하고, 상기 추출된 스크립트가 악성 스크립트가 아닌 경우, 상기 클라이언트로 상기 HTTP 응답 패킷을 송신하는 단계를 더 포함할 수 있다.In one embodiment, the malicious script detection method further comprises: performing a URL redirection to prevent execution of the malicious script when the extracted script is a malicious script as a result of determining whether or not the malicious script is the malicious script; And transmitting the HTTP response packet to the client when the HTTP response packet is not a script.

본 발명의 다른 실시예에 따르면 악성 스크립트 탐지 방법을 수행하는 모바일 단말이 제공된다. 상기 모바일 단말은, 프로세서, 상기 프로세서에서 실행될 악성 스크립트 대응 오퍼레이션을 로드하는 메모리, 및 상기 메모리로 로드되어 상기 악성 스크립트 대응 오퍼레이션을 구성하는 악성 스크립트 탐지 소프트웨어 및 모바일 브라우저 악성 스크립트 및 일반 악성 스크립트를 식별하기 위한 데이터를 포함하는 시그니처를 저장하는 스토리지를 포함한다. 상기 악성 스크립트 대응 오퍼레이션은, 모바일 브라우저로부터 HTTP request를 인터셉트하고 상기 HTTP request를 파싱하여, 상기 HTTP request로부터 URL을 추출하는 오퍼레이션과, 상기 추출된 URL을 URL 블랙 리스트와 매칭 하여, 상기 추출된 URL이 악성 URL인지 여부를 판단하는 오퍼레이션과, 상기 판단의 결과, 상기 추출된 URL이 악성 URL인 경우 URL 리다이렉션을 수행하고, 상기 판단의 결과 상기 추출된 URL이 정상 URL인 경우 외부 서버로부터 HTTP response를 수신하는 오퍼레이션과, 상기 HTTP response를 파싱하여, 상기 HTTP response로부터 스크립트를 추출하는 오퍼레이션과, 상기 추출된 스크립트가 외부의 시그니처 관리시스템으로부터 업데이트 되어 저장된 시그니처와 패턴 매칭되면 상기 추출된 스크립트를 악성 스크립트로 판정하는 오퍼레이션과, 상기 악성 스크립트가 모바일 브라우저 악성 스크립트인 경우, 상기 HTTP response의 웹 문서에서 상기 악성 스크립트의 실행을 위한 부분을 제거하여 상기 모바일 브라우저에 제공하는 오퍼레이션을 포함한다. According to another embodiment of the present invention, a mobile terminal performing a malicious script detection method is provided. The mobile terminal comprises a processor, a memory for loading malicious script corresponding operations to be executed in the processor, and malicious script detection software and mobile browser malicious scripts and general malicious scripts that are loaded into the memory and constitute the malicious script corresponding operation Lt; RTI ID = 0.0 > a < / RTI > The malicious script corresponding operation may include an operation of intercepting an HTTP request from a mobile browser, parsing the HTTP request, extracting a URL from the HTTP request, matching the extracted URL with a URL black list, And if the extracted URL is a malicious URL, performs a URL redirection. If the extracted URL is a normal URL, an HTTP response is received from an external server And parsing the HTTP response to extract a script from the HTTP response. If the extracted script is pattern-matched with a signature that is updated and stored from an external signature management system, the extracted script is judged to be a malicious script And a malicious software If the bit is a mobile browser malicious scripts, it includes the operations provided in the mobile browser by removing the portion for the execution of the malicious script in the web page of the HTTP response.

일 실시예에서, 상기 악성 스크립트 대응 오퍼레이션은, 상기 악성 스크립트가 일반 악성 스크립트인 경우, 상기 HTTP response의 웹 문서에 대하여 상기 악성 스크립트를 실행하기 위한 부분이 그대로 화면에 출력되도록 하는 태그를 부가한 후, 상기 모바일 브라우저에 제공하는 오퍼레이션을 더 포함할 수 있다.In one embodiment, when the malicious script is a general malicious script, the malicious script corresponding operation adds a tag for causing a portion for executing the malicious script to be directly displayed on the screen to the web document of the HTTP response , And providing the mobile browser with the operation.

본 발명의 몇몇 실시예들에 따르면, 모바일 단말에서 모바일 단말에 특화된 악성 스크립트까지도 감지할 수 있는 등 모바일 단말에 대한 보안성을 강화할 수 있다.According to some embodiments of the present invention, it is possible to enhance security for a mobile terminal, such as detecting a malicious script specific to a mobile terminal in a mobile terminal.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood to those of ordinary skill in the art from the following description.

도 1은 본 발명의 일 실시예에 따른 악성 스크립트 감지 시스템의 구성도이다.
도 2는 본 발명의 다른 실시예에 따른 악성 스크립트 감지 장치의 하드웨어 구성도이다.
도 3은 본 발명의 몇몇 실시예에서 참조되는, 수집/처리 모듈이 수행하는 동작의 순서도이다.
도 4는 본 발명의 몇몇 실시예에서 참조되는 분석 모듈이 수행하는 동작의 순서도이다.
도 5는 본 발명의 몇몇 실시예에서 참조되는, 악성 URL 검사 방법의 순서도이다.
도 6은 본 발명의 몇몇 실시예에서 참조되는, 악성 스크립트 검사 방법의 순서도이다.
도 7은 본 발명의 또 다른 실시예에 따른 악성 스크립트 감지 장치의 블록도이다.
1 is a block diagram of a malicious script detection system according to an embodiment of the present invention.
2 is a hardware block diagram of a malicious script detection apparatus according to another embodiment of the present invention.
Figure 3 is a flowchart of the operations performed by the acquisition / processing module, referred to in some embodiments of the present invention.
4 is a flowchart of the operations performed by the analysis module referred to in some embodiments of the present invention.
5 is a flowchart of a malicious URL checking method, which is referenced in some embodiments of the present invention.
Figure 6 is a flowchart of a malicious script checking method, which is referenced in some embodiments of the present invention.
7 is a block diagram of a malicious script detection apparatus according to another embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless defined otherwise, all terms (including technical and scientific terms) used herein may be used in a sense commonly understood by one of ordinary skill in the art to which this invention belongs. Also, commonly used predefined terms are not ideally or excessively interpreted unless explicitly defined otherwise. The terminology used herein is for the purpose of illustrating embodiments and is not intended to be limiting of the present invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification.

명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. 이하, 본 발명에 대하여 첨부된 도면에 따라 보다 상세히 설명한다.It is noted that the terms "comprises" and / or "comprising" used in the specification are intended to be inclusive in a manner similar to the components, steps, operations, and / Or additions. Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 악성 스크립트 감지 시스템의 구성도이다.1 is a block diagram of a malicious script detection system according to an embodiment of the present invention.

본 실시예에 따른 악성 스크립트 감지 시스템은 악성 스크립트 감지 장치(100), 외부 서버(50), 모바일 단말(70)을 포함할 수 있다. 외부 서버(50)는 서버-클라이언트 모델을 기초로 모바일 단말(70)에 서비스를 제공하는 서버로, 예를 들어 웹 서버일 수 있다. 악성 스크립트 감지 장치(100)는 외부 서버(50)에서 모바일 단말(70)에 송신되는 데이터 중 악성 스크립트에 해당하는 데이터를 인식하고, 그에 따른 적절한 통지 데이터를 생성하여 모바일 단말(70)에 송신한다.The malicious script detection system according to the present embodiment may include a malicious script detection apparatus 100, an external server 50, and a mobile terminal 70. The external server 50 is a server that provides services to the mobile terminal 70 based on a server-client model, for example, a web server. The malicious script detection apparatus 100 recognizes data corresponding to a malicious script among data transmitted from the external server 50 to the mobile terminal 70 and generates appropriate notification data corresponding to the data to transmit to the mobile terminal 70 .

악성 스크립트 감지 장치(100)는 모바일 단말(70)의 모바일 브라우저 및 외부 서버(50)에서 송수신하는 패킷을 수집하고, 악성 URL 또는 악성 스크립트가 존재하는지 여부를 분석하고, 후 처리를 수행할 수 있다.The malicious script detection apparatus 100 may collect packets transmitted and received by the mobile browser of the mobile terminal 70 and the external server 50 and may analyze whether malicious URLs or malicious scripts are present and perform post processing .

악성 스크립트 감지 장치(100)는 수집/처리 모듈 및 분석 모듈을 포함할 수 있다. 수집/처리 모듈은 프록시 서버 형태로 구현될 수 있고, 모바일 단말(70)의 모바일 브라우저가 요청하는 패킷으로부터 URL 정보를 수집 하고, 웹 서버로부터 수신된 패킷을 확인하여 스크립트를 추출하는 기능을 수행할 수 있다. 또한 분석 모듈로부터 분석 결과를 전송 받아서 악성인 경우에는 URL 접속 방지 및 스크립트 실행 방지를 위해 URL 리다이렉션 처리를 수행할 수 있다. The malicious script detection apparatus 100 may include a collection / processing module and an analysis module. The collection / processing module may be implemented in the form of a proxy server, collects URL information from the packet requested by the mobile browser of the mobile terminal 70, checks the packet received from the web server and extracts the script . In addition, if the analysis result is received from the analysis module, the URL redirection processing can be performed in order to prevent the URL access and the execution of the script in case of maliciousness.

상기 분석 모듈은 상기 수집/처리 모듈로부터 수신 받은 URL 또는 스크립트를 URL black list 및 시그니처와의 매칭을 통하여 악성 여부를 판별하는 기능을 수행할 수 있다. 또한 분석 모듈은 수신 받은 스크립트가 난독화 된 경우, 난독화 된 악성 스크립트로부터 평문 스크립트를 추출하는 난독화 해제 기능을 수행할 수 있다.The analysis module may perform a function of determining whether the URL or the script received from the collection / processing module is malicious through matching with a URL black list and a signature. In addition, if the received script is obfuscated, the analysis module can perform an obfuscation function to extract the plaintext script from the obfuscated malicious script.

본 발명의 다른 실시예에 따른 악성 스크립트 감지 시스템은, 도 1에 도시된 것과 달리 모바일 단말(70)과 외부 서버(50) 만으로 구성될 수도 있다. 이 때, 모바일 단말(70)은 본 발명의 몇몇 실시예들에 따른 방법들이 구현된 악성 스크립트 감지 소프트웨어가 설치된 것일 수 있다. 상기 악성 스크립트 감지 소프트웨어는 외부 서버(50)에서 모바일 단말(70)에 송신되는 데이터 중 악성 스크립트에 해당하는 데이터를 인식하고, 그에 따른 적절한 통지 데이터를 생성한다. 상기 악성 스크립트 감지 소프트웨어는 모바일 단말(70)의 제조 시에 기본 설치된 것일 수도 있고, 앱 마켓을 통하여 사용자가 구매 후 사후적으로 설치한 것일 수도 있다.The malicious script detection system according to another embodiment of the present invention may be composed of only the mobile terminal 70 and the external server 50, unlike the one shown in FIG. At this time, the mobile terminal 70 may be installed with malicious script detection software in which methods according to some embodiments of the present invention are implemented. The malicious script detection software recognizes data corresponding to a malicious script among data transmitted from the external server 50 to the mobile terminal 70, and generates appropriate notification data accordingly. The malicious script detection software may be installed at the time of manufacturing the mobile terminal 70 or may be installed after the user purchases the app market through the app market.

몇몇 실시예들에서 상기 악성 스크립트 감지 소프트웨어는 로컬 프록시(local proxy)의 형태로 구현된다. 상기 로컬 프록시는 서버와 클라이언트가 송수신 하는 서비스 리퀘스트/리스폰스를 중간에 받아볼 수 있는 툴을 가리킨다. 상기 서비스 리퀘스트/리스폰스는, 예를들어 HTTP request/response일 수 있다.In some embodiments, the malicious script detection software is implemented in the form of a local proxy. The local proxy refers to a tool capable of receiving a service request / response transmitted and received between a server and a client in between. The service request / response may be, for example, an HTTP request / response.

이하, 도 2를 참조하여 모바일 단말(70)의 동작 및 구성에 대하여 살펴본다. 도 2는 본 실시예에 따른 모바일 단말(70)의 하드웨어 구성도이다.Hereinafter, the operation and configuration of the mobile terminal 70 will be described with reference to FIG. 2 is a hardware configuration diagram of the mobile terminal 70 according to the present embodiment.

도 2를 참조하면 모바일 단말(70)은 하나 이상의 프로세서(110), 메모리(120), 스토리지(140) 및 인터페이스(130)를 포함할 수 있다. 프로세서(110), 메모리(120), 스토리지(140) 및 인터페이스(130)는 시스템 버스를 통하여 데이터를 송수신한다. 인터페이스(130)는 무선 통신 방식으로 인터넷 등 네트워크와 연결된다.2, a mobile terminal 70 may include one or more processors 110, a memory 120, a storage 140, and an interface 130. The processor 110, the memory 120, the storage 140, and the interface 130 transmit and receive data through the system bus. The interface 130 is connected to a network such as the Internet by a wireless communication scheme.

프로세서(110)는 메모리(120)에 로드 된 악성 스크립트 탐지 소프트웨어(142)를 실행하고, 메모리(120)는 상기 악성 스크립트 탐지 소프트웨어(142)를 스토리지(160)에서 로드(load) 한다. 악성 스크립트 탐지 소프트웨어(142)는, 수집/처리 오퍼레이션(122), 분석 오퍼레이션(124)을 포함할 수 있다.The processor 110 executes the malicious script detection software 142 loaded into the memory 120 and the memory 120 loads the malicious script detection software 142 from the storage 160. [ Malicious script detection software 142 may include a collection / processing operation 122, an analysis operation 124,

악성 스크립트 탐지 소프트웨어(142)는 로컬 프록시(local proxy)로 구현된 것이다. 따라서, 악성 스크립트 탐지 소프트웨어(142)는 모바일용 웹 브라우저 애플리케이션에 의하여 생성된 HTTP request를 인터셉트할 수 있고, 상기 모바일용 웹 브라우저 애플리케이션에 전달 될 HTTP response를 인터셉트할 수 있다. 도 2에는 악성 스크립트 탐지 소프트웨어(142)가 메모리(120)에 로드 된 결과로, 수집/처리 오퍼레이션(122) 및 분석 오퍼레이션(124)이 메모리(120)에 저장되어 있는 상황이 도시 되어 있다.Malicious script detection software 142 is implemented as a local proxy. Accordingly, the malicious script detection software 142 may intercept the HTTP request generated by the mobile web browser application, and may intercept the HTTP response to be transmitted to the mobile web browser application. 2 illustrates a situation in which the acquisition / processing operation 122 and the analysis operation 124 are stored in the memory 120 as a result of the malicious script detection software 142 being loaded into the memory 120. [

수집/처리 오퍼레이션(122)은, HTTP request를 인터셉트하면 상기 HTTP request로부터 URL을 추출하고 상기 URL에 대한 분석 요청을 분석 오퍼레이션(124)으로 송신한다. 분석 오퍼레이션(124)으로부터 상기 분석 요청에 대한 답변으로써 상기 URL에 대한 정상 여부에 대한 데이터가 제공되면, 그에 따라 상기 인터셉트된 HTTP request를 처리한다. 예를 들어, 상기 URL이 정상인 경우 수집/처리 오퍼레이션(122)은 상기 인터셉트된 HTTP request를 정상적으로 외부 서버에 송신한다. 또한, 상기 URL이 비정상인 경우 수집/처리 오퍼레이션(122)은 상기 인터셉트된 HTTP request를 웹 서버에 송신하지 않고 폐기 처리하고, 이러한 폐기 처리에 대한 통지 메시지를 생성할 수 있다.When the HTTP request is intercepted, the collection / processing operation 122 extracts the URL from the HTTP request and transmits an analysis request for the URL to the analysis operation 124. If the analysis operation 124 provides data on whether or not the URL is normal as an answer to the analysis request, it processes the intercepted HTTP request accordingly. For example, if the URL is OK, the collection / processing operation 122 normally sends the intercepted HTTP request to the external server. In addition, if the URL is abnormal, the collection / processing operation 122 may discard the intercepted HTTP request to the web server and generate a notification message for the discard processing.

또한, 수집/처리 오퍼레이션(122)은 상기 외부 서버로부터 HTTP response를 인터셉트한다. 수집/처리 오퍼레이션(122)은 인터셉트된 상기 HTTP response로부터 분석 대상 스크립트를 추출하고, 상기 분석 대상 스크립트에 대한 분석 요청을 분석 오퍼레이션(124)으로 송신하고, 상기 스크립트가 악성 스크립트인 경우, 상기 악성 스크립트 실행이 방지되도록 상기 HTTP response에 포함된 웹 문서를 수정할 수 있다. 수집/처리 오퍼레이션(122)은 이 때, 예를 들어, 상기 웹 문서의 상기 악성 스크립트의 실행을 위한 부분을 제거하거나, 상기 악성 스크립트를 실행하기 위한 부분이 그대로 화면에 출력되도록 하는 태그를 부가할 수 있다. 상기 악성 스크립트를 실행하기 위한 부분이 그대로 화면에 출력되도록 하는 태그는, 예를 들어 XMP 태그 또는 PRE 태그일 수 있다.The collection / processing operation 122 also intercepts the HTTP response from the external server. The acquisition / processing operation 122 extracts the analysis target script from the intercepted HTTP response, and transmits an analysis request for the analysis target script to the analysis operation 124. If the script is a malicious script, The web document included in the HTTP response can be modified so that execution is prevented. At this time, the collection / processing operation 122 removes, for example, a portion for executing the malicious script of the web document, or adds a tag for causing the portion for executing the malicious script to be directly displayed on the screen . The tag for causing the portion for executing the malicious script to be directly displayed on the screen may be, for example, an XMP tag or a PRE tag.

일 실시예에서, 수집/처리 오퍼레이션(122)은 상기 악성 스크립트의 실행이 방지되도록, 상기 악성 스크립트를 포함하고 있는 웹 문서 대신 리다이렉션 페이지를 상기 모바일 브라우저에 제공할 수 있다. 그 결과, 상기 모바일 브라우저는 악성 스크립트 감지 사실을 안내하는 상기 리다이렉션 페이지를 디스플레이 할 것이다.In one embodiment, the gather / process operation 122 may provide the mobile browser with a redirection page instead of a web document containing the malicious script, so that execution of the malicious script is prevented. As a result, the mobile browser will display the redirection page to guide malicious script detection.

일 실시예에서, 수집/처리 오퍼레이션(122)은 상기 악성 스크립트가 모바일 브라우저 악성 스크립트인 경우와 일반 스크립트인 경우를 나누어 대응할 수 있다. 예를 들어, 수집/처리 오퍼레이션(122)은 상기 악성 스크립트가 모바일 브라우저 악성 스크립트인 경우, 상기 HTTP response의 웹 문서에서 상기 악성 스크립트의 실행을 위한 부분을 제거하여 상기 모바일 브라우저에 제공할 수 있다. 또한, 수집/처리 오퍼레이션(122)은 상기 악성 스크립트가 일반 악성 스크립트인 경우, 상기 HTTP response의 웹 문서에 대하여 상기 악성 스크립트를 실행하기 위한 부분이 그대로 화면에 출력되도록 하는 태그를 부가한 후, 상기 모바일 브라우저에 제공할 수 있다.In one embodiment, the gather / process operation 122 may correspond to the case where the malicious script is a mobile browser malicious script and the case where it is a general script. For example, if the malicious script is a mobile browser malicious script, the collection / processing operation 122 may remove the portion for execution of the malicious script from the web document of the HTTP response and provide it to the mobile browser. In addition, if the malicious script is a general malicious script, the collection / processing operation 122 adds a tag to the web document of the HTTP response so that the portion for executing the malicious script is directly displayed on the screen, It can be provided to a mobile browser.

분석 오퍼레이션(124)은 수집/처리 오퍼레이션(122)으로부터 URL에 대한 분석 요청을 수신하면, 상기 URL을 URL 블랙 리스트(144)와 매칭하여 악성 URL인지 여부를 판단하고, 상기 판단 결과를 다시 수집/처리 오퍼레이션(122)으로 송신할 수 있다.Upon receiving the analysis request for the URL from the collection / processing operation 122, the analysis operation 124 determines whether the URL is a malicious URL by matching the URL with the URL black list 144, To the processing operation 122.

또한, 분석 오퍼레이션(124)은 수집/처리 오퍼레이션(122)으로부터 스크립트에 대한 분석 요청을 수신하면, 상기 스크립트를 시그니처(146)와 패턴 매칭하여 악성 스크립트인지 여부를 판단하고, 상기 판단 결과를 상기 수집/처리 오퍼레이션(122)으로 송신할 수 있다. 상기 패턴 매칭은 Yara-Rules를 기반으로 수행 될 수 있다. Yara-Rule에 대한 정보는 웹 문서 'https://github.com/Yara-Rules/rules'를 참조한다.When the analysis operation 124 receives an analysis request for a script from the collection / processing operation 122, the analysis operation 124 determines whether the script is a malicious script by pattern-matching the script with the signature 146, / Processing operation 122, as shown in FIG. The pattern matching may be performed based on Yara-Rules. For information about Yara-Rule, see the web document 'https://github.com/Yara-Rules/rules'.

몇몇 실시예들에서, 분석 오퍼레이션(124)은 스크립트에 대한 분석을 수행하는 외부 시스템과의 연동 인터페이스일 수도 있다. 이 경우, 수집/처리 오퍼레이션(122)은 상기 인터페이스를 이용하여 상기 외부 시스템의 스크립트 분석 서비스를 이용할 수 있다.In some embodiments, the analysis operation 124 may be an interfacing interface with an external system that performs analysis on the script. In this case, the collection / processing operation 122 may utilize the script analysis service of the external system using the interface.

몇몇 실시예들에서, 분석 오퍼레이션(124)은 분석 대상 웹페이지에 대한 행위 분석을 수행하는 외부의 행위 분석 시스템과의 연동 인터페이스일 수도 있다. 이 경우, 수집/처리 오퍼레이션(122)은 상기 인터페이스를 이용하여 상기 외부 시스템에 HTTP request의 URL이 가리키는 웹페이지에 대한 행위 분석 결과를 반영하여, 상기 HTTP request를 상기 외부 서버에 정상적으로 전달할지 여부를 결정할 수 있다. 분석 오퍼레이션(124)은 RESTful API를 통하여 상기 행위 분석 시스템과 연동될 수 있다.In some embodiments, the analysis operation 124 may be an interfacing interface with an external behavior analysis system that performs behavior analysis on the web page to be analyzed. In this case, the collection / processing operation 122 reflects the behavior analysis result on the web page indicated by the URL of the HTTP request to the external system using the interface, and determines whether to forward the HTTP request to the external server normally You can decide. The analysis operation 124 may interact with the behavior analysis system via the RESTful API.

다른 몇몇 실시예들에서, 분석 오퍼레이션(124)은 모바일 브라우저 악성 스크립트의 시그니처를 실시간 업데이트하는 시그니처 관리 시스템과 연동되어, 상기 시그니처 관리 시스템으로부터 갱신된 시그니처를 업데이트하여 스토리지(140)에 저장할 수 있다. 이 때, 분석 오퍼레이션(124)은 상기 실시간 업데이트되는 모바일 브라우저 악성 스크립트의 시그니처를 이용하여 모바일에 특화된 최신의 악성 스크립트까지 감지하고, 상기 악성 스크립트의 실행을 차단할 수 있다. 상기 시그니처의 업데이트는 주기적 또는 비주기적으로 수행될 수 있다. 분석 오퍼레이션(124)은 RESTful API를 통하여 상기 시그니처 관리 시스템과 연동될 수 있다.In some other embodiments, analysis operation 124 may be associated with a signature management system that updates the signatures of mobile browser malicious scripts in real time, and may update updated signatures from the signature management system and store them in storage 140. At this time, the analysis operation 124 may detect the latest malicious script specialized for mobile using the signature of the mobile browser malicious script updated in real time, and may block execution of the malicious script. The signature update may be performed periodically or aperiodically. The analysis operation 124 may interact with the signature management system via the RESTful API.

상기 시그니처 관리 시스템은 모바일 브라우저 악성 스크립트뿐만 아니라 일반적인 악성 스크립트의 시그니처도 관리할 수 있다. 이 때, 상기 시그니처에는 모바일 브라우저 악성 스크립트 및 일반 악성 스크립트가 서로 구분될 수 있다.The signature management system can manage signatures of common malicious scripts as well as mobile browser malicious scripts. At this time, the signature may be distinguished from the mobile browser malicious script and the general malicious script.

또 다른 몇몇 실시예들에서, 분석 오퍼레이션(124)은 상기 업데이트에 의하여 추가된 신규 악성 스크립트의 시그니처와 분석 대상 스크립트의 패턴 매칭이 되는 경우, 상기 시그니처 관리 시스템에 신규 악성 스크립트 패턴 매칭 사실을 가리키는 데이터를 송신할 수 있다. 상기 시그니처 관리 시스템은 상기 신규 악성 스크립트 패턴 매칭 사실을 가리키는 데이터가 기 지정된 횟수 이상 수신된 경우, 최신의 시그니처가 강제로 업데이트될 수 있도록 악성 스크립트 탐지 소프트웨어가 설치된 모든 모바일 단말에 업데이트 제어 신호를 송신할 수 있다.In some embodiments, when the signature of the new malicious script added by the update and the pattern matching of the script to be analyzed become the analysis operation 124, data indicating the new malicious script pattern matching fact in the signature management system Can be transmitted. The signature management system transmits an update control signal to all the mobile terminals installed with the malicious script detection software so that the latest signature can be forcibly updated when the data indicating the new malicious script pattern matching fact is received a predetermined number of times or more .

스토리지(140)는 악성 스크립트 탐지 소프트웨어(142), URL 블랙 리스트(144), 시그니처(146) 및 탐지 로그(148)를 포함할 수 있다.The storage 140 may include malicious script detection software 142, a URL blacklist 144, a signature 146, and a detection log 148.

URL 블랙 리스트(144)는 악성 URL 정보를 포함할 수 있고, 시그니처(146)는 악성 스크립트 정보를 포함할 수 있고, 탐지 로그(148)는 악성 URL 및 악성 스크립트의 탐지 기록을 포함할 수 있다.The URL blacklist 144 may include malicious URL information, the signature 146 may include malicious script information, and the detection log 148 may include a detection record of a malicious URL and a malicious script.

모바일 단말에 특화된 악성 스크립트는, 예를 들어, 모바일 단말의 측위 정보를 참조하여 특정 로직을 수행하는 스크립트이거나, 모바일 단말의 측위 정보를 상기 모바일 단말의 사용자의 허가 없이 무단으로 정해진 목적지로 송신하는 스크립트이거나, 모바일 단말의 계속적인 진동을 유발하는 스크립트이거나, 모바일 단말의 플래시를 켜는 스크립트이거나, 카메라 또는 마이크 등 모바일 단말에 설치된 다양한 센서를 통하여 무단으로 데이터를 센싱하고 센싱 된 데이터를 상기 모바일 단말의 사용자의 허가 없이 무단으로 정해진 목적지로 송신하는 스크립트 등일 수 있다. 상기 모바일 단말에 특화된 악성 스크립트는 모두 스크립트를 실행하지 않더라도 웹 문서의 다른 기능에는 영향을 미치지 않는 것들이다. 즉, 악성 스크립트가 모바일 단말에 구비된 센서에 의하여 측정된 데이터를 무단 반출하기 위한 것이거나, 모바일 단말에 구비된 빛 출력 장치 또는 소리 출력 장치 또는 진동 출력 장치를 사용자 조작 없이 무단으로 동작시키는 것인 경우라면, 수집/처리 오퍼레이션(122)은 상기 모바일 단말에 특화된 악성 스크립트의 실행을 위한 부분을 웹 문서에서 제거한 후 모바일 단말의 웹 브라우저에 제공할 수 있다.The malicious script specific to the mobile terminal may be, for example, a script for performing specific logic referring to the positioning information of the mobile terminal, or a script for transmitting the positioning information of the mobile terminal to a destination determined unauthorized by the user of the mobile terminal Or a script for causing continuous vibration of the mobile terminal, a script for turning on the flash of the mobile terminal, or a variety of sensors installed on the mobile terminal such as a camera or a microphone, and transmits the sensed data to the user of the mobile terminal Or a script to send to an unauthorized destination without permission of the user. The malicious script specific to the mobile terminal does not affect other functions of the web document even if the script is not executed. That is, the malicious script is for unauthorized removal of the data measured by the sensor provided in the mobile terminal, or that the light output device, the sound output device, or the vibration output device provided in the mobile terminal is operated without user's operation If so, the collection / processing operation 122 may remove the portion for execution of the malicious script specific to the mobile terminal from the web document and provide it to the web browser of the mobile terminal.

도 2의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.Each component in FIG. 2 may refer to software or hardware such as an FPGA (Field Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit). However, the components are not limited to software or hardware, and may be configured to be addressable storage media, and configured to execute one or more processors. The functions provided in the components may be implemented by a more detailed component, or may be implemented by a single component that performs a specific function by combining a plurality of components.

도 3은 본 발명의 몇몇 실시예에서 참조되는, 수집/처리 모듈이 수행하는 동작의 순서도이다.Figure 3 is a flowchart of the operations performed by the acquisition / processing module, referred to in some embodiments of the present invention.

모바일 단말의 모바일 브라우저로부터 웹페이지 요청을 위한 HTTP 요청 패킷이 발생하면(S100), 프록시인 수집/처리 모듈은 HTTP 요청 패킷을 수집하고, 해당 요청 패킷으로부터 URL을 추출할 수 있다(S110). 수집/처리 모듈은 수집한 패킷을 파싱하여, URL을 추출할 수 있다.When an HTTP request packet for requesting a web page is generated from the mobile browser of the mobile terminal (S100), the proxy acquisition / processing module may collect the HTTP request packet and extract the URL from the corresponding request packet (S110). The collection / processing module can parse the collected packets and extract URLs.

수집/처리 모듈은 추출한 URL 정보를 분석 모듈로 송신하여, 분석 요청을 할 수 있고(S130), 분석 모듈이 해당 URL 정보가 정상 또는 악성인지 여부를 확인하고, 수집/처리 모듈로 분석 결과를 송신하면, 수집/처리 모듈은 분석 결과를 확인하여, 악성인지 여부를 판단하고(S180), 판단 결과에 따라 후처리 수행하게 된다.The collection / processing module transmits the extracted URL information to the analysis module to request the analysis (S130). The analysis module checks whether the corresponding URL information is normal or malicious, and transmits the analysis result to the collection / processing module The collection / processing module checks the analysis result to determine whether it is malicious (S180), and performs the post-processing according to the determination result.

수집/처리 모듈은 분석 결과가 악성인 경우 Source 필드로부터 리다이렉션 URL을 확인하여 URL 리다이렉션을 수행할 수 있고(S190), 분석 결과가 정상인 경우 HTTP Relay를 진행하고(S140), 외부 서버로부터 HTTP 응답 패킷을 수신하여, 수집하고(S150), 해당 응답 패킷으로부터 스크립트 정보 추출할 수 있다(S160).If the analysis result is malicious, the collecting / processing module can check the redirection URL from the source field to perform URL redirection (S190). If the analysis result is normal, the HTTP relay is performed (S140) (S150), and extracts the script information from the response packet (S160).

수집 처리 모듈은 추출한 스크립트 정보를 분석 모듈로 송신하여, 스크립트 분석 요청을 할 수 있고(S130), 분석 모듈이 해당 스크립트 정보가 정상 또는 악성인지 여부를 판단하고, 수집/처리 모듈로 분석 결과를 송신하면, 수집/처리 모듈은 분석 결과를 확인하여 악성인지 여부를 판단하고(S180), 판단 결과에 따라 후 처리를 수행하게 된다. 수집/처리 모듈은 후 처리 수행 후, 웹 브라우저에 적용하여 로딩을 재개할 수 있다.The acquisition processing module transmits the extracted script information to the analysis module to request the script analysis (S130). The analysis module determines whether the script information is normal or malicious, and transmits the analysis result to the collection / processing module The collection / processing module checks the analysis result to determine whether it is malicious (S180), and performs the post-processing according to the determination result. The collection / processing module can be applied to the web browser after the post-processing to resume loading.

도 4는 본 발명의 몇몇 실시예에서 참조되는 분석 모듈이 수행하는 동작의 순서도이다. 분석 모듈은 URL 및 스크립트에 대해 악성인지 여부를 판단할 수 있다.4 is a flowchart of the operations performed by the analysis module referred to in some embodiments of the present invention. The analysis module can determine whether the URL and script are malicious.

분석 모듈이 수집/처리 모듈로부터 URL에 대한 분석 요청 메시지를 수신하면(S200), 해당 분석 대상 URL이 악성 URL인지 여부를 검사할 수 있다(S205). 단계(S205)에서, 분석 모듈은 URL Black List에 저장된 URL과의 비교하고, 매칭되는 URL이 존재하는 경우 악성 URL로 판단할 수 있다. 악성 URL을 먼저 탐지하는 이유는, 악성 URL 검사를 통해, 스크립트 분석 전에 악성 리소스를 빠르게 탐지하기 위함이다.When the analysis module receives the analysis request message for the URL from the collection / processing module (S200), it can check whether the analysis target URL is a malicious URL (S205). In step S205, the analysis module compares the URL with the URL stored in the URL Black List, and may determine that the malicious URL exists if a matching URL exists. The reason for detecting malicious URLs first is to quickly detect malicious resources through malicious URL scans before script analysis.

분석 모듈은 분석 결과에 따라, 후 처리를 수행할 수 있다(S500). 단계(S500)에서, 분석 모듈은 검사 결과 악성 URL인 경우, 해당 URL에 대한 분석 결과를 저장할 수 있고, 예를 들어, 탐지 로그에 해당 결과를 저장할 수 있다. 또한 해당 URL에 대하여 URL 리다이렉션을 실행할 수 있다.The analysis module may perform post-processing according to the analysis result (S500). In step S500, if the analysis module determines that the URL is a malicious URL, the analysis module may store the analysis result for the URL, and may store the result in the detection log, for example. You can also perform URL redirection for that URL.

분석 모듈이 수집/처리 모듈로부터 스크립트에 대한 분석 요청 메시지 수신하면(S300), 상기 스크립트가 악성 스크립트인지 여부를 분석할 수 있다(S305).When the analysis module receives the analysis request message for the script from the collection / processing module (S300), it can analyze whether the script is a malicious script (S305).

단계(S305)에서 분석 모듈은 모바일 단말에 특화된 악성 스크립트들의 시그니처와 상기 스크립트가 패턴 매칭되면, 해당 스크립트를 악성 스크립트로 판단할 수 있다. 이처럼, 단계(S305)에서 시그니처를 참조하여 정적 분석이 이루어 진다. 상기 시그니처는, 모바일 단말 외부의 시그니처 관리 시스템과의 연동을 통하여 업데이트 될 수 있다.In step S305, if the signature of the malicious script specific to the mobile terminal and the script are pattern-matched, the analysis module can determine the script as a malicious script. As such, static analysis is performed with reference to the signature in step S305. The signature may be updated through interworking with a signature management system external to the mobile terminal.

시그니처란 악성 스크립트 탐지에 사용하는 패턴 정보로써, 기존에 발견된 악성 스크립트의 패턴 정보를 포함한다. 시그니처는 시그니처 DB에 별도로 저장될 수 있다. 기 저장된 시그니처를 이용하여, 최대한 빠르게 악성 스크립트를 검사할 수 있다.Signatures are pattern information used to detect malicious scripts, and they include pattern information of malicious scripts found in the past. Signatures can be stored separately in the signature database. Using pre-stored signatures, malicious scripts can be scanned as quickly as possible.

한편, 분석 모듈은 분석 대상 스크립트가 난독화 되어있는지 여부를 판단할 수 있다(S400). 분석 대상 스크립트가 난독화 되어 있는 것으로 판단된 경우, 분석 모듈은 난독화 분석을 수행할 수 있다(S405).Meanwhile, the analysis module can determine whether the analysis target script is obfuscated (S400). If it is determined that the analysis target script is obfuscated, the analysis module can perform the obfuscation analysis (S405).

단계(S405)에서, 분석 모듈은 난독화 기법의 종류를 구별하고, 구별된 난독화 기법에 맞추어 난독화 해제를 수행하여, 평문 스크립트를 추출할 수 있다. 분석 모듈은 추출된 평문 스크립트와 악성 스크립트 시그니처에 저장된 스크립트를 비교하여, 악성 스크립트인지 여부를 판단할 수 있다.In step S405, the analysis module can distinguish the types of obfuscation techniques and perform the obfuscation release according to the distinguished obfuscation technique to extract the plaintext script. The analysis module can compare the extracted plaintext script with the script stored in the malicious script signature to determine whether it is a malicious script.

분석 모듈은 스크립트에 대한 분석 결과 후 처리를 수행할 수 있다(S500). 단계(S500)에서, 해당 스크립트가 악성 스크립트인 경우, 분석 결과 정보를 저장할 수 있다. 예를 들어, 분석 결과를 탐지 로그에 저장할 수 있다. 또한 URL 리다이렉션을 실행할 수 있다. 탐지 로그에는 악성 URL 정보, 악성 스크립트 정보, 난독화 스크립트 정보가 저장될 수 있다.The analysis module may perform post-processing of the analysis result of the script (S500). In step S500, if the script is a malicious script, analysis result information can be stored. For example, the analysis results can be stored in the detection log. You can also run URL redirection. The detection log may contain malicious URL information, malicious script information, and obfuscation script information.

해당 스크립트가 악성 스크립트가 아닌 경우, 별도 처리 없이 본래의 세션 정보를 수집/처리 모듈에 전송할 수도 있다.If the script is not a malicious script, the original session information may be transmitted to the collection / processing module without any further processing.

도 5는 본 발명의 몇몇 실시예에서 참조되는, 악성 URL 검사 방법의 순서도이다.5 is a flowchart of a malicious URL checking method, which is referenced in some embodiments of the present invention.

분석 모듈은 수집/처리 모듈로부터 URL에 대한 분석 요청 메시지를 수신할 수 있다(S200). 분석 모듈은 URL Black List DB 에 저장되어 있는 URL 정보와 분석 대상 URL과 매칭을 수행할 수 있다(S210).The analysis module may receive an analysis request message for the URL from the collection / processing module (S200). The analysis module can perform matching with the URL information stored in the URL Black List DB and the analysis target URL (S210).

매칭의 수행 결과, 분석 대상 URL이 악성 URL인 경우 해당 URL, 탐지 시간 등을 포함한 탐지 정보를 탐지 로그 DB에 저장할 수 있다(S230). 이처럼 결과 정보를 지속적으로 갱신하여, 보안의 효과를 높일 수 있다.As a result of the matching, if the analysis target URL is a malicious URL, the detection information including the URL, the detection time, and the like may be stored in the detection log DB (S230). As a result, the result information can be continuously updated to enhance the security effect.

매칭의 수행 결과, 분석 대상 URL이 악성 URL이 아닌 경우, 별도 처리 없이 URL 분석을 종료할 수 있다(S240).As a result of the matching, if the analysis target URL is not a malicious URL, the URL analysis may be terminated without further processing (S240).

도 6은 본 발명의 몇몇 실시예에서 참조되는, 악성 스크립트 검사 방법의 순서도이다.Figure 6 is a flowchart of a malicious script checking method, which is referenced in some embodiments of the present invention.

분석 모듈이 수집/처리 모듈로부터 스크립트에 대한 분석 요청 메시지를 수신할 수 있다(S300). 분석 모듈은 대상 스크립트와 시그니처 DB에 저장되어 있는 악성 스크립트 정보와의 패턴 매칭을 수행할 수 있다(S310).The analysis module may receive an analysis request message for the script from the collection / processing module (S300). The analysis module can perform pattern matching between the target script and the malicious script information stored in the signature DB (S310).

단계(S310)에서, 분석 모듈은 분석 요청 메시지를 수신하면, 대상 스크립트가 난독화 되어 있는지 여부를 판별할 수 있다. 예를 들어, 분석 모듈은 스크립트를 실행하기 전과 후의 해시(hash) 값 비교함으로써 난독화 여부를 판단할 수 있다. 대상 스크립트가 난독화 되어 있는 경우, 분석 모듈은 난독화 해제를 수행하고 평문 스크립트 추출할 수 있다. 추출된 평문 스크립트가 시그니처 DB에 저장된 악성 스크립트 정보와 매칭된다.In step S310, when the analysis module receives the analysis request message, it can determine whether the target script is obfuscated. For example, the analysis module can determine whether to obfuscate by comparing the hash values before and after execution of the script. If the target script is obfuscated, the analysis module can perform de-obfuscation and extract plaintext scripts. The extracted plaintext script is matched with the malicious script information stored in the signature DB.

단계(S320)에서, 분석 모듈은 패턴 매칭을 수행한 결과 매칭에 성공한 경우, 해당 스크립트를 악성 스크립트로 판단할 수 있다. 대상 스크립트가 악성인 경우, 해당 스크립트, URL, 탐지 시간 등을 포함한 탐지 정보를 탐지 로그 DB에 저장할 수 있다. 또한 악성 스크립트에 대한 URL 리다이렉션을 수행할 수 있다(S330). 분석 모듈은 URL 리다이렉션을 수행함으로써, 실행 방지 처리를 수행할 수 있다.In step S320, if the pattern matching is successful as a result of the pattern matching, the analysis module can determine the script as a malicious script. If the target script is malicious, detection information including the script, URL, detection time, etc. can be stored in the detection log DB. Further, the URL redirection for the malicious script can be performed (S330). The analysis module can perform the execution prevention processing by performing the URL redirection.

단계(S320)에서, 분석 모듈은 패턴 매칭을 수행한 결과 매칭에 실패한 경우, 해당 스크립트를 악성 스크립트가 아닌, 정상 스크립트로 판단할 수 있다. 분석 모듈은 악성이 아닌 경우, 별도의 처리 없이 스크립트 분석을 종료할 수 있다.In step S320, if the analysis module fails to match the pattern matching result, it can determine that the script is not a malicious script but a normal script. If the analysis module is not malicious, the script analysis can be terminated without further processing.

도 7은 본 발명의 또 다른 실시예에 따른 악성 스크립트 감지 장치의 블록도이다.7 is a block diagram of a malicious script detection apparatus according to another embodiment of the present invention.

악성 스크립트 감지 장치(100)는 통신부(200), 수집/처리부(220), 분석부(240), 저장부(260)를 포함할 수 있다. 악성 스크립트 감지 장치(100)는 통신부(200)를 통해, 외부 서버 및 클라이언트와 패킷을 송, 수신 할 수 있다.The malicious script detection apparatus 100 may include a communication unit 200, a collection / processing unit 220, an analysis unit 240, and a storage unit 260. The malicious script detection apparatus 100 can transmit and receive packets to and from an external server and a client through the communication unit 200. [

수집/처리부(220)는 패킷을 수집하고, 그로부터 URL 및 스크립트를 추출하고, 악성 여부에 따라 후 처리를 수행할 수 있다. 분석부(240)는 URL 및 스크립트가 악성인지 여부를 판단할 수 있다. 저장부(260)는 악성 URL 및 악성 스크립트 정보를 저장할 수 있다.The collection / processing unit 220 may collect packets, extract URLs and scripts therefrom, and perform post processing according to whether the malicious packets are malicious or not. The analyzer 240 can determine whether the URL and the script are malicious. The storage unit 260 may store malicious URLs and malicious script information.

부가적으로, 악성 스크립트 감지 장치(100)는 탐지 정보를 사용자에게 알릴 수 있고, 탐지 설정을 지원하는 사용자 GUI 기능을 포함할 수 있다.Additionally, the malicious script detection apparatus 100 may notify the user of the detection information, and may include a user GUI function for supporting the detection setting.

예를 들어, 사용자는 사용자 GUI 기능을 통해, 웹 접속 URL 검사 기능을 ON/OFF 할 수 있고, 스크립트 정적 분석 기능을 ON/OFF 할 수 있고, 난독화 검사 기능을 ON/OFF 할 수 있다. 또한 사용자는 시그니처 업데이트를 요청할 수 있다.For example, the user can turn on / off the web access URL checking function, turn on / off the script static analysis function, and turn on / off the obfuscation checking function through the user GUI function. The user can also request a signature update.

또한, 사용자는 사용자 GUI 기능을 통해, 환경 설정으로 시그니처 업데이트 설정을 예약 또는 수동으로 가능하며, URL 블랙 리스트 업데이트 설정이 예약 또는 수동으로 가능하다. 또한 실시간 탐지 알림 창의 표시 여부를 설정할 수 있고, 탐지 로그 정보 전송 여부를 설정할 수 있다.In addition, the user can reserve or manually set the signature update setting through the user GUI function, and the URL blacklist update setting can be scheduled or manually. Also, it is possible to set whether or not to display the real-time detection notification window, and to set whether to transmit detection log information.

사용자는 사용자 GUI 기능을 통해, 악성 스크립트 및 악성 URL 탐지 유형별 전체 탐지비율 볼 수 있고, 악성 스크립트 및 악성 URL 탐지 기간별 탐지 현황을 볼 수 있다. 또한 악성 스크립트 및 악성 URL 탐지 기간별, 내용별 검색이 가능하다.Through the user GUI function, the user can view the total detection rate by types of malicious script and malicious URL detection, and view the detection status by malicious script and malicious URL detection period. In addition, malicious script and malicious URL detection can be searched by period and content.

지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨팅 장치가 읽을 수 있는 코드로 구현된 프로그램의 실행에 의하여 수행될 수 있다. 상기 프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다. 또한 상기 프로그램은 모바일 단말의 백신 어플리케이션에 적용되어 설치될 수 있다.The methods according to the embodiments of the present invention described so far can be performed by execution of a program implemented with a code readable by a computing device. The program may be transmitted from a first computing device to a second computing device via a network, such as the Internet, and installed in the second computing device, thereby enabling it to be used in the second computing device. The first computing device and the second computing device all include a server device, a physical server belonging to a server pool for cloud services, and a fixed computing device such as a desktop PC. The program may also be applied to a vaccine application of a mobile terminal.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, You will understand. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive.

Claims (9)

모바일 단말이, 모바일 브라우저로부터 HTTP request를 인터셉트하는 단계;
상기 모바일 단말이, 상기 HTTP request를 파싱하여, 상기 HTTP request로부터 URL을 추출하는 단계;
상기 모바일 단말이, 상기 추출된 URL을 URL 블랙 리스트와 매칭 하여, 상기 추출된 URL이 악성 URL인지 여부를 판단하는 단계;
상기 모바일 단말이, 상기 판단의 결과, 상기 추출된 URL이 악성 URL인 경우 URL 리다이렉션을 수행하고, 상기 판단의 결과 상기 추출된 URL이 정상 URL인 경우 외부 서버로부터 HTTP response를 수신하는 단계;
상기 모바일 단말이, 상기 HTTP response를 파싱하여, 상기 HTTP response로부터 스크립트를 추출하는 단계;
상기 모바일 단말이, 상기 추출된 스크립트가 외부의 시그니처 관리시스템으로부터 업데이트 되어 저장된 시그니처와 패턴 매칭되면 상기 추출된 스크립트를 악성 스크립트로 판정하는 단계를 포함하되,
상기 시그니처는 모바일 브라우저 악성 스크립트들을 식별하기 위한 것이고,
상기 악성 스크립트로 판정하는 단계는, 상기 추출된 스크립트를 실행하기 전의 해시값과 상기 추출된 스크립트를 실행한 후의 해시값을 비교함으로써 상기 추출된 스크립트의 난독화 여부를 판단하는 단계를 포함하는,
악성 스크립트 탐지 방법.
Intercepting an HTTP request from a mobile browser;
Parsing the HTTP request and extracting a URL from the HTTP request;
Determining whether the extracted URL is a malicious URL by matching the extracted URL with a URL black list;
The mobile terminal performs URL redirection when the extracted URL is a malicious URL as a result of the determination and receiving an HTTP response from an external server when the extracted URL is a normal URL as a result of the determination;
Parsing the HTTP response and extracting a script from the HTTP response;
Determining that the extracted script is a malicious script if the extracted script is pattern-matched with a stored signature updated from an external signature management system,
The signature is for identifying mobile browser malicious scripts,
Wherein the step of determining the malicious script includes a step of determining whether the extracted script is obfuscated by comparing a hash value before execution of the extracted script with a hash value after execution of the extracted script,
How to detect malicious scripts.
제1 항에 있어서,
상기 모바일 단말이, 상기 악성 스크립트가 모바일 단말에 구비된 센서에 의하여 측정된 데이터를 무단 반출하기 위한 것인 경우, 상기 HTTP response의 웹 문서에서 상기 악성 스크립트의 실행을 위한 부분을 제거하여 상기 모바일 브라우저에 제공하는 단계를 더 포함하는,
악성 스크립트 탐지 방법.
The method according to claim 1,
The mobile terminal removes a portion for execution of the malicious script from the web document of the HTTP response when the malicious script is for unauthorized removal of data measured by a sensor provided in the mobile terminal, To the first node,
How to detect malicious scripts.
제1 항에 있어서,
상기 모바일 단말이, 상기 악성 스크립트가 모바일 단말에 구비된 빛 출력 장치 또는 소리 출력 장치 또는 진동 출력 장치를 사용자 조작 없이 무단으로 동작시키는 것인 경우인 경우, 상기 HTTP response의 웹 문서에서 상기 악성 스크립트의 실행을 위한 부분을 제거하여 상기 모바일 브라우저에 제공하는 단계를 더 포함하는,
악성 스크립트 탐지 방법.
The method according to claim 1,
When the malicious script operates the light output device, the sound output device, or the vibration output device provided in the mobile terminal without user's operation, the malicious script in the web document of the HTTP response And removing the portion for execution and providing the portion to the mobile browser.
How to detect malicious scripts.
제1 항에 있어서,
상기 모바일 단말이, 상기 업데이트에 따른 신규 악성 스크립트의 시그니처와 분석 대상 스크립트의 패턴 매칭이 되는 경우, 상기 시그니처 관리 시스템에 신규 악성 스크립트 패턴 매칭 사실을 가리키는 데이터를 송신하는 단계;
상기 시그니처 관리 시스템이, 상기 신규 악성 스크립트 패턴 매칭 사실을 가리키는 데이터가 기 지정된 횟수 이상 수신된 경우, 최신의 시그니처가 강제로 업데이트될 수 있도록 악성 스크립트 탐지 소프트웨어가 설치된 모든 모바일 단말에 업데이트 제어 신호를 송신하는 단계를 더 포함하는,
악성 스크립트 탐지 방법.
The method according to claim 1,
Transmitting data indicating a new malicious script pattern matching fact to the signature management system when the mobile terminal becomes a new malicious script signature and a pattern matching of the analysis target script according to the update;
The signature management system transmits an update control signal to all mobile terminals installed with the malicious script detection software so that the latest signature can be forcibly updated when the data indicating the fact of matching the new malicious script pattern is received a predetermined number of times or more ≪ / RTI >
How to detect malicious scripts.
제1 항에 있어서,
상기 HTTP response로부터 스크립트를 추출하는 단계는,
상기 추출된 스크립트에 난독화가 이루어졌는지 여부를 판단하는 단계; 및
상기 판단의 결과 난독화가 이루어진 경우, 난독화를 해제하는 단계를 더 포함하고,
상기 추출된 스크립트를 악성 스크립트로 판정하는 단계는,
난독화가 해제된 상기 스크립트가 외부의 시그니처 관리시스템으로부터 업데이트 되어 저장된 시그니처와 패턴 매칭되면 상기 추출된 스크립트를 악성 스크립트로 판정하는 단계
악성 스크립트 탐지 방법.
The method according to claim 1,
The step of extracting the script from the HTTP response comprises:
Determining whether obfuscation has been performed on the extracted script; And
Further comprising the step of canceling the obfuscation if obfuscation is made as a result of the determination,
The step of determining the extracted script as a malicious script includes:
Judging the extracted script as a malicious script if the script whose obfuscation is released is updated from the signature management system of the external and is pattern-matched with the stored signature,
How to detect malicious scripts.
제1 항에 있어서,
상기 악성 스크립트인지 여부를 판단한 결과 상기 추출된 스크립트가 악성 스크립트인 경우, URL 리다이렉션을 수행하여 상기 악성 스크립트의 실행을 방지하고, 상기 추출된 스크립트가 악성 스크립트가 아닌 경우, 클라이언트로 HTTP 응답 패킷을 송신하는 단계를 더 포함하는,
악성 스크립트 탐지 방법.
The method according to claim 1,
If the extracted script is a malicious script as a result of determining whether or not the script is malicious, execution of the URL redirection is prevented to prevent execution of the malicious script. If the extracted script is not a malicious script, an HTTP response packet is transmitted to the client ≪ / RTI >
How to detect malicious scripts.
컴퓨터를 이용하여 제1항 내지 제6항 중 어느 한 항의 방법을 실행시키기 위하여 저장매체에 저장된 컴퓨터 프로그램.A computer program stored on a storage medium for executing the method of any one of claims 1 to 6 using a computer. 프로세서;
상기 프로세서에서 실행될 악성 스크립트 대응 오퍼레이션을 로드하는 메모리; 및
상기 메모리로 로드되어 상기 악성 스크립트 대응 오퍼레이션을 구성하는 악성 스크립트 탐지 소프트웨어 및 모바일 브라우저 악성 스크립트 및 일반 악성 스크립트를 식별하기 위한 데이터를 포함하는 시그니처를 저장하는 스토리지를 포함하되,
상기 악성 스크립트 대응 오퍼레이션은,
모바일 브라우저로부터 HTTP request를 인터셉트하고 상기 HTTP request를 파싱하여, 상기 HTTP request로부터 URL을 추출하는 오퍼레이션;
상기 추출된 URL을 URL 블랙 리스트와 매칭 하여, 상기 추출된 URL이 악성 URL인지 여부를 판단하는 오퍼레이션;
상기 판단의 결과, 상기 추출된 URL이 악성 URL인 경우 URL 리다이렉션을 수행하고, 상기 판단의 결과 상기 추출된 URL이 정상 URL인 경우 외부 서버로부터 HTTP response를 수신하는 오퍼레이션;
상기 HTTP response를 파싱하여, 상기 HTTP response로부터 스크립트를 추출하는 오퍼레이션;
상기 추출된 스크립트가 외부의 시그니처 관리시스템으로부터 업데이트 되어 저장된 시그니처와 패턴 매칭되면 상기 추출된 스크립트를 악성 스크립트로 판정하는 오퍼레이션; 및
상기 악성 스크립트가 모바일 브라우저 악성 스크립트인 경우, 상기 HTTP response의 웹 문서에서 상기 악성 스크립트의 실행을 위한 부분을 제거하여 상기 모바일 브라우저에 제공하는 오퍼레이션을 포함하되,
상기 악성 스크립트로 판정하는 오퍼레이션은, 상기 추출된 스크립트를 실행하기 전의 해시값과 상기 추출된 스크립트를 실행한 후의 해시값을 비교함으로써 상기 추출된 스크립트의 난독화 여부를 판단하는 오퍼레이션을 포함하는,
모바일 단말.
A processor;
A memory for loading a malicious script corresponding operation to be executed in the processor; And
Malicious script detection software loaded into the memory and constituting the malicious script corresponding operation, and storage for storing signatures including data for identifying mobile browser malicious script and general malicious script,
The malicious script corresponding operation includes:
Intercepting an HTTP request from a mobile browser, parsing the HTTP request, and extracting a URL from the HTTP request;
An operation of determining whether the extracted URL is a malicious URL by matching the extracted URL with a URL black list;
Performing a URL redirection if the extracted URL is a malicious URL as a result of the determination; and receiving an HTTP response from an external server when the extracted URL is a normal URL as a result of the determination;
Parsing the HTTP response and extracting a script from the HTTP response;
Determining that the extracted script is a malicious script if the extracted script is pattern-matched with a stored signature updated from an external signature management system; And
And removing the portion for execution of the malicious script from the web document of the HTTP response if the malicious script is a malicious script of the mobile browser and providing the malicious script to the mobile browser,
Wherein the malicious script determining operation includes an operation of determining whether the extracted script is obfuscated by comparing a hash value before executing the extracted script with a hash value after executing the extracted script,
Mobile terminal.
제8 항에 있어서,
상기 악성 스크립트 대응 오퍼레이션은,
상기 악성 스크립트가 일반 악성 스크립트인 경우, 상기 HTTP response의 웹 문서에 대하여 상기 악성 스크립트를 실행하기 위한 부분이 그대로 화면에 출력되도록 하는 태그를 부가한 후, 상기 모바일 브라우저에 제공하는 오퍼레이션을 더 포함하는,
모바일 단말.
9. The method of claim 8,
The malicious script corresponding operation includes:
Adding a tag for causing the web document of the HTTP response to be displayed on the screen to directly execute the malicious script when the malicious script is a general malicious script and then providing the malicious script to the mobile browser ,
Mobile terminal.
KR1020160180343A 2016-12-27 2016-12-27 A method and apparatus for detecting malicious scripts based on mobile device KR102001814B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160180343A KR102001814B1 (en) 2016-12-27 2016-12-27 A method and apparatus for detecting malicious scripts based on mobile device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160180343A KR102001814B1 (en) 2016-12-27 2016-12-27 A method and apparatus for detecting malicious scripts based on mobile device

Publications (2)

Publication Number Publication Date
KR20180076174A KR20180076174A (en) 2018-07-05
KR102001814B1 true KR102001814B1 (en) 2019-07-19

Family

ID=62920737

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160180343A KR102001814B1 (en) 2016-12-27 2016-12-27 A method and apparatus for detecting malicious scripts based on mobile device

Country Status (1)

Country Link
KR (1) KR102001814B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102156891B1 (en) * 2020-02-25 2020-09-16 주식회사 에프원시큐리티 System and method for detecting and blocking web attack through web protocol behavior analysis based on ai machine learning

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244134A (en) * 2009-04-01 2010-10-28 Mitsubishi Electric Corp Url filtering device and url filtering method
KR101543237B1 (en) * 2014-12-03 2015-08-11 한국인터넷진흥원 Apparatus, system and method for detecting and preventing a malicious script by static analysis using code pattern and dynamic analysis using API flow

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100786725B1 (en) 2005-11-08 2007-12-21 한국정보보호진흥원 Analysis system for malicious code and method thereof
KR101043299B1 (en) * 2009-07-21 2011-06-22 (주) 세인트 시큐리티 Method, system and computer readable recording medium for detecting exploit code
KR101234066B1 (en) * 2010-12-21 2013-02-15 한국인터넷진흥원 Web / email for distributing malicious code through the automatic control system and how to manage them

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244134A (en) * 2009-04-01 2010-10-28 Mitsubishi Electric Corp Url filtering device and url filtering method
KR101543237B1 (en) * 2014-12-03 2015-08-11 한국인터넷진흥원 Apparatus, system and method for detecting and preventing a malicious script by static analysis using code pattern and dynamic analysis using API flow

Also Published As

Publication number Publication date
KR20180076174A (en) 2018-07-05

Similar Documents

Publication Publication Date Title
CN109951500B (en) Network attack detection method and device
CN110324311B (en) Vulnerability detection method and device, computer equipment and storage medium
CN107294982B (en) Webpage backdoor detection method and device and computer readable storage medium
US10445502B1 (en) Susceptible environment detection system
US20210240825A1 (en) Multi-representational learning models for static analysis of source code
US10581879B1 (en) Enhanced malware detection for generated objects
CN111400722B (en) Method, apparatus, computer device and storage medium for scanning small program
US20210240826A1 (en) Building multi-representational learning models for static analysis of source code
CN110417778B (en) Access request processing method and device
CN102694817B (en) The whether abnormal method of the network behavior of a kind of recognizer, Apparatus and system
CN108664793B (en) Method and device for detecting vulnerability
CN109586282B (en) Power grid unknown threat detection system and method
CN103617395A (en) Method, device and system for intercepting advertisement programs based on cloud security
KR101132197B1 (en) Apparatus and Method for Automatically Discriminating Malicious Code
CN107465702B (en) Early warning method and device based on wireless network intrusion
CN113259392B (en) Network security attack and defense method, device and storage medium
US20160134658A1 (en) Unauthorized access detecting system and unauthorized access detecting method
CN111464526A (en) Network intrusion detection method, device, equipment and readable storage medium
CN105956461B (en) A kind of method and terminal intercepting drive load
KR102420884B1 (en) Apparatus for processing cyber threat information, method for processing cyber threat information, and medium for storing a program processing cyber threat information
CN108259416B (en) Method for detecting malicious webpage and related equipment
KR102001814B1 (en) A method and apparatus for detecting malicious scripts based on mobile device
CN108270730A (en) A kind of application layer detection method, device and electronic equipment for extending fire wall
CN111314326A (en) Method, device, equipment and medium for confirming HTTP vulnerability scanning host
CN116170186A (en) Attack code online detection method and device based on network traffic analysis

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant