KR101308859B1 - Terminal having temporary root authority granting function and root authority granting method using the same - Google Patents
Terminal having temporary root authority granting function and root authority granting method using the same Download PDFInfo
- Publication number
- KR101308859B1 KR101308859B1 KR1020120019100A KR20120019100A KR101308859B1 KR 101308859 B1 KR101308859 B1 KR 101308859B1 KR 1020120019100 A KR1020120019100 A KR 1020120019100A KR 20120019100 A KR20120019100 A KR 20120019100A KR 101308859 B1 KR101308859 B1 KR 101308859B1
- Authority
- KR
- South Korea
- Prior art keywords
- application
- deletion
- package
- manager
- authority
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000009434 installation Methods 0.000 claims abstract description 87
- 238000012217 deletion Methods 0.000 claims abstract description 86
- 230000037430 deletion Effects 0.000 claims abstract description 86
- 230000008859 change Effects 0.000 claims abstract description 34
- 238000004891 communication Methods 0.000 claims description 32
- 238000013475 authorization Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 10
- 238000012508 change request Methods 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 230000036316 preload Effects 0.000 description 3
- 230000006378 damage Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
Images
Classifications
-
- 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]
-
- 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
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/62—Uninstallation
-
- 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
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
Abstract
Description
본 발명은 임시적으로 관리자 권한을 부여할 수 있는 단말기 및 이를 이용한 임시 관리자 권한 부여 방법에 관한 것이다.The present invention relates to a terminal capable of temporarily granting administrator authority and a method for granting temporary administrator authority using the same.
최근 스마트폰과 같은 단말기가 급속도로 보급되면서, 단말기의 하드웨어 및 소프트웨어 성능을 높이기 위한 연구가 활발히 진행되고 있다. 특히, 최근 단말기 사용자들은 인터넷 등의 관련 정보를 통해 방대한 양의 정보를 접할 수 있게 되고, 단말기의 저장 공간 확보, 속도 개선 등 단말기 최적화를 위하여 자신의 단말기의 특정 어플리케이션이나 모듈을 삭제하기를 원하는 경우가 많아지고 있다. As devices such as smart phones are rapidly spreading, studies are being actively carried out to enhance hardware and software performance of terminals. In particular, recently, terminal users can access a vast amount of information through related information such as the Internet, and if they want to delete a specific application or module of their own terminal to optimize the terminal, such as securing storage space and improving speed of the terminal. Is getting bigger.
안드로이드폰의 운영체제에서 관리자의 권한을 얻는 행위를 루팅(Rooting)이라고 하며, 이는 리눅스에서 관리자 권한을 얻는 행위를 지칭하는 용어에서 파생되었다. 즉, 안드로이드는 리눅스를 운영체제로 사용하는데, 리눅스에서 최고 권한을 가진 계정이 ‘루트(root)’이다. 루팅으로 안드로이드 운영체제의 사용자 권한을 ‘슈퍼 유저’로 바꿔 안드로이드 운영체제가 지원하지 않는 기능을 추가하거나, 지원하는 기능을 삭제할 수 있다.The act of gaining administrator rights in the Android phone's operating system is called rooting, which derives from the term for the act of gaining administrator rights in Linux. In other words, Android uses Linux as its operating system, and the most privileged account in Linux is the root. Rooting allows you to change the user's permissions on the Android operating system to a "super user" to add or remove features not supported by the Android operating system.
특히, 단말기가 출시될 때 탑재되어 있는 어플리케이션, 일명 프리로드 어플리케이션(preload application)의 경우 사용자가 단말기에서 삭제를 하고 싶어도 삭제를 할 수가 없도록 단말기를 출시할 때 설정되어 있는데, 이를 삭제하기 위해서는 관리자 권한을 획득하여야 한다. 이러한 관리자 권한을 획득하는 것을 위에서 설명한 것처럼 루팅이라고 하며, 많은 사용자들은 이러한 루팅을 이용하여 단말기 상의 어플리케이션을 자신의 스타일에 맞게 삭제, 수정 또는 추가하여 사용하고 있다.In particular, the application that is mounted when the terminal is released, also known as a preload application, is set when the terminal is released so that the user cannot delete the terminal even if the user wants to delete it from the terminal. Must be obtained. Acquiring this administrator authority is called routing as described above, and many users use this routing to delete, modify, or add an application on the terminal according to their own style.
하지만, 시스템을 운영하기 위한 모듈이나 어플리케이션에 잘못 접근하거나 이를 수정, 삭제할 경우 사용자가 사용을 원하는 중요한 모듈이나 어플리케이션도 사용하지 못하게 되는 경우가 있을 수 있으며, 심지어는 가장 기본적인 부팅조차 할 수 없는 결과를 가져오기도 한다.However, incorrectly accessing, modifying, or deleting a module or application for operating the system may result in the loss of the critical module or application that the user wants to use. Even the most basic booting may not be possible. Also imported.
특히, 안드로이드 플랫폼과 같은 리눅스 기반 운영체제를 탑재한 단말기에서 사용자들이 임의로 루팅(Rooting)을 시도하여 허가되지 않는 루트 권한(즉, 관리자 권한)을 획득한 후 내부적으로 사용자가 설정 사항이나 리소스를 변경하는 경우 잘못된 핸들링으로 기기가 오동작하거나 외부적으로는 악성 코드나 멀웨어(malware) 등의 공격에 무방비하게 노출될 수 있다. In particular, in a terminal equipped with a Linux-based operating system such as the Android platform, users randomly attempt to root to obtain unauthorized root privileges (ie, administrator privileges) and then internally change the settings or resources by the user. In this case, the device may malfunction due to incorrect handling, or may be exposed to malicious code or malware.
기존 기술은 루팅을 근본적으로 제한하여 이러한 문제점을 해결하였다. 하지만, 루팅을 근본적으로 제한하는 것은 사용자들이 루팅을 통하여 얻을 수 있는 이점을 원천적으로 봉쇄한다는 점에서 한계가 있다.The existing technology solves this problem by fundamentally restricting routing. However, there are limitations in fundamentally limiting routing in that it fundamentally blocks users from gaining the benefit of routing.
본 발명은 전술한 바와 같은 문제점을 해결하기 위해 안출된 것으로, 사용자가 어플리케이션을 삭제하고자 하는 경우, 삭제 시 관리자 권한이 필요한지를 판단하고, 관리자 권한이 필요한 경우 패키지 매니저가 프로세스간 통신으로 커널 영역의 루트 관리부로부터 일시적으로 관리자 권한을 부여 받아 어플리케이션을 삭제하고, 다시 관리자 권한을 반환할 수 있는 단말기 및 이를 이용한 임시 관리자 권한 부여 방법을 제공하는데 그 목적이 있다. The present invention has been made to solve the above-described problems, and when the user wants to delete the application, it is determined whether the administrator authority is required when deleting, and if the administrator authority is required, the package manager communicates with each other in the kernel region. It is an object of the present invention to provide a terminal capable of deleting an application by temporarily receiving administrator authority from a root manager and returning administrator authority and a method of granting temporary administrator authority using the same.
이를 위해 본 발명의 일실시예에 따른 단말기는 어플리케이션의 삭제 또는 설치와 관련된 사용자 인터페이스를 사용자에게 제공하는 삭제 및 설치 관리부와, 상기 삭제 및 설치 관리부의 요청에 따라 어플리케이션의 삭제 또는 설치 명령을 처리하는 패키지 인스톨러와, 상기 패키지 인스톨러의 요청에 따라 어플리케이션의 삭제 또는 설치를 수행하는 패키지 매니저를 포함하고, 상기 삭제 및 설치 관리부는 사용자가 어플리케이션 변경 요청을 하는 경우, 상기 패키지 매니저를 통하여 상기 변경 요청된 어플리케이션을 변경하는데 관리자 권한이 필요한지를 판단하고, 관리자 권한이 필요한 경우 상기 패키지 매니저에게 관리자 권한을 요청하고, 상기 패키지 매니저는 프로세스간 통신을 이용하여 커널 영역의 루트 관리부로부터 관리자 권한을 부여 받는 것을 특징으로 한다.To this end, a terminal according to an embodiment of the present invention, the deletion and installation management unit for providing a user interface related to the deletion or installation of the application to the user, and processing the deletion or installation command of the application at the request of the deletion and installation management unit And a package manager for deleting or installing an application according to a request of the package installer, wherein the deletion and installation management unit requests the change through the package manager when the user requests an application change. Determining whether administrator authority is required to change the configuration, requesting administrator authority from the package manager if administrator authority is required, and the package manager grants administrator authority from the root manager of the kernel region using interprocess communication. It is characterized by receiving.
이때, 상기 관리자 권한은 시스템 파일에 접근 및 상기 시스템 파일을 제어할 수 있으며, 시스템의 동작을 감시 및 제어할 수 있는 권한을 의미한다.In this case, the administrator authority may mean access to a system file and control the system file, and the authority to monitor and control the operation of the system.
상기 루트 관리부는 시스템 영역에 슈퍼 유저(Super User) 유틸리티를 설치 및 실행함으로써 상기 패키지 매니저에게 상기 관리자 권한을 부여할 수 있다. 상기 삭제 및 설치 관리부는 상기 관리자 권한을 부여 받은 상태에서 상기 변경 요청된 어플리케이션을 변경하고, 상기 패키지 매니저에게 상기 관리자 권한의 반환을 요청하고, 상기 패키지 매니저는 상기 프로세스간 통신을 이용하여 커널 영역의 상기 루트 관리자에게 상기 관리자 권한을 반환할 수 있다.The root manager may grant the administrator authority to the package manager by installing and executing a super user utility in a system area. The deletion and installation manager changes the requested application in the state of being given the administrator authority, requests the package manager to return the administrator authority, and the package manager uses the interprocess communication to establish The administrator authority may be returned to the root administrator.
상기 루트 관리부는 시스템 영역의 슈퍼 유저(Super User) 유틸리티를 종료 및 삭제함으로써 상기 패키지 매니저에게 상기 관리자 권한을 반환할 수 있다.The root manager may return the administrator authority to the package manager by terminating and deleting a super user utility of a system area.
상기 삭제 및 설치 관리부는 상기 변경 요청된 어플리케이션을 변경하기 위해 관리자 권한이 필요한지를 판단하는 권한 판단부와, 상기 변경 요청된 어플리케이션이 변경이 허용되는 어플리케이션인지를 판단하는 변경 허용 판단부와, 사용자 인증을 수행하는 인증부를 포함할 수 있다. 상기 패키지 매니저는 상기 패키지 인스톨러의 요청에 따라 어플리케이션의 삭제 또는 설치를 수행하는 패키지 삭제 및 설치 처리부와, 어플리케이션의 설치 및 삭제 정보를 관리하는 패키지 정보 관리부를 포함할 수 있다.The deletion and installation management unit may include an authority determination unit that determines whether an administrator authority is required to change the requested application, a change permission determination unit that determines whether the change requested application is an application that allows the change, and user authentication. It may include an authentication unit for performing. The package manager may include a package deletion and installation processor for deleting or installing an application according to a request of the package installer, and a package information manager for managing installation and deletion information of the application.
이때, 상기 프로세스간 통신을 소켓 통신일 수 있으며, 상기 패키지 매니저는 상기 소켓 통신을 위하여 API(Application Programming Interface)로 JNI(Java Native Interface)를 이용할 수 있다.In this case, the interprocess communication may be socket communication, and the package manager may use a Java Native Interface (JNI) as an application programming interface (API) for the socket communication.
또한, 본 발명의 일실시예에 따른 단말기의 임시 관리자 권한 부여 방법은, 삭제 및 설치 관리부를 이용하여 사용자로부터 어플리케이션 변경 요청을 수신하는 단계와, 상기 삭제 및 설치 관리부가 상기 변경 요청된 어플리케이션을 변경하는데 관리자 권한이 필요한지를 판단하는 단계와, 관리자 권한이 필요한 경우 상기 삭제 및 설치 관리부가 상기 패키지 매니저에게 관리자 권한을 요청하는 단계와, 상기 패키지 매니저가 프로세스간 통신을 이용하여 커널 영역의 루트 관리부로부터 관리자 권한을 부여 받는 단계를 포함할 수 있다.In addition, the temporary administrator authorization method of the terminal according to an embodiment of the present invention, the step of receiving an application change request from the user using the deletion and installation management unit, and the deletion and installation management unit changes the application requested to change Determining whether the administrator authority is required to do so, and if the administrator authority is required, the deletion and installation management unit requesting the administrator authority from the package manager, and the package manager uses the interprocess communication from the root manager of the kernel region. It may include the step of being granted administrator rights.
상기 관리자 권한은 시스템 파일에 접근 및 상기 시스템 파일을 제어할 수 있으며, 시스템의 동작을 감시 및 제어할 수 있는 권한을 의미한다.The administrator authority means authority to access a system file and control the system file, and to monitor and control the operation of the system.
상기 루트 관리부는 시스템 영역에 슈퍼 유저(Super User) 유틸리티를 설치 및 실행함으로써 상기 패키지 매니저에게 상기 관리자 권한을 부여할 수 있다. The root manager may grant the administrator authority to the package manager by installing and executing a super user utility in a system area.
또한, 본 발명의 일실시예에 따른 단말기의 임시 관리자 권한 부여 방법은 상기 삭제 및 설치 관리부가 상기 관리자 권한을 부여 받은 상태에서 패키지 인스톨러에게 상기 어플리케이션의 변경을 요청하는 단계와, 상기 패키지 인스톨러가 상기 패키지 매니저를 통하여 상기 어플리케이션을 변경하는 단계와, 상기 삭제 및 설치 관리부가 상기 패키지 매니저에게 상기 관리자 권한의 반환을 요청하는 단계와, 상기 패키지 매니저가 상기 프로세스간 통신을 이용하여 커널 영역의 상기 루트 관리자에게 상기 관리자 권한의 반환을 요청하는 단계와, 상기 루트 관리부가 시스템 영역의 슈퍼 유저(Super User) 유틸리티를 종료 및 삭제함으로써 상기 패키지 매니저에게 상기 관리자 권한을 반환하는 단계를 포함할 수 있다. 또한, 본 발명의 일실시예에 따른 단말기의 임시 관리자 권한 부여 방법은, 상기 삭제 및 설치 관리부가 상기 변경 요청된 어플리케이션이 변경이 허용된 어플리케이션인지를 판단하는 단계와, 상기 삭제 및 설치 관리부가 사용자 인증을 수행하는 단계를 더 포함할 수 있다.In addition, the temporary administrator authorization method of the terminal according to an embodiment of the present invention includes the step of requesting the package installer to change the application in the state that the deletion and installation management has been granted the administrator authority, the package installer is the Changing the application through a package manager; requesting the package manager to return the administrator authority to the package manager; and wherein the package manager uses the interprocess communication to manage the root manager of a kernel region. And requesting the administrator to return the administrator's authority, and returning the administrator's authority to the package manager by terminating and deleting the super user utility of the system area by the root manager. In addition, the temporary administrator authorization method of the terminal according to an embodiment of the present invention, the deletion and installation management unit determining whether the change-requested application is an application that is allowed to change, and the deletion and installation management unit is a user The method may further include performing authentication.
이때, 상기 프로세스간 통신은 소켓 통신일 수 있으며, 상기 패키지 매니저는 상기 소켓 통신을 위하여 API(Application Programming Interface)로 JNI(Java Native Interface)를 이용할 수 있다.In this case, the interprocess communication may be socket communication, and the package manager may use a Java Native Interface (JNI) as an application programming interface (API) for the socket communication.
본 발명에 따른 임시 관리자 권한 부여 기능을 가진 단말기 및 이를 이용한 임시 관리자 권한 부여 방법에 의하면, 통상적으로 허가되지 않는 루트 권한을 얻기 위해 루팅 과정을 통해 시스템 영역의 자원을 변경하는 수고 없이 변경이 허용된 자원에 대해서는 시스템에서 선별적으로 임시 루트 권한을 부여하여 작업을 수행할 수 있도록 하여 사용자 편리성이 증대된다.According to a terminal having a temporary administrator authorization function and a temporary administrator authorization method using the same according to the present invention, a change is permitted without effort to change resources in a system area through a rooting process to obtain root authority which is not normally permitted. The user convenience is increased by allowing the system to selectively perform temporary root privileges on the resources.
또한, 루트 권한 상태로 운용되는 루팅된 단말기는 보안적으로 위험한 상태를 유지할 수 있으나, 본 발명에 따르면 일시적으로 루트 권한을 부여 및 회수하는 작업을 취함으로써 상대적으로 보안성이 향상된다.In addition, although a rooted terminal operating in a root authority state may maintain a security risk state, according to the present invention, the security is relatively improved by taking a task of temporarily granting and retrieving the root authority.
또한, 본 발명은 부여된 루트 권한으로 접근할 수 있는 시스템 자원을 선별하여 허용 정보에 따라 운용함으로써 일반 사용자가 단말기의 동작을 해할 수 있는 위험 요소가 있는 접근이나 변경을 제한할 수 있다.In addition, the present invention by selecting the system resources that can be accessed with the given root authority and operating in accordance with the allowed information can limit the access or change that has a risk factor that the general user can harm the operation of the terminal.
또한, 기존의 영구 루팅된 단말기의 경우 이를 감지하여 보안상 위험하다고 판단하여 스스로 실행되지 않도록 설계된 어플리케이션을 실행되지 않는 문제점이 있으나, 본 발명은 허용된 동작을 수행될 때에만 임시적으로 루트 권한으로 동작함으로써 이러한 문제점을 해결할 수 있다.In addition, there is a problem that the existing permanent root terminal detects this and determines that it is a security risk and does not run an application designed to not run on its own. However, the present invention temporarily operates as a root authority only when the allowed operation is performed. This problem can be solved.
도 1은 리눅스 시스템에서 파일 접근 권한을 나타내는 도면이다.
도 2는 안드로이드 루트 파일 시스템(Root File System)의 개략 구조도이다.
도 3은 본 발명의 일실시예에 따른 단말기의 개략 구성도이다.
도 4는 본 발명의 일실시예에 따른 단말기의 동작을 나타내는 상세 구성도이다.
도 5는 본 발명의 일실시예에 따른 단말기의 임시 관리자 권한 부여 방법을 설명하는 순서도이다.
도 6은 도 5의 루트 권한 획득 방법의 상세 흐름도이다.
도 7은 도 5의 루트 권한 반환 방법의 상세 흐름도이다.
도 8은 본 발명의 일실시예에 따른 단말기에서 어플리케이션 삭제시의 흐름도이다.1 is a diagram illustrating file access authority in a Linux system.
2 is a schematic structural diagram of an Android root file system.
3 is a schematic structural diagram of a terminal according to an embodiment of the present invention.
4 is a detailed configuration diagram illustrating an operation of a terminal according to an embodiment of the present invention.
5 is a flowchart illustrating a method for granting temporary administrator authority of a terminal according to an embodiment of the present invention.
FIG. 6 is a detailed flowchart of the root authority obtaining method of FIG. 5.
7 is a detailed flowchart of the root authority return method of FIG. 5.
8 is a flowchart illustrating an application deletion in a terminal according to an embodiment of the present invention.
이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다. 그러나, 첨부도면 및 이하의 설명은 본 발명에 따른 임시 관리자 권한 부여 기능을 가진 단말기 및 이를 이용한 임시 관리자 권한 부여 방법의 가능한 일실시예에 불과하며, 본 발명의 기술적 사상은 아래의 내용에 의해 한정되지 아니한다.
Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. However, the accompanying drawings and the following description are only possible embodiments of a terminal having a temporary administrator authorization function and a temporary administrator authorization method using the same according to the present invention, and the technical spirit of the present invention is limited by the following contents. Not.
도 1은 리눅스 시스템에서 파일 접근 권한을 나타내는 도면이다.1 is a diagram illustrating file access authority in a Linux system.
리눅스 시스템은 파일 단위로 권한을 관리한다. 도 1에 표시된 “init.rc”라는 파일의 권한을 살펴 보면 다음과 같이 기재되어 있다.Linux systems manage permissions on a file-by-file basis. Looking at the permissions of the file "init.rc" shown in Figure 1 is described as follows.
-rwxr-x--- root root 24482 1970-01-01 09:00 init.rc-rwxr-x ---
여기서, 좌측의 “-rwxr-x---“ 표시 부분이 파일에 대한 접근 권한을 나타낸다. 다음의 표를 참조하여 권한에 대해서 상세히 설명한다.Here, the "-rwxr-x ---" display part on the left shows the access right to the file. The authority will be described in detail with reference to the following table.
위의 표 1에서, “init.rc” 파일의 경우, 파일 권한 표시 부분 뒤에 “root/root” 로 표시되어 있는데, 앞쪽에 표시되어 있는 root는 파일의 소유자를 나타내며, 뒤쪽에 표시되어 있는 root는 파일 소유자의 그룹을 나타낸다. 따라서, “init.rc”는 파일의 소유자가 root이며, 파일 소유자의 그룹이 root로 정의되어 있음을 알 수 있다. 따라서, 위 권한 정의에 따라 파일의 소유자인 root 사용자는 파일에 대한 읽기(R), 쓰기(X), 실행(X)의 전체 권한을 가지지만, 소유자인 root 사용자 및 그 사용자가 속한 그룹에 속하지 못한 다른 사용자(예를 들어, 일반 user 등)의 경우 이 파일을 읽을 수도, 편집할 수도 없으며 실행시킬 수도 없다. 이처럼 리눅스는 파일 단위로 소유자, 그룹, 그외 사용자 등으로 파일 접근에 대해 제어한다. 리눅스를 기반으로 하고 있는 안드로이드 플랫폼의 경우도 이러한 파일 시스템의 동작을 취하고 있다.
In Table 1 above, the file “init.rc” is marked as “root / root” after the file permission display. The root shown at the front indicates the owner of the file. Represents a group of file owners. Thus, we can see that “init.rc” is the root of the file and that the group of file owners is defined as root. Thus, according to the above permission definition, the root user, who is the owner of the file, has full permissions for read (R), write (X), and execute (X) the file, but does not belong to the owner, root user, and the group to which the user belongs. Other users (for example, ordinary users) cannot read, edit, or execute this file. In this way, Linux controls file access by owner, group, and other users on a file-by-file basis. The Android platform, which is based on Linux, also works with this file system.
도 2는 안드로이드 루트 파일 시스템(Root File System)의 개략 구조도이다.2 is a schematic structural diagram of an Android root file system.
루트 파일 시스템은 시스템 초기화 및 각종 주변 장치들을 제어하기 위한 파일들을 담고 있으며, 일반적으로 / 로 마운트되는 디렉토리 구조를 가진다. 루트 파일 시스템은 안드로이드 플랫폼 소스가 컴파일 되고 나면 도 2와 같은 구조로 생성되고, 리눅스의 루트 파일 시스템과는 별도로 안드로이드에는 “/system”과 “/data” 폴더가 추가되어 있으며, 안드로이드의 시스템 레벨 실행 파일은 주로 “/system/bin” 또는 “/system/xbin”에 존재한다.The root file system contains files for system initialization and control of various peripheral devices, and usually has a directory structure mounted as /. The root file system is created in the structure shown in Figure 2 after the Android platform source is compiled. In addition to the Linux root file system, “/ system” and “/ data” folders are added to Android. The file is usually located in “/ system / bin” or “/ system / xbin”.
안드로이드 단말을 루팅하는 방법 중 가장 대표적인 것이 바로 “/system/bin” 또는 “/system/xbin” 경로에 SU(super user)유틸리티를 실행 파일 형태로 설치(복사)하고, 실행하는 것이다. 일단, SU 유틸리티 실행을 통해 루트 권한(즉, 관리자 권한)을 얻고 나면, “/system/bin”과 “system/xbin” 내의 파일들을 실행시킬 수 있게 되므로, 결과적으로 단말기는 루팅 상태가 된다.The most typical method of rooting an Android device is to install (copy) the SU (super user) utility in the form of "/ system / bin" or "/ system / xbin" and execute it. Once root is obtained by running the SU utility (ie, administrator privileges), the files in “/ system / bin” and “system / xbin” can be executed, resulting in the terminal being rooted.
기존의 안드로이드 플랫폼을 채택한 단말기의 경우 어플리케이션이나 리소스 등의 패키지(Package)를 삭제 또는 설치하고자 하는 경우 일반적으로 패키지 인스톨러(Package Installer)라는 패키지 설치 관련 어플리케이션을 이용한다. 이때, 모든 패키지에 대해 요청하는 것이 아니라, 패키지 정보를 미리 구축된 설치 데이터베이스에 요청하여 패키지의 삭제 또는 설치를 위해서 어떠한 권한이 요구되는지를 먼저 분석한다.In the case of a terminal adopting the existing Android platform, in order to delete or install a package such as an application or a resource, a package installation related application called a package installer is generally used. At this time, rather than requesting all the packages, the package information is requested to the pre-installed installation database to analyze what authority is required for the deletion or installation of the package.
만약, 패키지 정보로부터 어플리케이션 속성을 확인하면 해당 패키지가 디바이스의 어느 영역에 설치되어 있는지를 알 수 있고, 시스템 영역에 설치되어 있으면 삭제 또는 설치를 위해서는 루트 권한이 필요하다는 것을 알 수 있다. If the application properties are checked from the package information, it can be seen in which region of the device the package is installed. If the package is installed in the system region, root authority is required for deletion or installation.
이때, “어플리케이션”은 사용자가 단말기에서 원하는 동작을 수행하기 위해 실행하는 프로그램의 일종이고, “리소스”는 단말기상에서 아이콘, 폰트, 사용자 인터페이스와 같은 단말기 환경을 구성하는 부분이다. 이 어플리케이션 및 리소스는 사용자가 이를 수정, 설치, 삭제 할 수 있는 경우도 있지만, 위에서 언급한 것처럼 시스템 영역에 설치된 경우에는 루트 권한 없이는 수정, 설치 또는 삭제가 불가능하다. At this time, the "application" is a kind of program that the user executes to perform a desired operation on the terminal, and the "resource" is a part constituting a terminal environment such as an icon, a font, and a user interface on the terminal. This application and resource may be modified, installed, or deleted by the user, but as mentioned above, if installed in the system area, it cannot be modified, installed, or deleted without root authority.
일반 사용자 권한으로 삭제 또는 설치할 수 있는 다운로드된 어플리케이션의 경우 패키지 매니저를 통하여 삭제 또는 설치를 수행하고, 그렇지 않는 어플리케이션의 경우 아예 삭제 또는 설치가 불가능하다는 메시지를 사용자에게 제공하고 삭제 또는 설치 과정을 종료한다. In case of downloaded application that can be deleted or installed with general user authority, delete or install through the package manager. Otherwise, provide the user with a message that the deletion or installation is not possible and terminate the deletion or installation process. .
이때, 삭제 또는 설치가 불가능한 어플리케이션은 안드로이드에서 기본적으로 제공하는 응용 프로그램 정보 어플리케이션이 될 수 있으며, 단말기 제조사에서 출시 전에 단말기 내에 설치한 프리로드 어플리케이션(preload application)을 예로 들 수 있다. 일반적으로, 다운로드된 어플리케이션의 경우 사용자 인터페이스에서 삭제 버튼을 제공함에 반해, 상기 설명한 안드로이드에서 제공된 기본 어플리케이션의 혹은 프리로드 어플리케이션의 경우 삭제 버튼이 비활성화되어 사용자가 임의로 삭제할 수가 없다. 즉, 해당 어플리케이션 패키지가 삭제되기 위해서는 루트 권한을 필요로 하기 때문에 버튼을 비활성화하여 삭제를 시도할 수 없도록 처리하고 있다.In this case, the application that cannot be deleted or installed may be an application information application basically provided by Android. For example, a preload application installed in a terminal before release by a terminal manufacturer may be used. In general, in the case of a downloaded application, the delete button is provided in the user interface, whereas in the case of the basic application or the preloaded application provided in Android, the delete button is inactivated and the user cannot delete it arbitrarily. That is, because the application package requires root authority to be deleted, the button is deactivated so that the deletion cannot be attempted.
일반적으로 안드로이드 운영체제가 탑재된 단말 기기의 경우, 사용자가 시스템 어플리케이션이나 리소스를 변경할 수 없다. 왜냐하면, 시스템 어플리케이션이나 리소스에 해당하는 파일에 대한 소유자가 root로 되어 있기 때문에 root가 아닌 일반 사용자는 파일에 대한 읽기(R), 쓰기(W), 실행(X) 등의 접근 권한이 제한된다.보통, UI로 사용자 접근을 제어하며, 근본적으로는 일반 사용자 권한으로는 해당 파일에 대한 읽기(R), 쓰기(W), 실행(X) 등의 접근 권한이 제한된다. 특히, 리눅스 파일 시스템 구조에서는 해당 파일(디렉토리 또한 파일로 간주된다)을 수정하거나 삭제하려면 쓰기(W) 권한이 요구되는데, 해당 파일에 대한 소유자인 root가 아닌 일반 사용자로 동작하는 모드에서는 해당 어플리케이션이나 리소스에 대응하는 해당 파일에 대해 삭제 또는 편집 등을 수행하려고 하면 쓰기 권한이 없으므로 실행되지 않는다(Permission denied).In general, in the case of a terminal device equipped with the Android operating system, the user cannot change system applications or resources. Because the owner of a file corresponding to a system application or resource is root, the non-root general user is restricted from accessing the file to read (R), write (W), or execute (X). In general, the user access is controlled by the UI. Basically, general user authority restricts access rights such as read (R), write (W), and execute (X) on the file. In particular, the Linux file system structure requires write (W) permission to modify or delete a file (a directory is also considered a file). In a mode that operates as a normal user other than root, the owner of the file, If you try to delete or edit the file corresponding to the resource, it will not be executed because you do not have write permission (Permission denied).
본 발명에서는 SU 유틸리티 설치(복사) 자체는 필요시에 시스템에서 해주고, 대신 사용 후에 즉시 회수 및 삭제함으로써 루팅으로 인해 사용자가 의도하지 않는 작업이 발생하여 피해를 입거나 보안적으로 위협이 되는 상황에 지속적으로 노출되는 것을 방지하는 기능을 제공하는 것을 그 특징으로 한다. 여기서 SU 유틸리티 설치(복사)는 단말기에 루트권한을 부여하기 위한 방법으로서 이 같은 방법 외에 단말기에 일시적으로 루트권한을 부여할 수 있는 어떠한 방법도 사용될 수 있는 것은 당연할 것이다.In the present invention, the SU utility installation (copying) itself is performed by the system when necessary, and instead of being immediately recovered and deleted after use, a situation where a user's unintended operation occurs due to the rooting causes damage or threatens security. Its feature is to provide a function to prevent continuous exposure. Here, the installation (copy) of the SU utility is a method for granting root authority to a terminal, and any method of temporarily granting root authority to a terminal may be used in addition to such a method.
이하 도 3 내지 도 8을 참조하여 본 발명의 일실시예에 따른 단말기 및 이를 이용한 임시 관리자 권한 부여 방법에 대해서 상세히 설명한다.
Hereinafter, a terminal and a temporary administrator authorization method using the same according to an embodiment of the present invention will be described in detail with reference to FIGS. 3 to 8.
도 3은 본 발명의 일실시예에 따른 단말기의 개략 구성도이다.3 is a schematic structural diagram of a terminal according to an embodiment of the present invention.
도 3을 참조하면, 본 발명의 일실시예에 따른 단말기(10)는 삭제 및 설치 관리부(20)와, 패키지 인스톨러(Package Installer: 30)와, 패키지 매니저(Package Manager: 40)와, 설치 DB(50)를 포함하여 구성된다. 3, the terminal 10 according to an embodiment of the present invention, the deletion and
단말기(10)는 리눅스를 기반으로 한 안드로이드 플랫폼을 채택한 단말기를 예로 들 수 있으며, 그 외에 iOS 플랫폼, Window Mobile 플랫폼, Bada 플랫폼을 채택한 단말기도 가능함은 물론이다. 또한 단말기(10)는 이동통신 단말기, PDA, 태블릿 PC, 노트북, PC 등을 포함한다.The terminal 10 may be an example of a terminal adopting an Android platform based on Linux. In addition, a terminal adopting an iOS platform, a Window Mobile platform, and a Bada platform may be used. In addition, the terminal 10 includes a mobile communication terminal, a PDA, a tablet PC, a notebook computer, a PC, and the like.
삭제 및 설치 관리부(20)는 어플리케이션 레이어(Application Layer)에 위치하여 어플리케이션의 삭제 또는 설치와 관련된 사용자 인터페이스를 제공하는 어플리케이션을 의미한다. 안드로이드 단말기에서는 보통 “InstallAppDetails”, “Launcher” 등이 여기에 해당된다.The deletion and
패키지 인스톨러(30)는 어플리케이션 레이어에 위치하여 삭제 또는 설치 관리부(20)의 요청에 따라 어플리케이션의 삭제 또는 설치 명령을 처리하는 역할을 하는 어플리케이션이다. The
패키지 매니저(40)는 프레임워크 레이어에 위치하여 패키지 인스톨러(30)의 요청에 따라 어플리케이션 어플리케이션의 삭제 또는 설치를 수행하는 역할을 한다. 즉, 패키지 인스톨러(30)로부터 어플리케이션의 삭제 또는 설치를 요청하는 인텐트(intent)를 수신하고, 이러한 인텐트에 따라 안드로이드 플랫폼 상의 설치 DB(50)로부터 어플리케이션 설치 경로인 APK 설치 경로(예를 들어, /system/app 또는 /data/app)를 검색해 설치된 APK 파일에서 해당 파일의 androidmanifest.xml 파일을 파싱하며, 각종 권한 정보, 인텐트 필터 정보 등의 APK에 정해져 있는 권한 정보를 모두 수집하여 메모리 상에 관리할 수 있도록 한다. 또한, 새로운 어플리케이션이 추가되거나 삭제될 때 발생하는 브로드캐스트 인텐트(Broadcast Intent)를 수신하여, 자신이 관리하는 주소록을 업데이트 하거나 삭제하는 역할도 수행한다.
The
도 4는 본 발명의 일실시예에 따른 단말기의 동작을 나타내는 상세 구성도이다.4 is a detailed configuration diagram illustrating an operation of a terminal according to an embodiment of the present invention.
도 4를 참조하면, 어플리케이션 레이어(1)에는 삭제 및 설치 관리부(20)와 패키지 인스톨러(30)가 위치하고, 프레임워크 레이어(3)에는 패키지매니저(40)가 위치하고, 커널 영역(Kernel Area: 5)에는 루트 관리부(60)가 위치함을 알 수 있다. Referring to FIG. 4, the deletion and
삭제 및 설치 관리부(20)는 단말기(10)의 홈 런처 또는 설정(Settings) 어플리케이션 같은 관리 프로그램일 수 있으며, 사용자의 요청에 따라 패키지 인스톨러(30)로 어플리케이션 삭제 인텐트를 보내는 단계가 최초의 삭제 요청이 된다. 삭제 및 설치 관리부(20)는 다시 권한 판단부(22)와 삭제 허용 판단부(24)와 인증부(26)를 포함하여 구성된다.The deletion and
권한 판단부(22)는 삭제 요청된 어플리케이션을 삭제하기 위해 관리자 권한이 필요한지를 판단하는 역할을 한다. 즉, 사용자로부터 어플리케이션의 삭제 요청이 있는 경우 프레임워크 레이어에 위치한 패키지 매니저(40)의 패키지 정보 관리부(42)를 통하여 설치 DB(50)의 어플리케이션 정보를 불러와 해당 어플리케이션을 삭제하기 위하여 시스템 어플리케이션 또는 프리로드 어플리케이션 등과 같이 관리자 권한이 필요한지를 판단한다. 여기서, “관리자 권한”이라고 함은 안드로이드 플랫폼상의 최고 권한인 루트 권한을 의미하며, 시스템 파일을 접근, 제어할 수 있는 권한을 지닌다. 어플리케이션을 삭제하기 위해 관리자 권한이 필요한지를 판단하는 방법으로는 일반적으로는 대상이 된 시스템 어플리케이션이나 리소스의 경로 정보를 이용하여 이 파일이 현재 루트 권한으로만 접근 가능한 경로에 위치하는지 확인하는 방법을 사용할 수 있다. 즉, 현재 안드로이드 루트 파일 시스템은 “/system” 디렉토리에 루트 권한이 요구되는 시스템 어플리케이션이 주로 설치되며, 일반 사용자에게는 읽기(R) 권한 이외에는 권한이 주어지지 않는 것이 일반적이다. The
또 다른 방식으로는 이러한 접근 권한 정보를 제공한다면 제공될 정보를 이용하여 루트 권한이 요구되는지 판단하는 방법이 있을 수 있다. 예를 들어, 안드로이드 운영체제에 설치된 어플리케이션의 경우에는 플랫폼에서 ApplicationInfo의 특정 플래그(FLAG_SYSTEM)가 설정되어 있는지 확인하여 시스템 어플리케이션인지 확인할 수 있다. 다음은 이를 수행할 수 있는 관련 코드이다.Alternatively, if such access authority information is provided, there may be a method of determining whether root authority is required using the information to be provided. For example, in the case of an application installed in the Android operating system, the platform may check whether a specific flag (FLAG_SYSTEM) of ApplicationInfo is set to check whether the application is a system application. Here is the relevant code to do this:
PkgPkg
..
applicationInfoapplicationInfo
..
flagsflags
| = | =
ApplicationInfoApplicationInfo
..
FLAGFLAG
__
SYSTEMSYSTEM
;;
}}
ReturnReturn
( (
pkgpkg
..
applicationInfoapplicationInfo
..
flagsflags
& &
ApplicationInfoApplicationInfo
..
FLAGFLAG
__
SYSTEMSYSTEM
) ! = 0;)! = 0;
}}
이렇게 어플리케이션 또는 리소스에 대한 접근 권한을 확인 한 후, 루트 권한을 요구하는 파일 위치라면 권한 변경을 위한 다음 단계를 진행한다.After checking the access right to the application or resource, proceed to the next step to change the permission if the file location requires root authority.
삭제 허용 판단부(24)는 삭제 요청된 어플리케이션이 삭제가 허용되는 어플리케이션인지를 판단하는 역할을 한다. 시스템 어플리케이션 또는 리소스 등에 대한 변경을 진행할 때에는 신중해야 한다. 특히, 시스템 어플리케이션의 경우, 반드시 해당 기기의 운용을 위해 필요한 내용이 포함되어 절대 삭제되어서는 안 되는 어플리케이션이 있다. 시스템 리소스의 경우, 필요한 리소스가 없거나 변경되면 화면 출력이 이상해지거나 역시 오류가 발생하면서 실행할 수 없는 문제가 발생할 수 있다. 따라서, 무조건적인 시스템 영역의 자원을 변경 가능하도록 사용자에게 허락하지 않고, 선별적으로 허용 가능한 항목에 대해서만 루트 권한을 부여할 필요가 있다.The deletion
시스템 어플리케이션 등 삭제 및 변경을 허용할 수 있는 어플리케이션에 대한 데이터베이스는 사용자가 일반적으로 처리할 수 없는 시스템 영역에 위치하도록 한다. 데이터베이스에는 시스템 영역에 설치된 모든 어플리케이션에 대해 허용 가능 여부를 명시한다. Databases for applications that can allow deletion and modification, such as system applications, should be placed in system areas that users cannot normally handle. The database specifies whether to allow all applications installed in the system area.
가장 간단한 형식을 어플리케이션 패키지의 이름을 키(Key)로 하고, 삭제 또는 설치 가능 여부(true/false)를 값(value)으로 하는 테이블을 작성하는 것이다. 패키지 매니저(40)에서는 이미 각 패키지에 대한 이름, 코드와 리소스가 설치된 위치, 네이티브 라이브러리(native library)가 설치된 위치 등 삭제나 설치에 필요한 정보를 모두 가지고 있으므로 허용 여부를 판별한 데이터베이스는 패키지 이름만으로도 판별이 가능하다. 삭제에 대한 허용과 설치에 대한 허용 여부를 각각 설정하고 할 때는 테이블을 확장하여 작성한다. 해당 패키지의 이름과 원하는 동작(삭제/설치)를 데이터베이스에 쿼리 및 매칭하여 허용여부 값이 true이면 다음 단계로 진행할 수 있다. The simplest form is to create a table with the name of the application package as the key and its value as a value that can be deleted or installed (true / false). The
인증부(26)는 사용자 인증을 수행하는 역할을 한다. 즉, 인증부(26) 악성 어플리케이션 등으로 동작하는 것이 아닌지를 별하기 위해 사용자 인증을 하는 역할을 한다. 해당 인증 과정은 실제 구현하는 경우에 요구되는 보안 수준에 따라 다르게 구현될 수 있다. The
예를 들어, 보통의 단말 수준의 보안을 요구한다면 현재 단말 사용자임을 확인할 수 있는 수준으로 기존의 안드로이드 플랫폼에서 제공하는 잠금 패턴, PIN, 비밀번호 세션을 활용할 수도 있다. 잠금 설정의 비밀번호 등은 해쉬(Hash)로 암호화하여 시스템 데이터 영역(/data/system)에 파일 형태(gesture, key, password.key)로 저장되어 있으므로 파일을 직접 접근하여 인증할 수도 있고, 잠금 설정을 위해 제공되는 LockPatternUils을 이용할 수도 있다.For example, if you require security at the normal terminal level, you can use the lock pattern, PIN, and password session provided by the existing Android platform to verify that you are the current terminal user. The password of the lock setting is encrypted with a hash and stored in the file format (gesture, key, password.key) in the system data area (/ data / system), so the file can be directly accessed and authenticated. You can also use the LockPatternUils provided for this.
보다, 안전하게 하기 위해서는 어플리케이션 삭제을 위한 별도의 비밀번호를 설정할 수 있도록 하는 어플리케이션을 시스템 설정 메뉴에 추가 구현할 수도 있다. 만약, 금융 어플리케이션과 같은 고수준의 보안을 요구한다면, 인증 서버를 제공하거나, 별도의 인증 모듈을 구현하여 이를 수행하도록 제공하여야 할 것이다.To be more secure, an application that can set a separate password for deleting an application may be additionally implemented in the system setting menu. If a high level of security is required, such as a financial application, an authentication server or a separate authentication module should be provided to perform this.
패키지 매니저(40)는 다시 패키지 정보 관리부(42)와, 패키지 삭제 또는 설치 처리부(44)를 포함하여 구성된다. The
패키지 삭제 또는 설치 처리부(44)는 패키지 인스톨러(30)의 요청에 따라 어플리케이션의 삭제 또는 설치를 실질적으로 수행하는 역할을 한다.The package deletion or
패키지 정보 관리부(42)는 어플리케이션의 설치 및 삭제 정보를 관리하는 역할을 한다. 즉, 패키지 정보 관리부(42)는 삭제할 어플리케이션의 설치 정보, 권한 정보 등을 관리하고, 삭제 또는 설치 관리부(20)의 요청에 따라 이 정보들을 검색 및 전송하는 역할을 한다.The
커널 영역(5)에는 루트 관리부(60)가 존재하는데, 후술할 프로세스간 통신을 위한 서버(Server) 역할을 한다. 자세한 동작은 후술하기로 한다.
A
도 4의 구성을 하는 본 발명의 일실시예에 따른 단말기(10)의 임시 관리자 권한 부여 방법을 도 5를 참조하여 설명하면 다음과 같다.The temporary administrator authorization method of the terminal 10 according to an embodiment of the present invention having the configuration of FIG. 4 will be described with reference to FIG. 5 as follows.
사용자는 삭제 또는 설치 관리부(20)와 같은 어플리케이션이 제공하는 사용자 인터페이스를 통해 단말기(10) 내의 자원(어플리케이션 또는 리소스)에 대한 변경 동작(삭제, 재설치 등등)을 시도한다(S500). 이때, 변경 동작은 시스템 어플리케이션 또는 프레임워크 리소스 재설치가 될 수 있으나, 사용자는 해당 자원이 어떠한 자원인지 구별하지 않고 상기와 같은 변경 동작을 시도할 수 있다.The user attempts to change (delete, reinstall, etc.) a resource (application or resource) in the terminal 10 through a user interface provided by an application such as the delete or install manager 20 (S500). In this case, the change operation may be a system application or framework resource reinstallation, but the user may attempt the change operation as described above without distinguishing which resource is the corresponding resource.
단계 S500에서 사용자가 어플리케이션 삭제를 요청한 경우, 삭제 또는 설치 관리부(20)의 권한 판단부(22)는 해당 어플리케이션을 삭제하기 위하여 루트 권한이 요구되는지를 판단한다(S510). 이를 위해서 권한 판단부(22)는 패키지 정보 관리부(42)에 해당 어플리케이션의 패키지에 대한 정보를 요청하고, 이를 수신하여 해당 어플리케이션 속성을 확인함으로써 해당 어플리케이션을 삭제하기 위하여 루트 권한이 필요한지를 판단할 수 있다.When the user requests the application to be deleted in step S500, the
이때, 해당 어플리케이션이 일반 사용자 모드에서 삭제 가능하다고 판단되는 경우에는 사용자 모드로 사용자 요청 작업을 바로 수행한다(S560).In this case, when it is determined that the application can be deleted in the general user mode, the user request operation is immediately performed in the user mode (S560).
만약, 해당 어플리케이션이 루트 권한 모드에서 삭제 가능하다고 판단되는 경우에는 해당 어플리케이션이 변경이 허용되는 자원인지를 다시 한번 판단한다(S520). 앞에서 언급한 바와 같이, 변경이 허용되지 않는 자원에 대한 리스트는 별도로 데이터베이스화되어 구축되어 있고, 이 리스트와 비교함으로써 이를 판단할 수 있다.If it is determined that the application can be deleted in the root authority mode, it is determined once again whether the application is a resource that is allowed to be changed (S520). As mentioned earlier, a list of resources that are not allowed to be modified is built in a separate database and can be determined by comparing this list.
해당 어플리케이션을 삭제할 경우 치명적인 문제가 발생하거나, 통신 사업자가 삭제를 허용하지 않는 경우인 경우에는 어플리케이션 삭제를 허용하지 않고 바로 종료된다.When deleting the application, a fatal problem occurs, or when the communication provider does not allow the deletion, the application is terminated immediately without allowing the deletion.
반면, 해당 어플리케이션이 변경이 허용되는 어플리케이션인 경우에는 보안성을 강화하기 위하여 사용자 인증 과정을 수행한다(S530). 이때, 사용자 인증 과정은 사용자를 인정하는 보안의 정도에 따라 다른 방법을 제공할 수 있다. 일반적인 패스워드나 PIN 정보의 보안 수준이라면 안드로이드 플랫폼에서 제공하는 단말 록킹 시스템(Locking System)을 이용해 단말 사용자인지 확인이 가능하고, 루트 권한을 획득하는 것이므로 높은 수준의 인증을 요구할 경우에는 별도의 인증 체계를 구축하여 사용자 인증을 진행할 수도 있다.On the other hand, if the application is an application that is allowed to change, the user authentication process is performed to enhance security (S530). At this time, the user authentication process may provide a different method according to the degree of security to recognize the user. If the general level of password or PIN information is secure, you can check whether the user is a terminal user using the terminal locking system provided by the Android platform, and if you require high level authentication, a separate authentication system is required. You can also build and proceed with user authentication.
사용자 인증 과정을 수행하여 악성 코드로 인한 동작 등이 배제되었다고 판단되면, 해당 어플리케이션 삭제를 위한 루트 권한을 획득하는 과정을 수행한다(S540). 루트 권한 획득은 리눅스 커널 데몬(daemon)인 루트 관리부(60)에 요청을 보내어 루트 모드로 전환하는 방법을 사용한다. 즉, 단말기(10)는 사용자 모드이기 때문에, 루팅을 수행하기 위해서는 루트 권한을 가지고 있는 루트 관리부(60)로 루팅을 요청해야 한다. 사용자 권한을 가지고 있는 패키지매니저서비스(PackageManagerService)에서는 루트 권한의 실행 파일을 실행할 수 있는 권한이 없으므로 이를 소켓 통신을 이용하여 해결한다. 따라서, 패키지매니저서버(PackageManagerServer)는 네이티브 레이어(Native Layer)의 소켓 클라이언트로 요청을 하고 루트 권한의 루트 관리부(60)인 소켓 서버에게 소켓 통신을 위해 루팅 요청을 한다. If it is determined that the operation due to the malicious code is excluded by performing the user authentication process, the process of obtaining the root authority for deleting the corresponding application is performed (S540). Root authority acquisition uses a method of switching to root mode by sending a request to the
패키지매니저서비스는 자바(java) 언어로 구현된 내용이며, 루트 관리부(60)는 리눅스 커널에 위치하므로 C 언어로 구현된다. 따라서, 소켓 통신을 위해서는 이를 이어주는 JNI(Java Native Interface)를 이용해야 한다. JNI란 자바 언어를 이용하여 만들어진 프로그래밍에서 해당 플랫폼에서만 실행 가능한 네이티브(Native) 코드(여기에서는 C 언어로 작성된 코드)에 접근하기 위해 만들어진 API(Application Programming Interface)이다. The package manager service is implemented in the Java language, and since the
구체적으로 1) 자바 파일 만들기, 2) 자바 컴파일, 3) 자바 헤더(heager) 만들기, 4) C/C++ 코드 구현, 5) C/C++ 코드 컴파일,, 6) 실행하기 순서로 JNI가 구현된다. 따라서, 패키지매니저서비스에서 위와 같은 방법으로 자바 레이어 측에 Specifically, JNI is implemented in the following order: 1) create Java file, 2) compile Java, 3) create Java header, 4) implement C / C ++ code, 5) compile C / C ++ code, and 6) execute. Therefore, in the same way as above in the package manager service,
Public native boolean requestRooting();Public native boolean requestRooting ();
이란 함수를 만들고, 네이티브 레이어 측에서 C 언어로 이를 구현하여 소켓 클라이언트가 루트 관리부(60)라는 소켓 서버로 루팅 요청을 한다. 만약, 약속된 소켓 포트(Socket Port) 번호가 567번이라면, 루트 관리부(60)는 이 567번의 요청들을 처리하기 위해 대기(Listen)하고 있으며, 소켓 클라이언트는 이 567번으로 루팅 요청을 할 수 있다. 루트 관리부(60)는 이를 통해 루팅 요청이 들어온 것을 알게 된다. Create a Iran function, and implement it in the C language on the native layer side, the socket client makes a routing request to the socket server called the root management unit (60). If the promised Socket Port number is 567, the
루트 관리부(60)는 상기 API를 통하여 루트권한 부여 요청이 들어오면 단말기(10)의 루팅을 위해 단말의 루트 권한으로만 읽을 수 있는 폴더에 다른 이름으로 저장되어 있던 SU 유틸리티를 실행할 수 있는 “/system/xbin” 이나, “/system/bin” 등의 경로에 복사하고 이를 실행하여 단말을 루팅 상태로 변환한다. 이때, SU 유틸리티의 설치(복사)는 단말기에 루트권한을 부여하기 위한 하나의 방법으로서, 이 같은 방법 외에 단말기에 일시적으로 루트권한을 부여할 수 있는 어떠한 방법도 사용될 수 있음은 물론이다. When the root authority grant request is received through the API, the
이제 루트 권한을 획득한 상태로 단말의 모든 동작에 대해 제어가 가능하므로 루트 관리부(60)는 전체 파일 시스템 파티션을 읽기(R)와 쓰기(W) 모두 가능하도록 리마운트(Remount) 작업을 수행한다. 이로써, 루팅이 되었다는 상태를 루트 관리부(60)가 소켓을 통해 소켓 클라이언트로 전달을 하고, 이를 패키지매니저서비스에게 전달해주면, 패키지매니저서비스는 사용자가 원했던 시스템 어플리케이션 삭제를 수행한다.Now, since the root authority can be controlled for all operations of the terminal, the
즉, 루트 권한이 획득되면, 루트 권한 모드로 사용자가 요청한 작업을 수행하고(S550), 다시 루트 권한을 반환하여(S570) 어플리케이션 삭제 작업을 마무리 한다. That is, when the root authority is obtained, the user performs a task requested by the user in the root authority mode (S550), and returns the root authority again (S570) to finish the application deleting operation.
구체적으로, 단말기(10)는 이제 보안을 위해 루트 권한이 유지되지 않도록 루팅된 상태를 사용자 모드로 되돌리는데, 패키지매니저서비스는 루팅 요청시와 마찬가지로 언투링(Unrouting) 요청을 JNI를 통해 소켓 클라이언트로 보내고, 이 소켓 클라이언트는 루트 관리부(60)로 이를 전달한다. 이때, 루트 관리부(60)는 루트 권한을 가진 상태에서 전체 파일 시스템을 사용자 권한에서 정상적으로 사용할 수 있도록 읽기 전용(Read-only) 권한으로 리마운트 작업을 수행한다. 그리고, SU 유틸리티 종료를 위해 exit를 수행하고, “/system/bin” 이나 “/system/xbin” 디렉토리에 복사되었던 SU 유틸리티를 삭제한다. Specifically, the terminal 10 returns the rooted state to the user mode so that the root authority is not maintained for security, and the package manager service sends the unrouting request to the socket client through JNI as in the routing request. This socket client forwards it to the
이러한 일련의 작업을 통해 단말을 임시로 루팅 되었던 상태를 벗어나 다시 정상 권한을 가진 단말로 돌아오며, 사용자는 시스템 어플리케이션을 삭제하는 소기의 목적을 달성할 수 있게 된다.
Through such a series of tasks, the terminal is temporarily routed out of the state and returned to the terminal with normal authority, and the user can achieve the intended purpose of deleting the system application.
이때, 루트 권한 획득 과정(S540)과, 루트 권한 반환 과정(S570)을 도 6을 참조하여 설명하면 다음과 같다.In this case, the root authority acquisition process S540 and the root authority return process S570 will be described with reference to FIG. 6.
안드로이드 플랫폼에서 루트 권한이 필요한 작업을 진행하기 위해서는 커널 영역에서 임시로 루트 권한을 처리하는 루트 관리부(60)와 통신하는 과정이 필요한데, 프로세스간 통신(Inter Process Communication) 중 소켓 통신 방식을 사용하기로 한다. 물론, signal, pipe, FIFO, 메시지 큐, 공유메모리, 세마포어, TLI 등 다른 종류의 프로세스간 통신 방식을 사용할 수도 있음은 물론이다.In order to proceed with the operation that requires root authority on the Android platform, a process of communicating with the
도 6에서 볼 수 있듯이, 리눅스 루트 관리부(9)는 특정 포트를 열고 대기하고, 안드로이드 플랫폼(7)에서 리눅스 루트 관리부(9)의 포트로 소켓을 연결하여 루트 권한을 요청한다. 즉, 안드로이드 플랫폼(7)은 리눅스 루트 관리부(9)로 소켓 I/O를 요청하고(S541), 요청 받은 리눅스 루트 관리부(9)가 이를 수락하면(S542), 안드로이드 플랫폼(7)은 이 소켓으로 루트 권한을 요청한다(S543).As shown in FIG. 6, the
이렇게 되면, 리눅스 루트 관리부(9)는 SU(Super User) 유틸리티를 시스템 파일 설치 경로인 “/system/xbin” 경로로 복사한 후 실행함으로써 루트 권한을 획득한다(S544). 그 후, 리눅스 루트 관리부(9)는 안드로이드 플랫폼(7)에 루트 권한 획득을 완료 했다는 메시지를 전송한다(S545).In this case, the Linux
마찬가지로, 도 7에는 루트 권한 반환 방법이 도시되어 있다.Similarly, FIG. 7 illustrates a method for returning root authority.
안드로이드 단말기(10)가 루트 권한으로 진행할 작업을 모두 완료하였으면, 연결된 소켓을 이용하여, 리눅스 루트 관리부(9)로 루트 권한 반환을 요청한다(S571). 이때, 리눅스 루트 관리부(9)는 SU 유틸리티를 종료하고 기존의 사용자 모드로 전환시키고, 이후에 다시 SU를 실행시킬 수 없도록 제거한다(S572). 이후, 리눅스 루트 관리부(9)는 안드로이드 플랫폼(7)에 소켓 I/O를 종료하였다는 메시지를 전송한다(S573).If the
이때, 도 6 및 도 7에서 안드로이드 플랫폼(7)은 프레임워크 레이어의 소켓 통신을 위한 클라이언트인 패키지매니저(40)를 의미한다.
6 and 7 refer to the
사용자가 루트 권한이 필요한 어플리케이션을 삭제하는 경우의 본 발명의 일실시예에 따른 단말기의 동작을 도 8을 참조하여 개략적으로 살펴보면 다음과 같다.An operation of a terminal according to an embodiment of the present invention when a user deletes an application requiring root authority will be described below with reference to FIG. 8.
도 8을 참조하면, 사용자(1)는 삭제 및 설치 관리부(20)에서 어플리케이셕 삭제 요청을 하고(S801), 삭제 및 설치 관리부(20)는 권한 판단부(22)에게 어플리케이션 삭제 요청을 하고(S803), 권한 판단부(22)는 패키지 정보 관리부(42)로 권한 정보를 요청한다(S805).Referring to FIG. 8, the
패키지 정보 관리부(42)는 설치 DB(50)의 데이터베이스에서 권한 정보를 조회하여 권한 판단부(22)로 권한 정보를 전달한고(S807), 권한 판단부(22)는 삭제 및 설치 관리부(20)로 권한 정보를 전달한다(S809).The package
권한 정보를 전달 받은 삭제 및 설치 관리부(20)는 삭제 허용 판단부(24)로 삭제 요청된 변경(삭제)이 허용된 어플리케이션인지를 확인하기 위해 삭제 허용 판단부(24)에 허용 정보를 요청한다(S811). 허용 정보판단부(24)는 미리 구축된 데이터베이스를 조회하여 삭제 요청된 어플리케이션이 변경(삭제)이 허용된 어플리케이션인지를 판단하고, 판단된 허용 정보를 삭제 및 설치 관리부(20)로 전달한다(S813).The deletion and
삭제 및 설치 관리부(20)는 수신된 허용 정보를 기초로 사용자의 어플리케이션 삭제 요청을 허용하거나 불허할 수 있다. 삭제가 허용된 어플리케이션으로 판단된 경우 삭제 및 설치 관리부(20)는 인증부(26)로 사용자 인증 요청을 하고(S815), 인증부(26)는 비밀번호 입력 등의 다양한 방식으로 사용자를 인증하고 인증 결과를 삭제 및 설치 관리부(20)로 전송한다(S817).The deletion and
사용자 인증이 완료되면, 삭제 및 설치 관리부(20)는 패키지 인스톨러(30)에 삭제 요청을 하고(S819), 패키지 인스톨러(30)는 패키지 삭제 및 설치 처리부(44)로 삭제 요청을 한다(S821).When the user authentication is completed, the deletion and
패키지 삭제 및 설치 처리부(44)는 소켓 통신을 이용하여 루트 권한을 요청하고(S823), 루트 관리부(60)는 SU 유틸리티를 설치 및 실행하여 단말기(10)를 루팅시킨다(S825).The package deletion and
루팅이 완료되면, 루트 관리부(60)는 루팅이 완료되었다는 루트 권한 승인 메시지를 패키지 삭제 및 설치 처리부(44)로 전송하고(S827), 패키지 삭제 및 설치 처리부(44)는 루팅이 완료되었으므로, 사용자가 요청한 작업을 수행하고(S829), 다시 루트 관리부(60)로 루트 권한 반환을 요청한다(S831).When the routing is completed, the
루트 관리부(60)는 SU 유틸리티를 종료하여 언루팅 시키고, SU 유틸리티를 삭제한 후(S833), 루트 권한 반환 메시지를 패키지 삭제 및 설치 처리부(44)로 전송한다(S835).The
패키지 삭제 및 설치 처리부(44)는 패키지 인스톨러(30)에게 완료 알림 메시지를 전송하고(S837), 패키지 인스톨러(30)는 삭제 및 설치 관리부(20)에게 완료 알림 메시지를 전송하고(S839), 삭제 및 설치 관리부(20)는 UI 등을 통하여 사용자에게 완료 알림 메시지를 표시한다(S841).The package deletion and
이와 같은 동작으로 본 발명의 일실시예에 따른 단말기(10)는 프로세스간 통신, 특히 소켓 통신을 이용하여 필요한 경우에 임시적으로 루트 권한을 획득한 후, 사용자가 요청한 작업을 수행 후 루트 권한을 반환함으로써, 사용자로 하여금 루팅을 수행할 수 있도록 할 뿐만 아니라 보안성을 강화시킬 수 있다.In this operation, the terminal 10 according to an embodiment of the present invention temporarily acquires the root authority when necessary by using inter-process communication, in particular, socket communication, and then returns the root authority after performing the operation requested by the user. This not only allows users to perform rooting but also enhances security.
10: 단말기 20: 삭제 및 설치 관리부
30: 패키지 인스톨러 40: 패키지 매니저
50: 설치 DB10: terminal 20: deletion and installation management unit
30: Package Installer 40: Package Manager
50: installation DB
Claims (19)
상기 삭제 및 설치 관리부의 요청에 따라 어플리케이션의 삭제 또는 설치 명령을 처리하는 패키지 인스톨러; 및
상기 패키지 인스톨러의 요청에 따라 어플리케이션의 삭제 또는 설치를 수행하는 패키지 매니저를 포함하고,
상기 삭제 및 설치 관리부는 사용자가 어플리케이션 변경 요청을 하는 경우, 상기 패키지 매니저를 통하여 상기 변경 요청된 어플리케이션을 변경하는데 관리자 권한이 필요한지를 판단하고, 관리자 권한이 필요한 경우 상기 패키지 매니저에게 관리자 권한을 요청하고,
상기 패키지 매니저는 프로세스간 통신을 이용하여 커널 영역의 루트 관리부로부터 관리자 권한을 일시적으로 부여 받는 것을 특징으로 하는 단말기.A deletion and installation management unit providing a user with a user interface related to the deletion or installation of an application;
A package installer for processing an application for deleting or installing an application at the request of the deletion and installation management unit; And
A package manager for deleting or installing an application according to a request of the package installer,
When the user requests an application change, the deletion and installation management unit determines whether the administrator authority is required to change the requested application through the package manager, and if the administrator authority is required, requests the administrator authority from the package manager. ,
The package manager is characterized in that the administrator is temporarily granted from the root management unit of the kernel region using the inter-process communication.
상기 관리자 권한은 시스템 파일에 접근 및 상기 시스템 파일을 제어할 수 있으며, 시스템의 동작을 감시 및 제어할 수 있는 권한인 것을 특징으로 하는 단말기.The method of claim 1,
The administrator authority is a terminal that can access a system file and control the system file, and the authority to monitor and control the operation of the system.
상기 루트 관리부는 시스템 영역에 슈퍼 유저(Super User) 유틸리티를 설치 및 실행함으로써 상기 패키지 매니저에게 상기 관리자 권한을 부여하는 것을 특징으로 하는 단말기.The method of claim 1,
And the root management unit grants the administrator authority to the package manager by installing and executing a super user utility in a system area.
상기 삭제 및 설치 관리부는 상기 관리자 권한을 부여 받은 상태에서 상기 변경 요청된 어플리케이션을 변경한 후, 상기 패키지 매니저에게 상기 관리자 권한의 반환을 요청하고,
상기 패키지 매니저는 상기 프로세스간 통신을 이용하여 커널 영역의 상기 루트 관리자에게 상기 관리자 권한의 반환을 요청하는 것을 특징으로 하는 단말기.The method of claim 1,
The deletion and installation management unit changes the application for which the change is requested in the state in which the administrator authority has been granted, and requests the package manager to return the administrator authority.
And the package manager requests the root manager of a kernel region to return the administrator authority by using the interprocess communication.
상기 루트 관리부는 시스템 영역의 슈퍼 유저(Super User) 유틸리티를 종료 및 삭제함으로써 상기 패키지 매니저에게 상기 관리자 권한을 반환하는 것을 특징으로 하는 단말기.5. The method of claim 4,
And the root manager returns the administrator authority to the package manager by terminating and deleting a super user utility of a system area.
상기 삭제 및 설치 관리부는,
상기 변경 요청된 어플리케이션을 변경하기 위해 관리자 권한이 필요한지를 판단하는 권한 판단부; 및
상기 변경 요청된 어플리케이션이 변경이 허용되는 어플리케이션인지를 판단하는 변경 허용 판단부를 포함하는 것을 특징으로 하는 단말기.5. The method of claim 4,
The deletion and installation management unit,
An authority determining unit that determines whether an administrator authority is required to change the application for which the change is requested; And
And a change permission determiner configured to determine whether the change-requested application is an application that is allowed to change.
상기 삭제 및 설치 관리부는,
사용자 인증을 수행하는 인증부를 더 포함하는 것을 특징으로 하는 단말기.The method according to claim 6,
The deletion and installation management unit,
The terminal further comprises an authentication unit for performing user authentication.
상기 패키지 매니저는,
상기 패키지 인스톨러의 요청에 따라 어플리케이션의 삭제 또는 설치를 수행하는 패키지 삭제 및 설치 처리부; 및
어플리케이션의 설치 및 삭제 정보를 관리하는 패키지 정보 관리부를 포함하는 것을 특징으로 하는 단말기.5. The method of claim 4,
The package manager,
A package deletion and installation processing unit for deleting or installing an application according to a request of the package installer; And
A terminal comprising a package information management unit for managing the installation and deletion information of the application.
상기 프로세스간 통신은 소켓 통신인 것을 특징으로 하는 단말기.5. The method of claim 4,
The inter-process communication is a terminal, characterized in that the socket communication.
상기 패키지 매니저는 상기 소켓 통신을 위하여 API(Application Programming Interface)로 JNI(Java Native Interface)를 이용하는 것을 특징으로 하는 단말기.10. The method of claim 9,
The package manager is characterized in that for using the JNI (Java Native Interface) as an application programming interface (API) for the socket communication.
상기 삭제 및 설치 관리부가 상기 변경 요청된 어플리케이션을 변경하는데 관리자 권한이 필요한지를 판단하는 단계;
관리자 권한이 필요한 경우 상기 삭제 및 설치 관리부가 패키지 매니저에게 관리자 권한을 요청하는 단계; 및
상기 패키지 매니저가 프로세스간 통신을 이용하여 커널 영역의 루트 관리부로부터 관리자 권한을 일시적으로 부여 받는 단계를 포함하는 단말기의 임시 관리자 권한 부여 방법.Receiving an application change request from a user using a deletion and installation manager;
Determining, by the deletion and installation management unit, that an administrator authority is required to change the requested application;
Requesting administrator rights from a package manager by the deletion and installation manager when administrator rights are required; And
And the package manager temporarily granting administrator authority from a root manager of a kernel region using interprocess communication.
상기 관리자 권한은 시스템 파일에 접근 및 상기 시스템 파일을 제어할 수 있으며, 시스템의 동작을 감시 및 제어할 수 있는 권한인 것을 특징으로 하는 단말기의 임시 관리자 권한 부여 방법.12. The method of claim 11,
The administrator authority is a authority to access a system file and to control the system file, and the temporary administrator authority grant method of the terminal, characterized in that for monitoring and controlling the operation of the system.
상기 루트 관리부는 시스템 영역에 슈퍼 유저(Super User) 유틸리티를 설치 및 실행함으로써 상기 패키지 매니저에게 상기 관리자 권한을 부여하는 것을 특징으로 하는 단말기의 임시 관리자 부여 방법.12. The method of claim 11,
The root management unit grants the administrator authority to the package manager by installing and executing a super user utility in a system area.
상기 삭제 및 설치 관리부가 상기 관리자 권한을 부여 받은 상태에서 패키지 인스톨러에게 상기 어플리케이션의 변경을 요청하는 단계;
상기 패키지 인스톨러가 상기 패키지 매니저를 통하여 상기 어플리케이션을 변경하는 단계;
상기 삭제 및 설치 관리부가 상기 패키지 매니저에게 상기 관리자 권한의 반환을 요청하는 단계; 및
상기 패키지 매니저가 상기 프로세스간 통신을 이용하여 커널 영역의 상기 루트 관리자에게 상기 관리자 권한의 반환을 요청하는 단계를 포함하는 것을 특징으로 하는 단말기의 임시 관리자 권한 부여 방법.12. The method of claim 11,
Requesting a package installer to change the application while the deletion and installation manager has been granted the administrator authority;
The package installer changing the application through the package manager;
Requesting the package manager to return the administrator authority to the package manager; And
And requesting, by the package manager, the return of the administrator authority to the root manager of a kernel region by using the interprocess communication.
상기 루트 관리부는 시스템 영역의 슈퍼 유저(Super User) 유틸리티를 종료 및 삭제함으로써 상기 패키지 매니저에게 상기 관리자 권한을 반환하는 단계를 더 포함하는 것을 특징으로 하는 단말기의 임시 관리자 권한 부여 방법.15. The method of claim 14,
And the root management unit returns the administrator authority to the package manager by terminating and deleting a super user utility of a system area.
상기 삭제 및 설치 관리부가 상기 변경 요청된 어플리케이션이 변경이 허용된 어플리케이션인지를 판단하는 단계를 더 포함하는 것을 특징으로 하는 단말기의 임시 관리자 권한 부여 방법.15. The method of claim 14,
The deletion and installation management unit further comprises the step of determining whether the change-requested application is an application that is allowed to change the temporary administrator authorization method of the terminal.
상기 삭제 및 설치 관리부가 사용자 인증을 수행하는 단계를 더 포함하는 것을 특징으로 하는 단말기의 임시 관리자 권한 부여 방법.15. The method of claim 14,
And deleting and installing the management unit to perform user authentication.
상기 프로세스간 통신을 소켓 통신인 것을 특징으로 하는 단말기의 임시 관리자 권한 부여 방법.15. The method of claim 14,
And the inter-process communication is socket communication.
상기 패키지 매니저는 상기 소켓 통신을 위하여 API(Application Programming Interface)로 JNI(Java Native Interface)를 이용하는 것을 특징으로 하는 단말기의 임시 관리자 권한 부여 방법.19. The method of claim 18,
The package manager is a temporary manager authorization method of the terminal, characterized in that for using the JNI (Java Native Interface) as the Application Programming Interface (API) for the socket communication.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120019100A KR101308859B1 (en) | 2012-02-24 | 2012-02-24 | Terminal having temporary root authority granting function and root authority granting method using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120019100A KR101308859B1 (en) | 2012-02-24 | 2012-02-24 | Terminal having temporary root authority granting function and root authority granting method using the same |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101308859B1 true KR101308859B1 (en) | 2013-09-16 |
Family
ID=49456191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120019100A KR101308859B1 (en) | 2012-02-24 | 2012-02-24 | Terminal having temporary root authority granting function and root authority granting method using the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101308859B1 (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101627078B1 (en) * | 2016-01-05 | 2016-06-03 | 에스지앤 주식회사 | Apparatus and method for managing password |
EP3251005A4 (en) * | 2015-01-28 | 2018-02-07 | Ricoh Company, Ltd. | Image processing device and electronic whiteboard |
GB2563066A (en) * | 2017-06-02 | 2018-12-05 | Avecto Ltd | Computer device and method for managing privilege delegation |
US10963557B2 (en) | 2017-09-08 | 2021-03-30 | Avecto Limited | Computer device and method for controlling process components |
US10963237B2 (en) | 2017-09-01 | 2021-03-30 | Avecto Limited | Managing installation of applications on a computing device |
US10983845B2 (en) | 2018-09-12 | 2021-04-20 | Avecto Limited | Controlling applications by an application control system in a computer device |
CN112799739A (en) * | 2021-02-04 | 2021-05-14 | 福州汇思博信息技术有限公司 | Application protection method and terminal |
US11062055B2 (en) | 2017-09-27 | 2021-07-13 | Avecto Limited | Computer device and method for managing privilege delegation |
US11270013B2 (en) | 2018-02-08 | 2022-03-08 | Avecto Limited | Managing privilege delegation on a computer device |
US11301228B2 (en) | 2017-11-30 | 2022-04-12 | Avecto Limited | Managing removal and modification of installed programs on a computer device |
US11321455B2 (en) | 2018-04-18 | 2022-05-03 | Avecto Limited | Protecting a computer device from escalation of privilege attacks |
US11366931B2 (en) | 2018-02-12 | 2022-06-21 | Avecto Limited | Managing registry access on a computer device |
US11379622B2 (en) | 2018-01-31 | 2022-07-05 | Avecto Limited | Managing privilege delegation on a server device |
WO2024025112A1 (en) * | 2022-07-27 | 2024-02-01 | 삼성전자 주식회사 | Electronic device for managing data and data management method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050008486A (en) * | 2003-07-15 | 2005-01-21 | 김용규 | method of administering access to database |
JP2005092649A (en) * | 2003-09-18 | 2005-04-07 | Ricoh Co Ltd | Digital data installation system, digital data installation method, program, and recording medium with program recorded thereon |
KR20100027558A (en) * | 2008-09-02 | 2010-03-11 | 주식회사 신한은행 | System and method using website by permission control and recording medium |
KR101068768B1 (en) | 2011-06-28 | 2011-09-30 | 에스지에이 주식회사 | A secure-kernel access control method by approving kernel jobs |
-
2012
- 2012-02-24 KR KR1020120019100A patent/KR101308859B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050008486A (en) * | 2003-07-15 | 2005-01-21 | 김용규 | method of administering access to database |
JP2005092649A (en) * | 2003-09-18 | 2005-04-07 | Ricoh Co Ltd | Digital data installation system, digital data installation method, program, and recording medium with program recorded thereon |
KR20100027558A (en) * | 2008-09-02 | 2010-03-11 | 주식회사 신한은행 | System and method using website by permission control and recording medium |
KR101068768B1 (en) | 2011-06-28 | 2011-09-30 | 에스지에이 주식회사 | A secure-kernel access control method by approving kernel jobs |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3251005A4 (en) * | 2015-01-28 | 2018-02-07 | Ricoh Company, Ltd. | Image processing device and electronic whiteboard |
US10649754B2 (en) | 2015-01-28 | 2020-05-12 | Ricoh Company, Ltd. | Image processing device and electronic whiteboard |
KR101627078B1 (en) * | 2016-01-05 | 2016-06-03 | 에스지앤 주식회사 | Apparatus and method for managing password |
GB2563066A (en) * | 2017-06-02 | 2018-12-05 | Avecto Ltd | Computer device and method for managing privilege delegation |
GB2563066B (en) * | 2017-06-02 | 2019-11-06 | Avecto Ltd | Computer device and method for managing privilege delegation |
US11151286B2 (en) | 2017-06-02 | 2021-10-19 | Avecto Limited | Computer device and method for managing privilege delegation |
US11604634B2 (en) | 2017-09-01 | 2023-03-14 | Avecto Limited | Managing installation of applications on a computing device |
US10963237B2 (en) | 2017-09-01 | 2021-03-30 | Avecto Limited | Managing installation of applications on a computing device |
US11868753B2 (en) | 2017-09-01 | 2024-01-09 | Avecto Limited | Managing installation of applications on a computing device |
US11226802B2 (en) | 2017-09-01 | 2022-01-18 | Avecto Limited | Managing installation of applications on a computing device |
US10963557B2 (en) | 2017-09-08 | 2021-03-30 | Avecto Limited | Computer device and method for controlling process components |
US11797664B2 (en) | 2017-09-08 | 2023-10-24 | Avecto Limited | Computer device and method for controlling process components |
US11687674B2 (en) | 2017-09-27 | 2023-06-27 | Avecto Limited | Computer device and method for managing privilege delegation |
US11062055B2 (en) | 2017-09-27 | 2021-07-13 | Avecto Limited | Computer device and method for managing privilege delegation |
US11301228B2 (en) | 2017-11-30 | 2022-04-12 | Avecto Limited | Managing removal and modification of installed programs on a computer device |
US11379622B2 (en) | 2018-01-31 | 2022-07-05 | Avecto Limited | Managing privilege delegation on a server device |
US11270013B2 (en) | 2018-02-08 | 2022-03-08 | Avecto Limited | Managing privilege delegation on a computer device |
US11797704B2 (en) | 2018-02-08 | 2023-10-24 | Avecto Limited | Managing privilege delegation on a computer device |
US11366931B2 (en) | 2018-02-12 | 2022-06-21 | Avecto Limited | Managing registry access on a computer device |
US11720712B2 (en) | 2018-02-12 | 2023-08-08 | Avecto Limited | Managing registry access on a computer device |
US11321455B2 (en) | 2018-04-18 | 2022-05-03 | Avecto Limited | Protecting a computer device from escalation of privilege attacks |
US10983845B2 (en) | 2018-09-12 | 2021-04-20 | Avecto Limited | Controlling applications by an application control system in a computer device |
CN112799739A (en) * | 2021-02-04 | 2021-05-14 | 福州汇思博信息技术有限公司 | Application protection method and terminal |
WO2024025112A1 (en) * | 2022-07-27 | 2024-02-01 | 삼성전자 주식회사 | Electronic device for managing data and data management method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101308859B1 (en) | Terminal having temporary root authority granting function and root authority granting method using the same | |
EP3130110B1 (en) | Device policy manager | |
US20180307860A1 (en) | Managing configurations of computing terminals | |
US9165139B2 (en) | System and method for creating secure applications | |
EP2783321B1 (en) | File system access for one or more sandboxed applications | |
US11893123B2 (en) | Systems and methods for screenshot mediation based on policy | |
US11100227B2 (en) | Security indication information configuration method and device | |
US9888009B2 (en) | Security bypass environment for circumventing a security application in a computing environment | |
US11797704B2 (en) | Managing privilege delegation on a computer device | |
US11797664B2 (en) | Computer device and method for controlling process components | |
US11720712B2 (en) | Managing registry access on a computer device | |
US11017081B2 (en) | Blocking routine redirection | |
WO2017016231A1 (en) | Policy management method, system and computer storage medium | |
KR20210068444A (en) | Techniques for controlling the installation of unauthorized drivers on computer systems | |
KR101391508B1 (en) | Terminal and method for protecting stored file |
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 |
|
LAPS | Lapse due to unpaid annual fee |