KR101308351B1 - 어플리케이션에 권한을 할당하는 단말기 및 상기 단말기의 권한 할당 방법 - Google Patents

어플리케이션에 권한을 할당하는 단말기 및 상기 단말기의 권한 할당 방법 Download PDF

Info

Publication number
KR101308351B1
KR101308351B1 KR1020120019064A KR20120019064A KR101308351B1 KR 101308351 B1 KR101308351 B1 KR 101308351B1 KR 1020120019064 A KR1020120019064 A KR 1020120019064A KR 20120019064 A KR20120019064 A KR 20120019064A KR 101308351 B1 KR101308351 B1 KR 101308351B1
Authority
KR
South Korea
Prior art keywords
authority
administrator
application
assigned
terminal
Prior art date
Application number
KR1020120019064A
Other languages
English (en)
Other versions
KR20130101656A (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 KR1020120019064A priority Critical patent/KR101308351B1/ko
Priority to US13/652,886 priority patent/US8955056B2/en
Priority to EP12196428.2A priority patent/EP2631795A1/en
Publication of KR20130101656A publication Critical patent/KR20130101656A/ko
Application granted granted Critical
Publication of KR101308351B1 publication Critical patent/KR101308351B1/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Virology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)

Abstract

단말기에서 실행되는 어플리케이션에 대하여 권한을 할당하는 단말기가 개시된다. 단말기는 루트 권한을 할당 받을 수 있는 어플리케이션들의 목록을 저장하고, 루트 권한을 요청한 어플리케이션이 상기 목록에 포함되어 있는 경우에만 루트 권한을 할당한다. 본 발명에 따르면, 악의적인 루팅으로부터 단말기를 보호할 수 있다.

Description

어플리케이션에 권한을 할당하는 단말기 및 상기 단말기의 권한 할당 방법{TERMINAL AND METHOD FOR ASSIGNING A PERMISSION TO APPLICATION}
본 발명은 어플리케이션을 실행할 수 있는 기술에 관한 것으로 단말기에서 실행되는 어플리케이션에 대하여 권한을 할당하는 단말기 및 어플리케이션에 대한 권한 할당 방법에 관한 것이다.
최근 스마트폰의 보급이 증가하고 있고, 많은 스마트폰에는 새로운 어플리케이션, 기능 등의 추가가 가능한 운영 체제(OS: Operating System)가 탑재되고 있다. 스마트폰에 탑재되는 운영 체제로는 구글의 안드로이드 OS, 애플의 iOS, 삼성의 바다 OS, 마이크로 소프트의 윈도우 폰 운영 체제 등이 있으며, 이들 운영 체제들은 운영 체제뿐만 아니라, 어플리케이션을 위한 라이브러리, 프레임 워크 등을 패키징한 플랫폼(Platform) 형태로 제공된다. 이러한 플랫폼들 중에서는, 리눅스(Linux)에 기반한 안드로이드(Android) 플랫폼이 각광 받고 있다.
스마트폰의 운영 체제는 각 프로세스에 대하여 권한을 할당하고, 할당된 권한에 따라 입출력 장치, 파일 등에 대한 접근을 달리하고 있다. 즉, 일반 사용자 권한을 할당받은 프로세스는 해당 프로세스가 담당하는 파일 및 입출력 장치에 대해서만 접근 가능하나, 루트(ROOT) 권한을 할당 받은 프로세스는 모든 입출력 장치 및 파일에 대한 접근이 가능하다.
안드로이드와 같이 리눅스 기반의 운영 체제에서는 입출력 장치, 파일 등에 대하여 접근 권한을 설정하여 관리할 수 있다.
접근 권한은 일반 사용자 권한과 루트 권한으로 구분될 수 있으며, 일반 사용자 권한을 할당 받은 어플리케이션, 프로세스는 제한된 범위의 입출력 장치, 파일에만 접근할 수 있다.
스마트폰을 사용하는 사용자들 중에는 자신의 단말기를 커스터마이즈(customize)하기 위해 이동통신 단말기의 UI(User Interface)변경, 출시 시점에 포함되어있는 어플리케이션의 삭제 혹은 단말기 속도 개선을 위한 셋팅(Setting)값 변경을 원하는 사용자들이 있다. 이러한 작업을 수행하기 위해서는 시스템 파일에 대한 접근이 필요한데, 시스템 파일에 대하여 접근하기 위해서는 루트 권한이 필요하다.
자신의 계정을 루트 권한으로 변경시켜 주는 SU 유틸리티를 실행하면 간단히 루트 권한을 획득할 수 있다. 안드로이드의 기반이 되는 리눅스의 'su' 명령어는 system/bin directory혹은 system/xbin directory에 실행 파일 형태로 위치하며, 일반 유저도 실행 가능하도록 권한이 설정되어있다. 따라서, 안드로이드 단말 제조사는 보안과 시스템 보호의 목적으로 'su' 명령을 실행하는 SU 실행 파일을 제거하여 단말기를 출하한다.
그러나, 루팅을 시도하려는 사용자들은 SU 유틸리티를 이용하여 SU 실행 파일을 system/bin directory혹은 system/xbin directory에 복사하고, SU 명령어를 실행 시켜 루트 권한을 할당 받는다.
예시적 실시예들의 일측은 악의적 루팅을 방지할 수 있는 단말기를 제공한다.
예시적 실시예들의 일측은 루트 권한을 획득할 수 있는 어플리케이션의 목록을 이용하여 단말기에 대한 악의적 루팅을 방지한다.
예시적 실시예들의 일측에 따르면, 단말기에 있어서, 어플리케이션의 특정 기능을 수행하기 위한 프로세스로부터 접근 권한을 요청받은 수신부, 상기 프로세스로부터 요청받은 접근 권한이 상기 단말기내의 모든 데이터에 접근할 수 있는 관리자 권한인지 판단하는 한편, 상기 관리자 권한의 요청에 응답하여 상기 프로세스가 관리자 권한을 할당 받을 수 있는 프로세스인지 확인하고, 상기 확인 결과에 따라서 상기 프로세스에 대하여 관리자 권한을 할당하는 권한 할당부를 포함하는 단말기가 제공된다.
여기서, 상기 접근 권한은 상기 프로세스가 상기 단말기 내의 임의의 데이터 또는 프로그램을 참조하고 이용할 수 권한인 것을 특징으로 할 수 있다.
그리고, 상기 관리자 권한은 상기 단말기의 모든 입출력 장치 및 파일에 대한 접근이 가능한 루트 권한인 것을 특징으로 할 수 있다.
또한, 상기 관리자 권한을 할당 받을 수 있는 프로세스의 목록을 저장하는 목록 저장부를 더 포함하고, 상기 권한 할당부는 상기 프로세스가 상기 목록에 포함된 경우에 상기 프로세스가 관리자 권한을 할당 받을 수 있는 어플리케이션인 것으로 확인할 수 있다.
여기서, 상기 단말기는 어플리케이션의 동작을 제어하는 어플리케이션 프로세서 및 네트워크 통신을 제어하는 모뎀 프로세서를 포함하고, 상기 권한 할당부는 상기 어플리케이션 프로세서 상에서 동작하고, 상기 목록 저장부는 상기 모뎀 프로세서 상에서 동작할 수 있다.
그리고, 상기 프로세스가 관리자 권한을 할당 받을 수 없는 프로세스로 확인된 경우에, 상기 프로세스에 대한 관리자 권한의 할당 여부를 사용자로부터 수신하는 사용자 입력부를 더 포함할 수 있다.
또한, 상기 프로세스가 관리자 권한을 할당 받을 수 없는 프로세스로 확인된 경우에, 상기 관리자 권한의 할당 여부에 대한 요청을 디스플레이하는 디스플레이부를 더 포함할 수 있다.
여기서, 상기 프로세스가 관리자 권한을 할당 받을 수 없는 어플리케이션인 경우에, 상기 권한 할당부는 상기 어플리케이션 혹은 상기 프로세스를 삭제할 수 있다.
또 다른 예시적 실시예에 따르면, 단말기의 권한 할당 방법에 있어서, 어플리케이션의 특정 기능을 수행하기 위한 프로세스로부터 접근 권한을 요청받는 단계, 상기 프로세스로부터 요청받은 접근 권한이 상기 단말기내의 모든 데이터에 접근할 수 있는 관리자 권한인지 판단하는 한편, 상기 관리자 권한의 요청에 응답하여 상기 프로세스가 관리자 권한을 할당 받을 수 있는 프로세스인지 확인하고, 상기 확인 결과에 따라서 상기 프로세스에 대하여 관리자 권한을 할당하는 단계를 포함하는 단말기의 권한 할당 방법이 제공된다.
여기서, 상기 접근 권한은 상기 프로세스가 상기 단말기 내의 임의의 데이터 또는 프로그램을 참조하고 이용할 수 권한일 수 있다.
그리고, 상기 관리자 권한은 상기 단말기의 모든 입출력 장치 및 파일에 대한 접근이 가능한 루트 권한일 수 있다.
또한, 상기 관리자 권한을 할당 받을 수 있는 프로세스의 목록을 저장하는 단계를 더 포함하고, 상기 권한을 할당하는 단계는 상기 프로세스가 상기 목록에 포함된 경우에 상기 프로세스가 관리자 권한을 할당 받을 수 있는 어플리케이션인 것으로 확인할 수 있다.
여기서, 상기 프로세스가 관리자 권한을 할당 받을 수 없는 프로세스로 확인된 경우에, 상기 프로세스에 대한 관리자 권한의 할당 여부를 사용자로부터 수신하는 단계를 더 포함할 수 있다.
그리고, 상기 프로세스가 관리자 권한을 할당 받을 수 없는 프로세스로 확인된 경우에, 상기 관리자 권한의 할당 여부에 대한 요청을 디스플레이하는 단계를 더 포함할 수 있다.
또한, 상기 프로세스가 관리자 권한을 할당 받을 수 없는 어플리케이션인 경우에, 상기 어플리케이션 혹은 상기 프로세스를 삭제하는 단계를 더 포함할 수 있다.
예시적 실시예들의 일측에 따르면, 루트 권한을 획득할 수 있는 어플리케이션의 목록을 이용하여 단말기에 대한 악의적 루팅을 방지할 수 있다.
도 1은 예시적 실시예에 따른 권한 할당 방법을 단계별로 도시한 순서도이다.
도 2는 예시적 실시예에 따라, 서로 다른 별개의 프로세서 상에서 구동되는 소프트웨어 구조를 도시한 블록도이다.
도 3은 또 다른 예시적 실시예에 다른 단말기 구조를 도시한 블록도이다.
도 4는 또 다른 예시적 실시예에 따른 권한 할당 방법을 단계별로 도시한 순서도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 예시적 실시예에 따른 안드로이드 플랫폼을 탑재하고 있는 스마트폰에서의 접근 권한 할당 방법을 단계별로 도시한 순서도이다.
접근 권한이란, 특정 이용자, 프로그램, 프로세스 또는 컴퓨터 네트워크 내의 컴퓨터 시스템에 접근할 수 있는 권한으로서, 어떤 데이터 또는 프로그램을 참조하고 그것을 특정 형태로 이용하는 것을 이용자에게 인정한 권한으로서, 간단히 어플리케이션, 프로세스가 단말기 내의 임의의 데이터 또는 프로그램을 참조하고 이용할 수 있는 권한으로 이해될 수 있다..
접근 권한의 내용은 데이터 항목(파일이나 레코드) 또는 특정란의 판독(read), 새로운 항목의 추가(append)나 현 항목의 변경(modify) 등에 의한 기록(write), 항목의 삭제(delete) 등의 조작을 총칭할 수 있다.
접근 권한은 일반 사용자 권한과 루트 권한으로 구분될 수 있으며, 일반 사용자 권한을 할당 받은 어플리케이션, 프로세스는 제한된 범위의 입출력 장치, 파일에만 접근할 수 있다. 반면, 루트 권한을 할당 받은 어플리케이션, 프로세스는 시스템 파일을 포함한 모든 입출력 장치 및 파일에 접근할 수 있다. 여기서, 루트 권한을 간단히 관리자 권한이라고 할 수도 있다.
도 1에서는 스마트 폰의 운영 체제로서 리눅스 커널을 사용하는 안드로이드 플랫폼을 대상으로 설명한다. 그러나, 본 발명은 다른 운영 체제를 사용하는 스마트 폰에 대해서도 유사한 방법으로 적용될 수 있다.
스마트폰에 탑재되는 플랫폼(110)은 운영 체제, 어플리케이션을 위한 라이브러리, 프레임 워크 등을 포함한다. 안드로이드 플랫폼은 운영 체제로 리눅스 커널(120)을 사용하며, SGL, SQLite 등의 오픈 소스 기반의 라이브러리를 제공한다. 또한, 자바(JAVA)로 제작된 프레임 워크를 제공한다.
일측에 따르면, 리눅스 커널(120)은 디스플레이, 카메라, 키패드, USB 등을 제어하기 위한 드라이버(driver)를 제공하며, 오픈 소스 기반의 라이브러리는 웹브라우징, 데이터 베이스 등의 서비스를 제공한다. 또한, 자바로 제작된 프레임 워크는 오디오 처리, 위치 정보 처리 등의 서비스를 제공한다.
안드로이드 어플리케이션은 프로세스들을 생성하고, 각 프로세스들은 필요에 따라 자바로 제작된 프레임 워크를 호출하여 작업을 수행한다. 프레임 워크는 오픈 소스 기반의 라이브러리를 호출하여 어플리케이션에게 소정의 서비스를 제공한다.
리눅스 커널(120)은 보안, 메모리 관리, 프로세스 관리, 네트워크 스택 관리, 하드웨어 드라이버 관리 등의 역할을 수행한다. 또한, 리눅스 커널(120)을 어플리케이션에 UID를 할당할 수 있다. 여기서, UID는 각 어플리케이션에 할당된 사용자 식별자(User ID)를 의미한다.
권한 관리부(130)은 각 어플리케이션 및 각 어플리케이션과 관련된 프로세스의 권한을 관리한다. 일측에 따르면, 권한 관리부(130)은 각 프로세스들을 생성한 어플리케이션에 따라서, 각 프로세스들에 권한을 부여할 수 있다. 예를 들어, 사용자 권한을 할당 받을 수 있는 어플리케이션이 생성한 프로세스에 대하여, 권한 관리부(130)은 사용자 권한을 부여하고, 관리자 권한을 할당 받을 수 있는 어플리케이션이 생성한 프로세스에 대하여 권한 관리부(130)은 관리자 권한을 부여할 수 있다.
사용자 권한을 부여받은 프로세스는 특정 입출력 장치, 특정 파일에만 접근하는 등, 사용자 권한으로 정해진 작업만을 수행할 수 있으나, 관리자 권한을 부여받은 프로세스는 모든 입출력 장치, 모든 파일에 접근하는 등 모든 작업을 수행할 수 있다. 따라서, 사용자 인터페이스(UI: User Interface)등을 사용자 임의로 변경하거나, 스마트폰을 해킹하려는 어플리케이션은 관리자 권한을 할당받는 것이 필수적이다.
예를 들어, 어플리케이션 설치 단계(140)에서, 설치된 어플리케이션은 루팅을 목적으로 하지 않은, 일반적인 어플리케이션인 것으로 가정한다. 일반적인 어플리케이션이란 해당 어플리케이션이 해킹, 루팅을 시도하는지 여부를 플랫폼 제공자가 일차적으로 검증한 어플리케이션으로서, 대표적인 예로는 카카오톡 등과 같이 검증된 마켓으로부터 다운로드 받아서 설치된 어플리케이션을 예로 들 수 있다.
어플리케이션 실행 단계(141)에서 설치된 어플리케이션은 실행될 수 있다. 실행된 어플리케이션이 특정한 작업을 수행하기 위해서, 해당 어플리케이션은 프로세스를 생성할 수 있다. 생성된 프로세스가 구체적인 작업을 수행하기 위하여, 생성된 프로세스는 권한을 할당 받아야 한다.
이를 위하여 UID 할당 단계(142)에서, 리눅스 커널(120)은 해당 어플리케이션에 대하여 UID를 할당한다. 또한 권한 할당 단계(143)에서 권한 관리부(130)는 생성된 프로세스에 사용자 권한을 부여한다. 프로세스가 사용자 권한을 부여 받으면, 해당 프로세스는 접근 가능한 파일 또는 입출력 장치를 이용하여 소정의 작업을 수행할 수 있다.
어플리케이션 설치 단계(150)에서, 악의적인 어플리케이션은 관리자 권한을 할당 받기 위하여 'system/bin' 디렉토리에 SU 명령어를 설치 할 수 있다. 여기서, 악의적인 어플리케이션은 비정상적인 루팅을 시도하는 침입 어플리케이션(exploit application)일 수 있다. 악의적인 어플리케이션은 단말기의 보안 취약점을 이용하여 일시적으로 관리자 권한을 획득하고, 획득된 관리자 권한을 이용하여 'system/bin' 디렉토리에 SU 유틸리티를 설치할 수 있다.
SU 실행 단계(160)에서 SU 명령어가 실행된다. SU 유틸리티가 설치되면, 사용자 권한을 가진 어플리케이션도 'system/bin' 디렉토리에 설치된 SU 명령어를 실행할 수 있다. 여기서, SU 명령어는 명령어를 실행한 주체에 관리자 권한을 할당하는 명령어이다.
일측에 따르면, 관리자 권한을 가진 어플리케이션만이 'system/bin'디렉토리에 쓰기 또는 읽기를 수행할 수 있다. 그러나, 사용자 권한을 가진 어플리케이션도 'system/bin'디렉토리 에 대한 실행은 가능하다. 따라서, 악의적인 어플리케이션은 사용자 권한을 이용하여 'system/bin' 디렉토리에 설치된 SU 명령어를 실행하고, 관리자 권한을 할당받을 수 있다. 일측에 따르면, SU 명령어는 단말기가 부팅할 때마다 실행될 수 있다.
다른 어플리케이션이 실행되면, 리눅스 커널(120)은 UID 할당 단계(161)에서 실행된 어플리케이션에 UID를 할당한다. 또한 리눅스 커널(120)은 어플리케이션이 생성한 프로세스에 관리자 권한의 할당을 요청한다.
권한 할당 단계(130)에서 권한 관리부(130)는 실행된 어플리케이션이 관리자 권한을 할당받을 수 있는 어플리케이션인지 여부를 판단한다. 일측에 따르면, 권한 관리부(130)는 관리자 권한을 할당 받을 수 있는 어플리케이션의 목록을 저장, 관리할 수 있다. 이 경우에, 권한 관리부(130)는 실행된 어플리케이션이 목록에 포함되어 있는지 여부를 판단할 수 있다. 만약 실행된 어플리케이션이 목록에 포함되어 있다면, 권한 관리부(130)는 실행된 어플리케이션이 관리자 권한을 할당 받을 수 있는 어플리케이션인 것으로 확인할 수 있다. 반대로, 실행된 어플리케이션이 목록에 포함되어 있지 않다면, 권한 관리부(130)는 실행된 어플리케이션이 관리자 권한을 할당 받을 수 없는 어플리케이션인 것으로 확인할 수 있다.
만약 실행된 어플리케이션이 관리자 권한을 할당 받을 수 있는 어플리케이션인 경우에, 권한 관리부(130)는 단계(180)에서, 실행된 어플리케이션이 생성한 프로세스에 관리자 권한을 할당한다. 리눅스 커널(120)은 단계(181)에서, 해당 프로세스 에 관리자 권한이 할당된 것으로 확인할 수 있다.
만약 실행된 어플리케이션이 관리자 권한을 할당 받을 수 없는 어플리케이션인 경우에, 권한 관리부(130)는 단계(191)에서 해당 프로세스에 사용자 권한 만을 할당할 수 있다.
따라서, 보안 취약점을 이용하여 'system/bin' 디렉토리에 SU 명령어가 설치된 경우에도 목록에 기재된 어플리케이션만이 관리자 권한을 할당받을 수 있다. 따라서, 악의적 해킹으로 추가된 어플리케이션은 관리자 권한을 할당 받을 수 없고, 단말기는 안전하게 보호된다.
다른 측면에 따르면, 권한 관리부(130)는 디스플레이 장치를 통해 해당 어플리케이션이 비정상적인 루팅을 시도했음을 사용자에게 보고할 수 있다. 이 경우에, 사용자는 해당 어플리케이션에 대한 처리를 입력하고, 안드로이드 플랫폼(110)은 해당 처리를 수행할 수 있다. 예를 들어, 사용자는 해당 어플리케이션에 대한 삭제 요청을 입력하고, 안드로이드 플랫폼(110)은 단계(193)에서, 비정상적인 루팅을 시도한 해당 어플리케이션을 삭제할 수 있다.
도 1에 도시된 실시예에 따르면, 권한 관리부(130)는 관리자 권한을 획득할 수 있는 어플리케이션의 목록을 저장, 관리할 수 있다. 따라서, 악의적인 사용자에 의하여 SU 명령어가 설치된 경우에도, 실행된 어플리케이션에 대한 관리자 권한의 할당이 제한된다. 따라서, 악의적인 루팅에 의한 피해가 최소화 될 수 있다.
도 2는 예시적 실시예에 따라, 서로 다른 별개의 프로세서 상에서 구동되는 소프트웨어 구조를 도시한 블록도이다.
단말기는 무선 네트워크와의 통신, GPS 등을 처리하는 모뎀 프로세서(210)와 어플리케이션의 실행, OS 구동 등을 처리하는 어플리케이션 프로세서(250)를 포함할 수 있다.
모뎀 프로세서(210)는 EFS 소프트웨어(211), 모뎀 소프트웨어(212), 데이터 처리 소프트웨어(213), GPS 소프트웨어(214)등을 구동한다. 또한, 모뎀 프로세서(230)는, 어플리케이션 프로세서와의 통신을 담당하는 IPC(220) 소프트웨어를 구동한다. . 또한, 모뎀 프로세서는 상기 소프트웨어 등을 구동하기 위한 운영 체제(230)를 포함할 수 있다.
어플리케이션 프로세서(250)는 안드로이드 플랫폼(250)를 구동한다. 안드로이드 플랫폼(250)은 리눅스 커널(260), 오픈 소스 기반의 안드로이드 라이브러리(253), 안드로이드 프레임 워크(251) 및 안드로이드 어플리케이션(251)을 포함한다. 리눅스 커널(260)은 모뎀 프로세서(210)과의 통신을 담당하는 IPC(Inter Processor Communication) 모듈(261), 하드웨어를 제어하기 위한 드라이버(262), 메모리 관리부(263), 멀티미디어 처리부(264)등을 포함한다.
안드로이드 어플리케이션(251)은 프로세스들을 생성하고, 각 프로세스들은 필요에 따라 자바로 제작된 안드로이드 프레임 워크(252)를 호출하여 작업을 수행한다. 안드로이드 프레임 워크(252)는 안드로이드 라이브러리(253)를 호출하여 안드로이드 어플리케이션(251)에게 소정의 서비스를 제공한다.
일측에 따르면, 어플리케이션 프로세스(250)에서 구동되는 소프트웨어들(211, 212, 213, 214)과 모뎀 프로세서(210)에서 구동되는 소프트웨어들(251, 252, 253, 254)은 IPC 소프트웨어(261)가 제공하는 프로세서간 통신 기능을 이용하여 데이터를 교환할 수 있다.
IPC 소프트웨어(261)는 PIPE 방식 또는 공유 메모리 방식을 이용하여 데이터를 교환할 수 있다. PIPE 방식은 복수의 프로세스가 임시 파일을 이용하여 데이터를 교환하는 통신 방식으로서, 어느 하나의 프로세스가 임시 파일에 데이터를 기록하면, 다른 프로세스가 기록된 데이터를 로딩하는 프로세서간 데이터를 공유하는 통신 방식이다. 공유 메모리 방식은 어플리케이션 프로세서(250) 및 모뎀 프로세서(210)가 모두 접근 할 수 있는 메모리 영역(240)에 어느 하나의 프로세서가 데이터를 기록하면, 다른 프로세서가 기록된 데이터를 로딩하여 프로세서간 데이터를 공유하는 통신 방식이다.
도 2에서는 공유 메모리 방식의 IPC를 이용하여 데이터를 공유하는 실시예가 도시되었다.
도 2에 도시된 바와 같이 모뎀 프로세서(210)의 소프트웨어들과 어플리케이션 프로세서(250)의 소프트웨어들은 서로 완전히 분리되어 있다. 따라서, 제조사가 배포하는 펌웨어도 각 프로세서(210, 250)에 대하여 개별적으로 배포되는 것이 일반적이다.
악의적으로 루팅을 시도하는 자들도, 대부분 어플리케이션 프로세서(250)의 보안 취약점을 이용하여 루팅을 시도하고, 모뎀 프로세서(210)를 통한 루팅은 시도하지 않는 것이 일반적이다.
일측에 따르면, 본 발명에 따른 관리자 권한을 할당 받을 수 있는 어플리케이션의 목록은 모뎀 프로세서(210)의 EFS에 저장될 수 있다. 또한, 권한 관리부는 리눅스 커널(260)과 함께 어플리케이션 프로세서(250)에서 구동될 수 있다. 이 경우에, 권한 관리부는 공유 메모리(240)를 이용하여 관리자 권한을 할당 받을 수 있는 어플리케이션의 목록을 로딩할 수 있다.
권한 관리부가 모뎀 프로세서(210)에서 구동되는 경우에는, 어플리케이션 프로세서(250)에서 구동되는 소프트웨어들이 해킹되어도, 모뎀 프로세서(210)에서 구동되는 권한 관리부는 해킹으로부터 안전하게 보호될 수 있다. 따라서, 관리자 권한을 할당 받을 수 있는 어플리케이션의 목록도 안전하게 보호되며, 어플리케이션 프로세서(250)에서 구동되는 소프트웨어들이 해킹된 경우에도 단말기는 루팅으로부터 보호될 수 있다.
도 3은 또 다른 예시적 실시예에 다른 단말기 구조를 도시한 블록도이다.
단말기(300)는 수신부(310), 권한 할당부(320), 목록 저장부(330), 사용자 입력부(350), 및 디스플레이부(340)를 포함할 수 있다.
수신부(310)는 타겟 어플리케이션으로부터 관리자 권한의 요청을 수신한다. 일측에 따르면, 타겟 어플리케이션은 안드로이드 플랫폼에 설치된 특정 프로그램일 수 있다.
권한 할당부(320)는 관리자 권한의 요청에 응답하여 타겟 어플리케이션이 관리자 권한을 할당 받을 수 있는 어플리케이션인지 확인한다.
일측에 따르면, 목록 저장부(330)는 관리자 권한을 할당 받을 수 있는 어플리케이션의 목록을 저장할 수 있다. 이 경우에, 권한 할당부(320)는 타겟 어플리케이션이 목록에 포함되어 있는지 여부를 판단한다. 일측에 따르면, 타겟 어플리케이션이 목록에 포함된 경우에, 권한 할당부(320)는 타겟 어플리케이션이 관리자 권한을 할당 받을 수 있는 어플리케이션인 것으로 확인할 수 있다. 다른 측면에 따르면, 타겟 어플리케이션이 목록에 포함되지 않은 경우에, 권한 할당부(320)는 타겟 어플리케이션이 관리자 권한을 할당 받을 수 없는 어플리케이션인 것으로 확인할 수 있다.
일측에 따르면, 단말기(330)는 도 2에 도시된 바와 같이 모뎀 프로세서(210)와 어플리케이션 프로세서(250)로 구성될 수 있다. 이 경우에, 수신부(310) 및 권한 할당부(320)는 어플리케이션 프로세서(250)에서 구동되고, 목록 저장부(330)는 모뎀 프로세서(210)에서 구동될 수 있다. 이 경우에, 권한 할당부(320)는 IPC를 이용하여 모뎀 프로세서(210) 저장된 관리자 권한을 할당 받을 수 있는 어플리케이션의 목록을 로딩할 수 있다.
앞서 설명한 바와 같이, 어플리케이션 프로세서(250)에서 구동되는 소프트웨어들이 해킹된 경우에도, , 모뎀 프로세서(210)에서 구동되는 목록 저장부(330)는 안전하게 유지된다. 따라서, 도 3에 도시된 단말기는 악의적 루팅으로부터 안전하게 보호될 수 있다.
일측에 따르면, 타겟 어플리케이션이 관리자 권한을 할당 받을 수 있는 어플리케이션인 경우에, 권한 할당부(320)는 타겟 어플리케이션이 생성한 프로세스에 대하여 관리자 권한을 할당할 수 있다. 타겟 어플리케이션이 생성한 프로세스가 관리자 권한을 할당 받으면, 타겟 어플리케이션은 생성된 프로세스를 이용하여 모든 입출력 장치에 접근할 수 있으며, 모든 파일에 대하여 생성, 삭제, 변경 등을 수행할 수 있다.
일측에 따르면, 타겟 어플리케이션이 관리자 권한을 할당 받을 수 없는 어플리케이션인 경우에, 권한 할당부(320)는 타겟 어플리케이션에 대하여 사용자 권한만을 할당할 수 있다. 이 경우에, 타겟 어플리케이션은 생성된 프로세스를 이용하여 사용자 권한에 따른 일부 입출력 장치에만 접근할 수 있으며, 일부 파일에 대한 생성, 삭제, 변경 등을 수행할 수 있다.
일측에 따르면, 타겟 어플리케이션이 관리자 권한을 할당 받을 수 없는 어플리케이션인 경우에, 디스플레이부(340)는 타겟 어플리케이션의 관리자 권한의 요청을 사용자에게 디스플레이 할 수 있다.
이 경우, 사용자 입력부(350)는 타겟 어플리케이션에 대한 처리 명령을 사용자로부터 수신할 수 있다. 예를 들어 처리 명령은 타겟 어플리케이션에 대한 관리자 권한의 할당 여부일 수 있다. 만약 사용자 입력부가 타겟 어플리케이션에 대한 관리자 권한 할당 명령을 수신한 경우에, 권한 할당부(320)는 타겟 어플리케이션이 목록 저장부(330)의 목록에는 포함되어 있지 않으나, 타겟 어플리케이션에 대하여 관리자 권한을 할당할 수 있다. 다른 예에 따르면, 처리 명령은 타겟 어플리케이션에 대한 삭제 명령일 수 있다. 이 경우에, 권한 할당부(320)는 루팅을 시도한 타겟 어플리케이션을 삭제할 수 있다.
도 4는 또 다른 예시적 실시예에 따른 권한 할당 방법을 단계별로 도시한 순서도이다.
단계(410)에서, 단말기는 관리자 권한을 할당 받을 수 있는 어플리케이션의 목록을 저장하고 유지한다.
단계(420)에서, 단말기는 타겟 어플리케이션으로부터 관리자 권한의 요청을 수신할 수 있다.
단계(430)에서, 단말기는 타겟 어플리케이션이 관리자 권한을 할당 받을 수 있는 어플리케이션인지 여부를 확인할 수 있다. 일측에 따르면, 단말기는 타겟 어플리케이션이 관리자 권한을 할당 받을 수 있는 어플리케이션의 목록에 포함되어 있는지 여부를 판단하고, 판단 결과에 따라서 관리자 권한을 할당 받을 수 있는 어플리케이션인지 확인할 수 있다.
예를 들어, 타겟 어플리케이션이 목록에 포함된 경우에, 단말기는 타겟 어플리케이션이 관리자 권한을 할당 받을 수 있는 어플리케이션인 것으로 확인할 수 있다. 다른 측면에 따르면, 타겟 어플리케이션이 목록에 포함되지 않은 경우에, 단말기는 타겟 어플리케이션이 관리자 권한을 할당 받을 수 없는 어플리케이션인 것으로 확인할 수 있다.
일측에 따르면, 타겟 어플리케이션이 관리자 권한을 할당 받을 수 있는 어플리케이션인 경우에, 단말기는 단계(440)에서, 타겟 어플리케이션이 생성한 프로세스에 대하여 관리자 권한을 할당할 수 있다. 타겟 어플리케이션이 생성한 프로세스가 관리자 권한을 할당 받으면, 타겟 어플리케이션은 생성된 프로세스를 이용하여 모든 입출력 장치에 접근할 수 있으며, 모든 파일에 대하여 생성, 삭제, 변경 등을 수행할 수 있다.
일측에 따르면, 타겟 어플리케이션이 관리자 권한을 할당 받을 수 없는 어플리케이션인 경우에, 단말기는 단계(450)에서, 타겟 어플리케이션에 대한 관리자 권한의 요청 사실을 사용자에게 디스플레이할 수 있다.
사용자는 타겟 어플리케이션에 대한 관리자 권한의 요청 사실을 보고 받고, 단계(460)에서, 타겟 어플리케이션에 대한 처리 명령을 입력할 수 있다. 일측에 따르면, 타겟 어플리케이션에 대한 처리 명령은 타겟 어플리케이션에 대하여 관리자 권한을 할당할지 여부에 대한 처리 명령일 수 있다.
단말기는 단계(470)에서, 사용자의 처리 명령을 분석한다. 만약 사용자가 타겟 어플리케이션에 대하여 관리자 권한을 할당할 것을 명령한 경우에, 단말기는 단계(440)에서 타겟 어플리케이션에 대하여 관리자 권한을 할당할 수 있다.
만약 사용자가 타겟 어플리케이션에 대하여 관리자 권한을 할당하지 않을 것을 명령한 경우에, 단말기는 단계(480)에서 타겟 어플리케이션에 대하여 사용자 권한만을 할당할 수 있다. 이 경우에, 타겟 어플리케이션은 사용자 권한에 따른 일부 입출력 장치에만 접근할 수 있으며, 일부 파일에 대한 생성, 삭제, 변경 등을 수행할 수 있다.
또 다른 실시예에 따르면, 만약 사용자가 타겟 어플리케이션에 대하여 관리자 권한을 할당하지 않을 것을 명령한 경우에, 단말기는 단계(490)에서, 타겟 어플리케이션을 삭제할 수 있다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
110: 안드로이드 플랫폼
120: 리눅스 커널
130: 권한 관리부

Claims (15)

  1. 단말기에 있어서,
    어플리케이션의 특정 기능을 수행하기 위한 프로세스로부터 접근 권한을 요청받은 수신부; 및
    상기 프로세스로부터 요청받은 접근 권한이 상기 단말기내의 모든 데이터에 접근할 수 있는 관리자 권한인지 판단하는 한편, 상기 관리자 권한의 요청에 응답하여 상기 프로세스가 관리자 권한을 할당 받을 수 있는 프로세스인지 확인하고, 상기 확인 결과에 따라서 상기 프로세스에 대하여 관리자 권한을 할당하는 권한 할당부
    를 포함하고,
    상기 접근 권한은 상기 프로세스가 상기 단말기 내의 임의의 데이터 또는 프로그램을 이용하기 위한 권한인 것을 특징으로 하는 단말기.
  2. 삭제
  3. 제1항에 있어서,
    상기 관리자 권한은 상기 단말기의 모든 입출력 장치 및 파일에 대한 접근이 가능한 루트 권한인 것을 특징으로 하는 단말기.
  4. 제1항에 있어서,
    상기 관리자 권한을 할당 받을 수 있는 프로세스의 목록을 저장하는 목록 저장부
    를 더 포함하고,
    상기 권한 할당부는 상기 프로세스가 상기 목록에 포함된 경우에 상기 프로세스가 관리자 권한을 할당 받을 수 있는 어플리케이션인 것으로 확인하는 단말기.
  5. 제4항에 있어서,
    상기 단말기는 어플리케이션의 동작을 제어하는 어플리케이션 프로세서 및 네트워크 통신을 제어하는 모뎀 프로세서를 포함하고,
    상기 권한 할당부는 상기 어플리케이션 프로세서 상에서 동작하고, 상기 목록 저장부는 상기 모뎀 프로세서 상에서 동작하는 단말기.
  6. 제1항에 있어서,
    상기 프로세스가 관리자 권한을 할당 받을 수 없는 프로세스로 확인된 경우에, 상기 프로세스에 대한 관리자 권한의 할당 여부를 사용자로부터 수신하는 사용자 입력부
    를 더 포함하는 단말기.
  7. 제1항에 있어서,
    상기 프로세스가 관리자 권한을 할당 받을 수 없는 프로세스로 확인된 경우에, 상기 관리자 권한의 할당 여부에 대한 요청을 디스플레이하는 디스플레이부
    를 더 포함하는 단말기.
  8. 제1항에 있어서,
    상기 프로세스가 관리자 권한을 할당 받을 수 없는 어플리케이션인 경우에, 상기 권한 할당부는 상기 어플리케이션 혹은 상기 프로세스를 삭제하는 단말기.
  9. 단말기의 권한 할당 방법에 있어서,
    어플리케이션의 특정 기능을 수행하기 위한 프로세스로부터 접근 권한을 요청받는 단계;
    상기 프로세스로부터 요청받은 접근 권한이 상기 단말기내의 모든 데이터에 접근할 수 있는 관리자 권한인지 판단하는 한편, 상기 관리자 권한의 요청에 응답하여 상기 프로세스가 관리자 권한을 할당 받을 수 있는 프로세스인지 확인하고, 상기 확인 결과에 따라서 상기 프로세스에 대하여 관리자 권한을 할당하는 단계
    를 포함하고,
    상기 접근 권한은 상기 프로세스가 상기 단말기 내의 임의의 데이터 또는 프로그램을 이용하기 위한 권한인 것을 특징으로 하는 단말기의 권한 할당 방법.
  10. 삭제
  11. 제9항에 있어서,
    상기 관리자 권한은 상기 단말기의 모든 입출력 장치 및 파일에 대한 접근이 가능한 루트 권한인 것을 특징으로 하는 단말기의 권한 할당 방법.
  12. 제9항에 있어서,
    상기 관리자 권한을 할당 받을 수 있는 프로세스의 목록을 저장하는 단계
    를 더 포함하고,
    상기 권한을 할당하는 단계는 상기 프로세스가 상기 목록에 포함된 경우에 상기 프로세스가 관리자 권한을 할당 받을 수 있는 어플리케이션인 것으로 확인하는 단말기의 권한 할당 방법.
  13. 제9항에 있어서,
    상기 프로세스가 관리자 권한을 할당 받을 수 없는 프로세스로 확인된 경우에, 상기 프로세스에 대한 관리자 권한의 할당 여부를 사용자로부터 수신하는 단계
    를 더 포함하는 단말기의 권한 할당 방법.
  14. 제9항에 있어서,
    상기 프로세스가 관리자 권한을 할당 받을 수 없는 프로세스로 확인된 경우에, 상기 관리자 권한의 할당 여부에 대한 요청을 디스플레이하는 단계
    를 더 포함하는 단말기의 권한 할당 방법.
  15. 제9항에 있어서,
    상기 프로세스가 관리자 권한을 할당 받을 수 없는 어플리케이션인 경우에, 상기 어플리케이션 혹은 상기 프로세스를 삭제하는 단계
    를 더 포함하는 단말기의 권한 할당 방법.
KR1020120019064A 2012-02-24 2012-02-24 어플리케이션에 권한을 할당하는 단말기 및 상기 단말기의 권한 할당 방법 KR101308351B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020120019064A KR101308351B1 (ko) 2012-02-24 2012-02-24 어플리케이션에 권한을 할당하는 단말기 및 상기 단말기의 권한 할당 방법
US13/652,886 US8955056B2 (en) 2012-02-24 2012-10-16 Terminal and method for assigning permission to application
EP12196428.2A EP2631795A1 (en) 2012-02-24 2012-12-11 Terminal and method for assigning permission to application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120019064A KR101308351B1 (ko) 2012-02-24 2012-02-24 어플리케이션에 권한을 할당하는 단말기 및 상기 단말기의 권한 할당 방법

Publications (2)

Publication Number Publication Date
KR20130101656A KR20130101656A (ko) 2013-09-16
KR101308351B1 true KR101308351B1 (ko) 2013-09-17

Family

ID=47602875

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120019064A KR101308351B1 (ko) 2012-02-24 2012-02-24 어플리케이션에 권한을 할당하는 단말기 및 상기 단말기의 권한 할당 방법

Country Status (3)

Country Link
US (1) US8955056B2 (ko)
EP (1) EP2631795A1 (ko)
KR (1) KR101308351B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104426882B (zh) * 2013-09-03 2019-05-24 深圳市腾讯计算机***有限公司 信息处理方法、***及终端设备
US9787685B2 (en) * 2014-06-24 2017-10-10 Xiaomi Inc. Methods, devices and systems for managing authority
CN104035842A (zh) * 2014-06-30 2014-09-10 上海斐讯数据通信技术有限公司 一种删除和恢复内置应用程序的方法
US9710127B2 (en) * 2014-10-09 2017-07-18 Salesforce.Com, Inc. User-customizable permissions in a computing environment
CN106375350B (zh) * 2016-11-29 2020-12-29 北京小米移动软件有限公司 刷机验证方法和装置
KR102610058B1 (ko) * 2017-01-10 2023-12-06 삼성전자주식회사 프로세스의 권한 상승을 검출하는 전자 장치 및 저장 매체
TWI673667B (zh) * 2017-01-25 2019-10-01 楊建綱 內建智慧安全行動裝置
CN108345785B (zh) 2017-01-25 2021-05-11 杨建纲 内建智能安全行动装置
CN108595944B (zh) * 2018-03-27 2020-07-10 麒麟软件有限公司 一种基于Linux***的实现用户UID唯一性的方法
CN110427248B (zh) * 2019-07-12 2021-10-01 中国人民解放军国防科技大学 一种基于容器的轻量级用户环境构建方法、***及介质
CN110532764B (zh) * 2019-08-19 2022-03-11 维沃移动通信有限公司 一种权限处理的方法、移动终端及可读存储介质
CN111159164B (zh) * 2020-01-16 2024-01-30 四川天翼网络股份有限公司 基于参数化传递的报表数据访问权限控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020051131A (ko) * 2000-12-22 2002-06-28 오길록 신분 기반을 이용한 접근 제어 시스템의 접근 제어 방법
KR20060005530A (ko) * 2004-07-13 2006-01-18 엘지엔시스(주) 프로그램 실행 제어 장치 및 방법
KR100641884B1 (ko) 2005-07-14 2006-11-02 이재준 휴대용 저장장치의 고유번호를 이용한 사용자 구분 및어플리케이션 구동시스템 및 그 방법.

Family Cites Families (13)

* 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
US8156558B2 (en) * 2003-05-17 2012-04-10 Microsoft Corporation Mechanism for evaluating security risks
US7577995B2 (en) * 2003-09-16 2009-08-18 At&T Intellectual Property I, L.P. Controlling user-access to computer applications
US20050091658A1 (en) 2003-10-24 2005-04-28 Microsoft Corporation Operating system resource protection
DE102005021849B4 (de) * 2005-05-11 2007-08-02 Infineon Technologies Ag Embedded-Kommunikationsendgerät
US8245293B2 (en) * 2006-03-31 2012-08-14 Huang Evan S Methods and apparatuses for securely operating shared host computers with portable apparatuses
US7606561B2 (en) * 2006-04-26 2009-10-20 Kyocera Corporation Emergency ringing facility for mobile phones
US8423612B2 (en) * 2007-01-08 2013-04-16 Cisco Technology, Inc. Methods and apparatuses for selectively accessing an application
US8638790B2 (en) * 2008-06-23 2014-01-28 Qualcomm Incorporated Method and apparatus for managing data services in a multi-processor computing environment
KR20100054940A (ko) 2008-11-17 2010-05-26 포항공과대학교 산학협력단 임베디드 리눅스에서 서명 검증 방식을 이용한 악성 프로그램 차단 장치 및 방법
KR101161493B1 (ko) 2010-01-18 2012-06-29 (주)쉬프트웍스 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법
KR101130088B1 (ko) 2010-03-05 2012-03-28 주식회사 안철수연구소 악성 코드 탐지 장치 및 그 방법, 이를 위한 프로그램이 기록된 기록 매체
KR20120083034A (ko) * 2011-01-17 2012-07-25 삼성전자주식회사 무선통신시스템에서 응용 프로그램의 권한을 부여하기 위한 시스템 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020051131A (ko) * 2000-12-22 2002-06-28 오길록 신분 기반을 이용한 접근 제어 시스템의 접근 제어 방법
KR20060005530A (ko) * 2004-07-13 2006-01-18 엘지엔시스(주) 프로그램 실행 제어 장치 및 방법
KR100641884B1 (ko) 2005-07-14 2006-11-02 이재준 휴대용 저장장치의 고유번호를 이용한 사용자 구분 및어플리케이션 구동시스템 및 그 방법.

Also Published As

Publication number Publication date
US8955056B2 (en) 2015-02-10
KR20130101656A (ko) 2013-09-16
EP2631795A1 (en) 2013-08-28
US20130227652A1 (en) 2013-08-29

Similar Documents

Publication Publication Date Title
KR101308351B1 (ko) 어플리케이션에 권한을 할당하는 단말기 및 상기 단말기의 권한 할당 방법
EP3304408B1 (en) System and method for using per-application profiles in a computing device
JP4628149B2 (ja) アクセス制御装置及びアクセス制御方法
JP5061908B2 (ja) プログラム実行制御方法および装置ならびに実行制御プログラム
KR101089023B1 (ko) 스마트 카드, 및 이를 이용한 안티-바이러스 시스템 및 스캐닝 방법
US20150081644A1 (en) Method and system for backing up and restoring a virtual file system
KR101308859B1 (ko) 임시 관리자 권한 부여 기능을 가진 단말기 및 이를 이용한 임시 관리자 권한 부여 방법
EP2867820B1 (en) Devices, systems, and methods for monitoring and asserting trust level using persistent trust log
KR101295428B1 (ko) 스마트 단말기에서 어플리케이션의 권한정보 관리 장치 및 제어 방법
KR20090010872A (ko) CLDC OSGi 환경에서 어플리케이션의 접속 권한을관리하는 방법 및 장치
US20140281499A1 (en) Method and system for enabling communications between unrelated applications
US20160062655A1 (en) System and Method for Improved Memory Allocation in a Computer System
JP5511874B2 (ja) セキュリティサービスに実装するシステムおよび方法
US10719456B2 (en) Method and apparatus for accessing private data in physical memory of electronic device
KR101321479B1 (ko) 프로세스의 접근 제어를 이용한 응용 소프트웨어의 불법 복제 방지 방법 및 장치
US20180165226A1 (en) Memory privilege
KR101345959B1 (ko) 단일 사용자용 모바일 단말기 플랫폼을 위한 다중 사용자 권한 관리 방법 및 이를 이용한 모바일 단말기
KR101731920B1 (ko) 이동 단말기 및 그것의 제어방법
GB2515736A (en) Controlling access to one or more datasets of an operating system in use
KR102090151B1 (ko) 데이터 보호 시스템 및 그 방법
US20140351879A1 (en) Electronic apparatus, control method and storage medium
US9232401B2 (en) Information processing apparatus and control method
KR101391508B1 (ko) 저장된 파일을 보호하는 단말기 및 방법
KR20140127124A (ko) 시스템 자원에 대한 접근을 관리하는 전자 장치
KR101588533B1 (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: 20160901

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180227

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190227

Year of fee payment: 6