[go: nahoru, domu]

KR101135629B1 - Method and apparatus for preventing autorun of portable USB storage - Google Patents

Method and apparatus for preventing autorun of portable USB storage Download PDF

Info

Publication number
KR101135629B1
KR101135629B1 KR1020090101790A KR20090101790A KR101135629B1 KR 101135629 B1 KR101135629 B1 KR 101135629B1 KR 1020090101790 A KR1020090101790 A KR 1020090101790A KR 20090101790 A KR20090101790 A KR 20090101790A KR 101135629 B1 KR101135629 B1 KR 101135629B1
Authority
KR
South Korea
Prior art keywords
file
automatic execution
autorun
storage device
entry
Prior art date
Application number
KR1020090101790A
Other languages
Korean (ko)
Other versions
KR20110045289A (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 KR1020090101790A priority Critical patent/KR101135629B1/en
Priority to US12/849,068 priority patent/US9613207B2/en
Publication of KR20110045289A publication Critical patent/KR20110045289A/en
Application granted granted Critical
Publication of KR101135629B1 publication Critical patent/KR101135629B1/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
    • 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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 USB 방식의 이동형 저장장치의 자동실행을 방지하기 위해 자동 실행시에 사용되는 자동실행 파일을 생성하여 임의의 사용자나 웜바이러스가 자동실행 파일을 조작할 수 없도록 만드는 기술에 관한 것으로서, 실시예에 따른 자동실행방지 방법은, 루트 디렉토리의 마스터 파일 테이블 엔트리(Master File Table Entry) 및 자동실행파일의 마스터 파일 테이블 엔트리 중 적어도 하나에 엑세스하는 단계 및 엑세스한 적어도 하나의 마스터 파일 테이블 엔트리에 자동실행방지를 설정하는 단계를 포함한다.The present invention relates to a technology for creating an autorun file used at the time of autorun to prevent autorun of a USB type of removable storage device so that any user or worm virus cannot manipulate the autorun file. The automatic execution prevention method according to an example may include accessing at least one of a master file table entry of a root directory and a master file table entry of an autoexecution file and automatically accessing at least one master file table entry accessed. Setting execution prevention.

자동실행방지, Autorun, USB, NTFS Autorun Prevention, Autorun, USB, NTFS

Description

이동형 USB 저장장치의 자동실행방지 방법 및 장치{Method and apparatus for preventing autorun of portable USB storage} Method and apparatus for preventing autorun of portable USB storage device {Method and apparatus for preventing autorun of portable USB storage}

본 발명은 이동형 USB저장장치의 자동실행방지 기능 설정에 관한 것으로서, 보다 상세하게는 자동실행에 관한 설정 파일인 Autorun.inf에 대해 임의 삭제 및 접근을 방지할 수 있도록 하는 방법 및 장치에 관한 것이다.The present invention relates to an automatic execution prevention function setting of a portable USB storage device. More particularly, the present invention relates to a method and an apparatus for preventing random deletion and access to an automatic execution setting file, Autorun.inf.

윈도우의 자동실행(Autorun) 기능은 CD, DVD 같은 미디어나 USB 메모리를 컴퓨터에 삽입했을 때 자동으로 프로그램을 실행시키는 기술이다. 최근 USB와 같은 이동형 저장장치가 데이터 이동수단으로서 일반화되면서 자동실행 기능도 범용적으로 사용되고 있다. Windows' Autorun feature is a technology that automatically runs programs when you insert media such as CDs or DVDs or USB memory into your computer. Recently, as a portable storage device such as USB has become common as a data moving means, an automatic execution function is also widely used.

하지만 최근에는 USB와 같은 이동형 저장장치의 자동실행 기능이 바이러스나 웜과 같은 악성코드의 전파 감염의 수단으로 악용되고 있다. 최근 많은 PC를 감염시킨‘컨피커(Confiker)’, ‘2090 바이러스’등은 감염된 USB를 컴퓨터에 장착하는 순간 윈도우 운영체제의 자동실행 기능에 의해 해당 컴퓨터에 복제되고, 그로 인해 해당 컴퓨터는 악성코드에 감염된다.Recently, however, the automatic execution function of portable storage devices such as USB has been used as a means of spreading infections of malicious codes such as viruses and worms. Recently, 'Confiker' and '2090 Virus', which infected many PCs, are copied to the computer by the auto-run function of the Windows operating system as soon as the infected USB is installed on the computer. Infected.

따라서 USB 방식의 저장장치 자체에서 자동실행을 방지함으로써 전파와 감염 을 막는 방법이 필요하다.Therefore, there is a need for a method of preventing the transmission and infection by preventing automatic execution in the USB storage device itself.

이에 본 발명이 이루고자 하는 기술적 과제는 이동형 저장장치의 NTFS 파일시스템이 가진 볼륨을 인식하고, 자동실행 파일에 관해 삭제 및 접근이 불가능하도록 설정하는 방법 및 장치를 제공하기 위한 것이다.Accordingly, an aspect of the present invention is to provide a method and apparatus for recognizing a volume included in an NTFS file system of a removable storage device, and for deleting and accessing an autorun file.

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

전술한 목적을 달성하기 위한 본 발명의 일면에 따른 자동실행방지 방법은, 루트 디렉토리의 마스터 파일 테이블 엔트리(Master File Table Entry) 및 자동실행파일의 마스터 파일 테이블 엔트리 중 적어도 하나에 엑세스하는 단계 및 엑세스한 상기 적어도 하나의 마스터 파일 테이블 엔트리에 자동실행방지를 설정하는 단계 를 포함한다.According to an aspect of the present invention, an automatic execution prevention method includes: accessing and accessing at least one of a master file table entry of a root directory and a master file table entry of an automatic execution file; Setting an automatic execution prevention on the at least one master file table entry.

본 발명의 다른 면에 따른 자동실행방지 장치는, 이동형 저장장치에 엑세스하는 엑세스 모듈 및 이동형 저장장치의 볼륨에 자동실행방지가 설정되어 있는지 검사하고, 자동실행방지가 설정되어 있지 않은 경우 자동실행방지를 설정하는 자동실행방지 모듈을 포함한다.According to another aspect of the present invention, the automatic execution prevention device checks whether the automatic execution prevention is set in the volume of the access module and the removable storage device that accesses the portable storage device, and prevents the automatic execution if the automatic execution prevention is not set. It includes an automatic execution prevention module to set.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and the drawings.

본 발명의 실시예에 따르면, 본 발명은 USB 방식의 이동형 저장장치에 직접 자동실행방지를 설정함으로써, 어떠한 PC에 장착되어 사용되는 경우에도 USB 방식의 이동형 저장장치로의 웜 바이러스의 전파 감염을 방지하는 효과를 제공한다.According to an embodiment of the present invention, the present invention sets the automatic execution prevention directly to a USB type portable storage device, thereby preventing the transmission of worm virus to the USB type portable storage device even when mounted on any PC. To provide the effect.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various forms, and only the present embodiments are intended to complete the disclosure of the present invention, and the general knowledge in the art to which the present invention pertains. It is provided to fully convey the scope of the invention to those skilled in the art, and the present invention is defined only by the scope of the claims. It is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. As used herein, “comprises” and / or “comprising” refers to the presence of one or more other components, steps, operations and / or elements. Or does not exclude additions.

이하에서 이동형 저장장치는 파일 시스템으로서 NTFS를 구비한 USB 방식의 저장장치인 경우를 예로 들어 설명한다. In the following description, a removable storage device is a USB storage device having NTFS as a file system.

도 1 내지 도 3를 참조하여 본 발명의 실시예에 따른 이동형 저장장치의 자동실행방지 방법 및 장치를 설명한다. 도 1은 본 발명의 실시예에 따른 자동실행방 지 장치를 설명하기 위한 블록도이고, 도 2는 이동형 저장장치에 자동실행 방지 기능이 설정되어 있는지 여부를 검사하는 방법을 나타내는 순서도이고, 도 3은 이동형 저장장치에 자동실행방지 기능을 설정하는 방법을 나타내는 순서도이다.A method and apparatus for preventing automatic execution of a mobile storage device according to an embodiment of the present invention will be described with reference to FIGS. 1 to 3. 1 is a block diagram illustrating an automatic execution prevention apparatus according to an embodiment of the present invention, Figure 2 is a flow chart showing a method for checking whether the automatic execution prevention function is set in the removable storage device, Figure 3 Is a flowchart illustrating a method of setting an automatic execution prevention function in a removable storage device.

도 1을 참조하면 실시예에 따른 자동실행방지 장치는 엑세스 모듈(100), 볼륨/파일시스템 인식모듈(200)과 자동실행방지 모듈(300, 400) 및 사용자 인터페이스 모듈(500) 을 포함한다.Referring to FIG. 1, the apparatus for preventing automatic execution according to the embodiment includes an access module 100, a volume / file system recognition module 200, an automatic execution prevention module 300, 400, and a user interface module 500.

엑세스 모듈(100) 은 USB 저장장치(600)에 대해 엑세스하여 데이터를 읽고, 쓰는 작업을 수행한다.The access module 100 accesses the USB storage device 600 to read and write data.

볼륨/파일시스템 인식모듈(200)은 USB 저장장치(600)의 정보를 얻어 각 볼륨의 드라이브 명과 볼륨에 존재하는 파일시스템을 인식한다(S210).The volume / file system recognition module 200 obtains information of the USB storage device 600 and recognizes a drive name of each volume and a file system existing in the volume (S210).

자동실행방지 모듈(300, 400)은 USB 저장장치(600)에 자동실행방지가 설정되어 있는지 검사하고, 자동실행방지가 설정되어 있지 않은 경우에는 자동실행방지를 설정한다. 이러한 자동실행방지 모듈(300, 400)은 자동실행방지 검사부(300)와 자동실행방지 설정부(400)를 포함한다.The automatic execution prevention module 300 or 400 checks whether the automatic execution prevention is set in the USB storage device 600, and sets the automatic execution prevention if the automatic execution prevention is not set. The automatic execution prevention module 300, 400 includes an automatic execution prevention inspection unit 300 and an automatic execution prevention setting unit 400.

자동실행방지 검사부(300)는 USB 저장장치(600)에 자동실행방지 설정이 적용되어 있는지를 검사하고(S220), 사용자 인터페이스 모듈(500)을 통해 자동실행방지가 설정되어 있는지 여부에 대한 정보를 제공한다(S230). The automatic execution prevention inspection unit 300 checks whether the automatic execution prevention setting is applied to the USB storage device 600 (S220), and provides information on whether the automatic execution prevention is set through the user interface module 500. Provided (S230).

자동실행방지 설정부(400)는 자동실행방지 검사부(300)에서 자동실행방지 설정 여부를 판단한 정보로부터 자동실행방지가 설정되지 않은 볼륨에 대하여 자동실행방지를 설정한다. 예컨대 이동형 저장장치의 디스크에 직접 접근하여 루트 디렉 토리의 인덱스 속성을 조작(또는 변경)하여 Autorun.inf 파일에의 접근을 방지할 수 있다. 그리고 자동실행 파일의 마스터 파일 테이블 엔트리(Master File Table Entry, 이하 MFT Entry라 함)의 속성을 조작(또는 변경)하여 자동실행 파일에의 접근을 방지할 수 있다. The automatic execution prevention setting unit 400 sets the automatic execution prevention for the volume for which the automatic execution prevention is not set from the information determined by the automatic execution prevention checking unit 300 whether the automatic execution prevention is set. For example, access to the Autorun.inf file can be prevented by directly accessing the disk of the removable storage device and manipulating (or changing) the index attribute of the root directory. In addition, access to the autorun file may be prevented by manipulating (or changing) an attribute of the master file table entry (hereinafter referred to as MFT entry) of the autorun file.

구체적으로, 볼륨/파일시스템 인식모듈(200)이 USB 저장장치(600)의 볼륨을 인식한 후 파일시스템에 관한 정보를 획득하면(S310), 자동실행방지 설정부(400)는 루트 디렉토리의 MFT Entry에 접근하여(S320), MFT Entry에 자동실행방지를 설정할 수 있다(S330). 그리고 자동실행 파일, 예컨대 Autorun.inf 파일(이하 자동실행 파일이 Autorun.inf 파일인 경우를 예로 들어 설명함)의 MFT Entry에 접근하여(S340), MFT Entry에 자동실행방지를 설정한다(S350). Specifically, when the volume / file system recognition module 200 acquires information about the file system after recognizing the volume of the USB storage device (600) (S310), the automatic execution prevention setting unit 400 is the MFT of the root directory By accessing the entry (S320), it is possible to set the automatic execution prevention in the MFT entry (S330). Then, by accessing the MFT Entry of the autorun file, for example, the Autorun.inf file (hereinafter, the autorun file is an Autorun.inf file as an example), autorun prevention is set in the MFT Entry (S350). .

만약, USB 저장장치(600)에 Autorun.inf 파일이 존재하지 않는 경우에는 Autorun.inf를 생성하고, 생성된 Autorun.inf 파일의 MFT Entry에 자동실행방지를 설정할 수 있다. 또는 이미 기존에 Autorun.inf이 존재하는 경우에는, 기존에 존재하는 Autorun.inf 파일을 백업하고, 새로이 Autorun.inf 파일을 생성하고, 생성된 Autorun.inf 파일의 MFT Entry에 자동실행방지를 설정할 수 있다. 또한 Autorun.inf 파일 파일 생성시에 보안 기술자(security descriptor)를 이용하여 Autorun.inf 파일으로의 접근을 방지할 수 있다. 또는 전술한 바와 같이, 속성이 조작(또는 변경)된 자동실행 파일을 삭제할 수 없도록 할 수 있다. 이에 관한 상세한 설명은 도 8을 참조하여 후술한다.If the Autorun.inf file does not exist in the USB storage device 600, Autorun.inf may be generated and autorun prevention may be set in the MFT entry of the generated Autorun.inf file. Alternatively, if Autorun.inf already exists, you can back up the existing Autorun.inf file, create a new Autorun.inf file, and set autorun protection on the MFT Entry of the created Autorun.inf file. have. In addition, access to the Autorun.inf file can be prevented by using a security descriptor when generating the Autorun.inf file. Alternatively, as described above, the autorun file whose attributes are manipulated (or changed) may not be deleted. Detailed description thereof will be described later with reference to FIG. 8.

한편, 사용자 인터페이스 모듈(500)은 볼륨/파일시스템 인식모듈(200)(400) 에서 인식된 볼륨들의 드라이브 명, 파일시스템 정보, 자동실행방지 설정 여부를 사용자에게 제공한다.Meanwhile, the user interface module 500 provides a user with a drive name, file system information, and automatic execution prevention setting of the volumes recognized by the volume / file system recognition module 200 and 400.

이와 같이 본 발명의 실시예에 따른 자동실행방지 방법 및 장치는, PC에 장착된 USB 방식의 이동식 저장장치(600)를 분석하여 볼륨과 파일시스템을 인식하고, 자동실행방지 설정 여부를 파악하여 설정되지 않은 볼륨에 대해 자동실행방지 기능을 설정한다. 즉, 이동식 저장장치(600) 자체에 자동실행방지 기능을 설정함으로써, 어떠한 PC에 장착되어도 자동실행에 따른 바이러스 감염을 막을 수 있다.As described above, the automatic execution prevention method and apparatus according to an embodiment of the present invention analyzes a USB type removable storage device 600 mounted on a PC, recognizes a volume and a file system, and determines whether to set automatic execution prevention. Enable autorun protection for volumes that are not yet created. That is, by setting the automatic execution prevention function on the removable storage device 600 itself, it is possible to prevent virus infection due to automatic execution even if mounted on any PC.

좀더 구체적으로 예를 들어 실시예에 따른 자동실행방지 방법 및 장치를 설명하기에 앞서, 도 4 내지 도 7을 참조하여 NTFS의 마스터 파일 테이블(Master File Table, 이하 MFT라 함) 및 MFT Entry에 대해 설명한다. 도 4는 NTFS의 구조를 나타내는 개념도이고, 도 5는 도 4의 각 MFT Entry 구조를 나타내는 개념도이고, 도 6은 MFT Entry 의 속성 중 하나인 $INDEX_ROOT 속성을 나타내는 개념도이고, 도 7은 MFT Entry 의 속성 중 하나인 $INDEX_ALLOCATION 속성을 나타내는 개념도이다. More specifically, for example, before describing the automatic execution prevention method and apparatus according to the embodiment, with reference to FIGS. 4 to 7 for the Master File Table (hereinafter referred to as MFT) and MFT Entry of NTFS. Explain. 4 is a conceptual diagram illustrating the structure of NTFS, FIG. 5 is a conceptual diagram illustrating each MFT Entry structure of FIG. 4, FIG. 6 is a conceptual diagram illustrating a $ INDEX_ROOT attribute, which is one of attributes of an MFT Entry, and FIG. 7 is a diagram of an MFT Entry. This is a conceptual diagram showing the $ INDEX_ALLOCATION property, which is one of the properties.

도 4를 참조하여 NTFS의 구조를 설명하면, NTFS은 부트 영역과 MFT 영역 그리고 데이터 영역으로 구분할 수 있다. NTFS는 MFT를 통해 파일과 디렉토리를 관리하며, 실제 정보는 Data 영역에 저장되어 있다. MFT는 MFT Entry의 집합으로, 하나의 MFT Entry는 하나의 파일 또는 디렉토리에 대한 정보를 담고 있다. 통상 하나의 MFT Entry에는 하나의 파일 또는 디렉토리의 정보가 저장되며, 하나의 MFT Entry에 파일 또는 디렉토리의 정보가 다 저장될 수 없다면, 여러 개의 MFT Entry에 나눠 저장된다. 파일 또는 디렉토리의 정보가 여러 MFT Entry에 나눠 저장될 때, 기본 MFT Entry를 Base MFT Entry라 하며, Base MFT Entry를 제외한 나머지 MFT Entry를 non-Base MFT Entry라 한다. MFT Entry의 크기는 부트 레코드(BR)에 기록되어 있으며, NTFS 파일시스템의 경우 MFT Entry 하나의 크기는 1Kbyte이다. MFT Entry내에는 파일의 메타데이터 정보가 각각의 속성에 저장되어 있으며, 속성은 속성의 헤더와 속성의 스트림으로 구성되어 있다(도 5 참조). NTFS 시스템에서 실제 파일의 내용도 $DATA 속성으로 관리하며 데이터의 크기가 작은 경우 MFT Entry 내에 스트림으로 존재하나(이를 Resident 속성이라 함), 데이터의 크기가 큰 경우에는 데이터 영역에 별도로 저장하고 MFT Entry 내에는 데이터를 저장한 데이터 영역의 위치만을 저장하고 있다(이를 Non-Resident 속성이라 함). Referring to FIG. 4, the structure of NTFS may be divided into a boot area, an MFT area, and a data area. NTFS manages files and directories through MFT, and the actual information is stored in the data area. An MFT is a set of MFT entries, and one MFT Entry contains information about one file or directory. Typically, information of one file or directory is stored in one MFT entry. If the information of a file or directory cannot be stored in one MFT entry, the information is stored in several MFT entries. When the information of a file or directory is divided and stored in several MFT entries, the base MFT entry is called a base MFT entry, and the rest of the MFT entries except the base MFT entry are called non-base MFT entries. The size of the MFT entry is recorded in the boot record (BR). In the case of the NTFS file system, the size of one MFT entry is 1Kbyte. In the MFT entry, metadata information of a file is stored in each attribute, and the attribute is composed of an attribute header and an attribute stream (see FIG. 5). In the NTFS system, the contents of the physical file are also managed by the $ DATA property. If the data is small, it exists as a stream within the MFT entry (this is called the Resident property). However, if the data is large, the data is stored separately in the data area. Only the location of the data area where data is stored is stored inside (this is called Non-Resident attribute).

아래의 표 1을 참조하여 MFT Entry에 할당된 번호에 대해 구체적으로 설명한다.Referring to Table 1 below, the number assigned to the MFT entry will be described in detail.

[표 1][Table 1]

EntryNumberEntryNumber FileNameFileName 설명Explanation 00 $MFT$ MFT MFT Entry의 전체의 내용을 담는 파일File containing the entire contents of the MFT Entry 1One $MFTMirr$ MFTMirr MFT 파일의 백업Backup of MFT Files 22 $LogFile$ LogFile 트랜잭션 로그 기록Transaction logging 33 $Volume$ Volume 볼륨의 레이블, 버전, 시리얼 번호, 생성시간, dirty 플래그 등을 저장Store label, version, serial number, creation time, dirty flag, etc 44 $AttrDef$ AttrDef 속성 정의Property Definition 55 .(Dot). (Dot) 파일시스템의 루트디렉토리The root directory of the file system 66 $Bitmap$ Bitmap 파일시스템의 할당관리정보File system allocation management information 77 $Boot$ Boot 부트 레코드Boot record 88 $BadClus$ BadClus Bad 클러스터 리스트Bad cluster list 99 $Quota (NT)$ Quota (NT) 디스크 쿼터 정보Disk Quota Information 99 $Secure (2K)$ Secure (2K) 보안과 접근 권한 정보Security and access rights information 1010 $Upcase$ Upcase 유니코드 문자의 대문자를 저장Store uppercase letters of Unicode characters 1111 $Extend (2K)$ Extend (2K) 확장 정보 디렉토리: $ObjId, $Quota, $Reparse, $UsnJrnlExtension information directory: $ ObjId, $ Quota, $ Reparse, $ UsnJrnl 12-1512-15 <Unused><Unused> 사용중이라고 설정되어있지만 비어있다.It is set to busy but is empty. 16-2316-23 <Unused><Unused> 비어있음Empty AnyAny $ObjId (2K)$ ObjId (2K) 파일 고유의 ID정보 저장Save unique ID information of file AnyAny $Quota (2K)$ Quota (2K) 쿼터 정보 저장Save Quota Information AnyAny $Reparse (2K)$ Reparse (2K) Reparse point 정보Reparse point information AnyAny $UsnJrnl (2K)$ UsnJrnl (2K) 파일이나 디렉토리 변경 기록File or Directory Change History 24~24 ~ 일반파일들과일반디렉토리들General Files and General Directories

표 1을 참조하면, MFT Entry 0번부터 15번까지는 파일시스템 관리데이터를 저장하는 메타데이터 파일들에게 할당되며, 새로운 파일이 생성되면, 기존에 존재하는 메타데이터 파일들에게 할당된 마지막 번호의 MFT Entry 다음부터의 MFT Entry는 새로 생성된 메타데이터 파일들에게 순차적으로 할당되거나, 또는 비어있는 MFT Entry에 할당되는 구조를 지닌다. Referring to Table 1, MFT entries 0 to 15 are allocated to metadata files storing file system management data, and when a new file is created, the last number MFT assigned to existing metadata files The MFT Entry following the Entry has a structure which is assigned to newly created metadata files sequentially or to an empty MFT Entry.

도 5을 더 참조하여 MFT Entry 내부 구조를 설명하면, MFT Entry는 크게MFT Entry Header와 속성(Attribute)으로 나누어져 있다. MFT Entry Header에는 MFT Entry의 정보와 상태를 담고 있으며, MFT Entry Header의 크기는 윈도우 버전에 따라 다를 수 있으며, MFT Entry Header 내의 항목에 크기에 대한 값을 갖고 있다. 속성은 파일의 여러 정보를 담고 있는 데이터 구조체로, 속성의 종류는 아래의 표 2에 도시되어 있다.Referring to FIG. 5, the MFT Entry internal structure will be described. The MFT Entry is divided into an MFT Entry Header and an Attribute. The MFT Entry Header contains information and status of the MFT Entry. The size of the MFT Entry Header may vary depending on the Windows version, and the size of the item in the MFT Entry Header is included. Attributes are data structures containing various information of files. The types of attributes are shown in Table 2 below.

[표 2]TABLE 2

Attribute NameAttribute Name Attribute Header의 IDENTIFIERIDENTIFIER in Attribute Header $STANDARD_INFORMATION$ STANDARD_INFORMATION 10 00 00 0010 00 00 00 $ATTRIBUTE_LIST$ ATTRIBUTE_LIST 20 00 00 0020 00 00 00 $FILE_NAME$ FILE_NAME 30 00 00 0030 00 00 00 $OBJECT_ID$ OBJECT_ID 40 00 00 0040 00 00 00 $SECURITY_DESCRIPTOR$ SECURITY_DESCRIPTOR 50 00 00 0050 00 00 00 $VOLUME_NAME$ VOLUME_NAME 60 00 00 0060 00 00 00 $VOLUME_INFORMATION$ VOLUME_INFORMATION 70 00 00 0070 00 00 00 $DATA$ DATA 80 00 00 0080 00 00 00 $INDEX_ROOT$ INDEX_ROOT 90 00 00 0090 00 00 00 $INDEX_ALLOCATION$ INDEX_ALLOCATION A0 00 00 00A0 00 00 00 $BITMAP$ BITMAP B0 00 00 00B0 00 00 00 $REPARSE_POINT$ REPARSE_POINT C0 00 00 00C0 00 00 00 $EA_INFORMATION$ EA_INFORMATION D0 00 00 00D0 00 00 00 $EA$ EA E0 00 00 00E0 00 00 00 $LOGGED_UTILITY_STREAM$ LOGGED_UTILITY_STREAM 00 01 00 0000 01 00 00

모든 속성은 속성 헤더(Attribute Header)와 속성의 내용(Attribute Contents)으로 나누어지며, 속성 내용은 속성에 따라 그 구조가 다르지만, 속성의 헤더의 구조는 Resident 와 Non-Resident 속성의 2가지 종류로 구성된다. MFT Entry 에서 MFT Entry Header를 뺀 나머지 부분은 파일의 속성 정보를 저장하고 있다. Microsoft Windows에서는 MFT Entry를 File Record 라고 부르기도 한다. All attributes are divided into Attribute Header and Attribute Contents. Attributes have different structure according to attribute, but attribute header has two kinds of structure, Resident and Non-Resident attribute. do. The rest of the MFT Entry minus the MFT Entry Header stores the property information of the file. In Microsoft Windows, MFT Entry is also called File Record.

이어서 아래의 표 3를 참조하여 MFT Entry Header의 구조를 설명한다.Next, the structure of the MFT Entry Header will be described with reference to Table 3 below.

[표 3][Table 3]

OffsetOffset 이름name 설명Explanation 0~30-3 SignatureSignature ‘FILE’문자열‘FILE’ string 4~54 ~ 5 Offset of Fixup ArrayOffset of Fixup Array Fixup 배열의 위치Location of Fixup Array 6~76 ~ 7 Count of Fixup ValueCount of Fixup Value Fixup 배열의 항목 개수The number of items in the Fixup array 8~158-15 LogFile Sequence NumberLogFile Sequence Number 트랜잭션의 위치값The position value of the transaction 16~1716-17 Sequence ValueSequence Value 시퀀스 값Sequence value 18~1918-19 Hard Link CountHard Link Count Hard Link 개수Hard Link Count 20~2120-21 Offset to first AttributeOffset to first Attribute 첫번 째 속성이 시작되는 오프셋Offset where the first attribute starts 22~2322-23 FlagsFlags MFT Entry의 상태나 속성 정보Status or property information of the MFT Entry 24~2724 ~ 27 Used Size of MFT EntryUsed Size of MFT Entry MFT Entry 실제 사용한 크기MFT Entry Actual Size Used 28~3128-31 Allocated Size of MFT EntryAllocated Size of MFT Entry MFT Entry 할당 크기, 1024byteMFT entry allocation size, 1024 bytes 32~3932-39 File Reference to Base MFT EntryFile Reference to Base MFT Entry Non base MFT Entry의 경우 Base MFT Entry의 File Reference AddressFile Reference Address of Base MFT Entry for Non base MFT Entry 40~4140-41 Next Attribute IDNext Attribute ID MFT Entry 내에서만 할당되는 속성들의 IDIDs of attributes that are assigned only within the MFT Entry

표 3을 참조하면, MFT Entry Header의 크기는 오프셋 20~21 바이트에 구성되어 있으며, 해당 MFT Entry의 속성에 대한 상태를 나타내는 플래그가 오프셋 22~23 바이트에 할당되어 있다. 플래그의 값에 대한 MFT Entry의 상태는 아래의 표 4에 도시되어 있다.Referring to Table 3, the size of the MFT Entry Header is configured at offsets 20 to 21 bytes, and a flag indicating a state of an attribute of the corresponding MFT Entry is assigned to offsets 22 to 23 bytes. The state of the MFT Entry for the value of the flag is shown in Table 4 below.

[표 4][Table 4]

Flag 값Flag value 설명Explanation 00 0000 00 해당 MFT Entry는 삭제된 파일 의미(Deleted File)The MFT Entry means Deleted File 01 0001 00 해당 MFT Entry는 사용중인 파일 의미(Allocated File)The MFT Entry means the file being used (Allocated File) 02 0002 00 해당 MFT Entry는 삭제된 디렉토리 의미(Deleted Directory)The MFT Entry is the Deleted Directory Meaning 03 0003 00 해당 MFT Entry는 사용중인 디렉토리 의미(Allocated Directory)The MFT Entry is the directory in use (Allocated Directory).

다음으로, 도 4의 5번 MFT Entry에서 Autorun.inf의 Index Entry를 찾을 수 있는데, 이를 설명하기 위해 도 6 및 도 7을 더 참조하여 인덱스 구조에 대해 설명한다. Next, an index entry of Autorun.inf can be found in MFT Entry No. 5 of FIG. 4. To describe this, the index structure will be described with reference to FIGS. 6 and 7.

NTFS은 자료들의 빠른 검색을 지원하기 위해 B-Tree 방식으로 인덱스를 관리한다. 인덱스 관리는 MFT Entry내에서 $INDEX_ROOT와 $INDEX_ALLOCATION의 2가지 속성으로 관리된다. 인덱스의 구성은 크게 2가지로 나뉘는데, 최상위 Index Node를 담고 있는 $INDEX_ROOT만으로 구성되는 작은 인덱스(Small Index or Small Directory)구조와 Index Entry가 커져서 작은 인덱스로 구성할 수 없을 때 $INDEX_ROOT와 $INDEX_ALLOCATION 속성이 함께 구성되는 큰 인덱스(Large Index or Large Directory)로 관리된다. NTFS manages indexes in a B-Tree fashion to support fast retrieval of data. Index management is managed by two attributes of $ INDEX_ROOT and $ INDEX_ALLOCATION in MFT Entry. There are two main types of indexes: the small index (Small Index or Small Directory) structure consisting of only the $ INDEX_ROOT containing the top index node, and the $ INDEX_ROOT and $ INDEX_ALLOCATION attributes when the index entry is too large to form a small index. It is managed as a large index (large index or large directory).

도 6은 $INDEX_ROOT 구조를 나타내며, 도 7는 $INDEX_ALLOCATION 구조를 나타낸다. 이렇게 구성된 인덱스 구조의 $INDEX_ROOT와 $INDEX_ALLOCATION에서 Index Entry 중에서 Autorun.inf의 Index Entry를 찾을 수 있다. 6 shows the $ INDEX_ROOT structure, and FIG. 7 shows the $ INDEX_ALLOCATION structure. You can find the index entry of Autorun.inf among the index entries in $ INDEX_ROOT and $ INDEX_ALLOCATION of the index structure.

한편, 도 6 및 도 7의 Index Entry의 구성은 아래의 표 5과 같이 이루어질 수 있다.Meanwhile, the index entry of FIGS. 6 and 7 may be configured as shown in Table 5 below.

[표 5]TABLE 5

OffsetOffset 이름name 설명Explanation 0~70-7 File Reference Address of filenameFile Reference Address of filename 해당 파일이나 디렉토리의 MFT 주소 값MFT address value of the file or directory 8~98-9 Length of this Index EntryLength of this Index Entry Index Entry의 총 크기Total size of index entry 10~1110-11 Length of $FILE_NAMELength of $ FILE_NAME Index Entry가 담고 있는 $FILE_NAME 속성의 크기The size of the $ FILE_NAME attribute contained by the index entry 12~1512-15 FlagsFlags Index Entry 상태Index Entry Status 16~16 ~ $FILE_NAME 속성$ FILE_NAME attribute 해당 파일 또는 디렉토리의$FILE_NAME 속성 복사본Copy of the $ FILE_NAME attribute of that file or directory 마지막 8바이트Last 8 bytes VCN of child node in $INDEX_ALLOCATIONVCN of child node in $ INDEX_ALLOCATION Index Entry에 자식이 있는 경우 자식의 Index node의 위치 값If the index entry has a child, the position value of the child's index node

오프셋 16번째에서부터 해당 디렉토리 하위의 파일에 대한 $FILE_NAME 속성을 똑같이 Index Entry에서 유지하고 있으며, 윈도우 탐색기에서도 특정 디렉토리를 선택한 후 하위 파일/디렉토리를 보여줄 때 인덱스 구조를 분석하여 보여준다. Starting at offset 16, the $ FILE_NAME property of the files under the directory is maintained in the index entry. In Windows Explorer, the index structure is analyzed and shown when selecting a specific directory and showing the sub-file / directory.

아래의 표 6는, 표 2에서 속성 타입 ID 값이 0x00000010으로 할당되어 있는 $STANDARD_INFORMATION 속성의 구성을 나타낸다.Table 6 below shows the configuration of the $ STANDARD_INFORMATION attribute to which an attribute type ID value of 0x00000010 is assigned in Table 2.

[표 6]TABLE 6

OffsetOffset 이름name 설명Explanation 0~70-7 Creation TimeCreation time 생성 시간Generation time 8~158-15 Modified TimeModified Time 수정 시간Modification time 16~2316-23 MFT Modified TimeMFT Modified Time MFT 수정 시간MFT modification time 24~3124-31 Accessed TimeAccessed Time 접근 시간Approach time 32~3532-35 FlagsFlags 파일의 속성File attributes 36~3936-39 Maximum number of VersionMaximum number of Version 파일의 최대버전Maximum version of the file 40~4340-43 Version NumberVersion Number 파일의 버전Version of the file 44~4744-47 Class IDClass ID Class ID 정보Class ID Information 48~5148-51 Owner IDOwner ID 소유자 IDOwner ID 52~5552-55 Security IDSecurity ID $SECURE 파일에 사용되는 IDID used for $ SECURE file 56~6356-63 Quota ChargedQuota Charged 사용자의 제한량에서 이 파일의 비중The weight of this file in the user's limit 64~7164-71 Update Sequence NumberUpdate Sequence Number 파일의 마지막 Update Sequence Number를 담음Contains the last Update Sequence Number of the file

$STANDARD_INFORMATION 속성은 모든 파일과 디렉토리에 존재하여 파일 생성 시간과 날짜, 파일 소유자와 보안 기술자, 파일 크기 등의 정보를 담고 있다. $STANDARD_INFORMATION 속성의 내용에서 오프셋 32~35 바이트에 파일의 특성을 나타내는 플래그가 존재하며 이 플래그의 값에 대한 의미는 아래의 표 7와 같다.The $ STANDARD_INFORMATION attribute is present in all files and directories and contains information such as file creation time and date, file owner and security descriptor, and file size. There is a flag indicating the characteristics of the file at offset 32 ~ 35 bytes in the contents of $ STANDARD_INFORMATION attribute. The meaning of this flag is shown in Table 7 below.

[표 7]TABLE 7

Flag 값Flag value 설명Explanation Flag 값Flag value 설명Explanation 01 00 00 0001 00 00 00 Read OnlyRead only 00 01 00 0000 01 00 00 TemporaryTemporary 02 00 00 0002 00 00 00 HiddenHidden 00 02 00 0000 02 00 00 Sparse FileSparse file 04 00 00 0004 00 00 00 SystemSystem 00 04 00 0000 04 00 00 Reparse PointReparse Point 20 00 00 0020 00 00 00 ArchiveArchive 00 08 00 0000 08 00 00 CompressedCompressed 40 00 00 0040 00 00 00 DeviceDevice 00 10 00 0000 10 00 00 OfflineOffline 80 00 00 0080 00 00 00 NormalNormal 00 20 00 0000 20 00 00 Not Content IndexedNot Content Indexed 00 40 00 0000 40 00 00 EncryptedEncrypted

아래의 표 8은, 표 2에서 속성 타입 ID 값이 0x00000030으로 할당되어 있는 $FILE_NAME 속성의 구성을 나타낸다.Table 8 below shows the configuration of the $ FILE_NAME attribute to which an attribute type ID value of 0x00000030 is assigned in Table 2.

[표 8][Table 8]

OffsetOffset 이름name 설명Explanation 0~70-7 File Reference Address of Parent DirectoryFile Reference Address of Parent Directory 부모 디렉토리의 MFT 주소MFT address of parent directory 8~158-15 Creation TimeCreation time 생성 시간Generation time 16~2316-23 Modified TimeModified Time 수정 시간Modification time 24~3124-31 MFT Modified TimeMFT Modified Time MFT 수정 시간MFT modification time 32~3932-39 Accessed TimeAccessed Time 접근 시간Approach time 40~4740-47 Allocated Size of FileAllocated Size of File 파일의 할당 크기File allocation size 48~5548-55 Real Size of FileReal Size of File 파일의 실제 크기The actual size of the file 56~5956-59 FlagsFlags 파일의 속성File attributes 60~6360-63 Reparse ValueReparse Value Reparse TypeReparse Type 64~6464-64 Length of FileNameLength of FileName 이름의 길이The length of the name 65~6565-65 Name SpaceName space 이름의 형식Name format 66~66 ~ NameName 파일 이름File name

$FILE_NAME 속성은 파일이나 디렉토리의 이름과 관련된 정보를 담고 있다. $FILE_NAME 속성의 내용에서 오프셋 56~59 바이트에 파일의 특성을 나타내는 플래그가 존재하며 이 플래그의 값에 대한 의미는 아래의 표 9과 같다.  The $ FILE_NAME attribute contains information related to the name of a file or directory. There is a flag indicating the characteristics of the file at offset 56 ~ 59 bytes in the contents of $ FILE_NAME attribute. The meaning of this flag is shown in Table 9 below.

[표 9]TABLE 9

Flag 값Flag value 설명Explanation Flag 값Flag value 설명Explanation 01 00 00 0001 00 00 00 Read OnlyRead only 00 01 00 0000 01 00 00 TemporaryTemporary 02 00 00 0002 00 00 00 HiddenHidden 00 02 00 0000 02 00 00 Sparse FileSparse file 04 00 00 0004 00 00 00 SystemSystem 00 04 00 0000 04 00 00 Reparse PointReparse Point 20 00 00 0020 00 00 00 ArchiveArchive 00 08 00 0000 08 00 00 CompressedCompressed 40 00 00 0040 00 00 00 DeviceDevice 00 10 00 0000 10 00 00 OfflineOffline 80 00 00 0080 00 00 00 NormalNormal 00 20 00 0000 20 00 00 Not Content IndexedNot Content Indexed 00 40 00 0000 40 00 00 EncryptedEncrypted 00 00 00 1000 00 00 10 DirectoryDirectory 00 00 00 2000 00 00 20 Index ViewIndex View

이상에서 예시적인 NTFS의 MFT와 MFT Entry를 설명하였다. 이하에서는 전술한 설명을 토대로, 도 8 내지 도 10을 참조하여 본 발명의 실시예에 따른 자동실행방지 장치 및 방법에 대해 구체적으로 설명한다. 도 8은 본 발명의 실시예에 따른 자동실행방지 방법을 나타내는 순서도이고, 도 9는 Autorun.inf 파일의 정보가 다수의 MFT Entry에 분할되어 저장된 형태를 나타내는 예시적인 개념도이고, 도 10은 도 8에서 S810 단계를 구체적으로 설명하기 위한 순서도이다.In the above, exemplary MFT and MFT entry of NTFS have been described. Hereinafter, with reference to Figures 8 to 10, the automatic execution prevention device and method according to an embodiment of the present invention will be described in detail. FIG. 8 is a flowchart illustrating an automatic execution prevention method according to an embodiment of the present invention, FIG. 9 is an exemplary conceptual diagram illustrating a form in which information of an Autorun.inf file is divided and stored in a plurality of MFT entries, and FIG. 10 is FIG. Is a flowchart for explaining a detailed step S810.

자동실행방지 기능을 설정하는 방법은, 크게 Autorun.inf 파일을 생성하는 단계와 생성된 Autorun.inf 파일에 자동방지 기능을 설정하는 두 단계로 구성될 수 있다.The method of setting the autorun prevention function can be largely composed of two steps: generating an autorun.inf file and setting the autorun function on the generated autorun.inf file.

구체적으로, 먼저 자동실행방지 검사부(300)가 각 볼륨에 대해 자동실행방지 설정 여부를 판단하면(S810), 자동실행방지 설정부(400)는, 설정 여부에 대한 판단 결과를 이용하여, 설정되지 않은 경우 볼륨의 최상위에 Autorun.inf 파일의 존재 여부를 검사한다(S820). 예컨대 5번 루트 디렉토리 MFT Entry(도 5 내지 도 7 참조)에 저장된 디렉토리 인덱스 구조에서 Autorun.inf 파일의 Index Entry 정보가 있는지 여부로 검사할 수 있다. Autorun.inf 파일이 존재하면 기존 파일에 대한 백업을 수행하고(S830), 자동실행방지 설정을 위한 새로운 Autorun.inf 파일(또는 폴더)를 생성한다(S840).Specifically, when the automatic execution prevention checker 300 determines whether the automatic execution prevention is set for each volume (S810), the automatic execution prevention setting unit 400 is not set by using the determination result of whether the setting is performed. If not, the existence of the Autorun.inf file on the top of the volume is checked (S820). For example, the directory index structure stored in the root directory MFT Entry 5 (see FIGS. 5 to 7) may be checked whether or not there is Index Entry information of the Autorun.inf file. If the Autorun.inf file exists, a backup of the existing file is performed (S830), and a new Autorun.inf file (or folder) is created for setting autorun prevention (S840).

Autorun.inf 파일(또는 폴더)을 생성하면서 다음에서 설명하는 2가지 방법이 순차적으로 수행될 수 있다. While creating an Autorun.inf file (or folder), the following two methods can be performed sequentially.

첫 번째로는 파일의 접근제어를 설정하는 단계가 수행될 수 있다. NTFS에서는 CreateFile, CreateDirectory 함수를 이용하여 파일과 디렉토리 생성이 가능하며, 각각의 파일과 디렉토리에는 사용자의 보안 기술자(Security Descriptor) 설정이 가능하고, 이를 이용하여 접근을 방지하는 접근 제어를 설정할 수 있다. 이는 아래의 표 10의 CreateDirectory 함수나 표 11의 CreateFile 함수의 SECURITY_ATTRIBUTES 구조체를 가리키는lpSecurityAttributes 인자를 이용하여, 표 12의 lpSecurityDescriptor에 DACL(Discretionary Access Control List)의 설정이 가능하다.Firstly, the step of setting access control of a file may be performed. In NTFS, files and directories can be created using CreateFile and CreateDirectory functions. Each file and directory can be set up with a user's security descriptor, and access control can be set to prevent access. This can be set in the Discretionary Access Control List (DACL) in the lpSecurityDescriptor in Table 12 by using the lpSecurityAttributes argument pointing to the SECURITY_ATTRIBUTES structure of the CreateDirectory function in Table 10 or the CreateFile function in Table 11.

[표 10]TABLE 10

BOOL WINAPI CreateDirectory(
__in LPCTSTR lpPathName,
__in LPSECURITY_ATTRIBUTES lpSecurityAttributes,
);
BOOL WINAPI CreateDirectory (
__in LPCTSTR lpPathName,
__in LPSECURITY_ATTRIBUTES lpSecurityAttributes,
);

[표 11]TABLE 11

HANDLE WINAPI CreateFile(
__in LPCTSTR lpFileName,
__in DWORD dwDesiredAccess,
__in DWORD dwShareMode,
__in LPSECURITY_ATTRIBUTES lpSecurityAttributes,
__in DWORD dwCreationDisposition,
__in DWORD dwFlagsAndAttributes,
__in HANDLE hTemplateFile
);
HANDLE WINAPI CreateFile (
__in LPCTSTR lpFileName,
__in DWORD dwDesiredAccess,
__in DWORD dwShareMode,
__in LPSECURITY_ATTRIBUTES lpSecurityAttributes,
__in DWORD dwCreationDisposition,
__in DWORD dwFlagsAndAttributes,
__in HANDLE hTemplateFile
);

[표 12]TABLE 12

typedef struct _SECURITY_ATTRIBUTES {
DWORD nLength;
LPVOID lpSecurityDescriptor;
BOOL bInheritHandle;
} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
typedef struct _SECURITY_ATTRIBUTES {
DWORD nLength;
LPVOID lpSecurityDescriptor;
BOOL bInheritHandle;
} SECURITY_ATTRIBUTES, * PSECURITY_ATTRIBUTES, * LPSECURITY_ATTRIBUTES;

이 설정을 통해 Administrator를 비롯한 사용자의 read/write/execute 권한이 허용되지 않으면서, 사용자는 생성된 Autorun.inf 파일/디렉토리에 접근이 불가능하다. 아래의 표 13는 USB가 E 드라이브로 인식했을 때 Autorun.inf 디렉토리를 생성하는 슈도 코드의 예이다.This setting does not allow read / write / execute privileges for users, including administrators, but prevents users from accessing the created Autorun.inf file / directory. Table 13 below is an example of pseudo code that creates Autorun.inf directory when USB is recognized as E drive.

[표 13] TABLE 13


Int MakeAutorunDir()
{
SECURITY_ATTRIBUTES sa;

CreateDACL(&sa); // DACL 생성

CreateDirectory(TEXT(“E:\\Autorun.inf”, &sa);

}

Int MakeAutorunDir ()
{
SECURITY_ATTRIBUTES sa;

CreateDACL &&; // generate DACL

CreateDirectory (TEXT (“E: \\ Autorun.inf”, &sa);

}

두 번째로 Autorun.inf의 파일에 파일시스템 측면에서 접근을 어렵게 하도록 NTFS의 $ATTRIBUTE_LIST 속성을 적용하는 단계가 수행될 수 있다. Second, applying the $ ATTRIBUTE_LIST attribute of NTFS to make the file of Autorun.inf difficult to access in terms of file system can be performed.

전술한 바와 같이, 파일이나 디렉토리의 속성 크기가 너무 크거나, 속성이 많은 경우 하나의 MFT Entry 안에 모두 저장하지 못하므로, 여러 개의 MFT Entry에 나누어 담게 되는데, $ATTRIBUTE_LIST 속성은 어떤 속성이 어떤 MFT Entry에 담겨있는지에 대한 정보를 갖고 있다. 앞에서 보안 기술자(Security Descriptor)를 적용하여 파일 생성시에 Autorun.inf에 관한 정보가 MFT Entry에 저장될 때 $ATTRIBUTE_LIST 속성이 저장되도록 하여, $FILE_NAME 속성이 Base MFT Entry에 존재하지 않도록 생성한다. 이렇게 생성된 Autorun.inf 파일(또는 폴더)의 MFT Entry 구성의 예가 도 9에 도시되어 있다. As described above, if the size of an attribute of a file or directory is too large or there are many attributes, it cannot be stored in a single MFT entry. Therefore, the attribute is divided into several MFT entries. Has information about whether By applying a security descriptor, the $ ATTRIBUTE_LIST attribute is saved when the information on Autorun.inf is stored in the MFT entry when creating a file, so that the $ FILE_NAME attribute does not exist in the base MFT entry. An example of the MFT Entry configuration of the Autorun.inf file (or folder) generated in this way is shown in FIG. 9.

도 9를 참조하면, 생성된 Autorun.inf 파일(또는 폴더)의 Base MFT Entry가 100번이라고 가정하면, $ATTRIBUTE_LIST 속성이 100번 Base MFT Entry에 저장되고, 의해 다른 속성들은 non-Base MFT Entry인 120번에 저장되어 있는 형태이다. 100번 Base MFT Entry에는 MFT header, $STANDARD_INFORMATION, $ATTRIBUTE_LIST 속성으로 구성되며, 120번 Base MFT Entry에는 MFT header, $FILE_NAME, $INDEX_ROOT, $INDEX_ALLOCATION, $BITMAP 속성으로 구성되는 형태가 될 수 있다. 자동실행방지 설정을 해제하기 위한 악의적인 시도를 방지하기 위해 파일의 메타 정보를 여러 MFT Entry에 분산하여 저장한다. Referring to FIG. 9, assuming that the base MFT entry of the generated Autorun.inf file (or folder) is 100, the $ ATTRIBUTE_LIST attribute is stored in the 100 base MFT entry, whereby other attributes are non-Base MFT entries. It is stored at 120. Base MFT entry 100 is composed of MFT header, $ STANDARD_INFORMATION, $ ATTRIBUTE_LIST attributes, and base 120 MFT entry may be composed of MFT header, $ FILE_NAME, $ INDEX_ROOT, $ INDEX_ALLOCATION, and $ BITMAP attributes. To prevent malicious attempts to turn off autorun protection, the meta information of the file is distributed and stored in multiple MFT entries.

2단계에서는 엑세스 모듈(500)을 이용하여 5번의 루트 디렉토리 MFT Entry에서 INDEX_ROOT와 INDEX_ALLOCATION 속성을 분석하여(S850), 앞에서 생성한 Autorun.inf 파일(또는 폴더)의 Index Entry를 찾는다. 이렇게 찾은 Autorun.inf 파일(또는 폴더)의 Index Entry의 $FILE_NAME 속성 부분의 속성 플래그를 [06 00 00 10]으로 설정하고, Autorun.inf 파일(또는 폴더)의 Index Entry에서 Autorun.inf 파일(또는 폴더)의 MFT Entry 번호를 추출한다(S860). 이 설정 값은 파일에 숨김 속성과 시스템 속성으로 인식하게 한다. 인덱스 속성은 윈도우가 디렉토리를 관리하기 위해 지원하는 속성으로 윈도우 탐색기의 경우 인덱스를 읽어 윈도우 탐색기 파일 정보를 표시하는 것이다. 따라서 Autorun.inf 파일(또는 폴더)의 Index Entry의 $FILE_NAME 속성 부분의 속성 플래그를 [06 00 00 10]으로 설정하면, 윈도우 탐색기 등의 기능에 의해서 파일이 보이지 않게 된다. In step 2, the INDEX_ROOT and INDEX_ALLOCATION attributes are analyzed in the 5th root directory MFT entry using the access module 500 (S850) to find the index entry of the previously created Autorun.inf file (or folder). Set the attribute flag of the $ FILE_NAME attribute portion of the Index Entry of the Autorun.inf file (or folder) thus found to [06 00 00 10], and the Autorun.inf file (or MFT Entry number of the folder) is extracted (S860). This setting causes the file to be recognized as a hidden and system property. Index property is a property that Windows supports to manage the directory. In the case of Windows Explorer, index property is displayed by reading the index. Therefore, if the attribute flag of the $ FILE_NAME attribute portion of the Index Entry of the Autorun.inf file (or folder) is set to [06 00 00 10], the file is not displayed by a function such as Windows Explorer.

다음으로 S860 단계에서 Autorun.inf 파일(또는 폴더)의 Index Entry로부터 추출된 Autorun.inf의 MFT Entry번호를 이용하여, Autorun.inf 파일(또는 폴더)의 MFT Entry로 이동하여 분석을 수행한다. 그리고 Autorun.inf 파일(또는 폴더)의 MFT Entry 내의 헤더의 상태 플래그를 설정하고(S870), Autorun.inf 파일(또는 폴더)의 MFT Entry의 속성 플래그를 설정할 수 있다(S880). Next, using the MFT Entry number of the Autorun.inf extracted from the Index Entry of the Autorun.inf file (or folder) in step S860, the analysis is moved to the MFT Entry of the Autorun.inf file (or folder). The state flag of the header in the MFT Entry of the Autorun.inf file (or folder) may be set (S870), and the attribute flag of the MFT Entry of the Autorun.inf file (or folder) may be set (S880).

구체적으로, Autorun.inf 파일(또는 폴더)의 MFT Entry 내의 헤더(도 9 참 조)의 상태 플래그를 [02 00]으로 설정할 수 있다. 이 설정은 Autorun.inf 파일(또는 폴더)의 MFT Entry가 삭제된 디렉토리임을 의미하나(표 4 참조), 실제 루트 디렉토리의 인덱스에는 해당 Autorun.inf의 Index Entry가 존재하여 인덱스에 남아 있으므로 손상된 파일로 여겨 Autorun.inf 파일(또는 폴더)에 접근을 못하게 하는 효과를 가져온다. Specifically, the status flag of the header (see FIG. 9) in the MFT Entry of the Autorun.inf file (or folder) may be set to [02 00]. This setting means that the MFT Entry in the Autorun.inf file (or folder) is the deleted directory (see Table 4), but the index of the actual root directory has the index entry of that Autorun.inf and remains in the index. This has the effect of preventing access to the Autorun.inf file (or folder).

다음으로 Autorun.inf 파일(또는 폴더)의 MFT Entry의 $STANDARD_INFORMATION 속성과 $FILE_NAME 속성의 플래그(도 9 참조)를 [06 00 00 00]과 [06 00 00 10]으로 설정한다. 루트 디렉토리의 MFT Entry에서 Index Entry에서 설정한 것과 같이, 숨김 속성과 시스템 속성을 설정해주는 역할을 한다. Next, the $ STANDARD_INFORMATION attribute and the $ FILE_NAME attribute flag (see FIG. 9) of the MFT Entry of the Autorun.inf file (or folder) are set to [06 00 00 00] and [06 00 00 10]. MFT Entry in the root directory sets the hidden and system properties as set in the Index Entry.

아래의 표 14는 전술한 내용, 즉 자동실행방지 설정부(300)에서 접근하는 대상체(예컨대 루트 디렉토리의 MFT Entry, Autorun.inf 파일의 MFT Entry) 및 접근한 대상체에서 플래그를 설정한 설정 값을 정리한 결과이다. Table 14 below shows the aforementioned contents, that is, an object accessed by the automatic execution prevention setting unit 300 (eg, an MFT entry in a root directory, an MFT entry in an Autorun.inf file), and a setting value in which a flag is set in an accessed object. This is the result.

[표 14][Table 14]

접근 대상 MFT EntryAccess MFT Entry 설정 대상Set target 일반적인 값Common value 설정 값Setting value 루트 디렉토리인 5번 MFT EntryMFT Entry, root directory 5 Autorun.inf의Index Entry내의 $FILE_NAME의 오프셋 56~59 번째 위치한 속성 플래그Property flag located at offset 56-59 of $ FILE_NAME in Index Entry of Autorun.inf 00 00 00 1000 00 00 10 06 00 00 10
06 00 00 00
06 00 00 10
06 00 00 00
Autorun.inf의 MFT EntryMFT Entry in Autorun.inf MFT Header의 오프셋 22~23번째 위치한 MFT Entry 상태 플래그MFT Entry status flag located at offset 22-23 in MFT Header D: 03 00
F: 01 00
D: 03 00
F: 01 00
D: 02 00
F: 00 00
D: 02 00
F: 00 00
$STANDARD_INFORMATION의 오프셋 32~35 번째 위치한 속성 플래그Property flag located at offset 32-35 of $ STANDARD_INFORMATION 00 00 00 0000 00 00 00 06 00 00 0006 00 00 00 $FILE_NAME의 오프셋 56~59 번째 위치한 속성 플래그Attribute flag located at offset 56-59 of $ FILE_NAME 00 00 00 1000 00 00 10 D: 06 00 00 10
F: 06 00 00 00
D: 06 00 00 10
F: 06 00 00 00

D: 디렉토리 생성시, F: 파일 생성시D: Create directory, F: Create file

이와 같은 설정이 끝나면 새로운 설정을 인식하게 하기 위해 장치의 Detach 함수를 호출하여 USB를 탈착한다(S890).After the configuration is completed, the USB device is detached by calling the Detach function of the device to recognize the new configuration (S890).

도 10을 참조하여 도 8의 S810 단계를 구체적으로 설명한다. Referring to FIG. 10, step S810 of FIG. 8 will be described in detail.

먼저 루트 디렉토리의 MFT Entry를 분석하고, 인덱스를 관리하는 속성인 $INDEX_ROOT 속성과 $INDEX_ALLOCATION 속성을 분석하고(S1010), 각 파일의 정보를 저장하고 있는 Index Entry중 Autorun.inf 파일의 Index Entry가 존재하는지 찾는다. Autorun.inf 파일의 Index Entry가 존재하지 않으면 자동실행방지 설정이 없다고 판단한다. Autorun.inf 파일의 Index Entry가 존재하면 Index Entry를 분석하여 오프셋 16바이트에서 시작하는 $FILE_NAME 속성 정보를 분석하여 플래그 설정 값을 검사하고, Autorun.inf 파일의 Index Entry 항목에서 오프셋 0~7번째에 위치하는 File Reference Address 값을 파싱하여 Autorun.inf 파일의 MFT Entry 번호를 추출한다(S1020). 예컨대 $FILE_NAME 속성 정보를 분석하여 플래그 설정 값이 [06 00 00 10]이면, 자동실행방지 기능이 설정된 것으로 설정된 것으로 판단할 수 있다(표 14 참조).First, the MFT entry of the root directory is analyzed, and $ INDEX_ROOT and $ INDEX_ALLOCATION properties, which are index management properties, are analyzed (S1010), and an index entry of an autorun.inf file exists among index entries that store information of each file. Find out. If there is no index entry in the Autorun.inf file, it is determined that there is no automatic execution prevention setting. If there is an index entry in the autorun.inf file, the index entry is analyzed and the $ FILE_NAME attribute information starting at offset 16 bytes is checked to check the flag setting value, and at offset 0-7 in the index entry entry of the autorun.inf file. The MFT Entry number of the Autorun.inf file is extracted by parsing the File Reference Address value located (S1020). For example, if the flag setting value is [06 00 00 10] by analyzing the $ FILE_NAME attribute information, it may be determined that the automatic execution prevention function is set to be set (see Table 14).

추출된 Autorun.inf 파일의 MFT Entry 번호로 이동한 후 다음 검사를 수행한다. 구체적으로, Autorun.inf 파일의 MFT Entry내의 header의 오프셋 22~23바이트에 위치하는 플래그를 검사한다(S1030). 예컨대 플래그 값이 [00 00]이면, 자동실행방지 기능이 설정된 것으로 설정된 것으로 판단할 수 있다(표 14 참조).Move to the MFT Entry number of the extracted Autorun.inf file and execute the following check. Specifically, the flag located at offset 22 to 23 bytes of the header in the MFT Entry of the Autorun.inf file is checked (S1030). For example, if the flag value is, it can be determined that the automatic execution prevention function is set to set (see Table 14).

세 번째로 $STANDARD_INFORMATION 속성의 플래그를 검사하고, 네 번째로 $FILE_NAME 속성의 플래그를 검사한다(S1040). 예컨대 플래그 값이 [06 00 00]이면, 자동실행방지 기능이 설정된 것으로 설정된 것으로 판단할 수 있다(표 14 참 조).  Thirdly, a flag of the $ STANDARD_INFORMATION attribute is checked, and a fourth flag of the $ FILE_NAME attribute is checked (S1040). For example, if the flag value is [06 00 00], it can be determined that the automatic execution prevention function is set (see Table 14).

이상, 본 발명의 구성에 대하여 바람직한 실시예를 참조하여 상세히 설명하였으나, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 예를 들어 본 발명의 파티션 복구 방법을 실현하기 위한 프로그램이 기록된 기록매체의 형태 등 다양한 형태로 구현될 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As mentioned above, although the structure of this invention was demonstrated in detail with reference to the preferred embodiment, those of ordinary skill in the art to which this invention is implemented may be implemented in another specific form, without changing the technical idea or an essential feature. I can understand that you can. For example, the program for realizing the partition recovery method of the present invention may be implemented in various forms such as a recording medium in which a program is recorded. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the claims and their equivalents should be construed as being included in the scope of the present invention.

도 1은 본 발명의 실시예에 따른 자동실행방지 장치를 설명하기 위한 블록도이다.1 is a block diagram illustrating an automatic execution prevention apparatus according to an embodiment of the present invention.

도 2는 이동형 저장장치에 자동실행 방지 기능이 설정되어 있는지 여부를 검사하는 방법을 나타내는 순서도이다.2 is a flowchart illustrating a method of checking whether an automatic execution prevention function is set in a portable storage device.

도 3은 이동형 저장장치에 자동실행방지 기능을 설정하는 방법을 나타내는 순서도이다.3 is a flowchart illustrating a method of setting an automatic execution prevention function in a portable storage device.

도 4는 NTFS의 구조를 나타내는 개념도이다.4 is a conceptual diagram illustrating the structure of NTFS.

도 5는 도 4의 각 MFT Entry 구조를 나타내는 개념도이다.FIG. 5 is a conceptual diagram illustrating each MFT Entry structure of FIG. 4.

도 6은 MFT Entry 의 속성 중 하나인 $INDEX_ROOT 속성을 나타내는 개념도이다.6 is a conceptual diagram illustrating a $ INDEX_ROOT attribute, which is one of attributes of an MFT entry.

도 7은 MFT Entry 의 속성 중 하나인 $INDEX_ALLOCATION 속성을 나타내는 개념도이다. 7 is a conceptual diagram illustrating a $ INDEX_ALLOCATION attribute which is one of attributes of an MFT entry.

도 8은 본 발명의 실시예에 따른 자동실행방지 방법을 나타내는 순서도이다.8 is a flowchart illustrating an automatic execution prevention method according to an embodiment of the present invention.

도 9는 Autorun.inf 파일의 정보가 다수의 MFT Entry에 분할되어 저장된 형태를 나타내는 예시적인 개념도이다.9 is an exemplary conceptual diagram illustrating a form in which information of an Autorun.inf file is divided and stored in a plurality of MFT entries.

도 10은 도 8에서 S810 단계를 구체적으로 설명하기 위한 순서도이다.FIG. 10 is a flowchart for describing operation S810 of FIG. 8 in detail.

Claims (17)

삭제delete 루트 디렉토리의 마스터 파일 테이블 엔트리(Master File Table Entry)에 엑세스하는 단계;Accessing a Master File Table Entry in the root directory; 상기 액세스한 루트 디렉토리의 마스터 파일 테이블 엔트리를 분석하여 자동실행파일의 인덱스 엔트리를 검색하는 단계; 및Analyzing the master file table entry of the accessed root directory to retrieve an index entry of an autorun file; And 상기 검색된 자동실행파일의 인덱스 엔트리 내의 속성 플래그를 특정 값으로 설정하는 단계;Setting an attribute flag in an index entry of the retrieved autorun file to a specific value; 를 포함하는 것인 이동형 저장장치의 자동실행방지 방법.How to prevent the automatic execution of the removable storage device comprising a. 제 2항에 있어서, 3. The method of claim 2, 상기 속성 플래그가 상기 특정 값으로 설정됨에 따라, 상기 자동실행파일의 속성이 숨김 속성 또는 시스템 속성으로 변경되는 것As the attribute flag is set to the specific value, the attribute of the autorun file is changed to a hidden attribute or a system attribute 인 이동형 저장장치의 자동실행방지 방법.Method of automatic execution of automatic removable storage device. 자동실행파일의 마스터 파일 테이블 엔트리(Master File Table Entry)에 액세스하는 단계; 및Accessing a master file table entry of an autoexecutable file; And 상기 액세스한 자동실행파일의 마스터 파일 테이블 엔트리 내의 속성 플래그 또는 헤더의 상태 플래그를 특정 값으로 설정하는 단계;Setting an attribute flag or a state flag of a header in a master file table entry of the accessed autoexecutable file to a specific value; 를 포함하는 이동형 저장장치의 자동실행방지 방법.Automatic execution prevention method of a removable storage device comprising a. 제 4항에 있어서,The method of claim 4, wherein 상기 속성 플래그 또는 상태 플래그가 상기 특정 값으로 설정됨에 따라, 상기 자동실행파일이 삭제 또는 손상된 파일로 인식되거나, 상기 자동실행파일의 속성이 숨김 속성 또는 시스템 속성으로 변경되는 것When the attribute flag or status flag is set to the specific value, the auto executable file is recognized as a deleted or corrupted file, or the property of the auto executable file is changed to a hidden property or a system property. 인 이동형 저장장치의 자동실행방지 방법.Method of automatic execution of automatic removable storage device. 자동실행파일을 생성하는 단계;Generating an auto executable file; 상기 자동실행파일이 생성된 후에, 루트 디렉토리의 마스터 파일 테이블 엔트리(Master File Table Entry) 및 상기 자동실행파일의 마스터 파일 테이블 엔트리 중 적어도 하나에 엑세스하는 단계; 및After the autorun file is generated, accessing at least one of a master file table entry of a root directory and a master file table entry of the autorun file; And 상기 엑세스한 적어도 하나의 마스터 파일 테이블 엔트리에 자동실행방지를 설정하는 단계;Setting automatic execution prevention on the accessed at least one master file table entry; 를 포함하는 이동형 저장장치의 자동실행방지 방법.Automatic execution prevention method of a removable storage device comprising a. 제 6항에 있어서, 상기 생성하는 단계는The method of claim 6, wherein the generating step 보안 기술자(Security Descriptor)를 이용하여 상기 자동실행파일으로의 접근을 방지하는 접근 제어를 설정하는 단계를 포함하는 것Establishing an access control to prevent access to the autoexecutable file using a security descriptor; 인 이동형 저장장치의 자동실행방지 방법.Method of automatic execution of automatic removable storage device. 제6항에 있어서, 상기 생성하는 단계는The method of claim 6, wherein the generating step 상기 생성되는 자동실행파일의 정보를 복수의 마스터 파일 테이블 엔트리에 분산하여 저장하는 단계를 포함하는 것Distributing and storing information of the generated autoexecutable file in a plurality of master file table entries; 인 이동형 저장장치의 자동실행방지 방법.Method of automatic execution of automatic removable storage device. 이동형 저장장치의 볼륨에 자동실행방지가 설정되어 있는지 여부를 판단하는 단계;Determining whether automatic execution prevention is set on a volume of the removable storage device; 상기 판단 결과 자동실행방지가 설정되어 있지 않으면, 루트 디렉토리의 마스터 파일 테이블 엔트리(Master File Table Entry) 및 자동실행파일의 마스터 파일 테이블 엔트리 중 적어도 하나에 엑세스하는 단계; 및Accessing at least one of a master file table entry of a root directory and a master file table entry of an autoexecuting file if autoexecution prevention is not set as a result of the determination; And 상기 엑세스한 적어도 하나의 마스터 파일 테이블 엔트리에 자동실행방지를 설정하는 단계;Setting automatic execution prevention on the accessed at least one master file table entry; 를 포함하는 이동형 저장장치의 자동실행방지 방법.Automatic execution prevention method of a removable storage device comprising a. 제9항에 있어서, 상기 판단하는 단계는The method of claim 9, wherein the determining step 상기 루트 디렉토리의 마스터 파일 테이블 엔트리를 분석하여 상기 자동실행파일의 인덱스 엔트리를 찾는 단계;Analyzing a master file table entry of the root directory to find an index entry of the autorun file; 상기 자동실행파일의 인덱스 엔트리내의 속성 플래그 값을 검사하는 단계; 및Checking attribute flag values in an index entry of the autorun file; And 상기 자동실행파일의 마스터 파일 테이블 엔트리를 분석하여 속성 플래그 또는 헤더의 상태 플래그 값을 검사하는 단계를 포함하는 것Analyzing a master file table entry of the autoexec file and checking a state flag value of an attribute flag or a header; 인 이동형 저장장치의 자동실행방지 방법.Method of automatic execution of automatic removable storage device. 제10항에 있어서, 상기 판단하는 단계는The method of claim 10, wherein the determining step 상기 인덱스 엔트리가 존재하지 않는 경우 상기 자동실행방지가 설정되어 있지 않는 것으로 판단하는 단계; 및Determining that the automatic execution prevention is not set when the index entry does not exist; And 상기 자동실행파일을 생성하는 단계를 더 포함하는 것Generating the auto-execution file further. 인 이동형 저장장치의 자동실행방지 방법.Method of automatic execution of automatic removable storage device. 삭제delete 이동형 저장장치에 엑세스하는 엑세스 모듈; 및An access module for accessing the removable storage device; And 상기 이동형 저장장치의 볼륨에 자동실행방지가 설정되어 있는지 검사하는 자동실행방지 검사부, 및 루트 디렉토리의 마스터 파일 테이블 엔트리(Master File Table Entry) 및 자동실행파일의 마스터 파일 테이블 엔트리에 자동실행방지를 설정하는 자동실행방지 설정부를 포함하는 자동실행방지모듈;An automatic execution prevention inspection unit that checks whether the automatic execution prevention is set in the volume of the portable storage device, and sets the automatic execution prevention in the master file table entry of the root directory and the master file table entry of the automatic execution file An automatic execution prevention module including an automatic execution prevention setting unit; 를 포함하는 이동형 저장장치의 자동실행방지 장치.Automatic execution prevention device of a removable storage device comprising a. 제 13항에 있어서, 상기 자동실행방지 검사부는The method of claim 13, wherein the automatic execution prevention inspection unit 상기 루트 디렉토리의 마스터 파일 테이블 엔트리를 분석하여 획득한 상기 자동실행파일의 인덱스 엔트리에서 속성 플래그 값을 검사하고,Inspecting an attribute flag value in an index entry of the autoexecutable file obtained by analyzing a master file table entry of the root directory, 상기 자동실행파일의 마스터 파일 테이블 엔트리를 분석하여 속성 플래그 또는 헤더의 상태 플래그 값을 검사하고,Analyze the master file table entry of the auto-execution file and examine the state flag value of the attribute flag or header, 상기 검사한 결과들로부터 자동실행방지가 설정되어 있는지 여부를 판단하는 것Determining whether the automatic execution prevention is set from the inspection results 인 이동형 저장장치의 자동실행방지 장치.Automatic execution prevention device of removable storage device. 제 13항에 있어서, 상기 자동실행방지 설정부는The method of claim 13, wherein the automatic execution prevention setting unit 상기 루트 디렉토리의 마스터 파일 테이블 엔트리를 분석하여 획득한 상기 자동실행파일의 인덱스 엔트리내의 속성 플래그를 특정 값으로 설정하거나 또는 Setting an attribute flag in the index entry of the autoexecutable file obtained by analyzing the master file table entry of the root directory to a specific value; or 상기 자동실행파일의 마스터 파일 테이블 엔트리내의 속성 플래그 또는 헤더의 상태 플래그를 특정 값으로 설정하는 것Setting an attribute flag or a header state flag in a master file table entry of the autoexecutable file to a specific value 인 이동형 저장장치의 자동실행방지 장치.Automatic execution prevention device of removable storage device. 제 15항에 있어서, 상기 자동실행방지 설정부는The method of claim 15, wherein the automatic execution prevention setting unit 상기 이동형 저장장치에 상기 자동실행파일이 존재하지 않는 경우 자동실행 파일을 생성하되,If the auto-execution file does not exist in the portable storage device, an auto-execution file is generated. 보안 기술자(Security Descriptor)를 이용하여 상기 자동실행파일으로의 접근을 방지하는 접근 제어를 설정하거나 또는 상기 생성되는 자동실행파일의 정보를 복수의 마스터 파일 테이블 엔트리에 분산하여 저장하는 것Setting access control to prevent access to the autoexecutable file by using a security descriptor or distributing and storing information of the generated auto executable file in a plurality of master file table entries 인 이동형 저장장치의 자동실행방지 장치.Automatic execution prevention device of removable storage device. 제 16항에 있어서, 상기 자동실행방지 설정부는The method of claim 16, wherein the automatic execution prevention setting unit 상기 이동형 저장장치에 이미 자동실행파일이 존재하는 경우, 상기 존재하는 자동실행파일을 백업하고, 새로운 상기 자동실행파일을 생성하면서 상기 접근 제어를 설정하거나 상기 생성되는 자동실행파일의 정보를 복수의 마스터 파일 테이블 엔트리에 분산하여 저장하는 것If an autorun file already exists in the portable storage device, the existing autorun file is backed up, the new autorun file is created, the access control is set while the new autorun file is created, and the information of the generated autorun file is a plurality of masters. Distributed over file table entries 인 이동형 저장치이의 자동실행방지 장치.Automatic execution prevention device of the mobile storage tooth.
KR1020090101790A 2009-10-26 2009-10-26 Method and apparatus for preventing autorun of portable USB storage KR101135629B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090101790A KR101135629B1 (en) 2009-10-26 2009-10-26 Method and apparatus for preventing autorun of portable USB storage
US12/849,068 US9613207B2 (en) 2009-10-26 2010-08-03 Method and apparatus for preventing autorun of portable USB storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090101790A KR101135629B1 (en) 2009-10-26 2009-10-26 Method and apparatus for preventing autorun of portable USB storage

Publications (2)

Publication Number Publication Date
KR20110045289A KR20110045289A (en) 2011-05-04
KR101135629B1 true KR101135629B1 (en) 2012-04-17

Family

ID=43899544

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090101790A KR101135629B1 (en) 2009-10-26 2009-10-26 Method and apparatus for preventing autorun of portable USB storage

Country Status (2)

Country Link
US (1) US9613207B2 (en)
KR (1) KR101135629B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101135629B1 (en) * 2009-10-26 2012-04-17 한국전자통신연구원 Method and apparatus for preventing autorun of portable USB storage
US20110213809A1 (en) * 2010-03-01 2011-09-01 Panda Security, S.L. Method, a system and a computer program product for protecting a data-storing device
CN103620612B (en) * 2011-07-12 2016-04-13 惠普发展公司,有限责任合伙企业 Comprise the computing equipment of port and guest domain
US10599613B2 (en) * 2017-10-19 2020-03-24 International Business Machines Corporation Index management in storage system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210220A (en) * 2007-02-27 2008-09-11 Hagiwara Sys-Com:Kk Starting method for application program stored in usb storage device
KR20090054359A (en) * 2007-11-26 2009-05-29 한국전자통신연구원 Device and method for blocking autorun of malicious code

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161725A1 (en) * 2005-01-20 2006-07-20 Lee Charles C Multiple function flash memory system
IT1319602B1 (en) * 2000-12-21 2003-10-20 Cit Alcatel METHOD FOR THE MANAGEMENT OF EVENT COMMUNICATIONS BETWEEN AGENT AND MANAGER PROCESSING ENTITIES, IN A MANAGEMENT SYSTEM OF
US6778974B2 (en) * 2001-02-02 2004-08-17 Matrix Semiconductor, Inc. Memory device and method for reading data stored in a portion of a memory device unreadable by a file system of a host device
US6964040B2 (en) * 2001-05-23 2005-11-08 General Electric Company Optimizing storage and retrieval of monitoring data
US20030188183A1 (en) * 2001-08-27 2003-10-02 Lee Lane W. Unlocking method and system for data on media
US20030135465A1 (en) * 2001-08-27 2003-07-17 Lee Lane W. Mastering process and system for secure content
US7110982B2 (en) * 2001-08-27 2006-09-19 Dphi Acquisitions, Inc. Secure access method and system
US7729495B2 (en) * 2001-08-27 2010-06-01 Dphi Acquisitions, Inc. System and method for detecting unauthorized copying of encrypted data
US7672903B2 (en) * 2001-08-27 2010-03-02 Dphi Acquisitions, Inc. Revocation method and apparatus for secure content
US8161562B1 (en) * 2002-09-04 2012-04-17 Music Public Broadcasting, Inc. Method and system for controlling access of media on a media storage device
CN107885679B (en) * 2003-04-11 2021-10-08 富意科技公司 Integrated circuit storage device or method capable of realizing automatic operation
US7570761B2 (en) * 2004-02-03 2009-08-04 Trimble Navigation Limited Method and system for preventing unauthorized recording of media content in the iTunes™ environment
US20080147964A1 (en) * 2004-02-26 2008-06-19 Chow David Q Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function
US7370166B1 (en) * 2004-04-30 2008-05-06 Lexar Media, Inc. Secure portable storage device
US8087091B2 (en) * 2004-07-08 2011-12-27 Media Rights Technologies Method and system for preventing unauthorized reproduction of electronic media
US7484247B2 (en) * 2004-08-07 2009-01-27 Allen F Rozman System and method for protecting a computer system from malicious software
US7765400B2 (en) * 2004-11-08 2010-07-27 Microsoft Corporation Aggregation of the knowledge base of antivirus software
US7239166B2 (en) * 2005-06-15 2007-07-03 Microsoft Corporation Portable multi-purpose toolkit for testing computing device hardware and software
US7831789B1 (en) * 2005-10-06 2010-11-09 Acronis Inc. Method and system for fast incremental backup using comparison of descriptors
US7461104B2 (en) * 2006-03-22 2008-12-02 Webroot Software, Inc. Method and system for rapid data-fragmentation analysis of a New Technology File System
US7996903B2 (en) * 2006-07-07 2011-08-09 Webroot Software, Inc. Method and system for detecting and removing hidden pestware files
US20080115071A1 (en) * 2006-10-19 2008-05-15 Fair Thomas T System And Methods For Zero-Configuration Data Backup
US8086652B1 (en) * 2007-04-27 2011-12-27 Netapp, Inc. Storage system-based hole punching for reclaiming unused space from a data container
US20090063570A1 (en) * 2007-08-28 2009-03-05 Anthony Lynn Nichols Method and system for counting files and directories in a new-technology-file-system (ntfs) volume that are relevant to a computerized process
KR100911377B1 (en) * 2007-10-05 2009-08-10 한국전자통신연구원 Device and Method for searching data in digital forensic
FR2922333B1 (en) * 2007-10-10 2009-12-04 Oberthur Card Syst Sa METHOD FOR SECURELY UPDATING AN AUTOMATIC LAUNCH PROGRAM AND PORTABLE ELECTRONIC ENTITY USING THE SAME
US20090113128A1 (en) * 2007-10-24 2009-04-30 Sumwintek Corp. Method and system for preventing virus infections via the use of a removable storage device
US20090138969A1 (en) * 2007-11-26 2009-05-28 Kim Yun Ju Device and method for blocking autorun of malicious code
US8065730B1 (en) * 2008-03-31 2011-11-22 Symantec Corporation Anti-malware scanning in a virtualized file system environment
US8250247B2 (en) * 2008-08-06 2012-08-21 Sandisk Il Ltd. Storage device for mounting to a host
US8166067B2 (en) * 2008-12-26 2012-04-24 Sandisk Il Ltd. Method and apparatus for providing access to files based on user identity
US20110010778A1 (en) * 2009-07-09 2011-01-13 Hank Risan Standalone solution for serial copy management system (scms) compliance
KR101135629B1 (en) * 2009-10-26 2012-04-17 한국전자통신연구원 Method and apparatus for preventing autorun of portable USB storage
US8793465B1 (en) * 2010-01-15 2014-07-29 Netapp, Inc. Method and system for storage block alignment
US20110213809A1 (en) * 2010-03-01 2011-09-01 Panda Security, S.L. Method, a system and a computer program product for protecting a data-storing device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210220A (en) * 2007-02-27 2008-09-11 Hagiwara Sys-Com:Kk Starting method for application program stored in usb storage device
KR20090054359A (en) * 2007-11-26 2009-05-29 한국전자통신연구원 Device and method for blocking autorun of malicious code

Also Published As

Publication number Publication date
US9613207B2 (en) 2017-04-04
KR20110045289A (en) 2011-05-04
US20110099639A1 (en) 2011-04-28

Similar Documents

Publication Publication Date Title
US11068455B2 (en) Mapper tree with super leaf nodes
US8595461B2 (en) Management of recycling bin for thinly-provisioned logical volumes
US10430398B2 (en) Data storage system having mutable objects incorporating time
US7861311B2 (en) Apparatus and method of managing hidden area
JP4359448B2 (en) System and method for managing file names for file system filter drivers
US20060059204A1 (en) System and method for selectively indexing file system content
JP5833754B2 (en) Method and apparatus for cleaning a file system and storage medium thereof
CN111581163B (en) Data traceless deletion method and system based on NTFS (New technology File System)
US20100280998A1 (en) Metadata for data storage array
US8849877B2 (en) Object file system
US10013312B2 (en) Method and system for a safe archiving of data
US20080104081A1 (en) Tiered storage system with single instance function
CN102289526B (en) HFS+file system data recovery method and device
US20180041418A1 (en) Dynamic symbolic links for referencing in a file system
CN111104377B (en) File management method, electronic device and computer readable storage medium
US11169968B2 (en) Region-integrated data deduplication implementing a multi-lifetime duplicate finder
CN111382126B (en) System and method for deleting file and preventing file recovery
KR101135629B1 (en) Method and apparatus for preventing autorun of portable USB storage
US7210019B2 (en) Exclusive access for logical blocks
US20110271064A1 (en) Storage device and method for accessing the same
CN110321740B (en) Data operation method of storage device and storage device
US7315865B1 (en) Method and apparatus for validating a directory in a storage system
US8775746B2 (en) Information processing system and method
Wee Analysis of hidden data in NTFS file system
CN105243090A (en) Exclusive file acquisition method and system

Legal Events

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

Payment date: 20160328

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170406

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180404

Year of fee payment: 7