KR101735652B1 - 단말 장치 및 이에 의한 사이버 공격 애플리케이션의 탐지 방법 - Google Patents

단말 장치 및 이에 의한 사이버 공격 애플리케이션의 탐지 방법 Download PDF

Info

Publication number
KR101735652B1
KR101735652B1 KR1020150108327A KR20150108327A KR101735652B1 KR 101735652 B1 KR101735652 B1 KR 101735652B1 KR 1020150108327 A KR1020150108327 A KR 1020150108327A KR 20150108327 A KR20150108327 A KR 20150108327A KR 101735652 B1 KR101735652 B1 KR 101735652B1
Authority
KR
South Korea
Prior art keywords
cyber attack
log
attack application
application
terminal
Prior art date
Application number
KR1020150108327A
Other languages
English (en)
Other versions
KR20170014633A (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 KR1020150108327A priority Critical patent/KR101735652B1/ko
Publication of KR20170014633A publication Critical patent/KR20170014633A/ko
Application granted granted Critical
Publication of KR101735652B1 publication Critical patent/KR101735652B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 기술적 사상에 의한 일 실시예에 따른 사이버 공격 애플리케이션의 탐지 방법은, 단말에 기록된 로그들을 수집하는 단계와, 수집된 로그들로부터 소정 작업의 로그를 추출하는 단계와, 추출된 소정 작업의 로그의 발생 간격을 계산하는 단계, 및 계산된 발생 간격에 기초하여, 단말 내에 사이버 공격 애플리케이션의 설치 여부를 결정하는 단계를 포함한다.

Description

단말 장치 및 이에 의한 사이버 공격 애플리케이션의 탐지 방법{TERMINAL APPARATUS AND METHOD FOR DETECTING CYBER ATTACK APPLICATION THEREBY}
본 발명의 기술적 사상은 단말 장치 내에 사이버 공격 애플리케이션이 설치되어 있는지를 탐지하는 방법 및 이를 위한 단말 장치에 관한 것이다.
최근, 다양한 기능과 높은 성능을 지닌 스마트폰, 태블릿 PC 및 웨어러블 기기 등과 같은 모바일 기기가 사용자들에게 널리 보급되면서 일상 생활에서의 사용자의 편리함이 증가하고 있다.
모바일 단말기의 연산 및 처리 능력의 향상과 저장 용량의 증가로 인해 다양한 서비스를 제공하는 애플리케이션들이 개발되고 사용자들에게 널리 전파되고 있다. 이러한 애플리케이션들이 제공하는 서비스의 유형으로는 소셜 네트워크 서비스와 웹 서버를 이용한 게임 서비스와 같이 사용자의 흥미를 유발시키는 것부터 간단한 문서 편집과 사용자의 일정 관리와 같이 사용자의 생산성을 증가시켜주기 위한 서비스, 그리고 모바일 뱅킹과 같은 금융관련 서비스까지 다양한 형태로 존재하고 있다.
반면, 모바일 단말기로 인한 사용자의 편리성이 증가된 만큼, 이를 악용하기 위한 악성 애플리케이션들도 나타나게 되었다. 이러한 악성 애플리케이션들은 사용자의 모바일 단말기를 타겟으로 하여 모바일 단말기에 저장된 사용자의 개인정보 등을 외부로 유출시킨다.
또한, 최근에는 모바일 단말기를 단순한 공격 대상으로 삼는 것뿐만 아니라 다른 대상을 공격하기 위한 새로운 도구로 이용되는 악성 애플리케이션이 확산되고 있다. 그 중 하나로서, 모바일 단말기를 DDoS(Distributed Denial of Service) 공격의 수단으로 활용하기 위한 애플리케이션이다.
현재까지, 모바일 단말기 내에 설치된 애플리케이션들 중 악성 애플리케이션을 탐지하기 위한 기법으로는 애플리케이션의 소스코드를 분석하는 정적 분석 기법과 애플리케이션의 행위를 분석하는 동적분석 기법들이 존재하고 있다. 하지만, 악성 애플리케이션에 난독화 기술을 적용함으로써 정적 분석을 방해 혹은 불가능하게 할 수 있으며, 모바일 단말기를 별도 분석하기 위한 가상 서버 등과 같은 외부 자원을 필요로 하기 때문에 그 탐지에 많은 자원이 소모된다는 문제점이 있다.
본 발명의 기술적 사상에 따른 단말 장치 및 이에 의한 사이버 공격 애플리케이션의 탐지 방법이 이루고자 하는 기술적 과제는, 사용자의 단말 내에 사이버 공격 애플리케이션이 설치되어 있는지를 탐지하는 것이다.
또한, 본 발명의 기술적 사상에 따른 단말 장치 및 이에 의한 사이버 공격 애플리케이션의 탐지 방법이 이루고자 하는 기술적 과제는, 간단한 방법으로 신뢰성 있게 사이버 공격 애플리케이션의 설치 여부를 탐지하는 것이다.
본 발명의 기술적 사상에 의한 일 양태에 따른 사이버 공격 애플리케이션의 탐지 방법은, 단말에 기록된 로그들을 수집하는 단계; 상기 수집된 로그들로부터 소정 작업의 로그를 추출하는 단계; 상기 추출된 소정 작업의 로그의 발생 간격을 계산하는 단계; 및 상기 계산된 발생 간격에 기초하여, 상기 단말 내에 사이버 공격 애플리케이션의 설치 여부를 결정하는 단계;를 포함한다.
일부 실시예에서, 상기 결정하는 단계는, 상기 계산된 발생 간격이 제1 시간 간격 이내인 경우, 상기 단말 내에 사이버 공격 애플리케이션이 설치된 것으로 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 결정하는 단계는, 상기 계산된 발생 간격이 제1 시간 간격 이내이고, 상기 계산된 발생 간격이 제1 시간 간격 이내인 것이 제2 시간 간격 동안 지속되는 경우에 상기 단말 내에 사이버 공격 애플리케이션이 설치된 것으로 결정하는 단계;를 포함할 수 있다.
일부 실시예에서, 상기 소정 작업의 로그는, 메모리 확보 작업의 로그를 포함할 수 있다.
일부 실시예에서, 상기 메모리 확보 작업은, 가비지 컬렉션(garbage collection) 작업을 포함할 수 있다.
일부 실시예에서, 상기 사이버 공격 애플리케이션은, DDoS(Distributed Denial of Service) 공격 애플리케이션일 수 있다.
일부 실시예에서, 상기 사이버 공격 애플리케이션의 탐지 방법은, 상기 단말 내에 상기 사이버 공격 애플리케이션이 설치된 것으로 결정되면, 이를 나타내는 정보를 출력하는 단계를 더 포함할 수 있다.
일부 실시예에서, 상기 로그들을 수집하는 단계는, logcat 프로그램을 통해 상기 로그들을 수집하는 단계를 포함할 수 있다.
본 발명의 기술적 사상에 의한 다른 양태에 따른 프로그램은, 하드웨어와 결합되어 사이버 공격 애플리케이션의 탐지 방법을 수행하기 위해 매체에 저장된 프로그램으로서, 단말에 기록된 로그들을 수집하는 단계; 상기 수집된 로그로부터 소정 작업의 로그를 추출하는 단계; 상기 추출된 소정 작업의 로그의 발생 간격을 계산하는 단계; 및 상기 계산된 발생 간격에 기초하여, 상기 단말 내에 사이버 공격 애플리케이션의 설치 여부를 결정하는 단계;를 수행하는 프로그램 코드를 포함한다.
본 발명의 기술적 사상에 의한 또 다른 양태에 따른 단말 장치는, 로그들을 수집하는 수집부; 상기 수집된 로그로부터 소정 작업의 로그를 추출하는 추출부; 및 상기 추출된 소정 작업의 로그의 발생 간격을 계산하고, 상기 계산된 발생 간격에 기초하여, 사이버 공격 애플리케이션의 설치 여부를 결정하는 제어부;를 포함한다.
일부 실시예에서, 상기 제어부는, 상기 계산된 발생 간격이 제1 시간 간격 이내인 경우, 상기 단말 장치 내에 사이버 공격 애플리케이션이 설치된 것으로 결정할 수 있다.
일부 실시예에서, 상기 제어부는, 상기 계산된 발생 간격이 상기 제1 시간 간격 이내이고, 상기 계산된 발생 간격이 상기 제1 시간 간격 이내인 것이 제2 시간 간격 동안 지속되는 경우에 상기 단말 장치 내에 사이버 공격 애플리케이션이 설치된 것으로 결정할 수 있다.
일부 실시예에서, 상기 소정 작업의 로그는, 메모리 확보 작업의 로그를 포함할 수 있다.
일부 실시예에서, 상기 메모리 확보 작업은, 가비지 컬렉션 작업을 포함할 수 있다.
일부 실시예에서, 상기 사이버 공격 애플리케이션은, DDoS 공격 애플리케이션일 수 있다.
일부 실시예에서, 상기 단말 장치는, 상기 단말 장치 내에 상기 사이버 공격 애플리케이션이 설치된 것으로 결정되면, 이를 나타내는 정보를 출력하는 출력부를 더 포함할 수 있다.
일부 실시예에서, 상기 수집부는, logcat 프로그램을 통해 상기 로그들을 수집할 수 있다.
본 발명의 기술적 사상에 의한 실시예들에 따른 단말 장치 및 이에 의한 사이버 공격 애플리케이션의 탐지 방법은, 사용자 단말 내에 사이버 공격 애플리케이션이 설치되어 있는지를 탐지할 수 있다.
또한, 본 발명의 기술적 사상에 의한 실시예들에 따른 단말 장치 및 이에 의한 사이버 공격 애플리케이션의 탐지 방법은, 사이버 공격 애플리케이션의 설치 여부를 간단한 방법으로 신뢰성 있게 탐지할 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 일반적인 로그 관리 시스템을 도시하는 도면이다.
도 2는 로그 관리 시스템에 의해 기록된 로그를 도시하는 예시적인 도면이다.
도 3은 본 발명의 기술적 사상에 의한 일 실시예에 따른 사이버 공격 애플리케이션의 탐지 방법을 나타내는 순서도이다.
도 4는 사이버 공격 애플리케이션이 실행됨으로써 기록되는 로그를 도시하는 도면이다.
도 5는 도 3의 S340 단계를 보다 상세하게 나타내는 순서도이다.
도 6은 본 발명의 기술적 사상에 의한 일 실시예에 따른 단말 장치의 구성을 나타내는 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에 기재된 "~부(유닛)", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
그리고 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
이하, 본 발명의 실시예들을 차례로 상세히 설명한다.
본 발명의 기술적 사상에 의한 실시예에 따른 단말 장치 및 이에 의한 사이버 공격 애플리케이션의 탐지 방법은 단말 장치에 저장된 로그를 통해 단말 장치에 사이버 공격 애플리케이션이 설치되어 있는지를 확인하는데, 먼저, 도 1을 참조하여 일반적인 단말 장치의 로그 기록 시스템(10)을 간단히 살펴본다.
일반적인 단말 장치의 로그 기록 시스템(10)은 시스템의 일부분과 다양한 애플리케이션으로부터 로그를 수집하여 기록한다. 로그 기록 시스템(10)은 4가지의 구성요소로 이루어지는데, 4가지의 구성요소 각각은 다음과 같다.
1) 로그 저장을 위한 커널 드라이버와 커널 버퍼,
2) 로그 메시지에 대한 접근과 로그 엔트리 생성을 위한 C, C++, Java 클래스,
3) 로그 메시지를 확인하기 위한 독립적인 실행 프로그램 (logcat),
4) 호스트 기기에게 로그의 확인 및 필터링 기능을 제공하는 프로그램 (adbd).
도 1에 도시된 바와 같이, 로그 기록 시스템(10)의 커널 레벨(30)에는 4개의 로그 버퍼(33, 35, 37, 39)를 관리하는 로거(31)라는 커널 드라이브가 존재하고 있으며, 유저 레벨(20)의 애플리케이션은 로그 버퍼(33, 35, 37, 39)에 직접 접근이 불가능하다. 따라서, 안드로이드 시스템의 경우, liblog(23)라는 디바이스 노드를 읽고 쓸 수 있는 네이티브 라이브러리를 제공함으로써 애플리케이션이 로그 버퍼(33, 35, 37, 39)에 접근하는 것을 가능하게 한다.
애플리케이션은 C로 작성된 네이티브 애플리케이션(21)과 자바로 개발되어 Dalvik 가상 머신 상에서 동작하는 자바 애플리케이션(22)으로 나눌 수 있다. 네이티브 애플리케이션(21)은 liblog(23)를 직접 사용하며, 자바 애플리케이션(22)들은 android.util.log(24)와 같은 클래스들을 통해서 간접적으로 liblog(23)를 사용한다.
로그 버퍼(33, 35, 37, 39)의 추출은 네이티브 프로그램인 logcat(25)을 이용하는 방법과 ADBD(Android Debug Bridge Daemon)(26)를 이용하는 방법이 있다. 네이티브 프로그램인 logcat(25)은 단말기 내부에서만 실행 가능한 방법이다. 로그 버퍼(33, 35, 37, 39)를 호스트 기기로 추출하는 방법은 안드로이드 개발사인 구글에서 제공하는 ADBD(26)를 이용하여 호스트 기기에서 단말기로 접속한 후에 logcat(25)을 실행하여 로그 버퍼(33, 35, 37, 39)를 추출할 수 있다. 도 2는 로그 버퍼(33, 35, 37, 39)로부터 추출된 예시적인 로그를 도시하고 있다.
로그 기록 시스템(10)이 생성하는 로그는 커널(30) 내의 4개의 로그 버퍼(33, 35, 37, 39)에 저장되며 이들은 각각 시스템의 다른 부분의 로그를 생성하고 저장한다. 로그 기록 시스템(10)의 로그 버퍼(33, 35, 37, 39)는 아래와 같이 나뉘어져 있다.
1) main(33): 메인 애플리케이션의 로그
2) events(37): 시스템 이벤트 정보를 위한 로그
3) radio(35): 통신망 접속에 관련된 로그
4) system(39): 시스템 하위 레벨의 메시지와 디버깅을 위한 로그
도 3은 본 발명의 기술적 사상에 의한 일 실시예에 따른 사이버 공격 애플리케이션의 탐지 방법을 나타내는 순서도이다. 도 3에 도시된 각 단계는 사용자에 의해 사용되는 단말 장치에 의해 수행될 수 있다. 단말 장치는 예를 들어, 스마트폰, PDA, 테블릿 PC 또는 웨어러블 기기를 포함할 수 있으나, 이에 한정되지 않는다. 사이버 공격 애플리케이션은 예를 들어, DDoS 공격 애플리케이션일 수 있으며, 본 발명의 기술적 사상이 이에 한정되는 것은 아니나 이하 도 3을 설명함에 있어서는 설명의 편의를 위해 사이버 공격 애플리케이션이 DDoS 공격 애플리케이션인 경우를 예로 들어 설명함을 알려 둔다.
S310 단계에서, 단말 장치는 단말 장치에 기록된 로그들을 수집한다. 단말 장치는 예를 들어, logcat 프로그램을 통해 로그들을 수집할 수 있다.
S320 단계에서, 단말 장치는 수집된 로그들로부터 소정 작업의 로그를 추출한다.
소정 작업은 예를 들어, 단말 장치에 설치된 애플리케이션의 메모리 확보 작업을 포함한다. DDoS 공격을 목적으로 설치된 애플리케이션은 계속적으로 네트워크 트래픽을 유발시키므로, 할당받은 메모리 영역이 초과상태에 이르게 된다. 이를 위해, DDoS 공격 애플리케이션은 메모리 확보 작업을 수행하는데, 단말 장치는 여러 로그들 중 메모리 확보 작업과 관련된 로그를 획득하는 것이다.
S330 단계에서, 단말 장치는 추출된 소정 작업의 로그의 발생 간격을 계산한다. 예를 들어, 단말 장치는 추출된 소정 작업의 로그들 각각이 어느 시간 간격을 두고 발생하였는지를 계산하는 것이다.
단말 장치는 발생 간격을 계산할 때, 소정 작업의 로그를 단말 장치에 설치된 애플리케이션 별로 분류하고, 분류된 애플리케이션 별로 소정 작업의 로그 발생 간격을 계산할 수 있다. 이는, 여러 애플리케이션들 중 DDoS 공격 애플리케이션이 무엇인지를 결정하기 위함이다.
S340 단계에서, 단말 장치는 계산된 발생 간격에 기초하여, 단말 장치 내에 사이버 공격 애플리케이션, 예를 들어 DDoS 공격 애플리케이션의 설치 여부를 결정한다. 단말 장치는 단말 장치 내에 DDoS 공격 애플리케이션이 설치된 것으로 결정한 경우, 이를 나타내는 정보를 출력할 수 있다. 예를 들어, 단말 장치는 단말 장치에 DDoS 공격 애플리케이션이 설치되었다는 메시지를 스피커 및 디스플레이 등의 출력 장치를 통해 출력할 수 있다.
한편, 위에서 설명한 메모리 확보 작업은 예를 들어, 가비지 컬렉션(garbage collection) 작업을 포함할 수 있다. DDoS 공격을 유발시키는 기능이 구현된 애플리케이션에 의하면, 네트워크 트래픽 관련 오브젝트가 다수 생성된다. 이처럼, 애플리케이션 내에 오브젝트들이 지속적으로 생성되면 애플리케이션이 할당 받은 힙 메모리 영역이 서서히 초과상태에 이르게 되는데 시스템 내부에서는 애플리케이션의 메모리 확보를 위해서 가비지 컬렉션(Garbage Collection)이라는 작업을 수행하게 된다. 즉, DDoS 공격 애플리케이션이 실행되어 네트워크 트래픽을 증가시키는 과정을 통해 많은 양의 오브젝트가 지속적으로 생성될수록 시스템 내부에서 가비지 컬렉션 작업 또한 지속적으로 발생한다. 따라서, DDoS 공격 애플리케이션이 실행될 경우, 로그 기록 시스템(10)에 의해 가비지 컬렉션에 관련된 로그들이 일정 시간 동안에 많이 기록되는 것을 확인할 수 있다.
도 4는 사이버 공격 애플리케이션이 공격을 수행하였을 때 로그 기록 시스템(10)에 의해 수집 및 기록되는 가비지 컬렉션 작업의 로그(400)들을 나타내고 있다.
도 4에 도시된 로그들의 텍스트 영역을 분석하면 GC_CONCURRENT 형식의 기록이 짧은 시간 동안에 주기적으로 남는 것을 확인할 수 있다. GC_CONCURRENT 메시지는 애플리케이션의 메모리 힙 영역이 거의 가득 차게 되어, 가비지 컬렉션 작업이 수행되었을 때 남기게 되는 디버그 클래스의 로그이다.
Figure 112015074399103-pat00001
위 표 1은 단말 장치에서 정상적인 애플리케이션들만 1시간 실행하였을 경우와, 1시간 경과 이후 사이버 공격, 예를 들어 DDoS 공격 애플리케이션을 단말 장치에서 1분간 실행하였을 경우의 가비지 컬렉션 로그의 비율을 비교하기 위한 표이다.
표 1을 참조하면, 정상적으로 동작하는 애플리케이션만 약 1시간 가량 사용하였을 경우의 메모리 부족 현상으로 인해 시스템이 가비지 컬렉션을 호출하여 메모리를 해제하는 작업에 관련된 로그가 전체 로그 중에서 약 7.59%를 차지하였으나, 이후에 DDoS 공격 애플리케이션을 약 1분간 실행하고 난 뒤에 가비지 컬렉션의 로그 비율의 변화를 살펴본 결과, 메모리 해제 관련 로그의 비율이 1분 사이에 약 12.74%로 크게 증가한 것을 확인할 수 있다.
도 5는 도 3의 S340 단계를 보다 상세하게 나타내는 순서도이다.
S510 단계에서, 단말 장치는 소정 작업의 로그의 발생 간격이 제1 시간 간격 이내인지를 판단한다. 제1 시간 간격은 예를 들어, 10초일 수 있으나, 이는 당업자에 의해 변경될 수 있다.
소정 작업의 로그의 발생 간격이 제1 시간 간격 이내라면, S520 단계에서, 단말 장치는 소정 작업의 로그의 발생 간격이 제1 시간 간격 이내인 것이 제2 시간 간격 동안 지속되는지를 판단한다. 예를 들어, 제2 시간 간격은 1분일 수 있다. 반면, 소정 작업의 로그의 발생 간격이 제1 시간 간격을 초과한다면, S540 단계에서, 단말 장치는 단말 장치에 사이버 공격 애플리케이션, 예를 들어 DDoS 공격 애플리케이션이 설치되지 않은 것으로 결정한다.
소정 작업의 로그의 발생 간격이 제1 시간 간격 이내로 발생하는 것이 제2 시간 간격 동안 지속되면, S530 단계에서, 단말 장치는 단말 장치 내에 사이버 공격 애플리케이션이 설치된 것으로 결정한다. 반면, 소정 작업의 로그의 발생 간격이 제1 시간 간격 이내인 것이 제2 시간 간격 동안 지속되지 않으면, 단말 장치는 단말 장치에 사이버 공격 애플리케이션이 설치되지 않은 것으로 결정한다(S540).
한편, 일부 구현예에 따라서는, 단말 장치는 S520 단계를 생략하고 사이버 공격 애플리케이션의 설치 여부를 결정할 수 있다. 상세하게는, 단말 장치는 S510 단계를 통해서 소정 작업의 로그 발생 간격이 제1 시간 간격 이내인 것으로 판단한 경우, S520 단계를 수행하지 않고 단말 장치에 사이버 공격 애플리케이션이 설치된 것으로 바로 결정할 수도 있다.
지금까지는 단말 장치가 자신이 가지고 있는 애플리케이션들 중에서 사이버 공격 애플리케이션을 탐지하는 방법에 대해 설명하였지만, 구현예에 따라서는, 외부의 서버 장치가 단말 장치에 사이버 공격 애플리케이션이 설치되었는지를 판단할 수도 있다. 예를 들어, 외부의 서버 장치는 도 1에 도시된 adbd를 통해 단말 장치의 로그를 수집하고, 수집된 로그 분석을 통해 단말 장치에 사이버 공격 애플리케이션이 설치되었는지를 판단할 수도 있다.
또한, 상술한 본 발명의 기술적 사상에 의한 일 실시예에 따른 사이버 공격 애플리케이션의 탐지 방법은, 다양한 프로세스 단계들을 단말 장치 등에 의해 수행하기 위한 프로그램 코드를 포함하는 적어도 하나의 프로그램으로서 구현될 수 있다.
프로그램 코드는, 정보 처리 능력을 가지는 단말 장치와 같은 컴퓨팅 장치가 직접 또는 다른 언어로 변환, 상이한 자료 형태로 재생산 및/또는 압축과 같은 과정의 임의의 조합 이후에 특정한 기능을 수행하도록 야기하는 임의의 언어의 명령어 집합의 표현, 코드 또는 표기를 의미한다.
구현예에 따라서는, 프로그램은 컴퓨터 판독 가능한 매체에 저장될 수 있으며, 컴퓨터 판독 가능한 매체로부터 단말 장치의 저장 수단에 다운로드되어 실행될 수 있다.
컴퓨터 판독 가능한 매체는 예를 들어, 메모리, 마그네틱 테이프, 탈착식 컴퓨터 디스켓, RAM(Random Access Memory), ROM(Read Only Memory), 테이프, 강자기 디스크(rigid magnetic disk) 및 광 디스크와 같은 반도체 또는 솔리드 스테이트 메모리를 포함할 수 있다. 광 디스크의 현재의 예시는 CD-ROM(Compact Disk Read Only Memory), CD-R/W(Compact Disk Read/Write) 및 DVD를 포함할 수 있다.
아래의 표 2는 본 발명의 기술적 사상에 의한 일 실시예에 따른 사이버 공격 애플리케이션 탐지 방법을 수행하기 위한 의사 코드의 일 예를 나타낸다.
01 Select GC_CONCURRENT Logs
02
03 List ← Time list in analysis PID's log
04
05 Start_Time ← List[0]
06 i ← 0
07
08 While(Until List is empty) :
09
10 if(List[i+1] - List[i] < 10sec):
11 if(List[i+1] - Start_Time > 1min):
12 Alert PID to user
13 else:
14 i ← i+1
15 else:
16 Sart_Time ← List[i]
List에는 분석 대상 PID(Program ID)의 가비지 컬렉션 로그들(GC_CONCURRENT logs)의 시간 리스트가 대입된다. Start_Time은 가비지 컬렉션 로그들의 지속 상태를 측정하기 위한 기준 역할을 수행하기 위한 변수이다. 의사코드의 12번째 줄 "Alert PID to user"코드는 가비지 컬렉션 로그가 10초 간격으로 1분 이상 지속된 경우 수행되는 코드이며, 사용자에게 해당 PID를 가진 애플리케이션이 사이버 공격 애플리케이션, 예를 들어 DDoS 공격 애플리케이션임을 알리는 역할을 수행한다
도 6은 본 발명의 기술적 사상에 의한 일 실시예에 따른 단말 장치(600)의 구성을 나타내는 블록도이다.
도 6을 참조하면, 본 발명의 기술적 사상에 의한 일 실시예에 따른 단말 장치(600)는 수집부(610), 추출부(630), 제어부(650) 및 출력부(670)를 포함할 수 있다.
수집부(610)는 로그들을 수집한다. 수집부(610)는 logcat 프로그램을 통해 로그들을 수집할 수 있다.
추출부(630)는 수집된 로그로부터 소정 작업의 로그를 추출한다. 소정 작업의 로그는 예를 들어, 메모리 확보 작업의 로그로서, 예를 들어, 가비지 컬렉션 작업의 로그를 포함할 수 있다.
제어부(650)는 추출된 소정 작업의 로그의 발생 간격을 계산하고, 상기 계산된 발생 간격에 기초하여, 사이버 공격 애플리케이션 예를 들어, DDoS 공격 애플리케이션의 설치 여부를 결정한다.
제어부(650)는 로그의 발생 간격을 계산할 때, 단말 장치(600)에 설치된 애플리케이션 별로 로그의 발생 간격을 계산할 수 있고, 이들 애플리케이션들 중 어느 애플리케이션이 사이버 공격 애플리케이션인지 판단할 수 있다.
출력부(670)는 단말 장치(600) 내에 사이버 공격 애플리케이션이 설치된 것으로 결정되면, 이를 나타내는 정보를 출력할 수 있다. 출력부(670)는 스피커, 프린터 등의 출력 장치를 포함할 수 있으나, 이에 한정되지 않는다.
로그 기록 시스템(10)은 단말 장치의 내부에서 발생하는 이벤트부터 애플리케이션의 행위 및 디버그 관련 메시지까지 다양한 정보들을 로그의 형태로 기록하고 관리하는 시스템이다. 따라서, 단말 장치에서 발생하는 행동을 분석하는 동적 분석을 직접 실시하지 않더라도, 로그 기록 시스템(10)에 의해 기록된 로그들을 수집 및 분석함으로써 단말 장치에서 발생한 다양한 행위들을 분석할 수 있다. 또한, 로그 기록 시스템(10)은 커널 레벨에서 동작하기 때문에 로그 기록 시스템(10)에 의해 기록된 로그들은 사용자 레벨에서 위조 및 변조를 할 수 없기 때문에 로그에 대한 신뢰도가 높다고 할 수 있다.
따라서, 본 발명의 기술적 사상에 의한 실시예들에 따른 단말 장치 및 이에 의한 사이버 공격 애플리케이션의 탐지 방법은, 단말 장치의 행위에 대한 정보로서, 신뢰도가 높은 로그를 분석함으로써 직접적으로 동적 및 정적 분석을 수행하지 않더라도 단말 장치 내에서 발생하는 사이버 공격, 예를 들어 DDoS 공격을 탐지할 수 있으며, 이러한 사이버 공격을 실질적으로 수행하고 있는 악성 애플리케이션까지 탐지해 낼 수 있다.
이상, 본 발명을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명은 상기 실시예에 한정되지 않고, 본 발명의 기술적 사상 및 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형 및 변경이 가능하다.
600: 단말 장치
610: 수집부
630: 추출부
650: 제어부
670: 출력부

Claims (17)

  1. 단말에 의해 수행되는 사이버 공격 애플리케이션의 탐지 방법으로서,
    상기 단말에 기록된 로그들을 수집하는 단계;
    상기 수집된 로그들로부터 소정 작업의 로그를 추출하는 단계;
    상기 추출된 소정 작업의 로그의 발생 간격을 계산하는 단계; 및
    상기 계산된 발생 간격에 기초하여, 상기 단말 내에 사이버 공격 애플리케이션의 설치 여부를 결정하는 단계;
    를 포함하는, 사이버 공격 애플리케이션의 탐지 방법.
  2. 제1 항에 있어서,
    상기 결정하는 단계는,
    상기 계산된 발생 간격이 제1 시간 간격 이내인 경우, 상기 단말 내에 사이버 공격 애플리케이션이 설치된 것으로 결정하는 단계;를 포함하는 것을 특징으로 하는 사이버 공격 애플리케이션의 탐지 방법.
  3. 제2 항에 있어서,
    상기 결정하는 단계는,
    상기 계산된 발생 간격이 제1 시간 간격 이내이고, 상기 계산된 발생 간격이 제1 시간 간격 이내인 것이 제2 시간 간격 동안 지속되는 경우에 상기 단말 내에 사이버 공격 애플리케이션이 설치된 것으로 결정하는 단계;를 포함하는 것을 특징으로 하는 사이버 공격 애플리케이션의 탐지 방법.
  4. 제1 항에 있어서,
    상기 소정 작업의 로그는,
    메모리 확보 작업의 로그를 포함하는 것을 특징으로 하는 사이버 공격 애플리케이션의 탐지 방법.
  5. 제4 항에 있어서,
    상기 메모리 확보 작업은,
    가비지 컬렉션(garbage collection) 작업을 포함하는 것을 특징으로 하는 사이버 공격 애플리케이션의 탐지 방법.
  6. 제1 항에 있어서,
    상기 사이버 공격 애플리케이션은,
    DDoS(Distributed Denial of Service) 공격 애플리케이션인 것을 특징으로 하는 사이버 공격 애플리케이션의 탐지 방법.
  7. 제1 항에 있어서,
    상기 사이버 공격 애플리케이션의 탐지 방법은,
    상기 단말 내에 상기 사이버 공격 애플리케이션이 설치된 것으로 결정되면, 이를 나타내는 정보를 출력하는 단계;를 더 포함하는 것을 특징으로 하는 사이버 공격 애플리케이션의 탐지 방법.
  8. 제1 항에 있어서,
    상기 로그들을 수집하는 단계는,
    logcat 프로그램을 통해 상기 로그들을 수집하는 단계;를 포함하는 것을 특징으로 하는 사이버 공격 애플리케이션의 탐지 방법.
  9. 하드웨어와 결합되어 사이버 공격 애플리케이션의 탐지 방법을 수행하기 위해 매체에 저장된 프로그램으로서,
    단말에 기록된 로그들을 수집하는 단계;
    상기 수집된 로그로부터 소정 작업의 로그를 추출하는 단계;
    상기 추출된 소정 작업의 로그의 발생 간격을 계산하는 단계; 및
    상기 계산된 발생 간격에 기초하여, 상기 단말 내에 사이버 공격 애플리케이션의 설치 여부를 결정하는 단계;를 수행하는 프로그램 코드를 포함하는, 프로그램.
  10. 로그들을 수집하는 수집부;
    상기 수집된 로그로부터 소정 작업의 로그를 추출하는 추출부; 및
    상기 추출된 소정 작업의 로그의 발생 간격을 계산하고, 상기 계산된 발생 간격에 기초하여, 사이버 공격 애플리케이션의 설치 여부를 결정하는 제어부;
    를 포함하는 단말 장치.
  11. 제10 항에 있어서,
    상기 제어부는,
    상기 계산된 발생 간격이 제1 시간 간격 이내인 경우, 상기 단말 장치 내에 사이버 공격 애플리케이션이 설치된 것으로 결정하는 것을 특징으로 하는 단말 장치.
  12. 제11 항에 있어서,
    상기 제어부는,
    상기 계산된 발생 간격이 상기 제1 시간 간격 이내이고, 상기 계산된 발생 간격이 상기 제1 시간 간격 이내인 것이 제2 시간 간격 동안 지속되는 경우에 상기 단말 장치 내에 사이버 공격 애플리케이션이 설치된 것으로 결정하는 것을 특징으로 하는 단말 장치.
  13. 제10 항에 있어서,
    상기 소정 작업의 로그는,
    메모리 확보 작업의 로그를 포함하는 것을 특징으로 하는 단말 장치.
  14. 제13 항에 있어서,
    상기 메모리 확보 작업은,
    가비지 컬렉션(garbage collection) 작업을 포함하는 것을 특징으로 하는 단말 장치.
  15. 제10 항에 있어서,
    상기 사이버 공격 애플리케이션은,
    DDoS(Distributed Denial of Service) 공격 애플리케이션인 것을 특징으로 하는 단말 장치.
  16. 제10 항에 있어서,
    상기 단말 장치는,
    상기 단말 장치 내에 상기 사이버 공격 애플리케이션이 설치된 것으로 결정되면, 이를 나타내는 정보를 출력하는 출력부;를 더 포함하는 것을 특징으로 하는 단말 장치.
  17. 제10항에 있어서,
    상기 수집부는,
    logcat 프로그램을 통해 상기 로그들을 수집하는 것을 특징으로 하는 단말 장치.
KR1020150108327A 2015-07-30 2015-07-30 단말 장치 및 이에 의한 사이버 공격 애플리케이션의 탐지 방법 KR101735652B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150108327A KR101735652B1 (ko) 2015-07-30 2015-07-30 단말 장치 및 이에 의한 사이버 공격 애플리케이션의 탐지 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150108327A KR101735652B1 (ko) 2015-07-30 2015-07-30 단말 장치 및 이에 의한 사이버 공격 애플리케이션의 탐지 방법

Publications (2)

Publication Number Publication Date
KR20170014633A KR20170014633A (ko) 2017-02-08
KR101735652B1 true KR101735652B1 (ko) 2017-05-15

Family

ID=58155684

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150108327A KR101735652B1 (ko) 2015-07-30 2015-07-30 단말 장치 및 이에 의한 사이버 공격 애플리케이션의 탐지 방법

Country Status (1)

Country Link
KR (1) KR101735652B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210087854A (ko) 2020-01-02 2021-07-13 인스티튜트 포 인포메이션 인더스트리 테스트중인 장치의 사이버 방어 메커니즘을 테스트하기 위한 장치, 방법 및 비-일시적 유형의 기계-판독 가능한 매체

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102370483B1 (ko) * 2020-06-19 2022-03-04 숭실대학교 산학협력단 하드웨어 추상화 계층을 이용하는 자원 모니터링 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101156011B1 (ko) * 2010-12-24 2012-06-18 고려대학교 산학협력단 네트워크 트래픽 분석을 통한 봇넷 위험도 산정 시스템 및 그 방법
KR101256461B1 (ko) 2012-09-03 2013-04-19 주식회사 안랩 프로세스 실행 시점 판단장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101156011B1 (ko) * 2010-12-24 2012-06-18 고려대학교 산학협력단 네트워크 트래픽 분석을 통한 봇넷 위험도 산정 시스템 및 그 방법
KR101256461B1 (ko) 2012-09-03 2013-04-19 주식회사 안랩 프로세스 실행 시점 판단장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210087854A (ko) 2020-01-02 2021-07-13 인스티튜트 포 인포메이션 인더스트리 테스트중인 장치의 사이버 방어 메커니즘을 테스트하기 위한 장치, 방법 및 비-일시적 유형의 기계-판독 가능한 매체

Also Published As

Publication number Publication date
KR20170014633A (ko) 2017-02-08

Similar Documents

Publication Publication Date Title
US20180365085A1 (en) Method and apparatus for monitoring client applications
CN104268055B (zh) 一种程序异常的监控方法和装置
US8621282B1 (en) Crash data handling
US9075917B2 (en) Testing framework for dynamic web pages
JP5571847B2 (ja) 複数の制御システムの異常を検知する異常検知システム
CN112346829B (zh) 一种用于任务调度的方法及设备
Pagani et al. Introducing the temporal dimension to memory forensics
US20090293049A1 (en) Method for constructing dynamic call graph of application
US20130185803A1 (en) Marking and obscuring sensitive values in traces
EP2761462B1 (en) Method and device for obtaining using-frequency of application program
CN111259382A (zh) 恶意行为识别方法、装置、系统和存储介质
CN103440175A (zh) 智能卡的异常处理方法及装置
JP5998764B2 (ja) 情報処理装置、ログ出力方法およびログ出力プログラム
US20100333066A1 (en) Method and system for managing software issues
US7496795B2 (en) Method, system, and computer program product for light weight memory leak detection
KR101735652B1 (ko) 단말 장치 및 이에 의한 사이버 공격 애플리케이션의 탐지 방법
CN103701651A (zh) 一种国产环境下应用服务容灾装置和方法
US11507656B2 (en) Ransomware detection and remediation
CN111552618A (zh) 一种收集日志的方法及设备
CN107193721B (zh) 一种生成日志的方法和装置
US9952773B2 (en) Determining a cause for low disk space with respect to a logical disk
CN114116399B (zh) 一种应用中第三方sdk的监控方法、装置、设备及介质
CN106970862B (zh) 一种内存抖动自动化测试方法及装置
US20130006568A1 (en) Test Operation
CN115659045A (zh) 用户操作的识别方法、装置、存储介质以及电子设备

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20150730

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20160823

Patent event code: PE09021S01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20170428

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20170508

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20170510

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20200401

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20210401

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20230405

Start annual number: 7

End annual number: 7