KR20110136170A - 해킹 툴을 탐지하는 방법, 서버 및 단말기 - Google Patents

해킹 툴을 탐지하는 방법, 서버 및 단말기 Download PDF

Info

Publication number
KR20110136170A
KR20110136170A KR1020100056005A KR20100056005A KR20110136170A KR 20110136170 A KR20110136170 A KR 20110136170A KR 1020100056005 A KR1020100056005 A KR 1020100056005A KR 20100056005 A KR20100056005 A KR 20100056005A KR 20110136170 A KR20110136170 A KR 20110136170A
Authority
KR
South Korea
Prior art keywords
pattern information
information
hacking tool
user terminal
hacking
Prior art date
Application number
KR1020100056005A
Other languages
English (en)
Other versions
KR101153115B1 (ko
Inventor
주상현
하영광
양성우
Original Assignee
(주)네오위즈게임즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)네오위즈게임즈 filed Critical (주)네오위즈게임즈
Priority to KR1020100056005A priority Critical patent/KR101153115B1/ko
Publication of KR20110136170A publication Critical patent/KR20110136170A/ko
Application granted granted Critical
Publication of KR101153115B1 publication Critical patent/KR101153115B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/308Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information retaining data, e.g. retaining successful, unsuccessful communication attempts, internet access, or e-mail, internet telephony, intercept related information or call content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 해킹 툴을 탐지하는 방법, 서버 및 단말기에 관한 것으로, 보다 상세하게는 해킹 툴을 탐지하기 위한 패턴 정보를 서버에서 데이터베이스화한 다음, 사용자 단말에서 게임이나 프로그램을 실행할 때에 패턴 정보를 추출하여 상기 서버로부터 수신한 데이터베이스화된 패턴 정보와 비교하여 해킹 툴을 탐지하는 방법, 서버 및 단말기에 관한 것이다.
이를 위하여, 본 발명에 따른 해킹 툴을 탐지하는 방법은, 해킹 툴을 탐지하는 패턴 정보를 데이터베이스화하는 단계;와 상기 패턴 정보를 이용하여 해킹 툴을 사용하는 것으로 탐지된 사용자 단말 정보를 데이터베이스화하는 단계;와 상기 해킹 툴을 사용하는 것으로 탐지된 사용자 단말의 접속 정보를 주기적으로 확인하는 단계; 및 상기 해킹 툴을 사용하는 것으로 탐지된 사용자 단말과의 접속을 끊는 단계;를 포함한다.
이에 따라, 새로 발견된 해킹 툴에 대하여 방어하기 위한 별도의 패치를 할 필요가 없이 해킹을 막을 수 있어 시간과 비용면에서 효율적이다.

Description

해킹 툴을 탐지하는 방법, 서버 및 단말기{Method, server and device for detecting hacking tools}
본 발명은 해킹 툴을 탐지하는 방법, 서버 및 단말기에 관한 것으로, 보다 상세하게는 해킹 툴을 탐지하기 위한 패턴 정보를 서버에서 데이터베이스화한 다음, 사용자 단말에서 게임이나 프로그램을 실행할 때에 패턴 정보를 추출하여 상기 서버로부터 수신한 데이터베이스화된 패턴 정보와 비교하여 해킹 툴을 탐지하는 방법, 서버 및 단말기에 관한 것이다.
현대 사회에서 컴퓨터는 회사, 가정 모두에서 일상적으로 사용하고 있고, 인터넷이 발달함에 따라 온라인 게임, 온라인 쇼핑 등 온라인을 통해 많은 것들을 해결하고 있다. 또한 각종 온라인 사이트의 서버에는 개인의 신상 정보를 저장하고 있고, 컴퓨터의 하드디스크드라이브에는 기밀 문서들이 저장되어 있다. 하지만, 인터넷이 발달함에 따라 해커들이 해킹을 통하여 개인의 신상 정보를 빼내어 유출시키거나, 기업의 핵심 기술을 해킹하여 다른 기업이나 해외로 유출하는 등의 해킹에 대한 문제가 커지고 있다. 뿐만 아니라, 특정한 목적 없이 상대 컴퓨터 시스템을 파괴하거나 손상을 가하기 위한 해킹도 점점 더 늘어나고 있는 실정이다.
이러한 해킹을 하기 위한 해킹 툴은 시스템의 취약점을 손쉽게 찾아서 공격하는 프로그램으로, 해커(실질적으론 크래커)들은 이런 해킹 툴을 이용하여 좀 더 간편하게 취약한 시스템에 침투할 수 있다.
상기 해킹 툴의 종류로는, 시스템의 취약점을 찾는 스캐너(scanner)가 있다. 스캐너(scanner)는 상대 시스템에 대한 정보를 습득하는데, 해커가 얻으려는 정보는 상대 시스템이 어떤 플랫폼인지, 커널 버전이 어떻게 되는지(리눅스 플랫폼에서의 해킹시 커널 버전은 매우 중요한 열쇠임), 어떤 서비스가 제공 중인지 등이다. 이런 정보들은 매우 민감한 사항들로 만약 알려진 취약점의 서비스가 제공 중이라면 해커는 더 손쉽게 공격에 성공할 수 있다.
또 다른 해킹 툴로써, 패스워드로 보안화한 리소스에 접근하기 위한 패스워드크래커(password cracker)가 있다. 해커가 시스템에 침입한 후 일반 유저의 권한에서 관리자의 암호화된 패스워드 문자열을 얻으면 해커의 활동 영역은 더욱 넓어지게 된다.
또 다른 해킹 툴로써, 사용자가 키보드로 입력하는 모든 데이터를 빼내는 키로거(key logger)가 있는데, 이러한 해킹 툴을 이용하면 사용자가 입력하는 아이디와 패스워드가 키로거에 의해 해커에 넘어갈 수 있다. 은행 관련 서비스를 이용할 때 암호화 프로그램이 설치되는 것도 이것 때문이다.
또 다른 해킹 툴로써, 트로이목마 프로그램(trojan hacking program)이 있는데, 그리스 신화에 나오는 트로이목마 전쟁에서 유래된 것으로 상대 시스템에 몰래 서버 프로그램을 심어두고 원격에서 해커가 조종하는 해킹툴이다. 이러한 해킹 프로그램에는 백오리피스(Back Orifice)가 유명하다. 백오리피스는 CDC(Cult of the Dead Cow)라는 해커 그룹에서 만든 해킹 툴로 상대 시스템의 부팅을 제어하고 윈도우 화면을 캡처하거나 실시간 모니터링, 키로깅 등의 기능을 가지고 있다.
또 다른 해킹 툴로써, 공격코드(exploit code)가 있는데, 어떤 취약점에 대해 손쉽게 해킹할 수 있도록 만들어진 작은 해킹 툴이다. 요즘의 해킹에서 가장 현실적인 해킹 툴로써, 이런 공격코드는 매일 쏟아지는 수많은 취약점에 대해 빠르게 발표되고 있다. 공격코드를 이용하면 상대 시스템을 너무나 짧은 시간에 손쉽게 장악할 수 있다.
특히 온라인 게임의 경우에는, 사용자 PC의 속도를 조절하는 스피드 핵(Speed Hack), 컴파일러와 어셈블러를 이용하여 파일이나 메모리의 게임 데이터를 바꾸는 해킹 툴, 자동으로 게임을 실행시키는 Macro & BOT, 스피드를 조절하고 손상을 입히기 위해 전송되는 패킷을 수정하는 Packet Sniffer 등이 있다.
따라서 이에 해킹 툴에 대응하는 상용 보안 솔루션이 많이 나왔는데. 특히 온라인 게임의 보안 솔루션으로, 온라인 게임을 실행할 때에 입력되는 개인 정보를 보호하기 위한 보안 프로그램으로 Game Guard 프로그램이 있다. 해킹 툴 및 시스템 바이러스를 진단 및 차단하고, 실시간으로 게임핵, 스피드핵, 원격제어을 차단하고 오토마우스를 차단한다. 특히 게임 서버와 Game Guard와의 작동 여부를 지속적으로 확인하여 Game Guard를 무력화하려는 시도를 원천 차단하고, 패킷에 대한 기본적인 암호화 뿐만 아니라 패킷의 변조, 중복을 검사함으로써 게임 패킷을 보호하는 패킷 암호화 서비스를 제공한다. 또한 게임 사용자가 접속 IP를 속여서 게임 서버에 접속할 수 없도록 실시간으로 접속 상태를 검사하여 인가된 접속 IP가 아닐 경우 해킹 시도로 간주한다.
온라인 게임 보안 솔루션 중의 하나인 안철수 연구소의 '핵쉴드(Hack-Shield)'은 메모리에 저장된 데이터가 해킹되거나 조작되는 것을 방지해주며, 메모리 상의 실행 이미지 코드를 변조하는 해킹을 막는 보안 솔루션이다. 게임 자체에 대한 해킹이나 변칙 플레이를 막아줘 온라인 게임 이용자들이 공정하고 정상적인 게임 이용을 도우며, 스피드핵 방지, 디버깅 방지, 오토마우스 방지 등 다양한 기능을 갖고 있다.
이 외 OTP(One Time Password) 및 M카드(은행권에서 사용하는 보안카드와 같은 개념으로 M카드 사용을 요청한 유저는 자신만이 볼 수 있는 코드표를 제공받아 비밀번호 입력시 함께 사용할 수 있음), 키보드 보안을 이용하여 보안을 강화하는 방법이 있다.
이처럼 해킹 툴이 늘어감에 따라 보안 프로그램도 많이 생기고 있지만, 상기의 보안 방법들은, 프로그램에 직접적인 연관 없이 보안 기능을 하는 것으로써, 예를 들어 온라인 게임 접속시 파일 무결성 검사나 파일 등을 감시할 수 없다는 문제점이 있다.
또한 위와 반대로 프로그램에 직접적으로 연관되어 보안 기능을 수행하면, 프로그램에 의존적이 되어 다른 프로그램에서 보안 기능을 수행하려면 수정이 필요하고, 시간적 비용적 측면에서 효율이 떨어지는 문제점이 있다.
본 발명은 상술한 문제점을 해결하기 위하여 창출된 것으로, 기존의 상용 보안 프로그램들과 함께 구동하면서도 프로그램에 적합성 있는 보안 기능을 제공하는 데 목적이 있다.
또한 본 발명은 게임이나 프로그램 실행과 동시에 패턴 정보를 비교하여 해킹 툴을 탐지하고, 그에 따라 해킹 툴의 접속을 차단하는 해킹 툴을 탐지하는 방법을 제공하는데 또 다른 목적이 있다.
또한 본 발명은 해킹 툴을 발견시 별도의 패치 없이 해킹을 방어할 수 있는 보안 기능을 제공하는데 또 다른 목적이 있다.
상기의 목적을 달성하기 위한 본 발명에 따른 해킹 툴을 탐지하는 방법은, 해킹 툴을 탐지하는 패턴 정보를 데이터베이스화하는 단계와 상기 패턴 정보를 이용하여 해킹 툴을 사용하는 것으로 탐지된 사용자 단말 정보를 데이터베이스화하는 단계와 상기 해킹 툴을 사용하는 것으로 탐지된 사용자 단말의 접속 정보를 주기적으로 확인하는 단계 및 상기 해킹 툴을 사용하는 것으로 탐지된 사용자 단말과의 접속을 끊는 단계를 포함한다.
또한 상기 해킹 툴을 탐지하는 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체도 포함한다.
또한, 상기의 목적을 달성하기 위한 본 발명에 따른 해킹 툴을 탐지하는 또 다른 방법은, 해킹 툴을 탐지하는 패턴 정보를 서버로부터 수신하는 단계와 사용자 단말에서 패턴 정보를 추출하는 단계와 상기 서버로부터 수신한 패턴 정보와 상기 사용자 단말에서 추출한 패턴 정보를 비교하는 단계 및 상기 비교 결과, 일치하는 패턴 정보가 있을 경우, 해킹 툴을 사용하는 것으로 판단하여 사용자 단말 정보를 상기 서버로 전송하는 단계를 포함한다.
또한 상기 해킹 툴을 탐지하는 또 다른 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체도 포함한다.
한편, 상기의 목적을 달성하기 위한 본 발명에 따른 해킹 툴을 탐지하는 서버는, 해킹 툴을 탐지하는 패턴 정보를 데이터베이스화하는 패턴정보부와 상기 패턴 정보를 이용하여 해킹 툴을 사용하는 것으로 탐지된 사용자 단말 정보를 데이터베이스화하는 해킹툴사용정보부와 상기 해킹 툴을 사용하는 것으로 탐지된 사용자 단말의 접속 정보를 주기적으로 확인하는 접속정보부 및 상기 해킹 툴을 사용하는 것으로 탐지된 사용자 단말과의 접속을 끊는 접속차단부를 포함한다.
또한, 본 발명에 따른 해킹 툴을 탐지하는 단말기는, 해킹 툴을 탐지하는 패턴 정보를 서버로부터 수신하는 패턴정보수신부와 사용자 단말에서 패턴 정보를 추출하는 패턴정보추출부와 상기 서버로부터 수신한 패턴 정보와 상기 사용자 단말에서 추출한 패턴 정보를 비교하는 패턴정보비교부 및 상기 패턴정보비교부의 비교 결과에서 일치하는 패턴 정보가 있을 경우, 해킹 툴을 사용하는 것으로 판단하여 사용자 단말 정보를 상기 서버로 전송하는 사용자단말정보전송부를 포함한다.
본 발명에 따른 해킹 툴을 탐지하는 방법, 서버 및 단말기에 의하면,
첫째, 새로 발견된 해킹 툴에 대하여 방어하기 위한 별도의 패치를 할 필요가 없이 해킹을 막을 수 있어 시간과 비용면에서 효율적이다.
둘째, 기존의 보안 솔루션들과 병행하여 사용할 수 있어 보안의 효과가 극대화된다.
셋째, 해킹 툴이 새로 생길 때마다 서버의 데이터베이스만 업데이트 시켜주면 되므로 편리하다.
넷째, 해킹 툴을 사용하는 유저 목록을 관리함으로써 게임 이용자들이 공정하고 정상적인 게임을 이용하도록 할 수 있다.
도 1은 해킹의 일반적인 과정을 나타낸 흐름도이고,
도 2은 해킹 툴을 탐지하는 시스템의 기능 블록도이고,
도 3은 해킹 툴의 패턴을 추출하여 데이터베이스화하는 것에 대한 실시 예이고,
도 4는 패턴정보DB의 테이블의 실시 예이고,
도 5는 사용자정보DB의 테이블의 실시 예이고,
도 6은 서버에서 해킹 툴을 탐지하는 방법의 흐름도이고,
도 7는 단말기에서 해킹 툴을 탐지하는 방법의 흐름도이다.
이하 첨부된 도면을 참조하면서 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
해킹(hacking)은 컴퓨터 네트워크의 보안 취약점을 찾아내어 그 문제를 해결하고 이를 불법적인 목적으로 이용되는 것을 방지고자 하는 행위이다. 하지만 대한민국에서는 해킹에 대한 잘못된 인식으로 인해 '적법한 권한을 갖지 않고 다른 사람의 데이터 정보에 접근하여 이를 가져가거나 수정하는 것'으로 종종 오해되기도 한다. 실질적으로 그러한 의미를 갖는 단어는 해킹이 아니라 크래킹이다. 하지만 현재 해킹과 크래킹의 개념이 모호하고 일반적으로 인식된 개념이 아니므로, 본 발명의 상세한 설명에서는 해킹이라는 용어로 통합하여 사용하도록 한다.
도 1은 해킹의 일반적인 과정을 나타낸 흐름도로, 해킹 툴을 이용함에 있어 해당 프로그램을 설치하고 실행만 시킨다고 해서 쉽게 해킹이 되는 것은 아니다. 일반적으로 해킹은 도 1에서와 같은 과정을 거쳐 이뤄지며, 이런 과정 사이에서 해킹 툴이 작동하여 기능을 수행한다. 따라서 본 발명은 해킹 툴이 설치되었을 때에 해킹 툴이 설치되었는지 탐지하여 해킹 툴이 설치된 단말과의 접속을 끊는 방법으로 해킹 툴로 인한 피해를 막는다.
도 2은 해킹 툴을 탐지하는 시스템의 기능 블록도로, 상기 도 2를 참조하여 해킹 툴을 탐지하는 시스템을 설명하고자 한다.
해킹 툴을 탐지하는 시스템은 패턴정보DB(100), 사용자정보DB(200), 서버(300) 및 단말기(400)로 구성되고, 상기 서버(300)와 단말기(400)는 네트워크(전화망, 인터넷, 무선 통신망 등 다양한 형태의 모든 네트워크 포함)를 통하여 연결된다. 상기 도 1에서는 단말기(400)를 하나만 도시하였지만, 다수의 단말기(400)가 서버(300)에 연결될 수 있으며, 서버(300)도 다수 개가 될 수 있다.
상기 서버(300)는 해킹 툴을 탐지하기 위한 패턴 정보를 데이터베이스화하며, 해킹 툴이 있다고 탐지된 단말기와의 접속을 차단하고, 패턴정보부(310), 해킹툴사용정보부(320), 접속정보부(330), 접속차단부(340)로 구성된다.
상기 단말기(400)는 서버(300)로부터 해킹 툴을 탐지하기 위한 패턴 정보를 전송받아, 단말기의 패턴 정보와 비교하여 상호 일치하는 경우에 단말 정보를 서버(300)로 전송한다. 이러한 과정은 게임과 같은 프로그램을 실행하면 실행과 동시에 일련의 동작이 진행된다. 상기 단말기(400)는 패턴정보수신부(410), 패턴정보추출부(420), 패턴정보비교부(430), 사용자단말정보전송부(440)로 구성된다.
상기 서버(300)의 패턴정보부(310)는 해킹 툴을 탐지하는 패턴 정보를 상기 패턴정보DB(100)에 데이터베이스화한다. 상기 패턴은 PE(Portable Executable) 파일 헤더로, 특정 해킹 툴의 PE 파일 헤더(파일 앞부분의 40KB)에 대한 CRC32(Cyclic Redundancy Check 32 - ISO-3309를 통해 발표된 cyclic redundancy check에 기초한 체크섬 생성 알로리즘) 값을 추출하여 만든 것이 패턴 정보이다.
도 3은 해킹 툴의 패턴을 추출하여 데이터베이스화하는 것에 대한 실시 예를 도시한 것으로, 해킹 툴의 패턴을 추출하기 위해 별도로 개발된 PExtractor라는 어플리케이션을 사용하여 CRC32 값을 추출하여 패턴정보DB(100)에 삽입(insert)하기 위한 쿼리(query)를 생성하고 있다.
도 4는 패턴정보DB(100)의 테이블의 실시 예를 도시한 것으로, PSN(Pattern Serial Number) 컬럼(column)은 각각의 해킹 툴의 패턴과 1:1로 매칭되는 특별한 값을 저장하고, NAME 컬럼(column)은 해킹 툴의 이름을 저장하고, CHECKSUM 컬럼(column)은 해킹 툴의 패턴 정보(CRC32 값을 추출하여 만듦)를 저장하며, DESC는 해킹 툴에 대한 기본 정보를 저장하고, REG_DATE는 해킹 툴이 패턴정보DB(100)에 등록된 일시를 저장한다.
상기 생성된 패턴 정보를 도 4와 같이 패턴정보DB(100)에 데이터베이스화하고, 서버(300)는 주기적으로 상기 패턴정보DB(100)를 폴링(Pollilng - 한 프로그램이나 장치에서 다른 프로그램이나 장치들이 어떤 상태에 있는지를 지속적으로 체크하는 전송 제어 방식)하여 업데이트된 패턴 정보가 있으면 이를 가져온다.
상기 단말기(400)의 패턴정보수신부(410)는 상기 패턴정보부(310)에서 생성한 해킹 툴을 탐지하는 패턴 정보를 서버(300)로부터 수신하고, 상기 단말기(400)의 패턴정보추출부(420)에서는 사용자가 사용하고 있는 단말기(이하 사용자 단말)에서 패턴 정보를 추출한다. 사용자 단말에서 해킹 툴이 실행되고 있다면 상기 패턴정보부(310)에서 생성한 해킹 툴을 탐지하는 패턴 정보와 일치하는 패턴 정보가 사용자 단말 내에 있을 것이다. 따라서 상기 단말기(400)의 패턴정보비교부(430)는 상기 패턴정보수신부(410)에서 수신한 패턴 정보와, 상기 패턴정보추출부(420)에서 수신한 패턴 정보를 비교하고, 상기 단말기(400)의 사용자단말정보전송부(440)는 상기 패턴정보비교부(430)에서 비교한 결과 상호 일치하는 패턴 정보가 있을 경우 해킹 툴을 사용하는 것으로 판단하여 사용자 단말 정보를 상기 서버(300)로 전송한다. 상기 사용자 단말 정보는 사용자 정보, 해킹 툴의 정보, 해킹 툴 탐지 일시, 서버(300)로의 접속 회수 중에서 적어도 하나를 포함한다.
상기 서버(300)의 해킹툴사용정보부(320)는 상기 사용자단말정보전송부(440)에서 사용자 단말 정보를 전송해주면, 해킹 툴을 사용하는 것으로 탐지된 사용자 단말로 분류하여 사용자 단말 정보를 상기 사용자정보DB(200)에 데이터베이스화한다.
도 5는 사용자정보DB(200)의 테이블의 실시 예를 도시한 것으로, USN(User Serial Number) 컬럼(column)은 사용자와 1:1로 매칭되는 특별한 값으로 어떤 사용자가 해킹 툴을 사용하였는지 저장하고, PSN(Pattern Serial Number) 컬럼(column)은 탐지된 해킹 툴의 패턴 정보를 저장하며, CF_ID 컬럼(column)은 해킹 툴을 어떠한 방식으로 탐지하였는지 나타낸다. 예를 들어 도 5에서와 같이 '1'인 경우는 본 발명의 패턴을 이용하여 탐지한 경우를 나타내고, 그외 다른 해킹 솔루션도 본 발명과 병행하여 사용할 수 있는바 다른 해킹 솔루션으로 해킹 툴을 탐지한 경우는 '1'이 아닌 지정된 다른 값으로 저장한다. 또한 CODE는 패턴 정보와 관련하여 추가 코드(code)가 필요한 경우 사용하려고 예약한 값을 저장하며, LOG_DATE는 해킹 툴을 사용하는 것으로 탐지된 일시를 저장한다.
상기 서버(300)의 접속정보부(330)는 해킹 툴을 사용하는 것으로 탐지된 사용자 단말이 접속하였는지 확인하고, 상기 사용자 단말의 접속 정보를 주기적으로 확인한다. 즉, 폴링(polling)을 통해 사용자정보DB(200)에 저장된 사용자가 접속하였는지 실시간으로 확인하고, 사용자정보DB(200)에 있는 사용자가 접속하였음을 확인한 경우, 상기 서버(300)의 접속차단부(340)를 통하여 사용자 단말의 접속을 차단한다.
상기 접속차단부(340)에서는 사용자 단말의 접속 정보를 확인하여, 해킹 툴을 사용하는 것으로 탐지된 횟수를 기초로 특정 시간 동안 접속을 끊도록 할 수 있다. 일종의 Auto Block(자동 차단) 기능이라고 할 수 있는데, 해킹 툴을 탐지하여 접속 차단을 할 때, 사용자의 해킹 탐지 횟수가 특정 횟수 이상인 경우 사용자의 접속을 차단할 시간을 사용자정보DB(200)에 설정하고, 사용자가 로그인할 때에 사용자정보DB(200)를 바탕으로 설정된 시간동안 게임에 로그인 할 수 없도록 하는 것이다. 따라서 Auto Block 기능을 수행하기 위해서는 사용자정보DB(200)에 해킹 툴 탐지 횟수도 업데이트 해야한다. 상기 Auto Block 기능을 예로 들면, A라는 사용자가 해킹 툴을 사용하는 것이 3번 탐지된 경우, 30분 동안 사용자 A의 접속을 차단하는 형태이다. 물론 접속을 차단할 시간 및 접속을 차단한 해킹 툴 탐지 횟수 역시 설정하는 것에 따라서 달라질 수 있다.
도 6은 서버에서 해킹 툴을 탐지하는 방법의 흐름도로, 상기 도 6을 참조하여 해킹 툴을 탐지하는 방법을 설명한다.
해킹 툴을 탐지하는 패턴 정보를 데이터베이스화한다(S10). 상기 패턴은 PE(Portable Executable) 파일 헤더로, 특정 해킹 툴의 PE 파일 헤더에 대한 CRC32 값을 추출하여 만든 것이 패턴 정보로, 상기 해킹 툴을 탐지하는 시스템에서 설명한 바이다. 상기 패턴 정보를 이용하여 해킹 툴을 사용하는 것으로 탐지된 사용자 단말 정보를 데이터베이스화하고(S20), 사용자 단말의 접속 정보를 주기적으로 확인한다(S30). 만약 해킹 툴을 사용하는 사용자 단말이 접속한 경우이면, 사용자 단말과의 접속을 끊는데(S50), 사용자 단말의 접속 정보를 확인하여, 해킹 툴을 사용하는 것으로 탐지된 횟수를 기초로 특정 시간 동안 접속을 끊도록 할 수 있다. 시스템이 종료할 때까지(S60) 접속한 사용자 단말을 주지적으로 살피면서 위의 단계를 반속한다.
또한 본 발명은 상기 서버에서 해킹 툴을 탐지하는 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체도 포함한다.
도 7는 단말기에서 해킹 툴을 탐지하는 방법의 흐름도로, 상기 도 7를 참조하여 해킹 툴을 탐지하는 방법을 설명한다.
게임을 실행하면(S70), 해킹 툴을 탐지하는 패턴 정보를 서버로부터 수신한다(S80). 또한 사용자 단말에서 패턴 정보를 추출하고(S90), 상기 서버로부터 수신한 패턴 정보와 상기 사용자 단말에서 추출한 패턴 정보를 비교한다(S100). 상기 비교 결과 일치하는 패턴 정보가 있다면(S110), 사용자 단말에서 해킹 툴이 실행되고 있다는 것이므로, 사용자 단말 정보를 서버로 전송한다(S120). 상기 사용자 단말 정보는 사용자 정보, 해킹 툴의 종류, 해킹 툴 탐지 일시, 접속 횟수 중에서 적어도 하나를 포함할 수 있다.
또한 본 발명은 상기 단말기에서 해킹 툴을 탐지하는 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체도 포함한다.
이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술 사상과 아래에 기재될 청구범위의 균등 범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
100 패턴정보DB 200 사용자정보DB
300 서버 310 패턴정보부
320 해킹툴사용정보부 330 접속정보부
340 접속차단부 400 단말기
410 패턴정보수신부 420 패턴정보추출부
430 패턴정보비교부 440 사용자단말정보전송부

Claims (9)

  1. 해킹 툴을 탐지하는 패턴 정보를 데이터베이스화하는 단계;
    상기 패턴 정보를 이용하여 해킹 툴을 사용하는 것으로 탐지된 사용자 단말 정보를 데이터베이스화하는 단계;
    상기 해킹 툴을 사용하는 것으로 탐지된 사용자 단말의 접속 정보를 주기적으로 확인하는 단계; 및
    상기 해킹 툴을 사용하는 것으로 탐지된 사용자 단말과의 접속을 끊는 단계;를 포함하는 해킹 툴을 탐지하는 방법.
  2. 제 1 항에 있어서,
    상기 해킹 툴을 탐지하는 패턴 정보는,
    해킹 툴의 PE(Portable Executable) 파일 헤더를 이용한 CRC32(Cyclic Redundancy Check 32) 값을 추출하여 생성한 것을 특징으로 하는 해킹 툴을 탐지하는 방법.
  3. 제 1 항에 있어서,
    상기 사용자 단말과의 접속을 끊는 단계는,
    사용자 단말의 접속 정보를 확인하여, 해킹 툴을 사용하는 것으로 탐지된 횟수를 기초로 특정 시간 동안 접속을 끊는 것을 특징으로 하는 해킹 툴을 탐지하는 방법.
  4. 제 1 항에 있어서,
    상기 사용자 단말 정보는,
    사용자 정보, 해킹 툴의 종류, 해킹 툴 탐지 일시, 접속 횟수 중에서 적어도 하나를 포함하는 것을 특징으로 하는 해킹 툴을 탐지하는 방법.
  5. 해킹 툴을 탐지하는 패턴 정보를 서버로부터 수신하는 단계;
    사용자 단말에서 패턴 정보를 추출하는 단계;
    상기 서버로부터 수신한 패턴 정보와 상기 사용자 단말에서 추출한 패턴 정보를 비교하는 단계; 및
    상기 비교 결과, 일치하는 패턴 정보가 있을 경우,
    해킹 툴을 사용하는 것으로 판단하여 사용자 단말 정보를 상기 서버로 전송하는 단계;를 포함하는 해킹 툴을 탐지하는 방법.
  6. 해킹 툴을 탐지하는 패턴 정보를 데이터베이스화하는 패턴정보부;
    상기 패턴 정보를 이용하여 해킹 툴을 사용하는 것으로 탐지된 사용자 단말 정보를 데이터베이스화하는 해킹툴사용정보부;
    상기 해킹 툴을 사용하는 것으로 탐지된 사용자 단말의 접속 정보를 주기적으로 확인하는 접속정보부; 및
    상기 해킹 툴을 사용하는 것으로 탐지된 사용자 단말과의 접속을 끊는 접속차단부;를 포함하는 해킹 툴을 탐지하는 서버.
  7. 해킹 툴을 탐지하는 패턴 정보를 서버로부터 수신하는 패턴정보수신부;
    패턴 정보를 추출하는 패턴정보추출부;
    상기 서버로부터 수신한 패턴 정보와 상기 추출한 패턴 정보를 비교하는 패턴정보비교부; 및
    상기 패턴정보비교부의 비교 결과에서 일치하는 패턴 정보가 있을 경우,
    해킹 툴을 사용하는 것으로 판단하여 사용자 단말 정보를 상기 서버로 전송하는 사용자단말정보전송부;를 포함하는 해킹 툴을 탐지하는 단말기.
  8. 해킹 툴을 탐지하는 패턴 정보를 데이터베이스화하는 단계;
    상기 패턴 정보를 이용하여 해킹 툴을 사용하는 것으로 탐지된 사용자 단말 정보를 데이터베이스화하는 단계;
    상기 해킹 툴을 사용하는 것으로 탐지된 사용자 단말의 접속 정보를 주기적으로 확인하는 단계; 및
    상기 해킹 툴을 사용하는 것으로 탐지된 사용자 단말과의 접속을 끊는 단계;를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
  9. 해킹 툴을 탐지하는 패턴 정보를 서버로부터 수신하는 단계;
    사용자 단말에서 패턴 정보를 추출하는 단계;
    상기 서버로부터 수신한 패턴 정보와 상기 사용자 단말에서 추출한 패턴 정보를 비교하는 단계; 및
    상기 비교 결과, 일치하는 패턴 정보가 있을 경우,
    해킹 툴을 사용하는 것으로 판단하여 사용자 단말 정보를 상기 서버로 전송하는 단계;를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.



KR1020100056005A 2010-06-14 2010-06-14 해킹 툴을 탐지하는 방법, 서버 및 단말기 KR101153115B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100056005A KR101153115B1 (ko) 2010-06-14 2010-06-14 해킹 툴을 탐지하는 방법, 서버 및 단말기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100056005A KR101153115B1 (ko) 2010-06-14 2010-06-14 해킹 툴을 탐지하는 방법, 서버 및 단말기

Publications (2)

Publication Number Publication Date
KR20110136170A true KR20110136170A (ko) 2011-12-21
KR101153115B1 KR101153115B1 (ko) 2012-06-04

Family

ID=45502844

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100056005A KR101153115B1 (ko) 2010-06-14 2010-06-14 해킹 툴을 탐지하는 방법, 서버 및 단말기

Country Status (1)

Country Link
KR (1) KR101153115B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180047078A (ko) * 2016-10-31 2018-05-10 삼성에스디에스 주식회사 웹 응용 서버의 클라이언트 세션 차단 방법 및 장치
KR20190010521A (ko) * 2018-12-24 2019-01-30 넷마블 주식회사 해킹툴 탐지 방법 및 이를 수행하는 사용자 단말 및 서버

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180047078A (ko) * 2016-10-31 2018-05-10 삼성에스디에스 주식회사 웹 응용 서버의 클라이언트 세션 차단 방법 및 장치
US10701178B2 (en) 2016-10-31 2020-06-30 Samsung Sds Co., Ltd. Method and apparatus of web application server for blocking a client session based on a threshold number of service calls
KR20190010521A (ko) * 2018-12-24 2019-01-30 넷마블 주식회사 해킹툴 탐지 방법 및 이를 수행하는 사용자 단말 및 서버

Also Published As

Publication number Publication date
KR101153115B1 (ko) 2012-06-04

Similar Documents

Publication Publication Date Title
Xiao et al. Edge computing security: State of the art and challenges
EP3462698B1 (en) System and method of cloud detection, investigation and elimination of targeted attacks
US10447730B2 (en) Detection of SQL injection attacks
Tian et al. Defending against malicious USB firmware with GoodUSB
Cazorla et al. Cyber stealth attacks in critical information infrastructures
KR101689295B1 (ko) 보안이벤트 자동 검증 방법 및 장치
US7779062B2 (en) System for preventing keystroke logging software from accessing or identifying keystrokes
US20160099960A1 (en) System and method for scanning hosts using an autonomous, self-destructing payload
CN113660224B (zh) 基于网络漏洞扫描的态势感知防御方法、装置及系统
US10142343B2 (en) Unauthorized access detecting system and unauthorized access detecting method
KR100788256B1 (ko) 네트워크를 이용한 웹서버 위변조 모니터링 시스템 및모니터링 방법
KR101964148B1 (ko) 기계 학습 기반으로 이상 행위를 분석하는 유무선 공유기 및 그 방법
US9245118B2 (en) Methods for identifying key logging activities with a portable device and devices thereof
Gupta et al. Taxonomy of cloud security
Abdalrahman et al. Defending against cyber-attacks on the internet of things
CN113411295A (zh) 基于角色的访问控制态势感知防御方法及系统
BalaGanesh et al. Smart devices threats, vulnerabilities and malware detection approaches: a survey
CN110087238B (zh) 一种移动电子设备信息安全保护系统
KR20170091989A (ko) 산업 제어 네트워크에서의 보안 관제 평가 시스템 및 방법
Mohammadmoradi et al. Making whitelisting-based defense work against badusb
Sasi et al. A comprehensive survey on IoT attacks: Taxonomy, detection mechanisms and challenges
KR20110131627A (ko) 악성 코드 진단 및 복구 장치, 그리고 이를 위한 단말 장치
CN113660222A (zh) 基于强制访问控制的态势感知防御方法及系统
US20150172310A1 (en) Method and system to identify key logging activities
KR101153115B1 (ko) 해킹 툴을 탐지하는 방법, 서버 및 단말기

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: 20150506

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160510

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee