KR20210147494A - 함수 어드레스 위변조 검출 방법, 컴퓨터가 판독가능한 기록매체 및 클라이언트 단말 장치 - Google Patents

함수 어드레스 위변조 검출 방법, 컴퓨터가 판독가능한 기록매체 및 클라이언트 단말 장치 Download PDF

Info

Publication number
KR20210147494A
KR20210147494A KR1020200064824A KR20200064824A KR20210147494A KR 20210147494 A KR20210147494 A KR 20210147494A KR 1020200064824 A KR1020200064824 A KR 1020200064824A KR 20200064824 A KR20200064824 A KR 20200064824A KR 20210147494 A KR20210147494 A KR 20210147494A
Authority
KR
South Korea
Prior art keywords
function address
function
data
address data
forgery
Prior art date
Application number
KR1020200064824A
Other languages
English (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 KR1020200064824A priority Critical patent/KR20210147494A/ko
Publication of KR20210147494A publication Critical patent/KR20210147494A/ko

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/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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/52Monitoring 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

클라이언트 단말의 함수 어드레스 위변조 검출 방법이 개시된다. 클라이언트 단말의 함수 어드레스 위변조 검출 방법은 복수의 함수 어드레스 데이터를 포함하는 함수 어드레스 리스트를 생성하는 단계, 복수의 함수 어드레스 데이터 중 기설정된 데이터를 포함하는 함수 어드레스 데이터를 검출하는 단계 및 기설정된 데이터를 포함하는 함수 어드레스 데이터가 검출되면 함수 어드레스 리스트가 위변조된 것으로 판단하는 단계를 포함한다. 이에 따라, 기설정된 데이터가 포함되어 있는지 여부에 따라 함수 어드레스 리스트의 위변조 여부를 판단하여 클라이언트 장치의 해킹 여부를 판단할 수 있게 된다.

Description

함수 어드레스 위변조 검출 방법, 컴퓨터가 판독가능한 기록매체 및 클라이언트 단말 장치{FUNCTION ADDRESS HACKING DETECTION METHOD, COMPUTER-READABLE RECORDING MEDIUM AND CLIENT TERMINAL DEVICE}
본 발명은 함수 어드레스 위변조 검출 방법, 컴퓨터가 판독가능한 기록매체 및 클라이언트 단말 장치에 관한 것으로서, 보다 상세하게는 기설정된 데이터를 포함하는지 여부에 따라 함수 어드레스의 위변조를 검출하기 위한 함수 어드레스 위변조 검출 방법, 컴퓨터가 판독가능한 기록매체 및 클라이언트 단말 장치에 관한 것이다.
CRC(cyclic redundancy check)는 파일 변경 사항을 확인하기 위한 알고리즘으로, 이는 파일 실행 전후의 CRC 값을 획득 및 비교 분석함으로써, 공격자에 의한 파일 위변조 여부를 간단하게 확인할 수 있도록 해준다.
한편, 근래에 게임 등의 프로그램을 해킹하기 위한 툴(Tool)로써, 프로그램(또는 파일)이 실행될 때, 프로그램이 동작되는 클라이언트 단말의 메모리 상에 위치한 코드를 수정하여 게임의 원래 동작방식과 다르게 동작하도록 하는 해킹 툴들이 많이 유포되고 있다.
특히, 이러한 해킹 툴에 의해 데이터가 위변조 되는 경우, 실제로 프로그램이 실행되기 전에는 확인할 수 있는 방법이 없으며, 프로그램이 실행되고 나서야 그 동작이 다르다는 점을 확인한 후 해킹 여부 또는 데이터 위변조 여부를 판단할 수 있었다.
이에 따라 프로그램이 해킹되어 원래 동작 방식과 다르게 동작하기 전에 해킹 여부 또는 위변조 여부를 판단하는 필요성이 증대되었다.
본 발명의 목적은 기설정된 데이터를 검출하여 함수 어드레스의 위변조를 검출하기 위한 함수 어드레스 위변조 검출 방법, 컴퓨터가 판독가능한 기록매체 및 클라이언트 단말 장치를 제공함에 있다.
이러한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 함수 어드레스 위변조 검출 방법은, 복수의 함수 어드레스 데이터를 포함하는 함수 어드레스 리스트를 생성하는 단계, 상기 복수의 함수 어드레스 데이터 중 기설정된 데이터를 포함하는 함수 어드레스 데이터를 검출하는 단계 및 상기 기설정된 데이터를 포함하는 함수 어드레스 데이터가 검출되면 상기 함수 어드레스 리스트가 위변조된 것으로 판단하는 단계를 포함한다.
여기서, 상기 기설정된 데이터는, 함수를 참조하여 실행시키는 기능 이외의 기능을 수행하도록 하는 명령어를 포함한다.
또한, 상기 함수 어드레스 데이터는, 복수의 패킷으로 구성되는 프레임에 포함된다.
또한, 상기 검출하는 단계는, 상기 복수의 패킷 중 첫번째 패킷이 상기 기설정된 데이터를 포함하는지 여부를 검출한다.
여기서, 상기 기설정된 데이터는, OxE9 명령어 및 OxE8 명령어 중 적어도 하나를 포함한다.
한편, 본 발명의 일 실시 예에 따른 컴퓨터가 판독가능한 기록매체는 상술한 함수 어드레스 위변조 검출 방법을 구현하기 위한 프로그램 명령어를 포함한다.
한편, 본 발명의 일 실시 예에 따른 클라이언트 단말 장치는 리스트 생성 모듈, 검출 모듈 및 위변조 판단 모듈을 포함하는 저장부 및 상기 리스트 생성 모듈을 통해 복수의 함수 어드레스 데이터를 포함하는 함수 어드레스 리스트를 생성하고, 상기 검출 모듈을 통해 상기 복수의 함수 어드레스 데이터 중 기설정된 데이터를 포함하는 함수 어드레스 데이터를 검출하며, 상기 위변조 판단 모듈을 통해 상기 기설정된 데이터를 포함하는 함수 어드레스 데이터가 검출되면 상기 함수 어드레스 리스트가 위변조된 것으로 판단하는 프로세서를 포함한다.
이상과 같은 본 발명의 다양한 실시 예에 따르면, 기설정된 데이터가 포함되어 있는지 여부에 따라 함수 어드레스 리스트의 위변조 여부를 판단하여 클라이언트 장치의 해킹 여부를 판단할 수 있게 된다.
도 1은 본 발명의 일 실시 예에 따른 함수 어드레스 위변조 검출 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시 예에 따른 함수 어드레스 리스트 상에서 위변조를 검출하는 방법을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 함수 어드레스 데이터가 포함된 프레임을 나타낸 도면이다.
도 4는 본 발명의 일 실시 예에 따른 기설정된 데이터를 포함하는 프레임을 나타낸 도면이다.
도 5는 본 발명의 일 실시 예에 따른 클라이언트 단말 장치의 구성을 도시한 도면이다.
도 6은 도 5에 도시된 클라이언트 단말 장치의 구체적인 구성을 나타낸 블럭도이다.
도 7은 본 발명의 일 실시 예에 따른 저장부에 저장된 소프트웨어 모듈에 관한 도면이다.
이하에서는 도면을 참조하여 본 발명을 더욱 상세하게 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관계 등에 따라 달라질 수 있다. 그러므로, 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시 예에 따른 함수 어드레스 위변조 검출 방법을 설명하기 위한 흐름도이다.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 함수 어드레스 위변조 검출 방법은 복수의 함수 어드레스 데이터를 포함하는 함수 어드레스 리스트를 생성하는 단계(S110), 복수의 함수 어드레스 데이터 중 기설정된 데이터를 포함하는 함수 어드레스 데이터를 검출하는 단계(S120) 및 기설정된 데이터를 포함하는 함수 어드레스 데이터가 검출되면 함수 어드레스 리스트가 위변조 된 것으로 판단하는 단계(S130)를 포함한다.
이러한 함수 어드레스 위변조 검출 방법은 주로 클라이언트 장치에서 수행될 수 있으며, 구체적으로, 게임을 수행하기 위해 서버에 접속하는 개인용 단말 장치로 구현될 수 있으며, 예를 들어, TV, 전자 칠판, 전자 테이블, LFD(Large Format Display), PDA, 스마트 폰, 태블릿, 데스크탑 PC, 노트북, 웨어러블 장치 등과 같은 다양한 형태의 전자 장치로 구현될 수 있다.
본 명세서에서는 클라이언트 장치가 스마트 폰 또는 데스크탑 PC와 같은 모바일 게임 장치 또는 PC 게임 장치인 것으로 가정하고 설명하기로 한다.
상술한 바와 같이, 클라이언트 단말의 함수 어드레스 위변조 검출 방법을 설명하는데 있어서, 기본적으로 클라이언트 단말에서 함수가 무엇이고, 함수 어드레스가 무엇인지에 대해 대략적으로 설명하기로 한다.
클라이언트 장치는 기본적인 기능을 실행하기 위해 미리 설정된 프로그램 예를 들어, API(Application Programming Interface) 또는 시간을 설정하는 기능을 수행하는 프로그램을 가지고 있으며, 이러한 프로그램은 함수로 구현될 수 있다.
그리고, 클라이어트 장치는 함수를 실행하기 위해 해당 함수를 지칭하는 함수 어드레스를 참조하여 함수를 찾게되는데 이러한 함수 어드레스는 다양한 함수를 지칭하기 위한 여러개의 함수 어드레스로 존재할 수 있다.
그리고, 이러한 복수의 함수 어드레스는 함수 어드레스 리스트 내에 포함되어 구성될 수 있다.
이에 따라, 실행하고자 하는 함수가 제1 함수인 경우, 클라이언트 장치는 함수 어드레스 리스트 내에서 제1 함수를 지칭하는 함수 어드레스 데이터를 검출하고, 검출된 함수 어드레스 데이터를 참조하여 제1 함수를 불러들여 실행시킬 수 있게 된다.
한편, 클라이언트 단말의 함수 어드레스 위변조 검출 방법은 상술한 복수의 함수 어드레스 데이터를 포함하는 함수 어드레스 리스트를 생성한다(S110). 물론, 이러한 함수 어드레스 리스트는 이미 생성되어 있는 것을 클라이언트 단말이 불러들이는 것으로 구현될 수도 있고, 클라이언트 단말이 실시간으로 함수 어드레스 데이터를 추출하여 함수 어드레스 리스트를 생성하는 것으로 구현될 수도 있다.
그리고, 복수의 함수 어드레스 데이터 중 기설정된 데이터를 포함하는 함수 어드레스 데이터를 검출한다(S120).
여기서, 기설정된 데이터는 함수를 참조하여 실행시키는 기능 이외의 기능을 수행하도록 하는 명령어를 포함한다.
상술한 바와 같이, 기본적으로 함수 어드레스 데이터는 함수의 어드레스에 관한 데이터를 포함하고 있으며, 이에 따라 함수를 지시하여 함수가 실행할 수 있도록 하는 기능을 수행하여야 한다.
그러나, 함수 어드레스 데이터가 상술한 바와 같이 함수를 참조하여 실행시키는 기능이 아닌 다른 기능을 수행하도록 하는 명령어를 포함하게 된다면, 실행되어야 할 함수가 실행되지 않고, 원치 않는 기능이 일어나게 된다.
예를 들어, 클라이언트 단말은 어떤 파일을 복사하라는 명령을 수행하는 a 함수를 실행시켰는데, a 함수를 참조하는 a 함수 어드레스 데이터가 a함수를 참조하는 명령어가 아닌 점프하라는 명령어를 포함하고 있는 경우, a함수가 실행되지 않고 다른 함수로 점프시키는 명령이 수행되어, 원치 않는 기능이 일어날 수 있게 된다.
이에 따라, 복수의 함수 어드레스 데이터 중 함수를 참조하여 실행시키는 기능 이외의 기능을 수행하도록 하는 명령어를 포함하는 함수 어드레스 데이터를 검출함으로써, 함수 어드레스 데이터가 위변조 되었는지 여부를 판단할 수 있게 된다.
또한, 함수 어드레스 데이터가 기설정된 데이터를 포함하고 있는지 여부를 검출함으로써, 실제로 함수를 실행시켜 수행되는 기능 또는 동작이 원치 않는 것임을 확인하여 위변조 여부를 판단하는 것이 아닌, 실제로 함수를 실행시키기 이전에 해킹 여부 또는 데이터 위변조 여부를 판단할 수 있는 효과가 있다.
한편, 기설정된 데이터를 포함하는 함수 어드레스 데이터가 검출되면 함수 어드레스 리스트가 위변조 된 것으로 판단한다(S130).
그리고 이렇게 함수 어드레스 리스트가 위변조 된 것으로 판단된 후, 위변조 여부에 대한 메시지를 디스플레이하거나, 위변조된 함수 어드레스 데이터 또는 위변조된 함수에 관한 정보를 디스플레이하는 단계를 더 포함할 수 있다.
또는, 함수 어드레스 리스트가 위변조 된 것으로 판단된 후, 위변조된 함수 어드레스 데이터 또는 위변조된 함수를 디버깅하거나 정정 또는 삭제 조치를 수행하는 단계를 포함할 수도 있다.
도 2는 본 발명의 일 실시 예에 따른 함수 어드레스 리스트 상에서 위변조를 검출하는 방법을 설명하기 위한 도면이다.
도 2를 참조하면, 함수 어드레스 리스트(200)가 존재하고, 함수 어드레스 리스트(200)는 복수의 함수 어드레스 데이터(220, 230)를 포함한다. 그리고, 함수 어드레스 리스트(200)에 포함된 복수의 함수 어드레스 데이터 중 하나의 함수 어드레스 데이터를 검출하기 위한 함수를 부르는 번지 기능을 수행하는 필드(210)도 존재한다.
여기서, 각각의 함수 어드레스 데이터(220, 230)는 실제로 실행되는 해당 함수(221, 231)를 참조하여 실행시키기 위한 데이터를 포함하며, 각각의 함수 어드레스 데이터(220, 230)는 각각의 해당 함수(221, 231)에 대응된다.
그리고, 상술한 대로 함수 어드레스 리스트(200)에 포함된 복수의 함수 어드레스 데이터(220, 230)가 기설정된 데이터 즉, 함수를 참조하여 실행시키는 기능 이외의 기능을 수행하도록 하는 명령어를 포함하는지 여부를 검출하여, 함수 어드레스 리스트(200)의 위변조 여부를 판단할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 함수 어드레스 데이터가 포함된 프레임을 나타낸 도면이다.
도 2에 도시된 바와 같은 함수 어드레스 데이터(220, 230)는 복수의 패킷으로 구성되는 프레임에 포함될 수 있다.
도 3을 참조하면, 함수 어드레스 데이터(220)는 복수의 패킷으로 구성된 프레임에 포함될 수 있으며, 헤더와 데이터 로드 영역으로 나뉘거나 또는 단순히 복수의 패킷으로 구성될 수 있다.
한편, 함수 어드레스 데이터(220)가 포함된 프레임을 구성하는 복수의 패킷 중 첫번째 패킷에 기초하여 복수의 함수 어드레스 데이터 중 기설정된 데이터를 포함하는 함수 어드레스 데이터를 검출할 수 있다.
즉, 검출하는 단계는, 도 3에 도시된 바와 같이 하나의 프레임을 구성하는 복수의 패킷 중 첫 번째 패킷(221)이 기설정된 데이터를 포함하는지 여부를 검출하는 것이다.
따라서, 검출하는 단계는, 하나의 프레임을 구성하는 복수의 패킷 중 첫 번째 패킷(221)이 함수를 참조하여 실행시키는 기능 이외의 기능을 수행하도록 하는 명령어를 포함하는지 여부를 판단하고, 첫 번째 패킷(221)이 함수를 참조하여 실행시키는 기능 이외의 기능을 수행하도록 하는 명령어를 포함하는 경우, 해당 프레임에 대응되는 함수 어드레스 데이터가 검출됨과 동시에 이를 포함하는 함수 어드레스 리스트가 위변조된 것으로 판단할 수 있다.
물론, 본 발명의 일 실시 예에 따른 함수 어드레스 위변조 검출 방법은, 함수 어드레스 데이터를 포함하는 프레임의 첫 번째 패킷(221)이 기설정된 데이터를 포함하는지 여부를 판단하여 위변조 여부를 판단하는 것을 설명하고 있으나, 반드시 첫 번째 패킷(221)이 기설정된 데이터를 포함하는지 여부를 판단하는 것이 아닌 함수 어드레스 데이터를 포함하는 프레임이 기설정된 데이터를 포함하는지 여부를 판단하는 것으로 구현될 수도 있음은 당연하다.
한편, 기설정된 데이터는 점프 기능을 수행하는 명령어 또는 콜(call) 기능을 수행하는 명령어를 포함할 수 있다. 이러한 점프 기능을 수행하는 명령어 또는 콜 기능을 수행하는 명령어는 모두 함수를 참조하여 실행시키는 기능 이외의 기능을 수행하도록 하는 명령어에 해당되는 것으로서, 함수 어드레스 데이터를 포함하는 프레임의 첫 번째 패킷(221)이 점프 기능을 수행하는 명령어 또는 콜 기능을 수행하는 명령어를 포함하는 경우 해당 함수 어드레스 데이터 및 이를 포함하는 함수 어드레스 리스트가 위변조된 것으로 판단할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 기설정된 데이터를 포함하는 프레임을 나타낸 도면이다.
도 4를 참조하면, 함수 어드레스 데이터(220)를 포함하는 프레임의 첫 번째 패킷(221)이 점프 기능을 수행하는 명령어 중 "0xE9"를 포함하는 경우, 해당 함수 어드레스 데이터(220)는 위변조 된 것으로 판단되며, 이에 따라 해당 함수 어드레스 데이터(220)를 포함하는 함수 어드레스 리스트도 위변조 된 것으로 판단된다.
또한, 함수 어드레스 데이터(220)를 포함하는 프레임의 첫 번째 패킷(221)이 콜 기능을 수행하는 명령어 중 "0xE8"을 포함하는 경우, 해당 함수 어드레스 데이터(220)는 위변조 된 것으로 판단되며, 이에 따라 해당 함수 어드레스 데이터(220)를 포함하는 함수 어드레스 리스트도 위변조 된 것으로 판단된다.
상술한 "0xE9" 및 "0xE8" 명령어 이외에 함수를 참조하여 실행시키는 기능 이외의 기능을 수행하도록 하는 명령어가 프레임의 첫 번째 패킷(221)에 포함되는 경우에도 해당 함수 어드레스 데이터 및 이를 포함하는 함수 어드레스 리스트가 위변조된 것으로 판단된다.
한편, 상술한 본 발명의 일 실시 예에 따른 함수 어드레스 위변조 검출 방법은 이를 구현하기 위한 프로그램 명령어로서 구현될 수 있으며, 이러한 프로그램 명령어를 기록한 컴퓨터로 판독 가능한 기록 매체는, 일 예로, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 미디어 저장장치 등이 있다.
도 5는 본 발명의 일 실시 예에 따른 클라이언트 단말 장치의 구성을 도시한 도면이다.
본 발명의 일 실시 예에 따른 클라이언트 단말 장치(100)는 저장부(110) 및 프로세서(120)를 포함한다.
여기서, 클라이언트 단말 장치(100)는 TV, 전자 칠판, 전자 테이블, LFD(Large Format Display), PDA, 스마트 폰, 태블릿, 데스크탑 PC, 노트북, 웨어러블 장치 및 위변조 감지 장치 등과 같은 다양한 형태의 전자 장치로 구현될 수 있다.
저장부(110)는 리스트 생성 모듈, 검출 모듈 및 위변조 판단 모듈을 포함한다.
그리고, 프로세서(120)는 리스트 생성 모듈을 통해 복수의 함수 어드레스 데이터를 포함하는 함수 어드레스 리스트를 생성하고, 검출 모듈을 통해 복수의 함수 어드레스 데이터 중 기설정된 데이터를 포함하는 함수 어드레스 데이터를 검출하며, 위변조 판단 모듈을 통해 기설정된 데이터를 포함하는 함수 어드레스 데이터가 검출되면 함수 어드레스 리스트가 위변조된 것으로 판단한다.
여기서, 기설정된 데이터는 함수를 참조하여 실행시키는 기능 이외의 기능을 수행하도록 하는 명령어를 포함한다.
또한, 함수 어드레스 데이터는 복수의 패킷으로 구성되는 프레임에 포함된다.
한편, 프로세서(120)는 검출 모듈을 통해 복수의 함수 어드레스 데이터 중 기설정된 데이터를 포함하는 함수 어드레스 데이터를 검출하는데 있어서, 복수의 패킷 중 첫 번째 패킷이 기설정된 데이터를 포함하는지 여부를 검출한다.
여기서, 기설정된 데이터는, OxE9 명령어 및 OxE8 명령어 중 적어도 하나를 포함할 수 있다.
도 6은 도 5에 도시된 클라이언트 단말 장치의 구체적인 구성을 나타낸 블럭도이다.
클라이언트 단말 장치(100)는 저장부(110) 및 프로세서(120)를 포함한다.
프로세서(120)는 함수 어드레스 리스트가 위변조되었는지 여부를 판단하기 위한 클라이언트 단말 장치(100)의 동작을 전반적으로 제어한다.
구체적으로, 프로세서(120)는 RAM(121), ROM(122), 메인 CPU(123), 그래픽 처리부(124), 제1 내지 n 인터페이스(125-1 ~ 125-n), 버스(126)를 포함한다.
RAM(121), ROM(122), 메인 CPU(123), 그래픽 처리부(124), 제1 내지 n 인터페이스(125-1 ~ 125-n) 등은 버스(126)를 통해 서로 연결될 수 있다.
제1 내지 n 인터페이스(125-1 내지 125-n)는 상술한 각종 구성요소들과 연결된다. 인터페이스들 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.
메인 CPU(123)는 저장부(110)에 액세스하여, 저장부(110)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 저장부(110)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.
특히, 메인 CPU(123)는 복수의 함수 어드레스 데이터를 포함하는 함수 어드레스 리스트를 생성하고, 복수의 함수 어드레스 데이터 중 기설정된 데이터를 포함하는 함수 어드레스 데이터를 검출하며, 기설정된 데이터를 포함하는 함수 어드레스 데이터가 검출되면 함수 어드레스 리스트가 위변조 된 것으로 판단할 수 있다.
ROM(122)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(123)는 ROM(122)에 저장된 명령어에 따라 저장부(110)에 저장된 O/S를 RAM(121)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(123)는 저장부(110)에 저장된 각종 어플리케이션 프로그램을 RAM(121)에 복사하고, RAM(121)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.
그래픽 처리부(124)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다. 연산부(미도시)는 수신된 제어 명령에 기초하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산한다. 렌더링부(미도시)는 연산부(미도시)에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성한다.
특히, 그래픽 처리부(124)는 메인 CPU(123)에 의해 생성된 오브젝트를 GUI(Graphic User Interface), 아이콘, 사용자 인터페이스 화면 등으로 구현할 수 있다.
한편, 상술한 프로세서(120)의 동작은 저장부(110)에 저장된 프로그램에 의해 이루어질 수 있다.
저장부(110)는 기설정된 데이터를 포함하는 함수 어드레스 데이터를 검출하고, 기설정된 데이터를 포함하는 함수 어드레스 데이터가 검출되면 함수 어드레스 리스트가 위변조 된 것으로 판단하는 클라이언트 단말 장치(100)를 구동시키기 위한 O/S(Operating System) 소프트웨어 모듈, 각종 멀티미디어 컨텐츠와 같은 다양한 데이터를 저장한다.
특히, 저장부(110)는 함수 어드레스 리스트를 생성하고, 복수의 함수 어드레스 데이터 중 기설정된 데이터를 포함하는 함수 어드레스 데이터를 검출하고, 기설정된 데이터를 포함하는 함수 어드레스 데이터가 검출되면 함수 어드레스 리스트가 위변조 된 것으로 판단하기 위한 소프트웨어 모듈을 포함할 수 있다.
도 7은 본 발명의 일 실시 예에 따른 저장부에 저장된 소프트웨어 모듈에 관한 도면이다.
도 7을 참조하면, 저장부(110)는 리스트 생성 모듈(111), 검출 모듈(112) 및 위변조 판단 모듈(113) 등의 프로그램이 저장되어 있을 수 있다.
한편, 상술한 프로세서(120)의 동작은 저장부(110)에 저장된 프로그램에 의해 이루어질 수 있다. 이하에서는 저장부(110)에 저장된 프로그램을 이용한 프로세서(120)의 세부 동작에 대해 자세히 설명하도록 한다.
구체적으로, 리스트 생성 모듈(111)은 클라이언트 단말 장치(100)에서 사용되는 복수의 함수 어드레스 데이터를 포함하는 함수 어드레스 리스트를 생성할 수 있다.
또한, 검출 모듈(112)은 복수의 함수 어드레스 데이터 중 기설정된 데이터를 포함하는 함수 어드레스 데이터를 검출할 수 있다.
특히, 검출 모듈(112)은 함수 어드레스 데이터가 포함되는 프레임을 구성하는 복수의 패킷들 중 첫 번째 패킷이 기설정된 데이터를 포함하는지 여부를 검출할 수 있다.
구체적으로, 검출 모듈(112)는 기설정된 데이터를 포함하는 패킷과 함수 어드레스 데이터를 포함하는 프레임을 구성하는 복수의 패킷들을 서로 매칭하여 일치하는 경우, 해당 프레임의 복수의 패킷들 중 기설정된 데이터를 포함하는 패킷이 존재하는 것으로 판단하여 기설정된 데이터의 포함 여부를 검출할 수 있다.
또한, 위변조 판단 모듈(113)은 기설정된 데이터를 포함하는 함수 어드레스 데이터가 검출되면 함수 어드레스 리스트가 위변조된 것으로 판단할 수 있다.
한편, 본 발명에 따른 제어 방법을 순차적으로 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 복수의 함수 어드레스 데이터를 포함하는 함수 어드레스 리스트를 생성하고, 복수의 함수 어드레스 데이터 중 기설정된 데이터를 포함하는 함수 어드레스 데이터를 검출하며, 기설정된 데이터를 포함하는 함수 어드레스 데이터가 검출되면 함수 어드레스 리스트가 위변조된 것으로 판단하는 클라이언트 단말 장치에 대해 도시한 상술한 블록도에서는 버스(bus)를 미도시하였으나, 클라이언트 단말 장치에서 각 구성요소 간의 통신은 버스를 통해 이루어질 수도 있다. 또한, 각 디바이스에는 상술한 다양한 단계를 수행하는 CPU, 마이크로 프로세서 등과 같은 프로세서가 더 포함될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100: 클라이언트 단말 장치 110: 저장부
120: 프로세서

Claims (7)

  1. 클라이언트 단말의 함수 어드레스 위변조 검출 방법에 있어서,
    복수의 함수 어드레스 데이터를 포함하는 함수 어드레스 리스트를 생성하는 단계;
    상기 복수의 함수 어드레스 데이터 중 기설정된 데이터를 포함하는 함수 어드레스 데이터를 검출하는 단계; 및
    상기 기설정된 데이터를 포함하는 함수 어드레스 데이터가 검출되면 상기 함수 어드레스 리스트가 위변조된 것으로 판단하는 단계;를 포함하는 함수 어드레스 위변조 검출 방법.
  2. 제1항에 있어서,
    상기 기설정된 데이터는,
    함수를 참조하여 실행시키는 기능 이외의 기능을 수행하도록 하는 명령어를 포함하는 것인, 함수 어드레스 위변조 검출 방법.
  3. 제2항에 있어서,
    상기 함수 어드레스 데이터는,
    복수의 패킷으로 구성되는 프레임에 포함되는 것인, 함수 어드레스 위변조 검출 방법.
  4. 제3항에 있어서,
    상기 검출하는 단계는,
    상기 복수의 패킷 중 첫번째 패킷이 상기 기설정된 데이터를 포함하는지 여부를 검출하는 것인, 함수 어드레스 위변조 검출 방법.
  5. 제4항에 있어서,
    상기 기설정된 데이터는,
    OxE9 명령어 및 OxE8 명령어 중 적어도 하나를 포함하는 것인, 함수 어드레스 위변조 검출 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 따른 함수 어드레스 위변조 검출 방법을 구현하기 위한 프로그램 명령어가 기록된, 컴퓨터가 판독 가능한 기록매체.
  7. 리스트 생성 모듈, 검출 모듈 및 위변조 판단 모듈을 포함하는 저장부; 및
    상기 리스트 생성 모듈을 통해 복수의 함수 어드레스 데이터를 포함하는 함수 어드레스 리스트를 생성하고, 상기 검출 모듈을 통해 상기 복수의 함수 어드레스 데이터 중 기설정된 데이터를 포함하는 함수 어드레스 데이터를 검출하며, 상기 위변조 판단 모듈을 통해 상기 기설정된 데이터를 포함하는 함수 어드레스 데이터가 검출되면 상기 함수 어드레스 리스트가 위변조된 것으로 판단하는 프로세서;를 포함하는 클라이언트 단말 장치.
KR1020200064824A 2020-05-29 2020-05-29 함수 어드레스 위변조 검출 방법, 컴퓨터가 판독가능한 기록매체 및 클라이언트 단말 장치 KR20210147494A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200064824A KR20210147494A (ko) 2020-05-29 2020-05-29 함수 어드레스 위변조 검출 방법, 컴퓨터가 판독가능한 기록매체 및 클라이언트 단말 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200064824A KR20210147494A (ko) 2020-05-29 2020-05-29 함수 어드레스 위변조 검출 방법, 컴퓨터가 판독가능한 기록매체 및 클라이언트 단말 장치

Publications (1)

Publication Number Publication Date
KR20210147494A true KR20210147494A (ko) 2021-12-07

Family

ID=78867938

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200064824A KR20210147494A (ko) 2020-05-29 2020-05-29 함수 어드레스 위변조 검출 방법, 컴퓨터가 판독가능한 기록매체 및 클라이언트 단말 장치

Country Status (1)

Country Link
KR (1) KR20210147494A (ko)

Similar Documents

Publication Publication Date Title
US9342237B2 (en) Automated testing of gesture-based applications
CN109446832B (zh) 一种截屏方法及装置
JP4572259B1 (ja) 情報機器、プログラム及び不正なプログラムコードの実行防止方法
US9202021B2 (en) License verification method and apparatus, and computer readable storage medium storing program therefor
KR20140091555A (ko) 웹 페이지 렌더링 시간 측정 기법
US9286142B2 (en) Methods and systems for supporting a rendering API using a runtime environment
CN104704468A (zh) Web应用程序的跨系统安装
JP4927231B1 (ja) プログラム、情報機器、及び不正アクセス検出方法
US20230054717A1 (en) Ui control generation and trigger methods, and terminal
CN112579187A (zh) 一种应用程序冷启动的优化方法及装置
US10691791B2 (en) Automatic unpacking of executables
JP6213121B2 (ja) 設計支援プログラム、設計支援方法および設計支援装置
US8307361B2 (en) Platform dependent replacement of digital content asset components
CN108845924B (zh) 控制响应区域显示控制方法、电子装置及存储介质
US20130067315A1 (en) Virtual Viewport and Fixed Positioning with Optical Zoom
EP3327605B1 (en) Electronic device and method of controlling same
KR20210147494A (ko) 함수 어드레스 위변조 검출 방법, 컴퓨터가 판독가능한 기록매체 및 클라이언트 단말 장치
KR102066580B1 (ko) 캡쳐 데이터에 워터마크를 추가하는 프로그램과 화면 유출 파악 서비스 제공방법
CN112740161A (zh) 终端、用于控制终端的方法以及其中记录有用于实现该方法的程序的记录介质
CN111274507B (zh) 网页内容的浏览方法、装置、设备及存储介质
US9128613B2 (en) Positioning clickable hotspots on a touchscreen display
CN112052063A (zh) 应用程序的水印填充方法、系统、终端及存储介质
JP2017533501A (ja) ユーザアクションに応答して直接操作の有効化を決定するためのヒットテスト
JP2016126371A (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法、およびプログラム
US20130125091A1 (en) Automatic program generation device and automatic program generation method

Legal Events

Date Code Title Description
E601 Decision to refuse application