KR101472073B1 - 악의적인 메시지 검출 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

악의적인 메시지 검출 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR101472073B1
KR101472073B1 KR1020130072801A KR20130072801A KR101472073B1 KR 101472073 B1 KR101472073 B1 KR 101472073B1 KR 1020130072801 A KR1020130072801 A KR 1020130072801A KR 20130072801 A KR20130072801 A KR 20130072801A KR 101472073 B1 KR101472073 B1 KR 101472073B1
Authority
KR
South Korea
Prior art keywords
link
malicious
message
application
extracting
Prior art date
Application number
KR1020130072801A
Other languages
English (en)
Other versions
KR20130080831A (ko
Inventor
윤근용
정광선
강태규
장효경
곽문수
박이재
Original Assignee
네이버비즈니스플랫폼 주식회사
Filing date
Publication date
Application filed by 네이버비즈니스플랫폼 주식회사 filed Critical 네이버비즈니스플랫폼 주식회사
Priority to KR1020130072801A priority Critical patent/KR101472073B1/ko
Publication of KR20130080831A publication Critical patent/KR20130080831A/ko
Application granted granted Critical
Publication of KR101472073B1 publication Critical patent/KR101472073B1/ko

Links

Images

Abstract

본 발명은 악의적인 메시지 검출 시스템에 관한 것으로, 본 발명의 일 측면에 따르면 악의적인 메시지 검출 시스템은 사용자 단말기로 검출 애플리케이션을 제공하는 배포 서버를 포함하며, 상기 검출 애플리케이션은, 상기 사용자 단말기에 설치되고 실행되며, 상기 사용자 단말기로 전송된 메시지에 링크가 포함되어 있는지 여부를 판단하는 메시지 수신부, 상기 링크로부터 최종 목적지에 해당하는 링크를 추출하는 링크 추출부 및 상기 최종 목적지에 해당하는 링크에 기초하여 상기 수신된 메시지가 악의적인 메시지인지를 판단하는 판단부를 포함한다.

Description

악의적인 메시지 검출 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체{SYSTEM, METHOD AND COMPUTER READABLE RECORDING MEDIUM FOR DETECTING MALICIOUS MESSAGE}
본 발명은 악의적인 메시지 검출 시스템 등에 관한 것으로, 보다 상세하게는 사용자 단말기로 전송된 메시지가 개인 정보 등을 불법적으로 얻으려고 하는 피싱(phishing) 기능을 포함하는 악의적인 메시지인지 여부를 검출하고, 악의적인 메시지로 검출된 경우 사용자에게 경고하기 위한 악의적인 메시지 검출 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
오늘날 인터넷의 광범위한 보급은 이제 유선을 넘어 무선 이동통신 기술로의 급발전을 가져오게 되었고, 실생활에 있어서도 휴대폰, PDA, 핸드헬드(Hand-Held) 컴퓨터 등의 휴대용 단말을 통한 인터넷상에서의 정보 검색이 시간과 장소에 구애받지 않고 가능하게 되었다.
한편, 최근 출시되는 스마트폰들의 성능이 향상되면서, 일반 휴대폰에서 스마트폰으로 사용자들이 많이 옮겨가고 있는 추세이다. 스마트폰(smart phone)이란 휴대폰에 컴퓨터 지원 기능을 추가한 지능형 휴대폰으로서, 휴대폰 기능에 충실하면서도 개인 휴대 정보 단말기(PDA) 기능, 인터넷 기능, 동영상 재생 기능 등이 추가되며, 다양한 입력 방식과 터치스크린 등이 구비되어 사용에 보다 편리한 인터페이스를 제공한다. 또한, 무선 인터넷 기능의 지원으로 인터넷 및 컴퓨터에 접속되어 이메일, 웹브라우징, 팩스, 뱅킹, 게임 등 단말기로서의 기능도 수행한다. 한편, 스마트폰은 다양한 기능의 수용을 위하여 표준화된 운영 체제(OS) 또는 전용 운영 체제를 갖추기도 한다.
이와 같이, 스마트폰 등 다양한 모바일 단말을 통해 다양한 기능의 구현이 가능해짐에 따라, 모바일 단말 내에서 구동되는 다양한 애플리케이션 프로그램(application program) 파일들이 개발되고 있다.
이러한, 스마트폰에 설치되어 구동되는 애플리케이션 파일은 통상적으로 '앱(App.)'이라고도 하며, 각종 애플리케이션 마켓 등을 통해 유료 또는 무료로 다운로드 받아 스마트폰에 설치하여 사용된다. 따라서, 사용자는 스마트폰에서 특정 애플리케이션 마켓에 접속하여 원하는 애플리케이션을 검색하고, 해당 애플리케이션을 선택하여 다운로드 받아 설치할 수 있다.
한편, 이와 같이 스마트폰 등을 이용한 무선 이동통신 시장이 확대되면서 종래의 피싱(phishing) 기법 또한 SMS(Short Message Service) 등을 이용하여 확장되었는 바 이를 스미싱(smishing)이라 한다. 스미싱(smishing)이란 SMS 및 피싱(phishing)의 결합어로서 스마트 폰 등의 사용자 단말기로 특정 앱을 설치할 수 있는 링크를 포함하는 문자 메시지를 전송하고, 단말기의 사용자가 해당 링크를 클릭시 특정 앱이 자동으로 다운로드되고 설치된 뒤 사용자의 개인 정보 등을 탈취하여 소액 결제 등을 유도하는 사기를 일컫는다.
스미싱은 사용자의 금융 정보 등 개인 정보를 무작위로 탈취하여 사용자에게 금전적인 손해를 끼친다는 점에서 커다란 사회 문제가 되고 있는 실정이다. 따라서, 전송된 문자 메시지를 통해 스미싱 가능성이 있는지, 즉 악의적인 메시지인지 여부를 검출하기 위한 다양한 방안들이 고안되어 왔다.
이러한 악의적인 메시지 여부의 탐지 기술 중의 하나로서 대한민국 특허등록번호 제10-1060122호 "스팸 메시지 처리 방법 및 장치(㈜지란지교 소프트)"(문헌 1)에는 동일한 방식으로 여러 사람들에게 메시지를 보내는 스팸 메시지 발송의 특성(예컨대 일정 시간 내에 발신번호나 메시지 내용이나 첨부파일이나 URL 주소 등이 동일한 메시지가 다수 확인된 경우)을 이용하여 수신되는 메시지에 대한 스팸 여부를 판별하고 그에 따라 스팸 메시지를 처리하는 방법 등이 개시된다.
그러나, 전술한 스팸 메시지 처리 방법의 경우 다수의 단말기 사용자들로부터 메시지를 전송 받고, 스팸 메시지인지 여부를 판단하는 스팸 인식 서버를 두어야 한다는 문제점을 포함하고 있으며, 스팸 메시지인지를 판단하기 위한 스팸 인식 서버의 메시지 수신이 사용자의 스팸 문의에 의존하고 있어 충분한 양의 메시지가 수신되지 않는 경우 스팸 판단이 불가능하며 또한 충분한 양의 메시지를 수신하는데 상당한 시간이 소요되어 사용자가 원하는 시점에 스팸 여부의 인식이 매우 어려운 등 실제 구현 가능성이 매우 낮다. 또한, 전술한 방법에 의하면 다수의 사용자들에게 전송한 정상적인 알림 메시지라 할지라도 그 발신번호, 메시지 내용이 동일하므로 전술한 방법에 의하면 스팸 메시지로 잘못 판단될 가능성이 높은, 즉 오탐지율이 높다는 문제점 또한 존재한다.
따라서, 이미 악의적인 것으로 판별된 문자 메시지를 사후적으로 패턴 매칭 적용하여 악의적인 메시지인지 여부를 판단하거나 다수의 단말기 사용자들로부터 메시지를 전송 받고 단순히 그 내용이나 발신 번호 등이 동일한지에 따라 형식적으로 판단하여 오탐지율이 높았던 종래 기술보다 한층 진보된, 전송된 문자 메시지에 특정 앱을 다운로드할 수 있고 살아있는(alive) 링크가 포함되었는지 그리고 링크에 포함된 앱이 악성 앱일 가능성이 높은지 여부를 실제적으로 탐지하여 기존 패턴에 없는 신규한 메시지라 할지라도 악의적인지 여부를 정확하게 판단하고 사용자에게 경고할 수 있도록 하는 방법의 필요성이 요구되고 있는 실정이다.
[문헌 1] 대한민국 특허등록번호 제10-1060122호 스팸 메시지 처리 방법 및 장치(㈜지란지교 소프트) 2011.08.23
본 발명의 목적은 기존에 검출된 패턴에 없는 신규한 패턴의 메시지라 할지라도 악의적인 메시지인지 여부를 정확하게 판단하고 사용자에게 경고할 수 있는 악의적인 메시지 검출 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
본 발명의 다른 목적은 메시지에 포함된 링크를 통하여 다운로드 되는 특정 앱이 피싱 등 악의적인 기능을 수행하는지 여부의 실질적 판단에 기초하여 악성 앱인지 여부를 검출하고 사용자에게 경고할 수 있는 악의적인 메시지 검출 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
본 발명의 또 다른 목적은 악의적인 것으로 판단된 메시지 및 링크로 연결된 악성 앱 등 그 관련 정보를 패턴으로 저장하여 둠으로써 추후 동일한 메시지의 전송시 보다 신속하게 악의적인 메시지임을 검출하여 사용자에게 경고할 수 있는 악의적인 메시지 검출 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특유의 효과를 달성하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 측면에 따르면, 악의적인 메시지 검출 시스템은 사용자 단말기로 검출 애플리케이션을 제공하는 배포 서버를 포함하고, 상기 검출 애플리케이션은, 상기 사용자 단말기에 설치되고 실행되며, 상기 사용자 단말기로 전송된 메시지에 링크가 포함되어 있는지 여부를 판단하는 메시지 수신부, 상기 링크로부터 최종 목적지에 해당하는 링크를 추출하는 링크 추출부 및 상기 최종 목적지에 해당하는 링크에 기초하여 상기 수신된 메시지가 악의적인 메시지인지를 판단하는 판단부를 포함한다.
바람직하게는, 상기 링크 추출부는, 단축된 형태의 링크로부터 전체 링크를 추출하는 제1 변환 방식 및 전체 링크로부터 리다이렉션을 거쳐 최종 목적지에 해당하는 링크를 추출하는 제2 변환 방식 중 적어도 하나 이상을 적용한다.
바람직하게는, 상기 제1 변환 방식은, 단축된 형태의 제1 링크를 목적지로 HTTP REQUEST를 요청하고 이에 대한 응답으로 회신되는 HTTP RESPONSE에 포함된 제2 링크의 수신을 분석하여 상기 제2 링크가 단축된 형태의 링크가 아닐 때까지 상기 제2 링크를 상기 제1 링크로 하여 반복적으로 수행함으로써 전체 링크를 추출한다.
바람직하게는, 상기 제2 변환 방식은, 제3 링크에 해당하는 웹페이지의 소스 코드에 기초하여 리다이렉트되는 제4 링크를 추출하고, 리다이렉트가 발생하지 않을 때까지 상기 제4 링크를 상기 제3 링크로 하여 반복적으로 수행함으로써 최종 목적지에 해당하는 링크를 추출한다.
바람직하게는, 상기 판단부는, 상기 최종 목적지에 해당하는 링크가, 소정 애플리케이션을 다운로드시키기 위한 링크에 해당하는 제1 조건, 현재 작동하는 제2 조건, 또는 대응되는 IP 주소가 스미싱이 많이 발생하는 특정 국가에 할당된 제3 조건 중 하나 이상에 해당하는지 여부에 기초하여 상기 수신된 메시지가 악의적인 메시지인지를 판단한다.
바람직하게는, 상기 탐지 애플리케이션은, 상기 특정 링크를 통해서 다운로드되는 애플리케이션이 악성 앱인지 여부를 검출하는 악성앱 검출부를 더 포함한다.
바람직하게는, 상기 악성앱 검출부는, 상기 다운로드되는 애플리케이션이 악성 앱의 코드 조합 데이터에 포함된 특정 기능 및 순서 조합과 일치하는지 여부에 기초하여 악성앱 여부를 검출하는 순서 조합 분석부를 포함한다.
바람직하게는, 상기 탐지 애플리케이션은, 상기 판단부의 판단 결과 또는 상기 악성앱 검출부의 검출 결과 중 하나 이상을 사용자에게 표시하는 알림부를 더 포함한다.
본 발명의 다른 측면에 따르면, 악의적인 메시지 검출 방법으로서, 메시지 수신부에 의해, 수신된 메시지에 링크가 포함되어 있는지 여부를 판단하는 링크 판단 단계, 링크 추출부에 의해, 상기 링크로부터 최종 목적지에 해당하는 링크를 추출하는 링크 추출 단계 및 판단부에 의해, 상기 최종 목적지에 해당하는 링크에 기초하여 상기 수신된 메시지가 악의적인 메시지인지를 판단하는 판단 단계를 포함한다.
한편, 악의적인 메시지 검출 방법을 수행하기 위한 프로그램은 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 이러한 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 기록매체를 포함한다. 그 예로는, 롬(Read Only Memory), 램(Random Access Memory), CD(Compact Disk), DVD(Digital Video Disk)-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함된다. 또한, 이러한 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
상술한 바와 같이, 본 발명에 따르면 기존에 검출된 패턴에 없는 신규한 패턴의 메시지라 할지라도 악의적인 메시지인지 여부를 정확하게 판단하고 사용자에게 경고할 수 있는 장점이 있다.
또한, 본 발명에 따르면 메시지에 포함된 링크를 통하여 다운로드 되는 특정 앱이 피싱 등 악의적인 기능을 수행하는지 여부의 실질적 판단에 기초하여 악성 앱인지 여부를 검출하고 사용자에게 경고할 수 있는 장점이 있다.
또한, 본 발명에 따르면 악의적인 것으로 판단된 메시지 및 링크로 연결된 악성 앱 등 그 관련 정보를 패턴으로 저장하여 둠으로써 추후 동일한 메시지의 전송시 보다 신속하게 악의적인 메시지임을 검출하여 사용자에게 경고할 수 있는 장점이 있다.
도 1은 악의적인 메시지를 통해 발생할 수 있는 스미싱(smishing)의 일 예를 설명하기 위한 전체 시스템 구조도이다.
도 2는 본 발명에 따른 악의적인 메시지 검출 시스템을 도시한 도면이다.
도 3은 본 발명의 실시예에 따른 사용자 단말기에서 수신된 메시지가 악의적인 메시지인지 여부를 검출하는 세부 구조를 나타내는 블록도이다.
도 4는 본 발명의 실시예에 따른 악성앱 검출부의 세부 구조를 나타내는 블록도이다.
도 5는 본 발명의 실시예에 따른 악의적인 메시지 검출 방법을 나타내는 흐름도이다.
도 6a 및 도 6b는 안드로이드 운영체제의 애플리케이션 파일 구조 및 디컴파일 단계를 나타내는 도면이다.
도 7은 본 발명의 실시예에 따라 안드로이드 운영체제의 애플리케이션을 디컴파일 한 결과 화면을 도시한 도면이다.
도 8은 본 발명의 다양한 실시예에 따른 악의적인 메시지 검출 결과를 예시적으로 표시한 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는 적절하게 설명된다면 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 발명은 사용자 단말기가 전송 받은 메시지에 특정 링크가 포함되어 있는지를 확인하고, 존재하는 경우 해당 링크를 추적을 통해 특정 앱의 다운로드 링크인지 여부, 해당 링크가 현재 작동하는지 여부, 해당 링크로부터 다운로드될 수 있는 앱이 악성 앱으로서의 기능을 수행할 수 있는지 여부 등을 분석함으로써 전송된 메시지가 악의적인 메시지인지를 검출하고, 사용자에게 경고할 수 있는 악의적인 메시지 검출 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체를 개시한다.
본 발명에서 용어 "악성 앱"은 사용자 단말기에 다운로드 되어 사용자의 개인 정보를 수집하고, 수집된 개인 정보를 네트워크를 통해 다른 기기로 전송하거나 스미싱 등 다른 불법적인 목적으로 사용하는 기능을 갖는 어떠한 프로그램 또는 라이브러리(library)도 포함하는 광의의 개념이다.
본 발명에서 용어 "개인 정보"는 악성 앱이 사용자 단말기 내에 저장되었거나 사용자 단말기를 이용하여 얻을 수 있는 정보를 모두 포함하는 광의의 개념으로서 본 발명에서는 특히 핸드폰 소액 결제 등 사용자의 금융 거래에 사용될 수 있는 모든 정보를 포함한다. 악성 앱이 추출할 수 있는 개인 정보의 예로서는 사용자의 위치 정보, IP(Internet Protocol) 주소, MAC(Media Access Control) 주소, 사용자의 주민등록번호/전화번호/이메일 주소, 사용자 단말기에 설치한 애플리케이션 정보, 사용자가 웹 브라우저를 이용하면서 저장된 쿠키 정보, 사용자 이름, 기기에 저장된 전화 번호들/이메일 주소, 통화 이력, 실제로 송수신한 이메일/메시지(SMS), 메신저 내용 등을 포함할 수 있으나 반드시 이에 한정되는 것은 아니다.
한편, 후술하는 설명에서의 사용자 단말기는 이동 통신 단말기, 노트북 컴퓨터, 워크스테이션, 팜톱(palmtop) 컴퓨터, 개인 휴대 정보 단말기(personal digital assistant: PDA), 웹 패드 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 이동성이 구비된 디지털 기기라면 얼마든지 본 발명에 따른 사용자 단말기로서 채택될 수 있으며, 바람직하게는 스마트폰을 포함한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
스미싱을 설명하기 위한 전체 시스템
본 발명의 설명에 앞서, 도 1을 참조하여 일반적인 스미싱을 설명하기 위한 전체 시스템에 대하여 설명한다. 도 1에 도시된 바와 같이 악의적인 사용자의 단말기(100a) 조작에 의해 피해자 단말기(100b)로 악성 앱을 다운로드할 수 있는 링크가 포함된 악의적인 메시지가 전달되면(①), 피해자 단말기(100b)에서의 링크 선택에 의해 악성 앱 서버(1000)로부터 악성 앱이 피해자 단말기(100b)로 설치(②)된다. 피해자 단말기(100b)에 설치된 악성 앱은 피해자가 모르게 피해자의 각종 개인정보를 악의적인 사용자의 단말기(100a)로 유출(③)시킨다. 여기서 유출되는 개인정보의 예로서는 핸드폰 소액결제에 사용될 수 있는 피해자의 주민등록번호, 전화번호 및 통신사 정보 등을 포함하나 반드시 이에 한정하는 것은 아니다.
이후, 악의적인 사용자는 자신의 단말기(100a)로 유출된 피해자의 개인정보를 이용하여 결제 서버(2000)를 통해 특정 제품 또는 서비스를 구입 요청(④)한다. 이때 결제 서버(2000)에서는 본인 인증을 위해 무작위로 생성된 인증 번호를 포함하는 메시지를 해당 개인 정보에 포함된 피해자의 전화번호로 전송(⑤)하게 된다.
본래대로라면, 전송된 메시지는 피해자 단말기(100b)에 표시되어야 하나 피해자 단말기(100b)에 설치된 악성 앱이 전송된 메시지를 가로채서 악의적인 사용자의 단말기(100a)로 우회 전송(⑥)한다. 따라서, 악의적인 사용자는 피해자 몰래 인증 번호를 획득할 수 있어 이를 다시 결제 서버에 입력(⑦)함으로써 무사히 인증 단계를 통과하고 요청한 제품 또는 서비스를 구매할 수 있다. 이처럼, 피해자 단말기(100b)에 설치된 악성 앱에 의해 피해자의 각종 개인 정보를 도용하여 핸드폰 소액 결제 등의 사고가 피해자가 알지 못한 채 발생할 수 있으며 이는 스미싱의 전형적인 예라 할 수 있다.
이하, 도 2 내지 4를 참조하여 본 발명의 실시예에 따른 시스템 및 장치의 구조를 설명하며, 다음으로 도 5를 참조하여 본 발명의 실시예에 따른 방법을 상세히 설명한다.
악의적인 메시지 검출 시스템
도 2는 본 발명에 따른 악의적인 메시지 검출 시스템을 도시한 도면이다. 본 발명에 따른 악의적인 메시지 검출 시스템은 전송 받은 메시지에 특정 링크가 포함되어 있는 경우 링크의 특성, 링크의 현재 작동 여부 그리고 링크를 통해 다운로드될 수 있는 앱의 악성 가능성 등을 분석하여 전송된 메시지가 악의적인 메시지인지 여부를 검출할 수 있다.
도 2를 참조하여 보다 구체적으로 설명하면, 사용자 단말기(100) 내에는 악의적인 메시지를 검출할 수 있는 검출 애플리케이션(111)이 설치되어 있고, 또한 하나 이상의 메시지(112)를 수신 및 저장할 수 있다. 여기서 메시지(112)는 그 내부에 특정 링크(113)를 포함할 수 있으며, 특정 링크(113)는 단축 또는 전체(full) URL(Uniform Resource Locator) 형식일 수 있다. 만일 메시지(112)가 악의적인 메시지에 해당하는 경우, 사용자의 링크(113) 클릭을 통해 악성 앱이 사용자 단말(100)에 다운로드되어 설치된다.
도 2에서 검출 애플리케이션(111)은 전송 받은 메시지(112)가 악의적인 메시지인지 여부를 검출하는 애플리케이션이다. 검출 애플리케이션(111)에 의한 검출은 메시지(112) 내에 링크(113)가 포함되어 있는 경우 해당 링크가 특정 앱을 다운로드받기 위한 링크인지, 해당 링크가 현재 작동하고 있는지(alive), 그리고 해당 링크를 통해 다운로드될 수 있는 앱이 종래에 악성 앱으로 등록되었는지 또는 디컴파일된 소스코드를 분석하여 악성 앱이 수행하는 악의적인 행위가 특정 순서대로 수행되는 코드가 포함되어 있는지 여부를 판단하여 수행될 수 있다. 검출 애플리케이션(111)에 의한 검출 기능을 수행하는 구체적인 실시예는 후술하도록 한다. 만일 악성 앱으로 새로 검출되는 경우, 악의적인 메시지로 판단된 메시지 및/또는 새로 검출된 악성 앱에 대한 정보, 예컨대 패턴 매칭에 사용되기 위한 패턴이나 악성 앱의 시그니쳐 정보 등을 수집 서버(400)에 업데이트할 수 있다. 한편, 본 발명의 실시예에 따라 검출 애플리케이션(111)은 배포 서버(300)로부터 제공될 수 있다.
통신 네트워크(200)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 상기 통신 네트워크(200)는 공지의 월드와이드웹(WWW; World Wide Web)일 수 있으며, 적외선(Infrared Data Association; IrDA) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선전송기술을 이용할 수도 있다.
배포 서버(300)는 전술한 기능을 수행하는 검출 애플리케이션(110)을 사용자 단말(100)의 요청에 따라 제공하며 구체적인 예로서 공식적인 안드로이드 마켓인 구글 플레이, 애플사의 앱스토어, 파일 제공 서버, 또는 이를 모두 포함하여 배포 서버(300)라 할 수 있다.
수집 서버(400)는 이미 악의적인 메시지로 판단된 메시지에 대한 패턴 정보, 이미 악성 앱으로 검출된 애플리케이션에 대해 패턴 정보(시그니쳐 등), 그리고 악성 앱이 사용자의 개인 정보를 유출하여 스미싱을 수행하기 위해 반드시 필요한 코드 및 그 순서 조합, 그리고 정당한 권한 요청 및 이에 따른 권한 부여 등을 포함하는 코드 조합 데이터 등을 저장해 두고 있으며, 주기적으로 사용자 단말(100)에 포함된 데이터베이스를 업데이트할 수 있다. 또한, 수집 서버(400)에 저장된 데이터는 사용자 단말(100)에만 의존하지 않고 스스로 검출 활동을 수행하고 그 결과로서 업데이트될 수도 있다.
악의적인 메시지 검출 장치
도 3은 본 발명의 실시예에 따른 사용자 단말기에서 수신된 메시지가 악의적인 메시지인지 여부를 검출하는 세부 구조를 나타내는 블록도이다. 도 3을 참조하면 본 발명의 일 실시예에 따른 사용자 단말기(100)는 메시지 수신부(110), 패턴 매칭부(120), 링크 추출부(130), 판단부(140), 악성앱 검출부(150) 및 알림부(160)를 포함하고, 데이터베이스(170)를 더 포함할 수 있다.
메시지 수신부(110)는 사용자 단말기(100)가 수신한 메시지에 링크가 포함되어 있는지 여부를 판단하여 링크가 포함되어 있는 경우, 종래에 악의적인 메시지로 검출된 적이 있는지 여부를 판단하기 위해 메시지를 패턴 매칭부(120)로 전송한다.
패턴 매칭부(120)는 데이터베이스(170)에 기저장된, 이미 악의적인 메시지로 판단된 메시지들의 패턴들과 대비하여 사용자 단말기(100)로 전송된 메시지가 악의적인 메시지인지를 판단한다. 여기서 패턴은 메시지에 포함된 특정 단어나, 어구 또는 메시지를 해시 함수로 변환한 값 등 메시지로부터 추출할 수 있는 특유의 값(value)이면 모두 사용될 수 있으며 특정 형식이나 값에 한정되는 것은 아니다. 만일 악의적인 메시지로 판단된 경우 패턴 매칭부(120)는 알림부(160)를 통해 사용자에게 이를 경고할 수 있다.
만일 패턴 매칭부(120)에서 종래에 검출되었던 악의적인 메시지와 매칭되지 않는 경우, 링크 추출부(130)는 메시지 수신부(110)로부터 링크를 전송받고 그 최종 목적지에 해당하는 링크를 추출하는 기능을 수행한다. 이하에서 링크는 그 설명의 편의성을 위해 HTTP(HyperText Transfer Protocol) 방식의 URL(Uniform Resource Locator)을 그 예로서 설명하나 반드시 이에 한정되는 것은 아니다.
한편, 악의적인 메시지에 포함된 링크는 사용자가 악의적인 메시지라고 쉽게 인식할 수 없도록 하기 위해 단축된(shortened) 형태를 갖거나 적어도 한 번 이상의 리다이렉션(redirection)을 거쳐 이동함으로써 링크의 최종 목적지를 감추는 것이 일반적이다. 따라서, 메시지 내에 포함된 링크만으로는 해당 메시지가 악의적인 메시지인지 여부를 알 수 없으므로 해당 링크의 최종 목적지에 해당하는 링크를 추출하는 것이 필요하다.
단축된 형태의 링크는 goo.gl이나 twurl.nl 등 단축 URL 서비스를 제공하는 서비스 회사들에 의해 단축 URL로부터 전체(full) URL로 변환(conversion)함으로써, 또는 악의적인 메시지와 관련한 자가 구축한 자체 웹 서버를 이용해서 전체 URL로의 변환을 제공함으로써 전체(full) 링크로 변환된다. 여기서 전체 URL 또는 전체 링크는 단축되지 않은 원래의 URL 또는 링크를 의미한다. 그 어느 경우에 해당하더라도 단축된 URL을 목적지로 HTTP REQUEST를 요청하면 그에 대한 HTTP RESPONSE로서 변환되는 또 다른 단축된 URL이나 전체 URL을 회신하므로 링크 추출부(130)는 이와 같은 방식을 한 번 이상 반복하여 최종적으로 전체 링크를 획득하는 제1 변환 방식을 수행한다.
또한, 전술한 바와 같이 단축된 형태의 링크를 변환한 전체 링크를 획득한다 하더라도 획득된 전체 링크가 최종 목적지에 대한 링크가 아니고, 여기서 한 번 이상의 리다이렉션을 더 거칠 수 있다. 따라서, 링크 추출부(130)는 전체 링크에 해당하는 웹 페이지를 분석하여 리다이렉션이 발생하는 경우 해당 링크를 획득하는 방식을 한 번 이상 반복하여 최종 목적지에 해당하는 링크를 추출할 수 있다. 리다이렉션을 하는 예시적인 방법으로서, 웹페이지는 헤더(HEADER) 부분에 HTTP status code 중 3xx 번대 코드를 추가하면 브라우저에서는 이를 인식하고 다른 URL로 리다이렉트할 수 있고, 또는 HTML의 메타 태그(meta tag)에 리다이렉션되는 URL을 입력하면 브라우저에서는 이를 인식하고 다른 URL로 리다이렉트할 수도 있으며, 또는 HTML 내에 다른 URL로 리다이렉트하기 위한 자바스크립트 코드를 삽입하면 브라우저에서는 이를 인식하고 다른 URL로 리다이렉트할 수도 있다. 따라서, 링크 추출부(103)는 전체 URL에 해당하는 웹페이지의 소스 코드를 요청하여 전달 받고 상기 예시적인 방법 중 어느 한 방법에 의해 리다이렉트가 발생할 수 있는지 여부를 분석한다. 만일 리다이렉트가 발생하는 것으로 판단한 경우 리다이렉트되는 URL을 획득하고, 다시 획득된 URL에 해당하는 웹페이지의 소스 코드를 요청하여 전달받고 분석하는 것을 반복하여 최종 목적지에 해당하는 링크를 추출하는 제2 변환 방식을 수행한다.
즉, 링크 추출부(130)는 전송받은 링크의 성질에 따라 최종 목적지의 링크를 추출하기 위해 전술한 제1 변환 방식 및 제2 변환 방식 중 적어도 하나 이상을 수행할 수 있다.
판단부(140)는 링크 추출부(130)에서 추출한 최종 목적지의 링크를 통해 사용자 단말기에 대한 위험성이 발생할 수 있는지 여부를 판단한다. 구체적인 예로서, 판단부(140)는 해당 링크에 기초하여 사용자 단말기에 악성 앱이 설치될 수 있는 위험성이 존재하는지 여부를 판단하고, 위험성이 존재한다고 판단된 경우 알림부(160)를 통해 악의적인 메시지 가능성을 사용자에게 경고할 수 있다.
사용자 단말기에 악성 앱이 설치될 수 있는 위험성이 존재하는지 여부는 예컨대 해당 링크가 사용자 단말기(100)에 설치될 수 있는 애플리케이션을 다운로드시키기 위한 링크에 해당하는지, 해당 링크가 현재 작동하는지 또는 해당 링크에 대응되는 IP 주소가 스미싱이 많이 발생하는 특정 국가에 할당되어 있는지 여부 등에 기초하여 판단할 수 있다. 보다 상세하게는, 애플리케이션을 다운로드 시키기 위한 링크에 해당하는지 여부는 링크가 사용자 단말기에 설치될 수 있는 파일(예컨대, apk 파일 등)을 가리키고 있는지 여부에 기초하여 판단할 수 있고, 해당 링크가 현재 작동하는지 여부는 HTTP REQUEST를 송신하고 그에 대한 HTTP RESPONSE로서 파일이 존재하지 않거나 페이지가 존재하지 않거나 또는 웹서버가 응답하지 않아 TIME OUT된다거나 하는 에러 메시지가 수신되는지 여부에 기초하여 판단할 수 있다. 또한, IP 주소의 할당 여부는 스미싱이 많이 발생하는 특정 국가에 할당된 IP 주소의 그룹을 미리 데이터베이스(170)에 저장하여 두고, 해당 링크에 대응되는 IP 주소가 저장된 그룹 내에 포함되는지 여부에 기초하여 판단할 수 있다.
악성앱 검출부(150)는 상기 경고에도 불구하고 사용자가 애플리케이션을 설치한다고 선택한 경우 해당 애플리케이션을 다운로드 한 후 사용자 단말기에 설치되기 전에 악성 앱에 해당하는지 여부를 검출하고, 알림부(160)를 통해 정말 설치할 것인지에 대해 추가적으로 경고하거나 또는 해당 애플리케이션이 설치되지 않도록 한다. 또한, 악성앱 검출부(150)는 신규 검출된 악성앱의 경우 그 시그니쳐 및 메시지 패턴을 수집 서버(400)로 전송하여 각 사용자 단말기 내부의 데이터베이스에 저장된 데이터를 업데이트 할 수 있도록 할 수 있다. 악성앱 검출부(150)에서 수행될 수 있는, 다운로드 받은 애플리케이션이 악성 앱인지 여부의 검출은 이하의 도 4를 참조하여 상세히 설명하도록 한다.
도 4는 본 발명의 실시예에 따른 악성앱 검출부의 세부 구조를 나타내는 블록도이다. 도 4를 참조하면 본 발명의 일 실시예에 따른 악성앱 검출부(150)는 다운로드부(151), 시그니쳐 매칭부(152), 디컴파일부(153) 및 순서 조합 분석부(154)를 포함할 수 있다.
다운로드부(151)는 링크를 통해 해당 애플리케이션을 다운로드 한 뒤 사용자 단말기(100)에 설치하지 않고 임시 저장한다.
시그니쳐 매칭부(152)는 상기 다운로드부(151)에 의해 다운로드되고 임시 저장된 해당 애플리케이션의 시그니쳐(signature)를 추출하고, 추출된 시그니쳐를 데이터베이스(170)에 기 저장된 악성 앱들의 시그니쳐와 비교하는 패턴 검사를 수행한다. 만일 그 중 어느 하나와 일치하는 경우 시그니쳐 매칭부(152)는 해당 애플리케이션이 악성 앱에 해당한다고 판단할 수 있고 알림부(160)를 통해 설치 여부를 추가적으로 경고할 수 있다.
만일 시그니쳐 매칭부(152)에서 수행된 패턴 검사 결과 매칭되는 패턴이 없는 경우, 디컴파일부(153)는 후술할 순서 조합 분석부(154)에서의 분석을 위해 해당 애플리케이션을 디컴파일한다.
디컴파일부(153)에서 수행하는 디컴파일은 역분석(reverse engineering)을 통하여 원본 소스 코드와 거의 유사한 소스 코드를 획득하는 작업이다. 보다 구체적으로 안드로이드 운영체제의 애플리케이션을 디컴파일하는 실시예에 대해 상세히 설명하면, 안드로이드 운영체제의 애플리케이션 파일 구조는 도 5a을 참조하면 2개의 폴더와 3개의 파일을 포함하여 압축한 APK 파일 포맷의 형태로 되어 있다. 상기 도 6a에서 'META-INF' 폴더는, APK 서명 정보를 포함하는 폴더를 나타낸다. 'res' 폴더는 안드로이드 운영체제에서 사용하는 이미지, 레이아웃(layout), 스트링(string) 등을 저장하는 폴더이다. 'AndroidManifest' 파일은 해당 프로젝트에서 사용하는 액티비티(activity)/서비스(service)에 대한 정의를 나타내며 XML 형태로 구성된다. 'classes.dex' 파일은 소스 파일을 컴파일한 후, 클래스(class) 파일을 다시 dex 파일 포맷으로 변경한 파일이다. 'resources.arsc' 파일은 해당 프로젝트의 리소스 테이블 정보를 나타낸다.
디컴파일부(153)는 먼저 압축을 해제하고, 도 상기 도 6b에 도시된 바와 같이 'classes.dex' 파일로부터 소스 코드의 내용을 확인하기 위해 'dex' 파일 포맷을 'jar' 파일 포맷으로 변환하고, 'jar' 파일 포맷을 디컴파일하여 소스 코드를 확인할 수 있다. 디컴파일부(153)에 의해 디컴파일된 예시적인 소스 코드는 도 7과 같으며, 디컴파일을 통해 패키지 이름이나 클래스 이름만이 아닌, 실제로 사용되는 메소드 이름 및 프로퍼티 이름까지도 확인할 수 있음은 도 6을 통해서도 확인 가능하다.
순서 조합 분석부(154)는 애플리케이션이 스미싱을 수행하기 위해 필요한 기능들이 미리 정해진 순서의 조합으로 발생하는지 여부에 기초하여 악의적인 행위를 수행하는지 여부를 판단함으로써 해당 애플리케이션이 악성 앱인지 여부를 검출한다. 스미싱을 수행하기 위한 악성 앱은 일반적으로 사용자의 허락에 따른 권한(permission) 취득 없이 사용자의 개인 정보를 수집하고, 수집된 개인 정보를 네트워크를 통해 다른 기기로 전송하는 행위를 수행하므로 이러한 각각의 행위가 발생하는지 여부 및 그 발생 순서에 기초하여 악성앱 여부를 판단할 수 있다.
일 예로서, 사용자의 주민등록 번호, 전화 번호, 통신사 정보 등 금융 거래와 관련된 정보 및/또는 수신된 메시지를 외부로 전송하는 행위가 있는지 여부를 확인하기 위해 순서 조합 분석부(154)는 해당 애플리케이션을 분석하여 사용자의 개인 정보 또는 수신되는 메시지에 접근하는 코드(API)가 존재하는지, 접근하여 개인 정보 중 상기 언급된 정보를 판독하는 코드가 존재하는지, 그리고 판독한 정보 또는 수신된 메시지를 네트워크를 통해 외부로 전송하는 코드가 있는지 확인하고, 또한 해당 코드들의 순서 조합도 확인한다. 또한, 순서 조합 분석부(154)는 해당 애플리케이션에서 사용자의 개인 정보 또는 메시지에 접근하기 위한 권한을 요청하는지, 실제로 권한이 부여되었는지, 부여된 권한이 사용자의 개인 정보 또는 메시지에 접근하는 것인지 여부 또한 확인한다. 만일 상기 코드들이 모두 존재하지 않거나 비록 존재할 지라도 그 순서 조합이 일치되지 않거나, 또는 코드들이 모두 존재하고 그 순서 조합이 모두 일치할 지라도 정당한 권한 요청 및 권한 부여에 따라 이루어지는 경우에는 해당 애플리케이션은 스미싱을 수행하는 악성 앱이 아니라고 판단할 수 있고, 그렇지 않은 경우에는 악성 앱이라고 판단할 수 있다.
이처럼 악성 앱이 사용자의 개인 정보를 유출하여 스미싱을 수행하기 위해 반드시 필요한 코드 및 그 순서 조합, 그리고 정당한 권한 요청 및 이에 따른 권한 부여 등에 대해서는 현재까지 발견되었던 악성 앱들을 참조하여 결정할 수 있으며, 이를 코드 조합 데이터로서 배포 서버(300)로부터 다운로드 받아 데이터베이스(170)에 미리 저장하여 둠으로써 순서 조합 분석부(154)에서 이용한다.
즉, 순서 조합 분석부(154)에서 사용되는 애플리케이션 관련 정보는 해당 애플리케이션에 포함된 사용자의 개인 정보 또는 메시지에 접근하는 코드, 접근하여 금융 거래와 관련된 정보를 판독하는 코드, 그리고 판독한 정보를 네트워크를 통해 외부로 전송하는 코드, 해당 코드들의 순서 조합도, 사용자의 개인 정보 또는 메시지에 접근하기 위한 권한을 요청, 실제로 부여된 권한 등을 포함한다.
분석 결과 다운로드된 애플리케이션이 악성앱이라고 판단된 경우, 순서 조합 분석부(154)는 알림부(160)를 통해 설치전 악성앱 여부를 다시 한 번 경고하거나 또는 설치 없이 삭제한 후, 악성앱으로 판단되어 설치 없이 삭제하였다고 사용자에게 알릴 수 있다.
다시 도 3으로 돌아와서, 알림부(160)는 패턴 매칭부(120), 판단부(140) 및 악성앱 검출부(150)의 요청에 의해 악의적인 메시지 여부 또는 그 가능성, 또는 악성앱으로 판단되어 삭제된 경우 삭제되었다는 내용을 사용자 단말기(100)의 화면에 띄움으로써 사용자에게 경고하거나 알린다. 이에 추가하여, 알림부(160)는 사용자의 선택에 기초하여 전송된 메시지를 삭제하거나, 링크를 통한 다운로드 및 설치를 중단하는 기능을 더 포함할 수 있다.
도 8을 참조하면, 패턴 매칭부(120)를 통해 악의적인 메시지로 판단된 경우 알림부(160)는 사용자 단말기의 화면을 통해 예컨대, (a)와 같이 경고를 하고, 사용자의 선택에 의해 해당 메시지를 삭제할 수 있다. 또는, 판단부(140)를 통해 사용자 단말기에 악성 앱이 설치될 수 있는 위험성이 존재한다고 판단된 경우 알림부(160)는 사용자 단말기의 화면을 통해 예컨대, (b)와 같이 경고를 하고, 사용자의 선택에 의해 링크를 통한 애플리케이션의 다운로드를 중단할 수 있다. 또는, 악성앱 검출부(150)를 통해 다운로드된 앱이 악성 앱으로 판단된 경우 알림부(160)는 사용자 단말기의 화면을 통해 예컨대, (c)와 같이 경고를 하고 사용자의 선택에 의해 다운로드된 애플리케이션의 설치를 중단하거나 또는 다운로드된 앱을 설치 없이 삭제한 후 (d)와 같이 삭제 여부를 알릴 수 있다.
마지막으로, 데이터베이스(170)는 패턴 매칭부(120)에서 패턴 매칭에 사용되는 데이터 및 악성앱 검출부(150)에서 시그니쳐 매칭 및 순서 조합여부를 분석하기 위해 사용되는 데이터를 저장하고, 그 밖에도 사용자 단말기(100)에서 본 발명의 수행 중에 발생하는 다양한 데이터들을 임시적 또는 영구적으로 더 저장할 수 있는 공간을 의미한다. 보다 구체적으로, 데이터베이스(170)는 이미 악의적인 메시지로 판단된 메시지에 대한 패턴 정보, 이미 악성 앱으로 검출된 애플리케이션에 대한 시그니쳐 정보, 그리고 악성 앱이 사용자의 개인 정보를 유출하여 스미싱을 수행하기 위해 반드시 필요한 코드 및 그 순서 조합, 그리고 정당한 권한 요청 및 이에 따른 권한 부여 등을 포함하는 코드 조합 데이터 등을 저장해 두고 있으나 반드시 이에 한정되는 것은 아니다. 또한, 데이터베이스(170)는 통신 네트워크(200)를 통해 수집 서버(400)와 통신하면서 주기적으로 또는 실시간으로 업데이트될 수 있다.
비록 도 3은 본 발명에 따라 수신된 메시지가 악의적인 메시지인지 여부를 검출하는 각 구성요소가 사용자 단말기에 구현된 예를 도시한 것이나, 본 발명은 이에 한정되지 않고, 예컨대 사용자 단말기가 아닌 서버에 도 3의 각 구성요소가 구현되거나 또는 일부는 서버측에, 다른 일부는 사용자 단말기에 구현되어 동작되는 경우 등 다양한 경우도 포함할 수 있다. 만일 서버에 도 3의 구성요소들이 구현된 경우, 사용자 단말기는 수신된 메시지를 서버로 전송하고, 서버는 메시지 수신부를 통해 사용자 단말기로부터 메시지를 수신하여 전술한 패턴 매칭부, 링크 추출부의 기능을 수행한다. 또한, 사용자가 사용자 단말기를 통해 링크를 클릭하여 애플리케이션의 설치를 요청하는 경우 해당 요청이 서버로 전달되고, 서버는 악성앱 검출부를 통해 전술한 기능을 수행한다. 한편, 서버의 알림부를 통한 경고는 사용자 단말기로 전송되어 사용자 단말기의 화면에 표시될 수 있다.
악의적인 메시지 검출 방법
도 5는 본 발명의 일 실시예에 따른 악의적인 메시지 검출 방법을 나타내는 흐름도이다. 도 5를 참조하면, 사용자 단말기로 메시지가 전송되는 경우(S501), 메시지 수신부(110)는 수신된 메시지에 링크가 포함되어 있는지 여부를 판단(S502)한다. 메시지에 링크가 포함되어 있는지 여부는 수신된 메시지를 파싱하여 링크에 해당하는 문자열이 포함되어 있는지 여부에 기초하여 판단될 수 있다.
단계 S502에서 수신된 메시지에 링크가 포함되어 있는 경우 패턴 매칭부(120)는 수신된 메시지로부터 패턴을 추출하고 데이터베이스(170)에 기 저장된, 이미 악의적이라고 판단된 메시지들의 패턴과 비교하여 매칭되는 결과가 존재하는지 확인(S503)한다. 만일 존재하는 경우, 수신된 메시지가 악의적인 메시지라고 판단하여 알림부(160)를 통해 사용자에게 이를 경고(S504)한다. 한편, 단계 S503은 임의적인 단계로서 생략될 수 있다.
만일 단계 S503에서 매칭되는 결과가 존재하지 않는 경우, 링크 추출부(130)는 메시지 수신부(110)로부터 전달받은, 메시지에 포함된 링크로부터 최종 목적지에 해당하는 링크를 추출(S504)한다. 최종 목적지에 해당하는 링크를 추출하는 방식으로서는 전술한 바와 같이 단축된 형태의 링크로부터 전체 링크를 추출하는 제1 변환 방식 및 전체 링크로부터 리다이렉션을 거쳐 최종 목적지로 해당하는 링크를 추출하는 제2 변환 방식 중 적어도 하나 이상을 적용할 수 있다.
다음으로, 판단부(140)는 링크 추출부(130)로부터 추출된, 최종 목적지에 해당하는 링크에 기초하여 사용자 단말기에 악성 앱이 설치될 수 있는 위험성이 존재하는지 여부를 판단(S505)한다. 단계 S505에서 악성 앱이 설치될 수 있는 위험성이 존재하는지 여부를 판단하기 위한 구체적인 예로서 해당 링크가 사용자 단말기(100)에 설치될 수 있는 애플리케이션을 다운로드시키기 위한 링크에 해당하는지, 해당 링크가 현재 작동하는지 또는 해당 링크에 대응되는 IP 주소가 스미싱이 많이 발생하는 특정 국가에 할당되어 있는지 등에 기초하여 판단할 수 있다는 것은 전술한 바 있다.
단계 S505에서 링크를 통해 악성 앱이 설치될 수 있는 위험성이 존재하는 경우, 판단부(140)는 알림부(160)를 통해 이를 사용자에게 경고(S506)한다. 이후 사용자가 링크를 클릭하여 특정 애플리케이션을 다운로드 및 설치하려고 하는 경우(S507), 악성 앱 검출부(150)는 링크를 통해 해당 애플리케이션을 다운로드 한 뒤 악성 앱인지 여부를 검출(S508)한다. 악성 앱인지 여부의 검출은 전술한 바와 같이 다운로드된 애플리케이션의 시그니쳐를 추출하고, 데이터베이스(170)에 기 저장된 악성 앱들의 시그니쳐와 비교하는 패턴 검사를 수행함으로써 검출될 수 있고, 또는 애플리케이션이 스미싱을 수행하기 위해 필요한 미리 정해진 순서의 조합으로 악의적인 행위를 수행하는지 여부를 판단하여 해당 애플리케이션이 악성 앱인지 여부가 검출될 수도 있다.
만일 단계 S508의 검출 결과 악성 앱이라고 판단된 경우, 악성앱 검출부(150)는 알림부(160)를 통해 그 결과를 사용자에게 표시(S509)할 수 있다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명은 특정 기능들 및 그의 관계들의 성능을 나타내는 방법 단계들의 목적을 가지고 위에서 설명되었다. 이러한 기능적 구성 요소들 및 방법 단계들의 경계들 및 순서는 설명의 편의를 위해 여기에서 임의로 정의되었다. 상기 특정 기능들 및 관계들이 적절히 수행되는 한 대안적인 경계들 및 순서들이 정의될 수 있다. 임의의 그러한 대안적인 경계들 및 순서들은 그러므로 상기 청구된 발명의 범위 및 사상 내에 있다. 추가로, 이러한 기능적 구성 요소들의 경계들은 설명의 편의를 위해 임의로 정의되었다. 어떠한 중요한 기능들이 적절히 수행되는 한 대안적인 경계들이 정의될 수 있다. 마찬가지로, 흐름도 블록들은 또한 어떠한 중요한 기능성을 나타내기 위해 여기에서 임의로 정의되었을 수 있다. 확장된 사용을 위해, 상기 흐름도 블록 경계들 및 순서는 정의되었을 수 있으며 여전히 어떠한 중요한 기능을 수행한다. 기능적 구성 요소들 및 흐름도 블록들 및 순서들 둘 다의 대안적인 정의들은 그러므로 청구된 본 발명의 범위 및 사상 내에 있다.
본 발명은 또한 하나 이상의 실시예들의 용어로, 적어도 부분적으로 설명되었을 수 있다. 본 발명의 실시예는 본 발명, 그 측면, 그 특징, 그 개념, 및/또는 그 예를 나타내기 위해 여기에서 사용된다. 본 발명을 구현하는 장치, 제조의 물건, 머신, 및/또는 프로세스의 물리적인 실시예는 여기에 설명된 하나 이상의 실시예들을 참조하여 설명된 하나 이상의 측면들, 특징들, 개념들, 예들 등을 포함할 수 있다. 더구나, 전체 도면에서, 실시예들은 상기 동일한 또는 상이한 참조 번호들을 사용할 수 있는 상기 동일하게 또는 유사하게 명명된 기능들, 단계들, 모듈들 등을 통합할 수 있으며, 그와 같이, 상기 기능들, 단계들, 모듈들 등은 상기 동일한 또는 유사한 기능들, 단계들, 모듈들 등 또는 다른 것들일 수 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
100 : 사용자 단말기 110: 메시지 수신부
111 : 검출 애플리케이션 112 : 메시지
113 : 링크 120 : 패턴 매칭부
130 : 링크 추출부 140 : 판단부
150 : 악성앱 검출부 151 : 다운로드부
152 : 시그니쳐 매칭부 153 : 디컴파일부
154 : 순서 조합 분석부 160 : 알림부
170 : 데이터베이스 200 : 통신 네트워크
300 : 배포 서버 400 : 수집 서버

Claims (17)

  1. 사용자 단말기로 검출 애플리케이션을 제공하는 배포 서버를 포함하는 악의적인 메시지 검출 시스템으로서, 상기 검출 애플리케이션은,
    상기 사용자 단말기에 설치되고 실행되며,
    상기 사용자 단말기로 전송된 메시지에 링크가 포함되어 있는지 여부를 판단하는 메시지 수신부;
    상기 링크로부터 최종 목적지에 해당하는 링크를 추출하는 링크 추출부; 및
    상기 최종 목적지에 해당하는 링크에 기초하여 상기 수신된 메시지가 악의적인 메시지인지를 판단하는 판단부를 포함하고,
    상기 링크 추출부는,
    리다이렉션을 거쳐 최종 목적지에 해당하는 링크를 추출하는 제2 변환 방식을 적용하는, 악의적인 메시지 검출 시스템.
  2. 청구항 1에 있어서, 상기 링크 추출부는,
    단축된 형태의 링크로부터 전체 링크를 추출하는 제1 변환 방식 및 전체 링크로부터 리다이렉션을 거쳐 최종 목적지에 해당하는 링크를 추출하는 제2 변환 방식 중 적어도 하나 이상을 적용하는, 악의적인 메시지 검출 시스템.
  3. 청구항 2에 있어서, 상기 제1 변환 방식은,
    단축된 형태의 제1 링크를 목적지로 HTTP REQUEST를 요청하고 이에 대한 응답으로 회신되는 HTTP RESPONSE에 포함된 제2 링크의 수신을 분석하여 상기 제2 링크가 단축된 형태의 링크가 아닐 때까지 상기 제2 링크를 상기 제1 링크로 하여 반복적으로 수행함으로써 전체 링크를 추출하는, 악의적인 메시지 검출 시스템.
  4. 청구항 2에 있어서, 상기 제2 변환 방식은,
    제3 링크에 해당하는 웹페이지의 소스 코드에 기초하여 리다이렉트되는 제4 링크를 추출하고, 리다이렉트가 발생하지 않을 때까지 상기 제4 링크를 상기 제3 링크로 하여 반복적으로 수행함으로써 최종 목적지에 해당하는 링크를 추출하는, 악의적인 메시지 검출 시스템.
  5. 청구항 1에 있어서, 상기 판단부는,
    상기 최종 목적지에 해당하는 링크가, 소정 애플리케이션을 다운로드시키기 위한 링크에 해당하는 제1 조건, 현재 작동하는 제2 조건, 또는 대응되는 IP 주소가 스미싱이 많이 발생하는 특정 국가에 할당된 제3 조건 중 하나 이상에 해당하는지 여부에 기초하여 상기 수신된 메시지가 악의적인 메시지인지를 판단하는, 악의적인 메시지 검출 시스템.
  6. 청구항 1에 있어서, 상기 검출 애플리케이션은,
    상기 링크를 통해서 다운로드되는 애플리케이션이 악성 앱인지 여부를 검출하는 악성앱 검출부를 더 포함하는, 악의적인 메시지 검출 시스템.
  7. 청구항 6에 있어서, 상기 악성앱 검출부는,
    상기 다운로드되는 애플리케이션이 악성 앱의 코드 조합 데이터에 포함된 특정 기능 및 순서 조합과 일치하는지 여부에 기초하여 악성앱 여부를 검출하는 순서 조합 분석부를 포함하는, 악의적인 메시지 검출 시스템.
  8. 청구항 1 내지 청구항 7 중 어느 한 항에 있어서, 상기 검출 애플리케이션은,
    상기 판단부의 판단 결과 또는 상기 악성앱 검출부의 검출 결과 중 하나 이상을 사용자에게 표시하는 알림부를 더 포함하는, 악의적인 메시지 검출 시스템.
  9. 악의적인 메시지 검출 방법으로서,
    메시지 수신부에 의해, 수신된 메시지에 링크가 포함되어 있는지 여부를 판단하는 링크 판단 단계;
    링크 추출부에 의해, 상기 링크로부터 최종 목적지에 해당하는 링크를 추출하는 링크 추출 단계; 및
    판단부에 의해, 상기 최종 목적지에 해당하는 링크에 기초하여 상기 수신된 메시지가 악의적인 메시지인지를 판단하는 판단 단계를 포함하고,
    상기 링크 추출 단계는,
    리다이렉션을 거쳐 최종 목적지에 해당하는 링크를 추출하는 제2 변환 단계를 수행하는, 악의적인 메시지 검출 방법.
  10. 청구항 9에 있어서, 상기 링크 추출 단계는,
    단축된 형태의 링크로부터 전체 링크를 추출하는 제1 변환 단계; 및
    전체 링크로부터 리다이렉션을 거쳐 최종 목적지에 해당하는 링크를 추출하는 제2 변환 단계 중 적어도 하나 이상을 수행하는, 악의적인 메시지 검출 방법.
  11. 청구항 10에 있어서, 상기 제1 변환 단계는,
    단축된 형태의 제1 링크를 목적지로 HTTP REQUEST를 요청하는 제1 단계; 및
    상기 요청에 대한 응답으로 회신되는 HTTP RESPONSE에 포함된 제2 링크의 수신이 단축된 형태의 링크인지 여부를 분석하는 제2 단계를 상기 제2 링크가 단축된 형태의 링크가 아닐 때까지 상기 제2 링크를 상기 제1 링크로 하여 상기 제1 단계 및 제2 단계를 반복적으로 수행하는, 악의적인 메시지 검출 방법.
  12. 청구항 10에 있어서, 상기 제2 변환 단계는,
    제3 링크에 해당하는 웹페이지의 소스 코드에 기초하여 리다이렉트되는 제4 링크를 추출하는 단계를 리다이렉트가 발생하지 않을 때까지 상기 제4 링크를 상기 제3 링크로 하여 반복적으로 수행하는, 악의적인 메시지 검출 방법.
  13. 청구항 9에 있어서, 상기 판단 단계는,
    상기 최종 목적지에 해당하는 링크가, 소정 애플리케이션을 다운로드시키기 위한 링크에 해당하는 제1 조건, 현재 작동하는 제2 조건, 또는 대응되는 IP 주소가 스미싱이 많이 발생하는 특정 국가에 할당된 제3 조건 중 하나 이상에 해당하는지 여부에 기초하여 하여 상기 수신된 메시지가 악의적인 메시지인지를 판단하는, 악의적인 메시지 검출 방법.
  14. 청구항 9에 있어서, 상기 방법은,
    악성앱 검출부에 의해, 상기 링크를 통해서 다운로드되는 애플리케이션이 악성 앱인지 여부를 검출하는 악성앱 검출 단계를 더 포함하는, 악의적인 메시지 검출 방법.
  15. 청구항 14에 있어서, 상기 악성앱 검출 단계는,
    상기 다운로드되는 애플리케이션이 악성 앱의 코드 조합 데이터에 포함된 특정 기능 및 순서 조합과 일치하는지 여부에 기초하여 악성앱 여부를 검출하는 순서 조합 분석 단계를 포함하는, 악의적인 메시지 검출 방법.
  16. 청구항 14에 있어서, 상기 방법은,
    알림부에 의해, 상기 판단부의 판단 결과 또는 상기 악성앱 검출부의 검출 결과 중 하나 이상을 사용자에게 표시하는 알림 단계를 더 포함하는, 악의적인 메시지 검출 방법.
  17. 청구항 9 내지 청구항 16 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체.
KR1020130072801A 2013-06-25 악의적인 메시지 검출 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체 KR101472073B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130072801A KR101472073B1 (ko) 2013-06-25 악의적인 메시지 검출 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130072801A KR101472073B1 (ko) 2013-06-25 악의적인 메시지 검출 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체

Publications (2)

Publication Number Publication Date
KR20130080831A KR20130080831A (ko) 2013-07-15
KR101472073B1 true KR101472073B1 (ko) 2014-12-16

Family

ID=

Similar Documents

Publication Publication Date Title
KR102071160B1 (ko) 애플리케이션 정보 위험 관리를 위한 방법 및 장치
CN101924760B (zh) 可执行文件的安全下载方法及系统
CN102663319B (zh) 下载链接安全提示方法及装置
CN101304418A (zh) 客户端侧经由提交者核查来防止偷渡式域欺骗
CN103368957A (zh) 对网页访问行为进行处理的方法及系统、客户端、服务器
KR20150044490A (ko) 안드로이드 악성 애플리케이션의 탐지장치 및 탐지방법
CN105631334A (zh) 应用的安全检测处理方法和系统
US8789177B1 (en) Method and system for automatically obtaining web page content in the presence of redirects
US20150067772A1 (en) Apparatus, method and computer-readable storage medium for providing notification of login from new device
CN103401845A (zh) 一种网址安全性的检测方法、装置
CN110084064A (zh) 基于终端的大数据分析处理方法及系统
JP5478390B2 (ja) ログ抽出システムおよびプログラム
CN110071924A (zh) 基于终端的大数据分析方法及系统
KR101372906B1 (ko) 악성코드를 차단하기 위한 방법 및 시스템
KR101605783B1 (ko) 악성 애플리케이션 탐지 방법 및 이 방법을 실행시키는 컴퓨터프로그램
CN107103243B (zh) 漏洞的检测方法及装置
KR101052443B1 (ko) 악성코드 분석 방법 및 시스템
KR101115250B1 (ko) Qr코드의 안전도 검사 장치 및 방법
CN103336693B (zh) refer链的创建方法、装置及安全检测设备
KR101410255B1 (ko) 애플리케이션 파일의 잠재적인 위험성 판별 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
US9584537B2 (en) System and method for detecting mobile cyber incident
Lee et al. A study on realtime detecting smishing on cloud computing environments
CN104506529A (zh) 网站防护方法和装置
KR101472073B1 (ko) 악의적인 메시지 검출 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
KR101642222B1 (ko) 안드로이드 운영체제에서의 스파이 애플리케이션 및 시스템 변조 탐지 방법