KR101626967B1 - 해킹 방지를 위한 어플리케이션의 동작 방법 및 장치 - Google Patents

해킹 방지를 위한 어플리케이션의 동작 방법 및 장치 Download PDF

Info

Publication number
KR101626967B1
KR101626967B1 KR1020150010017A KR20150010017A KR101626967B1 KR 101626967 B1 KR101626967 B1 KR 101626967B1 KR 1020150010017 A KR1020150010017 A KR 1020150010017A KR 20150010017 A KR20150010017 A KR 20150010017A KR 101626967 B1 KR101626967 B1 KR 101626967B1
Authority
KR
South Korea
Prior art keywords
application
security process
mode
security
debugging
Prior art date
Application number
KR1020150010017A
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 KR1020150010017A priority Critical patent/KR101626967B1/ko
Application granted granted Critical
Publication of KR101626967B1 publication Critical patent/KR101626967B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

메모리 디버깅에 기반한 해킹을 방지하는 어플리케이션의 동작 방법이 개시된다. 일 실시예에 따른 어플리케이션의 동작 방법은, 보안 프로세스를 생성하고, 보안 프로세스의 동작 계속 여부를 확인하고 보안 프로세스의 동작이 종료된 것으로 확인된 경우, 동작을 종료하고, 이때 보안 프로세스는 어플리케이션의 상태 모드를 모니터링하여 동작을 종료할 수 있다.

Description

해킹 방지를 위한 어플리케이션의 동작 방법 및 장치{METHOD AND APPARATUS FOR OPERATING APPLICATION TO PREVENT HACKING}
아래의 실시 예들은 해킹 방지를 위한 어플리케이션의 동작 방법 및 장치에 관한 것이다.
대부분의 어플리케이션은 다양한 해킹 툴에 의해 위협을 받고 있다. 서비스 개발 회사에서는 이를 방지하기 위해 몇 가지 방법을 사용하고 있으나 비효율적인 방법을 사용하고 있다.
가장 기본적인 방법으로 해킹 툴을 최대한 많이 수집하여 패키지 명 및 프로세스로 탐지하는 방법을 사용하고 있다. 이 경우 알려지지 않은 해킹 툴을 사용하여 쉽게 우회가 가능하다. 이러한 경우에 대비하여 주요 변수들을 검색되기 어렵게 조치를 할 수 있지만 어플리케이션 상에 돌아가는 변수들은 수십만 개로 이를 전부 커버하기는 매우 어려운 실정이다.
해킹 툴을 이용한 메모리 디버깅을 원천적으로 방지할 수 있는 해킹 방지 장치를 제공한다.
어플리케이션의 메모리를 제한하지 않으면서 디버깅 모드를 감지할 수 있는 해킹 방지 장치를 제공한다.
메모리 디버깅에 기반한 해킹 방지를 위한 어플리케이션의 동작 방법이 개시된다. 일 실시예에 따른 어플리케이션의 동작 방법은, 보안 프로세스를 생성하는 단계, 보안 프로세스의 동작 계속 여부를 확인하는 단계 및 보안 프로세스가 동작을 종료한 것으로 확인된 경우, 동작을 종료하는 단계를 포함하고, 보안 프로세스는, 어플리케이션의 상태 모드가 디버깅 모드인 것으로 감지된 경우에 응답하여 동작을 종료할 수 있다.
이때, 보안 프로세스의 동작 계속 여부를 확인하는 단계는, 미리 정해진 제1 주기마다 보안 프로세스의 동작 계속 여부를 확인하는 단계를 포함하고, 보안 프로세스는, 미리 정해진 제2 주기마다 어플리케이션의 상태 모드가 디버깅 모드인지를 판단할 수 있다.
일 측에 따르면, 상기 제1 주기는 상기 제2 주기보다 길 수 있다.
다른 일 측에 따르면, 상기 보안 프로세스는, 상기 어플리케이션의 보안을 위한 프로세스 또는 쓰레드일 수 있다.
또 다른 일 측에 따르면, 상기 보안 프로세스는, 상기 어플리케이션의 상태 값이 상기 디버깅 모드를 지시하는 값인지 여부를 확인함으로써, 상기 어플리케이션의 상태 모드가 디버깅 모드인지를 감지할 수 있다.
또 다른 일 측에 따르면, 상기 보안 프로세스를 생성하는 단계는, 상기 어플리케이션의 프로세스 식별자(Process ID; PID)를 이용하여 상기 보안 프로세스의 어플리케이션 프로세스를 구분하는 프로세스 식별자를 설정하는 단계 및 상기 어플리케이션의 프로세스 식별자와 구별되는 프로세스 식별자를 이용하여 상기 보안 프로세스의 어플리케이션 프로세스를 구분하는 프로세스 식별자를 설정하는 단계 중 적어도 하나를 포함할 수 있다.
또 다른 일 측에 따르면, 상기 보안 프로세스는, 상기 보안 프로세스의 상태 모드가 디버깅 모드인지를 더 감지할 수 있다.
또 다른 일 측에 따르면, 상기 보안 프로세스는, 상기 어플리케이션의 동작 계속 여부를 확인하고, 상기 어플리케이션의 동작 종료에 응답하여 상기 보안 프로세스의 동작을 종료할 수 있다.
메모리 디버깅에 기반한 해킹을 방지하는 장치가 개시된다. 일 실시예에 따른 해킹 방지 장치는, 어플리케이션 및 보안 프로세스의 동작을 제어하는 프로세서 및 상기 프로세서에서 처리 가능한 상기 어플리케이션을 저장하는 메모리를 포함하고, 상기 프로세서는, 상기 어플리케이션을 실행하고, 상기 어플리케이션의 실행에 대응하여 상기 보안 프로세스를 호출하고, 상기 보안 프로세스의 동작 계속 여부를 확인하여 상기 보안 프로세스가 동작을 종료한 것으로 확인된 경우에 응답하여 상기 어플리케이션의 동작을 종료하고, 상기 어플리케이션의 상태 모드가 디버깅 모드인 것으로 감지된 경우에 응답하여 상기 보안 프로세스를 종료할 수 있다.
또 다른 일 측에 따르면, 상기 프로세서는, 미리 정해진 제1 주기마다 상기 보안 프로세스의 동작 계속 여부를 확인하고, 미리 정해진 제2 주기마다 상기 어플리케이션의 상태 모드가 디버깅 모드인지를 감지할 수 있다.
이때, 상기 제1 주기는 상기 제2 주기보다 길 수 있다.
다른 일 측에 따르면, 상기 프로세서는, 상기 어플리케이션의 상태 값이 상기 디버깅 모드를 지시하는 값인지 여부를 확인함으로써, 상기 어플리케이션의 상태 모드가 디버깅 모드인지를 감지할 수 있다.
또 다른 일 측에 따르면, 상기 프로세서는, 상기 어플리케이션의 프로세스 식별자(Process ID; PID) 이용하여 상기 보안 프로세스의 어플리케이션 프로세스를 구분하는 식별자를 설정하거나, 상기 어플리케이션의 프로세스 식별자와 구별되는 프로세스 식별자를 이용하여 상기 보안 프로세스의 어플리케이션 프로세스를 구분하는 식별자를 설정하여 상기 보안 프로세스를 호출할 수 있다.
또 다른 일 측에 따르면, 상기 프로세서는, 상기 보안 프로세스의 상태 모드가 디버깅 모드인지를 더 감지하고, 상기 보안 프로세스의 상태 모드가 디버깅 모드인 것으로 감지된 경우에 응답하여 상기 보안 프로세스를 종료할 수 있다
또 다른 일 측에 따르면, 상기 프로세서는, 상기 어플리케이션의 동작 계속 여부를 확인하고, 상기 어플리케이션의 동작 종료에 응답하여 상기 보안 프로세스를 종료할 수 있다.
해킹 방지를 위한 어플리케이션 동작 방법에 따르면, 해킹 방지를 위해 메모리 전체 변수에 대한 보안 변수의 적용이 필요 없다.
잘 알려지지 않은 메모리 해킹 툴로 인한 피해를 예방하고, 해킹 툴 및 메모리 디버깅 툴의 접근을 원천 차단할 수 있다.
보안 프로세스는 별도의 독립된 프로세스를 이용하므로, 어플리케이션의 부하를 없앨 수 있다.
도 1은 일 실시예에 따른 해킹 방지를 위한 어플리케이션의 동작 방법의 전체 프로세스를 설명하기 위한 흐름도이다.
도 2는 일 실시예에 따른 해킹 방지를 위한 어플리케이션의 동작 방법에 있어서, 어플리케이션의 구체적인 동작을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따른 해킹 방지를 위한 어플리케이션의 동작 방법에 있어서, 보안 프로세스의 모니터링 방법을 보다 구체적으로 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 해킹 방지를 위한 어플리케이션의 동작 방법에 있어서, 어플리케이션의 동작 계속 여부를 확인하는 방법을 보다 구체적으로 설명하기 위한 흐름도이다.
도 5는 일 실시예에 따른 해킹 방지를 위한 보안 프로세스의 동작 방법에 있어서, 보안 프로세스의 동작 계속 여부를 확인하는 방법을 보다 구체적으로 설명하기 위한 흐름도이다.
도 6은 일 실시예에 따른 해킹 방지를 위한 어플리케이션의 동작 방법에 있어서, 어플리케이션과 보안 프로세스의 동작을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 메모리 디버깅에 기반한 해킹 방지 장치를 설명하기 위한 블록도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 해킹 방지를 위한 어플리케이션의 동작 방법의 전체 프로세스를 설명하기 위한 흐름도이다.
도 1을 참조하면, 단계(110)에서, 어플리케이션의 동작을 개시할 수 있다. 일 실시예에 따르면, 어플리케이션은 게임 어플리케이션, 금융 어플리케이션을 포함할 수 있다.
단계(120)에서, 어플리케이션의 동작 개시에 응답하여 보안 프로세스를 생성할 수 있다. 이때, 일 실시예에 따른 보안 프로세스는 어플리케이션과 독립적인 프로세스로 진행될 수 있다. 다른 일 실시예에 따르면, 어플리케이션은 보안 프로세스의 부모 프로세스 혹은 메인 프로세스가 될 수 있으며, 보안 프로세스는 어플리케이션의 자식 프로세스 또는 차일드(Child) 프로세스가 될 수 있다. 또 다른 일 실시예에 따르면, 보안 프로세스는 어플리케이션 프로세스의 쓰레드 중 하나가 될 수 있다.
단계(111)에서, 보안 프로세스의 동작 여부를 확인할 수 있다. 일 실시예에 따르면, 어플리케이션은 보안 프로세스의 헬스 체크(Health Check)를 수행할 수 있다. 이때, 헬스 체크는 보안 프로세스의 동작 계속 여부를 확인하는 것을 포함할 수 있다.
일 실시예에 따르면, 보안 프로세스 동작 여부의 확인은 미리 정해진 제1 주기마다 수행할 수 있다. 여기서 제1 주기는 2초가 될 수 있다.
보안 프로세스의 동작 여부를 확인하는 헬스 체크 단계(111)는 도 4에서 보다 상세하게 설명하도록 한다.
단계(112)에서, 보안 프로세스가 동작을 종료한 경우에 응답하여, 어플리케이션의 동작을 종료할 수 있다. 일 실시예에 따르면, 보안 프로세스가 동작을 종료한 경우, 메모리 디버깅을 통한 해킹이 있었음을 감지한 것으로 보고 어플리케이션의 동작을 종료할 수 있다.
단계(121)에서, 어플리케이션의 상태 모드를 모니터링 할 수 있다. 어플리케이션이 메모리 디버깅을 당하는 경우, 메모리가 변할 수 있다. 보안 모듈은 실시간 모니터링을 통해 디버깅 여부를 감지할 수 있다. 여기서 디버깅은 컴퓨터 프로그램의 내용을 고치는 동작이 될 수 있다. 이때, 어플리케이션의 상태 값이 디버깅 모드인지를 모니터링할 수 있다. 즉, 어플리케이션의 프로세스 또는 쓰레드의 STATUS 값이 디버깅 모드를 지시하는 값인지 여부를 확인함으로써, 어플리케이션의 상태 모드가 디버깅 모드인지를 감지할 수 있다.
일 실시예에 따르면, 단계(121)은 미리 정해진 제2 주기마다 수행될 수 있다.
일 실시예에 따르면, 보안 프로세스의 동작 계속 여부를 확인하는 제1 주기는 어플리케이션의 상태 모드가 디버깅 모드인지를 모니터링하는 제2 주기보다 길 수 있다. 예를 들면, 제1 주기는 2초가 될 수 있고, 제2 주기는 0.5초 이내가 될 수 있으며, 바람직하게는 0.1초가 될 수 있다. 그러나 제1 주기 및 제2 주기는 단말의 속도 또는 어플리케이션의 로드에 따라 달라질 수 있다.
어플리케이션의 상태 모드를 모니터링하는 단계(121)는 도 3에서 보다 상세하게 설명한다.
단계(122)에서, 어플리케이션의 상태 모드가 디버깅 모드인 경우에 응답하여 보안 프로세스의 동작을 종료할 수 있다. 일 실시예에 따르면, 어플리케이션의 상태 모드가 디버깅 모드인 경우, 사용자가 어플리케이션에 메모리 디버깅을 통해 해킹을 시도한 것으로 보고, 해킹을 감지한 보안 프로세스는 스스로 동작을 종료할 수 있다. 이때, 어플리케이션은, 보안 프로세스의 동작 여부를 확인하고, 보안 프로세스가 동작을 종료한 경우에 응답하여, 어플리케이션의 동작을 종료할 수 있다. 즉, 보안 프로세스가 종료하였기 때문에 이를 모니터링하고 있는 어플리케이션도 스스로 종료하게 되고, 이를 통해 어플리케이션은 해킹 시도를 방지할 수 있다.
일 실시예에 따르면, 해킹 방지를 위한 어플리케이션의 동작 방법은, 보안 프로세스의 상태 모드가 디버깅 모드인지를 감지하는 단계를 더 포함할 수 있다. 이 경우, 보안 프로세스에 메모리 디버깅을 시도하는 것에 대응하여 보안 프로세스의 동작을 종료할 수 있다.
일 실시예에 따르면, 보안 프로세스는 어플리케이션의 동작 계속 여부를 확인하고, 어플리케이션의 동작 종료에 응답하여 상기 보안 프로세스의 동작을 종료할 수 있다. 예를 들면, 어플리케이션이 정상적으로 종료된 경우, 보안 프로세스도 동작을 종료할 수 있다. 만약, 어플리케이션이 동작 종료한 것이 아니고, 포즈(Pause) 상태인 경우에는 보안 프로세스를 종료하지 않고 동작을 유지할 수 있다.
도 2는 일 실시예에 따른 해킹 방지를 위한 어플리케이션의 동작 방법에 있어서, 어플리케이션의 구체적인 동작을 설명하기 위한 흐름도이다.
도 2를 참조하면, 단계(210)에서, 보안 프로세스를 생성할 수 있다. 일 실시예에 따른 보안 프로세스는, 어플리케이션의 보안을 위한 프로세스가 될 수 있다. 다른 일 실시예에 따른 보안 프로세스는, 어플리케이션의 보안을 위한 쓰레드(Thread)가 될 수 있다. 여기서 쓰레드는 프로세서가 독립적으로 처리하는 하나의 작업 단위를 말한다.
일 실시예에 따르면, 보안 프로세스를 생성하기 위해서 어플리케이션의 동작 개시에 대응하는 보안 모듈을 호출할 수 있다.
일 실시예에 따르면, 보안 프로세스는 어플리케이션의 자식(CHILD) 프로세스가 될 수 있다. 이 경우, 어플리케이션의 프로세스 식별자(Process ID;PID)를 이용하여 보안 프로세스는 부모 프로세스 식별자(Parent Process ID; PPID)를 설정 할 수 있다. 예를 들면, 어플리케이션의 프로세스 식별자(Process ID;PID)가 보안 프로세스의 부모 프로세스 식별자(Parent Process ID; PPID)로 설정될 수 있다.
다른 일 실시예에 따르면, 보안 프로세스는 어플리케이션과 별개의 독립된 프로세스가 될 수 있다. 이 경우, 어플리케이션의 프로세스 식별자(PID)를 이용하여 상기 보안 프로세스가 어플리케이션 프로세스를 식별할 수 있도록 설정할 수 있다.
또 다른 일 시예에 따르면 보안 프로세스는 어플리케이션의 쓰레드 중 하나가 될 수 있다. 즉, 보안 프로세스는 어플리케이션의 프로세스와 독립적인 프로세스가 아닌 어플리케이션 프로세스의 쓰레드로 동작 할 수 있다.
단계(220)에서, 보안 프로세스의 동작 계속 여부를 판단할 수 있다. 여기서 동작 계속 여부의 판단은 미리 정해진 주기마다 반복될 수 있다. 이때, 동작 계속 여부를 판단하는 과정을 헬스 체크(Health Check)로 할 수 있다.
단계(230)에서, 보안 프로세스의 동작 계속 여부에 따라 어플리케이션의 동작을 종료할 지 결정할 수 있다. 만일, 보안 프로세스의 동작이 계속 중인 경우, 단계(220)으로 갈 수 있다. 만일, 보안 프로세스의 동작이 종료된 경우, 단계(240)으로 갈 수 있다.
단계(240)에서, 어플리케이션의 동작을 종료할 수 있다. 예를 들면, 보안 프로세스에서 메모리 디버깅을 감지하여 동작을 종료한 경우, 이를 모니터링 하던 어플리케이션도 같이 동작을 종료할 수 있다.
도 3은 일 실시예에 따른 해킹 방지를 위한 어플리케이션의 동작 방법에 있어서, 보안 프로세스의 모니터링 방법을 보다 구체적으로 설명하기 위한 흐름도이다.
도 3을 참조하면, 단계(310)에서, 어플리케이션의 상태 모드를 모니터링 할 수 있다. 어플리케이션이 메모리 디버깅을 당하는 경우, 메모리가 변할 수 있다. 이를 통해 보안 프로세스가 실시간으로 디버깅 여부를 감지할 수 있다. 여기서 디버깅은 컴퓨터 프로그램의 내용을 고치는 동작이 될 수 있다. 이때, 어플리케이션의 프로세스 또는 쓰레드 상태 값이 디버깅 모드인지를 모니터링할 수 있다. 예를 들면, 어플리케이션의 STATUS 값이 T 또는 t인 경우, 디버깅 모드임을 알 수 있다. 보다 구체적인 예를 들면, 어플리케이션의 proc/PID/stat 파일에 있는 STATUS 정보를 통해 어플리케이션의 상태 값이 디버깅 모드인지를 모니터링할 수 있다. 다른 예를 들면, 어플리케이션의 /proc/PID/status 파일에 있는 STATUS 정보를 통해 어플리케이션의 상태 값이 디버깅 모드인지를 모니터링할 수 있다.
일 실시예에 따르면, 어플리케이션의 상태 모드를 모니터링하기 위해 어플리케이션 상태 모니터링 쓰레드를 생성할 수 있다.
모니터링을 하기 위해서는 모니터링 할 대상을 지정해주어야 한다. 일 실시예에 따르면, 보안 프로세스는 어플리케이션으로부터 수신한 프로세스 식별자를 통해 모니터링 할 대상을 판단할 수 있다.
일 실시예에 따르면, 단계(310)은 미리 정해진 제2 주기마다 수행될 수 있다. 이때, 디버깅 모드의 모니터링은 도 4의 헬스 체크에 비해 더 자주 수행될 수 있다.
단계(320)에서, 어플리케이션의 상태 모드가 디버깅 모드인지 여부를 감지할 수 있다. 만일, 어플리케이션의 상태 모드가 디버깅 모드인 경우, 단계(330)으로 갈 수 있다. 만일, 어플리케이션의 상태 모드가 디버깅 모드가 아닌 경우, 단계(310)로 돌아갈 수 있다.
단계(330)에서, 보안 프로세스의 동작을 종료할 수 있다. 일 실시예에 따르면, 어플리케이션의 상태 모드가 디버깅 모드인 경우, 사용자가 어플리케이션에 메모리 디버깅을 통해 해킹을 시도한 것으로 보고, 해킹을 감지한 보안 프로세스는 스스로 동작을 종료할 수 있다.
도 4는 일 실시예에 따른 해킹 방지를 위한 어플리케이션의 동작 방법에 있어서, 어플리케이션의 동작 계속 여부를 확인하는 방법을 보다 구체적으로 설명하기 위한 흐름도이다.
도 4를 참조하면, 단계(410)에서, 헬스 체크 쓰레드를 생성할 수 있다. 여기서 헬스 체크 쓰레드는 보안 프로세스가 동작 계속 중인지를 판단하기 위한 작업 단위가 될 수 있다.
단계(420)에서, 보안 프로세스의 동작 계속 여부를 판단할 수 있다. 이때, 어플리케이션는 보안 프로세스의 동작 계속 여부를 판단할 수 있다. 여기서 동작 계속 여부의 판단은 미리 정해진 주기마다 반복될 수 있다.
단계(430)에서, 보안 프로세스의 동작 계속 여부에 따라 어플리케이션의 동작을 종료할 지 결정할 수 있다. 만일, 보안 프로세스의 동작이 계속 중인 경우, 단계(420)으로 갈 수 있다. 만일, 보안 프로세스의 동작이 종료된 경우, 단계(440)으로 갈 수 있다.
단계(440)에서, 어플리케이션을 종료할 수 있다. 예를 들면, 보안 프로세스에서 메모리 디버깅을 감지하여 동작을 종료한 경우, 이를 모니터링 하던 어플리케이션도 같이 동작을 종료할 수 있다.
도 5는 일 실시예에 따른 해킹 방지를 위한 보안 프로세스의 동작 방법에 있어서, 보안 프로세스의 동작 계속 여부를 확인하는 방법을 보다 구체적으로 설명하기 위한 흐름도이다.
도 5를 참조하면, 단계(510)에서, 보안 프로세스는 헬스 체크 쓰레드를 생성할 수 있다. 여기서 헬스 체크 쓰레드는 어플리케이션이 동작 계속 중인지를 판단하기 위한 작업 단위가 될 수 있다.
단계(520)에서, 어플리케이션의 동작 계속 여부를 판단할 수 있다. 이때, 보안 프로세스는 어플리케이션의 동작 계속 여부를 판단할 수 있다. 여기서 동작 계속 여부의 판단은 미리 정해진 주기마다 반복될 수 있다.
단계(530)에서, 어플리케이션의 동작 계속 여부에 따라 보안 프로세스의 동작을 종료할 지 결정할 수 있다. 만일, 어플리케이션의 동작이 계속 중인 경우, 단계(520)으로 갈 수 있다. 만일, 어플리케이션의 동작이 종료된 경우, 단계(540)으로 갈 수 있다.
단계(540)에서, 보안 프로세스를 종료할 수 있다. 예를 들면, 어플리케이션이 정상적으로 동작을 종료한 경우, 이를 모니터링 하던 보안 프로세스도 같이 동작을 종료할 수 있다.
도 6은 일 실시예에 따른 해킹 방지를 위한 어플리케이션의 동작 방법에 있어서, 어플리케이션과 보안 프로세스의 동작을 설명하기 위한 도면이다.
도 6을 참조하면, 어플리케이션(610)과 보안 프로세스(620) 간의 동작을 통해 해킹 방지를 위한 어플리케이션의 동작 방법을 설명할 수 있다.
단계(631)에서, 어플리케이션(610)은 보안 모듈을 호출하고 보안 프로세스를 생성할 수 있다. 이때, 일 실시예에 따른 보안 프로세스는 어플리케이션과 독립적인 프로세스로 진행될 수 있다. 일 실시예에 따른 보안 프로세스는, 어플리케이션의 보안을 위한 프로세스가 될 수 있다. 다른 일 실시예에 따른 보안 프로세스는, 어플리케이션의 보안을 위한 쓰레드가 될 수 있다.
단계(632)에서, 어플리케이션(610)은 보안 프로세스(620)의 동작 계속 여부를 확인할 수 있다. 일 실시예에 따르면, 어플리케이션은 보안 프로세스의 헬스 체크(Health Check)를 수행할 수 있다. 이때, 헬스 체크는 보안 프로세스의 동작 계속 여부를 확인하는 것을 포함할 수 있다.
단계(633)에서, 보안 프로세스(620)는 어플리케이션(610)의 상태 정보를 모니터링할 수 있다. 어플리케이션이 메모리 디버깅을 당하는 경우, 메모리가 변할 수 있다. 이를 통해 보안 프로세스가 실시간으로 디버깅 여부를 감지할 수 있다. 여기서 디버깅은 컴퓨터 프로그램의 내용을 고치는 동작이 될 수 있다. 이때, 어플리케이션의 상태 값이 디버깅 모드인지를 모니터링할 수 있다. 예를 들면, 어플리케이션의 STATUS 값이 T 또는 t인 경우, 디버깅 모드임을 알 수 있다.
도 7은 일 실시예에 따른 메모리 디버깅에 기반한 해킹 방지 장치를 설명하기 위한 블록도이다.
도 7을 참조하면, 일 실시예에 따른 해킹 방지 장치(700)는 메모리(710) 및 프로세서(720)를 포함할 수 있다.
일 실시예에 따르면, 메모리(710)는 프로세서(720)에서 처리 가능한 어플리케이션을 저장할 수 있다. 또, 메모리(710)는 프로세서(720)에서 처리 가능한 보안 프로세스를 저장할 수 있다.
일 실시예에 따르면, 프로세서(720)는 어플리케이션 및 보안 프로세스의 동작을 제어할 수 있다.
이때, 프로세서(720)는 어플리케이션의 동작을 실행시킬 수 있다.
일 실시예에 따른 프로세서(720)는 어플리케이션의 동작 실행에 대응하여 보안 프로세스를 호출할 수 있다.
일 실시예에 따르면, 프로세서(720)는, 어플리케이션의 프로세스 식별자를 이용하여 상기 보안 프로세스의 어플리케이션 프로세스를 구분하는 프로세스 식별자를 설정하여 보안 프로세스를 호출할 수 있다. 다른 일 실시예에 따르면, 어플리케이션의 프로세스 식별자와 구별되는 프로세스 식별자를 이용하여 상기 보안 프로세스의 부모 프로세스 식별자를 설정하여 보안 프로세스를 호출할 수 있다.
일 실시예에 따른 프로세서(720)는 보안 프로세스의 동작 계속 여부를 확인하여 보안 프로세스가 동작을 종료한 것으로 확인된 경우에 응답하여 어플리케이션의 동작을 종료시킬 수 있다. 이때, 프로세서(720)는 미리 정해진 제1 주기마다 보안 프로세스의 동작 계속 여부를 확인할 수 있다.
일 실시예에 따른 프로세서(720)는 어플리케이션의 상태 모드가 디버깅 모드인 것으로 감지된 경우에 응답하여 보안 프로세스를 종료시킬 수 있다. 이때, 프로세서(720)는 미리 정해진 제2 주기마다 어플리케이션의 상태 모드가 디버깅 모드인지를 감지할 수 있다.
일 실시예에 따른 프로세서(720)는 어플리케이션의 상태 값이 디버깅 모드를 지시하는 값인지 여부를 확인함으로써, 어플리케이션의 상태 모드가 디버깅 모드인지를 감지할 수 있다.
일 실시예에 따르면, 보안 프로세스의 동작 계속 여부를 확인하는 제1 주기는 어플리케이션의 상태 모드가 디버깅 모드인지를 감지하는 제2 주기보다 길 수 있다. 예를 들면, 제1 주기는 2초가 될 수 있고, 제2 주기는 0.1초가 될 수 있다.
일 실시예에 따른 프로세서(720)는 보안 프로세스의 상태 모드가 디버깅 모드인지를 더 감지하고, 보안 프로세스의 상태 모드가 디버깅 모드인 것으로 감지된 경우에 응답하여 보안 프로세스를 종료할 수 있다.
일 실시예에 따른 프로세서(720)는 어플리케이션의 동작 계속 여부를 확인하고, 어플리케이션의 동작 종료에 응답하여 보안 프로세스를 종료할 수 있다. 예를 들면, 어플리케이션의 동작이 종료한 경우에는 보안 프로세스도 동작을 종료할 수 있다. 즉, 프로세서(720)가 어플리케이션의 동작이 정상적으로 마친 것을 확인하고 보안 프로세스의 동작을 종료시킬 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (17)

  1. 어플리케이션의 동작 방법에 있어서,
    보안 프로세스를 생성하는 단계;
    상기 보안 프로세스의 동작 계속 여부를 확인하는 단계; 및
    상기 보안 프로세스가 동작을 종료한 것으로 확인된 경우, 동작을 종료하는 단계
    를 포함하고,
    상기 보안 프로세스는,
    상기 어플리케이션의 상태 모드가 디버깅 모드인 것으로 감지된 경우에 응답하여 동작을 종료하고,
    상기 보안 프로세스의 동작 계속 여부를 확인하는 단계는,
    미리 정해진 제1 주기마다 상기 보안 프로세스의 동작 계속 여부를 확인하는 단계
    를 포함하고,
    상기 보안 프로세스는,
    미리 정해진 제2 주기마다 상기 어플리케이션의 상태 모드가 디버깅 모드인지를 판단하는
    어플리케이션의 동작 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 제1 주기는 상기 제2 주기보다 긴
    어플리케이션의 동작 방법.
  4. 제1항에 있어서,
    상기 보안 프로세스는,
    상기 어플리케이션의 보안을 위한 프로세스 또는 쓰레드인
    어플리케이션의 동작 방법.
  5. 제1항에 있어서,
    상기 보안 프로세스는,
    상기 어플리케이션의 상태 값이 상기 디버깅 모드를 지시하는 값인지 여부를 확인함으로써, 상기 어플리케이션의 상태 모드가 디버깅 모드인지를 감지하는
    어플리케이션의 동작 방법.
  6. 제1항에 있어서,
    상기 보안 프로세스를 생성하는 단계는,
    상기 어플리케이션의 프로세스 식별자(Process ID)를 이용하여 상기 보안 프로세스의 부모 프로세스 식별자(Parent Process ID; PPID)를 설정하는 단계; 및
    상기 어플리케이션의 프로세스 식별자(Process ID)를 이용하여 상기 보안 프로세스의 어플리케이션 프로세스를 구분하는 식별자를 설정하는 단계
    중 적어도 하나를 포함하는
    어플리케이션의 동작 방법.
  7. 제1항에 있어서,
    상기 보안 프로세스는,
    상기 보안 프로세스의 상태 모드가 디버깅 모드인지를 더 감지하는
    어플리케이션의 동작 방법.
  8. 제1항에 있어서,
    상기 보안 프로세스는,
    상기 어플리케이션의 동작 계속 여부를 확인하고, 상기 어플리케이션의 동작 종료에 응답하여 상기 보안 프로세스의 동작을 종료하는
    어플리케이션의 동작 방법.
  9. 제1항, 제3항 내지 제8항 중 어느 한 항의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
  10. 메모리 디버깅에 기반한 해킹 방지 장치에 있어서,
    어플리케이션을 저장하는 메모리; 및
    상기 어플리케이션 및 보안 프로세스의 동작을 제어하는 프로세서
    를 포함하고,
    상기 프로세서는,
    상기 어플리케이션을 실행하고,
    상기 어플리케이션의 실행에 대응하여 상기 보안 프로세스를 호출하고,
    상기 보안 프로세스의 동작 계속 여부를 확인하여 상기 보안 프로세스가 동작을 종료한 것으로 확인된 경우에 응답하여 상기 어플리케이션의 동작을 종료하고,
    상기 어플리케이션의 상태 모드가 디버깅 모드인 것으로 감지된 경우에 응답하여 상기 보안 프로세스를 종료하고,
    미리 정해진 제1 주기마다 상기 보안 프로세스의 동작 계속 여부를 확인하고,
    미리 정해진 제2 주기마다 상기 어플리케이션의 상태 모드가 디버깅 모드인지를 감지하는
    해킹 방지 장치.
  11. 삭제
  12. 제10항에 있어서,
    상기 프로세서는,
    상기 어플리케이션의 상태 값이 상기 디버깅 모드를 지시하는 값인지 여부를 확인함으로써, 상기 어플리케이션의 상태 모드가 디버깅 모드인지를 감지하는
    해킹 방지 장치.
  13. 제10항에 있어서,
    상기 프로세서는,
    상기 보안 프로세스의 상태 모드가 디버깅 모드인지를 더 감지하고,
    상기 보안 프로세스의 상태 모드가 디버깅 모드인 것으로 감지된 경우에 응답하여 상기 보안 프로세스를 종료하는
    해킹 방지 장치.
  14. 제10항에 있어서,
    상기 프로세서는,
    상기 어플리케이션의 동작 계속 여부를 확인하고, 상기 어플리케이션의 동작 종료에 응답하여 상기 보안 프로세스를 종료하는
    해킹 방지 장치.
  15. 어플리케이션이 동작을 개시하는 단계;
    상기 어플리케이션이 보안 프로세스를 생성하는 단계;
    상기 어플리케이션이 상기 보안 프로세스의 동작 계속 여부를 제1 주기마다 확인하는 단계;
    상기 보안 프로세스에서 상기 어플리케이션의 상태 모드가 디버깅 모드인지를 제2 주기마다 감지하는 단계;
    를 포함하고,
    상기 제2 주기마다 감지하는 단계에서 상기 어플리케이션의 상태 모드가 디버깅 모드인 것으로 감지된 경우, 상기 보안 프로세스가 동작을 종료하는 단계; 및
    상기 동작 계속 여부를 제1주기마다 확인하는 단계에서 상기 보안 프로세스가 동작을 종료한 것으로 확인된 경우, 상기 어플리케이션의 동작을 종료하는 단계
    를 더 포함하는
    해킹 방지 방법.
  16. 제15항에 있어서,
    상기 보안 프로세스에서 상기 어플리케이션의 상태 모드가 디버깅 모드인지를 제2 주기마다 감지하는 단계는,
    상기 제2 주기마다 상기 보안 프로세스가 상기 보안 프로세스의 상태 모드가 디버깅 모드인 것을 감지하는 단계
    를 포함하는 해킹 방지 방법.
  17. 제15항에 있어서,
    상기 어플리케이션이 상기 보안 프로세스의 동작 계속 여부를 제1 주기마다 확인하는 단계는
    상기 보안 프로세스가 상기 어플리케이션의 동작 계속 여부를 제1 주기마다 수행하는 단계를 포함하고, 상기 어플리케이션이 동작을 종료한 것으로 판단된 경우, 상기 보안 프로세스의 동작을 종료하는 단계
    를 포함하는 해킹 방지 방법.
KR1020150010017A 2015-01-21 2015-01-21 해킹 방지를 위한 어플리케이션의 동작 방법 및 장치 KR101626967B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150010017A KR101626967B1 (ko) 2015-01-21 2015-01-21 해킹 방지를 위한 어플리케이션의 동작 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150010017A KR101626967B1 (ko) 2015-01-21 2015-01-21 해킹 방지를 위한 어플리케이션의 동작 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101626967B1 true KR101626967B1 (ko) 2016-06-02

Family

ID=56135889

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150010017A KR101626967B1 (ko) 2015-01-21 2015-01-21 해킹 방지를 위한 어플리케이션의 동작 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101626967B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018159881A1 (ko) * 2017-03-03 2018-09-07 라인 가부시키가이샤 스레드간 메시지 처리를 이용한 디버깅 탐지 방법 및 시스템
WO2019235664A1 (ko) * 2018-06-08 2019-12-12 라인플러스 주식회사 프로그램 보호를 위한 디버거 차단 방법 및 시스템
CN112948241A (zh) * 2021-02-09 2021-06-11 北京奇艺世纪科技有限公司 应用程序的反调试方法、装置、电子设备及存储介质
KR102350146B1 (ko) * 2021-07-30 2022-01-12 주식회사 포스로직 안티 디버깅 방법 및 이러한 방법을 수행하는 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020040482A (ko) * 2000-11-24 2002-05-30 구자홍 프로세스 보호 시스템 및 방법
KR20110129129A (ko) * 2010-05-25 2011-12-01 주식회사 잉카인터넷 온라인 게임에서 핵 툴 사용 정보 표시방법
KR20130101626A (ko) * 2012-02-16 2013-09-16 삼성전자주식회사 보안 데이터 처리 장치 및 방법
KR101451323B1 (ko) * 2014-02-10 2014-10-16 주식회사 락인컴퍼니 애플리케이션 보안 시스템, 보안 서버, 보안 클라이언트 장치 및 기록매체

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020040482A (ko) * 2000-11-24 2002-05-30 구자홍 프로세스 보호 시스템 및 방법
KR20110129129A (ko) * 2010-05-25 2011-12-01 주식회사 잉카인터넷 온라인 게임에서 핵 툴 사용 정보 표시방법
KR20130101626A (ko) * 2012-02-16 2013-09-16 삼성전자주식회사 보안 데이터 처리 장치 및 방법
KR101451323B1 (ko) * 2014-02-10 2014-10-16 주식회사 락인컴퍼니 애플리케이션 보안 시스템, 보안 서버, 보안 클라이언트 장치 및 기록매체

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018159881A1 (ko) * 2017-03-03 2018-09-07 라인 가부시키가이샤 스레드간 메시지 처리를 이용한 디버깅 탐지 방법 및 시스템
WO2019235664A1 (ko) * 2018-06-08 2019-12-12 라인플러스 주식회사 프로그램 보호를 위한 디버거 차단 방법 및 시스템
CN112948241A (zh) * 2021-02-09 2021-06-11 北京奇艺世纪科技有限公司 应用程序的反调试方法、装置、电子设备及存储介质
CN112948241B (zh) * 2021-02-09 2024-02-06 北京奇艺世纪科技有限公司 应用程序的反调试方法、装置、电子设备及存储介质
KR102350146B1 (ko) * 2021-07-30 2022-01-12 주식회사 포스로직 안티 디버깅 방법 및 이러한 방법을 수행하는 장치

Similar Documents

Publication Publication Date Title
KR102450834B1 (ko) 다중 특징벡터를 이용하는 행위기반 악성코드 탐지 장치 및 방법
CN101779210B (zh) 用于保护程序以防控制流操纵以及以防有错误的程序运行过程的方法和设备
KR101626967B1 (ko) 해킹 방지를 위한 어플리케이션의 동작 방법 및 장치
JP4903149B2 (ja) コンピュータシステム上でコンピュータプログラムを処理する方法
US9335183B2 (en) Method for reliably operating a sensor
CN109255240B (zh) 一种漏洞处理方法和装置
US20080133975A1 (en) Method for Running a Computer Program on a Computer System
CN103810222A (zh) 样本文件的处理方法及装置
CN108090352B (zh) 检测系统及检测方法
KR101861952B1 (ko) 소프트웨어 브레이크 포인트를 무력화시키기 위한 안티 디버깅 방법 및 장치
US10331513B2 (en) Zero overhead code coverage analysis
CN113312620A (zh) 一种程序安全检测方法及装置、处理器芯片、服务器
CN104462942A (zh) 移动终端可信用户输入输出接口的检测方法及系统
JP2006031389A (ja) リアルタイムシステムのためのソフトウェアオブジェクト検証方法
US10931693B2 (en) Computation apparatus and method for identifying attacks on a technical system on the basis of events of an event sequence
CN109783210B (zh) 多任务处理方法、装置、计算机设备及存储介质
JPH02294739A (ja) 障害検出方式
KR101217668B1 (ko) 악성 프로그램 후킹 방지 장치 및 방법
KR20180019594A (ko) 프로세서 시스템의 프로그램 카운터 구조를 보호하고 인터럽트 요청의 처리를 모니터링하기 위한 방법 및 장치
CN114547590A (zh) 代码检测方法、装置及非瞬时性计算机可读存储介质
CN106250260B (zh) 处理器溢出监控和调试方法及装置
WO2018230471A1 (ja) ウィルスの監視プログラム
KR20180093529A (ko) 바이트코드와 네이티브코드 간의 상호 의존성에 기반한 어플리케이션 위변조 방지 방법 및 장치
CN111913430B (zh) 工业控制系统控制行为检测防护方法和系统
KR101480244B1 (ko) 클래스 단위의 시그니처를 이용한 악성 어플리케이션 탐지 방법 및 장치

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190321

Year of fee payment: 4