KR102673878B1 - Method, device and system for malware extraction and managing from phising website - Google Patents

Method, device and system for malware extraction and managing from phising website Download PDF

Info

Publication number
KR102673878B1
KR102673878B1 KR1020230186668A KR20230186668A KR102673878B1 KR 102673878 B1 KR102673878 B1 KR 102673878B1 KR 1020230186668 A KR1020230186668 A KR 1020230186668A KR 20230186668 A KR20230186668 A KR 20230186668A KR 102673878 B1 KR102673878 B1 KR 102673878B1
Authority
KR
South Korea
Prior art keywords
target software
resource identifier
software
extracting
input
Prior art date
Application number
KR1020230186668A
Other languages
Korean (ko)
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 KR1020230186668A priority Critical patent/KR102673878B1/en
Application granted granted Critical
Publication of KR102673878B1 publication Critical patent/KR102673878B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/95Pattern authentication; Markers therefor; Forgery detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

웹(Web)을 이용해 접근 가능한 리소스로부터 타겟 소프트웨어를 추출하기 위한 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램이 개시된다. 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 타겟 소프트웨어를 추출하기 위한 하나 이상의 단계들을 포함하며, 상기 단계들은: 입력 리소스 식별자를 이용하여 최종 리소스 식별자를 생성하는 단계; 및 상기 최종 리소스 식별자에 기초하여 타겟 소프트웨어를 추출하는 단계;를 포함하고, 상기 타겟 소프트웨어를 추출하는 단계는, 리소스 취약점 공격 단계;를 포함하는 것을 특징으로 할 수 있다.A computer program stored in a computer-readable recording medium for extracting target software from resources accessible using the Web is disclosed. A computer program stored on a computer-readable recording medium, the computer program comprising one or more steps for extracting target software, the steps comprising: generating a final resource identifier using an input resource identifier; and extracting target software based on the final resource identifier, wherein the extracting the target software may include a resource vulnerability attack step.

Figure 112023142969998-pat00003
Figure 112023142969998-pat00003

Description

피싱 사이트에서의 악성 소프트웨어 추출 및 관리 방법, 장치 및 시스템{ METHOD, DEVICE AND SYSTEM FOR MALWARE EXTRACTION AND MANAGING FROM PHISING WEBSITE}Method, device, and system for extracting and managing malicious software from phishing sites {METHOD, DEVICE AND SYSTEM FOR MALWARE EXTRACTION AND MANAGING FROM PHISING WEBSITE}

본 발명은 피싱(Phishing) 사이트 등으로부터 악성 소프트웨어를 추출하고 이를 안전하게 관리하기 위한 방법에 관한 것이다.The present invention relates to a method for extracting malicious software from phishing sites and safely managing it.

피싱(Phishing)이란 전자우편 또는 메신저를 사용해서 신뢰할 수 있는 사람 또는 기업이 보낸 메시지인 것처럼 가장함으로써, 비밀번호, 신용카드 정보와 같이 기밀을 요하는 정보를 부정하게 얻으려는 소셜 엔지니어링의 한 종류이다. 많은 경우, 이러한 피싱 기법은 메일 또는 메시지에 포함된 웹 사이트 등을 통해 사용자가 악성 소프트웨어를 다운로드 받게 한 뒤, 다운로드 된 악성 소프트웨어를 이용하여 사용자의 개인정보를 추출한다.Phishing is a type of social engineering that attempts to fraudulently obtain confidential information, such as passwords and credit card information, by using e-mail or messenger to pretend to be a message from a trustworthy person or company. In many cases, these phishing techniques have users download malicious software through emails or websites included in the message, and then use the downloaded malicious software to extract the user's personal information.

피싱 기법 및 악성 소프트웨어로부터 사용자를 보호하기 위해서, 종래 피싱 사이트 등으로부터 악성 소프트웨어를 미리 추출하고, 추출된 악성 소프트웨어를 분석하여 사용자가 이러한 악성 소프트웨어로부터 보호받을 수 있도록 하는 기법이 존재해왔다. 이에 따라, 피싱 기법도 피싱 사이트가 악성 소프트웨어를 보호하도록 발전하여 왔다. 특히, 피싱 피해자가 잠정적으로 선정된 경우, 피해자의 개인정보를 미리 획득한 뒤, 개인정보가 일치하는 경우에만 피싱 소프트웨어를 다운로드 받을 수 있게 함으로써, 피해자만이 악성 소프트웨어를 다운로드 받게 하는 기법이 최근 발견되고 있는 추세이다. 이러한 기법을 활용할 경우, 악성 소프트웨어를 확보할 수 없어 기존 기법으로는 방어책을 마련하기 어렵다는 문제가 있다.In order to protect users from phishing techniques and malicious software, there has been a technique that extracts malicious software in advance from conventional phishing sites, analyzes the extracted malicious software, and allows users to be protected from such malicious software. Accordingly, phishing techniques have also evolved to help phishing sites protect against malicious software. In particular, when a phishing victim is tentatively selected, a technique was recently discovered that allows only the victim to download malicious software by obtaining the victim's personal information in advance and allowing the phishing software to be downloaded only if the personal information matches. It is becoming a trend. When using these techniques, there is a problem that malicious software cannot be secured, so it is difficult to prepare a defense plan using existing techniques.

따라서 당업계에 개인정보 기반의 악성 소프트웨어 보호 기법을 우회하여 악성 소프트웨어를 추출하고 안전하게 관리할 수 있는 방법에 대한 수요가 존재한다.Therefore, there is a demand in the industry for a method to extract and safely manage malicious software by bypassing personal information-based malicious software protection techniques.

본 발명은 피싱 사이트의 취약점 및 학습된 피싱 패턴을 이용하여 피싱 사이트와 연계된 악성 소프트웨어를 추출할 수 있는 방법을 구축하고자 한다.The present invention seeks to build a method to extract malicious software associated with a phishing site by using the vulnerability of the phishing site and learned phishing patterns.

개시된 발명의 일 측면에 따른 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 타겟 소프트웨어를 추출하기 위한 하나 이상의 단계들을 포함하며, 상기 단계들은: 입력 리소스 식별자를 이용하여 최종 리소스 식별자를 생성하는 단계; 및 상기 최종 리소스 식별자에 기초하여 타겟 소프트웨어를 추출하는 단계;를 포함하고, 상기 타겟 소프트웨어를 추출하는 단계는, 리소스 취약점 공격 단계;를 포함하는 것을 특징으로 할 수 있다.A computer program stored on a computer-readable recording medium according to an aspect of the disclosed invention, the computer program comprising one or more steps for extracting target software, the steps comprising: generating a final resource identifier using an input resource identifier; steps; and extracting target software based on the final resource identifier, wherein the extracting the target software may include a resource vulnerability attack step.

또한, 상기 리소스 취약점 공격 단계는, 상기 최종 리소스 식별자에 대응하는 최종 리소스 내에 포함된 하나 이상의 입력 폼을 추출하는 단계; 추출된 상기 입력 폼에 무작위 값을 입력하여 상기 타겟 소프트웨어를 추출하는 무작위 값 공격 단계; 및 상기 무작위 값 공격 단계에서 상기 타겟 소프트웨어가 추출되지 않을 경우, 보안 취약점 공격을 수행하여 상기 타겟 소프트웨어를 추출하는 보안 취약점 공격 단계;를 포함할 수 있다.Additionally, the resource vulnerability attack step includes extracting one or more input forms included in the final resource corresponding to the final resource identifier; A random value attack step of extracting the target software by inputting a random value into the extracted input form; and a security vulnerability attack step of extracting the target software by performing a security vulnerability attack when the target software is not extracted in the random value attack step.

또한, 상기 보안 취약점 공격은, SQL 인젝션, 크로스 사이트 스크립팅, CSRF 크로스 사이트 요청 위조 또는 인증 세션 관련 취약점 중 적어도 하나를 이용하는 것을 특징으로 할 수 있다.Additionally, the security vulnerability attack may be characterized by using at least one of SQL injection, cross-site scripting, CSRF cross-site request forgery, or authentication session-related vulnerabilities.

또한, 상기 타겟 소프트웨어를 추출하는 단계는, 경로 패턴을 이용하여 상기 타겟 소프트웨어를 추출하는 경로 패턴 공격 단계;를 포함할 수 있다.Additionally, the step of extracting the target software may include a path pattern attack step of extracting the target software using a path pattern.

또한, 상기 경로 패턴은, 하나 이상의 경로 계층을 포함하며, 상기 경로 패턴 공격 단계는, 상기 하나 이상의 경로 계층을 순차적으로 접근하는 것을 특징으로 할 수 있다.Additionally, the path pattern may include one or more path layers, and the path pattern attack step may be characterized by sequentially accessing the one or more path layers.

또한, 상기 경로 패턴은, 기 저장된 하나 이상의 소프트웨어 추출 경로를 포함할 수 있다.Additionally, the path pattern may include one or more pre-stored software extraction paths.

또한, 상기 타겟 소프트웨어를 관리 영역에 저장하는 단계;를 더 포함하고, 상기 관리 영역은, 상기 타겟 소프트웨어를 저장하기 위하여 기 지정된 영역인 것을 특징으로 할 수 있다.The method may further include storing the target software in a management area, wherein the management area is a pre-designated area for storing the target software.

또한, 상기 관리 영역은, 비관리 영역과 격리(isolate)되어, 상기 비관리 영역에 영향을 주지 않는 것을 특징으로 할 수 있다.Additionally, the management area may be isolated from the non-management area and not have any influence on the non-management area.

또한, 상기 타겟 소프트웨어를 추출하는 단계는, 상기 최종 리소스 식별자에 대응하는 최종 리소스 내에 포함된 하나 이상의 서브밋(submit) 링크, 스크립트 또는 하이퍼링크 중 적어도 하나에 대한 분석을 수행하는 단계;를 포함할 수 있다.In addition, the step of extracting the target software may include performing analysis on at least one of one or more submit links, scripts, or hyperlinks included in the final resource corresponding to the final resource identifier. You can.

또한, 상기 입력 리소스 식별자를 가공하여 최종 리소스 식별자를 생성하는 단계는, 입력 리소스 식별자에 대하여 정규화를 수행하는 식별자 정규화 단계;를 포함할 수 있다.Additionally, the step of processing the input resource identifier to generate a final resource identifier may include an identifier normalization step of performing normalization on the input resource identifier.

또한, 상기 식별자 정규화 단계는, 입력 리소스 식별자 내에 포함된 변형 문자를 정규 문자로 변환하는 문자 정규화 단계;를 포함할 수 있다.Additionally, the identifier normalization step may include a character normalization step of converting modified characters included in the input resource identifier into regular characters.

또한, 상기 입력 리소스 식별자를 가공하여 최종 리소스 식별자를 생성하는 단계는, 상기 입력 리소스 식별자로부터 연결되는 하나 이상의 최종 리소스 식별자를 추출하는 리소스 식별자 확장 단계;를 포함할 수 있다.Additionally, the step of processing the input resource identifier to generate a final resource identifier may include a resource identifier expansion step of extracting one or more final resource identifiers connected from the input resource identifier.

개시된 발명의 일 측면에 따르면 기존 악성 소프트웨어 추출 기법으로부터 보호받는 악성 소프트웨어를 추출하고, 이를 안전하게 다운로드 하여 분석 및 관리하는 기법을 제공할 수 있다.According to one aspect of the disclosed invention, it is possible to provide a technique for extracting malicious software protected from existing malicious software extraction techniques, safely downloading it, analyzing and managing it.

도 1은 개시된 발명이 실시되는 타겟 소프트웨어 관리 시스템의 일례를 나타낸 개요도이다.
도 2는 개시된 발명의 일 측면에 따른 타겟 소프트웨어 추출 및 관리 장치의 구성을 나타낸 블록도이다.
도 3은 개시된 발명의 일 측면에 따른 타겟 소프트웨어를 추출 및 관리 방법을 나타낸 순서도이다.
도 4는 개시된 발명의 일 측면에 따른 리소스 식별자 가공 방법을 나타낸 순서도이다.
도 5는 개시된 발명의 일 측면에 따른 타겟 소프트웨어 추출 방법을 나타낸 순서도이다.
도 6은 개시된 발명의 일 측면에 따른 리소스 경로 데이터를 나타낸 개념도이다.
1 is a schematic diagram showing an example of a target software management system in which the disclosed invention is implemented.
Figure 2 is a block diagram showing the configuration of a target software extraction and management device according to one aspect of the disclosed invention.
Figure 3 is a flowchart showing a method for extracting and managing target software according to one aspect of the disclosed invention.
Figure 4 is a flowchart showing a resource identifier processing method according to one aspect of the disclosed invention.
Figure 5 is a flowchart showing a method for extracting target software according to one aspect of the disclosed invention.
Figure 6 is a conceptual diagram showing resource path data according to one aspect of the disclosed invention.

명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 개시된 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다.Like reference numerals refer to like elements throughout the specification. This specification does not describe all elements of the embodiments, and general content or overlapping content between the embodiments in the technical field to which the disclosed invention pertains is omitted.

또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Additionally, when a part is said to “include” a certain component, this does not mean excluding other components, but may include other components, unless specifically stated to the contrary.

본 명세서에서 사용되는 '~부'는 적어도 하나의 기능이나 동작을 처리하는 단위로서, 예를 들어 소프트웨어, FPGA 또는 하드웨어 구성요소를 의미할 수 있다. '~부'에서 제공하는 기능은 복수의 구성요소에 의해 분리되어 수행되거나, 다른 추가적인 구성요소와 통합될 수도 있다. 본 명세서의 '~부'는 반드시 소프트웨어 또는 하드웨어에 한정되지 않으며, 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 실시예들에 따라 복수의 '~부'가 하나의 구성요소로 구현되거나, 하나의 '~부'가 복수의 구성요소들을 포함하는 것도 가능하다.As used herein, '~unit' refers to a unit that processes at least one function or operation, and may mean, for example, software, FPGA, or hardware components. The functions provided in '~ part' may be performed separately by multiple components, or may be integrated with other additional components. The '~ part' in this specification is not necessarily limited to software or hardware, and may be configured to reside in an addressable storage medium, or may be configured to reproduce one or more processors. Depending on the embodiment, it is possible for a plurality of '~units' to be implemented as one component, or for one '~unit' to include a plurality of components.

제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.Terms such as first and second are used to distinguish one component from another component, and the components are not limited by the above-mentioned terms.

단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.Singular expressions include plural expressions unless the context clearly makes an exception.

각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.The identification code for each step is used for convenience of explanation. The identification code does not explain the order of each step, and each step may be performed differently from the specified order unless a specific order is clearly stated in the context. there is.

이하 첨부된 도면들을 참고하여 개시된 발명의 작용 원리 및 실시예들에 대해 설명한다.Hereinafter, the operating principle and embodiments of the disclosed invention will be described with reference to the attached drawings.

본 개시에 따른 타겟 소프트웨어 추출 및 관리 방법은, 피싱 사이트에 포함된 하나 이상의 입력 폼에 대하여 무작위 값 공격 및 SQL 인젝션(SQL Injection)을 포함한 다양한 취약점 공격을 실행하여, 보호되고 있는 악성 소프트웨어를 추출하고, 이를 안전하게 다운로드 및 관리하여, 악성 소프트웨어에 대한 분석 및 대응을 수행할 수 있도록 한다.The target software extraction and management method according to the present disclosure extracts protected malicious software by executing various vulnerability attacks, including random value attacks and SQL injection, on one or more input forms included in a phishing site. , safely download and manage it to enable analysis and response to malicious software.

또한, 본 개시에 따른 타겟 소프트웨어 추출 및 관리 방법은, 피싱 기법에 이용되는 피싱 사이트들이 큰 변형 없이 유사한 패턴을 반복적으로 사용한다는 점에 기초하여 효과적으로 타겟 소프트웨어를 추출할 수 있다. 예를 들어, 본 개시에 따른 타겟 소프트웨어 추출 및 관리 방법의 일 측면에 따르면, 기존에 이미 추출 및 다운로드에 성공한 타겟 소프트웨어 경로 패턴을 이용하여, 입력 폼 공격 및 보안 취약점 공격에 대하여 보호받는 타겟 소프트웨어도 추출할 수 있다. Additionally, the target software extraction and management method according to the present disclosure can effectively extract target software based on the fact that phishing sites used in phishing techniques repeatedly use similar patterns without significant modification. For example, according to one aspect of the target software extraction and management method according to the present disclosure, the target software is protected against input form attacks and security vulnerability attacks by using a target software path pattern that has already successfully been extracted and downloaded. It can be extracted.

이하 도면을 참조하여 타겟 소프트웨어 추출 및 관리 방법을 상세히 설명하고자 한다.The target software extraction and management method will be described in detail with reference to the drawings below.

도 1은 개시된 발명이 실시되는 타겟 소프트웨어 관리 시스템의 일례를 나타낸 개요도이다.1 is a schematic diagram showing an example of a target software management system in which the disclosed invention is implemented.

도 1을 참조하면, 본 개시의 몇몇 실시예에 따른 타겟 소프트웨어 관리 시스템은, 타겟 소프트웨어 추출 및 관리 장치(10), 클라이언트(20) 및 타겟 소프트웨어 배포 장치(30)를 포함할 수 있다.Referring to FIG. 1, a target software management system according to some embodiments of the present disclosure may include a target software extraction and management device 10, a client 20, and a target software distribution device 30.

본 개시의 몇몇 실시예에 따른 타겟 소프트웨어 추출 및 관리 장치(10)는 타겟 소프트웨어 배포 장치(30)를 비롯하여, 외부로부터 타겟 소프트웨어를 추출하고 이를 저장 및 관리하는 컴퓨팅 장치일 수 있다. 몇몇 실시예에서, 타겟 소프트웨어를 관리한다는 것은 타겟 소프트웨어에 대한 분석을 포함할 수 있다. 일 실시예에서, 타겟 소프트웨어 추출 및 관리 장치(10)에 의하여 추출 및 관리되는 타겟 소프트웨어는 악성 소프트웨어를 포함할 수 있다. 이하 설명의 편의를 위해 타겟 소프트웨어와 악성 소프트웨어를 혼용할 수 있으나, 악성 소프트웨어는 타겟 소프트웨어의 일 예시에 불과하며, 타겟 소프트웨어는 악성 소프트웨어에 한정되어 해석되지 않아야 할 것이다.The target software extraction and management device 10 according to some embodiments of the present disclosure may be a computing device that extracts target software from an external source and stores and manages the target software distribution device 30 . In some embodiments, managing target software may include analyzing the target software. In one embodiment, target software extracted and managed by the target software extraction and management device 10 may include malicious software. For convenience of explanation, target software and malicious software may be used interchangeably, but malicious software is only an example of target software, and target software should not be interpreted as limited to malicious software.

타겟 소프트웨어 추출 및 관리 장치(10)는 하나 이상의 프로세서 및 메모리를 포함하는 컴퓨팅 장치일 수 있다. 몇몇 실시예에서, 타겟 소프트웨어 추출 및 관리 장치(10)는 데스크톱, 스마트 폰 또는 태블릿 등을 포함하는 모바일 디바이스, 서버 장치 등을 비롯한 범용 컴퓨팅 장치일 수 있다. 또는, 몇몇 실시예에서, 타겟 소프트웨어 추출 및 관리 장치(10)는 FPGA, ASIC 등을 이용하여 구축되어, 본 개시에 따른 타겟 소프트웨어 추출 및 관리 방법을 실행하기 위한 컴퓨팅 장치일 수 있다. Target software extraction and management device 10 may be a computing device that includes one or more processors and memory. In some embodiments, the target software extraction and management device 10 may be a general-purpose computing device, including a desktop, a mobile device including a smart phone or tablet, a server device, and the like. Alternatively, in some embodiments, the target software extraction and management device 10 may be a computing device built using an FPGA, ASIC, etc. to execute the target software extraction and management method according to the present disclosure.

몇몇 실시예에서, 타겟 소프트웨어 추출 및 관리 장치(10)는 네트워크 인터페이스를 구비하여, 네트워크를 통해 외부 장치와 연결될 수 있다. 이 경우, 타겟 소프트웨어 추출 및 관리 장치(10)는 클라이언트(20)로부터 타겟 소프트웨어를 추출할 수 있는 리소스와 관련된 다양한 정보를 수신하고, 수신된 정보를 기반으로 타겟 소프트웨어 배포 장치(30)에 접근하여, 타겟 소프트웨어를 추출하고, 이를 저장 및 관리할 수 있다.In some embodiments, the target software extraction and management device 10 may have a network interface and be connected to an external device through a network. In this case, the target software extraction and management device 10 receives various information related to resources that can extract target software from the client 20, and approaches the target software distribution device 30 based on the received information. , target software can be extracted, stored and managed.

도 1을 다시 참조하면, 본 개시의 몇몇 실시예에 따른 타겟 소프트웨어 관리 시스템은 클라이언트(20)를 포함할 수 있다. 몇몇 실시예에서, 클라이언트(20)는 이메일, 문자 메시지 등 피싱 메시지를 수신하고, 수신된 피싱 메시지를 이용하여 악성 소프트웨어를 포함하고 있는 리소스(resource)에 접근하고, 접근한 리소스로부터 타겟 소프트웨어를 다운로드 받을 수 있는 장치일 수 있다. 또한, 클라이언트(20)는 수신된 피싱 메시지에 대한 검증 요청을 타겟 소프트웨어 추출 및 관리 장치(10)에 전달하고, 검증 결과를 타겟 소프트웨어 추출 및 관리 장치(10)로부터 전달받을 수 있다. 또는, 몇몇 실시예에서, 클라이언트(20)는 본 개시에 따른 타겟 소프트웨어 추출 및 관리 방법을 실행하는 주체일 수 있다.Referring again to FIG. 1, a target software management system according to some embodiments of the present disclosure may include a client 20. In some embodiments, the client 20 receives a phishing message, such as an email or text message, uses the received phishing message to access a resource containing malicious software, and downloads target software from the accessed resource. It may be a device that can be received. Additionally, the client 20 may transmit a verification request for the received phishing message to the target software extraction and management device 10 and receive the verification result from the target software extraction and management device 10 . Alternatively, in some embodiments, the client 20 may be the entity that executes the target software extraction and management method according to the present disclosure.

본 개시의 몇몇 실시예에 따른 클라이언트(20)는 스마트 폰 및 태블릿 등을 포함한 모바일 디바이스, 랩톱 또는 데스크톱과 같은 범용 컴퓨팅 장치일 수 있다. 또한, 클라이언트(20)는 네트워크 인터페이스를 포함하여, 네트워크에 접근할 수 있고, 이를 통하여 타겟 소프트웨어 추출 및 관리 장치(10) 또는 타겟 소프트웨어 배포 장치(30)와 연결될 수 있다.The client 20 according to some embodiments of the present disclosure may be a mobile device, including a smart phone and tablet, or a general-purpose computing device such as a laptop or desktop. Additionally, the client 20 may access a network, including a network interface, and be connected to the target software extraction and management device 10 or the target software distribution device 30 through this.

도 1을 다시 참조하면, 본 개시의 몇몇 실시예에 따른 타겟 소프트웨어 관리 시스템은 타겟 소프트웨어 배포 장치(30)를 포함할 수 있다. 몇몇 실시예에서, 타겟 소프트웨어 배포 장치(30)는 악성 소프트웨어를 저장하고, 이를 네트워크를 통하여 타겟 소프트웨어 추출 및 관리 장치(10) 또는 클라이언트(20)로 전송할 수 있다. Referring again to FIG. 1, a target software management system according to some embodiments of the present disclosure may include a target software distribution device 30. In some embodiments, the target software distribution device 30 may store malicious software and transmit it to the target software extraction and management device 10 or the client 20 through a network.

몇몇 실시예에서, 타겟 소프트웨어 배포 장치(30)에 의하여 관리되는 악성 소프트웨어는 클라이언트(20)에 설치될 경우, 클라이언트(20)의 동작으로부터 클라이언트(20)와 연계된 사용자의 금융 정보를 포함한 다양한 개인정보를 추출하여 다시 타겟 소프트웨어 배포 장치(30) 또는 이와 연계된 다른 장치로 전송하는 소프트웨어일 수 있다. 몇몇 실시예에서, 타겟 소프트웨어 배포 장치(30)는 악성 소프트웨어에 대한 접근을 제한하는 메커니즘을 포함하고 있을 수 있다. In some embodiments, malicious software managed by the target software distribution device 30, when installed on the client 20, can extract various personal information, including financial information of users associated with the client 20, from the operation of the client 20. It may be software that extracts information and transmits it back to the target software distribution device 30 or another device linked thereto. In some embodiments, target software distribution device 30 may include mechanisms to limit access to malicious software.

예를 들어, 타겟 소프트웨어 배포 장치(30)는 특정 개인정보를 입력한 경우에만 타겟 소프트웨어에 대한 접근이 가능하도록 하는 메커니즘을 포함하고 있을 수 있다. 예를 들어, 타겟 소프트웨어 배포 장치(30)는 웹 등에 배포된 웹 페이지 등의 리소스를 통해, 접근 주체의 휴대폰 번호를 기입하도록 하고, 기입된 휴대폰 번호가 기 설정된 휴대폰 번호와 일치하는 경우에만 타겟 소프트웨어에 대한 접근 및 다운로드를 가능하도록 하여, 악성 소프트웨어 등 타겟 소프트웨어에 대한 분석 및 대응이 어렵도록 만들 수 있다. For example, the target software distribution device 30 may include a mechanism that allows access to the target software only when specific personal information is entered. For example, the target software distribution device 30 allows the accessing subject to enter the mobile phone number through resources such as web pages distributed on the web, and only if the entered mobile phone number matches the preset mobile phone number, the target software distribution device 30 It can make it difficult to analyze and respond to target software such as malicious software by enabling access to and downloading.

몇몇 실시예에서, 타겟 소프트웨어 배포 장치(30)는 데이터베이스를 포함한 하나 이상의 컴퓨팅 장치를 포함할 수 있다. 이 경우, 타겟 소프트웨어 배포 장치(30)는 타겟 소프트웨어 및 타겟 소프트웨어에 접근을 허용하기 위한 정보를 다양한 데이터베이스 소프트웨어를 이용하여 저장 및 유지관리 할 수 있다. 예를 들어, 타겟 소프트웨어 및 접근 정보를 관리하기 위하여 SQL과 같은 데이터베이스 소프트웨어가 이용될 수 있다.In some embodiments, target software distribution device 30 may include one or more computing devices that include a database. In this case, the target software distribution device 30 may store and maintain the target software and information for allowing access to the target software using various database software. For example, database software such as SQL may be used to manage target software and access information.

도 2는 개시된 발명의 일 측면에 따른 타겟 소프트웨어 추출 및 관리 장치의 구성을 나타낸 블록도이다.Figure 2 is a block diagram showing the configuration of a target software extraction and management device according to one aspect of the disclosed invention.

도 2를 참고하면, 본 개시에 따른 타겟 소프트웨어 추출 및 관리 장치는 제어부(100), 입출력부(200) 및 메모리부(300)를 포함할 수 있다. 도 2에 도시된 구성요소들은 본 개시에 따른 타겟 소프트웨어 추출 및 관리 장치를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 데이터는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.Referring to FIG. 2, the target software extraction and management device according to the present disclosure may include a control unit 100, an input/output unit 200, and a memory unit 300. The components shown in FIG. 2 are not essential for implementing the target software extraction and management device according to the present disclosure, so the data described herein may have more or fewer components than the components listed above. You can.

본 개시의 몇몇 실시예에 따른 통신부(210)는 외부 장치와 통신을 가능하게 하는 하나 이상의 구성 요소를 포함할 수 있으며, 예를 들어, 무선통신 모듈, 근거리 통신 모듈 중 적어도 하나를 포함할 수 있다. The communication unit 210 according to some embodiments of the present disclosure may include one or more components that enable communication with an external device, and may include, for example, at least one of a wireless communication module and a short-range communication module. .

무선 통신 모듈은 와이파이(Wifi) 모듈, 와이브로(Wireless broadband) 모듈 외에도, GSM(global System for Mobile Communication), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(universal mobile telecommunications system), TDMA(Time Division Multiple Access), LTE(Long Term Evolution), 4G, 5G, 6G 등 다양한 무선 통신 방식을 지원하는 무선 통신 모듈을 포함할 수 있다.In addition to Wi-Fi modules and WiBro (Wireless broadband) modules, wireless communication modules include GSM (global System for Mobile Communication), CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), and UMTS (universal mobile telecommunications system). ), TDMA (Time Division Multiple Access), LTE (Long Term Evolution), 4G, 5G, 6G, etc. may include a wireless communication module that supports various wireless communication methods.

무선 통신 모듈은 신호를 송신하는 안테나 및 송신기(Transmitter)를 포함하는 무선 통신 인터페이스를 포함할 수 있다. 또한, 무선 통신 모듈은 제어부의 제어에 따라 무선 통신 인터페이스를 통해 제어부로부터 출력된 디지털 제어 신호를 아날로그 형태의 무선 신호로 변조하는 신호 변환 모듈을 더 포함할 수 있다.The wireless communication module may include a wireless communication interface including an antenna and a transmitter that transmits signals. Additionally, the wireless communication module may further include a signal conversion module that modulates a digital control signal output from the control unit through a wireless communication interface into an analog wireless signal under the control of the control unit.

무선 통신 모듈은 신호를 수신하는 안테나 및 수신기(Receiver)를 포함하는 무선 통신 인터페이스를 포함할 수 있다. 또한, 무선 통신 모듈은 무선 통신 인터페이스를 통하여 수신한 아날로그 형태의 무선 신호를 디지털 제어 신호로 복조하기 위한 신호 변환 모듈을 더 포함할 수 있다.The wireless communication module may include a wireless communication interface including an antenna and a receiver for receiving signals. Additionally, the wireless communication module may further include a signal conversion module for demodulating an analog wireless signal received through a wireless communication interface into a digital control signal.

근거리 통신 모듈은 근거리 통신(Short range communication)을 위한 것으로서, 블루투스(Bluetooth??), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다.The short-range communication module is for short-range communication, including Bluetooth®, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra Wideband), ZigBee, and NFC (Near). Short-distance communication can be supported using at least one of (Field Communication), Wi-Fi (Wireless-Fidelity), Wi-Fi Direct, and Wireless USB (Wireless Universal Serial Bus) technologies.

입력부(220)는 오디오 정보(또는 신호), 텍스트 등을 포함하는 정보와 데이터를, 네트워크 또는 사용자로부터 입력 받기 위한 것으로서, 적어도 하나의 마이크로폰 및 사용자 입력부 중 적어도 하나를 포함할 수 있다. 입력부에서 수집한 음성 데이터, 텍스트 데이터, 명령 또는 요청은 분석되어 사용자의 제어명령으로 처리될 수 있다.The input unit 220 is for receiving information and data including audio information (or signals), text, etc. from a network or a user, and may include at least one of at least one microphone and a user input unit. Voice data, text data, commands, or requests collected from the input unit can be analyzed and processed as a user's control command.

카메라는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 처리된 화상 프레임은 메모리에 저장될 수 있다. 몇몇 실시예에서, 카메라는 화상 프레임 내에 포함된 바코드, QR 코드 등을 포함하는 코드 또는 URL 등을 식별할 수 있다.The camera processes image frames, such as still images or moving images, obtained by the image sensor in shooting mode. Processed image frames can be stored in memory. In some embodiments, the camera may identify codes, including barcodes, QR codes, etc., or URLs included within an image frame.

한편, 상기 카메라가 복수 개일 경우, 매트릭스 구조를 이루도록 배치될 수 있으며, 이와 같이 매트릭스 구조를 이루는 카메라들을 통해 다양한 각도 또는 초점을 갖는 복수의 영상정보가 입력될 수 있고, 또한 상기 카메라들은 3차원의 입체영상을 구현하기 위한 좌 영상 및 우 영상을 획득하도록, 스테레오 구조로 배치될 수도 있다.On the other hand, when there are a plurality of cameras, they can be arranged to form a matrix structure. In this way, a plurality of image information with various angles or focuses can be input through the cameras forming the matrix structure, and the cameras can provide three-dimensional It may be arranged in a stereo structure to obtain left and right images to implement a three-dimensional image.

마이크로폰은 외부의 음향 신호를 전기적인 음성 데이터로 처리한다. 처리된 음성 데이터는 본 장치에서 수행 중인 기능(또는 실행 중인 응용 프로그램)에 따라 다양하게 활용될 수 있다. 한편, 마이크로폰에는 외부의 음향 신호를 입력 받는 과정에서 발생되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘이 구현될 수 있다.The microphone processes external acoustic signals into electrical voice data. Processed voice data can be used in a variety of ways depending on the function being performed (or the application being executed) on the device. Meanwhile, various noise removal algorithms can be implemented in the microphone to remove noise generated in the process of receiving an external acoustic signal.

사용자 입력부는 사용자로부터 정보를 입력받기 위한 것으로서, 사용자 입력부를 통해 정보가 입력되면, 제어부는 입력된 정보에 대응되도록 본 장치의 동작을 제어할 수 있다. 이러한, 사용자 입력부는 하드웨어식 물리 키(예를 들어, 본 장치의 전면, 후면 및 측면 중 적어도 하나에 위치하는 버튼, 돔 스위치 (dome switch), 조그 휠, 조그 스위치 등) 및 소프트웨어식 터치 키를 포함할 수 있다. 일 예로서, 터치 키는, 소프트웨어적인 처리를 통해 터치스크린 타입의 디스플레이부 상에 표시되는 가상 키(virtual key), 소프트 키(soft key) 또는 비주얼 키(visual key)로 이루어지거나, 상기 터치스크린 이외의 부분에 배치되는 터치 키(touch key)로 이루어질 수 있다. 한편, 상기 가상키 또는 비주얼 키는, 다양한 형태를 가지면서 터치스크린 상에 표시되는 것이 가능하며, 예를 들어, 그래픽(graphic), 텍스트(text), 아이콘(icon), 비디오(video) 또는 이들의 조합으로 이루어질 수 있다. The user input unit is for receiving information from the user. When information is input through the user input unit, the control unit can control the operation of the device to correspond to the input information. This user input unit uses hardware-type physical keys (e.g., buttons, dome switches, jog wheels, jog switches, etc. located on at least one of the front, back, and sides of the device) and software-type touch keys. It can be included. As an example, the touch key consists of a virtual key, soft key, or visual key displayed on a touch screen-type display unit through software processing, or is displayed on the touch screen. It may be composed of touch keys placed in other parts. Meanwhile, the virtual key or visual key can be displayed on the touch screen in various forms, for example, graphics, text, icons, videos, or these. It can be made up of a combination of .

메모리부(300)는 본 장치의 다양한 기능을 지원하는 데이터와, 제어부의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 음성 파일, 텍스트 등)을 저장할 있고, 본 장치에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 미들웨어, 시스템 소프트웨어, 운영체제, 본 장치의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. The memory unit 300 can store data supporting various functions of the device and a program for the operation of the control unit, and can store input/output data (e.g., voice files, text, etc.). A number of application programs (application programs or applications) running on the device, middleware, system software, operating system, data for operation of the device, and instructions can be stored. At least some of these applications may be downloaded from an external server via wireless communication.

이러한, 메모리부(300)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리는 본 장치와는 분리되어 있으나, 유선 또는 무선으로 연결된 데이터베이스가 될 수도 있다.The memory unit 300 includes a flash memory type, a hard disk type, a solid state disk type, an SDD type (Silicon Disk Drive type), and a multimedia card micro type. card micro type), card type memory (e.g. SD or XD memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), EEPROM (electrically It may include at least one type of storage medium among erasable programmable read-only memory (PROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, and optical disk. Additionally, the memory may be a database that is separate from the device, but is connected wired or wirelessly.

여기서 프로그램은, 프로그램 명령, 데이터 파일 및 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 프로그램은 기계어 코드나 고급 언어 코드를 이용하여 설계 및 제작된 것일 수 있다. 프로그램은 상술한 타겟 소프트웨어 추출 장치를 구현하기 위하여 특별히 설계된 것일 수도 있고, 컴퓨터 소프트웨어 분야에서 통상의 기술자에게 기 공지되어 사용 가능한 각종 함수나 정의를 이용하여 구현된 것일 수도 있다. 전술한 타겟 소프트웨어 추출 장치를 구현하기 위한 프로그램은, 프로세서에 의해 판독 가능한 기록매체에 기록될 수 있다. Here, the program may include program instructions, data files, and data structures, etc., singly or in combination. Programs may be designed and produced using machine code or high-level language code. The program may be specially designed to implement the above-described target software extraction device, or may be implemented using various functions or definitions known and available to those skilled in the art in the computer software field. A program for implementing the above-described target software extraction device may be recorded on a recording medium readable by a processor.

메모리는 전술한 동작 및 후술하는 동작을 수행하는 프로그램을 저장할 수 있으며, 프로세서는 메모리에 저장된 프로그램을 실행시킬 수 있다. 프로세서와 메모리가 복수인 경우에, 이들이 하나의 칩에 집적되는 것도 가능하고, 물리적으로 분리된 위치에 마련되는 것도 가능하다. 메모리는 데이터를 일시적으로 기억하기 위한 S램(Static Random Access Memory, S-RAM), D랩(Dynamic Random Access Memory) 등의 휘발성 메모리를 포함할 수 있다. 또한, 메모리는 제어 프로그램 및 제어 데이터를 장기간 저장하기 위한 롬(Read Only Memory), 이피롬(Erasable Programmable Read Only Memory: EPROM), 이이피롬(Electrically Erasable Programmable Read Only Memory: EEPROM) 등의 비휘발성 메모리를 포함할 수 있다.The memory can store programs that perform the operations described above and the operations described later, and the processor can execute the programs stored in the memory. In the case where there are multiple processors and memories, it is possible for them to be integrated into one chip or to be provided in physically separate locations. The memory may include volatile memory such as SRAM (Static Random Access Memory, S-RAM) and D-Lab (Dynamic Random Access Memory) for temporarily storing data. In addition, memory is non-volatile memory such as Read Only Memory (ROM), Erasable Programmable Read Only Memory (EPROM), and Electrically Erasable Programmable Read Only Memory (EEPROM) for long-term storage of control programs and control data. may include.

도 2를 다시 참조하면, 본 개시의 몇몇 실시예에 따른 메모리부(300)는 타겟 소프트웨어 관리부(310), 타겟 소프트웨어 다운로드부(320) 및 리소스 식별자 가공부(330)를 포함할 수 있다.Referring again to FIG. 2 , the memory unit 300 according to some embodiments of the present disclosure may include a target software management unit 310, a target software download unit 320, and a resource identifier processing unit 330.

본 개시의 몇몇 실시예에 따른 타겟 소프트웨어 관리부(310)는 타겟 소프트웨어를 저장 및 분석하기 위한 모듈일 수 있다. 몇몇 실시예에서, 타겟 소프트웨어 관리부(310)는 타겟 소프트웨어 다운로드부(320)를 통하여 추출 및 다운로드 된 타겟 소프트웨어를 관리 영역에 저장하고, 관리 영역 내에 저장된 타겟 소프트웨어를 해싱(hashing) 등의 기법을 이용하여 분석함으로써, 타겟 소프트웨어에 대한 정보를 추출하고, 분석 결과를 생성하는 모듈일 수 있다. 몇몇 실시예에서, 타겟 소프트웨어 관리부(310)는 악성 소프트웨어일 가능성이 있는 타겟 소프트웨어로부터 타겟 소프트웨어 추출 및 관리 장치를 보호하기 위하여, 가상 머신(virtual machine), 샌드박스(sandbox), 컨테이너(container), 에뮬레이터(emulator) 등을 이용하여 구현될 수 있다. 일 실시예에서, 타겟 소프트웨어 관리부(310)에 의하여 관리되는 관리 영역이 가상 머신, 샌드박스, 컨테이너, 에뮬레이터 등으로 구현될 수 있고, 이 경우 관리 영역과 관리 영역 외부의 비 관리 영역이 격리됨으로써, 타겟 소프트웨어에 의한 악영향이 타겟 소프트웨어 추출 및 관리 장치 전체로 번지는 것을 방지할 수 있다.The target software management unit 310 according to some embodiments of the present disclosure may be a module for storing and analyzing target software. In some embodiments, the target software management unit 310 stores the target software extracted and downloaded through the target software download unit 320 in the management area, and uses a technique such as hashing the target software stored in the management area. It may be a module that extracts information about the target software and generates analysis results by analyzing it. In some embodiments, the target software management unit 310 may use a virtual machine, a sandbox, a container, etc. to protect the target software extraction and management device from target software that may be malicious software. It can be implemented using an emulator or the like. In one embodiment, the management area managed by the target software management unit 310 may be implemented as a virtual machine, sandbox, container, emulator, etc., and in this case, the management area and the non-management area outside the management area are isolated, It is possible to prevent adverse effects caused by target software from spreading to the entire target software extraction and management device.

도 2를 다시 참조하면, 본 개시의 몇몇 실시예에 따른 메모리부(300)는 타겟 소프트웨어 다운로드부(320)를 포함할 수 있다. 몇몇 실시예에서, 타겟 소프트웨어 다운로드부(320)는 타겟 소프트웨어를 타겟 소프트웨어 배포 장치(30) 등에 의하여 배포된 외부 리소스로부터 추출하고, 이를 타겟 소프트웨어 장치의 메모리부(300)로 다운로드하는 모듈일 수 있다. 일 실시예에서, 타겟 소프트웨어 다운로드부(320)는 외부 리소스로부터 타겟 소프트웨어를 추출 및 다운로드 하기 위한 기능을 수행하기 위한 복수의 소프트웨어 또는 하드웨어 모듈을 포함할 수 있다. 이 경우, 타겟 소프트웨어 다운로드부(320)는 외부 리소스에 의하여 보호되는 타겟 소프트웨어를 추출하기 위한 다양한 분석 및 공격 기법을 활용할 수 있으며, 이에 관하여는 도 5 내지 도 6에서 상세히 후술한다.Referring again to FIG. 2, the memory unit 300 according to some embodiments of the present disclosure may include a target software download unit 320. In some embodiments, the target software download unit 320 may be a module that extracts target software from external resources distributed by the target software distribution device 30 and downloads it to the memory unit 300 of the target software device. . In one embodiment, the target software download unit 320 may include a plurality of software or hardware modules to perform a function for extracting and downloading target software from external resources. In this case, the target software download unit 320 can utilize various analysis and attack techniques to extract target software protected by external resources, which will be described in detail later with reference to FIGS. 5 and 6.

도 2를 다시 참조하면, 본 개시의 몇몇 실시예에 따른 메모리부(300)는 리소스 식별자 가공부(330)를 포함할 수 있다. 몇몇 실시예에서, 리소스 식별자 가공부(330)는 클라이언트 또는 타겟 소프트웨어 추출 및 관리 장치를 통해 입력된 입력 리소스 식별자로부터, 타겟 소프트웨어가 추출될 수 있는 최종 리소스 식별자를 생성해내는 모듈일 수 있다. 몇몇 실시예에서, 리소스 식별자 가공부(330)는 하나 이상의 소프트웨어 및/또는 하드웨어 모듈을 포함할 수 있고, 리소스 식별자 가공부(330)에 의하여 생성된 최종 리소스 식별자는 타겟 소프트웨어 관리부(310) 또는 타겟 소프트웨어 다운로드부(320)로 전달될 수 있다.Referring again to FIG. 2, the memory unit 300 according to some embodiments of the present disclosure may include a resource identifier processing unit 330. In some embodiments, the resource identifier processing unit 330 may be a module that generates a final resource identifier from which target software can be extracted from an input resource identifier input through a client or target software extraction and management device. In some embodiments, the resource identifier processing unit 330 may include one or more software and/or hardware modules, and the final resource identifier generated by the resource identifier processing unit 330 is the target software management unit 310 or the target. It may be delivered to the software download unit 320.

몇몇 실시예에서, 입력 리소스 식별자는 정상적인 리소스 식별자에서는 사용되지 않는 다양한 변형 문자를 포함할 수 있다. 이러한 변형 문자는 일반적으로 활용되는 스팸 필터(spam filter) 등을 우회하기 위해 사용될 수 있다. 이러한 변형 문자는 원형 문자, 특수 문자 등을 포함할 수 있으며, 이 경우 리소스 식별자 가공부(330)는 해당 원형 문자 또는 특수 문자에 대응하는 알파벳 또는 문장부호 중 리소스 식별자에 사용될 수 있는 알파벳 또는 문장부호로 해당 변형 문자를 치환함으로써, 리소스 식별자를 가공하여 최종 리소스 식별자를 생성할 수 있다.In some embodiments, the input resource identifier may include various character variants that are not used in normal resource identifiers. These modified characters can be used to bypass commonly used spam filters. These modified characters may include circular characters, special characters, etc., and in this case, the resource identifier processing unit 330 selects an alphabet or punctuation mark corresponding to the circular character or special character that can be used in the resource identifier. By replacing the corresponding modified character with , the resource identifier can be processed to generate the final resource identifier.

또 다른 실시예에서, 입력 리소스 식별자는 타겟 소프트웨어와 직접 연결되지 않고, 리디렉션(redirection) 또는 포워딩(forwarding)을 이용하여 타겟 소프트웨어와 연계된 최종 리소스 식별자로 접근 주체를 이동시키는 리소스 식별자일 수 있다. 또는, 입력 리소스 식별자는 단축 URL(Short URL)로서, 타겟 소프트웨어와 연계된 최종 리소스 식별자의 변형일 수 있다. 본 개시의 몇몇 실시예에 따른 리소스 식별자 가공부(330)는 이러한 입력 리소스 식별자로부터 타겟 소프트웨어와 직접 연계된 최종 리소스 식별자를 생성하는 모듈일 수 있다. In another embodiment, the input resource identifier may be a resource identifier that is not directly connected to the target software, but moves the access subject to the final resource identifier associated with the target software using redirection or forwarding. Alternatively, the input resource identifier is a short URL, which may be a modification of the final resource identifier associated with the target software. The resource identifier processing unit 330 according to some embodiments of the present disclosure may be a module that generates a final resource identifier directly linked to target software from the input resource identifier.

프로세서는 각종 논리 회로와 연산 회로를 포함할 수 있으며, 메모리로부터 제공된 프로그램에 따라 데이터를 처리하고, 처리 결과에 따라 제어 신호를 생성할 수 있다.The processor may include various logic circuits and operation circuits, process data according to a program provided from memory, and generate control signals according to the processing results.

제어부(100)는 본 장치 내의 구성요소들의 동작을 제어하기 위한 알고리즘 또는 알고리즘을 재현한 프로그램에 대한 데이터를 저장하는 메모리, 및 메모리에 저장된 데이터를 이용하여 전술한 동작을 수행하는 적어도 하나의 프로세서(미도시)로 구현될 수 있다. 이때, 메모리와 프로세서는 각각 별개의 칩으로 구현될 수 있다. 또는, 메모리와 프로세서는 단일 칩으로 구현될 수도 있다.The control unit 100 includes a memory that stores data for an algorithm for controlling the operation of components in the device or a program that reproduces the algorithm, and at least one processor that performs the above-described operations using the data stored in the memory ( (not shown) may be implemented. At this time, the memory and processor may each be implemented as separate chips. Alternatively, the memory and processor may be implemented as a single chip.

본 개시의 몇몇 실시예에 따른 제어부(100)는 하나 이상의 프로세서를 포함할 수 있다. 도 2를 참조하면, 제어부(100)는 제1 프로세서(110) 및 제2 프로세서(120)를 포함할 수 있다. 이 경우, 제1 프로세서(110) 및 제2 프로세서(120)는 동종 또는 이종 프로세서일 수 있다. 일 실시예에서, 제1 프로세서(110)는 중앙처리장치(CPU), 제2 프로세서(120)는 그래픽 처리 장치(GPU), 신경망처리장치(NPU) 또는 텐서 처리 장치(TPU)일 수 있다. 또 다른 실시예에서, 제1 프로세서(110) 및 제2 프로세서(120)는 모두 그래픽 처리 장치일 수 있다. 제어부(100)는 제1 프로세서(110) 및 제2 프로세서(120) 외 타겟 소프트웨어 추출 및 관리 장치(10)의 구동에 필요한 추가적인 프로세서를 포함할 수 있다. 이하 설명의 편의를 위하여, 제1 프로세서(110) 또는 제2 프로세서(120)는 '프로세서'로 표현될 수 있다. 상술한 제어부(100)의 구성은 예시적인 사항에 불과하며, 제어부(100)의 구성은 이에 한정되지 않는다 할 것이다.The control unit 100 according to some embodiments of the present disclosure may include one or more processors. Referring to FIG. 2 , the control unit 100 may include a first processor 110 and a second processor 120 . In this case, the first processor 110 and the second processor 120 may be the same type or different types of processors. In one embodiment, the first processor 110 may be a central processing unit (CPU), and the second processor 120 may be a graphics processing unit (GPU), a neural network processing unit (NPU), or a tensor processing unit (TPU). In another embodiment, both the first processor 110 and the second processor 120 may be graphics processing devices. The control unit 100 may include additional processors necessary for operating the target software extraction and management device 10 in addition to the first processor 110 and the second processor 120. For convenience of description below, the first processor 110 or the second processor 120 may be expressed as a 'processor'. The configuration of the control unit 100 described above is merely an example, and the configuration of the control unit 100 is not limited thereto.

또한, 제어부는 이하의 도 2 내지 도 6에서 설명되는 본 개시에 따른 다양한 실시 예들을 본 장치 상에서 구현하기 위하여, 위에서 살펴본 구성요소들을 중 어느 하나 또는 복수를 조합하여 제어할 수 있다. In addition, the control unit may control any one or a combination of the above-described components in order to implement various embodiments according to the present disclosure described in FIGS. 2 to 6 below on the device.

도 2에 도시된 구성 요소들의 성능에 대응하여 적어도 하나의 구성요소가 추가되거나 삭제될 수 있다. 또한, 구성 요소들의 상호 위치는 시스템의 성능 또는 구조에 대응하여 변경될 수 있다는 것은 당해 기술 분야에서 통상의 지식을 가진 자에게 용이하게 이해될 것이다.At least one component may be added or deleted in response to the performance of the components shown in FIG. 2. Additionally, it will be easily understood by those skilled in the art that the mutual positions of the components may be changed in response to the performance or structure of the system.

한편, 도 2에서 도시된 각각의 구성요소는 소프트웨어 및/또는 Field Programmable Gate Array(FPGA) 및 주문형 반도체(ASIC, Application Specific Integrated Circuit)와 같은 하드웨어 구성요소를 의미한다. Meanwhile, each component shown in FIG. 2 refers to software and/or hardware components such as Field Programmable Gate Array (FPGA) and Application Specific Integrated Circuit (ASIC).

소프트웨어 관리 장치에 포함된 하나 이상의 프로세서에 의하여 실행될 수 있다. 몇몇 실시예에서, 도 3 내지 도 6에 개시된 타겟 소프트웨어 추출 및 관리 방법은 클라이언트에 포함된 하나 이상의 프로세서가 단독으로 실행하거나, 타겟 소프트웨어 추출 및 관리 장치에 포함된 하나 이상의 프로세서가 단독으로 실행하거나, 또는 클라이언트에 포함된 하나 이상의 프로세서가 일부 단계를 수행하고, 나머지 단계를 타겟 소프트웨어 추출 및 관리 장치에 포함된 하나 이상의 프로세서가 수행함으로써 실행될 수 있다.It may be executed by one or more processors included in the software management device. In some embodiments, the target software extraction and management method disclosed in FIGS. 3 to 6 is independently executed by one or more processors included in the client, or is independently executed by one or more processors included in the target software extraction and management device, or Alternatively, it may be executed by having one or more processors included in the client perform some steps and one or more processors included in the target software extraction and management device performing the remaining steps.

도 3은 개시된 발명의 일 측면에 따른 타겟 소프트웨어 추출 및 관리 방법을 나타낸 순서도이다.Figure 3 is a flowchart showing a method for extracting and managing target software according to one aspect of the disclosed invention.

도 3을 참조하면, 본 개시의 몇몇 실시예에 따른 프로세서는 리소스 식별자 가공 단계(S100)를 수행할 수 있다. 몇몇 실시예에서, 리소스 식별자 가공 단계(S100)는 입력 리소스 식별자를 이용하여 최종 리소스 식별자를 생성하는 단계를 포함할 수 있다.Referring to FIG. 3, a processor according to some embodiments of the present disclosure may perform a resource identifier processing step (S100). In some embodiments, the resource identifier processing step (S100) may include generating a final resource identifier using an input resource identifier.

본 개시의 몇몇 실시예에서, 리소스는 식별 가능한 대상으로서 디지털, 물리적 또는 추상적인 대상일 수 있다. 이러한 리소스는 URL, URN 또는 URI를 통하여 식별될 수 있다. 몇몇 실시예에서, 리소스는 웹 사이트에 접속하거나, API 호출이 실행될 때 서버 등 요청 대상으로부터 제공되는 식별 가능한 자원을 포함할 수 있다. 몇몇 실시예에서, 리소스는 웹 서버 파일 시스템의 정적 파일과 같은 정적 리소스 또는 동적 리소스를 포함할 수 있다. 몇몇 실시예에서, 리소스는 텍스트, 이미지, 동영상, HTML 파일 또는 소프트웨어 프로그램 파일 등을 포함할 수 있다.In some embodiments of the present disclosure, a resource may be an identifiable object that may be digital, physical, or abstract. These resources can be identified through URLs, URNs, or URIs. In some embodiments, a resource may include an identifiable resource provided by a requestor, such as a server, when accessing a website or executing an API call. In some embodiments, resources may include static resources, such as static files in a web server file system, or dynamic resources. In some embodiments, resources may include text, images, videos, HTML files, or software program files.

본 개시의 몇몇 실시예에서, 리소스 식별자는 인터넷, 웹, 데이터베이스 시스템과 같이 데이터를 저장, 관리 및 배포하기 위한 소프트웨어 모듈 또는 시스템이나, 메모리, 디스크 등과 같은 하드웨어 시스템에서 특정 리소스를 식별할 수 있는 식별자를 의미할 수 있다. 구체적인 일 실시예에서, 리소스 식별자는 웹 상에서 웹 리소스를 식별하기 위한 URI(Universal Resource Indicator), URL(Universal Resource Locator), URN(Universal Resource Name) 또는 이에 대응되는 IP 주소, MAC 주소, 포트 번호 등을 포함할 수 있다. 몇몇 실시예에서, 리소스 식별자는 데이터를 저장, 관리 및 배포하기 위해 유지되는 데이터 시스템 상에 존재하는 고유한 리소스를 가리키기 위한 것일 수 있다. 예를 들어, 리소스 식별자는 데이터베이스 시스템 상에서 운용되는 인덱스일 수 있다. 또 다른 예시로, 리소스 식별자는 데이터가 저장된 메모리 주소를 포함할 수 있다.In some embodiments of the present disclosure, the resource identifier is an identifier that can identify a specific resource in a software module or system for storing, managing, and distributing data, such as the Internet, web, or database system, or a hardware system such as memory, disk, etc. It can mean. In a specific embodiment, the resource identifier is a Universal Resource Indicator (URI), Universal Resource Locator (URL), Universal Resource Name (URN), or an IP address, MAC address, port number, etc. corresponding thereto for identifying a web resource on the web. may include. In some embodiments, a resource identifier may be intended to point to a unique resource residing on a data system maintained for storing, managing, and distributing data. For example, a resource identifier may be an index operated on a database system. As another example, the resource identifier may include a memory address where data is stored.

본 개시의 몇몇 실시예에 따른 입력 리소스 식별자는 피싱 메시지 또는 피싱 메일 등에 포함된 하나 이상의 리소스 식별자를 포함할 수 있다. 몇몇 실시예에 따른 입력 리소스 식별자는 정상 리소스 식별자에서 사용되지 않는 하나 이상의 변형 문자를 포함할 수 있다. 일 실시예에서, 리소스 식별자가 URL인 경우, 정상 리소스 식별자는 알파벳, 콜론, 슬래시, 온점 및 물음표 등을 포함할 수 있다. 반면, 본 개시의 몇몇 실시예에 따른 입력 리소스 식별자는 원형문자, 공백, 탭(tab) 문자 및 다양한 특수 문자를 포함하고 있을 수 있다. 이러한 입력 리소스 식별자는 사용자가 이용하는 클라이언트에 내장된 스팸 필터를 우회하여 사용자에게 피싱 메시지 또는 피싱 메일을 전달하기 위하여 사용되는 것일 수 있다. The input resource identifier according to some embodiments of the present disclosure may include one or more resource identifiers included in a phishing message or phishing email. The input resource identifier according to some embodiments may include one or more modified characters that are not used in normal resource identifiers. In one embodiment, when the resource identifier is a URL, the normal resource identifier may include an alphabet, a colon, a slash, a period, and a question mark. On the other hand, the input resource identifier according to some embodiments of the present disclosure may include circular characters, spaces, tab characters, and various special characters. This input resource identifier may be used to deliver a phishing message or phishing email to the user by bypassing the spam filter built into the client the user uses.

본 개시의 몇몇 실시예에 따른 프로세서는, 입력 리소스 식별자에 포함된 하나 이상의 변형 문자를 식별하고, 식별된 변형 문자를 이에 대응하는 정상 문자로 정규화할 수 있다. 본 개시에서 문자를 정규 문자는 정상 리소스 식별자에서 사용될 수 있는 하나 이상의 문자를 말하고, 리소스 식별자에 대한 정규화는 입력 리소스 식별자 내에 포함된 변형 문자를 이에 대응하는 정규 문자로 변환하는 것을 의미할 수 있다. 일 실시예에서, 변형 문자가 공백인 경우, 프로세서는 공백을 제거할 수 있다. 다른 실시예에서, 변형 문자가 C 원형문자인 경우, 프로세서는 C 원형문자를 C로 변환할 수 있다. A processor according to some embodiments of the present disclosure may identify one or more modified characters included in an input resource identifier and normalize the identified modified characters to corresponding normal characters. In the present disclosure, a regular character refers to one or more characters that can be used in a normal resource identifier, and normalization for a resource identifier may mean converting a modified character included in an input resource identifier into a corresponding regular character. In one embodiment, if the modified character is a space, the processor may remove the space. In another embodiment, if the modified character is a C prototype, the processor may convert the C prototype to C.

리소스 식별자 가공에 대하여는 도 4에서 상세히 후술한다.Resource identifier processing will be described in detail later in FIG. 4.

도 3을 다시 참조하면, 본 개시의 몇몇 실시예에 따른 하나 이상의 프로세서는 단계(S100)에서 가공을 거쳐 생성된 최종 리소스 식별자에 기초하여 타겟 소프트웨어를 다운로드 하는 단계(S200)를 포함할 수 있다. 몇몇 실시예에서, 타겟 소프트웨어를 다운로드 하는 단계(S200)는 타겟 소프트웨어를 리소스 식별자를 통해 접근한 리소스로부터 추출하고, 이를 다운로드하는 과정을 포함할 수 있다.Referring again to FIG. 3, one or more processors according to some embodiments of the present disclosure may include a step (S200) of downloading target software based on the final resource identifier generated through processing in step (S100). In some embodiments, the step of downloading the target software (S200) may include extracting the target software from a resource accessed through a resource identifier and downloading it.

몇몇 실시예에서, 타겟 소프트웨어를 다운로드하는 단계(S200)는 리소스 식별자를 통하여 접근한 리소스 내에 존재하는 리소스 취약점을 공격하여, 타겟 소프트웨어를 추출하는 단계를 포함할 수 있다. In some embodiments, the step of downloading the target software (S200) may include extracting the target software by attacking a resource vulnerability existing in a resource accessed through a resource identifier.

본 개시에 있어서, 취약점은 시스템의 디자인, 구현, 작업 그리고 관리에서의 결함이나 약점으로서, 시스템의 보안 정책을 침해하기 위해 이용될 수 있는 요소를 의미할 수 있다. 본 개시의 몇몇 실시예에 있어서, 리소스 취약점이란, 리소스 식별자를 통해 접근한 리소스 내의 구성요소 중 타겟 소프트웨어를 추출하기 위하여 이용될 수 있는 구성요소를 의미할 수 있다. 몇몇 실시예에서, 리소스 취약점은 클라이언트 또는 타겟 소프트웨어 추출 및 관리 장치를 통하여 타겟 소프트웨어의 저장, 관리 및 배포를 수행하는 데이터 시스템에 접근하기 위한 정보를 입력할 수 있는 리소스 내의 구성요소일 수 있다. 일 실시예에서, 본 개시의 몇몇 실시예에 따른 리소스 취약점은 입력 폼(form)을 포함할 수 있다. 몇몇 실시예에서, 리소스 취약점은 피싱 대상으로 하여금 주민등록번호, 생년월일, 휴대폰 번호 등의 개인정보를 입력하도록 하기 위한 입력란일 수 있다. 이 경우, 프로세서는 입력란에 무작위 값을 입력하거나, SQL 인젝션 기법을 활용한 쿼리를 입력하여 입력 폼을 이용한 취약점 공격을 수행할 수 있다. In the present disclosure, a vulnerability is a defect or weakness in the design, implementation, operation, and management of a system, and may refer to an element that can be used to violate the security policy of the system. In some embodiments of the present disclosure, resource vulnerability may mean a component that can be used to extract target software from among components in a resource accessed through a resource identifier. In some embodiments, a resource vulnerability may be a component within a resource that can enter information to access a data system that performs storage, management, and distribution of the target software through a client or target software extraction and management device. In one embodiment, a resource vulnerability according to some embodiments of the present disclosure may include an input form. In some embodiments, the resource vulnerability may be an input box for phishing targets to enter personal information such as social security number, date of birth, or mobile phone number. In this case, the processor can perform a vulnerability attack using the input form by entering a random value in the input box or entering a query using the SQL injection technique.

이에 관하여는 도 5에서 상세히 후술한다.This will be described in detail later in Figure 5.

또 다른 몇몇 실시예에서, 프로세서는 타겟 소프트웨어를 다운로드하기 위해 경로 패턴 공격을 수행할 수 있다. 몇몇 실시예에서, 경로 패턴은 타겟 소프트웨어의 추출에 성공한 경우, 당해 타겟 소프트웨어가 추출된 리소스 식별자의 계층적 정보를 의미할 수 있다. 일 실시예에서, 경로 패턴은 다운로드를 시도하려는 타겟 소프트웨어 이전, 다운로드 된 소프트웨어와 관련된 리소스 식별자의 정보로부터 생성될 수 있다. 일례로, 프로세서는, 제1 타겟 소프트웨어에 대한 다운로드가 이미 성공적으로 수행된 경우에, 제1 타겟 소프트웨어에 대한 다운로드가 수행되었던 리소스 식별자 정보를 이용하여 경로 패턴을 생성할 수 있고, 제1 타겟 소프트웨어와 관련하여 생성된 경로 패턴을 이용하여 제2 타겟 소프트웨어에 대한 다운로드를 시도할 수 있다. In some other embodiments, the processor may perform a path pattern attack to download target software. In some embodiments, when the target software is successfully extracted, the path pattern may mean hierarchical information of the resource identifier from which the target software was extracted. In one embodiment, the path pattern may be generated from information on a resource identifier associated with the downloaded software prior to the target software being attempted to be downloaded. For example, when the download for the first target software has already been successfully performed, the processor may generate a path pattern using the resource identifier information on which the download for the first target software was performed, and You can attempt to download the second target software using the path pattern generated in relation to .

이에 관하여는 도 5 내지 도 6에서 상세히 후술한다. This will be described in detail later in Figures 5 and 6.

본 개시의 몇몇 실시예에 따른 프로세서는, 단계(S200)에서 타겟 소프트웨어를 다운로드한 뒤, 다운로드 된 타겟 소프트웨어를 관리 영역에 저장하는 단계(S300)를 수행할 수 있다.The processor according to some embodiments of the present disclosure may download the target software in step S200 and then perform the step S300 of storing the downloaded target software in the management area.

몇몇 실시예에서, 관리 영역은 악성 소프트웨어일 가능성이 존재하는 타겟 소프트웨어를 저장하고 모니터링하며, 해싱(hashing) 등의 기법을 통해 타겟 소프트웨어를 분석하고 분석 결과를 생성하기 위해 이용되는 기록 공간일 수 있다. 이러한 관리 영역은 메모리 또는 디스크와 같은 기록 장치를 이용하여 구성될 수 있다. In some embodiments, the management area may be a recording space used to store and monitor target software that may be malicious software, analyze the target software through techniques such as hashing, and generate analysis results. . This management area can be configured using a recording device such as memory or disk.

일 실시예에서, 관리 영역은 타겟 소프트웨어를 저장하고 모니터링하기 위하여 구성된 전용 공간일 수 있다. 일례로, 프로세서는 관리 영역을 비관리 영역으로부터 격리하여 운영할 수 있다. 이 경우, 프로세서는 관리 영역과 비관리 영역이 서로 영향을 주고받지 않도록 할 수 있다. 몇몇 실시예에서, 프로세서는 관리 영역과 비관리 영역을 서로 격리시키기 위하여 가상화(virtualization), 샌드박스(sandbox), 컨테이너(container) 및 에뮬레이션(emulation)과 같은 기술을 이용하여 관리 영역을 구축할 수 있다. In one embodiment, the management area may be a dedicated space configured to store and monitor target software. For example, the processor may operate by isolating the management area from the non-management area. In this case, the processor can prevent the management area and non-management area from influencing each other. In some embodiments, the processor may establish a management area using technologies such as virtualization, sandbox, containers, and emulation to isolate the management area and the non-management area from each other. there is.

상술한 바와 같이 관리 영역을 비관리 영역으로부터 격리하여 운용함으로써, 악성 소프트웨어일 가능성이 있는 타겟 소프트웨어의 분석 과정에서 의도치 않게 클라이언트 또는 타겟 소프트웨어 추출 및 관리 장치 전체가 영향을 받는 상황을 방지할 수 있다. 따라서, 비관리 영역을 포함한 클라이언트 또는 타겟 소프트웨어 추출 및 관리 장치 전체를 악성 소프트웨어의 영향으로부터 보호할 수 있다.As described above, by isolating the management area from the non-management area, it is possible to prevent a situation where the client or the entire target software extraction and management device is unintentionally affected during the analysis of target software that may be malicious software. . Accordingly, the entire client or target software extraction and management device, including the unmanaged area, can be protected from the influence of malicious software.

도 4는 개시된 발명의 일 측면에 따른 리소스 식별자 가공 방법을 나타낸 순서도이다.Figure 4 is a flowchart showing a resource identifier processing method according to one aspect of the disclosed invention.

도 4를 참조하면, 본 개시의 몇몇 실시예에 따른 프로세서는 리소스 식별자 가공을 수행하기 위해, 변형 리소스 식별자를 수신하는 단계(S110)를 수행할 수 있다. 몇몇 실시예에서, 변형 리소스 식별자는 입력 리소스 식별자 또는 입력 리소스 식별자에 대한 정규화가 완전히 수행되지 않은 리소스 식별자로서, 리소스 식별자 일부 또는 전부가 변형 문자를 포함하고 있는 리소스 식별자일 수 있다. 즉, 변형 리소스 식별자는 입력 리소스 식별자일 수 있으며, 또는 입력 리소스 식별자와 최종 리소스 식별자의 중간 형태를 갖는 리소스 식별자일 수 있다.Referring to FIG. 4, a processor according to some embodiments of the present disclosure may perform a step (S110) of receiving a modified resource identifier to perform resource identifier processing. In some embodiments, the modified resource identifier may be an input resource identifier or a resource identifier for which normalization of the input resource identifier has not been completely performed, and some or all of the resource identifier may include modified characters. That is, the modified resource identifier may be an input resource identifier, or may be a resource identifier that has an intermediate form between the input resource identifier and the final resource identifier.

본 개시의 몇몇 실시예에 따른 변형 리소스 식별자는 외부로부터 문자 메시지, 메신저 소프트웨어를 이용하여 수신된 메시지, 이메일 등을 이용하여 수신된 것일 수 있다. 일례에서, 이러한 메시지 또는 메일은 수신자가 악성 소프트웨어를 다운로드 받도록 유도하기 위하여 제공된 것일 수 있으며, 이러한 메시지 또는 메일에 포함된 변형 리소스 식별자를 통하여 사용자가 악성 소프트웨어에 접근할 수 있는 리소스, 예를 들면, 웹 페이지 등에 접근할 수 있다.The modified resource identifier according to some embodiments of the present disclosure may be received from the outside using a text message, a message received using messenger software, or an email. In one example, such a message or email may be provided to entice the recipient to download malicious software, and a modified resource identifier included in the message or email may identify resources that allow the user to access the malicious software, e.g. You can access web pages, etc.

본 개시의 몇몇 실시예에 따른 프로세서는, 단계(S110)를 통하여 수신된 변형 리소스 식별자에 대한 전처리를 수행(S120)할 수 있다. 몇몇 실시예에서, 변형 리소스 식별자에 대한 전처리는 변형 리소스 식별자에 대한 정규화를 수행하는 단계인 식별자 정규화 단계를 수행하는 것을 포함할 수 있다. A processor according to some embodiments of the present disclosure may perform preprocessing (S120) on the modified resource identifier received through step (S110). In some embodiments, preprocessing the variant resource identifier may include performing an identifier normalization step, which is a step of performing normalization on the variant resource identifier.

몇몇 실시예에서, 프로세서에 의하여 수행되는 변형 리소스 식별자에 대한 전처리는 변형 리소스 식별자 내의 개행 문자, 탭 문자 및 원형 문자나 괄호 문자 등 특수 문자를 포함하는 변형 문자의 대응 정규 문자로의 변환 처리를 수행하는 문자 정규화 단계를 수행하는 것을 포함할 수 있다. 일 실시예에서, 프로세서에 의하여 수행되는 전처리는 개행 문자, 공백 문자 또는 탭 문자를 제거하는 것을 포함할 수 있다. 또 다른 실시예에서, 프로세서에 의하여 수행되는 전처리는 원형 문자를 대응하는 정규 문자로 변환하는 것을 포함할 수 있다. 예를 들어, C 원형문자를 정규문자인 알파벳 C로 변환하는 것을 포함할 수 있다. 또 다른 예시에서, 프로세서에 의하여 수행되는 전처리는 특수문자를 유사한 정규 문자로 변환하는 것을 포함할 수 있다. 일례로, 특수문자인 괄호문자 (가 변형 리소스 식별자에 포함되어 있는 경우, 프로세서는 괄호문자 (를 C로 변환하여 전처리를 수행할 수 있다. In some embodiments, the preprocessing of the modified resource identifier performed by the processor converts the modified characters, including special characters such as newlines, tab characters, and circular characters, and parentheses characters, within the modified resource identifier, into corresponding regular characters. It may include performing a character normalization step. In one embodiment, preprocessing performed by the processor may include removing newline characters, space characters, or tab characters. In another embodiment, preprocessing performed by the processor may include converting prototypical characters to corresponding regular characters. For example, it may include converting the original C character to the regular character alphabet C. In another example, preprocessing performed by the processor may include converting special characters to similar regular characters. For example, if the special character parenthesis character ( is included in the modified resource identifier, the processor can convert the parentheses character ( to C and perform preprocessing.

또 다른 몇몇 실시예에서, 프로세서에 의하여 수행되는 전처리는 리소스 식별자의 대소문자를 변환하는 것을 포함할 수 있다. 일 실시예에서, 프로세서에 의하여 수행되는 전처리는 변형 리소스 식별자의 일부 또는 전부를 추출한 뒤, 추출된 일부 또는 전부를 대문자 또는 소문자로 변환하는 것을 포함할 수 있다. 일례로, 변형 리소스 식별자의 유형이 URL인 경우에, 프로세서는 변형 리소스 식별자에 대한 전처리 과정의 일환으로써 URL 중 호스트 네임, 도메인 네임 및 경로 부분을 추출하고, 추출된 부분을 모두 소문자로 변환하는 과정을 수행할 수 있다. In some other embodiments, preprocessing performed by the processor may include converting the case of the resource identifier. In one embodiment, the preprocessing performed by the processor may include extracting part or all of the modified resource identifier and then converting the extracted part or all to uppercase or lowercase letters. For example, when the type of modified resource identifier is URL, the processor extracts the host name, domain name, and path portions of the URL as part of the preprocessing process for the modified resource identifier, and converts all extracted portions to lowercase. can be performed.

본 개시의 몇몇 실시예에 따른 프로세서는 단계(S120)를 통해 변형 리소스 식별자에 대한 전처리를 수행한 후, 최종 리소스 식별자를 추출(S130)할 수 있다. 몇몇 실시예에서, 최종 리소스 식별자는 타겟 소프트웨어의 추출 및 다운로드를 수행할 수 있는 리소스를 의미할 수 있다. 몇몇 실시예에서, 입력 리소스 식별자 또는 변형 리소스 식별자는 접근 주체를 다른 리소스로 이동시키는 리소스에 관한 것일 수 있다. 구체적인 예시에서, 프로세서가 입력 리소스 식별자에 대응하는 리소스에 접근하면, 다른 리소스로 전송될 수 있다. 일례로, 입력 URL에 대한 접근을 수행하면, 다른 URL로 자동적으로 이동되는 경우가 포함될 수 있다. 구체적인 예시에서, 입력 리소스 식별자와 연계된 리소스는 포워딩(forwarding), 리디렉션(redirection)을 포함할 수 있다. 이러한 경우, 입력 리소스 식별자는 단축 URL(Short URL)일 수 있다.The processor according to some embodiments of the present disclosure may perform preprocessing on the modified resource identifier in step S120 and then extract the final resource identifier in step S130. In some embodiments, the final resource identifier may refer to a resource that can perform extraction and download of the target software. In some embodiments, the input resource identifier or modified resource identifier may relate to a resource that moves the accessing subject to another resource. In a specific example, when a processor accesses a resource corresponding to an input resource identifier, it may be transferred to another resource. For example, accessing an input URL may automatically move to another URL. In a specific example, resources associated with the input resource identifier may include forwarding and redirection. In this case, the input resource identifier may be a short URL.

본 개시의 몇몇 실시예에 따른 프로세서는 최종 리소스 식별자를 추출하기 위하여, 입력 리소스 식별자로부터 연결되는 하나 이상의 최종 리소스 식별자를 추출하기 위한 리소스 식별자 확장 단계를 수행할 수 있다. 일 실시예에서, 프로세서는 입력 리소스 식별자로부터 연결되는 모든 리소스에 대한 접근을 시도함으로써 최종 리소스 식별자를 생성할 수 있다. 또 다른 실시예에서, 프로세서는 리소스 식별자의 유형 정보를 획득하고, 획득된 유형 정보에 기초하여 리소스 식별자 확장 단계를 수행할 수 있다. 일 실시예에서, 리소스 식별자가 URL인 경우, 프로세서는 URL에 대하여 Head 정보를 요청하고, 요청에 대한 응답의 Status code가 200인 경우, 리디렉션 주소를 획득함으로써, 리소스 식별자 확장을 수행할 수 있다. 일 실시예에서, 리디렉션 주소는 응답 메시지 내에 포함된 Response.headers['Location'] 정보를 조회함으로써 획득하거나, 또는 스크립트 코드로 Redirection 이 이루어지는 경우에는 스크립트 내 document.location.href, location.replace 및 변수로 이루어진 URL 등을 자바스크립트 분석을 통해 획득 할 수 있다.In order to extract the final resource identifier, the processor according to some embodiments of the present disclosure may perform a resource identifier expansion step to extract one or more final resource identifiers connected from the input resource identifier. In one embodiment, the processor may generate the final resource identifier by attempting to access all resources connected from the input resource identifier. In another embodiment, the processor may obtain type information of the resource identifier and perform a resource identifier expansion step based on the obtained type information. In one embodiment, when the resource identifier is a URL, the processor requests head information for the URL, and when the status code in the response to the request is 200, the processor can perform resource identifier expansion by obtaining a redirection address. In one embodiment, the redirection address is obtained by searching Response.headers['Location'] information included in the response message, or, if redirection is performed with script code, document.location.href, location.replace and variables in the script. URLs consisting of can be obtained through JavaScript analysis.

일반적으로 피싱 메시지 또는 메일에는 스팸 필터를 회피하기 위하여 다양한 변형 문자가 포함되어 있다. 따라서 단순히 메시지에 포함된 URL 등의 리소스 식별자를 활용할 경우 타겟 소프트웨어를 추출하기 위한 리소스에 접근하기가 어려울 수 있다. 또, 해당 리소스가 리디렉션이나 포워딩을 포함하여 다른 리소스로 사용자를 이동시키는 경우, 안전하게 최종 리소스에 대한 접근 주소를 획득하기 위한 방법이 필요하다. 상술한 방법에 의하면 리소스 식별자의 유형의 특성을 이용하여 안전하게 최종 리소스 식별자를 획득하는 것이 가능하므로, 타겟 소프트웨어를 보다 안전하게 추출할 수 있다.Phishing messages or emails generally contain various modified characters to evade spam filters. Therefore, if you simply use a resource identifier such as a URL included in the message, it may be difficult to access the resource to extract the target software. Additionally, if the resource moves the user to another resource, including redirection or forwarding, a method is needed to safely obtain the access address to the final resource. According to the above-described method, it is possible to safely obtain the final resource identifier using the type characteristics of the resource identifier, so the target software can be extracted more safely.

도 5는 개시된 발명의 일 측면에 따른 타겟 소프트웨어 추출 방법을 나타낸 순서도이다.Figure 5 is a flowchart showing a method for extracting target software according to one aspect of the disclosed invention.

본 개시의 몇몇 실시예에 있어서, 타겟 소프트웨어를 추출한다는 것은 타겟 소프트웨어의 다운로드가 가능한 상태에 도달하는 것, 그러한 상태에 도달하기 위한 동작을 수행하는 것을 의미할 수 있다. 또한, 도 5에서는 타겟 소프트웨어의 추출과 다운로드를 분리하여 설명하였으나, 몇몇 실시예에서 타겟 소프트웨어를 추출하는 것은 타겟 소프트웨어를 다운로드하는 것을 포함할 수 있다. 예를 들어, 타겟 소프트웨어를 추출하는 것은 타겟 소프트웨어를 다운로드하기 위한 리소스에 접속 또는 접근하는 것, 접근된 리소스로부터 다운로드 대상인 타겟 소프트웨어를 식별하는 것을 포함할 수 있고, 나아가, 몇몇 실시예에서는 식별된 타겟 소프트웨어를 다운로드하는 것을 포함할 수 있다. 따라서, 이하 도 5의 설명은 본 발명의 이해를 돕기 위한 것일 뿐, 타겟 소프트웨어의 추출과 다운로드가 반드시 분리된 동작으로써 수행되는 것으로 해석되어서는 안 될 것이다.In some embodiments of the present disclosure, extracting target software may mean reaching a state in which the target software can be downloaded and performing an operation to reach that state. Additionally, in FIG. 5 , extraction and downloading of target software are described separately, but in some embodiments, extracting target software may include downloading the target software. For example, extracting target software may include connecting or accessing a resource for downloading the target software, identifying the target software to be downloaded from the accessed resource, and further, in some embodiments, the identified target software. This may include downloading software. Accordingly, the description of FIG. 5 below is only intended to aid understanding of the present invention, and should not be construed as extracting and downloading target software as necessarily being performed as separate operations.

도 5를 참조하면, 본 개시의 몇몇 실시예에 따른 프로세서는 리소스 내 Submit 링크를 통해 타겟 소프트웨어 추출을 시도할 수 있다(S210). 일 실시예에서, Submit 링크는 파일 또는 입력 정보를 네트워크를 통해 전송하는 링크일 수 있다. 일례로, Submit 링크는 리소스 내에 버튼과 같은 그래픽 인터페이스를 이용하여 구현될 수 있다. 몇몇 실시예에서, 리소스가 웹 페이지인 경우, Submit 링크를 통하여 특정 정보를 제공하고 이에 따라 타겟 소프트웨어가 추출될 수 있다. 만약 리소스 내 Submit 링크를 통해 타겟 소프트웨어 추출에 성공하면(S210, Yes), 프로세서는 타겟 소프트웨어를 다운로드 할 수 있다(S260). Referring to FIG. 5, a processor according to some embodiments of the present disclosure may attempt to extract target software through a Submit link within a resource (S210). In one embodiment, the Submit link may be a link that transmits a file or input information over a network. For example, a Submit link can be implemented using a graphical interface, such as a button, within the resource. In some embodiments, if the resource is a web page, specific information may be provided through a Submit link and the target software may be extracted accordingly. If the target software is successfully extracted through the Submit link in the resource (S210, Yes), the processor can download the target software (S260).

Submit 링크를 통해 타겟 소프트웨어 추출에 실패하면(S210, No), 프로세서는 리소스 내 스크립트를 통해 타겟 소프트웨어 추출을 시도할 수 있다(S220). 본 개시의 몇몇 실시예에 있어서 스크립트는 리소스 내에서 실행되는 하나 이상의 동작 또는 명령의 집합일 수 있다. 본 개시의 몇몇 실시예에 따른 프로세서는 리소스 내에 존재하는 스크립트를 추출하고, 해당 스크립트에 포함된 하나 이상의 동작을 분석한 뒤 이를 이용하여 타겟 소프트웨어의 추출을 시도할 수 있다. 프로세서가 리소스 내 스크립트를 통해 타겟 소프트웨어 추출에 성공한 경우(S220, Yes), 프로세서는 타겟 소프트웨어를 다운로드할 수 있다(S260).If extraction of the target software fails through the Submit link (S210, No), the processor may attempt to extract the target software through a script in the resource (S220). In some embodiments of the present disclosure, a script may be a set of one or more actions or commands executed within a resource. A processor according to some embodiments of the present disclosure may extract a script existing in a resource, analyze one or more operations included in the script, and then use the extract to attempt to extract target software. If the processor succeeds in extracting the target software through the script in the resource (S220, Yes), the processor can download the target software (S260).

프로세서가 리소스 내 스크립트를 통해 타겟 소프트웨어 추출에 실패한 경우(S220, No), 프로세서는 리소스 내 하이퍼링크를 통해 타겟 소프트웨어를 추출할 수 있다(S230). 몇몇 실시예에서, 프로세서는 리소스 내에 포함된 하이퍼링크를 추출하고, 추출된 하이퍼링크를 이용하여 타겟 소프트웨어를 추출할 수 있다. 일 실시예에서, 프로세서는 추출된 하이퍼링크에 접근하여 타겟 소프트웨어를 추출할 수 있다. 또 다른 실시예에서, 프로세서는 추출된 하이퍼링크에 대한 헤더 정보 등을 이용하여 타겟 소프트웨어를 추출할 수 있다. 본 개시에 따른 프로세서가 리소스 내 하이퍼링크를 통해 타겟 소프트웨어를 추출한 경우(S230, Yes), 프로세서는 타겟 소프트웨어를 다운로드 할 수 있다(S260).If the processor fails to extract the target software through the script in the resource (S220, No), the processor can extract the target software through the hyperlink in the resource (S230). In some embodiments, the processor may extract hyperlinks included in the resource and extract target software using the extracted hyperlink. In one embodiment, the processor may access the extracted hyperlink to extract the target software. In another embodiment, the processor may extract target software using header information about the extracted hyperlink. If the processor according to the present disclosure extracts the target software through a hyperlink in the resource (S230, Yes), the processor can download the target software (S260).

프로세서가 리소스 내 하이퍼링크를 통해 타겟 소프트웨어를 추출하지 못한 경우(S230, No), 프로세서는 리소스 취약점 공격을 통해 타겟 소프트웨어를 추출할 수 있다(S240).If the processor fails to extract the target software through the hyperlink in the resource (S230, No), the processor can extract the target software through a resource vulnerability attack (S240).

본 개시에 있어서, 리소스 취약점이란, 리소스 식별자를 통해 접근한 리소스 내에서 타겟 소프트웨어를 추출하기 위하여 이용될 수 있는 요소를 의미할 수 있다. 구체적인 예시로서, 리소스 취약점은 클라이언트 또는 타겟 소프트웨어 추출 및 관리 장치를 통하여 타겟 소프트웨어의 저장, 관리 및 배포를 수행하는 데이터 시스템에 접근하기 위한 정보를 입력할 수 있는 리소스 내의 구성요소일 수 있다. 또는, 리소스 취약점은 쿼리(query), 스크립트 또는 명령어 등을 통하여 타겟 소프트웨어에 대한 추출을 수행할 수 있는 리소스 내 요소를 의미할 수 있다.In the present disclosure, resource vulnerability may mean an element that can be used to extract target software from a resource accessed through a resource identifier. As a specific example, a resource vulnerability may be a component within a resource that can enter information to access a data system that performs storage, management, and distribution of the target software through a client or target software extraction and management device. Alternatively, a resource vulnerability may refer to an element within a resource that can extract target software through queries, scripts, or commands.

일 실시예에서, 본 개시의 몇몇 실시예에 따른 리소스 취약점은 입력 폼(form)을 포함할 수 있다. 몇몇 실시예에서, 리소스 취약점은 피싱 대상으로 하여금 주민등록번호, 생년월일, 휴대폰 번호 등의 개인정보를 입력하도록 하기 위한 입력란일 수 있다. In one embodiment, a resource vulnerability according to some embodiments of the present disclosure may include an input form. In some embodiments, the resource vulnerability may be an input box for phishing targets to enter personal information such as social security number, date of birth, or mobile phone number.

본 개시의 몇몇 실시예에 따른 프로세서가 리소스 취약점 공격을 통해 타겟 소프트웨어를 추출하는 것은, 리소스로부터 모든 입력 폼을 추출하고, 추출된 입력 폼에 무작위 값을 입력하여 타겟 소프트웨어를 추출하는 무작위 값 공격 단계를 수행하는 것을 포함할 수 있다. 이 경우, 프로세서는, 리소스 내에 포함된 모든 입력 폼을 추출할 수 있다. 프로세서는, 입력 폼 각각에 대하여 무작위 값을 입력하고 이를 접근된 리소스를 통해 제출함으로써 타겟 소프트웨어를 추출할 수 있다. 일 실시예에서, 입력 폼에 기입되는 무작위 값은 입력 폼의 유형에 기초하여 생성될 수 있다. 일례로, 프로세서는 추출된 입력 폼 각각에 대한 분석을 수행하여, 개별 입력 폼에 입력되어야 하는 데이터 유형을 분석할 수 있다. 일례로, 리소스 내에 포함된 제1 입력 폼은 생년월일, 제2 입력 폼은 주민등록번호, 제3 입력 폼은 휴대폰 번호를 입력하는 것일 수 있다. 이 경우, 프로세서는 제1 입력 폼을 위해서는 무작위 생년월일을, 제2 입력 폼에 대해서는 무작위 주민등록번호를, 제3 입력 폼에 대해서는 무작위 휴대폰 번호를 생성할 수 있다. 또 다른 실시예에서, 프로세서는 무작위 값을 생성하기 위하여 기 저장된 성공 무작위 값 정보를 포함할 수 있다. 예를 들어, 제1 리소스에서 제1 생년월일 값, 제1 주민등록번호 값 및 제1 휴대폰 번호 값을 이용하여 제1 타겟 소프트웨어의 추출에 성공한 경우, 프로세서는 제1 생년월일 값, 제1 주민등록번호 값 및 제1 휴대폰 번호 값을 저장하고 있을 수 있다. 프로세서는 제2 리소스에서 타겟 소프트웨어의 추출을 시도하는 경우, 기 저장된 제1 생년월일 값, 제1 주민등록번호 값 및 제1 휴대폰 번호 값을 취약점 공격을 수행하기 위한 무작위 값으로 결정하여, 취약점 공격을 수행할 수 있다.Extracting target software through a resource vulnerability attack by a processor according to some embodiments of the present disclosure is a random value attack step in which all input forms are extracted from resources and target software is extracted by inputting random values into the extracted input forms. It may include performing. In this case, the processor can extract all input forms contained within the resource. The processor can extract target software by entering a random value for each input form and submitting it through the accessed resource. In one embodiment, the random value entered into the input form may be generated based on the type of input form. In one example, the processor may perform analysis on each extracted input form to analyze the type of data that should be entered into the individual input form. For example, the first input form included in the resource may be for entering the date of birth, the second input form may be for entering the resident registration number, and the third input form may be for entering the mobile phone number. In this case, the processor may generate a random date of birth for the first input form, a random resident registration number for the second input form, and a random mobile phone number for the third input form. In another embodiment, the processor may include previously stored success random value information to generate the random value. For example, if the first target software is successfully extracted from the first resource using the first date of birth value, the first resident registration number value, and the first mobile phone number value, the processor may extract the first date of birth value, the first resident registration number value, and the first mobile phone number value. The mobile phone number value may be stored. When attempting to extract target software from a second resource, the processor determines the previously stored first date of birth value, first resident registration number value, and first mobile phone number value as random values for performing a vulnerability attack, and performs a vulnerability attack. You can.

본 개시의 또 다른 몇몇 실시예에 따른 프로세서는 리소스 취약점 공격으로서 보안 취약점 공격을 수행할 수 있다. 본 개시에 있어서 보안 취약점은 리소스 취약점의 일 예로서, 시스템의 디자인, 구현, 작업 그리고 관리에서의 결함이나 약점으로서, 시스템의 보안 정책을 침해하기 위해 이용될 수 있는 요소를 의미할 수 있다. 몇몇 실시예에 있어서, 프로세서는 보안 취약점 공격을 실행하기 위하여 리소스 내 구성요소에 특정 코드, 명령어, 쿼리, 스크립트를 입력하거나, 리소스 취약점을 통하여 리소스 내에 특정 코드, 명령어, 쿼리, 스크립트를 삽입하거나, 리소스 내의 인증 요소가 포함된 경우 인증 요소 내에 포함된 보안 취약점을 이용할 수 있다. 구체적인 예시로서, 프로세서는 보안 취약점 공격을 수행하기 위해 SQL 인젝션(SQL Injection), 크로스 사이트 스크립팅 취약점 공격, CSRF 크로스 사이트 요청 위조, 인증 세션 취약점 공격 등을 수행할 수 있다. 일 실시예에서, 프로세서는 SQL 인젝션 기법을 수행하기 위해 리소스 내 취약점(예를 들어, 입력 폼)과 연계된 SQL 처리 코드를 생성하고, 생성된 처리 코드 및 기 설정된 규칙에 따라 SQL 인젝션 쿼리를 생성할 수 있다. 몇몇 실시예에서, 프로세서가 생성하는 SQL 처리 코드 및 이에 따른 SQL 인젝션 쿼리는 복수 개일 수 있다. 즉, 프로세서는 취약점에 대응하는 SQL 처리 코드를 복수 개 생성하고, 이에 적합한 SQL 인젝션 쿼리를 복수 개 생성할 수 있다. 프로세서는, 리소스 취약점 공격을 통해 타겟 소프트웨어를 추출할 수 있는 경우(S240, Yes), 타겟 소프트웨어를 다운로드(S260)할 수 있다.A processor according to some other embodiments of the present disclosure may perform a security vulnerability attack as a resource vulnerability attack. In the present disclosure, a security vulnerability is an example of a resource vulnerability, and may refer to a defect or weakness in the design, implementation, operation, and management of the system, and may mean an element that can be used to violate the security policy of the system. In some embodiments, the processor enters a specific code, command, query, or script into a component within the resource to execute a security vulnerability attack, or inserts a specific code, command, query, or script into the resource through a resource vulnerability, or If an authentication element is included within the resource, security vulnerabilities contained within the authentication element can be exploited. As a specific example, the processor may perform SQL injection, cross-site scripting vulnerability attack, CSRF cross-site request forgery, authentication session vulnerability attack, etc. to perform security vulnerability attacks. In one embodiment, the processor generates SQL processing code associated with a vulnerability in a resource (e.g., an input form) to perform a SQL injection technique, and generates a SQL injection query according to the generated processing code and preset rules. can do. In some embodiments, there may be multiple SQL processing codes and resulting SQL injection queries generated by the processor. In other words, the processor can generate a plurality of SQL processing codes corresponding to the vulnerability and generate a plurality of SQL injection queries appropriate for the vulnerability. If the processor can extract the target software through a resource vulnerability attack (S240, Yes), it can download the target software (S260).

본 개시의 몇몇 실시예에 따른 프로세서는 리소스 내 리소스 취약점 공격을 통해 타겟 소프트웨어를 추출할 수 없는 경우(S240, No), 경로 패턴 공격을 통한 타겟 소프트웨어 추출을 시도할 수 있다(S250). If the processor according to some embodiments of the present disclosure cannot extract the target software through an intra-resource vulnerability attack (S240, No), it may attempt to extract the target software through a path pattern attack (S250).

본 개시의 몇몇 실시예에 따른 경로 패턴은 타겟 소프트웨어의 추출에 성공한 경우, 당해 타겟 소프트웨어가 추출된 리소스 식별자의 계층적 정보를 의미할 수 있다. 일 실시예에서, 경로 패턴은 다운로드를 시도하려는 타겟 소프트웨어 이전, 다운로드 된 소프트웨어와 관련된 리소스 식별자의 정보로부터 생성될 수 있다. 일례로, 프로세서는, 제1 타겟 소프트웨어에 대한 다운로드가 이미 성공적으로 수행된 경우에, 제1 타겟 소프트웨어에 대한 다운로드가 수행되었던 리소스 식별자 정보를 이용하여 경로 패턴을 생성하고, 이를 타겟 소프트웨어 추출 및 관리 장치 내부 또는 외부의 메모리 등 기록 수단에 저장할 수 있다. 프로세서는, 제2 타겟 소프트웨어에 대한 취약점 공격이 실패한 경우, 이미 생성된 경로 패턴을 이용하여, 제2 타겟 소프트웨어의 추출 및 다운로드를 시도할 수 있다. 프로세서는, 경로 패턴을 이용하여 타겟 소프트웨어를 추출하는 데 성공한 경우(S250, Yes), 타겟 소프트웨어를 다운로드 할 수 있다(S260). 이에 관하여는 도 6에서 상세히 후술한다.If the target software is successfully extracted, the path pattern according to some embodiments of the present disclosure may mean hierarchical information of the resource identifier from which the target software was extracted. In one embodiment, the path pattern may be generated from information on a resource identifier associated with the downloaded software prior to the target software being attempted to be downloaded. For example, when the download for the first target software has already been successfully performed, the processor generates a path pattern using the resource identifier information on which the download for the first target software was performed, and extracts and manages the target software using the resource identifier information. It can be stored in a recording medium such as internal or external memory of the device. If a vulnerability attack on the second target software fails, the processor may attempt to extract and download the second target software using an already created path pattern. If the processor succeeds in extracting the target software using the path pattern (S250, Yes), the processor can download the target software (S260). This will be described in detail later in Figure 6.

최근 피싱에 대한 피해를 방지하기 위하여 피싱 메시지 및 사이트와 연계된 악성 소프트웨어를 분석하는 기법이 발전해왔다. 그러나 이러한 분석 기법은 악성 소프트웨어를 확보하는 것을 전제로 한다는 문제가 있어, 피해자의 개인정보 등을 이용하여 분석 기법을 수행하려는 엔티티로부터 악성 소프트웨어를 숨길 경우, 분석 기법을 활용할 수 없다는 문제가 있다. 도 5에서 상술한 본 개시에 따른 타겟 소프트웨어 추출 기법은 리소스 내에 포함된 서브밋 링크, 스크립트, 하이퍼링크, 취약점 및 경로 패턴 등 리소스에서 발견할 수 있는 모든 구성요소를 공략하여 타겟 소프트웨어에 대한 추출을 시도하므로, 악성 소프트웨어 배포자가 소프트웨어를 숨기려는 시도를 차단하고, 악성 소프트웨어를 사전에 확보할 수 있다. 피싱 기법과 연관된 웹 리소스들은 빠르게 생성 및 소멸되는 특성 상 보안 취약점이 다수 포함되어 있을 가능성이 높고, 악성 소프트웨어를 배포하기 위한 리소스 식별자 경로 및 쿠키 형성 패턴도 매우 유사할 가능성이 높으므로, 본 개시에 따른 리소스 내 구성요소, 취약점 및 경로 패턴을 이용한 타겟 소프트웨어 추출 기법이 성공할 가능성이 높다. 따라서, 종래 확보할 수 없었던 악성 소프트웨어의 확보가 보다 용이해질 수 있다.Recently, techniques to analyze malicious software linked to phishing messages and sites have been developed to prevent damage from phishing. However, this analysis technique has a problem in that it is premised on securing malicious software, so there is a problem that the analysis technique cannot be used if the malicious software is hidden from an entity attempting to perform the analysis technique using the victim's personal information. The target software extraction technique according to the present disclosure described above in FIG. 5 targets all components that can be found in the resource, such as submit links, scripts, hyperlinks, vulnerabilities, and path patterns included in the resource, and extracts the target software. By doing so, attempts by malicious software distributors to hide software can be blocked and malicious software can be secured in advance. Web resources related to phishing techniques are likely to contain many security vulnerabilities due to the nature of their rapid creation and destruction, and the resource identifier paths and cookie formation patterns for distributing malicious software are also likely to be very similar, so this disclosure Target software extraction techniques using components, vulnerabilities, and path patterns within resources are likely to be successful. Accordingly, it can become easier to secure malicious software that was previously impossible to secure.

도 6은 개시된 발명의 일 측면에 따른 리소스 경로 데이터를 나타낸 개념도이다.Figure 6 is a conceptual diagram showing resource path data according to one aspect of the disclosed invention.

도 6을 참조하면, 본 개시의 몇몇 실시예에 따른 리소스 경로 데이터(400)는 타겟 소프트웨어(410), 입력 리소스 식별자(420), 최종 리소스 식별자(430) 및 경로 패턴(440)을 포함할 수 있다. Referring to FIG. 6, resource path data 400 according to some embodiments of the present disclosure may include target software 410, input resource identifier 420, final resource identifier 430, and path pattern 440. there is.

타겟 소프트웨어(410)는 본 개시에 따른 타겟 소프트웨어 추출 및 관리 방법에 의하여 추출, 다운로드 및 관리하고자 하는 소프트웨어 또는 소프트웨어의 식별자일 수 있다. 일 실시예에서, 타겟 소프트웨어는 피싱 메시지 또는 메일과 연계된 악성 소프트웨어일 수 있다. 타겟 소프트웨어는 다양한 유형의 파일일 수 있다. 몇몇 실시예에서, 타겟 소프트웨어는 어플리케이션을 설치하기 위한 실행 파일로, 이러한 어플리케이션을 통해 컴퓨팅 장치 내에서 특정 코드나 스크립트를 실행하여 개인정보 탈취 등을 수행하는 파일일 수 있다. The target software 410 may be software or an identifier of software to be extracted, downloaded, and managed by the target software extraction and management method according to the present disclosure. In one embodiment, the target software may be malicious software associated with a phishing message or email. Target software can be various types of files. In some embodiments, the target software is an executable file for installing an application, and may be a file that executes a specific code or script within the computing device through the application to steal personal information.

본 개시의 몇몇 실시예에 따른 입력 리소스 식별자(420)는 피싱 메시지 또는 메일을 통하여 수신된 타겟 소프트웨어와 연관된 리소스 식별자일 수 있다. 도 3내지 도 4에서 상술한 바와 같이, 입력 리소스 식별자(420)는 하나 이상의 변형 문자를 포함할 수 있다. 또는, 입력 리소스 식별자(420)는 단축 URL이나 포워딩 또는 리디렉션으로 이어지는 리소스 식별자일 수 있다.The input resource identifier 420 according to some embodiments of the present disclosure may be a resource identifier associated with target software received through a phishing message or email. As described above with reference to FIGS. 3 and 4 , the input resource identifier 420 may include one or more modified characters. Alternatively, the input resource identifier 420 may be a shortened URL or a resource identifier that leads to forwarding or redirection.

본 개시의 몇몇 실시예에 따른 최종 리소스 식별자(430)는 입력 리소스 식별자에 대한 가공을 통하여 생성된 리소스 식별자로, 타겟 소프트웨어와 직접 연결된 리소스에 대한 식별자를 포함할 수 있다. The final resource identifier 430 according to some embodiments of the present disclosure is a resource identifier generated through processing an input resource identifier and may include an identifier for a resource directly connected to the target software.

도 6을 다시 참조하면, 본 개시의 몇몇 실시예에 따른 리소스 경로 데이터(400)는 경로 패턴(440)을 포함할 수 있다. 몇몇 실시예에서, 경로 패턴(440)은 하나 이상의 리소스 식별자의 경로 계층을 포함할 수 있다. 본 개시에 있어서 리소스 식별자의 경로 계층은, 리소스 식별자를 구성하는 구성 요소의 상하위 계층관계에 따른 리소스에 대한 접근 계층의 층위 또는 순서를 표현하는 데이터일 수 있다. 일 실시예에서, 리소스 식별자가 파일 시스템 내 리소스의 위치를 표현할 경우, 리소스 식별자는 네임스페이스, 드라이브, 폴더 명, 파일 명의 순서로 표현될 수 있다. 이 경우, 리소스 식별자의 경로 계층은 [네임스페이스], [네임스페이스/드라이브], [네임스페이스/드라이브/폴더 명], [네임스페이스/드라이브/폴더 명/파일 명]을 포함할 수 있다. 또 다른 실시예에서, 리소스 식별자가 URL일 경우, 리소스 식별자는 도메인 명, 포트 넘버, 파일 경로, 파라미터, 앵커 등을 포함할 수 있다. 이 경우, 리소스 식별자의 경로 계층은 [도메인 명], [도메인 명/포트 넘버], [도메인 명/포트 넘버/파일 경로], [도메인 명/포트 넘버/파일 경로/파라미터], [도메인 명/포트 넘버/파일 경로/파라미터/앵커]를 포함할 수 있다. 일 실시예에서, 리소스 식별자의 경로 계층은 경로 계층이 포함하고 있는 경로의 층위에 따라서 순서를 가질 수 있다. 일 실시예에서, [도메인 명] 경로 계층은 [도메인 명/포트 넘버] 경로 계층보다 상위 순서일 수 있다. 이 경우, 프로세서는 복수의 경로 계층이 존재하는 경우, 상위 순서 경로 계층부터 하위 순서 경로 계층 순으로 리소스 식별자에 대한 접근을 수행함으로써 경로 패턴 공격을 수행하고, 이에 따라 타겟 소프트웨어의 추출을 시도할 수 있다.Referring again to FIG. 6 , resource path data 400 according to some embodiments of the present disclosure may include a path pattern 440. In some embodiments, path pattern 440 may include a path hierarchy of one or more resource identifiers. In the present disclosure, the path layer of the resource identifier may be data representing the level or order of the access layer for the resource according to the upper and lower hierarchical relationships of the components constituting the resource identifier. In one embodiment, when the resource identifier represents the location of the resource in the file system, the resource identifier may be expressed in the following order: namespace, drive, folder name, and file name. In this case, the path hierarchy of the resource identifier may include [namespace], [namespace/drive], [namespace/drive/folder name], and [namespace/drive/folder name/file name]. In another embodiment, when the resource identifier is a URL, the resource identifier may include a domain name, port number, file path, parameter, anchor, etc. In this case, the path hierarchy of the resource identifier is [domain name], [domain name/port number], [domain name/port number/file path], [domain name/port number/file path/parameter], [domain name/ Port number/file path/parameter/anchor] may be included. In one embodiment, the path layer of the resource identifier may be ordered according to the level of the path it contains. In one embodiment, the [domain name] path hierarchy may be higher in order than the [domain name/port number] path hierarchy. In this case, if there are multiple path layers, the processor can perform a path pattern attack by accessing the resource identifier in order from the upper-order path layer to the lower-order path layer, and attempt to extract the target software accordingly. there is.

본 개시의 또 다른 몇몇 실시예에 따른 프로세서는 경로 패턴 공격을 수행하는 과정에서 하나 이상의 쿠키(cookie)를 생성할 수 있다. 일 실시예에서, 프로세서는 경로 패턴 공격 과정에서 접근한 하나 이상의 리소스 식별자에 대응하는 쿠키를 생성하거나, 쿠키 내에 접근한 하나 이상의 리소스 식별자에 관한 정보를 생성할 수 있다. 구체적인 일 실시예에서, 프로세서는 경로 패턴 공격을 수행할 때, 상위 경로 계층부터 하위 경로 계층으로 리소스 식별자에 대한 순차적인 접근을 수행하면서, 접근된 리소스 식별자에 대한 접근 정보를 쿠키 파일에 기록할 수 있다. 프로세서는, 경로 패턴 공격 단계에서 타겟 소프트웨어의 추출을 위하여 이전 경로 계층에 대한 접근 정보가 요구되는 경우, 생성된 쿠키를 이용하여 타겟 소프트웨어를 추출할 수 있다.A processor according to some other embodiments of the present disclosure may generate one or more cookies in the process of performing a path pattern attack. In one embodiment, the processor may create a cookie corresponding to one or more resource identifiers accessed during a path pattern attack, or may generate information about one or more resource identifiers accessed within the cookie. In a specific embodiment, when performing a path pattern attack, the processor may record access information about the accessed resource identifier in a cookie file while performing sequential access to the resource identifier from the upper path layer to the lower path layer. there is. If access information on the previous path layer is required to extract the target software in the path pattern attack stage, the processor can extract the target software using the generated cookie.

악성 소프트웨어 배포의 경우, 빠른 시간 내에 피싱 사이트의 생성 및 소멸이 발생한다는 특징이 있다. 일반적인 피싱 사이트의 생성 및 소멸 시간은 24시간 이내이며, 따라서 악성 소프트웨어를 배포하는 피싱 사이트의 경우 배포를 위한 메커니즘 및 배포 경로에 있어서 유사한 패턴을 띄는 경우가 다수이다. 따라서, 본 개시에 따른 타겟 소프트웨어 추출 기법을 이용하면 유사한 경로 패턴을 이용하는 악성 소프트웨어 배포 메커니즘을 우회하여 악성 소프트웨어를 추출하여, 관리 및 분석할 수 있다.In the case of malicious software distribution, the characteristic is that phishing sites are created and destroyed within a short period of time. The creation and destruction time of a typical phishing site is within 24 hours, and therefore, phishing sites that distribute malicious software often show similar patterns in their distribution mechanisms and distribution routes. Therefore, by using the target software extraction technique according to the present disclosure, malicious software can be extracted, managed, and analyzed by bypassing a malicious software distribution mechanism that uses a similar path pattern.

또한, 최근 악성 소프트웨어 분석 기법으로부터 악성 소프트웨어를 보호하기 위하여, 다양한 기법이 발전되고 있다. 이러한 기법 중 하나는 악성 소프트웨어를 다운로드 받는 주체가 악성 소프트웨어 배포자가 안배한 설계에 따라서 순차적인 접근을 통해 악성 소프트웨어를 다운로드 받게 되었는지 확인하는 방법이다. 이러한 경우, 악성 소프트웨어를 분석하고자 하는 자가 악성 소프트웨어를 다운로드 받기 위한 최종 리소스 식별자에 직접적으로 접근하는 경우, 배포자가 설계한 경로대로 접근하지 않았음을 인식하여 배포를 거부하게 된다. 본 개시에 따른 타겟 소프트웨어 추출 기법은 접근 경로에 대한 쿠키를 활용하여, 이러한 보호 메커니즘을 우회할 수 있고, 이에 따라 악성 소프트웨어의 추출, 다운로드 및 분석이 가능해진다.Additionally, various techniques have recently been developed to protect malicious software from malicious software analysis techniques. One of these techniques is to check whether the subject downloading the malicious software downloaded the malicious software through a sequential approach according to the design arranged by the malicious software distributor. In this case, if a person trying to analyze malicious software directly accesses the final resource identifier for downloading malicious software, the distribution is rejected because it is recognized that the access was not made according to the path designed by the distributor. The target software extraction technique according to the present disclosure utilizes cookies for the access path to bypass this protection mechanism, thereby enabling extraction, download, and analysis of malicious software.

이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 발명이 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.As described above, the disclosed embodiments have been described with reference to the attached drawings. A person skilled in the art to which the present invention pertains will understand that the present invention can be practiced in forms different from the disclosed embodiments without changing the technical idea or essential features of the present invention. The disclosed embodiments are illustrative and should not be construed as limiting.

Claims (15)

컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 타겟 소프트웨어를 추출하기 위한 하나 이상의 단계들을 포함하며, 상기 단계들은:
입력 리소스 식별자를 이용하여 최종 리소스 식별자를 생성하는 단계; 및
상기 최종 리소스 식별자에 대응하는 최종 리소스로부터 타겟 소프트웨어를 추출하는 단계;를 포함하고,
상기 입력 리소스 식별자를 이용하여 최종 리소스 식별자를 생성하는 단계는,
상기 입력 리소스 식별자에 대하여 정규화를 수행하는 식별자 정규화 단계;를 포함하고,
상기 타겟 소프트웨어를 추출하는 단계는,
상기 최종 리소스에 대한 보안 취약점 공격을 수행하여 타겟 소프트웨어를 추출하는 보안 취약점 공격 단계;를 포함하는 것을 특징으로 하는,
컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
A computer program stored on a computer-readable recording medium, the computer program comprising one or more steps for extracting target software, the steps comprising:
generating a final resource identifier using an input resource identifier; and
Comprising: extracting target software from the final resource corresponding to the final resource identifier,
The step of generating a final resource identifier using the input resource identifier is,
Includes an identifier normalization step of performing normalization on the input resource identifier,
The step of extracting the target software is,
Characterized in that it includes a security vulnerability attack step of extracting target software by performing a security vulnerability attack on the final resource.
A computer program stored on a computer-readable recording medium.
제1 항에 있어서,
상기 보안 취약점 공격 단계는,
상기 최종 리소스 식별자에 대응하는 최종 리소스 내에 포함된 하나 이상의 입력 폼을 추출하는 단계; 및
추출된 상기 입력 폼에 무작위 값을 입력하여 상기 타겟 소프트웨어를 추출하는 무작위 값 공격 단계;를 포함하는,
컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
According to claim 1,
The security vulnerability attack step is,
extracting one or more input forms included in a final resource corresponding to the final resource identifier; and
Including a random value attack step of extracting the target software by inputting a random value into the extracted input form.
A computer program stored on a computer-readable recording medium.
삭제delete 제1 항에 있어서,
상기 보안 취약점 공격은,
SQL 인젝션, 크로스 사이트 스크립팅, CSRF 크로스 사이트 요청 위조 또는 인증 세션 관련 취약점 중 적어도 하나를 이용하는 것을 특징으로 하는,
컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
According to claim 1,
The security vulnerability attack is,
Characterized by exploiting at least one of the following vulnerabilities: SQL injection, cross-site scripting, CSRF cross-site request forgery, or authentication session-related vulnerabilities,
A computer program stored on a computer-readable recording medium.
제1 항에 있어서,
상기 타겟 소프트웨어를 추출하는 단계는,
경로 패턴을 이용하여 상기 타겟 소프트웨어를 추출하는 경로 패턴 공격 단계;를 포함하는,
컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
According to claim 1,
The step of extracting the target software is,
Including a path pattern attack step of extracting the target software using a path pattern,
A computer program stored on a computer-readable recording medium.
제5 항에 있어서,
상기 경로 패턴은,
하나 이상의 경로 계층을 포함하며,
상기 경로 패턴 공격 단계는,
상기 하나 이상의 경로 계층을 순차적으로 접근하는 것을 특징으로 하는,
컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
According to clause 5,
The path pattern is,
Contains one or more path hierarchies,
The path pattern attack step is,
Characterized in sequentially accessing the one or more path layers,
A computer program stored on a computer-readable recording medium.
제5 항에 있어서,
상기 경로 패턴은,
제1 타겟 소프트웨어와 관련된 적어도 하나의 리소스 식별자를 포함하고,
상기 제1 타겟 소프트웨어는,
기 추출된 소프트웨어인 것을 특징으로 하는,
컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
According to clause 5,
The path pattern is,
Contains at least one resource identifier associated with the first target software,
The first target software is,
Characterized in that it is already extracted software,
A computer program stored on a computer-readable recording medium.
제1 항에 있어서,
상기 타겟 소프트웨어를 관리 영역에 저장하는 단계;를 더 포함하고,
상기 관리 영역은,
상기 타겟 소프트웨어를 저장하기 위하여 기 지정된 영역인 것을 특징으로 하는,
컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
According to claim 1,
Further comprising: storing the target software in a management area,
The management area is,
Characterized in that it is a pre-designated area to store the target software,
A computer program stored on a computer-readable recording medium.
제8 항에 있어서,
상기 관리 영역은,
비관리 영역과 격리(isolate)되어, 상기 비관리 영역에 영향을 주지 않는 것을 특징으로 하는,
컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
According to clause 8,
The management area is,
Characterized in that it is isolated from the unmanaged area and does not affect the unmanaged area,
A computer program stored on a computer-readable recording medium.
제1 항에 있어서,
상기 타겟 소프트웨어를 추출하는 단계는,
상기 최종 리소스 식별자에 대응하는 최종 리소스 내에 포함된 하나 이상의 서브밋(submit) 링크, 스크립트 또는 하이퍼링크 중 적어도 하나에 대한 분석을 수행하는 단계;를 포함하는,
컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
According to claim 1,
The step of extracting the target software is,
Comprising: performing analysis on at least one of one or more submit links, scripts, or hyperlinks included in the final resource corresponding to the final resource identifier.
A computer program stored on a computer-readable recording medium.
삭제delete 제1 항에 있어서,
상기 식별자 정규화 단계는,
상기 입력 리소스 식별자 내에 포함된 변형 문자를 정규 문자로 변환하는 문자 정규화 단계;를 포함하는,
컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
According to claim 1,
The identifier normalization step is,
Including a character normalization step of converting modified characters included in the input resource identifier into regular characters,
A computer program stored on a computer-readable recording medium.
제1 항에 있어서,
상기 입력 리소스 식별자를 가공하여 최종 리소스 식별자를 생성하는 단계는,
상기 입력 리소스 식별자로부터 연결되는 하나 이상의 최종 리소스 식별자를 추출하는 리소스 식별자 확장 단계;를 포함하는,
컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
According to claim 1,
The step of processing the input resource identifier to generate a final resource identifier is,
A resource identifier expansion step of extracting one or more final resource identifiers connected from the input resource identifier; including,
A computer program stored on a computer-readable recording medium.
타겟 소프트웨어 추출 장치로서,
프로세서; 및
메모리;를 포함하고,
상기 메모리는 상기 프로세서에 의하여 실행될 때,
입력 리소스 식별자를 이용하여 최종 리소스 식별자를 생성하고,
상기 최종 리소스 식별자에 대응하는 최종 리소스로부터 타겟 소프트웨어를 추출하고,
상기 입력 리소스 식별자를 이용하여 최종 리소스 식별자를 생성하는 것은, 상기 입력 리소스 식별자에 대하여 정규화를 수행하는 것을 포함하고,
상기 프로세서가 상기 타겟 소프트웨어를 추출하는 것은,
상기 최종 리소스에 대한 보안 취약점 공격을 수행하여 타겟 소프트웨어를 추출하는 보안 취약점 공격을 수행하는 것을 특징으로 하는 프로그램을 포함하는,
타겟 소프트웨어 추출 장치.
A target software extraction device, comprising:
processor; and
Contains memory;
When the memory is executed by the processor,
Create a final resource identifier using the input resource identifier,
Extract target software from the final resource corresponding to the final resource identifier,
Generating a final resource identifier using the input resource identifier includes performing normalization on the input resource identifier,
When the processor extracts the target software,
Containing a program characterized in that it performs a security vulnerability attack to extract target software by performing a security vulnerability attack on the final resource,
Targeted software extraction device.
하나 이상의 프로세서에 의해 수행되는 타겟 소프트웨어 추출 방법으로서,
입력 리소스 식별자를 이용하여 최종 리소스 식별자를 생성하는 단계; 및
상기 최종 리소스 식별자에 대응하는 최종 리소스로부터 타겟 소프트웨어를 추출하는 단계;를 포함하고,
상기 입력 리소스 식별자로부터 최종 리소스 식별자를 생성하는 단계는,
상기 입력 리소스 식별자에 대하여 정규화를 수행하는 식별자 정규화 단계;를 포함하고,
상기 프로세서가 상기 타겟 소프트웨어를 추출하는 단계는,
상기 최종 리소스에 대한 보안 취약점 공격을 수행하여 타겟 소프트웨어를 추출하는 보안 취약점 공격 단계;를 포함하는 것을 특징으로 하는,
타겟 소프트웨어 추출 방법.
1. A target software extraction method performed by one or more processors, comprising:
generating a final resource identifier using an input resource identifier; and
Comprising: extracting target software from the final resource corresponding to the final resource identifier,
The step of generating a final resource identifier from the input resource identifier is,
Includes an identifier normalization step of performing normalization on the input resource identifier,
The step of the processor extracting the target software includes:
Characterized in that it includes a security vulnerability attack step of extracting target software by performing a security vulnerability attack on the final resource.
Target software extraction method.
KR1020230186668A 2023-12-20 2023-12-20 Method, device and system for malware extraction and managing from phising website KR102673878B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230186668A KR102673878B1 (en) 2023-12-20 2023-12-20 Method, device and system for malware extraction and managing from phising website

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230186668A KR102673878B1 (en) 2023-12-20 2023-12-20 Method, device and system for malware extraction and managing from phising website

Publications (1)

Publication Number Publication Date
KR102673878B1 true KR102673878B1 (en) 2024-06-10

Family

ID=91482787

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230186668A KR102673878B1 (en) 2023-12-20 2023-12-20 Method, device and system for malware extraction and managing from phising website

Country Status (1)

Country Link
KR (1) KR102673878B1 (en)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Benjamin B. Kuhar, "Twitter Malware Collection System: An Automated URL Extraction and Examination Platform"(2011.08.)*
Chris Grier et al., "Manufacturing compromise: The emergence of exploit-as-a-service"(2015.03.)*
Yi-Min Wang et al., "Automated Web Patrol with Strider HoneyMonkeys"(2006.)*

Similar Documents

Publication Publication Date Title
Alshamrani et al. A survey on advanced persistent threats: Techniques, solutions, challenges, and research opportunities
EP3113064B1 (en) System and method for determining modified web pages
Varshney et al. A phish detector using lightweight search features
US9846776B1 (en) System and method for detecting file altering behaviors pertaining to a malicious attack
Gupta et al. Cross-site scripting (XSS) abuse and defense: exploitation on several testing bed environments and its defense
CN101788982B (en) Method of cross-domain interaction and for protecting Web application in unmodified browser and system thereof
Liu et al. A novel approach for detecting browser-based silent miner
US10009370B1 (en) Detection and remediation of potentially malicious files
US11036855B2 (en) Detecting frame injection through web page analysis
Abdullayeva Advanced persistent threat attack detection method in cloud computing based on autoencoder and softmax regression algorithm
Jiang et al. Android malware
JP2018503203A (en) Determining acceptable activities based on acceptable activity rules
CN110647744A (en) Identifying and extracting key hazard forensic indicators using object-specific file system views
US11785044B2 (en) System and method for detection of malicious interactions in a computer network
US11509691B2 (en) Protecting from directory enumeration using honeypot pages within a network directory
JP2016033690A (en) Illegal intrusion detection device, illegal intrusion detection method, illegal intrusion detection program, and recording medium
Chaudhary et al. A novel framework to alleviate dissemination of XSS worms in online social network (OSN) using view segregation.
Shin et al. Focusing on the weakest link: A similarity analysis on phishing campaigns based on the att&ck matrix
KR102673878B1 (en) Method, device and system for malware extraction and managing from phising website
Fan et al. Privacy theft malware multi‐process collaboration analysis
CN112804266A (en) Webpage data processing method and device, computer equipment and storage medium
Msaad et al. Honeysweeper: Towards stealthy honeytoken fingerprinting techniques
Sheik Abdullah et al. Big Data and Analytics
US20200329056A1 (en) Trusted advisor for improved security
CN116628693B (en) Lesu software defense method based on preconfigured letters