http://www.patent.go.kr/jsp/kiponet/ir/receipt/online/applnooffcact.so 2013-08-28 출원일자 2013.08.28 특기사항심사청구 ( 무 ) 공개신청 ( 무 ) 관인생략출원번호통지서 출원번호 10-2013-0102693 ( 접수번호 1-1-2013-0787404-75) 출원인명칭고려대학교산학협력단 (2-2004-017068-0) 대리인성명특허법인엠에이피에스 (9-2011-100001-9) 발명자성명 발명의명칭 이희조이찬영서동원정지환 스마트기기내악성어플리케이션검증시스템및검증방법 특허청장 << 안내 >> 1. 귀하의출원은위와같이정상적으로접수되었으며, 이후의심사진행상황은출원번호를통해확인하실수있습니다. 2. 출원에따른수수료는접수일로부터다음날까지동봉된납입영수증에성명, 납부자번호등을기재하여가까운우체국또는은행에납부하여야합니다. 납부자번호 : 0131( 기관코드 ) + 접수번호 3. 귀하의주소, 연락처등의변경사항이있을경우, 즉시 [ 출원인코드정보변경 ( 경정 ), 정정신고서 ] 를제출하여야출원이후의각종통지서를정상적으로받을수있습니다. 특허로 (patent.go.kr) 접속 > 민원서식다운로드 > 특허법시행규칙별지제 5 호서식 4. 특허 ( 실용신안등록 ) 출원은명세서또는도면의보정이필요한경우, 등록결정이전또는의견서제출기간이내에출원서에최초로첨부된명세서또는도면에기재된사항의범위안에서보정할수있습니다. 5. 외국으로출원하고자하는경우 PCT 제도 ( 특허 실용신안 ) 나마드리드제도 ( 상표 ) 를이용할수있습니다. 국내출원일을외국에서인정받고자하는경우에는국내출원일로부터일정한기간내에외국에출원하여야우선권을인정받을수있습니다. 제도안내 : http://www.kipo.go.kr-특허마당-pct/ 마드리드 우선권인정기간 : 특허 실용신안은 12개월, 상표 디자인은 6개월이내 미국특허상표청의선출원을기초로우리나라에우선권주장출원시, 선출원이미공개상태이면, 우선일로부터 16개월이내에미국특허상표청에 [ 전자적교환허가서 (PTO/SB/39) 를제출하거나우리나라에우선권증명서류를제출하여야합니다. 6. 본출원사실을외부에표시하고자하는경우에는아래와같이하여야하며, 이를위반할경우관련법령에따라처벌을받을수있습니다. 특허출원 10-2010-0000000, 상표등록출원 40-2010-0000000 7. 기타심사절차에관한사항은동봉된안내서를참조하시기바랍니다.
명세서 발명의명칭 스마트기기내악성어플리케이션검증시스템및검증방법 {SYSTEM AND METHOD FOR ATTESTING MALICIOUS APPLICATIONS IN SMART DEVICE} 기술분야 <0001> 본발명은스마트기기내악성어플리케이션검증시스템및검증방법에관 한것에관한것이다. 발명의배경이되는기술 <0002> 최근스마트폰, 테블릿 PC 등과같은스마트기기의사용이폭발적으로증 가함에따라, 스마트기기에직간접적으로설치되는어플리케이션 (Application; App) 에대한관심도함께증가하고있다. 이러한스마트기기및어플리케이션은 직관적인조작이가능하고사용하는데에용이하고편리하다는긍정적인면이있지 만, 외부의공격에쉽게노출될수있다는부정적인면도존재한다. <0003> 특히, 스마트기기내에서사용자의의사와이익에반해시스템을파괴하거 나정보를유출하는등악의적활동을수행하도록의도적으로제작된멀웨 어 (Malicious Software; Malware) 가다수발견되고있는실정이다. 스마트기기에 대한멀웨어는리패키징 (Repackaging) 기법에의해설계되는경우가약 80% 이상을 차지하고, 스미싱 (Smiching), 악성 URL 등에의한경우도종종나타나고있다. 리 패키징기법에의한악성어플리케이션이악의자에의해쉽게생성될수있고, 이 16-1
에따라다양한변종이생성될수있다는문제점이있다. <0004> 도 1 은오리지널어플리케이션과악성어플리케이션을비교하여설명하기위 한도면이다. <0005> 예를들어, 오리지널어플리케이션은기능 1, 2, 3 을수행하지만, 악성어플 리케이션은리패키징기법에의해설계되어기능 3 대신에악성기능을수행할수 있다. 도 1 에도시된것처럼오리지널어플리케이션과악성어플리케이션의실행 화면및사용자인터페이스등이서로상이하다는것을알수있지만, 이러한차이 점은정교하게조작되어있어일반사용자는발견또는인지하지못할가능성이매 우높다. <0006> 이와같은악성어플리케이션에대항하기위한모바일보안솔루션들에대한 개발이지속적으로이루어지고있는실정이다. 예를들어, 블랙리스트선정및 휘슬프로그램, 시그니쳐및행동에기반을두는악성어플리케이션감지프로그램 등이현재존재한다. <0007> 한편, 이와관련하여한국등록특허제 10-1272026 호 ( 발명의명칭 : 해킹방지 시스템및그제어방법과, 그시스템에포함되는해킹방지지원서버및그제어 방법 ) 는특정단말기상에서의해킹이쉽게이루어지지않도록하고, 더나아가그 해킹상태를외부의서버에서쉽게확인할수있도록하는해킹방지시스템및그 와관련된기술에대해개시하고있다. 발명의내용 16-2
해결하고자하는과제 <0008> 본발명은전술한종래기술의문제점을해결하기위한것으로서, 본발명의 일부실시예는예측불가능한검증기법을이용하여스마트기기내악성어플리케 이션을탐지할수있는검증시스템및검증방법을제공하는데에그목적이있다. <0009> 다만, 본실시예가이루고자하는기술적과제는상기된바와같은기술적 과제로한정되지않으며, 또다른기술적과제들이존재할수있다. 과제의해결수단 <0010> 상술한기술적과제를달성하기위한기술적수단으로서, 본발명의일실시 예에따른스마트기기내악성어플리케이션검증시스템은랜덤하게선택된소정 의어플리케이션에대한코드를포함하는검증모듈을생성하는검증모듈생성부및 스마트기기에서수행된검증작업의결과정보와시스템내에서의결과정보를비교 하여소정의어플리케이션의이상여부를체크하는검증체크부를포함한다. 발명의효과 <0011> 전술한본발명의과제해결수단에의하면, 기존에알려진악성어플리케이 션뿐만아니라알려지지않은변종까지탐지할수있고, 공격자들이검증알고리 즘을거꾸로추적및분석하는리버스엔지니어링에대해효과적으로대응할수있 다. <0012> 또한, 본발명에서제안하는스마트기기내악성어플리케이션검증시스템 16-3
을이용하여, 보호하고자하는어플리케이션이변조되는경우알아낼수있고, 해 당시스템및이와관련된스마트기기의자원소모를최소화할수있다. <0013> 또한, 본발명에서제안하는스마트기기내악성어플리케이션검증방법은, 어플리케이션제작업체뿐만아니라, 각종은행, 금융업계에서도개인및기관의 보안을위해사용될수있다. 도면의간단한설명 <0014> 도 1 은오리지널어플리케이션과악성어플리케이션을비교하여설명하기위 한도면이다. 도 2 는본발명의일실시예에따른스마트기기내악성어플리케이션검증 시스템이다. 도 3 은도 2 에도시된 Phase 1 에대해구체적으로설명하기위한도면이다. 도 4 는종래의내장된검증모듈과본발명에서제안하는형태의검증모듈을 비교하여설명하기위한도면이다. 도 5 는도 2 에도시된 Phase 2 에대해구체적으로설명하기위한도면이다. 도 6 은도 2 에도시된 Phase 3 에대해구체적으로설명하기위한도면이다. 발명을실시하기위한구체적인내용 <0015> 아래에서는첨부한도면을참조하여본발명이속하는기술분야에서통상의 지식을가진자가용이하게실시할수있도록본발명의실시예를상세히설명한 다. 그러나본발명은여러가지상이한형태로구현될수있으며여기에서설명 16-4
하는실시예에한정되지않는다. 그리고도면에서본발명을명확하게설명하기 위해서설명과관계없는부분은생략하였으며, 명세서전체를통하여유사한부분 에대해서는유사한도면부호를붙였다. <0016> 명세서전체에서, 어떤부분이다른부분과 " 연결 " 되어있다고할때, 이는 " 직접적으로연결 " 되어있는경우뿐아니라, 그중간에다른소자를사이에두고 " 전기적으로연결 " 되어있는경우도포함한다. 또한어떤부분이어떤구성요소를 " 포함 " 한다고할때, 이는특별히반대되는기재가없는한다른구성요소를제외하 는것이아니라다른구성요소를더포함할수있는것을의미한다. <0017> 프로그램에대한검증 (Attestation) 은일반적으로해당프로그램에대한완 전성 (Integrity) 체크를이용하는동작으로서, 센서네트워크, 임베디드장치등을 위해널리사용되고있다. 검증기측에서챌린지값 (Challenge Value) 을피검증 기기측으로전달하면, 피검증기기내에서검증알고리즘이수행되고, 피검증기 기는그에대한응답 (Challenge Response) 을검증기측으로전달한다. 다만, 이러 한종래의검증방법은네트워크공격이나리버스엔지니어링 (Reverse Engineering) 에취약하다. <0018> 본발명에서제안하는악성어플리케이션검증시스템은기존에알려진악성 어플리케이션뿐만아니라알려지지않은변종까지탐지할수있고, 공격자들이검 증알고리즘을거꾸로추적및분석하는리버스엔지니어링에대해대응할수있으 며, 피검증기기에부담을줄이기위해낮은리소스소모량만을요구할수있다. <0019> 도 2 는본발명의일실시예에따른스마트기기내악성어플리케이션검증 16-5
시스템이다. 스마트기기내악성어플리케이션검증시스템은검증모듈생성부, 검증체크부, 통신부, 및저장부를포함하고, 네트워크 (network) 를통해피검증기 기인타겟스마트기기와다양한데이터를주고받는다. <0020> 여기서, 스마트기기는컴퓨터나휴대용단말기로구현될수있다. 이때, 컴퓨터는예를들어, 웹브라우저 (WEB Browser) 가탑재된노트북, 데스크 톱 (desktop), 랩톱 (laptop), 태블릿 PC, 슬레이트 PC 등을포함하고, 휴대용단말 기는예를들어, 휴대성과이동성이보장되는무선통신장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 스마트폰 (Smart Phone) 등과 같은모든종류의핸드헬드 (Handheld) 기반의무선통신장치를포함할수있다. 덧붙여, 스마트기기는안드로이드 (Android) 기반의기기일수있으나, 이로제한 되는것은아니다. <0021> 또한, 네트워크는근거리통신망 (Local Area Network; LAN), 광역통신 망 (Wide Area Network; WAN) 또는부가가치통신망 (Value Added Network; VAN) 등 과같은유선네트워크나이동통신망 (mobile radio communication network) 또는 위성통신망등과같은모든종류의무선네트워크로구현될수있다. <0022> 사용자는타겟스마트기기를사용하다가소정의어플리케이션을다운로드 16-6
및설치할수있다. 이때, 소정의어플리케이션은네트워크와연결된서버로부터 다운로드되는것이바람직하나, 타겟스마트기기의제작시기설치된것일수도있 다. <0023> 사용자가설치된소정의어플리케이션을실행하는경우, 타겟스마트기기는 악성어플리케이션검증시스템에접속하고, 악성어플리케이션검증시스템의검 증모듈생성부는검증모듈을생성하는과정을거쳐 (Phase 1), 검증모듈을타겟스 마트기기로전달한다. <0024> 본발명의경우타겟스마트기기는빌트 - 인 (built-in) 방식의검증모듈을 가지고있는것이아니라, 악성어플리케이션검증시스템에서타겟스마트기기의 접속이후에랜덤하게생성되는검증모듈을가지게된다. 이와같이공격자입장에 서예측불가능한검증방식을통해, 악성어플리케이션검증시스템은공격자의리 버스엔지니어링등의공격에대해효과적으로대응할수있다. <0025> 일실시예 (Phase2) 에따를때, 타겟스마트기기는검증모듈을이용하여, 소 정의어플리케이션에대한검증작업을수행한다. 사용자는검증작업의결과정보 를확인하고, 네트워크를통해악성어플리케이션검증시스템에접속한다. 이어 서, 악성어플리케이션검증시스템의검증체크부는수신된결과정보를기초로소 정의어플리케이션의상태정보를사용자에게알려준다. 이때, 상태정보를알려주 는방식은문자메시지 (SMS) 방식, 웹페이지방식을포함하고, 기타다른방식일수 도있다. <0026> 또한, 다른실시예 (Phase3) 에따를때, 타겟스마트기기는검증모듈을이용 16-7
하여, 소정의어플리케이션에대한검증작업을수행하고악성어플리케이션검증 시스템으로응답정보를전달한다. 악성어플리케이션검증시스템의검증체크부 는수신된응답정보를기초로소정의어플리케이션의상태정보를타겟스마트기기 로전달한다. <0027> 이하에서는, 도 3 내지도 6 을참고하여상술한시나리오를보다구체적으로 설명하기로한다. <0028> 도 3 은도 2 에도시된 Phase 1 에대해구체적으로설명하기위한도면으로 서, 악성어플리케이션검증시스템의검증모듈생성부의동작을나타낸다. 검증 모듈생성부는어플리케이션의파일로부터바이너리정보를전달받고 (a), 어플리케 이션의특정부분, 변수의해시 (Hash) 값, 순서를바꾼어플리케이션정보, 해시 값을산출하는함수, 임의의숫자, 문자재배치, 파일리스트등을이용하여 (b) 검 증모듈을생성할수있다 (c). 즉, 검증모듈생성부는상술한것과같은소정의어 플리케이션과관련된다양한정보들중일부를랜덤하게선택하고, 선택된정보들 을이용하여검증모듈을생성할수있다. <0029> 도 4 는종래의내장된검증모듈과본발명에서제안하는형태의검증모듈을 비교하여설명하기위한도면이다. 종래의경우 (a) 타겟스마트기기가빌트 - 인 (built-in) 방식의검증모듈을가지고있고, 검증기가임의의값 (nonce) 을내장 된검증모듈로전달하는방식을사용했다. 반면에, 본발명의경우 (b) 타겟스마 트기기가요청할때랜덤하게생성된검증모듈이타겟스마트기기로전달되고, 이를이용하여검증작업을수행한다. 어플리케이션의특정부분, 변수의해 16-8
시 (Hash) 값, 순서를바꾼어플리케이션정보, 해시값을산출하는함수, 임의의 숫자, 문자재배치, 파일리스트등이랜덤하게선택되어검증모듈내코드로서이 용될수있다. 덧붙여, 스마트기기내에서검증모듈이검증작업을수행할때마 다선택되는정보가달라지고, 시그니쳐를위한저장및시그니쳐스캔을위한동 작이필요없어, 검증모듈이외부공격자에의해분석되기어렵고, 전체적인보안성 이향상될수있다. <0030> 도 5 는도 2 에도시된 Phase 2 에대해구체적으로설명하기위한도면이다. 사용자가타겟스마트기기내에소정의어플리케이션을설치및실행하고, 유저 식별정보를입력한다. 타겟스마트기기는악성어플리케이션검증시스템에유저 식별정보와함께접속을시도한다 (a). 악성어플리케이션검증시스템은도 3 을 참고하여상술한것처럼검증모듈을생성하고, 인터벌을체크하기위해검증모듈 생성시간 t 1 을기록한다 (b). 타겟스마트기기는악성어플리케이션검증시스템으 로부터수신된검증모듈을이용하여검증작업을수행하고, 검증작업의결과정보 가생성된시간 t 2 를기록한다. 사용자는악성어플리케이션검증시스템으로부터 수신된제 1 정보 (H 1 {m i, n i }, t 1 ) 와타겟스마트기기로부터수신된제 2 정 보 (H 2 {m i, n i }, t 2 ) 를각각확인하고 (c), 소정의어플리케이션의상태를알수있다. 제 1 정보와제 2 정보가동일한경우소정의어플리케이션은정상상태이고, 상이 한경우소정의어플리케이션은비정상상태일수있다. 덧붙여, t 1 과 t 2 를통해 16-9
소정의어플리케이션이리버스엔지니어링등의공격으로인해조작되었는지여부 를확인할수있고, 참고적으로 H 는해쉬결과, m 은검증모듈, n 은어플리케이션 내특정영역값, i 는임의의상수일수있다. <0031> 도 6 은도 2 에도시된 Phase 3 에대해구체적으로설명하기위한도면이다. 타겟스마트기기는악성어플리케이션검증시스템에유저식별정보와함께접속 을시도한다 (a). 악성어플리케이션검증시스템은도 3 을참고하여상술한것처 럼검증모듈을생성하고, 인터벌을체크하기위해검증모듈생성시간 t 1 을기록한 다. 타겟스마트기기는악성어플리케이션검증시스템으로부터수신된검증모듈 을이용하여검증작업을수행하고, 검증작업의결과정보가생성된시간 t 2 를기록 한다. 악성어플리케이션검증시스템은타겟스마트기기로부터제 2 정보 (H 2 {m i, n i }, t 2 ) 를수신하고 (b), 제 1 정보 (H 1 {m i, n i }, t 1 ) 와비교한다 (c). 비교한결과정 보는타겟스마트기기로전달되고, 이를통해사용자는소정의어플리케이션의상 태를알수있다. 제 1 정보와제 2 정보가동일한경우소정의어플리케이션은 정상상태이고, 상이한경우소정의어플리케이션은비정상상태일수있다. 덧붙 여, t 1 과 t 2 를통해소정의어플리케이션이리버스엔지니어링등의공격으로인해 조작되었는지여부를확인할수있고, 참고적으로 H 는해쉬결과, m 은검증모듈, n 은어플리케이션내특정영역값, i 는임의의상수일수있다. <0032> 소정의어플리케이션이비정상상태인경우, 악성어플리케이션검증시스템 16-10
은소정의어플리케이션이변조되었음을알리고, 타겟스마트기기와의통신을끊 을수있다. <0033> 지금까지설명한스마트기기내악성어플리케이션검증시스템및방법을 이용하면빠르게정확하게소정의어플리케이션의상태정보를판단할수있고, 리 버스엔지니어링등의공격에대해효과적으로대응할수있다. 본발명에서제안 하는기술을실제로적용시킨결과, 타겟스마트기기의경우판단하는데에평균 0.49 초가걸렸고, 악성어플리케이션검증시스템의경우판단하는데에평균 0.13 초가걸렸다. 이를통해타겟스마트기기와악성어플리케이션검증시스템이필 요로하는리소스도매우낮은수준인것을확인할수있었다. <0034> 전술한본발명의설명은예시를위한것이며, 본발명이속하는기술분야의 통상의지식을가진자는본발명의기술적사상이나필수적인특징을변경하지않 고서다른구체적인형태로쉽게변형이가능하다는것을이해할수있을것이다. 그러므로이상에서기술한실시예들은모든면에서예시적인것이며한정적이아닌 것으로이해해야만한다. 예를들어, 단일형으로설명되어있는각구성요소는분 산되어실시될수도있으며, 마찬가지로분산된것으로설명되어있는구성요소들 도결합된형태로실시될수있다. <0035> 본발명의범위는상기상세한설명보다는후술하는특허청구범위에의하여 나타내어지며, 특허청구범위의의미및범위그리고그균등개념으로부터도출되 는모든변경또는변형된형태가본발명의범위에포함되는것으로해석되어야 한다. 16-11
요약서 요약 본발명은예측불가능한검증기법을이용하여스마트기기내악성어플리 케이션을탐지할수있는검증시스템및검증방법을제공하기위해, 랜덤하게선 택된소정의어플리케이션에대한코드를포함하는검증모듈을생성하는검증모듈 생성부및스마트기기에서수행된검증작업의결과정보와시스템내에서의결과 정보를비교하여소정의어플리케이션의이상여부를체크하는검증체크부를포함 한다. 대표도 도 2 16-12
도면 도 1 도 2 16-13
도 3 16-14
도 4 16-15
도 5 도 6 16-16