KR101516313B1 - Method for detecting tampering of software - Google Patents

Method for detecting tampering of software Download PDF

Info

Publication number
KR101516313B1
KR101516313B1 KR1020140144743A KR20140144743A KR101516313B1 KR 101516313 B1 KR101516313 B1 KR 101516313B1 KR 1020140144743 A KR1020140144743 A KR 1020140144743A KR 20140144743 A KR20140144743 A KR 20140144743A KR 101516313 B1 KR101516313 B1 KR 101516313B1
Authority
KR
South Korea
Prior art keywords
signature
software
program
management target
authentication
Prior art date
Application number
KR1020140144743A
Other languages
Korean (ko)
Inventor
염태진
강명환
Original Assignee
(주)지란지교시큐리티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)지란지교시큐리티 filed Critical (주)지란지교시큐리티
Priority to KR1020140144743A priority Critical patent/KR101516313B1/en
Application granted granted Critical
Publication of KR101516313B1 publication Critical patent/KR101516313B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

A software modulation detection method is disclosed. According to an embodiment of the present invention, the software modulation detection method allows for the execution of installed software only when a signature extracted from the software is authenticated.

Description

소프트웨어 변조 탐지 방법{Method for detecting tampering of software}METHOD FOR DETECTING SOFTWARE MODIFICATIONS

본 발명은 응용프로그램 등의 소프트웨어에 대한 위조 또는 변조를 탐지하는 방법에 관한 것이다.
The present invention relates to a method for detecting tampering or tampering with software such as an application program.

근래에는 하드웨어뿐 아니라, 소프트웨어의 중요성이 커지고 있다. 소프트웨어로는 컴퓨터를 구동시키기 위한 운영체제뿐 아니라 다양한 목적에 따른 각종 응용프로그램들이 존재하는데, 최근에는 스마트폰 등의 모바일 기기에도 다수의 응용프로그램을 설치하여 이용하는 사용자들이 늘고 있다.In recent years, the importance of software as well as hardware has increased. There are various application programs for various purposes as well as an operating system for running the computer as software. Recently, there are more and more users who install and use a large number of application programs in a mobile device such as a smart phone.

일반적으로 소프트웨어는 미리 컴파일이 된 이진코드형태를 갖는데, 이러한 이진코드형태는 역컴파일과정이나 역공학 기법과 같은 방법으로 분석됨에 따라, 개발자가 아닌 타인이 이진코드의 분석과정을 통해 해당 소프트웨어의 내부 정보를 추출할 수 있다. 뿐만 아니라, 악의적인 목적을 갖는 공격자가 상술한 역공학 기법 등을 이용한 분석을 통해 중요한 부분을 변조하여, 해당 소프트웨어가 개발자의 의도와는 다르게 수행하는 등과 같은 공격을 할 수 있다.In general, software has a precompiled binary code form. This type of binary code is analyzed in the same way as reverse compilation process or reverse engineering technique, so that a non-developer can analyze the binary code through the analysis process of the binary code Information can be extracted. In addition, an attacker with malicious intent can attack an important part of the software through analysis using the above-described reverse engineering techniques, etc., and execute the software differently from the intention of the developer.

이처럼, 악의적인 목적을 갖는 공격자 또는 타인으로부터 해당 소프트웨어를 보호하기 위해, 소프트웨어에 대한 다양한 보호방법이 연구되고 있는 것이 현실이다.Thus, in order to protect the software from malicious intruders or others, various protection methods for the software are being studied.

일례로는 소프트웨어의 해쉬값을 서버에 미리 저장해두고, 해당 소프트웨어인 프로그램이 실행될 때마다 서버에 문의하여 그 해쉬값에 의한 비교를 통해 변조 여부를 판단하는 방식이 이용되고 있다.For example, a hash value of the software is stored in advance in a server, and the software is inquired to the server each time the program is executed, and the tampering is determined by comparing the hash value with the hash value.

하지만 소프트웨어는 수시로 업데이트되는 경우가 많은데, 업데이트될 때마다 그 해쉬값도 추출하여 저장하는 업데이트 과정을 함께 해줘야 하는 번거로움이 있으며, 오류에 의해 해쉬값이 업데이트되지 않으면 변조된 프로그램이라 판단될 수 있는 문제가 있다.However, there are many cases where the software is frequently updated. It is troublesome to update the hash value every time it is updated, and if the hash value is not updated due to an error, there is a problem.

또한, 서버측에서 해쉬값에 의한 변조 여부를 판단하게 되면, 컴퓨팅 장치와 서버간의 통신 도중 인증 정보가 손실되거나 해커에 의한 변조 가능성이 존재하여 보안에 취약하다는 문제가 있다.
In addition, if the server side determines whether the hash value is modulated, there is a problem in that authentication information is lost during communication between the computing device and the server or there is a possibility of tampering by a hacker, which is vulnerable to security.

대한민국 공개특허 제10-2013-0020861 (2013년03월04일) 자가암호화를 이용한 소프트웨어 변조방지 방법Korean Patent Publication No. 10-2013-0020861 (March 04, 2013) Method for preventing software tampering using self-encryption

따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 소프트웨어가 업데이트 되더라도 변조 탐지를 위한 인증정보를 변경할 필요가 없는 소프트웨어 변조 탐지 방법 및 그 방법을 실행하는 프로그램이 기록된 기록매체를 제공하기 위한 것이다.SUMMARY OF THE INVENTION Accordingly, the present invention has been made in view of the above problems, and it is an object of the present invention to provide a software modulation detection method that does not require modification of authentication information for detecting a modulation even if software is updated, and a recording medium on which a program for executing the method is recorded .

또한, 본 발명은 컴퓨팅 장치에서 직접 소프트웨어에 대한 변조 여부를 탐지함으로써, 통신에 의한 인증 자체의 변조를 방지할 수 있는 소프트웨어 변조 탐지 방법을 제공하기 위한 것이다.The present invention also provides a software modulation detection method capable of preventing tampering of authentication by communication by detecting tampering with software directly in a computing device.

본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.
Other objects of the present invention will become more apparent through the following preferred embodiments.

본 발명의 일 측면에 따르면, 설치된 소프트웨어로부터 추출된 시그니처를 대상으로 하는 인증이 성공되는 경우에만 상기 소프트웨어의 실행을 허용하는 것을 특징으로 하는 소프트웨어 변조 탐지 방법 및 그 방법을 실행하는 프로그램 기록된 기록매체가 제공된다.According to an aspect of the present invention, a software modulation detection method and a program for executing the method are provided that allow execution of the software only when authentication targeting a signature extracted from the installed software is successful. Is provided.

여기서, 상기 시그니처를 복호화키로 이용하여 미리 저장된 암호화된 파일이 정상 복호되는지 여부에 의해 상기 인증에 대한 성공 여부를 결정할 수 있다.
Here, the signature may be used as a decryption key to determine whether or not the authentication is successful depending on whether or not a previously stored encrypted file is normally decrypted.

그리고, 컴퓨팅 장치에서 수행되는 소프트웨어 변조 탐지 방법에 있어서, 관리 대상인 프로그램들의 리스트를 미리 저장하는 단계; 상기 리스트에 포함된 관리대상 프로그램의 실행이 요청되면, 상기 관리대상 프로그램의 시그니처를 추출하는 단계; 상기 시그니처를 이용하여 상기 관리대상 프로그램에 대한 변조 여부를 인증처리하는 단계; 및 인증이 성공되는 경우에만 상기 관리대상 프로그램의 실행을 허용하는 단계를 포함하는 소프트웨어 변조 탐지 방법 및 그 방법을 실행하는 프로그램 기록된 기록매체가 제공된다.In the method of detecting a software modulation performed in a computing device, a step of storing a list of programs to be managed in advance; Extracting a signature of the management target program when the management target program included in the list is requested to be executed; Authenticating whether to modulate the management target program using the signature; And allowing the execution of the managed program only when the authentication is successful, and a recording medium on which the program for executing the method is recorded.

여기서, 상기 인증처리하는 단계는, 미리 저장된 상기 관리대상 프로그램의 정상 시그니처와 상기 시그니처를 비교하고, 동일하다 판단되는 경우 인증 성공 처리할 수 있다.Here, the authenticating process may compare the normal signature of the management target program stored in advance with the signature, and may perform the authentication success process if the signature is determined to be the same.

또한, 상기 정상 시그니처와 상기 시그니처가 동일하지 않는 경우, 상기 시그니처가 미리 저장된 블랙리스트에 포함되는지 여부를 판단하고, 포함되는 것으로 판단되는 경우 상기 관리대상 프로그램을 삭제할 수 있다.If the normal signature and the signature do not match, it is determined whether the signature is included in a blacklist that is stored in advance. If the signature is determined to be included, the managed program may be deleted.

또한, 상기 관리대상 프로그램이 설치될 때, 상기 관리대상 프로그램에 대한 인증이 미리 설정된 서버장치에서 성공되는 경우 상기 관리대상 프로그램의 원본 시그니처 중 일부인 간편 시그니처를 미리 설정된 추출방식에 의해 추출하여 저장하는 단계를 더 포함하되, 상기 인증처리하는 단계는 상기 관리대상 프로그램으로부터 추출된 시그니처를 상기 추출방식에 의해 일부를 추출하여 상기 간편 시그니처와 비교함으로써 수행될 수 있다.Also, when the management target program is installed, when the authentication of the management target program is successful in the predetermined server device, extracting and storing the simple signatures, which are a part of the original signatures of the management target program, The authentication processing may be performed by extracting a portion of the signature extracted from the management target program by the extraction method and comparing the extracted portion with the simple signature.

또한, 상기 인증처리하는 단계는, 상기 시그니처의 전체 또는 일부를 복호화키로 이용하여 미리 저장된 암호화정보를 복호화하는 단계; 및 상기 암호화정보가 정상적으로 복호되는지 여부를 판단하여 인증 성공 여부를 결정하는 단계를 포함할 수 있다.The authenticating process may include decrypting the stored encryption information using all or a part of the signature as a decryption key, And determining whether the encryption information is normally decrypted and deciding whether or not the authentication is successful.

또한, 상기 암호화정보는 상기 관리대상 프로그램의 해쉬값일 수 있다.
The encryption information may be a hash value of the management target program.

본 발명에 따르면, 시그니처를 소프트웨어의 변조 탐지에 활용함으로써, 소프트웨어가 업데이트 되더라도 인증정보를 변경할 필요가 없다. According to the present invention, by using the signature for the modulation detection of the software, there is no need to change the authentication information even if the software is updated.

또한 본 발명에 따르면, 컴퓨팅 장치에서 직접 소프트웨어에 대한 변조 여부를 탐지함으로써, 통신에 의한 인증 자체의 변조를 방지할 수 있다.Further, according to the present invention, it is possible to prevent tampering of authentication by communication by detecting whether or not the software directly modulates the software.

또한, 본 발명에 따르면 시그니처의 비교 방식 외에도 시그니처를 복호화키로 이용하여 인증함으로써 시그니처를 그대로 저장할 필요가 없어 인증정보의 변조에도 대응할 수 있다.
Further, according to the present invention, in addition to the signature comparison method, there is no need to store the signature as it is by authenticating the signature using the decryption key, thereby coping with the modulation of the authentication information.

도 1은 본 발명의 일 실시예에 따른 소프트웨어 변조 탐지의 개략적인 과정을 도시한 흐름도.
도 2 및 도 3은 본 발명의 각 실시예에 따른 시그니처의 인증 방식을 도시한 흐름도들.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a flow diagram illustrating a schematic process of software modulation detection in accordance with one embodiment of the present invention.
2 and 3 are flowcharts illustrating an authentication method of a signature according to each 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.

이하, 첨부한 도면들을 참조하여 본 발명에 따른 실시예들을 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어 도면 부호에 상관없이 동일하거나 대응하는 구성 요소는 동일한 참조번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout the specification and claims. The description will be omitted.

도 1은 본 발명의 일 실시예에 따른 소프트웨어 변조 탐지의 개략적인 과정을 도시한 흐름도이다.1 is a flow chart illustrating a schematic process of software modulation detection in accordance with an embodiment of the present invention.

도 1을 참조하면, 컴퓨팅 장치는 위조 또는 변조 여부를 탐지하기 위한 소프트웨어의 시그니처(signature)에 대한 정보를 추출하고(S10), 추출된 시그니처를 이용한 인증을 처리한다(S20).Referring to FIG. 1, a computing device extracts information about a signature of software for detecting whether or not a signature is forged or tampered (S10), and processes authentication using the extracted signature (S20).

시그니처란 운영체제, 응용프로그램과 같은 소프트웨어를 제작한 제작자의 전자서명이다. 본 실시예에서는 소프트웨어의 변조를 탐지하는데, 해당 소프트웨어의 시그니처를 이용한다. 일반적으로 소프트웨어의 시그니처는 개발자의 개인키를 이용하여 생성되는데, 개인키가 노출되지 않는 이상 해당 소프트웨어를 위조 또는 변조하는 자는 동일한 시그니처를 만들어 낼 수 없다. 따라서, 위조 또는 변조된 소프트웨어는 정상적인 소프트웨어와 다른 시그니처를 갖게 되므로, 본 실시예에 따르면 이러한 시그니처를 이용하여 위변조 소프트웨어를 탐지하는 것이다. 시그니처에 대한 상세한 내용 및 소프트웨어의 시그니처를 추출하는 방식은 당업자에게는 자명할 것이므로 더욱 상세한 설명은 생략한다. 그리고, 소프트웨어로부터 추출한 시그니처를 이용한 인증 방식은 차후 상세히 설명하기로 한다.A signature is an electronic signature of a maker of software such as an operating system or an application program. In this embodiment, the signature of the software is used to detect the tampering of the software. Generally, software signatures are created using the developer's private key, and anyone who falsifies or modifies that software can not create the same signature unless the private key is exposed. Thus, forged or modulated software will have different signatures than normal software, and according to the present embodiment, such signatures will be used to detect forgery software. The details of the signature and the manner of extracting the signature of the software will be obvious to those skilled in the art and will not be described in further detail. The authentication method using the signature extracted from the software will be described later in detail.

컴퓨팅 장치는 인증이 성공되는 경우에만 해당 소프트웨어의 실행을 허용한다(S30).The computing device allows execution of the software only when the authentication is successful (S30).

쉽게 말해 인증된 시그니처를 갖는 소프트웨어에 대해서만 실행을 허용함으로써, 위조 또는 변조된 소프트웨어의 실행을 차단할 수 있다.In other words, by allowing execution only for software with an authenticated signature, execution of counterfeit or tampered software can be blocked.

이하, 시그니처를 이용한 인증 방식에 대해 상세히 설명하기로 한다.
Hereinafter, an authentication method using a signature will be described in detail.

도 2 및 도 3은 본 발명의 각 실시예에 따른 시그니처의 인증 방식을 도시한 흐름도들이다.FIG. 2 and FIG. 3 are flowcharts illustrating an authentication method of a signature according to each embodiment of the present invention.

먼저 일례에 따른 도 2를 참조하면, 관리 대상인 프로그램들(이하 관리대상 프로그램이라 칭함)의 리스트를 미리 저장하고, 관리대상 프로그램들의 정상 시그니처를 미리 저장한다(S210). 쉽게 말해 정상적인 소프트웨어라 인증된 관리대상 프로그램이 설치되면, 해당 관리대상 프로그램의 시그니처 정보가 정상 시그니처로서 미리 저장되는 것이다. 정상 시그니처에 대한 정보는 컴퓨팅 장치 자체에 저장될 수 있다. 여기서, 일례에 따르면 컴퓨팅 장치는 관리대상 프로그램이 최초 설치될 때, 미리 설정된 관리서버(미도시)로 관리대상 프로그램에 대한 식별정보(예를 들어, 시리얼 정보 등)를 제공하여 해당 소프트웨어가 정상적인지 여부에 대한 인증 절차를 수행하고, 인증되는 경우에만 설치를 진행할 수 있다. 물론 설치 시에도 컴퓨팅 장치는 관리대상 프로그램의 시그니처를 추출하여 이를 관리 서버에 문의함으로써 정상인지 여부를 판단할 수도 있다.Referring to FIG. 2 according to an example, a list of programs to be managed (hereinafter referred to as a management target program) is stored in advance and a normal signature of the programs to be managed is stored in advance (S210). In other words, when a management target program authenticated as normal software is installed, the signature information of the management target program is stored in advance as a normal signature. Information about normal signatures can be stored in the computing device itself. According to an exemplary embodiment, when the management target program is installed for the first time, the computing device provides identification information (e.g., serial information) about the management target program to a predetermined management server (not shown) , And the installation can proceed only if it is authenticated. Of course, at the time of installation, the computing device may also determine whether the signature is normal by extracting the signature of the program to be managed and inquiring the management server of the signature.

차후, 실행 명령이 입력된 프로그램(이하 실행 프로그램이라 칭함)이 관리대상 프로그램인 경우, 컴퓨팅 장치는 실행 프로그램의 시그니처를 추출하고, 이를 S210에서 실행 프로그램에 상응하도록 미리 저장한 시그니처와 비교한다(S220).When the program into which the execution command is input (hereinafter referred to as the execution program) is the management target program, the computing device extracts the signature of the execution program and compares the signature with the signature previously stored in S210 corresponding to the execution program (S220 ).

컴퓨팅 장치는 비교 결과 동일한지 여부를 판단하고(S230), 동일하다면 관리대상 프로그램의 실행을 허용한다(S240). The computing device determines whether the comparison result is the same (S230), and if it is the same, permits the execution of the program to be managed (S240).

이와 달리 비교 결과 동일하지 않은 경우, 컴퓨팅 장치는 해당 관리대상 프로그램의 실행을 차단할 수 있다. 일례에 따르면 관리대상 프로그램의 시그니처가 미리 설정되어 저장된 블랙리스트에 포함되는지 여부를 더 판단하고(S250), 포함되었다면 해당 관리대상 프로그램을 삭제한다(S260). 시그니처가 블랙리스트로 관리되는 것이라면, 해당 프로그램은 악질 제작자에 의해 위조 또는 변조된 프로그램일 확률이 높으므로, 삭제하는 것이 바람직할 수 있기 때문이다.Otherwise, if the comparison result is not the same, the computing device can block execution of the corresponding managed program. According to an example, it is further determined whether the signature of the program to be managed is included in the preset blacklist (S250), and if the program is included, the program is deleted (S260). If the signature is to be managed in a blacklist, it may be desirable to delete the program, since the program is likely to be a program falsified or altered by the bad creator.

본 실시예에서는 관리대상 프로그램으로부터 추출된 시그니처를 그대로 사용하는 것을 위주로 설명하였으나, 다른 실시예에 따르면 시그니처 정보 중 일부를 미리 설정된 추출방식에 따라 추출하여 이용할 수도 있다. 쉬운 예를 들자면, 시그니처가 16비트 정보인 경우, 뒤 8비트 정보만을 추출하던지, 짝수 비트에 따른 정보만을 추출한 간편 시그니처를 이용할 수도 있다. 다시 말해 관리대상 프로그램이 설치될 때, 관리대상 프로그램에 대한 인증이 미리 설정된 서버장치에서 성공되는 경우 관리대상 프로그램의 원본 시그니처 중 일부인 간편 시그니처를 미리 설정된 추출방식에 의해 추출하여 저장하는 것이다. 그리고, 해당 관리대상 프로그램의 시그니처를 인증처리 할 때, 관리대상 프로그램으로부터 추출된 시그니처를 상술한 추출방식에 의해 일부를 추출하여 간편 시그니처와 비교함으로써 인증처리를 수행하는 것이다.In the present embodiment, the signatures extracted from the program to be managed are used as they are. However, according to another embodiment, some of the signature information may be extracted and used according to a predetermined extraction method. As an easy example, if the signature is 16-bit information, only the following 8-bit information may be extracted, or a simple signature may be used in which only information according to even bits is extracted. That is, when the management target program is installed and the authentication of the management target program is successful in the predetermined server device, the simple signature which is a part of the original signatures of the management target program is extracted and stored by a preset extraction method. Then, when the signature of the management target program is authenticated, the signature extracted from the management target program is extracted by the extraction method described above and compared with the simple signature to perform the authentication processing.

이러한 간편 시그니처를 이용하게 되면 정보의 양이 줄어 비교 처리가 빠르며 저장용량을 줄일 수 있는 효과가 있을 뿐 아니라, 시그니처를 그대로 이용하지 않고 가공함으로써 인증 절차에 대한 보안을 강화할 수 있는 효과도 있다.The use of these simple signatures reduces the amount of information, speeding up the comparison process and reducing the storage capacity, and also enhances the security of the authentication procedure by processing without using the signatures.

시그니처를 이용한 다른 인증 방식을 도시한 도 3을 참조하면, 컴퓨팅 장치는 소프트웨어 즉 관리대상 프로그램으로부터 추출된 시그니처의 전체 또는 일부를 복호화키로 이용하여 미리 저장된 암호화된 정보인 특정 정보를 복호화 시도한다(S310). 즉, 추출된 시그니처를 복호화키로써 이용하여 암호화된 정보를 복호화하는 것이다.Referring to FIG. 3 illustrating another authentication method using signatures, the computing device attempts to decrypt specific information, which is encrypted and stored in advance, using all or a part of signatures extracted from software or a program to be managed as a decryption key (S310 ). That is, the extracted signature is decrypted using the decryption key.

그 결과 복호가 정상적으로 수행되었는지 여부를 판단함으로써(S320), 컴퓨팅 장치는 복호가 정상적으로 성공되면 해당 관리대사 프로그램의 실행을 허용한다(S330).As a result, the computing device determines whether the decryption has been normally performed (S320). If the decryption is normally successful, the computing device permits execution of the corresponding management metabolism program (S330).

예를 들어, [실행가능]이라는 텍스트 정보를 암호화하여 저장하되, 도 2를 참조하여 설명한 바와 같은 정상 시그니처를 복호화키로 갖도록 암호화하는 것이다. 이후, 관리대상 프로그램을 실행하고자 할 때, 관리대상 프로그램으로부터 시그니처를 추출하고, 시그니처를 복호화키로 이용하여 상술한 암호화된 정보를 복호 시도하는 것이다. 만일 복호 시도 결과 [실행가능]이라는 텍스트가 정상적으로 복호된다면, 관리대상 프로그램은 위조 또는 변조되지 않은 프로그램이라 판단될 수 있으므로 실행을 허용한다.For example, the text information [executable] is encrypted and stored, but the normal signature as described with reference to FIG. 2 is encrypted so as to have a decryption key. Thereafter, when a program to be managed is to be executed, a signature is extracted from the program to be managed and an attempt is made to decrypt the encrypted information using the signature as a decryption key. If the text [executable] is normally decoded as a result of the decoding attempt, the managed program may be judged to be a program that is not falsified or unmodified, and therefore allowed to be executed.

본 실시예에 따르면, 컴퓨팅 장치는 관리대상 프로그램들의 정상 시그니처에 대한 정보를 저장하지 않아도 되어 인증정보의 변조에도 대응할 수 있다는 장점이 있다.According to the present embodiment, the computing device does not need to store information on the normal signature of the programs to be managed, and is capable of coping with the modulation of the authentication information.

여기서, 일례에 따르면, 시그니처를 복호화키로 이용하여 복호화하는 암호화된 정보는 예를 들어 해당 관리대상 프로그램의 해쉬값일 수 있다. 예를 들어, 관리대상 프로그램이 최초 설치될 때, 그 해쉬값을 추출하고 이를 상술한 바와 같은 인증을 위한 암호화된 정보로서 이용하는 것이다. 물론 이에 한정되는 것은 아니며, 암호화된 정보는 해당 프로그램의 명칭 등 다양한 정보가 이용될 수 있음은 당연하다.
Here, according to an example, the encrypted information to be decrypted using the signature as the decryption key may be a hash value of the corresponding management target program, for example. For example, when a managed program is installed for the first time, it extracts the hash value and uses it as encrypted information for authentication as described above. Of course, the present invention is not limited to this, and it is a matter of course that various information such as the name of the program may be used as the encrypted information.

상술한 본 발명에 따른 소프트웨어 변조 탐지 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다. The above-described software modulation detection method according to the present invention can be implemented as a computer-readable code on a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording media storing data that can be decoded by a computer system. For example, it may be a ROM (Read Only Memory), a RAM (Random Access Memory), a magnetic tape, a magnetic disk, a flash memory, an optical data storage device, or the like. In addition, the computer-readable recording medium may be distributed and executed in a computer system connected to a computer network, and may be stored and executed as a code readable in a distributed manner.

또한, 상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention as defined in the appended claims. It will be understood that various modifications and changes may be made.

Claims (9)

삭제delete 삭제delete 컴퓨팅 장치에서 수행되는 소프트웨어 변조 탐지 방법에 있어서,
관리 대상인 프로그램들의 리스트 및 하나 이상의 암호화정보를 미리 저장하는 단계;
상기 리스트에 포함된 관리대상 프로그램의 실행이 요청되면, 상기 관리대상 프로그램의 시그니처를 추출하는 단계;
상기 시그니처의 전체 또는 일부를 복호화키로 이용하여 상기 암호화정보를 복호화하는 단계;
상기 암호화정보가 정상적으로 복호되는지 여부를 판단함으로써, 상기 관리대상 프로그램에 대한 변조 여부를 인증하는 단계; 및
인증이 성공되는 경우에만 상기 관리대상 프로그램의 실행을 허용하는 단계를 포함하는 소프트웨어 변조 탐지 방법.
A method of software modulation detection in a computing device,
Storing a list of programs to be managed and one or more pieces of encryption information in advance;
Extracting a signature of the management target program when the management target program included in the list is requested to be executed;
Decrypting the encryption information using all or part of the signature as a decryption key;
Authenticating whether or not the management target program is tampered by determining whether or not the encryption information is normally decrypted; And
Allowing execution of the managed program only when authentication is successful.
삭제delete 청구항 3에 있어서,
상기 인증이 실패된 경우, 상기 시그니처가 미리 저장된 블랙리스트에 포함되는지 여부를 판단하고, 포함되는 것으로 판단되는 경우 상기 관리대상 프로그램을 삭제하는 것을 특징으로 하는 소프트웨어 변조 탐지 방법.
The method of claim 3,
Determining whether the signature is included in a pre-stored black list if the authentication fails, and deleting the managed program if it is determined to be included.
삭제delete 삭제delete 청구항 3에 있어서,
상기 암호화정보는 상기 관리대상 프로그램의 해쉬값인 것을 특징으로 하는 소프트웨어 변조 탐지 방법.
The method of claim 3,
And the encryption information is a hash value of the management target program.
제 3항, 제 5항 및 제 8항 중 어느 한 항의 방법을 수행하기 위한 프로그램이 컴퓨터가 읽을 수 있도록 기록된 기록 매체.A recording medium on which a program for performing the method according to any one of claims 3, 5, and 8 is recorded so as to be read by a computer.
KR1020140144743A 2014-10-24 2014-10-24 Method for detecting tampering of software KR101516313B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140144743A KR101516313B1 (en) 2014-10-24 2014-10-24 Method for detecting tampering of software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140144743A KR101516313B1 (en) 2014-10-24 2014-10-24 Method for detecting tampering of software

Publications (1)

Publication Number Publication Date
KR101516313B1 true KR101516313B1 (en) 2015-05-11

Family

ID=53393444

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140144743A KR101516313B1 (en) 2014-10-24 2014-10-24 Method for detecting tampering of software

Country Status (1)

Country Link
KR (1) KR101516313B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101277517B1 (en) * 2012-12-04 2013-06-21 주식회사 안랩 Apparatus and method for detecting falsified application
KR101436536B1 (en) * 2013-06-19 2014-09-01 숭실대학교산학협력단 File server, file transfer method thereof and file tamperproof system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101277517B1 (en) * 2012-12-04 2013-06-21 주식회사 안랩 Apparatus and method for detecting falsified application
KR101436536B1 (en) * 2013-06-19 2014-09-01 숭실대학교산학협력단 File server, file transfer method thereof and file tamperproof system

Similar Documents

Publication Publication Date Title
CN102855274B (en) The method and apparatus that a kind of suspicious process detects
US7779478B2 (en) System and method for distributed module authentication
US7526654B2 (en) Method and system for detecting a secure state of a computer system
US9514305B2 (en) Code pointer authentication for hardware flow control
KR101503785B1 (en) Method And Apparatus For Protecting Dynamic Library
US8667284B2 (en) Detection of invalid escrow keys
CN106295350B (en) identity verification method and device of trusted execution environment and terminal
CN108229144B (en) Verification method of application program, terminal equipment and storage medium
CN110830257B (en) File signature method and device, electronic equipment and readable storage medium
CN104123488A (en) Method and device for verifying application program
US10339307B2 (en) Intrusion detection system in a device comprising a first operating system and a second operating system
CN112000933B (en) Application software activation method and device, electronic equipment and storage medium
CN114172720A (en) Ciphertext attack flow detection method and related device
CN103034810A (en) Detection method and detection device and electronic device
CN104955043B (en) A kind of intelligent terminal security protection system
KR101630462B1 (en) Apparatus and Method for Securing a Keyboard
CN115357908B (en) Network equipment kernel credibility measurement and automatic restoration method
KR101516313B1 (en) Method for detecting tampering of software
CN116821923A (en) Protection method and device for protecting computer memory data security
CN109189450A (en) A kind of method and device of server firmware upgrading
US20160335457A1 (en) Localized pin management with reader verification and no disclosure
CN112507302B (en) Calling party identity authentication method and device based on execution of cryptographic module
CN111046440B (en) Tamper verification method and system for secure area content
CN104866761B (en) A kind of high security Android intelligent terminal
WO2010151102A1 (en) Remote destroy mechanism using trusted platform module

Legal Events

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

Payment date: 20180423

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190409

Year of fee payment: 5