KR102262099B1 - 랜섬웨어 차단 방법 및 이를 위한 장치 - Google Patents

랜섬웨어 차단 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102262099B1
KR102262099B1 KR1020190117706A KR20190117706A KR102262099B1 KR 102262099 B1 KR102262099 B1 KR 102262099B1 KR 1020190117706 A KR1020190117706 A KR 1020190117706A KR 20190117706 A KR20190117706 A KR 20190117706A KR 102262099 B1 KR102262099 B1 KR 102262099B1
Authority
KR
South Korea
Prior art keywords
data
ransomware
user terminal
storage device
ransomware blocking
Prior art date
Application number
KR1020190117706A
Other languages
English (en)
Other versions
KR20210035969A (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 KR1020190117706A priority Critical patent/KR102262099B1/ko
Publication of KR20210035969A publication Critical patent/KR20210035969A/ko
Application granted granted Critical
Publication of KR102262099B1 publication Critical patent/KR102262099B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Abstract

랜섬웨어 차단 방법 및 이를 위한 장치가 개시된다. 본 발명의 일실시예에 따른 랜섬웨어 차단 방법은 USB 포트를 기반으로 사용자 단말과 저장장치를 연결하는 랜섬웨어 차단 장치가, 클래스 코드 정보(CLASS CODE INFORMATION)를 이용하여 상기 사용자 단말에서 상기 저장장치를 인식할 수 없도록 차단하는 단계; 및 상기 랜섬웨어 차단 장치가, 랜섬웨어 차단 프로그램을 통해 상기 사용자 단말로부터 수신된 데이터를 상기 저장장치의 규격에 상응하게 변환하여 상기 저장장치로 전달하는 단계를 포함한다.

Description

랜섬웨어 차단 방법 및 이를 위한 장치 {METHOD FOR BLOCKING RANSOMWARE AND APPARATUS USING THE SAME}
본 발명은 사용자 단말과 저장장치 사이에서 랜섬웨어(RANSOMWARE)에 의한 공격을 차단하는 기술에 관한 것으로, 특히 사용자 단말에서 일반적으로 사용하는 탐색기나 기타 장치에서 랜섬웨어 차단 장치를 통해 연결된 저장장치를 인식하지 못하도록 차단함으로써 저장장치에 대한 랜섬웨어 공격을 사전에 방지할 수 있는 기술에 관한 것이다.
일반적으로 PC와 같은 사용자 단말에서 USB 포트를 통해 연결되는 저장장치를 사용하는 경우, 저장장치는 랜섬웨어(RANSOMWARE)의 공격 대상이 될 수 있다. 이 때, 랜섬웨어란, 몸값(RANSOM)과 소프트웨어(SOFTWARE)의 합성어로 시스템을 잠그거나 데이터를 암호화하여 사용할 수 없도록 만든 뒤, 이를 인질로 금전을 요구하는 악성 프로그램을 일컫는다.
즉, USB 등을 통해 PC로 연결되는 저장장치가 랜섬웨어의 주 공격 대상이 될 수 있다. 일반적으로 USB 장치가 PC에 연결되면, 연결된 장치가 어떤 제품인지에 대해서 PC와 정보를 주고 받게 된다. 이 때, 정보를 주고 받는 과정을 통해서 PC는 저장장치가 연결되는 것을 인식할 수 있으며, PC에 숨겨져 있던 랜섬웨어는 인식된 정보를 기반으로 저장장치에 저장된 데이터를 암호화하거나 사용할 수 없도록 변조할 수 있다.
한국 공개 특허 제10-2019-0091696호, 2019년 8월 7일 공개(명칭: 랜섬웨어 확산 차단 장치 및 그 방법)
본 발명의 목적은 사용자 단말에서 저장장치가 연결된 것을 인식하지 못하도록 차단함으로써 랜섬웨어가 저장장치로 확산되는 것을 방지하는 것이다.
또한, 본 발명의 목적은 별도의 랜섬웨어 차단 프로그램을 기반으로 사용자 단말과 저장장치 사이의 데이터를 송수신하도록 제어함으로써 랜섬웨어의 공격으로부터 안전한 데이터 송수신 환경을 제공하는 것이다.
또한, 본 발명의 목적은 하드웨어적으로 사용자 단말과 저장장치의 직접적인 연결을 차단함으로써 보다 효과적으로 랜섬웨어의 확산을 차단하는 것이다.
또한, 본 발명의 목적은 랜섬웨어 공격을 받더라도 저장장치의 내부에 준비된 백업 디스크를 통해 피해를 신속하게 복구할 수 있도록 하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 랜섬웨어 차단 방법은 USB 포트를 기반으로 사용자 단말과 저장장치를 연결하는 랜섬웨어 차단 장치가, 클래스 코드 정보(CLASS CODE INFORMATION)를 이용하여 상기 사용자 단말에서 상기 저장장치를 인식할 수 없도록 차단하는 단계; 및 상기 랜섬웨어 차단 장치가, 랜섬웨어 차단 프로그램을 통해 상기 사용자 단말로부터 수신된 데이터를 상기 저장장치의 규격에 상응하게 변환하여 상기 저장장치로 전달하는 단계를 포함한다.
이 때, 사용자 단말의 USB 포트로 연결되는 상기 랜섬웨어 차단 장치의 클래스 코드 정보는 벤더 스페시픽 클래스(OxFF)(VENDOR SPECIFIC CLASS)에 상응하고, 상기 랜섬웨어 차단 장치의 USB 포트로 연결되는 상기 저장장치의 클래스 코드 정보는 매스 스토리지 클래스(0x08)(MESS STORAGE CLASS)에 상응할 수 있다.
이 때, 사용자 단말은 상기 랜섬웨어 차단 프로그램을 통해 상기 랜섬웨어 차단 장치로 접속하고, 상기 랜섬웨어 차단 프로그램의 전용 프로토콜을 기반으로 상기 랜섬웨어 차단 장치와 데이터를 송수신할 수 있다.
이 때, 랜섬웨어 차단 장치는 상기 사용자 단말로부터 상기 전용 프로토콜에 상응하게 수신된 데이터를 상기 매스 스토리지 클래스에 상응하는 프로토콜 규격으로 변환할 수 있다.
이 때, 전용 프로토콜은 수행 명령 정보, 세부 명령 정보, 데이터 길이, 세션 정보, 체크섬, 무결성 정보를 포함하는 헤더(HEADER) 부분과 전달할 데이터를 포함하는 데이터(DATA) 부분을 포함할 수 있다.
이 때, 수행 명령은 파일 요청, 파일 저장, 파일 리스트 요청, 파일 정보 요청 및 파일명 변경을 포함할 수 있다.
이 때, 전달하는 단계는 상기 사용자 단말로부터 수신된 데이터에 대한 바이러스 검사를 수행하는 단계를 더 포함할 수 있다.
이 때, 저장장치는 내부 용량을 분할하여 메인 디스크(MAIN DISK)와 백업 디스크(BACKUP DISK)를 생성하고, 상기 랜섬웨어 차단 장치로부터 최초로 전달되는 데이터를 상기 메인 디스크와 상기 백업 디스크에 각각 저장할 수 있다.
이 때, 바이러스 검사를 수행하는 단계는 상기 메인 디스크에 저장된 데이터에 변경이 발생하는 경우, 변경이 발생한 메인 데이터와 상기 백업 디스크에 저장된 백업 데이터를 바이트 단위로 비교하고, 데이터간 오차가 기설정된 오차범위 이상일 경우에 상기 바이러스 검사를 수행할 수 있다.
이 때, 저장장치는 상기 데이터간 오차가 기설정된 오차범위 미만이거나, 바이러스 검사 결과 이상이 발견되지 않는 경우에는 상기 변경이 발생한 메인 데이터로 상기 백업 데이터를 업데이트할 수 있다.
또한, 본 발명의 일실시예에 따른 랜섬웨어 차단 장치는, USB 포트를 기반으로 사용자 단말과 저장장치를 연결하되, 클래스 코드 정보(CLASS CODE INFORMATION)를 이용하여 상기 사용자 단말에서 상기 저장장치를 인식할 수 없도록 차단하고, 랜섬웨어 차단 프로그램을 통해 상기 사용자 단말로부터 수신된 데이터를 상기 저장장치의 규격에 상응하게 변환하여 상기 저장장치로 전달하는 프로세서; 및 상기 랜섬웨어 차단 프로그램을 통해 상기 사용자 단말로부터 수신된 데이터를 저장하는 메모리를 포함한다.
이 때, 사용자 단말의 USB 포트로 연결되는 상기 랜섬웨어 차단 장치의 클래스 코드 정보는 벤더 스페시픽 클래스(OxFF)(VENDOR SPECIFIC CLASS)에 상응하고, 상기 랜섬웨어 차단 장치의 USB 포트로 연결되는 상기 저장장치의 클래스 코드 정보는 매스 스토리지 클래스(0x08)(MESS STORAGE CLASS)에 상응할 수 있다.
이 때, 프로세서는 상기 랜섬웨어 차단 프로그램을 통해 상기 사용자 단말의 접속을 감지하고, 상기 랜섬웨어 차단 프로그램의 전용 프로토콜을 기반으로 상기 사용자 단말과 데이터를 송수신할 수 있다.
이 때, 프로세서는 상기 사용자 단말로부터 상기 전용 프로토콜에 상응하게 수신된 데이터를 상기 매스 스토리지 클래스에 상응하는 프로토콜 규격으로 변환할 수 있다.
이 때, 전용 프로토콜은 수행 명령 정보, 세부 명령 정보, 데이터 길이, 세션 정보, 체크섬, 무결성 정보를 포함하는 헤더(HEADER) 부분과 전달할 데이터를 포함하는 데이터(DATA) 부분을 포함할 수 있다.
이 때, 수행 명령은 파일 요청, 파일 저장, 파일 리스트 요청, 파일 정보 요청 및 파일명 변경을 포함할 수 있다.
이 때, 프로세서는 상기 사용자 단말로부터 수신된 데이터에 대한 바이러스 검사를 수행할 수 있다.
이 때, 저장장치에게 최초로 전달되는 데이터는 상기 저장장치의 내부 용량을 분할하여 생성된 메인 디스크(MAIN DISK)와 백업 디스크(BACKUP DISK)에 각각 저장될 수 있다.
이 때, 프로세서는 상기 메인 디스크에 저장된 데이터에 변경이 발생하는 경우, 변경이 발생한 메인 데이터와 상기 백업 디스크에 저장된 백업 데이터를 바이트 단위로 비교하고, 데이터간 오차가 기설정된 오차범위 이상일 경우에 상기 바이러스 검사를 수행할 수 있다.
이 때, 데이터간 오차가 기설정된 오차범위 미만이거나, 바이러스 검사 결과 이상이 발견되지 않는 경우, 상기 백업 데이터가 상기 변경이 발생한 메인 데이터로 업데이트될 수 있다.
본 발명에 따르면, 사용자 단말에서 저장장치가 연결된 것을 인식하지 못하도록 차단함으로써 랜섬웨어가 저장장치로 확산되는 것을 방지할 수 있다.
또한, 본 발명은 별도의 랜섬웨어 차단 프로그램을 기반으로 사용자 단말과 저장장치 사이의 데이터를 송수신하도록 제어함으로써 랜섬웨어의 공격으로부터 안전한 데이터 송수신 환경을 제공할 수 있다.
또한, 본 발명은 하드웨어적으로 사용자 단말과 저장장치의 직접적인 연결을 차단함으로써 보다 효과적으로 랜섬웨어의 확산을 차단할 수 있다.
또한, 본 발명은 랜섬웨어 공격을 받더라도 저장장치의 내부에 준비된 백업 디스크를 통해 피해를 신속하게 복구할 수 있도록 할 수 있다.
도 1은 본 발명의 일실시예에 따른 랜섬웨어 차단 시스템을 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 랜섬웨어 차단 방법을 나타낸 동작 흐름도이다.
도 3은 본 발명에 따른 랜섬웨어 차단을 위한 하드웨어 연결 구조의 일 예를 나타낸 도면이다.
도 4는 일반적으로 제공되는 표준화된 USB 정보의 일 예를 나타낸 도면이다.
도 5는 본 발명에 따른 표준화되지 않은 USB 정보의 일 예를 나타낸 도면이다.
도 6은 본 발명에 따른 전용 프로토콜의 일 예를 나타낸 도면이다.
도 7은 본 발명의 일실시예에 따른 랜섬웨어 차단 방법 중 바이러스 검사 과정을 상세하게 나타낸 동작흐름도이다.
도 8은 본 발명에 따른 저장장치의 일 예를 나타낸 도면이다.
도 9는 본 발명에 따른 저장장치의 메인 디스크와 백업 디스크에 데이터를 저장하는 일 예를 나타낸 도면이다.
도 10은 본 발명의 일실시예에 따른 랜섬웨어 차단 방법 중 메인 데이터와 백업 데이터 비교를 기반으로 바이러스 검사를 수행하는 과정을 상세하게 나타낸 동작흐름도이다.
도 11은 본 발명의 일실시예에 따른 랜섬웨어 차단 장치를 나타낸 블록도이다.
도 12는 본 발명의 다른 실시예에 따른 랜섬웨어 차단 장치를 나타낸 블록도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 랜섬웨어 차단 시스템을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 랜섬웨어 차단 시스템은 랜섬웨어 차단 장치(100), 사용자 단말(110) 및 저장장치(120)를 포함한다.
랜섬웨어 차단 장치(100)는 USB 포트를 기반으로 사용자 단말(110)과 저장장치(120)를 연결하되, 클래스 코드 정보(CLASS CODE INFORMATION)를 이용하여 사용자 단말(110)에서 저장장치(120)를 인식할 수 없도록 차단한다.
이 때, 사용자 단말(110)이란 운영체제(OPERATING SYSTEM)을 기반으로 동작하는 컴퓨터 장치에 상응할 수 있다. 예를 들어, 사용자 단말(110)은 그 종류에 따라 UNIX, WINDOW, MAC, ANDROID, iOS 와 같은 운영체제가 구비될 수 있다.
이 때, 저장장치(120)는 USB 포트를 통해 사용자 단말(110)에 연결 가능한 이동식 저장장치에 상응하는 것으로, USB HARD DISK, USB SSD, USB SD CARD 및 USB SATA 등을 포함할 수 있다.
이 때, 사용자 단말(110)의 USB 포트로 연결되는 랜섬웨어 차단 장치(100)의 클래스 코드 정보는 벤더 스페시픽 클래스(OxFF)(VENDOR SPECIFIC CLASS)에 상응하고, 랜섬웨어 차단 장치(100)의 USB 포트로 연결되는 저장장치(120)의 클래스 코드 정보는 매스 스토리지 클래스(0x08)(MESS STORAGE CLASS)에 상응할 수 있다.
즉, 사용자 단말(110)로 연결되는 랜섬웨어 차단 장치(100)의 클래스 코드 정보를 일반적인 저장장치인 매스 스토리지 클래스(0x08)가 아닌 벤더 스페시픽 클래스(0xFF)로 설정함으로써 사용자 단말(110)에서 USB 포트로 연결된 장치가 저장장치로 인식하지 못하도록 차단할 수 있다.
또한, 랜섬웨어 차단 장치(100)는 랜섬웨어 차단 프로그램을 통해 사용자 단말(110)로부터 수신된 데이터를 저장장치(120)의 규격에 상응하게 변환하여 저장장치(120)로 전달한다.
이 때, 랜섬웨어 차단 프로그램을 통해 사용자 단말(110)의 접속을 감지하고, 랜섬웨어 차단 프로그램의 전용 프로토콜을 기반으로 사용자 단말(110)과 데이터를 송수신할 수 있다.
이 때, 사용자 단말(110)로부터 전용 프로토콜에 상응하게 수신된 데이터를 매스 스토리지 클래스에 상응하는 프로토콜 규격으로 변환할 수 있다.
이 때, 전용 프로토콜은 수행 명령 정보, 세부 명령 정보, 데이터 길이, 세션 정보, 체크섬, 무결성 정보를 포함하는 헤더(HEADER) 부분과 전달할 데이터를 포함하는 데이터(DATA) 부분을 포함할 수 있다.
이 때, 수행 명령은 파일 요청, 파일 저장, 파일 리스트 요청, 파일 정보 요청 및 파일명 변경을 포함할 수 있다.
또한, 랜섬웨어 차단 장치(100)는 사용자 단말(110)로부터 수신된 데이터에 대한 바이러스 검사를 수행한다.
이 때, 저장장치(120)에 최초로 전달되는 데이터는 저장장치(120)의 내부 용량을 분할하여 생성된 메인 디스크(MAIN DISK)와 백업 디스크(BACKUP DISK)에 각각 저장될 수 있다.
이 때, 메인 디스크에 저장된 데이터에 변경이 발생하는 경우, 변경이 발생한 메인 데이터와 백업 디스크에 저장된 백업 데이터를 바이트 단위로 비교하고, 데이터간 오차가 기설정된 오차범위 이상일 경우에 바이러스 검사를 수행할 수 있다.
이 때, 데이터간 오차가 기설정된 오차범위 미만이거나, 바이러스 검사 결과 이상이 발견되지 않는 경우, 백업 데이터가 변경이 발생한 메인 데이터로 업데이트될 수 있다.
이와 같이 랜섬웨어 차단 장치(100)를 이용한 시스템을 제공함으로써 사용자 단말(110)로부터 저장장치(120)로 랜섬웨어가 확산되는 것을 방지할 수 있을 뿐 아니라, 랜섬웨어 공격을 받더라도 저장장치의 내부에 준비된 백업 디스크를 통해 피해를 신속하게 복구할 수 있도록 대처할 수 있다.
도 2는 본 발명의 일실시예에 따른 랜섬웨어 차단 방법을 나타낸 동작 흐름도이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 랜섬웨어 차단 방법은 USB 포트를 기반으로 사용자 단말과 저장장치를 연결하는 랜섬웨어 차단 장치가, 클래스 코드 정보(CLASS CODE INFORMATION)를 이용하여 사용자 단말에서 저장장치를 인식할 수 없도록 차단한다(S210).
일반적으로 랜섬웨어는 저장장치 내부의 일반 파일을 공격하는 특성을 가지므로, 본 발명에서는 사용자 단말에 저장장치가 연결되어도 사용자 단말에서 저장장치를 대용량 저장장치가 아닌 알 수 없는 장치로 인식하도록 하기 위한 랜섬웨어 차단 장치를 제공한다.
따라서, 도 3을 참조하면, 본 발명의 일실시예에 따른 랜섬웨어 차단 장치(300)는 사용자 단말과의 연결을 위한 USB 인터페이스(310)와 저장장치와의 연결을 위한 USB 인터페이스(330)를 각각 구비할 수 있다. 이 때, 랜섬웨어 차단 장치(300)와 사용자 단말이 연결되는 USB 인터페이스(310)는 USB Device로 설정하고, 랜섬웨어 차단 장치(300)와 저장장치가 연결되는 USB 인터페이스(330)는 USB Host로 설정함으로써 사용자 장치에서는 랜섬웨어 차단 장치를 하나의 USB Client라고 인식하게 하고, 저장장치는 랜섬웨어 차단 장치와의 관계에서 별도의 프로토콜을 통한 서브 셋 기능을 지원하는 장치로 인식되도록 할 수 있다.
이 때, 클래스 코드 정보란, USB 포트로 연결된 장치의 종류나 기능을 식별하고, 식별된 기능을 기반으로 장치 드라이버를 로딩하기 위해 사용되는 정보를 의미할 수 있다. 예를 들어, 클래스 코드 정보는 Bass Class, Sub Class 및 Protocol에 상응하는 3 바이트로 구성될 수 있으며, 장치 설명자 또는 인터페이스 설명자에 위치할 수 있다.
이 때, 일반적인 USB 기반의 저장장치는 사용자 단말에 연결되면, 연결된 장치가 어떤 제품인지에 대한 클래스 코드 정보를 사용자 단말에게 제공할 수 있다.
따라서, 본 발명에서는 사용자 단말과 저장장치의 사이에서 사용자 단말에 직접적으로 연결되는 랜섬웨어 차단 장치의 클래스 코드 정보를 변환함으로써 사용자 단말에서 저장장치가 연결된 것을 인식할 수 없도록 할 수 있다.
이 때, 사용자 단말의 USB 포트로 연결되는 랜섬웨어 차단 장치의 클래스 코드 정보는 벤더 스페시픽 클래스(OxFF)(VENDOR SPECIFIC CLASS)에 상응하고, 랜섬웨어 차단 장치의 USB 포트로 연결되는 저장장치의 클래스 코드 정보는 매스 스토리지 클래스(0x08)(MESS STORAGE CLASS)에 상응할 수 있다.
즉, 사용자 단말로 연결되는 랜섬웨어 차단 장치의 클래스 코드 정보를 일반적인 저장장치인 매스 스토리지 클래스(0x08)가 아닌 벤더 스페시픽 클래스(0xFF)로 설정함으로써 사용자 단말에서 랜섬웨어 차단 장치를 통해 USB 포트로 연결된 저장장치를 저장장치로 인식하지 못하도록 차단할 수 있다.
일반적으로 USB 호스트에 USB 디바이스가 연결되면 USB 호스트는 열거단계를 거치게 되는데, 열거 단계에서 USB 호스트는 USB 디바이스에 관한 정보를 읽어올 수 있다. 예를 들어, USB 호스트가 연결된 USB 디바이스에게 표준 USB 디스크립터 리퀘스트를 전달할 수 있고, 모든 USB 디바이스는 디스크립터에 디바이스에 대한 세부 정보를 저장함으로써 표준 USB 디스크립터 리퀘스트에 응답할 수 있다. 이 때, USB 호스트는 USB 디바이스의 디스크립터를 읽어서 USB 디바이스에 대한 정보를 획득할 수 있다. 이 때, 디스크립터의 bInterfaceClass 필드는 USB 디바이스가 속한 클래스를 알려주는데, 본 발명에서는 여기에 저장된 클래스 코드 정보를 대용량 저장장치(0x08)가 아닌 제조사 스펙(0xFF)으로 제공할 수 있다. 따라서, USB 호스트에 상응하는 사용자 단말에서 USB 디바이스에 상응하는 저장장치가 이동식 저장장치가 아닌 알 수 없는 장치로 인식하게 함으로써 윈도우 탐색기와 같은 탐색 장치에 잡히지 않게 하여 랜섬웨어로부터 저장장치를 보호할 수 있다.
예를 들어, 본 발명의 일실시예에 따른 저장장치가 연결된 상태의 랜섬웨어 차단 장치가 USB 포트를 기반으로 사용자 단말로 연결되었다고 가정한다면, 사용자 단말은 연결된 랜섬웨어 차단 장치에게 주소를 할당한 뒤 추가 정보를 요청할 수 있다. 이 때, 저장장치가 연결된 상태의 랜섬웨어 차단 장치는 도 4에 도시된 것처럼 표준화된 정보가 아니라, 도 5에 도시된 것처럼 표준화되지 않은 정보를 사용자 단말로 제공할 수 있다, 이 후, 랜섬웨어 차단 장치로부터 표준화되지 않은 정보를 수신한 사용자 단말은 랜섬웨어 차단 장치를 알 수 없는 장치로 인식하고, USB 드라이버를 제작하여 랜섬웨어 차단 장치와 통신을 수행할 수 있다.
이 때, 저장장치가 랜섬웨어 차단 장치를 통해 사용자 단말과 연결되어 있는 동안에는 사용자 단말에서 저장장치를 저장장치로 인식하지 못하지만, 저장장치가 랜섬웨어 차단 장치와 분리되어 직접 사용자 단말과 연결되면 사용자 단말에서도 저장장치를 인식할 수 있으므로, 저장장치는 독립적으로도 사용될 수 있다.
또한, 본 발명의 일실시예에 따른 랜섬웨어 차단 방법은 랜섬웨어 차단 장치가, 랜섬웨어 차단 프로그램을 통해 사용자 단말로부터 수신된 데이터를 저장장치의 규격에 상응하게 변환하여 저장장치로 전달한다(S220).
이 때, 랜섬웨어 차단 프로그램은 사용자 단말과 저장장치 간의 데이터 송수신을 위해 필요한 전용 프로그램에 상응할 수 있다. 즉, 사용자 단말은 랜섬웨어 차단 장치에 의해 저장장치를 저장장치로 인식할 수 없으므로, 전용 프로그램인 랜섬웨어 차단 프로그램을 통해 저장장치의 기능을 사용할 수 있도록 할 수 있다.
이 때, 사용자 단말은 랜섬웨어 차단 프로그램을 통해 랜섬웨어 차단 장치로 접속하고, 랜섬웨어 차단 프로그램의 전용 프로토콜을 기반으로 랜섬웨어 차단 장치와 데이터를 송수신할 수 있다.
예를 들어, 도 3을 참조하면, 사용자 단말은 랜섬웨어 차단 프로그램을 통해 USB 인터페이스(310)로 연결된 랜섬웨어 차단 장치(300)로 접속할 수 있다. 이 후, 사용자 단말은 랜섬웨어 차단 프로그램의 전용 프로토콜을 기반으로 랜섬웨어 차단 장치(300)에게 저장할 데이터를 송신할 수 있고, 랜섬웨어 차단 장치(300)에서는 내부에 구비된 USB DATA PROTOCOL CONVERTER(320)를 이용하여 사용자 단말로부터 수신된 데이터를 매스 스토리지 클래스로 연결된 저장장치의 규격에 맞춰 변환할 수 있다. 이 후, 랜섬웨어 차단 장치(300)는 USB 인터페이스(330)로 연결된 저장장치에게 변환된 데이터를 전달하여 저장할 수 있다.
이 때, 랜섬웨어 차단 장치는 사용자 단말로부터 전용 프로토콜에 상응하게 수신된 데이터를 매스 스토리지 클래스에 상응하는 프로토콜 규격으로 변환할 수 있다.
이 때, 전용 프로토콜은 수행 명령 정보, 세부 명령 정보, 데이터 길이, 세션 정보, 체크섬, 무결성 정보를 포함하는 헤더(HEADER) 부분과 전달할 데이터를 포함하는 데이터(DATA) 부분을 포함할 수 있다.
예를 들어, 도 6을 참조하면, 랜섬웨어 차단 프로그램의 전용 프로토콜(600)은 수행 명령 정보(610), 세부 명령 정보(620), 데이터 길이(630), 세션 정보(640), 체크섬(650) 및 무결성 정보(660)를 포함하는 헤더 부분과 전달할 데이터(670)를 포함하는 데이터 부분으로 구성될 수 있다.
이 때, 세션 정보(640)는 여러 개의 랜섬웨어 차단 프로그램이 실행되는 경우, 랜섬웨어 차단 프로그램과 랜섬웨어 차단 장치를 매칭하기 위한 값에 상응할 수 있다.
이 때, 체크섬(650)은 데이터 유효성 검증을 위한 값에 상응할 수 있으며, 무결성 정보(660)는 데이터 암호화 통신 후 복호화된 값의 무결성 확인을 위한 값에 상응할 수 있다.
이 때, 전달할 데이터(670)는 의미 그대로 보내고자 하는 데이터에 상응할 수 있다.
이 때, 수행 명령은 파일 요청, 파일 저장, 파일 리스트 요청, 파일 정보 요청 및 파일명 변경을 포함할 수 있다.
이 때, 랜섬웨어 차단 프로그램에서 헤더 부분을 통해 파일 요청, 파일 저장, 파일 리스트 요청, 파일 정보 요청 및 파일명 변경 등의 수행 명령 정보를 입력할 수 있고, 랜섬웨어 차단 프로그램 및 랜섬웨어 차단 장치에서 데이터 부분을 통해 전달할 데이터를 넣어서 송수신할 수 있다.
또한, 도 2에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 랜섬웨어 차단 방법은 랜섬웨어 차단 장치가, 저장장치에서 읽어온 데이터를 랜섬웨어 차단 프로그램의 전용 프로토콜에 상응하는 규격으로 변환하여 사용자 단말로 전달할 수 있다.
예를 들어, 도 3을 참조하면, 사용자 단말이 랜섬웨어 차단 프로그램을 통해 랜섬웨어 차단 장치(300)로 접속하였다고 가정하면, 사용자 단말은 랜섬웨어 차단 프로그램을 통해 랜섬웨어 차단 장치(300)에게 저장장치의 용량과 저장장치에 저장되어 있는 폴더, 프로그램 및 파일에 관련된 정보를 요청할 수 있다. 이 후, 랜섬웨어 차단 장치(300)는 저장장치 내에 저장된 폴더, 프로그램 및 파일에 관련된 정보 및 저장장치 용량을 확인하여 사용자 단말로 알려줄 수 있다. 이 때, 랜섬웨어 차단 장치가 저장장치로부터 획득한 데이터는 USB 표준 규격인 대용량 저장장치에 상응하는 규격의 데이터에 상응하지만, 랜섬웨어 차단 장치는 사용자 단말과 연결 시 대용량 저장장치로 설정되어 있지 않으므로, 저장장치에서 읽어온 데이터를 랜섬웨어 차단 프로그램의 전용 프로토콜에 상응하게 변환하여 사용자 단말로 제공해줄 수 있다.
이 때, 사용자 단말로부터 수신된 데이터에 대한 바이러스 검사를 수행할 수 있다.
예를 들어, 도 7을 참조하면, 본 발명의 일실시예에 따른 랜섬웨어 차단 방법은 랜섬웨어 차단 프로그램을 통해 사용자 단말로부터 데이터 저장 요청이 수신되면(S710), 랜섬웨어 차단 장치가 사용자 단말로부터 전달된 데이터에 바이러스가 존재하는지 검사를 수행할 수 있다(S715).
이 때, 단계(S715)의 검사결과 바이러스가 존재하지 않는 것으로 확인되면, 사용자 단말로부터 전달된 데이터의 프로토콜 규격을 저장장치에 상응하게 변환하여(S720) 저장장치로 전달할 수 있다(S730).
또한, 단계(S715)의 검사결과 사용자 단말로부터 전달된 데이터에 바이러스가 존재하면, 사용자 단말에게 바이러스 경고를 알림으로써 전달하려는 데이터에 바이러스가 존재함을 알릴 수 있다(S740).
이 때, 저장장치는 내부 용량을 분할하여 메인 디스크(MAIN DISK)와 백업 디스크(BACKUP DISK)를 생성할 수 있다.
예를 들어, 도 8에 도시된 것처럼, 본 발명의 일실시예에 따른 저장장치(800)는 내부 저장소의 용량을 절반으로 분할하여 메인 디스크(810)와 백업 디스크(820)를 각각 생성할 수 있다.
이 때, 저장장치는 랜섬웨어 차단 장치로부터 최초로 전달되는 데이터를 메인 디스크와 백업 디스크에 각각 저장할 수 있다.
예를 들어, 도 9를 참조하면, 랜섬웨어 차단 장치(900)를 통해 사용자 단말(910)로부터 최초로 전달되는 최초 데이터(901)는, 랜섬웨어 차단 장치(900)의 내부에서 바이러스 검사를 거쳐 저장장치(920)의 프로토콜 규격에 상응하는 데이터로 변환될 수 있다. 이 후, 랜섬웨어 차단 장치(900)는 변환된 최초 데이터를 각각 저장장치(920)의 메인 디스크와 백업 디스크에 메인 데이터(901-1)와 백업 데이터(901-2)로 저장할 수 있는데, 백업 데이터(901-2)는 랜섬웨어 공격에 의해 메인 디스크를 사용할 수 없게 되었을 경우에 복구를 위해 사용될 수도 있다.
이 때, 도 9에 도시된 메인 데이터(901-1)와 백업 데이터(901-2)는 저장장치(920)의 메인 디스크로 저장되는 것과 백업 디스크로 저장되는 것을 구별하기 위한 것일 뿐 동일한 데이터에 해당한다.
이 때, 메인 디스크에 저장된 데이터에 변경이 발생하는 경우, 변경이 발생한 메인 데이터와 백업 디스크에 저장된 백업 데이터를 바이트 단위로 비교하고, 데이터간 오차가 기설정된 오차범위 이상일 경우에 바이러스 검사를 수행할 수 있다.
즉, 도 9를 예로 들어 설명하면, 랜섬웨어가 저장장치(920)의 메인 디스크에 저장된 메인 데이터(901-1)에 대해 임의로 변경을 수행하는 경우, 메인 데이터(901-1)와 백업 데이터(901-2)를 바이트 단위로 비교할 수 있다. 이 때, 기설정된 오차범위를 파일용량의 25%라고 가정하고, 메인 데이터(901-1)에서 변경된 부분이 25% 이상이라면 랜섬웨어 차단 장치(900)가 메인 데이터(901-1)에 대해 바이러스 검사를 수행할 수 있다.
이 때, 바이러스 검사 결과, 변경이 발생한 메인 데이터에서 이상이 발견되는 경우, 사용자 단말로 파일을 확인하라는 경고를 제공할 수 있다.
이 때, 저장장치는 데이터간 오차가 기설정된 오차범위 미만이거나, 바이러스 검사 결과 이상이 발견되지 않는 경우에는 변경이 발생한 메인 데이터로 백업 데이터를 업데이트할 수 있다.
이하에서는 도 10을 참조하여, 변경된 메인 데이터에 대한 바이러스 검사를 수행하는 과정을 보다 상세하게 설명하도록 한다.
먼저, 도 10을 참조하면, 랜섬웨어 차단 장치가 저장장치에 저장된 메인 데이터에 대한 변경을 감지하면(S1010), 변경된 메인 데이터와 해당 메인 데이터에 상응하게 백업된 백업 데이터를 바이트 단위로 비교할 수 있다(S1020).
이 후, 비교한 데이터 간의 오차가 기설정된 오차범위 이상인지 여부를 판단하고(S1025), 데이터간 오차가 기설정된 범위 이상이면 메인 데이터에 바이러스가 존재하는지 여부를 검사할 수 있다(S1035).
단계(S1035)의 검사결과 메인 데이터에 바이러스가 존재하지 않으면, 변경된 메인 데이터를 이용하여 백업 데이터를 업데이트할 수 있다(S1040).
또한, 단계(S1035)의 검사결과 메인 데이터에 바이러스가 존재하면, 사용자 단말에게 메인 데이터에 바이러스 경고 알림을 발생시킬 수 있다(S1050).
또한, 단계(S1025)에서 데이터간 오차가 기설정된 오차범위 미만이면, 바이러스 검사를 수행하지 않고 바로 변경된 메인 데이터를 이용하여 백업 데이터를 업데이트할 수 있다(S1040).
또한, 도 2에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 랜섬웨어 차단 방법은 랜섬웨어 차단 장치가 별도의 저장 모듈을 기반으로 랜섬웨어 차단 과정에서 발생하는 다양한 정보를 저장할 수도 있다.
이와 같은 랜섬웨어 차단 방법을 통해 사용자 단말에서 저장장치가 연결된 것을 인식하지 못하도록 차단함으로써 랜섬웨어가 저장장치로 확산되는 것을 방지할 수 있다.
또한, 별도의 랜섬웨어 차단 프로그램을 기반으로 사용자 단말과 저장장치 사이의 데이터를 송수신하도록 제어함으로써 랜섬웨어의 공격으로부터 안전한 데이터 송수신 환경을 제공할 수 있으며, 랜섬웨어 공격을 받더라도 저장장치의 내부에 준비된 백업 디스크를 통해 피해를 신속하게 복구할 수도 있다.
도 11은 본 발명의 일실시예에 따른 랜섬웨어 차단 장치를 나타낸 블록도이다.
도 11을 참조하면, 본 발명의 일실시예에 따른 랜섬웨어 차단 장치는 프로세서(1110) 및 메모리(1120)를 포함한다.
프로세서(1110)는 USB 포트를 기반으로 사용자 단말과 저장장치를 연결하되, 클래스 코드 정보(CLASS CODE INFORMATION)를 이용하여 사용자 단말에서 저장장치를 인식할 수 없도록 차단한다.
일반적으로 랜섬웨어는 저장장치 내부의 일반 파일을 공격하는 특성을 가지므로, 본 발명에서는 사용자 단말에 저장장치가 연결되어도 사용자 단말에서 저장장치를 대용량 저장장치가 아닌 알 수 없는 장치로 인식하도록 하기 위한 랜섬웨어 차단 장치를 제공한다.
따라서, 도 3을 참조하면, 본 발명의 일실시예에 따른 랜섬웨어 차단 장치(300)는 사용자 단말과의 연결을 위한 USB 인터페이스(310)와 저장장치와의 연결을 위한 USB 인터페이스(330)를 각각 구비할 수 있다. 이 때, 랜섬웨어 차단 장치(300)와 사용자 단말이 연결되는 USB 인터페이스(310)는 USB Device로 설정하고, 랜섬웨어 차단 장치(300)와 저장장치가 연결되는 USB 인터페이스(330)는 USB Host로 설정함으로써 사용자 장치에서는 랜섬웨어 차단 장치를 하나의 USB Client라고 인식하게 하고, 저장장치는 랜섬웨어 차단 장치와의 관계에서 별도의 프로토콜을 통한 서브 셋 기능을 지원하는 장치로 인식되도록 할 수 있다.
이 때, 클래스 코드 정보란, USB 포트로 연결된 장치의 종류나 기능을 식별하고, 식별된 기능을 기반으로 장치 드라이버를 로딩하기 위해 사용되는 정보를 의미할 수 있다. 예를 들어, 클래스 코드 정보는 Bass Class, Sub Class 및 Protocol에 상응하는 3 바이트로 구성될 수 있으며, 장치 설명자 또는 인터페이스 설명자에 위치할 수 있다.
이 때, 일반적인 USB 기반의 저장장치는 사용자 단말에 연결되면, 연결된 장치가 어떤 제품인지에 대한 클래스 코드 정보를 사용자 단말에게 제공할 수 있다.
따라서, 본 발명에서는 사용자 단말과 저장장치의 사이에서 사용자 단말에 직접적으로 연결되는 랜섬웨어 차단 장치의 클래스 코드 정보를 변환함으로써 사용자 단말에서 저장장치가 연결된 것을 인식할 수 없도록 할 수 있다.
이 때, 사용자 단말의 USB 포트로 연결되는 랜섬웨어 차단 장치의 클래스 코드 정보는 벤더 스페시픽 클래스(OxFF)(VENDOR SPECIFIC CLASS)에 상응하고, 랜섬웨어 차단 장치의 USB 포트로 연결되는 저장장치의 클래스 코드 정보는 매스 스토리지 클래스(0x08)(MESS STORAGE CLASS)에 상응할 수 있다.
즉, 사용자 단말로 연결되는 랜섬웨어 차단 장치의 클래스 코드 정보를 일반적인 저장장치인 매스 스토리지 클래스(0x08)가 아닌 벤더 스페시픽 클래스(0xFF)로 설정함으로써 사용자 단말에서 랜섬웨어 차단 장치를 통해 USB 포트로 연결된 저장장치를 저장장치로 인식하지 못하도록 차단할 수 있다.
일반적으로 USB 호스트에 USB 디바이스가 연결되면 USB 호스트는 열거단계를 거치게 되는데, 열거 단계에서 USB 호스트는 USB 디바이스에 관한 정보를 읽어올 수 있다. 예를 들어, USB 호스트가 연결된 USB 디바이스에게 표준 USB 디스크립터 리퀘스트를 전달할 수 있고, 모든 USB 디바이스는 디스크립터에 디바이스에 대한 세부 정보를 저장함으로써 표준 USB 디스크립터 리퀘스트에 응답할 수 있다. 이 때, USB 호스트는 USB 디바이스의 디스크립터를 읽어서 USB 디바이스에 대한 정보를 획득할 수 있다. 이 때, 디스크립터의 bInterfaceClass 필드는 USB 디바이스가 속한 클래스를 알려주는데, 본 발명에서는 여기에 저장된 클래스 코드 정보를 대용량 저장장치(0x08)가 아닌 제조사 스펙(0xFF)으로 제공할 수 있다. 따라서, USB 호스트에 상응하는 사용자 단말에서 USB 디바이스에 상응하는 저장장치가 이동식 저장장치가 아닌 알 수 없는 장치로 인식하게 함으로써 윈도우 탐색기와 같은 탐색 장치에 잡히지 않게 하여 랜섬웨어로부터 저장장치를 보호할 수 있다.
예를 들어, 본 발명의 일실시예에 따른 저장장치가 연결된 상태의 랜섬웨어 차단 장치가 USB 포트를 기반으로 사용자 단말로 연결되었다고 가정한다면, 사용자 단말은 연결된 랜섬웨어 차단 장치에게 주소를 할당한 뒤 추가 정보를 요청할 수 있다. 이 때, 저장장치가 연결된 상태의 랜섬웨어 차단 장치는 도 4에 도시된 것처럼 표준화된 정보가 아니라, 도 5에 도시된 것처럼 표준화되지 않은 정보를 사용자 단말로 제공할 수 있다, 이 후, 랜섬웨어 차단 장치로부터 표준화되지 않은 정보를 수신한 사용자 단말은 랜섬웨어 차단 장치를 알 수 없는 장치로 인식하고, USB 드라이버를 제작하여 랜섬웨어 차단 장치와 통신을 수행할 수 있다.
이 때, 저장장치가 랜섬웨어 차단 장치를 통해 사용자 단말과 연결되어 있는 동안에는 사용자 단말에서 저장장치를 저장장치로 인식하지 못하지만, 저장장치가 랜섬웨어 차단 장치와 분리되어 직접 사용자 단말과 연결되면 사용자 단말에서도 저장장치를 인식할 수 있으므로, 저장장치는 독립적으로도 사용될 수 있다.
또한, 프로세서(1110)는 랜섬웨어 차단 프로그램을 통해 사용자 단말로부터 수신된 데이터를 저장장치의 규격에 상응하게 변환하여 저장장치로 전달한다.
이 때, 랜섬웨어 차단 프로그램은 사용자 단말과 저장장치 간의 데이터 송수신을 위해 필요한 전용 프로그램에 상응할 수 있다. 즉, 사용자 단말은 랜섬웨어 차단 장치에 의해 저장장치를 저장장치로 인식할 수 없으므로, 전용 프로그램인 랜섬웨어 차단 프로그램을 통해 저장장치의 기능을 사용할 수 있도록 할 수 있다.
이 때, 사용자 단말은 랜섬웨어 차단 프로그램을 통해 랜섬웨어 차단 장치로 접속하고, 랜섬웨어 차단 프로그램의 전용 프로토콜을 기반으로 랜섬웨어 차단 장치와 데이터를 송수신할 수 있다.
예를 들어, 도 3을 참조하면, 사용자 단말은 랜섬웨어 차단 프로그램을 통해 USB 인터페이스(310)로 연결된 랜섬웨어 차단 장치(300)로 접속할 수 있다. 이 후, 사용자 단말은 랜섬웨어 차단 프로그램의 전용 프로토콜을 기반으로 랜섬웨어 차단 장치(300)에게 저장할 데이터를 송신할 수 있고, 랜섬웨어 차단 장치(300)에서는 내부에 구비된 USB DATA PROTOCOL CONVERTER(320)를 이용하여 사용자 단말로부터 수신된 데이터를 매스 스토리지 클래스로 연결된 저장장치의 규격에 맞춰 변환할 수 있다. 이 후, 랜섬웨어 차단 장치(300)는 USB 인터페이스(330)로 연결된 저장장치에게 변환된 데이터를 전달하여 저장할 수 있다.
이 때, 프로세서(1110)는 사용자 단말로부터 전용 프로토콜에 상응하게 수신된 데이터를 매스 스토리지 클래스에 상응하는 프로토콜 규격으로 변환할 수 있다.
이 때, 전용 프로토콜은 수행 명령 정보, 세부 명령 정보, 데이터 길이, 세션 정보, 체크섬, 무결성 정보를 포함하는 헤더(HEADER) 부분과 전달할 데이터를 포함하는 데이터(DATA) 부분을 포함할 수 있다.
예를 들어, 도 6을 참조하면, 랜섬웨어 차단 프로그램의 전용 프로토콜(600)은 수행 명령 정보(610), 세부 명령 정보(620), 데이터 길이(630), 세션 정보(640), 체크섬(650) 및 무결성 정보(660)를 포함하는 헤더 부분과 전달할 데이터(670)를 포함하는 데이터 부분으로 구성될 수 있다.
이 때, 세션 정보(640)는 여러 개의 랜섬웨어 차단 프로그램이 실행되는 경우, 랜섬웨어 차단 프로그램과 랜섬웨어 차단 장치를 매칭하기 위한 값에 상응할 수 있다.
이 때, 체크섬(650)은 데이터 유효성 검증을 위한 값에 상응할 수 있으며, 무결성 정보(660)는 데이터 암호화 통신 후 복호화된 값의 무결성 확인을 위한 값에 상응할 수 있다.
이 때, 전달할 데이터(670)는 의미 그대로 보내고자 하는 데이터에 상응할 수 있다.
이 때, 수행 명령은 파일 요청, 파일 저장, 파일 리스트 요청, 파일 정보 요청 및 파일명 변경을 포함할 수 있다.
이 때, 랜섬웨어 차단 프로그램에서 헤더 부분을 통해 파일 요청, 파일 저장, 파일 리스트 요청, 파일 정보 요청 및 파일명 변경 등의 수행 명령 정보를 입력할 수 있고, 랜섬웨어 차단 프로그램 및 랜섬웨어 차단 장치에서 데이터 부분을 통해 전달할 데이터를 넣어서 송수신할 수 있다.
또한, 프로세서(1110)는 저장장치에서 읽어온 데이터를 랜섬웨어 차단 프로그램의 전용 프로토콜에 상응하는 규격으로 변환하여 사용자 단말로 전달할 수 있다.
예를 들어, 도 3을 참조하면, 사용자 단말이 랜섬웨어 차단 프로그램을 통해 랜섬웨어 차단 장치(300)로 접속하였다고 가정하면, 사용자 단말은 랜섬웨어 차단 프로그램을 통해 랜섬웨어 차단 장치(300)에게 저장장치의 용량과 저장장치에 저장되어 있는 폴더, 프로그램 및 파일에 관련된 정보를 요청할 수 있다. 이 후, 랜섬웨어 차단 장치(300)는 저장장치 내에 저장된 폴더, 프로그램 및 파일에 관련된 정보 및 저장장치 용량을 확인하여 사용자 단말로 알려줄 수 있다. 이 때, 랜섬웨어 차단 장치가 저장장치로부터 획득한 데이터는 USB 표준 규격인 대용량 저장장치에 상응하는 규격의 데이터에 상응하지만, 랜섬웨어 차단 장치는 사용자 단말과 연결 시 대용량 저장장치로 설정되어 있지 않으므로, 저장장치에서 읽어온 데이터를 랜섬웨어 차단 프로그램의 전용 프로토콜에 상응하게 변환하여 사용자 단말로 제공해줄 수 있다.
이 때, 프로세서(1110)는 사용자 단말로부터 수신된 데이터에 대한 바이러스 검사를 수행할 수 있다.
예를 들어, 도 7을 참조하면, 본 발명의 일실시예에 따른 랜섬웨어 차단 방법은 랜섬웨어 차단 프로그램을 통해 사용자 단말로부터 데이터 저장 요청이 수신되면(S710), 랜섬웨어 차단 장치가 사용자 단말로부터 전달된 데이터에 바이러스가 존재하는지 검사를 수행할 수 있다(S715).
이 때, 단계(S715)의 검사결과 바이러스가 존재하지 않는 것으로 확인되면, 사용자 단말로부터 전달된 데이터의 프로토콜 규격을 저장장치에 상응하게 변환하여(S720) 저장장치로 전달할 수 있다(S730).
또한, 단계(S715)의 검사결과 사용자 단말로부터 전달된 데이터에 바이러스가 존재하면, 사용자 단말에게 바이러스 경고를 알림으로써 전달하려는 데이터에 바이러스가 존재함을 알릴 수 있다(S740).
이 때, 저장장치는 내부 용량을 분할하여 메인 디스크(MAIN DISK)와 백업 디스크(BACKUP DISK)를 생성할 수 있다.
예를 들어, 도 8에 도시된 것처럼, 본 발명의 일실시예에 따른 저장장치(800)는 내부 저장소의 용량을 절반으로 분할하여 메인 디스크(810)와 백업 디스크(820)를 각각 생성할 수 있다.
이 때, 저장장치는 랜섬웨어 차단 장치로부터 최초로 전달되는 데이터를 메인 디스크와 백업 디스크에 각각 저장할 수 있다.
예를 들어, 도 9를 참조하면, 랜섬웨어 차단 장치(900)를 통해 사용자 단말(910)로부터 최초로 전달되는 최초 데이터(901)는, 랜섬웨어 차단 장치(900)의 내부에서 바이러스 검사를 거쳐 저장장치(920)의 프로토콜 규격에 상응하는 데이터로 변환될 수 있다. 이 후, 랜섬웨어 차단 장치(900)는 변환된 최초 데이터를 각각 저장장치(920)의 메인 디스크와 백업 디스크에 메인 데이터(901-1)와 백업 데이터(901-2)로 저장할 수 있는데, 백업 데이터(901-2)는 랜섬웨어 공격에 의해 메인 디스크를 사용할 수 없게 되었을 경우에 복구를 위해 사용될 수도 있다.
이 때, 도 9에 도시된 메인 데이터(901-1)와 백업 데이터(901-2)는 저장장치(920)의 메인 디스크로 저장되는 것과 백업 디스크로 저장되는 것을 구별하기 위한 것일 뿐 동일한 데이터에 해당한다.
이 때, 메인 디스크에 저장된 데이터에 변경이 발생하는 경우, 변경이 발생한 메인 데이터와 백업 디스크에 저장된 백업 데이터를 바이트 단위로 비교하고, 데이터간 오차가 기설정된 오차범위 이상일 경우에 바이러스 검사를 수행할 수 있다.
즉, 도 9를 예로 들어 설명하면, 랜섬웨어가 저장장치(920)의 메인 디스크에 저장된 메인 데이터(901-1)에 대해 임의로 변경을 수행하는 경우, 메인 데이터(901-1)와 백업 데이터(901-2)를 바이트 단위로 비교할 수 있다. 이 때, 기설정된 오차범위를 파일용량의 25%라고 가정하고, 메인 데이터(901-1)에서 변경된 부분이 25% 이상이라면 랜섬웨어 차단 장치(900)가 메인 데이터(901-1)에 대해 바이러스 검사를 수행할 수 있다.
이 때, 바이러스 검사 결과, 변경이 발생한 메인 데이터에서 이상이 발견되는 경우, 사용자 단말로 파일을 확인하라는 경고를 제공할 수 있다.
이 때, 저장장치는 데이터간 오차가 기설정된 오차범위 미만이거나, 바이러스 검사 결과 이상이 발견되지 않는 경우에는 변경이 발생한 메인 데이터로 백업 데이터를 업데이트할 수 있다.
이하에서는 도 10을 참조하여, 변경된 메인 데이터에 대한 바이러스 검사를 수행하는 과정을 보다 상세하게 설명하도록 한다.
먼저, 도 10을 참조하면, 랜섬웨어 차단 장치가 저장장치에 저장된 메인 데이터에 대한 변경을 감지하면(S1010), 변경된 메인 데이터와 해당 메인 데이터에 상응하게 백업된 백업 데이터를 바이트 단위로 비교할 수 있다(S1020).
이 후, 비교한 데이터 간의 오차가 기설정된 오차범위 이상인지 여부를 판단하고(S1025), 데이터간 오차가 기설정된 범위 이상이면 메인 데이터에 바이러스가 존재하는지 여부를 검사할 수 있다(S1035).
단계(S1035)의 검사결과 메인 데이터에 바이러스가 존재하지 않으면, 변경된 메인 데이터를 이용하여 백업 데이터를 업데이트할 수 있다(S1040).
또한, 단계(S1035)의 검사결과 메인 데이터에 바이러스가 존재하면, 사용자 단말에게 메인 데이터에 바이러스 경고 알림을 발생시킬 수 있다(S1050).
또한, 단계(S1025)에서 데이터간 오차가 기설정된 오차범위 미만이면, 바이러스 검사를 수행하지 않고 바로 변경된 메인 데이터를 이용하여 백업 데이터를 업데이트할 수 있다(S1040).
메모리(1120)는 랜섬웨어 차단 프로그램을 통해 사용자 단말로부터 수신된 데이터를 저장한다.
또한, 메모리(1120)는 랜섬웨어 차단 과정에서 발생하는 다양한 정보를 저장할 수도 있다.
이와 같은 랜섬웨어 차단 장치를 이용함으로써 사용자 단말에서 저장장치가 연결된 것을 인식하지 못하도록 차단함으로써 랜섬웨어가 저장장치로 확산되는 것을 방지할 수 있다.
또한, 별도의 랜섬웨어 차단 프로그램을 기반으로 사용자 단말과 저장장치 사이의 데이터를 송수신하도록 제어함으로써 랜섬웨어의 공격으로부터 안전한 데이터 송수신 환경을 제공할 수 있으며, 랜섬웨어 공격을 받더라도 저장장치의 내부에 준비된 백업 디스크를 통해 피해를 신속하게 복구할 수도 있다.
도 12는 본 발명의 다른 실시예에 따른 랜섬웨어 차단 장치를 나타낸 블록도이다.
도 12를 참조하면, 본 발명의 다른 실시예에 따른 랜섬웨어 차단 장치(1200)는 사용자 단말과 연결하기 위한 USB 인터페이스(USB Device), 저장장치와 연결하기 위한 USB 인터페이스(USB Host), 컴퓨터의 중앙처리장치(CPU)와 같은 역할을 수행하는 AP(Application) 또는 MCU(Micro Controller Unit), 전원을 제공하는 Power, Power를 제어하는 Power Controller, 일정한 규격의 전압을 제공하기 위한 Regulator, 보조 기억 장치에 상응하는 Memory Peripheral 및 주 기억 장치에 상응하는 Memory를 포함할 수 있다.
이 때, 도 12에 도시된 랜섬웨어 차단 장치는 도 11에 도시된 랜섬웨어 차단 장치와 동일하게 동작할 수 있으며, AP(Application) 또는 MCU(Micro Controller Unit)를 통해 도 11에 도시된 프로세서(1110)의 기능을 수행할 수 있다.
또한, Memory Peripheral 및 Memory를 통해 도 11에 도시된 메모리(1120)으 기능을 수행할 수도 있다.
이상에서와 같이 본 발명에 따른 랜섬웨어 차단 방법 및 이를 위한 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100, 300, 900, 1200: 랜섬웨어 차단 장치
110, 910: 사용자 단말 120, 800, 920: 저장장치
310, 330: USB 인터페이스 320: USB 데이터 프로토콜 컨버터
600: 전용 프로토콜 610: 수행 명령 정보
620: 세부 명령 정보 630: 데이터 길이
640: 세션 정보 650: 체크섬
660: 무결성 정보 670: 전달할 데이터
810: 메인 디스크 820: 백업 디스크
901: 최초 데이터 901-1: 메인 데이터
901-2: 백업 데이터 1110: 프로세서
1120: 메모리

Claims (20)

  1. USB 포트를 기반으로 사용자 단말과 저장장치를 연결하는 랜섬웨어 차단 장치가, 클래스 코드 정보(CLASS CODE INFORMATION)를 이용하여 상기 사용자 단말에서 상기 저장장치를 인식할 수 없도록 차단하는 단계; 및
    상기 랜섬웨어 차단 장치가, 랜섬웨어 차단 프로그램을 통해 상기 사용자 단말로부터 수신된 데이터를 상기 저장장치의 규격에 상응하게 변환하여 상기 저장장치로 전달하는 단계
    를 포함하고,
    상기 전달하는 단계는
    상기 사용자 단말로부터 수신된 데이터에 대한 바이러스 검사를 수행하는 단계를 포함하고,
    상기 바이러스 검사를 수행하는 단계는
    상기 저장장치의 메인 디스크에 저장된 데이터에 변경이 발생하는 경우에 변경이 발생한 메인 데이터와 상기 저장장치의 백업 디스크에 저장된 백업 데이터를 바이트 단위로 비교하고, 데이터간 오차가 기설정된 오차범위 이상일 경우에 상기 바이러스 검사를 수행하는 것을 특징으로 하는 랜섬웨어 차단 방법.
  2. 청구항 1에 있어서,
    상기 사용자 단말의 USB 포트로 연결되는 상기 랜섬웨어 차단 장치의 클래스 코드 정보는 벤더 스페시픽 클래스(OxFF)(VENDOR SPECIFIC CLASS)에 상응하고,
    상기 랜섬웨어 차단 장치의 USB 포트로 연결되는 상기 저장장치의 클래스 코드 정보는 매스 스토리지 클래스(0x08)(MESS STORAGE CLASS)에 상응하는 것을 특징으로 하는 랜섬웨어 차단 방법.
  3. 청구항 2에 있어서,
    상기 사용자 단말은
    상기 랜섬웨어 차단 프로그램을 통해 상기 랜섬웨어 차단 장치로 접속하고, 상기 랜섬웨어 차단 프로그램의 전용 프로토콜을 기반으로 상기 랜섬웨어 차단 장치와 데이터를 송수신하는 것을 특징으로 하는 랜섬웨어 차단 방법.
  4. 청구항 3에 있어서,
    상기 랜섬웨어 차단 장치는
    상기 사용자 단말로부터 상기 전용 프로토콜에 상응하게 수신된 데이터를 상기 매스 스토리지 클래스에 상응하는 프로토콜 규격으로 변환하는 것을 특징으로 하는 랜섬웨어 차단 방법.
  5. 청구항 4에 있어서,
    상기 전용 프로토콜은
    수행 명령 정보, 세부 명령 정보, 데이터 길이, 세션 정보, 체크섬, 무결성 정보를 포함하는 헤더(HEADER) 부분과 전달할 데이터를 포함하는 데이터(DATA) 부분을 포함하는 것을 특징으로 하는 랜섬웨어 차단 방법.
  6. 청구항 5에 있어서,
    상기 수행 명령은
    파일 요청, 파일 저장, 파일 리스트 요청, 파일 정보 요청 및 파일명 변경을 포함하는 것을 특징으로 하는 랜섬웨어 차단 방법.
  7. 삭제
  8. 청구항 1에 있어서,
    상기 저장장치는
    내부 용량을 분할하여 메인 디스크(MAIN DISK)와 백업 디스크(BACKUP DISK)를 생성하고, 상기 랜섬웨어 차단 장치로부터 최초로 전달되는 데이터를 상기 메인 디스크와 상기 백업 디스크에 각각 저장하는 것을 특징으로 하는 랜섬웨어 차단 방법.
  9. 삭제
  10. 청구항 1에 있어서,
    상기 저장장치는
    상기 데이터간 오차가 기설정된 오차범위 미만이거나, 바이러스 검사 결과 이상이 발견되지 않는 경우에는 상기 변경이 발생한 메인 데이터로 상기 백업 데이터를 업데이트하는 것을 특징으로 하는 랜섬웨어 차단 방법.
  11. USB 포트를 기반으로 사용자 단말과 저장장치를 연결하되, 클래스 코드 정보(CLASS CODE INFORMATION)를 이용하여 상기 사용자 단말에서 상기 저장장치를 인식할 수 없도록 차단하고, 랜섬웨어 차단 프로그램을 통해 상기 사용자 단말로부터 수신된 데이터를 상기 저장장치의 규격에 상응하게 변환하여 상기 저장장치로 전달하는 프로세서; 및
    상기 랜섬웨어 차단 프로그램을 통해 상기 사용자 단말로부터 수신된 데이터를 저장하는 메모리
    를 포함하고,
    상기 프로세서는
    상기 사용자 단말로부터 수신된 데이터에 대한 바이러스 검사를 수행하되, 상기 저장장치의 메인 디스크에 저장된 데이터에 변경이 발생하는 경우에 변경이 발생한 메인 데이터와 상기 저장장치의 백업 디스크에 저장된 백업 데이터를 바이트 단위로 비교하고, 데이터간 오차가 기설정된 오차범위 이상일 경우에 상기 바이러스 검사를 수행하는 것을 특징으로 하는 랜섬웨어 차단 장치.
  12. 청구항 11에 있어서,
    상기 사용자 단말의 USB 포트로 연결되는 상기 랜섬웨어 차단 장치의 클래스 코드 정보는 벤더 스페시픽 클래스(OxFF)(VENDOR SPECIFIC CLASS)에 상응하고,
    상기 랜섬웨어 차단 장치의 USB 포트로 연결되는 상기 저장장치의 클래스 코드 정보는 매스 스토리지 클래스(0x08)(MESS STORAGE CLASS)에 상응하는 것을 특징으로 하는 랜섬웨어 차단 장치.
  13. 청구항 12에 있어서,
    상기 프로세서는
    상기 랜섬웨어 차단 프로그램을 통해 상기 사용자 단말의 접속을 감지하고, 상기 랜섬웨어 차단 프로그램의 전용 프로토콜을 기반으로 상기 사용자 단말과 데이터를 송수신하는 것을 특징으로 하는 랜섬웨어 차단 장치.
  14. 청구항 13에 있어서,
    상기 프로세서는
    상기 사용자 단말로부터 상기 전용 프로토콜에 상응하게 수신된 데이터를 상기 매스 스토리지 클래스에 상응하는 프로토콜 규격으로 변환하는 것을 특징으로 하는 랜섬웨어 차단 장치.
  15. 청구항 14에 있어서,
    상기 전용 프로토콜은
    수행 명령 정보, 세부 명령 정보, 데이터 길이, 세션 정보, 체크섬, 무결성 정보를 포함하는 헤더(HEADER) 부분과 전달할 데이터를 포함하는 데이터(DATA) 부분을 포함하는 것을 특징으로 하는 랜섬웨어 차단 장치.
  16. 청구항 15에 있어서,
    상기 수행 명령은
    파일 요청, 파일 저장, 파일 리스트 요청, 파일 정보 요청 및 파일명 변경을 포함하는 것을 특징으로 하는 랜섬웨어 차단 장치.
  17. 삭제
  18. 청구항 11에 있어서,
    상기 저장장치에게 최초로 전달되는 데이터는 상기 저장장치의 내부 용량을 분할하여 생성된 메인 디스크(MAIN DISK)와 백업 디스크(BACKUP DISK)에 각각 저장되는 것을 특징으로 하는 랜섬웨어 차단 장치.
  19. 삭제
  20. 청구항 11에 있어서,
    상기 데이터간 오차가 기설정된 오차범위 미만이거나, 바이러스 검사 결과 이상이 발견되지 않는 경우, 상기 백업 데이터가 상기 변경이 발생한 메인 데이터로 업데이트되는 것을 특징으로 하는 랜섬웨어 차단 장치.
KR1020190117706A 2019-09-24 2019-09-24 랜섬웨어 차단 방법 및 이를 위한 장치 KR102262099B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190117706A KR102262099B1 (ko) 2019-09-24 2019-09-24 랜섬웨어 차단 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190117706A KR102262099B1 (ko) 2019-09-24 2019-09-24 랜섬웨어 차단 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20210035969A KR20210035969A (ko) 2021-04-02
KR102262099B1 true KR102262099B1 (ko) 2021-06-09

Family

ID=75466521

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190117706A KR102262099B1 (ko) 2019-09-24 2019-09-24 랜섬웨어 차단 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR102262099B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101920866B1 (ko) * 2017-05-18 2018-11-21 김덕우 독립된 복원영역을 갖는 보조기억장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101042246B1 (ko) * 2009-10-09 2011-06-17 한국전자통신연구원 침해방지용 보안 usb 커넥터 및 이를 이용한 침해 방지 시스템
KR102387657B1 (ko) * 2017-08-23 2022-04-19 삼성전자주식회사 Usb 인터페이스를 통해 외부 장치와 연결하는 방법 및 그를 위한 전자 장치
KR20190091696A (ko) 2018-01-29 2019-08-07 주식회사 케이티 랜섬웨어 확산 차단 장치 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101920866B1 (ko) * 2017-05-18 2018-11-21 김덕우 독립된 복원영역을 갖는 보조기억장치

Also Published As

Publication number Publication date
KR20210035969A (ko) 2021-04-02

Similar Documents

Publication Publication Date Title
CN109933283B (zh) 直接主机访问存储装置存储空间
US11829776B2 (en) Integrated circuit device that includes a protected memory component for transmitting protected data over a communication interface
US8255930B2 (en) Method and system for dynamically switching between different device configurations
US6038320A (en) Computer security key
US11334510B1 (en) Systems and methods for combination write blocking with connection interface control devices
KR101548437B1 (ko) 휴대용 디바이스의 드라이버(들)를 휴대용 디바이스에 통합하는 방법 및 장치
CA2496849A1 (en) Method and apparatus for preventing un-authorized computer data access
US8856918B1 (en) Host validation mechanism for preserving integrity of portable storage data
US10102089B2 (en) Input/output (I/O) device configuration signature
KR20070088389A (ko) 데이터 처리 장치 및 데이터 처리 방법
US20190238560A1 (en) Systems and methods to provide secure storage
US20130124877A1 (en) Communication method, communication equipment, and storage equipment
CN112507319A (zh) 一种NVMe-oF存储系统的数据安全保护方法及装置
WO2006092042A1 (en) A method and protocol for transmitting extended commands to usb devices
KR102262099B1 (ko) 랜섬웨어 차단 방법 및 이를 위한 장치
US11023575B2 (en) Security sanitization of USB devices
US20070198753A1 (en) Method and protocol for transmitting extended commands to USB devices
US11941264B2 (en) Data storage apparatus with variable computer file system
US9747427B2 (en) Storage device reader having security function and security method using thereof
US11301567B2 (en) Systems and methods for automatic boot to authenticated external device
US10637877B1 (en) Network computer security system
US11216402B2 (en) Storage system and control method thereof
US20150302211A1 (en) Removable storage medium security system and method thereof
US11416434B2 (en) System and method for re-enumerating a secured drive dynamically within an operating system
US11954333B2 (en) Secured firmware with anti-malware

Legal Events

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