KR101620170B1 - 개인 정보 유출 차단 장치 및 방법 - Google Patents

개인 정보 유출 차단 장치 및 방법 Download PDF

Info

Publication number
KR101620170B1
KR101620170B1 KR1020140077609A KR20140077609A KR101620170B1 KR 101620170 B1 KR101620170 B1 KR 101620170B1 KR 1020140077609 A KR1020140077609 A KR 1020140077609A KR 20140077609 A KR20140077609 A KR 20140077609A KR 101620170 B1 KR101620170 B1 KR 101620170B1
Authority
KR
South Korea
Prior art keywords
application
sample data
risk
personal information
privileges
Prior art date
Application number
KR1020140077609A
Other languages
English (en)
Other versions
KR20160000565A (ko
Inventor
홍충선
김성수
Original Assignee
경희대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경희대학교 산학협력단 filed Critical 경희대학교 산학협력단
Priority to KR1020140077609A priority Critical patent/KR101620170B1/ko
Publication of KR20160000565A publication Critical patent/KR20160000565A/ko
Application granted granted Critical
Publication of KR101620170B1 publication Critical patent/KR101620170B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Virology (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)

Abstract

어플리케이션을 선택 받고, 미리 학습된 데이터를 기반으로 상기 어플리케이션이 요청하는 하나 이상의 권한을 분류하고, 상기 분류된 하나 이상의 권한을 분석하여 상기 어플리케이션의 위험도를 연산하고, 시스템 콜 후킹(System call Hooking)을 통하여 개인 정보 접근 이벤트 또는 파일 접근 이벤트가 발생하는지 여부를 실시간 모니터링 하며, 상기 모니터링 결과, 상기 개인 정보 접근 이벤트 또는 상기 파일 접근 이벤트가 발생한 경우, 상기 어플리케이션의 위험도를 알람(Alarm)하도록 제어하는 개인 정보 유출 차단 장치 및 방법을 제공한다.

Description

개인 정보 유출 차단 장치 및 방법{APPARATUS AND METHOD FOR PROTECTING PERSONAL INFORMATION LEAKAGE}
본 발명의 실시예들은 개인 정보의 유출을 차단하는 장치 및 방법에 관한 것이다.
최근 들어 휴대전화에 인터넷 통신과 정보검색 등 컴퓨터 지원 기능을 추가한 지능형 단말기로서 사용자가 원하는 애플리케이션을 설치할 수 있는 스마트 폰이 등장하면서 인터넷 사용환경과 인터넷을 통한 사업의 범위도 매우 다양해지고 있는 추세이다.
예를 들어, 스마트 폰 사용자들은 직접 판매점을 방문하거나 TV, 카탈로그 등을 통해 상품에 대한 정보를 미리 습득하여야 하는 번거로움을 없애면서 현재 위치하고 있는 장소에서 인터넷을 통해 원하는 상품에 대한 자료를 보고, 그 중에서 원하는 것을 주문하거나 예약할 수 있다.
하지만, 이와 같이 스마트 폰의 각종 기능이나 무선 인터넷을 이용하는 과정에서 타 통신 단말기나 인터넷 사이트의 요청(예를 들어, 상품구매 결제나 보안관련 요청, 또는 해킹 등의 악의적인 공격 등)에 의해 스마트 폰에 저장되어 있는 개인정보가 노출될 수 있다.
이에 따라 스마트 폰에서의 개인 정보 유출을 차단하기 위해서, 인증된 사용자의 접근 여부를 판별하여 그에 따른 서비스를 제공함으로써, 각 개인들이 안전하게 스마트 폰을 활용하여 각종 프로그램이나 인터넷을 자유롭게 사용하는 것이 필요한 실정이다.
기존에 제안된 개인 정보 유출 차단 방법들 중에 시스템 콜(System Call)을 후킹(Hooking)해서 악성 애플리케이션에서 주로 쓰이는 API(Application Program Interface)들을 모니터링 하다가, 상기 API가 호출 될 시 유출 경로가 화이트 리스트(white-list)에 대응되지 않으면 개인 정보 유출을 차단하는 방법을 많이 적용하였다.
하지만, 상기 화이트 리스트 접근 정책을 위해서는 사용자가 직접 관리해야 한다는 번거로움이 있으며, 일반 사용자가 보안에 관심이 많더라도 앱의 접근 경로와 정보를 유출시키는 IP의 옳고 그름을 판단하기란 쉽지 않다.
본 발명의 일실시예는 SVM(Support Vector Machine) 분류 알고리즘을 통해 악성어플리케이션을 분류하는 것과 동시에 시스템 콜 후킹(System Call Hooking)을 통한 실시간 모니터링 방법을 접목하여, 개인 정보 유출을 차단하는 장치 및 방법을 제공한다.
본 발명의 일실시예는 리패키징 된 악성 어플리케이션에 의해 사용자 모르게 개인 정보의 유출을 시스템 콜 후킹을 통해 실시간으로 모니터링 하고, 악성 어플리케이션의 정확도를 높이기 위해 어플리케이션의 권한 목록을 기반으로 SVM 분류 알고리즘을 적용하여 상기 판단의 정확도를 높이는 것을 목적으로 한다.
본 발명의 일실시예에 따른 개인 정보 유출 차단 장치는 어플리케이션을 선택 받는 어플리케이션 선택부, 미리 학습된 데이터를 기반으로 상기 어플리케이션이 요청하는 하나 이상의 권한을 분류하고, 상기 분류된 하나 이상의 권한을 분석하여 상기 어플리케이션의 위험도를 연산하는 분류부, 시스템 콜 후킹(System call Hooking)을 통하여 개인 정보 접근 이벤트 또는 파일 접근 이벤트가 발생하는지 여부를 실시간 모니터링 하는 모니터링부, 및 상기 모니터링 결과, 상기 개인 정보 접근 이벤트 또는 상기 파일 접근 이벤트가 발생한 경우, 상기 어플리케이션의 위험도를 알람(Alarm)하도록 제어하는 판단부를 포함한다.
본 발명의 일측에 따르면, 상기 분류부는 SVM(Support Vector Machine) 분류 알고리즘을 이용하여 상기 하나 이상의 권한을 분류하고, 상기 분류된 하나 이상의 권한을 분석하여 상기 어플리케이션의 위험도를 수치화 할 수 있다.
본 발명의 일측에 따르면, 상기 분류부는 상기 하나 이상의 권한 별로 상기 위험도를 수치화 할 수 있다.
본 발명의 일측에 따르면, 상기 분류부는 상기 하나 이상의 권한 별로 위험도 순위를 판단 할 수 있다.
본 발명의 일측에 따르면, 상기 분류부는 상기 하나 이상의 권한 중 상기 위험도 순위가 미리 설정된 순위 이내인 하나 이상의 권한의 개수를 검출하고, 상기 검출된 개수에 따라 상기 어플리케이션의 위험도를 수치화 할 수 있다.
본 발명의 일측에 따르면, 상기 판단부는 상기 어플리케이션에 의한 상기 개인 정보 접근 이벤트 또는 상기 파일 접근 이벤트의 발생 여부에 대한 정보, 및 상기 어플리케이션의 위험도에 대한 정보를 알람하도록 제어할 수 있다.
본 발명의 일측에 따르면, 상기 판단부는 상기 어플리케이션에 의한 상기 개인 정보 접근 이벤트 또는 상기 파일 접근 이벤트의 발생 여부에 대한 정보, 및 상기 시스템 콜 후킹을 통하여 호출된 권한이 상기 어플리케이션에 의하여 허용된 권한인지 여부에 대한 정보를 알람하도록 제어할 수 있다.
본 발명의 일실시예에 따른 어플리케이션 권한 분류 장치는 커널에서 호출되는 전체 권한들을 데이터화 하여 전체 표본 데이터를 생성하는 전체 표본 데이터 생성부, 표본이 되는 어플리케이션이 요청하는 하나 이상의 권한의 정상(normal) 또는 비정상(abnormal) 여부를 분류하여 표본 데이터를 생성하는 분류부, 상기 분류된 표본 데이터를 SVM(Support Vector Machine)을 이용하여 학습시키는 데이터 학습부, 및 상기 전체 표본 데이터와 상기 학습된 표본 데이터를 비교하여 상기 표본 데이터의 분류 정확도를 판단하는 판단부를 포함한다.
본 발명의 일측에 따르면, 상기 전체 표본 데이터 생성부는 상기 전체 권한들에 대한 위험도 순위를 리스트 업(List up) 하여 상기 전체 표본 데이터를 생성할 수 있다.
본 발명의 일측에 따르면, 상기 분류부는 악성 어플리케이션에 의하여 호출되는 빈도에 가중치를 적용하여 상기 하나 이상의 권한의 정상(normal) 또는 비정상(abnormal) 여부를 분류할 수 있다.
본 발명의 일실시예에 따른 개인 정보 유출 차단 방법은 어플리케이션을 선택 받는 단계, 미리 학습된 데이터를 기반으로 상기 어플리케이션이 요청하는 하나 이상의 권한을 분류하고, 상기 분류된 하나 이상의 권한을 분석하여 상기 어플리케이션의 위험도를 연산하는 단계, 시스템 콜 후킹(System call Hooking)을 통하여 개인 정보 접근 이벤트 또는 파일 접근 이벤트가 발생하는지 여부를 실시간 모니터링 하는 단계, 및 상기 모니터링 결과, 상기 개인 정보 접근 이벤트 또는 상기 파일 접근 이벤트가 발생한 경우, 상기 어플리케이션의 위험도를 알람(Alarm)하도록 제어하는 단계를 포함한다.
본 발명의 일실시예에 따른 어플리케이션 권한 분류 방법은 커널에서 호출되는 전체 권한들을 데이터화 하여 전체 표본 데이터를 생성하는 단계, 표본이 되는 어플리케이션이 요청하는 하나 이상의 권한의 정상(normal) 또는 비정상(abnormal) 여부를 분류하여 표본 데이터를 생성하는 단계, 상기 분류된 표본 데이터를 SVM(Support Vector Machine)을 이용하여 학습시키는 단계, 및 상기 전체 표본 데이터와 상기 학습된 표본 데이터를 비교하여 상기 표본 데이터의 분류 정확도를 판단하는 단계를 포함한다.
본 발명의 일실시예에 따르면 SVM(Support Vector Machine) 분류 알고리즘을 통해 악성어플리케이션을 분류하는 것과 동시에 시스템 콜 후킹(System Call Hooking)을 통한 실시간 모니터링 방법을 접목하여, 개인 정보 유출을 차단할 수 있다.
본 발명의 일실시예에 따르면 리패키징 된 악성 어플리케이션에 의해 사용자 모르게 개인 정보의 유출을 시스템 콜 후킹을 통해 실시간으로 모니터링 하고, 악성 어플리케이션의 정확도를 높이기 위해 어플리케이션의 권한 목록을 기반으로 SVM 분류 알고리즘을 적용하여 상기 판단의 정확도를 높일 수 있다.
도 1은 본 발명의 일실시예에 따른 개인 정보 유출 차단 장치의 구성을 도시한 블록도이다.
도 2는 SVM의 범주를 분류한 예를 도시한 도면이다.
도 3은 SVM 분류 알고리즘에서 초평면(Hyperplane)을 선택하는 예를 도시한 도면이다.
도 4는 본 발명의 일측에 따른 어플리케이션 권한 분류 장치의 구성을 도시한 블록도이다.
도 5는 전체 표본 데이터의 예를 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 개인 정보 유출 차단 방법을 도시한 흐름도이다.
도 7은 본 발명의 일측에 따른 어플리케이션 권한 분류 방법을 도시한 흐름도이다.
이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시예를 상세하게 설명하지만, 본 발명이 실시예에 의해 제한되거나 한정되는 것은 아니다.
한편, 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는, 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 일실시예에 따른 개인 정보 유출 차단 장치 및 방법은 리패키징(Repackaging) 된 악성 어플리케이션에 의해 사용자 모르게 유출되는 개인 정보를 시스템 콜 후킹을 통해 실시간으로 모니터링 하고, 악성 어플리케이션의 위험도에 대한 정확도를 높이기 위해 어플리케이션의 권한 목록을 기반으로 SVM 분류 알고리즘을 적용하여 상기 위험도에 대한 정확도를 높일 수 있다.
도 1은 본 발명의 일실시예에 따른 개인 정보 유출 차단 장치의 구성을 도시한 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 개인 정보 유출 차단 장치는 어플리케이션 선택부(110), 분류부(120), 모니터링부(130), 및 판단부(140)를 포함한다.
본 발명의 일측에 따르면, 도 1에 도시된 바와 같이 어플리케이션 선택부(110) 외에 분류부(120), 모니터링부(130), 및 판단부(140)는 어플리케이션의 위험도를 알람(Alarm)하는 알람 어플리케이션 모듈(100)로 구분될 수 있으나, 각각의 모듈이 독립적으로 구동될 수도 있다.
어플리케이션 선택부(110)는 어플리케이션을 선택 받는다.
예를 들어, 사용자는 스마트 폰의 어플리케이션 마켓을 통하여 어플리케이션을 설치하기 위하여 특정 어플리케이션을 선택할 수 있으며, 어플리케이션 선택부(110)는 상기 사용자의 선택에 따라 발생되는 선택 신호를 수신하여 어떤 어플리케이션이 선택되었는지 판단한다.
분류부(120)는 미리 학습된 데이터를 기반으로 상기 어플리케이션이 요청하는 하나 이상의 권한을 분류하고, 상기 분류된 하나 이상의 권한을 분석하여 상기 어플리케이션의 위험도를 연산한다.
분류부(120)는 SVM(Support Vector Machine) 분류 알고리즘을 이용하여 상기 하나 이상의 권한을 분류하고, 상기 분류된 하나 이상의 권한을 분석하여 상기 어플리케이션의 위험도를 수치화 할 수 있다.
본 발명의 전반에 걸쳐 언급되는 SVM(Support Vector Machine) 이라 함은 머신 러닝(Machine Learning) 기법 중 하나로, SVM(Support Vector Machine) 분류 알고리즘은 주어진 자료에 대해서 그 자료들을 분리하는 지점을 찾는 것을 목적으로 하는 알고리즘 방법이다.
도 2는 SVM의 범주를 분류한 예를 도시한 도면이고, 도 3은 SVM 분류 알고리즘에서 초평면(Hyperplane)을 선택하는 예를 도시한 도면이다.
도 2 및 3을 참조하면, SVM 분류 알고리즘은 벡터 공간에 표시될 수 있으며 선형이든 비선형이든 분류 할 수 있는 방법이다. 도 2 및 도 3과 같은 벡터들 중 같은 범주를 기준으로 바깥으로 위치한 벡터들의 연결선으로 이루어진 다각형을 볼록 껍질(convex hull)이라 하며, 상기 convex hull 안에 다른 벡터들은 그룹을 분류하는데 영향을 미치지 않지만 가장 바깥에 있는 위치한 벡터들이 큰 영향을 미칠 수 있다.
도 2에 도시된 바와 같이, 가장 바깥에 위치한 벡터들을 서포트 벡터(Support Vector)라 하며, 서포트 벡터들을 가르는 선 및 면을 초평면(hyperplane)이라고 한다.
도 3에 도시된 바와 같이, 초평면(H1, H2, H3)은 복수개가 생길 수 있으나, 그 중에서 서포트 벡터와 가장 먼 거리를 가진 초평면인 H2가 두 그룹을 효과적으로 분류할 수 있다.
다시 도 1을 참조하면, 분류부(120)는 상기 하나 이상의 권한 별로 상기 위험도를 수치화 할 수 있으며, 상기 하나 이상의 권한 별로 위험도 순위를 판단할 수도 있다.
예를 들어, 분류부(120)는 상기 하나 이상의 권한 중 상기 위험도 순위가 미리 설정된 순위 이내인 하나 이상의 권한의 개수를 검출하고, 상기 검출된 개수에 따라 상기 어플리케이션의 위험도를 수치화 할 수 있다.
구체적인 예로, 분류부(120)는 상기 선택된 어플리케이션이 요청하는 권한들(예를 들어, 네트워크 사용, 전화 통화, 전화번호 접근, 시스템 도구 접근 등)을 기존에 학습된 데이터를 기반으로 분류할 수 있다.
이때, 분류부(120)는 상기 어플리케이션이 요청하는 권한 별로 위험도를 수치화 할 수 있는데, 예를 들어, 상기 권한들 중 네트워크 사용은 위험도 80%(위험도 순위 1), 전화 번호 접근은 위험도 79%(위험도 순위 3)등과 같이 분류할 수 있다.
또한, 분류부(120)는 상기 어플리케이션이 요청하는 권한들 중 위험도의 합 또는 위험도의 순위 합에 따라 해당 어플리케이션의 위험도를 수치화 화여 관리할 수도 있다.
분류부(120)는 SVM 분류 알고리즘을 적용하여 상기 어플리케이션의 위험도 또는 권한 별 위험도를 수치화하여 분류할 수 있다.
예를 들어, 분류부(120)는 어플리케이션이 요청하는 권한들 중 3개 이상이 위험도 순위 10위 이내에 있는 경우, 상기 어플리케이션의 위험도를 80%라 결정할 수 있다. 또 다른 예로, 분류부(120)는 어플리케이션이 요청하는 권한들 중 2개 이상이 위험도 순위 10위 이내에 있는 경우, 상기 어플리케이션의 위험도를 80%라 결정할 수도 있다.
상기와 같이, 분류부(120)는 SVM 분류 알고리즘을 기반으로 어플리케이션의 위험도에 대한 정보를 수치화 하여 가지고 있으며, 모니터링부(130)에서 개인 정보 유출 이벤트 또는 파일 접근 이벤트를 감지할 때까지 상기 상태로 대기한다.
모니터링부(130)는 시스템 콜 후킹(System call Hooking)을 통하여 개인 정보 접근 이벤트 또는 파일 접근 이벤트가 발생하는지 여부를 실시간 모니터링 한다.
본 발명의 이해를 돕고자 시스템 콜 후킹(System call Hooking)에 대하여 간단히 설명하면 다음과 같이 설명할 수 있다.
시스템 콜(System call)은 운영 체제의 커널(Kernel)이 제공하는 서비스에 대해 어플리케이션의 요청에 따라 유저 모드(User Mode)에서 커널 모드(Kernel Mode)에 접근하기 위한 인터페이스이다. 상기 시스템 콜에 접근하기 위해서는 시스템 콜 테이블의 주소를 알아야 하며, 상기 시스템 콜 테이블의 주소를 알아내서 함수 호출 또는 메시지 이벤트 등을 중간에서 가로채서 다른 방식으로 동작하도록 처리하는 행위를 시스템 콜 후킹이라 할 수 있다.
모니터링부(130)는 상기 어플리케이션에 허용된 권한들과 상관 없이, 시스템 콜 후킹(System call Hooking)을 통하여 개인 정보 유출 이벤트 또는 파일 접근 이벤트가 발생하는지 여부를 실시간으로 모니터링하고, 상기 이벤트가 발생한 경우 이벤트 발생 여부를 판단부(140)에 알려 줄 수 있다.
판단부(140)는 상기 모니터링 결과, 상기 개인 정보 접근 이벤트 또는 상기 파일 접근 이벤트가 발생한 경우, 상기 어플리케이션의 위험도를 알람(Alarm)하도록 제어한다.
예를 들어, 판단부(140)는 상기 어플리케이션에 의한 상기 개인 정보 접근 이벤트 또는 상기 파일 접근 이벤트의 발생 여부에 대한 정보, 및 상기 어플리케이션의 위험도에 대한 정보를 알람하도록 제어할 수 있다.
구체적으로, 판단부(140)는 어떤 개인 정보에 대한 접근이 어플리케이션에 의해 발생하였는지에 대한 정보와, 상기 어플리케이션의 위험도에 대한 수치화된 정보를 사용자에게 알람 할 수 있다.
또 다른 예로, 판단부(140)는 상기 어플리케이션에 의한 상기 개인 정보 접근 이벤트 또는 상기 파일 접근 이벤트의 발생 여부에 대한 정보, 및 상기 시스템 콜 후킹을 통하여 호출된 권한이 상기 어플리케이션에 의하여 허용된 권한인지 여부에 대한 정보를 알람하도록 제어할 수도 있다.
구체적으로, 판단부(140)는 어떤 개인 정보에 대한 접근이 어플리케이션에 의해 발생하였는지에 대한 정보와, 호출된 권한이 상기 어플리케이션에게 허용되지 않았음을 사용자에게 알람 할 수도 있다. 이 경우, 판단부(140)는 사용자에게 개인 정보 유출에 대한 위험도로 매우 위험함을 알려 줄 수 있다.
또는, 판단부(140)는 어떤 개인 정보에 대한 접근이 어플리케이션에 의해 발생하였는지에 대한 정보와, 호출된 권한이 상기 어플리케이션에 허용된 권한이나 어느 정도의 위험도를 가지고 있는지를 나타내는 수치화된 정보를 사용자에게 알람할 수도 있다.
아래에서는 본 발명의 일측에 따른 SVM 분류 알고리즘을 이용하여 어플리케이션의 권한을 분류하는 장치를 설명하도록 한다.
도 4는 본 발명의 일측에 따른 어플리케이션 권한 분류 장치의 구성을 도시한 블록도이다.
도 4를 참조하면, 본 발명의 일측에 따른 어플리케이션 권한 분류 장치(400)는 전체 표본 데이터 생성부(410), 분류부(420), 데이터 학습부(430), 및 판단부(440)를 포함한다.
어플리케이션 권한 분류 장치(400)는 전술한 도 1의 분류부(120)의 위험도 판단을 학습시키기 위한 장치라고 할 수 있다. 어플리케이션 권한 분류 장치(400)는 어플리케이션에서 허용된 각각의 권한 별로 위험도 수치를 학습하거나, 어플리케이션이 요청하는 권한 전체가 특정 권한을 포함하는 경우, 어플리케이션의 위험도가 얼마나 되는지를 학습시킬 수 있다.
예를 들어, 어플리케이션 권한 분류 장치(400)는 어플리케이션이 요청하는 권한이 4개일 때 상기 권한 중 3개의 권한이 위험하여 악성 어플리케이션일 가능성이 있음(abnormal)으로, 또는 요청하는 권한 중 위험한 권한이 1개이거나 가중치가 낮아 악성 어플리케이션일 가능성이 낮음(normal)과 같이 판단할 수 있다.
전체 표본 데이터 생성부(410)는 커널에서 호출되는 전체 권한들을 데이터화 하여 전체 표본 데이터를 생성한다.
도 5는 전체 표본 데이터의 예를 도시한 도면이다.
상기 도 5에 도시된 전체 표본 데이터는 표본 데이터를 가지고 SVM을 이용하여 학습 시킨 결과일 수도 있다.
예를 들어, 도 5에 도시된 바와 같이 전체 표본 데이터 생성부(410)는 상기 전체 권한들에 대한 위험도 순위를 리스트 업(List up) 하여 상기 전체 표본 데이터를 생성할 수 있다.
분류부(420)는 표본이 되는 어플리케이션이 요청하는 하나 이상의 권한의 정상(normal) 또는 비정상(abnormal) 여부를 분류하여 표본 데이터를 생성한다.
예를 들어, 분류부(420)는 악성 어플리케이션에 의하여 호출되는 빈도에 가중치를 적용하여 상기 하나 이상의 권한의 정상(normal) 또는 비정상(abnormal) 여부를 분류할 수 있다.
또한, 어플리케이션 권한 분류 장치(400)는 악성 어플리케이션 또는 개인 정보에 접근하는 어플리케이션이 자주 사용하는 권한들에 대한 정보(예를 들어, 권한 별 위험도, 권한 위험도의 조합 등)는 이미 보유하고 있으며, 상기 악성 어플리케이션이 자주 사용하는 권한들을 SVM을 이용하여 학습 시키기 위한 표본 데이터로 사용할 수 도 있다.
이때, 분류부(420)는 표본이 되는 데이터가 요청하는 권한들을 정상 또는 비정상으로 분류할 수 있으며, 상기 분류 기준은 악성 어플리케이션에서 자주 사용되는 빈도 수에 따라 빈도가 일정 기준 이상인 권한이 몇 개 이상 포함되었는지 여부, 또는 특정 권한이 빈도 수 순위의 상위에 해당하는 경우 비정상으로 분류할 수 있다.
구체적인 예로, "여기요"라는 어플리케이션의 설치 시 요구하는 권한이 네트워크 통신, 전화 통화, 저장 용량, 시스템 도구라고 가정하는 경우, 상기 권한들은 도 5의 전체 표본 데이터의 권한을 맵핑(Mapping)하면 {1, 2, 12, 15}와 같이 될 수 있다. 분류부(420)는 이러한 표본 데이터들을 정상 및 비정상으로 분류할 수 있다.
데이터 학습부(430)는 상기 분류된 표본 데이터를 SVM(Support Vector Machine)을 이용하여 학습시킨다.
데이터 학습부(430)는 표본 데이터의 일부만 가지고 학습 시킬 수도 있으며, 예를 들어, 표본 데이터의 20%만 가지고 학습 시킬 수도 있다.
판단부(440)는 상기 전체 표본 데이터와 상기 학습된 표본 데이터를 비교하여 상기 표본 데이터의 분류 정확도를 판단한다.
예를 들어, 판단부(440)는 상기 학습된 표본 데이터가 전체 표본 데이터에 대해 얼마나 잘 분류하는지를 비교하여 전체 데이터의 분류 율을 계산할 수도 있다.
아래에서는 본 발명의 일실시예에 따른 개인 정보 유출 차단 방법을 설명하도록 한다.
본 발명의 일실시예에 따른 개인 정보 유출 차단 방법은 전술한 개인 정보 유출 차단 장치를 이용하여 수행할 수 있는 바, 개인 정보 유출 차단 장치의 관점에서 설명하도록 한다.
도 6은 본 발명의 일실시예에 따른 개인 정보 유출 차단 방법을 도시한 흐름도이다.
도 6을 참조하면, 개인 정보 유출 차단 장치는 어플리케이션을 선택 받는다(610).
개인 정보 유출 차단 장치는 미리 학습된 데이터를 기반으로 상기 어플리케이션이 요청하는 하나 이상의 권한을 분류하고(620), 상기 분류된 하나 이상의 권한을 분석하여 상기 어플리케이션의 위험도를 연산한다(630).
예를 들어, 개인 정보 유출 차단 장치는 SVM(Support Vector Machine) 분류 알고리즘을 이용하여 상기 하나 이상의 권한을 분류하고, 상기 분류된 하나 이상의 권한을 분석하여 상기 어플리케이션의 위험도를 수치화 할 수 있다.
구체적인 예로, 개인 정보 유출 차단 장치는 상기 하나 이상의 권한 별로 상기 위험도를 수치화 할 수 있다.
또한, 개인 정보 유출 차단 장치는 상기 하나 이상의 권한 별로 위험도 순위를 판단하고, 상기 하나 이상의 권한 중 상기 위험도 순위가 미리 설정된 순위 이내인 하나 이상의 권한의 개수를 검출하며, 상기 검출된 개수에 따라 상기 어플리케이션의 위험도를 수치화 할 수도 있다.
개인 정보 유출 차단 장치는 시스템 콜 후킹(System call Hooking)을 통하여 개인 정보 접근 이벤트 또는 파일 접근 이벤트가 발생하는지 여부를 실시간 모니터링 한다(640).
개인 정보 유출 차단 장치는 상기 모니터링 결과, 상기 개인 정보 접근 이벤트 또는 상기 파일 접근 이벤트가 발생한 경우, 상기 어플리케이션의 위험도를 알람(Alarm)하도록 제어한다(650).
예를 들어, 개인 정보 유출 차단 장치는 상기 어플리케이션에 의한 상기 개인 정보 접근 이벤트 또는 상기 파일 접근 이벤트의 발생 여부에 대한 정보, 및 상기 어플리케이션의 위험도에 대한 정보를 알람하도록 제어할 수도 있다.
아래에서는 본 발명의 일측에 따른 어플리케이션 권한 분류 방법을 설명하도록 한다.
본 발명의 일측에 따른 어플리케이션 권한 분류 방법은 전술한 어플리케이션 권한 분류 장치를 이용하여 수행될 수 있는 바, 어플리케이션 권한 분류 장치의 관점에서 설명하도록 한다.
도 7은 본 발명의 일측에 따른 어플리케이션 권한 분류 방법을 도시한 흐름도이다.
도 7을 참조하면, 어플리케이션 권한 분류 장치는 커널에서 호출되는 전체 권한들을 데이터화 하여 전체 표본 데이터를 생성한다(710).
어플리케이션 권한 분류 장치는 표본이 되는 어플리케이션이 요청하는 하나 이상의 권한의 정상(normal) 또는 비정상(abnormal) 여부를 분류하여 표본 데이터를 생성한다(720).
어플리케이션 권한 분류 장치는 상기 분류된 표본 데이터를 SVM(Support Vector Machine)을 이용하여 학습시킨다(730).
어플리케이션 권한 분류 장치는 상기 전체 표본 데이터와 상기 학습된 표본 데이터를 비교하여 상기 표본 데이터의 분류 정확도를 판단한다(740).
본 발명의 일측에 따르면, 스마트 폰으로부터 유출되는 개인 정보를 차단해주는 어플리케이션에 적용하여, 개인 정보 유출을 차단할 수 있다.
본 발명의 일측에 따르면, 어플리케이션에 국한 되지 않고 리눅스 커널을 가진 디바이스의 보안 분야에 적용하여, 보안에 대한 위험도를 수치화 하여 제공할 수도 있다.
본 발명의 일측에 따르면, 악성 어플리케이션의 위험도를 사용자에게 수치화 하여 알람 함으로써 사용자에 의하여 자동으로 관리될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: 알람 어플리케이션 모듈
110: 어플리케이션 선택부
120: 분류부
130: 모니터링부
140: 판단부

Claims (16)

  1. 어플리케이션을 선택 받는 어플리케이션 선택부;
    미리 학습된 데이터를 기반으로 상기 어플리케이션이 요청하는 하나 이상의 권한을 분류하고, 상기 분류된 하나 이상의 권한을 분석하여 상기 어플리케이션의 위험도를 연산하는 분류부;
    시스템 콜 후킹(System call Hooking)을 통하여 개인 정보 접근 이벤트 또는 파일 접근 이벤트가 발생하는지 여부를 실시간 모니터링 하는 모니터링부; 및
    상기 모니터링 결과, 상기 개인 정보 접근 이벤트 또는 상기 파일 접근 이벤트가 발생한 경우, 상기 어플리케이션의 위험도를 알람(Alarm)하도록 제어하는 판단부를 포함하고,
    상기 어플리케이션의 위험도는, 커널에서 호출되는 전체 권한들을 데이터화하여 전체 표본 데이터를 생성하는 과정, 표본이 되는 어플리케이션이 요청하는 하나 이상의 권한의 정상(normal) 또는 비정상(abnormal) 여부를 분류하여 표본 데이터를 생성하는 과정, 상기 분류된 표본 데이터를 SVM(Support Vector Machine)을 이용하여 학습시키는 과정 및 상기 전체 표본 데이터와 상기 학습된 표본 데이터를 비교하여 상기 표본 데이터의 분류 정확도를 판단하는 과정을 통해 학습된 결과에 기초하여 연산되는
    개인 정보 유출 차단 장치.
  2. 제1항에 있어서,
    상기 분류부는,
    SVM(Support Vector Machine) 분류 알고리즘을 이용하여 상기 하나 이상의 권한을 분류하고, 상기 분류된 하나 이상의 권한을 분석하여 상기 어플리케이션의 위험도를 수치화 하는 개인 정보 유출 차단 장치.
  3. 제1항에 있어서,
    상기 분류부는,
    상기 하나 이상의 권한 별로 상기 위험도를 수치화 하는 개인 정보 유출 차단 장치.
  4. 제1항에 있어서,
    상기 분류부는,
    상기 하나 이상의 권한 별로 위험도 순위를 판단하는 개인 정보 유출 차단 장치.
  5. 제4항에 있어서,
    상기 분류부는,
    상기 하나 이상의 권한 중 상기 위험도 순위가 미리 설정된 순위 이내인 하나 이상의 권한의 개수를 검출하고, 상기 검출된 개수에 따라 상기 어플리케이션의 위험도를 수치화 하는 개인 정보 유출 차단 장치.
  6. 제1항에 있어서,
    상기 판단부는,
    상기 어플리케이션에 의한 상기 개인 정보 접근 이벤트 또는 상기 파일 접근 이벤트의 발생 여부에 대한 정보, 및 상기 어플리케이션의 위험도에 대한 정보를 알람하도록 제어하는 개인 정보 유출 차단 장치.
  7. 제1항에 있어서,
    상기 판단부는,
    상기 어플리케이션에 의한 상기 개인 정보 접근 이벤트 또는 상기 파일 접근 이벤트의 발생 여부에 대한 정보, 및 상기 시스템 콜 후킹을 통하여 호출된 권한이 상기 어플리케이션에 의하여 허용된 권한인지 여부에 대한 정보를 알람하도록 제어하는 개인 정보 유출 차단 장치.
  8. 커널에서 호출되는 전체 권한들을 데이터화 하여 전체 표본 데이터를 생성하는 전체 표본 데이터 생성부;
    표본이 되는 어플리케이션이 요청하는 하나 이상의 권한의 정상(normal) 또는 비정상(abnormal) 여부를 분류하여 표본 데이터를 생성하는 분류부;
    상기 분류된 표본 데이터를 SVM(Support Vector Machine)을 이용하여 학습시키는 데이터 학습부; 및
    상기 전체 표본 데이터와 상기 학습된 표본 데이터를 비교하여 상기 표본 데이터의 분류 정확도를 판단하는 판단부
    를 포함하는 어플리케이션 권한 분류 장치.
  9. 제8항에 있어서,
    상기 전체 표본 데이터 생성부는,
    상기 전체 권한들에 대한 위험도 순위를 리스트 업(List up) 하여 상기 전체 표본 데이터를 생성하는 어플리케이션 권한 분류 장치.
  10. 제8항에 있어서,
    상기 분류부는,
    악성 어플리케이션에 의하여 호출되는 빈도에 가중치를 적용하여 상기 하나 이상의 권한의 정상(normal) 또는 비정상(abnormal) 여부를 분류하는 어플리케이션 권한 분류 장치.
  11. 어플리케이션을 선택 받는 단계;
    미리 학습된 데이터를 기반으로 상기 어플리케이션이 요청하는 하나 이상의 권한을 분류하고, 상기 분류된 하나 이상의 권한을 분석하여 상기 어플리케이션의 위험도를 연산하는 단계;
    시스템 콜 후킹(System call Hooking)을 통하여 개인 정보 접근 이벤트 또는 파일 접근 이벤트가 발생하는지 여부를 실시간 모니터링 하는 단계; 및
    상기 모니터링 결과, 상기 개인 정보 접근 이벤트 또는 상기 파일 접근 이벤트가 발생한 경우, 상기 어플리케이션의 위험도를 알람(Alarm)하도록 제어하는 단계를 포함하고,
    상기 어플리케이션의 위험도는, 커널에서 호출되는 전체 권한들을 데이터화하여 전체 표본 데이터를 생성하는 과정, 표본이 되는 어플리케이션이 요청하는 하나 이상의 권한의 정상(normal) 또는 비정상(abnormal) 여부를 분류하여 표본 데이터를 생성하는 과정, 상기 분류된 표본 데이터를 SVM(Support Vector Machine)을 이용하여 학습시키는 과정 및 상기 전체 표본 데이터와 상기 학습된 표본 데이터를 비교하여 상기 표본 데이터의 분류 정확도를 판단하는 과정을 통해 학습된 결과에 기초하여 연산되는
    개인 정보 유출 차단 방법.
  12. 제11항에 있어서,
    상기 어플리케이션의 위험도를 연산하는 단계는,
    SVM(Support Vector Machine) 분류 알고리즘을 이용하여 상기 하나 이상의 권한을 분류하고, 상기 분류된 하나 이상의 권한을 분석하여 상기 어플리케이션의 위험도를 수치화 하는 단계
    를 포함하는 개인 정보 유출 차단 방법.
  13. 제11항에 있어서,
    상기 어플리케이션의 위험도를 연산하는 단계는,
    상기 하나 이상의 권한 별로 상기 위험도를 수치화 하는 단계
    를 포함하는 개인 정보 유출 차단 방법.
  14. 제11항에 있어서,
    상기 어플리케이션의 위험도를 연산하는 단계는,
    상기 하나 이상의 권한 별로 위험도 순위를 판단하는 단계;
    상기 하나 이상의 권한 중 상기 위험도 순위가 미리 설정된 순위 이내인 하나 이상의 권한의 개수를 검출하는 단계; 및
    상기 검출된 개수에 따라 상기 어플리케이션의 위험도를 수치화 하는 단계
    를 포함하는 개인 정보 유출 차단 방법.
  15. 제11항에 있어서,
    상기 어플리케이션에 의한 상기 개인 정보 접근 이벤트 또는 상기 파일 접근 이벤트의 발생 여부에 대한 정보, 및 상기 어플리케이션의 위험도에 대한 정보를 알람하도록 제어하는 단계
    를 더 포함하는 개인 정보 유출 차단 방법.
  16. 커널에서 호출되는 전체 권한들을 데이터화 하여 전체 표본 데이터를 생성하는 단계;
    표본이 되는 어플리케이션이 요청하는 하나 이상의 권한의 정상(normal) 또는 비정상(abnormal) 여부를 분류하여 표본 데이터를 생성하는 단계;
    상기 분류된 표본 데이터를 SVM(Support Vector Machine)을 이용하여 학습시키는 단계; 및
    상기 전체 표본 데이터와 상기 학습된 표본 데이터를 비교하여 상기 표본 데이터의 분류 정확도를 판단하는 단계
    를 포함하는 어플리케이션 권한 분류 방법.
KR1020140077609A 2014-06-24 2014-06-24 개인 정보 유출 차단 장치 및 방법 KR101620170B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140077609A KR101620170B1 (ko) 2014-06-24 2014-06-24 개인 정보 유출 차단 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140077609A KR101620170B1 (ko) 2014-06-24 2014-06-24 개인 정보 유출 차단 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20160000565A KR20160000565A (ko) 2016-01-05
KR101620170B1 true KR101620170B1 (ko) 2016-05-13

Family

ID=55164524

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140077609A KR101620170B1 (ko) 2014-06-24 2014-06-24 개인 정보 유출 차단 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101620170B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101710328B1 (ko) * 2016-08-18 2017-02-27 주식회사 시큐브 동적 재구성 및 교체를 지원하는 os 보안 커널 시스템 및 그 방법
KR102120064B1 (ko) 2019-11-04 2020-06-09 주식회사 보성산업 전기컨벡터
KR102257403B1 (ko) 2020-01-06 2021-05-27 주식회사 에스앤피랩 개인정보 관리 장치, 개인정보 관리 시스템, 그 개인정보 관리 방법, 및 이를 기록한 컴퓨터 판독가능 기록매체
KR102302322B1 (ko) * 2020-01-14 2021-09-14 인제대학교 산학협력단 모바일 어플리케이션의 퍼미션 기반 개인 정보 분류를 위한 전자 장치 및 그의 동작 방법
KR102182726B1 (ko) 2020-06-01 2020-11-24 주식회사 보성산업 전기컨벡터

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
비특허문헌

Also Published As

Publication number Publication date
KR20160000565A (ko) 2016-01-05

Similar Documents

Publication Publication Date Title
US10721264B1 (en) Systems and methods for categorizing security incidents
US10893068B1 (en) Ransomware file modification prevention technique
US9596257B2 (en) Detection and prevention of installation of malicious mobile applications
US10320818B2 (en) Systems and methods for detecting malicious computing events
KR101620170B1 (ko) 개인 정보 유출 차단 장치 및 방법
Li et al. Detecting malware for android platform: An svm-based approach
CN109155774B (zh) 用于检测安全威胁的系统和方法
Feldman et al. Manilyzer: automated android malware detection through manifest analysis
US20130333039A1 (en) Evaluating Whether to Block or Allow Installation of a Software Application
US9313222B2 (en) Method, electronic device, and user interface for on-demand detecting malware
US20150310213A1 (en) Adjustment of protection based on prediction and warning of malware-prone activity
US20170185785A1 (en) System, method and apparatus for detecting vulnerabilities in electronic devices
EP3350741B1 (en) Detecting software attacks on processes in computing devices
CA2915068C (en) Systems and methods for directing application updates
US20140242947A1 (en) System and method for dynamic geo-fencing
CN107122655B (zh) 一种基于信任管理的移动应用安全设置推荐系统
US11030302B2 (en) Restricting access to application programming interfaces (APIs)
WO2019217292A1 (en) Methods, systems, articles of manufacture and apparatus to verify application permission safety
Zhu et al. Permission-based abnormal application detection for Android
EP3779747B1 (en) Methods and systems to identify a compromised device through active testing
US11171995B2 (en) Identifying and mitigating risks of cryptographic obsolescence
KR101482903B1 (ko) 데이터 유출 방지 방법, 서버 장치, 및 클라이언트 장치
KR102348359B1 (ko) 관심 동작 영역 기반의 edr 장치 및 방법
US11343258B2 (en) Methods and systems for identifying a compromised device through its managed profile
US11005859B1 (en) Methods and apparatus for protecting against suspicious computer operations using multi-channel protocol

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: 20190402

Year of fee payment: 4