KR101320680B1 - Method and apparatus for integrity check of software - Google Patents

Method and apparatus for integrity check of software Download PDF

Info

Publication number
KR101320680B1
KR101320680B1 KR1020110110172A KR20110110172A KR101320680B1 KR 101320680 B1 KR101320680 B1 KR 101320680B1 KR 1020110110172 A KR1020110110172 A KR 1020110110172A KR 20110110172 A KR20110110172 A KR 20110110172A KR 101320680 B1 KR101320680 B1 KR 101320680B1
Authority
KR
South Korea
Prior art keywords
program
integrity
unique code
user terminal
integrity check
Prior art date
Application number
KR1020110110172A
Other languages
Korean (ko)
Other versions
KR20130045759A (en
Inventor
오복현
Original Assignee
(주)유성글로벌
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)유성글로벌 filed Critical (주)유성글로벌
Priority to KR1020110110172A priority Critical patent/KR101320680B1/en
Publication of KR20130045759A publication Critical patent/KR20130045759A/en
Application granted granted Critical
Publication of KR101320680B1 publication Critical patent/KR101320680B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)

Abstract

해시를 이용한 소프트웨어 무결성 검사 장치 및 방법에 관한 것으로 프로그램이 실행되면, 기 설정된 규칙에 따라 배열이 변경된 암호화 테이블을 이용하여 상기 프로그램 파일의 고유 코드를 생성하는 단계; 상기 생성된 고유 코드를 무결성 검사 서버로 전송하여 무결성 검사 결과를 수신하는 단계; 및 상기 수신되는 무결성 검사 결과에 따라 무결성이 입증된 경우에 프로그램을 실행하는 단계;를 포함하는 사용자 단말에서 수행되는 무결성 검사방법에 의해 PC에 설치되는 각종 소프트웨어가 바이러스 또는 해킹툴에 의하여 변형될 경우, 이를 프로그램 실행 전에 발견하는 것이 용이하여 안정적인 PC환경을 제공할 수 있다. An apparatus and method for checking software integrity using a hash, the method comprising: generating a unique code of the program file using an encryption table whose arrangement is changed according to a preset rule; Transmitting the generated unique code to an integrity check server to receive an integrity check result; And executing the program when the integrity is verified according to the received integrity check result. When various software installed in the PC is modified by a virus or a hacking tool by the integrity check method performed in the user terminal. In addition, it is easy to detect this before executing the program, so that it can provide a stable PC environment.

Description

소프트웨어의 무결성 검사 장치 및 방법{METHOD AND APPARATUS FOR INTEGRITY CHECK OF SOFTWARE}Device and method for integrity checking of software {METHOD AND APPARATUS FOR INTEGRITY CHECK OF SOFTWARE}

본 발명은 소프트웨어의 무결성 검사에 관한 것으로, 특히 해시를 이용한 소프트웨어 무결성 검사 장치 및 방법에 관한 것이다. The present invention relates to software integrity checking, and more particularly, to an apparatus and method for checking software integrity using hash.

소프트웨어(software)는 PC에 설치된 실행 파일, 동적 연결 파일, 데이터 파일로 구성된다. 일반적으로 실행 파일, 동적 연결 파일, 데이터 파일은 확장자에 의해 구분가능하고, 상세하게 실행 파일은 확장자가 EXE, COM이고, 동적 연결 파일은 DLL, OCX이고, 데이터 파일은 DAT, INT, TXT등이다. Software consists of executable files, dynamic link files, and data files installed on a PC. In general, executable files, dynamic-linked files, and data files can be distinguished by their extensions. Executable files have EXE, COM extensions, and dynamic-linked files are DLL, OCX, and data files are DAT, INT, TXT, etc. .

사용자가 실행 파일을 실행시키면, 해당 소프트웨어 실행에 필요한 동적 연결 파일이나 데이터 파일을 참조하여 작동을 한다. 이때 만일 실행 파일 또는 동적 연결 파일이 바이러스 혹은 해킹툴에 의해 변조된 경우라면, 해당 소프트웨어 실행과 동시에 변조된 파일은 사용자가 의도하지 않은 내용의 작업을 수행하게된다. 사용자는 기존에 사용해왔던 정상적인 프로그램을 사용한다고 생각하기 때문에 감염 여부 혹은 변조 여부를 인지하기는 거의 불가능하다. When the user executes the executable file, it operates by referring to the dynamic link file or data file required to execute the software. At this time, if the executable file or the dynamic link file is modified by a virus or a hacking tool, the file modified at the same time as the execution of the software is performed by the user unintended contents. It is almost impossible to recognize infection or tampering because the user thinks that he or she is using a normal program.

기존 방식은 바이러스백신(anti virus) 엔진을 이용하여 단순히 해킹 툴의 패턴을 추가하고 주기적으로 프로세스들을 검사하여 등록된 해킹 패턴과 일치한 프로그램이 있으면 강제 종료시킨다. 그러나, 이러한 기존의 보안 방법은 계속 쏟아져 나오는 수많은 새로운 해킹 툴 들을 모두 패턴에 추가하여야 하는 문제가 있고, 기존의 해킹툴도 다시 컴파일을 하거나 실행파일을 압축하면 프로그램의 패턴이 변형되기 때문에 더 이상 파일의 무결성 검출이 어렵다는 문제점이 있다. The existing method simply adds a pattern of a hacking tool by using an anti-virus engine, periodically scans processes, and kills any program that matches the registered hacking pattern. However, this existing security method has the problem of adding a lot of new hacking tools to the pattern all the time, and even if the existing hacking tools are recompiled or compressed the executable file, the program pattern is no longer changed. There is a problem that it is difficult to detect the integrity.

한편, 국내공개특허 2004-0096264호에는 컨텐츠 제공자의 인증서를 얻을 수 있는 주소가 포함된 헤더부와 암호화된 컨텐츠부를 패키지화하고, 무결성을 보장하기위해 해더부와 컨텐츠부를 해시 부호화하여 전자서명이 이루어진 기술이 개시되어 있다. On the other hand, Korean Patent Publication No. 2004-0096264 is a technology that is made by digitally signing the header part and the encrypted content part containing the address to obtain the certificate of the content provider, and hash-coded the header part and the content part to ensure integrity Is disclosed.

본 발명은 소프트웨어의 변조 여부를 보다 정확히 감지하는 무결성 검사 장치 및 방법을 제공하는 것을 목적으로 한다. An object of the present invention is to provide an integrity test apparatus and method for more accurately detecting whether a software has been tampered with.

상기 기술적 과제는 프로그램이 실행되면, 기 설정된 규칙에 따라 배열이 변경된 암호화 테이블을 이용하여 상기 프로그램 파일의 고유 코드를 생성하는 단계; 상기 생성된 고유 코드를 무결성 검사 서버로 전송하여 무결성 검사 결과를 수신하는 단계; 및 상기 수신되는 무결성 검사 결과에 따라 무결성이 입증된 경우에 프로그램을 실행하는 단계;를 포함하는 사용자 단말에서 수행되는 무결성 검사방법에 의해 달성된다.The technical problem is that, when the program is executed, generating a unique code of the program file using an encryption table whose arrangement is changed according to a preset rule; Transmitting the generated unique code to an integrity check server to receive an integrity check result; And executing the program when the integrity is verified according to the received integrity check result.

또한, 기 설정된 규칙에 따라 배열이 변경된 암호화 테이블을 이용하여 프로그램 파일의 고유 코드를 생성하여 저장하는 단계; 사용자 단말로부터 프로그램 파일에 대한 무결성 검사 요청과 함께 사용자 단말에서 생성된 고유 코드가 수신되면, 상기 수신된 고유 코드와 상기 저장된 고유 코드를 비교하여 일치 여부에 따라 무결성을 검사하는 단계; 및 상기 검사 결과를 사용자 단말로 전송하는 단계;를 포함하는 무결성 검사 서버에서 수행되는 무결성 검사 방법에 의해서도 달성된다.The method may further include generating and storing a unique code of a program file using an encryption table whose arrangement is changed according to a preset rule; When the unique code generated in the user terminal is received together with the integrity check request for the program file from the user terminal, comparing the received unique code with the stored unique code and checking the integrity according to a match; And transmitting the check result to a user terminal. The integrity check method is performed by the integrity check server.

한편, 무결성 검사 서버와 데이터 통신을 수행하는 통신부; 프로그램 실행 요청이 입력되면, 프로그램의 실행파일 및 동적 연결 파일이 메모리에 로딩되기 이전에 실행 요청 입력 신호를 후킹(Hooking)하는 후킹부; 기 설정된 규칙에 따라 배열이 변경된 암호화 테이블을 이용하여 상기 후킹부에서 후킹된 프로그램 파일의 고유 코드를 생성하는 암호화부; 및 상기 암호화부에서 생성된 고유 코드를 상기 통신부를 통해 무결성 검사 서버로 전송하고, 상기 통신부를 통해 수신되는 무결성 검사 결과에 따라 무결성이 입증된 경우에 프로그램을 실행을 요청하는 무결성 검사부;를 포함하는 사용자 단말에 구비되는 무결성 검사 장치에 의해서도 달성된다. On the other hand, the communication unit for performing data communication with the integrity check server; A hooking unit for hooking an execution request input signal before the execution file of the program and the dynamic connection file are loaded into the memory, when the program execution request is input; An encryption unit for generating a unique code of a program file hooked by the hooking unit by using an encryption table whose arrangement is changed according to a preset rule; And an integrity checker which transmits a unique code generated by the encryption unit to the integrity check server through the communication unit and executes a program when integrity is verified according to the integrity check result received through the communication unit. It is also achieved by the integrity check apparatus provided in the user terminal.

또한, 사용자 단말과 통신을 수행하는 통신부; 프로그램 파일의 고유 코드를 저장하는 저장부; 기 설정된 규칙에 따라 배열이 변경된 암호화 테이블을 이용하여 프로그램 파일의 고유 코드를 생성하여 상기 저장부에 저장하는 암호화부; 및 상기 통신부를 통해 사용자 단말로부터 프로그램 파일에 대한 무결성 검사 요청과 함께 사용자 단말에서 생성된 고유 코드가 수신되면, 상기 수신된 고유 코드와 상기 저장부에 저장된 고유 코드를 비교하여 일치 여부에 따라 무결성을 검사하고, 상기 통신부를 통해 무결성 검사결과를 사용자 단말로 전송하는 코드 비교부;를 포함하는 무결성 검사 서버에 구비되는 무결성 검사 장치에 의해서도 달성된다. In addition, the communication unit for performing communication with the user terminal; A storage unit for storing the unique code of the program file; An encryption unit for generating a unique code of a program file using an encryption table whose arrangement is changed according to a preset rule and storing the unique code of the program file in the storage unit; And receiving the unique code generated in the user terminal together with the integrity check request for the program file from the user terminal through the communication unit, comparing the received unique code with the unique code stored in the storage unit and performing integrity according to the match. It is also achieved by the integrity check apparatus provided in the integrity check server including a; and a code comparing unit for transmitting the integrity check result to the user terminal through the communication unit.

본 발명에 따르면 PC에 설치되는 각종 소프트웨어가 바이러스 또는 해킹툴에 의하여 변형될 경우, 이를 프로그램 실행 전에 발견하는 것이 용이하여 안정적인 PC환경을 제공할 수 있다. According to the present invention, when various software installed in a PC is modified by a virus or a hacking tool, it can be easily found before executing a program, thereby providing a stable PC environment.

뿐만 아니라, 프로그램 파일의 손상 및 이상이 감지될 경우 손상된 프로그램 파일을 신속하게 정상 파일로 대체하여 실행하는 것이 가능하다.In addition, when damage and abnormality of the program file are detected, it is possible to quickly replace the damaged program file with a normal file and execute it.

도 1은 일 실시예에 따른 사용자 단말에 구비되는 무결성 검사 장치의 개략적인 블록도이다.
도 2는 일 실시예에 따른 배열이 변경된 암호화 테이블의 설명을 위한 참조도이다.
도 3 은 일 실시예에 따른 무결성 검사 서버에 구비되는 무결성 검사 장치의 블록도이다.
도 4 는 일 실시예에 따른 사용자 단말에서 수행되는 무결성 검사방법의 흐름도이다.
도 5 는 일 실시예에 따른 무결성 검사 서버에서 수행되는 무결성 검사방법의 흐름도이다.
1 is a schematic block diagram of an integrity checking apparatus provided in a user terminal according to an exemplary embodiment.
2 is a reference diagram for explaining an encryption table of which arrangement is changed according to an embodiment.
3 is a block diagram of an integrity checking apparatus provided in an integrity checking server according to an exemplary embodiment.
4 is a flowchart illustrating an integrity checking method performed in a user terminal according to an exemplary embodiment.
5 is a flowchart illustrating an integrity checking method performed in an integrity checking server according to an exemplary embodiment.

전술한, 그리고 추가적인 본 발명의 양상들은 첨부될 도면을 참조하여 설명되는 바람직한 실시예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명을 이러한 실시예를 통해 이 기술분야에서 통상의 지식을 가진 자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다. The foregoing and further aspects of the present invention will become more apparent through the preferred embodiments described with reference to the accompanying drawings. Hereinafter, the present invention will be described in detail so that those skilled in the art can easily understand and reproduce the present invention through these embodiments.

도 1은 일 실시예에 따른 사용자 단말에 구비되는 무결성 검사 장치의 개략적인 블록도이다. 1 is a schematic block diagram of an integrity checking apparatus provided in a user terminal according to an exemplary embodiment.

도 1 에 도시된 바와 같이 일 실시예에 따른 무결성 검사 장치는 통신부(10), 후킹부(12), 암호화부(14), 및 무결성 검사부(16)를 포함한다. As shown in FIG. 1, an integrity checking apparatus according to an embodiment includes a communication unit 10, a hooking unit 12, an encryption unit 14, and an integrity checking unit 16.

통신부(10)는 TCP/IP와 같은 프로토콜을 이용하여 무결성 검사 서버와 데이터 통신을 수행하는 통신모듈로 구현된다. 그러나 이에 한정되지 않고 원거리의 서버와 데이터 전송을 수행할 수 있는 모든 규약의 통신 모듈을 포괄하도록 해석된다. The communication unit 10 is implemented as a communication module for performing data communication with the integrity check server using a protocol such as TCP / IP. However, the present invention is not limited thereto, and is interpreted to encompass communication modules of all protocols capable of performing data transmission with a remote server.

후킹부(12)는 프로그램의 실행 요청이 입력되면, 프로그램의 실행파일 및 동적 연결 파일이 메모리에 로딩되기 이전에 실행 요청 입력 신호를 후킹(Hooking)한다. 일 예로 후킹부(12)는 실행 요청된 프로그램이 사용하는 API(Application Programming Interface)를 후킹(Hooking)할 수 있다. API 후킹이란 프로그램이 사용하는 명령을 중간에 가로채어 사용된 명령어나 파라메터를 보거나 조작하는 기술을 말한다. 즉, 후술할 암호화부(14) 및 무결성 검사부(16)의 동작은 후킹 루틴에포함된 것일 수 있다. When the execution request of the program is input, the hooking unit 12 hooks the execution request input signal before the execution file and the dynamic connection file of the program are loaded into the memory. For example, the hooking unit 12 may hook an API (Application Programming Interface) used by a program requested to be executed. API hooking is a technique of intercepting a command used by a program to view or manipulate a used command or parameter. That is, operations of the encryption unit 14 and the integrity checker 16 to be described later may be included in the hooking routine.

실행 프로그램 또는 응용 애플리케이션이라 불리는 EXE 파일 말고도 프로그램 실행을 위한 동적 링크 라이브러리라는 DLL파일도 프로그램 실행시에 같이 물려 메모리상에 로드된다. 이러한 EXE 파일과 관련 DLL 파일들이 메모리 상에 로드되면서 비로소 프로그램이 사용가능하게 되고, 이렇게 로드된 하나의 EXE와 여러 개의 관련 DLL들이 하나의 프로세스(process)를 구성한다. 즉, 본 발명에 따른 무결성 검사 장치는 실행 액션에 의한 후킹 기술을 이용함으로써 실제 프로그램이 구동되기 이전에 프로그램 파일에 대한 무결성을 검사할 수 있다.In addition to EXE files called executable programs or application applications, DLL files called dynamic link libraries for program execution are also loaded into memory when the program is executed. As these EXE files and related DLL files are loaded into memory, the program becomes usable, and this loaded EXE and several related DLLs constitute a process. That is, the integrity checking apparatus according to the present invention can check the integrity of the program file before the actual program is driven by using the hooking technique by the execution action.

그러나 이에 한정되지 않고 후킹부(12)는 PC에 전원이 공급될 경우 즉, 부팅시, 혹은 새로운 프로그램 파일을 다운 로드 받을 경우에 무결성 검사를 수행하기 위해 후킹 신호를 발생시키도록 구현될 수도 있다. 일 예로 PC에 전원이 공급될 경우 후킹하여 PC를 이용하기 전에 PC에 설치된 각종 프로그램 파일에 대한 고유 코드가 무결성 검사 서버에 저장된 프로그램 파일의 고유 코드와 일치하는지를 검사한다. 그리고 모든 프로그램 파일의 고유 코드가 일치하는 경우에만 PC 사용을 허가하고 일치하지 않을 경우에는 PC사용을 제한하여 변조된 프로그램 파일이 구동되는 것을 미연에 방지할 수 있다. However, the present invention is not limited thereto, and the hooking unit 12 may be implemented to generate a hooking signal to perform an integrity check when power is supplied to the PC, that is, at boot time or when a new program file is downloaded. For example, when power is supplied to a PC, the unique code of various program files installed in the PC matches with the unique code of the program file stored in the integrity check server before the PC is hooked. In addition, the use of a PC is allowed only when the unique codes of all program files match, and the use of the PC can be restricted if it does not match, thereby preventing the tampered program file from running.

암호화부(14)는 기 설정된 규칙에 따라 배열이 변경된 암호화 테이블을 이용하여 프로그램 파일의 고유 코드를 생성한다. 여기서 고유코드는 일정한 크기이고, 사람의 지문과 같은 식별 기능을 수행할 수 있다. 일 실시예에 있어서 암호화부(14)는 MD5(Message-Digest algorithm 5)를 이용하여 고유 코드를 생성한다. MD5는 임의의 길이의 메시지(variable-length message)를 입력받아, 32바이트(Byte)의 고정 길이의 고유 코드를 출력한다. 해시(hash) 암호화 기법의 일종인 MD5의 경우 암호화 테이블을 참조하여 고유코드를 출력한다. The encryption unit 14 generates a unique code of the program file using an encryption table whose arrangement is changed according to a preset rule. Here, the unique code is a certain size and can perform an identification function such as a human fingerprint. In one embodiment, the encryption unit 14 generates a unique code using a message-digest algorithm 5 (MD5). MD5 receives a variable-length message and outputs a 32 byte fixed length unique code. MD5, a kind of hash encryption method, outputs a unique code by referring to an encryption table.

일 양상에 따라 암호화부(14)가 프로그램 파일의 고유 코드를 생성하는 것은 프로그램의 실행 파일, 동적 연결 파일, 데이터 파일 중 적어도 하나의 고유 코드를 생성하는 것이다.According to an aspect, the encryption unit 14 generates the unique code of the program file to generate at least one unique code of an executable file, a dynamic link file, and a data file of the program.

또 다른 양상에 따르면 암호화부(14)는 통신부(10)를 통해 무결성 검사 서버로부터 암호화 테이블의 배열 변경을 위한 기 설정된 규칙을 수신한다. According to another aspect, the encryption unit 14 receives a preset rule for changing the arrangement of the encryption table from the integrity check server through the communication unit 10.

도 2는 일 실시예에 따른 배열이 변경된 암호화 테이블의 설명을 위한 참조도이다. 즉, 기존의 암호화 테이블 배열(a)을 임의로 변경하여 배열이 변경된 암호화 테이블(b)을 사용함으로써 해킹에 의한 내부 변조를 막을 수 있다. 2 is a reference diagram for explaining an encryption table of which arrangement is changed according to an embodiment. That is, the internal encryption due to hacking can be prevented by arbitrarily changing the existing encryption table array (a) and using the encrypted table (b) with the changed array.

여기서 기 설정된 규칙은 프로그램, 운영 체제, 사용자 단말, 다운 기간 중 어느 하나의 기준마다 상이하게 설정된 것일 수 있다. 기 설정된 규칙을 수신하는 것은 최초 프로그램을 다운로드할 때에 1회적으로 수행될 수도 있고, 특정 그룹에 속한 단말들에 이미 할당된 형태로 구현될 수도 있다. 혹은 암호화를 수행할 때마다 무결성 검사 서버로부터 수시로 수신받을 수도 있다.The preset rule may be set differently for any one of a program, an operating system, a user terminal, and a down period. Receiving a preset rule may be performed once when the initial program is downloaded, or may be implemented in a form that is already assigned to terminals belonging to a specific group. Alternatively, whenever an encryption is performed, it may be frequently received from the integrity check server.

무결성 검사부(16)는 암호화부(14)에서 생성된 고유 코드를 통신부(10)를 통해 무결성 검사 서버로 전송하고, 통신부(10)를 통해 무결성 검사 서버로부터 무결성 검사 결과를 수신한다. 그리고 프로그램 파일의 무결성이 입증된 경우에 프로그램을 실행을 요청한다. The integrity checker 16 transmits the unique code generated by the encryption unit 14 to the integrity check server through the communication unit 10, and receives the integrity check result from the integrity check server through the communication unit 10. If the integrity of the program file is verified, the program is requested to be executed.

반면, 무결성 검사부(16)는 무결성이 입증되지 않은 경우, 통신부(10)를 통해 무결성 검사 서버로 해당 프로그램의 최초 원본 파일을 요청한다. 그리고 수신된 최초 원본 파일에 대해 2차적으로 무결성 검사를 수행한다. 이때, 무결성 검사결과 역시 무결성이 없다고 인지된 경우에는 이를 외부로 출력하여 알리고, PC를 강제 종료함으로써 파일이 더 이상 변조되는 것을 막을 수 있다. On the other hand, the integrity checker 16 requests the original source file of the program to the integrity checker server through the communication unit 10 when the integrity is not verified. Secondly, the integrity check is performed on the first original file received. In this case, if the integrity check result is also recognized that there is no integrity, it is notified by outputting it to the outside and forcibly shutting down the PC to prevent the file from being tampered with.

도 3 은 일 실시예에 따른 무결성 검사 서버에 구비되는 무결성 검사 장치의 블록도이다.3 is a block diagram of an integrity checking apparatus provided in an integrity checking server according to an exemplary embodiment.

도 3에 도시된 바와 같이 무결성 검사 서버에 구비되는 무결성 검사 장치는통신부(30), 저장부(32), 암호화부(34), 및 코드 비교부(36)를 포함한다. 일 실시예에 있어서 무결성 검사 서버는 프로그램 개발사 혹은 기업 내부의 관리자 혹은 공인 인증 기관에서 운영하는 관리 서버일 수 있다.As shown in FIG. 3, the integrity check apparatus provided in the integrity check server includes a communication unit 30, a storage unit 32, an encryption unit 34, and a code comparison unit 36. In an embodiment, the integrity check server may be a management server operated by a program developer or an administrator in a company or an authorized certification authority.

통신부(30)는 사용자 단말과 통신을 수행하며, 전술한 사용자 단말의 통신부(10)와 대응되는 구성이다. The communication unit 30 communicates with the user terminal and has a configuration corresponding to the communication unit 10 of the user terminal described above.

저장부(32)는 메모리와 같은 데이터 저장 장치로 구현된다. 일 실시예에 있어서 저장부(32)는 프로그램 파일 정보 혹은 프로그램 파일의 저장 위치와, 해당 프로그램 파일의 고유 코드를 저장한다. 추가적으로 프로그램 파일의 설치 크기나 원본 최종 변경일, 원본 버전 정보를 저장할 수도 있다. The storage unit 32 is implemented as a data storage device such as a memory. In one embodiment, the storage unit 32 stores program file information or a storage location of the program file and a unique code of the program file. In addition, you can save the installation size of the program file, the original last modified date, and the original version information.

암호화부(34)는 기 설정된 규칙에 따라 배열이 변경된 암호화 테이블을 이용하여 프로그램 파일의 고유 코드를 생성하여 저장부(32)에 저장한다. 암호화부(34)는 프로그램 파일이 생성된 후 배포되기 이전에 고유코드를 생성하여 저장함이 바람직하다. The encryption unit 34 generates a unique code of the program file using the encryption table whose arrangement is changed according to a preset rule, and stores the unique code of the program file in the storage unit 32. The encryption unit 34 preferably generates and stores a unique code after the program file is generated and before being distributed.

일 실시예에 있어서 암호화부(34)는 MD5(Message-Digest algorithm 5)를 이용하여 고유 코드를 생성한다. 그리고 도 2를 참조하여 설명한 바와 같이 배열이 변경된 암호화 테이블을 참조하여 고유 코드를 생성한다. 여기서 기 설정된 규칙은 프로그램, 운영 체제, 사용자 단말, 다운 기간 중 어느 하나의 기준마다 상이하게 설정된 것일 수 있다. 그리고 기 설정된 규칙은 사용자 단말과 공유됨으로써 동일한 형태로 배열이 변경된 암호화 테이블을 참조하도록 구현된다. In one embodiment, the encryption unit 34 generates a unique code by using a message-digest algorithm 5 (MD5). As described with reference to FIG. 2, a unique code is generated with reference to the encryption table whose array is changed. The preset rule may be set differently for any one of a program, an operating system, a user terminal, and a down period. The preset rule is implemented to refer to the encryption table in which the arrangement is changed in the same form by being shared with the user terminal.

코드 비교부(36)는 통신부(30)를 통해 사용자 단말로부터 프로그램 파일에 대한 무결성 검사 요청과 함께 사용자 단말에서 생성된 고유 코드가 수신되면, 수신된 고유 코드와 저장부(32)에 저장된 고유 코드를 비교하여 일치 여부에 따라 무결성을 검사한다. 그리고 통신부(30)를 통해 무결성 검사결과를 사용자 단말로 전송한다. 코드 비교부(36)는 고유 코드를 바이트 단위로 비교하여 일치 여부를 확인함으로써 일치하는 경우에 무결성이 있는 프로그램 파일이라고 판단할 수 있다.
The code comparison unit 36 receives the unique code generated in the user terminal together with the integrity check request for the program file from the user terminal through the communication unit 30, and receives the unique code stored in the storage unit 32. Compare and check the integrity against a match. The integrity check result is transmitted to the user terminal through the communication unit 30. The code comparison unit 36 may compare the unique code by byte unit and check whether there is a match, thereby determining that it is a program file having integrity in case of a match.

도 4는 일 실시예에 따른 사용자 단말에서 수행되는 무결성 검사방법의 흐름도이다. 4 is a flowchart illustrating an integrity checking method performed in a user terminal according to an exemplary embodiment.

먼저, 사용자 단말은 무결성 검사 서버로부터 암호화 테이블의 배열 변경을 위한 기 설정된 규칙을 수신한다(400). 여기서 기 설정된 규칙은 프로그램, 운영 체제, 사용자 단말, 다운 기간 중 어느 하나의 기준마다 상이하게 설정된 것일 수 있다. First, the user terminal receives a preset rule for changing the arrangement of the encryption table from the integrity check server (400). The preset rule may be set differently for any one of a program, an operating system, a user terminal, and a down period.

그리고 프로그램 실행 요청이 입력되면, 프로그램의 실행파일 및 동적 연결 파일이 메모리에 로딩되기 이전에 실행 요청 신호를 후킹(Hooking)한다(410). 여기서 일예로 후킹하는 단계는 실행 요청된 프로그램이 사용하는 API(Application Programming Interface)를 후킹(Hooking)하는 것이다.When the program execution request is input, the execution request signal is hooked (410) before the execution file and the dynamic connection file of the program are loaded into the memory. The hooking step is an example of hooking an application programming interface (API) used by a program that is requested to be executed.

그리고 기 설정된 규칙에 따라 배열이 변경된 암호화 테이블을 이용하여 상기 프로그램 파일의 고유 코드를 생성한다(420). 이때 고유 코드를 생성하는 단계는 MD5(Message-Digest algorithm 5)를 이용하여 고유 코드를 생성한다.In operation 420, a unique code of the program file is generated using an encryption table whose arrangement is changed according to a preset rule. At this time, the step of generating a unique code generates a unique code using a message-digest algorithm 5 (MD5).

여기서 기 설정된 규칙은 프로그램, 운영 체제, 사용자 단말, 다운 기간 중 어느 하나의 기준마다 상이하게 설정된 것일 수 있다. 기 설정된 규칙을 수신하는 것은 최초 프로그램을 다운로드할 때에 1회적으로 수행될 수도 있고, 특정 그룹에 속한 단말들에 이미 할당된 형태로 구현될 수도 있다. 혹은 암호화를 수행할 때마다 무결성 검사 서버로부터 수시로 수신받을 수도 있다.The preset rule may be set differently for any one of a program, an operating system, a user terminal, and a down period. Receiving a preset rule may be performed once when the initial program is downloaded, or may be implemented in a form that is already assigned to terminals belonging to a specific group. Alternatively, whenever an encryption is performed, it may be frequently received from the integrity check server.

일 양상에 따라 프로그램 파일의 고유 코드를 생성하는 단계는 프로그램의 실행 파일, 동적 연결 파일, 데이터 파일 중 적어도 하나의 고유 코드를 생성한다.According to an aspect, generating the unique code of the program file generates at least one unique code of an executable file, a dynamic link file, and a data file of the program.

그리고 생성된 고유 코드를 무결성 검사 서버로 전송하여 무결성 검사를 요청하고, 무결성 검사 결과를 수신한다(430).The generated unique code is transmitted to the integrity check server to request an integrity check, and the integrity check result is received (430).

이 후에 수신되는 무결성 검사 결과에 따라 무결성이 입증된 경우에(440) 프로그램을 실행한다(450). 즉, 프로그램 실행 전에 먼저 프로그램 파일에 대한 무결성을 검사하고 검사 결과에 따라 실행함으로써, 변조된 프로그램이 실행되는 것을 미연에 방지할 수 있다.Thereafter, if the integrity is verified according to the received integrity check result (440), the program is executed (450). That is, by first checking the integrity of the program file before executing the program and executing the program file according to the test result, it is possible to prevent the modified program from being executed.

한편, 상기 수신되는 무결성 검사 결과에 따라 무결성이 입증되지 않은 경우에는 무결성 서버로 새로운 프로그램 파일의 전송을 요청한다(442).On the other hand, if the integrity is not verified according to the received integrity check result, a request for transmission of a new program file to the integrity server (442).

그리고 전송 요청에 따라 수신되는 새로운 프로그램 파일에 대해서도 동일한 과정을 거쳐 2차적으로 무결성을 검사한다(444). 그리고 재검사 결과 무결성이 입증된 경우에(446) 프로그램을 실행한다. 반면, 재검사 결과 무결성이 입증되지 않으면 이를 관리자에게 보고하고(448), PC를 강제 종료함으로써 파일이 더 이상 변조되는 것을 막을 수 있다. In addition, the new program file received according to the transmission request is secondarily checked for integrity through the same process (444). The program is then executed if the integrity of the retest is verified (446). On the other hand, if the integrity is not verified as a result of the retest, it can be reported to the administrator (448) and forced shutdown of the PC can prevent the file from being tampered with.

도 5 는 일 실시예에 따른 무결성 검사 서버에서 수행되는 무결성 검사방법의 흐름도이다. 5 is a flowchart illustrating an integrity checking method performed in an integrity checking server according to an exemplary embodiment.

먼저, 소프트웨어 개발회사에서 제작된 프로그램 파일의 배포 전에 기 설정된 규칙에 따라 배열이 변경된 암호화 테이블을 이용하여 프로그램 파일의 고유 코드를 생성하여 저장한다(500,510). 이때 MD5(Message-Digest algorithm 5)를 이용하여 고유 코드를 생성하는 것이 바람직하다. 여기서 기 설정된 규칙은 프로그램, 운영 체제, 사용자 단말, 다운 기간 중 어느 하나의 기준마다 상이하게 설정된 것일 수 있다. 그리고 기 설정된 규칙은 사용자 단말과 공유됨으로써 동일한 형태로 배열이 변경된 암호화 테이블을 참조하도록 구현된다. First, a unique code of a program file is generated and stored using an encryption table whose arrangement is changed according to a predetermined rule before distribution of a program file produced by a software development company (500, 510). In this case, it is preferable to generate a unique code using a message-digest algorithm 5 (MD5). The preset rule may be set differently for any one of a program, an operating system, a user terminal, and a down period. The preset rule is implemented to refer to the encryption table whose arrangement is changed in the same form by being shared with the user terminal.

이 후에, 사용자 단말로부터 프로그램 파일에 대한 무결성 검사 요청과 함께 사용자 단말에서 생성된 고유 코드가 수신되면(520), 수신된 고유 코드와 저장된 고유 코드를 비교하여 일치 여부에 따라 무결성을 검사한다(530). 이때 고유 코드를 바이트 단위로 비교하여 일치 여부를 확인함으로써 두 값이 완전히 일치하는 경우에 무결성이 있는 프로그램 파일이라고 판단할 수 있다. Thereafter, when the unique code generated in the user terminal is received from the user terminal together with the integrity check request for the program file (520), the received unique code is compared with the stored unique code to check the integrity according to the match (530). ). At this time, by comparing the unique code by byte unit and checking the match, it can be determined that the program file is integrity when the two values match completely.

그리고 무결성 검사 결과를 사용자 단말로 전송한다(540).The integrity check result is transmitted to the user terminal (540).

본 발명의 실시예에 따른 무결성 검사 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CDROM,자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.Integrity checking method according to an embodiment of the present invention can be implemented as a computer-readable code on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CDROM, magnetic tape, hard disks, floppy disks, optical data storage devices, and the like. Computer-readable recording media may be distributed over network coupled computer systems. In a distributed fashion, computer-readable code can be stored and executed. And functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers skilled in the art to which the present invention pertains.

이제까지 본 발명에 대하여 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 따라서 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허청구범위에 기재된 내용 및 그와 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다. The present invention has been described above with reference to the embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. Therefore, the scope of the present invention is not limited to the above-described embodiments, but should be construed to include various embodiments within the scope of the claims and equivalents thereof.

10, 30 : 통신부
12 : 후킹부
14, 34 : 암호화부
16 : 무결성 검사부
32 : 저장부
36 : 코드 비교부
10, 30: communication unit
12: hooking part
14, 34: encryption unit
16: integrity check unit
32: storage unit
36: code comparison unit

Claims (17)

프로그램 실행 요청이 입력되면, 프로그램의 실행파일 및 동적 연결 파일이 메모리에 로딩되기 이전에 실행 요청 신호를 후킹(Hooking)하는 단계;
프로그램이 실행되면, 기 설정된 규칙에 따라 배열이 변경된 암호화 테이블을 이용하여 상기 프로그램 파일의 고유 코드를 생성하는 단계;
상기 생성된 고유 코드를 무결성 검사 서버로 전송하여 무결성 검사 결과를 수신하는 단계; 및
상기 수신되는 무결성 검사 결과에 따라 무결성이 입증된 경우에 프로그램을 실행하는 단계;를 포함하는 사용자 단말에서 수행되는 무결성 검사방법.
Hooking an execution request signal before the execution file of the program and the dynamic link file are loaded into the memory, when the program execution request is input;
When the program is executed, generating a unique code of the program file by using an encryption table whose arrangement is changed according to a preset rule;
Transmitting the generated unique code to an integrity check server to receive an integrity check result; And
And executing a program when integrity is verified according to the received integrity check result.
삭제delete 제 1 항에 있어서,
상기 후킹하는 단계는 실행 요청된 프로그램이 사용하는 API(Application Programming Interface)를 후킹(Hooking)하는 것임을 특징으로 하는 사용자 단말에서 수행되는 무결성 검사방법.
The method of claim 1,
The hooking step is an integrity checking method performed in a user terminal, characterized in that the hooking (Hooking) API (Application Programming Interface) used by the program requested to be executed.
제 1 항에 있어서,
상기 고유 코드를 생성하는 단계는 MD5(Message-Digest algorithm 5)를 이용하여 고유 코드를 생성하는 사용자 단말에서 수행되는 무결성 검사방법.
The method of claim 1,
The generating of the unique code is performed in a user terminal for generating a unique code using a message-digest algorithm 5 (MD5).
제 1 항에 있어서,
상기 수신하는 단계 이후에,
상기 수신되는 무결성 검사 결과에 따라 무결성이 입증되지 않은 경우에는 무결성 서버로 새로운 프로그램 파일의 전송을 요청하는 단계; 및
상기 전송 요청에 따라 수신되는 새로운 프로그램 파일을 실행하는 단계;를 더 포함하는 사용자 단말에서 수행되는 무결성 검사방법.
The method of claim 1,
After the receiving step,
Requesting transmission of a new program file to an integrity server if integrity is not verified according to the received integrity check result; And
And executing a new program file received according to the transfer request.
제 1 항에 있어서,
상기 후킹(Hooking)하는 단계 이전에,
암호화 테이블의 배열 변경을 위한 기 설정된 규칙을 수신하는 단계;를 더 포함하되,
상기 기 설정된 규칙은 프로그램, 운영 체제, 사용자 단말, 다운 기간 중 어느 하나의 기준마다 상이하게 설정된 것임을 특징으로 하는 사용자 단말에서 수행되는 무결성 검사방법.
The method of claim 1,
Before the hooking step,
Receiving a predetermined rule for changing the arrangement of the encryption table;
The predetermined rule is the integrity check method performed in the user terminal, characterized in that differently set for each one of the criteria of the program, operating system, the user terminal, the down period.
제 1 항에 있어서,
상기 프로그램 파일의 고유 코드를 생성하는 단계는 프로그램의 실행 파일, 동적 연결 파일, 데이터 파일 중 적어도 하나의 고유 코드를 생성하는 사용자 단말에서 수행되는 무결성 검사방법.
The method of claim 1,
Generating a unique code of the program file is performed in a user terminal for generating at least one unique code of an executable file, a dynamic link file, and a data file of the program.
기 설정된 규칙에 따라 배열이 변경된 암호화 테이블을 이용하여 프로그램 파일의 고유 코드를 생성하여 저장하는 단계;
사용자 단말로부터 프로그램 파일에 대한 무결성 검사 요청과 함께 사용자 단말에서 생성된 고유 코드가 수신되면, 상기 수신된 고유 코드와 상기 저장된 고유 코드를 비교하여 일치 여부에 따라 무결성을 검사하는 단계; 및
상기 검사 결과를 사용자 단말로 전송하는 단계;를 포함하는 무결성 검사 서버에서 수행되는 무결성 검사 방법.
Generating and storing a unique code of a program file using an encryption table whose arrangement is changed according to a preset rule;
When the unique code generated in the user terminal is received together with the integrity check request for the program file from the user terminal, comparing the received unique code with the stored unique code and checking the integrity according to a match; And
And transmitting the check result to a user terminal.
제 8 항에 있어서,
상기 저장하는 단계는 MD5(Message-Digest algorithm 5)를 이용하여 고유 코드를 생성하는 무결성 검사 서버에서 수행되는 무결성 검사 방법.
The method of claim 8,
The storing may be performed by an integrity checking server generating a unique code using a message-digest algorithm 5 (MD5).
제 8 항 또는 제 9 항에 있어서,
상기 기 설정된 규칙은 프로그램, 운영 체제, 사용자 단말, 다운 기간 중 어느 하나의 기준마다 상이하게 설정된 것임을 특징으로 하는 무결성 검사 서버에서 수행되는 무결성 검사 방법.
10. The method according to claim 8 or 9,
The predetermined rule is an integrity check method performed in the integrity check server, characterized in that differently set for each one of the criteria of the program, the operating system, the user terminal, the down period.
무결성 검사 서버와 데이터 통신을 수행하는 통신부;
프로그램 실행 요청이 입력되면, 프로그램의 실행파일 및 동적 연결 파일이 메모리에 로딩되기 이전에 실행 요청 입력 신호를 후킹(Hooking)하는 후킹부;
기 설정된 규칙에 따라 배열이 변경된 암호화 테이블을 이용하여 상기 후킹부에서 후킹된 프로그램 파일의 고유 코드를 생성하는 암호화부; 및
상기 암호화부에서 생성된 고유 코드를 상기 통신부를 통해 무결성 검사 서버로 전송하고, 상기 통신부를 통해 수신되는 무결성 검사 결과에 따라 무결성이 입증된 경우에 프로그램을 실행을 요청하는 무결성 검사부;를 포함하는 사용자 단말에 구비되는 무결성 검사 장치.
Communication unit for performing data communication with the integrity check server;
A hooking unit for hooking an execution request input signal before the execution file of the program and the dynamic connection file are loaded into the memory, when the program execution request is input;
An encryption unit for generating a unique code of a program file hooked by the hooking unit by using an encryption table whose arrangement is changed according to a preset rule; And
And an integrity checker configured to transmit the unique code generated by the encryption unit to the integrity check server through the communication unit and to execute a program when integrity is verified according to the integrity check result received through the communication unit. Integrity check device provided in the terminal.
제 11항에 있어서,
상기 암호화부는 상기 통신부를 통해 무결성 검사 서버로부터 암호화 테이블의 배열 변경을 위한 기 설정된 규칙을 수신하되, 상기 기 설정된 규칙은 프로그램, 운영 체제, 사용자 단말, 다운 기간 중 어느 하나의 기준마다 상이하게 설정된 것임을 특징으로 하는 사용자 단말에 구비되는 무결성 검사 장치.
12. The method of claim 11,
The encryption unit receives a predetermined rule for changing the arrangement of the encryption table from the integrity check server through the communication unit, wherein the predetermined rule is set differently for any one of a program, an operating system, a user terminal, a down period. Integrity check device provided in the user terminal.
제 11항 또는 제 12항에 있어서,
상기 무결성 검사부는 무결성이 입증되지 않은 경우, 상기 통신부를 통해 무결성 검사 서버로 해당 프로그램의 최초 파일을 요청하는 사용자 단말에 구비되는 무결성 검사 장치.
13. The method according to claim 11 or 12,
The integrity checker is provided in the user terminal for requesting the first file of the program to the integrity check server through the communication unit, if the integrity is not verified.
제 11항 또는 제 12항에 있어서,
상기 암호화부는 MD5(Message-Digest algorithm 5)를 이용하여 고유 코드를 생성하는 사용자 단말에 구비되는 무결성 검사 장치.
13. The method according to claim 11 or 12,
The encryption unit is provided in the user terminal for generating a unique code using a message-digest algorithm 5 (MD5).
사용자 단말과 통신을 수행하는 통신부;
프로그램 파일의 고유 코드를 저장하는 저장부;
기 설정된 규칙에 따라 배열이 변경된 암호화 테이블을 이용하여 프로그램 파일의 고유 코드를 생성하여 상기 저장부에 저장하는 암호화부; 및
상기 통신부를 통해 사용자 단말로부터 프로그램 파일에 대한 무결성 검사 요청과 함께 사용자 단말에서 생성된 고유 코드가 수신되면, 상기 수신된 고유 코드와 상기 저장부에 저장된 고유 코드를 비교하여 일치 여부에 따라 무결성을 검사하고, 상기 통신부를 통해 무결성 검사결과를 사용자 단말로 전송하는 코드 비교부;를 포함하는 무결성 검사 서버에 구비되는 무결성 검사 장치.
Communication unit for performing communication with the user terminal;
A storage unit for storing the unique code of the program file;
An encryption unit for generating a unique code of a program file using an encryption table whose arrangement is changed according to a preset rule and storing the unique code of the program file in the storage unit; And
When the unique code generated in the user terminal is received from the user terminal together with the integrity check request for the program file through the communication unit, the received unique code is compared with the unique code stored in the storage unit to check the integrity according to the match. And a code comparator for transmitting an integrity test result to the user terminal through the communication unit.
제 15 항에 있어서,
상기 암호화부는 MD5(Message-Digest algorithm 5)를 이용하여 고유 코드를 생성하는 무결성 검사 서버에 구비되는 무결성 검사 장치.
The method of claim 15,
The encryption unit is provided in the integrity check server for generating a unique code using a message-digest algorithm 5 (MD5).
제 15 항 또는 제 16 항에 있어서,
상기 기 설정된 규칙은 프로그램, 운영 체제, 사용자 단말, 다운 기간 중 어느 하나의 기준마다 상이하게 설정된 것임을 특징으로 하는 무결성 검사 서버에 구비되는 무결성 검사 장치.
17. The method according to claim 15 or 16,
The predetermined rule is an integrity check device provided in the integrity check server, characterized in that differently set for each one of the criteria of the program, operating system, user terminal, down period.
KR1020110110172A 2011-10-26 2011-10-26 Method and apparatus for integrity check of software KR101320680B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110110172A KR101320680B1 (en) 2011-10-26 2011-10-26 Method and apparatus for integrity check of software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110110172A KR101320680B1 (en) 2011-10-26 2011-10-26 Method and apparatus for integrity check of software

Publications (2)

Publication Number Publication Date
KR20130045759A KR20130045759A (en) 2013-05-06
KR101320680B1 true KR101320680B1 (en) 2013-11-21

Family

ID=48657707

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110110172A KR101320680B1 (en) 2011-10-26 2011-10-26 Method and apparatus for integrity check of software

Country Status (1)

Country Link
KR (1) KR101320680B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101783159B1 (en) * 2016-05-04 2017-10-23 남승리 Apparatus and method of detecting intrusion of into files on computer network

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101700413B1 (en) * 2015-09-24 2017-02-13 주식회사 오앤파트너스 Method and system for integrity check of integrit of program
KR101809018B1 (en) * 2016-04-20 2017-12-14 주식회사 이디엄 Method for Generating Column-Oriented File
WO2020013354A1 (en) * 2018-07-10 2020-01-16 엘지전자 주식회사 Method for operating in-vehicle firewall

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060083850A (en) * 2005-01-18 2006-07-21 마이크로소프트 코포레이션 Systems and methods for validating executable file integrity using partial image hashes
KR20100054940A (en) * 2008-11-17 2010-05-26 포항공과대학교 산학협력단 Apparatus and method for preventing malware using signature verification for embedded linux
KR20110067417A (en) * 2009-12-14 2011-06-22 삼성전자주식회사 Method and apparatus for data encrypting and method and apparatus for data deciphering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060083850A (en) * 2005-01-18 2006-07-21 마이크로소프트 코포레이션 Systems and methods for validating executable file integrity using partial image hashes
KR20100054940A (en) * 2008-11-17 2010-05-26 포항공과대학교 산학협력단 Apparatus and method for preventing malware using signature verification for embedded linux
KR20110067417A (en) * 2009-12-14 2011-06-22 삼성전자주식회사 Method and apparatus for data encrypting and method and apparatus for data deciphering

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101783159B1 (en) * 2016-05-04 2017-10-23 남승리 Apparatus and method of detecting intrusion of into files on computer network

Also Published As

Publication number Publication date
KR20130045759A (en) 2013-05-06

Similar Documents

Publication Publication Date Title
US10055576B2 (en) Detection of malicious software packages
KR102419574B1 (en) Systems and methods for correcting memory corruption in computer applications
US20200106775A1 (en) Method, device, system for authenticating an accessing terminal by server, server and computer readable storage medium
US10963543B2 (en) Secure communication between operating system and processes
EP2169582B1 (en) Method and apparatus for determining software trustworthiness
JP5460698B2 (en) Secure application streaming
JP2017004521A (en) Method and device for controlling communication of endpoint in industrial enterprise system based on integrity
NO337222B1 (en) Automatic detection and repair of vulnerable files
EP2946327A1 (en) Systems and methods for identifying and reporting application and file vulnerabilities
JP6385842B2 (en) Information processing terminal, information processing method, and information processing system
CN104573435A (en) Method for terminal authority management and terminal
KR101320680B1 (en) Method and apparatus for integrity check of software
US11449602B1 (en) Systems and methods for generating trust binaries
JP4923925B2 (en) Check program, monitoring device, and monitoring method
US9965625B2 (en) Control system and authentication device
CN111224826B (en) Configuration updating method, device, system and medium based on distributed system
CN109933351B (en) Method and device for repairing and upgrading Linux system
Choi et al. Large-scale analysis of remote code injection attacks in android apps
JP2018142078A (en) Information processing system and information processing method
JP7104574B2 (en) Computer asset management system and computer asset management method
US11822647B1 (en) Data structure for trust store
CN110677483B (en) Information processing system and trusted security management system
US10637877B1 (en) Network computer security system
CN111008395B (en) Method and device for protecting USB flash disk
CN113157543A (en) Credibility measuring method and device, server and computer readable storage medium

Legal Events

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

Payment date: 20161008

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171010

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180730

Year of fee payment: 6