KR20160098912A - 어플리케이션 퍼미션 재조정 방법 및 이를 수행하는 사용자 단말 - Google Patents

어플리케이션 퍼미션 재조정 방법 및 이를 수행하는 사용자 단말 Download PDF

Info

Publication number
KR20160098912A
KR20160098912A KR1020150021168A KR20150021168A KR20160098912A KR 20160098912 A KR20160098912 A KR 20160098912A KR 1020150021168 A KR1020150021168 A KR 1020150021168A KR 20150021168 A KR20150021168 A KR 20150021168A KR 20160098912 A KR20160098912 A KR 20160098912A
Authority
KR
South Korea
Prior art keywords
application
permission
user terminal
list
permissions
Prior art date
Application number
KR1020150021168A
Other languages
English (en)
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 KR1020150021168A priority Critical patent/KR20160098912A/ko
Priority to US15/013,737 priority patent/US20160232344A1/en
Publication of KR20160098912A publication Critical patent/KR20160098912A/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/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/6281Protecting 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 at program execution time, where the protection is within the operating 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • 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/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 사용자 단말 및 어플리케이션 자동 재조정 방법에 관한 것으로서, 사용자 단말에 설치된 어플리케이션에 대한 퍼미션 리스트가 저장되는 어플리케이션 퍼미션 DB; 및 제1 어플리케이션 실행이 요청되면, 상기 제1 어플리케이션이 제2 어플리케이션에 허용된 퍼미션을 이용하여 권한 없는 컴포넌트에 접근하는 것을 방지하기 위해 상기 제2 어플리케이션의 퍼미션 리스트를 조정하는 어플리케이션 퍼미션 동적 조정기를 포함하는 사용자 단말을 제공한다.

Description

어플리케이션 퍼미션 재조정 방법 및 이를 수행하는 사용자 단말{Method for Re-adjusting Application Permission and User terminal for performing the same Method}
본 발명은 사용자 단말 운영체제에서 어플리케이션 보안 강화 기술에 관한 것이다. 더욱 상세하게는, 본 발명은 사용자 단말에서 어플리케이션 실행 시 어플리케이션이 사용자로부터 인가되지 않은 퍼미션을 불법 획득하여 실행되는 것을 동적으로 차단하여 사용자 단말에 어플리케이션을 안전하게 실행시킬 수 있는 환경을 제공하는 장치 및 방법에 관한 것이다.
최근 들어 스마트 폰, 스마트 패드와 같은 사용자 기기의 보급이 급속도로 증가하고 있다. 이러한 사용자 기기의 활성화와 더불어, 사용자가 개인정보, 금융거래정보 등과 같은 중요정보를 사용자 기기를 이용하여 관리하고 활용할 수 있게 하는 다양한 어플리케이션이 제공되고 있다. 그러나, 이러한 개인정보 등을 탈취하거나 악의적으로 활용하기 위한 악성프로그램 역시 급속도로 증가하고 있다. 특히나 최근 들어서는 악성코드를 통한 금융자산의 손실, 개인정보의 유출로 인한 2차 피해가 기존 PC환경을 추월하고 있다.
따라서, 이러한 단말환경에서 사용자가 어플리케이션을 안심하고 안전하게 실행시킬 수 있는 방법이 필요하다. 즉, 응용프로그램이 설치될 때 부여 받은 권한 이외의 권한을 사용하는 권한 상승 방법을 통해 악성 응용프로그램이 동작할 수 없도록 불법적인 권한상승을 통제하여 안전한 실행환경을 제공할 수 있어야 한다.
본 발명의 목적은 고도의 보안이 요구되는 어플리케이션(예: 뱅킹 어플, 증권 어플과 같은 각종 금융거래 어플리케이션)을 사용자 단말 운영체제에서 안전하게 실행하도록 해주는 기술을 제공하는 것이다.
본 발명은 사용자 단말에서 중요한 어플리케이션의 안전한 실행환경을 제공하기 위하여 어플리케이션 설치 시 허가요청 되는 퍼미션을 검증하여 정상적인 퍼미션으로 설치되도록 지원하고, 어플리케이션 실행 시 의도치 않게 허용되지 않은 퍼미션이 '권한 상승' 과정을 통해 권한을 취득해 어플리케이션이 실행되는 경우를 차단하는 방법을 제안한다.
이와 관련하여, 본 발명은 사용자 단말에 설치된 어플리케이션에 대한 퍼미션 리스트가 저장되는 어플리케이션 퍼미션 DB; 및 제1 어플리케이션 실행이 요청되면, 상기 제1 어플리케이션이 제2 어플리케이션에 허용된 퍼미션을 이용하여 권한 없는 컴포넌트에 접근하는 것을 방지하기 위해 상기 제2 어플리케이션의 퍼미션 리스트를 조정하는 어플리케이션 퍼미션 동적 조정기를 포함하는 사용자 단말을 제공한다.
상기 제2 어플리케이션은 상기 사용자 단말에서 현재 실행중인 어플리케이션일 수 있다.
상기 어플리케이션 퍼미션 동적 조정기는, 상기 제2 어플리케이션의 퍼미션 리스트의 퍼미션들 중 일부가 상기 제1 어플리케이션의 퍼미션 리스트에 근거하여 삭제되도록 할 수 있다.
상기 어플리케이션 퍼미션 동적 조정기는, 상기 제1 어플리케이션의 실행이 완료되면, 상기 제2 어플리케이션의 퍼미션 리스트에서 상기 삭제된 퍼미션이 복원되도록 할 수 있다.
상기 사용자 단말은, 상기 어플리케이션의 실행에 필요한 퍼미션을 판단하는 어플리케이션 퍼미션 관리기를 더 포함할 수 있다.
상기 어플리케이션 퍼미션 관리기는, 상기 사용자 단말에 위치하거나 외부 서버에 위치할 수 있다.
상기 어플리케이션 퍼미션 동적 조정기는, 상기 사용자 단말에 설치 또는 업데이트 요청된 어플리케이션의 퍼미션 리스트에 대한 허용 여부를 상기 어플리케이션 퍼미션 관리기에 질의하고, 상기 질의 결과에 따라 상기 퍼미션 리스트에서 상기 어플리케이션의 실행에 불필요한 퍼미션이 삭제되도록 할 수 있다.
상기 퍼미션 일부가 삭제된 어플리케이션의 퍼미션 리스트는 상기 어플리케이션 퍼미션 DB에 반영될 수 있다.
상기 어플리케이션 퍼미션 관리기는, 상기 어플리케이션 퍼미션 동적 조정기로부터 상기 설치 또는 업데이트 요청된 어플리케이션의 퍼미션 리스트에 대한 허용 여부를 질의받으면, 상기 퍼미션 리스트에 포함된 퍼미션 중 상기 어플리케이션의 실행에 필요한 퍼미션을 파악하여 상기 어플리케이션 퍼미션 동적 조정기에 전달할 수 있다.
본 발명의 다른 일특징에 따른 어플리케이션 퍼미션 재조정 방법은, 사용자 단말에 설치된 어플리케이션의 퍼미션을 재조정하는 방법에 있어서, 제1 어플리케이션의 실행 요청을 인식하는 단계; 및 상기 제1 어플리케이션이 제2 어플리케이션에 허용된 퍼미션을 이용해 권한 없는 컴포넌트에 접근하는 것을 방지하기 위해 상기 제2 어플리케이션의 퍼미션 리스트를 조정하는 단계를 포함한다.
본 발명의 실시예에 의하면, 어플리케이션 퍼미션 자동 재조정 방법은 사용자 단말에서 사용자가 어플리케이션의 설치 시 요구하는 퍼미션들의 진위를 파악할 필요 없이 어플리케이션이 안전하게 실행될 수 있는 환경을 제공하는 것이 가능하다. 구체적으로, 본 발명의 어플리케이션 퍼미션 재조정 방법을 적용하게 되면 권한 상승기법 등을 통해서 불법 권한을 취득하려는 악성코드가 설치되어 동작되는 환경에서도 보안성이 요구되는 뱅킹 어플리케이션, 지불 어플리케이션 등과 같은 어플리케이션들을 안심하고 실행시킬 수 있다. 즉, 사용자 단말에서 사용자의 중요정보(비밀번호, 계좌정보)가 악성 어플리케이션의 실행을 통해서 외부로 유출될 가능성을 원천적으로 제거할 수 있고 이를 통해서 보안성에서 취약하다고 평가되는 사용자 단말에 효과적인 보안성을 제공할 수 있다는 효과를 가진다.
도 1은 종래 사용자 단말의 퍼미션의 문제점의 일 예를 나타내는 도면이다.
도 2a 및 도 2b는 본 발명의 일 실시예에 따른 어플리케이션 퍼미션 재조정 개념을 설명한 도면이다.
도 3은 본 발명의 일 실시예에 따른 어플리케이션 퍼미션 동적 조정기가 구현되는 사용자 단말의 내부 구성을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따라 어플리케이션 실행 시 어플리케이션 퍼미션 재조정 과정을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따라 어플리케이션 설치 또는 업데이트 요청 시 어플리케이션 퍼미션 재조정 과정을 나타내는 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 본 명세서 및 청구항에서 사용되는 단수 표현은, 달리 언급하지 않는 한 일반적으로 하나 이상을 의미하는 것으로 해석되어야 한다.
현재의 사용자 단말은 다양한 어플리케이션들이 동시에 실행될 수 있는 환경을 제공하고, 이들 어플리케이션 설치 시 필요 권한을 단말의 사용자가 허가하는 방식이다. 그런데 사용자 단말 환경에서 어플리케이션 설치 시 요구되는 퍼미션 리스트의 정확성 및 필요성을 사용자가 판별할 수 있는 방법이 없다. 즉, 현재의 사용자 단말 환경에서 어플리케이션을 설치하고자 하는 경우 어플리케이션 설치시 특정 퍼미션 리스트(인터넷, SD카드 접근, SMS전송 등)를 사용자에게 허용하기를 요청한다. 그러나, 사용자는 이렇게 요청되는 퍼미션이 어플리케이션 실행을 위해서 정말로 필요한 퍼미션들 인지를 판단할 수 없다. 예를 들면, 어플리케이션 개발자가 인터넷 퍼미션만 필요한 것인데도 다른 퍼미션들을 추가적으로 요청한다 하더라도 사용자는 이를 검증하기가 쉽지 않다.
또한, 현재의 사용자 단말 환경에서는 어플리케이션에 대한 권한 부여가 설치 시 결정되는 것 때문에 설치 후에는 이러한 시스템의 취약점을 활용한 악성코드가 허가되지 않은 어플리케이션의 권한을 획득한 경우에도 별도의 검사 없이 실행될 수 있다. 특히, 어플리케이션에 대한 권한 변경이 없는 상태에서 '권한 상승' 과정을 통해서 권한취득이 발생하는 경우에는 이를 탐지하거나 차단할 수 없다는 문제점이 있다.
도 1은 종래 사용자 단말의 퍼미션 시스템의 문제점의 일 예를 나타내는 도면이다. 여기서 메모 어플리케이션은 일 예이므로, 사용자 단말에서 사용되는 모든 어플리케이션이 권한 상승을 위한 어플리케이션으로 사용될 수 있고 사용자 어플리케이션 역시 악성코드와 같이 악의적인 목적을 위해 실행되는 프로그램을 포함한다.
도 1의 위쪽을 참조하면, 사용자 단말 환경에서는 설치 시 허용되지 않은 퍼미션을 어플리케이션의 실행 과정 중 동적으로 획득 할 수 있다. 사용자 어플리케이션은 메모 어플리케이션의 사용 퍼미션을 통해 카메라 퍼미션은 허가 받았으나 메모 어플리케이션의 주소록 접근 퍼미션, 인터넷 사용 퍼미션은 설치 시 허가받지 않았다. 따라서 사용자 어플리케이션에서 직접적으로 메모 어플리케이션의 주소록 접근 퍼미션, 인터넷 사용 퍼미션을 사용하기 위한 API를 호출할 수 없다.
그러나, 도 1의 아래쪽을 참조하면, 사용자 어플리케이션이 직접적으로 메모 어플리케이션의 컴포넌트에 접근하는 것이 아니라, 사용자 어플리케이션에게 허용된 카메라 퍼미션을 통해서 허용되지 않은 컴포넌트에 간접적으로 접근하게 되면 결과적으로 허용되지 않은 퍼미션을 사용할 수 있게 된다. 즉 어플리케이션은 다수의 컴포넌트로 개발될 수 있고, 이들 컴포넌트들은 상호의 기능을 사용할 수 있도록 내부적으로 접근 가능하게 개발될 수 있기 때문에 이들 컴포넌트에 대한 퍼미션을 가진 어플리케이션은 실제적으로는 다른 컴포넌트에 대한 퍼미션을 자동으로 획득하게 되는 것과 같은 현상이 발생한다.
따라서, 어플리케이션 실행과 무관하게 허가 요청된 퍼미션을 자동으로 제거하여 실행해 줄 수 있는 방법이 필요하다. 그러나, 기존의 권한 관리 방식으로는 어플리케이션의 권한을 제어하기 위해 사용자가 관여하여 규칙을 정의한 후 이를 단말에 반영하여야 하지만 일반적으로 사용자들이 이 규칙을 정의하는 것은 현실적으로 불가능하고, 이 규칙을 이해하는 것도 쉽지 않다.
어플리케이션이 다른 어플리케이션의 권한 또는 자신의 권한을 변경하는 것을 실시간으로 모니터링 하는 것은 사용자 단말에 성능부하를 초래하게 되며, 어플리케이션이 사용자 단말 시스템의 많은 부분에 관여해야 한다는 복잡성을 가지게 된다. 또한 이 과정에서도 사용자가 이를 재가하는 과정에 참여해야 한다는 부담이 발생한다. 따라서, 사용자의 개입을 제거한 상태에서 안전하게 어플리케이션들을 실행할 수 있는 방법이 필요하다.
따라서, 기존의 방법들이 규칙 없이 어플리케이션의 설치 또는 업데이트 시 불법적인 권한 변경을 모니터링 및 분석하는 방식이라면, 본 발명은 설치 또는 업데이트 시 명시적인 권한 변경 없이 불법적으로 권한을 획득하는 것을 막기 위한 방법이다.
즉, 사용자 부주의 또는 기타 요인에 의해서 악성 어플리케이션이 설치되더라도 어플리케이션 퍼미션 관리기와 어플리케이션 퍼미션 동적 조정기를 통하여 항상 정확한 퍼미션만을 가진 상태에서 어플리케이션이 실행되도록 보장하게 되어 어플리케이션이 안전하게 실행될 수 있는 환경을 제공한다.
도 2a 및 도 2b는 본 발명의 일 실시예에 따른 어플리케이션 퍼미션 재조정 개념을 설명한 도면이다.
도 2a를 참조하면, 사용자 단말에서 메모 어플리케이션만 실행된 상태이고, 다른 어플리케이션이 메모 어플리케이션에 대한 접근을 하지 않을 경우에는 메모 어플리케이션은 원래 허용된 퍼미션을 모두 가지고 실행되도록 한다.
그러나, 사용자 단말에 메모 어플리케이션이 실행된 상태에서 사용자 어플리케이션이 실행되고 사용자 어플리케이션에서 메모 어플리케이션의 특정 컴포넌트에 접근을 요청한 경우에는 메모 어플리케이션의 퍼미션이 원래 설치될 때의 모든 퍼미션이 아닌 사용자 어플리케이션에 허용된 퍼미션만을 가진 형태로 실행되도록 한다.
도 2b를 참조하면, 메모 어플리케이션은 설치 될 때 카메라, 주소록 및 인터넷에 대한 퍼미션만을 허가 받고 설치 되었고, 사용자 어플리케이션은 메모 어플리케이션의 카메라 퍼미션만을 허가 받고 설치되었다고 가정한다.
메모 어플리케이션이 실행을 요청할 때 본 발명에 따른 어플리케이션 퍼미션 동적 조정기는 메모 어플리케이션의 퍼미션 분석을 수행하며 아무런 문제가 없기 때문에 퍼미션 변경 동작을 수행하지 않고, 메모 어플리케이션은 어플리케이션 퍼미션 DB에 저장된 퍼미션대로 실행된다.
이후, 사용자 단말이 사용자 어플리케이션의 실행 요청 이벤트를 감지하게 되면, 어플리케이션 퍼미션 동적 조정기는 메모 어플리케이션과 사용자 어플리케이션의 상관 관계를 분석하게 된다. 분석 후, 사용자 어플리케이션의 권한 재조정의 필요가 있는 경우(예를 들어, 사용자 어플리케이션의 권한 범위 이상으로 메모 어플리케이션의 퍼미션이 허용되어 있는 경우), 어플리케이션 동적 조정기는 메모 어플리케이션의 주소록, 인터넷에 대한 퍼미션을 어플리케이션 퍼미션 DB에서 제거할 것을 사용자 단말 운영체제(예, 안드로이드)에 요청한다. 사용자 단말 운영체제가 이 과정을 완료한 후에는 사용자 어플리케이션의 실행을 허용하게 된다.
또한, 사용자 어플리케이션이 종료되게 되면 앞서 진행한 과정의 역순의 과정을 수행한다. 즉, 사용자 단말 운영체제는 이전에 제거한 퍼미션들을 어플리케이션 퍼미션 DB에 복원한다.
또한, 본 발명은 기본적으로 S/W기반 또는 TPM/MTM 등과 연계하여 운영되는 소프트웨어와 하드웨어의 결합 방식으로도 동작할 수 있다. 즉, 어플리케이션 퍼미션 동적 조정기를 TPM/MTM 등과 같은 하드웨어기반 장치에 구현하여 구동하고 이를 사용자 단말의 HAL(Hardware Abstraction Layer) 형태로 제공하여 사용하게 함으로써 물리적인 해킹 공격으로부터의 안전성도 보장할 수 있다. 즉, 본 발명의 내용을 H/W 형태로도 쉽게 적용할 수 있다.
이하, 첨부된 도면들을 참조하여 본 발명을 상세히 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 어플리케이션 퍼미션 자동 재조정 장치가 구현되는 사용자 단말의 내부 구성을 나타내는 도면이다.
도 3을 참조하면, 사용자 단말(300)는 어플리케이션 퍼미션 동적 조정기(310), 어플리케이션 퍼미션 DB(320) 및 복수개의 어플리케이션을 포함한다.
또한, 사용자 단말(300)에 어플리케이션 퍼미션 관리기(330)가 포함될 수 있다. 대안적으로, 어플리케이션 퍼미션 관리기(330)는 외부 서버에 존재할 수 있다.
사용자 단말(300)는 스마트 폰, 스마트 패드, PDA, Wibro 단말 등의 다양한 사용자 디바이스를 포함할 수 있으며, 그 중에서도 바람직하게는 모바일 단말 운영체제(예, 안드로이드)를 사용하는 사용자 디바이스들을 포함할 수 있다.
어플리케이션 퍼미션 동적 조정기(310)는 제1 어플리케이션의 실행이 요청되면, 상기 제1 어플리케이션이 제2 어플리케이션에 허용된 퍼미션을 이용하여 권한 없는 컴포넌트에 접근하는 것을 방지하기 위해 상기 제2 어플리케이션의 퍼미션 리스트를 조정할 수 있다. 여기서, 제2 어플리케이션은 사용자 단말(300)에서 현재 실행중인 어플리케이션이다. 이하에서는 사용자 단말에서 실행중인 제2 어플리케이션이 1개인 것을 가정하여 설명하겠으나, 본 발명이 이러한 실시예에만 국한되는 것은 아니며, 제2 어플리케이션이 복수개인 경우에도 본 발명이 적용 가능하다.
일 실시예에서, 어플리케이션 퍼미션 동적 조정기(310)는 어플리케이션 퍼미션 DB(320)에 저장된 제2 어플리케이션의 퍼미션 리스트의 퍼미션들 중 일부를 상기 제1 어플리케이션의 퍼미션 리스트에 근거하여 직접 삭제하거나, 사용자 단말의 운영체제(OS) 내 퍼미션 매니저(340)를 통해 삭제되도록 제어할 수 있다.
어플리케이션 퍼미션 동적 조정기(310)는, 제1 어플리케이션의 실행이 완료되면, 상기 제2 어플리케이션의 퍼미션 리스트에서 상기 삭제된 퍼미션을 어플리케이션 퍼미션 DB(320)에 직접 복원하거나 퍼미션 매니저(340)를 통해 복원되도록 제어할 수 있다.
예를 들어, 어플리케이션 퍼미션 DB(320)로부터 추출된 퍼미션 리스트(325)로부터 제2 어플리케이션이 제1퍼미션, 제2퍼미션 및 제3퍼미션(여기서 퍼미션은 다른 어플리케이션에 대한 접근 권한일 수 있다.)에 대한 권한을 갖고 있다고 가정하고, 제1 어플리케이션은 제1퍼미션에 관한 권한만 가지고 있다고 가정한다.
제1 어플리케이션이 실행을 요청한 경우, 어플리케이션 퍼미션 동적 조정기(310)는 제2 어플리케이션에게 허용된 퍼미션 중 제1 어플리케이션이 가지고 있는 권한인 제1퍼미션만을 남기고, 제2퍼미션 및 제3퍼미션을 제거한다.
이후 제1 어플리케이션이 실행되더라도 제1 어플리케이션은 제1퍼미션만을 가지고 있고, 제1 어플리케이션이 실행되어 있는 동안 제2 어플리케이션 역시 제1퍼미션만을 가지고 있으므로, 제1 어플리케이션이 '권한 상승'을 통해 제2 어플리케이션에게 허용된 퍼미션을 이용해 제2퍼미션 및 제3퍼미션을 가질 수 없다.
제1 어플리케이션의 실행이 종료된 후, 어플리케이션 동적 조정기(310)는 제2 어플리케이션의 퍼미션 중 제거되었던 제2퍼미션 및 제3퍼미션을 복원한다.
또한, 어플리케이션 퍼미션 동적 조정기(310)는, 어플리케이션이 사용자 단말에 설치/업데이트 되는 시점에, 어플리케이션 퍼미션 관리기(330)에 어플리케이션 설치/업데이트시 요청 받은 퍼미션 리스트(325)가 정상적인지에 대한 판단을 요청하고, 그 결과에 따라 어플리케이션 설치 시 과다하게 부여된 퍼미션을 자동으로 제거한 뒤 사용자 단말(300)에 어플리케이션의 설치/업데이트를 승인할 수 있다.
어플리케이션 퍼미션 동적 조정기(310)는 어플리케이션 퍼미션 DB(320)를 직접 변경할 수 있고, 사용자 단말(300)의 운영체제(OS)내 퍼미션 매니저(430)가 변경된 퍼미션을 감지해 어플리케이션 퍼미션 DB(320)를 변경하는 동작을 수행할 수 있다.
어플리케이션 퍼미션 동적 조정기(310)는 사용자 단말(300)가 동작 중인 경우에는 반드시 동작하고 있어야 하며, 중간에 중단되거나 임의로 삭제되지 않는다. 따라서 사용자 단말(300) 구입시 미리 설치되어 배포되는 built-in 어플리케이션의 형태로 배포될 수 있다.
어플리케이션 퍼미션 DB(320)는 사용자 단말(300)에 설치된 어플리케이션들에 대한 퍼미션 리스트(325)를 포함한다.
어플리케이션 퍼미션 DB(320)는 퍼미션이 변경되면 변경된 퍼미션에 대한 정보를 퍼미션 리스트(325)에 반영할 수 있다.
어플리케이션 퍼미션 관리기(330)는 어플리케이션 퍼미션 허가가 필요한 API를 찾아내, API와 허가를 요청한 퍼미션 리스트(325)의 분석을 수행한다.
어플리케이션 퍼미션 관리기(330)는 분석 후 허가를 요청한 퍼미션 리스트에 과도하게 요청된 퍼미션이 있는 경우, 과도하게 요청된 퍼미션을 어플리케이션 퍼미션 동적 조정기(310)에 전달한다. 이 경우 어플리케이션 퍼미션 동적 조정기(310)는 퍼미션 매니저(340)에게 퍼미션의 수정을 요청할 수 있고, 상기 서술한대로 어플리케이션 퍼미션 동적 조정기(310)가 직접 어플리케이션 퍼미션 DB(320)를 변경할 수 있다. 또한 사용자 단말(300)은 퍼미션 매니저(340)를 통해 어플리케이션 퍼미션 DB(120)에 대한 직접적인 변경을 수행할 수 있다.
도 4는 본 발명의 일 실시예에 따른 어플리케이션 실행 시 어플리케이션 퍼미션 자동 재조정 과정을 나타내는 도면이다.
단계(S400)에서 사용자는 어플리케이션을 클릭해 사용자 단말로 어플리케이션의 실행을 요청한다.
단계(S410)에서 어플리케이션 퍼미션 동적 조정기는 어플리케이션 퍼미션 DB로부터 어플리케이션의 퍼미션 리스트를 추출하고, 추출된 퍼미션 리스트를 이용해 실행이 요청된 어플리케이션의 퍼미션을 비교한다.
단계(S420)에서 어플리케이션 퍼미션 동적 조정기는 분석 결과에 따라 퍼미션의 조정이 필요한지 판단한다.
단계(S430)에서 퍼미션의 조정이 필요한 경우 사용자 단말은 이미 실행중인 어플리케이션의 실행을 잠시 중단시키고 이미 실행중인 어플리케이션의 퍼미션을 변경한다. 이때 퍼미션의 조정이 필요한 경우로는 실행 요청한 어플리케이션이 이미 실행중인 어플리케이션의 권한을 이용해 허용되지 않은 퍼미션을 획득하려는 것을 어플리케이션 퍼미션 동적 조정기가 감지한 경우이다.
단계(S440)에서 퍼미션이 변경되면, 사용자 단말은 중단되었던 어플리케이션의 실행을 재개한다.
단계(S450)에서 사용자 단말은 안정한 범위 내로 퍼미션이 조정되었기 때문에 실행 요청된 어플리케이션의 실행을 허용한다. 이후 사용자 단말의 운영체제 내의 퍼미션 매니저는 퍼미션 변경에 대한 정보를 어플리케이션 퍼미션 DB에 저장한다.
도 5는 본 발명의 일 실시예에 따른 어플리케이션 설치 또는 업데이트 요청 시 어플리케이션 퍼미션 자동 재조정 과정을 나타내는 도면이다.
단계(S500)에서 사용자는 어플리케이션의 설치 또는 업데이트 버튼을 클릭해 사용자 단말로 어플리케이션의 설치 또는 업데이트를 요청한다.
단계(S510)에서 어플리케이션 퍼미션 동적 조정기는 설치 또는 업데이트하고자 하는 어플리케이션의 허가 요청 퍼미션을 어플리케이션 퍼미션 관리기에 전달하며, 퍼미션의 정상 여부에 대한 판단을 요청한다. 이후 어플리케이션 퍼미션 동적 조정기는 어플리케이션 퍼미션 관리기로부터 정상 퍼미션 정보를 전달받는다.
단계(S520)에서 어플리케이션 퍼미션 동적 조정기는 전달 받은 정상 퍼미션과 설치 또는 업데이트 요청된 어플리케이션의 퍼미션 정보를 비교한다.
단계(S530)에서 어플리케이션 퍼미션 동적 조정기는 비교 결과 동일하지 않을 경우(예를 들어, 과도하게 요청된 퍼미션이 존재하는 경우) 설치 또는 업데이트 요청된 어플리케이션의 퍼미션을 정상 퍼미션으로 교체한다.
단계(S540)에서 정상 퍼미션으로 교체된 후, 어플리케이션 퍼미션 동적 조정기는 어플리케이션의 설치 또는 업데이트를 사용자 단말에 요청한다. 정상 퍼미션과 설치 또는 업데이트 요청된 어플리케이션의 퍼미션이 동일할 경우에는 퍼미션을 변경하지 않고 어플리케이션의 설치 또는 업데이트를 사용자 단말에 요청할 수 있다. 이후 사용자 단말은 어플리케이션의 설치 또는 업데이트를 수행하고, 변경된 퍼미션에 대한 정보를 어플리케이션 퍼미션 DB에 저장할 수 있다.
이러한 과정을 통해서 사용자는 설치되려는 어플리케이션이 요청하는 퍼미션 리스트에 대해 정확히 알지 못하더라도 정확한 퍼미션만을 가진 채로 설치되도록 할 수 있게 되어, 어플리케이션이 과다한 퍼미션을 가지고 설치되어 발생하는 문제점을 해결 할 수 있다. 여기서 퍼미션 리스트는 어플리케이션의 설치시 AndroidManifest.xml 파일에 기술된다. 또한 AndroidManifest.xml 파일은 인터넷 연결, 주소록 접근, 시스템 접근 등과 같은 권한에 대한 정보를 포함한다.
본 발명의 전술한 실시예에 따른 장치 및 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
300 : 사용자 단말
310 : 어플리케이션 퍼미션 동적 조정기
320 : 어플리케이션 퍼미션 DB
330 : 어플리케이션 퍼미션 관리기

Claims (15)

  1. 사용자 단말에 설치된 어플리케이션에 대한 퍼미션 리스트가 저장되는 어플리케이션 퍼미션 DB; 및
    제1 어플리케이션 실행이 요청되면, 상기 제1 어플리케이션이 제2 어플리케이션에 허용된 퍼미션을 이용하여 권한 없는 컴포넌트에 접근하는 것을 방지하기 위해 상기 제2 어플리케이션의 퍼미션 리스트를 조정하는 어플리케이션 퍼미션 동적 조정기
    를 포함하는 사용자 단말.
  2. 제1항에 있어서,
    상기 제2 어플리케이션은, 상기 사용자 단말에서 현재 실행중인 어플리케이션인 사용자 단말.
  3. 제2항에 있어서,
    상기 어플리케이션 퍼미션 동적 조정기는, 상기 제2 어플리케이션의 퍼미션 리스트의 퍼미션들 중 일부가 상기 제1 어플리케이션의 퍼미션 리스트에 근거하여 삭제되도록 하는 사용자 단말.
  4. 제 3항에 있어서,
    상기 어플리케이션 퍼미션 동적 조정기는, 상기 제1 어플리케이션의 실행이 완료되면, 상기 제2 어플리케이션의 퍼미션 리스트에서 상기 삭제된 퍼미션이 복원되도록 하는 사용자 단말.
  5. 제 1 항에 있어서,
    상기 어플리케이션의 실행에 필요한 퍼미션을 판단하는 어플리케이션 퍼미션 관리기를 더 포함하는 사용자 단말.
  6. 제 5 항에 있어서,
    상기 어플리케이션 퍼미션 관리기는, 상기 사용자 단말에 위치하거나 외부 서버에 위치하는 사용자 단말.
  7. 제 5 항에 있어서,
    상기 어플리케이션 퍼미션 동적 조정기는, 상기 사용자 단말에 설치 또는 업데이트 요청된 어플리케이션의 퍼미션 리스트에 대한 허용 여부를 상기 어플리케이션 퍼미션 관리기에 질의하고, 상기 질의 결과에 따라 상기 퍼미션 리스트에서 상기 어플리케이션의 실행에 불필요한 퍼미션이 삭제되도록 하는 사용자 단말.
  8. 제7항에 있어서,
    상기 퍼미션 일부가 삭제된 어플리케이션의 퍼미션 리스트는 상기 어플리케이션 퍼미션 DB에 반영되는 사용자 단말.
  9. 제7항에 있어서,
    상기 어플리케이션 퍼미션 관리기는, 상기 어플리케이션 퍼미션 동적 조정기로부터 상기 설치 또는 업데이트 요청된 어플리케이션의 퍼미션 리스트에 대한 허용 여부를 질의받으면, 상기 퍼미션 리스트에 포함된 퍼미션 중 상기 어플리케이션의 실행에 필요한 퍼미션을 파악하여 상기 어플리케이션 퍼미션 동적 조정기에 전달하는 사용자 단말.
  10. 사용자 단말에 설치된 어플리케이션의 퍼미션을 재조정하는 방법에 있어서,
    제1 어플리케이션의 실행 요청을 인식하는 단계; 및
    상기 제1 어플리케이션이 제2 어플리케이션에 허용된 퍼미션을 이용해 권한 없는 컴포넌트에 접근하는 것을 방지하기 위해 상기 제2 어플리케이션의 퍼미션 리스트를 조정하는 단계
    를 포함하는 어플리케이션 퍼미션 자동 재조정 방법.
  11. 제10항에 있어서,
    상기 제2 어플리케이션은 상기 사용자 단말에서 현재 실행중인 어플리케이션인 어플리케이션 퍼미션 재조정 방법.
  12. 제10항에 있어서,
    상기 제2 어플리케이션의 퍼미션 리스트를 조정하는 단계는 상기 제2 어플리케이션의 퍼미션 리스트에 포함된 퍼미션들 중 일부를 상기 제1 어플리케이션의 퍼미션 리스트에 근거하여 삭제하는 단계를 포함하는 어플리케이션 퍼미션 재조정 방법.
  13. 제12항에 있어서,
    상기 방법은 상기 제1 어플리케이션의 실행이 완료되면, 상기 제2 어플리케이션의 퍼미션 리스트에서 상기 삭제된 퍼미션을 복원하는 단계를 더 포함하는 어플리케이션 퍼미션 재조정 방법.
  14. 제 10 항에 있어서,
    상기 방법은,
    상기 사용자 단말에 어플리케이션의 설치 요청을 인식하는 단계;
    상기 어플리케이션의 퍼미션 리스트에 대한 허용 여부를 확인하는 단계; 및
    상기 확인 결과에 따라 상기 어플리케이션의 퍼미션 리스트를 조정하는 단계
    를 더 포함하는 어플리케이션 퍼미션 재조정 방법.
  15. 제 14 항에 있어서,
    상기 어플리케이션의 퍼미션 리스트에 대한 허용 여부를 확인하는 단계는,
    상기 어플리케이션의 API를 분석하여 상기 어플리케이션의 실행에 필요한 퍼미션을 파악하는 단계; 및
    상기 어플리케이션의 퍼미션 리스트에서 상기 어플리케이션의 실행에 불필요한 퍼미션을 삭제하는 단계
    를 포함하는 어플리케이션 퍼미션 자동 재조정 방법.
KR1020150021168A 2015-02-11 2015-02-11 어플리케이션 퍼미션 재조정 방법 및 이를 수행하는 사용자 단말 KR20160098912A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150021168A KR20160098912A (ko) 2015-02-11 2015-02-11 어플리케이션 퍼미션 재조정 방법 및 이를 수행하는 사용자 단말
US15/013,737 US20160232344A1 (en) 2015-02-11 2016-02-02 Method for re-adjusting application permission and user terminal for performing the same method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150021168A KR20160098912A (ko) 2015-02-11 2015-02-11 어플리케이션 퍼미션 재조정 방법 및 이를 수행하는 사용자 단말

Publications (1)

Publication Number Publication Date
KR20160098912A true KR20160098912A (ko) 2016-08-19

Family

ID=56566001

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150021168A KR20160098912A (ko) 2015-02-11 2015-02-11 어플리케이션 퍼미션 재조정 방법 및 이를 수행하는 사용자 단말

Country Status (2)

Country Link
US (1) US20160232344A1 (ko)
KR (1) KR20160098912A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190004420A (ko) * 2017-07-04 2019-01-14 한국과학기술원 소프트웨어 정의 네트워크에서 퍼미션 모델링 방법, 시스템 및 컴퓨터 프로그램
CN109726548A (zh) * 2018-12-29 2019-05-07 360企业安全技术(珠海)有限公司 应用程序行为的处理方法、服务器、***及存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109690544B (zh) * 2016-10-14 2020-12-15 华为技术有限公司 用于跟踪跨多个执行环境的访问许可的装置和方法
US10853490B2 (en) 2017-10-26 2020-12-01 Futurewei Technologies, Inc. Method and apparatus for managing hardware resource access in an electronic device
US10833859B2 (en) * 2017-12-07 2020-11-10 International Business Machines Corporation Automating verification using secure encrypted phone verification
TWI682334B (zh) * 2018-02-08 2020-01-11 亞智科技股份有限公司 製程配方監控方法及製程配方監控系統
US11113096B2 (en) 2019-05-13 2021-09-07 Hewlett Packard Enterprise Development Lp Permissions for a cloud environment application programming interface
CN110443030B (zh) * 2019-06-24 2021-04-27 维沃移动通信有限公司 一种权限处理方法及终端设备
JP7181491B2 (ja) * 2019-07-25 2022-12-01 富士通株式会社 情報処理システム、アクセス制御装置、アクセス制御方法およびアクセス制御プログラム
CN112306513A (zh) * 2020-12-24 2021-02-02 智道网联科技(北京)有限公司 一种第三方应用的安装方法及装置、计算设备和存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7099663B2 (en) * 2001-05-31 2006-08-29 Qualcomm Inc. Safe application distribution and execution in a wireless environment
AR037011A1 (es) * 2001-08-13 2004-10-20 Qualcomm Inc Un metodo para almacenar una aplicacion en un dispositivo, un dispositivo para ejecutar una aplicacion con dicho metodo, metodos para permitir acceso a un recurso del dispositivo y asociar una lista de autorizacion a una aplicacion, sistemas para almacenar una aplicacion en un dispositivo, para perm
US20060141985A1 (en) * 2004-12-23 2006-06-29 Motorola, Inc. Dynamic management for interface access permissions
US9098367B2 (en) * 2012-03-14 2015-08-04 Flextronics Ap, Llc Self-configuring vehicle console application store
US9665465B1 (en) * 2012-11-19 2017-05-30 Amazon Technologies, Inc. Automated determination of application permissions
US8839354B2 (en) * 2012-12-31 2014-09-16 Verizon Patent And Licensing Inc. Mobile enterprise server and client device interaction

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190004420A (ko) * 2017-07-04 2019-01-14 한국과학기술원 소프트웨어 정의 네트워크에서 퍼미션 모델링 방법, 시스템 및 컴퓨터 프로그램
CN109726548A (zh) * 2018-12-29 2019-05-07 360企业安全技术(珠海)有限公司 应用程序行为的处理方法、服务器、***及存储介质

Also Published As

Publication number Publication date
US20160232344A1 (en) 2016-08-11

Similar Documents

Publication Publication Date Title
KR20160098912A (ko) 어플리케이션 퍼미션 재조정 방법 및 이를 수행하는 사용자 단말
US9667426B2 (en) Information processing apparatus, program, storage medium and information processing system
JP4628149B2 (ja) アクセス制御装置及びアクセス制御方法
KR101565590B1 (ko) 역할기반 접근통제 및 인가된 파일 리스트를 통한 파일접근 통제 통합 시스템
JP5900911B2 (ja) 1つ以上のサンドボックス化されたアプリケーションのためのファイルシステムアクセス
CN105122260A (zh) 到安全操作***环境的基于上下文的切换
US7890756B2 (en) Verification system and method for accessing resources in a computing environment
KR101561167B1 (ko) 안드로이드 모바일 플랫폼에서의 응용 프로그램 권한 제어 시스템 및 방법
KR20180113295A (ko) 외부 저장 장치에 저장되는 파일의 개인정보를 보호하는 보안 시스템 및 방법
US9230128B2 (en) Assignment of security contexts to define access permissions for file system objects
US7596694B1 (en) System and method for safely executing downloaded code on a computer system
US20150106871A1 (en) System and method for controlling access to security engine of mobile terminal
CN112166449A (zh) 处理使用商用现货或物联网设备的安全金融交易的方法
KR20140044974A (ko) 권한탐지 기반의 안드로이드 어플리케이션 보안강화 방법, 그리고 이를 위한 권한탐지 기반의 안드로이드 보안 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
CN107392010B (zh) 执行Root操作的方法及装置、终端设备、存储介质
KR101397666B1 (ko) 어플리케이션별 접근 권한 제어 방법 및 이를 구현한 사용자 단말
Kim et al. Detecting illegally-copied apps on android devices
KR102201218B1 (ko) 모바일 단말의 보안 엔진의 접근 제어 시스템 및 방법
KR101956725B1 (ko) 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템
CN111222122A (zh) 应用权限管理方法、装置及嵌入式设备
CN107545169B (zh) 应用程序认证管理方法、装置及电子设备
CN114730338A (zh) 用于发现应用程序篡改的***和方法
KR20160069280A (ko) 웹 컨텐츠로의 불법 접근 차단 장치 및 방법
KR101473430B1 (ko) 서비스 보안기능 강화 방법
KR102358099B1 (ko) 위협 사용자의 접속차단방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid