KR20140122964A - 클라우드 기반 악성코드 진단 장치, 시스템 및 방법 - Google Patents

클라우드 기반 악성코드 진단 장치, 시스템 및 방법 Download PDF

Info

Publication number
KR20140122964A
KR20140122964A KR20130040079A KR20130040079A KR20140122964A KR 20140122964 A KR20140122964 A KR 20140122964A KR 20130040079 A KR20130040079 A KR 20130040079A KR 20130040079 A KR20130040079 A KR 20130040079A KR 20140122964 A KR20140122964 A KR 20140122964A
Authority
KR
South Korea
Prior art keywords
application
malicious code
file
diagnosis
portable terminal
Prior art date
Application number
KR20130040079A
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 KR20130040079A priority Critical patent/KR20140122964A/ko
Priority to PCT/KR2014/003054 priority patent/WO2014168408A1/ko
Publication of KR20140122964A publication Critical patent/KR20140122964A/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
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • 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

Abstract

본 발명에서는 클라우드 기반 악성코드 진단에 있어서, 휴대용 단말기상 악성코드 진단이 수행되지 않은 새로운 애플리케이션이 발견되는 경우, 클라우드 서버에서의 샘플 수집을 위해 해당 애플리케이션의 전체 파일을 업로드하는 것이 아니라, 애플리케이션의 전체 파일중 악성코드 진단에 필요한 특정 부분 파일만을 부분적으로 업로드하도록 함으로써 애플리케이션에 대한 클라우드 기반의 악성코드 진단이 가능하도록 하면서도, 애플리케이션 파일의 업로드 과정에서 발생하는 리소스 낭비와 네트워크 속도 저하를 방지할 수 있다.

Description

클라우드 기반 악성코드 진단 장치, 시스템 및 방법{APPARATUS AND SYSTEM FOR DETECTING MALWARE BASED ON CLOUD AND METHOD THEREOF}
본 발명은 모바일 환경의 클라우드 기반 악성코드 진단에 관한 것으로, 특히 클라우드 기반 악성코드(malware) 진단에 있어서, 휴대용 단말기에서 새로운 애플리케이션(application)이 발견되는 경우, 클라우드 서버(cloud server)에서의 샘플(sample) 수집을 위해 해당 애플리케이션의 전체 파일을 업로드(upload)하는 것이 아니라, 애플리케이션의 전체 파일중 악성코드 분석에 필요한 특정 부분 파일만을 부분적으로 업로드하도록 함으로써, 애플리케이션에 대한 클라우드 기반의 악성코드 진단이 가능하도록 하면서도 애플리케이션 파일의 업로드 과정에서 발생하는 리소스(resource) 낭비와 네트워크 속도 저하를 방지할 수 있도록 하는 클라우드 기반 악성코드 진단 장치, 시스템 및 방법에 관한 것이다.
근래에 들어 유무선 인터넷뿐만 아니라 이동통신 기술의 발달로, 단순히 전화통화 기능뿐만이 아닌 무선 인터넷 기능 등 다양한 기능을 갖춘 휴대폰, 스마트폰 등의 휴대용 단말기가 보급되고 있다. 특히 최근에 보급이 확산되고 있는 스마트폰(smartphone) 등의 휴대용 단말기는 멀티미디어 재생기능 등의 다양한 기능의 응용프로그램의 설치가 가능하여, 사용자들이 여러 용도로 스마트폰을 이용하고 있다.
일반적으로 스마트폰은 휴대전화와 개인휴대단말기(personal digital assistant : PDA)의 장점을 합친 것으로, 휴대 전화기에 일정관리, 팩스 송수신 및 인터넷 접속 등의 데이터 통신기능을 통합시켜 구현된다. 통상 스마트폰에는 와이파이(wifi)와 같은 무선통신모듈이 장착되어 인터넷망을 통한 데이터 송수신도 가능하며, 인터넷 정보검색은 물론 액정디스플레이에 전자펜으로 문자를 입력하거나 약도 등 그림 정보를 송수신할 수도 있다.
이러한 스마트폰 등의 휴대용 단말기는 예를들어 iOS, 안드로이드 등 저마다의 운영체제가 존재하며, 해당 운영체제에 의해 실행 가능한 애플리케이션의 개발이 활발히 이루어지고 있다.
한편, 위와 같이 스마트폰 등의 휴대용 단말기 사용자가 늘어남에 따라 휴대용 단말기를 타겟으로 하는 악성코드 또한 급격히 증가하고 있으며, 악성코드의 공격 수법도 다양해지고 있다. 예를 들어, 위 예시한 OS 중 안드로이드 플랫폼을 탑재한 스마트폰의 경우 안드로이드 애플리케이션 APK 파일에 포함된 classes.dex와 AndroidManifest.xml 파일을 일부 수정하는 방식으로 악성 애플리케이션을 제작하는 공격 수법 등이 있다.
이에 따라, 위와 같은 휴대용 단말기를 타겟으로 하는 악성 애플리케이션을 탐지하기 위해 여러 가지 악성코드 진단 방법들이 제안되고 있다.
이와 같은 악성코드 진단 방법 중에 휴대용 단말기에서 새로운 애플리케이션을 검출하는 경우, 해당 애플리케이션의 파일을 샘플 수집을 위해 통신망상 클라우드 서버로 전송하여 악성코드 진단을 요청하고 진단 결과를 수신하는 클라우드 기반 악성코드 진단 시스템이 있다.
도 1은 종래 클라우드 기반의 악성코드 진단 시스템의 구성을 도시한 것이다.
도 1을 참조하면, 종래 클라우드 기반의 악성코드 진단 시스템에서는 휴대용 단말기(100)에서 진단이 필요한 새로운 애플리케이션이 발견되는 경우(S10), 해당 애플리케이션의 파일을 통신망(160)을 통해 클라우드 서버(130)로 전송한다(S12). 그러면, 클라우드 서버(130)에서는 악성코드 진단과 샘플 수집을 위해 전송된 애플리케이션 파일을 수신하고(S14), 파일 분석과 처리를 수행하는 처리기(150)를 통해 악성코드 진단을 수행한 후(S16), 진단 결과(180)를 휴대용 단말기(100)로 전송하여 준다(S18). 이에 따라, 휴대용 단말기(100)에서는 진단 결과를 수신함으로써(S20), 악성코드 진단을 위한 대용량의 시그니처 데이터를 구비하지 않더라도 악성코드의 진단이 가능하게 된다.
한편, 애플리케이션 파일의 구조를 살펴보면, 애플리케이션 파일은 여러 가지 파일들의 조합으로 이루어져 있으며, 그 중 많은 용량을 차지하는 것은 애플리케이션의 악성코드 진단 여부에 중요하지 않은 정보인 그림, 미디어 등의 리소스가 될 수 있다.
그러나, 위와 같은 종래 클라우드 기반의 악성코드 진단 시스템에서는 휴대용 단말기에서 새로운 애플리케이션이 발견되는 경우 해당 애플리케이션에 대한 샘플 수집을 클라우드 서버로 전송하는 과정에서, 애플리케이션의 전체 파일을 업로드하도록 되어 있다.
따라서, 네트워크 속도 및 용량의 제한이 있는 모바일 환경에서는 애플리케이션의 전체 파일을 클라우드 서버로 전송하는 과정에서 애플리케이션의 파일이 커서 업로드하는데 시간이 많이 소요되고, 네트워크의 속도가 저하되며, 리소스의 낭비가 발생하는 문제점이 있었다. 또한, 네트워크의 속도 저하에 따라 악성코드에 대한 진단 시간도 지연이 발생하는 문제점이 있었다.
대한민국 공개특허번호 10-2012-0072120호에는 악성 파일 진단 장치 및 방법, 악성 파일 감시 장치 및 방법에 관한 기술이 개시되어 있다.
따라서, 본 발명은 클라우드 기반 악성코드 진단에 있어서, 휴대용 단말기상새로운 애플리케이션이 발견되는 경우, 클라우드 서버에서의 샘플 수집을 위해 해당 애플리케이션의 전체 파일을 업로드하는 것이 아니라, 애플리케이션의 전체 파일중 악성코드 분석에 필요한 특정 부분 파일만을 부분적으로 업로드하도록 함으로써, 애플리케이션에 대한 클라우드 기반의 악성코드 진단이 가능하도록 하면서도 애플리케이션 파일의 업로드 과정에서 발생하는 리소스 낭비와 네트워크 속도 저하를 방지할 수 있도록 하는 클라우드 기반 악성코드 진단 장치, 시스템 및 방법을 제공하고자 한다.
상술한 본 발명은 클라우드 기반 악성코드 진단장치에서, 휴대용 단말기에서 악성코드 진단이 수행되지 않은 애플리케이션을 검출하는 검출부와, 상기 애플리케이션의 전체 파일 중 상기 악성코드 진단에 필요한 특정 부분 파일을 추출하여 통신망상 클라우드 서버로 전송하고, 상기 애플리케이션에 대한 진단 결과를 수신하여 상기 애플리케이션의 악성코드 여부를 판단하는 진단부를 포함한다.
또한, 상기 진단부는, 상기 특정 부분 파일을 전송한 후, 기설정된 시점에 상기 애플리케이션의 나머지 파일에 대해서도 상기 클라우드 서버로 전송하는 것을 특징으로 한다.
또한, 상기 특정 부분 파일은, 상기 휴대용 단말기의 OS가 안드로이드인 경우에는 상기 OS에 설치되는 애플리케이션의 APK 파일 중 일부 파일 인 것을 특징으로 하는 한다.
또한, 상기 특정 부분 파일은, manifest.xml, classes.dex 또는 resource.arsc 파일을 포함하는 것을 특징으로 한다.
또한, 상기 특정 부분 파일은, 상기 휴대용 단말기의 OS가 iOS인 경우에는 상기 iOS에 설치되는 애플리케이션의 IPA 파일 중 일부 파일 인 것을 특징으로 한다.
또한, 상기 특정 부분 파일은, Code binary 파일인 것을 특징으로 한다.
또한, 상기 진단부는, 상기 애플리케이션의 검출 시 미리 저장된 시그니처와 비교하여 상기 악성코드 진단을 수행하고, 악성코드로 진단되는 경우 상기 애플리케이션에 대해 상기 클라우드 서버로 전송하지 않는 것을 특징으로 한다.
또한, 상기 진단부는, 악성 애플리케이션으로 진단된 해당 애플리케이션에 대해서는 상기 휴대용 단말기로의 설치를 차단시키거나, 삭제시키는 것을 특징으로 한다.
또한, 상기 휴대용 단말기는, 안드로이드 OS 또는 iOS가 탑재된 전자기기 인 것을 특징으로 한다.
또한, 본 발명은 클라우드 기반 악성코드 진단방법으로서, 휴대용 단말기에서 애플리케이션을 검출하는 단계와, 상기 애플리케이션에 대해 악성코드 분석에 필요한 특정 부분 파일을 추출하는 단계와, 상기 추출된 특정 부분 파일을 통신망상 클라우드 서버로 전송하는 단계와, 상기 클라우드 서버로부터 상기 애플리케이션에 대한 진단 결과를 수신하는 단계를 포함한다.
또한, 상기 특정 부분 파일을 전송하는 단계이 후, 기설정된 시점에 상기 애플리케이션의 나머지 파일에 대해서도 상기 클라우드 서버로 전송하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 본 발명은 클라우드 기반 악성코드 진단방법으로서, 애플리케이션을 검출하는 경우 상기 검출된 애플리케이션의 전체 파일 중 상기 악성코드 분석에 필요한 특정 부분 파일을 추출하여 통신망을 통해 전송하고, 상기 애플리케이션에 대한 진단 결과를 수신하여 상기 애플리케이션의 악성코드 여부를 판단하는 휴대용 단말기와, 상기 휴대용 단말기로부터 수신되는 애플리케이션의 특정 부분 파일을 이용하여 악성코드 여부에 대한 진단을 수행하고, 진단 결과를 상기 휴대용 단말기로 제공하는 클라우드 서버를 포함한다.
또한, 상기 휴대용 단말기는, 상기 특정 부분 파일을 전송한 후, 기설정된 시점에 상기 애플리케이션의 나머지 파일에 대해서도 상기 클라우드 서버로 전송하는 것을 특징으로 한다.
또한, 상기 클라우드 서버는, 상기 특정 부분 파일로부터 악성코드 진단을 위한 해쉬정보를 추출하고, 기저장된 시그니처 정보와 비교하여 악성코드 여부를 판단하는 것을 특징으로 한다.
또한, 본 발명은 클라우드 기반 악성코드 진단방법으로서, 휴대용 단말기에서 애플리케이션을 검출하는 단계와, 상기 검출된 애플리케이션에 대해 상기 악성코드 분석에 필요한 특정 부분 파일을 추출하여 통신망상 클라우드 서버로 전송하는 단계와, 상기 클라우드 서버에서 상기 특정 부분 파일을 이용하여 악성코드 여부에 대한 진단을 수행하고, 진단 결과를 상기 휴대용 단말기로 제공하는 단계와, 상기 휴대용 단말기에서 상기 애플리케이션에 대한 진단 결과를 수신하여 상기 애플리케이션의 악성코드 여부를 판단하는 단계를 포함한다.
또한, 상기 휴대용 단말기에서 상기 특정 부분 파일을 전송하는 단계이 후, 기설정된 시점에 상기 애플리케이션의 나머지 파일에 대해서도 상기 클라우드 서버로 전송하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명에서는 클라우드 기반 악성코드 진단에 있어서, 휴대용 단말기상 새로운 애플리케이션이 발견되는 경우, 클라우드 서버에서의 샘플 수집을 위해 해당 애플리케이션의 전체 파일을 업로드하는 것이 아니라, 애플리케이션의 전체 파일중 악성코드 분석에 필요한 특정 부분 파일만을 부분적으로 업로드하도록 함으로써 애플리케이션에 대한 클라우드 기반의 악성코드 진단이 가능하도록 하면서도, 애플리케이션 파일의 업로드 과정에서 발생하는 리소스 낭비와 네트워크 속도 저하를 방지할 수 있는 이점이 있다. 또한, 클라우드 서버에서도 애플리케이션의 특정 부분만을 분석하여 악성코드 진단을 수행하기 때문에 분석 속도가 높아지는 이점이 있다.
도 1은 종래 클라우드 기반 악성코드 진단 시스템에서 악성코드 진단을 위한 동작 개념도,
도 2는 본 발명의 실시예에 따른 클라우드 기반 악성코드 진단 시스템의 네트워크 구성도,
도 3은 본 발명의 실시예에 따른 휴대용 단말기의 진단 장치의 상세 블록 구성도,
도 4는 본 발명의 실시예에 따른 클라우드 기반 악성코드 진단 시스템에서 악성코드 진단을 위한 동작 개념도.
이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 2는 본 발명의 실시예에 따른 클라우드 기반 악성코드 진단 시스템의 네트워크 구성을 도시한 것이다.
이하, 도 2를 참조하여, 클라우드 기반 악성코드 진단 시스템의 각 구성요소에서의 동작을 상세히 설명하기로 한다.
먼저, 휴대용 단말기(200)는 다양한 애플리케이션(application)이 설치되어 있거나 다운로드(download)를 통해 새로운 애플리케이션의 설치가 가능한 사용자 단말장치를 말하는 것으로, 예를 들어, 스마트폰(smartphone), 테블릿(tablet) PC 등이 될 수 있다.
이러한 휴대용 단말기(200)에는 위와 같이 휴대용 단말기(200)에 설치되어 있거나, 새로이 설치되는 애플리케이션에 대해 해당 애플리케이션이 악성코드인지 여부를 진단하기 위한 진단장치(202)가 탑재될 수 있다.
이때, 휴대용 단말기(200)에 탑재되는 진단장치(202)는 휴대용 단말기(200)에서 설치되어 있거나 새로이 설치되는 애플리케이션에 대해 악성코드 여부의 진단과 샘플 수집을 위해 클라우드 서버(cloud server)(230)로 전송한다.
즉, 진단 장치(202)는 대용량의 시그니처 정보가 자원이 제한적인 휴대용 단말기(200)에 부담이 될 수 있는 것에 대비하여 대용량의 시그니처 정보를 가지고 있는 대신에 악성코드 진단이 필요한 애플리케이션이 발견되는 경우 해당 애플리케이션 파일을 통신망(260)상 클라우드 서버(230)로 전송하여 악성코드 진단을 요청할 수 있다. 또한, 진단장치(202)는 악성코드 진단을 수행함에 있어서, 악성코드로 진단하는데 필요한 시그니처 정보를 미리 저장하고 있다가 새로운 애플리케이션이 설치되는 경우 시그니처 정보와 비교하여 악성코드 여부를 진단할 수도 있다.
그러나, 위와 같이 클라우드 서버(230)로 애플리케이션의 전체 파일을 전송하는 클라우드 기반의 악성코드 진단에 있어서는 네트워크 속도 저하와 오버로드(overload)를 발생시킬 수 있는 문제점이 있었음은 전술한 바와 같다.
따라서, 본 발명의 진단 장치(202)에서는 애플리케이션의 파일을 클라우드 서버(230)로 전송함에 있어서, 애플리케이션의 전체 파일을 전송하는 것이 아니라, 애플리케이션의 전체 파일중 악성코드 진단에 필요한 특정 부분 파일만을 부분으로 업로드(upload)함으로써 네트워크에 대한 부담을 줄이면서도 악성코드에 대한 진단이 가능하도록 한다.
이때, 위와 같은 특정 부분 파일은 예를 들어 휴대용 단말기의 OS가 안드로이드 인 경우에는 APK 파일내 애플리케이션의 동작 권한 등의 내용을 포함하고 있는 androidmanifest.xml 파일 또는 코드를 포함하고 있는 classes.dex 파일 또는 resource.arsc 파일, APK Headers 파일 등을 포함할 수 있다. 또는 위와 같은 특정 파일은 예를 들어, 휴대용 단말기의 OS가 iOS 인 경우에는 iOS의 앱파일인 IPA 파일내 iTunesMetadata.plist, iTunesArtwork, Info.plist, ResourceRules.plist 또는 Code Binery File 등을 포함할 수 있다.
또한, 진단 장치(202)는, 애플리케이션의 특정 부분 파일을 전송한 후, 클라우드 서버(230)에서 진단을 수행하는 시점이나, 유후 상태인 시점 등과 같은 특정 시점에 해당 애플리케이션의 나머지 파일에 대해서도 클라우드 서버(230)로 전송하여 클라우드 서버(230)에서 새로운 애플리케이션에 대해 보다 정확한 데이터를 수집할 수 있도록 할 수 있다.
클라우드 서버(230)는 인터넷 등의 통신망(260)상에서 악성코드에 대한 진단을 수행하여 그 진단 결과를 진단 요청한 휴대용 단말기(200)로 제공하는 서버로서, 대용량 시그니처 정보를 구비할 수 있고, 이와 같은 시그니처 정보를 이용하여 휴대용 단말기(200)로부터 업로드된 애플리케이션에 대한 악성코드 진단을 수행하는 처리기(250)를 포함할 수 있다.
즉, 클라우드 서버(230)는 휴대용 단말기(200)로부터 악성코드 진단이 요청되어 업로드되는 애플리케이션의 특정 부분 파일을 수신하는 경우, 수신된 특정 부분 파일을 이용하여 악성코드 여부에 대한 진단을 수행하고, 진단 결과를 상기 휴대용 단말기(200)로 제공한다.
도 3은 본 발명의 실시예에 따른 휴대용 단말기(200)의 진단장치(100)의 상세 블록 구성을 도시한 것으로, 검출부(300), 진단부(302), 시그니처(signature) DB(database)(304) 등을 포함할 수 있다.
이하, 도 3을 참조하여 본 발명의 진단장치(202) 각부에서의 동작을 상세히 살펴보기로 한다.
먼저, 시그니처 DB(304)는 휴대용 단말기(200)에 설치되는 애플리케이션에 대한 기본적인 악성코드 진단을 위한 정상 시그니처(white signature) 해쉬정보 및/또는 악성 시그니처(malware signature) 해쉬정보를 저장할 수 있다.
검출부(300)는 휴대용 단말기(200)에서 새로운 애플리케이션을 검출하고 이에 대한 정보를 진단부(302)로 제공한다.
진단부(302)는 검출부(300)에서 검출된 새로운 애플리케이션에 대한 정보를 제공받아, 해당 애플리케이션의 전체 파일 중 악성코드 진단에 필요한 특정 부분 파일을 추출하여 통신망상 클라우드 서버(230)로 전송하고, 애플리케이션에 대한 진단 결과를 수신하여 애플리케이션의 악성코드 여부를 판단한다.
이때, 위와 같은 특정 부분 파일은 예를 들어 휴대용 단말기의 OS가 안드로이드 인 경우에는 APK 파일내 애플리케이션의 동작 권한 등의 내용을 포함하고 있는 androidmanifest.xml 파일 또는 코드를 포함하고 있는 classes.dex 파일 또는 resource.arsc 파일, APK Headers 파일 등을 포함할 수 있다. 또는 위와 같은 특정 파일은 예를 들어, 휴대용 단말기의 OS가 iOS 인 경우에는 iOS의 앱파일인 IPA 파일내 iTunesMetadata.plist, iTunesArtwork, Info.plist, ResourceRules.plist 또는 Code Binery File 등을 포함할 수 있다.
또한, 진단부(302)는 휴대용 단말기(200)의 자원을 고려하여 최소한의 악성코드에 대한 시그니처 정보를 시그니처 DB(304)에 저장하고 있을 수도 있다. 이와 같이 시그니처 DB(304)상 시그니처 정보를 가지고 있는 경우 진단부(302)는 새로운 애플리케이션에 대해 1차적으로 시그니처 DB(304)에 포함된 시그니처 정보와 비교하여 악성코드 여부를 검사할 수도 있으며, 악성코드로 진단되는 경우 해당 애플리케이션에 대해서는 클라우드 서버(230)로 전송하지 않도록 할 수 있다.
도 4는 본 발명의 실시예에 따른 클라우드 기반 악성코드 진단 방법의 동작 제어 흐름을 도시한 것이다.
먼저, 휴대용 단말기(200)는 휴대용 단말기(200)에 설치된 애플리케이션 중 샘플수집이 이루어지지 않은 새로운 애플리케이션을 검출한다(S50).
이어, 휴대용 단말기(200)는 새로운 애플리케이션의 전체 파일로부터 통신망(260)상 클라우드 서버(230)로 전송하여 악성코드 진단을 요청하는데 필요한 특정 부분 파일을 추출한 후(S52), 통신망(260)을 통해 추출된 특정 부분 파일을 클라우드 서버(230)로 전송한다(S54).
이때, 위와 같은 특정 부분 파일은 예를 들어 휴대용 단말기의 OS가 안드로이드 인 경우에는 APK 파일내 애플리케이션의 동작 권한 등의 내용을 포함하고 있는 androidmanifest.xml 파일 또는 코드를 포함하고 있는 classes.dex 파일 또는 resource.arsc 파일, APK Headers 파일 등을 포함할 수 있다. 이와 같은 특정 부분 파일은 애플리케이션의 설치파일인 apk 파일내에 포함되는 파일로써 해쉬정보를 가지고 있어 악성코드 분석에 사용될 수 있는 파일을 의미할 수 있다.
또는 위와 같은 특정 부분 파일은 예를 들어, 휴대용 단말기의 OS가 iOS 인 경우에는 iOS의 앱파일인 IPA 파일내 iTunesMetadata.plist, iTunesArtwork, Info.plist, ResourceRules.plist 또는 Code Binery File 등을 포함할 수 있다.
그러면, 클라우드 서버(230)는 통신망(260)을 통해 휴대용 단말기(200)로부터 악성코드 진단이 요청되는 애플리케이션의 특정 부분 파일을 수신하고(S56), 이를 악성코드 진단을 수행하는 처리기(250)로 제공한다(S58).
그러면, 처리기(250)에서는 위와 같은 애플리케이션의 특정 부분 파일에 대한 파일 분석 및 처리를 통하여 악성코드인지 여부에 대한 진단을 수행하고(S60), 진단 결과(270)를 클라우드 서버(230)로 제공하며(S62), 클라우드 서버(230)는 이와 같은 진단 결과(270)를 다시 통신망(260)을 통해 휴대용 단말기(200)로 전송하게 된다(S64).
이에 따라, 휴대용 단말기(200)에서는 진단 결과(270)를 수신함으로써(S66), 악성코드 진단을 위한 대용량의 시그니처 데이터를 구비하지 않더라도 악성코드의 진단이 가능하게 된다.
상기한 바와 같이, 본 발명에서는 클라우드 기반 악성코드 진단에 있어서, 휴대용 단말기상 새로운 애플리케이션이 발견되는 경우, 클라우드 서버에서의 샘플 수집을 위해 해당 애플리케이션의 전체 파일을 업로드하는 것이 아니라, 애플리케이션의 전체 파일중 악성코드 진단에 필요한 특정 부분 파일만을 부분적으로 업로드하도록 함으로써 애플리케이션에 대한 클라우드 기반의 악성코드 진단이 가능하도록 하면서도, 애플리케이션 파일의 업로드 과정에서 발생하는 리소스 낭비와 네트워크 속도 저하를 방지할 수 있다.
한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
200 : 휴대용 단말기 202 : 진단 장치
230 : 클라우드 서버 250 : 처리기

Claims (16)

  1. 휴대용 단말기에서 애플리케이션을 검출하는 검출부와,
    상기 애플리케이션의 전체 파일 중 상기 악성코드 진단에 필요한 특정 부분 파일을 추출하여 통신망상 클라우드 서버로 전송하고, 상기 애플리케이션에 대한 진단 결과를 수신하여 상기 애플리케이션의 악성코드 여부를 판단하는 진단부
    를 포함하는 클라우드 기반 악성코드 진단장치.
  2. 제 1 항에 있어서,
    상기 진단부는,
    상기 특정 부분 파일을 전송한 후, 기설정된 시점에 상기 애플리케이션의 나머지 파일에 대해서도 상기 클라우드 서버로 전송하는 것을 특징으로 하는 클라우드 기반 악성코드 진단장치.
  3. 제 1 항에 있어서,
    상기 특정 부분 파일은,
    상기 휴대용 단말기의 OS가 안드로이드인 경우 상기 OS에 설치되는 애플리케이션의 APK 파일 중 일부 파일 인 것을 특징으로 하는 클라우드 기반 악성코드 진단장치.
  4. 제 3 항에 있어서,
    상기 특정 부분 파일은,
    manifest.xml, classes.dex 또는 resource.arsc 파일을 포함하는 것을 특징으로 하는 클라우드 기반 악성코드 진단장치.
  5. 제 1 항에 있어서,
    상기 특정 부분 파일은,
    상기 휴대용 단말기의 OS가 iOS인 경우 상기 iOS에 설치되는 애플리케이션의 IPA 파일 중 일부 파일 인 것을 특징으로 하는 클라우드 기반 악성코드 진단장치.
  6. 제 5 항에 있어서,
    상기 특정 부분 파일은,
    Code binary 파일인 것을 특징으로 하는 클라우드 기반 악성코드 진단장치.
  7. 제 1 항에 있어서,
    상기 진단부는,
    상기 애플리케이션의 검출 시 미리 저장된 시그니처와 비교하여 상기 악성코드 진단을 수행하고, 악성코드로 진단되는 경우 상기 애플리케이션에 대해 상기 클라우드 서버로 전송하지 않는 것을 특징으로 하는 클라우드 기반 악성코드 진단장치.
  8. 제 7 항에 있어서,
    상기 진단부는,
    악성 애플리케이션으로 진단된 해당 애플리케이션에 대해서는 상기 휴대용 단말기로의 설치를 차단시키거나, 삭제시키는 것을 특징으로 하는 클라우드 기반 악성코드 진단장치.
  9. 제 1 항에 있어서,
    상기 휴대용 단말기는,
    안드로이드 OS 또는 iOS가 탑재된 전자기기 인 것을 특징으로 하는 클라우드 기반 악성코드 진단장치.
  10. 휴대용 단말기에서 애플리케이션을 검출하는 단계와,
    상기 애플리케이션에 대해 악성코드 분석에 필요한 특정 부분 파일을 추출하는 단계와,
    상기 추출된 특정 부분 파일을 통신망상 클라우드 서버로 전송하는 단계와,
    상기 클라우드 서버로부터 상기 애플리케이션에 대한 진단 결과를 수신하는 단계
    를 포함하는 클라우드 기반 악성코드 진단방법.
  11. 제 10 항에 있어서,
    상기 특정 부분 파일을 전송하는 단계이 후,
    기설정된 시점에 상기 애플리케이션의 나머지 파일에 대해서도 상기 클라우드 서버로 전송하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 기반 악성코드 진단방법.
  12. 애플리케이션을 검출하는 경우 상기 검출된 애플리케이션의 전체 파일 중 상기 악성코드 분석에 필요한 특정 부분 파일을 추출하여 통신망을 통해 전송하고, 상기 애플리케이션에 대한 진단 결과를 수신하여 상기 애플리케이션의 악성코드 여부를 판단하는 휴대용 단말기와,
    상기 휴대용 단말기로부터 수신되는 애플리케이션의 특정 부분 파일을 이용하여 악성코드 여부에 대한 진단을 수행하고, 진단 결과를 상기 휴대용 단말기로 제공하는 클라우드 서버
    를 포함하는 클라우드 기반 악성코드 진단 시스템.
  13. 제 12 항에 있어서,
    상기 휴대용 단말기는,
    상기 특정 부분 파일을 전송한 후, 기설정된 시점에 상기 애플리케이션의 나머지 파일에 대해서도 상기 클라우드 서버로 전송하는 것을 특징으로 하는 클라우드 기반 악성코드 진단 시스템.
  14. 제 12 항에 있어서,
    상기 클라우드 서버는,
    상기 특정 부분 파일로부터 악성코드 진단을 위한 해쉬정보를 추출하고, 기저장된 시그니처 정보와 비교하여 악성코드 여부를 판단하는 것을 특징으로 하는 클라우드 기반 악성코드 진단 시스템.
  15. 휴대용 단말기에서 애플리케이션을 검출하는 단계와,
    상기 검출된 애플리케이션에 대해 상기 악성코드 분석에 필요한 특정 부분 파일을 추출하여 통신망상 클라우드 서버로 전송하는 단계와,
    상기 클라우드 서버에서 상기 특정 부분 파일을 이용하여 악성코드 여부에 대한 진단을 수행하고, 진단 결과를 상기 휴대용 단말기로 제공하는 단계와,
    상기 휴대용 단말기에서 상기 애플리케이션에 대한 진단 결과를 수신하여 상기 애플리케이션의 악성코드 여부를 판단하는 단계
    를 포함하는 클라우드 기반 악성코드 진단방법.
  16. 제 15 항에 있어서,
    상기 휴대용 단말기에서 상기 특정 부분 파일을 전송하는 단계이 후,
    기설정된 시점에 상기 애플리케이션의 나머지 파일에 대해서도 상기 클라우드 서버로 전송하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 기반 악성코드 진단방법.
KR20130040079A 2013-04-11 2013-04-11 클라우드 기반 악성코드 진단 장치, 시스템 및 방법 KR20140122964A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20130040079A KR20140122964A (ko) 2013-04-11 2013-04-11 클라우드 기반 악성코드 진단 장치, 시스템 및 방법
PCT/KR2014/003054 WO2014168408A1 (ko) 2013-04-11 2014-04-08 클라우드 기반 악성코드 진단 장치, 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130040079A KR20140122964A (ko) 2013-04-11 2013-04-11 클라우드 기반 악성코드 진단 장치, 시스템 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020150115471A Division KR20150102866A (ko) 2015-08-17 2015-08-17 클라우드 기반 악성코드 진단 장치, 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20140122964A true KR20140122964A (ko) 2014-10-21

Family

ID=51689758

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130040079A KR20140122964A (ko) 2013-04-11 2013-04-11 클라우드 기반 악성코드 진단 장치, 시스템 및 방법

Country Status (2)

Country Link
KR (1) KR20140122964A (ko)
WO (1) WO2014168408A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160140316A (ko) * 2015-05-27 2016-12-07 이윤티안 시오., 엘티디. 악성코드를 검출하는 방법 및 시스템
KR101715179B1 (ko) * 2015-09-22 2017-03-10 서울과학기술대학교 산학협력단 사용자 행동 이벤트 수집을 통한 클라우드 컴퓨팅 기반의 모바일 보안 시스템 및 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2535522A (en) * 2015-02-20 2016-08-24 F Secure Corp Dynamic remote malware scanning
CN105162826A (zh) * 2015-07-15 2015-12-16 中山大学 一种云计算多层云架构
CN110233747B (zh) * 2018-03-06 2022-06-14 中移(苏州)软件技术有限公司 一种数据上报方法及云平台
CN112528285B (zh) * 2020-12-18 2022-01-25 南方电网电力科技股份有限公司 云计算平台的安全防护方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984628B2 (en) * 2008-10-21 2015-03-17 Lookout, Inc. System and method for adverse mobile application identification
KR101045870B1 (ko) * 2009-04-22 2011-07-01 주식회사 안철수연구소 네트워크 기반 악성 코드 진단 방법 및 진단 서버
KR20120072120A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 악성 파일 진단 장치 및 방법, 악성 파일 감시 장치 및 방법
KR101228902B1 (ko) * 2010-12-31 2013-02-06 주식회사 안랩 클라우드 컴퓨팅 기반 악성코드 분석 지원 시스템

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160140316A (ko) * 2015-05-27 2016-12-07 이윤티안 시오., 엘티디. 악성코드를 검출하는 방법 및 시스템
CN106295333A (zh) * 2015-05-27 2017-01-04 安恒通(北京)科技有限公司 用于检测恶意代码的方法和系统
CN106295333B (zh) * 2015-05-27 2018-08-17 安一恒通(北京)科技有限公司 用于检测恶意代码的方法和系统
US10511617B2 (en) 2015-05-27 2019-12-17 Iyuntian Co., Ltd. Method and system for detecting malicious code
KR101715179B1 (ko) * 2015-09-22 2017-03-10 서울과학기술대학교 산학협력단 사용자 행동 이벤트 수집을 통한 클라우드 컴퓨팅 기반의 모바일 보안 시스템 및 방법

Also Published As

Publication number Publication date
WO2014168408A1 (ko) 2014-10-16

Similar Documents

Publication Publication Date Title
US10481964B2 (en) Monitoring activity of software development kits using stack trace analysis
AU2012362419B2 (en) System for transferring states between electronic devices
KR20140122964A (ko) 클라우드 기반 악성코드 진단 장치, 시스템 및 방법
KR101043299B1 (ko) 악성 코드 탐지 방법, 시스템 및 컴퓨터 판독 가능한 저장매체
KR20150044490A (ko) 안드로이드 악성 애플리케이션의 탐지장치 및 탐지방법
CN110535865B (zh) 信息处理方法、装置、测试终端、测试平台及存储介质
US10984110B2 (en) Evaluation of security of firmware
CN106897095B (zh) 应用程序热修复的方法、装置、可读存储介质和计算设备
US8661543B2 (en) Mobile terminal having security diagnosis functionality and method of making diagnosis on security of mobile terminal
EP3131260A1 (en) Automatic detection and control of personally identifiable information leaks in a network traffic
US20180107686A1 (en) Search method and apparatus
CN113114680B (zh) 用于文件上传漏洞的检测方法和检测装置
CN109800576B (zh) 未知程序异常请求的监控方法、装置、及电子装置
US9954874B2 (en) Detection of mutated apps and usage thereof
KR20150102866A (ko) 클라우드 기반 악성코드 진단 장치, 시스템 및 방법
KR101256468B1 (ko) 악성 파일 진단 장치 및 방법
WO2019148657A1 (zh) 关联环境测试方法、电子装置及计算机可读存储介质
KR101473658B1 (ko) 필터를 이용한 클라우드 기반 악성코드 진단장치, 시스템 및 방법
KR101369254B1 (ko) 악성 애플리케이션 진단장치 및 방법
JP5851311B2 (ja) アプリケーション検査装置
CN111343132A (zh) 文件传输检测方法及装置、存储介质
CN109714371B (zh) 一种工控网络安全检测系统
JP6219621B2 (ja) 通信照合装置
CN108471635B (zh) 用于连接无线接入点的方法和设备
WO2014098387A1 (ko) 악성 애플리케이션 진단장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
A107 Divisional application of patent
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2015101004748; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20150817

Effective date: 20160913