KR101591503B1 - 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법, 및 컴퓨터로 읽을 수 있는 기록 매체 - Google Patents
자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법, 및 컴퓨터로 읽을 수 있는 기록 매체 Download PDFInfo
- Publication number
- KR101591503B1 KR101591503B1 KR1020140019270A KR20140019270A KR101591503B1 KR 101591503 B1 KR101591503 B1 KR 101591503B1 KR 1020140019270 A KR1020140019270 A KR 1020140019270A KR 20140019270 A KR20140019270 A KR 20140019270A KR 101591503 B1 KR101591503 B1 KR 101591503B1
- Authority
- KR
- South Korea
- Prior art keywords
- application
- self
- security module
- target application
- executing
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000001514 detection method Methods 0.000 claims abstract description 20
- 230000004044 response Effects 0.000 claims abstract description 15
- 238000012544 monitoring process Methods 0.000 claims abstract description 5
- 238000004891 communication Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 19
- 238000010295 mobile communication Methods 0.000 description 19
- 230000007123 defense Effects 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Telephone Function (AREA)
Abstract
자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법은 라이브러리 형태로 구현된 자기 방어 보안 모듈과 타겟 애플리케이션을 포함하는 패키지 애플리케이션이 실행되는 단계와, 상기 패키지 애플리케이션이 실행되는 동안, 상기 자기 방어 보안 모듈이 해킹을 감시하는 단계와, 상기 해킹을 감지한 상기 자기 방어 보안 모듈이 API(Application Programming Interface)를 통해 감지 신호를 상기 타겟 애플리케이션으로 전송하는 단계와, 상기 타겟 애플리케이션이 상기 감지 신호에 응답하여 실행을 중지하는 단계를 포함한다.
Description
본 발명의 개념에 따른 실시 예는 모바일 애플리케이션(mobile application)보안에 관한 것으로, 특히 시스템이 해킹되는 경우에도 자체 방어 능력을 이용하여 애플리케이션 자체를 보호할 수 있는 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션과 이의 동작 방법에 관한 것이다.
최근 이동 통신 단말기가 널리 보급되면서, 상기 이동 통신 단말기에서 구동되는 응용 프로그램, 즉 애플리케이션이 널리 사용되고 있다. 이러한 애플리케이션은 개방형 플랫폼과 다양한 네트워크 접속 환경에서 동작하므로 상대적으로 악성 코드 감염, 또는 해킹을 통한 데이터 유출과 같은 보안에 취약한 문제점이 있다.
이러한 보안 문제를 해결하기 위해 많은 보안 프로그램이 있으나, 대부분 시스템 또는 운영 체제 보안에 집중되고 있다. 시스템 또는 운영 체제가 해킹당하는 경우에는 애플리케이션이 처리하는 중요한 데이터가 유출될 가능성이 높다.
또한, 현재의 모바일 애플리케이션에 대한 보안 기술은 시스템 보안 기술에 집중되어 있다.
시스템이 잘 보호되고 안전하다면 상기 시스템이나 운영 체제 위에서 동작하는 애플리케이션도 당연히 안전하다는 가정하에, 모바일 안티-바이러스(mobile anti-virus) 또는 MDM(mobile device management) 등과 같은 시스템 보안 제품이 공급되고 있다.
그러나, 최근의 시스템에 대한 보안 공격의 경향은 사용자가 스마트폰으로 SNS(Social Networking Service)를 통해 전송된 URL 링크(Uniform Resource Locator(URL) link)를 클릭하는 것만으로도 상기 URL 링크에 관련된 모바일 웹 사이트를 통해 자동으로 해킹 프로그램이 상기 스마트폰에 설치되는 방법 등으로 시스템 보안이 해제될 가능성이 높다.
이 경우 스마트폰에 설치된 모바일 애플리케이션에는 자체적인 보안 기능이 없기 때문에, 상기 모바일 애플리케이션이 처리하는 중요한 데이터(예컨대, 보안이 필요한 데이터)가 유출될 가능성이 높고, 상기 모바일 애플리케이션의 코드 또한 역분석 과정을 통해 분석될 가능성이 높다. 상기 모바일 애플리케이션의 코드가 분석되면, 상기 모바일 애플리케이션과 서버 사이에서 전송되는 메시지 또는 인증 프로토콜이 분석될 수 있으므로 해킹 프로그램이 서버마저 공격할 수 있는 가능성이 높아질 수 있다.
본 발명의 해결하고자 하는 과제는 상술한 문제들 해결하기 위해 시스템이나 운영 체제가 해킹되는 경우에도 자체 방어 능력을 이용하여 애플리케이션이 처리하는 데이터(예컨대, 보안이 필요한 데이터와 애플리케이션 코드)를 보호할 수 있는 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션과 이의 동작 방법을 제공하는 것이다.
자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법은 라이브러리 형태로 구현된 자기 방어 보안 모듈과 타겟 애플리케이션을 포함하는 패키지 애플리케이션이 실행되는 단계와, 상기 패키지 애플리케이션이 실행되는 동안, 상기 자기 방어 보안 모듈이 해킹을 감시하는 단계와, 상기 해킹을 감지한 상기 자기 방어 보안 모듈이 API(Application Programming Interface)를 통해 감지 신호를 상기 타겟 애플리케이션으로 전송하는 단계와, 상기 타겟 애플리케이션이 상기 감지 신호에 응답하여 실행을 중지하는 단계를 포함하는 자기 방어 보안 모듈을 포함한다.
상기 해킹은 운영 체제의 변조, 화면 캡쳐 프로그램 실행, 화면 캡쳐 키의 실행, 해킹 프로그램의 실행, 외부 장치의 접속, 애뮬레이터를 이용한 상기 타겟 애플리케이션의 실행, 또는 리모트 접속 프로그램의 실행 중에서 적어도 하나를 포함한다.
상기 패키지 애플리케이션의 동작 방법은 상기 자기 방어 보안 모듈이 상기 해킹에 대한 로그를 생성하고 생성된 로그를 무선 통신망을 통해 관리 서버로 전송하는 단계를 더 포함한다.
상기 자기 방어 보안 모듈과 상기 타겟 애플리케이션은 동시에 실행되거나 동시에 종료된다.
상기 패키지 애플리케이션의 동작 방법은 상기 타겟 애플리케이션을 상기 자기 방어 보안 모듈로 랩핑(wrapping)하는 단계를 더 포함한다.
상기 패키지 애플리케이션의 동작 방법을 실행할 수 있는 컴퓨터 프로그램은 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다.
본 발명의 실시 예에 따른 패키지 애플리케이션은 상기 패키지 애플리케이션에 라이브러리 형태로 구현되고, 상기 패키지 애플리케이션이 실행되는 동안, 해킹을 감시하고 상기 해킹의 감지에 기초하여 감지 신호를 API(Application Programming Interface)를 통해 출력하는 자기 방어 보안 모듈과, 상기 패키지 애플리케이션에 포함되고 상기 API를 통해 입력된 상기 감지 신호에 응답하여 실행을 중지하는 타겟 애플리케이션을 포함한다.
상기 해킹은 운영 체제의 변조, 화면 캡쳐 프로그램 실행, 화면 캡쳐 키의 실행, 해킹 프로그램의 실행, 외부 장치의 접속, 애뮬레이터를 이용한 상기 타겟 애플리케이션의 실행, 또는 리모트 접속 프로그램의 실행 중에서 적어도 하나를 포함한다.
본 발명의 실시 예에 따른 라이브러리 형태로 구현된 자기 방어 보안 모듈과 타겟 애플리케이션을 포함하는 패키지 애플리케이션은 시스템 해킹 상황에서 상기 타겟 애플리케이션에 관련된 보안이 필요한 데이터와 상기 타겟 애플리케이션의 프로그램 코드를 보호할 수 있는 효과가 있다.
또한, 상기 데이터와 상기 프로그램 코드가 보호됨에 따라, 상기 코드의 역 분석을 통한 서버의 공격도 막을 수 있는 효과가 있다.
상기 패키지 애플리케이션의 동작 방법은, 운영 체제의 해킹 여부가 감지되는 경우, 타겟 애플리케이션의 실행을 스스로 중지시킬 수 있으므로, 데이터가 유출되는 것을 방지할 수 있는 효과가 있다.
상기 패키지 애플리케이션의 동작 방법은, 타겟 애플리케이션이 보안이 필요한 데이터를 처리할 때, 운영 체제의 기능을 일시적으로 중지시킬 수 있으므로, 상기 보안이 필요한 데이터가 유출되는 것을 방지할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 패키지 애플리케이션의 동작 방법을 설명하기 위한 개략적인 구성을 나타낸다.
도 2는 도 1에 도시된 패키지 애플리케이션의 동작 방법을 설명하기 위한 플로우 차트이다.
도 3은 본 발명의 다른 실시 예에 따른 패키지 애플리케이션의 동작 방법을 설명하기 위한 개략적인 구성을 나타낸다.
도 4는 도 3에 도시된 패키지 애플리케이션의 동작을 설명하기 위한 플로우 차트이다.
도 5는 본 발명의 또 다른 실시 예에 따른 패키지 애플리케이션의 동작 방법을 설명하기 위한 개략적인 구성을 나타낸다.
도 6은 본 발명의 또 다른 실시 예에 따른 패키지 애플리케이션의 블록도이다.
도 1은 본 발명의 실시 예에 따른 패키지 애플리케이션의 동작 방법을 설명하기 위한 개략적인 구성을 나타낸다.
도 2는 도 1에 도시된 패키지 애플리케이션의 동작 방법을 설명하기 위한 플로우 차트이다.
도 3은 본 발명의 다른 실시 예에 따른 패키지 애플리케이션의 동작 방법을 설명하기 위한 개략적인 구성을 나타낸다.
도 4는 도 3에 도시된 패키지 애플리케이션의 동작을 설명하기 위한 플로우 차트이다.
도 5는 본 발명의 또 다른 실시 예에 따른 패키지 애플리케이션의 동작 방법을 설명하기 위한 개략적인 구성을 나타낸다.
도 6은 본 발명의 또 다른 실시 예에 따른 패키지 애플리케이션의 블록도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 명세서에서 모듈(module)이라 함은 본 발명의 실시 예에 따른 방법을 수행하기 위한 하드웨어 또는 상기 하드웨어를 구동할 수 있는 소프트웨어의 기능적 또는 구조적 결합을 의미할 수 있다.
따라서, 상기 모듈은 프로그램 코드와 상기 프로그램 코드를 수행할 수 있는 하드웨어 리소스(resource)의 논리적 단위 또는 집합을 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나 한 종류의 하드웨어를 의미하는 것은 아니다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
본 명세서에서 설명될 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법은 컴퓨터로 읽을 수 있는 프로그램 코드로 작성되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있다. 상기 기록 매체는 앱 스토어(app store)의 데이터베이스 또는 메모리와 같은 저장 매체를 의미할 수 있다.
상기 프로그램 코드는 인터넷 또는 이동 통신망을 통해 전자 장치로 다운로드된 후 실행될 수 있다. 상기 전자 장치는 PC(personal computer) 또는 이동 통신 단말기를 의미할 수 있다. 본 명세서에서는 설명의 편의를 위해, 이동 통신 단말기에 설치된 패키지 애플리케이션의 동작을 중심으로 기술되나 본 발명의 기술적 사상은 PC에 설치된 패키지 애플리케이션에도 적용될 수 있다.
도 1은 본 발명의 실시 예에 따른 패키지 애플리케이션의 동작 방법을 설명하기 위한 개략적인 구성을 나타낸다.
도 1을 참조하면, 패키지 애플리케이션(10A)은 라이브러리(library) 형태로 구현된 자기 방어 보안 모듈(100A)과 타겟 애플리케이션(target application; 200)을 포함한다.
본 명세서에서는 자기 방어 보안 모듈(100A)이 라이브러리 형태로 삽입(또는 머지(merge))된 애플리케이션을 패키지 애플리케이션(10A)이라고 정의하고, 패키지 애플리케이션(10A)에서 자기 방어 보안 모듈(100A)을 제외한 부분을 타겟 애플리케이션(200)이라고 정의한다.
패키지 애플리케이션(10A)은 자기 방어 보안 모듈(100A)을 이용하여 타겟 애플리케이션(200)이 사용하는 데이터(예컨대, 보안이 필요한 데이터)와 타겟 애플리케이션(200)의 프로그램 코드를 시스템에 대한 해킹 상황에서 보호할 수 있다. 여기서 '시스템'은 이동 통신 단말기의 시스템 또는 PC의 시스템을 의미할 수 있다.
패키지 애플리케이션(10A)은 이동 통신 단말기(또는 PC)에 설치되고 실행될 수 있다. 예컨대, 이동 통신 단말기는 랩탑(laptop) 컴퓨터, 스마트폰, 태블릿 (tablet) PC, PDA(personal digital assistant), 디지털 카메라, 웨어러블 (wearable) 컴퓨터, IoT(internet of things) 장치, 또는 IoE(internet of everything) 장치로 구현될 수 있다.
패키지 애플리케이션(10A)에 포함된 타겟 애플리케이션(200)은 다양한 서비스를 사용자에게 제공할 수 있는 다양한 애플리케이션을 의미할 수 있다. 예컨대, 타겟 애플리케이션(200)은 뱅킹(banking) 애플리케이션, 비즈니스를 위한 애플리케이션, 전자 메일(e-mail)을 전송하고 수신하기 위한 애플리케이션, 인터넷 접속을 위한 애플리케이션, 문서 작성을 위해 애플리케이션, SNS(social network service)를 위한 애플리케이션, 또는 개인 정보 관리를 위한 애플리케이션 등과 같이 이동 통신 단말기(또는 PC)에 설치되고 사용되는 응용 프로그램을 의미할 수 있다.
예컨대, 타겟 애플리케이션(200)이 뱅킹 애플리케이션일 때, 패키지 애플리케이션(10A)은 그 안에 라이브러리 형태로 삽입된 자기 방어 보안 모듈(100A)을 이용하여 상기 뱅킹 애플리케이션에 대한 자체 보안을 제공할 수 있다.
여기서, '자체 보안'이란, 패키지 애플리케이션(10A)의 외부에 존재하는 독립적인 애플리케이션을 이용하여 타겟 애플리케이션(200)의 데이터와 타겟 애플리케이션(200)의 프로그램 코드를 보호하는 것이 아니라, 패키지 애플리케이션(10A)에 라이브러리 형태로 삽입된 자기 방어 보안 모듈(100A)을 이용하여 타겟 애플리케이션(200)의 데이터와 타겟 애플리케이션(200)의 프로그램 코드를 보호하는 것을 의미한다.
패키지 애플리케이션(10A)이 실행되면, 패키지 애플리케이션(10A)에 삽입된 자기 방어 보안 모듈(100A)은, 패키지 애플리케이션(10A)이 실행되는 동안, 운영 체제(operating system(OS)) 등에 대한 해킹을 감시할 수 있다.
상기 해킹은 OS의 변조(300-1), 화면 캡쳐 프로그램의 실행(300-2), 화면 캡쳐 키의 실행(300-3), 해킹 프로그램의 실행(300-4), 외부 장치의 접속(300-5), 애뮬레이터(emulator)를 이용한 타겟 애플리케이션의 실행(300-6), 또는 리모트 접속 프로그램의 실행(300-7) 중에서 적어도 하나를 의미할 수 있다. 상기 외부 장치는 입력 장치 또는 출력 장치를 의미할 수 있다.
예컨대, OS의 변조(300-1)는 안드로이드 OS의 루팅(rooting), 또는 iOS의 탈옥 (jail break)과 같은 OS에 대한 해킹에 의한 변조일 수 있다.
자기 방어 보안 모듈(100A)이 해킹(또는 데이터에 대한 유출)을 감지한 경우, 자기 방어 보안 모듈(100A)은 API(application programming interface)를 통해 감지 신호를 타겟 애플리케이션(200)으로 전송할 수 있다. 즉, 자기 방어 보안 모듈(100A)은 API를 통해 타겟 애플리케이션(200)과 통신할 수 있다.
이때, 자기 방어 보안 모듈(100A)은 로그(log)를 생성하고. 생성된 로그를 이동 통신 단말기(또는 PC)에 구현된 메모리에 저장될 수 있다. 상기 메모리에 저장된 로그는 무선 네트워크(또는 유선 네트워크)를 통해 관리 서버로 전송될 수 있다.
실시 예에 따라, 타겟 애플리케이션(200)은 API를 통해 전송된 감지 신호에 응답하여 타겟 애플리케이션(200)의 실행을 중지할 수 있다.
다른 실시 예에 따라, 타겟 애플리케이션(200)이 무선 네트워크(또는 유선 네트워크)를 통해 관리 서버(미도시)와 통신할 수 있고 해킹(또는 데이터에 대한 유출)을 감지한 경우, 자기 방어 보안 모듈(100A)은 감지 신호를 API를 통해 타겟 애플리케이션(200)으로 전송할 수 있다. 자기 방어 보안 모듈(100A)은 상기 감지의 결과에 기초하여 로그를 생성하고, 생성된 로그를 상기 무선 네트워크(또는 유선 네트워크)를 통해 상기 관리 서버로 전송할 수 있다.
타겟 애플리케이션(200)은 감지 신호에 응답하여 타겟 애플리케이션(200)의 실행을 중지할 수 있다.
따라서, 타겟 애플리케이션(200)에 의해 사용되는 데이터 및/또는 타겟 애플리케이션(200)의 프로그램 코드는 해킹으로부터 보호될 수 있다.
예컨대, 자기 방어 보안 모듈(100A)에 의해 생성되는 로그는 해킹 대상인 타겟 애플리케이션(200)의 버전(version) 정보, 이동 통신 단말기의 사용자 정보, 상기 이동 통신 단말기의 정보, 해킹 시도 형태, 및 해킹 시도 시간 중에서 적어도 하나를 포함할 수 있다.
타겟 애플리케이션(200)은 자기 방어 보안 모듈(100A)로부터 출력된 감지 신호에 응답하여 타겟 애플리케이션(200)의 실행을 자동으로 중지할 수 있다.
따라서, 이동 통신 단말기의 시스템이나 이동 통신 단말기의 OS가 해킹되더라도 자체 보안을 통해 보안이 필요한 데이터(즉, 보안 데이터)뿐만 아니라 보안이 필요하지 않은 데이터(비보안 데이터)에 대한 외부 유출도 방지되는 효과가 있다.
실시 예에 따라, 자기 방어 보안 모듈(100A)과 타겟 애플리케이션(200)은 동시에 실행되거나 동시에 종료될 수 있다.
도 2는 도 1에 도시된 패키지 애플리케이션의 동작 방법을 설명하기 위한 플로우 차트이다. 도 1과 도 2를 참조하면, 라이브러리 형태로 구현된 자기 방어 보안 모듈(100A)과 타겟 애플리케이션(200)을 포함하는 패키지 애플리케이션(10A)이 사용자에 의해 이동 통신 단말기에서 실행될 수 있다(S110).
패키지 애플리케이션(10A)이 실행되는 동안, 자기 방어 보안 모듈(100A)은 이동 통신 단말기에 대한 해킹을 감시할 수 있다(S120). 해킹의 종류는 도 1을 참조하여 설명한 바와 같다.
해킹이 감지되는 경우(S130), 자기 방어 보안 모듈(100A)은 API를 통해 감지 신호를 타겟 애플리케이션(200)으로 전송할 수 있다(S140). 타겟 애플리케이션 (200)은 감지 신호에 응답하여 타겟 애플리케이션(200)의 실행을 중지할 수 있다 (S150). 상술한 바와 같이, 로그는 관리 서버로 전송될 수 있다.
도 3은 본 발명의 다른 실시 예에 따른 패키지 애플리케이션의 동작 방법을 설명하기 위한 개략적인 구성을 나타낸다.
도 3을 참조하면, 패키지 애플리케이션(10B)은 라이브러리(library) 형태로 구현된 자기 방어 보안 모듈(100B)과 타겟 애플리케이션(200)을 포함한다.
패키지 애플리케이션(10B)은 이동 통신 단말기(또는 PC)에 설치되고 실행될 수 있다.
실시 예에 따라, 패키지 애플리케이션(10B)이 실행되는 동안, 보안 데이터를 화면(또는 디스플레이 장치)에 디스플레이할 필요가 있을 때, 즉 상기 보안 데이터를 처리할 필요가 있을 때, 타겟 애플리케이션(200)은 이동 통신 단말기의 OS(400)의 기능의 일부를 일시적으로 차단하기 위한 제1지시 신호를 자기 방어 모듈(100B)로 전송한다.
자기 방어 모듈(100B)은, 상기 제1지시 신호에 응답하여, OS(400)의 기능의 일부를 일시적으로 차단한다. 여기서 '일시적'이란 보안 데이터가 화면(또는 디스플레이 장치)에 디스플레이되는 시간을 의미할 수 있다.
일시적으로 차단되는 OS(400)의 기능의 일부는 스크린 캡처(500-1), 카메라 실행(500-2), 모바일 네트워크 접속(500-3), Wi-Fi 접속, 블루투스 접속, 등일 수 있다. 이러한 기능은 화면(또는 디스플레이 장치)에 디스플레이되는 데이터의 유출(즉, 해킹)에 관련된 기능일 수 있다.
다른 실시 예에 따라, 패키지 애플리케이션(10B)이 실행되는 동안, 보안 데이터를 화면(또는 디스플레이 장치)에 디스플레이할 필요가 있을 때, 타겟 애플리케이션(200)은 제2지시 신호(또는 보안 이벤트 신호)를 자기 방어 모듈(100B)로 전송한다.
자기 방어 모듈(100B)은, 상기 제2지시 신호에 응답하여, 해킹 상황(예컨대, OS의 변조, 화면 캡처 프로그램의 실행, 화면 캡쳐 키의 실행, 해킹 프로그램의 실행, 외부 장치의 접속, 리모트 접속 프로그램의 실행, USB 케이블 연결, HDMI 출력의 연결, Wi-Fi 접속, 블루투스 연결, NFC(Near Field Communication) 연결, USIM (Universal Subscriber Identity Module) 칩의 정보의 변경, 에뮬레이터 상에서 특정 프로그램의 실행 등)을 감시(monitor)한다.
타겟 애플리케이션(200)은 제2지시 신호를 자기 방어 모듈(100B)로 전송할 수 있다.
자기 방어 모듈(100B)에 따라 보안 데이터를 유출할 수 있는 OS(400)의 기능의 일부가 차단되고 상기 보안 데이터가 유출될 수 있는 해킹 상황이 감지되지 않으면, 자기 방어 모듈(100B)은 차단의 결과 및/또는 감시의 결과를 타겟 애플리케이션(200)으로 전송한다.
타겟 애플리케이션(200)은, 차단의 결과 및/또는 감시의 결과에 응답하여, 보안 데이터를 화면(또는 디스플레이 장치)에 디스플레이할 수 있다.
그러나, OS(400)의 기능의 일부가 차단되지 않음 또는 해킹 상황이 감지됨을 자기 방어 모듈(100B)로부터 통보를 받은 타겟 애플리케이션(200)은 타겟 애플리케이션(200)의 실행을 중지한다.
실시 예에 따라, OS(400)의 기능의 일부가 차단되지 않음 또는 해킹 상황을 감지한 자기 방어 모듈(100B)은 로그를 생성할 수 있다.
다른 실시 예에 따라, 패키지 애플리케이션(10B)이 무선 네트워크를 통해 관리 서버(미도시)와 통신할 수 있는 경우, OS(400)의 기능의 일부가 차단되지 않음 또는 해킹 상황이 감지됨을 자기 방어 모듈(100B)로부터 통보를 받은 타겟 애플리케이션(200)은 타겟 애플리케이션(200)의 실행을 중지한다.
다른 실시 예에 따라, OS(400)의 기능의 일부가 차단되지 않음 또는 해킹 상황을 감지한 자기 방어 모듈(100B)은 로그를 생성하고, 생성된 로그를 상기 무선 네트워크를 통해 상기 관리 서버로 전송하고, 타겟 애플리케이션(200)은 타겟 애플리케이션(200)의 실행을 중지할 수 있다.
또는, OS(400)의 기능의 일부가 차단되지 않음 또는 해킹 상황이 감지됨을 자기 방어 모듈(100B)로부터 통보를 받은 타겟 애플리케이션(200)은 보안 데이터를 화면(또는 디스플레이 장치)에 디스플레이하는 것을 거부할 수 있다.
실시 예에 따라, 자기 방어 보안 모듈(100B)과 타겟 애플리케이션(200)은 동시에 실행되거나 동시에 종료될 수 있다.
OS(400)의 기능의 일부가 차단되거나 해킹 상황이 감지되지 않은 상태에서, 타겟 애플리케이션(200)이 보안 데이터의 처리를 종료한 경우, 타겟 애플리케이션 (200)이 자기 방어 보안 모듈(100B)로 회복 신호를 전송한다. 자기 방어 보안 모듈 (100B)은, 상기 회복 신호에 응답하여, 중지된 OS(400)의 일부의 기능을 회복한다. 따라서, 스크린 캡처(500-1), 카메라 실행(500-2), 모바일 네트워크 접속(500-3), Wi-Fi 접속, 또는 블루투스 접속 등이 실행될 수 있다.
도 4는 도 3에 도시된 패키지 애플리케이션의 동작 방법을 설명하기 위한 플로우 차트이다.
도 3과 도 4를 참조하면, 라이브러리 형태로 구현된 자기 방어 보안 모듈(100B)과 타겟 애플리케이션(200)을 포함하는 패키지 애플리케이션(10B)이 사용자에 의해 실행될 수 있다(S210).
패키지 애플리케이션(10B)이 실행되는 동안, 타겟 애플리케이션(200)이 보안 데이터를 처리하는 경우 타겟 애플리케이션(200)은 보안 이벤트 신호(예컨대, 제2지시 신호)를 생성하고, 생성된 보안 이벤트 신호를 자기 방어 보안 모듈(100B)로 전송할 수 있다(S220).
자기 방어 보안 모듈(100B)은, 보안 이벤트 신호에 응답하여, 제1지시 신호를 생성하고 생성된 제1지시 신호를 OS(400)로 전송할 수 있다(S230).
OS(400)는 상기 제1지시 신호에 응답하여 상술한 OS(400)의 기능의 일부를 일시적으로 중지시킬 수 있다(S240).
도 5는 본 발명의 또 다른 실시 예에 따른 패키지 애플리케이션의 동작 방법을 설명하기 위한 개략적인 구성을 나타낸다.
패키지 애플리케이션(10C)은 타겟 애플리케이션(200)을 랩핑(wrapping)하는 자기 방어 보안 모듈(100C)을 포함한다.
자기 방어 보안 모듈(100C)이 타겟 애플리케이션(200)을 랩핑하고 있으므로, 자기 방어 보안 모듈(100C)이 먼저 실행되고, 실행된 자기 방어 보안 모듈(100C)이 타겟 애플리케이션(200)을 실행할 수 있다.
도 1 또는 도 3에 도시된 패키지 애플리케이션(10A 또는 10B)에서 자기 방어 모듈(100A 또는 100B)과 타겟 애플리케이션(200)은 API를 통해 통신을 수행할 수 있다.
그러나, 도 5의 패키지 애플리케이션(10C)에서는 자기 방어 보안 모듈(100C)과 타겟 애플리케이션(200) 사이에는 API와 같은 통신 수단이 없으므로, 자기 방어 모듈(100C)과 타겟 애플리케이션(200)은 미리 정해진 보안 정책(security policy)에 따라 보안 기능을 수행 또는 제공할 수 있다.
예컨대, 애플리케이션 설치 파일(예컨대, 안드로이드 OS에서는 apk(android package))을 이용하여 타겟 애플리케이션(200)을 랩핑(wrapping)할 수 있고, 상기 미리 정해진 보안 정책은 실시 예들에 따라 패키지 애플리케이션(10C)이 실행되는 동안에는 화면 캡처 기능 등을 중단하는 정책을 의미할 수 있다.
도 6은 본 발명의 또 다른 실시 예에 따른 패키지 애플리케이션의 블록도이다. 패키지 애플리케이션(10D)은 자기 방어 보안 모듈(100D)과 타겟 애플리케이션 (200)을 포함한다.
자기 방어 보안 모듈(100D)은 해킹 탐지 모듈(110)과 운영 체제 제어 모듈 (130)을 포함한다. 실시 예에 따라 자기 방어 보안 모듈(100D)은 해킹 탐지 모듈 (110)만 포함할 수 있고, 다른 실시 예에 따라 자기 방어 보안 모듈(100D)은 운영 체제 제어 모듈(130)만 포함할 수 있다.
해킹 탐지 모듈(110)은 이동 통신 단말기에 대한 해킹을 감시할 수 있고, 해킹이 감지될 때 감지 신호를 생성하고, 생성된 감지 신호를 타겟 애플리케이션 (200)으로 전송할 수 있다. 타겟 애플리케이션(200)은 상기 감지 신호에 응답하여 실행을 중지할 수 있다.
타겟 애플리케이션(200)이 보안 데이터를 처리하는 경우, 타겟 애플리케이션 (200)은 보안 이벤트 신호를 생성하고, 생성된 보안 이벤트 신호를 운영 체제 제어 모듈(130)로 전송할 수 있다. 운영 체제 제어 모듈(130)은 상기 보안 이벤트 신호에 응답하여 운영 체제(OS)의 기능의 일부를 중지시킬 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10A, 10B, 10C, 10D; 패키지 애플리케이션
100A, 100B, 100C, 100D; 자기 방어 보안 모듈
110; 해킹 탐지 모듈
130; 운영체제 제어 모듈
200; 타겟 애플리케이션
100A, 100B, 100C, 100D; 자기 방어 보안 모듈
110; 해킹 탐지 모듈
130; 운영체제 제어 모듈
200; 타겟 애플리케이션
Claims (8)
- 라이브러리 형태로 구현된 자기 방어 보안 모듈과 타겟 애플리케이션을 포함하는 패키지 애플리케이션이 실행되는 단계;
상기 패키지 애플리케이션이 실행되는 동안, 상기 자기 방어 보안 모듈이 해킹을 감시하는 단계;
상기 해킹을 감지한 상기 자기 방어 보안 모듈이 API(Application Programming Interface)를 통해 감지 신호를 상기 타겟 애플리케이션으로 전송하는 단계; 및
상기 타겟 애플리케이션이 상기 감지 신호에 응답하여 실행을 중지하는 단계를 포함하고,
상기 해킹은 운영 체제의 변조, 화면 캡쳐 프로그램 실행, 화면 캡쳐 키의 실행, 해킹 프로그램의 실행, 외부 장치의 접속, 애뮬레이터를 이용한 상기 타겟 애플리케이션의 실행, 또는 리모트 접속 프로그램의 실행 중에서 적어도 하나를 포함하는 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법. - 삭제
- 제1항에 있어서,
상기 자기 방어 보안 모듈이 상기 해킹에 대한 로그를 생성하고 생성된 로그를 무선 통신망을 통해 관리 서버로 전송하는 단계를 더 포함하는 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법. - 제1항에 있어서,
상기 자기 방어 보안 모듈과 상기 타겟 애플리케이션은 동시에 실행되거나 동시에 종료되는 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법. - 제1항에 있어서,
상기 타겟 애플리케이션을 상기 자기 방어 보안 모듈로 랩핑(wrapping)하는 단계를 더 포함하는 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법. - 제1항, 및 제3항부터 제5항 중의 어느 하나의 항의 상기 패키지 애플리케이션의 동작 방법을 실행할 수 있는 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140019270A KR101591503B1 (ko) | 2014-02-19 | 2014-02-19 | 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법, 및 컴퓨터로 읽을 수 있는 기록 매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140019270A KR101591503B1 (ko) | 2014-02-19 | 2014-02-19 | 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법, 및 컴퓨터로 읽을 수 있는 기록 매체 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150098123A KR20150098123A (ko) | 2015-08-27 |
KR101591503B1 true KR101591503B1 (ko) | 2016-02-03 |
Family
ID=54059647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140019270A KR101591503B1 (ko) | 2014-02-19 | 2014-02-19 | 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법, 및 컴퓨터로 읽을 수 있는 기록 매체 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101591503B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101951201B1 (ko) * | 2016-11-09 | 2019-02-25 | 주식회사 엔오디비즈웨어 | 보안 기능을 수행하는 애플리케이션의 작동 방법과 상응하는 애플리케이션 |
KR102101614B1 (ko) * | 2019-01-22 | 2020-04-17 | 주식회사 엔오디비즈웨어 | 보안 기능을 수행하는 애플리케이션의 작동 방법과 상응하는 애플리케이션 |
KR102180691B1 (ko) * | 2020-04-07 | 2020-11-19 | 주식회사 소버린월렛 | 보안 기능을 수행하는 기록 매체에 저장된 애플리케이션과 전자 장치 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100673200B1 (ko) * | 2004-08-31 | 2007-01-22 | 에스케이 텔레콤주식회사 | 무선 단말기에서의 모바일 바이러스 감시 방법 및 그 시스템 |
KR20070001304A (ko) * | 2005-06-29 | 2007-01-04 | 케이티하이텔 주식회사 | 해킹 방지 정보 제공 장치 및 그 방법과, 그를 이용한 해킹방지 기능을 가지는 단말기 및 그 방법 |
KR20100090119A (ko) * | 2009-02-05 | 2010-08-13 | 이병철 | 애플리케이션 가상화를 위한 이동형 메모리 장치의 보안 제공방법 및 상기 이동형 메모리 장치 |
-
2014
- 2014-02-19 KR KR1020140019270A patent/KR101591503B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20150098123A (ko) | 2015-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE46768E1 (en) | System and method for identifying and assessing vulnerabilities on a mobile communications device | |
US9736693B2 (en) | Systems and methods for monitoring an operating system of a mobile wireless communication device for unauthorized modifications | |
US20170134405A1 (en) | Dynamic Honeypot System | |
US9569618B2 (en) | Server and method for attesting application in smart device using random executable code | |
RU2477520C1 (ru) | Система и способ динамической адаптации функционала антивирусного приложения на основе конфигурации устройства | |
US20110161452A1 (en) | Collaborative malware detection and prevention on mobile devices | |
US10867049B2 (en) | Dynamic security module terminal device and method of operating same | |
KR20140074252A (ko) | 디바이스 상의 보안되지 않은 앱들의 보안 실행 | |
US10728841B2 (en) | Dynamic wireless network access point selection | |
CN104199654A (zh) | 开放平台的调用方法及装置 | |
KR20110128632A (ko) | 스마트폰 응용프로그램의 악성행위 탐지 방법 및 장치 | |
Bermejo et al. | Notice of Retraction: Steal Your Life Using 5 Cents: Hacking Android Smartphones with NFC Tags | |
KR101591503B1 (ko) | 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법, 및 컴퓨터로 읽을 수 있는 기록 매체 | |
CN111433772B (zh) | 服务器以及使用其防御恶意代码的方法 | |
US20170032110A1 (en) | User Terminal Interworking with Peripheral Device and Method for Preventing Leakage of Information Using the Same | |
Susanto | Revealing cyber threat of smart mobile devices within digital ecosystem: User information security awareness | |
Muzammal et al. | ScreenStealer: Addressing screenshot attacks on android devices | |
Gupta et al. | A risk-driven model to minimize the effects of human factors on smart devices | |
KR101594317B1 (ko) | 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법과 이를 저장하는 기록 매체 | |
KR101667117B1 (ko) | 운영체제 기반 스미싱 방어 방법 및 장치 | |
Jeong et al. | SafeGuard: a behavior based real-time malware detection scheme for mobile multimedia applications in android platform | |
CN117413490A (zh) | 检测并减轻基于蓝牙的攻击 | |
KR101331075B1 (ko) | 휴대 단말기 응용 프로그램의 필터링 방법 및 장치 | |
Anwar et al. | Guess who is listening in to the board meeting: on the use of mobile device applications as roving spy bugs | |
KR101527098B1 (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 | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20181127 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20200102 Year of fee payment: 5 |