KR100953355B1 - Method for protecting on-line electronic transaction program - Google Patents

Method for protecting on-line electronic transaction program Download PDF

Info

Publication number
KR100953355B1
KR100953355B1 KR1020080037259A KR20080037259A KR100953355B1 KR 100953355 B1 KR100953355 B1 KR 100953355B1 KR 1020080037259 A KR1020080037259 A KR 1020080037259A KR 20080037259 A KR20080037259 A KR 20080037259A KR 100953355 B1 KR100953355 B1 KR 100953355B1
Authority
KR
South Korea
Prior art keywords
program
api
online
electronic transaction
commerce
Prior art date
Application number
KR1020080037259A
Other languages
Korean (ko)
Other versions
KR20090111577A (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 KR1020080037259A priority Critical patent/KR100953355B1/en
Priority to PCT/KR2009/002091 priority patent/WO2009131371A2/en
Publication of KR20090111577A publication Critical patent/KR20090111577A/en
Application granted granted Critical
Publication of KR100953355B1 publication Critical patent/KR100953355B1/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
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 온라인 전자거래 프로그램 보호방법에 관한 것이다. 즉, 본 발명에서는 온라인 상 금융업무를 수행할 수 있도록 하는 전자거래 프로그램을 보호하는 방법에 있어서, 온라인 금융업무를 위해 컴퓨터상 전자거래 프로그램이 실행되는 경우 전자거래 프로그램에 대한 악의적인 코드로부터의 다양한 해킹 시도를 API 후킹탐지 및 복원, 디버깅 방지, 메모리 접근 방지 등의 방법으로 차단시킴으로써, 온라인 전자거래를 통해 송/수신되는 사용자의 계좌정보, 거래정보 등이 불법적으로 유출되거나 조작되는 것을 방지시켜 온라인 전자거래에 대한 신뢰성을 높일 수 있도록 한다.The present invention relates to a method for protecting an online e-commerce program. That is, in the present invention, in the method of protecting an electronic transaction program for performing financial transactions online, when the electronic transaction program is executed on a computer for the online financial transaction, various kinds of malicious codes for the electronic transaction program may be used. By blocking hacking attempts by detecting and restoring API hooking, preventing debugging, and preventing access to memory, it is possible to prevent illegal leakage or manipulation of user's account information and transaction information sent / received through online electronic transactions. To increase the reliability of electronic transactions.

전자거래, 주식, 온라인, 해킹, API, 디버깅 ECommerce, Stocks, Online, Hacking, API, Debugging

Description

온라인 전자거래 프로그램 보호방법{METHOD FOR PROTECTING ON-LINE ELECTRONIC TRANSACTION PROGRAM}How to protect your online e-commerce program {METHOD FOR PROTECTING ON-LINE ELECTRONIC TRANSACTION PROGRAM}

본 발명은 온라인 전자거래 프로그램의 보호 방법에 관한 것으로, 특히 인터넷(internet)으로 연결된 온라인 상에서 컴퓨터를 이용하여 주식매매, 인터넷 뱅킹(internet banking) 등의 금융업무를 수행하는 경우 금융업무의 처리를 위해 실행되는 전자거래 프로그램을 해킹(hacking)으로부터 안전하게 보호하여 보다 신뢰성을 높일 수 있도록 하는 온라인 전자거래 프로그램 보호방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for protecting an online e-commerce program. In particular, the present invention relates to the processing of financial affairs in the case of performing financial affairs such as stock trading, internet banking, etc. by using a computer on the internet connected online. The present invention relates to a method for protecting an online e-commerce program, which can enhance the reliability by protecting the executed e-commerce program from hacking.

근래에 들어, 인터넷 통신망의 발달로 인해 은행 거래나 주식매매 등의 금융관련 업무를 보기를 위해 은행이나, 증권거래소 등의 해당 서비스 장소를 직접 방문하는 것 없이도, 컴퓨터를 이용하는 경우 온라인을 통해 보다 쉽게 주식매매를 하거나, 각종 은행 거래를 처리하는 것이 가능하게 되었다.In recent years, due to the development of the Internet communication network, it is easier to use a computer online without having to visit a bank or a stock exchange, such as a bank or stock exchange, to perform financial transactions such as stock trading. It becomes possible to sell stocks and to handle various bank transactions.

또한, 위와 같은 온라인 금융관련 업무 수행은 초고속 인터넷 통신망과 인터넷 접속 가능한 개인용 컴퓨터의 급속한 보급과 그 편리성으로 인해 사용이 급격히 증가하여 이제는 거의 모든 사람이 일상적으로 이용하는 서비스로 보편화되고 있 다.In addition, due to the rapid spread and convenience of the high-speed Internet communication network and the Internet-accessible personal computer, the use of online financial-related business is rapidly increasing, and now it is becoming a service commonly used by almost everyone.

즉, 온라인 주식거래의 경우, 증권사로부터 인터넷을 통해 제공되는 각종 증권시세 정보를 바탕으로 컴퓨터를 통한 개인의 증권계좌 정보와의 연동을 통해 간단하게 주식거래를 할 수 있다. 위와 같은 인터넷을 통한 온라인 주식 거래는 오프라인 상에서 이루어지는 주식 거래에 비해 공간적 제약 없이 실시간으로 국내외 증권 정보를 수집하여 투자에 반영할 수 있고 주식의 매매 또한 신속하게 이루어져 큰 편리성을 제공하여 준다. 또한 온라인 은행거래의 경우, 자신이 거래하는 은행의 인터넷 웹사이트(web site)에 접속하여 계좌정보와 개인의 비밀번호를 이용하면 오프라인 상 해당 은행에 직접 가지 않더라도 간단하게 컴퓨터를 이용하여 편리하게 은행 업무를 볼 수 있다.In other words, in the case of online stock trading, stock trading can be performed simply by interworking with individual stock account information through a computer based on various stock quote information provided from a securities company through the Internet. As mentioned above, online stock trading through the Internet can collect domestic and foreign securities information in real time without spatial constraints and reflect it in investment, compared to offline stock trading, and offers quick convenience of stock trading. In addition, in the case of online banking, if you access your bank's Internet website and use your account information and personal password, you can conveniently use your computer to go to the bank offline without having to go directly to the bank. Can be seen.

그러나, 위와 같은 온라인 금융관련 업무 이용에 있어서는, 앞서 설명한 바와 같은 사용상 편리성에 반하여 여러 가지 악의적인 코드에 의한 주식매매 프로그램 또는 브라우저를 이용한 주식매매 프로그램에의 해킹에 따른 개인 정보의 누출, 조작 등의 위험에 노출되어 있다.However, in the above-mentioned use of online financial related business, contrary to the convenience of use described above, personal information leakage, manipulation, etc. due to hacking into stock trading program by various malicious codes or stock trading program using a browser You are at risk.

즉, 사용자의 컴퓨터에서 실행되는 주식매매 프로그램이나 브라우저를 이용한 주식매매 프로그램이 해커나 악의적인 코드에 의해서 공격을 당하는 경우 해당 프로그램의 특정 데이터 및 처리 방법이 사용자의 의도와는 상관없이 유출되어 사용자 계좌정보 또는 매매정보가 조작, 변경 될 수 있는 등 사용자에게 큰 피해를 입히는 문제점이 있었다.In other words, if a stock trading program running on a user's computer or a stock trading program using a browser is attacked by a hacker or malicious code, specific data and processing methods of the program are leaked regardless of the user's intention and the user's account There was a problem of causing a great damage to the user, such as information or trading information can be manipulated, changed.

따라서, 온라인으로 금융관련 업무를 수행함에 있어서, 사용자들이 보다 신뢰성을 가지고 사용할 수 있도록 하는 신뢰성 높은 전자거래 보안 방법의 개발이 지속적으로 요구되고 있다.Therefore, in performing financial-related work online, there is a continuous demand for the development of reliable electronic transaction security methods that enable users to use them more reliably.

상술한 목적을 달성하기 위한 본 발명은 온라인 전자거래 프로그램 보호 방법으로서, 컴퓨터 상에서 전자거래 프로그램 실행 시 상기 전자거래 프로그램의 프로세스 핸들 정보에의 접근시도를 감시하는 단계와, 상기 프로세스 핸들 정보에 접근하는 다른 프로세스 검출 시 해당 프로세스의 아이디를 확인하여 접근 허용된 프 로세스인지 여부를 검사하는 단계와, 상기 접근이 허용되지 않은 프로세스에 의한 프로세스 핸들 정보 접근 시도 시에는 상기 프로세스 핸들을 생성하는 API를 후킹하여 접근을 차단시키는 단계를 포함한다.According to an aspect of the present invention, there is provided a method for protecting an online electronic transaction program, the method comprising: monitoring an attempt to access process handle information of the electronic transaction program when the electronic transaction program is executed on a computer, and accessing the process handle information; Checking whether the process is allowed by checking the ID of the corresponding process when detecting another process, and hooking an API that generates the process handle when attempting to access process handle information by a process that is not allowed access. Blocking access.

또한, 본 발명은 온라인 전자거래 프로그램 보호 방법으로서, 컴퓨터 상에서 전자거래 프로그램 실행 시 상기 전자거래 프로그램의 메모리상 접근시도를 감시하는 단계와, 상기 메모리로 접근하는 다른 프로세스 검출 시 해당 프로세스의 아이디를 확인하여 접근 허용된 프로세스인지 여부를 검사하는 단계와, 상기 접근이 허용되지 않은 프로세스에 의한 상기 메모리 접근 시도 시에는 상기 메모리 접근 및 수정 API를 후킹하여 접근을 차단시키는 단계를 포함한다.In addition, the present invention provides a method for protecting an online e-commerce program, the method comprising: monitoring an access attempt on a memory of the e-commerce program when the e-commerce program is executed on a computer; and checking an ID of the corresponding process when detecting another process accessing the memory. And checking whether the process is allowed to access, and blocking access by hooking the memory access and modification API when an attempt is made to access the memory by the process in which the access is not permitted.

또한, 본 발명은 온라인 전자거래 프로그램 보호 방법으로서, 컴퓨터 상에서 전자거래 프로그램 실행 시 상기 전자거래 프로그램에서 사용하는 API의 후킹 여부를 검사하는 단계와, 상기 API가 후킹된 경우 상기 후킹된 API의 복원 가능 여부를 검사하는 단계와, 상기 검사결과 복원 가능 시에는 상기 후킹된 API를 복원하여 악의적인 프로세스의 접근을 차단시키는 단계를 포함한다.The present invention also provides a method for protecting an online electronic transaction program, the method comprising: checking whether an API used by the electronic transaction program is hooked when the electronic transaction program is executed on a computer, and restoring the hooked API when the API is hooked And checking whether the check result is restored, and restoring access to the malicious process by restoring the hooked API.

또한, 본 발명은 온라인 전자거래 프로그램 보호 방법으로서, 컴퓨터 상에서 전자거래 프로그램 실행 요청시 상기 전자거래 프로그램의 구동 파일을 압축하는 단계와, 상기 전자거래 프로그램이 메모리 상에서 수행되는 코드들을 가상화시키는 단계와, 상기 전자거래 프로그램에 대해 디버깅을 시도하는 디버거를 검출하는 단계와, 상기 디버거가 디버깅 허용되지 않는 비정상 프로세스인 경우 상기 디버거의 접근을 차단시키는 단계를 포함한다.In addition, the present invention provides a method for protecting an online e-commerce program, the method comprising: compressing a driving file of the e-commerce program when a request is made to execute an e-commerce program on a computer, virtualizing codes executed by the e-commerce program on a memory; Detecting a debugger attempting to debug the e-commerce program, and blocking access to the debugger when the debugger is an abnormal process that is not allowed to be debugged.

본 발명에서는 온라인 상 금융관련 업무를 수행할 수 있도록 하는 전자거래 프로그램을 보호하는 방법에 있어서, 온라인 금융업무를 위해 컴퓨터상 전자거래 프로그램이 실행되는 경우 전자거래 프로그램에 대한 악의적인 코드로부터의 다양한 해킹 시도를 API 후킹탐지 및 복원, 디버깅 방지, 메모리 접근 방지 등의 방법으로 차단시킴으로써, 온라인 전자거래를 통해 송/수신되는 사용자의 계좌정보, 거래정보 등이 불법적으로 유출되거나 조작되는 것을 방지시켜 온라인 전자거래에 대한 신뢰성을 높일 수 있는 이점이 있다.The present invention relates to a method for protecting an electronic transaction program for performing financial related tasks online, wherein a variety of hacking from malicious code for the electronic transaction program is executed when the electronic transaction program is executed on a computer for the online financial transaction. By preventing attempts to detect and restore API hooking, preventing debugging, and preventing memory access, the online electronic transaction can be prevented from illegally leaking or tampering with the user's account information and transaction information transmitted / received through online electronic transactions. There is an advantage to increase the reliability of the transaction.

따라서 본 발명은 인터넷으로 연결된 온라인 상에서 컴퓨터를 이용하여 주식매매, 인터넷 뱅킹 등의 금융업무를 수행하는 경우 금융업무의 처리를 위해 실행되는 전자거래 프로그램을 해킹으로부터 안전하게 보호하여 보다 신뢰성을 높일 수 있도록 하는 온라인 전자거래 프로그램 보호방법을 제공하고자 한다.Therefore, the present invention, when performing a financial business such as stock trading, Internet banking, etc. using a computer on the Internet connected to the Internet to protect the electronic transaction program executed for the processing of the financial business safely from hacking to improve the reliability It aims to provide a way to protect online e-commerce programs.

이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 아래에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그 러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. Hereinafter, with reference to the accompanying drawings will be described in detail the operating principle of the present invention. In the following description of the present invention, detailed descriptions of well-known functions or configurations will be omitted when it is determined that the detailed description of the present invention may unnecessarily obscure the subject matter of the present invention. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intentions or customs of the user, the operator, and the like. Therefore, the definition should be made based on the contents throughout the specification.

도 1은 본 발명의 실시 예에 따른 온라인 전자거래 서비스 중 인터넷을 이용한 주식매매 시스템의 개략적인 네트웍 구성을 도시한 것으로, 본 발명의 실시 예에서는 설명의 편의상 온라인 주식매매 프로그램의 보호 방법에 대해서 설명하나, 각종 금융관련 업무를 위해 온라인을 이용하는 전자 거래 프로그램에 동일하게 적용 가능하다.1 illustrates a schematic network configuration of a stock trading system using the Internet among online e-commerce services according to an embodiment of the present invention. The embodiment of the present invention describes a method of protecting an online stock trading program for convenience of description. One is equally applicable to electronic trading programs that use online for various financial related tasks.

위 도 1을 참조하면, 본 발명의 온라인 주식매매 시스템은, 증권전산원 서버(100), 증권사 서버(106), 데이터베이스(data base : DB)(108), 인터넷(104), 사용자 단말(102)을 포함한다.1, the online stock trading system of the present invention, the Securities Computerization Center server 100, securities company server 106, database (DB) 108, the Internet 104, the user terminal 102 It includes.

먼저, 증권전산원 서버(100)는 주식매매 주문을 지원하는 서버로, 증권사 서버(106)에 접속하여 온라인으로 주식매매를 하고자 하는 사용자 단말(102)로 주식 시세에 대한 정보를 제공한다. First, the Securities Computer Network server 100 is a server that supports stock trading orders, and provides information on stock quotes to a user terminal 102 that wants to sell stocks online by accessing a securities firm server 106.

증권사 서버(106)는 인터넷(104)을 통해 접속하여 온라인 주식매매를 요청하는 사용자 단말(102)에 대해 해당 개인 사용자의 신분을 확인하고, 데이터 베이스(108)에 저장된 증권 정보를 참조하여 사용자로부터 요청된 주식매매 주문에 대한 데이터 처리 및 주식매매와 관련된 정보 요청에 대해 해당 정보를 제공한다. The securities firm server 106 checks the identity of the individual user with respect to the user terminal 102 requesting the online stock sale through the Internet 104, and refers to the securities information stored in the database 108 from the user. Provide information on data processing of requested stock trading orders and requests for information related to stock trading.

사용자 단말(102)은, 인터넷(104)에 접속이 가능한 컴퓨터로 온라인 주식매매를 위해 해당 증권사로부터 제공되는 주식매매 프로그램을 탑재하여, 사용자로부 터 주식매매 프로그램이 실행되는 경우 해당 증권사 서버(106)로 접속하여 온라인 주식매매를 위한 각종 주식시세 정보를 다운로드(download)하여 사용자에게 제공하고, 사용자로부터 입력되는 주식매매 요청을 증권사 서버(106)로 전송하여 온라인을 통한 주식매매가 가능하도록 한다.The user terminal 102 is a computer that can be connected to the Internet 104, and is equipped with a stock trading program provided by the securities company for online stock trading, and the securities company server 106 when the stock trading program is executed from the user. (C) download various stock quote information for online stock trading and provide it to the user, and send a stock trading request input from the user to the securities firm server 106 to enable stock trading online.

도 2는 본 발명의 실시 예에 따른 온라인 전자 거래를 위해 실행되는 컴퓨터상 내부 프로세스(process) 및 이를 보호하는 전자거래 보안모듈의 개념을 도시한 것이다. FIG. 2 illustrates a concept of an internal process on a computer executed for an online electronic transaction and an electronic transaction security module protecting the same according to an embodiment of the present invention.

이하, 위 도 2를 참조하여, 인터넷을 이용한 온라인 전자거래 중 특히 온라인 주식매매를 위한 내부 프로세스의 동작 및 위 프로세스의 동작 시 송/수신되는 개인 정보를 보호하기 위한 전자거래 보안 모듈의 동작을 상세히 설명하기로 한다.Hereinafter, referring to FIG. 2 above, an operation of an internal process for online stock trading, in particular, for online stock trading, and an operation of an electronic transaction security module for protecting personal information transmitted / received during operation of the above process will be described in detail. Let's explain.

먼저, 프로세스A(200)는 전자거래 프로그램 중 예를 들어 주식매매 프로그램이 컴퓨터상 실행되는 경우 주식매매를 위한 다양한 메뉴화면을 구성하며, 주식매매와 관련된 사용자로부터의 다양한 키입력을 입력받아서 주문 요청을 처리한다. First, the process A (200) configures various menu screens for stock trading when the stock trading program, for example, is executed on a computer among electronic trading programs, and receives various key inputs from a user related to stock trading to request an order. To process.

프로세스B(202)는 인터넷(104)으로 연결된 증권사 서버(106)와의 통신을 통해 주식시세 등의 주식매매와 관련된 다양한 정보를 수신하여 프로세스A(200)로 제공하여 주며, 프로세스A(200)로부터 입력된 주문매매 정보를 해당 증권사 서버(106)로 송신하여 온라인 주식매매가 이루어지도록 한다. 메모리A(206) 및 메모리B(208)는 주식매매 프로그램의 실행 시 프로세스A(200) 및 프로세스B(202)의 수행에 따라 처리되는 데이터를 저장한다.Process B 202 receives various information related to stock trading, such as stock quote, through communication with securities company server 106 connected to the Internet 104 and provides it to Process A 200, and from Process A 200. The order sales information entered is sent to the securities company server 106 so that online stock trading is performed. The memory A 206 and the memory B 208 store data processed according to the execution of the process A 200 and the process B 202 when the stock trading program is executed.

해킹 모듈(210)은 주식매매 프로그램 등과 같은 사용자 컴퓨터 상 실행되는 전자거래 프로그램의 해킹을 목적으로 삽입된 악의적인 코드 등을 의미하는 것으로, 주식매매 프로그램이 실행되는 경우 주식매매 프로그램에 접근 가능한 프로세스 핸들(process handle) 정보를 후킹(hooking)하거나, 주식매매 프로그램에서 사용되는 API(Application Programming Interface)를 후킹하거나 또는 주식매매 프로그램의 동작방식이나 원리를 파악하기 위한 디버깅(debugging)을 통해 해킹을 수행한다. The hacking module 210 refers to malicious code inserted for the purpose of hacking an electronic transaction program executed on a user's computer, such as a stock trading program. When the stock trading program is executed, a process handle accessible to the stock trading program. Hacking is performed by hooking (process handle) information, hooking an API (Application Programming Interface) used in stock trading programs, or debugging to understand how a stock trading program works or principles. .

또한, 해킹모듈(210)은 위와 같은 주식매매 프로그램의 실행 시 동작하는 프로세스A(200) 및 프로세스B(202)에 의해 참조되는 메모리A(206) 또는 메모리B(208)에 접근하여 예를 들어, 프로세스A(200)의 주문처리에 따른 데이터를 처리하는 메모리A(206)를 공격해서 주문 이름을 바꾸거나, 주문 개수를 수정하는 방법으로 해킹을 수행하며, 또는 예를 들어, 프로세스B(202)의 주식시세 데이터를 처리하는 메모리B(208)를 공격해서 하한가인 종목을 상한가로 표시시키는 등의 방법으로 해킹을 수행한다.In addition, the hacking module 210 accesses, for example, the memory A 206 or the memory B 208 referenced by the process A 200 and the process B 202 which are operated when the stock trading program is executed. The hacking is performed by attacking the memory A 206 which processes data according to the processing of the order of the process A 200, changing the order name, or modifying the order number, or, for example, the process B 202. The hacking is performed by attacking the memory B 208 that processes the stock quote data of the parent) and displaying the stock which is the lower limit as the upper limit.

전자거래 보안모듈(204)은 사용자에 의해 컴퓨터 상에서 주식매매 프로그램이 실행되는 경우, 주식매매 프로그램에 접근하여 개인 정보를 공격하고자 하는 해킹모듈(210)의 다양한 접근시도를 차단함으로써, 안전하게 주식매매 프로그램을 통한 온라인 전자거래가 가능하도록 한다. When the stock trading program is executed on a computer by a user, the electronic transaction security module 204 blocks various attempts of the hacking module 210 to attack the stock information program to attack personal information, thereby safely storing the stock trading program. Enable online electronic transactions through

이하, 전자거래 보안모듈(204)에서 해킹모듈(210)에 의한 주식매매 프로그램으로의 접근을 방지시키기 위한 여러 가지 동작에 대해 상세히 설명하기로 한다. Hereinafter, various operations for preventing access to the stock trading program by the hacking module 210 in the electronic transaction security module 204 will be described in detail.

먼저, 전자거래 보안모듈(204)은 해킹모듈(210)이 주식매매 프로그램의 해킹 을 위해 프로세스 핸들 정보로의 접근을 시도하는 것을 감지하는 경우에는, 해킹 모듈(210)에 의해 주식매매 프로그램의 프로세스 핸들 정보로의 접근이 이루어지는 것을 방지시키고자, 유저 모드(user mode) 또는 커널 모드(kernel mode)에서 사용되는 프로세스의 핸들 생성 API들을 후킹하여 해킹 모듈과 같이 접근이 허용되지 않은 다른 프로세스에 의한 프로세스 핸들 정보로의 접근을 차단시킨다. 이때 전자거래 보안모듈(204)은, 허용되지 않은 프로세스의 판단에 있어서는 프로세스의 아이디(ID)를 확인하여 프로세스 핸들 정보의 접근이 허용된 프로세스인지를 판단한다.First, when the electronic transaction security module 204 detects that the hacking module 210 attempts to access process handle information for hacking the stock trading program, the hacking module 210 processes the stock trading program. In order to prevent access to the handle information, hooking the handle generation APIs of the process used in user mode or kernel mode to allow access by other processes such as hacking modules is not allowed. Block access to handle information. At this time, the electronic transaction security module 204 checks the ID (ID) of the process in the determination of the disallowed process, and determines whether the process is allowed to access the process handle information.

또한, 전자거래 보안모듈(204)은 해킹모듈(210)이 주식매매 프로그램의 해킹을 위해 메모리(206, 208)로 접근을 시도하는 것을 감지하는 경우에는, 해킹모듈(210)에 의해 주식매매 프로그램의 메모리 접근이 이루어지는 것을 방지시키고자, 유저 모드 또는 커널모드에서 사용되는 메모리 접근 및 수정 API들을 후킹하여 해킹 모듈(210)과 같이 허용되지 않은 다른 프로세스에 의한 메모리(206, 208)로의 접근을 차단시킨다.In addition, when the electronic transaction security module 204 detects that the hacking module 210 attempts to access the memories 206 and 208 for the hacking of the stock trading program, the stock trading program by the hacking module 210. In order to prevent the memory access of the memory access, the memory access and modification APIs used in user mode or kernel mode are hooked to prevent access to the memory 206 and 208 by other unauthorized processes such as the hacking module 210. Let's do it.

한편, 위와 같은 주식매매 프로그램에 대해서는 해킹모듈(210)이 주식매매 프로그램에서 사용하는 API들을 후킹하는 방법을 통한 해킹이 이루어질 수도 있다. 이에 따라 전자거래 보안모듈(204)은 허용되지 않는 악의적인 코드 등의 해킹 모듈에 의해 주식매매 프로그램의 동작 방식이 변경되거나 중요 데이터들에 대한 유출 및 조작을 방지시키고자, 주식매매 프로그램의 실행 시 프로그램에서 사용하는 API들이 후킹되어 있는지를 판단하여 후킹되어 있다면 해당 프로그램의 수행을 중단시 키거나 사용자에게 해킹 위험을 알려주며, 또는 후킹을 통해 조작된 API를 원래대로 복원하여 정상적인 API가 호출될 수 있도록 한다.Meanwhile, the hacking module 210 may be hacked by hooking APIs used by the stock trading program for the stock trading program. Accordingly, the electronic transaction security module 204 changes the operation of the stock trading program by a hacking module such as malicious code which is not allowed, or prevents the leakage and manipulation of important data. It determines whether the APIs used in the program are hooked and if it is hooked, it stops the execution of the program or informs the user of the risk of hacking, or restores the API manipulated by hooking and restores the normal API to be called. do.

또한, 위와 같은 주식매매 프로그램에 대해서는 해킹모듈(210)이 주식매매 프로그램에 대한 디버깅을 통해 해킹을 할 수도 있다. 이에 따라 전자거래 보안모듈(204)은 주식매매 프로그램에 대한 디버깅 분석을 통한 리버스 엔지니어링(reverse engineering)을 방지시키고자, 주식매매 프로그램이 메모리 상에서 수행되는 코드들을 가상화시켜 수행중인 코드를 확인하더라도 원래의 명령어를 확인할 수 없도록 하는 방법과, 주식매매 프로그램을 구동하는데 사용되는 실행 파일들에 대해서 파일을 압축함으로써 원래 파일의 구성이 파악되지 못하도록 하는 방법을 통해 디버깅을 방지시킨다. 또한 주식매매 프로그램에 대해 디버깅을 시도하는 허용되지 않는 디버거의 존재를 감시하여 디버깅이 검출되는 경우 사용자에게 해킹위험을 통지하거나 해당 프로그램의 수행을 중단시켜 주식매매 프로그램의 동작방식과 원리가 파악되는 것을 방지시킨다.In addition, the hacking module 210 may hack through the debugging of the stock trading program for the stock trading program as described above. Accordingly, in order to prevent reverse engineering through debugging analysis of the stock trading program, the electronic transaction security module 204 virtualizes the code executed in memory to check the code being executed. Debugging can be prevented by making the command unverifiable and compressing the file against the executables used to run the stock trading program so that the composition of the original file is unknown. It also monitors the existence of unacceptable debuggers attempting to debug stock trading programs, notifying users of hacking risks when debugging is detected, or interrupting the execution of such programs to understand how stock trading programs operate. Prevent it.

도 3은 본 발명의 실시 예에 따라 사용자 컴퓨터 단말에서 실행된 전자 거래 프로그램을 보호하는 동작 제어 흐름을 도시한 것으로, 설명의 편의상 전자 거래 프로그램 중 온라인 주식매매 프로그램의 보호 동작 방법에 대해서 설명하나, 온라인을 통한 금융관련 업무에 이용되는 각종 전자 거래 프로그램에 동일하게 적용 가능하다. 이하, 도 1, 도 2 및 도 3을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다. 3 is a flowchart illustrating an operation control flow for protecting an electronic transaction program executed in a user computer terminal according to an embodiment of the present invention. For convenience of description, a method of protecting an online stock trading program among electronic transaction programs will be described. It is equally applicable to various electronic trading programs used for financial related work online. Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 1, 2, and 3.

먼저, 사용자가 키입력을 통해 온라인을 통한 주식매매 프로그램의 실행을 요청하는 경우 해당 주식매매 프로그램의 프로세스가 (S300)단계에서 OS 운영체제에 의해 실행된다.First, when a user requests execution of an online stock trading program through a key input, the process of the corresponding stock trading program is executed by the OS operating system at step S300.

그러면, 전자거래 보안모듈(204)은 보호해야할 주식매매 프로그램의 실행을 인식하고, 위 주식매매 프로그램을 해킹하고자 하는 해킹 모듈(210)과 같은 비정상 프로세스에 의한 프로세스 핸들 정보 접근이나 프로세스 메모리 접근을 차단시키고자 (S302)∼(S304)단계에서 주식매매 프로그램의 프로세스 핸들을 생성하는 API를 후킹하고, 주식매매 프로그램의 프로세스들이 사용하는 메모리로의 접근 및 수정이 가능한 메모리 접근 및 수정 API를 후킹한다. Then, the electronic transaction security module 204 recognizes the execution of the stock trading program to be protected, and blocks process handle information access or process memory access by an abnormal process such as the hacking module 210 to hack the stock trading program. In step (S302) to (S304) to hook the API for creating a process handle of the stock trading program, and hooks the memory access and modification API that can access and modify the memory used by the processes of the stock trading program.

즉, 전자거래 보안모듈(204)은 (S302)단계에서 접근이 허용되지 않은 다른 프로세스가 주식매매 프로그램에 접근하기 위해서 프로세스 핸들 정보를 가져가는 것을 방지하고자, 유저 모드 또는 커널모드에서 프로세스 핸들의 생성을 위해 사용되는 프로세스 핸들 생성 API를 후킹하여 해킹 모듈(210)과 같은 비정상 프로세스에 의한 프로세스 핸들 정보로의 접근을 차단시킨다.That is, the electronic transaction security module 204 generates the process handle in the user mode or the kernel mode to prevent another process that is not allowed in step S302 from taking the process handle information to access the stock trading program. Hooking the process handle generation API used for blocking to block access to the process handle information by the abnormal process, such as hacking module (210).

또한, 전자거래 보안모듈(204)은 (S304)단계에서 접근이 허용되지 않은 비정상 프로세스가 주식매매 프로그램의 프로세스들이 사용하는 메모리들에 접근하거나 그 내용을 조작하는 행위를 차단시키기 위해 유저 모드 또는 커널모드에서 메모리(206, 208)에 대한 접근 및 수정을 위해 사용되는 메모리 접근 및 수정 API를 후킹하여 해킹 모듈(210)과 같은 비정상 프로세스에 의한 주식매매 프로그램의 메모리 접근을 차단시킨다.In addition, the electronic transaction security module 204 is a user mode or kernel to block the operation of accessing or manipulating the contents of the memory used by the processes of the stock trading program is not allowed to access in step (S304) In this mode, the memory access and modification API used for access and modification of the memory 206 and 208 is hooked to block the memory access of the stock trading program by an abnormal process such as the hacking module 210.

이어, 전자거래 보안모듈(204)은 (S306)단계에서 위 실행된 주식매매 프로그 램에 접근하기 위한 프로세스 핸들 정보를 얻고자 하거나 또는 프로세스 메모리로 접근하고자 하는 다른 프로세스로부터의 접근시도가 있는지 여부를 감시한다.Subsequently, the electronic transaction security module 204 checks whether there is an access attempt from another process to obtain process handle information for accessing the stock trading program executed in step S306 or to access process memory. Watch.

이때 만일, 사용자 단말의 컴퓨터 상에서 실행되고 있는 주식매매 프로그램에 접근하기 위한 프로세스 핸들 정보 또는 프로세스 메모리에 대해 다른 프로세스로부터의 접근시도가 있는 것으로 판단하는 경우, 전자거래 보안모듈(204)은 프로세스 핸들 정보 또는 메모리 접근 여부 판단 단계인 (S308)단계에서 (S310)단계로 진행하여 주식매매 프로그램의 프로세스 핸들 정보 또는 메모리 접근을 시도한 다른 프로세스의 아이디 정보를 검출하여 프로세스 핸들 정보 또는 메모리로의 접근에 대한 적법성 여부를 검사한다. 즉, 프로세스 핸들 정보 또는 메모리로의 접근을 시도한 프로세스의 아이디 정보를 미리 등록된 접근 허용된 프로세스 아이디 정보와 비교하여 접근 허용된 프로세스 인지를 검사하는 것이다.At this time, if it is determined that there is an access attempt from another process for process handle information or process memory for accessing the stock trading program running on the computer of the user terminal, the electronic transaction security module 204 may process the process handle information. Alternatively, the process proceeds from step S308 to step S310, which is a memory access determination step, to detect process handle information of the stock trading program or ID information of another process that attempted to access the memory, thereby validating the process handle information or access to the memory. Check for availability. That is, it checks whether the process is allowed access by comparing process handle information or ID information of the process attempting to access the memory with previously registered access allowed process ID information.

이어, 상기 (S310)단계의 프로세스 접근의 적법성 검사에서 프로세스 핸들 정보 또는 메모리에 접근을 시도한 다른 프로세스가 주식매매 프로그램에 대해 접근이 허용된 정상 프로세스인 경우에는 전자거래 보안모듈(204)은 (S310)단계에서 (S314)단계로 진행해서 상기 주식매매 프로그램의 프로세스 핸들 정보 또는 메모리에 대한 접근을 정상적으로 허용한다.Subsequently, when another process that attempts to access the process handle information or the memory in the legitimacy check of the process access in step (S310) is a normal process allowed access to the stock trading program, the electronic transaction security module 204 (S310) In step S314, access to the process handle information or the memory of the stock trading program is normally permitted.

그러나, 이와 달리, 상기 (S306)단계의 프로세스 접근의 적법성 검사에서 프로세스 핸들 정보 또는 메모리에 접근을 시도한 다른 프로세스가 주식매매 프로그램에 대해 접근이 허용되지 않은 해킹 모듈(210) 등의 비정상 프로세스로 검사되는 경우, 전자거래 보안모듈(204)은 (S310)단계에서 (S316)단계로 진행하여 프로세스 핸들 정보 또는 메모리로의 접근시도를 차단시킨다. However, in contrast, in the legitimacy check of the process access in the step (S306), the process handle information or another process that attempts to access the memory is checked as an abnormal process, such as hacking module 210 is not allowed to access the stock trading program If so, the electronic transaction security module 204 proceeds from step S310 to step S316 to block access attempts to process handle information or memory.

도 4는 본 발명의 다른 실시 예에 따라 사용자 컴퓨터 단말에서 실행된 전자 거래 프로그램을 보호하는 동작 제어 흐름을 도시한 것으로, 설명의 편의상 전자 거래 프로그램 중 온라인 주식매매 프로그램의 보호 동작 방법에 대해서 설명하나, 온라인을 통한 금융관련 업무에 이용되는 각종 전자 거래 프로그램에 동일하게 적용 가능하다. 이하, 도 1, 도 2 및 도 4를 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다. 4 is a flowchart illustrating an operation control flow for protecting an electronic transaction program executed in a user computer terminal according to another embodiment of the present invention. For convenience of description, a method of protecting an online stock trading program among electronic transaction programs will be described. It is equally applicable to various electronic trading programs used for financial related work online. Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 1, 2, and 4.

먼저, 사용자가 키입력을 통해 온라인을 통한 주식매매 프로그램의 실행을 요청하는 경우 해당 주식매매 프로그램의 프로세스가 (S400)단계에서 OS 운영체제에 의해 실행된다.First, when a user requests execution of an online stock trading program through a key input, the process of the corresponding stock trading program is executed by the OS operating system at step S400.

그러면, 전자거래 보안모듈(204)은 보호해야할 주식매매 프로그램의 실행을 인식하고, (S402)단계에서 위 실행된 주식매매 프로그램에서 사용되는 API들이 후킹된 상태인지 여부를 검사한다.Then, the electronic transaction security module 204 recognizes the execution of the stock trading program to be protected, and checks whether the APIs used in the stock trading program executed above are hooked in step S402.

즉, 위와 같이 개인과 증권사간 금전 송/수신이 이루어지는 주식매매 프로그램의 경우 이를 해킹하고자 하는 악의적인 코드 등의 해킹 모듈에 의해 주식매매 프로그램의 동작 방식이 변경되거나 중요 데이터들에 대한 유출 및 변조가 발생할 수 있는데, 전자거래 보안모듈(204)은, 이와 같은 주식매매 프로그램에 대한 공격을 방지하기 위해 실행된 주식매매 프로그램에서 사용하는 API들이 후킹되어 있는지를 검사하는 것이다.In other words, in the case of a stock trading program where money is transmitted / received between an individual and a securities firm, the hacking module such as a malicious code that attempts to hack it changes the operation of the stock trading program or leaks or modifies important data. The electronic transaction security module 204 may check whether the APIs used in the stock trading program executed to prevent an attack on such a stock trading program are hooked.

이때 만일, 해킹 모듈에 의해 주식매매 프로그램에서 사용되는 API들이 후킹 된 것으로 판단하는 경우, 전자거래 보안모듈(204)은 (S404)단계에서 (S406)단계로 진행해서 해킹 모듈(201)에 의해 후킹된 API들에 대한 복원 가능성 여부를 검사한다.In this case, if it is determined that the APIs used in the stock trading program are hooked by the hacking module, the electronic transaction security module 204 proceeds from step S404 to step S406 and is hooked by the hacking module 201. Checks for recoverability of compiled APIs.

한편, 위 API들에 대한 후킹 여부 판단에 있어서, 전자거래 보안모듈(204)은 예를 들어 API 내부의 수행코드 중에 그 흐름을 비정상적인 외부의 코드 영역으로 옮기는 명령어가 존재하거나 또는 API의 위치를 저장하고 있는 모듈의 IAT(Import Address Table), EAT, SDT가 가르키고 있는 함수의 주소가 실제의 주소값과 다르게 변경되어 있는 것을 감지하는 경우 해당 API가 후킹 되었음을 판단하게 된다.On the other hand, in determining the hooking of the above API, the electronic transaction security module 204, for example, there is an instruction to move the flow to an abnormal external code area in the execution code inside the API or to store the location of the API. If it detects that the address of the function indicated by IAT (Import Address Table), EAT, and SDT of the module being changed is different from the actual address value, it determines that the API is hooked.

이어, 상기 (S406)단계에서, 악의적인 코드 등의 해킹 모듈에 의해 후킹된 API들에 대한 복원 가능성 검사결과, 후킹된 API들에 대한 복원이 가능한 경우 전자거래 보안모듈(204)은 (S408)단계에서 (S410)단계로 진행해서 후킹된 API들을 정상적으로 복원한다.Subsequently, in step S406, when the restoration possibility of the APIs hooked by the hacking module, such as malicious code, is restored, the electronic transaction security module 204 may restore the hooked APIs (S408). In step S410, the hooked APIs are restored normally.

이때, API를 복원함에 있어서, 전자거래 보안모듈은 예를 들어 원본파일 또는 API의 원본코드를 확인할 수 있는 데이터를 이용해서 원본 수행코드를 메모리상에 올려놓고 후킹되거나 조작된 API를 호출하는 대신 메모리상에 별도로 존재하는 코드를 호출하도록 하여 API를 복원한다. 또는 API가 호출되기 이전에 원본코드로 해당 API의 코드영역을 덮어쓰기 하여 정상적인 API가 호출되도록 하여 API를 복원한다.At this time, in restoring the API, the electronic transaction security module, for example, loads the original execution code into memory using data that can identify the original file or the original code of the API, and instead calls a hooked or manipulated API. Restore the API by calling code that exists separately on the Alternatively, the API is restored by overwriting the code area of the API with the original code before the API is called.

그러나, 이와 달리 상기 (S406)단계에서, 악의적인 코드 등의 해킹 모듈(210)에 의해 후킹된 API들에 대한 복원 가능성 검사결과, 후킹된 API들에 대한 복원이 불가능한 경우, 전자거래 보안모듈(204)은 (S408)단계에서 (S412)단계로 진행해서 사용자에게 주식매매 프로그램에 대한 해킹 위험을 알리고, (S414)단계에서 해당 주식매매 프로그램의 실행을 중단시키게 된다. However, in contrast, in the step (S406), when the restoration possibility for the APIs hooked by the hacking module 210 such as malicious code, the restoration of the hooked APIs is impossible, the electronic transaction security module ( 204) proceeds from step S408 to step S412 to inform the user of the risk of hacking into the stock trading program, and stops the execution of the corresponding stock trading program in step S414.

도 5는 본 발명의 다른 실시 예에 따라 사용자 컴퓨터 단말에서 실행된 전자 거래 프로그램을 보호하는 동작 제어 흐름을 도시한 것으로, 설명의 편의상 전자 거래 프로그램 중 온라인 주식매매 프로그램의 보호 동작 방법에 대해서 설명하나, 온라인을 통한 금융관련 업무에 이용되는 각종 전자 거래 프로그램에 동일하게 적용 가능하다. 이하, 도 1, 도 2 및 도 5를 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다. FIG. 5 is a flowchart illustrating an operation control flow for protecting an electronic transaction program executed in a user computer terminal according to another embodiment of the present invention. For convenience of description, a method of protecting an online stock trading program among electronic transaction programs will be described. It is equally applicable to various electronic trading programs used for financial related work online. Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 1, 2, and 5.

먼저, 사용자가 키입력을 통해 온라인을 통한 주식매매 프로그램의 실행을 요청하는 경우 해당 주식매매 프로그램의 프로세스가 (S500)단계에서 OS 운영체제에 의해 실행된다.First, when a user requests execution of an online stock trading program through a key input, the process of the corresponding stock trading program is executed by the OS operating system at step S500.

그러면, 전자거래 보안모듈(204)은 보호해야할 주식매매 프로그램의 실행을 인식하고, 주식매매 프로그램에 대한 악의적인 코드 등의 해킹모듈(210)로부터 디버깅을 방지하기 위해 (S502)단계에서, 위 주식매매 프로그램을 구동하는데 사용되는 파일들에 대해서 실행 압축 방법을 이용하여 원래 파일의 구성과 내용을 변경시킨다.Then, the electronic transaction security module 204 recognizes the execution of the stock trading program to be protected, and in order to prevent debugging from the hacking module 210 such as malicious code for the stock trading program (S502), For the files used to run the trading program, the composition and contents of the original file are changed using the execution compression method.

이에 따라, 악의적인 코드 등의 해킹모듈(210)에 의해 주식매매 프로그램의 원래 구동 파일 내용이 파악되는 것을 방지시켜 주식매매 프로그램의 구동 파일에 대한 직접적인 수정이나 변조를 차단시킬 수 있게 된다.Accordingly, the original driving file contents of the stock trading program may be prevented from being grasped by the hacking module 210 such as malicious code, thereby preventing direct modification or modification of the driving file of the stock trading program.

이어, 전자거래 보안모듈(204)은 주식매매 프로그램에 대한 악의적인 코드나 해킹모듈(210)로부터 디버깅을 방지하기 위해 (S504)단계에서 위 주식매매 프로그램이 메모리 상에서 수행되는 코드들을 가상화시킨다. Subsequently, the electronic transaction security module 204 virtualizes codes performed by the stock trading program on the memory at step S504 to prevent debugging from the malicious code for the stock trading program or the hacking module 210.

이에 따라, 주식매매 프로그램의 코드 명령어를 확인할 수 없는 상태로 존재하게 함으로서, 악의적인 코드 등의 해킹모듈(210)에 의해 주식매매 프로그램의 동작방식과 원리가 파악되는 것을 방지시킨다. 이어, 전자거래 보안모듈(204)은 (S506)단계에서 현재 실행중인 주식매매 프로그램에 대한 디버깅 시도가 있는지 여부를 검사한다.Accordingly, by allowing the code instruction of the stock trading program to be in an undeterminable state, the operation method and principle of the stock trading program can be prevented from being caught by the hacking module 210 such as malicious code. Subsequently, the electronic transaction security module 204 checks whether there is an attempt to debug the stock trading program currently being executed in step S506.

이때 만일 사용자 컴퓨터 상에서 실행중인 주식매매 프로그램에 대한 디버깅 시도가 검출되는 경우, 전자거래 보안모듈(204)은 (S508)단계에서 (S510)단계로 진행해서 주식매매 프로그램에 대한 디버깅을 위해 현재 동작중인 다른 디버거 프로세스의 아이디를 검출하여 디버깅이 허용된 프로세스인지 여부를 검사한다. At this time, if the debugging attempt for the stock trading program running on the user computer is detected, the electronic transaction security module 204 proceeds from the step (S508) to the step (S510) and is currently operating for debugging the stock trading program. Detects the ID of another debugger process to check whether debugging is allowed.

이때 만일, 주식매매 프로그램에 대한 디버깅을 수행하는 디버거 프로세스가 디버깅이 허용되지 않은 악의적인 코드 등의 비정상 프로세스인 경우 전자거래 보안모듈(204)은 (S512)단계에서 (S514)단계로 진행해서 사용자에게 주식매매 프로그램에 대해 비정상 프로세스에 의한 디버깅 수행중임을 알리고, (S516)단계에서 해당 주식매매 프로그램의 실행을 중단시키게 된다. At this time, if the debugger process for debugging the stock trading program is an abnormal process such as malicious code which is not allowed to be debugged, the electronic transaction security module 204 proceeds from step S512 to step S514. Informs that the stock trading program is being debugged by an abnormal process, and the execution of the stock trading program is stopped at step S516.

상기한 바와 같이, 본 발명에서는 온라인 상 금융관련 업무를 수행할 수 있도록 하는 전자거래 프로그램을 보호하는 방법에 있어서, 온라인 금융업무를 위해 컴퓨터상 전자거래 프로그램이 실행되는 경우 전자거래 프로그램에 대한 악의적인 코드로부터의 다양한 해킹 시도를 API 후킹 탐지 및 복원, 디버깅 방지, 메모리 접근 방지 등의 방법으로 차단시킴으로써, 온라인 전자거래를 통해 송/수신되는 사용자의 계좌정보, 거래정보 등이 불법적으로 유출되거나 조작되는 것을 방지시켜 온라인 전자거래에 대한 신뢰성을 높일 수 있도록 한다.As described above, in the present invention, a method for protecting an electronic transaction program for performing online financial transactions, wherein the electronic transaction program on the computer for the online financial transaction is malicious By blocking various hacking attempts from the code through API hooking detection and restoration, debugging prevention, memory access prevention, etc., user's account information and transaction information transmitted / received through online electronic transaction are illegally leaked or manipulated. It helps to increase the credibility of online e-commerce.

한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.Meanwhile, in the above description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the invention should be determined by the claims rather than by the described embodiments.

도 1은 온라인 주식매매 시스템의 개략적인 네트웍 구성도,1 is a schematic network diagram of an online stock trading system,

도 2는 본 발명의 실시 예에 따른 전자거래 프로그램의 내부 프로세스 개념도,2 is a conceptual diagram of an internal process of an electronic transaction program according to an embodiment of the present invention;

도 3은 본 발명의 실시 예에 따른 전자거래 프로그램의 보호를 위한 동작 제어 흐름도,3 is an operation control flowchart for protecting an electronic transaction program according to an embodiment of the present invention;

도 4는 본 발명의 다른 실시 예에 따른 전자거래 프로그램의 보호를 위한 동작 제어 흐름도,4 is an operation control flowchart for protecting an electronic transaction program according to another embodiment of the present invention;

도 5는 본 발명의 다른 실시 예에 따른 전자거래 프로그램의 보호를 위한 동작 제어 흐름도.5 is an operation control flowchart for protecting an electronic transaction program according to another embodiment of the present invention.

<도면의 주요 부호에 대한 간략한 설명><Brief description of the major symbols in the drawings>

200, 202 : 프로세스 206, 208 : 메모리200, 202: process 206, 208: memory

204 : 전자거래 보안모듈 210 : 해킹모듈204: Electronic transaction security module 210: Hacking module

Claims (14)

온라인 전자거래 프로그램 보호 방법으로서,As a way to protect your online e-commerce program, 컴퓨터 상에서 전자거래 프로그램 실행 시 상기 전자거래 프로그램의 프로세스 핸들 생성 API를 후킹하는 단계와,Hooking the process handle generation API of the electronic transaction program when the electronic transaction program is executed on a computer; 상기 프로세스 핸들 정보로의 접근시도를 감시하는 단계와,Monitoring access attempts to the process handle information; 상기 프로세스 핸들 정보에 접근하는 다른 프로세스 검출 시 해당 프로세스의 아이디를 확인하여 접근 허용된 프로세스인지 여부를 검사하는 단계와,Checking whether the process is allowed access by checking the ID of the corresponding process when detecting another process accessing the process handle information; 상기 검사결과 상기 다른 프로세스가 접근 허용된 프로세스가 아닐 때, 상기 프로세스 핸들 정보로의 접근을 차단시키는 단계Blocking access to the process handle information when the check result indicates that the other process is not an accessible process; 를 포함하는 온라인 전자거래 프로그램 보호 방법.Online e-commerce program protection method comprising a. 온라인 전자거래 프로그램 보호 방법으로서,As a way to protect your online e-commerce program, 컴퓨터 상에서 전자거래 프로그램 실행 시 상기 전자거래 프로그램의 프로세스 메모리에 접근할 수 있는 API를 후킹하는 단계와, Hooking an API to access the process memory of the electronic transaction program when the electronic transaction program is executed on a computer; 상기 프로세스 메모리로의 접근시도를 감시하는 단계와,Monitoring access attempts to the process memory; 상기 프로세스 메모리로 접근하는 다른 프로세스 검출 시 해당 프로세스의 아이디를 확인하여 접근 허용된 프로세스인지 여부를 검사하는 단계와,Checking whether the process is permitted by checking an ID of a corresponding process when detecting another process accessing the process memory; 상기 검사결과, 상기 다른 프로세스가 접근 허용된 프로세스가 아닐 때, 상기 프로세스 메모리 접근을 차단시키는 단계Blocking the process memory access when the check result indicates that the other process is not an accessible process 를 포함하는 온라인 전자거래 프로그램 보호 방법.Online e-commerce program protection method comprising a. 제 1 항 내지 제 2 항에 있어서,The method according to claim 1 or 2, 상기 전자거래 프로그램은, 주식매매 프로그램 또는 브라우저를 이용한 주식매매 프로그램인 것을 특징으로 하는 온라인 전자거래 프로그램 보호 방법.The electronic trading program is a stock trading program or a stock trading program using a browser. 온라인 전자거래 프로그램 보호 방법으로서,As a way to protect your online e-commerce program, 컴퓨터 상에서 전자거래 프로그램 실행 시 상기 전자거래 프로그램에서 사용하는 API의 후킹 여부를 검사하는 단계와,Checking whether the API used in the electronic transaction program is hooked when the electronic transaction program is executed on a computer; 상기 API가 후킹된 경우 상기 후킹된 API의 복원 가능 여부를 검사하는 단계와,Checking whether the hooked API can be restored if the API is hooked; 상기 검사결과 복원 가능 시에는 상기 후킹된 API를 복원하여 악의적인 프로세스의 접근을 차단시키는 단계Restoring access to a malicious process by restoring the hooked API when restoring the inspection result; 를 포함하는 온라인 전자거래 프로그램 보호 방법.Online e-commerce program protection method comprising a. 제 4 항에 있어서,The method of claim 4, wherein 상기 API 후킹 여부 검사 단계는,The API hooking check step, 상기 전자거래 프로그램의 내부 수행 코드 중 그 흐름을 비정상적인 외부의 코드 영역으로 옮기도록 하는 명령어의 존재 여부를 검사하여 해당 명령어 존재시 API 후킹으로 판단하는 것을 특징으로 하는 온라인 전자거래 프로그램 보호 방법.The method of protecting an online e-commerce program, characterized in that it checks whether there is an instruction for moving the flow of the internal execution code of the e-commerce program to an abnormal external code region and determines that the instruction is an API hooking. 제 4 항에 있어서,The method of claim 4, wherein 상기 API 후킹 여부 검사 단계는,The API hooking check step, 상기 전자거래 프로그램의 내부 수행 코드 중 API의 위치를 저장하고 있는 모듈의 IAT, EAT, SDT 또는 IDT 함수위치를 저장해 놓은 테이블이 가리키고 있는 API주소가 실제 주소 값과 다르게 변경되어 있는지를 검사하여 주소 변경 시 API후킹으로 판단하는 것을 특징으로 하는 온라인 전자거래 프로그램 보호 방법.Change the address by checking whether the API address indicated by the table that stores the IAT, EAT, SDT or IDT function location of the module that stores the API location among the internal execution codes of the electronic transaction program is different from the actual address value. Online e-commerce program protection method characterized in that it is determined by the API hooking. 제 4 항에 있어서,The method of claim 4, wherein 상기 API 복원은, The API restore, 상기 전자거래 프로그램 원본파일 또는 해당 API의 원본 코드를 확인할 수 있는 데이터를 이용하여 원본 수행코드를 메모리상에 올려놓은 후, 후킹되거나 조작된 API를 호출하지 않고, 메모리상 별도로 존재하는 코드를 호출하여 수행하는 것을 특징으로 하는 온라인 전자거래 프로그램 보호 방법.Put the original execution code in the memory using the electronic transaction program source file or the data that can identify the original code of the API, and then call a code existing separately in the memory, without calling a hooked or manipulated API. A method for protecting an online e-commerce program, comprising: 제 4 항에 있어서,The method of claim 4, wherein 상기 API 복원은,The API restore, 상기 API가 호출되기 이전에 상기 전자거래 프로그램 원본코드로 해당 API의 코드 영역을 덮어쓰기하여 정상적인 API가 호출되도록 수행하는 것을 특징으로 하는 온라인 전자거래 프로그램 보호 방법.And overwriting the code area of the corresponding API with the original source code of the electronic transaction program before the API is called. 제 4 항에 있어서,The method of claim 4, wherein 상기 보호 방법은,The protection method, 상기 후킹된 API의 복원이 가능하지 않을 시에는 상기 전자거래 프로그램의 해킹위험을 사용자에게 알리는 단계Notifying the user of a hacking risk of the electronic transaction program when the hooked API is not possible to be restored; 를 더 포함하는 것을 특징으로 하는 온라인 전자거래 프로그램 보호 방법.Online e-commerce program protection method characterized in that it further comprises. 제 4 항에 있어서,The method of claim 4, wherein 상기 보호 방법은,The protection method, 상기 후킹된 API의 복원이 가능하지 않을 시에는 상기 전자거래 프로그램의 실행을 중단시키는 단계Stopping execution of the electronic transaction program when the hooked API cannot be restored 를 더 포함하는 것을 특징으로 하는 온라인 전자거래 프로그램 보호 방법.Online e-commerce program protection method characterized in that it further comprises. 제 4 항에 있어서,The method of claim 4, wherein 상기 전자거래 프로그램은, 주식매매 프로그램 또는 브라우저를 이용한 주식매매 프로그램인 것을 특징으로 하는 온라인 전자거래 프로그램 보호 방법.The electronic trading program is a stock trading program or a stock trading program using a browser. 온라인 전자거래 프로그램 보호 방법으로서,As a way to protect your online e-commerce program, 컴퓨터 상에서 전자거래 프로그램 실행 요청시 상기 전자거래 프로그램의 구동 파일을 압축하는 단계와,Compressing a driving file of the electronic transaction program when the electronic transaction program is executed on a computer; 상기 전자거래 프로그램이 메모리 상에서 수행되는 코드들을 가상화시키는 단계와,The electronic transaction program virtualizing codes executed on a memory; 상기 전자거래 프로그램에 대해 디버깅을 시도하는 디버거를 검출하는 단계와,Detecting a debugger attempting to debug the e-commerce program; 상기 디버거가 디버깅 허용되지 않는 비정상 프로세스인 경우 상기 디버거의 접근을 차단시키는 단계Blocking access to the debugger if the debugger is an abnormal process that is not allowed to be debugged 를 포함하는 온라인 전자거래 프로그램 보호 방법.Online e-commerce program protection method comprising a. 제 12 항에 있어서,The method of claim 12, 상기 디버거 접근 차단 단계는,The debugger access blocking step, 상기 디버거의 디버깅 시도를 검출하여 상기 전자거래 프로그램에 대한 디버깅 시도가 있음을 알리는 단계와,Detecting a debug attempt by the debugger to notify that there is a debug attempt for the electronic transaction program; 상기 디버깅 시도 검출 시 상기 전자거래 프로그램의 실행을 중단시켜 상기 디버거의 접근을 차단시키는 단계Interrupting execution of the e-commerce program when the debugging attempt is detected to block access to the debugger; 를 포함하는 것을 특징으로 하는 온라인 전자거래 프로그램 보호 방법. Online e-commerce program protection method comprising a. 제 12 항에 있어서,The method of claim 12, 상기 전자거래 프로그램은, 주식매매 프로그램 또는 브라우저를 이용한 주식매매 프로그램인 것을 특징으로 하는 온라인 전자거래 프로그램 보호 방법.The electronic trading program is a stock trading program or a stock trading program using a browser.
KR1020080037259A 2008-04-22 2008-04-22 Method for protecting on-line electronic transaction program KR100953355B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080037259A KR100953355B1 (en) 2008-04-22 2008-04-22 Method for protecting on-line electronic transaction program
PCT/KR2009/002091 WO2009131371A2 (en) 2008-04-22 2009-04-22 Method for securing on-line electronic transaction program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080037259A KR100953355B1 (en) 2008-04-22 2008-04-22 Method for protecting on-line electronic transaction program

Publications (2)

Publication Number Publication Date
KR20090111577A KR20090111577A (en) 2009-10-27
KR100953355B1 true KR100953355B1 (en) 2010-04-20

Family

ID=41217262

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080037259A KR100953355B1 (en) 2008-04-22 2008-04-22 Method for protecting on-line electronic transaction program

Country Status (2)

Country Link
KR (1) KR100953355B1 (en)
WO (1) WO2009131371A2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101277516B1 (en) 2010-11-03 2013-07-30 주식회사 안랩 Method and apparatus for blocking external access of process, and recording medium having computer program therefor
ITBZ20110061A1 (en) * 2011-12-07 2013-06-08 Armin Bologna AUTHENTICATION DEVICE FOR A MACHINE AND / OR AN ELECTRONIC CALCULATOR.
KR20140124906A (en) * 2013-01-24 2014-10-28 주식회사 잉카인터넷 process check system and method based by behavior
US9197660B2 (en) * 2013-03-15 2015-11-24 Mcafee, Inc. Generic privilege escalation prevention

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060118940A (en) * 2005-05-18 2006-11-24 김성엽 Sound capture protecting method for the window multimedia system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100483700B1 (en) * 2003-12-03 2005-04-19 주식회사 잉카인터넷 Method to cut off an illegal process access and manipulation for the security of online game client by real-time
KR20050113316A (en) * 2004-05-27 2005-12-02 주식회사 안철수연구소 Anti stealth method
KR100681696B1 (en) * 2004-11-29 2007-02-15 주식회사 안철수연구소 Method for preventing from inventing data of memory in a computer application program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060118940A (en) * 2005-05-18 2006-11-24 김성엽 Sound capture protecting method for the window multimedia system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
‘저장매체와 프린터를 통한 파일유출 모니터링시스템’, 최주호 외, 정보보존학회논문지 제15권제4호.(2005.08.)*

Also Published As

Publication number Publication date
WO2009131371A3 (en) 2010-01-21
WO2009131371A2 (en) 2009-10-29
KR20090111577A (en) 2009-10-27

Similar Documents

Publication Publication Date Title
CN102741824B (en) For the system and method for behavior sandboxed
US9158919B2 (en) Threat level assessment of applications
KR100645983B1 (en) Module for detecting an illegal process and method thereof
US7665139B1 (en) Method and apparatus to detect and prevent malicious changes to tokens
US7631356B2 (en) System and method for foreign code detection
US8271803B2 (en) Anti-debugging protection of binaries with proxy code execution
US20150319183A1 (en) System and method for protecting against point of sale malware using memory scraping
KR101006721B1 (en) Keyboard input information security apparatus and method thereof
EP2756441B1 (en) Apparatus and methods for preventing payment webpage tampering
JP6176622B2 (en) Malware detection method
KR20150106937A (en) Context based switching to a secure operating system environment
US20070266435A1 (en) System and method for intrusion detection in a computer system
US20130042297A1 (en) Method and apparatus for providing secure software execution environment based on domain separation
KR100710032B1 (en) Method and system that can secure keyboard key stroke using secure input filter driver and keyboard secure input BHO of Internet Explorer in windows operating system
CN110532767B (en) Internal isolation method for SGX (secure gateway) security application
KR100953355B1 (en) Method for protecting on-line electronic transaction program
WO2019153780A1 (en) Method, apparatus, electronic device and storage medium for protecting private key of digital wallet
KR100931518B1 (en) How to Protect Programs Using Virtual Desktops
CN112134905B (en) Android system based signature method, device and equipment
JP2011145945A (en) Malware detecting device and malware detecting method
US20080133639A1 (en) Client Statement of Health
Zhu et al. AdCapsule: Practical confinement of advertisements in android applications
JP2019008503A (en) Information processing monitoring apparatus, information processing monitoring method, program, recording medium, and information processing apparatus
US11494762B1 (en) Device driver for contactless payments
CN111625784B (en) Anti-debugging method of application, related device and 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: 20130409

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140409

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160411

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170410

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180409

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190409

Year of fee payment: 10