KR102033040B1 - Method and apparatus for protecting data using volatile memory - Google Patents

Method and apparatus for protecting data using volatile memory Download PDF

Info

Publication number
KR102033040B1
KR102033040B1 KR1020190079677A KR20190079677A KR102033040B1 KR 102033040 B1 KR102033040 B1 KR 102033040B1 KR 1020190079677 A KR1020190079677 A KR 1020190079677A KR 20190079677 A KR20190079677 A KR 20190079677A KR 102033040 B1 KR102033040 B1 KR 102033040B1
Authority
KR
South Korea
Prior art keywords
storage
data
memory
location
application program
Prior art date
Application number
KR1020190079677A
Other languages
Korean (ko)
Inventor
양용희
장두
Original Assignee
(주)엑스코어시스템
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)엑스코어시스템 filed Critical (주)엑스코어시스템
Priority to KR1020190079677A priority Critical patent/KR102033040B1/en
Application granted granted Critical
Publication of KR102033040B1 publication Critical patent/KR102033040B1/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • 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

Abstract

Provided are a data protection method using a volatile memory and an apparatus thereof. A data protection apparatus comprises: a storage management unit setting one of a volatile memory or a memory which is removable from the data protection device as a storage; and an application management unit identifying a security target application program and setting a storage location of application data generated by the identified application program as the storage.

Description

휘발성 메모리를 이용한 데이터 보호 방법 및 장치{METHOD AND APPARATUS FOR PROTECTING DATA USING VOLATILE MEMORY}METHOD AND APPARATUS FOR PROTECTING DATA USING VOLATILE MEMORY}

본 명세서에서 개시되는 실시예들은 휘발성 메모리를 이용한 데이터 보호 방법 및 장치에 관한 것으로, 보다 상세하게는 컴퓨팅장치가 구동되며 생성되는 데이터를 전원이 공급되는 동안에만 데이터를 유지하는 휘발성 특징이 있는 메모리 영역에 저장되도록 하여 데이터를 보호하는 방법 및 장치에 관한 것이다.Embodiments disclosed herein relate to a data protection method and apparatus using a volatile memory, and more particularly, a memory region having a volatile feature that maintains data only while a computing device is driven and powers generated data. A method and apparatus for protecting data by being stored in the same.

최근 들어 통신 기술의 발전으로 컴퓨팅장치를 이용하여 다양한 업무를 온라인으로 처리할 수 있게 되면서 다양한 애플리케이션이 개발되었다.Recently, with the development of communication technology, various applications have been developed using computing devices to perform various tasks online.

예를 들어, 과거 오프라인으로 상품을 구매하던 것이 PC 또는 스마트기기에 설치된 온라인 쇼핑몰 애플리케이션을 통해 온라인 상으로 상품을 구매할 수 있게 되었으며, 은행업무 역시 스마트기기에 설치된 은행 애플리케이션을 통해 온라인으로 처리할 수 있게 되었다. 또한 스마트기기를 통해 인스턴트 메시지를 송수신할 수 있게 되었다.For example, in the past, when purchasing products offline, it was possible to purchase products online through an online shopping mall application installed on a PC or smart device, and banking can be processed online through a bank application installed on a smart device. It became. You can also send and receive instant messages through your smart device.

이와 같이 컴퓨팅장치를 이용하여 개인의 다양한 업무를 처리하는 과정에서 개인의 사적인정보가 포함된 파일이 컴퓨팅장치의 저장소에 저장된다. As such, in the process of processing various tasks of an individual using the computing device, a file containing personal information of the individual is stored in a storage of the computing device.

하지만, 파일이 삭제되어도 컴퓨팅장치의 저장소에 저장되어 있는 데이터에 접근하기 위한 커넥션이 단절되는 것일 뿐, 저장소에 물리적으로 저장된 데이터가 삭제되는 것이 아니다. However, even if the file is deleted, the connection for accessing the data stored in the storage of the computing device is only disconnected, and the data physically stored in the storage is not deleted.

이로 인해, 응용프로그램을 통해서 임시로 생성된 파일과 사용자가 저장한 데이터가 단말기의 보조기억장치에 저장되면 삭제를 해도 복구가 가능하다. 그러므로 데이터를 복구하지 못하도록 영구삭제를 하기 위해서는 별도의 영구삭제프로그램, 로우포맷(Low Level Format), 디가우징(Degaussing) 등을 해야 한다. For this reason, if a file temporarily created by the application and the data stored by the user are stored in the auxiliary memory device of the terminal, it can be recovered even if deleted. Therefore, in order to permanently delete data from recovery, a separate permanent erase program, low level format, degaussing, etc. must be performed.

영구삭제프로그램은 파일을 삭제할 때 데이터가 저장된 메모리에 임의 값을 기록하여 기존에 기록된 데이터를 복구하지 못하도록 한다. 하지만 기 저장된 데이터의 용량보다 큰 값을 덮어 쓰기 때문에 시간이 오래 걸린다. 그리고 로우포맷은 메모리 전체를 포맷하기 때문에 전체 데이터가 삭제되며 운영체제 및 응용프로그램을 다시 설치해야 하기 때문에 시간이 오래 걸리고 매우 비효율적이다. 또한, 디가우징은 보조기억장치를 강한 자기장을 이용하여 복구할 수 없도록 하지만 하드디스크가 망가져 더 이상 사용이 불가능하다는 문제점이 있다.When you delete a file, the permanent deletion program writes a random value into the memory where the data is stored, preventing you from restoring the previously recorded data. However, it takes a long time because it overwrites a value larger than the stored data. And since low-format formats the entire memory, the entire data is erased and the operating system and applications need to be reinstalled, which is time consuming and very inefficient. In addition, the degaussing does not allow the auxiliary memory device to be recovered using a strong magnetic field, but the hard disk is broken and thus cannot be used anymore.

특히, 공용PC 및 업무PC를 이용한 경우, 사용자는 매번 중요한 보안문서작업, 메신저 대화 내용, 브라우저 검색 등의 흔적을 지우기 위해 파일을 일일이 찾아 영구삭제프로그램을 통해 삭제하거나 로우포맷 또는 디가우징 등을 수행해야 하는 문제점이 있다.In particular, when using a public PC or a work PC, the user searches for files one by one and deletes them through a permanently deleted program, or deletes or deletes them. There is a problem that needs to be done.

관련하여 선행기술 문헌인 한국특허공개번호 제10-2011-0034351호는 보안 유에스비 메모리를 통한 정보 유출 방지시스템 및 방법에 관한 것으로 I/O를 후킹된 파일내용을 기초로 유출방지리스트에 포함되어 있는지 식별하여 정보의 유출을 방지하지만, 보안정보가 포함된 파일을 삭제하여도 저장소에 데이터가 남아있어 보안정보가 유출될 수 있는 문제점을 해결할 수 없다. In the related art, Korean Patent Publication No. 10-2011-0034351, which is related to the prior art document, relates to a system and method for preventing information leakage through secure USB memory, and whether the I / O is included in the leakage prevention list based on the contents of the hooked file. By identifying and preventing the leakage of information, even if the file containing the security information is deleted, the data remains in the repository, so that the security information may not be solved.

따라서 상술된 문제점을 해결하기 위한 기술이 필요하게 되었다.Therefore, there is a need for a technique for solving the above problems.

한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.On the other hand, the background art described above is technical information that the inventors possess for the derivation of the present invention or acquired in the derivation process of the present invention, and is not necessarily a publicly known technique disclosed to the general public before the application of the present invention. .

본 명세서에서 개시되는 실시예들은, 휘발성 메모리를 이용한 데이터 보호 방법 및 장치를 제시하는데 목적이 있다. Embodiments disclosed herein are intended to provide a data protection method and apparatus using a volatile memory.

본 명세서에서 개시되는 실시예들은, 휘발성 특성을 갖는 주 메모리의 일 영역을 데이터가 저장되는 저장소로 설정하는 휘발성 메모리를 이용한 데이터 보호 방법 및 장치를 제시하는데 목적이 있다. Embodiments disclosed herein are directed to a method and apparatus for protecting data using a volatile memory that sets a region of a main memory having volatile characteristics as a storage where data is stored.

본 명세서에서 개시되는 실시예들은, 응용프로그램의 동작시 발생하는 임시데이터의 저장위치를 메모리에 설정된 저장소로 변경하는 휘발성 메모리를 이용한 데이터 보호 방법 및 장치를 제시하는 데 목적이 있다. Embodiments disclosed in the present specification are to provide a data protection method and apparatus using a volatile memory for changing the storage location of the temporary data generated during the operation of the application to the storage set in the memory.

본 명세서에서 개시되는 실시예들은, 운영체제에서 이용하는 가상메모리에 데이터를 메모리에 설정된 저장소로 이동시키는 휘발성 메모리를 이용한 데이터 보호 방법 및 장치를 제시하는 데 목적이 있다.Embodiments disclosed herein are directed to a data protection method and apparatus using a volatile memory for moving data to a storage set in a memory in a virtual memory used by an operating system.

본 명세서에서 개시되는 실시예들은, 데이터의 페이징여부를 감지하여 페이징되는 데이터가 메모리에 설정된 저장소에 저장되도록 하는 휘발성 메모리를 이용한 데이터 보호 방법 및 장치를 제시하는 데 목적이 있다.Embodiments disclosed in the present specification are to provide a data protection method and apparatus using a volatile memory to detect whether the data is paged so that the paged data is stored in the storage set in the memory.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시예에 따르면, 데이터 보호 장치에 있어서, 휘발성 메모리 또는 상기 데이터 보호 장치와 분리가능한 메모리 중 하나를 저장소로 설정하는 저장소관리부 및 보안적용대상 응용프로그램을 식별하고, 식별된 응용프로그램에서 생성되는 응용데이터의 저장위치를 상기 저장소로 설정하는 응용프로그램관리부를 포함할 수 있다. As a technical means for achieving the above-described technical problem, according to an embodiment, in the data protection device, the storage management unit and the security target application program for setting one of the volatile memory or the memory removable from the data protection device as a storage And it may include an application management unit for setting the storage location of the application data generated in the identified application program to the storage.

다른 실시예에 따르면, 데이터보호장치가 데이터를 보호하는 방법에 있어서, 데이터보호장치가 데이터를 보호하는 방법에 있어서, 휘발성 메모리 또는 상기 데이터 보호 장치와 분리가능한 메모리 중 하나를 저장소로 설정하는 단계, 보안적용대상 응용프로그램을 식별하는 단계 및 식별된 응용프로그램에서 생성되는 응용데이터의 저장위치를 상기 저장소로 설정하는 단계를 포함하는 단계를 포함할 수 있다.According to another embodiment, a method of protecting data by a data protection device, the method of protecting data by a data protection device, comprising: setting one of a volatile memory or a memory detachable from the data protection device as storage; And identifying a security target application program and setting a storage location of the application data generated by the identified application program as the storage.

또 다른 실시예에 따르면, 데이터보호방법을 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체로서, 상기 데이터보호방법은, 휘발성 메모리 또는 상기 데이터 보호 장치와 분리가능한 메모리 중 하나를 저장소로 설정하는 단계, 보안적용대상 응용프로그램을 식별하는 단계 및 식별된 응용프로그램에서 생성되는 응용데이터의 저장위치를 상기 저장소로 설정하는 단계를 포함하는 단계를 포함할 수 있다.According to another embodiment, a computer-readable recording medium having a program for executing a data protection method recorded thereon, the data protection method comprising: setting one of a volatile memory or a memory detachable from the data protection device as a storage; And identifying a security target application program and setting a storage location of the application data generated in the identified application program as the storage.

다른 실시예에 따르면, 데이터보호장치에 의해 수행되며, 데이터보호방법을 수행하기 위해 기록매체에 저장된 컴퓨터프로그램으로서, 상기 데이터보호방법은, 휘발성 메모리 또는 상기 데이터 보호 장치와 분리가능한 메모리 중 하나를 저장소로 설정하는 단계, 보안적용대상 응용프로그램을 식별하는 단계 및 식별된 응용프로그램에서 생성되는 응용데이터의 저장위치를 상기 저장소로 설정하는 단계를 포함하는 단계를 포함할 수 있다.According to another embodiment, a computer program executed by a data protection device and stored in a recording medium for performing the data protection method, the data protection method comprising: storing one of a volatile memory or a memory detachable from the data protection device. And setting the storage location of the application data generated by the identified application program as the storage.

전술한 과제 해결 수단 중 어느 하나에 의하면, 휘발성 메모리를 이용한 데이터 보호 방법 및 장치를 제시할 수 있다. According to any one of the above-described problem solving means, it is possible to provide a data protection method and apparatus using a volatile memory.

전술한 과제 해결 수단 중 어느 하나에 의하면, 문서편집, 브라우저, 메신저와 같은 응용프로그램을 통해 사용자가 생성한 데이터 또는 응용프로그램의 실행시 생성된 임시파일을 휘발성인 주기억장치의 일부 영역을 보조기억장치 저장소로 인식시켜 저장하거나 별도의 휘발성 보조기억장치 저장소에 저장하여 전원이 꺼지면 어떠한 데이터도 남지 않도록 하는 휘발성 메모리를 이용한 데이터 보호 방법 및 장치를 제시할 수 있다. According to any one of the above-mentioned means for solving the problem, the auxiliary storage device to a part of the main memory volatile data generated by the user through the application, such as document editing, browser, messenger or temporary files generated when the application is executed A data protection method and apparatus using volatile memory that can be stored as a storage or stored in a separate volatile auxiliary storage device so that no data remains when the power is turned off can be provided.

전술한 과제 해결 수단 중 어느 하나에 의하면, 복수의 단말 각각에서 공유된 중요 데이터를 응용프로그램에서 이용하는 경우, 생성된 임시파일 등이 각 단말에 저장되는 것이 아닌 지정된 저장소에 저장되도록 함으로써 보안을 집중할 수 있는 휘발성 메모리를 이용한 데이터 보호 방법 및 장치를 제시할 수 있다. According to any one of the above-described problem solving means, in the case of using the important data shared in each of the plurality of terminals in the application, security can be concentrated by having the generated temporary files, etc. are stored in the designated storage rather than stored in each terminal A data protection method and apparatus using a volatile memory can be provided.

전술한 과제 해결 수단 중 어느 하나에 의하면, 지정된 저장소에 데이터가 저장되도록 함으로써 보안 대상을 집중시킴으로써 보안의 취약점을 줄이는 휘발성 메모리를 이용한 데이터 보호 방법 및 장치를 제시할 수 있다. According to any one of the above-described problem solving means, it is possible to provide a data protection method and apparatus using volatile memory to reduce the vulnerability of security by centralizing the security target by allowing data to be stored in a designated storage.

전술한 과제 해결 수단 중 어느 하나에 의하면, 사용자가 단말을 분실하거나 탈취당하여도 전원 차단만으로 데이터를 영구히 삭제할 수 있어 데이터의 유출을 방지할 수 있는 휘발성 메모리를 이용한 데이터 보호 방법 및 장치를 제시할 수 있다.According to any one of the above-mentioned means for solving the problem, it is possible to present a data protection method and apparatus using a volatile memory that can prevent data leakage by permanently deleting the data even if the user loses or is taken over by the user. have.

전술한 과제 해결 수단 중 어느 하나에 의하면, 전원 차단만으로 데이터를 영구히 삭제할 수 있어 데이터의 영구 삭제를 위한 데이터의 삭제 비용 및 시간을 줄일 수 있는 휘발성 메모리를 이용한 데이터 보호 방법 및 장치를 제시할 수 있다.According to any one of the above-mentioned means for solving the problem, it is possible to present a data protection method and apparatus using a volatile memory that can permanently delete the data only by turning off the power, thereby reducing the cost and time of data deletion for permanent deletion of the data. .

개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the disclosed embodiments are not limited to the effects mentioned above, and other effects not mentioned above are apparent to those skilled in the art to which the embodiments disclosed from the following description belong. Can be understood.

도 1은 일 실시예에 따른 데이터보호장치를 도시한 블록도이다.
도 2 내지 도 4 는 일 실시예에 따른 데이터보호방법을 설명하기 위한 순서도이다.
1 is a block diagram illustrating a data protection device according to an embodiment.
2 to 4 are flowcharts illustrating a data protection method according to an embodiment.

아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, various embodiments will be described in detail with reference to the accompanying drawings. The embodiments described below may be embodied in various different forms. In order to more clearly describe the features of the embodiments, detailed descriptions of the matters well known to those skilled in the art to which the following embodiments belong are omitted. In the drawings, parts irrelevant to the description of the embodiments are omitted, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐 아니라, ‘그 중간에 다른 구성을 사이에 두고 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.Throughout the specification, when a configuration is "connected" to another configuration, this includes not only 'directly connected' but also 'connected' between different configurations. In addition, when a configuration "includes" a certain configuration, this means that, unless specifically stated otherwise, it may further include other configurations other than the other configuration.

이하 첨부된 도면을 참고하여 실시예들을 상세히 설명하기로 한다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings.

다만 이를 설명하기에 앞서, 아래에서 사용되는 용어들의 의미를 먼저 정의한다. However, before describing this, the meanings of the terms used below are first defined.

‘데이터’는 메모리에 물리적으로 저장되는 값이다. 그리고 ‘파일’은 메모리에 저장된 데이터에 접근하기 위한 연결관계를 포함한 링크이다. 'Data' is a value that is physically stored in memory. A file is a link that contains a link to access data stored in memory.

‘응용데이터’는 응용프로그램에 의해 생성되는 데이터로 응용프로그램의 실행 중 일시적으로 생성되는 데이터 또는 응용프로그램을 통해 저장되는 데이터를 포함할 수 있다. 'Application data' is data generated by an application program and may include data temporarily generated during execution of an application program or data stored through the application program.

‘주기억장치’는 중앙처리장치에서 이용되는 데이터를 일시적으로 저장하는 메모리로 전원이 공급되는 동안 데이터의 저장이 유지되지만 전원 공급이 중단되면 물리적으로 초기화되어 데이터가 삭제된다.The main memory is a memory that temporarily stores data used by the central processing unit. Data is maintained while the power is supplied, but is physically initialized and deleted when the power is interrupted.

‘보조기억장치’는 주기억장치를 제외한 데이터가 저장되는 메모리로 예를 들어, 전원공급이 중단되어도 데이터를 저장하는 HDD(Hard Disk Drive), SSD(Solid State Drive), USB(Universal Serial Bus) 등이 포함될 수 있으며, 전원공급이 중단되면 데이터가 휘발되는 RAM이 포함될 수 있다. 'Auxiliary memory' is a memory that stores data except main memory, for example, HDD (Hard Disk Drive), SSD (Solid State Drive), USB (Universal Serial Bus), etc. It may be included, RAM may be included when the power supply is interrupted data.

‘저장소’는 주기억장치 또는 보조기억장치 중 적어도 하나에 설정되어 보조기억장치로써 역할을 하는 영역으로 일시적으로 데이터가 저장될 수 있으며, 물리적으로 초기화되어 저장된 데이터가 삭제될 수 있다. 'Storage' is an area that is set in at least one of the main memory device or the auxiliary memory device to serve as an auxiliary memory device, the data may be temporarily stored, the data stored in the physical initialization can be deleted.

위에 정의한 용어 이외에 설명이 필요한 용어는 아래에서 각각 따로 설명한다.In addition to the terms defined above, terms that need explanation are explained separately below.

도 1은 일 실시예에 따른 데이터보호장치(10)를 설명하기 위한 블럭도이다.1 is a block diagram illustrating a data protection device 10 according to an embodiment.

데이터보호장치(10)는 네트워크를 통해 원격지의 서버에 접속하거나, 타 단말 및 서버와 연결 가능한 컴퓨터나 휴대용 단말기, 텔레비전, 웨어러블 디바이스(Wearable Device) 등으로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop)등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), GSM(Global System for Mobile communications), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), 스마트폰(Smart Phone), 모바일 WiMAX(Mobile Worldwide Interoperability for Microwave Access) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, 텔레비전은 IPTV(Internet Protocol Television), 인터넷 TV(Internet Television), 지상파 TV, 케이블 TV 등을 포함할 수 있다. 나아가 웨어러블 디바이스는 예를 들어, 시계, 안경, 액세서리, 의복, 신발 등 인체에 직접 착용 가능한 타입의 정보처리장치로서, 직접 또는 다른 정보처리장치를 통해 네트워크를 경유하여 원격지의 서버에 접속하거나 타 단말과 연결될 수 있다.The data protection device 10 may be implemented as a computer, a portable terminal, a television, a wearable device, or the like, connected to a remote server through a network or connected to other terminals and servers. Here, the computer includes, for example, a laptop, desktop, laptop, etc., which is equipped with a web browser, and the portable terminal is, for example, a wireless communication device that ensures portability and mobility. , Personal Communication System (PCS), Personal Digital Cellular (PDC), Personal Handyphone System (PHS), Personal Digital Assistant (PDA), Global System for Mobile communications (GSM), International Mobile Telecommunication (IMT) -2000, Code CDMA Division Multiple Access (2000), all types of handhelds such as W-Code Division Multiple Access (W-CDMA), Wireless Broadband Internet (Wibro), Smart Phones, and Mobile Worldwide Interoperability for Microwave Access (WiMAX). It may include a (Handheld) based wireless communication device. In addition, the television may include an Internet Protocol Television (IPTV), an Internet Television (Internet Television), a terrestrial TV, a cable TV, or the like. Further, the wearable device is, for example, an information processing device of a type that can be worn directly on a human body such as a watch, glasses, accessories, clothes, shoes, etc., and is connected to a remote server or another terminal via a network directly or through another information processing device. It can be connected with.

도 1 을 참조하면, 일 실시예에 따른 데이터보호장치(10)는, 입출력부(110), 제어부(120), 통신부(130) 및 메모리(140)를 포함할 수 있다.Referring to FIG. 1, the data protection device 10 according to an embodiment may include an input / output unit 110, a control unit 120, a communication unit 130, and a memory 140.

입출력부(110)는 사용자로부터 입력을 수신하기 위한 입력부와, 작업의 수행 결과 또는 데이터보호장치(10)의 상태 등의 정보를 표시하기 위한 출력부를 포함할 수 있다. 예를 들어, 입출력부(110)는 사용자 입력을 수신하는 조작 패널(operation panel) 및 화면을 표시하는 디스플레이 패널(display panel) 등을 포함할 수 있다.The input / output unit 110 may include an input unit for receiving an input from a user, and an output unit for displaying information such as a result of performing a task or a state of the data protection device 10. For example, the input / output unit 110 may include an operation panel for receiving a user input and a display panel for displaying a screen.

구체적으로, 입력부는 키보드, 물리 버튼, 터치 스크린, 카메라 또는 마이크 등과 같이 다양한 형태의 사용자 입력을 수신할 수 있는 장치들을 포함할 수 있다. 또한, 출력부는 디스플레이 패널 또는 스피커 등을 포함할 수 있다. 다만, 이에 한정되지 않고 입출력부(110)는 다양한 입출력을 지원하는 구성을 포함할 수 있다.In detail, the input unit may include devices capable of receiving various types of user input such as a keyboard, a physical button, a touch screen, a camera, or a microphone. In addition, the output unit may include a display panel or a speaker. However, the present invention is not limited thereto, and the input / output unit 110 may include a configuration that supports various input / output.

제어부(120)는 데이터보호장치(10)의 전체적인 동작을 제어하며, CPU 등과 같은 프로세서를 포함할 수 있다. 제어부(120)는 입출력부(110)를 통해 수신한 사용자 입력에 대응되는 동작을 수행하도록 데이터보호장치(10)에 포함된 다른 구성들을 제어할 수 있다.The controller 120 controls the overall operation of the data protection device 10 and may include a processor such as a CPU. The controller 120 may control other components included in the data protection device 10 to perform an operation corresponding to the user input received through the input / output unit 110.

예를 들어, 제어부(120)는 메모리(140)에 저장된 프로그램을 실행시키거나, 메모리(140)에 저장된 파일을 읽어오거나, 새로운 파일을 메모리(140)에 저장할 수도 있다.For example, the controller 120 may execute a program stored in the memory 140, read a file stored in the memory 140, or store a new file in the memory 140.

이러한 제어부(120)는, 저장소관리부(121), 응용프로그램관리부(122), 가상메모리관리부(123), 파일시스템접근제어부(124)를 포함할 수 있다. The controller 120 may include a storage manager 121, an application program manager 122, a virtual memory manager 123, and a file system access controller 124.

우선, 저장소관리부(121)는 휘발성 메모리 또는 상기 데이터 보호 장치와 분리가능한 메모리 중 하나를 저장소로 설정할 수 있다. First, the storage manager 121 may set one of a volatile memory or a memory that is detachable from the data protection device as a storage.

하나의 실시예에 따라, 저장소관리부(121)는 기 설정된 조건이 유지되는 동안 데이터의 저장이 일시적으로 유지되는 메모리(140)인 주기억장치(141)의 일 영역을 저장소로 설정할 수 있다. According to an embodiment of the present disclosure, the storage manager 121 may set a region of the main memory 141, which is the memory 140, in which data storage is temporarily maintained while a predetermined condition is maintained.

예를 들어, 저장소관리부(121)는 중앙처리장치에서 처리되는 데이터를 일시적으로 저장하는 휘발성 주기억장치(141)인 RAM의 일 영역을 저장소로 설정할 수 있으며, 저장소를 보조기억장치(142)인 USB와 같이 데이터의 저장 또는 데이터의 리딩이 가능한 보조기억장치와 같은 장치로 설정할 수 있다. For example, the storage manager 121 may set a region of RAM, a volatile main memory 141 that temporarily stores data processed by the central processing unit, as a storage, and store the storage as a secondary storage device 142. As described above, the storage device may be configured as a device such as an auxiliary memory device capable of storing or reading data.

다른 실시예에 따라, 저장소관리부(121)는 데이터의 저장이 유지되는 메모리(140)인 보조기억장치(142)를 등록할 수 있으며 등록된 보조기억장치(142)를 저장소로 추가 설정할 수 있다. According to another exemplary embodiment, the storage manager 121 may register the auxiliary memory device 142, which is a memory 140 in which data storage is maintained, and additionally set the registered auxiliary memory device 142 as a storage.

예를 들어, 저장소관리부(121)는 데이터보호장치(10)로부터 분리가능한 보조기억장치인 USB, SSD 등을 사용자의 입력에 기초하여 등록할 수 있고, 등록된 보조기억장치를 저장소로 추가 설정할 수 있다.For example, the storage manager 121 may register a secondary memory device, USB, SSD, and the like, which are detachable from the data protection device 10, based on a user input, and additionally set the registered auxiliary memory device as a storage. have.

그리고 저장소관리부(121)는 저장소로 설정된 메모리를 제외한 타 메모리에 응용프로그램의 응용데이터의 저장을 차단할 수 있다. In addition, the storage manager 121 may block the storage of the application data of the application program in another memory except the memory set as the storage.

예를 들어, 저장소관리부(121)는 응용프로그램이 저장소로 설정된 보조기억장치를 제외한 다른 보조기억장치를 파일을 저장경로로 설정하면, 파일에 대응되는 응용데이터의 저장을 차단할 수 있다. 이때, 저장소관리부(121)는 저장이 가능한 저장소로 데이터를 저장하거나 또는 저장소의 위치를 표시할 수 있다. For example, the storage manager 121 may block the storage of the application data corresponding to the file when the auxiliary memory device other than the auxiliary memory device set as the storage is set as a storage path. In this case, the storage manager 121 may store data as a storage that can be stored or display a location of the storage.

한편, 응용프로그램관리부(122)는 저장소에 응용데이터가 저장되도록 보안적용대상 응용프로그램을 식별할 수 있다. On the other hand, the application management unit 122 may identify the security target application program so that the application data is stored in the storage.

예를 들어, 응용프로그램관리부(122)는 데이터보호장치(10)에서 실행된 응용프로그램이 응용데이터 저장위치의 변경을 허용하는지 분석할 수 있고, 데이터의 저장위치 변경이 가능하면 보안적용대상으로 응용프로그램을 등록할 수 있다. For example, the application management unit 122 may analyze whether the application executed in the data protection device 10 permits the change of the application data storage location, and if the storage location of the data is changeable, the application may be applied as a security target. You can register a program.

그리고 응용프로그램관리부(122)는 보안적용이 가능하다고 식별된 응용프로그램에서 생성되는 응용데이터 저장위치를 저장소로 설정할 수 있다. In addition, the application manager 122 may set a storage location of the application data generated by the application identified as being able to apply security.

실시예에 따라, 응용프로그램관리부(122)는 응용프로그램 상의 파일의 응용데이터 저장위치를 저장소로 설정할 수 있다. According to an embodiment, the application program manager 122 may set an application data storage location of a file on an application program as a storage.

예를 들어, 응용프로그램관리부(122)는 응용프로그램 상에서 생성되는 임시파일의 응용데이터가 저장되는 경로를 저장소로 변경 설정하거나 응용프로그램이 저장하는 파일의 응용데이터가 저장소에만 저장되도록 설정할 수 있다. For example, the application program manager 122 may change the path where the application data of the temporary file generated on the application program is stored to the storage or set the application data of the file stored by the application to be stored only in the storage.

그리고 가상메모리관리부(123)는 데이터보호장치(10)에서 구동되는 운영체제가 설정한 가상메모리의 위치를 저장소로 설정할 수 있다. The virtual memory manager 123 may set the location of the virtual memory set by the operating system running in the data protection device 10 as a storage.

예를 들어, 가상메모리관리부(123)는 운영체제에서 가상메모리로써 설정한 보조기억장치를 저장소관리부(121)가 설정한 저장소로 변경하기 위해 가상메모리의 경로를 변경할 수 있다. For example, the virtual memory manager 123 may change the path of the virtual memory to change the auxiliary memory set as the virtual memory in the operating system to the storage set by the storage manager 121.

그리고 가상메모리관리부(123)는 운영체제가 주기억장치(141)에서 페이징처리하는 데이터를 저장소에 저장할 수 있다.In addition, the virtual memory manager 123 may store data that the operating system processes in the main memory 141 in the storage.

예를 들어 가상메모리관리부(123)는 운영체제가 주기억장치(141)에 로딩된 데이터 중 처리된 데이터 또는 기 설정된 시간내에 처리되지 않은 데이터에 대해 가상메모리로 페이징되는 데이터를 저장소에 저장되도록 할 수 있다. For example, the virtual memory manager 123 may allow the operating system to store, in the storage, data that is paged into virtual memory for processed data among data loaded in the main memory 141 or data that has not been processed within a predetermined time. .

이때 실시예에 따라, 가상메모리관리부(123)는 운영체제가 기 설정한 가상메모리의 저장위치인 보조기억장치에 데이터의 저장을 차단할 수 있다. At this time, according to an embodiment, the virtual memory manager 123 may block the storage of data in the auxiliary memory device which is a storage location of the virtual memory preset by the operating system.

예를 들어, 그리고 가상메모리관리부(123)는 가상메모리가 설정된 보조기억장치에 기 저장된 데이터를 저장소로 이동시킬 수 있고, 운영체제에 대해 가상메모리 기능이 비활성화되도록 설정할 수 있다.For example, the virtual memory manager 123 may move the data stored in the auxiliary memory device in which the virtual memory is set to the storage, and set the virtual memory function to be inactivated for the operating system.

그리고 파일시스템접근제어부(124)는 응용프로그램관리부(122)에 의해 보안적용으로 식별된 응용프로그램의 파일 호출에 따른 데이터의 입출력이 저장소를 통해 되도록 할 수 있다.In addition, the file system access control unit 124 may allow the input and output of data according to the file call of the application program identified by the application manager 122 to be secured through the storage.

하나의 실시예에 따라, 파일시스템접근제어부(124)는 응용프로그램에서 파일 호출에 대한 데이터의 입출력이 저장소에서 되도록 제어할 수 있다. According to an embodiment of the present disclosure, the file system access control unit 124 may control an input / output of data for a file call in an application program to be stored in a storage.

예를 들어, 응용프로그램이 보조기억장치에 저장된 데이터에 대한 파일을 호출하면, 파일시스템접근제어부(124)는 보조기억장치에 저장된 데이터를 저장소로 복사할 수 있고, 응용프로그램의 파일 호출에 대응하여 저장소에 복사된 데이터를 제공할 수 있다.For example, when an application program calls a file for data stored in the auxiliary memory device, the file system access control unit 124 may copy the data stored in the auxiliary memory device to the storage, and respond to a file call of the application program. You can provide data copied to the repository.

다른 실시예에 따라, 파일시스템접근제어부(124)는 응용프로그램이 보조기억장치에 저장하는 파일의 데이터를 저장소에 저장되도록 제어할 수 있다. According to another exemplary embodiment, the file system access control unit 124 may control the application program to store data of a file stored in the auxiliary memory device in the storage.

예를 들어, 응용프로그램이 임시데이터에 대한 파일의 저장경로를 보조기억장치에 선택하는 경우, 파일시스템접근제어부(124)는 응용프로그램에서 저장하려는 데이터를 저장소에 저장시킬 수 있고, 파일이 저장소에 저장된 데이터와 링크를 형성하도록 파일시스템을 제어할 수 있다.For example, when the application program selects a storage path of a file for temporary data in the auxiliary storage device, the file system access control unit 124 may store data to be stored in the application in the storage, and the file is stored in the storage. The filesystem can be controlled to form links with stored data.

그리고 파일시스템접근제어부(124)는 저장소에 저장된 데이터를 별도의 보조기억장치로 복사할 수 있다. In addition, the file system access control unit 124 may copy the data stored in the storage to a separate auxiliary memory device.

예를 들어, 파일시스템접근제어부(124)는 저장소에 저장된 데이터를 사용자가 선택한 보조기억장치인 USB에 복사할 수 있다.For example, the file system access control unit 124 may copy the data stored in the storage to the USB storage device selected by the user.

통신부(130)는 다른 디바이스 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 통신부(130)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신 모듈은 칩셋(chipset)의 형태로 구현될 수 있다.The communicator 130 may perform wired or wireless communication with another device or a network. To this end, the communication unit 130 may include a communication module supporting at least one of various wired and wireless communication methods. For example, the communication module may be implemented in the form of a chipset.

통신부(130)가 지원하는 무선 통신은, 예를 들어 Wi-Fi(Wireless Fidelity), Wi-Fi Direct, 블루투스(Bluetooth), UWB(Ultra Wide Band) 또는 NFC(Near Field Communication) 등일 수 있다. 또한, 통신부(130)가 지원하는 유선 통신은, 예를 들어 USB 또는 HDMI(High Definition Multimedia Interface) 등일 수 있다.The wireless communication supported by the communication unit 130 may be, for example, Wi-Fi (Wireless Fidelity), Wi-Fi Direct, Bluetooth, UWB (Ultra Wide Band) or NFC (Near Field Communication). In addition, the wired communication supported by the communication unit 130 may be, for example, USB or High Definition Multimedia Interface (HDMI).

메모리(140)에는 파일, 어플리케이션 및 프로그램 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 제어부(120)는 메모리(140)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(140)에 저장할 수도 있다. 또한, 제어부(120)는 메모리(140)에 설치된 프로그램을 실행할 수도 있다. The memory 140 may install and store various types of data such as files, applications, and programs. The controller 120 may access and use data stored in the memory 140 or store new data in the memory 140. In addition, the controller 120 may execute a program installed in the memory 140.

이러한 메모리(140)는 주기억장치(141)와 보조기억장치(142)로 구분될 수 있다. The memory 140 may be divided into a main memory 141 and a secondary memory 142.

주기억장치(141)는 중앙처리장치(CPU)에서 이용되는 데이터를 일시적으로 저장할 수 있다.The main memory 141 may temporarily store data used by the CPU.

예를 들어, 주기억장치(141)는 중앙처리장치와 직접 데이터를 송수신하면서 중앙처리장치에서 처리되는 데이터를 일시적으로 저장할 수 있다. For example, the main memory 141 may temporarily store data processed by the CPU while directly transmitting and receiving data with the CPU.

이러한 주기억장치(141)는 전원이 공급되는 동안 데이터의 저장이 유지되지만 전원 공급이 중단되면 주기억장치가 물리적으로 초기화되어 데이터가 삭제될 수 있으며, 예를 들어 RAM(Random Access Memory)으로 구현될 수 있다. The main memory 141 may store data while power is supplied, but when the power supply is interrupted, the main memory may be physically initialized to delete data. For example, the main memory 141 may be implemented as a random access memory (RAM). have.

보조기억장치(142)는 중앙처리장치에서 처리되는 프로세스에서 필요로 하는 데이터를 제외한 타 데이터를 저장할 수 있다. The auxiliary memory device 142 may store other data except for data required by a process processed by the CPU.

이러한 보조기억장치(142)는 데이터전원공급이 중단되어도 데이터를 저장하는 HDD(Hard Disk Drive), SSD(Solid State Drive), USB(Universal Serial Bus) 등으로 구현될 수 있으며, 전원공급이 중단되면 데이터가 휘발되는 RAM 으로도 구현될 수 있다. The auxiliary memory device 142 may be implemented as a hard disk drive (HDD), a solid state drive (SSD), a universal serial bus (USB), or the like, which stores data even when the data power supply is interrupted. It can also be implemented as RAM where data is volatilized.

도 2 내지 도 4 는 일 실시예에 따른 데이터보안방법을 설명하기 위한 순서도이다. 2 to 4 are flowcharts illustrating a data security method according to an embodiment.

도 2 내지 도 4 에 도시된 실시예에 따른 데이터보안방법은 도 1 에 도시된 데이터보안장치(10)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1 에 도시된 데이터보안장치(10)에 관하여 이상에서 기술한 내용은 도 2 내지 도 4 에 도시된 실시예에 따른 데이터보안방법에도 적용될 수 있다.The data security method according to the embodiment shown in FIGS. 2 to 4 includes steps that are processed in time series in the data security device 10 shown in FIG. 1. Therefore, even if omitted below, the above description of the data security device 10 shown in FIG. 1 may be applied to the data security method according to the embodiment shown in FIGS. 2 to 4.

도 2 는 데이터보안장치(10)가 응용프로그램의 데이터를 휘발성 저장소에 저장하는 데이터보안방법을 도시한 순서도이다. 2 is a flowchart illustrating a data security method in which the data security device 10 stores data of an application program in volatile storage.

도 2 를 참조하면, 데이터보안장치(10)는 휘발성 메모리 또는 상기 데이터 보호 장치와 분리가능한 메모리 중 하나를 저장소로 설정할 수 있다(S2001).Referring to FIG. 2, the data security device 10 may set one of a volatile memory or a memory that is detachable from the data protection device as a storage (S2001).

하나의 실시예에 따라, 데이터보안장치(10)는 휘발성 메모리인 주기억장치에 저장소를 설정할 수 있다. According to an embodiment, the data security device 10 may set storage in a main memory device which is a volatile memory.

예를 들어, 데이터보안장치(10)는 전원공급이 유지되는 동안 데이터를 저장하는 주기억장치인 RAM의 일 영역을 저장소로 설정할 수 있고, 설정된 저장소를 데이터가 저장되는 보조기억장치와 같이 기능하도록 설정할 수 있다.For example, the data security device 10 may set a region of RAM, which is a main memory device for storing data, while the power supply is maintained, and set the set storage to function as an auxiliary memory device for storing data. Can be.

그리고 데이터보안장치(10)는 추가적으로 보조기억장치에 저장소를 설정할 수 있다. The data security device 10 may additionally set a storage in the auxiliary memory device.

예를 들어, 데이터보안장치(10)는 외부 I/O 포트에 연결되어 데이터보안장치(10)로부터 탈부착가능한 보조기억장치 중 사용자의 선택에 의해 보조기억장치를 등록할 수 있고, 등록된 보조기억장치가 I/O포트에 연결되어 인식되면 인식된 보조기억장치의 일부를 저장소로 설정할 수 있다.For example, the data security device 10 may be connected to an external I / O port to register the auxiliary memory device by a user's selection among the removable storage devices detachable from the data security device 10, and the registered auxiliary memory may be registered. When the device is connected to the I / O port and recognized, a part of the recognized secondary memory can be set as a storage.

그리고 데이터보안장치(10)는 보안적용대상 응용프로그램을 식별할 수 있다(S2002).The data security device 10 may identify a security target application program (S2002).

예를 들어, 데이터보안장치(10)는 사용자의 입력에 의해 실행되는 응용프로그램 중 임시데이터의 저장위치를 변경할 수 있는 응용프로그램을 식별할 수 있고, 임시데이터의 저장위치가 변경가능한 응용프로그램을 보안적용이 가능한 응용프로그램으로 등록할 수 있다. For example, the data security device 10 may identify an application that can change a storage location of temporary data among applications executed by a user input, and secure an application that can change a storage location of temporary data. You can register as an applicable application.

그리고 데이터보안장치(10)는 식별된 응용프로그램에서 생성되는 데이터의 저장위치를 저장소로 설정할 수 있다(S2003).The data security device 10 may set a storage location of data generated by the identified application program as a storage (S2003).

즉, 데이터보안장치(10)는 S2002단계에서 보안적용이 가능한 응용프로그램에 대해 S2001단계에서 설정된 저장소로 응용프로그램에서 생성되는 응용데이터의 저장위치를 설정할 수 있다. That is, the data security device 10 may set the storage location of the application data generated in the application to the storage set in step S2001 for the application that can be secured in step S2002.

예를 들어, 데이터보안장치(10)는 응용프로그램에서 임시적으로 생성되는 응용데이터를 저장하는 위치를 기존 데이터보안장치(10)의 보조기억장치인 HDD에서 S2001단계에서 설정된 저장소로 변경할 수 있다.For example, the data security device 10 may change the location for storing the application data temporarily generated by the application program from the HDD which is the secondary memory device of the existing data security device 10 to the storage set in step S2001.

또는 예를 들어, 데이터보안장치(10)는 응용프로그램에서 응용데이터를 저장할 수 있는 위치를 S2001단계에서 사용자가 등록한 보조기억장치인 USB 의 저장소로 설정할 수 있다. Alternatively, for example, the data security device 10 may set the location where the application data can be stored in the application program as a storage of the USB which is the auxiliary memory device registered by the user in step S2001.

이때, 실시예에 따라, 데이터보안장치(10)는 저장소로 설정된 보조기억장치를 제외한 타 보조기억장치에 데이터의 저장을 차단할 수 있다.At this time, according to the embodiment, the data security device 10 may block the storage of data in other auxiliary memory devices other than the auxiliary memory device set as a storage.

예를 들어, 애플리케이션에서 저장소로 설정된 보조기억장치 외의 타 보조기억장치로 응용데이터의 저장을 시도하면, 데이터보안장치(10)는 선택된 타 보조기억장치로 응용데이터의 저장을 차단하고, 애플리케이션에 저장소로 설정된 보조기억장치로 응용데이터의 저장위치를 설정할 것을 알릴 수 있다. For example, if an application attempts to store application data in another auxiliary memory device other than the auxiliary storage device set as storage, the data security device 10 blocks the storage of the application data with the selected other auxiliary memory device, and stores it in the application. The secondary storage device set as can notify the setting of the storage location of the application data.

그리고 데이터보안장치(10)는 응용프로그램의 데이터가 설정된 저장소에서 입출력되도록 파일시스템을 제어할 수 있다(S2004). In addition, the data security device 10 may control the file system to input / output data in the storage where the application program data is set (S2004).

하나의 실시예에 따라, 데이터보안장치(10)는 데이터보안장치(10)는 응용프로그램의 파일 호출에 따라 파일에 대한 데이터의 입출력이 저장소에서 되도록 파일시스템을 제어할 수 있다. According to an embodiment of the present disclosure, the data security device 10 may control the file system such that data input / output of the file is stored in the storage according to a file call of an application program.

예를 들어, 응용프로그램이 등록되지 않은 보조기억장치에 저장된 데이터에 대한 파일을 호출하면, 데이터보안장치(10)는 응용프로그램이 호출한 파일의 데이터가 저장된 보조기억장치로부터 저장소로 데이터를 복사할 수 있고, 저장소에 복사된 데이터를 응용프로그램으로 제공할 수 있다. For example, when an application program calls a file for data stored in an unregistered auxiliary memory device, the data security device 10 may copy data from the auxiliary memory device in which the data of the file called by the application program is stored to the storage. You can provide the application with the data copied to the repository.

다른 실시예에 따라, 데이터보안장치(10)는 응용프로그램이 저장하는 파일의 데이터가 저장소에 저장되도록 제어할 수 있다. According to another exemplary embodiment, the data security device 10 may control data of a file stored by an application program to be stored in the storage.

예를 들어, 응용프로그램에서 생성된 임시데이터에 대한 파일의 저장경로가 보조기억장치인 경우, 데이터보안장치(10)는 응용프로그램에서 보조기억장치에 저장하려는 데이터를 저장소에 저장할 수 있고, 파일이 저장소에 저장된 데이터와 링크를 형성하도록 할 수 있다. For example, when the storage path of the file for the temporary data generated by the application is a secondary storage device, the data security device 10 may store data to be stored in the secondary storage device in the application in the storage. You can make a link with the data stored in the repository.

그리고 데이터보안장치(10)는 저장소에 저장된 데이터를 보조기억장치로 복사할 수 있다. The data security device 10 may copy the data stored in the storage to the auxiliary memory device.

예를 들어, 데이터보안장치(10)는 저장소에 저장된 데이터를 사용자의 입력에 따라 보조기억장치로 데이터를 복사할 수 있으며, 저장소에 복사된 데이터와 링크를 형성한 파일을 생성할 수 있다.For example, the data security device 10 may copy the data stored in the storage to the auxiliary storage device according to a user's input, and may generate a file that forms a link with the data copied to the storage.

한편, 데이터보안장치(10)는 주기억장치에서 가상메모리로 페이징되는 데이터를 저장소에 저장할 수 있다. Meanwhile, the data security device 10 may store data paged from the main memory to the virtual memory in the storage.

도 3 은 가상메모리로 페이징되는 데이터를 저장소에 저장하는 데이터보안방법을 도시한 순서도이다. 3 is a flowchart illustrating a data security method for storing data paged to a virtual memory in a storage.

우선, 데이터보안장치(10)는 가상메모리로 데이터의 페이징(paging) 여부를 감지할 수 있다(S3001). First, the data security device 10 may detect whether paging of data into virtual memory (S3001).

예를 들어, 데이터보안장치(10)는 운영체제에서 가상메모리를 설정하거나 주기억장치에서 가상메모리가 설정된 보조기억장치로의 이동을 감지할 수 있다. For example, the data security device 10 may set a virtual memory in the operating system or detect a movement from the main memory to the auxiliary memory device in which the virtual memory is set.

그리고 데이터보안장치(10)는 페이징되는 데이터를 설정된 저장소에 저장되도록 할 수 있다(S3002). The data security device 10 may store the paged data in the set storage (S3002).

이를 위해, 데이터보안장치(10)는 운영제체의 가상메모리로 설정된 저장위치를 저장소로 설정할 수 있다. To this end, the data security device 10 may set a storage location set as a virtual memory of the operating system as a storage.

예를 들어, S3001단계에서 주기억장치에서 가상메모리의 설정을 감지하면, 데이터보안장치(10)는 운영체제에서 가상메모리로 설정한 저장위치를 저장소로 변경하여 주기억장치에서 가상메모리로 페이징되는 데이터를 저장소에 저장되도록 할 수 있다. For example, when detecting the setting of the virtual memory in the main memory in step S3001, the data security device 10 changes the storage location set to virtual memory in the operating system to the storage to store the data paged from the main memory to the virtual memory Can be stored in

한편, 데이터보안장치(10)는 보조기억장치에 설정된 가상메모리로 페이징된 데이터를 저장소로 이동시킬 수 있다. On the other hand, the data security device 10 may move the data paged to the virtual memory set in the auxiliary memory device to the storage.

도 4 는 가상메모리의 데이터를 저장소로 이동시키는 방법을 도시한 순서도이다. 4 is a flowchart illustrating a method of moving data of a virtual memory to a storage.

데이터보안장치(10)는 운영체제가 가상메모리로 설정한 저장위치를 식별할 수 있다(S4001). The data security device 10 may identify a storage location set by the operating system as a virtual memory (S4001).

예를 들어, 데이터보안장치(10)는 운영체제의 설정정보를 획득하여 가상메모리로 설정한 저장위치를 식별할 수 있다. 또는 데이터보안장치(10)는 운영체제의 가상메모리 주소를 변환하는 페이지표를 기초로 가상메모리에 대응되는 저장위치를 식별할 수 있다.For example, the data security device 10 may identify the storage location set as the virtual memory by acquiring the setting information of the operating system. Alternatively, the data security device 10 may identify a storage location corresponding to the virtual memory based on the page table for converting the virtual memory address of the operating system.

그리고 데이터보안장치(10)는 식별된 저장위치에 저장된 데이터를 저장소로 이동시킬 수 있다(S4002). And the data security device 10 may move the data stored in the identified storage location to the storage (S4002).

예를 들어, 데이터보안장치(10)는 운영체제가 기 설정한 가상메모리의 설정위치인 보조기억장치 상의 데이터를 저장소로 복사하여 이동시킬 수 있다. 그리고 데이터보안장치(10)는 도 3 에서 설명한 바와 같이 추가적으로 운영체제의 가상메모리의 영역을 저장소로 변경할 수 있다. For example, the data security device 10 may copy and move data on the auxiliary memory device, which is a setting position of a virtual memory, set by the operating system to a storage. The data security device 10 may additionally change the area of the virtual memory of the operating system to the storage as described with reference to FIG. 3.

이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.The term '~' used in the above embodiments refers to software or a hardware component such as a field programmable gate array (FPGA) or an ASIC, and '~' serves a part. However, '~' is not meant to be limited to software or hardware. '~ Portion' may be configured to be in an addressable storage medium or may be configured to play one or more processors. Thus, as an example, '~' means components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, procedures, and the like. Subroutines, segments of program patent code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.

구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.The functionality provided within the components and 'parts' may be combined into a smaller number of components and 'parts' or separated from additional components and 'parts'.

뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.In addition, the components and '~' may be implemented to play one or more CPUs in the device or secure multimedia card.

도 2 내지 도 4 를 통해 설명된 실시예에 따른 데이터보안방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다.예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다. The data security method according to the embodiments described with reference to FIGS. 2 to 4 may be implemented in the form of a computer readable medium for storing instructions and data executable by a computer. In this case, the command and data may be stored in the form of program code, and when executed by the processor, a predetermined program module may be generated to perform a predetermined operation. In addition, computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer readable medium may be a computer recording medium, which is volatile and non-implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Both volatile, removable and non-removable media may be included. For example, computer recording media may be provided via magnetic storage media such as HDDs and SSDs, optical recording media such as CDs, DVDs and Blu-ray discs, or may be accessible via a network. It may be a memory included in the server.

또한 도 2 내지 도 4 를 통해 설명된 실시예에 따른 데이터보안방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다. In addition, the data security method according to the embodiments described with reference to FIGS. 2 to 4 may be implemented as a computer program (or computer program product) including instructions executable by a computer. The computer program includes programmable machine instructions processed by the processor and may be implemented in a high-level programming language, an object-oriented programming language, an assembly language, or a machine language. . The computer program may also be recorded on tangible computer readable media (eg, memory, hard disks, magnetic / optical media or solid-state drives, etc.).

따라서 도 2 내지 도 4 를 통해 설명된 실시예에 따른 데이터보안방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다. Accordingly, the data security method according to the embodiment described with reference to FIGS. 2 to 4 may be implemented by executing the computer program as described above by the computing device. The computing device may include at least a portion of a processor, a memory, a storage device, a high speed interface connected to the memory and a high speed expansion port, and a low speed interface connected to the low speed bus and the storage device. Each of these components are connected to each other using a variety of buses and may be mounted on a common motherboard or otherwise mounted in a suitable manner.

여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다. Here, the processor may process instructions within the computing device, such as to display graphical information for providing a graphical user interface (GUI) on an external input, output device, such as a display connected to a high speed interface. Instructions stored in memory or storage. In other embodiments, multiple processors and / or multiple buses may be used with appropriately multiple memories and memory types. The processor may also be implemented as a chipset consisting of chips comprising a plurality of independent analog and / or digital processors.

또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다. The memory also stores information within the computing device. In one example, the memory may consist of a volatile memory unit or a collection thereof. As another example, the memory may consist of a nonvolatile memory unit or a collection thereof. The memory may also be other forms of computer readable media, such as, for example, magnetic or optical disks.

그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다. In addition, the storage device can provide a large amount of storage space to the computing device. The storage device may be a computer readable medium or a configuration including such a medium, and may include, for example, devices or other configurations within a storage area network (SAN), and may include a floppy disk device, a hard disk device, an optical disk device, Or a tape device, flash memory, or similar other semiconductor memory device or device array.

상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above-described embodiments are for illustrative purposes, and those of ordinary skill in the art to which the above-described embodiments belong may easily change to other specific forms without changing the technical spirit or essential features of the above-described embodiments. I can understand. Therefore, it is to be understood that the above-described embodiments are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 명세서를 통해 보호 받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.The scope to be protected by the present specification is represented by the following claims rather than the above description, and should be construed to include all changes or modifications derived from the meaning and scope of the claims and their equivalents. .

10: 데이터보안장치
110: 입출려부
120: 제어부
121: 저장소관리부 122: 응용프로그램관리부
123: 가상메모리관리부 124: 파일시스템접근제어부
130: 통신부
140: 메모리
141: 주기억장치 142: 보조기억장치
10: data security device
110: entrance and exit
120: control unit
121: storage management unit 122: application management unit
123: virtual memory management unit 124: file system access control unit
130: communication unit
140: memory
141: main memory 142: auxiliary memory

Claims (14)

데이터보호장치에 있어서,
휘발성 메모리 또는 상기 데이터 보호 장치와 분리가능한 메모리 중 하나를 저장소로 설정하는 저장소관리부;
보안적용대상 응용프로그램을 식별하고, 식별된 응용프로그램에서 생성되는 응용데이터의 저장위치를 상기 저장소로 설정하는 응용프로그램관리부;
상기 응용프로그램의 파일 호출에 따른 데이터가 상기 저장소에서 입출력되도록 파일시스템을 제어하고, 상기 파일 호출에 따라 상기 저장소가 아닌 다른 메모리에 저장된 데이터를 상기 저장소로 복제하며, 상기 저장소에 복제된 데이터를 상기 응용프로그램에 제공하는 파일시스템접근제어부; 및
상기 데이터보호장치에서 구동되는 운영체제가 설정한 가상메모리의 위치를 식별하고, 식별된 위치에 저장된 데이터를 상기 저장소로 이동시키며, 상기 운영체제가 설정한 가상메모리의 위치를 상기 저장소로 변경하여 설정하는 가상메모리관리부를 포함하고,
상기 저장소관리부는,
상기 저장소로 설정된 메모리를 제외한 타 메모리 영역에 상기 응용데이터의 저장을 차단하는, 데이터보호장치.
In the data protection device,
A storage manager configured to set one of a volatile memory or a memory detachable from the data protection device as a storage;
An application manager for identifying a security target application program and setting a storage location of application data generated by the identified application program as the storage;
The file system is controlled so that data according to a file call of the application program is inputted and outputted from the storage, the data stored in a memory other than the storage is copied to the storage according to the file call, and the data copied to the storage is stored. File system access control unit provided to the application program; And
Identify a location of a virtual memory set by an operating system running in the data protection device, move data stored in the identified location to the storage, and change the location of the virtual memory set by the operating system to the storage Including a memory management unit,
The storage management unit,
A data protection device for blocking the storage of the application data in the other memory area except the memory set as the storage.
삭제delete 삭제delete 삭제delete 삭제delete 제 1 항에 있어서,
상기 가상메모리관리부는,
상기 운영체제가 가상메모리로 설정한 위치의 메모리에 대한 데이터의 저장을 차단하는, 데이터보호장치.
The method of claim 1,
The virtual memory management unit,
A data protection device for blocking the storage of data for the memory of the location set by the operating system to the virtual memory.
데이터보호장치가 데이터를 보호하는 방법에 있어서,
휘발성 메모리 또는 상기 데이터 보호 장치와 분리가능한 메모리 중 하나를 저장소로 설정하는 단계;
보안적용대상 응용프로그램을 식별하는 단계;
식별된 응용프로그램에서 생성되는 응용데이터의 저장위치를 상기 저장소로 설정하는 단계;
상기 저장소로 설정된 메모리를 제외한 타 메모리 영역에 상기 응용데이터의 저장을 차단하는 단계;
상기 응용프로그램의 파일 호출에 따른 데이터가 상기 저장소에서 입출력되도록 파일시스템을 제어하는 단계; 및
상기 데이터보호장치에서 구동되는 운영체제가 설정한 가상메모리의 위치를 상기 저장소로 설정하는 단계;
상기 파일시스템을 제어하는 단계는,
상기 파일 호출에 따라 상기 저장소가 아닌 다른 메모리에 저장된 데이터를 상기 저장소로 복제하는 단계 및 상기 저장소에 복제된 데이터를 상기 응용프로그램에 제공하는 단계를 포함하고,
상기 가상메모리의 위치를 상기 저장소로 설정하는 단계는,
상기 운영체제가 설정한 가상메모리의 위치를 식별하고, 식별된 위치에 저장된 데이터를 상기 저장소로 이동시키는 단계 및 상기 운영체제가 설정한 가상메모리의 위치를 상기 저장소로 변경하여 설정하는 단계를 포함하는, 데이터보호방법.
In a method of protecting data by a data protection device,
Setting one of the volatile memory or the memory detachable from the data protection device as a storage;
Identifying a security target application program;
Setting a storage location of application data generated in the identified application program as the storage;
Blocking storage of the application data in another memory area except the memory set as the storage;
Controlling a file system such that data according to a file call of the application program is inputted and outputted from the storage; And
Setting a location of a virtual memory set by an operating system running in the data protection device as the storage;
Controlling the file system,
Copying data stored in a memory other than the storage to the storage according to the file call, and providing the data copied in the storage to the application program.
Setting the location of the virtual memory to the storage,
Identifying a location of the virtual memory set by the operating system, moving data stored in the identified location to the storage, and changing and setting the location of the virtual memory set by the operating system to the storage; How to protect.
삭제delete 삭제delete 삭제delete 삭제delete 제 7 항에 있어서,
상기 데이터보호방법은,
상기 운영체제가 가상메모리로 설정한 위치의 메모리에 대한 데이터의 저장을 차단하는 단계를 더 포함하는, 데이터보호방법.
The method of claim 7, wherein
The data protection method,
Blocking the storage of data for the memory of the location set by the operating system to the virtual memory, the data protection method.
제 7 항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium having recorded thereon a program for performing the method of claim 7. 데이터보호장치에 의해 수행되며, 제 7 항에 기재된 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램.
A computer program carried out by a data protection device and stored in a medium for carrying out the method according to claim 7.
KR1020190079677A 2019-07-02 2019-07-02 Method and apparatus for protecting data using volatile memory KR102033040B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190079677A KR102033040B1 (en) 2019-07-02 2019-07-02 Method and apparatus for protecting data using volatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190079677A KR102033040B1 (en) 2019-07-02 2019-07-02 Method and apparatus for protecting data using volatile memory

Publications (1)

Publication Number Publication Date
KR102033040B1 true KR102033040B1 (en) 2019-10-16

Family

ID=68421378

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190079677A KR102033040B1 (en) 2019-07-02 2019-07-02 Method and apparatus for protecting data using volatile memory

Country Status (1)

Country Link
KR (1) KR102033040B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070046363A (en) * 2005-10-31 2007-05-03 (주)이노토브 Apparatus for preventing outflow of data and storage device including the same
JP2008276456A (en) * 2007-04-27 2008-11-13 Hitachi Software Eng Co Ltd File management system and method, and mobile terminal device
KR20130100395A (en) * 2012-03-01 2013-09-11 (주)아도닉스 System for protect ing data in data storage for computer using ram, and protect method using the system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070046363A (en) * 2005-10-31 2007-05-03 (주)이노토브 Apparatus for preventing outflow of data and storage device including the same
JP2008276456A (en) * 2007-04-27 2008-11-13 Hitachi Software Eng Co Ltd File management system and method, and mobile terminal device
KR20130100395A (en) * 2012-03-01 2013-09-11 (주)아도닉스 System for protect ing data in data storage for computer using ram, and protect method using the system

Similar Documents

Publication Publication Date Title
US9852289B1 (en) Systems and methods for protecting files from malicious encryption attempts
US9100440B1 (en) Systems and methods for applying data loss prevention policies to closed-storage portable devices
US9286486B2 (en) System and method for copying files between encrypted and unencrypted data storage devices
US20210266734A1 (en) Obscuring application windows based on user security permissions
KR102033040B1 (en) Method and apparatus for protecting data using volatile memory
KR102038128B1 (en) Method and system for setting composition using object sensor
US11657368B2 (en) Server and control method thereof
KR102116395B1 (en) Apparatus and method for testing application
WO2023179378A1 (en) Encryption method and apparatus and electronic device
US11762985B2 (en) Systems and methods for protecting files indirectly related to user activity
KR102191453B1 (en) Method and apparatus for providing plug-in to application developed on spring framework
CN114153535B (en) Method, apparatus, medium and program product for jumping pages on an open page
CN105528307B (en) A kind of method and electronic equipment of information processing
US20150178509A1 (en) Trigger based portable device morphing
US10318250B1 (en) Systems and methods for locating functions for later interception
US20170094502A1 (en) Management method, management device and terminal for contacts in terminal
US11120169B1 (en) Systems and methods for identifying malware locations based on analyses of backup files
KR102249190B1 (en) Apparatus and method for providing user interface
KR102519373B1 (en) Apparatus and method for resizing cell in table
US10942816B1 (en) Systems and methods for dynamically adjusting a backup policy
US11288361B1 (en) Systems and methods for restoring applications
KR20180120968A (en) Neural network execution apparatus for memory write reduction and method thereof
US11146537B1 (en) Systems and methods for protecting geolocation information
KR101958817B1 (en) Apparatus and method for providing virtual pad
US10867035B1 (en) Systems and methods for detecting malicious programmatic clicks directed to view elements displayed on touchscreens

Legal Events

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