WO2010002185A2 - Method for automatically and completely deleting temporary files used in application programs - Google Patents

Method for automatically and completely deleting temporary files used in application programs Download PDF

Info

Publication number
WO2010002185A2
WO2010002185A2 PCT/KR2009/003577 KR2009003577W WO2010002185A2 WO 2010002185 A2 WO2010002185 A2 WO 2010002185A2 KR 2009003577 W KR2009003577 W KR 2009003577W WO 2010002185 A2 WO2010002185 A2 WO 2010002185A2
Authority
WO
WIPO (PCT)
Prior art keywords
file
temporary
program
application
deleting
Prior art date
Application number
PCT/KR2009/003577
Other languages
French (fr)
Korean (ko)
Other versions
WO2010002185A3 (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 (주) 애니컴페니언
Publication of WO2010002185A2 publication Critical patent/WO2010002185A2/en
Publication of WO2010002185A3 publication Critical patent/WO2010002185A3/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Definitions

  • the present invention relates to a method for automatic complete deletion of temporary files used in an application program.
  • FIG. 1 shows the creation of such a temporary file, such temporary files are to be deleted at the time when the Office file is closed (close).
  • FIG. 1 (A) in the case of MS-Word, if a change occurs in a document content since a document is opened (that is, when a user edits the document content), a file called ⁇ WRL_001.tmp is generated. As the number of changes in the document content increases, temporary files are continuously created with ⁇ WRL_002.tmp, ⁇ WRL_003.tmp, and so on. Such temporary files remain inside the file system even if the document is completely deleted by the user. Since the files can be restored as they are, using the file recovery program, the information created by the user is transferred to the outside. It is very likely to be a spill. FIG.
  • Temporary files are created many times in other kinds of programs.
  • an example of high possibility of leakage of personal information or confidential information is web mail operation.
  • each individual user accesses a mail server that actually manages mail through a browser such as Internet Explorer, and downloads and reads the mail contents of an individual stored in the mail server through the browser.
  • the browser imports not only a local storage file but also a file or data stored externally, and displays the data. In this process, a lot of data is temporarily stored in a temporary folder.
  • FIG. 2 (A) shows the temporary file folder used by Internet Explorer after checking mail through the web.
  • the files such as mail_view_fram [1] .htm and mail_view_subject_frame [1] .htm are the files that contain the body and subject of the mail, respectively. These files are downloaded from IE and stored temporarily. These temporary files have different names for each mail site, but use a common name for each site. These files are sometimes deleted but are still stored.
  • FIG. 2 (B) shows the contents directly recovered by recovering the mail or the deleted mail file stored in the temporary folder. As shown in the figure, all the details such as the contents contained in the mail and the subject were revived, so it is possible to immediately track what information was used by the person using the PC.
  • Korean Patent Laid-Open Publication No. 2005-0112463 (“Method for permanently erasing data of a recording medium", hereinafter, prior art 1) searches for a physical disk and a logical disk of a computer during a booting process of a computer, and selects a physical disk or a logical disk selected by a user. Disclosed is a technique for deleting data stored in the data, thereby facilitating an operation of deleting the data itself, and not restoring the deleted data.
  • Korean Patent No. 0380824 (“Method for permanently deleting a file stored in a storage device of a computer and its recording medium", hereinafter, Prior Art 2), a method for permanently deleting a file stored in a storage device of a computer so that recovery is impossible. More particularly, the present invention relates to a method of applying a data recovery means to overwrite a recoverable file so as to completely delete it from a storage area storing data, and to a recording medium recording means for realizing the method. The technique is disclosed.
  • the present invention has been made to solve the problems of the prior art as described above, an object of the present invention to track the location of the temporary file used in various programs using a hook (hook) method, and the temporary file It provides a method for automatic complete deletion of temporary files used by an application program that makes it impossible to recover by multiple overwriting them.
  • the automatic complete deletion method of the temporary file used in the application of the present invention for achieving the above object is implemented in the form of a program executed by arithmetic processing means including a computer, a1) by the program Configuring a process table linked with the real-time monitoring whether a process of an application program is executed; a2) real-time tracing of the operation of the application program using the PID of the process when a process start of the application program is detected and placed in the process table; a3) hooking the deletion API execution process when a process of executing a deletion API function for deleting a temporary file is detected among the processes of the application program; a4) grasp the attributes, the size and the location of the temporary file by using variables of the delete API function, change the properties of the temporary file to be writable, and then in the area from the start position to the end position of the temporary file Overwriting at least one or more overwriting patterns by the size of the file; a5) calling the original delete API function to be executed when the pattern overwriting is completed in the temporary file;
  • arithmetic processing means including a computer, by real time monitoring whether the process of the application program is executed by configuring a process table linked to the timer b1) by the program; b2) if a process start of an application is detected and entered in a process table, using the PID of the process to trace in real time the operation of the application; b3) hooking the generated API execution process when a process of executing the generated API function for generating a temporary file is detected among the processes of the application program; b4) identifying attributes, sizes, and locations of temporary files using variables of the generation API function, and managing and storing all files generated by the generation API execution process; b5) if the process termination of the application is detected, tracking all temporary files except the original file among the management-listed files with reference to the stored management list; b6) overwriting at least one or more overwriting patterns corresponding to the size of the temporary file in an area from the start position to the end position of the temporary file after changing the attribute of the temporary file to be
  • the program performs an overwrite operation using a user input string pattern when overwriting, an overwrite operation using a random string pattern, or generates and overwrites a pattern for overwriting according to the DoD 5220 method. If the Peter Gutmann method is selected, the pattern for overwriting and overwriting are performed according to the Peter Gutmann method. In this case, when the overwrite is performed using the user input string pattern or the random string pattern, the program may repeatedly overwrite the number of times according to a user input or a predetermined number of times.
  • the program is stored in a portable storage device including a USB and is automatically or manually executed when the portable storage device is connected to the processing unit, p1) monitoring an application program (S101); p2) hooking and tracing a process of creating or deleting a file (S102); p3) if the hooked process is a file deletion process, completely deleting the temporary file to be deleted through the steps a4) to a5) (S104 to S105); p4) if the hooked process is a file generation process, managing listing the generated temporary file through the process of step b4) (S106 to S107); p5) detecting a removal request of the portable storage device (S108); p6) completely deleting the temporary file managed and listed in step p4) through the processes of steps b5) to b7) (S109); p7) Receiving whether or not to delete the log including the management list from the user (S110), if the deletion request is input by referring to the management list created in step p4 (S111a) to completely delete the management list file ( S110),
  • the program is installed on the arithmetic processing means and executed automatically or manually with the start of the arithmetic processing means system, q1) monitoring an application program (S201); q2) hooking and tracing a process of creating or deleting a file (S202); q3) if the hooked process is a file deletion process, completely deleting the temporary file to be deleted through the steps a4) to a5) (S204 to S205); q4) if the hooked process is a file generation process, managing list of generated temporary files for each application through the process of step b4) (S206 to S207); q5) detecting an application termination request (S208); q6) completely deleting the temporary file managed by the application program in step q4) through the processes of steps b5) to b7) (S209); q7) Receiving whether the log including the management list for each application is deleted from the user (S210), and if a deletion request is input, referring to the management list for each application created in step q4) (S211a) for each
  • the user can completely delete files that are not consciously created, that is, temporary files that are automatically generated by an office program, an Internet browser, or the like.
  • files that are not consciously created that is, temporary files that are automatically generated by an office program, an Internet browser, or the like.
  • by automatically deleting various document temporary files or Internet temporary files that may contain user's personal or confidential information even if temporary files are found or leaked by hacking or use of third parties, they cannot be recovered.
  • the security and security of personal and confidential information are greatly increased.
  • the user can automatically delete such temporary files simply by issuing a simple command without any trouble, such as searching or restoring what temporary files have been created by the user.
  • a simple command without any trouble, such as searching or restoring what temporary files have been created by the user.
  • the user convenience is maximized.
  • the user can more frequently perform automatic complete deletion of the temporary file according to the present invention more intimately, thus further increasing the long-term security safety.
  • 1 is a temporary file generated by MS Word and recovery results.
  • FIG. 3 is a flowchart of a method for automatic complete deletion of a temporary file in which a trace is made at the time a temporary file is deleted.
  • FIG. 4 is a flowchart of a method for automatic complete deletion of a temporary file in which a trace is made at the time a temporary file is created.
  • 9 is an operation flowchart when the program of the present invention is installed on the system.
  • the automatic complete deletion method of a temporary file used in an application program includes two steps, a step of tracing a temporary file generated by the use of a program, and a process of deleting the traced temporary file so that it cannot be recovered. Is made of. At this time, the tracking of the temporary file is made when the temporary file is deleted or when the temporary file is created. Thus, when the temporary file is deleted or created, the program deleting or creating the temporary file is monitored. Can be detected.
  • an API Application Programming Interface
  • An API is an interface created to control functions provided by an operating system or a programming language for use in an application program. It is mainly used for file control, window control, image processing, and character. Provides an interface for control, etc.
  • the API consists of more than 1000 functions that can be used to create windows and open files when creating applications in the operating system or languages such as C, C ++, Pascal, etc. There is a distinct difference between a graphical user interface and a command-line interface that directly interacts with the user.
  • APIs have a language or message format that is used when an application communicates with a system program, such as an operating system or database management system, and the API is implemented by calling a function that provides a link to a specific subroutine for execution within the program. .
  • a system program such as an operating system or database management system
  • the API is implemented by calling a function that provides a link to a specific subroutine for execution within the program.
  • an API has several program modules or routines that must already exist or be linked in order to perform the work requested by the function call.
  • a good API provides all the building blocks, and the programmer simply needs to put them together to make program development easier.
  • the API was created for programmers like this, programs that use the same API have similar interfaces, making it easier for users to learn how to use new programs.
  • Examples of such APIs include the Windows API, DirectX, OpenGL, and the single Unix specification, and all widely used programs are built on top of these APIs.
  • programs running in the Windows environment are based on the Windows API
  • programs running in the Unix environment are based on the UNIX API.
  • the Win32 API one of the Windows APIs, includes _hread, _hwrite,... , AbnormalTermination, AbortDoc,... More than 2000 functions are included, among which the basic API functions related to files are CreateFile, ReadFile, WriteFile, DeleteFile, and CloseFile. These functions have the ability to create, read, write, delete, or close files as their name implies, and many applications use these APIs to create, read, and... And close functions.
  • An API hook like this means that when an application calls an API, it hooks the API call instruction to modify the content of the intercepted data or prevent the API from running.
  • many applications are mostly made based on APIs provided by the corresponding OS depending on the operating system. Therefore, the API hooking method may be used regardless of the application.
  • a temporary file generated by an application program such as Office or IE is automatically deleted.
  • an application program such as Office or IE
  • each add-in must be made according to each application.
  • an add-in for MS Word, an add-in for Microsoft Excel, an add-in for MS PowerPoint, and an add-in for Korean should be created separately. Therefore, the form of add-in may be convenient when using a single application, but it is very inconvenient for the developer, and the user also has to be inconvenient to install and execute different add-ins in each application.
  • the temporary file is basically tracked using an API hook.
  • 3 and 4 illustrate a flowchart of a method for automatically deleting a temporary file of the present invention.
  • the method of the present invention will be described in more detail with reference to the accompanying drawings.
  • the method of the present invention is implemented in the form of a program executed by arithmetic processing means such as a computer, and therefore, it will be apparent that the main subject of all operations is a program implemented to execute the method of the present invention.
  • a program implemented to execute the method of the present invention is hereinafter referred to as the 'program of the present invention', which generates temporary files such as MS-based programs such as MS Word / Excel / Powerpoint, Korean programs, IE, etc. Note that all other programs are called 'applications'.
  • FIG. 3 is a flowchart of a method for automatically deleting a temporary file in which a temporary file is tracked when a temporary file is deleted.
  • the program of the present invention configures a process table linked with a timer to monitor in real time whether a process of an application program is executed. At this time, if a process of a target application (Office related program, HWP, IE, etc.) is detected and listed in the process table, the program of the present invention continues the operation of the application program using PID (program ID) of the process. Trace in real time.
  • PID program ID
  • the program of the present invention uses the variables of the deletion API function to determine the property, size and location of the temporary file.
  • the prototype of DeleteFile in the Windows API is BOOL DeleteFile (LPCTSTR lpFileName).
  • the result of DeleteFile function is returned as BOOL (boolean type, true / false) type, LPCTSTR (immutable generic string) type, and has a variable named lpFileName indicating the path and location of the file.
  • the program of the present invention detects the properties, size and location of the temporary file in this way, and then performs overwriting for automatic complete deletion. Typically, these temporary files are hidden and may not be read or written by any user, depending on the settings in the application. Therefore, the program of the present invention first changes the attribute of the temporary file to be writable. Subsequently, the overwriting pattern corresponding to the size of the temporary file is overwritten one or more times in the area from the start position to the end position of the temporary file using the size and location values of the temporary file identified in the previous step. .
  • the program of the present invention calls and executes the original delete API function again.
  • the deleted temporary file is deleted as the overwrite pattern is overwritten, and thus the overwritten contents are recovered even if the overwrite pattern is restored, so that the contents of the original file cannot be recognized at all.
  • FIG. 4 is a flowchart of a method for automatically deleting a temporary file in which a trace is made when a temporary file is generated.
  • a complete deletion is performed in the step of deleting a temporary file.
  • a copy of a document file temporary file such as ⁇ WRL_001.tmp, etc.
  • the link file (.LNK) that links these document files or other files used in addition are not deleted separately (i.e. because the delete API function is not called in the application), the method of FIG. You cannot delete all the same temporary files. Therefore, in the method of FIG. 4, by hooking the API file generation function of the temporary file, all temporary files generated by the application can be automatically and completely deleted.
  • the program of the present invention constructs a process table in conjunction with a timer to monitor in real time whether a process of an application program is executed. At this time, if a process of a target application (Office related program, HWP, IE, etc.) is detected and listed in the process table, the program of the present invention continues the operation of the application program using PID (program ID) of the process. Trace in real time.
  • PID program ID
  • Office-related programs can create temporary files, which are copies of the documents, in the location of the documents while editing documents, and also create temporary files, such as link files that link the documents. have.
  • the program of the present invention monitors the process of the application and detects an execution process of a generation API function for generating a temporary file.
  • the program of the present invention hooks the generation API execution process. (hook)
  • the file creation in the Windows environment is performed by the CreateFile function in the API, and as shown in FIG. 4, the CreateFile function is hooked.
  • the program of the present invention uses the variables of the generated API function to grasp the attributes, sizes, and positions of all the generated files.
  • the prototype of CreateFile in the Windows API is HANDLE CreateFile (LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES pSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile).
  • each variable of the CreateFile function may be used to easily determine the property, size, location, etc. of the generated file.
  • the program of the present invention grasps the attributes, sizes, and positions of all the files generated in this way, and then stores and stores necessary variables (properties, sizes, positions, etc.) of all the files. Then, when detecting that the process of the application program is terminated, the program of the present invention defines all files except the original file among all the generated files as temporary files and performs a step of automatically deleting them completely. (The distinction between the original file and the temporary file can be easily performed by using a file name rule, a creation time point, etc.) That is, when the termination of the process of the application program is detected, the program of the present invention is referred to by referring to the stored management list.
  • the overwriting pattern corresponding to the size of the temporary file is overwritten at least once in the area from the start position to the end position of the file.
  • the program of the present invention deletes the overwritten temporary files and then terminates the process of the application program normally.
  • terminate normally means a process of returning a handle taken by a hook of the program of the present invention to the application program, or completing interference with the process of the application program, which is the program of the present invention.
  • temporary files e.g., temporary files as document copies such as ⁇ WRL_001.tmp in MS Word
  • deleted by the termination of the application program are deleted as overwritten patterns.
  • temporary files e.g., temporary files including link files such as document.LNK in MS Word
  • temporary files may also be deleted as an overwritten pattern for overwriting according to the present invention. do. Therefore, even if any type of temporary files are recovered, only files having contents overwritten by the program of the present invention are recovered, so that the original files and all contents related to the original files cannot be recognized at all.
  • the program of the present invention may use only one method selected from the method of FIG. 3 and the method of FIG. 4, or may use both the method of FIG. 3 and the method of FIG. 4.
  • the program of the present invention can automatically output the temporary files, as described above, and then store the list of temporary files that have been completely deleted as a log and output them when the user desires.
  • FIG. 5 illustrates DeleteFile hook results of MS Word, MS Excel, MS PowerPoint, and Korean HWP applications sequentially from the top, and each of them will be described in detail below.
  • Figure 5 (A) is a screen configured to track the DeleteFile of the MS Word to output the file name in the calling routine, as shown, not only to create a temporary file as a copy of the original, but also to store in a temporary folder of the user and recently used documents Also create .LNK files, etc.
  • Figure 5 (B) is a screen configured to output the file name in the call routine to trace the DeleteFile of MS Excel, the .LNK file and the temporary files in the form of .TMP at the location of the document, which is also the contents of the recently used document is created. .
  • Figure 5 (C) is a screen configured to output the file name in the call routine by tracking DeleteFile of MS PowerPoint, in the case of PowerPoint, the temporary file folder (C: ⁇ Documents and Settings ⁇ [user name] ⁇ Local Settings of the user) Create a temporary file in ⁇ Temp ⁇ ) and delete it when you exit.
  • 5 (D) is a screen configured to output the file name in the call routine by tracking DeleteFile of the Korean HWP, it can be seen that quite a lot of files are used as a temporary file in the case of Hangul.
  • Korean too, create a temporary file in the user's temporary file folder (C: ⁇ Documents and Settings ⁇ [user name] ⁇ Local Settings ⁇ Temp ⁇ ) and delete it when exiting.
  • FIG. 6 shows the MS log (from FIG. 6 (A)) sequentially from the top, as a result of completely erasing the temporary files generated by various application programs as shown in FIG. 5 using the program of the present invention. ), MS Excel (FIG. 6B), MS PowerPoint (FIG. 6C), and Korean HWP (FIG. 6D) application related logs are shown.
  • the program of the present invention overwrites the pattern for overwriting at the temporary file location and then deletes it, so that even if the temporary file is recovered and viewed, the contents of the original document are not known at all.
  • the overwriting pattern is set as a '0' repetition string to show a simple example.
  • the overwriting pattern may be anything, such as a random string pattern.
  • the program of the present invention allows a user to select an overwriting pattern or an overwriting algorithm. For example, when a random method is selected, the number of random strings according to a user input or preset by a program designer is set. Overwrite the number of times, and if the DoD 5220 method is selected, the pattern for overwriting is created and overwritten according to the DoD 5220 method. If the Peter Gutmann method is selected, the pattern for overwriting is created and overwritten according to the Peter Gutmann method. You can make it write.
  • the program designer may adopt and use an appropriate overwrite algorithm.
  • the program for automatically deleting a temporary file according to the present invention may be stored in a portable storage device including a USB and executed automatically or manually when the portable storage device is connected to the arithmetic processing means, or installed on the arithmetic processing means. (installed) may be executed automatically or manually with the start of the arithmetic processing unit system.
  • the former method can be applied to a specific case, for example, when a user is working on a PC other than his or her personal work PC, such as on a business trip. It can be applied when working.
  • autorun when the portable storage device such as USB is inserted into the PC, the program of the present invention may be automatically executed immediately, or after the portable storage device is inserted, the user may execute the program file of the present invention stored in the portable storage device. You can also find and run it yourself to get the job done.
  • autorun.exe which is a program autoplaying program when a CD or DVD is inserted.
  • the window can be started and the program of the present invention can be automatically executed.
  • the user may find and execute the program execution file of the present invention stored in the system and directly execute the operation.
  • FIG. 8 is an operational flowchart in the former case, i.e., when the program of the present invention is stored in a portable storage device.
  • the program of the present invention monitors an application program executed by the arithmetic processing means (S101), and hooks a process of creating or deleting a file. Tracking (S102). This is consistent with the steps of [Application Monitoring> Application Tracking> Delete API Hook or Generate API Hook] in FIGS. 3 and 4 above.
  • the hooked process is a file deletion process
  • the temporary file to be deleted is completely deleted by automatically deleting the temporary file by the deletion API hook described with reference to FIG. 3 (S104 to S105).
  • the hooked process is a file generation process
  • the generated temporary file is managed and cataloged through the method described in the process of automatically deleting the temporary file by the generation API hook described in FIG. 4 (S106 to S107).
  • the program of the present invention is as follows. The same process will terminate the program.
  • the temporary file managed by the file creation process hook is deleted through the automatic temporary file deletion process by the generation API hook described with reference to FIG. 4 (S109). Subsequently, the user receives whether to delete the log including the management list from the user (S110), when a deletion request is input, referring to the management list (S111a) after completely deleting the management list file (S111) to terminate the program. It becomes (S112).
  • FIG. 9 is an operational flowchart in the latter case, i.e. when the program of the present invention is installed on the system.
  • the method of FIG. 9 is very similar to the method of FIG. 8, but there are some other parts, such as starting point of operation.
  • the program of the present invention monitors an application program executed in the arithmetic processing means (S201), and creates or deletes a file. Hook and track the process (S202). This is consistent with the steps of [Application Monitoring> Application Tracking> Delete API Hook or Generate API Hook] in FIGS. 3 and 4 above.
  • the hooked process is a file deletion process
  • the temporary file to be deleted is completely deleted through automatic deletion of the temporary file by the deletion API hook described with reference to FIG. 3 (S204 to S205).
  • the hooked process is a file generation process
  • the generated temporary file is managed and cataloged through the method described in the process of automatically deleting the temporary file by the generation API hook described in FIG. 4 (S206 to S207). At this time, the management list is created for each application.
  • the cleanup phase of the temporary file deletion process for the application will be performed.
  • a user may perform tasks while simultaneously using MS Word and MS PowerPoint. At this time, if the MS PowerPoint task is completed first, all temporary files created by MS PowerPoint may be deleted. However, in the case of MS Word, the work has not been completed yet.
  • the program of the present invention performs a process of automatically deleting the temporary file by the generation API hook described in FIG. Completely delete through (S209). Subsequently, the user receives whether the log including the management list for each application is deleted from the user (S210), and when a delete request is input, the management list file for each application is completely deleted by referring to the management list for each application (S211a). After that (S211) the program is terminated (S212).

Landscapes

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

Abstract

The present invention relates to a method for automatically and completely deleting temporary files used in application programs. An object of the present invention is to provide a method for automatically and completely deleting temporary files used in application programs, wherein the method traces, through a hook system, the positions of the temporary files used in a variety of programs, and overwrites the relevant temporary files multiple times and deletes the temporary files to make recovery impossible.

Description

응용프로그램에서 사용되는 임시 파일의 자동 완전 삭제 방법 How to Automatically Delete Temporary Files Used by Applications
본 발명은 응용프로그램에서 사용되는 임시 파일의 자동 완전 삭제 방법에 관한 것이다.The present invention relates to a method for automatic complete deletion of temporary files used in an application program.
최근의 프로그램들은 사용자 편의성 향상을 위한 다양하고 복합적인 기능이나 편리하고 보기 좋은 인터페이스 등을 제공하도록 하는 경향으로 개발되고 있다. 그런데, 이를 위해서는 많은 메모리를 사용하게 되고, 따라서 프로그램의 용량이 커지고 작동 시 시스템 부하가 증가함에 따라, 처리 속도가 느려질 가능성이 있었다. 이러한 문제점을 방지하기 위하여, 최근의 프로그램들, 특히 Office 관련 프로그램과 같이 복합적인 기능을 사용하는 큰 프로그램의 경우 대부분, 사용자의 편리성 및 빠른 동작을 위하여 임시 파일(temporary file)들을 사용하고 있다.Recently, programs have been developed with the tendency to provide various and complex functions for improving user convenience or a convenient and nice interface. However, this requires a lot of memory, and as the program capacity increases and the system load increases during operation, the processing speed may be slowed down. In order to prevent this problem, most recent programs, especially large programs that use complex functions such as Office-related programs, use temporary files for user convenience and quick operation.
이와 같은 임시 파일을 이용한 동작의 구체적인 예를 들면 다음과 같다. MS Word등의 Office 프로그램들은 파일의 저장 및 자동 저장 시기에 작업하기 이전 내용을 저장하는 임시 파일들을 사용한다. 이러한 임시 파일의 생성 위치는 해당 Office 파일이 열리는(open) 위치이며, 일반적으로 (MS-Word의 경우) ~WRL_00x.tmp 등과 같이 명명되는 .tmp 확장자의 파일로 저장된다. 도 1(A)는 이러한 임시 파일의 생성 모습을 도시하고 있으며, 이와 같은 임시 파일들은 해당 Office 파일이 닫히는(close) 시기에 삭제되도록 되어 있다.A concrete example of the operation using such a temporary file is as follows. Office programs, such as MS Word, use temporary files that store the contents of the file before it is saved. The location where these temporary files are created is the location where the corresponding Office file is opened and is usually saved as a file with a .tmp extension named (for MS-Word) ~ WRL_00x.tmp. Figure 1 (A) shows the creation of such a temporary file, such temporary files are to be deleted at the time when the Office file is closed (close).
도 1(A)에 도시된 바와 같이, MS-Word의 경우 어떤 문서가 열려진 이후로 해당 문서 내용 중 변화가 발생하면(즉 사용자가 문서 내용을 편집하게 되면) 이에 따라 ~WRL_001.tmp라는 파일이 생성되며, 문서 내용 중 변화가 많아질수록 ~WRL_002.tmp, ~WRL_003.tmp 등으로 계속적으로 임시 파일이 생성되게 된다. 이와 같은 임시 파일들은, 사용자에 의하여 해당 문서가 완전히 삭제되더라도 파일 시스템의 내부에 그대로 남아 있게 되며, 파일 복구 프로그램을 이용하면 이러한 파일들은 원본 그대로 복원이 가능하기 때문에 이를 통하여 사용자가 작성한 정보가 외부로 유출이 될 가능성이 매우 높다. 도 1(B)는 파일 복구 프로그램을 이용하여 파일 시스템의 삭제된 파일을 검사한 결과로서, 상기 도 1(A)에 보여진 ~WRL0001.tmp 및 ~$rnelthreads.doc, 즉 MS-Word 프로그램 작업 중에 생성된 임시 파일인 ~WRL_001.tmp 및 ~$RNEL~1.DOC가 그대로 검색되어 나오는 것을 확인할 수 있다. 이와 같이 파일 복구 프로그램을 이용하여 삭제된 파일을 복구하고 이를 MS-Word로 열면 작성하던 파일의 형태 그대로 복원이 된다. 이와 같은 임시 파일들은, 갑작스러운 전원 차단이나 사용자 실수 등에 의하여 미처 작업한 내용을 저장하지 못한 채 문서 파일이 닫혔을 경우 복구를 위하여 매우 유용하게 사용될 수도 있는 장점도 가지고 있다.As shown in FIG. 1 (A), in the case of MS-Word, if a change occurs in a document content since a document is opened (that is, when a user edits the document content), a file called ~ WRL_001.tmp is generated. As the number of changes in the document content increases, temporary files are continuously created with ~ WRL_002.tmp, ~ WRL_003.tmp, and so on. Such temporary files remain inside the file system even if the document is completely deleted by the user. Since the files can be restored as they are, using the file recovery program, the information created by the user is transferred to the outside. It is very likely to be a spill. FIG. 1 (B) shows a result of examining deleted files of a file system using a file recovery program, and ~ WRL0001.tmp and ~ $ rnelthreads.doc shown in FIG. You can see the generated temporary files ~ WRL_001.tmp and ~ $ RNEL ~ 1.DOC are retrieved as they are. In this way, if you use the file recovery program to recover deleted files and open them with MS-Word, you can restore the file as it was created. Such temporary files also have the advantage that they can be very useful for recovering when a document file is closed without saving the work done due to sudden power cut or user error.
그런데, 최근 이러한 프로그램들의 일반적인 사용 환경이 과거와 크게 달라지고 있어, 이러한 기능이 문제가 될 위험성이 높아지고 있다. 종래 특히 Office 관련 프로그램 류의 프로그램들은 회사 내 컴퓨터에서만 거의 사용되었으나, 최근에는 각 개인이 필요한 자료들을 이동형 USB 등과 같은 휴대용 저장 장치에 저장하고, 이를 이용하여 편리하게 자료를 이동할 수 있게 됨으로써 회사 내 컴퓨터 뿐 아니라 출장지, 거래처 등에서도 작업을 수행할 수 있게 되었다. 이와 같은 자료의 편리한 이동은 활동 영역에 제한받지 않고 언제 어디서나 작업을 수행할 수 있게 해 준다는 측면에서 큰 장점이 될 수도 있으나, 상술한 바와 같은 임시 파일 생성 기능으로부터 암시되듯이 오히려 이러한 편리성 때문에 개인 정보들이 유출될 가능성이 매우 높아진다는 것은 주지의 사실이다.However, in recent years, the general use environment of these programs is greatly different from the past, and the risk of such a function is increasing. Conventionally, programs related to Office-related programs have been used almost exclusively on computers in the company, but recently, each individual needs to store the necessary data in a portable storage device such as a portable USB device, and can easily move the data using the computer in the company. In addition, it is possible to carry out work in travel destinations and customers. This convenient movement of data can be a big advantage in that it allows you to perform tasks anytime, anywhere, without being limited in the area of activity, but rather, as this suggests from the temporary file creation function described above, It is well known that information is very likely to be leaked.
임시 파일이 생성되는 동작은 비단 Office 관련 프로그램과 전혀 다른 종류의 프로그램에서도 수없이 이루어지고 있다. 상술한 바와 같이 개인 정보나 기밀 정보의 유출이 일어날 가능성이 높은 일례로 웹 메일(web mail) 운용을 들 수 있다. 웹 메일 운용 방식은, 실제로 메일을 관리하는 메일 서버에 각 개인 사용자가 Internet Explorer와 같은 브라우저를 통해 접속하고, 브라우저를 통해 메일 서버에 저장된 개인의 메일 내용 등을 내려받아 읽어들일 수 있게 되어 있다. 이 때, 브라우저에서는 로컬 저장 파일 뿐만 아니라 외부에 저장되어 있는 파일 또는 데이터를 가져와 디스플레이를 수행하게 되는데, 이 과정에서 임시 폴더에 많은 자료를 임시로 저장하게 된다. 일례로 Windows XP를 기준으로 할 때, 기본적(default)으로 C:\Documents and Settings\[사용자 이름]\Local Settings\Temporary Internet Files(위 경로에서 [사용자 이름] 부분은 각 PC 환경에 따라 변경될 수 있으며, 상기 폴더는 기본적으로 [숨김]으로 되어 있다)에 브라우저에서 내려받은 인터넷 임시 파일들이 저장된다는 것은 잘 알려져 있는 사실이다. 브라우저에서 인터넷을 통해 웹 페이지를 볼 때, 접속 또는 새로고침 시마다 새로 해당 웹 페이지와 관련된 문서, 이미지 등의 파일을 내려받도록 할 경우, 트래픽 량이 증가하여 서버에 부담을 줄 뿐만 아니라 클라이언트 쪽에서도 해당 페이지를 볼 때마다 새로 데이터를 내려받게 됨으로써 시간 및 리소스의 낭비가 이루어지게 된다. 따라서 브라우저는 이와 같은 인터넷 임시 파일을 적절한 경로에 저장하여 두고 해당 페이지를 볼 때 이전에 내려받아 놓은 데이터를 재사용함으로써 서버 및 클라이언트 양쪽 모두에게 보다 효율적인 동작이 가능하도록 해 준다. 도 2(A)는 이와 같이 웹을 통하여 메일을 확인하고 난 후에 Internet Explorer에서 사용하는 임시 파일 폴더를 살펴본 내용이다. mail_view_fram[1].htm, mail_view_subject_frame[1].htm 등의 파일들은 각각 메일의 본문과 제목을 가지고 있는 파일들로서 IE에서 내려받아 임시로 저장하는 파일들이다. 이와 같은 임시 파일의 이름은 각 메일 사이트 마다 다르지만 해당 사이트별로는 공통적인 이름을 사용한다. 이러한 파일들은 삭제가 되기도 하지만 그대로 저장되어 있는 경우도 있다.Temporary files are created many times in other kinds of programs. As described above, an example of high possibility of leakage of personal information or confidential information is web mail operation. In the web mail operation method, each individual user accesses a mail server that actually manages mail through a browser such as Internet Explorer, and downloads and reads the mail contents of an individual stored in the mail server through the browser. At this time, the browser imports not only a local storage file but also a file or data stored externally, and displays the data. In this process, a lot of data is temporarily stored in a temporary folder. For example, based on Windows XP, by default C: \ Documents and Settings \ [user name] \ Local Settings \ Temporary Internet Files (the [username] section in the above path may be changed for each PC environment). It is a well-known fact that Internet folders, which are downloaded from a browser, are stored in the folder (which is basically "hidden"). When a web page is viewed through the Internet in a browser, when a user downloads a new file such as a document or image related to the web page each time the user connects or refreshes, the traffic increases and not only burdens the server, but also makes the page available on the client side. Each time you download new data, you waste time and resources. Therefore, the browser saves these temporary files in the proper path and reuses the data previously downloaded when viewing the page, enabling more efficient operation for both the server and the client. 2 (A) shows the temporary file folder used by Internet Explorer after checking mail through the web. The files such as mail_view_fram [1] .htm and mail_view_subject_frame [1] .htm are the files that contain the body and subject of the mail, respectively. These files are downloaded from IE and stored temporarily. These temporary files have different names for each mail site, but use a common name for each site. These files are sometimes deleted but are still stored.
그런데, 이와 같이 인터넷 임시 파일들이 로컬 클라이언트에 저장됨으로써 역시 개인 정보의 유출 가능성이 커지게 된다. 보다 상세히 설명하자면 다음과 같다. Internet Explorer 등과 같은 브라우저를 이용하여 웹 상에 있는 특정 메일을 확인하게 되면, 이 파일들이 그대로 인터넷 임시 파일 폴더에 저장이 된다. 이 때 이 임시 파일들이 유출될 경우, 분석할 필요도 없이 단지 이를 브라우저 창에 불러들여 띄우기만 해도 메일에 어떠한 내용들이 있었고 어떠한 첨부 파일들이 있었는지 단숨에 알아낼 수 있는 것이다. 도 2(B)는 이와 같이 임시 폴더에 저장된 메일이나 삭제된 메일 파일을 복구하여 직접 내용을 확인한 모습이다. 도시된 바와 같이 메일에 어떠한 내용이 들어 있었고 어떠한 제목이었는지 등의 세부적인 내용이 전부 되살아나기 때문에, 해당 PC를 사용한 사람이 어떠한 정보를 사용했는지 금방 추적이 가능해진다.However, as the Internet temporary files are stored in the local client, the possibility of personal information leakage also increases. More detailed description is as follows. When you check a particular mail on the web using a browser such as Internet Explorer, these files are saved in the Internet temporary file folder. If these temporary files are leaked, you don't need to analyze them, just load them into a browser window and pop them up to find out what's in the mail and what attachments you have. FIG. 2 (B) shows the contents directly recovered by recovering the mail or the deleted mail file stored in the temporary folder. As shown in the figure, all the details such as the contents contained in the mail and the subject were revived, so it is possible to immediately track what information was used by the person using the PC.
물론 종래에 웹 메일과 관련하여 이러한 문제점을 해결하기 위한 방법이 없었던 것은 아니다. 예를 들어 메일 목록 페이지가 이동함에 따라 자동 스크립트에 의하여 해당 파일이 지워지도록 하는 방법이 있으나, 페이지가 빨리 바뀌거나 인터넷 환경 등에 따라 지워지지 않는 경우가 종종 발생한다는 문제점이 알려져 있다. 또한 암호화를 하여 삭제를 하는 방법도 알려져 있으나, 암호화된 내용을 분석하는 방법은 임시 폴더 안에 같이 저장되는 자바 스크립트 파일 등과 같은 스크립트들을 분석하게 되면 사용된 키 값을 알아낼 수 있어 쉽게 암호 해제를 할 수 있다는 것도 잘 알려져 있는 사실이다.Of course, there is no conventional method for solving this problem with Web mail. For example, there is a method of deleting a corresponding file by an automatic script as the mail list page moves, but there is a known problem that the page is often changed quickly or not according to the Internet environment. Also, the method of encrypting and deleting is known, but the method of analyzing the encrypted contents can be easily decrypted by analyzing the scripts such as javascript files that are stored together in the temporary folder to find out the key value used. It is also well known.
뿐만 아니라, 이와 같은 종래의 방법들은 궁극적으로는 웹 메일 관련 임시 파일들을 단지 '삭제'하는 것으로서, 어떤 경우이든 파일 복구 프로그램을 통하여 파일을 복구하고 암호화된 내용을 분석하게 되면 메일의 내용이 확인될 수 있는 문제점이 있다.In addition, such conventional methods ultimately merely 'delete' web mail-related temporary files. In any case, if the file is recovered through a file recovery program and the encrypted contents are analyzed, the contents of the mail may be confirmed. There is a problem that can be.
이와 같이 오피스 등과 같은 프로그램에 의하여 만들어지는 임시 파일, 인터넷 브라우저를 통한 웹 메일 확인 과정에서 저장되는 인터넷용 임시 파일 등에 의해 개인 정보나 기밀 정보가 유출될 가능성이 매우 높다는 것은 주지의 사실이다.As described above, it is well known that personal or confidential information is highly likely to be leaked by temporary files created by a program such as an office or temporary files for the Internet stored in a web mail checking process through an internet browser.
보다 구체적으로 설명하자면 다음과 같다. 개인 PC 뿐만 아니라 여러 PC를 돌아다니면서 작업을 하는 경우 작업하던 문서들이 외부 PC에 그대로 남게 된다. 더불어, 상술한 바와 같이 오피스 프로그램 사용 시 문서 관련 임시 파일, 웹 메일 확인 시 인터넷용 임시 파일 등 역시 외부 PC 상에 그대로 남는다. 이러한 문서들은 작업자의 주의에 따라 해당 문서가 외부 PC에서 삭제되지 않고 그냥 저장된 채 방치되는 경우도 있으며, 또한 이러한 문서들 자체는 작업하는 사람에 의하여 삭제될 수도 있으나 상술한 바와 같이 임시 파일들이 파일 시스템 상에 남아 있게 되는 경우가 많다. 뿐만 아니라 개인 PC의 경우에도, 중요 기밀 문서 작업 후 보안을 위하여 삭제했다 하더라도 역시 임시 파일들이 파일 시스템 상에 남게 될 수 있다.More specifically, it is as follows. If you work around your PC as well as your personal PC, the documents you work on will remain on your external PC. In addition, as described above, temporary files related to documents when using an office program, temporary files for the Internet, etc. when checking a web mail also remain on the external PC. These documents may be left unsaved without being deleted from an external PC according to the operator's attention, and these documents themselves may be deleted by the working person, but as described above, temporary files may be stored in the file system. Often left on the image. In addition, even in the case of personal PCs, temporary files may remain on the file system even if they are deleted for security after working with sensitive documents.
이러한 임시 파일들의 경우, 컴퓨터 사용에 능숙하지 못한 사용자라면 이러한 임시 파일이 생성된다는 사실 자체를 모르는 경우가 대부분이며, 설사 임시 파일 생성 사실을 알고 있는 사용자라 하더라도 임시 파일의 파일명은 대부분 혼동되기 쉽게 지어지기 때문에 어떤 것이 자기 문서의 임시 파일인지 알기 어려워 삭제하지 못할 수도 있다. 물론, 임시 파일을 모두 찾아 삭제하였다 하더라도, 일반적인 삭제 절차에 의하여 삭제된 파일들은 도 1(B)나 도 2(B)에 도시된 바와 같이 대부분 파일 복구 프로그램으로 복구 가능하다. 따라서 외부 PC에 남겨진 임시 파일을 제3자가 복구하여 열어보거나, 또는 제3자가 개인 PC를 해킹하여 이러한 임시 파일을 유출하게 될 가능성이 높아지며, 따라서 개인 정보 및 기밀 정보들의 유출 위험성이 크게 높아지게 되는 것이다.In the case of these temporary files, users who are not good at computer use often do not know that such temporary files are created. Even if a user knows that temporary files are created, the file names of temporary files are often confused. It is difficult to know which one is a temporary file of your document, so you may not be able to delete it. Of course, even if all the temporary files are found and deleted, the files deleted by the general deletion procedure can be recovered by most file recovery programs as shown in FIG. 1 (B) or FIG. 2 (B). Therefore, it is more likely that a third party will recover and open a temporary file left on an external PC, or a third party will hack a personal PC and leak these temporary files, thereby increasing the risk of personal and confidential information leakage. .
종래에도 파일에 남아 있는 임시 파일이나 삭제된 파일이 복구됨으로써 보안 안전성이 무너지는 것을 막기 위해 여러 가지 기술들이 개시되어 왔다.Conventionally, various techniques have been disclosed to prevent the security safety from being broken by recovering a temporary file or a deleted file remaining in a file.
한국공개특허 제2005-0112463호("기록매체의 데이터 영구삭제 방법", 이하 선행기술1)에서는 컴퓨터의 부팅 과정에서 컴퓨터의 물리적 디스크 및 논리적 디스크를 검색하고, 사용자에 의해 선택된 물리적 디스크 또는 논리적 디스크에 저장된 데이터를 삭제하여 데이터의 위치 정보만이 아닌 데이터 자체의 삭제 작업이 용이하게 되며, 삭제된 데이터의 복원이 불가능하도록 하여 중요한 정보가 유출되는 것을 방지하는 기술을 개시하고 있다.Korean Patent Laid-Open Publication No. 2005-0112463 ("Method for permanently erasing data of a recording medium", hereinafter, prior art 1) searches for a physical disk and a logical disk of a computer during a booting process of a computer, and selects a physical disk or a logical disk selected by a user. Disclosed is a technique for deleting data stored in the data, thereby facilitating an operation of deleting the data itself, and not restoring the deleted data.
한국등록특허 제0380824호("컴퓨터의 저장장치에 저장된 파일의 영구적 삭제 방법 및 그 기록 매체", 이하 선행기술2)에서는, 컴퓨터의 저장장치에 저장된 파일을 복구가 불가능하도록 영구적으로 삭제하는 방법에 관한 것으로, 보다 상세하게는 데이터 복구수단을 응용하여 복구 가능한 파일에 대하여 덮어쓰는 방식을 도입하여 데이터를 저장하고 있는 저장 영역으로부터 완전히 삭제하도록 하는 방법 및 상기 방법 실현을 위한 수단을 기록한 기록매체에 대한 기술을 개시하고 있다.In Korean Patent No. 0380824 ("Method for permanently deleting a file stored in a storage device of a computer and its recording medium", hereinafter, Prior Art 2), a method for permanently deleting a file stored in a storage device of a computer so that recovery is impossible. More particularly, the present invention relates to a method of applying a data recovery means to overwrite a recoverable file so as to completely delete it from a storage area storing data, and to a recording medium recording means for realizing the method. The technique is disclosed.
상기 선행기술2에서는, 먼저 컴퓨터 저장 영역에서의 파일의 완전한 삭제를 위한 전 단계로서 복구 가능성이 있는 파일을 모두 찾아내는 것을 주 기능으로 하는 데이터 복구 프로그램이 가동되어, (화면 상에 표시되지는 않으나 물리적으로 데이터가 삭제되지는 않은) 복구 가능한 파일들을 먼저 검색하여 표시한다. 이후, 파일목록에 개시된 파일 중에서 완전히 삭제할 파일을 결정하는 단계를 통해 특정 파일의 완전 삭제를 요하는 경우 해당 파일이 저장되어 있는 영역을 임의의 문자로 덮어쓰도록 함으로써 복구가 불가능하도록 하고 있다.In the prior art 2, a data recovery program whose main function is to first find all recoverable files as a previous step for the complete deletion of files from the computer storage area is started (not displayed on the screen, but not physically). First retrieve and mark the recoverable files that have not been deleted. Subsequently, if a file to be deleted is completely deleted from the files disclosed in the file list, it is impossible to recover the file by overwriting an area in which the file is stored with an arbitrary character.
그런데, 상기 선행기술1 및 선행기술2의 경우 사용자에 의해 수동으로 데이터가 선택되어야만 하는 바, 상술한 바와 같이 응용프로그램별로 다량 자동 생성되는 임시 파일들을 사용자가 일일이 찾는다는 것은 큰 불편함을 야기한다. (일례로 도 5를 보면, Office 계열 프로그램이나 한글 프로그램 사용 시 한 개의 문서를 편집하는 동안 많으면 9개도 넘는 임시 파일들이 생성되며, 또한 이들의 경로 역시 일정하지 않음을 알 수 있다.) 특히 컴퓨터에 익숙하지 않은 사용자의 경우, 한 응용프로그램의 임시 파일이 어떤 명명 규칙을 따라 만들어지는지, 확장자가 어떻게 되는지, 어떤 위치에 어떤 종류의 임시 파일이 생성되는지 등에 대해 전혀 알지 못한다. 따라서 이러한 경우 사용자가 (완전 삭제되어야 할) 임시 파일을 완전 삭제하지 못하고 넘어갈 가능성이 높아지며, 따라서 보안 안전성 역시 담보할 수 없게 된다. 뿐만 아니라, 완전 삭제된 파일은 복구 불가능하다는 점 때문에 사용자 측에서는 자신의 선택에 확신을 가져야만 한다는 부담감이 작용하게 되며, 따라서 이러한 부담 때문에 아예 완전 삭제 프로그램을 사용하지 않게 될 가능성도 매우 높다. 물론 이에 따라 궁극적인 목적, 즉 보안 안전성을 높이고자 하는 목적 역시 이룰 수 없게 됨은 자명하다.However, in the case of the prior art 1 and the prior art 2, the data must be manually selected by the user. As described above, it is very inconvenient for the user to find temporary files that are automatically generated in large quantities for each application. . (For example, if you look at Figure 5, you can see that as many as nine or more temporary files are created while editing a document when using Office programs or Hangul programs, and their paths are also not constant.) For unfamiliar users, you have no idea what naming conventions are created for an application, what its extension is, what kind of temporary files are created in which location, and so on. This increases the likelihood that the user will not be able to completely delete the temporary file (which must be completely deleted), and therefore will not be able to secure security. In addition, since the deleted files are not recoverable, the burden on the user side must be confident in their choice, and therefore, the possibility of not using the deleted program at all is very high. Of course, it is obvious that the ultimate goal, that is, the purpose of improving security safety, cannot be achieved.
이와 같이 사용자가 직접 완전 삭제될 파일을 선택하도록 하는 선행기술1 및 선행기술2는, 앞서 서술한 바와 같은 문제점을 해소할 수 없다. 이에 따라, 응용프로그램에 의해 생성되는 임시 파일들을, 컴퓨터를 전문적으로 다루는 사용자가 아닌 일반적인 사용자(예를 들면 일반적인 사무직 회사원, 학생 등)도 편리하게 완전 삭제함으로써 보안 안전성을 높일 수 있도록 해 주는 기술에 대한 요구가 꾸준히 있어 왔다.As described above, the prior arts 1 and 2, which allow the user to directly select a file to be completely deleted, cannot solve the problems described above. As a result, temporary files created by the application can be easily deleted by ordinary users (for example, general office workers, students, etc.) who are not computer users. There has been a steady demand.
따라서, 본 발명은 상기한 바와 같은 종래 기술의 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 후크(hook) 방식을 사용하여 각종 프로그램에서 사용되는 임시 파일의 위치를 추적하고, 해당 임시 파일들에 다중 덮어쓰기를 한 후 삭제함으로써 복구가 불가능하도록 하는, 응용프로그램에서 사용되는 임시 파일의 자동 완전 삭제 방법을 제공함에 있다.Accordingly, the present invention has been made to solve the problems of the prior art as described above, an object of the present invention to track the location of the temporary file used in various programs using a hook (hook) method, and the temporary file It provides a method for automatic complete deletion of temporary files used by an application program that makes it impossible to recover by multiple overwriting them.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 응용프로그램에서 사용되는 임시 파일의 자동 완전 삭제 방법은, 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 구현되며, 상기 프로그램에 의하여 a1) 타이머와 연동되는 프로세스 테이블을 구성하여 응용프로그램의 프로세스가 실행되는지를 실시간 감시하는 단계; a2) 응용프로그램의 프로세스 시작이 감지되어 프로세스 테이블에 올라오면, 상기 프로세스의 PID를 사용하여 상기 응용프로그램의 동작을 실시간 추적(trace)하는 단계; a3) 상기 응용프로그램의 프로세스 중 임시 파일을 삭제하는 삭제 API 함수의 실행 프로세스가 감지되면, 상기 삭제 API 실행 프로세스를 후크(hook)하는 단계; a4) 상기 삭제 API 함수의 변수를 사용하여 임시 파일의 속성, 크기 및 위치를 파악하고, 상기 임시 파일의 속성을 쓰기 가능하게 변경한 후 상기 임시 파일의 시작 위치부터 끝 위치까지의 영역에 상기 임시 파일의 크기만큼의 덮어쓰기용 패턴을 적어도 한 번 이상 덮어쓰는 단계; a5) 상기 임시 파일에 패턴 덮어쓰기가 완료되면 원래의 삭제 API 함수가 실행되도록 호출하는 단계; 를 포함하여 이루어지는 것을 특징으로 한다.The automatic complete deletion method of the temporary file used in the application of the present invention for achieving the above object is implemented in the form of a program executed by arithmetic processing means including a computer, a1) by the program Configuring a process table linked with the real-time monitoring whether a process of an application program is executed; a2) real-time tracing of the operation of the application program using the PID of the process when a process start of the application program is detected and placed in the process table; a3) hooking the deletion API execution process when a process of executing a deletion API function for deleting a temporary file is detected among the processes of the application program; a4) grasp the attributes, the size and the location of the temporary file by using variables of the delete API function, change the properties of the temporary file to be writable, and then in the area from the start position to the end position of the temporary file Overwriting at least one or more overwriting patterns by the size of the file; a5) calling the original delete API function to be executed when the pattern overwriting is completed in the temporary file; Characterized in that comprises a.
또는, 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 구현되며, 상기 프로그램에 의하여 b1) 타이머와 연동되는 프로세스 테이블을 구성하여 응용프로그램의 프로세스가 실행되는지를 실시간 감시하는 단계; b2) 응용프로그램의 프로세스 시작이 감지되어 프로세스 테이블에 올라오면, 상기 프로세스의 PID를 사용하여 상기 응용프로그램의 동작을 실시간 추적(trace)하는 단계; b3) 상기 응용프로그램의 프로세스 중 임시 파일을 생성하는 생성 API 함수의 실행 프로세스가 감지되면, 상기 생성 API 실행 프로세스를 후크(hook)하는 단계; b4) 상기 생성 API 함수의 변수를 사용하여 임시 파일의 속성, 크기 및 위치를 파악하고, 상기 생성 API 실행 프로세스에 의하여 생성된 모든 파일을 관리 목록화하여 저장하는 단계; b5) 상기 응용프로그램의 프로세스 종료가 감지되면, 상기 저장된 관리 목록을 참조하여 상기 관리 목록화된 파일들 중 원본 파일을 제외한 모든 임시 파일을 추적하는 단계; b6) 상기 임시 파일의 속성을 쓰기 가능하게 변경한 후 상기 임시 파일의 시작 위치부터 끝 위치까지의 영역에 상기 임시 파일의 크기만큼의 덮어쓰기용 패턴을 적어도 한 번 이상 덮어쓰는 단계; b7) 상기 임시 파일에 패턴 덮어쓰기가 완료되면 상기 덮어쓰기 완료된 임시 파일들을 삭제한 후 상기 응용프로그램을 정상적으로 종료하는 단계; 를 포함하여 이루어지는 것을 특징으로 한다.Or, implemented in the form of a program executed by arithmetic processing means including a computer, by real time monitoring whether the process of the application program is executed by configuring a process table linked to the timer b1) by the program; b2) if a process start of an application is detected and entered in a process table, using the PID of the process to trace in real time the operation of the application; b3) hooking the generated API execution process when a process of executing the generated API function for generating a temporary file is detected among the processes of the application program; b4) identifying attributes, sizes, and locations of temporary files using variables of the generation API function, and managing and storing all files generated by the generation API execution process; b5) if the process termination of the application is detected, tracking all temporary files except the original file among the management-listed files with reference to the stored management list; b6) overwriting at least one or more overwriting patterns corresponding to the size of the temporary file in an area from the start position to the end position of the temporary file after changing the attribute of the temporary file to be writable; b7) when the pattern is overwritten in the temporary file, deleting the overwritten temporary files and terminating the application program normally; Characterized in that comprises a.
이 때, 상기 프로그램은 덮어쓰기 시 사용자 입력 문자열 패턴을 사용하여 덮어쓰기 작업을 수행하거나, 랜덤 문자열 패턴을 사용하여 덮어쓰기 작업을 수행하거나, DoD 5220 방식에 따라 덮어쓰기용 패턴 생성 및 덮어쓰기 작업을 수행하거나, Peter Gutmann 방식이 선택될 경우 Peter Gutmann 방식에 따라 덮어쓰기용 패턴 생성 및 덮어쓰기 작업을 수행하는 것을 특징으로 한다. 또한 이 때, 상기 프로그램은 사용자 입력 문자열 패턴 또는 랜덤 문자열 패턴을 사용하여 덮어쓰기할 경우, 사용자 입력에 따른 횟수 또는 미리 결정된 횟수만큼 반복 덮어쓰기를 수행하는 것을 특징으로 한다.At this time, the program performs an overwrite operation using a user input string pattern when overwriting, an overwrite operation using a random string pattern, or generates and overwrites a pattern for overwriting according to the DoD 5220 method. If the Peter Gutmann method is selected, the pattern for overwriting and overwriting are performed according to the Peter Gutmann method. In this case, when the overwrite is performed using the user input string pattern or the random string pattern, the program may repeatedly overwrite the number of times according to a user input or a predetermined number of times.
또한, 상기 프로그램은 USB를 포함하는 휴대용 저장 장치에 저장되어 상기 휴대용 저장 장치가 상기 연산처리수단과 연결되면 자동 또는 수동 실행되며, p1) 응용프로그램을 감시하는 단계(S101); p2) 파일의 생성 또는 삭제 프로세스를 후크 및 추적하는 단계(S102); p3) 상기 후크한 프로세스가 파일 삭제 프로세스이면 삭제될 임시 파일을 상기 a4) 내지 a5) 단계의 과정을 거쳐 완전 삭제하는 단계(S104~S105); p4) 상기 후크한 프로세스가 파일 생성 프로세스이면 생성된 임시 파일을 상기 b4) 단계의 과정을 거쳐 관리 목록화하는 단계(S106~S107); p5) 상기 휴대용 저장 장치의 제거 요청을 감지하는 단계(S108); p6) 상기 p4) 단계에서 관리 목록화한 임시 파일을 상기 b5) 내지 b7) 단계의 과정을 거쳐 완전 삭제하는 단계(S109); p7) 관리 목록을 포함하는 로그의 삭제 여부를 사용자로부터 입력받아(S110), 삭제 요청이 입력되면 상기 p4) 단계에서 만들어진 상기 관리 목록을 참조하여(S111a) 상기 관리 목록 파일을 완전 삭제하는 단계(S111); p8) 프로그램을 종료하는 단계(S112); 를 포함하여 이루어지는 것을 특징으로 한다.In addition, the program is stored in a portable storage device including a USB and is automatically or manually executed when the portable storage device is connected to the processing unit, p1) monitoring an application program (S101); p2) hooking and tracing a process of creating or deleting a file (S102); p3) if the hooked process is a file deletion process, completely deleting the temporary file to be deleted through the steps a4) to a5) (S104 to S105); p4) if the hooked process is a file generation process, managing listing the generated temporary file through the process of step b4) (S106 to S107); p5) detecting a removal request of the portable storage device (S108); p6) completely deleting the temporary file managed and listed in step p4) through the processes of steps b5) to b7) (S109); p7) Receiving whether or not to delete the log including the management list from the user (S110), if the deletion request is input by referring to the management list created in step p4 (S111a) to completely delete the management list file ( S111); p8) terminating the program (S112); Characterized in that comprises a.
또는, 상기 프로그램은 상기 연산처리수단 상에 설치(install)된 형태로서 상기 연산처리수단 시스템 시작과 함께 자동 또는 수동 실행되며, q1) 응용프로그램을 감시하는 단계(S201); q2) 파일의 생성 또는 삭제 프로세스를 후크 및 추적하는 단계(S202); q3) 상기 후크한 프로세스가 파일 삭제 프로세스이면 삭제될 임시 파일을 상기 a4) 내지 a5) 단계의 과정을 거쳐 완전 삭제하는 단계(S204~S205); q4) 상기 후크한 프로세스가 파일 생성 프로세스이면 생성된 임시 파일을 상기 b4) 단계의 과정을 거쳐 응용프로그램별로 관리 목록화하는 단계(S206~S207); q5) 응용프로그램 종료 요청을 감지하는 단계(S208); q6) 상기 q4) 단계에서 응용프로그램별로 관리 목록화한 임시 파일을 상기 b5) 내지 b7) 단계의 과정을 거쳐 완전 삭제하는 단계(S209); q7) 응용프로그램별 관리 목록을 포함하는 로그의 삭제 여부를 사용자로부터 입력받아(S210), 삭제 요청이 입력되면 상기 q4) 단계에서 만들어진 상기 응용프로그램별 관리 목록을 참조하여(S211a) 상기 응용프로그램별 관리 목록 파일을 완전 삭제하는 단계(S211); 를 포함하여 이루어지는 것을 특징으로 한다.Alternatively, the program is installed on the arithmetic processing means and executed automatically or manually with the start of the arithmetic processing means system, q1) monitoring an application program (S201); q2) hooking and tracing a process of creating or deleting a file (S202); q3) if the hooked process is a file deletion process, completely deleting the temporary file to be deleted through the steps a4) to a5) (S204 to S205); q4) if the hooked process is a file generation process, managing list of generated temporary files for each application through the process of step b4) (S206 to S207); q5) detecting an application termination request (S208); q6) completely deleting the temporary file managed by the application program in step q4) through the processes of steps b5) to b7) (S209); q7) Receiving whether the log including the management list for each application is deleted from the user (S210), and if a deletion request is input, referring to the management list for each application created in step q4) (S211a) for each application. Completely deleting the management list file (S211); Characterized in that comprises a.
본 발명에 의하면, 사용자가 의식적으로 생성하지 않은 파일, 즉 오피스 프로그램, 인터넷 브라우저 등에 의하여 자동으로 생성되는 임시 파일들을 복구 불가능하도록 완전히 삭제할 수 있는 효과가 있다. 이와 같이 사용자의 개인 정보나 기밀 정보가 포함될 수 있는 각종 문서 임시 파일이나 인터넷 임시 파일 등을 자동으로 완전 삭제함으로써, 해킹이나 제3자의 사용에 의하여 임시 파일이 발견 또는 유출되더라도 이를 복구할 수 없게 되어, 개인 정보 및 기밀 정보의 보안 안전성이 비약적으로 높아지게 되는 큰 효과가 있다.According to the present invention, there is an effect that the user can completely delete files that are not consciously created, that is, temporary files that are automatically generated by an office program, an Internet browser, or the like. As such, by automatically deleting various document temporary files or Internet temporary files that may contain user's personal or confidential information, even if temporary files are found or leaked by hacking or use of third parties, they cannot be recovered. In addition, the security and security of personal and confidential information are greatly increased.
특히 본 발명에 의하면, 사용자가 자신의 작업을 통해 어떤 임시 파일이 생성되었는지 검색하거나 복구하는 등의 수고를 전혀 할 필요가 없이 간단한 명령을 내리는 것만으로 이와 같은 임시 파일의 완전 삭제가 자동으로 이루어질 수 있어, 사용자 편의성이 극대화되는 큰 효과가 있다. 이와 같이 사용자 편의성이 극대화됨으로써 사용자가 보다 친근하게 본 발명에 의한 임시 파일의 자동 완전 삭제를 보다 자주 수행할 수 있게 되고, 따라서 장기적인 보안 안전성을 더욱 높일 수 있는 효과 또한 있다.In particular, according to the present invention, the user can automatically delete such temporary files simply by issuing a simple command without any trouble, such as searching or restoring what temporary files have been created by the user. There is a great effect that the user convenience is maximized. By maximizing user convenience, the user can more frequently perform automatic complete deletion of the temporary file according to the present invention more intimately, thus further increasing the long-term security safety.
도 1은 MS 워드에 의해 생성되는 임시 파일 및 복구 결과.1 is a temporary file generated by MS Word and recovery results.
도 2는 웹 메일 사용에 의해 생성되는 임시 파일 및 복구 결과.2 is a temporary file generated by using web mail and a recovery result.
도 3은 임시 파일이 삭제되는 시점에 추적이 이루어지는 임시 파일의 자동 완전 삭제 방법의 흐름도.3 is a flowchart of a method for automatic complete deletion of a temporary file in which a trace is made at the time a temporary file is deleted.
도 4는 임시 파일이 생성되는 시점에 추적이 이루어지는 임시 파일의 자동 완전 삭제 방법의 흐름도.4 is a flowchart of a method for automatic complete deletion of a temporary file in which a trace is made at the time a temporary file is created.
도 5는 다양한 응용프로그램에서의 DeleteFile 후크 결과.5 shows DeleteFile hook results in various applications.
도 6은 다양한 응용프로그램에서의 임시 파일 자동 완전 삭제 결과 로그.6 is a log of temporary automatic file deletion results in various applications.
도 7은 본 발명에 의하여 완전 삭제된 임시 파일을 복구한 결과.7 is a result of recovering the temporary file completely deleted by the present invention.
도 8은 휴대용 저장 장치에 본 발명의 프로그램이 저장된 경우 작동 흐름도.8 is an operation flowchart when the program of the present invention is stored in a portable storage device.
도 9는 시스템 상에 본 발명의 프로그램이 설치된 경우 작동 흐름도.9 is an operation flowchart when the program of the present invention is installed on the system.
이하, 상기한 바와 같은 구성을 가지는 본 발명에 의한 응용프로그램에서 사용되는 임시 파일의 자동 완전 삭제 방법을 첨부된 도면을 참고하여 상세하게 설명한다.Hereinafter, a method of automatically deleting a temporary file used in an application program according to the present invention having the above configuration will be described in detail with reference to the accompanying drawings.
본 발명에 의한 응용프로그램에서 사용되는 임시 파일의 자동 완전 삭제 방법은, 크게는 프로그램 사용에 의해 생성된 임시 파일을 추적하는 단계 및 추적된 임시 파일을 복구 불가능하도록 가공하여 삭제하는 단계, 이 두 단계로 이루어진다. 이 때, 임시 파일의 추적은 임시 파일이 삭제되는 시점에 이루어지거나 또는 임시 파일이 생성되는 시점이 이루어지게 되는데, 이와 같이 임시 파일의 삭제 또는 생성 시점은 해당 임시 파일을 삭제 또는 생성하는 프로그램을 감시함으로써 감지해 낼 수 있다.The automatic complete deletion method of a temporary file used in an application program according to the present invention includes two steps, a step of tracing a temporary file generated by the use of a program, and a process of deleting the traced temporary file so that it cannot be recovered. Is made of. At this time, the tracking of the temporary file is made when the temporary file is deleted or when the temporary file is created. Thus, when the temporary file is deleted or created, the program deleting or creating the temporary file is monitored. Can be detected.
프로그램 감시와 관련하여 API 후크(Hook)에 대하여 간략하게 설명한다. 먼저 API(Application Programming Interface, 응용프로그램 프로그래밍 인터페이스)란, 응용프로그램에서 사용할 수 있도록 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있도록 만든 인터페이스를 뜻하며, 주로 파일 제어, 윈도우 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다. API는 운영체제나 C, C++, Pascal 등과 같은 언어로 응용 프로그램을 만들 때, 윈도우를 만들고 파일을 여는 것과 같은 처리를 할 수 있도록 1000여 개 이상의 함수로 구성되어 있으며, 프로그래머를 위한 운영체제나 프로그램의 인터페이스로서 사용자와 직접 대하게 되는 그래픽 사용자 인터페이스나 명령형 인터페이스와 뚜렷한 차이가 있다. API는 응용 프로그램이 운영체제나 데이터베이스 관리 시스템과 같은 시스템 프로그램과 통신할 때 사용되는 언어나 메시지 형식을 가지며, API는 프로그램 내에서 실행을 위해 특정 서브루틴에 연결을 제공하는 함수를 호출하는 것으로 구현된다. 그러므로 하나의 API는 함수의 호출에 의해 요청되는 작업을 수행하기 위해 이미 존재하거나 또는 연결되어야 하는 몇 개의 프로그램 모듈이나 루틴을 가진다. 좋은 API는 모든 빌딩 블록(building block)을 제공하며, 프로그래머는 그 블록들을 함께 합치기만 하면 되어 프로그램 개발이 쉽게 이루어질 수 있게 해 준다. 이와 같이 API는 프로그래머를 위해서 만들어지기는 했지만, 같은 API를 사용한 프로그램은 비슷한 인터페이스를 가지기 때문에 사용자 입장에서도 새로운 프로그램의 사용법을 배우기가 쉬워진다. Briefly describes API hooks related to program monitoring. First of all, an API (Application Programming Interface) is an interface created to control functions provided by an operating system or a programming language for use in an application program. It is mainly used for file control, window control, image processing, and character. Provides an interface for control, etc. The API consists of more than 1000 functions that can be used to create windows and open files when creating applications in the operating system or languages such as C, C ++, Pascal, etc. There is a distinct difference between a graphical user interface and a command-line interface that directly interacts with the user. APIs have a language or message format that is used when an application communicates with a system program, such as an operating system or database management system, and the API is implemented by calling a function that provides a link to a specific subroutine for execution within the program. . Thus, an API has several program modules or routines that must already exist or be linked in order to perform the work requested by the function call. A good API provides all the building blocks, and the programmer simply needs to put them together to make program development easier. Although the API was created for programmers like this, programs that use the same API have similar interfaces, making it easier for users to learn how to use new programs.
이와 같은 API의 예로서 윈도우 API, 다이렉트엑스, OpenGL, 단일 유닉스 규격 등이 있으며, 일반적으로 널리 사용되고 있는 프로그램들은 모두 이러한 API를 기반으로 하여 만들어진다. 즉 윈도우 환경에서 작동되는 프로그램은 윈도우 API를 기반으로, 유닉스 환경에서 작동되는 프로그램은 유닉스 API를 기반으로 만들어지는 것이다. 윈도우 API의 하나인 Win32 API에는 _hread, _hwrite, …, AbnormalTermination, AbortDoc, … 등과 같은 2000여개의 함수들이 포함되는데, 그 중 파일과 관련된 기본적인 API 함수는 CreateFile, ReadFile, WriteFile, DeleteFile, CloseFile 등이다. 이러한 함수들은 이름 그대로 파일을 생성하거나, 읽거나, 쓰거나, 삭제하거나, 닫는 기능을 가지며, 각종 응용프로그램에서는 이러한 API를 사용하여 응용프로그램의 파일 생성, 읽기, …, 닫기 등의 기능을 수행하도록 하고 있다. 구체적으로 간단한 예를 들자면, 윈도우 환경에서 메모장(NOTEPAD.EXE)을 사용하여 텍스트 문서를 작성한다고 할 때, 메모장을 실행시켜 메모장의 [파일] > [새로 만들기]를 선택하면, NOTEPAD.EXE는 윈도우 API인 CreateFile을 호출함으로써 새 파일을 만들게 된다. 또한, 한글(HWP.EXE)에서도 마찬가지로 [파일] > [새 글]을 선택하면, HWP.EXE 역시 똑같이 CreateFile을 호출하여 새 파일을 만든다. 물론 파일 형식 등에 따라 CreateFile 함수의 각 변수는 달라지지만, 새 파일을 생성함에 있어서 API 중 CreateFile 함수를 호출하여 사용한다는 것은 공통적인 것이다. 이와 같이 서로 전혀 다른 응용프로그램이라 할지라도 동일한 API 함수를 기반으로 함으로써, 응용프로그램을 제작하는 개발자와 이를 사용하는 사용자 모두에게 친숙하고 편리한 환경을 제공하게 되는 것이다. 이러한 API의 목록 및 동작 방법 등은 각 OS(윈도우, 유닉스 등)별로 일반인들에게 널리 공개되어 있으며, 프로그래밍 언어를 다룰 수 있는 사람이라면 누구나 이를 기반으로 해당 OS에서 작동 가능한 프로그램을 작성할 수 있다.Examples of such APIs include the Windows API, DirectX, OpenGL, and the single Unix specification, and all widely used programs are built on top of these APIs. In other words, programs running in the Windows environment are based on the Windows API, while programs running in the Unix environment are based on the UNIX API. The Win32 API, one of the Windows APIs, includes _hread, _hwrite,... , AbnormalTermination, AbortDoc,… More than 2000 functions are included, among which the basic API functions related to files are CreateFile, ReadFile, WriteFile, DeleteFile, and CloseFile. These functions have the ability to create, read, write, delete, or close files as their name implies, and many applications use these APIs to create, read, and… And close functions. In a simple example, if you create a text document using Notepad (NOTEPAD.EXE) in a Windows environment, you can launch Notepad and select File> New in Notepad. By calling the API CreateFile, you create a new file. Also, if you select [File]> [New Post] in Korean (HWP.EXE), HWP.EXE will also call CreateFile to create a new file. Of course, each variable of CreateFile function varies according to file type, but it is common to create and use a new file by calling CreateFile function. In this way, even if different applications are based on the same API functions, they provide a familiar and convenient environment for both the developers of the application and the users who use them. The list of these APIs and how to operate them are widely open to the public for each OS (Windows, Unix, etc.), and anyone who can handle the programming language can write a program that can operate on the OS.
API 후크란, 이와 같이 어떤 응용프로그램에서 API를 호출할 때, API 호출 명령을 가로채서(hook) 가로챈 데이터의 내용을 수정하거나 또는 그 API가 실행되지 못하도록 하는 것을 말한다. 상술한 바와 같이 수많은 응용프로그램들은 대부분 작동되는 OS에 따라 해당 OS에서 제공되는 API를 기반으로 하여 만들어지기 때문에, 응용프로그램이 어떤 것인지에 관계없이 API 후크 방법을 사용할 수 있다.An API hook like this means that when an application calls an API, it hooks the API call instruction to modify the content of the intercepted data or prevent the API from running. As described above, many applications are mostly made based on APIs provided by the corresponding OS depending on the operating system. Therefore, the API hooking method may be used regardless of the application.
본 발명에서는, Office, IE 등의 응용프로그램에서 생성되는 임시 파일을 자동 완전 삭제하고자 하고 있다. 이 때, 각 응용프로그램에 최적화시켜 해당 응용프로그램의 애드인/플러그인(Add-in or Plug-in) 형태로 프로그램을 제작하고 이것이 실행되도록 함으로써 임시 파일의 자동 삭제가 이루어지도록 하여도 물론 무방하겠으나, 이 경우 각각의 응용프로그램에 따라 그에 맞는 각각의 애드인을 제작하여야 한다는 단점이 있다. 즉 예를 들자면 MS 워드용 애드인, MS 액셀용 애드인, MS 파워포인트용 애드인, 한글용 애드인 등을 각각 따로 만들어야 하는 것이다. 따라서 단일 응용프로그램 사용 시에는 애드인 형태가 편리할 수 있으나 개발자 입장에서는 매우 불편할 뿐만 아니라, 사용자 입장에서도 각각의 응용프로그램들에 서로 다른 애드인을 일일이 설치하고 실행해야 하는 등 불편함이 따른다.In the present invention, a temporary file generated by an application program such as Office or IE is automatically deleted. At this time, by optimizing for each application program to create a program in the form of the add-in or plug-in (Add-in or Plug-in) of the application and by running it, it is of course possible to automatically delete the temporary file, In this case, there is a disadvantage that each add-in must be made according to each application. For example, an add-in for MS Word, an add-in for Microsoft Excel, an add-in for MS PowerPoint, and an add-in for Korean should be created separately. Therefore, the form of add-in may be convenient when using a single application, but it is very inconvenient for the developer, and the user also has to be inconvenient to install and execute different add-ins in each application.
따라서 본 발명에서는 기본적으로 API 후크를 이용하여 임시 파일을 추적하도록 하고 있다. 도 3 및 도 4는 본 발명의 임시 파일 자동 완전 삭제 방법의 흐름도를 도시한 것으로, 이하에서 각각의 도면을 통해 본 발명의 방법을 보다 상세하게 설명한다. 이 때, 본 발명의 방법은 컴퓨터 등과 같은 연산처리수단에 의하여 실행되는 프로그램 형태로 구현되는 것이며, 따라서 이하에서 모든 동작의 주체는 본 발명의 방법을 실행하도록 구현된 프로그램임을 밝혀 둔다. 또한 혼동을 피하기 위하여, 본 발명의 방법을 실행하도록 구현된 프로그램은 이하에서 '본 발명의 프로그램'으로, MS 워드/엑셀/파워포인트 등 Office 계열 프로그램, 한글 프로그램, IE 등과 같이 임시 파일을 생성하는 다른 모든 프로그램들을 '응용프로그램'으로 칭함을 밝혀 둔다.Therefore, in the present invention, the temporary file is basically tracked using an API hook. 3 and 4 illustrate a flowchart of a method for automatically deleting a temporary file of the present invention. Hereinafter, the method of the present invention will be described in more detail with reference to the accompanying drawings. At this time, the method of the present invention is implemented in the form of a program executed by arithmetic processing means such as a computer, and therefore, it will be apparent that the main subject of all operations is a program implemented to execute the method of the present invention. In addition, in order to avoid confusion, a program implemented to execute the method of the present invention is hereinafter referred to as the 'program of the present invention', which generates temporary files such as MS-based programs such as MS Word / Excel / Powerpoint, Korean programs, IE, etc. Note that all other programs are called 'applications'.
도 3은 임시 파일이 삭제되는 시점에 추적이 이루어지는 임시 파일의 자동 완전 삭제 방법의 흐름도이다.3 is a flowchart of a method for automatically deleting a temporary file in which a temporary file is tracked when a temporary file is deleted.
본 발명의 프로그램은 타이머와 연동되는 프로세스 테이블을 구성하여 응용프로그램의 프로세스가 실행되는지를 실시간 감시한다. 이 때 대상 응용프로그램(Office 관련 프로그램, HWP, IE 등)의 프로세스가 감지되어 상기 프로세스 테이블에 올라오면, 본 발명의 프로그램은 상기 프로세스의 PID(프로그램 ID)를 이용하여 상기 응용프로그램의 동작을 지속적으로 실시간 추적(trace)한다.The program of the present invention configures a process table linked with a timer to monitor in real time whether a process of an application program is executed. At this time, if a process of a target application (Office related program, HWP, IE, etc.) is detected and listed in the process table, the program of the present invention continues the operation of the application program using PID (program ID) of the process. Trace in real time.
앞서 서술한 바와 같이 Office 관련 프로그램의 경우 문서 편집 작업을 수행하는 동안 해당 문서의 위치에 임시 파일을 생성하다가, 해당 문서가 닫히는 시점에서 임시 파일들이 모두 자동으로 삭제되게 된다. 이와 같이 임시 파일이 삭제되는 시점에서, 본 발명의 프로그램은 상기 응용프로그램의 프로세스를 감시하다가 임시 파일을 삭제하는 삭제 API 함수의 실행 프로세스가 감지되면, 본 발명의 프로그램은 상기 삭제 API 실행 프로세스를 후크(hook)한다. 상술한 바와 같이, 윈도우 환경에서 파일의 삭제는 API 중 DeleteFile 함수에 의하여 수행되는 바 도 3에 도시되어 있는 바와 같이 DeleteFile 함수를 후크하면 되며, 윈도우 이외의 OS 환경인 경우 해당 OS에서의 파일 삭제 함수를 후크하면 된다.As described above, in the case of Office-related programs, temporary files are created at the location of the document while the document is being edited, and all temporary files are automatically deleted when the document is closed. As such, when the temporary file is deleted, the program of the present invention monitors the process of the application and detects an execution process of a delete API function for deleting the temporary file. The program of the present invention hooks the delete API execution process. (hook) As described above, the file deletion in the Windows environment is performed by the DeleteFile function in the API, and the DeleteFile function may be hooked as shown in FIG. 3, and in the OS environment other than Windows, the file deletion function in the corresponding OS. Just hook
상술한 바와 같이 상기 응용프로그램의 프로세스 중 삭제 API 함수 실행 프로세스를 후크한 후, 본 발명의 프로그램은 상기 삭제 API 함수의 변수를 사용하여 임시 파일의 속성, 크기 및 위치를 파악한다. 일례로 윈도우 API에서의 DeleteFile의 원형은 BOOL DeleteFile(LPCTSTR lpFileName)이다. 즉, DeleteFile 함수에 의하여 나온 결과값은 BOOL(불린 자료형, 참/거짓) 형태로 리턴되고, LPCTSTR(변경 불가능한 제네릭 문자열) 형태로 되며 파일의 경로 및 위치를 나타내는 lpFileName이라는 변수를 갖는다. 여기에서 lpFileName에 해당하는 변수 값을 사용하여 임시 파일의 위치를 파악할 수 있다. 또한, 일례로 파일의 크기를 리턴하는 윈도우 API 함수는 GetFileSize와 같은 것이 있는데, 이와 같이 목적에 맞는 API 함수를 적절히 사용하면 상기 변수 값을 통하여 임시 파일의 속성이나 크기 등을 쉽게 파악할 수 있다.After hooking the deletion API function execution process among the processes of the application program as described above, the program of the present invention uses the variables of the deletion API function to determine the property, size and location of the temporary file. For example, the prototype of DeleteFile in the Windows API is BOOL DeleteFile (LPCTSTR lpFileName). In other words, the result of DeleteFile function is returned as BOOL (boolean type, true / false) type, LPCTSTR (immutable generic string) type, and has a variable named lpFileName indicating the path and location of the file. Here you can use the value of the variable for lpFileName to determine the location of the temporary file. In addition, as an example, there is a window API function that returns a file size, such as GetFileSize. If the API function suitable for the purpose is used properly, the attribute or size of the temporary file can be easily determined through the variable value.
본 발명의 프로그램은 이와 같이 상기 임시 파일의 속성, 크기 및 위치를 파악한 후, 자동 완전 삭제를 위한 덮어쓰기를 수행한다. 일반적으로 이러한 임시 파일은 숨김 속성으로 되어 있으며, 응용프로그램에서의 설정에 따라 임의의 사용자에 의한 읽기나 쓰기가 불가능할 수도 있다. 따라서 본 발명의 프로그램은 먼저 상기 임시 파일의 속성을 쓰기 가능하게 변경한다. 이후, 이전 단계에서 파악된 상기 임시 파일의 크기 및 위치 값을 사용하여, 상기 임시 파일의 시작 위치부터 끝 위치까지의 영역에 상기 임시 파일의 크기만큼의 덮어쓰기용 패턴을 적어도 한 번 이상 덮어쓴다.The program of the present invention detects the properties, size and location of the temporary file in this way, and then performs overwriting for automatic complete deletion. Typically, these temporary files are hidden and may not be read or written by any user, depending on the settings in the application. Therefore, the program of the present invention first changes the attribute of the temporary file to be writable. Subsequently, the overwriting pattern corresponding to the size of the temporary file is overwritten one or more times in the area from the start position to the end position of the temporary file using the size and location values of the temporary file identified in the previous step. .
이와 같이 상기 임시 파일에 패턴 덮어쓰기가 완료되면, 본 발명의 프로그램은 원래의 삭제 API 함수를 다시 호출하여 실행되도록 한다. 이와 같은 과정을 거침에 따라, 삭제되는 임시 파일은 덮어쓰기용 패턴이 덮어써진 형태로서 삭제되게 되며, 따라서 복구한다 하더라도 덮어쓰기된 내용이 복구되게 되어, 원본 파일의 내용을 전혀 알아볼 수 없게 된다.As such, when the pattern overwriting is completed in the temporary file, the program of the present invention calls and executes the original delete API function again. As a result of this process, the deleted temporary file is deleted as the overwrite pattern is overwritten, and thus the overwritten contents are recovered even if the overwrite pattern is restored, so that the contents of the original file cannot be recognized at all.
도 4는 임시 파일이 생성되는 시점에 추적이 이루어지는 임시 파일의 자동 완전 삭제 방법의 흐름도이다. 상기 도 3에서는 임시 파일의 삭제 단계에서 완전 삭제를 수행하는데, 이 경우 예를 들어 Office 관련 프로그램의 경우 문서 파일의 복사본(~WRL_001.tmp 등과 같은 임시 파일)은 문서 편집 완료 후 닫기 시나 프로그램 종료 시 자동 삭제되지만, 이러한 문서 파일을 링크하는 링크 파일(.LNK)이나 이외에 사용된 기타 파일들은 따로 삭제되지 않기 때문에(즉 응용프로그램 상에서 삭제 API 함수가 호출되지 않기 때문에), 도 3의 방법으로는 이와 같은 임시 파일들을 모두 삭제할 수 없다. 따라서 도 4의 방법에서는 임시 파일의 생성 API 함수를 후크함으로써, 응용프로그램에 의하여 생성된 모든 임시 파일을 자동 완전 삭제할 수 있도록 하고 있다.4 is a flowchart of a method for automatically deleting a temporary file in which a trace is made when a temporary file is generated. In FIG. 3, a complete deletion is performed in the step of deleting a temporary file. In this case, for an Office-related program, a copy of a document file (temporary file such as ~ WRL_001.tmp, etc.) may be closed when the document is edited or closed. Although automatically deleted, the link file (.LNK) that links these document files or other files used in addition are not deleted separately (i.e. because the delete API function is not called in the application), the method of FIG. You cannot delete all the same temporary files. Therefore, in the method of FIG. 4, by hooking the API file generation function of the temporary file, all temporary files generated by the application can be automatically and completely deleted.
일단 도 3의 방법과 유사하게, 본 발명의 프로그램은 타이머와 연동되는 프로세스 테이블을 구성하여 응용프로그램의 프로세스가 실행되는지를 실시간 감시한다. 이 때 대상 응용프로그램(Office 관련 프로그램, HWP, IE 등)의 프로세스가 감지되어 상기 프로세스 테이블에 올라오면, 본 발명의 프로그램은 상기 프로세스의 PID(프로그램 ID)를 이용하여 상기 응용프로그램의 동작을 지속적으로 실시간 추적(trace)한다.Once similar to the method of FIG. 3, the program of the present invention constructs a process table in conjunction with a timer to monitor in real time whether a process of an application program is executed. At this time, if a process of a target application (Office related program, HWP, IE, etc.) is detected and listed in the process table, the program of the present invention continues the operation of the application program using PID (program ID) of the process. Trace in real time.
앞서 서술한 바와 같이 Office 관련 프로그램의 경우 문서 편집 작업을 수행하는 동안 해당 문서의 위치에 해당 문서의 복사본인 임시 파일을 생성하며, 또한 해당 문서를 링크하는 링크 파일 등의 임시 파일들을 더 생성할 수 있다. 이와 같이 임시 파일이 생성되는 시점에서, 본 발명의 프로그램은 상기 응용프로그램의 프로세스를 감시하다가 임시 파일을 생성하는 생성 API 함수의 실행 프로세스가 감지되면, 본 발명의 프로그램은 상기 생성 API 실행 프로세스를 후크(hook)한다. 상술한 바와 같이, 윈도우 환경에서 파일의 생성은 API 중 CreateFile 함수에 의하여 수행되는 바 도 4에 도시되어 있는 바와 같이 CreateFile 함수를 후크하면 되며, 윈도우 이외의 OS 환경인 경우 해당 OS에서의 파일 생성 함수를 후크하면 된다.As mentioned above, Office-related programs can create temporary files, which are copies of the documents, in the location of the documents while editing documents, and also create temporary files, such as link files that link the documents. have. As such, when the temporary file is generated, the program of the present invention monitors the process of the application and detects an execution process of a generation API function for generating a temporary file. The program of the present invention hooks the generation API execution process. (hook) As described above, the file creation in the Windows environment is performed by the CreateFile function in the API, and as shown in FIG. 4, the CreateFile function is hooked. In the case of an OS environment other than Windows, the file creation function in the corresponding OS Just hook
상술한 바와 같이 상기 응용프로그램의 프로세스 중 생성 API 함수 실행 프로세스를 후크한 후, 본 발명의 프로그램은 상기 생성 API 함수의 변수를 사용하여 생성된 모든 파일의 속성, 크기 및 위치를 파악한다. 일례로 윈도우 API에서의 CreateFile의 원형은 HANDLE CreateFile(LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES pSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile)이다. 도 3에서 DeleteFile 함수에 대하여 설명한 것과 비슷한 방법으로, 상기 CreateFile 함수의 각 변수들을 사용하면 생성된 파일의 속성, 크기, 위치 등을 쉽게 알아낼 수 있다.After hooking the process of executing the generated API function as described above, the program of the present invention uses the variables of the generated API function to grasp the attributes, sizes, and positions of all the generated files. For example, the prototype of CreateFile in the Windows API is HANDLE CreateFile (LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES pSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile). In a manner similar to that described with respect to the DeleteFile function in FIG. 3, each variable of the CreateFile function may be used to easily determine the property, size, location, etc. of the generated file.
본 발명의 프로그램은 이와 같이 생성된 모든 파일의 속성, 크기 및 위치를 파악한 후, 일단 모든 파일들의 필요 변수들(속성, 크기, 위치 등)을 관리 목록화하여 저장하여 둔다. 그러다가 상기 응용프로그램의 프로세스가 종료되는 것을 감지하면, 본 발명의 프로그램은 상기 생성된 모든 파일들 중 원본 파일을 제외한 나머지 모든 파일을 임시 파일로 규정하고, 이를 자동 완전 삭제하는 단계를 수행하게 된다. (원본 파일과 임시 파일의 구별은 파일명 규칙이나 생성 시점 등을 이용하여 쉽게 수행할 수 있다.) 즉, 본 발명의 프로그램은 상기 응용프로그램의 프로세스 종료가 감지되면, 상기 저장된 관리 목록을 참조하여 상기 관리 목록화된 파일들 중 원본 파일을 제외한 모든 임시 파일을 추적하여, 상기 임시 파일의 속성을 쓰기 가능하게 변경한 후, 이전 단계에서 파악된 상기 임시 파일의 크기 및 위치 값을 사용하여, 상기 임시 파일의 시작 위치부터 끝 위치까지의 영역에 상기 임시 파일의 크기만큼의 덮어쓰기용 패턴을 적어도 한 번 이상 덮어쓴다.The program of the present invention grasps the attributes, sizes, and positions of all the files generated in this way, and then stores and stores necessary variables (properties, sizes, positions, etc.) of all the files. Then, when detecting that the process of the application program is terminated, the program of the present invention defines all files except the original file among all the generated files as temporary files and performs a step of automatically deleting them completely. (The distinction between the original file and the temporary file can be easily performed by using a file name rule, a creation time point, etc.) That is, when the termination of the process of the application program is detected, the program of the present invention is referred to by referring to the stored management list. After tracking all the temporary files except the original file among the management-listed files, changing the attributes of the temporary file to be writable, and using the size and location values of the temporary files identified in the previous step, The overwriting pattern corresponding to the size of the temporary file is overwritten at least once in the area from the start position to the end position of the file.
이와 같이 상기 임시 파일에 패턴 덮어쓰기가 완료되면, 본 발명의 프로그램은 상기 덮어쓰기 완료된 임시 파일들을 삭제한 후, 상기 응용프로그램의 프로세스를 정상적으로 종료되게 한다. 여기에서 정상적으로 종료되게 한다는 것은, 본 발명의 프로그램이 후크에 의하여 빼앗아 온 핸들을 상기 응용프로그램에 돌려주거나, 상기 응용프로그램의 프로세스에 대한 간섭을 완료하는 등의 과정을 의미하며, 이는 본 발명의 프로그램의 구체적인 설계에 따라 프로그래밍을 전업으로 하고 있는 당업자에 의하여 쉽게 구현 및 변경 가능한 사항으로 구체적으로 기재하지 않는다. 이와 같은 과정을 거침에 따라, 상기 응용프로그램 종료에 의하여 삭제되는 임시 파일(예를 들어 MS 워드에서 ~WRL_001.tmp과 같은 문서 복사본으로서의 임시 파일)은 덮어쓰기용 패턴이 덮어써진 형태로서 삭제되게 되며, 또한 상기 응용프로그램 종료에 의하여 삭제되지 않는 임시 파일(예를 들어 MS 워드에서 문서.LNK와 같은 링크 파일 등을 포함하는 임시 파일) 역시 본 발명에 의한 덮어쓰기용 패턴이 덮어써진 형태로서 삭제되게 된다. 따라서 어떤 형태의 임시 파일들을 복구한다 하더라도 결과적으로 본 발명의 프로그램에 의하여 덮어쓰기된 내용을 가진 파일만이 복구되므로, 원본 파일 및 원본 파일과 관련된 모든 내용을 전혀 알아볼 수 없게 된다.As such, when the pattern overwriting is completed in the temporary file, the program of the present invention deletes the overwritten temporary files and then terminates the process of the application program normally. Herein, to terminate normally means a process of returning a handle taken by a hook of the program of the present invention to the application program, or completing interference with the process of the application program, which is the program of the present invention. In accordance with the specific design of the programming is not specifically described as easily implementable and changeable by those skilled in the art. As a result of this process, temporary files (e.g., temporary files as document copies such as ~ WRL_001.tmp in MS Word) deleted by the termination of the application program are deleted as overwritten patterns. In addition, temporary files (e.g., temporary files including link files such as document.LNK in MS Word) that are not deleted by the termination of the application program may also be deleted as an overwritten pattern for overwriting according to the present invention. do. Therefore, even if any type of temporary files are recovered, only files having contents overwritten by the program of the present invention are recovered, so that the original files and all contents related to the original files cannot be recognized at all.
본 발명의 프로그램은 상기 도 3의 방법 및 도 4의 방법 중 선택되는 한 가지 방법만을 사용할 수도 있으며, 또는 도 3의 방법 및 도 4의 방법을 모두 사용할 수도 있음은 당연하다. 또한, 본 발명의 프로그램은 상술한 바와 같이 임시 파일들을 자동 완전 삭제한 후, 완전 삭제된 임시 파일들의 목록 등을 로그로 저장하여 사용자가 원할 때 출력할 수 있다.The program of the present invention may use only one method selected from the method of FIG. 3 and the method of FIG. 4, or may use both the method of FIG. 3 and the method of FIG. 4. In addition, the program of the present invention can automatically output the temporary files, as described above, and then store the list of temporary files that have been completely deleted as a log and output them when the user desires.
도 5는 위에서부터 순차적으로 MS 워드, MS 엑셀, MS 파워포인트, 한글 HWP 응용프로그램의 DeleteFile 후크 결과를 도시한 것으로, 이하에서 각각에 대하여 보다 상세히 설명한다.FIG. 5 illustrates DeleteFile hook results of MS Word, MS Excel, MS PowerPoint, and Korean HWP applications sequentially from the top, and each of them will be described in detail below.
도 5(A)는 MS 워드의 DeleteFile을 추적하여 호출 루틴에서 파일명을 출력하도록 구성한 화면으로, 도시된 바와 같이 원본의 복사본으로서의 임시 파일을 생성할 뿐만 아니라 사용자의 임시 폴더에 저장하는 것과 최근 사용 문서에 나오는 내용들인 .LNK 파일 등도 생성을 한다.Figure 5 (A) is a screen configured to track the DeleteFile of the MS Word to output the file name in the calling routine, as shown, not only to create a temporary file as a copy of the original, but also to store in a temporary folder of the user and recently used documents Also create .LNK files, etc.
도 5(B)는 MS 엑셀의 DeleteFile을 추적하여 호출 루틴에서 파일명을 출력하도록 구성한 화면으로, 역시 최근 사용 문서에 나오는 내용들인 .LNK 파일 및 문서의 위치에 .TMP 형태의 임시 파일들이 생성이 된다.Figure 5 (B) is a screen configured to output the file name in the call routine to trace the DeleteFile of MS Excel, the .LNK file and the temporary files in the form of .TMP at the location of the document, which is also the contents of the recently used document is created. .
도 5(C)는 MS 파워포인트의 DeleteFile을 추적하여 호출 루틴에서 파일명을 출력하도록 구성한 화면으로, 파워포인트의 경우에는 사용자의 임시 파일 폴더(C:\Documents and Settings\[사용자 이름]\Local Settings\Temp\) 위치에 임시 파일을 생성하고 종료할 때 삭제한다.Figure 5 (C) is a screen configured to output the file name in the call routine by tracking DeleteFile of MS PowerPoint, in the case of PowerPoint, the temporary file folder (C: \ Documents and Settings \ [user name] \ Local Settings of the user) Create a temporary file in \ Temp \) and delete it when you exit.
도 5(D)는 한글 HWP의 DeleteFile을 추적하여 호출 루틴에서 파일명을 출력하도록 구성한 화면으로, 한글의 경우는 상당히 많은 파일들이 임시파일로 사용되고 있음을 알 수 있다. 한글에서도 역시 사용자의 임시 파일 폴더(C:\Documents and Settings\[사용자 이름]\Local Settings\Temp\) 위치에 임시 파일을 생성하고 종료할 때 삭제한다.5 (D) is a screen configured to output the file name in the call routine by tracking DeleteFile of the Korean HWP, it can be seen that quite a lot of files are used as a temporary file in the case of Hangul. In Korean, too, create a temporary file in the user's temporary file folder (C: \ Documents and Settings \ [user name] \ Local Settings \ Temp \) and delete it when exiting.
도 6은 본 발명의 프로그램을 사용하여, 도 5에 도시된 바와 같은 각종 응용프로그램들에서 생성되는 임시 파일들을 복구 불가능하도록 완전 삭제한 결과 로그를, 위에서부터 순차적으로 MS 워드(도 6(A)), MS 엑셀(도 6(B)), MS 파워포인트(도 6(C)), 한글 HWP(도 6(D)) 응용프로그램 관련 로그들을 도시하고 있다.FIG. 6 shows the MS log (from FIG. 6 (A)) sequentially from the top, as a result of completely erasing the temporary files generated by various application programs as shown in FIG. 5 using the program of the present invention. ), MS Excel (FIG. 6B), MS PowerPoint (FIG. 6C), and Korean HWP (FIG. 6D) application related logs are shown.
도 7은 본 발명에 의하여 완전 삭제된 임시 파일을 복구한 결과를 도시하고 있다. 도시된 바와 같이, 본 발명의 프로그램은 임시 파일 위치에 덮어쓰기용 패턴을 덮어쓴 후 삭제하기 때문에, 임시 파일을 복구하여 그 내용을 보아도 원본 문서의 내용을 전혀 알 수 없게 된다. 도 7에서는 간단한 예를 보이고자 덮어쓰기용 패턴을 '0' 반복 문자열로 한 것을 도시하고 있으나, 물론 덮어쓰기용 패턴은 랜덤 문자열 패턴 등 어떤 것이 되어도 무방하다. 특히, 종래에 보안을 위한 파일 완전 삭제를 위한 알고리즘인 DoD 5220 방식, Peter Gutmann 방식 등을 사용하여 덮어쓰기용 패턴의 생성 및 덮어쓰기 수행이 이루어지도록 하여도 무방하다. 보다 상세히 설명하자면, 본 발명의 프로그램은 덮어쓰기용 패턴이나 덮어쓰기 알고리즘을 사용자가 선택할 수 있도록 하고, 예를 들어 랜덤 방식이 선택될 경우 랜덤 문자열을 사용자 입력에 따른 횟수 또는 프로그램 설계자가 미리 설정해 놓은 횟수만큼 덮어쓰기하고, DoD 5220 방식이 선택될 경우 DoD 5220 방식에 따라 덮어쓰기용 패턴 생성 및 덮어쓰기 작업을 수행하며, Peter Gutmann 방식이 선택될 경우 Peter Gutmann 방식에 따라 덮어쓰기용 패턴 생성 및 덮어쓰기 작업을 수행하도록 할 수 있다. 물론 위에 설명한 방식 이외에 프로그램 설계자가 원하는 덮어쓰기 알고리즘을 적절하게 채용하여 사용하여도 무방하다.7 shows the result of recovering a temporary file that has been completely deleted by the present invention. As shown, the program of the present invention overwrites the pattern for overwriting at the temporary file location and then deletes it, so that even if the temporary file is recovered and viewed, the contents of the original document are not known at all. In FIG. 7, the overwriting pattern is set as a '0' repetition string to show a simple example. However, the overwriting pattern may be anything, such as a random string pattern. In particular, it is possible to use the DoD 5220 method, the Peter Gutmann method, or the like, which is an algorithm for completely deleting files for security, to generate an overwrite pattern and perform an overwrite. In more detail, the program of the present invention allows a user to select an overwriting pattern or an overwriting algorithm. For example, when a random method is selected, the number of random strings according to a user input or preset by a program designer is set. Overwrite the number of times, and if the DoD 5220 method is selected, the pattern for overwriting is created and overwritten according to the DoD 5220 method.If the Peter Gutmann method is selected, the pattern for overwriting is created and overwritten according to the Peter Gutmann method. You can make it write. Of course, in addition to the method described above, the program designer may adopt and use an appropriate overwrite algorithm.
본 발명에 의한 임시 파일의 자동 완전 삭제 프로그램은, USB를 포함하는 휴대용 저장 장치에 저장되어 상기 휴대용 저장 장치가 상기 연산처리수단과 연결되면 자동 또는 수동 실행될 수도 있고, 또는 상기 연산처리수단 상에 설치(install)된 형태로서 상기 연산처리수단 시스템 시작과 함께 자동 또는 수동 실행될 수도 있다. 전자의 방법은 구체적인 예를 들면 사용자가 출장지 등에서와 같이 자신의 개인 업무용 PC에서가 아닌 PC에서 작업하게 될 경우에 적용될 수 있으며, 또한 후자의 방법은 구체적인 예를 들면 사용자가 자신의 개인 업무용 PC에서 작업하는 경우에 적용될 수 있다.The program for automatically deleting a temporary file according to the present invention may be stored in a portable storage device including a USB and executed automatically or manually when the portable storage device is connected to the arithmetic processing means, or installed on the arithmetic processing means. (installed) may be executed automatically or manually with the start of the arithmetic processing unit system. The former method can be applied to a specific case, for example, when a user is working on a PC other than his or her personal work PC, such as on a business trip. It can be applied when working.
또한 자동 또는 수동 실행에 대하여 보다 상세히 설명하면 다음과 같다.In addition, the automatic or manual execution will be described in more detail as follows.
전자의 경우, USB 등과 같은 휴대용 저장 장치를 PC에 삽입하면 바로 본 발명의 프로그램이 자동 실행되도록 할 수도 있고, 또는 휴대용 저장 장치 삽입 후 사용자가 상기 휴대용 저장 장치 내에 저장되어 있는 본 발명의 프로그램 실행 파일을 찾아 직접 실행시킴으로써 작업이 수행되도록 할 수도 있다. 자동 실행의 구현은, 일반적으로 CD 또는 DVD 삽입 시 프로그램 자동 재생 프로그램인 autorun.exe와 같은 원리로 된 배치 파일 등으로 쉽게 구현할 수 있다. In the former case, when the portable storage device such as USB is inserted into the PC, the program of the present invention may be automatically executed immediately, or after the portable storage device is inserted, the user may execute the program file of the present invention stored in the portable storage device. You can also find and run it yourself to get the job done. The implementation of autorun can be easily implemented in a batch file based on the same principle as autorun.exe, which is a program autoplaying program when a CD or DVD is inserted.
후자의 경우, 구체적인 예를 들자면 윈도우에서 [시작프로그램]에 본 발명의 프로그램을 등록함으로써 윈도우가 시작됨과 함께 본 발명의 프로그램이 자동 실행되도록 할 수 있다. 또는, 윈도우 시작 이후 사용자가 시스템 내에 저장되어 있는 본 발명의 프로그램 실행 파일을 찾아 직접 실행시킴으로써 작업이 수행되도록 할 수도 있다.In the latter case, for example, by registering the program of the present invention in the [starting program] in the window, the window can be started and the program of the present invention can be automatically executed. Alternatively, after the start of the window, the user may find and execute the program execution file of the present invention stored in the system and directly execute the operation.
도 8은 전자의 경우, 즉 휴대용 저장 장치에 본 발명의 프로그램이 저장된 경우 작동 흐름도이다.8 is an operational flowchart in the former case, i.e., when the program of the present invention is stored in a portable storage device.
먼저 휴대용 저장 장치가 PC에 삽입되어 본 발명의 프로그램이 자동 또는 수동 실행되면, 본 발명의 프로그램은 상기 연산처리수단에서 실행되는 응용프로그램을 감시하며(S101), 파일의 생성 또는 삭제 프로세스를 후크 및 추적한다(S102). 이는 상기 도 3 및 도 4에서의 [응용프로그램 감시 > 응용프로그램 추적 > 삭제 API 후크 또는 생성 API 후크] 단계와 일치한다.First, when a portable storage device is inserted into a PC and the program of the present invention is automatically or manually executed, the program of the present invention monitors an application program executed by the arithmetic processing means (S101), and hooks a process of creating or deleting a file. Tracking (S102). This is consistent with the steps of [Application Monitoring> Application Tracking> Delete API Hook or Generate API Hook] in FIGS. 3 and 4 above.
만일 상기 후크한 프로세스가 파일 삭제 프로세스이면, 도 3에서 설명한 삭제 API 후크에 의한 임시 파일 자동 완전 삭제 과정을 거쳐, 삭제될 임시 파일을 완전 삭제한다(S104~S105). 또는, 상기 후크한 프로세스가 파일 생성 프로세스이면, 도 4에서 설명한 생성 API 후크에 의한 임시 파일 자동 완전 삭제 과정에서 설명한 방법을 통해, 생성된 임시 파일을 관리 목록화한다(S106~S107).If the hooked process is a file deletion process, the temporary file to be deleted is completely deleted by automatically deleting the temporary file by the deletion API hook described with reference to FIG. 3 (S104 to S105). Alternatively, if the hooked process is a file generation process, the generated temporary file is managed and cataloged through the method described in the process of automatically deleting the temporary file by the generation API hook described in FIG. 4 (S106 to S107).
이러한 과정을 반복 수행하면서 지속적으로 감시를 수행하다가, 사용자가 감시를 끝내기 위해 상기 휴대용 저장 장치를 제거하기 위해 상기 연산처리수단에 제거 요청을 보내는 것을 감지하면(S108), 본 발명의 프로그램은 다음과 같은 과정을 거쳐 프로그램을 종료하게 된다.While repeatedly performing this process, monitoring is continuously performed, and when the user detects that the removal request is sent to the arithmetic processing means to remove the portable storage device to terminate the monitoring (S108), the program of the present invention is as follows. The same process will terminate the program.
먼저 상기 파일 생성 프로세스 후크 시 관리 목록화한 임시 파일을, 도 4에서 설명한 생성 API 후크에 의한 임시 파일 자동 완전 삭제 과정을 통해 완전 삭제한다(S109). 이후, 관리 목록을 포함하는 로그의 삭제 여부를 사용자로부터 입력받아(S110), 삭제 요청이 입력되면 상기 관리 목록을 참조하여(S111a) 상기 관리 목록 파일을 완전 삭제한 후(S111) 프로그램이 종료되게 된다(S112).First, the temporary file managed by the file creation process hook is deleted through the automatic temporary file deletion process by the generation API hook described with reference to FIG. 4 (S109). Subsequently, the user receives whether to delete the log including the management list from the user (S110), when a deletion request is input, referring to the management list (S111a) after completely deleting the management list file (S111) to terminate the program. It becomes (S112).
도 9는 후자의 경우, 즉 시스템 상에 본 발명의 프로그램이 설치된 경우 작동 흐름도이다. 도 9의 방법은 도 8의 방법과 매우 유사하나, 작동 시작 시점 등 일부 다른 부분이 있다.9 is an operational flowchart in the latter case, i.e. when the program of the present invention is installed on the system. The method of FIG. 9 is very similar to the method of FIG. 8, but there are some other parts, such as starting point of operation.
먼저 본 발명의 프로그램이 시스템 시작과 함께 자동 실행되거나 또는 시스템 시작 이후 사용자에 의해 수동 실행되면, 본 발명의 프로그램은 상기 연산처리수단에서 실행되는 응용프로그램을 감시하며(S201), 파일의 생성 또는 삭제 프로세스를 후크 및 추적한다(S202). 이는 상기 도 3 및 도 4에서의 [응용프로그램 감시 > 응용프로그램 추적 > 삭제 API 후크 또는 생성 API 후크] 단계와 일치한다.First, when the program of the present invention is automatically executed with system startup or manually executed by the user after system startup, the program of the present invention monitors an application program executed in the arithmetic processing means (S201), and creates or deletes a file. Hook and track the process (S202). This is consistent with the steps of [Application Monitoring> Application Tracking> Delete API Hook or Generate API Hook] in FIGS. 3 and 4 above.
만일 상기 후크한 프로세스가 파일 삭제 프로세스이면, 도 3에서 설명한 삭제 API 후크에 의한 임시 파일 자동 완전 삭제 과정을 거쳐, 삭제될 임시 파일을 완전 삭제한다(S204~S205). 또는, 상기 후크한 프로세스가 파일 생성 프로세스이면, 도 4에서 설명한 생성 API 후크에 의한 임시 파일 자동 완전 삭제 과정에서 설명한 방법을 통해, 생성된 임시 파일을 관리 목록화한다(S206~S207). 이 때, 상기 관리 목록은 응용프로그램별로 만들어지게 된다.If the hooked process is a file deletion process, the temporary file to be deleted is completely deleted through automatic deletion of the temporary file by the deletion API hook described with reference to FIG. 3 (S204 to S205). Alternatively, if the hooked process is a file generation process, the generated temporary file is managed and cataloged through the method described in the process of automatically deleting the temporary file by the generation API hook described in FIG. 4 (S206 to S207). At this time, the management list is created for each application.
이러한 과정을 반복 수행하면서 지속적으로 감시를 수행하다가, 시스템 상에서 실행되고 있는 여러 응용프로그램들 중 본 발명의 프로그램이 감시하고 있는 어떤 응용프로그램의 종료 요청을 감지하면(S208), 본 발명의 프로그램은 해당 응용프로그램에 대한 임시 파일 완전 삭제 과정의 정리 단계를 수행하게 된다. 여기에서, 응용프로그램별로 이러한 과정을 수행한다는 것을 보다 상세히 설명하면 다음과 같다. 구체적으로 예를 들어, 사용자가 MS 워드 및 MS 파워포인트를 동시에 사용하면서 작업을 수행할 수 있다. 이 때, MS 파워포인트 작업이 먼저 완료되게 되면, MS 파워포인트에 의해서 만들어진 임시 파일들은 모두 삭제되어도 무방하다. 그러나 MS 워드의 경우 아직 작업이 완료되지 않았으므로, MS 워드에 의해서 만들어진 임시 파일들을 삭제 시도할 경우 프로그램 간 권한의 충돌이나 메모리 누수가 발생하여 시스템 다운이 일어나거나 최소한 프로그램의 작동이 정상적으로 이루어지지 않는 문제점이 발생할 가능성이 있다. 뿐만 아니라, 이와 같은 임시 파일들은, 정전 등과 같이 예기치 않은 종료에 의해 작업을 미처 저장하지 못한 채 문서가 닫힌 경우, 작업 과정을 복원하는데 매우 유용하게 사용될 수 있는 바, 작업이 완료되지 않았을 때 임시 파일의 완전 삭제를 수행하는 것은 바람직하지 않다. 따라서, 임시 파일의 완전 삭제 작업은 응용프로그램별로 각각 이루어지는 것이 바람직하다.While repeatedly performing this process, monitoring is continuously performed, and when a request for termination of a certain application program being monitored by the program of the present invention is detected among various application programs running on the system (S208), the program of the present invention corresponds to the corresponding program. The cleanup phase of the temporary file deletion process for the application will be performed. Here, it will be described in more detail to perform this process for each application as follows. Specifically, for example, a user may perform tasks while simultaneously using MS Word and MS PowerPoint. At this time, if the MS PowerPoint task is completed first, all temporary files created by MS PowerPoint may be deleted. However, in the case of MS Word, the work has not been completed yet. Therefore, if you try to delete the temporary files created by MS Word, you may experience a system crash or at least the program may not operate normally due to a permission conflict or memory leak between programs. The problem is likely to occur. In addition, such temporary files can be very useful for restoring the work process when the document is closed without saving the work due to an unexpected termination such as a power failure. It is not advisable to perform a complete deletion of them. Therefore, it is desirable to completely delete temporary files for each application.
다시 도 9의 방법에 대한 설명으로 돌아간다. 본 발명의 프로그램은 응용프로그램의 종료가 감지되면(S208), 먼저 상기 파일 생성 프로세스 후크 시 응용프로그램별로 관리 목록화한 임시 파일을, 도 4에서 설명한 생성 API 후크에 의한 임시 파일 자동 완전 삭제 과정을 통해 완전 삭제한다(S209). 이후, 응용프로그램별 관리 목록을 포함하는 로그의 삭제 여부를 사용자로부터 입력받아(S210), 삭제 요청이 입력되면 상기 응용프로그램별 관리 목록을 참조하여(S211a) 상기 응용프로그램별 관리 목록 파일을 완전 삭제한 후(S211) 프로그램이 종료되게 된다(S212).Returning to the description of the method of FIG. 9 again. When the end of the application program is detected (S208), the program of the present invention performs a process of automatically deleting the temporary file by the generation API hook described in FIG. Completely delete through (S209). Subsequently, the user receives whether the log including the management list for each application is deleted from the user (S210), and when a delete request is input, the management list file for each application is completely deleted by referring to the management list for each application (S211a). After that (S211) the program is terminated (S212).
본 발명은 상기한 실시예에 한정되지 아니하며, 적용범위가 다양함은 물론이고, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이다.The present invention is not limited to the above-described embodiments, and the scope of application of the present invention is not limited to those of ordinary skill in the art to which the present invention pertains without departing from the gist of the present invention as claimed in the claims. Of course, various modifications can be made.

Claims (8)

  1. 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 구현되며, 상기 프로그램에 의하여It is implemented in the form of a program executed by arithmetic processing means including a computer, by the program
    a1) 타이머와 연동되는 프로세스 테이블을 구성하여 응용프로그램의 프로세스가 실행되는지를 실시간 감시하는 단계;a1) real-time monitoring whether a process of an application program is executed by configuring a process table linked with a timer;
    a2) 응용프로그램의 프로세스 시작이 감지되어 프로세스 테이블에 올라오면, 상기 프로세스의 PID를 사용하여 상기 응용프로그램의 동작을 실시간 추적(trace)하는 단계;a2) real-time tracing of the operation of the application program using the PID of the process when a process start of the application program is detected and placed in the process table;
    a3) 상기 응용프로그램의 프로세스 중 임시 파일을 삭제하는 삭제 API 함수의 실행 프로세스가 감지되면, 상기 삭제 API 실행 프로세스를 후크(hook)하는 단계;a3) hooking the deletion API execution process when a process of executing a deletion API function for deleting a temporary file is detected among the processes of the application program;
    a4) 상기 삭제 API 함수의 변수를 사용하여 임시 파일의 속성, 크기 및 위치를 파악하고, 상기 임시 파일의 속성을 쓰기 가능하게 변경한 후 상기 임시 파일의 시작 위치부터 끝 위치까지의 영역에 상기 임시 파일의 크기만큼의 덮어쓰기용 패턴을 적어도 한 번 이상 덮어쓰는 단계;a4) grasp the attributes, the size and the location of the temporary file by using variables of the delete API function, change the properties of the temporary file to be writable, and then in the area from the start position to the end position of the temporary file Overwriting at least one or more overwriting patterns by the size of the file;
    a5) 상기 임시 파일에 패턴 덮어쓰기가 완료되면 원래의 삭제 API 함수가 실행되도록 호출하는 단계;a5) calling the original delete API function to be executed when the pattern overwriting is completed in the temporary file;
    를 포함하여 이루어지는 것을 특징으로 하는 응용프로그램에서 사용되는 임시 파일의 자동 완전 삭제 방법.Method for automatically deleting the temporary files used in the application, characterized in that consisting of.
  2. 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 구현되며, 상기 프로그램에 의하여It is implemented in the form of a program executed by arithmetic processing means including a computer, by the program
    b1) 타이머와 연동되는 프로세스 테이블을 구성하여 응용프로그램의 프로세스가 실행되는지를 실시간 감시하는 단계;b1) real-time monitoring whether a process of an application program is executed by configuring a process table linked with a timer;
    b2) 응용프로그램의 프로세스 시작이 감지되어 프로세스 테이블에 올라오면, 상기 프로세스의 PID를 사용하여 상기 응용프로그램의 동작을 실시간 추적(trace)하는 단계;b2) if a process start of an application is detected and entered in a process table, using the PID of the process to trace in real time the operation of the application;
    b3) 상기 응용프로그램의 프로세스 중 임시 파일을 생성하는 생성 API 함수의 실행 프로세스가 감지되면, 상기 생성 API 실행 프로세스를 후크(hook)하는 단계;b3) hooking the generated API execution process when a process of executing the generated API function for generating a temporary file is detected among the processes of the application program;
    b4) 상기 생성 API 함수의 변수를 사용하여 임시 파일의 속성, 크기 및 위치를 파악하고, 상기 생성 API 실행 프로세스에 의하여 생성된 모든 파일을 관리 목록화하여 저장하는 단계;b4) identifying attributes, sizes, and locations of temporary files using variables of the generation API function, and managing and storing all files generated by the generation API execution process;
    b5) 상기 응용프로그램의 프로세스 종료가 감지되면, 상기 저장된 관리 목록을 참조하여 상기 관리 목록화된 파일들 중 원본 파일을 제외한 모든 임시 파일을 추적하는 단계;b5) if the process termination of the application is detected, tracking all temporary files except the original file among the management-listed files with reference to the stored management list;
    b6) 상기 임시 파일의 속성을 쓰기 가능하게 변경한 후 상기 임시 파일의 시작 위치부터 끝 위치까지의 영역에 상기 임시 파일의 크기만큼의 덮어쓰기용 패턴을 적어도 한 번 이상 덮어쓰는 단계;b6) overwriting at least one or more overwriting patterns corresponding to the size of the temporary file in an area from the start position to the end position of the temporary file after changing the attribute of the temporary file to be writable;
    b7) 상기 임시 파일에 패턴 덮어쓰기가 완료되면 상기 덮어쓰기 완료된 임시 파일들을 삭제한 후 상기 응용프로그램을 정상적으로 종료하는 단계;b7) when the pattern is overwritten in the temporary file, deleting the overwritten temporary files and terminating the application program normally;
    를 포함하여 이루어지는 것을 특징으로 하는 응용프로그램에서 사용되는 임시 파일의 자동 완전 삭제 방법.Method for automatically deleting the temporary files used in the application, characterized in that consisting of.
  3. 제 1항 또는 제 2항에 있어서, 상기 프로그램은 덮어쓰기 시The method of claim 1, wherein the program is overwritten.
    사용자 입력 문자열 패턴을 사용하여 덮어쓰기 작업을 수행하거나,You can use the user input string pattern to perform the overwrite operation,
    랜덤 문자열 패턴을 사용하여 덮어쓰기 작업을 수행하거나,You can use the random string pattern to overwrite or
    DoD 5220 방식에 따라 덮어쓰기용 패턴 생성 및 덮어쓰기 작업을 수행하거나,Depending on the DoD 5220 method, create and overwrite a pattern for overwriting,
    Peter Gutmann 방식이 선택될 경우 Peter Gutmann 방식에 따라 덮어쓰기용 패턴 생성 및 덮어쓰기 작업을 수행하는 것을 특징으로 하는 응용프로그램에서 사용되는 임시 파일의 자동 완전 삭제 방법.When the Peter Gutmann method is selected, the automatic deletion of temporary files used in the application, which generates the pattern for overwriting and overwrites according to the Peter Gutmann method.
  4. 제 3항에 있어서, 상기 프로그램은The method of claim 3, wherein the program is
    사용자 입력 문자열 패턴 또는 랜덤 문자열 패턴을 사용하여 덮어쓰기할 경우, 사용자 입력에 따른 횟수 또는 미리 결정된 횟수만큼 반복 덮어쓰기를 수행하는 것을 특징으로 하는 응용프로그램에서 사용되는 임시 파일의 자동 완전 삭제 방법.When overwriting using a user input string pattern or a random string pattern, a method of automatically deleting a temporary file used in an application, characterized in that the repetitive overwrite is performed a number of times according to a user input or a predetermined number.
  5. 제 1항에 있어서, 상기 프로그램은The method of claim 1, wherein the program is
    USB를 포함하는 휴대용 저장 장치에 저장되어 상기 휴대용 저장 장치가 상기 연산처리수단과 연결되면 자동 또는 수동 실행되며,Stored in a portable storage device including a USB device and automatically or manually executed when the portable storage device is connected to the processing unit;
    p1) 응용프로그램을 감시하는 단계(S101);p1) monitoring the application program (S101);
    p2) 파일의 생성 또는 삭제 프로세스를 후크 및 추적하는 단계(S102);p2) hooking and tracing a process of creating or deleting a file (S102);
    p31) 상기 후크한 프로세스가 파일 삭제 프로세스이면 삭제될 임시 파일을 상기 a4) 내지 a5) 단계의 과정을 거쳐 완전 삭제하는 단계(S104~S105);p31) if the hooked process is a file deletion process, completely deleting the temporary file to be deleted through the steps a4) to a5) (S104 to S105);
    p4) 상기 휴대용 저장 장치의 제거 요청을 감지하는 단계(S108);p4) detecting a removal request of the portable storage device (S108);
    p7) 프로그램을 종료하는 단계(S112);p7) terminating the program (S112);
    를 포함하여 이루어지는 것을 특징으로 하는 응용프로그램에서 사용되는 임시 파일의 자동 완전 삭제 방법.Method for automatically deleting the temporary files used in the application, characterized in that consisting of.
  6. 제 2항에 있어서, 상기 프로그램은The method of claim 2, wherein the program is
    USB를 포함하는 휴대용 저장 장치에 저장되어 상기 휴대용 저장 장치가 상기 연산처리수단과 연결되면 자동 또는 수동 실행되며,Stored in a portable storage device including a USB device and automatically or manually executed when the portable storage device is connected to the processing unit;
    p1) 응용프로그램을 감시하는 단계(S101);p1) monitoring the application program (S101);
    p2) 파일의 생성 또는 삭제 프로세스를 후크 및 추적하는 단계(S102);p2) hooking and tracing a process of creating or deleting a file (S102);
    p32) 상기 후크한 프로세스가 파일 생성 프로세스이면 생성된 임시 파일을 상기 b4) 단계의 과정을 거쳐 관리 목록화하는 단계(S106~S107);p32) if the hooked process is a file generation process, managing listing the generated temporary file through the process of step b4) (S106 to S107);
    p4) 상기 휴대용 저장 장치의 제거 요청을 감지하는 단계(S108);p4) detecting a removal request of the portable storage device (S108);
    p5) 상기 p32) 단계에서 관리 목록화한 임시 파일을 상기 b5) 내지 b7) 단계의 과정을 거쳐 완전 삭제하는 단계(S109);p5) completely deleting the temporary file managed and listed in step p32) through the steps b5) to b7) (S109);
    p6) 관리 목록을 포함하는 로그의 삭제 여부를 사용자로부터 입력받아(S110), 삭제 요청이 입력되면 상기 p4) 단계에서 만들어진 상기 관리 목록을 참조하여(S111a) 상기 관리 목록 파일을 완전 삭제하는 단계(S111);p6) Receiving whether or not to delete the log including the management list from the user (S110), if the deletion request is input by referring to the management list created in step p4 (S111a) to completely delete the management list file ( S111);
    p7) 프로그램을 종료하는 단계(S112);p7) terminating the program (S112);
    를 포함하여 이루어지는 것을 특징으로 하는 응용프로그램에서 사용되는 임시 파일의 자동 완전 삭제 방법.Method for automatically deleting the temporary files used in the application, characterized in that consisting of.
  7. 제 1항에 있어서, 상기 프로그램은The method of claim 1, wherein the program is
    상기 연산처리수단 상에 설치(install)된 형태로서 상기 연산처리수단 시스템 시작과 함께 자동 또는 수동 실행되며,It is installed on the calculation processing means and is automatically or manually executed when the calculation processing system starts.
    q1) 응용프로그램을 감시하는 단계(S201);q1) monitoring the application program (S201);
    q2) 파일의 생성 또는 삭제 프로세스를 후크 및 추적하는 단계(S202);q2) hooking and tracing a process of creating or deleting a file (S202);
    q31) 상기 후크한 프로세스가 파일 삭제 프로세스이면 삭제될 임시 파일을 상기 a4) 내지 a5) 단계의 과정을 거쳐 완전 삭제하는 단계(S204~S205);q31) if the hooked process is a file deletion process, completely deleting the temporary file to be deleted through the steps a4) to a5) (S204 to S205);
    를 포함하여 이루어지는 것을 특징으로 하는 응용프로그램에서 사용되는 임시 파일의 자동 완전 삭제 방법.Method for automatically deleting the temporary files used in the application, characterized in that consisting of.
  8. 제 2항에 있어서, 상기 프로그램은The method of claim 2, wherein the program is
    상기 연산처리수단 상에 설치(install)된 형태로서 상기 연산처리수단 시스템 시작과 함께 자동 또는 수동 실행되며,It is installed on the calculation processing means and is automatically or manually executed when the calculation processing system starts.
    q1) 응용프로그램을 감시하는 단계(S201);q1) monitoring the application program (S201);
    q2) 파일의 생성 또는 삭제 프로세스를 후크 및 추적하는 단계(S202);q2) hooking and tracing a process of creating or deleting a file (S202);
    q32) 상기 후크한 프로세스가 파일 생성 프로세스이면 생성된 임시 파일을 상기 b4) 단계의 과정을 거쳐 응용프로그램별로 관리 목록화하는 단계(S206~S207);q32) if the hooked process is a file generation process, managing list of generated temporary files for each application through the process of step b4) (S206 to S207);
    q4) 응용프로그램 종료 요청을 감지하는 단계(S208);q4) detecting an application termination request (S208);
    q5) 상기 q32) 단계에서 응용프로그램별로 관리 목록화한 임시 파일을 상기 b5) 내지 b7) 단계의 과정을 거쳐 완전 삭제하는 단계(S209);q5) completely deleting the temporary file managed by the application program in step q32) through the processes of steps b5) to b7) (S209);
    q6) 응용프로그램별 관리 목록을 포함하는 로그의 삭제 여부를 사용자로부터 입력받아(S210), 삭제 요청이 입력되면 상기 q4) 단계에서 만들어진 상기 응용프로그램별 관리 목록을 참조하여(S211a) 상기 응용프로그램별 관리 목록 파일을 완전 삭제하는 단계(S211);q6) Receiving whether the log including the management list for each application is deleted from the user (S210), and if a delete request is input, referring to the management list for each application created in step q4) (S211a) for each application. Completely deleting the management list file (S211);
    를 포함하여 이루어지는 것을 특징으로 하는 응용프로그램에서 사용되는 임시 파일의 자동 완전 삭제 방법.Method for automatically deleting the temporary files used in the application, characterized in that consisting of.
PCT/KR2009/003577 2008-07-03 2009-07-01 Method for automatically and completely deleting temporary files used in application programs WO2010002185A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080064286A KR100898968B1 (en) 2008-07-03 2008-07-03 Automatic complete delete method for temporary files used in applications
KR10-2008-0064286 2008-07-03

Publications (2)

Publication Number Publication Date
WO2010002185A2 true WO2010002185A2 (en) 2010-01-07
WO2010002185A3 WO2010002185A3 (en) 2010-03-25

Family

ID=40862382

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2009/003577 WO2010002185A2 (en) 2008-07-03 2009-07-01 Method for automatically and completely deleting temporary files used in application programs

Country Status (2)

Country Link
KR (1) KR100898968B1 (en)
WO (1) WO2010002185A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9852308B2 (en) 2014-12-11 2017-12-26 Naver Business Platform Corp Apparatuses, systems, methods, and computer readable media for providing secure file-deletion functionality
US20210216624A1 (en) * 2020-01-13 2021-07-15 Acronis International Gmbh Systems and methods for protecting files indirectly related to user activity
CN113452867A (en) * 2021-06-25 2021-09-28 珠海奔图电子有限公司 Data erasing method, host, image forming apparatus, image forming system, and storage medium
WO2022010154A1 (en) * 2020-07-10 2022-01-13 주식회사 토브업 Method and computer program for permanently deleting file
KR20220007484A (en) * 2020-07-10 2022-01-18 주식회사 토브업 Method And Computer Program For Deleting File Permanently

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101098250B1 (en) * 2010-02-25 2011-12-23 소프트캠프(주) Method and system improving the operation environment for the application by the resetting route
KR101539617B1 (en) 2014-04-24 2015-08-06 서강대학교산학협력단 File wiping method according to file type structure in mobile system, and apparatus thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344071A (en) * 2000-05-30 2001-12-14 Akushisu:Kk Hard disk whitening system for personal computer and storage medium for hard disk whitening of personal computer
KR100380824B1 (en) * 2000-06-13 2003-04-18 주식회사 하우리 Method for Eternal Deletion of Saved file out of saving device in Computer and Record media recording said Method
KR20050028245A (en) * 2003-09-18 2005-03-22 삼성전자주식회사 Method and system of remote updating of the embedded software on the devices, working under linux operating system control
KR20060067815A (en) * 2004-12-15 2006-06-20 마이크로소프트 코포레이션 Portable application

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421232B2 (en) * 2000-08-02 2002-07-16 Xybernaut Corporation Dual FPD and thin client

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344071A (en) * 2000-05-30 2001-12-14 Akushisu:Kk Hard disk whitening system for personal computer and storage medium for hard disk whitening of personal computer
KR100380824B1 (en) * 2000-06-13 2003-04-18 주식회사 하우리 Method for Eternal Deletion of Saved file out of saving device in Computer and Record media recording said Method
KR20050028245A (en) * 2003-09-18 2005-03-22 삼성전자주식회사 Method and system of remote updating of the embedded software on the devices, working under linux operating system control
KR20060067815A (en) * 2004-12-15 2006-06-20 마이크로소프트 코포레이션 Portable application

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9852308B2 (en) 2014-12-11 2017-12-26 Naver Business Platform Corp Apparatuses, systems, methods, and computer readable media for providing secure file-deletion functionality
US10467431B2 (en) 2014-12-11 2019-11-05 Naver Business Platform Corp. Apparatuses, systems, methods, and computer readable media for providing secure file-deletion functionality
US20210216624A1 (en) * 2020-01-13 2021-07-15 Acronis International Gmbh Systems and methods for protecting files indirectly related to user activity
US11762985B2 (en) * 2020-01-13 2023-09-19 Acronis International Gmbh Systems and methods for protecting files indirectly related to user activity
WO2022010154A1 (en) * 2020-07-10 2022-01-13 주식회사 토브업 Method and computer program for permanently deleting file
KR20220007484A (en) * 2020-07-10 2022-01-18 주식회사 토브업 Method And Computer Program For Deleting File Permanently
KR102453870B1 (en) 2020-07-10 2022-10-12 주식회사 토브업 Method And Computer Program For Deleting File Permanently
CN113452867A (en) * 2021-06-25 2021-09-28 珠海奔图电子有限公司 Data erasing method, host, image forming apparatus, image forming system, and storage medium

Also Published As

Publication number Publication date
WO2010002185A3 (en) 2010-03-25
KR100898968B1 (en) 2009-05-28

Similar Documents

Publication Publication Date Title
WO2010002185A2 (en) Method for automatically and completely deleting temporary files used in application programs
US7131112B1 (en) Managing code changes for software development
US7370066B1 (en) System and method for offline editing of data files
Cant Writing Windows WDM device drivers
US20030115458A1 (en) Invisable file technology for recovering or protecting a computer file system
US20030028850A1 (en) Edit command delegation program for editing electronic files
Davidson Time Series Modelling Version 4.52
CN101458754B (en) Method and apparatus for monitoring application program action
JP2009510563A (en) Method and system for managing and organizing installation of software packages
WO2016072310A1 (en) Specification device, control method thereof, and program
KR20100025116A (en) Fully automatic deletion using the system to prevent the leakage of documents
KR101055287B1 (en) How to manage temporary files used by applications
Miller et al. Integrating a command shell into a web browser
Lawall et al. Automating program transformation with Coccinelle
JP2000082002A (en) Data management system and recording medium
WO2018194217A1 (en) Method for controlling document storage location
Holyer et al. A recovery mechanism for shells
KR100413195B1 (en) A system and method for recovering/protecting of computer file system using invisible file technology
MacDonald Pro ASP. NET 1.1 in C#: From professional to expert
WO2014196701A1 (en) Apparatus and method for changing icon of security folder
Hunt Reading and Writing Files
Cashmore Retrieving Blog Data
JP4319438B2 (en) Input information processing apparatus, program, storage medium, and input information processing method
Chen Introduction to Linux
Pestov et al. jEdit 4.5 user’s guide

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: 09773721

Country of ref document: EP

Kind code of ref document: A2

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 20/04/2011)

122 Ep: pct application non-entry in european phase

Ref document number: 09773721

Country of ref document: EP

Kind code of ref document: A2