KR101412200B1 - Computer system, adress redirection method and system function monitoring method for thereof - Google Patents
Computer system, adress redirection method and system function monitoring method for thereof Download PDFInfo
- Publication number
- KR101412200B1 KR101412200B1 KR1020120079459A KR20120079459A KR101412200B1 KR 101412200 B1 KR101412200 B1 KR 101412200B1 KR 1020120079459 A KR1020120079459 A KR 1020120079459A KR 20120079459 A KR20120079459 A KR 20120079459A KR 101412200 B1 KR101412200 B1 KR 101412200B1
- Authority
- KR
- South Korea
- Prior art keywords
- function
- memory
- memory area
- address
- monitoring
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
- G06F21/79—Protecting 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 in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection 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/1425—Protection 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 physical, e.g. cell, word, block
- G06F12/1441—Protection 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 physical, e.g. cell, word, block for a range
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은, 컴퓨터 시스템과, 컴퓨터 시스템의 주소 이동 방법 및 컴퓨터 시스템의 시스템함수 모니터링 방법이 개시되어 있다. 본 발명의 실시예들은 메모리장치의 전체 주소범위에 대응하는 비트 수 즉 OS 환경 보다 작은 비트 수의 메모리영역 접근 방식을 지원하는 메모리접근모듈을 갖는 경우, 메모리장치의 전체 주소범위 중 접근(지정) 가능한 일부 주소범위 내에 접근(지정) 불가능한 나머지 주소범위로 이동시키기 위한 주소이동함수를 저장함으로써 메모리장치의 전체 주소범위를 효과적으로 이용할 수 있고, 이를 기반으로 시스템함수 모니터링을 실현하여 64bit OS 환경에서도 32bit OS와 같이 커널모드에서 후킹이 가능해져 32bit OS와 동일한 수준의 보안 기능을 제공할 수 있는 기술에 대한 것이다.The present invention discloses a computer system, a method for moving an address of the computer system, and a system function monitoring method for the computer system. Embodiments of the present invention provide a method of accessing a memory device having a memory access module that supports a memory area approach that supports a number of bits that is less than the number of bits corresponding to the total address range of the memory device, It is possible to effectively use the entire address range of the memory device by storing the address transfer function for moving to the remaining address range which can not be specified within some possible address range. By implementing system function monitoring based on this, the 32 bit OS Which is capable of providing the same level of security as 32-bit OS by hooking in kernel mode.
Description
본 발명은 실시예들은 주소범위 지정(접근) 한계로 접근이 불가능한 주소범위로 이동(redirection)하여 전체 주소범위를 효과적으로 이용할 수 있는 기술로서, 메모리장치의 전체 주소범위에 대응하는 비트 수 즉 OS 환경 보다 작은 비트 수의 메모리영역 접근 방식을 지원하는 메모리접근모듈을 갖는 경우, 메모리장치의 전체 주소범위 중 접근(지정) 가능한 일부 주소범위 내에 접근(지정) 불가능한 나머지 주소범위로 이동시키기 위한 주소이동함수를 저장함으로써 메모리장치의 전체 주소범위를 효과적으로 이용할 수 있고, 이를 기반으로 시스템함수 모니터링을 실현하여 64bit OS 환경에서도 32bit OS와 같이 커널모드에서 후킹이 가능해져 32bit OS와 동일한 수준의 보안 기능을 제공할 수 있는 기술들과 관련된다.Embodiments of the present invention are technologies that can effectively utilize the entire address range by redirection to an address range that can not be accessed by an address range designation (access) limit, Address transfer function for moving to a remaining address range that can not be specified within a certain address range that can be specified in the entire address range of the memory device when a memory access module that supports a smaller bit number memory region access method is used, It is possible to effectively utilize the entire address range of the memory device and realizes monitoring of the system function based on this, so that the 64-bit OS can hook up in the kernel mode like the 32-bit OS, thereby providing the same level of security as the 32-bit OS Related technologies.
최근 컴퓨터 시스템의 기능이 다양화되면서 운영체제(OS) 환경이 32bit 환경에서 64bit 환경으로 발전하는 추세이며, 64bit OS 환경에서는 시스템함수테이블의 구조가 절대주소 지정방식에서 상대주소 지정방식으로 변경되었다.As the functions of computer systems have diversified recently, the operating system (OS) environment has developed from a 32-bit environment to a 64-bit environment. In a 64-bit OS environment, the system function table structure has been changed from an absolute addressing method to a relative addressing method.
하지만, OS 환경이 32bit에서 64bit로 발전하는 과도기인 현재의 컴퓨터 시스템에서는, 64bit OS 환경에서 구조적 이유로 32bit 메모리영역 접근(어드레싱) 방식만을 지원하는 경우가 있다. 이처럼, 64bit OS 환경에서 구조적 이유로 32bit 어드레싱 방식만을 지원하는 경우, 64bit 환경의 메모리에서 제공하는 전체 주소 범위 중 일부 주소범위에 대해서만 접근할 수 있는 한계를 갖는다.However, in the present computer system which is a transition period in which the OS environment evolves from 32 bits to 64 bits, there is a case where only a 32-bit memory area access (addressing) method is supported for a structural reason in a 64-bit OS environment. In the case of 64-bit OS, if the 32-bit addressing method is supported for structural reasons, the address range of the entire address range provided by the 64-bit memory is limited.
예를 들면, 도 1에 도시된 바와 같이 x bit의 메모리영역 접근 방식을 지원하는 메모리접근모듈에 의한 시스템함수테이블을 기초로 메모리에서 상대주소 지정방식에 따라 접근 가능한 주소범위는 이다. 따라서, 32bit 메모리영역 접근 방식을 지원하는 메모리접근모듈에 의한 시스템함수테이블을 기초로 64bit OS 환경의 메모리에서 상대주소 지정방식에 따라 접근 가능한 주소범위는 이며, 전체 주소범위 중 나머지 주소범위에는 접근할 수 없는 한계를 갖는다. For example, as shown in FIG. 1, based on the system function table by the memory access module supporting the x bit memory area access method, the address range accessible in the memory according to the relative address specification method is to be. Therefore, based on the system function table by the memory access module supporting the 32-bit memory area access method, the address range accessible by the relative addressing method in the memory of the 64-bit OS environment is And the entire address range The remaining address ranges have inaccessible limits.
이에, 본 발명에서는, 주소범위 지정의 한계로 접근이 불가능한 주소범위로 이동(redirection)하여 전체 주소범위를 효과적으로 이용할 수 있는 방안을 제안하고자 한다. Accordingly, the present invention proposes a method of effectively using the entire address range by redirecting to an address range that is inaccessible due to limitation of the address range specification.
본 발명의 실시예들은 주소범위 지정의 한계로 접근이 불가능한 주소범위로 이동(redirection)하여 전체 주소범위를 효과적으로 이용할 수 있는 기술로서, 메모리장치의 전체 주소범위에 대응하는 비트 수 즉 OS 환경 보다 작은 비트 수의 메모리영역 접근 방식을 지원하는 메모리접근모듈을 갖는 경우, 메모리장치의 전체 주소범위 중 접근(지정) 가능한 일부 주소범위 내에 접근(지정) 불가능한 나머지 주소범위로 이동시키기 위한 주소이동함수를 저장함으로써 메모리장치의 전체 주소범위를 효과적으로 이용할 수 있고, 이를 기반으로 시스템함수 모니터링을 실현하여 64bit OS 환경에서도 32bit OS와 같이 커널모드에서 후킹이 가능해져 32bit OS와 동일한 수준의 보안 기능을 제공할 수 있는 방안을 제안하고자 한다.Embodiments of the present invention are technologies that can effectively utilize the entire address range by redirection to an address range that is inaccessible due to the limitation of the address range designation. The present invention can reduce the number of bits corresponding to the entire address range of the memory device, If the memory access module supports a bit number memory area access method, it stores an address transfer function to move the memory device to the remaining address range which can not be specified within the accessible address range of the entire address range of the memory device This makes it possible to effectively utilize the entire address range of the memory device and realizes monitoring of the system function based on this. Thus, it is possible to hook up in the kernel mode like the 32-bit OS even in the 64-bit OS environment, I would like to propose a plan.
상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 컴퓨터 시스템은, 메모리장치; 및 상기 메모리장치의 전체 메모리영역 중 일부 메모리영역에 접근 가능한 메모리접근모듈을 포함하고; 상기 메모리장치에는, 상기 일부 메모리영역 내 적어도 하나의 제1메모리영역에, 상기 전체 메모리영역 중 상기 일부 메모리영역을 제외한 나머지 메모리영역 내 적어도 하나의 제2메모리영역으로 접근시키는 주소이동함수가 저장되어, 상기 메모리접근모듈에서 상기 적어도 하나의 제1메모리영역에 어드레싱된 주소정보를 기초로 상기 적어도 하나의 제1메모리영역에 접근하여 상기 주소이동함수를 호출하면, 상기 주소이동함수에 의해 상기 적어도 하나의 제2메모리영역으로 접근되도록 한다.According to a first aspect of the present invention, there is provided a computer system comprising: a memory device; And a memory access module accessible to some of the entire memory areas of the memory device; The memory device stores an address transfer function for accessing at least one first memory area in the partial memory area and at least one second memory area in the remaining memory areas excluding the partial memory area of the entire memory area And accessing the at least one first memory area based on address information addressed to the at least one first memory area in the memory access module to call the address transfer function, To access the second memory area of the memory.
상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따른 컴퓨터 시스템의 주소 이동 방법은, 메모리장치의 전체 메모리영역 중 메모리접근모듈에 의해 접근 가능한 일부 메모리영역 내 적어도 하나의 제1메모리영역에, 상기 전체 메모리영역 중 상기 일부 메모리영역을 제외한 나머지 메모리영역 내 적어도 하나의 제2메모리영역으로 접근시키는 주소이동함수가 저장되는 단계; 및 상기 메모리접근모듈에서 상기 적어도 하나의 제1메모리영역에 어드레싱된 주소정보를 기초로 상기 적어도 하나의 제1메모리영역에 접근하여 상기 주소이동함수를 호출하면, 상기 주소이동함수에 의해 상기 적어도 하나의 제2메모리영역으로 접근되도록 하는 단계를 포함한다.According to a second aspect of the present invention, there is provided a method for moving an address of a computer system, the method comprising: in at least one first memory area in a memory area accessible by a memory access module among all memory areas of the memory device, Storing an address transfer function for accessing at least one second memory area in a memory area other than the memory area, among the entire memory areas; And accessing the at least one first memory region based on address information addressed to the at least one first memory region in the memory access module to invoke the address transfer function, To access a second memory area of the memory.
상기 목적을 달성하기 위한 본 발명의 제 3 관점에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 메모리장치의 전체 메모리영역 중 메모리접근모듈에 의해 접근 가능한 일부 메모리영역을 제외한 나머지 메모리영역 내 적어도 하나의 제2메모리영역에, 특정 모니터링을 수행하는 모니터링함수를 저장하는 단계; 상기 메모리장치의 상기 일부 메모리영역 내 적어도 하나의 제1메모리영역에, 상기 적어도 하나의 제2메모리영역으로 접근시키는 주소이동함수를 저장하는 단계; 각 시스템함수 별로 상기 메모리장치에서 저장된 메모리영역에 어드레싱된 주소정보를 포함하는 시스템함수테이블에서, 상기 특정 모니터링의 수행 대상으로 확인되는 특정 시스템함수의 주소정보를 상기 주소이동함수가 저장된 상기 적어도 하나의 제1메모리영역에 어드레싱된 주소정보로 변경하는 단계; 상기 메모리접근모듈에서 상기 특정 시스템함수의 호출이 요청되는 경우, 상기 시스템함수테이블에서 확인되는 상기 특정 시스템함수의 변경된 주소정보를 기초로 상기 적어도 하나의 제1메모리영역에 접근하여 상기 주소이동함수를 호출하는 단계; 및 상기 메모리접근모듈에서 상기 주소이동함수에 의해 상기 적어도 하나의 제2메모리영역에 접근되어 상기 모니터링함수를 호출하는 단계를 포함한다.According to a third aspect of the present invention, there is provided a method for monitoring a system function of a computer system, the method comprising the steps of: Storing a monitoring function for performing a specific monitoring in a second memory area; Storing an address transfer function for accessing the at least one second memory area in at least one first memory area in the partial memory area of the memory device; The address information of a specific system function identified as an object of performing the specific monitoring is stored in a system function table including address information addressed to a memory area stored in the memory device for each system function, Changing address information addressed to a first memory area; And accessing the at least one first memory area based on the changed address information of the specific system function identified in the system function table when the memory access module requests a call of the specific system function, Calling; And accessing the at least one second memory area by the address transfer function in the memory access module to call the monitoring function.
상기 목적을 달성하기 위한 본 발명의 제 4 관점에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 메모리장치의 전체 메모리영역 중 메모리접근모듈에 의해 접근 가능한 일부 메모리영역을 제외한 나머지 메모리영역 내 다수의 제2메모리영역에, 각 시스템함수식별정보 별로 매핑된 각 모니터링함수를 저장하는 단계; 상기 메모리장치의 상기 일부 메모리영역 내 하나의 제1메모리영역에, 상기 각 시스템함수식별정보에 따라 상기 다수의 제2메모리영역에 대하여 접근을 중계하는 핸들러게이트웨이함수가 저장된 특정 메모리영역으로 접근시키는 주소이동함수를 저장하는 단계; 각 시스템함수 별로 상기 메모리장치 내에서 저장된 주소를 나타내는 주소정보를 포함하는 시스템함수테이블에서, 상기 각 모니터링함수에 따른 모니터링의 수행 대상으로 확인되는 상기 각 시스템함수식별정보에 대응되는 각 시스템함수의 주소정보를 상기 주소이동함수가 저장된 상기 하나의 제1메모리영역에 어드레싱된 주소정보로 변경하는 단계; 상기 메모리접근모듈에서 상기 각 시스템함수 중 특정 시스템함수의 호출이 요청되는 경우, 상기 시스템함수테이블에서 확인되는 상기 특정 시스템함수의 변경된 주소정보를 기초로 상기 하나의 제1메모리영역에 접근하여 상기 주소이동함수를 호출하는 단계; 상기 메모리접근모듈에서 상기 주소이동함수에 의해 상기 특정 주소정보를 기초로 상기 특정 메모리영역에 접근되어 상기 핸들러게이트웨이함수를 호출하는 단계; 및 상기 메모리접근모듈에서 상기 핸들러게이트웨이함수에 의해 상기 다수의 제2메모리영역 중 상기 특정 시스템함수의 시스템함수식별정보에 매핑된 특정 모니터링함수가 저장된 제2메모리영역에 접근되어 상기 특정 모니터링함수를 호출하는 단계를 포함한다.According to a fourth aspect of the present invention, there is provided a system function monitoring method for a computer system, the method comprising the steps of: storing a plurality of memory areas in a memory area other than a memory area accessible by a memory access module, Storing each monitoring function mapped by each system function identification information in a memory area; An address for accessing a specific memory area in which a handler gateway function for relaying access to the plurality of second memory areas is stored in a first memory area in the partial memory area of the memory device according to the system function identification information, Storing a movement function; The system function table including address information indicating an address stored in the memory device for each system function, the address of each system function corresponding to each system function identification information identified as an object of monitoring according to each monitoring function Changing information to address information addressed to the one first memory area in which the address transfer function is stored; Wherein the memory access module accesses the one memory area based on the changed address information of the specific system function identified in the system function table when the memory access module requests to call a specific system function among the system functions, Calling a movement function; Accessing the specific memory area based on the specific address information by the address transfer function in the memory access module and calling the handler gateway function; And the memory access module accesses a second memory area in which a specific monitoring function mapped to the system function identification information of the specific system function is stored by the handler gateway function in the plurality of second memory areas to call the specific monitoring function .
본 발명의 실시예들은 메모리장치의 전체 주소범위에 대응하는 비트 수 즉 OS 환경 보다 작은 비트 수의 메모리영역 접근 방식을 지원하는 메모리접근모듈을 갖는 경우, 메모리장치의 전체 주소범위 중 접근(지정) 가능한 일부 주소범위 내에 접근(지정) 불가능한 나머지 주소범위의 원하는 주소로 이동시키기 위한 주소이동함수(예 : jumper 코드)를 저장함으로써 메모리장치의 전체 주소범위를 효과적으로 이용할 수 있고, 더 나아가 이를 기반으로 시스템함수 모니터링을 실현하여 64bit OS 환경에서도 32bit OS와 같이 커널모드에서 후킹이 가능해져 32bit OS와 동일한 수준의 보안 기능을 제공할 수 있다.Embodiments of the present invention provide a method of accessing a memory device having a memory access module that supports a memory area approach that supports a number of bits that is less than the number of bits corresponding to the total address range of the memory device, By storing an address transfer function (e.g., a jumper code) for moving to a desired address in the remaining address range that can not be specified within some possible address range, the entire address range of the memory device can be effectively utilized, Function monitoring enables hooking in kernel mode as in 32bit OS even in 64bit OS environment, so it can provide same level of security function as 32bit OS.
도 1은 x bit에서 상대주소 지정방식에 따라 접근 가능한 주소범위를 보여주는 예시도이다.
도 2는 본 발명의 바람직한 실시예에 따른 컴퓨터 시스템의 구성을 나타내는 블록도이다.
도 3은 본 발명의 바람직한 제1실시예에 따른 컴퓨터 시스템에서 주소 이동을 시스템함수 모니터링 방법에 적용하여 보여주는 블록도이다.
도 4는 본 발명의 바람직한 제2실시예에 따른 컴퓨터 시스템에서 주소 이동을 시스템함수 모니터링 방법에 적용하여 보여주는 블록도이다.
도 5는 본 발명의 바람직한 실시예에 따른 컴퓨터 시스템의 주소 이동 방법을 나타내는 동작 흐름도이다.
도 6은 본 발명의 바람직한 제1실시예에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법을 나타내는 동작 흐름도이다.
도 7은 본 발명의 바람직한 제2실시예에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법을 나타내는 동작 흐름도이다.FIG. 1 is an exemplary diagram showing address ranges accessible according to a relative addressing scheme at x bits.
2 is a block diagram illustrating a configuration of a computer system according to a preferred embodiment of the present invention.
FIG. 3 is a block diagram illustrating address movement in a computer system according to a first preferred embodiment of the present invention. Referring to FIG.
FIG. 4 is a block diagram illustrating address movement in a computer system according to a second preferred embodiment of the present invention. Referring to FIG.
5 is a flowchart illustrating an address moving method of a computer system according to a preferred embodiment of the present invention.
6 is a flowchart illustrating a method of monitoring a system function of a computer system according to a first embodiment of the present invention.
7 is a flowchart illustrating a method of monitoring a system function of a computer system according to a second preferred embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.
도 2는 본 발명의 바람직한 실시예에 따른 컴퓨터 시스템을 도시한 도면이다. 2 illustrates a computer system in accordance with a preferred embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명에 따른 컴퓨터 시스템은, 메모리장치(120)와, 메모리장치(120)의 전체 메모리영역 중 일부 메모리영역에 접근 가능한 메모리접근모듈(110)을 포함한다.1, a computer system according to the present invention includes a
여기서, 본 발명에 따른 컴퓨터 시스템에서 메모리장치(120)에는, 메모리접근모듈(110)에서 접근 가능한 상기 일부 메모리영역 내 적어도 하나의 제1메모리영역에, 상기 전체 메모리영역 중 상기 일부 메모리영역을 제외한 나머지 메모리영역 내 적어도 하나의 제2메모리영역으로 접근시키는 주소이동함수가 저장되어, 메모리접근모듈(110)에서 상기 적어도 하나의 제1메모리영역에 어드레싱된 주소정보를 기초로 상기 적어도 하나의 제1메모리영역에 접근하여 상기 주소이동함수를 호출하면, 상기 주소이동함수에 의해 상기 적어도 하나의 제2메모리영역으로 접근되도록 할 수 있다.Here, in the computer system according to the present invention, the
이하에서는 메모리장치(120)의 메모리영역에 주소정보가 어드레싱되는 것이 일반적이므로, 설명의 편의를 위해 함수가 저장된 메모리영역 및 함수가 저장된 주소를 혼용하고, 메모리영역의 범위 및 주소범위를 혼용하여 설명할 수도 있다.Hereinafter, it is common that address information is addressed in a memory area of the
예를 들어, OS 환경이 32bit 환경에서 64bit 환경으로 발전하면서 여전히 32bit 메모리영역 접근(어드레싱) 방식을 지원하는 메모리접근모듈을 채택하고 있는 경우의 컴퓨터 시스템은, 64bit 환경의 메모리장치(120)에서 제공하는 전체 메모리영역에 어드레싱되는 전체 주소범위 중 일부 메모리영역에 어드레싱되는 일부 주소범위 에 대해서만 접근할 수 밖에 없다. For example, a computer system in which a memory access module that supports a 32-bit memory area access (addressing) mode is adopted while an OS environment has evolved from a 32-bit environment to a 64-bit environment is provided in a
이처럼, 본 발명은 메모리장치(120)의 전체 주소범위에 대응하는 비트 수 즉 OS 환경 보다 작은 비트 수의 메모리영역 접근 방식을 지원하는 메모리접근모듈(110)을 갖는 컴퓨터 시스템에 적용하기 위한 것이다. As such, the present invention is intended to apply to a computer system having a
여기서, 메모리접근모듈(110)은, 메모리장치(120)의 전체 메모리영역 중 특정 메모리영역에 접근하기 위한 모듈로서, 예를 들면 메모리장치(120)에 저장된 시스템함수를 호출하기 위한 함수호출핸들러모듈(예 : KiSystemService() 함수), CPU, 프로그램 등 다양한 형태를 포함할 수 있다. Here, the
이하에서는 설명의 편의를 위해, 64bit 환경의 메모리장치(120) 및 32bit 메모리영역 접근 방식의 메모리접근모듈(110)을 언급하여 설명하도록 한다.Hereinafter, for convenience of description, the
전술한 바와 같이, 본 발명의 컴퓨터 시스템에 따른 메모리장치(120)에는, 메모리접근모듈(110)에서 접근 가능한 일부 메모리영역 내 적어도 하나의 제1메모리영역에, 상기 전체 메모리영역 중 상기 일부 메모리영역을 제외한 나머지 메모리영역 내 적어도 하나의 제2메모리영역으로 접근시키는 주소이동함수가 저장된다.As described above, in the
다시 말해, 메모리장치(120)에는, 메모리접근모듈(110)에서 접근 가능한 일부 메모리영역에 어드레싱되는 일부 주소범위 내의 적어도 하나의 제1주소에, 메모리장치(120)의 전체 메모리영역에 어드레싱되는 전체 주소범위 중 나머지 메모리영역에 어드레싱되는 나머지 주소범위 내 적어도 하나의 제2주소로 접근시키는 주소이동함수가 저장될 수 있다.In other words, the
이때, 주소이동함수는, 특정 제2주소의 주소정보를 포함하여, 주소이동함수가 호출되는 경우 포함된 특정 제2주소의 주소정보를 기초로 특정 제2주소로 접근시키는 함수로써, 예컨대 jumper코드를 포함할 수 있다.At this time, the address transfer function includes address information of a specific second address and accesses a specific second address based on address information of a specific second address when the address transfer function is called. For example, . ≪ / RTI >
그리고, 메모리접근모듈(110)은, 메모리장치(120)의 전체 메모리영역에 대응되는 bit(bit) 수 보다 작은bit 수를 기초로 하며 상기 일부 메모리영역 내 각 메모리영역에 접근하기 위한 주소정보를 저장하는 것이 바람직하다.The
이때, 전술한 바와 같이 메모리접근모듈(110)이 32bit 메모리영역 접근 방식을 지원한다면, 메모리접근모듈(110)에 저장된 주소정보들은, 개의 주소에 접근하기 위해 32bit를 기초로 하는 구조를 가질 것이다.At this time, if the
이러한 메모리접근모듈(110)은, 저장된 주소정보를 기초로 상대주소 접근방식에 따라 메모리장치(120)의 일부 메모리영역 내 각 메모리영역에 접근하는 것이 바람직하다. 이에, 메모리접근모듈(110)은, 메모리장치(120)의 전체 주소범위 중 상대주소 지정방식에 따라 일부 주소범위 내의 주소에만 접근(지정)이 가능하였다.The
하지만, 본 발명에 따르면, 메모리장치(120)의 전체 메모리영역 중 메모리접근모듈(110)이 접근 가능한 제1메모리영역에 접근 불가능한 제2메모리영역으로 이동시키기 위한 주소이동함수를 저장함으로써, 메모리접근모듈(110)은, 접근 가능한 제1메모리영역에 어드레싱된 주소정보를 기초로 제1메모리영역에 접근하여 주소이동함수를 호출하게 되면, 주소이동함수가 제2메모리영역으로 이동(redirection)시켜, 주소이동함수에 의해 접근 불가능한 제2메모리영역에 접근하는 결과를 얻을 수 있다. However, according to the present invention, among the entire memory areas of the
다시 말해, 즉, 본 발명에 따르면, 접근(지정) 가능한 일부 주소범위 내에 접근(지정) 불가능한 나머지 주소범위로 이동시키기 위한 주소이동함수를 저장함으로써, 메모리접근모듈(110)은, 메모리장치(120)의 전체 주소범위 중 접근(지정) 가능한 일부 주소범위 내의 제1주소에 접근함으로써 주소이동함수를 호출하게 되면, 주소이동함수가 특정 제2주소로 이동(redirection)시켜, 주소이동함수에 의해 접근(지정) 불가능한 나머지 주소범위 내의 제2주소로 접근하는 결과를 얻을 수 있다. In other words, in other words, according to the present invention, The
따라서, 본 발명의 컴퓨터 시스템에 따르면, 메모리장치(120)의 전체 주소범위에 대응하는 비트 수 즉 OS 환경 보다 작은 비트 수의 메모리영역 접근 방식을 지원하는 메모리접근모듈(110)을 갖는 경우, 메모리장치(120)의 전체 주소범위 중 접근(지정) 가능한 일부 주소범위 내에 접근(지정) 불가능한 나머지 주소범위로 이동시키기 위한 주소이동함수를 저장함으로써 메모리장치(120)의 전체 주소범위를 효과적으로 이용할 수 있다.Thus, according to the computer system of the present invention, if the
이하에서는 도 3을 참조하여 본 발명의 컴퓨터 시스템에서 전술한 바와 같이 접근(지정) 불가능한 주소로의 이동(redirection)을 시스템함수 모니터링 방법에 적용하는 제1실시예를 설명하도록 한다.Hereinafter, with reference to FIG. 3, a first embodiment in which redirection to an address that can not be specified (accessible) as described above in the computer system of the present invention is applied to the system function monitoring method will be described.
먼저, 시스템함수 모니터링 방법을 간략하게 설명하도록 한다.First, the system function monitoring method will be briefly described.
시스템함수들은, 운영체제가 하드웨어 자원을 효율적으로 관리하고 응용 프로그램들이 쉽고 안전하게 하드웨어 자원을 사용할 수 있도록 하기 위한 목적을 갖는 함수이다. 그러나 악의 있는 프로그램은 이러한 시스템함수를 악용할 수 있는 문제점을 갖는다.System functions are functions whose purpose is to enable the operating system to efficiently manage hardware resources and to enable application programs to use hardware resources easily and securely. However, malicious programs have the problem of exploiting these system functions.
운영체제 위에서 실행되는 모든 프로세스들을 완전히 신뢰할 수 없는 상황에서는, 운영체제가 제공하는 시스템함수를 감시(monitoring)하는 것이 필수적이다. 예를 들어 메모리 읽기 관련 함수를 불법적인 방법을 통해 임의의 프로세스 A가 사용한다면 다른 프로세스의 메모리 영역을 읽을 수 있다. 따라서 불법적으로 시스템함수를 호출하는 경우에 이 호출을 막는 기능이 필요하며 이를 위해서는 우선 어떤 프로세스가 어떤 시스템함수를 호출하고자 하는 지, 어떤 시스템함수가 호출되는 횟수 등을 모니터링하는 것이 선행되어야 한다.In situations where you can not completely trust all the processes running on the operating system, it is essential to monitor the system functions provided by the operating system. For example, if an arbitrary process A uses an illegal method to read a memory-related function, it can read the memory area of another process. Therefore, it is necessary to prevent illegal calling of a system function. To do this, it is necessary to monitor a certain system function to be called and the number of times a system function is called.
이에, 시스템함수 모니터링 방법은, 시스템함수테이블에 저장된 시스템함수의 주소를 모니터링함수의 주소로 교체하고, 시스템함수는 모니터링함수에서 호출하도록 하는 후킹 방식을 이용하고 있다. Thus, the system function monitoring method uses a hooking method in which the address of the system function stored in the system function table is replaced with the address of the monitoring function, and the system function is called from the monitoring function.
이러한 시스템함수 모니터링 방법을 본 발명의 컴퓨터 시스템에서 적용하는 구체적인 구성을 설명하면 다음과 같다.A concrete configuration of applying the system function monitoring method to the computer system of the present invention will be described as follows.
메모리접근모듈(110)은, 시스템함수테이블(115)를 포함하며, 특정 시스템함수의 호출이 요청되는 경우 시스템함수테이블(115)에서 확인되는 상기 특정 시스템함수의 주소정보를 기초로 상기 특정 시스템함수가 저장된 메모리영역에 접근하여 상기 특정 시스템함수를 호출할 수 있다.The
여기서, 시스템함수테이블(115)은, 각 시스템함수 별로 메모리장치(120)에서 저장된 메모리영역에 어드레싱된 주소정보를 포함한다. 보다 구체적으로, 시스템함수테이블(115)은, 메모리장치(120) 내에서 저장된 각 시스템함수에 대응하여, 시스템함수식별정보(예 : 함수인덱스) 및 메모리장치(120) 내에서 저장된 주소정보를 저장하고 있는 것이 바람직하다. Here, the system function table 115 includes address information addressed to a memory area stored in the
이에, 메모리접근모듈(110)은, 예를 들어 시스템함수(func1)의 호출이 요청되는 경우, 시스템함수테이블(115)을 기초로 시스템함수(func1)의 주소정보를 기초로 시스템함수1이 저장된 메모리영역에 접근하여 시스템함수1을 호출할 수 있다. 이러한 메모리접근모듈(110)은, 함수호출핸들러모듈인 것이 바람직하다.The
그리고 본 발명에 따른 컴퓨터 시스템(100)은, 시스템함수 모니터링 수행을 제어하는 모니터링제어모듈(130)을 더 포함할 수 있다.The
모니터링제어모듈(130)은, 메모리장치(120)의 상기 적어도 하나의 제1메모리영역에, 특정 모니터링을 수행하는 모니터링함수가 저장된 상기 적어도 하나의 제2메모리영역에 어드레싱된 주소정보를 포함하는 상기 주소이동함수를 저장한다.The
예컨대, 모니터링제어모듈(130)은, 메모리장치(120)의 전체 메모리영역 중 메모리접근모듈(110)에서 접근 불가능한 제2메모리영역에 모니터링함수1을 저장한다.For example, the
그리고, 모니터링제어모듈(130)은, 메모리장치(120)의 전체 메모리영역 중 메모리접근모듈(110)에서 접근 가능한 제1메모리영역에, 모니터링함수1이 저장된 제2메모리영역에 어드레싱된 주소정보를 포함하는 주소이동함수(jumper)를 저장할 수 있다. The
즉, 메모리장치(120)에는, 메모리접근모듈(110)에서 접근 가능한 일부 주소범위 내의 제1주소에, 특정 모니터링을 수행하는 모니터링함수1이 저장된 제2주소로 접근시키는 주소이동함수가 저장되는 것이다.That is, the
그리고, 모니터링제어모듈(130)은, 시스템함수테이블(115)에서, 상기 특정 모니터링의 수행 대상으로 확인되는 상기 특정 시스템함수의 주소정보를 상기 주소이동함수가 저장된 상기 적어도 하나의 제1메모리영역에 어드레싱된 주소정보로 변경한다.In addition, the
예컨대, 모니터링제어모듈(130)은, 모니터링함수1에 의한 모니터링 수행 대상이 시스템함수(func1)라고 하면, 시스템함수테이블(115)에서, 시스템함수(func1)의 주소정보를 주소이동함수(jumper)이 어드레싱된 주소정보로 변경할 수 있다. 예를 들면, 모니터링제어모듈(130)은, 시스템함수테이블(115)에서 시스템함수(func1)의 시스템함수식별정보(예 : 함수인덱스) 및 주소정보 위에, 시스템함수(func1)의 시스템함수식별정보(예 : 함수인덱스) 및 제1주소의 주소정보를 포함한 Myfunc1함수를 덮어씌워, 주소정보를 변경할 수 있을 것이다. For example, if the monitoring function to be monitored by the monitoring function 1 is a system function (func1), the
이에, 메모리접근모듈(110)은, 시스템함수(func1) 호출이 요청되는 경우, 시스템함수테이블(115)을 기초로 시스템함수(func1)의 변경된 주소정보를 기초로 제1메모리영역에 접근하여 주소이동함수(jumper)를 호출하고, 주소이동함수(jumper)에 의해 제2메모리영역에 어드레싱된 주소정보를 기초로 제2메모리영역에 접근되어 저장된 모니터링함수1을 호출할 수 있다. The
즉, 메모리접근모듈(110)은, 모니터링함수1의 모니터링 대상인 시스템함수(func1) 호출이 요청되는 경우, 시스템함수테이블(115)을 기초로 시스템함수(func1)의 변경된 주소정보에 따른 제1주소에 접근하여 주소이동함수를 호출하게 되고, 주소이동함수가 모니터링함수1이 저장된 제2주소로 이동(redirection)시켜, 주소이동함수에 의해 접근(지정) 불가능한 나머지 주소범위 내의 제2주소로 접근하는 결과를 얻게 되어 모니터링함수1을 호출할 수 있다.That is, when a call to the system function (func1), which is the monitoring target of the monitoring function 1, is requested, the
이에, 모니터링함수1은, 자신에 설정된 모니터링 기능(예 : 시스템함수(func1)을 호출 요청한 프로세스 정보 기록, 시스템함수(func1)이 호출된 횟수 기록 등)을 기존과 같이 수행하게 되고, 이후 원래의 시스템함수1을 호출하도록 한다.The monitoring function 1 performs the monitoring function set in the monitoring function 1 (for example, recording the process information requested to call the system function func1, recording the number of times the system function func1 is called, etc.) Call system function 1.
따라서, 본 발명의 컴퓨터 시스템은, 메모리장치(120)의 전체 주소범위 중 메모리접근모듈(110)이 접근(지정) 불가능한 주소범위에 모니터링함수들을 저장하고 접근(지정) 가능한 일부 주소범위 내에 모니터링함수가 저장된 주소로 이동시키기 위한 주소이동함수를 저장함으로써, 메모리장치(120)의 전체 주소범위를 효과적으로 이용하여 후킹 방식을 통한 시스템함수 모니터링을 실현할 수 있도록 한다. Thus, the computer system of the present invention is capable of storing the entire address range
헌데, 전술과 같이 도 3을 참조하여 설명한 본 발명의 컴퓨터 시스템에서 적용하는 시스템함수 모니터링은, 모니터링함수 각각에 대한 주소이동함수가 요구되어, 모니터링함수의 개수가 100개이면 주소이동함수가 100개의 주소에 각각 저장되어야 하기 때문에 메모리자원의 비효율적 운영이 우려된다. As described above, system function monitoring applied in the computer system of the present invention described above with reference to FIG. 3 requires an address movement function for each monitoring function, and if the number of monitoring functions is 100, Address, respectively, so that the inefficient operation of memory resources is a concern.
이에, 이하에서는 도 4를 참조하여 주소이동함수의 저장 주소 증가로 인한 메모리자원의 비효율적 운영 우려를 개선할 수 있는 제2실시예를 설명하도록 한다.Hereinafter, referring to FIG. 4, a description will be made of a second embodiment for improving the inefficient operation concern of memory resources due to the increase of the address of the address transfer function.
모니터링제어모듈(130)은, 메모리장치(120)의 전체 메모리영역 중 메모리접근모듈(110)에서 접근 가능한 하나의 제1메모리영역에, 각 시스템함수식별정보에 매핑된 각 모니터링함수가 저장된 다수의 제2메모리영역에 대하여 접근을 중계하는 핸들러게이트웨이함수가 저장된 특정 메모리영역에 어드레싱된 특정 주소정보를 포함하는 상기 주소이동함수를 저장한다.The
이때, 핸들러게이트웨이함수가 저장된 특정 메모리영역의 특정 주소는, 전술의 제2주소와 동일한 의미의 주소로서, 메모리장치(120)의 전체 메모리영역 중 메모리접근모듈(110)에서 접근 불가능한 나머지 메모리영역에 어드레싱되는 주소, 즉 메모리장치(120)의 전체 주소범위 중 메모리접근모듈(110)에서 접근 불가능한 나머지 주소범위 내의 주소인 것이 바람직하다.At this time, the specific address of the specific memory area in which the handler gateway function is stored is an address having the same meaning as the above-mentioned second address, and is stored in the remaining memory area which is inaccessible from the
예컨대, 모니터링제어모듈(130)은, 메모리장치(120)의 전체 메모리영역 중 메모리접근모듈(110)에서 접근 불가능한 다수의 제2메모리영역에 각 모니터링함수1 및 모니터링함수2를 저장한다.For example, the
그리고, 모니터링제어모듈(130)은, 메모리장치(120)의 전체 메모리영역 중 메모리접근모듈(110)에서 접근 불가능한 특정 메모리영역(제2메모리영역과 동일한 의미의 영역)에, 핸들러게이트웨이함수를 저장할 수 있다.The
그리고, 모니터링제어모듈(130)은, 메모리장치(120)의 전체 메모리영역 중 메모리접근모듈(110)에서 접근 가능한 하나의 제1메모리영역에, 핸들러게이트웨이함수가 저장된 특정 메모리영역에 어드레싱된 특정 주소정보를 포함하는 주소이동함수(jumper)를 저장할 수 있다.The
이 후 모니터링제어모듈(130)은, 시스템함수테이블(115)에서, 상기 각 모니터링함수에 따른 모니터링의 수행 대상으로 확인되는 상기 각 시스템함수식별정보에 대응되는 각 시스템함수의 주소정보를 상기 주소이동함수가 저장된 상기 하나의 제1메모리영역에 어드레싱된 주소정보로 변경한다. The
예컨대, 모니터링제어모듈(130)은, 모니터링함수1에 의한 모니터링 수행 대상이 시스템함수(func1), 모니터링함수2에 의한 모니터링 수행 대상이 시스템함수(func2)라고 하면, 시스템함수테이블(115)에서, 시스템함수(func1)의 주소정보 및 시스템함수(func2)의 주소정보를 주소이동함수(jumper)이 어드레싱된 주소정보로 변경할 수 있다.For example, the
이에, 메모리접근모듈(110)은, 시스템함수(func1) 호출이 요청되는 경우, 시스템함수테이블(115)에서 확인되는 시스템함수(func1)의 변경된 주소정보를 기초로 하나의 제1메모리영역에 접근하여 주소이동함수(jumper)를 호출하고, 주소이동함수(jumper)에 의해 상기 특정 주소정보를 기초로 상기 특정 메모리영역에 접근되어 핸들러게이트웨이함수를 호출하고, 핸들러게이트웨이함수에 의해 다수의 제2메모리영역 중 시스템함수(func1)의 시스템함수식별정보에 매핑된 모니터링함수1가 저장된 제2메모리영역에 접근되어 모니터링함수1를 호출할 수 있다.The
물론, 메모리접근모듈(110)은, 시스템함수(func2) 호출이 요청되는 경우, 시스템함수테이블(115)에서 확인되는 시스템함수(func1)의 변경된 주소정보를 기초로 하나의 제1메모리영역에 접근하여 주소이동함수(jumper)를 호출하고, 주소이동함수(jumper)에 의해 상기 특정 주소정보를 기초로 상기 특정 메모리영역에 접근되어 핸들러게이트웨이함수를 호출하고, 핸들러게이트웨이함수에 의해 다수의 제2메모리영역 중 시스템함수(func2)의 시스템함수식별정보에 매핑된 모니터링함수2가 저장된 제2메모리영역에 접근되어 모니터링함수2를 호출할 수 있다.Of course, the
즉, 메모리접근모듈(110)은, 시스템함수(func1)가 호출되든 또는 시스템함수(func2)가 호출되든, 시스템함수테이블(115)을 기초로 동일한 하나의 제1주소에 접근하여 주소이동함수를 호출하게 되고, 주소이동함수가 핸들러게이트웨이함수가 저장된 특정 주소로 이동(redirection)시켜, 주소이동함수에 의해 접근(지정) 불가능한 나머지 주소범위 내의 특정 주소로 접근하는 결과를 얻게 되어 핸들러게이트웨이함수를 호출하게 된고, 핸들러게이트웨이함수에 의해 해당되는 모니터링함수1 또는 모니터링함수2를 호출할 수 있게 된다. That is, the
이에, 모니터링함수1은, 자신에 설정된 모니터링 기능을 기존과 같이 수행하게 되고 이후 원래의 시스템함수1을 호출하도록 하고, 모니터링함수2는, 자신에 설정된 모니터링 기능을 기존과 같이 수행하게 되고 이후 원래의 시스템함수2를 호출하도록 한다.Therefore, the monitoring function 1 performs the monitoring function set in itself, and then calls the original system function 1. Thereafter, the monitoring function 2 performs the monitoring function set in itself as it is, Call system function 2.
따라서, 본 발명의 컴퓨터 시스템은, 메모리장치(120)의 전체 주소범위 중 메모리접근모듈(110)이 접근(지정) 불가능한 주소범위에 모니터링함수들을 저장하고 각 모니터링함수로 중계하는 핸들러게이트웨이함수를 저장하며, 접근(지정) 가능한 일부 주소범위 내에 핸들러게이트웨이함수가 저장된 주소로 이동시키기 위한 주소이동함수 1개를 저장함으로써, 메모리장치(120)의 전체 주소범위를 효과적으로 이용하여 후킹 방식을 통한 시스템함수 모니터링을 실현할 수 있도록 한다.Thus, the computer system of the present invention is capable of storing the entire address range The
이상에서 설명한 바와 같이 본 발명에 따르면, 메모리장치(120)의 전체 주소범위에 대응하는 비트 수 즉 OS 환경 보다 작은 비트 수의 메모리영역 접근 방식을 지원하는 메모리접근모듈(110)을 갖는 경우, 메모리장치(120)의 전체 주소범위 중 접근(지정) 가능한 일부 주소범위 내에 접근(지정) 불가능한 나머지 주소범위로 이동시키기 위한 주소이동함수를 저장함으로써 메모리장치(120)의 전체 주소범위를 효과적으로 이용할 수 있고, 이를 기반으로 시스템함수 모니터링을 실현하여 64bit OS 환경에서도 32bit OS와 같이 커널모드에서 후킹이 가능해져 32bit OS와 동일한 수준의 보안 기능을 제공할 수 있다.As described above, according to the present invention, when the
이하에서는, 도 5 내지 도7을 참조하여 본 발명에 따른 컴퓨터 시스템의 주소 이동 방법 및 시스템함수 모니터링 방법을 설명하도록 한다. 여기서, 설명의 편의를 위해 전술한 도 1 내지 도 4에 도시된 구성은 해당 참조번호를 언급하여 설명하겠다. Hereinafter, an address moving method and a system function monitoring method of a computer system according to the present invention will be described with reference to FIG. 5 to FIG. Here, for convenience of description, the configurations shown in FIGS. 1 to 4 will be described with reference to corresponding reference numerals.
먼저, 도 5를 참조하여 본 발명의 바람직한 실시예에 따른 컴퓨터 시스템의 주소 이동 방법을 설명하도록 한다.First, referring to FIG. 5, a method of moving an address of a computer system according to a preferred embodiment of the present invention will be described.
본 발명에 따른 컴퓨터 시스템의 주소 이동 방법은, 메모리장치(120)의 전체 메모리영역 중 메모리접근모듈(110)에서 접근 가능한 일부 메모리영역 내 적어도 하나의 제1메모리영역에, 상기 전체 메모리영역 중 상기 일부 메모리영역을 제외한 나머지 메모리영역 내 적어도 하나의 제2메모리영역으로 접근시키는 주소이동함수가 저장된다.The method for moving an address of a computer system according to the present invention is a method for moving an address in at least one first memory area within a partial memory area accessible from a
즉, 본 발명에 따른 컴퓨터 시스템의 주소 이동 방법은, 메모리장치(120)의 전체 주소범위 중 메모리접근모듈(110)에서 접근 가능한 일부 주소범위 내의 적어도 하나의 제1주소에, 메모리장치(120)의 전체 주소범위 중 상기 일부 주소범위를 제외한 나머지 주소범위 내 적어도 하나의 제2주소로 접근시키는 주소이동함수를 저장한다(S10).That is, a method for moving an address of a computer system according to the present invention includes: Some address ranges accessible from the
이에, 본 발명에 따른 컴퓨터 시스템의 주소 이동 방법은, 메모리접근모듈(110)에서 접근 가능한 제1메모리영역에 어드레싱된 주소정보를 기초로 제1메모리영역에 접근하여 주소이동함수를 호출하게 되면, 주소이동함수가 제2메모리영역으로 이동(redirection)시켜, 주소이동함수에 의해 접근 불가능한 제2메모리영역에 접근하는 결과를 얻을 수 있다.If the address transfer function is accessed by accessing the first memory area based on the address information addressed to the first memory area accessible by the
즉, 본 발명에 따른 컴퓨터 시스템의 주소 이동 방법은, 메모리접근모듈(110)에서 메모리장치(120)의 전체 주소범위 중 접근(지정) 가능한 일부 주소범위 내의 제1주소에 접근하면(S20), 제1주소에 저장된 주소이동함수를 호출하게 되고, 주소이동함수가 특정 제2주소로 이동(redirection)시켜, 주소이동함수에 의해 접근(지정) 불가능한 나머지 주소범위 내의 제2주소로 접근하는 결과를 얻을 수 있다(S30).That is, a method for moving an address of a computer system according to the present invention is a method for moving an address range of a
이하에서는 도 6을 참조하여 본 발명의 제1실시예에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법을 설명하도록 한다.Hereinafter, a system function monitoring method of a computer system according to a first embodiment of the present invention will be described with reference to FIG.
본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 메모리장치(120)의 전체 메모리영역 중 메모리접근모듈(110)에서 접근 불가능한 제2메모리영역에 특정 모니터링을 수행하는 모니터링함수1을 저장한다.The method of monitoring a system function of a computer system according to the present invention stores a monitoring function 1 for performing a specific monitoring on a second memory area that is inaccessible from the
즉, 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 메모리장치(120)에서 전체 주소범위 중 메모리접근모듈(110)에 의해 접근 가능한 일부 주소범위를 제외한 나머지 주소범위 내 적어도 하나의 제2주소에 특정 모니터링을 수행하는 모니터링함수를 저장한다(S100).That is, a method of monitoring system functions of a computer system according to the present invention includes: Lt; RTI ID = 0.0 > 110 < / RTI > A monitoring function for performing a specific monitoring on at least one second address within the remaining address range excluding the first address (S100).
그리고, 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 메모리장치(120)의 전체 메모리영역 중 메모리접근모듈(110)에서 접근 가능한 제1메모리영역에, 모니터링함수1이 저장된 제2메모리영역에 어드레싱된 주소정보를 포함하는 주소이동함수(jumper)를 저장할 수 있다.The system function monitoring method of a computer system according to the present invention further includes a step of storing a monitoring function 1 in a first memory area accessible from the
즉, 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 메모리접근모듈(110)에서 접근 가능한 일부 주소범위 내의 적어도 하나의 제1주소에, 특정 모니터링을 수행하는 모니터링함수가 저장된 적어도 하나의 제2주소로 접근시키는 주소이동함수를 저장한다(S110).That is, a method of monitoring a system function of a computer system according to the present invention includes: (S110). The address transfer function accesses the at least one first address in the at least one first address in the at least one second address.
이에, 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 시스템함수테이블(115)에서, 시스템함수(func1)의 주소정보를 주소이동함수(jumper)이 어드레싱된 주소정보로 변경할 수 있다. Accordingly, in the system function monitoring method of the computer system according to the present invention, in the system function table 115, the address information of the system function func1 can be changed to the address information addressed by the address jumper function.
즉, 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 시스템함수(func1)에 대한 특정 모니터링을 수행하기 위해, 시스템함수테이블(115)에서 시스템함수(func1)의 주소정보를 주소이동함수가 저장된 제1주소의 주소정보로 변경하게 된다.That is, in order to perform specific monitoring of the system function func1, the method of monitoring the system function of the computer system according to the present invention is a method in which the address information of the system function func1 is stored in the system function table 115, The address information of the first address is changed.
이에, 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 시스템함수(func1) 호출이 요청되는 경우, 시스템함수테이블(115)을 기초로 시스템함수(func1)의 변경된 주소정보를 기초로 제1메모리영역에 접근하여 주소이동함수(jumper)를 호출하고, 주소이동함수(jumper)에 의해 제2메모리영역에 어드레싱된 주소정보를 기초로 제2메모리영역에 접근되어 저장된 모니터링함수1을 호출할 수 있다.The method for monitoring a system function of a computer system according to the present invention is characterized in that when a system function (func1) call is requested, on the basis of the changed address information of the system function (func1) Area to access a second memory area based on the address information addressed to the second memory area by an address movement function (jumper) to call the stored monitoring function 1 .
즉, 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 시스템함수(func1) 호출이 요청되는 경우, 시스템함수테이블(115)을 기초로 시스템함수(func1)의 변경된 주소정보에 따른 제1주소에 접근하여 주소이동함수를 호출하게 된다(S130).That is, in the system function monitoring method of the computer system according to the present invention, when a system function (func1) call is requested, the system function (func1) is notified to the first address based on the changed address information of the system function And then calls the address transfer function (S130).
본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 주소이동함수가 모니터링함수1이 저장된 제2주소로 이동(redirection)시켜, 주소이동함수에 의해 접근(지정) 불가능한 나머지 주소범위 내의 제2주소로 접근하는 결과를 얻게 되어(S140), 모니터링함수1을 호출할 수 있다(S150).The system function monitoring method according to the present invention is a method for monitoring a system function of a computer system by redirecting an address movement function to a second address where a monitoring function 1 is stored to obtain a second address in a remaining address range The result of accessing is obtained (S140), and the monitoring function 1 can be called (S150).
이에, 모니터링함수1은, 자신에 설정된 모니터링 기능(예 : 시스템함수(func1)을 호출 요청한 프로세스 정보 기록, 시스템함수(func1)이 호출된 횟수 기록 등)을 기존과 같이 수행하게 되고, 이후 원래의 시스템함수1을 호출하도록 한다.The monitoring function 1 performs the monitoring function set in the monitoring function 1 (for example, recording the process information requested to call the system function func1, recording the number of times the system function func1 is called, etc.) Call system function 1.
이하에서는 도 7을 참조하여 본 발명의 제2실시예에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법을 설명하도록 한다.Hereinafter, a system function monitoring method of a computer system according to a second embodiment of the present invention will be described with reference to FIG.
본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 메모리장치(120)의 전체 메모리영역 중 메모리접근모듈(110)에서 접근 불가능한 다수의 제2메모리영역에 각 모니터링함수 예컨대 모니터링함수1 및 모니터링함수2를 저장한다.The method of monitoring a system function of a computer system according to the present invention is a method of monitoring a system function of a computer system including a plurality of monitoring functions such as a monitoring function 1 and a monitoring function 2 / RTI >
즉, 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 메모리장치(120)에서 전체 주소범위 중 메모리접근모듈(110)에 의해 접근 가능한 일부 주소범위를 제외한 나머지 주소범위 내 적어도 하나의 제2주소에 특정 모니터링을 수행하는 각 모니터링함수1,2를 저장한다(S200). That is, a method of monitoring system functions of a computer system according to the present invention includes: Lt; RTI ID = 0.0 > 110 < / RTI > The monitoring functions 1 and 2 for performing specific monitoring on at least one second address within the remaining address range except for the first address are stored (S200).
그리고, 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 메모리장치(120)의 전체 메모리영역 중 메모리접근모듈(110)에서 접근 불가능한 특정 메모리영역(제2메모리영역과 동일한 의미의 영역)에, 핸들러게이트웨이함수를 저장할 수 있다.The method of monitoring a system function of a computer system according to the present invention is a method for monitoring a system function of a computer system in which a specific memory area (an area having the same meaning as the second memory area) Handler can store gateway functions.
이에, 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 메모리장치(120)의 전체 메모리영역 중 메모리접근모듈(110)에서 접근 가능한 하나의 제1메모리영역에, 핸들러게이트웨이함수가 저장된 특정 메모리영역에 어드레싱된 특정 주소정보를 포함하는 주소이동함수(jumper)를 저장할 수 있다.A method for monitoring a system function of a computer system according to the present invention is a method for monitoring a system function of a computer system in which a memory area of a
즉 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 메모리접근모듈(110)에서 접근 가능한 일부 주소범위 내의 제1주소에, 시스템함수식별정보 별로 매핑된 각 모니터링함수가 저장된 다수의 제2주소에 대하여 접근을 중계하는 핸들러게이트웨이함수가 저장된 특정 주소로 접근시키는 주소이동함수를 저장한다(S210).In other words, the system function monitoring method of a computer system according to the present invention is characterized in that some address ranges accessible from the
그리고 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 시스템함수테이블(115)에서, 상기 각 모니터링함수에 따른 모니터링의 수행 대상으로 확인되는 상기 각 시스템함수식별정보에 대응되는 각 시스템함수의 주소정보를 상기 주소이동함수가 저장된 상기 하나의 제1메모리영역에 어드레싱된 주소정보로 변경한다.The method of monitoring a system function of a computer system according to the present invention is characterized in that in the system function table 115, address information of each system function corresponding to each system function identification information identified as a target of monitoring according to each monitoring function Into address information addressed to the one first memory area in which the address transfer function is stored.
예컨대, 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 모니터링함수1에 의한 모니터링 수행 대상이 시스템함수(func1), 모니터링함수2에 의한 모니터링 수행 대상이 시스템함수(func2)라고 하면, 시스템함수테이블(115)에서, 시스템함수(func1)의 주소정보 및 시스템함수(func2)의 주소정보를 주소이동함수(jumper)이 어드레싱된 주소정보로 변경할 수 있다.For example, in the system function monitoring method of the computer system according to the present invention, when the object to be monitored by the monitoring function 1 is the system function func1 and the object of monitoring by the monitoring function 2 is the system function func2, The address information of the system function func1 and the address information of the system function func2 may be changed to address information in which the address movement function jumper is addressed.
즉, 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 시스템함수(func1) 및 시스템함수(func2)에 대한 특정 모니터링을 수행하기 위해, 시스템함수테이블(115)에서 시스템함수(func1) 및 시스템함수(func2)의 주소정보를 주소이동함수가 저장된 제1주소의 주소정보로 변경하게 된다(S220).That is, the method of monitoring a system function of a computer system according to the present invention is characterized in that, in order to perform specific monitoring on the system function func1 and the system function func2, the address information of the first address (func2) is changed to the address information of the first address in which the address transfer function is stored (S220).
이에, 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 시스템함수(func1) 호출이 요청되는 경우, 시스템함수테이블(115)에서 확인되는 시스템함수(func1)의 변경된 주소정보를 기초로 하나의 제1메모리영역에 접근하여 주소이동함수(jumper)를 호출하고, 주소이동함수(jumper)에 의해 상기 특정 주소정보를 기초로 상기 특정 메모리영역에 접근되어 핸들러게이트웨이함수를 호출하고, 핸들러게이트웨이함수에 의해 다수의 제2메모리영역 중 시스템함수(func1)의 시스템함수식별정보에 매핑된 모니터링함수1가 저장된 제2메모리영역에 접근되어 모니터링함수1를 호출할 수 있다.The method of monitoring a system function of a computer system according to the present invention is characterized in that when a system function (func1) call is requested, the system function (func1) 1 memory area, calls an address movement function (jumper), accesses the specific memory area based on the specific address information by an address movement function (jumper), calls a handler gateway function, The second memory area in which the monitoring function 1 mapped to the system function identification information of the system function func1 among the plurality of second memory areas is accessed can call the monitoring function 1. [
즉, 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 시스템함수(func1) 호출이 요청되는 경우, 시스템함수테이블(115)을 기초로 시스템함수(func1)의 변경된 주소정보에 따른 제1주소에 접근하여 주소이동함수를 호출하게 된다(S230).That is, in the system function monitoring method of the computer system according to the present invention, when a system function (func1) call is requested, the system function (func1) is notified to the first address based on the changed address information of the system function And the address transfer function is called (S230).
이에, 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 주소이동함수가 핸들러게이트웨이함수가 저장된 특정 주소로 이동(redirection)시켜, 주소이동함수에 의해 접근(지정) 불가능한 나머지 주소범위 내의 특정 주소로 접근하는 결과를 얻게 되어 핸들러게이트웨이함수를 호출하게 되고(S240), 핸들러게이트웨이함수에 의해 시스템함수(func1)의 시스템함수식별정보에 매핑된 제2주소에 접근되어(S250), 저장된 모니터링함수1을 호출할 수 있다(S260). 이에, 모니터링함수1은, 자신에 설정된 모니터링 기능을 기존과 같이 수행하게 되고 이후 원래의 시스템함수1을 호출하도록 한다.The system function monitoring method of a computer system according to the present invention is characterized in that the address movement function redirects to a specific address stored in the handler gateway function so that a specific address within the remaining address range which can not be accessed The handler gateway function is called at step S240 and the second address mapped to the system function identification information of the system function func1 is accessed by the handler gateway function at step S250. (S260). Therefore, the monitoring function 1 performs the monitoring function set in itself, and then calls the original system function 1.
한편, 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 시스템함수(func2) 호출이 요청되는 경우, 전술의 SS230~S260단계에서, 시스템함수테이블(115)에서 확인되는 시스템함수(func1)의 변경된 주소정보를 기초로 하나의 제1메모리영역에 접근하여 주소이동함수(jumper)를 호출하고, 주소이동함수(jumper)에 의해 상기 특정 주소정보를 기초로 상기 특정 메모리영역에 접근되어 핸들러게이트웨이함수를 호출하고, 핸들러게이트웨이함수에 의해 다수의 제2메모리영역 중 시스템함수(func2)의 시스템함수식별정보에 매핑된 모니터링함수2가 저장된 제2메모리영역에 접근되어 모니터링함수2를 호출할 수 있다.In the meantime, when the system function (func2) call is requested, the method of monitoring the system function of the computer system according to the present invention further includes the step of changing the system function func1 checked in the system function table 115 Accesses a first memory area based on address information to call an address movement function and accesses the specific memory area based on the specific address information by an address movement function, And the second memory area in which the monitoring function 2 mapped to the system function identification information of the system function func2 among the plurality of second memory areas is accessed by the handler gateway function is called to call the monitoring function 2. [
즉, 본 발명에 따른 컴퓨터 시스템의 시스템함수 모니터링 방법은, 시스템함수(func1)가 호출되든 또는 시스템함수(func2)가 호출되든, 시스템함수테이블(115)을 기초로 동일한 하나의 제1주소에 접근하여 주소이동함수를 호출하게 되고, 주소이동함수가 핸들러게이트웨이함수가 저장된 특정 주소로 이동(redirection)시켜, 주소이동함수에 의해 접근(지정) 불가능한 나머지 주소범위 내의 특정 주소로 접근하는 결과를 얻게 되어 핸들러게이트웨이함수를 호출하게 된고, 핸들러게이트웨이함수에 의해 해당되는 모니터링함수1 또는 모니터링함수2를 호출할 수 있게 된다.That is, the method of monitoring a system function of a computer system according to the present invention includes the steps of accessing the same one first address based on the system function table 115, whether the system function func1 is called or the system function func2 is called The address transfer function is redirected to a specific address where the handler gateway function is stored, and the result is obtained by accessing a specific address within the remaining address range which can not be accessed (designated) by the address transfer function The handler gateway function is called, and the corresponding monitoring function 1 or 2 can be called by the handler gateway function.
이상에서 설명한 바와 같이 본 발명에 따르면, 메모리장치(120)의 전체 주소범위에 대응하는 비트 수 즉 OS 환경 보다 작은 비트 수의 메모리영역 접근 방식을 지원하는 (메모리접근모듈(110)을 갖는 경우, 메모리장치(120)의 전체 주소범위 중 접근(지정) 가능한 일부 주소범위 내에 접근(지정) 불가능한 나머지 주소범위로 이동시키기 위한 주소이동함수를 저장함으로써 메모리장치(120)의 전체 주소범위를 효과적으로 이용할 수 있고, 이를 기반으로 시스템함수 모니터링을 실현하여 64bit OS 환경에서도 32bit OS와 같이 커널모드에서 후킹이 가능해져 32bit OS와 동일한 수준의 보안 기능을 제공할 수 있다.As described above, according to the present invention, it is possible to support a memory area access method with a bit number corresponding to the entire address range of the
본 발명의 일실시예에 따른 컴퓨터 시스템의 주소 이동 방법과 컴퓨터 시스템의 시스템함수 모니터링 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.A method of moving an address of a computer system and a system function monitoring method of a computer system according to an embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .
100 : 컴퓨터 시스템
110 : 메모리접근모듈 120 : 메모리장치
130 : 모니터링제어모듈100: Computer system
110: memory access module 120: memory device
130: Monitoring control module
Claims (15)
상기 메모리장치의 전체 메모리영역에 대응되는 비트(bit) 수 보다 작은 비트 수를 기초로 하는 구조의 주소정보를 저장하여, 상기 저장된 주소정보를 기초로 상기 메모리장치의 전체 메모리영역 중 일부 메모리영역에 접근 가능한 메모리접근모듈; 및
상기 전체 메모리영역 중 상기 일부 메모리영역을 제외한 나머지 메모리영역 내 적어도 하나의 제2메모리영역에 특정 모니터링의 수행하는 모니터링함수를 저장하고, 상기 일부 메모리영역 내 적어도 하나의 제1메모리영역에 상기 모니터링함수가 저장된 상기 적어도 하나의 제2메모리영역에 어드레싱된 주소정보를 포함하는 주소이동함수를 저장하는 모니터링제어모듈을 포함하고;
상기 메모리접근모듈은, 각 시스템함수 별로 상기 메모리장치에서 저장된 메모리영역에 어드레싱된 주소정보를 포함하는 시스템함수테이블을 포함하며,
상기 모니터링제어모듈은, 상기 시스템함수테이블에서, 상기 특정 모니터링의 수행 대상으로 확인되는 특정 시스템함수가 저장된 메모리영역에 어드레싱된 주소정보를 상기 주소이동함수가 저장된 상기 적어도 하나의 제1메모리영역에 어드레싱된 주소정보로 변경하고,
메모리접근모듈은,
상기 특정 시스템함수의 호출이 요청되는 경우, 상기 시스템함수테이블에서 확인되는 상기 특정 시스템함수의 변경된 주소정보를 기초로, 상기 특정 시스템함수를 실행하는 대신 상기 적어도 하나의 제1메모리영역에 접근하여 상기 주소이동함수를 호출하고, 상기 주소이동함수에 의해 상기 적어도 하나의 제2메모리영역에 어드레싱된 주소정보를 기초로 상기 적어도 하나의 제2메모리영역에 접근되어 상기 모니터링함수를 호출하는 것을 특징으로 하는 컴퓨터 시스템.
A memory device;
Storing address information of a structure based on the number of bits smaller than the number of bits corresponding to the entire memory area of the memory device and storing the address information in a memory area of the entire memory area of the memory device based on the stored address information An accessible memory access module; And
Wherein the monitoring function stores at least one monitoring function in at least one second memory area in the remaining memory areas excluding the partial memory area among the entire memory areas, And a memory control module for storing an address transfer function including address information addressed to the at least one second memory area,
Wherein the memory access module comprises a system function table including address information addressed to a memory area stored in the memory device for each system function,
Wherein the monitoring control module is configured to address the address information addressed to the memory area in which the specific system function confirmed as the execution target of the specific monitoring is stored in the at least one first memory area in which the address movement function is stored, Address information,
The memory access module,
When the calling of the specific system function is requested, accessing the at least one first memory area instead of executing the specific system function, based on the changed address information of the specific system function identified in the system function table, Calling the address transfer function and calling the monitoring function by accessing the at least one second memory area based on the address information addressed to the at least one second memory area by the address transfer function Computer system.
상기 메모리접근모듈은,
상기 저장된 주소정보를 기초로 상대주소 접근방식에 따라 상기 일부 메모리영역 내 각 메모리영역에 접근하는 것을 특징으로 하는 컴퓨터 시스템.
The method according to claim 1,
The memory access module comprising:
And accessing each memory area in the partial memory area according to a relative address access method based on the stored address information.
상기 메모리장치의 전체 메모리영역에 대응되는 비트(bit) 수 보다 작은 비트 수를 기초로 하는 구조의 주소정보를 저장하여, 상기 저장된 주소정보를 기초로 상기 메모리장치의 전체 메모리영역 중 일부 메모리영역에 접근 가능한 메모리접근모듈; 및
상기 전체 메모리영역 중 상기 일부 메모리영역을 제외한 나머지 메모리영역 내 다수의 제2메모리영역에 각 시스템함수식별정보에 매핑된 각 모니터링함수를 저장하고, 상기 일부 메모리영역 내 하나의 제1메모리영역에 상기 각 모니터링함수가 저장된 상기 다수의 제2메모리영역에 대하여 접근을 중계하는 핸들러게이트웨이함수가 저장된 특정 메모리영역에 어드레싱된 특정 주소정보를 포함하는 주소이동함수를 저장하는 모니터링제어모듈을 포함하고;
상기 메모리접근모듈은, 각 시스템함수 별로 상기 메모리장치에서 저장된 메모리영역에 어드레싱된 주소정보를 포함하는 시스템함수테이블을 포함하며,
상기 모니터링제어모듈은, 상기 시스템함수테이블에서, 상기 각 모니터링함수에 따른 모니터링의 수행 대상으로 확인되는 상기 각 시스템함수식별정보에 대응되는 각 시스템함수의 주소정보를 상기 주소이동함수가 저장된 상기 하나의 제1메모리영역에 어드레싱된 주소정보로 변경하고,
메모리접근모듈은,
상기 각 시스템함수 중 특정 시스템함수의 호출이 요청되는 경우, 상기 시스템함수테이블에서 확인되는 상기 특정 시스템함수의 변경된 주소정보를 기초로, 상기 특정 시스템함수를 실행하는 대신 상기 하나의 제1메모리영역에 접근하여 상기 주소이동함수를 호출하고, 상기 주소이동함수에 의해 상기 특정 주소정보를 기초로 상기 특정 메모리영역에 접근되어 상기 핸들러게이트웨이함수를 호출하고, 상기 핸들러게이트웨이함수에 의해 상기 다수의 제2메모리영역 중 상기 특정 시스템함수의 시스템함수식별정보에 매핑된 특정 모니터링함수가 저장된 제2메모리영역에 접근되어 상기 특정 모니터링함수를 호출하는 것을 특징으로 하는 컴퓨터 시스템.
A memory device;
Storing address information of a structure based on the number of bits smaller than the number of bits corresponding to the entire memory area of the memory device and storing the address information in a memory area of the entire memory area of the memory device based on the stored address information An accessible memory access module; And
Storing a plurality of monitoring functions mapped to respective system function identification information in a plurality of second memory areas in a memory area other than the memory area in the entire memory area, And a monitoring control module for storing an address transfer function including specific address information addressed to a specific memory area storing a handler gateway function for relaying access to the plurality of second memory areas in which each monitoring function is stored;
Wherein the memory access module comprises a system function table including address information addressed to a memory area stored in the memory device for each system function,
Wherein the monitoring control module is operable to determine, in the system function table, address information of each system function corresponding to each system function identification information identified as an object of monitoring according to the monitoring function, To the address information addressed to the first memory area,
The memory access module,
When a call to a specific system function among the system functions is requested, the system function table is stored in the first memory area instead of executing the specific system function, based on the changed address information of the specific system function identified in the system function table And accessing the specific memory area based on the specific address information by the address transfer function to call the handler gateway function, and the handler gateway function calls the plurality of second memories And a second memory area in which a specific monitoring function mapped to system function identification information of the specific system function is stored is accessed to call the specific monitoring function.
상기 핸들러게이트웨이함수가 저장된 상기 특정 메모리영역은,
상기 메모리장치의 상기 전체 메모리영역 중 상기 나머지 메모리영역 내에 속하는 것을 특징으로 하는 컴퓨터 시스템.9. The method of claim 8,
Wherein the specific memory area, in which the handler gateway function is stored,
Said memory device belonging to said remaining memory area of said entire memory area of said memory device.
상기 모니터링제어모듈에서, 상기 메모리장치의 상기 일부 메모리영역 내 적어도 하나의 제1메모리영역에, 상기 모니터링함수가 저장된 상기 적어도 하나의 제2메모리영역에 어드레싱된 주소정보를 포함하는 주소이동함수를 저장하는 단계;
상기 모니터링제어모듈에서, 각 시스템함수 별로 상기 메모리장치에서 저장된 메모리영역에 어드레싱된 주소정보를 포함하는 시스템함수테이블에서, 상기 특정 모니터링의 수행 대상으로 확인되는 특정 시스템함수가 저장된 메모리영역에 어드레싱된 주소정보를 상기 주소이동함수가 저장된 상기 적어도 하나의 제1메모리영역에 어드레싱된 주소정보로 변경하는 단계;
상기 메모리접근모듈에서, 상기 특정 시스템함수의 호출이 요청되는 경우, 상기 시스템함수테이블에서 확인되는 상기 특정 시스템함수의 변경된 주소정보를 기초로, 상기 특정 시스템함수를 실행하는 대신 상기 적어도 하나의 제1메모리영역에 접근하여 상기 주소이동함수를 호출하는 단계; 및
상기 메모리접근모듈에서, 상기 주소이동함수에 의해 상기 적어도 하나의 제2메모리영역에 어드레싱된 주소정보를 기초로 상기 적어도 하나의 제2메모리영역에 접근되어 상기 모니터링함수를 호출하는 단계를 포함하며;
상기 메모리접근모듈은,
상기 메모리장치의 전체 메모리영역에 대응되는 비트(bit) 수 보다 작은 비트 수를 기초로 하는 구조의 주소정보를 저장하여, 상기 저장된 주소정보를 기초로 상기 메모리장치의 전체 메모리영역 중 상기 일부 메모리영역에 접근 가능한 것을 특징으로 하는 컴퓨터 시스템의 시스템함수 모니터링 방법.Storing, in the monitoring control module, a monitoring function for performing a specific monitoring in at least one second memory area in a remaining memory area excluding some memory areas accessible by the memory access module among the entire memory areas of the memory device;
The monitoring control module stores an address transfer function including address information addressed to the at least one second memory area in which the monitoring function is stored in at least one first memory area in the memory area of the memory device ;
In the monitoring control module, in a system function table including address information addressed to a memory area stored in the memory device for each system function, an address addressed to a memory area in which a specific system function confirmed as the execution target of the specific monitoring is stored Changing information to address information addressed to the at least one first memory area in which the address transfer function is stored;
Wherein, in the memory access module, if a call to the particular system function is requested, based on the modified address information of the particular system function identified in the system function table, Accessing a memory area and calling the address transfer function; And
And in the memory access module, accessing the at least one second memory area based on address information addressed to the at least one second memory area by the address transfer function to call the monitoring function;
The memory access module comprising:
Storing address information of a structure based on the number of bits smaller than the number of bits corresponding to the entire memory area of the memory device and storing the address information in the memory area of the memory device Wherein the system function is accessible to the computer system.
상기 모니터링제어모듈에서, 상기 메모리장치의 상기 일부 메모리영역 내 하나의 제1메모리영역에 상기 각 모니터링함수가 저장된 상기 다수의 제2메모리영역에 대하여 접근을 중계하는 핸들러게이트웨이함수가 저장된 특정 메모리영역에 어드레싱된 특정 주소정보를 포함하는 주소이동함수를 저장하는 단계;
상기 모니터링제어모듈에서, 각 시스템함수 별로 상기 메모리장치 내에서 저장된 메모리영역에 어드레싱된 주소정보를 포함하는 시스템함수테이블에서, 상기 각 모니터링함수에 따른 모니터링의 수행 대상으로 확인되는 상기 각 시스템함수식별정보에 대응되는 각 시스템함수의 주소정보를 상기 주소이동함수가 저장된 상기 하나의 제1메모리영역에 어드레싱된 주소정보로 변경하는 단계;
상기 메모리접근모듈에서, 상기 각 시스템함수 중 특정 시스템함수의 호출이 요청되는 경우, 상기 시스템함수테이블에서 확인되는 상기 특정 시스템함수의 변경된 주소정보를 기초로, 상기 특정 시스템함수를 실행하는 대신 상기 하나의 제1메모리영역에 접근하여 상기 주소이동함수를 호출하는 단계;
상기 메모리접근모듈에서, 상기 주소이동함수에 의해 상기 특정 주소정보를 기초로 상기 특정 메모리영역에 접근되어 상기 핸들러게이트웨이함수를 호출하는 단계; 및
상기 메모리접근모듈에서, 상기 핸들러게이트웨이함수에 의해 상기 다수의 제2메모리영역 중 상기 특정 시스템함수의 시스템함수식별정보에 매핑된 특정 모니터링함수가 저장된 제2메모리영역에 접근되어 상기 특정 모니터링함수를 호출하는 단계를 포함하며;
상기 메모리접근모듈은,
상기 메모리장치의 전체 메모리영역에 대응되는 비트(bit) 수 보다 작은 비트 수를 기초로 하는 구조의 주소정보를 저장하여, 상기 저장된 주소정보를 기초로 상기 메모리장치의 전체 메모리영역 중 상기 일부 메모리영역에 접근 가능한 것을 특징으로 하는 컴퓨터 시스템의 시스템함수 모니터링 방법.In the monitoring control module, each monitoring function mapped by each system function identification information is stored in a plurality of second memory areas in a remaining memory area excluding a memory area accessible by the memory access module among the entire memory areas of the memory device step;
Wherein the monitoring control module is operable to store a plurality of monitoring functions in a specific memory area in which a handler gateway function for relaying access to the plurality of second memory areas, Storing an address transfer function including addressed specific address information;
In the monitoring control module, in a system function table including address information addressed to a memory area stored in the memory device for each system function, the system function table identifies each system function identification information Changing the address information of each system function corresponding to the address function to the address information addressed to the one first memory area in which the address movement function is stored;
Wherein, in the memory access module, when a call of a specific system function among the system functions is requested, based on the changed address information of the specific system function identified in the system function table, Accessing a first memory area of the memory and calling the address transfer function;
In the memory access module, accessing the specific memory area based on the specific address information by the address transfer function and calling the handler gateway function; And
The memory access module accesses a second memory area in which a specific monitoring function mapped to the system function identification information of the specific system function is stored by the handler gateway function to call the specific monitoring function ≪ / RTI >
The memory access module comprising:
Storing address information of a structure based on the number of bits smaller than the number of bits corresponding to the entire memory area of the memory device and storing the address information in the memory area of the memory device Wherein the system function is accessible to the computer system.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020120079459A KR101412200B1 (en) | 2012-07-20 | 2012-07-20 | Computer system, adress redirection method and system function monitoring method for thereof |
| PCT/KR2013/005206 WO2014014200A1 (en) | 2012-07-20 | 2013-06-12 | Computer system, method for shifting address computer system, and method for monitoring system function of computer system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020120079459A KR101412200B1 (en) | 2012-07-20 | 2012-07-20 | Computer system, adress redirection method and system function monitoring method for thereof |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20140012479A KR20140012479A (en) | 2014-02-03 |
| KR101412200B1 true KR101412200B1 (en) | 2014-06-27 |
Family
ID=49948996
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020120079459A Expired - Fee Related KR101412200B1 (en) | 2012-07-20 | 2012-07-20 | Computer system, adress redirection method and system function monitoring method for thereof |
Country Status (2)
| Country | Link |
|---|---|
| KR (1) | KR101412200B1 (en) |
| WO (1) | WO2014014200A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11527886B2 (en) * | 2019-07-10 | 2022-12-13 | Halliburton Energy Services, Inc. | Enhanced over voltage protection of a downhole system |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20100009062A (en) * | 2008-07-17 | 2010-01-27 | 삼성전자주식회사 | File system configuration method and apparatus for data security, method and apparatus for accessing data security area formed by the same, and data storage device thereby |
| KR101014814B1 (en) * | 2009-07-22 | 2011-02-14 | 주식회사 즐게임 | How to Monitor Computer Systems With Kernel Watcher and How to Monitor Kernels |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7685601B2 (en) * | 2005-02-28 | 2010-03-23 | Sony Computer Entertainment Inc. | Methods and apparatus for segmented stack management in a processor system |
| JP5504960B2 (en) * | 2010-02-22 | 2014-05-28 | 富士通株式会社 | Simulation apparatus and simulation method |
-
2012
- 2012-07-20 KR KR1020120079459A patent/KR101412200B1/en not_active Expired - Fee Related
-
2013
- 2013-06-12 WO PCT/KR2013/005206 patent/WO2014014200A1/en not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20100009062A (en) * | 2008-07-17 | 2010-01-27 | 삼성전자주식회사 | File system configuration method and apparatus for data security, method and apparatus for accessing data security area formed by the same, and data storage device thereby |
| KR101014814B1 (en) * | 2009-07-22 | 2011-02-14 | 주식회사 즐게임 | How to Monitor Computer Systems With Kernel Watcher and How to Monitor Kernels |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11527886B2 (en) * | 2019-07-10 | 2022-12-13 | Halliburton Energy Services, Inc. | Enhanced over voltage protection of a downhole system |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20140012479A (en) | 2014-02-03 |
| WO2014014200A1 (en) | 2014-01-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9218302B2 (en) | Page table management | |
| KR102383900B1 (en) | Region identifying operation for identifying region of a memory attribute unit corresponding to a target memory address | |
| KR101799261B1 (en) | Restricting memory areas for an instruction read in dependence upon a hardware mode and a security flag | |
| JP4805238B2 (en) | Method, apparatus and system for enabling a secure location aware platform | |
| US10255088B2 (en) | Modification of write-protected memory using code patching | |
| US9965403B2 (en) | Increasing virtual-memory efficiencies | |
| JP2010129080A (en) | Software executing system and software executing method | |
| JP2021531583A (en) | Binary search procedure for control tables stored in memory system | |
| JP5318197B2 (en) | Device emulation support in the host data processor | |
| US10901914B2 (en) | Method for writing multiple copies into storage device, and storage device | |
| KR20200011438A (en) | Apparatus and method for interpreting authorizations related to qualifications | |
| JP5511874B2 (en) | Systems and methods implemented in security services | |
| WO2017012339A1 (en) | Resource management method and apparatus | |
| JPWO2010024071A1 (en) | Cache memory, system thereof, method of use thereof, and program of use thereof | |
| CN118051421A (en) | IO delay fault injection method, device, electronic device and storage medium | |
| KR20150139017A (en) | Apparatus and method for controlling memory | |
| CN107547520B (en) | Method for constructing flash security module | |
| KR101412200B1 (en) | Computer system, adress redirection method and system function monitoring method for thereof | |
| KR101535792B1 (en) | Apparatus for configuring operating system and method thereof | |
| CN117272412B (en) | Interrupt control register protection method, device, computer equipment and storage medium | |
| JP2015099517A (en) | Vehicle control device | |
| US9684660B2 (en) | File processing method and system | |
| CN111221535B (en) | Thread allocation method, server and computer readable storage medium | |
| CN119621302B (en) | Scheduling method, device, equipment and storage medium of computing resources | |
| KR102800066B1 (en) | How to make a microcontroller work |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| AMND | Amendment | ||
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E601 | Decision to refuse application | ||
| PE0601 | Decision on rejection of patent |
St.27 status event code: N-2-6-B10-B15-exm-PE0601 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| AMND | Amendment | ||
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PX0901 | Re-examination |
St.27 status event code: A-2-3-E10-E12-rex-PX0901 |
|
| PX0701 | Decision of registration after re-examination |
St.27 status event code: A-3-4-F10-F13-rex-PX0701 |
|
| X701 | Decision to grant (after re-examination) | ||
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
Fee payment year number: 1 St.27 status event code: A-2-2-U10-U11-oth-PR1002 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| FPAY | Annual fee payment |
Payment date: 20170619 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
Fee payment year number: 4 St.27 status event code: A-4-4-U10-U11-oth-PR1001 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PR1001 | Payment of annual fee |
Fee payment year number: 5 St.27 status event code: A-4-4-U10-U11-oth-PR1001 |
|
| FPAY | Annual fee payment |
Payment date: 20190619 Year of fee payment: 6 |
|
| PR1001 | Payment of annual fee |
Fee payment year number: 6 St.27 status event code: A-4-4-U10-U11-oth-PR1001 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PR1001 | Payment of annual fee |
Fee payment year number: 7 St.27 status event code: A-4-4-U10-U11-oth-PR1001 |
|
| PR1001 | Payment of annual fee |
Fee payment year number: 8 St.27 status event code: A-4-4-U10-U11-oth-PR1001 |
|
| PR1001 | Payment of annual fee |
Fee payment year number: 9 St.27 status event code: A-4-4-U10-U11-oth-PR1001 |
|
| PC1903 | Unpaid annual fee |
Not in force date: 20230620 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE St.27 status event code: A-4-4-U10-U13-oth-PC1903 |
|
| PC1903 | Unpaid annual fee |
Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20230620 St.27 status event code: N-4-6-H10-H13-oth-PC1903 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |