KR102316404B1 - Method for ransomware mitigation by extension randomization, recording medium and device for performing the method - Google Patents

Method for ransomware mitigation by extension randomization, recording medium and device for performing the method Download PDF

Info

Publication number
KR102316404B1
KR102316404B1 KR1020190162841A KR20190162841A KR102316404B1 KR 102316404 B1 KR102316404 B1 KR 102316404B1 KR 1020190162841 A KR1020190162841 A KR 1020190162841A KR 20190162841 A KR20190162841 A KR 20190162841A KR 102316404 B1 KR102316404 B1 KR 102316404B1
Authority
KR
South Korea
Prior art keywords
extension
encryption
file
randomization
ransomware
Prior art date
Application number
KR1020190162841A
Other languages
Korean (ko)
Other versions
KR20210072487A (en
Inventor
김경곤
김휘강
이수현
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020190162841A priority Critical patent/KR102316404B1/en
Publication of KR20210072487A publication Critical patent/KR20210072487A/en
Application granted granted Critical
Publication of KR102316404B1 publication Critical patent/KR102316404B1/en

Links

Images

Classifications

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

Abstract

확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법은, 윈도우 레지스트리에 존재하는 파일 확장자를 인식하는 단계; 랜덤값을 이용한 암호화를 통해 상기 각 파일 확장자에 대응하는 암호화 확장자를 생성하는 단계; 상기 암호화 확장자를 기초로 상기 윈도우 레지스트리에 랜덤화된 확장자키를 생성하는 단계; 상기 랜덤화된 확장자키에 대응하는 파일 확장자에 대한 정보를 저장하는 단계; 및 파일 시스템에 존재하는 파일의 확장자를 상기 암호화 확장자로 치환하는 단계;를 포함한다. 이에 따라, 파일 확장자 레지스트리 값을 안전하게 랜덤화 하여 생성하고 정보를 복제하므로, 랜섬웨어에 대한 보안을 강화할 수 있다. A ransomware damage defense method through extension randomization includes: recognizing a file extension existing in a Windows registry; generating an encryption extension corresponding to each of the file extensions through encryption using a random value; generating a randomized extension key in the Windows registry based on the encryption extension; storing information on a file extension corresponding to the randomized extension key; and replacing the extension of a file existing in the file system with the encryption extension. Accordingly, security against ransomware can be strengthened because file extension registry values are randomly generated and information is copied.

Description

확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법, 이를 수행하기 위한 기록 매체 및 장치{METHOD FOR RANSOMWARE MITIGATION BY EXTENSION RANDOMIZATION, RECORDING MEDIUM AND DEVICE FOR PERFORMING THE METHOD}Ransomware damage defense method through extension randomization, recording medium and device for performing the same

본 발명은 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법, 이를 수행하기 위한 기록 매체 및 장치에 관한 것으로서, 더욱 상세하게는 컴퓨터 시스템에서 막을 수 없는 공격 경로를 통해 PC를 감염시키는 랜섬웨어 피해 방지를 위한 기술에 관한 것이다.The present invention relates to a method for preventing ransomware damage through randomization of extensions, a recording medium and an apparatus for performing the same, and more particularly, to prevent ransomware damage that infects a PC through an attack path that cannot be blocked in a computer system. It's about technology.

랜섬웨어(Ransomware)는 컴퓨터 시스템을 감염시켜 접근을 제한하고 일종의 몸값을 요구하는 악성 소프트웨어의 한 종류이다. 컴퓨터로의 접근이 제한되기 때문에 제한을 없애려면 해당 악성 프로그램을 개발한 자에게 지불을 강요받게 된다. 이때 암호화되는 랜섬웨어가 있는 반면, 어떤 것은 시스템을 단순하게 잠그고 컴퓨터 사용자가 지불하게 만들기 위해 안내문구를 띄운다. Ransomware is a type of malicious software that infects computer systems, restricts access, and demands a ransom. Because access to the computer is restricted, to remove the restriction, the person who developed the malicious program will be forced to pay. While there is ransomware that encrypts at this point, some simply lock the system and pop up prompts to force the computer user to pay.

최근, 전 세계적인 랜섬웨어를 통한 대량 해킹이 지속적으로 발생하고 있다. 암호화 기반 랜섬웨어를 포함한 광범위한 공격은 각각 약 300만 달러와 1800만 달러의 부당이득을 취한 크립토락커(CryptoLocker)와 크립토월(CryptoWall)과 같은 트로이목마를 통해 증가하기 시작했다. Recently, mass hacking through ransomware worldwide continues to occur. Widespread attacks, including crypto-based ransomware, have begun to increase through Trojans such as CryptoLocker and CryptoWall, which have extorted approximately $3 million and $18 million, respectively.

이들은 악성코드로서 사용자의 동의 없이 컴퓨터에 설치되어 내부 파일을 인질로 잡아 금전적인 요구를 한다. 일반적으로 윈도우 운영체제가 설치된 PC에서 가장 많이 발생하지만 모바일 환경에서도 발생하며, 맥 OS도 감염될 수 있다. These are malicious codes that are installed on the computer without the user's consent and take internal files hostage and demand money. In general, it occurs most often in PCs with Windows operating systems installed, but it also occurs in mobile environments, and Mac OS can also be infected.

MTD(Moving Target Defense)는 사이버보안 문제에 대해 최근 보다 근본적이고 혁신적인 해결 전략으로 주목받고 있는 기술이자 관점이다. 기존의 보안 전략에서는 공격 대상 시스템 자체의 구성에는 변화가 없으므로, 공격자들이 대상 시스템의 취약점을 찾을 수 있는 시간을 제공해 주는 결과를 가져 왔다. MTD (Moving Target Defense) is a technology and perspective that has recently been attracting attention as a more fundamental and innovative solution to the cybersecurity problem. In the existing security strategy, there is no change in the configuration of the attack target system itself, resulting in providing time for attackers to find vulnerabilities in the target system.

또한, 결과적으로 공격 대상 시스템의 취약점을 이용한 공격에 대해 수동적이고 임기응변적(ad hoc) 방어책만을 강구하는 것이 주된 보안 전략이었다. MTD에서는 공격의 대상이 되는 시스템의 구성을 주기적으로 변화시킴으로써, 공격자들의 취약점 분석에 시간적 제약사항을 부가할 뿐 아니라 발견한 취약점도 시간이 흐르면 무효화 시키게 되는 장점을 가진다.In addition, as a result, the main security strategy was to take only passive and ad hoc defenses against attacks using the vulnerabilities of the attack target system. In MTD, by periodically changing the configuration of the attack target system, time constraints are added to the attacker's vulnerability analysis, and the discovered vulnerabilities are invalidated over time.

윈도우 레지스트리(Windows Registry)는 마이크로소프트 윈도우 32/64 비트 버전과 윈도우 모바일 운영 체제의 설정과 선택 항목을 담고 있는 데이터베이스로, 모든 하드웨어, 운영 체제 소프트웨어, 대부분의 비운영 체제 소프트웨어, 사용자 PC 선호도 등에 대한 정보와 설정이 들어 있다. Windows Registry is a database containing settings and selections of Microsoft Windows 32/64-bit versions and Windows Mobile operating systems. Contains information and settings.

사용자가 제어판 설정, 파일 연결, 시스템 정책, 또는 설치된 소프트웨어를 변경하면, 이에 따른 변경 사항들이 레지스트리에 반영되어 저장된다. 레지스트리는 또한 성능 카운터와 현재 사용하고 있는 하드웨어와 같은 런타임 정보를 노출하면서 윈도우를 커널의 운영 체제 안에 제공한다. When a user changes control panel settings, file associations, system policies, or installed software, the changes are reflected and saved in the registry. The registry also provides Windows into the kernel's operating system, exposing runtime information such as performance counters and the hardware currently in use.

랜섬웨어가 막을 수 없는 공격 경로를 통해 PC를 감염시켰을 때, 사용자의 파일이 보호가 되지 않는 것은 큰 문제가 된다. 2017년 5월 12일에는 미국국가안보국(NSA)의 해킹 툴을 활용한 워너크라이(WannaCry)라는 랜섬웨어는 유포 하루만에 전세계 100여개국 10여만대 이상의 컴퓨터를 감염시켜 막대한 이득을 챙겼다. When a ransomware infects a PC through an unstoppable attack vector, it is a big problem that the user's files are not protected. On May 12, 2017, a ransomware called WannaCry that utilized the hacking tool of the US National Security Agency (NSA) infected more than 100,000 computers in more than 100 countries around the world within a day of its distribution.

이런 대규모 해킹이 가능했던 이유는 해킹 툴이 제로데이 취약점이라는 발견되지 않은 강력한 소프트웨어 취약점을 사용해 대부분의 사용자들이 전혀 대응할 수 없었기 때문이다. 흔히 있는 일은 아니지만 많은 인터넷 및 네트워크 서비스에는 제로데이 취약점을 사용하는 공격자가 존재할 수 있고 언제든지 많은 사용자들의 PC가 이러한 취약점을 통해 무방비하게 랜섬웨어에 감염될 수 있다. This large-scale hacking was possible because the hacking tool used a powerful, undiscovered software vulnerability called a zero-day vulnerability that most users could not respond to at all. Although it is not common, attackers using zero-day vulnerabilities can exist in many Internet and network services, and many users' PCs can be defenselessly infected with ransomware through these vulnerabilities at any time.

기존에 존재하는 대부분의 랜섬웨어 대책 및 연구는 랜섬웨어가 감염되지 전에 탐지하고 막는 기술이지만, WannaCry 사례와 같이 강력한 취약점을 이용하는 경우 어떻게든 감염될 수 있다는 문제가 있다.Most existing ransomware countermeasures and research technologies detect and prevent ransomware before it becomes infected, but there is a problem that it can be infected somehow if a strong vulnerability is used, such as the WannaCry case.

KR 10-2000369 B1KR 10-2000369 B1 KR 10-1995944 B1KR 10-1995944 B1

이에, 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로 본 발명의 목적은 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법을 제공하는 것이다.Accordingly, it is an object of the present invention to provide a method for protecting against ransomware damage through randomization of extensions.

본 발명의 다른 목적은 상기 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 기록 매체를 제공하는 것이다.Another object of the present invention is to provide a recording medium in which a computer program for performing the ransomware damage defense method through the extension randomization is recorded.

본 발명의 또 다른 목적은 상기 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법을 수행하기 위한 장치를 제공하는 것이다.Another object of the present invention is to provide an apparatus for performing the ransomware damage defense method through the extension randomization.

상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법은, 윈도우 레지스트리에 존재하는 파일 확장자를 인식하는 단계; 랜덤값을 이용한 암호화를 통해 상기 각 파일 확장자에 대응하는 암호화 확장자를 생성하는 단계; 상기 암호화 확장자를 기초로 상기 윈도우 레지스트리에 랜덤화된 확장자키를 생성하는 단계; 상기 랜덤화된 확장자키에 대응하는 파일 확장자에 대한 정보를 저장하는 단계; 및 파일 시스템에 존재하는 파일의 확장자를 상기 암호화 확장자로 치환하는 단계;를 포함한다.According to an embodiment of the present invention, there is provided a method for preventing ransomware damage through randomization of extensions for realizing the object of the present invention, the method comprising: recognizing a file extension existing in a Windows registry; generating an encryption extension corresponding to each of the file extensions through encryption using a random value; generating a randomized extension key in the Windows registry based on the encryption extension; storing information on a file extension corresponding to the randomized extension key; and replacing the extension of a file existing in the file system with the encryption extension.

본 발명의 실시예에서, 상기 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법은, 상기 단계들을 일정한 주기마다 반복할 수 있다.In an embodiment of the present invention, the ransomware damage defense method through the extension randomization may repeat the above steps at regular intervals.

본 발명의 실시예에서, 상기 랜덤값을 이용한 암호화를 통해 각 파일 확장자에 대응하는 암호화 확장자를 생성하는 단계는, CSPRNG(Cryptographically Secure Pseudo Random Number Generators) API를 이용하여 파일 확장자를 암호화할 수 있다.In an embodiment of the present invention, generating an encryption extension corresponding to each file extension through encryption using a random value may encrypt a file extension using a Cryptographically Secure Pseudo Random Number Generators (CSPRNG) API.

본 발명의 실시예에서, 상기 랜덤값을 이용한 암호화를 통해 각 파일 확장자에 대응하는 암호화 확장자를 생성하는 단계는, CSPRNG API를 이용하여 랜덤한 숫자를 생성하는 단계; 생성한 랜덤한 숫자를 26의 모듈로(modulo) 연산을 통해 숫자에 대응하는 알파벳을 도출하는 단계; 및 3개 또는 4개의 알파벳을 도출할 때까지 상기 단계들을 반복적으로 수행하는 단계를 포함할 수 있다.In an embodiment of the present invention, generating an encryption extension corresponding to each file extension through encryption using the random value includes: generating a random number using a CSPRNG API; deriving an alphabet corresponding to the number through a modulo operation of 26 on the generated random number; and repeatedly performing the above steps until three or four alphabets are derived.

본 발명의 실시예에서, 상기 랜덤값을 이용한 암호화를 통해 각 파일 확장자에 대응하는 암호화 확장자를 생성하는 단계는, 도출된 3개 또는 4개의 알파벳을 배열하여 암호화 확장자를 생성하는 단계;를 더 포함할 수 있다.In an embodiment of the present invention, the step of generating an encryption extension corresponding to each file extension through encryption using the random value includes generating an encryption extension by arranging the derived three or four alphabets. can do.

본 발명의 실시예에서, 상기 랜덤값을 이용한 암호화를 통해 각 파일 확장자에 대응하는 암호화 확장자를 생성하는 단계는, 생성된 암호화 확장자가 이미 사용하고 있는 확장자와 중복되는지 검사하는 단계;를 더 포함할 수 있다.In an embodiment of the present invention, the step of generating an encrypted extension corresponding to each file extension through encryption using the random value may further include: checking whether the generated encrypted extension overlaps with an extension that is already in use. can

본 발명의 실시예에서, 상기 랜덤값을 이용한 암호화를 통해 각 파일 확장자에 대응하는 암호화 확장자를 생성하는 단계는, 상기 생성된 암호화 확장자가 이미 사용하고 있는 확장자와 중복되는 경우, 상기 랜덤값을 이용한 암호화를 통해 각 파일 확장자에 대응하는 암호화 확장자를 생성하는 단계를 재수행하는 단계;를 더 포함할 수 있다.In an embodiment of the present invention, the step of generating an encryption extension corresponding to each file extension through encryption using the random value includes using the random value when the generated encryption extension overlaps with an extension already in use. It may further include; re-performing the step of generating an encryption extension corresponding to each file extension through encryption.

본 발명의 실시예에서, 상기 랜덤값을 이용한 암호화를 통해 각 파일 확장자에 대응하는 암호화 확장자를 생성하는 단계는, 상기 생성된 암호화 확장자가 이미 사용하고 있는 확장자와 중복되지 않는 경우, 생성된 암호화 확장자를 대응하는 파일 확장자에 적용하는 단계;를 더 포함할 수 있다.In an embodiment of the present invention, the step of generating an encryption extension corresponding to each file extension through encryption using the random value includes the generated encryption extension when the generated encryption extension does not overlap with an extension that is already in use. may further include; applying to the corresponding file extension.

상기한 본 발명의 다른 목적을 실현하기 위한 일 실시예에 따른 컴퓨터로 판독 가능한 저장 매체에는, 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법을 수행하기 위한 컴퓨터 프로그램이 기록되어 있다. In a computer-readable storage medium according to an embodiment for realizing another object of the present invention, a computer program for performing a ransomware damage defense method through extension randomization is recorded.

상기한 본 발명의 또 다른 목적을 실현하기 위한 일 실시예에 따른 확장자 랜덤화를 통한 랜섬웨어 피해 방어 장치는, 윈도우 레지스트리에 존재하는 파일 확장자를 인식하는 확장자 인식부; 랜덤값을 이용한 암호화를 통해 상기 각 파일 확장자에 대응하는 암호화 확장자를 생성하는 랜덤화 암호화부; 상기 암호화 확장자를 기초로 상기 윈도우 레지스트리에 랜덤화된 확장자키를 생성하는 랜덤키 생성부; 상기 랜덤화된 확장자키에 대응하는 파일 확장자에 대한 정보를 저장하는 확장자 백업부; 및 파일 시스템에 존재하는 파일의 확장자를 상기 암호화 확장자로 치환하는 확장자 치환부;를 포함한다.According to an embodiment of the present invention for realizing another object of the present invention, there is provided an apparatus for protecting against ransomware damage through extension randomization, comprising: an extension recognition unit for recognizing a file extension existing in a Windows registry; a randomization encryption unit generating an encryption extension corresponding to each file extension through encryption using a random value; a random key generator for generating a randomized extension key in the window registry based on the encryption extension; an extension backup unit for storing information on a file extension corresponding to the randomized extension key; and an extension replacement unit that replaces the extension of a file existing in the file system with the encrypted extension.

본 발명의 실시예에서, 상기 확장자 랜덤화를 통한 랜섬웨어 피해 방어 장치는, 확장자 랜덤화를 일정한 주기마다 반복 수행할 수 있다.In an embodiment of the present invention, the apparatus for preventing ransomware damage through extension randomization may repeatedly perform extension randomization at regular intervals.

본 발명의 실시예에서, 상기 랜덤화 암호화부는, CSPRNG(Cryptographically Secure Pseudo Random Number Generators) API를 이용하여 파일 확장자를 암호화할 수 있다.In an embodiment of the present invention, the randomization encryption unit may encrypt a file extension using a Cryptographically Secure Pseudo Random Number Generators (CSPRNG) API.

본 발명의 실시예에서, 상기 랜덤화 암호화부는, CSPRNG API를 이용하여 랜덤한 숫자를 생성하는 숫자 생성부; 생성한 랜덤한 숫자를 26의 모듈로(modulo) 연산을 통해 숫자에 대응하는 알파벳을 도출하는 알파벳 도출부; 도출된 3개 또는 4개의 알파벳을 배열하여 암호화 확장자를 생성하는 확장자 생성부; 및 생성된 암호화 확장자가 이미 사용하고 있는 확장자와 중복되는지 검사하는 중복 검사부;를 포함할 수 있다.In an embodiment of the present invention, the randomization encryption unit, a number generator for generating a random number using a CSPRNG API; an alphabet derivation unit for deriving an alphabet corresponding to the number through a modulo operation of 26 for the generated random number; an extension generator generating an encryption extension by arranging the derived three or four alphabets; and a duplication checker that checks whether the generated encrypted extension overlaps with an extension that is already in use.

본 발명의 실시예에서, 상기 랜덤화 암호화부는, 상기 생성된 암호화 확장자가 이미 사용하고 있는 확장자와 중복되는 경우, 상기 랜덤값을 이용한 암호화를 통해 각 파일 확장자에 대응하는 암호화 확장자를 재생성할 수 있다.In an embodiment of the present invention, the randomization encryption unit may regenerate an encryption extension corresponding to each file extension through encryption using the random value when the generated encryption extension overlaps with an extension that is already in use. .

이와 같은 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법에 따르면, 랜섬웨어가 임의의 고과정을 통하여 정상적으로 PC에서 동작하는 경우에도 타겟 파일을 확인하고 암호화시키는 과정에서 랜덤화된 파일 정보를 미리 설정해 놓음으로서 암호화를 방지한다. 또한, 레지스트리 정보를 복제해 둠으로써 파일 확장자가 랜덤화되더라도 사용자가 해당 파일을 응용프로그램 및 여러 용도로 사용하는데 문제가 없다. 이에 따라, 파일 확장자 레지스트리 값을 안전하게 랜덤화 하여 생성하고 정보를 복제하므로, 랜섬웨어에 대한 보안을 강화할 수 있다. According to the ransomware damage defense method through the randomization of the extension, even when the ransomware operates normally on the PC through an arbitrary high process, randomized file information is set in advance in the process of checking and encrypting the target file. Prevent encryption. In addition, even if the file extension is randomized by duplicating the registry information, there is no problem in using the file as an application program or for various purposes. Accordingly, security against ransomware can be strengthened because file extension registry values are randomly generated and information is copied.

도 1은 본 발명의 일 실시예에 따른 확장자 랜덤화를 통한 랜섬웨어 피해 방어 장치의 블록도이다.
도 2는 도 1의 랜덤화 암호화부의 자세한 블록도이다.
도 3은 윈도우 레지스트리의 예시를 보여주는 도면이다.
도 4는 종래 확장자 변환 전의 파일 시스템의 예시를 보여주는 도면이다.
도 5는 본 발명에 따른 확장자 변환 후의 파일 시스템의 예시를 보여주는 도면이다.
도 6은 본 발명의 효과를 검증하기 위해 수집한 랜섬웨어 샘플을 보여주기 위한 도면이다.
도 7은 도 6의 랜섬웨어 샘플의 실험결과를 보여주는 표이다.
도 8은 본 발명의 일 실시예에 따른 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법의 흐름도이다.
도 9는 도 8의 파일 확장자에 대응하는 암호화 확장자를 생성하는 단계를 설명하기 위한 자세한 흐름도이다.
1 is a block diagram of an apparatus for protecting against ransomware damage through extension randomization according to an embodiment of the present invention.
FIG. 2 is a detailed block diagram of the randomization encryption unit of FIG. 1 .
3 is a diagram showing an example of a Windows registry.
4 is a diagram showing an example of a file system before extension conversion in the related art.
5 is a diagram showing an example of a file system after extension conversion according to the present invention.
6 is a diagram showing a ransomware sample collected to verify the effect of the present invention.
7 is a table showing experimental results of the ransomware sample of FIG. 6 .
8 is a flowchart of a method for protecting against ransomware damage through extension randomization according to an embodiment of the present invention.
9 is a detailed flowchart for explaining a step of generating an encryption extension corresponding to the file extension of FIG. 8 .

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0023] Reference is made to the accompanying drawings, which show by way of illustration specific embodiments in which the present invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the present invention. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein with respect to one embodiment may be embodied in other embodiments without departing from the spirit and scope of the invention. In addition, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the present invention. Accordingly, the detailed description set forth below is not intended to be taken in a limiting sense, and the scope of the invention, if properly described, is limited only by the appended claims, along with all scope equivalents to those claimed. Like reference numerals in the drawings refer to the same or similar functions throughout the various aspects.

이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다. Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the drawings.

도 1은 본 발명의 일 실시예에 따른 확장자 랜덤화를 통한 랜섬웨어 피해 방어 장치의 블록도이다. 도 2는 도 1의 랜덤화 암호화부의 자세한 블록도이다.1 is a block diagram of an apparatus for protecting against ransomware damage through extension randomization according to an embodiment of the present invention. FIG. 2 is a detailed block diagram of the randomization encryption unit of FIG. 1 .

본 발명에 따른 확장자 랜덤화를 통한 랜섬웨어 피해 방어 장치(10, 이하 장치)는 컴퓨터 시스템에 관한 것이며, 보다 상세하게는 랜섬웨어 피해 방지를 위한 장치에 관한 것이다.The apparatus for preventing ransomware damage through randomization of extensions (10, hereinafter) according to the present invention relates to a computer system, and more particularly, to an apparatus for preventing ransomware damage.

도 1을 참조하면, 본 발명에 따른 장치(10)는 확장자 인식부(110), 랜덤화 암호화부(130), 랜덤키 생성부(150), 확장자 백업부(170) 및 확장자 치환부(190)를 포함한다. 본 발명에 따른 장치(10)는 확장자 랜덤화를 일정한 주기마다 반복 수행하여 보다 보안을 강화할 수 있다.Referring to FIG. 1 , the device 10 according to the present invention includes an extension recognition unit 110 , a randomization encryption unit 130 , a random key generation unit 150 , an extension backup unit 170 , and an extension replacement unit 190 . ) is included. The device 10 according to the present invention may further enhance security by repeatedly performing extension randomization at regular intervals.

본 발명의 상기 장치(10)는 확장자 랜덤화를 통한 랜섬웨어 피해 방어를 수행하기 위한 소프트웨어(애플리케이션)가 설치되어 실행될 수 있으며, 상기 확장자 인식부(110), 상기 랜덤화 암호화부(130), 상기 랜덤키 생성부(150), 상기 확장자 백업부(170) 및 상기 확장자 치환부(190)의 구성은 상기 장치(10)에서 실행되는 상기 확장자 랜덤화를 통한 랜섬웨어 피해 방어를 수행하기 위한 소프트웨어에 의해 제어될 수 있다. In the device 10 of the present invention, software (application) for performing ransomware damage defense through extension randomization may be installed and executed, and the extension recognition unit 110, the randomization encryption unit 130, The configuration of the random key generation unit 150, the extension backup unit 170 and the extension replacement unit 190 is software for performing ransomware damage defense through the extension randomization executed in the device 10 can be controlled by

상기 장치(10)는 별도의 단말이거나 또는 단말의 일부 모듈일 수 있다. 또한, 상기 확장자 인식부(110), 상기 랜덤화 암호화부(130), 상기 랜덤키 생성부(150), 상기 확장자 백업부(170) 및 상기 확장자 치환부(190)의 구성은 통합 모듈로 형성되거나, 하나 이상의 모듈로 이루어 질 수 있다. 그러나, 이와 반대로 각 구성은 별도의 모듈로 이루어질 수도 있다.The device 10 may be a separate terminal or a module of the terminal. In addition, the configuration of the extension recognition unit 110 , the randomization encryption unit 130 , the random key generation unit 150 , the extension backup unit 170 , and the extension replacement unit 190 is an integrated module. Or, it may consist of one or more modules. However, on the contrary, each configuration may be formed of a separate module.

상기 장치(10)는 랜섬웨어에 특화된 보안솔루션으로 단독 제품이 될 수 있으며, 또는 운영체제에 탑재된 기능으로서 일부 기능을 구성할 수 있다. The device 10 may be a standalone product as a security solution specialized for ransomware, or may configure some functions as a function installed in the operating system.

상기 운영체제는 소프트웨어가 장치의 하드웨어를 사용할 수 있도록 하기 위한 시스템 프로그램으로서, 안드로이드 OS, iOS, 윈도우 모바일 OS, 바다 OS, 심비안 OS, 블랙베리 OS 등 모바일 컴퓨터 운영체제 및 윈도우 계열, 리눅스 계열, 유닉스 계열, MAC, AIX, HP-UX 등 컴퓨터 운영체제를 모두 포함할 수 있다.The operating system is a system program for software to use the hardware of the device, and is a mobile computer operating system such as Android OS, iOS, Windows Mobile OS, Bada OS, Symbian OS, Blackberry OS, and Windows series, Linux series, Unix series, It can include all computer operating systems such as MAC, AIX, and HP-UX.

상기 확장자 인식부(110)는 윈도우 레지스트리에 존재하는 파일 확장자를 인식한다. 도 3에는 윈도우 레지스트리의 예시가 도시되어 있다.The extension recognition unit 110 recognizes a file extension existing in the Windows registry. 3 shows an example of a Windows registry.

파일 확장자는 랜섬웨어의 타겟이 될 수 있는 모든 파일의 확장자를 모두 포괄한다. 예를 들어, txt, zip, pdf, docx, pptx, xlsx 등이다.The file extension includes all file extensions that can be targeted by ransomware. For example, txt, zip, pdf, docx, pptx, xlsx, etc.

상기 랜덤화 암호화부(130)는 랜덤값을 이용한 암호화를 통해 상기 각 파일 확장자에 대응하는 암호화 확장자를 생성한다. 고정된 패턴이나 불완전한 랜덤값을 사용하는 경우 공격자에게 사전에 추측당할 수 있으므로 랜덤화된 암호화 방법을 사용한다.The randomization encryption unit 130 generates an encryption extension corresponding to each of the file extensions through encryption using a random value. If a fixed pattern or incomplete random value is used, the attacker can guess in advance, so a randomized encryption method is used.

일 실시예로서, 상기 랜덤화 암호화부(130)는 파일 확장자 마다 암호학적으로 안전한 방법으로 생성된 CSPRNG(Cryptographically Secure Pseudo Random Number Generators) API를 이용한 랜덤값으로 확장자를 생성할 수 있다. As an embodiment, the randomization encryption unit 130 may generate an extension with a random value using a Cryptographically Secure Pseudo Random Number Generators (CSPRNG) API generated by a cryptographically secure method for each file extension.

구체적으로, 도 2를 참조하면, 상기 랜덤화 암호화부(130)는 숫자 생성부(131), 알파벳 도출부(133), 확장자 생성부(135) 및 중복 검사부(137)를 포함한다.Specifically, referring to FIG. 2 , the randomization encryption unit 130 includes a number generation unit 131 , an alphabet derivation unit 133 , an extension generation unit 135 , and a duplicate check unit 137 .

상기 숫자 생성부(131)는 CSPRNG API를 이용하여 랜덤한 숫자를 생성한다. 상기 알파벳 도출부(133)는 생성한 랜덤한 숫자를 모듈로(modulo) 연산을 통해 숫자에 대응하는 알파벳을 도출한다. The number generator 131 generates a random number using the CSPRNG API. The alphabet derivation unit 133 derives an alphabet corresponding to the number through a modulo operation on the generated random number.

상기 모듈로 연산은 나눗셈의 나머지를 계산하는 수학적 연산으로, 본 발명에서는 예를 들어, 26의 숫자로 설정되어 26으로 나눈 나머지 값으로 연산될 수 있다. 따라서, 랜덤한 숫자로 29가 나왔을 때, 26으로 나눈 나머지는 3이 되고, 대응하는 알파벳 c를 도출한다. 또한, 랜덤한 숫자가 10이 나왔을 때는 10이 나머지가 되고, 대응하는 알파벳 j를 도출한다.The modulo operation is a mathematical operation for calculating the remainder of division. In the present invention, for example, the modulo operation may be set to a number of 26 and calculated as a remainder value divided by 26. Therefore, when 29 is a random number, the remainder after dividing by 26 becomes 3, and the corresponding letter c is derived. Also, when a random number comes out 10, 10 becomes the remainder, and the corresponding alphabet j is derived.

이러한 랜덤한 숫자를 생성과 모듈로 연산을 통한 알파벳 도출을 3번 또는 4번 반복하여, 3개 또는 4개의 알파벳을 도출한다. 여기서, 3개 또는 4개의 알파벳을 지정한 이유는 일반적으로 확장자 체계가 3개 또는 4개 길이의 알파벳 문자열을 확장자로 사용하기 때문이다. These random numbers are generated and the alphabet derivation through modulo operation is repeated 3 or 4 times to derive 3 or 4 alphabets. Here, the reason for designating three or four alphabets is that in general, an extension system uses an alphabetic string of three or four lengths as an extension.

이러한 암묵적 룰을 따르지 않고, 특수문자를 사용한다던가 5개 이상의 알파벳 문자열을 사용할 경우 공격자는 흔하지 않은 패턴으로 인식하여 사전에 예측 가능할 수 있다.If you do not follow these implicit rules and use special characters or more than 5 alphabetic strings, the attacker may recognize it as an unusual pattern and predict it in advance.

상기 확장자 생성부(135)는 도출된 3개 또는 4개의 알파벳을 배열하여 암호화 확장자를 생성한다. 배열되는 순서는 도출된 순서대로 또는 역순으로 또는 랜덤하게 변경 가능하다.The extension generating unit 135 generates an encrypted extension by arranging the derived three or four alphabets. The arrangement order may be changed in the derived order or in the reverse order or randomly.

상기 중복 검사부(137)는 생성된 암호화 확장자가 이미 사용하고 있는 확장자와 중복되는지 검사한다. 상기 생성된 암호화 확장자가 이미 사용하고 있는 확장자와 중복되는 경우, 다시 처음으로 돌아가 상기 랜덤값을 이용한 암호화를 통해 각 파일 확장자에 대응하는 암호화 확장자를 재생성한다. 다시 말해, 상기 숫자 생성부(131)는 CSPRNG API를 이용하여 랜덤한 숫자를 생성하는 것부터 다시 시작할 수 있다.The duplicate check unit 137 checks whether the generated encrypted extension overlaps with an extension that is already in use. When the generated encrypted extension overlaps with an extension that is already in use, it goes back to the beginning and regenerates an encrypted extension corresponding to each file extension through encryption using the random value. In other words, the number generator 131 may start again from generating a random number using the CSPRNG API.

반면, 상기 생성된 암호화 확장자가 이미 사용하고 있는 확장자와 중복되지 않는 경우, 생성된 암호화 확장자를 대응하는 파일 확장자에 적용한다.On the other hand, when the generated encrypted extension does not overlap with an extension that is already in use, the generated encrypted extension is applied to the corresponding file extension.

상기 랜덤키 생성부(150)는 상기 암호화 확장자를 기초로 상기 윈도우 레지스트리에 랜덤화된 확장자키를 생성한다.The random key generator 150 generates a randomized extension key in the window registry based on the encryption extension.

상기 확장자 백업부(170)는 상기 랜덤화된 확장자키에 대응하는 파일 확장자에 대한 정보를 저장한다. 이와 같이, 레지스트리 정보를 복제해둠으로서 파일 확장자가 랜덤화되더라도 사용자가 해당 파일을 응용프로그램 및 여러 용도로 사용하는데 문제가 없다.The extension backup unit 170 stores information on the file extension corresponding to the randomized extension key. In this way, even if the file extension is randomized by duplicating the registry information, there is no problem in the user using the file for application programs and various purposes.

상기 확장자 치환부(190)는 파일 시스템에 존재하는 파일의 확장자를 상기 암호화 확장자로 치환한다. 이 경우, 동일한 파일 확장자를 일제히 상기 암호화 확장자로 변경할 수 있다.The extension replacement unit 190 replaces the extension of a file existing in the file system with the encryption extension. In this case, the same file extension may be changed to the encrypted extension all at once.

도 4는 종래 확장자 변환 전의 파일 시스템의 예시를 보여주고, 도 5는 본 발명에 따른 확장자 변환 후의 파일 시스템의 예시를 보여주는 도면이다.4 shows an example of a file system before extension conversion in the prior art, and FIG. 5 is a view showing an example of a file system after extension conversion according to the present invention.

도 4에서 txt, zip, pdf, docx, pptx, xlsx의 확장자가 랜덤화된 확장자로 도 5와 같이 변경된 것을 확인할 수 있다. 구체적으로, txt는 umbc, zip는 imko, pdf는 ohiz, docx는 juev, pptx는 nhru, xlsx는 qooi로 변경되었고, 특히 pdf는 모두 동일하게 ohiz로 변경된 것을 확인할 수 있다.In FIG. 4 , it can be seen that the extensions of txt, zip, pdf, docx, pptx, and xlsx are changed to random extensions as shown in FIG. 5 . Specifically, txt is umbc, zip is imko, pdf is ohiz, docx is juev, pptx is nhru, xlsx is qooi, and in particular, it can be seen that all pdf are changed to ohiz.

본 발명에 따른 장치(10)는 상기 작업들을 일정한 주기로 반복하여, 확장자를 랜덤화하여 주기적으로 변경할 수 있다. 이 경우, 랜섬웨어에 대한 방어는 더욱 견고해질 것이다.The apparatus 10 according to the present invention may repeat the above operations at a constant cycle, and may change the extension periodically by randomizing the extension. In this case, the defense against ransomware will be stronger.

도 6은 본 발명의 효과를 검증하기 위해 수집한 랜섬웨어 샘플을 보여주기 위한 도면이고, 도 7은 도 6의 랜섬웨어 샘플의 실험결과를 보여주는 표이다.6 is a diagram showing the ransomware sample collected to verify the effect of the present invention, and FIG. 7 is a table showing the experimental results of the ransomware sample of FIG. 6 .

도 6 및 도 7을 참고하면, 총 350개를 수집하였으나 C&C 서버나 환경문제로 정상동작하지 않는 것들을 제외하고, 143개 랜섬웨어 샘플로 실험하였다.6 and 7 , a total of 350 were collected, but 143 ransomware samples were tested except for those that did not operate normally due to C&C servers or environmental problems.

그 결과로 도 7을 참고하면, 실험 결과 143개 중 141개의 랜섬웨어로부터 파일을 보호하는 효과를 보였다. 이는 본 발명에 따른 확장자 랜덤화를 통한 랜섬웨어 피해 방어 솔루션이 랜섬웨어를 98.6% 이상 차단하는 우수한 효과를 보인 것을 확인할 수 있다.As a result, referring to FIG. 7 , as a result of the experiment, it showed an effect of protecting files from 141 ransomware out of 143. It can be confirmed that the ransomware damage defense solution through extension randomization according to the present invention has an excellent effect of blocking more than 98.6% of ransomware.

이에 따라, 본 발명은 랜섬웨어에 특화된 보안솔루션으로 단독 제품이 될 수 있으며, 또는 운영체제에 탑재된 기능으로서 일부 기능을 구성할 수 있을 것이다.Accordingly, the present invention may be a single product as a security solution specialized for ransomware, or some functions may be configured as functions installed in the operating system.

도 8은 본 발명의 일 실시예에 따른 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법의 흐름도이다. 도 9는 도 8의 파일 확장자에 대응하는 암호화 확장자를 생성하는 단계를 설명하기 위한 자세한 흐름도이다.8 is a flowchart of a method for protecting against ransomware damage through extension randomization according to an embodiment of the present invention. 9 is a detailed flowchart for explaining a step of generating an encryption extension corresponding to the file extension of FIG. 8 .

본 실시예에 따른 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법은, 도 1의 장치(10)와 실질적으로 동일한 구성에서 진행될 수 있다. 따라서, 도 1의 장치(10)와 동일한 구성요소는 동일한 도면부호를 부여하고, 반복되는 설명은 생략한다. The ransomware damage defense method through extension randomization according to the present embodiment may be performed in substantially the same configuration as the device 10 of FIG. 1 . Accordingly, the same components as those of the device 10 of FIG. 1 are given the same reference numerals, and repeated descriptions are omitted.

또한, 본 실시예에 따른 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법은 확장자 랜덤화를 통한 랜섬웨어 피해 방어를 수행하기 위한 소프트웨어(애플리케이션)에 의해 실행될 수 있다.Also, the ransomware damage defense method through extension randomization according to the present embodiment may be executed by software (application) for performing ransomware damage defense method through extension randomization.

도 8을 참조하면, 본 실시예에 따른 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법은, 윈도우 레지스트리에 존재하는 파일 확장자를 인식한다(단계 S10). 파일 확장자는 랜섬웨어의 타겟이 될 수 있는 모든 파일의 확장자를 모두 포괄한다. 예를 들어, txt, zip, pdf, docx, pptx, xlsx 등이다.Referring to FIG. 8 , the ransomware damage defense method through extension randomization according to the present embodiment recognizes file extensions existing in the Windows registry (step S10). The file extension includes all file extensions that can be targeted by ransomware. For example, txt, zip, pdf, docx, pptx, xlsx, etc.

랜덤값을 이용한 암호화를 통해 상기 각 파일 확장자에 대응하는 암호화 확장자를 생성한다(단계 S20). 고정된 패턴이나 불완전한 랜덤값을 사용하는 경우 공격자에게 사전에 추측당할 수 있으므로 랜덤화된 암호화 방법을 사용한다.An encryption extension corresponding to each of the file extensions is generated through encryption using a random value (step S20). If a fixed pattern or incomplete random value is used, the attacker can guess in advance, so a randomized encryption method is used.

일 실시예로서, 파일 확장자 마다 암호학적으로 안전한 방법으로 생성된 CSPRNG(Cryptographically Secure Pseudo Random Number Generators) API를 이용한 랜덤값으로 확장자를 생성할 수 있다. As an embodiment, an extension may be generated with a random value using a Cryptographically Secure Pseudo Random Number Generators (CSPRNG) API generated by a cryptographically secure method for each file extension.

구체적으로, 도 9를 참조하면, CSPRNG API를 이용하여 랜덤한 숫자를 생성한다(단계 S21). 생성한 랜덤한 숫자를 모듈로(modulo) 연산을 통해 숫자에 대응하는 알파벳을 도출하고(단계 S22), 이 단계들을 3개 또는 4개의 알파벳을 도출할 때까지 3번 또는 4번 반복적으로 수행한다(단계 S23).Specifically, referring to FIG. 9 , a random number is generated using the CSPRNG API (step S21). An alphabet corresponding to the number is derived through a modulo operation on the generated random number (step S22), and these steps are repeatedly performed 3 or 4 times until 3 or 4 alphabets are derived. (Step S23).

상기 모듈로 연산은 나눗셈의 나머지를 계산하는 수학적 연산으로, 본 발명에서는 예를 들어, 26의 숫자로 설정되어 26으로 나눈 나머지 값으로 연산될 수 있다. 따라서, 랜덤한 숫자로 29가 나왔을 때, 26으로 나눈 나머지는 3이 되고, 대응하는 알파벳 c를 도출한다. 또한, 랜덤한 숫자가 10이 나왔을 때는 10이 나머지가 되고, 대응하는 알파벳 j를 도출한다. 이러한 랜덤한 숫자를 생성과 모듈로 연산을 통한 알파벳 도출을 3번 또는 4번 반복하여, 3개 또는 4개의 알파벳을 도출한다. The modulo operation is a mathematical operation for calculating the remainder of division. In the present invention, for example, the modulo operation may be set to a number of 26 and calculated as a remainder value divided by 26. Therefore, when 29 is a random number, the remainder after dividing by 26 becomes 3, and the corresponding letter c is derived. Also, when a random number comes out 10, 10 becomes the remainder, and the corresponding alphabet j is derived. These random numbers are generated and the alphabet derivation through modulo operation is repeated 3 or 4 times to derive 3 or 4 alphabets.

도출된 3개 또는 4개의 알파벳을 배열하여 암호화 확장자를 생성한다(단계 S24). 배열되는 순서는 도출된 순서대로 또는 역순으로 또는 랜덤하게 변경 가능하다. An encryption extension is generated by arranging the derived 3 or 4 alphabets (step S24). The arrangement order may be changed in the derived order or in the reverse order or randomly.

여기서, 3개 또는 4개의 알파벳을 지정한 이유는 일반적으로 확장자 체계가 3개 또는 4개 길이의 알파벳 문자열을 확장자로 사용하기 때문이다. Here, the reason for designating three or four alphabets is that in general, an extension system uses an alphabetic string of three or four lengths as an extension.

이러한 암묵적 룰을 따르지 않고, 특수문자를 사용한다던가 5개 이상의 알파벳 문자열을 사용할 경우 공격자는 흔하지 않은 패턴으로 인식하여 사전에 예측 가능할 수 있다.If you do not follow these implicit rules and use special characters or more than 5 alphabetic strings, the attacker may recognize it as an unusual pattern and predict it in advance.

생성된 암호화 확장자가 이미 사용하고 있는 확장자와 중복되는지 검사한다(단계 S25).It is checked whether the generated encryption extension overlaps with the extension already in use (step S25).

상기 생성된 암호화 확장자가 이미 사용하고 있는 확장자와 중복되는 경우, 다시 처음으로 돌아가 상기 랜덤값을 이용한 암호화를 통해 각 파일 확장자에 대응하는 암호화 확장자를 재생성한다(단계 S21). If the generated encrypted extension overlaps with an extension already in use, it goes back to the beginning and regenerates an encrypted extension corresponding to each file extension through encryption using the random value (step S21).

반면, 상기 생성된 암호화 확장자가 이미 사용하고 있는 확장자와 중복되지 않는 경우, 생성된 암호화 확장자를 대응하는 파일 확장자에 적용한다(단계 S26).On the other hand, if the generated encrypted extension does not overlap with an extension that is already in use, the generated encrypted extension is applied to the corresponding file extension (step S26).

상기 암호화 확장자를 기초로 상기 윈도우 레지스트리에 랜덤화된 확장자키를 생성한다(단계 S30).A randomized extension key is generated in the window registry based on the encryption extension (step S30).

상기 랜덤화된 확장자키에 대응하는 파일 확장자에 대한 정보를 저장 한다(단계 S40). 이와 같이, 레지스트리 정보를 복제해둠으로서 파일 확장자가 랜덤화되더라도 사용자가 해당 파일을 응용프로그램 및 여러 용도로 사용하는데 문제가 없다.Information on the file extension corresponding to the randomized extension key is stored (step S40). In this way, even if the file extension is randomized by duplicating the registry information, there is no problem in the user using the file for application programs and various purposes.

파일 시스템에 존재하는 파일의 확장자를 상기 암호화 확장자로 치환한다(단계 S50). 이 경우, 동일한 파일 확장자를 일제히 상기 암호화 확장자로 변경할 수 있다.The extension of the file existing in the file system is replaced with the encrypted extension (step S50). In this case, the same file extension may be changed to the encrypted extension all at once.

상기 작업들을 일정한 주기로 반복하여, 확장자를 랜덤화하여 주기적으로 변경할 수 있다. 이 경우, 랜섬웨어에 대한 방어는 더욱 견고해질 것이다.By repeating the above operations at regular intervals, the extension may be changed periodically by randomizing the extension. In this case, the defense against ransomware will be stronger.

이와 같은, 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. Such a ransomware damage defense method through extension randomization may be implemented as an application or may be implemented in the form of program instructions that may be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.

상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. The program instructions recorded on the computer-readable recording medium are specially designed and configured for the present invention, and may be known and available to those skilled in the computer software field.

컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. Examples of the computer-readable recording medium include a hard disk, a magnetic medium such as a floppy disk and a magnetic tape, an optical recording medium such as a CD-ROM, a DVD, and a magneto-optical medium such as a floppy disk. media), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.

프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform processing according to the present invention, and vice versa.

이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to the embodiments, those skilled in the art can variously modify and change the present invention within the scope without departing from the spirit and scope of the present invention described in the claims below You will understand.

본 발명은 랜섬웨어에 특화된 보안솔루션으로 단독 제품이 될 수 있으며, 또는 운영체제에 탑재된 기능으로서 일부 기능을 구성할 수 있을 것으로 예상된다.The present invention is a security solution specialized for ransomware, and it is expected that it may be a standalone product, or some functions may be configured as a function installed in the operating system.

10: 확장자 랜덤화를 통한 랜섬웨어 피해 방어 장치
110: 확장자 인식부
130: 랜덤화 암호화부
150: 랜덤키 생성부
170: 확장자 백업부
190: 확장자 치환부
131: 숫자 생성부
133: 알파벳 도출부
135: 확장자 생성부
137: 중복 검사부
10: Ransomware damage defense device through extension randomization
110: extension recognition unit
130: randomization encryption unit
150: random key generator
170: extension backup unit
190: extension replacement part
131: number generator
133: alphabet derivation
135: extension generator
137: redundancy check unit

Claims (14)

윈도우 레지스트리에 존재하는 파일 확장자를 인식하는 단계;
랜덤값을 이용한 암호화를 통해 상기 각 파일 확장자에 대응하는 암호화 확장자를 생성하는 단계;
상기 암호화 확장자를 기초로 상기 윈도우 레지스트리에 랜덤화된 확장자키를 생성하는 단계;
상기 랜덤화된 확장자키에 대응하는 파일 확장자에 대한 정보를 저장하는 단계; 및
파일 시스템에 존재하는 파일의 확장자를 상기 암호화 확장자로 치환하는 단계;를 포함하되, 상기 단계들을 일정한 주기마다 반복하여 확장자를 랜덤화하여 주기적으로 변경하고,
상기 랜덤값을 이용한 암호화를 통해 각 파일 확장자에 대응하는 암호화 확장자를 생성하는 단계는,
CSPRNG(Cryptographically Secure Pseudo Random Number Generators) API를 이용하여 파일 확장자를 암호화하되,
상기 CSPRNG API를 이용하여 랜덤한 숫자를 생성하는 단계;
생성한 랜덤한 숫자를 26의 모듈로(modulo) 연산을 통해 숫자에 대응하는 알파벳을 도출하는 단계;
3개 또는 4개의 알파벳을 도출할 때까지 상기 단계들을 반복적으로 수행하는 단계;
상기 도출된 3개 또는 4개의 알파벳을 배열하여 암호화 확장자를 생성하는 단계; 를 포함하며,
상기 도출된 3개 또는 4개의 알파벳의 배열 순서는 도출된 역순 또는 랜덤하게 변경 가능한 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법.
Recognizing a file extension existing in the Windows registry;
generating an encryption extension corresponding to each of the file extensions through encryption using a random value;
generating a randomized extension key in the Windows registry based on the encryption extension;
storing information on a file extension corresponding to the randomized extension key; and
Replacing the extension of a file existing in the file system with the encryption extension; Including, but repeating the steps at regular intervals to randomize the extension and periodically change it,
The step of generating an encryption extension corresponding to each file extension through encryption using the random value,
Encrypt the file extension using the Cryptographically Secure Pseudo Random Number Generators (CSPRNG) API.
generating a random number using the CSPRNG API;
deriving an alphabet corresponding to the number through a modulo operation of 26 on the generated random number;
repeating the above steps until three or four alphabets are derived;
generating an encryption extension by arranging the derived three or four alphabets; includes,
Ransomware damage defense method through randomization of extensions that can be changed in the reverse order or randomly changeable order of the three or four alphabets derived above.
삭제delete 삭제delete 삭제delete 삭제delete 제1항에 있어서, 상기 랜덤값을 이용한 암호화를 통해 각 파일 확장자에 대응하는 암호화 확장자를 생성하는 단계는,
생성된 암호화 확장자가 이미 사용하고 있는 확장자와 중복되는지 검사하는 단계;를 더 포함하는, 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법.
The method of claim 1, wherein the generating of an encryption extension corresponding to each file extension through encryption using the random value comprises:
Checking whether the generated encryption extension overlaps with the extension already in use; Ransomware damage defense method through extension randomization further comprising a.
제1항에 있어서, 상기 랜덤값을 이용한 암호화를 통해 각 파일 확장자에 대응하는 암호화 확장자를 생성하는 단계는,
상기 생성된 암호화 확장자가 이미 사용하고 있는 확장자와 중복되는 경우, 상기 랜덤값을 이용한 암호화를 통해 각 파일 확장자에 대응하는 암호화 확장자를 생성하는 단계를 재수행하는 단계;를 더 포함하는, 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법.
The method of claim 1, wherein the generating of an encryption extension corresponding to each file extension through encryption using the random value comprises:
If the generated encrypted extension overlaps with the extension already in use, re-performing the step of generating an encrypted extension corresponding to each file extension through encryption using the random value; further comprising, randomizing the extension How to defend against ransomware damage.
제1항에 있어서, 상기 랜덤값을 이용한 암호화를 통해 각 파일 확장자에 대응하는 암호화 확장자를 생성하는 단계는,
상기 생성된 암호화 확장자가 이미 사용하고 있는 확장자와 중복되지 않는 경우, 생성된 암호화 확장자를 대응하는 파일 확장자에 적용하는 단계;를 더 포함하는, 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법.
The method of claim 1, wherein the generating of an encryption extension corresponding to each file extension through encryption using the random value comprises:
When the generated encrypted extension does not overlap with an extension that is already in use, applying the generated encrypted extension to a corresponding file extension; Ransomware damage defense method through extension randomization, further comprising a.
제1항 및 제6항 내지 제8항의 어느 하나의 항에 기재된 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 저장 매체.
A computer-readable storage medium in which a computer program for performing the ransomware damage defense method through the extension randomization according to any one of claims 1 and 6 to 8 is recorded.
윈도우 레지스트리에 존재하는 파일 확장자를 인식하는 확장자 인식부;
랜덤값을 이용한 암호화를 통해 상기 각 파일 확장자에 대응하는 암호화 확장자를 생성하는 랜덤화 암호화부;
상기 암호화 확장자를 기초로 상기 윈도우 레지스트리에 랜덤화된 확장자키를 생성하는 랜덤키 생성부;
상기 랜덤화된 확장자키에 대응하는 파일 확장자에 대한 정보를 저장하는 확장자 백업부; 및
파일 시스템에 존재하는 파일의 확장자를 상기 암호화 확장자로 치환하는 확장자 치환부;를 포함하되,
확장자 랜덤화를 일정한 주기마다 반복하여 상기 파일 확장자를 주기적으로 변경하고,
상기 랜덤화 암호화부는,
CSPRNG(Cryptographically Secure Pseudo Random Number Generators) API를 이용하여 파일 확장자를 암호화하되,
상기 CSPRNG API를 이용하여 랜덤한 숫자를 생성하는 숫자 생성부;
상기 생성한 랜덤한 숫자를 26의 모듈로(modulo) 연산을 통해 숫자에 대응하는 알파벳을 도출하는 알파벳 도출부;
도출된 3개 또는 4개의 알파벳을 배열하여 암호화 확장자를 생성하는 확장자 생성부;를 포함하며,
상기 도출된 3개 또는 4개의 알파벳의 배열 순서는 도출된 역순 또는 랜덤하게 변경 가능한 확장자 랜덤화를 통한 랜섬웨어 피해 방어 장치.
an extension recognition unit for recognizing file extensions existing in the Windows registry;
a randomization encryption unit generating an encryption extension corresponding to each file extension through encryption using a random value;
a random key generator for generating a randomized extension key in the window registry based on the encryption extension;
an extension backup unit for storing information on a file extension corresponding to the randomized extension key; and
Including; an extension replacement unit for replacing the extension of the file existing in the file system with the encryption extension;
The file extension is periodically changed by repeating extension randomization at regular intervals,
The randomization encryption unit,
Encrypt the file extension using the Cryptographically Secure Pseudo Random Number Generators (CSPRNG) API.
a number generator for generating a random number using the CSPRNG API;
an alphabet derivation unit for deriving an alphabet corresponding to the number through a modulo operation of 26 from the generated random number;
It includes; an extension generating unit that generates an encryption extension by arranging the derived three or four alphabets;
The arrangement order of the three or four alphabets derived above is a ransomware damage defense device through the derived reverse order or randomly changeable extension randomization.
삭제delete 삭제delete 제10항에 있어서, 상기 랜덤화 암호화부는,
생성된 암호화 확장자가 이미 사용하고 있는 확장자와 중복되는지 검사하는 중복 검사부;를 포함하는, 확장자 랜덤화를 통한 랜섬웨어 피해 방어 장치.
The method of claim 10, wherein the randomization encryption unit,
A ransomware damage defense device through extension randomization, including; a duplicate check unit that checks whether the generated encryption extension is duplicated with an extension that is already in use.
제13항에 있어서, 상기 랜덤화 암호화부는,
상기 생성된 암호화 확장자가 이미 사용하고 있는 확장자와 중복되는 경우, 상기 랜덤값을 이용한 암호화를 통해 각 파일 확장자에 대응하는 암호화 확장자를 재생성하는, 확장자 랜덤화를 통한 랜섬웨어 피해 방어 장치.
The method of claim 13, wherein the randomization encryption unit,
Ransomware damage defense device through extension randomization, which regenerates an encrypted extension corresponding to each file extension through encryption using the random value when the generated encrypted extension overlaps with an extension that is already in use.
KR1020190162841A 2019-12-09 2019-12-09 Method for ransomware mitigation by extension randomization, recording medium and device for performing the method KR102316404B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190162841A KR102316404B1 (en) 2019-12-09 2019-12-09 Method for ransomware mitigation by extension randomization, recording medium and device for performing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190162841A KR102316404B1 (en) 2019-12-09 2019-12-09 Method for ransomware mitigation by extension randomization, recording medium and device for performing the method

Publications (2)

Publication Number Publication Date
KR20210072487A KR20210072487A (en) 2021-06-17
KR102316404B1 true KR102316404B1 (en) 2021-10-22

Family

ID=76603980

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190162841A KR102316404B1 (en) 2019-12-09 2019-12-09 Method for ransomware mitigation by extension randomization, recording medium and device for performing the method

Country Status (1)

Country Link
KR (1) KR102316404B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102391076B1 (en) 2021-09-07 2022-04-27 주식회사 브리즈랩 System and method of blocking ransomware based on biometric
US11509682B1 (en) * 2021-09-15 2022-11-22 NormShield, Inc System and method for computation of ransomware susceptibility
KR102538694B1 (en) 2021-09-23 2023-05-31 주식회사 엘림넷 Data Protection System for Protecting Data from the Ransomware

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101156227B1 (en) * 2010-11-22 2012-06-18 주식회사 파수닷컴 File processing device for executing preprocessed file and recording medium for executing preprocessed file
KR101834808B1 (en) * 2016-07-18 2018-03-06 한양대학교 산학협력단 Apparatus and method for protecting file from encryption
KR101995944B1 (en) 2017-06-29 2019-07-03 주식회사 한류에이아이센터 Method for preventing randomware
KR102000369B1 (en) 2017-12-28 2019-07-15 숭실대학교산학협력단 Method for ransomware detection, computer readable medium for performing the method and ransomware detection system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Conrad C. Kayne, "AUM CSPRNG & Stream Cipher"(2014.10.)

Also Published As

Publication number Publication date
KR20210072487A (en) 2021-06-17

Similar Documents

Publication Publication Date Title
Jang et al. SGX-Bomb: Locking down the processor via Rowhammer attack
US9514300B2 (en) Systems and methods for enhanced security in wireless communication
Hampton et al. Ransomware: Emergence of the cyber-extortion menace
Behera et al. Different obfuscation techniques for code protection
KR102316404B1 (en) Method for ransomware mitigation by extension randomization, recording medium and device for performing the method
US7779478B2 (en) System and method for distributed module authentication
US8195953B1 (en) Computer program with built-in malware protection
US20110214179A1 (en) Secure method and system for computer protection
Ronen et al. Pseudo constant time implementations of TLS are only pseudo secure
US9530002B1 (en) Verifying the integrity of a computing platform
CN101866406A (en) Stack overflow attack defense method
Banescu et al. Software-based protection against changeware
Cicala et al. Analysis of encryption key generation in modern crypto ransomware
Wang et al. Shapeshifter: Intelligence-driven data plane randomization resilient to data-oriented programming attacks
CN104504310A (en) Method and device for software protection based on shell technology
Genç et al. The cipher, the random and the ransom: a survey on current and future ransomware
US20120278883A1 (en) Method and System for Protecting a Computing System
Lee et al. Classification and analysis of security techniques for the user terminal area in the internet banking service
Jones et al. Defeating Denial-of-Service attacks in a self-managing N-Variant system
AT&T
US20200067693A1 (en) Systems and methods for masking ecc operations
Kisore A qualitative framework for evaluating buffer overflow protection mechanisms
Bhatt Cyber security risks for modern web applications: case study paper for developers and security testers
Srinivasan Protecting anti-virus software under viral attacks
Li An Analysis of the Recent Ransomware Families

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant