WO2017209576A1 - 파일 백업을 통제하는 장치 및 방법 - Google Patents

파일 백업을 통제하는 장치 및 방법 Download PDF

Info

Publication number
WO2017209576A1
WO2017209576A1 PCT/KR2017/005819 KR2017005819W WO2017209576A1 WO 2017209576 A1 WO2017209576 A1 WO 2017209576A1 KR 2017005819 W KR2017005819 W KR 2017005819W WO 2017209576 A1 WO2017209576 A1 WO 2017209576A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
signature
added
identified
backup
Prior art date
Application number
PCT/KR2017/005819
Other languages
English (en)
French (fr)
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 주식회사 케이티
Publication of WO2017209576A1 publication Critical patent/WO2017209576A1/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/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • 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

Definitions

  • the present invention relates to a backup technology, and more particularly, to an apparatus and method for controlling file backup in backing up a file to backup storage.
  • ransomware is a malicious program that infiltrates Internet users' computers, encrypts internal documents, spreadsheets, and picture files so that they cannot be opened, and then sends money to send decryption key programs. It is a compound word of ransom and ware. It is named after holding a computer user's document as a hostage and asking for money.
  • the file is encrypted with a complex algorithm and you won't be able to see the contents. It is infected by executing attachments sent mainly through e-mail, social network service (SNS), messenger, etc., and sometimes by visiting a website. Even if the antivirus program removes the malicious code, the encrypted file is not recovered and is called the worst malicious code ever.
  • SNS social network service
  • hackers demand money on the condition that they can open files, and they may threaten to increase the amount after the deadline and make the file unrecoverable.
  • ransomware countermeasures like all other malware, are blocking the execution of unknown processes. This method is meaningless when new patterns of malicious code emerge. Backing up all files on an hourly basis is known as the only way to prevent ransomware. If you back up all your files over time, large amounts of storage are essential because the files pile up indiscriminately. Therefore, updating the same file by overwriting improves storage space efficiency. However, this method also contaminates storage by ransomware. That is, after backing up a file to storage, if the same local file is infected by ransomware, the infected file will be overwritten with the same file on the storage, eventually infecting the file stored on the storage.
  • the a.dat file already backed up to the storage is ransomware. It is updated by overwriting with the infected a.dat file, which eventually infects the files on the storage.
  • An object of the present invention is to provide an apparatus and method for controlling a file stored in the backup storage from being infected by malicious code such as ransomware in backing up the file to the backup storage.
  • an apparatus for controlling file backup to the backup storage the identification module for identifying a file to back up; A signature generation module that generates a signature of the identified file and adds the signature to the identified file when the identified file does not have a signature; A signature verification module for generating a signature from the identified file and comparing the signature to a signature existing in the identified file if a signature exists in the identified file; And a backup processing module for storing the identified file to which the signature has been added or the identified file that has been successfully validated in the backup storage.
  • the backup processing module may block storage of the identified file to the backup storage that has failed validation in the signature verification module.
  • the backup processing module is further configured to determine that the identified file to which the signature has been added or the file to which the signature has been added is not present if the file having the same file name as the identified file to which the signature has been added or the identified file that has been successfully validated does not exist in the backup storage.
  • the identified file that has been successfully validated may be stored in the backup storage as it is.
  • the backup processing module is further configured to determine that the identified file to which the signature has been added is different if the signature is different while the file having the same file name as the identified file to which the signature has been added or the identified file that has been successfully validated exists in the backup storage.
  • the file name of the file or the identified file that has been successfully validated may be changed and stored in the backup storage.
  • the backup processing module is further configured to determine that the identified file to which the signature has been added has the same signature if the file having the same file name as the identified file to which the signature has been added or the identified file that has been successfully validated exists in the backup storage. A file or the identified file having been successfully validated may be overwritten and stored in the backup storage.
  • the identification module identifies a file received and edited from the backup storage and temporarily stores a signature that has already been added to the edited file, wherein the signature generation module generates a new signature of the edited file and edits the edited file.
  • the signature previously added to the added file is replaced with the new signature, and the backup processing module adds the new signature to a file to which the same signature as the temporary stored signature is added among the files stored in the backup storage. You can overwrite the file.
  • the signature verification module verifies the validity of the new signature added to the edited file, and the backup processing module may block storage of the edited file that has failed the validation to the backup storage.
  • a method of controlling file backup comprising: identifying a file to be backed up; Generating a signature of the identified file and adding to the identified file if the identified file does not have a signature; If a signature exists in the identified file, generating a signature in the identified file and comparing the signature with the signature present in the identified file to validate the signature; And storing the identified file to which the signature has been added or the identified file that has been successfully validated in backup storage.
  • the method may further include blocking the storage of the identified file to the backup storage that failed the validation.
  • the storing may include: if the file having the same file name as the identified file to which the signature has been added or the file having been successfully verified does not exist in the backup storage, the identified file to which the signature is added or the The identified file that has been successfully validated may be stored in the backup storage as it is.
  • the storing may include: if the signature is different while the file having the same file name as the identified file to which the signature is added or the identified file having been successfully validated exists in the backup storage, and the signature is different, the identified file to which the signature is added.
  • the file name of the file or the identified file that has been successfully validated may be changed and stored in the backup storage.
  • the storing may include: if the signature is the same while the file having the same file name as the identified file to which the signature has been added or the identified file having been successfully validated exists in the backup storage, and the signature is added to the identified file. A file or the identified file having been successfully validated may be overwritten and stored in the backup storage.
  • the method comprises the steps of: identifying a file that has been received and edited from the backup storage and temporarily storing a signature that has already been added to the edited file; Generating a new signature of the edited file and adding a signature that has been added to the edited file by replacing the new signature with the new signature; And overwriting the file to which the new signature is added to a file to which the same signature as the temporary stored signature is added among the files stored in the backup storage.
  • the method includes validating the new signature added to the edited file; And blocking storage of the edited file that has failed the validation to the backup storage.
  • the present invention can control the backup alone in the client device for backing up the file to the backup storage can reduce the load of the backup storage.
  • the present invention does not require an update for new malicious code, and thus does not require maintenance costs compared to the existing vaccine program.
  • the present invention increases the strength of security because the backup is blocked at the source of the file whose signature validation fails by utilizing the signature of the encryption scheme.
  • the present invention can prevent the infection by the malicious code of the backup storage while improving the space efficiency of the backup storage by updating the overwrite for the same file when backing up the file to the backup storage.
  • FIG. 1 is a diagram illustrating a backup system according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating a hardware configuration of a client device according to an embodiment of the present invention.
  • FIG. 3 is a diagram showing the configuration of a backup control program according to an embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating a method of controlling file backup according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a method of controlling file backup according to another embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a method of controlling file backup according to another embodiment of the present invention.
  • a backup system according to an embodiment of the present invention.
  • a backup system includes a client device 110 and a backup storage 120.
  • the client device 110 stores a file, identifies a file to be backed up, transmits the file to the backup storage 120, and backs up the file.
  • the client device 110 is a device having communication functions such as a notebook computer, a desktop computer, a tablet PC, a smartphone, and the like.
  • the client device 110 generates a signature from the file to be backed up and adds the signature to the file to be backed up and stores it in the backup storage 120.
  • the client device 110 validates the signature added to the file to be backed up and stores only the file that has been successfully validated in the backup storage 120.
  • Signatures are generated from the files to be backed up, and include Rivest Shamir Adleman (RSA), Digital Signature Algorithm (DSA), Korean Certificate-based Digital Signature Algorithm (KCDSA), Elliptic Curve Digital Signature Algorithm (ECDSA), and EC-KCDSA. It can be generated based on a public key cryptography such as, or Message Authentication code (MAC) such as hash-based message authentication code (HMAC), cipher block chaining message authentication code (CBC-MAC), Galois message authentication code (GMAC), and the like. Or a hash such as SHA1, SHA2, SHA3, MD5, or chuck-sum.
  • MAC Message Authentication code
  • HMAC hash-based message authentication code
  • CBC-MAC cipher block chaining message authentication code
  • GMAC Galois message authentication code
  • the backup storage 120 is a storage device connected to the client device 110, which is wired to the client device 110, or is a local area network (“LAN”), peer-to-peer network, wide area network (“WAN”). Or communicate with client device 110 via a network, which may be implemented as a global network, commonly known as the Internet.
  • Backup storage 120 may include, but is not limited to, cloud storage, network attached storage, or personal computing devices, server-based computing devices, PDAs, mobile phones, other electronic devices having some type of memory, and the like. It may be any of the devices.
  • the backup storage 120 may be cloud storage such as Dropbox, Google Drive, or the like, which provides an application programming interface (API) such as file reading, writing, and storing.
  • API application programming interface
  • the client device 120 includes a memory 210, a memory controller 221, one or more processors (CPUs) 222, a peripheral interface 223, an input / output (I / O) subsystem ( 230, a display device 241, an input device 242, and a communication circuit 252. These components communicate via one or more communication buses or signal lines.
  • the various components shown in FIG. 2 may be implemented in hardware, software or a combination of both hardware and software, including one or more signal processing and / or application specific integrated circuits.
  • the memory 210 may include fast random access memory, and may also include one or more magnetic disk storage devices, nonvolatile memory such as flash memory devices, or other nonvolatile semiconductor memory devices. Access to memory 210 by other components of client device 120, such as processor 222 and peripheral interface 223, may be controlled by memory controller 221. The memory 210 may store various information and program instructions of the client device 120, and the program is executed by the processor 222.
  • the peripheral interface 223 connects the input / output peripheral of the client device 120 with the processor 222 and the memory 210.
  • One or more processors 222 execute a set of instructions stored in various software programs and / or memory 210 to perform various functions for the client device 120 and to process data.
  • peripheral interface 223, processor 222 and memory controller 221 may be implemented on a single chip, such as chip 120. In some other embodiments, they may be implemented as separate chips 120.
  • I / O subsystem 230 provides an interface between the input and output peripherals of client device 120, such as display device 241, input device 242, and peripheral interface 223.
  • the display device 241 may use a liquid crystal display (LCD) technology or a light emitting polymer display (LPD) technology, and the display device 241 may be a touch display such as a capacitive type, a resistive type, or an infrared type.
  • the touch display provides an output interface and an input interface between the client device 120 and the user.
  • the touch display presents visual output to the user.
  • the visual output may include text, graphics, video, and combinations thereof. Some or all of the visual output may correspond to user interface objects.
  • the touch display forms a touch sensitive surface that accepts user input.
  • the processor 222 is a processor configured to perform operations associated with the client device 120 and to perform instructions, for example, input and output between components of the client device 120 using instructions retrieved from the memory 210. Receive and manipulate data can be controlled.
  • the software component includes an operating system 211, a graphics module (instruction set) 212, and a backup control program 213 mounted in the memory 210.
  • Operating system 211 may be, for example, a built-in operating system such as Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS or VxWorks, Android, etc., and may be a general system task (e.g., memory Management, storage device control, power management, etc.) and various software components and / or devices that facilitate and manage communication between the various hardware and software components.
  • a built-in operating system such as Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS or VxWorks, Android, etc.
  • general system task e.g., memory Management, storage device control, power management, etc.
  • various software components and / or devices that facilitate and manage communication between the various hardware and software components.
  • Graphics module 212 includes various well-known software components for presenting and displaying graphics on display device 241.
  • graphics refers to any object that can be displayed to the user, including, without limitation, text, web pages, icons (eg, user interface objects including soft keys), digital images, videos, animations, and the like. Include.
  • the communication circuit 252 performs communication through an external port or communication by an RF signal.
  • the communication circuit 252 converts an electrical signal into an RF signal and vice versa and can communicate with the communication network, other mobile gateway devices, and communication devices through the RF signal.
  • the communication circuit 252 may include, for example, an antenna system, an RF transceiver, one or more amplifiers, tuners, one or more oscillators, digital signal processors, CODEC chipsets, subscriber identity module (SIM) cards, memory, and the like. And known circuitry for performing this function.
  • the communication circuitry 252 may comprise the Internet, called the World Wide Web (WWW), intranets and networks and / or wireless networks such as cellular telephone networks, wireless LANs and / or metropolitan area networks (MANs), and near field wireless. Communication can be made with other devices.
  • Wireless communications include Global System for Mobile Communication (GSM), Enhanced Data GSM Environment (EDGE), wideband code division multiple access (WCDMA), code division multiple access (CDMA), time division multiple access (TDMA), and voice over Internet Protocol, Wi-MAX, Bluetooth, zigbee, Near Field Communication (NFC), or any other suitable communication protocol including communication protocols not yet developed at the time of filing of this application. Any of a plurality of communication standards, protocols, and technologies that are not limited thereto may be used.
  • GSM Global System for Mobile Communication
  • EDGE Enhanced Data GSM Environment
  • WCDMA wideband code division multiple access
  • CDMA code division multiple access
  • TDMA time division multiple access
  • NFC Near Field Communication
  • the input device 242 may receive a user input through a physical input interface such as a keyboard or a touch pad or a mouse or a touch pen, or may receive a user input in association with a touch display of the display device 241. .
  • a physical input interface such as a keyboard or a touch pad or a mouse or a touch pen
  • the backup control program 213 includes an identification module 310, a signature generation module 320, a signature verification module 330, and a backup processing module 340.
  • the function of the backup control program 213 may be implemented in hardware, or may be implemented by a combination of hardware and software.
  • the identification module 310 identifies the file to back up. For example, if a user saves a file to a specific folder, identify the file as a file to back up. Alternatively, when a user selects a file stored in an arbitrary folder and selects a backup menu by pressing the right button of a mouse, the user identifies the selected file as a file to be backed up. Alternatively, even when the user opens and edits a file stored in the backup storage 120 and stores the edited file, the edited file is identified as a file to be backed up. The specific folder may be designated by a user. The identification module 310 may check the extension of the file to determine whether the file is a file to which a signature is added.
  • the signature generation module 320 generates a signature from the identified file and adds it to the identified file if the file identified in the identification module 310 does not have a signature. For example, when a user stores a file in a specific folder, the signature generation module 320 generates a signature of the file and adds the signature to the file if the file stored in the specific folder does not have a signature. Alternatively, when the user selects a file stored in an arbitrary folder and selects a backup menu by pressing the right button of the mouse, the signature generation module 320 checks whether the selected file has a signature and, if there is no signature, selects the selected file. Create a signature and add it to the selected file. The signature is generated from a file here, so each file is unique for each file. The signature generation module 320 may generate one by selecting one of a plurality of signature algorithms.
  • the signature generation module 320 when a user imports a file to which the signature stored in the backup storage 120 is added, opens it, edits it, and stores it, the new signature of the edited file is stored. Create and add the signature already added to the edited file with the newly created signature.
  • the file stored in the backup storage 120 has already added a signature that has been successfully validated.
  • the signature verification module 330 verifies the validity of the signature added to the file.
  • the signature verification module 330 verifies the validity of the signature by generating the signature of the file and comparing the signature with the signature previously added to the file.
  • the signature verification module 330 determines that the validation is successful when the signatures match, and determines that the validation fails when the signatures do not match.
  • Successful validation is as follows.
  • the file generated by the signature generation module 320 and added without being infected by malicious code such as ransomware succeeds in validating the signature. For example, if a user saves a file in a specific folder and the signature generation module 320 generates and adds a signature of the file, or the user selects a file stored in an arbitrary folder and clicks the right button of the mouse. When selecting a backup menu
  • the signature generation module 320 When the signature generation module 320 generates and adds a signature, the signature is successfully validated.
  • the signature is successfully validated even if a file that has been normally added to the signature is stored in the specific folder, or a backup menu is selected by selecting the right button of the mouse after selecting a file that has been normally added to the signature. .
  • the signature generation module 320 even when a user loads a file stored in the backup storage 120, opens the file, and stores the file after editing, the signature generation module 320 generates and adds a new signature of the edited file.
  • Failure to validate is as follows. If an unsigned file stored locally is tampered with by malicious code, such as ransomware, then an arbitrary signature is added to the tampered file, the random signature is not generated from the tampered file. Signature verification of a compiled file fails. Or, if a file with a signature is modified by malicious code such as ransomware, and then adds an existing signature to the tampered file, the signature generated from the tampered file will be different from the existing signature because the file has been tampered with. Validation fails.
  • the signature verification module 330 omits the validity of the signature with respect to the file added by the signature generation module 320 and the user has copied the file to which the signature has already been added (for example, The signature can be validated against a file that has been signed by another user using a backup control program via e-mail, or a file added by another program such as malicious code.
  • the backup processing module 340 stores, in the backup storage 120, a file added with a signature in the signature generation module 320 or a file that has successfully validated a signature in the signature verification module 330.
  • the backup processing module 340 prevents the signature verification module 330 from storing the file in the backup storage 120 for the file that fails to validate the signature. Therefore, a file modulated by malicious code, such as ransomware, is not stored in the backup storage 120, and thus, a file securely stored in the backup storage 120 is not overwritten with a file modulated by the malicious code, thereby safely. Can be maintained.
  • the backup processing module 340 may change and store the extension for backup when storing the file in the backup storage 120.
  • the backup processing module 340 stores the file in the backup storage 120. If a file having the same file name does not exist in the backup storage 120, the backup processing module 340 does not change the file name of the file. Can be stored. That is, the backup processing module 340 may include a file added with a signature in the signature generation module 320 or a file having a signature validation in the signature verification module 330, and a file having the same file name as the backup storage 120. ), The file to which the signature is added or the file that has been successfully validated may be stored in the backup storage 120 as it is.
  • the backup processing module 340 may include a file whose file name is the same as a file to which a signature is added in the signature generation module 320 or a file whose signature validation is successful in the signature verification module 330, to the backup storage 120. If present, the signature of the file to be backed up is compared with the signature of the file of the same file name stored in the backup storage 120. If the signature is different, only the file name is the same, so that the signature is added to the file or the signature validation.
  • the file name of the successful file may be changed and stored in the backup storage 120. For example, when the A.datv file is previously stored in the backup storage 120 and the file of the same file name with a different signature is stored in the backup storage 120, the file name is changed as A (1) .datv. Save it.
  • the backup processing module 340 may include a file whose file name is the same as a file to which a signature is added in the signature generation module 320 or a file whose signature validation is successful in the signature verification module 330, to the backup storage 120. If present, the signature of the file to be backed up is compared with the signature of the file of the same file name stored in the backup storage 120. If the signature is the same, the file stored in the backup storage 120 is backed up because it is the same file. The file to be overwritten is not overwritten, or because the file is already stored in the backup storage 120.
  • the user does not know whether the file is already backed up in the backup storage 120, and the backup process for the same file, for example, to save the same file in a specific folder, or right-click again for the same file
  • the file name may be unnecessarily changed in the backup storage 120 to prevent the same file from being stored.
  • the user may recall and edit a file stored in the backup storage 120, maintain the file name, and save the file again.
  • the identification module 310 identifies a file received and edited from the backup storage 120 and temporarily stores a signature previously added to the edited file.
  • the signature generation module 320 generates a new signature of the edited file and adds the signature previously added to the edited file with the new signature, and the backup processing module 340 adds the signature.
  • the file in which the new signature is added is overwritten in a file in which the same signature as the temporary stored signature is added among the files stored in the backup storage 120 and the temporary stored signature is deleted.
  • FIG. 4 is a flowchart illustrating a method of controlling file backup according to an embodiment of the present invention, in which a client device 110 creates a new file that is not in the backup storage 120.
  • the client device 110 generates a file according to a user's input (S401).
  • the file includes a document file, a music file, a moving picture file, or the like, and no particular limitation is imposed thereon.
  • the client device 110 identifies the generated file as a backup file (S403). For example, when a user stores the generated file in a specific folder, the file is identified as a file to be backed up. Alternatively, when the user selects the generated file stored in an arbitrary folder and selects the backup menu by pressing the right button of the mouse, the selected file is identified as a file to be backed up.
  • the client device 110 generates a signature from the identified file (S405).
  • the client device 110 adds the generated signature to the identified file (S407).
  • the client device 110 verifies the validity of the signature added to the file before transmitting and storing the signed file to the backup storage 120 (S409). In this case, the verification is to generate a signature from a file of the backup target to be transmitted to the backup storage 120 and compare it with the signature added to the file of the backup target.
  • the client device 110 transmits and stores the file to which the signature has been added to the backup storage 120 (S413). If the signature fails, the client device 110 determines that the signature is not valid. Block backup of the added file (S415).
  • a file in which no signature is added or in which any signature other than the signature is added to the file is not backed up to the backup storage 120.
  • FIG. 5 is a flowchart illustrating a method of controlling file backup according to another embodiment of the present invention, in which a new file having the same file name as a file previously stored in the backup storage 120 is generated and backed up by the client device 110.
  • the client device 110 generates a file according to a user's input (S501).
  • the file includes a document file, a music file, a moving picture file, or the like, and no particular limitation is imposed thereon.
  • the client device 110 identifies the generated file as a backup file (S503). For example, when a user stores the generated file in a specific folder, the file is identified as a file to be backed up. Alternatively, when the user selects the generated file stored in an arbitrary folder and selects the backup menu by pressing the right button of the mouse, the selected file is identified as a file to be backed up.
  • the client device 110 generates a signature from the identified file (S505).
  • the client device 110 adds the generated signature to the identified file (S507).
  • the client device 110 verifies the validity of the signature added to the file before transmitting and storing the file to which the signature is added to the backup storage 120 (S509). In this case, the verification is to generate a signature from a file of the backup target to be transmitted to the backup storage 120 and compare it with the signature added to the file of the backup target.
  • the client device 110 blocks the backup (S511). If the signature is successfully validated, the client device 110 checks whether the signature added to the file of the same file name stored in the backup storage is the same as the signature that succeeded in the validation (S513). As previously assumed, the file generated by the user has only the same file name as the file stored in the backup storage 120, so the signature is different. Therefore, since the signature is not the same, the client device 110 changes the file name of the file to which the signature is to be backed up and transmits it to the backup storage 120 to store it (S515).
  • the client device 110 may update the file previously stored in the backup storage 120 by overwriting the file to which the signature to be backed up is added (S517). Alternatively, you can abort the backup because it is the same file.
  • the backup is verified by using a signature added to the file.
  • FIG. 6 is a flowchart illustrating a method for controlling file backup according to another embodiment of the present invention, in which a file previously stored in the backup storage 120 is loaded from the client device 110, edited, and then backed up again Example.
  • the client device 110 loads a specific file from the backup storage 120 according to a user's input in operation S601.
  • the file includes a document file, a music file, a moving picture file, or the like, and no particular limitation is imposed thereon.
  • the client device 110 extracts and temporarily stores an existing signature added to the loaded file (S603).
  • the client device 110 edits and stores the loaded file according to a user's input (S605).
  • the client device 110 identifies the edited and stored file as a backup file (S607). For example, when a user stores the edited file in a specific folder, the edited file is identified as a file to be backed up. Alternatively, when the user selects the edited file stored in an arbitrary folder and selects a backup menu by pressing the right button of the mouse, the selected edited file is identified as a file to be backed up.
  • the client device 110 generates a new signature from the edited file and adds the new signature to the edited file (S609).
  • the client device 110 verifies the validity of the signature added to the edited file before transmitting and storing the edited file to which the new signature is added to the backup storage 120 (S611). In this case, the verification is to generate a signature from a file of the backup target to be transmitted to the backup storage 120 and compare it with the signature added to the file of the backup target.
  • the client device 110 blocks the backup (S613). If the signature is successfully validated, the client device 110 overwrites the edited file with a file in the backup storage 120 having the same signature as the existing signature of the edited file temporarily stored in step S603. (S615).
  • a malicious code modifies a file loaded from the backup storage 120 and stored after editing in the client device 110 and adds an existing signature before editing.
  • signature validation fails, so the overwriting fails. Therefore, the file stored in the backup storage 120 is kept secure.
  • FIG. 7 is a flowchart illustrating a method of controlling file backup according to another embodiment of the present invention.
  • the client device 110 starts a backup of a specific file (S701).
  • the file includes a document file, a music file, a moving picture file, or the like, and no particular limitation is imposed thereon.
  • the client device 110 starts a backup of the file, or the user selects a file stored in an arbitrary folder and presses the right button of the mouse. If you select the backup menu, the backup starts for the selected file.
  • the client device 110 checks whether the specific file is a file type with a signature added (S702).
  • the client device 110 may check the extension of the specific file to determine whether the signature has been added.
  • step S702 If it is confirmed in step S702 that the specific file is in the form of a file to which the signature is added, the client device 110 checks whether a signature exists in the specific file (S703). If no signature exists, the client device 110 blocks the backup and terminates the backup procedure (S704, S705). On the other hand, if it is confirmed in step S703 that the signature exists, the client device 110 verifies whether the signature existing in the specific file is valid (S706). The verification here is to generate a signature from the particular file and then compare it with the signature already added to that particular file. If the signature is not valid in step S706, the client device 110 blocks the backup and ends the backup procedure (S707, S708).
  • the client device 110 determines the signature algorithm (S791, S792).
  • the client device 110 generates a signature for the specific file using the determined signature algorithm (S793).
  • the client device 110 adds the generated signature to the specific file, changes the extension of the specific file to which the signature is added, and ends the signature generation procedure (S794, S795, S796).
  • the client device 110 After generating a signature in step S709 and adding the signature to the specific file, the client device 110 checks whether a file having the same file name as the file name of the specific file exists in the backup storage 120 (S710).
  • step S710 if a file of the same file name exists, the client device 110 compares the signature added to the file of the same file name existing in the backup storage 120 with the signature added to the specific file. Check if the same (S711). If the signatures are not the same, the client device 110 modifies the file name of the specific file to a file name that does not exist in the backup storage 120, stores it in the backup storage 120, and ends the backup procedure (S713, S710, S716, and S717). ). For example, the client device 110 may modify the file name by adding a number to an existing file name of the specific file. On the other hand, if the signature is the same as confirmed in step S711, the client device 110 blocks the backup and ends the backup procedure (S714, S715).
  • step S710 if a file of the same file name does not exist, the client device 110 stores the specific file to which the signature is added to the backup storage 120 and ends the backup procedure (S716, S717). .
  • FIG. 8 is a flowchart illustrating a method for controlling file backup according to another embodiment of the present invention, in which a file previously stored in the backup storage 120 is loaded from the client device 110, edited, and then backed up again Example.
  • the client device 110 receives a specific input from the user in the backup storage 120 and receives an open input (S801).
  • the file includes a document file, a music file, a moving picture file, or the like, and no particular limitation is imposed thereon.
  • the client device 110 extracts and temporarily stores an existing signature added to the specific file selected from the user (S802). For example, an existing signature is called A.
  • the client device 110 restores the format of the specific file to the original format of the specific file (S803). Specifically, the client device 110 starts to restore the file format and removes the existing signature added to the specific file (S831, S832). In operation S833 and S834, the client device 110 restores the extension of the specific file from which the signature is removed, and restores the file format restoration procedure.
  • the client device 110 edits, closes and stores the specific file according to a user's input (S804). Thereafter, the client device 110 starts a backup of the edited specific file (S805). For example, if the user shuts down MS powerpoint, the backup starts.
  • the client device 110 generates a signature for the edited specific file (S806). Specifically, the client device 110 starts the signature generation for the specific file to determine the signature algorithm (S791, S792). The client device 110 generates a signature for the specific file using the determined signature algorithm (S793). The client device 110 adds the generated signature to the specific file, changes the extension of the specific file to which the signature is added, and ends the signature generation procedure (S794, S795, S796).
  • the client device 110 After generating a signature in step S806, the client device 110 checks whether a file having the same file name as the file name of the edited specific file exists in the backup storage 120 (S807). If a file having the same file name does not exist in the backup storage 120, the client device 110 stores the edited specific file in the backup storage 120 and ends the backup procedure (S808 and S809). That is, since the user changed the file name to another, the new file is newly stored without overwriting the existing file in the backup storage 120.
  • step S807 if it is confirmed in step S807 that a file having the same file name exists in the backup storage 120, the client device 110 temporarily stores the signature, i.e., the same file name existing in the A and the backup storage 120, in step S802. It is checked whether the signature of the file is the same (S811). If the signatures are not the same, the client device 110 modifies the file name of the specific file to a file name that does not exist in the backup storage 120, stores it in the backup storage 120, and ends the backup procedure (S813, S807, S808, S809). ).
  • the file stored in the backup storage 120 that is, the file opened in step S801 is edited by another user and stored in advance under the same file name, by the other user. This is to avoid damaging the edited file of the same file name.
  • step S811 if the signature is the same, the client device 110 deletes the existing file stored in the backup storage 120, updates and updates the edited specific file, and ends the backup procedure (S815). ). Since there is no file editing by the user other than the user, overwriting deletes the existing file of the user and saves the latest file.

Landscapes

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

Abstract

본 발명의 일 측면에 따른, 백업 스토리지로의 파일 백업을 통제하는 장치는, 백업할 파일을 식별하는 식별 모듈; 상기 식별된 파일에 서명이 없는 경우 상기 식별된 파일의 서명을 생성하여 상기 식별된 파일에 추가하는 서명 생성 모듈; 상기 식별된 파일에 서명이 존재하는 경우 상기 식별된 파일에서 서명을 생성하여 상기 식별된 파일에 존재하는 서명과 비교하여 서명의 유효성을 검증하는 서명 검증 모듈; 및 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일을 상기 백업 스토리지에 저장하는 백업 처리 모듈을 포함한다.

Description

파일 백업을 통제하는 장치 및 방법
본 출원은 2016년 06월 03일에 출원된 한국 특허출원 제10-2016-0069832호를 기초로 한 우선권 주장을 수반하며, 해당 특허출원의 명세서 및 도면에 개시된 모든 내용은 본 출원에 원용된다.
본 발명은 백업 기술에 관한 것으로, 보다 구체적으로, 백업 스토리지에 파일을 백업하는 데 있어서 파일 백업을 통제하는 장치 및 방법에 관한 것이다.
최근 랜섬웨어라는 악성 코드가 유포되어 피해를 주고 있다. 랜섬웨어는 인터넷 사용자의 컴퓨터에 잠입해 내부 문서나 스프레트시트, 그림 파일 등을 암호화해 열지 못하도록 만든 후 돈을 보내주면 해독용 열쇠 프로그램을 전송해 준다며 금품을 요구하는 악성 프로그램이다. ransom(몸값)과 ware(제품)의 합성어로 컴퓨터 사용자의 문서를 '인질'로 잡고 돈을 요구한다고 해서 붙여진 명칭이다.
랜섬웨어에 감염될 경우 파일이 복잡한 알고리즘으로 암호화돼 파일을 열어도 내용을 알아볼 수 없다. 주로 이메일, 소셜 네트워크 서비스(SNS), 메신저 등을 통해 전송된 첨부 파일을 실행하면 감염되며, 웹사이트 방문을 통해 감염되기도 한다. 백신 프로그램으로 악성 코드를 없애도 암호화된 파일은 복구되지 않아 사상 최악의 악성 코드라고 불린다. 해커들은 파일을 열 수 있게 해준다는 조건으로 돈을 요구하는 데, 기한이 지나면 액수가 더 올라가고 파일을 복구할 수 없게 할 수 있다고 협박하기도 한다.
현재까지 랜섬웨어 대응은 다른 모든 악성 코드와 같이 알려지지 않은 프로세스 실행에 대한 차단 정도이다. 이러한 방법은 새로운 패턴의 악성 코드가 등장하면 기능이 의미가 없다. 시간 단위로 모든 파일을 백업하는 방법이 랜섬웨어를 막는 유일한 방법으로 알려져 있다. 시간별로 모든 파일을 백업하게 되면, 파일이 무분별하게 계속 쌓여 가게 되므로 대용량의 스토리지가 필수적이다. 따라서 동일한 파일에 대해서는 덮어쓰기로 업데이트를 하여 스토리지 공간 효율성을 높인다. 그러나 이 방법은 랜섬웨어에 의해 스토리지도 오염된다. 즉, 스토리지에 파일을 백업한 후, 로컬에 있는 동일한 파일이 랜섬웨어에 의해 감염되면, 감염된 파일이 스토리지에 있는 동일 파일에 덮어쓰기 되어 결국 스토리지에 저장된 파일도 감염된다. 예를 들어, 스토리지에 a.dat 파일이 이미 백업되어 있는 상태에서, 로컬 컴퓨터에 저장되어 있는 a.dat 파일이 랜섬웨어에 의해 감염되는 경우, 스토리지에 이미 백업되어 있는 a.dat 파일은 랜섬웨어에 의해 감염된 a.dat 파일로 덮어쓰기로 업데이트되어 결국 스토리지의 파일도 감염된다.
본 발명은 파일을 백업 스토리지에 백업하는 데 있어서 백업 스토리지에 저장되어 있는 파일이 랜섬웨어와 같은 악성 코드에 의해 감염되지 않도록 통제하는 장치 및 방법을 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른, 백업 스토리지로의 파일 백업을 통제하는 장치는, 백업할 파일을 식별하는 식별 모듈; 상기 식별된 파일에 서명이 없는 경우 상기 식별된 파일의 서명을 생성하여 상기 식별된 파일에 추가하는 서명 생성 모듈; 상기 식별된 파일에 서명이 존재하는 경우 상기 식별된 파일에서 서명을 생성하여 상기 식별된 파일에 존재하는 서명과 비교하여 서명의 유효성을 검증하는 서명 검증 모듈; 및 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일을 상기 백업 스토리지에 저장하는 백업 처리 모듈을 포함한다.
상기 백업 처리 모듈은, 상기 서명 검증 모듈에서 유효성 검증에 실패한 상기 식별된 파일은 상기 백업 스토리지로의 저장을 차단할 수 있다.
상기 백업 처리 모듈은, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일과 동일한 파일명의 파일이 상기 백업 스토리지에 존재하지 않으면, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일을 그대로 상기 백업 스토리지에 저장할 수 있다.
상기 백업 처리 모듈은, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일과 동일한 파일명의 파일이 상기 백업 스토리지에 존재하면서 서명이 다른 경우, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일의 파일명을 변경하여 상기 백업 스토리지에 저장할 수 있다.
상기 백업 처리 모듈은, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일과 동일한 파일명의 파일이 상기 백업 스토리지에 존재하면서 서명이 동일한 경우, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일을 상기 백업 스토리지에 덮어쓰기하여 저장할 수 있다.
상기 식별 모듈은, 상기 백업 스토리지로부터 수신되어 편집된 파일을 식별하고 그 편집된 파일에 기 추가되어 있던 서명을 임시 저장하며, 상기 서명 생성 모듈은, 상기 편집된 파일의 신규 서명을 생성하고 상기 편집된 파일에 기 추가되어 있던 서명을 상기 신규 서명으로 대체하여 추가하며, 상기 백업 처리 모듈은, 상기 백업 스토리지에 저장된 파일 중 상기 임시 저장된 서명과 동일한 서명이 추가되어 있는 파일에 상기 신규 서명이 추가된 파일을 덮어쓰기할 수 있다.
상기 서명 검증 모듈은, 상기 편집된 파일에 추가된 상기 신규 서명의 유효성을 검증하며, 상기 백업 처리 모듈은, 상기 유효성 검증에 실패한 상기 편집된 파일의 상기 백업 스토리지로의 저장을 차단할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른 클라이언트 장치에서 파일 백업을 통제하는 방법은, 백업할 파일을 식별하는 단계; 상기 식별된 파일에 서명이 없는 경우 상기 식별된 파일의 서명을 생성하여 상기 식별된 파일에 추가하는 단계; 상기 식별된 파일에 서명이 존재하는 경우 상기 식별된 파일에서 서명을 생성하여 상기 식별된 파일에 존재하는 서명과 비교하여 서명의 유효성을 검증하는 단계; 및 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일을 백업 스토리지에 저장하는 단계를 포함한다.
상기 방법은, 상기 유효성 검증에 실패한 상기 식별된 파일의 상기 백업 스토리지로의 저장을 차단하는 단계를 더 포함할 수 있다.
상기 저장하는 단계는, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일과 동일한 파일명의 파일이 상기 백업 스토리지에 존재하지 않으면, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일을 그대로 상기 백업 스토리지에 저장할 수 있다.
상기 저장하는 단계는, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일과 동일한 파일명의 파일이 상기 백업 스토리지에 존재하면서 서명이 다른 경우, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일의 파일명을 변경하여 상기 백업 스토리지에 저장할 수 있다.
상기 저장하는 단계는, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일과 동일한 파일명의 파일이 상기 백업 스토리지에 존재하면서 서명이 동일한 경우, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일을 상기 백업 스토리지에 덮어쓰기하여 저장할 수 있다.
상기 방법은, 상기 백업 스토리지로부터 수신되어 편집된 파일을 식별하고 그 편집된 파일에 기 추가되어 있던 서명을 임시 저장하는 단계; 상기 편집된 파일의 신규 서명을 생성하고 상기 편집된 파일에 기 추가되어 있던 서명을 상기 신규 서명으로 대체하여 추가하는 단계; 및 상기 백업 스토리지에 저장된 파일 중 상기 임시 저장된 서명과 동일한 서명이 추가되어 있는 파일에 상기 신규 서명이 추가된 파일을 덮어쓰기하는 단계를 더 포함할 수 있다.
상기 방법은, 상기 편집된 파일에 추가된 상기 신규 서명의 유효성을 검증하는 단계; 및 상기 유효성 검증에 실패한 상기 편집된 파일의 상기 백업 스토리지로의 저장을 차단하는 단계를 더 포함할 수 있다.
본 발명은 백업 스토리지에 파일을 백업하는 클라이언트 장치에서 단독으로 백업 통제를 할 수 있어 백업 스토리지의 부하를 경감할 수 있다.
또한, 본 발명은 기존 백신 프로그램과 달리 신규 악성 코드에 대한 업데이트가 필요 없는 구조이므로 기존 백신 프로그램에 비해 유지 보수 비용이 들지 않는다.
또한, 본 발명은 암호화 기법의 서명을 활용하여 서명 유효성 검증에 실패한 파일은 백업이 원천 차단되므로 보안 강도를 높인다.
또한, 본 발명은 백업 스토리지에 파일을 백업할 때 동일한 파일에 대해 덮어쓰기 업데이트를 하여 백업 스토리지의 공간 효율성을 높이면서 백업 스토리지의 악성 코드에 의한 감염을 방지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 백업 시스템을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 클라이언트 장치의 하드웨어 구성을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 백업 통제 프로그램의 구성을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 파일 백업을 통제하는 방법을 설명하는 흐름도이다.
도 5는 본 발명의 다른 실시예에 따른 파일 백업을 통제하는 방법을 설명하는 흐름도이다.
도 6은 본 발명의 또 다른 실시예에 따른 파일 백업을 통제하는 방법을 설명하는 흐름도이다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 백업 시스템을 나타낸 도면으로, 도 1을 참조하면, 본 실시예에 따른 백업 시스템은 클라이언트 장치(110) 및 백업 스토리지(120)를 포함한다.
클라이언트 장치(110)는, 파일을 저장하고, 백업할 파일을 식별하여 백업 스토리지(120)에 전송하여 백업한다. 클라이언트 장치(110)는, 노트북, 데스크톱 컴퓨터, 태블릿 PC, 스마트폰 등의 통신 기능을 구비하고 있는 장치이다. 클라이언트 장치(110)는 백업할 파일로부터 서명을 생성하고 백업할 파일에 그 서명을 추가한 후에 백업 스토리지(120)에 저장한다. 클라이언트 장치(110)는 백업할 파일에 추가되어 있는 서명의 유효성을 검증하여 유효성 검증에 성공한 파일만을 백업 스토리지(120)에 저장한다. 서명(signature)은, 백업할 파일로부터 생성되며, RSA(Rivest Shamir Adleman), DSA(Digital Signature Algorithm), KCDSA(Korean Certificate-based Digital Signature Algorithm), ECDSA(Elliptic Curve Digital Signature Algorithm), EC-KCDSA 등의 공개키 암호 기반으로 생성될 수 있고, 또는 HMAC(hash-based message authentication code), CBC-MAC(cipher block chaining message authentication code), GMAC(Galois message authentication code) 등의 MAC(Message Authentication code), 또는 SHA1, SHA2, SHA3, MD5 등 해시, 또는 chuck-sum 등으로 생성될 수도 있다.
백업 스토리지(120)는 클라이언트 장치(110)에 연결된 저장 장치로서, 클라이언트 장치(110)와 유선으로 연결되거나, 또는 근거리 통신망("LAN"), 피어-투-피어 네트워크, 광역 통신망("WAN"), 또는 일반적으로 인터넷으로 알려진 글로벌 네트워크로서 구현될 수 있는 네트워크를 통해 클라이언트 장치(110)와 연결되어 통신하도록 구성된다. 백업 스토리지(120)는, 클라우드 스토리지, 네트워크 부착형 스토리지, 또는 개인용 컴퓨팅 장치, 서버-기반 컴퓨팅 장치, PDA, 핸드폰, 소정 타입의 메모리를 갖는 기타 전자 장치 등을 포함하지만 이들로 제한되지는 않는 다양한 장치들 중 임의의 것일 수 있다. 바람직하게, 백업 스토리지(120)는 파일 읽기, 쓰기, 저장 등의 API(Application Programming Interface)를 제공하는 드롭박스, 구글 드라이브 등의 클라우드 스토리지일 수 있다
도 2는 본 발명의 일 실시예에 따른 클라이언트 장치의 하드웨어 구성을 나타낸 도면이다. 도 2에 도시된 바와 같이, 클라이언트 장치(120)는 메모리(210), 메모리 제어기(221), 하나 이상의 프로세서(CPU)(222), 주변 인터페이스(223), 입출력(I/O) 서브시스템(230), 디스플레이 장치(241), 입력 장치(242) 및 통신 회로(252)를 포함한다. 이러한 구성요소는 하나 이상의 통신 버스 또는 신호선을 통하여 통신한다. 도 2에 도시한 여러 구성요소는 하나 이상의 신호 처리 및/또는 애플리케이션 전용 집적 회로(application specific integrated circuit)를 포함하여, 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어 둘의 조합으로 구현될 수 있다.
메모리(210)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치와 같은 불휘발성 메모리, 또는 다른 불휘발성 반도체 메모리 장치를 포함할 수 있다. 프로세서(222) 및 주변 인터페이스(223)와 같은 클라이언트 장치(120)의 다른 구성요소에 의한 메모리(210)로의 액세스는 메모리 제어기(221)에 의하여 제어될 수 있다. 메모리(210)는 클라이언트 장치(120)의 각종 정보와 프로그램 명령어를 저장할 수 있고, 프로그램은 프로세서(222)에 의해 실행된다.
주변 인터페이스(223)는 클라이언트 장치(120)의 입출력 주변 장치를 프로세서(222) 및 메모리(210)와 연결한다. 하나 이상의 프로세서(222)는 다양한 소프트웨어 프로그램 및/또는 메모리(210)에 저장되어 있는 명령어 세트를 실행하여 클라이언트 장치(120)를 위한 여러 기능을 수행하고 데이터를 처리한다.
일부 실시예에서, 주변 인터페이스(223), 프로세서(222) 및 메모리 제어기(221)는 칩(120)과 같은 단일 칩 상에서 구현될 수 있다. 일부 다른 실시예에서, 이들은 별개의 칩(120)으로 구현될 수 있다.
I/O 서브시스템(230)은 디스플레이 장치(241), 입력 장치(242)와 같은 클라이언트 장치(120)의 입출력 주변장치와 주변 인터페이스(223) 사이에 인터페이스를 제공한다.
디스플레이 장치(241)는 LCD(liquid crystal display) 기술 또는 LPD(light emitting polymer display) 기술을 사용할 수 있고, 이러한 디스플레이 장치(241)는 용량형, 저항형, 적외선형 등의 터치 디스플레이일 수 있다. 터치 디스플레이는 클라이언트 장치(120)와 사용자 사이에 출력 인터페이스 및 입력 인터페이스를 제공한다. 터치 디스플레이는 사용자에게 시각적인 출력을 표시한다. 시각적 출력은 텍스트, 그래픽, 비디오와 이들의 조합을 포함할 수 있다. 시각적 출력의 일부 또는 전부는 사용자 인터페이스 대상에 대응할 수 있다. 터치 디스플레이는 사용자 입력을 수용하는 터치 감지면을 형성한다.
프로세서(222)는 클라이언트 장치(120)에 연관된 동작을 수행하고 명령어들을 수행하도록 구성된 프로세서로서, 예를 들어, 메모리(210)로부터 검색된 명령어들을 이용하여, 클라이언트 장치(120)의 컴포넌트 간의 입력 및 출력 데이터의 수신과 조작을 제어할 수 있다.
일부 실시예에서, 소프트웨어 구성요소는 운영 체제(211), 그래픽 모듈(명령어 세트)(212) 및 백업 통제 프로그램(213)이 메모리(210)에 탑재(설치)된다.
운영 체제(211)는, 예를 들어, 다윈(Darwin), RTXC, LINUX, UNIX, OS X, WINDOWS 또는 VxWorks, 안드로이드 등과 같은 내장 운영체제일 수 있고, 일반적인 시스템 태스크(task)(예를 들어, 메모리 관리, 저장 장치 제어, 전력 관리 등)를 제어 및 관리하는 다양한 소프트웨어 구성요소 및/또는 장치를 포함하고, 다양한 하드웨어와 소프트웨어 구성요소 사이의 통신을 촉진시킨다.
그래픽 모듈(212)은 디스플레이 장치(241) 상에 그래픽을 제공하고 표시하기 위한 주지의 여러 소프트웨어 구성요소를 포함한다. "그래픽(graphics)"이란 용어는 텍스트, 웹 페이지, 아이콘(예컨대, 소프트 키를 포함하는 사용자 인터페이스 대상), 디지털 이미지, 비디오, 애니메이션 등을 제한 없이 포함하여, 사용자에게 표시될 수 있는 모든 대상을 포함한다.
통신 회로(252)는 외부 포트를 통한 통신 또는 RF 신호에 의한 통신을 수행한다. 통신 회로(252)는 전기 신호를 RF 신호로 또는 그 반대로 변환하며 이 RF 신호를 통하여 통신 네트워크, 다른 이동형 게이트웨이 장치 및 통신 장치와 통신할 수 있다. 통신 회로(252)는 예를 들어 안테나 시스템, RF 트랜시버, 하나 이상의 증폭기, 튜너, 하나 이상의 오실레이터, 디지털 신호 처리기, CODEC 칩셋, 가입자 식별 모듈(310)(subscriber identity module, SIM) 카드, 메모리 등을 포함할 수 있고, 이러한 기능을 수행하기 위한 주지의 회로를 포함할 수 있다. 통신 회로(252)는 월드 와이드 웹(World Wide Web, WWW)으로 불리는 인터넷, 인트라넷과 네트워크 및/또는, 셀룰러 전화 네트워크, 무선 LAN 및/또는 MAN(metropolitan area network)와 같은 무선 네트워크, 그리고 근거리 무선 통신에 의하여 다른 장치와 통신할 수 있다. 무선 통신은 GSM(Global System for Mobile Communication), EDGE(Enhanced Data GSM Environment), WCDMA(wideband code division multiple access), CDMA(code division multiple access), TDMA(time division multiple access), VoIP(voice over Internet Protocol), Wi-MAX, 블루투스(Bluetooth), 지그비(zigbee), 엔에프씨(NFC:Near Field Communication) 또는 본 출원의 출원 시점에 아직 개발되지 않은 통신 프로토콜을 포함하는 기타 다른 적절한 통신 프로토콜을 포함하지만 이에 한정되지 않는 복수의 통신 표준, 프로토콜 및 기술 중 어느 것을 이용할 수 있다.
입력 장치(242)는 키보드 또는 터치 패드 또는 마우스, 터치펜 등의 물리적인 입력 인터페이스를 통해 사용자 입력을 수신할 수 있고, 또는 디스플레이 장치(241)의 터치 디스플레이와 연계하여 사용자 입력을 수신할 수 있다.
도 3은 본 발명의 일 실시예에 따른 백업 통제 프로그램의 구성을 나타낸 도면이다. 도 3을 참조하면, 백업 통제 프로그램(213)은 식별 모듈(310), 서명 생성 모듈(320), 서명 검증 모듈(330), 백업 처리 모듈(340)을 포함한다. 백업 통제 프로그램(213)의 기능은 하드웨어로 구현될 수도 있고, 하드웨어 및 소프트웨어의 조합에 의해 구현될 수도 있다.
식별 모듈(310)은 백업할 파일을 식별한다. 예를 들어, 사용자가 특정 폴더에 파일을 저장하는 경우 그 파일을 백업할 파일로 식별한다. 또는 사용자가 임의의 폴더에 저장되어 있는 파일을 선택하여 마우스의 우측 버튼을 눌러 백업 메뉴를 선택하는 경우, 그 선택된 파일을 백업할 파일로 식별한다. 또는 백업 스토리지(120)에 저장되어 있는 파일을 사용자가 불러오기를 하여 오픈하고 편집을 한 후 저장하는 경우에도 그 편집된 파일을 백업할 파일로 식별한다. 상기 특정 폴더는 사용자에 의해 지정될 수 있다. 식별 모듈(310)은 파일의 확장자를 확인하여 해당 파일이 서명이 추가되어 있는 파일인지 확인할 수 있다.
서명 생성 모듈(320)은, 상기 식별 모듈(310)에서 식별된 파일에 서명이 없는 경우 그 식별된 파일로부터 서명을 생성하고 그 식별된 파일에 추가한다. 예를 들어, 사용자가 특정 폴더에 파일을 저장하는 경우, 서명 생성 모듈(320)은 그 특정 폴더에 저장된 파일에 서명이 없는 경우 해당 파일의 서명을 생성하고 해당 파일에 추가한다. 또는 사용자가 임의의 폴더에 저장되어 있는 파일을 선택하여 마우스의 우측 버튼을 눌러 백업 메뉴를 선택하는 경우, 서명 생성 모듈(320)은 그 선택된 파일에 서명이 있는지 확인하여 서명이 없는 경우 그 선택된 파일의 서명을 생성하고 그 선택된 파일에 추가한다. 여기서 서명은 파일로부터 생성되므로 각 파일마다 각 파일에 대해 고유하다. 서명 생성 모듈(320)은 복수의 서명 알고리즘 중 하나를 선택하여 서명을 생성할 수 있다.
또한, 서명 생성 모듈(320)은, 백업 스토리지(120)에 저장되어 있는 서명이 추가되어 있는 파일을 사용자가 불러오기를 하여 오픈하고 편집을 한 후 저장하는 경우, 그 편집된 파일의 새로운 서명을 생성하고 그 편집된 파일에 기 추가되어 있던 서명을 새로 생성한 서명으로 대체하여 추가한다. 본 발명의 실시예에서, 백업 스토리지(120)에 저장되어 있는 파일은 이미 유효성 검증에 성공한 서명이 이미 추가되어 있기 때문이다.
서명 검증 모듈(330)은, 파일에 추가되어 있는 서명의 유효성을 검증한다. 서명 검증 모듈(330)은, 파일의 서명을 생성한 후 그 파일에 기 추가되어 있는 서명과 비교함으로써 서명의 유효성을 검증한다. 서명 검증 모듈(330)은, 서명이 일치하는 경우 유효성 검증에 성공한 것으로 판단하고, 서명이 일치하지 않는 경우 유효성 검증에 실패한 것으로 판단한다.
유효성 검증에 성공하는 경우는 다음과 같다. 랜섬웨어와 같은 악성 코드에 감염되지 않고, 상기 서명 생성 모듈(320)에 의해 서명이 생성되어 추가된 파일은 서명의 유효성 검증에 성공한다. 예를 들어, 사용자가 특정 폴더에 파일을 저장하여 서명 생성 모듈(320)이 파일의 서명을 생성하고 추가한 경우, 또는 사용자가 임의의 폴더에 저장되어 있는 파일을 선택하여 마우스의 우측 버튼을 눌러 백업 메뉴를 선택하는 경우 서명 생성 모듈(320)이 서명을 생성하고 추가한 경우, 서명의 유효성 검증에 성공한다. 또는 이미 정상적으로 서명이 추가되어 있는 파일이 상기 특정 폴더에 저장되거나, 또는 이미 정상적으로 서명이 추가되어 있는 파일을 선택한 후 마우스의 우측 버튼 선택에 의해 백업 메뉴가 선택되는 경우에도 서명의 유효성 검증에 성공한다. 또한, 백업 스토리지(120)에 저장되어 있는 파일을 사용자가 불러오기를 하여 오픈하고 편집을 한 후 저장하는 경우에도, 서명 생성 모듈(320)은 그 편집된 파일의 새로운 서명을 생성하여 추가하므로 역시 그 편집된 파일의 서명의 유효성 검증은 성공한다.
유효성 검증에 실패하는 경우는 다음과 같다. 로컬에 저장되어 있는, 서명이 없는 파일을 랜섬웨어와 같은 악성 코드가 변조한 후 임의의 서명을 변조된 파일에 추가하는 경우, 그 임의의 서명은 변조된 파일로부터 생성된 것이 아니므로, 해당 변조된 파일의 서명 유효성 검증은 실패한다. 또는, 서명이 추가되어 있는 파일을 랜섬웨어와 같은 악성 코드가 변조한 후 변조된 파일에 기존 서명을 추가하는 경우, 파일이 변조되었으므로 변조된 파일로부터 생성되는 서명은 기존 서명과 달라지고, 따라서 서명의 유효성 검증은 실패한다.
서명 검증 모듈(330)은, 상기 서명 생성 모듈(320)에 의해 서명이 추가된 파일에 대해서는 서명의 유효성 검증을 생략하고, 이미 서명이 추가된 파일을 사용자가 복사해온 경우(예를 들어, 동일한 백업 통제 프로그램을 사용하는 다른 사용자로부터 서명이 추가된 파일을 이메일 등을 통해 수신한 경우), 또는 악성 코드 등의 다른 프로그램에 의해 서명이 추가된 파일에 대해서 서명의 유효성 검증을 수행할 수 있다.
백업 처리 모듈(340)은, 상기 서명 생성 모듈(320)에서 서명이 추가된 파일, 또는 상기 서명 검증 모듈(330)에서 서명의 유효성 검증에 성공한 파일을 백업 스토리지(120)에 저장한다. 백업 처리 모듈(340)은, 상기 서명 검증 모듈(330)에서 서명의 유효성 검증에 실패한 파일에 대해서는 백업 스토리지(120)에 저장하는 것을 차단한다. 따라서, 랜섬웨어와 같은 악성 코드에 의해 변조된 파일은 백업 스토리지(120)에 저장되지 않고, 따라서 백업 스토리지(120)에 안전하게 저장되어 있는 파일은 악성 코드에 의해 변조된 파일로 덮어쓰기 되지 않아 안전하게 유지될 수 있다. 백업 처리 모듈(340)은 백업 스토리지(120)에 파일을 저장할 때 확장자를 백업용으로 변경하여 저장할 수 있다.
백업 처리 모듈(340)은, 파일을 백업 스토리지(120)에 저장하는 데 있어서, 동일한 파일명의 파일이 백업 스토리지(120)에 존재하지 않으면, 파일의 파일명을 변경하지 않고 그대로 백업 스토리지(120)에 저장할 수 있다. 즉, 백업 처리 모듈(340)은, 상기 서명 생성 모듈(320)에서 서명이 추가된 파일 또는 상기 서명 검증 모듈(330)에서 서명 유효성 검증에 성공한 파일과, 동일한 파일명의 파일이 상기 백업 스토리지(120)에 존재하지 않으면, 상기 서명이 추가된 파일 또는 상기 유효성 검증에 성공한 파일을 그대로 상기 백업 스토리지(120)에 저장할 수 있다.
또한, 백업 처리 모듈(340)은, 상기 서명 생성 모듈(320)에서 서명이 추가된 파일 또는 상기 서명 검증 모듈(330)에서 서명 유효성 검증에 성공한 파일과 동일한 파일명의 파일이 백업 스토리지(120)에 존재하면, 백업할 파일의 서명과 백업 스토리지(120)에 저장되어 있는 동일 파일명의 파일의 서명을 비교하여, 서명이 다른 경우, 파일명만 동일한 것이므로, 상기 서명이 추가된 파일 또는 상기 서명 유효성 검증에 성공한 파일의 파일명을 변경하여 상기 백업 스토리지(120)에 저장할 수 있다. 예를 들어, 백업 스토리지(120)에 기존에 A.datv 파일이 저장되어 있고, 서명이 다른 동일한 파일명의 파일을 백업 스토리지(120)에 저장할 때, A(1).datv와 같이 파일명을 변경하여 저장한다.
또한, 백업 처리 모듈(340)은, 상기 서명 생성 모듈(320)에서 서명이 추가된 파일 또는 상기 서명 검증 모듈(330)에서 서명 유효성 검증에 성공한 파일과 동일한 파일명의 파일이 백업 스토리지(120)에 존재하면, 백업할 파일의 서명과 백업 스토리지(120)에 저장되어 있는 동일 파일명의 파일의 서명을 비교하여, 서명이 동일한 경우, 동일한 파일이므로, 백업 스토리지(120)에 저장되어 있는 파일을 상기 백업할 파일로 덮어쓰기를 하거나, 또는 이미 백업 스토리지(120)에 저장되어 있으므로 덮어쓰기를 하지 않는다. 따라서 사용자가 이미 백업 스토리지(120)에 파일이 백업되어 있는지 모르고, 동일한 파일에 대해 백업 처리, 예를 들어 특정 폴더에 동일 파일을 저장하거나, 동일 파일에 대해 다시 한 번 마우스 우측 버튼을 눌러 백업 메뉴를 선택하는 경우, 백업 스토리지(120)에 불필요하게 파일명이 변경되어 동일한 파일이 저장되는 것을 방지할 수 있다.
사용자는 백업 스토리지(120)에 저장되어 있는 파일을 불러오기 하여 편집한 후 파일명을 유지하며 다시 저장할 수 있다. 이 경우, 식별 모듈(310)은, 상기 백업 스토리지(120)로부터 수신되어 편집된 파일을 식별하고 그 편집된 파일에 기 추가되어 있던 서명을 임시 저장한다. 그리고, 서명 생성 모듈(320)은, 상기 편집된 파일의 신규 서명을 생성하고 상기 편집된 파일에 기 추가되어 있던 서명을 상기 신규 서명으로 대체하여 추가하며, 상기 백업 처리 모듈(340)은, 상기 백업 스토리지(120)에 저장된 파일 중 상기 임시 저장된 서명과 동일한 서명이 추가되어 있는 파일에 상기 신규 서명이 추가된 파일을 덮어쓰기를 하고 상기 임시 저장된 서명을 삭제한다.
도 4는 본 발명의 일 실시예에 따른 파일 백업을 통제하는 방법을 설명하는 흐름도로, 백업 스토리지(120)에 없는 새로운 파일을 클라이언트 장치(110)에서 생성하는 실시예이다. 도 4를 참조하면, 클라이언트 장치(110)는 사용자의 입력에 따라 파일을 생성한다(S401). 여기서 파일은, 문서 파일, 또는 음악 파일, 또는 동영상 파일 등을 포함하고 특별한 제한을 두지 않는다.
클라이언트 장치(110)는 상기 생성된 파일을 백업 파일로 식별한다(S403). 예를 들어, 사용자가 특정 폴더에 상기 생성한 파일을 저장하는 경우 그 파일을 백업할 파일로 식별한다. 또는 사용자가 임의의 폴더에 저장되어 있는 상기 생성한 파일을 선택하여 마우스의 우측 버튼을 눌러 백업 메뉴를 선택하는 경우, 그 선택된 파일을 백업할 파일로 식별한다.
클라이언트 장치(110)는 상기 식별된 파일로부터 서명을 생성한다(S405). 그리고 클라이언트 장치(110)는 생성한 서명을 상기 식별된 파일에 추가한다(S407). 클라이언트 장치(110)는 백업 스토리지(120)로 서명이 추가된 파일을 전송하여 저장하기 전에, 파일에 추가된 서명의 유효성을 검증한다(S409). 여기서 검증은, 백업 스토리지(120)로 전송할 백업 대상의 파일로부터 서명을 생성한 후, 그 백업 대상의 파일에 추가되어 있는 서명과 비교하는 것이다.
서명의 유효성 검증에 성공한 경우, 클라이언트 장치(110)는 서명이 추가된 파일을 백업 스토리지(120)에 전송하여 저장하고(S413), 서명의 유효성 검증에 실패한 경우, 클라이언트 장치(110)는 서명이 추가된 파일의 백업을 차단한다(S415).
이상의 도 4를 참조하여 설명한 실시예에 따르면, 서명이 추가되어 있지 않거나, 파일에 고유한 서명이 아닌 임의의 서명이 추가된 파일은, 백업 스토리지(120)에 백업되지 않는다.
도 5는 본 발명의 다른 실시예에 따른 파일 백업을 통제하는 방법을 설명하는 흐름도로, 백업 스토리지(120)에 기 저장되어 있는 파일과 파일명만 동일한 새로운 파일을 클라이언트 장치(110)에서 생성하여 백업하는 실시예이다. 도 5를 참조하면, 클라이언트 장치(110)는 사용자의 입력에 따라 파일을 생성한다(S501). 여기서 파일은, 문서 파일, 또는 음악 파일, 또는 동영상 파일 등을 포함하고 특별한 제한을 두지 않는다.
클라이언트 장치(110)는 상기 생성된 파일을 백업 파일로 식별한다(S503). 예를 들어, 사용자가 특정 폴더에 상기 생성한 파일을 저장하는 경우 그 파일을 백업할 파일로 식별한다. 또는 사용자가 임의의 폴더에 저장되어 있는 상기 생성한 파일을 선택하여 마우스의 우측 버튼을 눌러 백업 메뉴를 선택하는 경우, 그 선택된 파일을 백업할 파일로 식별한다.
클라이언트 장치(110)는 상기 식별된 파일로부터 서명을 생성한다(S505). 그리고 클라이언트 장치(110)는 생성한 서명을 상기 식별된 파일에 추가한다(S507). 클라이언트 장치(110)는 백업 스토리지(120)로 서명이 추가된 파일을 전송하여 저장하기 전에, 파일에 추가된 서명의 유효성을 검증한다(S509). 여기서 검증은, 백업 스토리지(120)로 전송할 백업 대상의 파일로부터 서명을 생성한 후, 그 백업 대상의 파일에 추가되어 있는 서명과 비교하는 것이다.
서명의 유효성 검증에 실패한 경우, 클라이언트 장치(110)는 백업을 차단한다(S511). 서명의 유효성 검증에 성공한 경우, 클라이언트 장치(110)는 백업 스토리지에 저장되어 있는 동일 파일명의 파일에 추가되어 있는 서명과 상기 유효성 검증에 성공한 서명이 동일한지 확인한다(S513). 앞서 가정한 바와 같이, 사용자가 생성한 파일은 백업 스토리지(120)에 저장되어 있는 파일과 파일명만 동일하므로, 서명은 서로 다르다. 따라서 클라이언트 장치(110)는 서명이 동일하지 않으므로, 백업할 상기 서명이 추가된 파일의 파일명을 변경하여 백업 스토리지(120)에 전송하여 저장한다(S515). 만약 파일명 및 파일 내용 등이 모두 동일한 경우, 클라이언트 장치(110)는 백업 스토리지(120)에 기 저장되어 있는 파일을 상기 백업할 상기 서명이 추가된 파일로 덮어쓰기하여 업데이트할 수 있다(S517). 또는 동일한 파일이므로 백업을 중단할 수도 있다.
이상의 도 5를 참조하여 설명한 실시예에 따르면, 클라이언트 장치(110)에서 백업할 파일과 백업 스토리지(120)에 기 저장된 파일이 파일명만 동일한 경우, 이를 파일에 추가된 서명을 이용하여 확인함으로써, 백업할 파일의 파일을 변경하여 백업 스토리지(120)에 저장함으로써 파일명 혼동에 의한 오작업을 방지할 수 있다.
또한, 도 5를 참조하여 설명한 실시예에 따르면, 클라이언트 장치(110)에 저장된 파일을 악성 코드가 변조하여 백업 스토리지(120)에 저장된 파일에 덮어쓰기를 시도하는 것을 방지할 수 있다. 악성 코드는 백업 스토리지(120)에 백업되어 있고 클라이언트 장치(110)에도 저장되어 있는 파일을 클라이언트 장치(110)에서 변조하여 임의의 서명을 추가한 후 백업 스토리지(120)에 덮어쓰기를 할 수 있으나, 서명 유효성 검증에 실패하거나, 두 파일의 서명이 동일하지 않으므로, 덮어쓰기는 실패한다.
도 6은 본 발명의 또 다른 실시예에 따른 파일 백업을 통제하는 방법을 설명하는 흐름도로, 백업 스토리지(120)에 기 저장되어 있는 파일을 클라이언트 장치(110)에서 로딩하여 편집한 후 다시 백업하는 실시예이다. 도 6을 참조하면, 클라이언트 장치(110)는 사용자의 입력에 따라 백업 스토리지(120)에서 특정 파일을 로딩한다(S601). 여기서 파일은, 문서 파일, 또는 음악 파일, 또는 동영상 파일 등을 포함하고 특별한 제한을 두지 않는다.
클라이언트 장치(110)는 상기 로딩된 파일에 추가되어 있는 기존 서명을 추출하여 임시 저장한다(S603). 클라이언트 장치(110)는 사용자의 입력에 따라 상기 로딩된 파일을 편집하고 저장한다(S605). 클라이언트 장치(110)는 상기 편집 저장된 파일을 백업 파일로 식별한다(S607). 예를 들어, 사용자가 특정 폴더에 상기 편집된 파일을 저장하는 경우 그 편집된 파일을 백업할 파일로 식별한다. 또는 사용자가 임의의 폴더에 저장되어 있는 상기 편집된 파일을 선택하여 마우스의 우측 버튼을 눌러 백업 메뉴를 선택하는 경우, 그 선택된 편집된 파일을 백업할 파일로 식별한다.
클라이언트 장치(110)는 상기 편집된 파일로부터 신규 서명을 생성하고 상기 편집된 파일에 신규 서명을 추가한다(S609). 클라이언트 장치(110)는 백업 스토리지(120)로 상기 신규 서명이 추가된 편집된 파일을 전송하여 저장하기 전에, 편집된 파일에 추가된 서명의 유효성을 검증한다(S611). 여기서 검증은, 백업 스토리지(120)로 전송할 백업 대상의 파일로부터 서명을 생성한 후, 그 백업 대상의 파일에 추가되어 있는 서명과 비교하는 것이다.
서명의 유효성 검증에 실패한 경우, 클라이언트 장치(110)는 백업을 차단한다(S613). 서명의 유효성 검증에 성공한 경우, 클라이언트 장치(110)는 상기 단계 S603에서 임시 저장한 상기 편집된 파일의 기존 서명과 동일한 서명을 갖는 백업 스토리지(120) 내의 파일에 상기 편집된 파일을 덮어쓰기하여 업데이트한다(S615).
이상의 도 6을 참조하여 설명한 실시예에 따르면, 백업 스토리지(120)에 기 저장된 파일을 사용자가 로딩하여 편집하는 경우, 백업 스토리지(120)에도 동일하게 덮어쓰기 업데이트됨으로써, 불필요하게 여러 파일이 중복되어 저장되는 것을 방지한다.
또한, 도 6을 참조하여 설명한 실시예에 따르면, 백업 스토리지(120)로부터 로딩되어 클라이언트 장치(110)에서 편집 후에 저장된 파일을, 악성 코드가 변조하고 편집 전의 기존 서명을 추가할 수 있다. 하지만, 악성 코드에 의해 감염된 파일은 백업 스토리지(120)에 전송되기 전에, 서명 유효성 검증에 실패하므로, 덮어쓰기는 실패한다. 따라서 백업 스토리지(120)에 저장된 파일은 안전하게 유지된다.
도 7은 본 발명의 또 다른 실시예에 따른 파일 백업을 통제하는 방법을 설명하는 흐름도이다.
도 7을 참조하면, 클라이언트 장치(110)는 특정 파일에 대해 백업을 시작한다(S701). 여기서 파일은, 문서 파일, 또는 음악 파일, 또는 동영상 파일 등을 포함하고 특별한 제한을 두지 않는다. 클라이언트 장치(110)는, 예를 들어, 사용자가 특정 폴더에 파일을 저장하는 경우 그 파일에 대해 백업을 시작하거나, 또는 사용자가 임의의 폴더에 저장되어 있는 파일을 선택하여 마우스의 우측 버튼을 눌러 백업 메뉴를 선택하는 경우, 그 선택된 파일에 대해 백업을 시작한다.
클라이언트 장치(110)는 상기 특정 파일이 서명이 추가된 파일 형식인지 확인한다(S702). 클라이언트 장치(110)는 상기 특정 파일의 확장자를 확인하여 서명이 추가된 파일인지 확인할 수 있다.
단계 S702에서 상기 특정 파일이 서명이 추가된 파일 형식인 것으로 확인되면, 클라이언트 장치(110)는 그 특정 파일에 서명이 존재하는지 확인한다(S703). 서명이 존재하지 않으면, 클라이언트 장치(110)는 백업을 차단하고 백업 절차를 종료한다(S704, S705). 반면, 단계 S703에서 서명이 존재하는 것으로 확인되면, 클라이언트 장치(110)는 그 특정 파일에 존재하는 서명이 유효한지 검증한다(S706). 여기서 검증은, 상기 특정 파일로부터 서명을 생성한 후, 그 특정 파일에 이미 추가되어 있는 서명과 비교하는 것이다. 단계 S706에서 서명이 유효하지 않은 경우, 클라이언트 장치(110)는 백업을 차단하고 백업 절차를 종료한다(S707, S708).
한편, 단계 S702에서 상기 특정 파일이 서명이 추가된 파일 형식이 아닌 경우, 클라이언트 장치(110)는 그 특정 파일에 대한 서명을 생성한다(S709). 구체적으로, 클라이언트 장치(110)는 상기 특정 파일에 대한 서명 생성을 시작하여 서명 알고리즘을 결정한다(S791, S792). 클라이언트 장치(110)는, 결정된 서명 알고리즘으로 상기 특정 파일에 대한 서명을 생성한다(S793). 그리고 클라이언트 장치(110)는 생성된 서명을 상기 특정 파일에 추가하고, 그 서명이 추가된 특정 파일의 확장자를 변경한 후 서명 생성 절차를 종료한다(S794, S795, S796).
단계 S709에서 서명을 생성하여 상기 특정 파일에 추가한 후, 클라이언트 장치(110)는 백업 스토리지(120)에 상기 특정 파일의 파일명과 동일한 파일명의 파일이 존재하는지 확인한다(S710).
단계 S710에서 확인한 결과, 동일한 파일명의 파일이 존재하는 경우, 클라이언트 장치(110)는 백업 스토리지(120)에 존재하는 동일한 파일명의 파일에 추가되어 있는 서명과, 상기 특정 파일에 추가되어 있는 서명을 비교하여 동일한지 확인한다(S711). 서명이 동일하지 않다면, 클라이언트 장치(110)는 상기 특정 파일의 파일명을 백업 스토리지(120)에 없는 파일명으로 수정하여 백업 스토리지(120)에 저장하고 백업 절차를 종료한다(S713, S710, S716, S717). 예를 들어, 클라이언트 장치(110)는 상기 특정 파일의 기존 파일명에 숫자를 추가하는 형태로 파일명을 수정할 수 있다. 반면, 단계 S711에서 확인한 결과, 서명이 동일하면, 클라이언트 장치(110)는 백업을 차단하고 백업 절차를 종료한다(S714, S715).
한편, 단계 S710에서 확인한 결과, 동일한 파일명의 파일이 존재하지 않는 경우, 클라이언트 장치(110)는 서명이 추가된 상기 특정 파일을 백업 스토리지(120)에 저장하고 백업 절차를 종료한다(S716, S717).
도 8은 본 발명의 또 다른 실시예에 따른 파일 백업을 통제하는 방법을 설명하는 흐름도로, 백업 스토리지(120)에 기 저장되어 있는 파일을 클라이언트 장치(110)에서 로딩하여 편집한 후 다시 백업하는 실시예이다.
도 8을 참조하면, 클라이언트 장치(110)는 사용자로부터 백업 스토리지(120)에서 특정 파일을 선택받아 열기 입력을 수신한다(S801). 여기서 파일은, 문서 파일, 또는 음악 파일, 또는 동영상 파일 등을 포함하고 특별한 제한을 두지 않는다.
클라이언트 장치(110)는 사용자로부터 선택된 상기 특정 파일에 추가되어 있는 기존 서명을 추출하여 임시 저장한다(S802). 예를 들어 기존 서명을 A라 한다. 그리고 클라이언트 장치(110)는 상기 특정 파일의 형식을 해당 특정 파일의 원래 형식으로 복원한다(S803). 구체적으로, 클라이언트 장치(110)는 파일 형식 복원을 시작하여 해당 특정 파일에 추가되어 있는 기존 서명을 제거한다(S831, S832). 그리고 클라이언트 장치(110)는 서명이 제거된 상기 특정 파일의 확장자를 원래대로 복원하고 파일 형식 복원 절차를 종료한다(S833, S834).
파일 형식 복원이 완료되면, 클라이언트 장치(110)는, 사용자의 입력에 따라 상기 특정 파일을 편집하고 닫아 저장한다(S804). 이후 클라이언트 장치(110)는 그 편집된 상기 특정 파일에 대한 백업을 시작한다(S805). 예를 들면, 사용자가 MS powerpoint를 종료하면, 백업을 시작한다.
먼저, 클라이언트 장치(110)는, 상기 편집된 특정 파일에 대한 서명을 생성한다(S806). 구체적으로, 클라이언트 장치(110)는 상기 특정 파일에 대한 서명 생성을 시작하여 서명 알고리즘을 결정한다(S791, S792). 클라이언트 장치(110)는, 결정된 서명 알고리즘으로 상기 특정 파일에 대한 서명을 생성한다(S793). 그리고 클라이언트 장치(110)는 생성된 서명을 상기 특정 파일에 추가하고, 그 서명이 추가된 특정 파일의 확장자를 변경한 후 서명 생성 절차를 종료한다(S794, S795, S796).
단계 S806에서 서명 생성 후, 클라이언트 장치(110)는 상기 편집된 특정 파일의 파일명과 동일한 파일명의 파일이 백업 스토리지(120)에 존재하는지 확인한다(S807). 동일한 파일명의 파일이 백업 스토리지(120)에 존재하지 않으면, 클라이언트 장치(110)는 상기 편집된 특정 파일을 백업 스토리지(120)에 저장하고 백업 절차를 종료한다(S808, S809). 즉, 사용자가 파일명을 다른 것으로 바꾼 것이므로 백업 스토리지(120)에 있는 기존 파일에 덮어쓰기 하지 않고 새로 저장하는 것이다.
반면, 단계 S807에서 확인한 결과, 동일한 파일명의 파일이 백업 스토리지(120)에 존재하면, 클라이언트 장치(110)는 상기 단계 S802에서 임시 저장한 서명, 즉 A와 백업 스토리지(120)에 존재하는 동일한 파일명의 파일의 서명이 동일한지 확인한다(S811). 서명이 동일하지 않으면, 클라이언트 장치(110)는, 특정 파일의 파일명을 백업 스토리지(120)에 없는 파일명으로 수정하여 백업 스토리지(120)에 저장하고 백업 절차를 종료한다(S813, S807, S808, S809). 이와 같이 하는 경우는, 단계 S805의 백업 시작 이후에, 백업 스토리지(120)에 저장된, 즉 단계 S801에서 열기를 한 파일이 다른 사용자에 의해 편집되어 동일한 파일명으로 미리 저장된 경우로서, 그 다른 사용자에 의해 편집된 동일한 파일명의 파일을 훼손하지 않기 위함이다.
한편, 단계 S811에서 확인한 결과, 서명이 동일하면, 클라이언트 장치(110)는 백업 스토리지(120)에 저장된 기존의 파일을 삭제하고 상기 편집된 특정 파일을 덮어쓰기하여 업데이트하고 백업 절차를 종료한다(S815). 해당 사용자 이외 다른 사용자에 의해 파일 편집이 없는 상태이므로, 덮어쓰기를 하여 해당 사용자의 기존 파일은 삭제하고 최신 파일을 저장하는 것이다.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.

Claims (14)

  1. 백업 스토리지로의 파일 백업을 통제하는 장치에 있어서,
    백업할 파일을 식별하는 식별 모듈;
    상기 식별된 파일에 서명이 없는 경우 상기 식별된 파일의 서명을 생성하여 상기 식별된 파일에 추가하는 서명 생성 모듈;
    상기 식별된 파일에 서명이 존재하는 경우 상기 식별된 파일에서 서명을 생성하여 상기 식별된 파일에 존재하는 서명과 비교하여 서명의 유효성을 검증하는 서명 검증 모듈; 및
    상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일을 상기 백업 스토리지에 저장하는 백업 처리 모듈을 포함하는 장치.
  2. 제 1 항에 있어서,
    상기 백업 처리 모듈은,
    상기 서명 검증 모듈에서 유효성 검증에 실패한 상기 식별된 파일은 상기 백업 스토리지로의 저장을 차단하는 장치.
  3. 제 1 항에 있어서,
    상기 백업 처리 모듈은,
    상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일과 동일한 파일명의 파일이 상기 백업 스토리지에 존재하지 않으면, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일을 그대로 상기 백업 스토리지에 저장하는 장치.
  4. 제 1 항에 있어서,
    상기 백업 처리 모듈은,
    상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일과 동일한 파일명의 파일이 상기 백업 스토리지에 존재하면서 서명이 다른 경우, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일의 파일명을 변경하여 상기 백업 스토리지에 저장하는 장치.
  5. 제 1 항에 있어서,
    상기 백업 처리 모듈은,
    상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일과 동일한 파일명의 파일이 상기 백업 스토리지에 존재하면서 서명이 동일한 경우, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일을 상기 백업 스토리지에 덮어쓰기하여 저장하는 장치.
  6. 제 1 항에 있어서,
    상기 식별 모듈은, 상기 백업 스토리지로부터 수신되어 편집된 파일을 식별하고 그 편집된 파일에 기 추가되어 있던 서명을 임시 저장하며,
    상기 서명 생성 모듈은, 상기 편집된 파일의 신규 서명을 생성하고 상기 편집된 파일에 기 추가되어 있던 서명을 상기 신규 서명으로 대체하여 추가하며,
    상기 백업 처리 모듈은, 상기 백업 스토리지에 저장된 파일 중 상기 임시 저장된 서명과 동일한 서명이 추가되어 있는 파일에 상기 신규 서명이 추가된 파일을 덮어쓰기하는 장치.
  7. 제 6 항에 있어서,
    상기 서명 검증 모듈은, 상기 편집된 파일에 추가된 상기 신규 서명의 유효성을 검증하며,
    상기 백업 처리 모듈은, 상기 유효성 검증에 실패한 상기 편집된 파일의 상기 백업 스토리지로의 저장을 차단하는 장치.
  8. 클라이언트 장치에서 파일 백업을 통제하는 방법에 있어서,
    백업할 파일을 식별하는 단계;
    상기 식별된 파일에 서명이 없는 경우 상기 식별된 파일의 서명을 생성하여 상기 식별된 파일에 추가하는 단계;
    상기 식별된 파일에 서명이 존재하는 경우 상기 식별된 파일에서 서명을 생성하여 상기 식별된 파일에 존재하는 서명과 비교하여 서명의 유효성을 검증하는 단계; 및
    상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일을 백업 스토리지에 저장하는 단계를 포함하는 방법.
  9. 제 8 항에 있어서,
    상기 유효성 검증에 실패한 상기 식별된 파일의 상기 백업 스토리지로의 저장을 차단하는 단계를 더 포함하는 방법.
  10. 제 8 항에 있어서,
    상기 저장하는 단계는,
    상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일과 동일한 파일명의 파일이 상기 백업 스토리지에 존재하지 않으면, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일을 그대로 상기 백업 스토리지에 저장하는 방법.
  11. 제 8 항에 있어서,
    상기 저장하는 단계는,
    상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일과 동일한 파일명의 파일이 상기 백업 스토리지에 존재하면서 서명이 다른 경우, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일의 파일명을 변경하여 상기 백업 스토리지에 저장하는 방법.
  12. 제 8 항에 있어서,
    상기 저장하는 단계는,
    상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일과 동일한 파일명의 파일이 상기 백업 스토리지에 존재하면서 서명이 동일한 경우, 상기 서명이 추가된 상기 식별된 파일 또는 상기 유효성 검증에 성공한 상기 식별된 파일을 상기 백업 스토리지에 덮어쓰기하여 저장하는 방법.
  13. 제 8 항에 있어서,
    상기 백업 스토리지로부터 수신되어 편집된 파일을 식별하고 그 편집된 파일에 기 추가되어 있던 서명을 임시 저장하는 단계;
    상기 편집된 파일의 신규 서명을 생성하고 상기 편집된 파일에 기 추가되어 있던 서명을 상기 신규 서명으로 대체하여 추가하는 단계; 및
    상기 백업 스토리지에 저장된 파일 중 상기 임시 저장된 서명과 동일한 서명이 추가되어 있는 파일에 상기 신규 서명이 추가된 파일을 덮어쓰기하는 단계를 더 포함하는 방법.
  14. 제 13 항에 있어서,
    상기 편집된 파일에 추가된 상기 신규 서명의 유효성을 검증하는 단계; 및
    상기 유효성 검증에 실패한 상기 편집된 파일의 상기 백업 스토리지로의 저장을 차단하는 단계를 더 포함하는 방법.
PCT/KR2017/005819 2016-06-03 2017-06-02 파일 백업을 통제하는 장치 및 방법 WO2017209576A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2016-0069832 2016-06-03
KR1020160069832A KR20170137534A (ko) 2016-06-03 2016-06-03 파일 백업을 통제하는 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2017209576A1 true WO2017209576A1 (ko) 2017-12-07

Family

ID=60478631

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/005819 WO2017209576A1 (ko) 2016-06-03 2017-06-02 파일 백업을 통제하는 장치 및 방법

Country Status (2)

Country Link
KR (1) KR20170137534A (ko)
WO (1) WO2017209576A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113868628A (zh) * 2021-10-19 2021-12-31 南方电网数字电网研究院有限公司 一种签名验证方法、装置、计算机设备和存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102084183B1 (ko) * 2018-06-11 2020-03-03 숭실대학교산학협력단 악성 프로세스 감염을 차단하는 파일 백업 장치 및 그 방법
KR102549300B1 (ko) * 2021-04-30 2023-06-30 주식회사 안랩 파일 검증 시스템 및 파일 검증 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060101855A (ko) * 2005-03-21 2006-09-26 마이크로소프트 코포레이션 컴퓨팅 장치에 저장된 데이터의 백업을 수행하기 위한 방법및 소프트웨어 시스템
KR20080066790A (ko) * 2005-10-12 2008-07-16 데이터캐슬 코퍼레이션 데이터 백업 시스템 및 방법
KR20080067054A (ko) * 2007-01-15 2008-07-18 이병배 파일백업 방법
US20090228533A1 (en) * 2008-03-05 2009-09-10 Ca, Inc. File change detection
KR20130093775A (ko) * 2011-12-29 2013-08-23 주식회사 안랩 시스템 파일 보호 및 복구를 위한 장치, 방법, 사용자 단말기 및 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060101855A (ko) * 2005-03-21 2006-09-26 마이크로소프트 코포레이션 컴퓨팅 장치에 저장된 데이터의 백업을 수행하기 위한 방법및 소프트웨어 시스템
KR20080066790A (ko) * 2005-10-12 2008-07-16 데이터캐슬 코퍼레이션 데이터 백업 시스템 및 방법
KR20080067054A (ko) * 2007-01-15 2008-07-18 이병배 파일백업 방법
US20090228533A1 (en) * 2008-03-05 2009-09-10 Ca, Inc. File change detection
KR20130093775A (ko) * 2011-12-29 2013-08-23 주식회사 안랩 시스템 파일 보호 및 복구를 위한 장치, 방법, 사용자 단말기 및 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113868628A (zh) * 2021-10-19 2021-12-31 南方电网数字电网研究院有限公司 一种签名验证方法、装置、计算机设备和存储介质
CN113868628B (zh) * 2021-10-19 2024-06-07 南方电网数字平台科技(广东)有限公司 一种签名验证方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
KR20170137534A (ko) 2017-12-13

Similar Documents

Publication Publication Date Title
US8671279B2 (en) Incremental secure backup and restore of user settings and data
WO2019218919A1 (zh) 区块链场景下的私钥管理方法、装置及系统
US11232222B2 (en) Access management system, access management method and program
US10157290B1 (en) Systems and methods for encrypting files
US11048551B2 (en) Secure delivery and deployment of a virtual environment
CN111917540B (zh) 一种数据加解密方法、装置、移动终端和存储介质
US10397216B2 (en) Systems and methods for performing secure backup operations
WO2017122980A1 (en) Electronic device and method for authenticating identification information thereof
US20150264047A1 (en) Method and system for providing secure communication between multiple operating systems in a communication device
US10045212B2 (en) Method and apparatus for providing provably secure user input/output
WO2017209576A1 (ko) 파일 백업을 통제하는 장치 및 방법
US20230177197A1 (en) Persistent file system in a secure enclave
US10771462B2 (en) User terminal using cloud service, integrated security management server for user terminal, and integrated security management method for user terminal
US20200257815A1 (en) Accessing encrypted user data at a multi-tenant hosted cloud service
EP3203407B1 (en) Information processing method and information processing device
JP2021090151A (ja) ストレージシステムおよびストレージシステムのデータ保護方法
KR20180009271A (ko) 파일 암호화 방지 장치 및 방법
JP2019008592A (ja) セキュアエレメント、コンピュータプログラム、デバイス、os起動システム及びos起動方法
US9270649B1 (en) Secure software authenticator data transfer between processing devices
WO2019040182A1 (en) SYSTEMS AND METHODS FOR ENCRYPTED FILES
KR20190030406A (ko) 파일 백업을 통제하는 시스템
WO2018164408A1 (ko) 어플리케이션 보안 방법 및 이를 수행하기 위한 시스템
US20210050998A1 (en) Secret key updating system, secret key updating method, and secret key updating program
WO2018194402A2 (ko) 사용자 인증을 위한 장치 및 방법
US11526339B1 (en) Systems and methods for improving application installation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17807069

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 25/03/2019)

122 Ep: pct application non-entry in european phase

Ref document number: 17807069

Country of ref document: EP

Kind code of ref document: A1