KR20130015236A - User terminal and service server for processing security of the user terminal - Google Patents
User terminal and service server for processing security of the user terminal Download PDFInfo
- Publication number
- KR20130015236A KR20130015236A KR1020110077117A KR20110077117A KR20130015236A KR 20130015236 A KR20130015236 A KR 20130015236A KR 1020110077117 A KR1020110077117 A KR 1020110077117A KR 20110077117 A KR20110077117 A KR 20110077117A KR 20130015236 A KR20130015236 A KR 20130015236A
- Authority
- KR
- South Korea
- Prior art keywords
- terminal
- application
- script
- user terminal
- routing
- Prior art date
Links
- 238000013515 script Methods 0.000 claims abstract description 37
- 238000012795 verification Methods 0.000 claims abstract description 30
- 238000004891 communication Methods 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 22
- 230000005540 biological transmission Effects 0.000 claims 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 30
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 1
- 230000000737 periodic effect 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]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
Abstract
Description
본 발명은 단말 보안을 수행하는 사용자 단말 및 서비스 서버 장치에 관한 것이다.The present invention relates to a user terminal and a service server apparatus for performing terminal security.
최근 스마트폰이 활성화되면서, 다양한 애플리케이션을 스마트폰에 설치하여 실행할 수 있게 되었다. 이에 따라 애플리케이션으로 인한 단말의 오류나 시스템 성능에 영향을 미치는 중요한 문제들이 많이 발생되고 있다. With the recent smartphone activation, various applications can be installed and run on the smartphone. As a result, a number of important problems affecting a terminal error due to an application or system performance are occurring.
종래에는 애플리케이션이 사용자 단말에 문제를 발생 시킬 수 있는지에 대한 여부를 확인하기 위해서 사용자 단말에 애플리케이션을 일단 설치한 후 실행하여 확인하여야 한다. 또한, 숨겨진 코드에 의한 위해성을 확인하는 것은 애플리케이션을 실행시켜 테스트 하여도 찾기 어려웠다. 결국, 이러한 애플리케이션이 사용자 단말 설치되어 많은 문제점들이 발생하고 있어, 이를 차단할 수 있는 방안이 요청되고 있는 실정이다.Conventionally, in order to check whether an application may cause a problem in a user terminal, the application should be installed once and executed in the user terminal and checked. Also, identifying risks from hidden code was difficult to find even when running the application. As a result, these applications are installed in the user terminal, causing a lot of problems, and there is a demand for a way to block them.
또한, 스마트폰 사용자들은 단말 루팅을 통해 스마트폰에 잠겨있는 운영자 권한을 갖게 되어 사용자가 마음대로 단말 시스템을 조정할 수 있다. 따라서, 사업자들은 이를 막기 위해 다양한 시도를 하고 있다.In addition, the smartphone users have the operator authority locked to the smartphone through the terminal routing, the user can adjust the terminal system at will. Therefore, operators are making various attempts to prevent this.
예컨대 금융 애플리케이션의 경우, 루팅된 단말에서 실행되어 사용자 정보가 공개되는 것을 막기 위해 금융 애플리케이션 자체에 단말의 루팅 여부를 확인하도록 하고 있다. For example, in the case of a financial application, it is executed in a rooted terminal to check whether the terminal is rooted in the financial application itself in order to prevent the user information from being disclosed.
그러나 이처럼 애플리케이션이 개별적으로 단말의 루팅 여부를 확인하는 경우, 모든 애플리케이션 루팅 여부 확인을 위한 기능을 구현시켜야 하는 문제점이 있어 실제로는 온전히 단말이 루팅을 막지 못하고 있다.However, when the application checks whether the terminal is individually routed as described above, there is a problem of implementing a function for checking whether all applications are routed, and thus, the terminal does not completely prevent routing.
게다가 루팅 패턴이 변하는 경우, 루팅 여부를 확인하는 기능도 변경되어야 하는데, 그러려면 결국 애플리케이션 자체를 다시 설치하는 등의 문제가 있다. In addition, if the routing pattern changes, the ability to check whether the route should change must be changed, which in turn causes problems such as reinstalling the application itself.
따라서, 본 발명이 이루고자 하는 기술적 과제는 문제 발생이 가능한 애플리케이션을 사전에 제한할 수 있고, 단말의 루팅 여부 확인이 용이하도록 단말 보안을 수행하는 사용자 단말 및 서비스 서버 장치를 제공하는 것이다.Accordingly, the technical problem to be achieved by the present invention is to provide a user terminal and a service server apparatus that can limit the applications that can cause problems in advance, and performs terminal security to facilitate checking whether the terminal is rooted.
본 발명의 한 특징에 따르면 사용자 단말이 제공된다. 이 단말은, 애플리케이션을 실행하고, 상기 애플리케이션을 실행하는데 필요한 응용 프로그래밍 인터페이스를 호출하는 실행부; 단말의 루팅 여부를 판단하는 루팅 검증부; 및 상기 루팅 검증부가 단말이 루팅된 경우로 판단하면, 상기 실행부의 응용 프로그래밍 인터페이스의 호출을 제한하는 관리부를 포함한다.According to one aspect of the invention there is provided a user terminal. The terminal includes: an execution unit for executing an application and calling an application programming interface required to execute the application; Routing verification unit for determining whether the terminal routing; And a management unit that limits the call of the application programming interface of the execution unit when the routing verification unit determines that the terminal is rooted.
본 발명의 다른 특징에 따르면 서비스 서버 장치가 제공된다. 이 장치는, 개발자가 등록을 요청한 애플리케이션의 코드를 분석하여 상기 애플리케이션이 설치될 사용자 단말에 문제를 발생시킬 가능성이 있는지를 판단하는 검증부; 및 상기 검증부가 문제 발생 가능성을 판단한 애플리케이션의 등록은 오류 처리하고, 문제 발생 가능성이 없는 애플리케이션은 등록 처리하는 등록부를 포함하고, 등록 처리된 상기 애플리케이션은 서로 다른 복수의 배포 채널을 통해 사용자 단말로 배포된다.According to another feature of the invention there is provided a service server device. The apparatus may include a verification unit that analyzes code of an application for which a developer requests registration and determines whether there is a possibility of causing a problem in a user terminal in which the application is installed; And a registration unit for registering an application in which the verification unit determines that a problem may occur, and registering an application that does not have a problem. The registered application is distributed to a user terminal through a plurality of different distribution channels. do.
본 발명의 실시예에 따르면, 애플리케이션 등록시 사전에 문제 발생 가능한 애플리케이션을 제한하고, 단말의 루팅(Rooting) 여부를 사전에 파악하여 애플리케이션이 조작된 데이터(data)를 통해 실행되지 않도록 함으로써 사용자 단말을 보호할 수 있다.According to an embodiment of the present invention, it is possible to protect a user terminal by limiting an application which may cause a problem when registering an application in advance and determining whether the terminal is rooted in advance so that the application is not executed through the manipulated data. can do.
또한, 종래에는 문제 발생 가능한 애플리케이션을 확인하기 위해서는 일단 단말에 애플리케이션을 설치해야 하는 것과 달리 본 발명의 실시예에서는 애플리케이션 코드상에서 문제 발생 가능성 있는 코드를 사전에 확인하여 해당 애플리케이션의 등록을 제한함으로써 사용자 단말 설치되기 전에 문제 발생 애플리케이션을 제외시킬 수 있다.In addition, conventionally, in order to identify a problem-prone application, the application must be installed on the terminal once. However, in the embodiment of the present invention, the problem code may be confirmed in advance on the application code to restrict the registration of the corresponding application. You can exclude problematic applications before they are installed.
또한, 단말의 루팅 여부 확인을 위한 스크립트를 단말의 종류 별로 서버에서 관리하고, 주기적으로 업데이트되도록 함으로써, 종래에 루팅 패턴이 변경되는 경우 대처하지 못했던 문제점을 해결할 수 있다.In addition, by managing a script for checking whether the terminal is rooted by the server for each type of terminal, and periodically updated, it is possible to solve the problem that was not able to cope when the routing pattern is changed in the past.
도 1은 본 발명의 실시예에 따른 네트워크 구성도이다.
도 2는 본 발명의 실시예에 따른 단말 보안을 수행하는 사용자 단말의 세부 구성을 나타낸 블록도이다.
도 3은 본 발명의 실시예에 따른 단말 보안을 수행하는 서비스 서버의 세부 구성을 나타낸 블록도이다.
도 4는 본 발명의 실시예에 따른 애플리케이션 등록 과정을 나타낸 순서도이다.
도 5는 본 발명의 실시예에 따른 루팅 검증 과정을 나타낸 순서도이다.
도 6은 본 발명의 실시예에 따른 애플리케이션 실행 과정을 나타낸 순서도이다.1 is a network configuration diagram according to an embodiment of the present invention.
2 is a block diagram showing a detailed configuration of a user terminal for performing terminal security according to an embodiment of the present invention.
3 is a block diagram showing a detailed configuration of a service server for performing terminal security according to an embodiment of the present invention.
4 is a flowchart illustrating an application registration process according to an embodiment of the present invention.
5 is a flowchart illustrating a routing verification process according to an embodiment of the present invention.
6 is a flowchart illustrating an application execution process according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.
또한, 명세서에 기재된 "…부"의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Also, the term "part" in the description means a unit for processing at least one function or operation, which may be implemented by hardware, software, or a combination of hardware and software.
이하, 도면을 참조로 하여 본 발명의 실시예에 따른 단말 보안을 수행하는 사용자 단말 및 서비스 서버 장치에 대하여 상세히 설명한다.Hereinafter, a user terminal and a service server apparatus for performing terminal security according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시예에 따른 네트워크 구성도이다.1 is a diagram illustrating a network configuration according to an embodiment of the present invention.
도 1을 참조하면, 네트워크 구성도는 사용자 단말(100) 및 서비스 서버(또는 서비스 서버 장치, 이하, '서비스 서버'로 통칭함)(200)가 네트워크(300)를 통해 연결된다. Referring to FIG. 1, in the network configuration diagram, a
여기서, 사용자 단말(100)은 애플리케이션을 다운로드하여 설치 및 실행하는 단말로서, 예컨대 스마트폰일 수 있다.Here, the
또한, 서비스 서버(200)는 사용자 단말(100)에 설치되는 애플리케이션의 등록을 처리할 뿐만 아니라 고유의 배포 채널을 통해 애플리케이션을 사용자 단말(100)로 배포하는 서버일 수 있다.In addition, the
이때, 사용자 단말(100) 및 서비스 서버(200)는 단말 보안을 수행한다. In this case, the
이러한 단말 보안은 애플리케이션 등록시 사전에 문제 발생 가능한 어플리케이션을 제한하고, 단말의 루팅(Rooting) 여부를 사전에 파악하여 애플리케이션이 조작된 데이터(data)를 통해 실행되지 않도록 하는 것이다.The terminal security is to limit the applications that can cause problems in the application registration in advance, and to determine whether the terminal is rooted (Rooting) in advance so that the application is not executed through the manipulated data (data).
이를 위해 두가지 실시예로 구현되는데, 한가지 실시예는 사용자 단말 측이 단말 루팅(rooting) 상태에서는 애플리케이션 실행을 차단하도록 하는 것이고, 다른 실시예는 서버 측이 사용자 단말로 애플리케이션이 배포되기 이전에 단말 시스템 접근을 시도하는 애플리케이션의 등록을 허용하지 않는 것이다.To this end, the present invention is implemented in two embodiments, one of which allows the user terminal side to block application execution in a terminal rooting state, and another embodiment of the terminal system before the application is distributed to the user terminal. It does not allow registration of applications that attempt to access it.
먼저, 도 2는 본 발명의 실시예에 따른 단말 보안을 수행하는 사용자 단말의 세부 구성을 나타낸 블록도이다.First, Figure 2 is a block diagram showing a detailed configuration of a user terminal for performing terminal security according to an embodiment of the present invention.
도 2를 참조하면, 사용자 단말(100)은 통신부(101), 루팅 검증부(103), 실행부(105) 및 응용 프로그래밍 인터페이스(Application Programming Interface, 이하, 'API'라 통칭함) 관리부(107)를 포함한다.Referring to FIG. 2, the
통신부(101)는 네트워크(300)에 연결되어 데이터를 송수신하며, 서비스 서버(200)와 접속한다.The
루팅 검증부(103)는 부팅(booting)시 미리 설치된 루팅 서비스 데몬(daemon)을 실행한다. 여기서, 데몬은 주기적인 서비스 요청을 처리하기 위해 계속 실행되는 프로그램으로서, 백그라운드에서 돌면서 여러 작업을 하는 프로그램을 말한다.The
이때, 실행된 루팅 서비스 데몬은 단말 루팅 여부를 확인하기 위한 스크립트(scrypt)를 실행한다. 여기서, 루팅은 운영체제와 시스템의 모든 설정에 대한 접근, 수정, 통제 권한을 가지는 권리자 권한을 가지는 것을 의미하고, 시스템의 여러 설정 등을 변경하는 작업이다.At this time, the executed routing service daemon executes a script (scrypt) for checking whether the terminal is rooted. Here, the rooting means having the rights of the owner who has access to, modify, and control all the settings of the operating system and the system, and changes the various settings of the system.
또한, 스크립트는 컴퓨터 프로세서나 컴파일러가 아닌 다른 프로그램에 의해 번역되고 수행되는 명령문의 집합을 의미하며, 프로그래밍 언어가 아닌 언어로 작성한 짧은 프로그램이나 명령어들로 구성된다. 이러한 스크립트는 서비스 데몬의 메모리에 저장되어 사용자에 의해 수정될 수 없다.In addition, a script is a set of instructions that are translated and executed by a program other than a computer processor or compiler, and are composed of short programs or instructions written in a language other than a programming language. These scripts are stored in the service daemon's memory and cannot be modified by the user.
이러한 스크립트는 주기적으로 업데이트되는데, 루팅 검증부(103)가 주기적으로 통신부(101)를 통해 서비스 서버(200)에 접속하여 스크립트를 다운로드한다. The script is periodically updated, and the
스크립트는 루트 유저(root user)만 접근 가능한 폴더 및 파일 경로를 포함하여 해당 폴더 및 파일 경로가 접근 가능하면 단말이 루팅된 경우로 판단된다. 또한, 스크립트는 루트 유저 권한을 갖는 쉘 커맨드(shell command)를 포함하여 이러한 쉘 커맨드가 정상 실행되면, 단말이 루팅된 경우로 판단된다.The script is determined to be a case where the terminal is rooted if the corresponding folder and file path is accessible, including a folder and file path accessible only to the root user. In addition, the script includes a shell command having a root user authority, and when such a shell command is normally executed, it is determined that the terminal is rooted.
여기서, 쉘 커맨드는 쉘에 의하여 해석되는 명령어를 의미하는데, 쉘이란 리눅스의 명령어 해석기를 의미한다. 즉, 리눅스에서 사용하는 모든 명령어는 쉘에 의하여 해석되고, 해당 명령을 찾아 실행된다.Here, a shell command means a command interpreted by the shell, and a shell means a command interpreter of Linux. In other words, all commands used in Linux are interpreted by the shell and executed by searching for them.
실행부(105)는 애플리케이션을 실행하고, 애플리케이션 실행에 필요한 API를 호출한다.The
API 관리부(107)는 사용자 단말(100)에서 실행되는 복수의 API를 관리하고, 실행부(105)가 요청한 API를 리턴하거나 오류 처리한다. The
일반적으로, 스마트폰에 설치되는 애플리케이션은 프로그래밍 및 실행의 편의를 위하여 표준화된 라이브러리(Library)인 API를 이용한다. 이러한 API는 운영체제나 C, C++, Pascal 등과 같은 언어로 애플리케이션을 만들 때, 윈도우를 만들고 파일을 여는 것과 같은 처리를 할 수 있도록 하는 1000여 개 이상의 함수로 구성된 툴이다. API는 애플리케이션이 운영체제나 데이터베이스 관리 시스템과 같은 시스템 프로그램과 통신할 때 사용되는 언어나 메시지 형식을 가지며, API는 애플리케이션 내에서 실행을 위해 특정 서브루틴에 연결을 제공하는 함수를 호출하는 것으로 구현된다. 그러므로 하나의 API는 함수의 호출에 의해 요청되는 작업을 수행하기 위해 이미 존재하거나 또는 연결되어야 하는 몇 개의 프로그램 모듈이나 루틴을 가진다.In general, an application installed on a smartphone uses an API, which is a standardized library, for ease of programming and execution. These APIs are a set of more than 1000 functions that allow you to do things like create windows and open files when creating applications in the operating system or in languages like C, C ++, Pascal, and so on. An API has a language or message format that is used when an application communicates with a system program such as an operating system or database management system. The API is implemented by calling a function that provides a link to a specific subroutine for execution within an application. Thus, an API has several program modules or routines that must already exist or be linked in order to perform the work requested by the function call.
이때, API 관리부(107)는 실행부(105)로부터 API가 호출되는 경우, 루팅 검증부(103)를 통해 사용자 단말(100)의 루팅 여부를 확인하여 루팅된 경우로 판단되면, API 호출에 오류를 리턴한다. 반면, 루팅되지 않은 경우에는 호출된 API를 실행부(105)에게 반환한다. In this case, when the API is called from the
여기서, 단말 루팅 여부에 따라 호출이 제한되는 API는 사업자가 제공하는 API일 수 있으며, 예컨대 KAF(KT Application Framwork) API일 수 있다.Here, the API whose call is restricted depending on whether the terminal is routed may be an API provided by an operator, and may be, for example, a KAF (KT Application Framwork) API.
도 3은 본 발명의 실시예에 따른 단말 보안을 수행하는 서비스 서버의 세부 구성을 나타낸 블록도이다.3 is a block diagram showing a detailed configuration of a service server for performing terminal security according to an embodiment of the present invention.
도 3을 참조하면, 서비스 서버(200)는 등록부(201), 검증부(205), 애플리케이션 등록 DB(203), 스크립트 전송부(207) 및 스크립트 DB(209)를 포함한다.Referring to FIG. 3, the
등록부(201)는 개발자가 요청한 애플리케이션을 등록하기 위한 절차를 수행하고, 등록이 완료되면 애플리케이션 등록 DB(203)에 애플리케이션을 저장한다. 이후, 애플리케이션 등록 DB(203)에 저장된 애플리케이션은 다양한 배포 채널을 통해 사용자 단말(100)로 제공된다.The
이때, 등록부(201)는 제한된 폴더에 접근 가능하거나 제한된 API를 호출하거나 제한된 커맨드를 실행하는 애플리케이션 등록은 차단한다.At this time, the
검증부(205)는 애플리케이션에서 접근해서는 안되는 단말의 폴더 정보, 애플리케이션에서 사용해서는 안되는 API 및 커맨드를 관리한다. 그리고 검증부(205)는 등록부(201)가 등록을 요청받은 애플리케이션 코드를 분석하여 애플리케이션이 제한된 폴더에 접근 가능한지, 제한된 API를 호출하는지, 제한된 커맨드를 실행하는지 판단하고, 판단 결과를 등록부(201)에게 제공한다.The
스크립트 DB(207)는 단말 종류(또는 모델) 별로 단말의 루팅 여부를 확인하기 위한 스크립트를 저장한다.The
스크립트 전송부(209)는 사용자 단말(100)의 루팅 여부를 확인할 수 있는 스크립트를 주기적인 사용자 단말(100)의 요청에 따라 전송한다. 이때, 스크립트를 요청한 사용자 단말(100)의 종류를 확인하여 그에 맞는 스크립트를 스크립트 DB(207)로부터 추출하여 제공한다.The
이상 설명한 내용을 토대로 애플리케이션 등록, 루팅 검증 및 애플리케이션 실행 과정을 각각 설명하기로 한다.Based on the above description, the process of registering an application, verifying rooting, and executing an application will be described.
도 4는 본 발명의 실시예에 따른 애플리케이션 등록 과정을 나타낸 순서도로서, 도 3의 서비스 서버의 동작을 나타낸다.4 is a flowchart illustrating an application registration process according to an embodiment of the present invention, and illustrates an operation of the service server of FIG. 3.
도 4를 참조하면, 서비스 서버(200)의 등록부(201)가 개발자로부터 애플리케이션 등록을 요청(S101)받으면, 서비스 서버(200)의 검증부(205)는 애플리케이션 코드를 분석한다(S103).Referring to FIG. 4, when the
서비스 서버(200)의 검증부(205)는 애플리케이션 코드 분석에 따라 등록 요청된 애플리케이션이 제한된 폴더에 접근 가능한지를 판단한다(S105).The
접근 가능하지 않다면, 서비스 서버(200)의 검증부(205)는 등록 요청된 애플리케이션이 제한된 API를 호출하는지를 판단한다(S107).If not accessible, the
제한된 API를 호출하지 않는다면, 서비스 서버(200)의 검증부(205)는 제한된 커맨드(Command)를 실행하는지를 판단한다(S109).If the limited API is not called, the
제한된 커맨드를 실행하지 않는다면, 서비스 서버(200)의 등록부(201)는 등록 요청된 애플리케이션의 등록을 완료(S111)하고, 애플리케이션 등록 DB(203)에 저장한다.If the limited command is not executed, the
반면, S105 단계에서 제한된 폴더에 접근 가능하거나 S107 단계에서 제한된 API를 호출하거나 S109 단계에서 제한된 커맨드를 실행하는 경우로 판단되면, 서비스 서버(200)의 등록부(201)는 애플리케이션 등록을 오류 처리한다(S107).On the other hand, if it is determined that the restricted folder is accessible in step S105, the restricted API is called in step S107, or the restricted command is executed in step S109, the
여기서, S105 단계, S107 단계, S109 단계는 그 순서가 바뀌거나 동시에 수행될 수 있다.Here, steps S105, S107, and S109 may be changed in order or performed simultaneously.
도 5는 본 발명의 실시예에 따른 루팅 검증 과정을 나타낸 순서도로서, 도 2의 사용자 단말의 동작을 나타낸다.FIG. 5 is a flowchart illustrating a routing verification process according to an exemplary embodiment of the present invention, and illustrates an operation of the user terminal of FIG. 2.
도 5를 참조하면, 사용자 단말(100)의 루팅 검증부(103)는 루팅 여부를 확인하기 위한 서비스 데몬(service daemon)을 설치한다(S201).Referring to FIG. 5, the
이때, 서비스 데몬은 스크립트(scrypt)를 실행하여 루팅 여부를 확인하는데, 사용자 단말(100)의 루팅 검증부(103)는 이러한 스크립트를 주기적으로 서비스 서버(200)로부터 다운로드(S203, S205)하여 업데이트한다(S207).At this time, the service daemon executes a script (scrypt) to check the routing, the
이후, 사용자 단말(100)의 루팅 검증부(103)는 단말 부팅(S209)이 이루어지면, 서비스 데몬을 실행(S211)하고 서비스 데몬에 의해 스크립트(scrypt) 실행이 수행된다(S213).Subsequently, when the terminal booting step S209 is performed, the
스크립트가 실행되면, 사용자 단말(100)의 루팅 검증부(103)는 시스템 폴더에 접근이 가능한지 판단한다(S215).When the script is executed, the
가능하지 않은 경우, 스크립트에 포함된 시스템 커맨드(command)를 실행 가능한지를 판단한다(S217).If it is not possible, it is determined whether a system command included in the script is executable (S217).
실행 가능하지 않은 경우, 사용자 단말(100)에 탑재된 API 실행 허용을 설정한다(S219).If not executable, the API execution permission set in the
한편, S215 단계에서 시스템 폴더에 접근이 가능한 경우로 판단되거나 S217 단계에서 시스템 커맨드가 실행 가능한 경우로 판단되면, 사용자 단말(100)이 루팅된 것으로 판단(S221)하고 API의 실행 제한을 설정한다(S223).On the other hand, if it is determined that the system folder is accessible in step S215 or if the system command is executable in step S217, the
도 6은 본 발명의 실시예에 따른 애플리케이션 실행 과정을 나타낸 순서도로서, 도 2의 사용자 단말의 동작을 나타낸다.6 is a flowchart illustrating an application execution process according to an exemplary embodiment of the present invention, and illustrates an operation of the user terminal of FIG. 2.
도 6을 참조하면, 사용자 단말(100)의 실행부(105)가 애플리케이션을 실행(S301)하고 애플리케이션 실행에 필요한 API를 호출한다(S203).Referring to FIG. 6, the
그러면, 사용자 단말(100)의 API 관리부(107)는 루팅 검증부(103)를 통해 사용자 단말(100)의 루팅 여부를 확인한다(S305). 루팅 여부 확인은 도 5의 과정을 통해 루팅 검증부(103)가 관리한다. Then, the
이때, 루팅 단말로 판단되지 않으면, 사용자 단말(100)의 API 관리부(107)는 실행부(105)에게 API 정상 결과를 리턴한다(S307).At this time, if it is not determined as a routing terminal, the
반면, 루팅 단말로 판단되면, 사용자 단말(100)의 API 관리부(107)는 실행부(105)에게 루팅으로 인한 오류를 리턴한다(S309).On the other hand, if it is determined that the routing terminal, the
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.
Claims (10)
단말의 루팅 여부를 판단하는 루팅 검증부; 및
상기 루팅 검증부가 단말이 루팅된 경우로 판단하면, 상기 실행부의 응용 프로그래밍 인터페이스의 호출을 제한하는 관리부
를 포함하는 사용자 단말.An execution unit which executes an application and calls an application programming interface required to execute the application;
Routing verification unit for determining whether the terminal routing; And
If the routing verification unit determines that the terminal is rooted, the management unit for limiting the call of the application programming interface of the execution unit
Lt; / RTI >
상기 루팅 검증부는,
상기 단말의 루팅 여부를 확인하기 위한 서비스 데몬을 설치하고,
상기 서비스 데몬은 단말 부팅시 자동으로 백그라운드 형태로 실행되는 사용자 단말.The method of claim 1,
The routing verification unit,
Install a service daemon for checking whether the terminal is rooted,
The service daemon automatically runs in the background when the terminal is booted.
상기 서비스 데몬은,
상기 단말의 루팅 여부를 확인하기 위한 정보를 포함하는 스크립트를 포함하여 상기 서비스 데몬이 실행되면 상기 스크립트를 실행하는 사용자 단말. The method of claim 2,
The service daemon,
And a user terminal executing the script when the service daemon is executed, including a script including information for checking whether the terminal is rooted.
상기 스크립트는,
애플리케이션에서 접근해서는 안되는 제한된 폴더 정보, 애플리케이션에서 사용해서는 안되는 제한된 응용 프로그래밍 인터페이스 및 제한된 커맨드를 포함하고,
상기 루팅 검증부는,
상기 스크립트의 실행에 따라 상기 제한된 폴더 정보로 접근이 가능한지, 상기 제한된 응용 프로그래밍 인터페이스의 호출이 수행되는지 및 상기 제한된 커맨드가 실행되는지를 판단하여 단말 루팅을 판단하는 사용자 단말.The method of claim 3,
The script is
Contains restricted folder information that should not be accessed by the application, limited application programming interface and limited commands that should not be used by the application,
The routing verification unit,
And determining the terminal routing by determining whether access to the restricted folder information, access to the restricted application programming interface is performed, and whether the restricted command is executed according to the execution of the script.
상기 제한된 응용 프로그래밍 인터페이스는,
특정 사업자가 제공하는 응용 프로그래밍 인터페이스인 사용자 단말.5. The method of claim 4,
The limited application programming interface,
User terminal that is an application programming interface provided by a specific operator.
네트워크를 통해 상기 스크립트를 전송하는 서비스 서버에 접속하는 통신부를 더 포함하고,
상기 루팅 검증부는,
상기 통신부를 통해 주기적으로 상기 서비스 서버로부터 스크립트를 수신하여 상기 스크립트를 업데이트 하는 사용자 단말.6. The method according to any one of claims 3 to 5,
Further comprising a communication unit for connecting to the service server for transmitting the script over a network,
The routing verification unit,
User terminal for periodically updating the script by receiving a script from the service server through the communication unit.
상기 검증부가 문제 발생 가능성을 판단한 애플리케이션의 등록은 오류 처리하고, 문제 발생 가능성이 없는 애플리케이션은 등록 처리하는 등록부를 포함하고,
등록 처리된 상기 애플리케이션은 서로 다른 복수의 배포 채널을 통해 사용자 단말로 배포되는 서비스 서버 장치.A verification unit for analyzing a code of an application that a developer requests registration to determine whether there is a possibility of causing a problem in a user terminal in which the application is to be installed; And
The registration of the application that the verification unit has determined that the problem is likely to be error processing, the application that is not likely to have a problem includes a registration unit for registration processing,
The application server of the registration process is distributed to the user terminal through a plurality of different distribution channels.
상기 검증부는,
애플리케이션에게 접근이 제한되는 단말의 폴더 정보, 애플리케이션에게 사용이 제한되는 응용 프로그래밍 인터페이스 및 커맨드를 관리하고, 상기 애플리케이션의 코드를 분석하여 상기 제한되는 단말의 폴더 정보에 대한 접근 여부, 상기 제한되는 응용 프로그래밍 인터페이스 및 상기 커맨드의 사용 여부를 판단하는 서비스 서버 장치.The method of claim 7, wherein
Wherein the verifying unit comprises:
Manages folder information of a terminal whose access is restricted to an application, an application programming interface and a command whose use is restricted to an application, and analyzes the code of the application to determine access to the folder information of the restricted terminal, and the restricted application programming. Service server device for determining whether to use the interface and the command.
루팅 여부를 확인하기 위한 스크립트를 주기적으로 상기 사용자 단말로 전송하는 전송부를 더 포함하고,
상기 스크립트는,
애플리케이션에게 접근이 제한되는 단말의 폴더 정보, 애플리케이션에게 사용이 제한되는 응용 프로그래밍 인터페이스 및 커맨드에 관한 정보를 포함하는 서비스 서버 장치.The method of claim 7, wherein
Further comprising a transmitting unit for periodically transmitting a script for checking whether the routing to the user terminal,
The script is
A service server device including folder information of a terminal for which access is restricted to an application, information about an application programming interface and a command for which usage is restricted to an application.
단말의 종류 또는 단말의 모델 별로 해당 단말의 루팅 여부를 확인하기 위한 정보로 구성된 스크립트를 저장하는 스크립트 DB를 더 포함하고,
상기 전송부는,
상기 사용자 단말의 단말 종류 또는 단말 모델을 확인하여 상기 스크립트 DB로부터 상기 단말 종류 또는 상기 단말 모델에 부합하는 스크립트를 선택하여 상기 사용자 단말로 전송하는 서비스 서버 장치.10. The method of claim 9,
Further comprising a script DB for storing a script consisting of information for checking whether the corresponding terminal is routing for each type of terminal or model of the terminal,
Wherein the transmission unit comprises:
Checking the terminal type or the terminal model of the user terminal, selecting a script corresponding to the terminal type or the terminal model from the script DB, and transmitting the selected script to the user terminal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110077117A KR101839607B1 (en) | 2011-08-02 | 2011-08-02 | User terminal and service server for processing security of the user terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110077117A KR101839607B1 (en) | 2011-08-02 | 2011-08-02 | User terminal and service server for processing security of the user terminal |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130015236A true KR20130015236A (en) | 2013-02-13 |
KR101839607B1 KR101839607B1 (en) | 2018-03-22 |
Family
ID=47895085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110077117A KR101839607B1 (en) | 2011-08-02 | 2011-08-02 | User terminal and service server for processing security of the user terminal |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101839607B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101530532B1 (en) * | 2013-11-04 | 2015-06-23 | 주식회사 잉카인터넷 | Apparatus and Method for Detecting Rooting a Mobile Terminal |
WO2020060101A1 (en) * | 2018-09-20 | 2020-03-26 | 삼성전자 주식회사 | Electronic device for providing service by using secure element, and operating method thereof |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3873624B2 (en) * | 1999-01-13 | 2007-01-24 | 株式会社日立製作所 | Mobile code execution method and system |
JP4653230B2 (en) * | 2008-09-22 | 2011-03-16 | 株式会社エヌ・ティ・ティ・ドコモ | API inspection device and condition monitoring device |
US8289130B2 (en) * | 2009-02-19 | 2012-10-16 | Apple Inc. | Systems and methods for identifying unauthorized users of an electronic device |
-
2011
- 2011-08-02 KR KR1020110077117A patent/KR101839607B1/en active IP Right Grant
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101530532B1 (en) * | 2013-11-04 | 2015-06-23 | 주식회사 잉카인터넷 | Apparatus and Method for Detecting Rooting a Mobile Terminal |
WO2020060101A1 (en) * | 2018-09-20 | 2020-03-26 | 삼성전자 주식회사 | Electronic device for providing service by using secure element, and operating method thereof |
CN112740209A (en) * | 2018-09-20 | 2021-04-30 | 三星电子株式会社 | Electronic device providing service by using secure element and method of operating the same |
US11921857B2 (en) | 2018-09-20 | 2024-03-05 | Samsung Electronics Co., Ltd | Electronic device for providing service by using secure element, and operating method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR101839607B1 (en) | 2018-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190327294A1 (en) | Provisioning framework for binding related cloud services | |
RU2586016C2 (en) | System for providing program analysis/verification service, method of controlling said system, computer-readable storage medium, device for program analysis/verification, device for controlling program analysis/verification means | |
US8438559B2 (en) | Method and system for platform-agnostic software installation | |
US20150332043A1 (en) | Application analysis system for electronic devices | |
US10225140B2 (en) | Portable instance provisioning framework for cloud services | |
RU2589852C2 (en) | System and method for automatic regulation of rules for controlling applications | |
US8225292B2 (en) | Method and system for validating a knowledge package | |
US20160378989A1 (en) | Apparatus and method for monitoring android platform-based application | |
US20080244557A1 (en) | Knowledge management system and method for implementing management software using the same | |
US10402216B1 (en) | Live support integration in a virtual machine based development environment | |
JP4931343B2 (en) | System, method, program, and apparatus for providing self-installing software components for performing network services | |
US20090265586A1 (en) | Method and system for installing software deliverables | |
Khokhlov et al. | Android system security evaluation | |
US20200104120A1 (en) | Application release using integration into unified code system | |
US20200167157A1 (en) | Distributing services to client systems to develop in a shared development environment | |
BR112014017283B1 (en) | METHOD IMPLEMENTED BY MACHINE, MEDIUM READABLE BY TANGIBLE MACHINE AND DEVICE COMPRISING AN APPLICATION UPDATE | |
EP4182786A1 (en) | Configuration files for multiple devices | |
CN108121650B (en) | Method and device for testing page user interface | |
CN111930398A (en) | Application program updating method, device, system, medium and equipment | |
Islam et al. | Runtime software patching: Taxonomy, survey and future directions | |
KR101839607B1 (en) | User terminal and service server for processing security of the user terminal | |
EP3991078A1 (en) | Access management system with a pre-commit verification engine | |
US11301228B2 (en) | Managing removal and modification of installed programs on a computer device | |
KR101231746B1 (en) | Software Development system in SaaS environment | |
US9069643B1 (en) | Creating a prerequisite checklist corresponding to a software application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
GRNT | Written decision to grant |