KR101545964B1 - 악성 url 검사장치 및 방법 - Google Patents
악성 url 검사장치 및 방법 Download PDFInfo
- Publication number
- KR101545964B1 KR101545964B1 KR1020130131442A KR20130131442A KR101545964B1 KR 101545964 B1 KR101545964 B1 KR 101545964B1 KR 1020130131442 A KR1020130131442 A KR 1020130131442A KR 20130131442 A KR20130131442 A KR 20130131442A KR 101545964 B1 KR101545964 B1 KR 101545964B1
- Authority
- KR
- South Korea
- Prior art keywords
- url
- malicious
- application
- message
- checking
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명에 따르면 악성 URL을 검사하는 방법에 있어서, 다수의 기업 혹은 불특정 개인 등의 메시지 제공자로부터 해당 기업의 공지, 홍보, 광고 등을 위해서나 개인정보 유출 등의 목적으로 사용자 단말로 발송되는 다양한 메시지 중 URL이 포함된 메시지에 대해서는 URL이 악성 애플리케이션의 설치를 유도하는 악성 URL인지 여부를 검사하고, 악성 URL인 경우 해당 URL이 포함된 메시지를 비정상 메시지로 판단하여 사용자 단말로 전송되지 않도록 차단시키거나, URL의 위험성을 경고함으로써 악성 URL로 인한 피해가 방지되도록 한다.
Description
본 발명은 URL(uniform resource locator)이 포함된 메시지 처리 방법에 관한 것으로, 특히 악성 URL을 검사하는 방법에 있어서, 다수의 기업 혹은 불특정 개인 등의 메시지 제공자(message provider)로부터 해당 기업의 공지, 홍보, 광고 등이나 사용자의 개인정보 유출을 위해 사용자 단말(user terminal)로 발송되는 다양한 메시지 중 URL이 포함된 메시지에 대해서는 URL이 악성 애플리케이션의 설치를 유도하는 악성 URL인지 여부를 검사하고, 악성 URL인 경우 해당 URL이 포함된 메시지를 비정상 메시지로 판단하여 사용자 단말로 전송되지 않도록 차단시키거나, URL의 위험성을 경고함으로써 악성 URL로 인한 피해가 방지되도록 하는 악성 URL 검사장치 및 방법에 관한 것이다.
근래에 들어, 휴대폰, 스마트폰(smart phone) 등의 사용자 단말은 현대인에게 없어서는 안될 필수품으로서 남녀 노소를 막론하고 사용하고 있으며, 서비스 제공자 및 단말기 제조자는 다른 업체와의 차별화를 위해 제품 또는 서비스를 경쟁적으로 개발하고 있다.
이러한, 사용자 단말은 폰북(phone book), 게임(game), 메시지(message), 이메일(email), 모닝콜(morning call), MP3(MPEG Layer 3), 디지털 카메라 및 무선 인터넷 서비스가 가능한 멀티미디어 기기로 발전하여 다양한 서비스를 제공하고 있다.
한편, 위와 같은 사용자 단말의 기능 가운데 메시지 기능은 음성 통화에 비하여 비교적 저렴하다는 장점 때문에 사용자들이 많이 사용하고 있다.
이러한, 메시지는 예를 들어 SMS(short messaging service), MMS(multimedia messaging service), 패킷기반 메시지 등이 될 수 있다. SMS는 간단한 텍스트를 전송할 수 있는 메시지를 말할 수 있으며, MMS는 단순한 문자 메시지에서 벗어나 동영상, 사진, 음악 파일 등을 부가하여 전송할 수 있는 메시지를 말할 수 있다. 또한, 패킷기반 메시지는 데이터망을 이용하여 패킷 교환 방식을 통해 전송되는 메시지로 MMS와 마찬가지로 동영상, 사진, 음악파일 등의 파일 첨부가 가능하며, 사용자간 대화형식의 메시지 교환도 가능한 메시지를 말할 수 있다.
하지만, 최근에는 다수의 기업 혹은 불특정 개인이 위와 같은 SMS/MMS 메시지 기능 등을 이용하여 기업의 공지, 홍보, 광고 등에 이용하고 있어서 사용자는 불필요한 수많은 메시지의 수신으로 인한 공해를 느끼는 등의 불편함이 있으며, 또한, 비정상적인 기업으로부터의 사행성 광고 메시지, 음란 메시지 등과 같은 스팸 메시지로 인해 불편함을 겪는 문제점이 있었다.
또한, 위와 같이 기업, 개인 등의 메시지 전송 주체로부터 공지, 홍보, 광고의 타겟이 되는 다수의 사용자 단말로 전송되는 SMS, MMS 또는 패킷기반 메시지 등의 메시지 중에는 메시지내 악성 URL을 삽입하여 악의적인 목적을 실현하는 스팸(스미싱) 메시지도 존재할 수 있다.
이때, 위와 같은 악성 URL이 포함된 메시지는 해당 메시지를 수신한 사용자가 URL을 클릭하는 경우 악성 코드를 포함하는 애플리케이션이 설치되도록 하거나 해외의 스미싱 업체로 연결되도록 하는 등으로 사용자에게 피해를 발생시킬 수 있다.
따라서, 사용자의 이동통신 단말기 등으로 전송되는 메시지 중 악성 URL이 포함된 메시지에 대해서는 메시지의 전송이 차단되도록 하거나, 메시지가 사용자 단말로 전송되는 경우 메시지내 포함된 URL의 위험성이 경고되도록 함으로써, 악성 URL에 의한 피해를 줄일 수 있도록 하는 기술 개발이 필요하다.
한편, 위와 같은 악성 URL에 의한 피해를 방지하기 위한 종래의 방법으로는 예를 들어 스팸 필터링 시스템이나 SMSC(short message service center)에서 악성 애플리케이션의 설치를 유도하는 등의 비정상 메시지에 대해 패턴(pattern)으로 필터링(filtering)하는 방법이 이용되고 있으나, 악성 애플리케이션 설치를 유도하는 메시지를 필터링할 수 있는 패턴이 매우 제한적이고 사후에 해당 메시지에 대한 신고를 받고 분석하여 등록하는 방식이어서 필터링 성능이 떨어지는 문제점이 있다.
또한, 백신 개발사에서 주로 제안하고 있는 방식으로 시험용 단말기를 여러 대 확보하고 개인 정보를 의도적으로 유출한 후, 악성 애플리케이션 전파를 시도하는 문제의 메시지를 수집하여 메시지 전문을 확보하는 방법이 사용되고 있으나, 사용자의 개인 정보를 타겟으로 하는 변종 악성 애플리케이션이 1주일에도 최소 수백여종 이상이 발견되는 상황에서 백신 개발사에서 진행하는 방법 또한 성능이 제한적이며 확보할 수 있는 악성 애플리케이션 수가 제한적인 문제점이 있다.
(특허문헌)
대한민국 등록특허번호 10-0482538호(등록일자 2005년 04월 01일)에는 멀티미디어 메시지 서비스 방법 및 시스템에 관한 기술이 개시되어 있다.
따라서, 본 발명에서는 악성 URL을 검사하는 방법에 있어서, 다수의 기업 혹은 불특정 개인 등의 메시지 제공자로부터 해당 기업의 공지, 홍보, 광고 등을 위해서나 개인정보 유출 등의 목적으로 사용자 단말로 발송되는 다양한 메시지 중 URL이 포함된 메시지에 대해서는 URL이 악성 애플리케이션의 설치를 유도하는 악성 URL인지 여부를 검사하고, 악성 URL인 경우 해당 URL이 포함된 메시지를 비정상 메시지로 판단하여 사용자 단말로 전송되지 않도록 차단시키거나, URL의 위험성을 경고함으로써 악성 URL로 인한 피해가 방지되도록 하는 악성 URL 검사장치 및 방법을 제공하고자 한다.
상술한 본 발명은 악성 URL 검사장치로서, 메시지를 수신하면, 상기 메시지 내에 URL(uniform resource locator)이 포함되어 있는지 여부를 검사하고, 상기 URL을 추출하는 URL 추출부와, 상기 URL을 통해 애플리케이션을 다운로드 받는 통신부와, 상기 통신부를 통해 다운로드된 상기 애플리케이션내에 보안상 위험성을 가지는 권한 또는 API가 포함되어 있는지 여부를 검사하여 상기 URL의 악성여부를 판단하는 권한/API 검증부를 포함한다.
또한, 상기 악성 URL 검사장치는, 상기 악성으로 판단된 URL 리스트 정보를 필터링 정보로 저장하고, 상기 통신부에서 상기 애플리케이션을 다운로드 받기 전에 상기 추출된 URL이 상기 필터링 정보에 존재하는지 여부를 검사하여 상기 추출된 URL이 상기 필터링 정보에 존재하는 경우 상기 URL을 차단하는 사전 필터링부를 더 포함하는 것을 특징으로 한다.
또한, 상기 사전 필터링부는, 상기 권한/API 검증부에서 악성으로 판단된 URL을 상기 필터링 정보에 업데이트하는 것을 특징으로 한다.
또한, 상기 악성 URL 검사장치는, 악성 애플리케이션을 유포하는 사이트를 포함하여 유해 사이트로 판단된 URL에 사용자 단말이 접속하는 경우, 상기 접속을 차단하는 유해 사이트 차단시스템으로 상기 악성으로 판단된 URL을 제공하는 것을 특징으로 한다.
또한, 상기 악성 URL 검사장치는, 상기 URL이 악성으로 판단되는 경우, 상기 URL이 악성임을 표시하는 URL 검증 정보를 생성하고, 상기 URL 검증 정보가 상기 메시지에 포함되도록 가공하는 가공부를 더 포함하는 것을 특징으로 한다.
또한, 상기 가공부는, 상기 URL 검증 정보를 상기 메시지의 헤더 또는 데이터 영역에 포함시키는 것을 특징으로 한다.
또한, 상기 악성 URL 검사장치는, 상기 통신부를 통해 다운로드된 상기 애플리케이션을 애뮬레이터 상에서 실행시킨 후, 상기 실행 결과를 분석하여 악성 여부를 판단하는 동적 분석부를 더 포함하는 것을 특징으로 한다.
또한, 상기 악성 URL 검사장치는, 상기 통신부를 통해 다운로드된 상기 애플리케이션에 대해 악성애플리케이션탐지용 백신엔진을 이용하여 상기 애플리케이션이 악성인지 여부를 검사하는 백신 엔진부를 더 포함하는 것을 특징으로 한다.
또한, 상기 권한/API 검증부는, 상기 통신부를 통해 다운로드된 상기 애플리케이션의 실행파일을 분석하여 상기 애플리케이션에 부여된 권한 정보 중 보안상 위험성을 가지는 권한이 존재하는지를 검사하여 상기 URL의 악성여부를 판단하는 것을 특징으로 한다.
또한, 상기 권한/API 검증부는, 상기 애플리케이션의 실행 파일을 디컴파일하여 상기 권한을 수행하기 위한 API가 실행되는지 여부를 더 검사하는 것을 특징으로 한다.
또한, 본 발명은 악성 URL 검사방법으로서, 메시지를 수신하면, 상기 메시지 내에 URL이 포함되어 있는지 여부를 검사하고, 상기 URL을 추출하는 URL 추출 단계와, 상기 URL을 통해 애플리케이션을 다운로드 받는 다운로드 단계와, 상기 다운로드된 애플리케이션 내에 보안상 위험성을 가지는 권한 또는 API가 포함되어 있는지 여부를 검사하여 상기 URL의 악성여부를 판단하는 권한/API 검증단계를 포함한다.
또한, 상기 악성 URL 검사방법은, 상기 악성으로 판단된 URL 리스트 정보를 필터링 정보로 이용하여 상기 추출된 URL이 상기 필터링 정보에 존재하는지 검사하고 상기 추출된 URL이 상기 필터링 정보에 존재하는 경우 상기 URL을 악성 URL로 판단하는 사전필터링 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 URL이 악성으로 판단되는 경우, 상기 URL이 악성임을 표시하는 URL 검증 정보를 생성하고, 상기 URL 검증 정보가 상기 메시지에 포함되도록 가공하는 메시지 가공단계를 더 포함하는 것을 특징으로 한다.
또한, 다운로드된 상기 애플리케이션을 애뮬레이터 상에서 실행시킨 후, 상기 실행결과를 분석하여 악성 여부를 판단하는 동적분석단계를 더 포함하는 것을 특징으로 한다.
또한, 다운로드된 상기 애플리케이션에 대해 악성애플리케이션 탐지용 백신엔진을 이용하여 상기 애플리케이션이 악성인지 여부를 검사하는 악성애플리케이션 검사단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 권한/API 검증단계는, 다운로드된 상기 애플리케이션의 실행파일을 분석하여 상기 애플리케이션에 부여된 권한 정보 중 보안상 위험성을 가지는 권한이 존재하는지를 검사하는 것을 특징으로 한다.
또한, 상기 권한의 검사 이후에, 상기 애플리케이션의 실행 파일을 디컴파일하여 상기 권한을 수행하기 위한 API가 실행되는지 여부를 더 검사하는 것을 특징으로 한다.
본 발명에 따르면, 악성 URL을 검사하는 방법에 있어서, 다수의 기업 혹은 불특정 개인 등의 메시지 제공자로부터 해당 기업의 공지, 홍보, 광고 등을 위해서나 개인정보 유출 등의 목적으로 사용자 단말로 발송되는 다양한 메시지 중 URL이 포함된 메시지에 대해서는 URL이 악성 애플리케이션의 설치를 유도하는 악성 URL인지 여부를 검사하고, 악성 URL인 경우 해당 URL이 포함된 메시지를 비정상 메시지로 판단하여 사용자 단말로 전송되지 않도록 차단시키거나, URL의 위험성을 경고함으로써 악성 URL로 인한 피해가 방지되도록 하는 이점이 있다.
또한, 악성 URL을 포함한 메시지에 대해 사용자 단말로 전송되기 전 메시지 전송서버에서 미리 필터링을 통해 차단시킴으로써 메시지를 통해 전파되는 악성 애플리케이션에 대한 원천적이고 선제적으로 차단할 수 있는 이점이 있다.
또한, 악성 URL을 통해 다운로드되는 애플리케이션에 대한 악성 여부를 통신사 자체적으로 검사할 수 있는 모델을 제시함으로써 백신 엔진을 제공하는 백신 제공 회사에 비하여 악성 애플리케이션 샘플 수집에 더 유리하게 되어, 악성 애플리케이션 대응에 있어서 통신사의 독자적인 사업 모델을 창출할 수 있는 이점이 있다.
도 1은 본 발명의 실시예가 적용되는 악성 URL 검사장치를 포함하는 메시지 전송을 위한 통신망의 구성도,
도 2는 본 발명의 실시예에 따른 악성 URL 검사장치의 상세 블록 구성도,
도 3은 본 발명의 실시예에 따른 사용자 단말의 상세 블록 구성도,
도 4는 본 발명의 실시예에 따른 악성 URL로 인한 접속 차단 안내 메시지 표시 예시도,
도 5는 본 발명의 실시예에 따른 악성 URL 검사장치에서 URL 분석을 통한 비정상 메시지 검사 동작 제어 흐름도,
도 2는 본 발명의 실시예에 따른 악성 URL 검사장치의 상세 블록 구성도,
도 3은 본 발명의 실시예에 따른 사용자 단말의 상세 블록 구성도,
도 4는 본 발명의 실시예에 따른 악성 URL로 인한 접속 차단 안내 메시지 표시 예시도,
도 5는 본 발명의 실시예에 따른 악성 URL 검사장치에서 URL 분석을 통한 비정상 메시지 검사 동작 제어 흐름도,
이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 실시예가 적용되는 악성 URL 검사장치를 포함하는 메시지 전송을 위한 통신망의 구성을 도시한 것이다.
이하, 도 1을 참조하여, 메시지 전송을 위한 통신망상 각 구성요소에서의 동작을 상세히 설명하기로 한다.
먼저, 메시지 제공자(message provider)(100)는 이동통신망을 포함하는 유/무선 통신망 등에 연결된 사용자 단말(user terminal)(150)에 SMS(short message service), MMS(multimedia message service) 메시지 또는 패킷기반 메시지 등의 메시지를 발송하는 주체를 의미한다. 이때, 위와 같은 사용자 단말(150)은 예를 들어 휴대폰, 스마트폰(smart phone) 등의 이동통신 단말기 또는 메시지 수신이 가능한 표시창을 구비한 일반 유/무선 전화기 등을 포함할 수 있고, 위와 같은 메시지는 MMS 메시지, SMS 메시지 또는 패킷기반 메시지 등이 될 수 있다.
또한, 이러한 메시지 제공자(100)는 예를 들어 금융업체, 제조업체, 오픈 마켓 등의 기업 혹은 불특정 개인 등이 될 수 있으며, 메시지 제공자(100)에 의해 발송되는 메시지는 예를 들어 해당 기업과 관련하여 사용자에게 공지, 홍보 또는 광고하고자 하는 내용의 메시지가 될 수 있다.
메시지 중계자(102)는 메시지 제공자(100)가 되는 금융업체, 제조업체, 오픈 마켓 등의 기업 혹은 불특정 개인 등에서 타겟(target)이 되는 사용자의 사용자 단말(150)로의 메시지 발송 요청을 수신하여 발송 요청에 대응되는 내용의 메시지를 생성하고, 이와 같이 생성한 메시지를 통신망상 메시지 전송서버(110)로 전송한다. 즉, 메시지 중계자(102)는 메시지 제공자(100)로부터 전송할 메시지의 내용 등과 같은 데이터와 해당 메시지가 전송되어야 하는 타겟 사용자의 사용자 단말(150)의 전화번호(Mobile Identification Number: MIN) 등의 정보를 제공받아 메시지를 구성하고, 이를 통신망상 메시지 전송서버(150)로 전송한다.
메시지 전송서버(110)는 메시지 제공자(100)로부터 발송된 메시지를 발송 요청된 사용자 단말(150)로 전송하는 서버로써, SMSC(112), MMSC(114) 등의 될 수 있으며, 메시지를 사용자 단말(150)로 전송한다.
한편, 위와 같이 기업 혹은 불특정 개인 등의 메시지 전송 주체로부터 다수의 타겟 사용자의 사용자 단말(150)로 전송되는 메시지 중 악성 URL을 포함하는 메시지는 메시지내 포함된 악성 URL이 클릭되는 경우 악성 코드를 포함하는 애플리케이션이 설치되도록 하거나 해외의 스미싱 서버로 연결되도록 함으로써, 피해를 발생시키는 문제점이 있었음은 전술한 바와 같다.
따라서, 본 발명에서는 메시지 전송서버(110)에서 URL이 포함된 메시지에 대해서는 해당 메시지를 전송 요청된 사용자 단말(150)로 전송하기 전에, 해당 메시지에 포함된 URL이 악성인지 여부를 검사하는 악성 URL 검사장치(130)로 악성 URL 여부를 판단하도록 한 후, 악성 URL을 포함한 비정상 메시지에 대해서는 사용자 단말(150)로 전송되는 것을 차단시키거나 위험성이 있는 메시지임을 알리는 경고정보가 표시되도록 함으로써 비정상 메시지에 의한 피해가 방지될 수 있도록 한다.
즉, 악성 URL 검사장치(130)는 예를 들어 도 1에서 보여지는 바와 같이 SMSC(112), MMSC(114) 등의 메시지 전송서버(110)와 연결되어 SMSC(112) 등으로 메시지가 수신되는 경우, SMSC(112)로부터 해당 메시지를 전달받아 메시지에 포함된 URL이 정상 URL인지 또는 악성 의도를 가지는 악성 URL인지 여부를 판단함으로써 사용자 단말(150)로 전송 요청된 메시지가 비정상 메시지인지 여부를 판단하게 된다.
이하, 악성 URL 검사장치(130)에서 악성 URL을 검사하는 동작을 보다 상세히 설명하기로 한다.
먼저, 악성 URL 검사장치(130)는 메시지내 포함된 URL 정보를 추출한 후, 악성 URL 리스트(list)와의 비교를 통한 사전 필터링을 통해 메시지로부터 추출된 URL이 악성 URL인지 여부를 판단하고, 악성 URL로 판단하는 경우 이와 같은 판단 정보를 메시지 전송 서버(110)로 제공하여 해당 메시지가 사용자 단말(150)로 전송되지 않도록 하거나, URL의 위험성이 경고되도록 한다. 이때, 위와 같은 악성 URL 리스트는 악성 URL 검사장치(130)에서 이전에 검사가 진행되어 악성 URL로 판단된 URL들의 리스트 정보를 말하는 것으로, 이러한 악성 URL 리스트는 악성 URL 검사장치(130)에 구비될 수 있으며, 악성 URL 검사장치(130)에 의해 악성 URL 검사가 수행되는 과정에서 악성 URL로 판단된 URL 정보가 주기적으로 업데이트(update)될 수 있다.
다음으로, 악성 URL 검사장치(130)는 위와 같은 사전 필터링을 통해 악성 URL인지 여부가 정확히 판단되지 않는 URL에 대해서는 백신 검사, 권한/API 검사, 동적 분석 등을 통해 악성 URL인지 여부를 판단할 수 있다.
이때, 위와 같은 백신 검사, 권한/API 검사, 동적 분석 등을 통한 악성 URL 여부 판단 방법에 있어서, 악성 URL 검사장치(130)는 사전 필터링을 통해 악성 URL인지 여부가 판단되지 않은 URL에 대해서는 유무선 통신망을 통해 URL 주소로 링크되는 웹서버(도시하지 않음) 등에 접속하고, 해당 URL로의 접속에 따라 다운로드되는 애플리케이션(application)의 악성 여부 검사를 통해 URL의 악성 여부를 판단하게 된다.
좀더 자세히 설명하면 먼저, 악성 URL 검사장치(130)는 다운로드된 애플리케이션에 대해 이전에 검사된 애플리케이션의 시그니처(signiture) 정보와 비교하여 동일한 애플리케이션인지 여부를 검사함으로써 해당 애플리케이션의 악성 여부를 검사할 수 있다. 이때, 악성 URL 검사장치(130)는 위와 같은 시그니처 정보와의 비교를 통해 애플리케이션이 악성 애플리케이션으로 검사된 경우 해당 URL을 악성 URL로 판단하고, 정상 애플리케이션으로 검사된 경우 해당 URL을 정상 URL로 판단할 수 있다. 또한 이때, 위와 같은 시그니처 정보는 예를 들어 SHA-256, MD5 등의 해쉬코드 정보일 수 있다.
다음으로, 악성 URL 검사장치(130)는 다운로드된 애플리케이션이 이전에 검사된 적이 없는 애플리케이션인 경우, 미리 구비하고 있는 백신 엔진을 이용하여 악성 애플리케이션인지 여부를 검사한다. 위와 같은 백신 엔진은 예를 들어 백신을 개발하는 회사로부터 제공된 상용 백신 엔진일 수 있으며, 악성 URL 검사장치(130)는 다운로드된 애플리케이션이 악성 애플리케이션으로 검사된 경우 해당 URL을 악성 URL로 판단한다. 그러나, 위와 같은 백신 엔진을 이용한 애플리케이션의 악성 여부 검사는 백신 엔진에 포함되지 않는 변종 패턴을 가지는 애플리케이션에 대해서는 정확한 검사가 이루어지지 않을 수도 있다.
따라서, 백신엔진을 통해 악성 애플리케이션으로 판단되지 않은 애플리케이션에 대해서 악성 URL 검사장치(130)는 다시 권한/API 검사, 동적 분석 등을 추가로 수행하게 된다.
즉, 악성 URL 검사장치(130)는 백신엔진을 통해 악성 애플리케이션 여부가 검사되지 않은 애플리케이션에 대해 해당 애플리케이션의 실행 파일을 분석하여 애플리케이션이 가지고 있는 권한 정보를 검사한다.
이러한 권한 정보는 애플리케이션이 사용자 단말(150) 등에 설치될 때 사용자 단말(150)에서 수행할 수 있는 권한에 대한 정보를 기록한 것으로, 악성 애플리케이션인 경우 예를 들어 "메시지 읽기", "통화내용 가로채기" 등의 사용자의 개인 정보를 유출할 수 있는 보안상 위험한 권한이 설정되어 있을 수 있다. 또한 이때, 이러한 권한 정보는 애플리케이션이 안드로이드 OS(operating system)를 기반으로 작성된 경우는 예를 들어 AndroidManifest.xml 파일 등에 기록될 수 있다.
따라서, 악성 URL 검사장치(130)는 권한 검사를 통해 다운로드된 애플리케이션에 보안상 위험한 권한이 있는 것으로 검사되는 경우 해당 URL을 악성 URL로 판단할 수 있다. 이때, 악성 URL로 판단할 수 있는 권한은 정책에 따라 변경 설정될 수 있다.
또한, 악성 URL 검사장치(130)는 악성 URL로 판단될 수 있는 보안상 위험한 권한을 가지고 있는 애플리케이션에 대해서는 API 검사를 통해 해당 애플리케이션의 실행파일을 디컴파일(decompile)한 후, 권한이 수행되기 위한 API가 실제로 호출되도록 작성된 것을 확인하는 경우 해당 URL을 악성 URL로 판단할 수 있다.
또한, 악성 URL 검사장치(130)는 위와 같은 권한/API 검사와 더불어 추가적으로 보다 확실한 악성 여부 검사 방법으로써 해당 애플리케이션을 애뮬레이터(emulator)상에서 실제 실행시켜 분석하는 동적 분석을 수행하여 악성 여부를 검사할 수 있으며, 애뮬레이터상에서 실제 실행된 애플리케이션의 행위 분석 결과 악성 행위를 수행하는 것으로 검사되는 경우 해당 URL을 악성 URL로 판단할 수 있다.
이어, 악성 URL 검사장치(130)는 위와 같이 설명된 방법을 통해 사용자 단말(150)로 전송 요청된 메시지내 포함된 URL이 악성 URL로 판단된 경우, 해당 메시지가 비정상 메시지임을 메시지 전송서버(110)로 통보하여, 비정상 메시지가 사용자 단말(150)로 전송되는 것이 차단되도록 하거나, 메시지가 전송되는 경우에는 해당 메시지가 악성 URL을 포함하고 있는 위험성 있는 메시지임을 알리는 경고정보가 표시되도록 함으로써 비정상 메시지에 의한 피해가 방지될 수 있도록 한다.
또한, 악성 URL 검사장치(130)는 위와 같은 악성 애플리케이션을 다운로드하도록 유도하는 악성 URL이 SMS, MMS 등의 메시지 외에 통신망상 다른 경로를 통해 사용자 단말(150)로 전송되는 경우를 대비하여 악성 URL로 판단된 URL 정보를 통신망상 유해사이트 차단 및 안내 시스템(140)에 제공하고, 이를 주기적으로 업데이트할 수 있다.
유해사이트 차단 및 안내 시스템(140)은 사용자 단말(150)에 피해를 줄 수 있는 악성 애플리케이션을 배포하는 등의 유해한 사이트에 대한 정보를 구비하여 사용자 단말(150)이 해당 유해 사이트로 접속하려고 하는 경우 이를 차단시키고 위험성에 대한 안내페이지를 제공할 수 있는 시스템이다.
따라서, 악성 URL 검사장치(130)에서 이러한 유해사이트 차단 및 안내 시스템(140)에 악성 URL에 대한 정보를 제공하고, 주기적으로 업데이트시킴에 따라 악성 URL이 SMS, MMS 등의 메시지 외에 통신망상 다른 경로(예를 들면, 문자 메시징 애플리케이션 등)를 통해 사용자 단말(150)로 전송되어, 악성 URL이 포함된 메시지를 사전에 차단시키거나 경고하지 못한 경우라도, 악성 URL 정보를 가지고 있는 유해사이트 차단 및 안내 시스템(140)에 의해 사용자 단말(150)이 해당 악성 URL로 접속하는 것을 차단시킬 수 있게 된다.
이때, 유해사이트 차단 및 안내 시스템(140)은 악성 URL 검사장치(130)에서 제공된 악성 URL 정보를 이용하여 사용자 단말(150)의 해당 URL로의 접속을 차단시키는 경우에는 도 4에서 보여지는 바와 같은 차단 안내 메시지를 사용자 단말(150)로 전송하여 사용자가 인지할 수 있도록 할 수도 있다.
한편, 위 설명한 악성 URL 검사장치(130)의 설명에서는 악성 URL 검사장치(130)가 메시지 전송서버(110)에서 직접적으로 메시지를 제공받아 해당 메시지로부터 URL을 추출한 후, 추출된 URL에 대해 악성 URL인지 정상 URL인지 여부를 판단하는 것을 설명하였으나 스팸필터링 서버(120)와의 연동을 통해 위와 같은 동작을 수행하는 것도 가능하다.
이하에서는 스팸필터링 서버(120)와 악성 URL 검사장치(130)가 연동하여 URL이 포함된 메시지에 대해 비정상 메시지 여부를 판단하는 동작을 상세히 설명하기로 한다.
먼저, 스팸필터링 서버(120)는 메시지 전송서버(130)를 통해 사용자 단말(150)로 전송되는 다양한 형태의 메시지에 대해 기 저장된 필터링 패턴(filtering pattern)과 비교하여 스팸성 메시지인지 여부를 검사하는 서버를 말한다.
따라서, 본 발명의 실시예에서는 스팸필터링 서버(120)에서 위와 같은 스팸 메시지 필터링 기능과 함께 URL이 포함된 메시지에 대해 해당 메시지로부터 URL을 추출하도록 하고, 악성 URL 검사장치(130)로 해당 URL이 악성 URL인지 여부를 요청하도록 구현할 수 있다. 또한, 악성 URL 검사장치(130)로부터 해당 URL이 악성 URL로 통보되는 경우 악성 URL을 포함하고 있는 메시지에 대해서는 메시지 전송서버(110)로 메시지가 비정상 메시지임을 통보하도록 하여 해당 메시지가 사용자 단말(150)로 전송되지 않도록 구현할 수 있다.
그러면, 악성 URL 검사장치(130)는 스팸필터링 서버(120)로부터 URL의 악성 여부 판단을 요청 받는 경우에는 앞서 설명한 방식과 동일하게 해당 URL이 악성 URL인지 정상 URL인지 여부를 판단하고, 결과를 스팸필터링 서버(120)로 제공하게 된다.
또한, 스팸필터링 서버(120)는 악성 URL 검사장치(130)로부터 악성 URL로 판단된 URL에 대해서는 해당 URL의 리스트 정보를 필터링 패턴으로 구비하여 새로이 수신된 메시지내 포함된 URL의 악성 여부 판단 시, 악성 URL 검사장치(130)로 판단을 요청하기 전에 악성 URL 리스트와 비교하여 악성 여부를 판단할 수도 있다. 이때, 이러한 악성 URL 리스트는 악성 URL 검사장치(130)와 연동하여 주기적으로 업데이트될 수 있다.
도 2는 본 발명의 실시예에 따른 악성 URL 검사장치의 상세 블록 구성을 도시한 것으로, 통신부(200), URL 추출부(202), 사전 필터링부(204), 백신부(206), 권한/API 검증부(208), 동적 분석부(212), 가공부(214), 메모리부(216), 데이터 베이스(data base)(218), 제어부(220) 등을 포함할 수 있다.
이하, 도 2를 참조하여 본 발명의 악성 URL 검사장치(104)의 각 구성요소에서의 동작을 상세히 설명하기로 한다.
먼저, 통신부(200)는 SMSC(108), MMSC(110) 또는 패킷기반 메시지 서버 등의 메시지 전송 서버(110)와의 데이터 송수신을 수행하고, 인터넷 등의 통신망과 연결되어 통신망상 웹서버(web server), 유해사이트 차단 및 안내 시스템(140) 등과의 데이터 송수신을 수행한다.
URL 추출부(202)는 사용자 단말(150)로 전송이 요청되는 메시지가 메시지 전송 서버(110)로 수신되는 경우, 메시지내 URL이 포함되어 있는지 검사하고, URL이 포함된 경우 해당 URL을 추출한다.
사전 필터링부(204)는 URL 추출부(202)로부터 추출된 URL에 대해 악성 URL 리스트와의 비교를 통한 사전 필터링을 수행하여 메시지로부터 추출된 URL이 악성 URL인지 여부를 판단하고, 악성 URL로 판단하는 경우 이와 같은 판단 정보를 제어부(220)에 제공한다. 이에 따라 제어부(220)는 악성 URL 판단 정보를 메시지 전송 서버(110)로 제공하여 해당 메시지가 사용자 단말(150)로 전송되지 않도록 한다. 이때, 이러한 악성 URL 리스트는 악성 URL 검사장치(130)에서 이전에 검사가 진행되어 악성 URL로 판단된 URL들의 리스트 정보를 말하는 것으로, 데이터 베이스(218)에 저장될 수 있으며, 악성 URL 검사 과정에서 악성 URL로 판단된 URL 정보가 주기적으로 업데이트될 수 있다.
백신 엔지부(206)는 URL의 접속을 통해 다운로드된 애플리케이션에 대해 미리 구비하고 있는 백신 엔진을 이용하여 악성 애플리케이션인지 여부를 검사하고, 검사결과를 제어부(220)에 제공한다. 위와 같은 백신 엔진은 예를 들어 백신을 개발하는 회사로부터 제공된 상용 백신 엔진일 수 있다.
권한/API 검증부(208)는 애플리케이션의 실행 파일을 분석하여 애플리케이션이 가지고 있는 권한 정보를 검사하여 보안상 위험한 권한이 설정되어 있는 경우, 악성 URL로 판단하고 이와 같은 판단 결과를 제어부(220)에 제공한다. 이러한 권한 정보는 애플리케이션이 사용자 단말(150) 등에 설치될 때 사용자 단말(150)에서 수행할 수 있는 권한에 대한 정보를 기록한 것으로, 악성 애플리케이션인 경우 예를 들어 "메시지 읽기", "통화내용 가로채기" 등의 사용자의 개인 정보를 유출할 수 있는 보안상 위험한 권한이 설정되어 있을 수 있다.
또한, 권한/API 검증부(208)는 위와 같은 권한 검사와 더불어 애플리케이션의 실행파일을 디컴파일하여 분석한 후, 보안상 위험한 권한이 수행되기 위한 API가 실제로 호출되도록 실행파일이 작성되어 있는지 여부를 검사하여 악성 URL 여부를 판단할 수도 있다. 즉, 예를 들어 권한/API 검증부(208)는 API가 실제로 호출되도록 실행파일이 작성된 경우는 악성 URL로 판단할 수 있고, 아닌 경우는 정상 URL로 판단할 수도 있다.
동적 분석부(212)는 애플리케이션을 애뮬레이터(emulator)상에서 실제 실행시켜 분석하는 동적 분석을 수행하여 악성 여부를 검사할 수 있다. 즉, 동적 분석부(212)는 애플리케이션을 애뮬레이터상에서 실제 실행시키고, 실행된 애플리케이션의 행위를 분석하여 악성 행위를 수행하는 것으로 검사되는 경우, 악성 URL로 판단하고, 이와 같은 판단 결과를 제어부(220)에 제공한다.
가공부(214)는 위와 같이 URL 분석을 통해 메시지내 포함된 URL이 악성 URL로 확인되는 경우, 악성 URL임을 알리는 URL 검증 정보를 생성하고, 이와 같이 생성한 URL 검증정보가 메시지내 포함되도록 가공한다. 이때, 가공부(214)는 URL 검증 정보를 메시지에 포함시킴에 있어서, 예를 들어 메시지의 헤더(header)나 데이터 영역(data area)의 일정 영역에 부가할 수 있다. 이와 같은 경우 이동통신 단말기 등의 사용자 단말(150)에서는 메시지상 미리 약속된 영역에서 URL 검증 정보를 읽어 들여 URL의 악성 여부를 확인하고, URL의 악성 여부를 메시지와 함께 표시시켜 사용자가 URL의 위험성을 사전에 인지할 수 있도록 한다.
메모리부(216)는 악성 URL 검사장치(130)의 전반적인 동작을 위한 동작 제어 프로그램을 저장하고 있으며, 제어부(220)는 메모리부(216)에 저장된 동작 제어 프로그램에 따라 악성 URL 검사장치(130)의 전반적인 동작을 제어한다.
이하, 동작을 보다 상세히 살펴보면, 먼저 제어부(220)는 URL에 대해 사전 필터링부(204)를 통해 악성 URL 리스트와의 비교를 통한 사전 필터링을 수행하여 악성 URL인지 여부를 판단하고, 악성 URL로 판단하는 경우 이와 같은 판단 정보를 메시지 전송 서버(110)로 제공하여 해당 메시지가 사용자 단말(150)로 전송되지 않도록 한다. 이때, 위와 같은 악성 URL 리스트는 악성 URL 검사장치(130)에서 이전에 검사가 진행되어 악성 URL로 판단된 URL들의 리스트 정보를 말할 수 있으며, 검사 과정에서 악성 URL로 판단된 URL 정보가 주기적으로 업데이트될 수 있다.
다음으로, 제어부(220)는 위와 같은 사전 필터링을 통해 악성 URL인지 여부가 정확히 판단되지 않는 URL에 대해서는 백신 엔진부(206)를 통한 백신 검사, 권한/API 검증부(208)를 통한 권한/API 검사, 동적 분석부(212)를 통한 동적 분석 등을 통해 악성 URL인지 여부를 판단하게 된다.
이때, 위와 같은 백신 검사, 권한/API 검사, 동적 분석 등을 통한 악성 URL 여부 판단 방법에 있어서, 제어부(220)는 먼저 통신망을 통해 해당 URL로 접속하고, 해당 URL로의 접속에 따라 다운로드되는 애플리케이션의 악성 여부 검사를 통해 URL의 악성 여부를 판단할 수 있다.
먼저, 제어부(220)는 애플리케이션에 대해 이전에 검사된 애플리케이션의 시그니처 정보와 비교를 수행하고, 비교결과 해당 애플리케이션이 악성 애플리케이션으로 검사된 경우 해당 URL을 악성 URL로 판단하며, 정상 애플리케이션으로 검사된 경우 해당 URL을 정상 URL로 판단할 수 있다. 이때, 위와 같은 시그니처 정보는 예를 들어 SHA-256, MD5 등의 해쉬코드 정보일 수 있다.
다음으로, 제어부(220)는 다운로드된 애플리케이션이 이전에 검사된 적이 없는 애플리케이션인 경우, 백신 엔진부(206)를 제어하여 백신 엔진부(206)에 구비된 백신 엔진에 의해 악성 애플리케이션인지 여부가 검사되도록 한 후, 악성 애플리케이션으로 검사되는 경우 해당 URL을 악성 URL로 판단할 수 있다.
그러나, 위와 같은 백신 엔진을 이용한 애플리케이션의 악성 여부 검사는 백신 엔진에 포함되지 않는 변종 패턴을 가지는 애플리케이션에 대해서는 정확한 검사가 이루어지지 않을 수도 있다. 따라서, 제어부(220)는 백신엔진을 통해 악성 애플리케이션으로 판단되지 않은 애플리케이션에 대해서는 보다 정확한 판단을 위해 권한/API 검증부(208)를 통한 권한/API 검사, 동적 분석부(212)를 통한 동적 분석 등이 추가로 수행되도록 제어한다.
즉, 제어부(220)는 권한/API 검증부(208)를 통한 권한 검사 결과 애플리케이션에 사용자의 개인 정보를 유출할 수 있는 보안상 위험한 권한이 설정되어 있는 것으로 검사되어 악성 URL로 판단되는 경우 해당 URL을 악성 URL로 판단할 수 있다. 이때, 권한/API 검증부(208)에서 악성 URL로 판단할 수 있는 권한은 정책에 따라 변경 설정될 수 있다. 또한, 권한/API 검증부(208)는 악성 URL로 판단될 수 있는 보안상 위험한 권한을 가지고 있는 애플리케이션에 대해서는 추가적으로 디컴파일 분석을 통해 해당 권한이 수행되기 위한 API가 실제로 호출되는지를 확인하여 악성 URL로 판단할 수 있다. 이와 같은 API 검사를 통한 악성 URL 판단정보 또한 제어부(220)로 제공될 수 있다.
또한, 제어부(220)는 위와 같은 권한/API 검사와 더불어 추가적으로 보다 확실한 악성 여부 검사 방법으로써 동적 분석부(212)를 통해 해당 애플리케이션이 애뮬레이터상에서 실제 실행되도록 한 후, 애뮬레이터상에서 실제 실행된 애플리케이션이 악성 행위를 수행하는 것으로 검사되는 경우 해당 URL을 악성 URL로 판단할 수 있다.
이어, 제어부(220)는 위와 같이 설명된 방법을 통해 사용자 단말(150)로 전송 요청된 메시지내 포함된 URL이 악성 URL로 판단된 경우, 해당 메시지가 비정상 메시지임을 메시지 전송서버(110)로 통보하여, 비정상 메시지가 사용자 단말(150)로 전송되지 않도록 하거나, 메시지가 전송되는 경우에는 해당 메시지가 위험성 있는 악성 URL을 포함하고 있는 메시지임을 알리는 검증정보가 전송되도록 함으로써 비정상 메시지에 의한 피해가 방지될 수 있도록 한다.
또한, 제어부(220)는 위와 같은 악성 애플리케이션을 다운로드하도록 유도하는 악성 URL이 SMS, MMS 등의 메시지 외에 통신망상 다른 경로를 통해 사용자 단말(150)로 전송되는 경우를 대비하여 악성 URL로 판단된 URL 정보를 통신부(200)를 통해 통신망상 유해사이트 차단 및 안내 시스템(140)에 제공하고, 이를 주기적으로 업데이트할 수 있다.
한편, 본 발명의 다른 실시예로써, 메시지내 포함된 URL 정보가 스팸필터링 서버(120)를 통해 추출되어 인가되도록 구성되는 경우, 제어부(220)는 앞서 설명한 방식과 동일하게 해당 URL이 악성 URL인지 정상 URL인지 여부를 판단하고, URL의 악성 여부 판단 결과만을 스팸필터링 서버(120)로 제공하도록 할 수도 있다.
이러한 경우에는, 스팸필터링 서버(120)가 악성 URL에 대한 검사결과를 수신하고, 악성 URL인 경우 메시지 전송서버(110)로 메시지가 비정상 메시지임을 통보하여, 비정상 메시지가 사용자 단말(150)로 전송되지 않도록 할 수 있다.
도 3은 본 발명의 실시예에 따른 사용자 단말(150) 중 이동통신 단말기의 상세 블록 구성을 도시한 것이다. 이하, 도 3을 참조하여 이동통신 단말기 각 블록에서의 동작을 상세히 설명하기로 한다.
먼저, 키입력부(300)는 이동통신 단말기의 다양한 동작 요청을 위한 다수의 숫자키 및 기능키로 구성될 수 있으며, 사용자가 소정의 키를 누를 때 해당하는 키데이터를 발생하여 제어부(306)로 출력한다. 위와 같은 키입력부(300)는 제조사별, 국가별로 문자 배열의 차이가 있다. 또한, 키입력부(300)는 스마트폰(smart phone), 테블릿 PC 등에서는 물리적인 키패드(keypad) 대신, 소프트웨어 방식으로 필요 시마다 표시부(304)상에 터치 스크린(touch screen) 형식으로 표시될 수도 있다.
오디오부(310)는 제어부(306)의 제어를 받아 마이크(MIC)를 통해 입력되는 음성신호를 무선신호로 변조하고, 수신되는 무선신호를 복조하여 스피커(SPK)에 음성신호로서 송출한다. 또한, 오디오부(310)는 음성통화 시 제어부(306)에 의해 설정되는 다양한 음성품질로 음성신호를 처리하는 코덱부(codec)를 더 포함할 수 있다.
통신부(308)는 통신망을 통해 메시지 제공자(100)로부터 발송된 메시지를 수신한다. 이때, 위와 같은 메시지는 메시지 제공자(100)인 금융업체, 제조업체, 오픈 마켓 등의 기업의 요청에 의해 생성된 메시지 등이 될 수 있으며, 기업과 관련된 공지, 홍보, 광고 등의 내용을 포함한 메시지가 될 수 있다.
표시부(304)는 제어부(306)의 제어에 따라 이동통신 단말기의 각종 정보를 표시하며, 키입력부(300)에서 발생되는 키데이터 및 제어부(306)의 각종 정보신호를 입력받아 디스플레이한다. 또한, 본 발명의 실시예에 따라 메시지내 포함된 URL의 위험성을 알리는 정보를 기설정된 마크(mark)나 그림 또는 문자 등으로 표시시킨다.
URL 검증부(312)는 통신부(308)로부터 수신된 SMS, MMS 메시지 또는 패킷기반 메시지 등의 메시지에 대해 메시지내 포함된 URL에 대한 URL 검증 정보가 존재하는지 여부를 검사하고, URL 검증 정보가 존재하는 경우 해당 URL 검증 정보를 추출하여 제어부(306)로 제공한다.
제어부(306)는 메모리부(302)에 저장된 동작 프로그램에 따라 이동통신 단말기의 전반적인 동작을 제어한다. 위와 같은 동작 프로그램은 이동통신 단말기의 동작에 필요한 기본적인 운영 시스템(operating system) 뿐만 아니라, 표시부(304)와 키입력부(300)를 연결하고, 데이터의 입/출력을 관리하거나, 이동통신 단말기의 내부 애플리케이션(application) 등을 동작시키도록 제조 시 미리 프로그램밍(programing)되는 소프트웨어(software)를 통칭한다.
또한, 본 발명의 실시예에 따라 다양한 SMS, MMS 메시지 또는 패킷기반 메시지 등의 메시지가 수신되는 경우 URL 검증부(312)를 제어하여 URL이 포함된 메시지에 대해서는 URL 검증 정보를 추출하여 메시지내 포함된 URL에 대한 위험성을 메시지의 수신 화면상에 표시시킨다.
이때, 제어부(306)는 예를 들어 URL 검증 정보를 이용하여 수신된 메시지내 포함된 URL가 악성 URL인 것을 확인하는 경우, 수신된 메시지가 비정상 메시지임을 알리는 정보를 화면상 문자 또는 그림으로 표시시키거나 소리로 출력시켜 사용자가 메시지의 위험성을 인지하도록 할 수 있다.
도 5는 본 발명의 실시예에 따른 악성 URL 검사장치(130)에서 사용자 단말(150)로 전송되는 메시지의 비정상 여부를 검사하는 동작 제어 흐름을 도시한 것이다. 이하, 도 1 내지 도 5를 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.
먼저, 악성 URL 검사장치(130)는 예를 들어 도 1에서 보여지는 바와 같이 SMSC(112), MMSC(114) 등의 메시지 전송서버(110)와 연결되어 SMSC(112) 등으로 메시지가 수신되는 경우, 메시지의 비정상 여부 검사를 위해 SMSC(112)로부터 해당 메시지를 전달받는다(S500).
이어, 악성 URL 검사장치(130)는 전달받은 메시지로부터 메시지내 포함된 URL을 추출하고(S502), 사전 필터링을 통해 추출된 URL이 악성 URL인지 여부를 검사한다(S504).
이때, 악성 URL 검사장치(130)는 사전 필터링을 수행함에 있어서, 메시지로부터 추출된 URL을 악성 URL 리스트(list)와의 비교하여(S506), 추출된 URL이 악성 URL 리스트에 존재하는 경우 악성 URL로 판단하고(S526), 악성 URL로 판단하는 경우 이와 같은 판단 정보를 메시지 전송 서버(110)로 제공하여 해당 메시지가 사용자 단말(150)로 전송되지 않도록 하거나, URL의 위험성이 경고되도록 한다. 이때, 위와 같은 악성 URL 리스트는 악성 URL 검사장치(130)에서 이전에 검사가 진행되어 악성 URL로 판단된 URL들의 리스트 정보를 말하는 것으로, 이러한 악성 URL 리스트는 악성 URL 검사장치(130)에 구비될 수 있으며, 악성 URL 검사 과정에서 악성 URL로 판단된 URL 정보가 주기적으로 업데이트(update)될 수 있다.
그러나, 사전 필터링을 통해 악성 URL 여부가 판단되지 않는 경우, 악성 URL 검사장치(130)는 해당 URL에 대해서는 백신 검사, 권한/API 검사, 동적 분석 등을 통해 악성 URL인지 여부를 판단하게 된다.
즉, 먼저 악성 URL 검사장치(130)는 사전 필터링을 통해 악성 URL인지 여부가 정확히 판단되지 않는 URL에 대해서는 유무선 통신망을 통해 해당 URL 주소로 링크되는 웹서버(도시하지 않음) 등에 접속하고, 해당 URL로의 접속에 따라 특정 애플리케이션이 다운로드되는 경우 해당 애플리케이션(application)을 다운로드받는다(S508).
이어, 악성 URL 검사장치(130)는 다운로드된 애플리케이션에 대해 이전에 검사된 애플리케이션의 시그니처(signiture) 정보와 비교하여 동일한 애플리케이션인지 여부를 검사함으로써 해당 애플리케이션의 악성 여부를 검사할 수 있다(S510). 이때, 악성 URL 검사장치(130)는 위와 같은 시그니처 정보와의 비교를 통해 애플리케이션이 악성 애플리케이션으로 검사된 경우 해당 URL을 악성 URL로 판단하고, 정상 애플리케이션으로 검사된 경우 해당 URL을 정상 URL로 판단할 수 있다. 또한 이때, 위와 같은 시그니처 정보는 예를 들어 SHA-256, MD5 등의 해쉬코드 정보일 수 있다.
다음으로, 악성 URL 검사장치(130)는 다운로드된 애플리케이션이 이전에 검사된 적이 없는 애플리케이션인 경우, 미리 구비하고 있는 백신 엔진을 이용하여 악성 애플리케이션인지 여부를 검사한다(S512). 위와 같은 백신 엔진은 예를 들어 백신을 개발하는 회사로부터 제공된 상용 백신 엔진일 수 있으며, 악성 URL 검사장치(130)는 다운로드된 애플리케이션이 악성 애플리케이션으로 검사된 경우(S514) 해당 URL을 악성 URL로 판단할 수 있다(S526).
그러나, 위와 같은 백신 엔진을 이용한 애플리케이션의 악성 여부 검사는 백신 엔진에 포함되지 않는 변종 패턴을 가지는 애플리케이션에 대해서는 정확한 검사가 이루어지지 않을 수도 있다. 따라서, 백신엔진을 통해 악성 애플리케이션으로 판단되지 않은 애플리케이션에 대해서 악성 URL 검사장치(130)는 다시 권한/API 검사, 동적 분석 등을 추가로 수행하게 된다.
즉, 악성 URL 검사장치(130)는 백신엔진을 통해 악성 애플리케이션 여부가 검사되지 않은 경우(S514), 해당 애플리케이션의 실행 파일을 분석하여 애플리케이션이 가지고 있는 권한 정보를 검사한다(S514).
이러한 권한 정보는 애플리케이션이 사용자 단말(150) 등에 설치될 때 사용자 단말(150)에서 수행할 수 있는 권한에 대한 정보를 기록한 것으로, 악성 애플리케이션인 경우 예를 들어 "메시지 읽기", "통화내용 가로채기" 등의 사용자의 개인 정보를 유출할 수 있는 보안상 위험한 권한이 설정되어 있을 수 있다.
또한, 악성 URL 검사장치(130)는 권한 검사를 통해 다운로드된 애플리케이션에 보안상 위험한 권한이 있는 것으로 검사되는 경우, 보안상 위험한 권한을 가지고 있는 애플리케이션에 대해서는 다시 추가적으로 API 검사를 수행할 수 있다(S518). 이러한, API 검사 수행에 있어서 악성 URL 검사장치(130)는 해당 애플리케이션의 실행파일을 디컴파일(decompile)한 후, 권한이 수행되기 위한 API가 실제로 호출되도록 실행파일이 작성되어 있는지를 검사한다.
이어, 악성 URL 검사장치(130)는 애플리케이션에 대한 권한 검사와 API 검사결과를 바탕으로 검사 요청된 URL이 악성 URL인지 여부를 검사하게 되며(S524), 권한 검사와 API 검사 결과 애플리케이션에 보안상 위험한 권한이 설정되어 있거나 또는 애플리케이션의 실행파일이 보안상 위험한 권한이 수행되기 위한 API가 실제로 호출되도록 작성된 경우 해당 URL을 악성 URL로 판단할 수 있다(S526).
이와 달리, 권한 검사와 API 검사결과 애플리케이션에 보안상 위험한 권한이 설정되어 있지 않거나, 애플리케이션의 실행파일이 보안상 위험한 권한이 수행되기 위한 API가 실제로 호출되도록 작성되어 있지 않은 경우 악성 URL 검사장치(130)는 해당 URL을 정상 URL로 판단할 수 있다(S528).
한편, 악성 URL 검사장치(130)는 백신엔진을 통해 악성 애플리케이션 여부가 검사되지 않은 애플리케이션에 대해 위와 같은 권한/API 검사와 더불어 추가적으로 보다 확실한 악성 여부 검사 방법으로써 해당 애플리케이션을 애뮬레이터(emulator)상에서 실제 실행시켜 분석하는 동적 분석을 수행하여 악성 여부를 검사할 수도 있다.
즉, 악성 URL검사장치(130)는 백신엔진을 통해 악성 애플리케이션 여부가 검사되지 않은 경우(S514), 애뮬레이터 상에서 해당 애플리케이션을 실제로 실행시키고(S520), 실제 실행된 애플리케이션의 행위를 분석한다(S522).
이어, 악성 URL 검사장치(130)는 애플리케이션에 대한 동적 분석 결과를 바탕으로 검사 요청된 URL이 악성 URL인지 여부를 검사하게 되며(S524), 애뮬레이터상 실제로 실행된 애플리케이션의 행위 분석 결과 악성 행위를 수행하는 것으로 검사되는 경우 해당 URL을 악성 URL로 판단할 수 있다(S526).
이와 달리, 동적 분석 결과 애뮬레이터상 실제 실행된 애플리케이션이 악성 행위를 수행하고 있지 않은 것으로 검사되는 경우 악성 URL 검사장치(130)는 해당 URL을 정상 URL로 판단할 수 있다(S528).
상기한 바와 같이, 본 발명에 따르면, 악성 URL을 검사하는 방법에 있어서, 다수의 기업 혹은 불특정 개인 등의 메시지 제공자로부터 해당 기업의 공지, 홍보, 광고 등을 위해서나 개인정보 유출 등의 목적으로 사용자 단말로 발송되는 다양한 메시지 중 URL이 포함된 메시지에 대해서는 URL이 악성 애플리케이션의 설치를 유도하는 악성 URL인지 여부를 검사하고, 악성 URL인 경우 해당 URL이 포함된 메시지를 비정상 메시지로 판단하여 사용자 단말로 전송되지 않도록 차단시키거나, URL의 위험성을 경고함으로써 악성 URL로 인한 피해가 방지되도록 한다. 또한, 악성 URL을 포함한 메시지에 대해 사용자 단말로 전송되기 전 메시지 전송서버에서 미리 필터링을 통해 차단시킴으로써 메시지를 통해 전파되는 악성 애플리케이션에 대한 원천적이고 선제적으로 차단할 수 있도록 한다. 또한, 악성 URL을 통해 다운로드되는 애플리케이션에 대한 악성 여부를 통신사 자체적으로 검사할 수 있는 모델을 제시함으로써 백신 엔진을 제공하는 백신 제공 회사에 비하여 악성 애플리케이션 샘플 수집에 더 유리하게 되어, 악성 애플리케이션 대응에 있어서 통신사의 독자적인 사업 모델을 창출할 수 있도록 한다.
한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
100 : 메시지 제공자 102 : 메시지 중계자
110 : 메시지 전송서버 120 : 스팸필터링 서버
130 : 악성 URL 검사장치 140 : 유해사이트 차단 및 안내시스템
150 : 사용자 단말 200 : 통신부
202 : URL 추출부 204 : 사전 필터링부
206 : 백신 엔진부 208 : 권한/API 검증부
212 : 동적 분석부 214 : 가공부
216 : 메모리부 218 : 데이터베이스
220 : 제어부
110 : 메시지 전송서버 120 : 스팸필터링 서버
130 : 악성 URL 검사장치 140 : 유해사이트 차단 및 안내시스템
150 : 사용자 단말 200 : 통신부
202 : URL 추출부 204 : 사전 필터링부
206 : 백신 엔진부 208 : 권한/API 검증부
212 : 동적 분석부 214 : 가공부
216 : 메모리부 218 : 데이터베이스
220 : 제어부
Claims (17)
- 메시지를 수신하면, 휴대 단말로 상기 메시지를 전송하기 전에 상기 메시지 내에 URL(uniform resource locator)이 포함되어 있는지 여부를 검사하고, 상기 URL을 추출하는 URL 추출부와,
상기 URL을 통해 애플리케이션을 다운로드 받는 통신부와,
상기 통신부를 통해 다운로드된 상기 애플리케이션내에 보안상 위험성을 가지는 권한 또는 API가 포함되어 있는지 여부를 검사하여 상기 URL의 악성여부를 판단하는 권한/API 검증부
를 포함하는 악성 URL 검사장치.
- 제 1 항에 있어서,
상기 악성 URL 검사장치는,
상기 악성으로 판단된 URL 리스트 정보를 필터링 정보로 저장하고, 상기 통신부에서 상기 애플리케이션을 다운로드 받기 전에 상기 추출된 URL이 상기 필터링 정보에 존재하는지 여부를 검사하여 상기 추출된 URL이 상기 필터링 정보에 존재하는 경우 상기 URL을 차단하는 사전 필터링부
를 더 포함하는 것을 특징으로 하는 악성 URL 검사장치.
- 제 2 항에 있어서,
상기 사전 필터링부는,
상기 권한/API 검증부에서 악성으로 판단된 URL을 상기 필터링 정보에 업데이트하는 것을 특징으로 하는 악성 URL 검사장치.
- 제 3 항에 있어서,
상기 악성 URL 검사장치는, 악성 애플리케이션을 유포하는 사이트를 포함하여 유해 사이트로 판단된 URL에 사용자 단말이 접속하는 경우 상기 접속을 차단하는 유해 사이트 차단시스템으로 상기 악성으로 판단된 URL을 제공하는 것을 특징으로 하는 악성 URL 검사장치.
- 제 1 항에 있어서,
상기 악성 URL 검사장치는,
상기 URL이 악성으로 판단되는 경우, 상기 URL이 악성임을 표시하는 URL 검증 정보를 생성하고, 상기 URL 검증 정보가 상기 메시지에 포함되도록 가공하는 가공부
를 더 포함하는 것을 특징으로 하는 악성 URL 검사장치.
- 제 5 항에 있어서,
상기 가공부는,
상기 URL 검증 정보를 상기 메시지의 헤더 또는 데이터 영역에 포함시키는 것을 특징으로 하는 악성 URL 검사장치.
- 제 1 항에 있어서,
상기 악성 URL 검사장치는,
상기 통신부를 통해 다운로드된 상기 애플리케이션을 애뮬레이터 상에서 실행시킨 후, 상기 실행 결과를 분석하여 악성 여부를 판단하는 동적 분석부
를 더 포함하는 것을 특징으로 하는 악성 URL 검사장치.
- 제 1 항에 있어서,
상기 악성 URL 검사장치는,
상기 통신부를 통해 다운로드된 상기 애플리케이션에 대해 악성애플리케이션탐지용 백신엔진을 이용하여 상기 애플리케이션이 악성인지 여부를 검사하는 백신 엔진부
를 더 포함하는 것을 특징으로 하는 악성 URL 검사장치.
- 제 1 항에 있어서,
상기 권한/API 검증부는,
상기 통신부를 통해 다운로드된 상기 애플리케이션의 실행파일을 분석하여 상기 애플리케이션에 부여된 권한 정보 중 보안상 위험성을 가지는 권한이 존재하는지를 검사하여 상기 URL의 악성여부를 판단하는 것을 특징으로 하는 악성 URL 검사장치.
- 제 9 항에 있어서,
상기 권한/API 검증부는,
상기 애플리케이션의 실행 파일을 디컴파일하여 상기 권한을 수행하기 위한 API가 실행되는지 여부를 더 검사하는 것을 특징으로 하는 악성 URL 검사장치.
- 메시지를 수신하면, 휴대 단말로 상기 메시지를 전송하기 전에 상기 메시지 내에 URL이 포함되어 있는지 여부를 검사하고, 상기 URL을 추출하는 URL 추출 단계와,
상기 URL을 통해 애플리케이션을 다운로드 받는 다운로드 단계와,
상기 다운로드된 애플리케이션 내에 보안상 위험성을 가지는 권한 또는 API가 포함되어 있는지 여부를 검사하여 상기 URL의 악성여부를 판단하는 권한/API 검증단계
를 포함하는 악성 URL 검사방법.
- 제 11 항에 있어서,
상기 악성 URL 검사방법은,
상기 악성으로 판단된 URL 리스트 정보를 필터링 정보로 이용하여 상기 추출된 URL이 상기 필터링 정보에 존재하는지 검사하고 상기 추출된 URL이 상기 필터링 정보에 존재하는 경우 상기 URL을 악성 URL로 판단하는 사전필터링 단계
를 더 포함하는 것을 특징으로 하는 악성 URL 검사방법.
- 제 11 항에 있어서,
상기 URL이 악성으로 판단되는 경우, 상기 URL이 악성임을 표시하는 URL 검증 정보를 생성하고, 상기 URL 검증 정보가 상기 메시지에 포함되도록 가공하는 메시지 가공단계
를 더 포함하는 것을 특징으로 하는 악성 URL 검사방법.
- 제 11 항에 있어서,
다운로드된 상기 애플리케이션을 애뮬레이터 상에서 실행시킨 후, 상기 실행 결과를 분석하여 악성 여부를 판단하는 동적분석단계
를 더 포함하는 것을 특징으로 하는 악성 URL 검사방법.
- 제 11 항에 있어서,
다운로드된 상기 애플리케이션에 대해 악성애플리케이션 탐지용 백신엔진을 이용하여 상기 애플리케이션이 악성인지 여부를 검사하는 악성애플리케이션 검사단계
를 더 포함하는 것을 특징으로 하는 악성 URL 검사방법.
- 제 11 항에 있어서,
상기 권한/API 검증단계는,
다운로드된 상기 애플리케이션의 실행파일을 분석하여 상기 애플리케이션에 부여된 권한 정보 중 보안상 위험성을 가지는 권한이 존재하는지를 검사하는 것을 특징으로 하는 악성 URL 검사방법.
- 제 16 항에 있어서,
상기 권한의 검사 이후에,
상기 애플리케이션의 실행 파일을 디컴파일하여 상기 권한을 수행하기 위한 API가 실행되는지 여부를 더 검사하는 것을 특징으로 하는 악성 URL 검사방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201480020914.2A CN105144767B (zh) | 2013-04-12 | 2014-04-11 | 用于检查消息的装置和方法以及用户终端 |
PCT/KR2014/003157 WO2014168453A1 (ko) | 2013-04-12 | 2014-04-11 | 메시지 검사장치, 사용자 단말 및 방법 |
US14/882,095 US9973518B2 (en) | 2013-04-12 | 2015-10-13 | Apparatus and method for checking message and user terminal |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130066346 | 2013-06-11 | ||
KR1020130066346 | 2013-06-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140144636A KR20140144636A (ko) | 2014-12-19 |
KR101545964B1 true KR101545964B1 (ko) | 2015-08-21 |
Family
ID=52674825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130131442A KR101545964B1 (ko) | 2013-04-12 | 2013-10-31 | 악성 url 검사장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101545964B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220111396A (ko) * | 2021-02-02 | 2022-08-09 | 강원대학교산학협력단 | 악성 url 탐지 추론 모델의 분산 처리 시스템 |
KR102483004B1 (ko) | 2022-07-22 | 2022-12-30 | 주식회사 필상 | 유해 url 탐지 방법 |
KR20230077316A (ko) | 2021-11-25 | 2023-06-01 | 강필상 | 인공지능 기술을 이용한 악성 url 탐지 방법 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102355973B1 (ko) * | 2015-08-26 | 2022-01-25 | 주식회사 케이티 | 스미싱 메시지 판별장치 및 스미싱 메시지 판별방법 |
KR102148189B1 (ko) * | 2015-10-07 | 2020-10-14 | 에스케이텔레콤 주식회사 | 악성사이트 차단을 위한 장치 및 방법 |
WO2017078197A1 (ko) * | 2015-11-05 | 2017-05-11 | 주식회사 수산아이앤티 | 차단 대상 응용 프로그램의 다운로드를 차단하는 방법 및 장치 |
KR102259595B1 (ko) * | 2020-10-29 | 2021-06-02 | 주식회사 에스엠티엔티 | 이동통신단말 기반 sms를 이용한 파일 전송 서비스 제공 시스템 |
KR102413355B1 (ko) * | 2021-03-25 | 2022-06-27 | 주식회사 이알마인드 | 디바이스로의 보안 서비스 제공 방법 및 이를 수행하는 서버 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101070184B1 (ko) | 2011-02-24 | 2011-10-07 | 주식회사 윈스테크넷 | 멀티스레드 사이트 크롤러를 이용한 악성코드 자동수집, 자동분석시스템과 보안장비 연동을 통한 악성코드접근차단시스템 및 방법 |
KR101286711B1 (ko) | 2013-03-28 | 2013-07-16 | 주식회사 이스턴웨어 | 모바일 단말기의 악성 프로그램 차단 시스템 및 그 방법 |
-
2013
- 2013-10-31 KR KR1020130131442A patent/KR101545964B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101070184B1 (ko) | 2011-02-24 | 2011-10-07 | 주식회사 윈스테크넷 | 멀티스레드 사이트 크롤러를 이용한 악성코드 자동수집, 자동분석시스템과 보안장비 연동을 통한 악성코드접근차단시스템 및 방법 |
KR101286711B1 (ko) | 2013-03-28 | 2013-07-16 | 주식회사 이스턴웨어 | 모바일 단말기의 악성 프로그램 차단 시스템 및 그 방법 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220111396A (ko) * | 2021-02-02 | 2022-08-09 | 강원대학교산학협력단 | 악성 url 탐지 추론 모델의 분산 처리 시스템 |
KR102555831B1 (ko) | 2021-02-02 | 2023-07-13 | 강원대학교산학협력단 | 악성 url 탐지 추론 모델의 분산 처리 시스템 |
KR20230077316A (ko) | 2021-11-25 | 2023-06-01 | 강필상 | 인공지능 기술을 이용한 악성 url 탐지 방법 |
KR102483004B1 (ko) | 2022-07-22 | 2022-12-30 | 주식회사 필상 | 유해 url 탐지 방법 |
KR20240013640A (ko) | 2022-07-22 | 2024-01-30 | 주식회사 필상 | 유해 url 탐지 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20140144636A (ko) | 2014-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101545964B1 (ko) | 악성 url 검사장치 및 방법 | |
US9973518B2 (en) | Apparatus and method for checking message and user terminal | |
US12120519B2 (en) | Determining a security state based on communication with an authenticity server | |
US10419222B2 (en) | Monitoring for fraudulent or harmful behavior in applications being installed on user devices | |
KR101402057B1 (ko) | 위험도 계산을 통한 리패키지 애플리케이션의 분석시스템 및 분석방법 | |
JP4164036B2 (ja) | ネットワークを介して提供されるプログラムに対する受信装置上でのセキュリティの確保 | |
US8726387B2 (en) | Detecting a trojan horse | |
CN106845223B (zh) | 用于检测恶意代码的方法和装置 | |
KR102355973B1 (ko) | 스미싱 메시지 판별장치 및 스미싱 메시지 판별방법 | |
KR101277517B1 (ko) | 애플리케이션 위/변조 탐지장치 및 방법 | |
KR101628837B1 (ko) | 악성 어플리케이션 또는 악성 웹사이트 탐지 방법 및 시스템 | |
KR101847381B1 (ko) | 전자메일 제공 시스템 및 그 방법 | |
KR20120084184A (ko) | 화이트 리스트 기반 스마트폰 악성 코드 차단 방법 및 그 기록매체 | |
KR101286711B1 (ko) | 모바일 단말기의 악성 프로그램 차단 시스템 및 그 방법 | |
KR101657667B1 (ko) | 악성 앱 분류 장치 및 악성 앱 분류 방법 | |
CN109688096B (zh) | Ip地址的识别方法、装置、设备及计算机可读存储介质 | |
JP4512083B2 (ja) | ネットワークを介して通信端末に提供されるプログラムに対する伝送経路上でのセキュリティの確保 | |
KR101382549B1 (ko) | 모바일 환경에서 sns 콘텐츠의 사전 검증 방법 | |
KR101799524B1 (ko) | 알림 메시지를 이용한 단말 제어 장치 및 방법 | |
CN107463837A (zh) | 一种信息处理方法和移动终端 | |
Gamba et al. | Mules and permission laundering in android: Dissecting custom permissions in the wild | |
KR101959534B1 (ko) | 전자메일 보안 시스템 및 그 방법 | |
CN105912926A (zh) | 合法安装包获取方法、装置及系统 | |
KR102296861B1 (ko) | 스미싱 탐지 시스템 | |
KR20140112730A (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 | ||
FPAY | Annual fee payment |
Payment date: 20180731 Year of fee payment: 4 |