KR20140139752A - 루팅 검출방법 및 검출장치 - Google Patents

루팅 검출방법 및 검출장치 Download PDF

Info

Publication number
KR20140139752A
KR20140139752A KR20130060188A KR20130060188A KR20140139752A KR 20140139752 A KR20140139752 A KR 20140139752A KR 20130060188 A KR20130060188 A KR 20130060188A KR 20130060188 A KR20130060188 A KR 20130060188A KR 20140139752 A KR20140139752 A KR 20140139752A
Authority
KR
South Korea
Prior art keywords
application
mobile terminal
routing
process information
routing application
Prior art date
Application number
KR20130060188A
Other languages
English (en)
Inventor
차윤민
배기완
Original Assignee
주식회사 인프라웨어테크놀러지
주식회사 인프라웨어
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 인프라웨어테크놀러지, 주식회사 인프라웨어 filed Critical 주식회사 인프라웨어테크놀러지
Priority to KR20130060188A priority Critical patent/KR20140139752A/ko
Publication of KR20140139752A publication Critical patent/KR20140139752A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 루팅 (rooting) 검출방법 및 검출장치에 관한 것으로서, 본 발명에 따른 루팅 검출방법은 모바일 단말상에서 개시되는 어플리케이션에 대한 프로세스 정보를 수신하는 단계, 루팅 어플리케이션 정보와 수신된 프로세스 정보를 비교하는 단계 및 비교 결과에 기초하여, 모바일 단말상에서 루팅 어플리케이션의 개시 여부를 검출하는 단계를 포함하는 것을 특징으로 하고, 루팅 어플리케이션이 파일명을 변경하거나, 파일을 숨기더라도, 루팅 어플리케이션의 실행 여부를 검출함으로써, 루팅을 방지할 수 있는 효과가 있다.

Description

루팅 검출방법 및 검출장치{METHOD AND APPARATUS FOR DETECTING ROOTING}
본 발명은 루팅 (rooting) 검출방법 및 검출장치에 관한 것으로서, 보다 상세하게는 모바일 단말상에 개시된 어플리케이션에 대한 프로세스 정보를 이용하여 루팅을 검출하는 방법 및 그 장치에 관한 것이다.
유무선 인터넷뿐만 아니라 이동통신 기술의 발달로, 무선 인터넷 등 다양한 기능을 갖춘 모바일 단말의 보급이 확산되고 있다. 이러한 모바일 단말에는 스마트폰 (smartphone), 태블릿 PC (tablet PC), PDA (personal digital assistant), 네비게이션 (navigation) 등이 있다.
이러한 모바일 단말을 제어하기 위한 모바일 운영 체제 (mobile operating system) 로서, 모바일 단말의 종류에 따라, 심비안, 안드로이드, iOS, 블랙베리 OS, 미고 등이 있다.
한편, 모바일 단말의 생산자나 판매자는, 비공식적으로 유포된 어플리케이션이 모바일 단말에 설치되거나, 모바일 단말이 불안정한 상태에서 구동되는 것 등을 방지하기 위해, 일반 사용자가 시스템 영역에 접근하지 못하게 하는 등의 제약을 모바일 단말에 가해두고 있다.
그러나, 모바일 운영 체제에서 사용 권한을 높이는 루팅 (rooting) 을 통해, 모바일 단말의 생산자나 판매자가 가해둔 제약이 해제되어, 시스템 영역의 접근이나, 모바일 단말의 오버클럭킹 (overclocking) 등의 작업이 가능해진다.
그러나, 루팅된 모바일 단말에는, 악성 코드나 바이러스 등이 아무런 제약 없이 침투할 수도 있고, 특히, 루팅된 모바일 단말상에서 보안이 요구되는 어플리케이션, 예컨대, 인터넷 뱅킹이나 증권 관련 금융 어플리케이션이 실행되는 경우에는, 사용자의 개인 정보가 유출될 수도 있다.
따라서, 모바일 단말을 루팅하거나, 그 루팅을 돕는 루팅 어플리케이션의 실행 여부를 검출할 수 있는 기술이 요구되고 있다.
본 발명이 해결하고자 하는 과제는 루팅 어플리케이션이 파일명을 변경하거나, 파일을 숨기더라도, 루팅 어플리케이션의 실행 여부를 검출할 수 있는 방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 모바일 단말의 루팅 상태와 무관하게, 루팅 어플리케이션의 실행 여부를 검출할 수 있는 방법 및 장치를 제공하는 것이다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 루팅 검출방법은 모바일 단말상에서 개시 (initiate) 되는 어플리케이션에 대한 프로세스 정보를 수신하는 단계, 루팅 (rooting) 어플리케이션 정보와 수신된 프로세스 정보를 비교하는 단계 및 비교 결과에 기초하여, 모바일 단말상에서 루팅 어플리케이션의 개시 여부를 검출하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 특징에 따르면, 개시되는 어플리케이션은 사용자의 입력에 응답하여 개시되는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 프로세스 정보는 프로세스 목록으로부터 수신되는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 프로세스 정보는, 개시되는 어플리케이션의 패키지 (package) 이름을 포함하고, 루팅 어플리케이션 정보는, 루팅 어플리케이션의 패키지 이름을 포함하고, 루팅 어플리케이션 정보와 수신된 프로세스 정보를 비교하는 단계는, 루팅 어플리케이션 및 개시되는 어플리케이션의 패키지 이름을 비교하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 검출 결과에 기초하여, 모바일 단말상에서 보안 처리를 수행하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 보안 처리는, 개시된 루팅 어플리케이션에 대한 로그 (log) 의 기록, 개시된 루팅 어플리케이션의 실행 중지, 개시된 루팅 어플리케이션의 개시 또는 실행 차단, 개시된 루팅 어플리케이션의 삭제 또는 보안이 요구되는 어플리케이션의 개시 차단 중 적어도 하나를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 단계들은 모바일 단말의 백그라운드 (background) 에서 수행되는 것을 특징으로 한다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 컴퓨터 판독가능매체는 모바일 단말상에서 루팅 어플리케이션의 개시 여부를 검출하기 위한 컴퓨터 판독가능매체로서, 모바일 단말상에 개시되는 어플리케이션에 대한 프로세스 정보를 수신하고, 루팅 어플리케이션 정보와 수신된 프로세스 정보를 비교하고, 비교 결과에 기초하여, 모바일 단말상에서 루팅 어플리케이션의 개시 여부를 검출하게 하는 명령어들의 세트를 포함하는 것을 특징으로 한다.
본 발명의 다른 특징에 따르면, 프로세스 정보는 프로세스 목록으로부터 수신되는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 프로세스 정보는, 실행되는 어플리케이션의 패키지 (package) 이름을 포함하고, 루팅 어플리케이션 정보는, 루팅 어플리케이션의 패키지 이름을 포함하고, 루팅 어플리케이션 정보와 수신된 프로세스 정보를 비교하게 하는 명령어들의 세트는, 루팅 어플리케이션 및 실행되는 어플리케이션 패키지 이름을 비교하게 하는 명령어들의 세트를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 명령어들의 세트들은 모바일 단말의 백그라운드 (background) 에서 실행되는 것을 특징으로 한다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 루팅 검출장치는 모바일 단말상에 개시되는 어플리케이션에 대한 프로세스 정보를 수신하는 프로세스 정보 수신부, 루팅 어플리케이션 정보와 수신된 프로세스 정보를 비교하는 비교부 및 비교 결과에 기초하여, 모바일 단말상에서 루팅 어플리케이션의 개시 여부를 검출하는 검출부를 포함하는 것을 특징으로 한다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명은 루팅 어플리케이션이 파일명을 변경하거나, 파일을 숨기더라도, 루팅 어플리케이션의 실행 여부를 검출함으로써, 루팅을 방지할 수 있는 효과가 있다.
본 발명은 모바일 단말의 루팅 상태와 무관하게, 모바일 단말을 언루팅 (unrooting) 하거나, 언루팅을 돕는 루팅 어플리케이션의 실행 여부를 검출함으로써, 루팅을 방지할 수 있는 효과가 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 루팅 검출장치의 블록도이다.
도 2는 모바일 단말상에서 보안 처리가 수행된 모습의 예시도이다.
도 3은 본 발명의 일 실시예에 따른 루팅 검출방법의 순서도이다.
도 4는 프로세스 목록의 예시도이다.
도 5는 본 발명의 일 실시예에 따른 루팅 검출방법의 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
비록 제 1, 제 2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서 이하에서 언급되는 제 1 구성요소는 본 발명의 기술적 사상 내에서 제 2 구성요소일 수도 있음은 물론이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터 또는 신호를 '전송'하는 경우에는 구성요소는 다른 구성요소로 직접 상기 데이터 또는 신호를 전송할 수 있고, 적어도 하나의 또 다른 구성요소를 통하여 데이터 또는 신호를 다른 구성요소로 전송할 수 있음을 의미한다.
본 명세서에 있어서, 루팅 (rooting) 이란, 모바일 단말에 탑재된 모바일 운영체제에서 사용권한을 상승시키는 것으로서, 모바일 단말의 생산자나 판매자에 의해 의도되지 않은, 시스템 영역에 접근을 돕는 모든 유형의 동작을 의미한다.
한편, 언루팅 (unrooting) 은, 루팅과 달리, 모바일 단말에 탑재된 모바일 운영체제에서 사용권한을 하락시킨다.
본 명세서에 있어서, 루팅 어플리케이션은 모바일 단말을 루팅하거나, 그 루팅을 돕는 어플리케이션을 의미한다. 또한, 루팅 어플리케이션은, 모바일 단말을 언루팅하거나, 언루팅을 돕는 어플리케이션을 포함할 수 있다.
본 명세서에 있어서, 어플리케이션의 개시란, 어플리케이션의 실행 (run) 을 개시 (initiate) 하는 것으로서, 사용자의 입력 또는 실행되어 있는 어플리케이션의 명령에 의해 어플리케이션이 개시될 수 있다. 한편, 개시되는 어플리케이션은 개시되고 있는 어플리케이션을 포함할 수 있다.
모바일 단말에서 루팅 어플리케이션이 개시되어 실행되면, 모바일 운영체제에서 사용권한이 상승하거나, 상승한 사용권한이 하락할 수 있다.
본 명세서에 있어서, 프로세스란, 어플리케이션이 구동되어 메모리에 상주된 상태로 실행되는 하나의 작업 단위를 의미한다.
본 명세서에 있어서, 프로세스 정보는 개시되는 어플리케이션에 대한 정보를 의미하며, 어플리케이션의 패키지 (package) 이름, 패키지 크기, 패키지 버전, 패키지 아이콘, 사용자 식별자 (UID; user identifier), 프로세스 식별자 (PID; process identifier), 부모 프로세스 식별자 (PPID; parent process identifier) 등을 포함할 수 있다.
모바일 단말에서 루팅 어플리케이션에 대한 검출은, 루팅 어플리케이션의 파일이나 디렉토리 (directory) 의 검사를 통해 수행될 수 있다. 그러나, 루팅 어플리케이션이 파일명을 변경하거나, 파일을 숨기는 경우에는, 루팅 어플리케이션에 대한 검출이 실패할 수 있다.
그러나, 본 발명의 일 실시예에 따른 루팅 검출방법 및 검출장치는, 루팅 어플리케이션이 파일명을 변경하거나, 파일을 숨기더라도, 루팅 어플리케이션의 개시 여부를 검출함으로써, 루팅을 방지할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 루팅 검출장치의 블록도이다.
본 발명의 일 실시예에 따른 루팅 검출장치 (100) 는 프로세스 정보 수신부 (110), 비교부 (120) 및 검출부 (130) 를 포함한다.
본 발명의 일 실시예에 따른 루팅 검출장치 (100) 는 모바일 단말 그 자체 또는 모바일 단말에 포함되는 모듈로서, 모바일 단말의 루팅을 방지할 수 있도록 구현된 장치이다. 구체적으로 루팅 검출장치 (100) 는 모바일 단말상에 개시되는 어플리케이션에 대한 프로세스 정보를 수신하여, 루팅 어플리케이션의 개시 여부를 검출한다.
본 발명의 일 실시예에 따른 루팅 검출장치 (100) 는, 루팅 어플리케이션이 파일명을 변경하거나, 파일을 숨기더라도, 모바일 단말상에 개시되는 루팅 어플리케이션에 대한 프로세스 정보를 수신함으로써, 루팅 어플리케이션의 개시 여부를 검출할 수 있다.
여기서, 모바일 단말은 스마트폰 (smartphone), 태블릿 PC (tablet PC), PDA (personal digital assistant), PMP (portable media player), 네비게이션 (navigation) 등을 포함할 수 있다.
프로세스 정보 수신부 (110) 는 모바일 단말상에 개시되는 어플리케이션에 대한 프로세스 정보를 수신한다.
만약 모바일 단말상에 복수의 어플리케이션이 개시되는 경우, 복수의 어플리케이션 각각에 대한 프로세스 정보가 수신될 수 있다. 여기서 프로세스 정보는 모바일 단말상에 개시되는 어플리케이션의 패키지 이름, 패키지 크기, 패키지 버전, 패키지 아이콘 중 적어도 하나를 포함할 수 있다.
어플리케이션 마켓에 일단 등록된 어플리케이션의 패키지 이름은 고유하고 영구적이므로, 어플리케이션의 패키지 이름은 각 어플리케이션을 식별하는 식별자로 기능할 수 있다. 따라서, 모바일 단말상에 개시되는 어플리케이션에 대한 프로세스 정보 중 해당 어플리케이션의 패키지 이름만이 수신될 수도 있다.
모바일 단말상에 개시되는 어플리케이션의 프로세스 정보 중 해당 어플리케이션의 패키지 이름만이 수신되는 경우에, 다른 항목들도 함께 수신되는 경우보다, 모바일 단말상에서 루팅 어플리케이션의 개시 여부 검출함에 있어 연산량이 감소될 수 있다.
또한, 모바일 단말상에서 일 어플리케이션이 부모 프로세스로서, 다른 어플리케이션을 개시할 수 있다. 따라서, 부모 프로세스인 어플리케이션에 대한 프로세스 정보와 루팅 어플리케이션 정보의 비교 결과만으로 해당 모바일 단말상에서의 루팅 어플리케이션 개시 여부 검출이 가능하므로, 모바일 단말상에서 부모 프로세스를 통하지 않고 독립적으로 개시되는 어플리케이션에 대한 프로세스 정보가 수신되도록 구현될 수도 있다.
모바일 단말상에 개시되는 어플리케이션에 대한 프로세스 정보는 프로세스 목록으로부터 수신될 수 있으며, 이는 도 4에서 후술한다.
비교부 (120) 는 루팅 어플리케이션 정보와 프로세서 정보 수신부를 통해 수신된 프로세스 정보를 비교한다. 여기서 루팅 어플리케이션 정보는 루팅 어플리케이션의 패키지 이름, 패키지 크기, 패키지 버전, 패키지 아이콘 중 적어도 하나를 포함할 수 있다.
비교부 (120) 를 통해, 루팅 어플리케이션 정보와 수신된 프로세스 정보 중 동일 항목이 서로 비교된다. 예컨대, 루팅 어플리케이션과 개시되는 어플리케이션의 패키지 이름이 서로 비교될 수 있다.
전술한 바와 같이, 어플리케이션의 패키지 이름은 각 어플리케이션을 식별하는 식별자로 기능할 수 있으므로, 어플리케이션 간 패키지 이름이 비교됨으로써, 다른 항목이 비교되는 경우에 비해, 모바일 단말상에서의 루팅 어플리케이션 개시 여부가 더 정확하게 검출될 수 있다.
다만, 비교부 (120) 를 통한 비교 대상이 어플리케이션의 패키지 이름에 한정되는 것은 아니며, 루팅 어플리케이션 정보 및 수신된 프로세스 정보에 포함될 수 있는 다른 항목들도 비교될 수 있고, 복수의 항목들이 함께 비교될 수 있다.
검출부 (130) 는, 비교부 (120) 의 비교 결과에 기초하여, 모바일 단말상에 루팅 어플리케이션이 개시되었는지 여부를 검출한다.
비교부 (120) 를 통한 비교 결과, 루팅 어플리케이션 정보와 수신된 프로세스 정보 중 동일 항목에 대한 값이 동일한 경우, 예컨대, 루팅 어플리케이션과 개시되는 어플리케이션의 패키지 이름이 서로 동일한 경우, 모바일 단말상에서 루팅 어플리케이션이 개시된 것으로 검출될 수 있다.
프로세스 정보 수신부 (110), 비교부 (120) 및 검출부 (130) 는, 모바일 단말의 백그라운드 (background) 에서 동작하도록 구현될 수 있다.
본 발명의 일 실시예에 따른 루팅 검출장치 (100) 는 모바일 단말상에 개시되는 어플리케이션에 대한 프로세스 정보를 수신하여 루팅 어플리케이션의 개시 여부를 검출하므로, 루팅 어플리케이션이 파일명을 변경하거나, 파일을 숨기는 방식 등을 통해, 검출의 회피를 시도하는 경우에도 루팅 어플리케이션의 개시 여부를 검출함으로써, 루팅을 방지할 수 있다.
만약, 모바일 단말의 루팅을 방지하기 위해, 모바일 단말의 루팅 상태만 검사하는 경우, 사용자가 모바일 단말을 언루팅함으로써 검사를 회피할 수 있다. 그러나, 본 발명의 일 실시예에 따른 루팅 검출 장치는 모바일 단말의 루팅 상태와 무관하게, 모바일 단말을 언루팅하거나, 언루팅을 돕는 루팅 어플리케이션의 개시 여부를 검출함으로써, 루팅을 방지할 수 있다.
한편, 검출부 (130) 를 통해 모바일 단말상에서 루팅 어플리케이션이 개시된 것으로 검출된 경우, 본 발명의 일 실시예에 따른 루팅 검출장치 (100) 는 모바일 단말상에서 보안 처리를 수행함으로써, 모바일 단말이 루팅되는 것을 방지할 수 있다. 보안 처리에 관한 구성과 관련하여 도 2를 참조하여 설명한다.
도 2는 모바일 단말상에서 보안 처리가 수행된 모습의 예시도이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 루팅 검출장치는 모바일 단말 (300) 에 포함되는 모듈로 구현될 수 있다.
본 발명의 일 실시예에 따른 루팅 검출장치는 보안 처리부를 더 포함할 수 있으며, 여기서 보안 처리부는, 루팅 어플리케이션이 개시된 것으로 검출된 모바일 단말 (300) 상에서 보안 처리를 수행한다. 여기서 보안 처리는, 모바일 단말 (300) 상에서 개시된 루팅 어플리케이션에 대한 로그 (log) 의 기록, 개시된 루팅 어플리케이션의 실행 중지, 해당 루팅 어플리케이션의 개시 또는 실행 차단, 해당 루팅 어플리케이션의 삭제 또는 보안이 요구되는 어플리케이션의 개시 차단 등을 포함할 수 있다.
특히, 검출부를 통해 모바일 단말 (300) 상에서 루팅 어플리케이션이 개시된 것으로 검출된 경우, 해당 모바일 단말 (300) 상에서 보안이 요구되는 어플리케이션의 실행은 개인 정보 유출 등과 같은 2차 위험을 증가시킬 수 있다. 따라서, 도 2에 도시된 바와 같이, 모바일 단말 (300) 상에서 개시된 루팅 어플리케이션의 개시가 차단되거나, 보안이 요구되는 어플리케이션의 개시가 차단될 수 있다.
보안 처리부는, 미리 설정된 보안 처리를 수행하도록 구현될 수 있으나, 루팅 어플리케이션에 따라 다른 보안 처리를 수행하거나, 사용자로부터 선택을 입력받아 보안 처리를 수행하도록 구현될 수도 있다.
한편, 보안 처리부는, 검출된 루팅 어플리케이션에 대한 로그를 기록하여 둠으로써, 이후 사용자에게 루팅의 위험성을 알리거나, 사용자에게 제재를 가하는 등의 후속 보안 처리를 수행하도록 구현될 수 있다.
만약 모바일 단말 (300) 상에서 개시된 것으로 검출된 루팅 어플리케이션에 대한 보안 처리부의 접근이 거부되어, 보안 처리부가 당장 루팅 어플리케이션의 실행 중지, 해당 루팅 어플리케이션의 개시 또는 실행 차단, 해당 루팅 어플리케이션의 삭제 등의 보안 처리를 수행할 수 없는 경우에는, 이후에 해당 루팅 어프리케이션에 대한 접근이 허용될 때, 기록된 로그를 통해, 보안 처리부가 해당 루팅 어플리케이션에 대한 보안 처리를 수행하도록 구현될 수 있다.
도 3은 본 발명의 일 실시예에 따른 루팅 검출방법의 순서도이다. 설명의 편의상 도 1을 참조하여 설명한다.
먼저, 프로세스 정보 수신부 (110) 를 통해, 모바일 단말상에 개시되는 어플리케이션에 대한 프로세스 정보가 수신된다 (S100).
만약 모바일 단말상에 복수의 어플리케이션이 개시되는 경우, 복수의 어플리케이션 각각에 대한 프로세스 정보가 수신될 수 있고, 모바일 단말상에 개시되는 어플리케이션에 대한 프로세스 정보 중, 해당 어플리케이션의 패키지 이름만이 수신될 수도 있다.
모바일 단말상에 개시되는 어플리케이션에 대한 프로세스 정보가 수신되면, 비교부 (120) 를 통해, 루팅 어플리케이션 정보와 수신된 프로세스 정보가 비교된다 (S110).
즉, 루팅 어플리케이션 정보와 수신된 프로세스 정보 중 동일 항목이 서로 비교된다. 예컨대, 루팅 어플리케이션과 개시되는 어플리케이션의 패키지 이름이 서로 비교될 수 있으나, 비교 대상이 어플리케이션의 패키지 이름에 한정되는 것은 아니며, 루팅 어플리케이션 정보 및 수신된 프로세스 정보에 포함될 수 있는 다른 항목들이 비교되거나, 복수의 항목들이 함께 비교될 수도 있다.
루팅 어플리케이션 정보와 수신된 프로세스 정보가 비교되면, 검출부 (130) 를 통해, 비교 결과에 기초하여 모바일 단말상에서 루팅 어플리케이션의 개시 여부가 검출된다 (S120).
비교부 (120) 를 통한 비교 결과, 루팅 어플리케이션 정보와 수신된 프로세스 정보 중 동일 항목에 대한 값이 동일한 경우, 예컨대, 루팅 어플리케이션과 개시되는 어플리케이션의 패키지 이름이 서로 동일한 경우, 모바일 단말상에서 루팅 어플리케이션이 개시된 것으로 검출될 수 있다.
모바일 단말상에서 루팅 어플리케이션이 개시되지 않은 것으로 검출된 경우, 다시 프로세스 정보 수신부 (110) 를 통해, 모바일 단말상에 개시되는 어플리케이션에 대한 프로세스 정보가 수신될 수 있다 (S100).
여기서, 프로세스 정보 수신 단계 (S100), 루팅 어플리케이션 정보와 수신된 프로세스 정보의 비교 단계 (S110) 및 루팅 어플리케이션의 개시 여부 검출 단계 (S120) 는 모바일 단말의 백그라운드에서 수행되도록 구현될 수 있다.
모바일 단말상에서 루팅 어플리케이션이 개시된 것으로 검출된 경우, 보안 처리부를 통해, 모바일 단말상에서 보안 처리가 수행된다 (S130).
보안 처리는 미리 설정된 바에 따라 수행되도록 구현될 수 있으나, 루팅 어플리케이션에 따라 다른 보안 처리가 수행되거나, 사용자로부터 선택을 입력받아 보안 처리가 수행되도록 구현될 수도 있다.
본 발명의 일 실시예에 따른 루팅 검출방법에 있어서, 프로세스 정보는 프로세스 목록으로부터 수신될 수 있다. 프로세스 목록으로부터 프로세스 정보를 수신하는 구성과 관련하여 도 4를 참조하여 설명한다.
도 4는 프로세스 목록의 예시도이다.
본 발명의 일 실시예에 따른 루팅 검출장치는, 프로세스 목록 수신부를 더 포함할 수 있으며, 여기서 프로세스 목록 수신부는, 모바일 단말상에 개시되는 어플리케이션에 대한 프로세스 정보가 포함된 프로세스 목록 (200) 을 수신한다.
프로세스 목록 (200) 은, 모바일 단말상에 개시되는 어플리케이션에 대한 프로세스 정보를 포함한다.
도 4를 참조하면, 프로세스 목록 (200) 은, 프로세스 정보로서, 개시되는 어플리케이션의 패키지 이름 (NAME, 210), 사용자 식별자 (UID; user identifier), 프로세스 식별자 (PID; process identifier), 부모 프로세스 식별자 (PPID; parent process identifier) 등을 포함할 수 있다.
프로세스 목록 (200) 을 통해 모바일 단말상에서 개시되는 어플리케이션의 수가 파악되거나, 모바일 단말의 메모리 사용량이 집계될 수도 있다.
프로세스 목록 수신부를 통해 프로세스 목록 (200) 이 수신되면, 개시되는 어플리케이션에 대한 프로세스 정보가 프로세스 목록 (200) 으로부터 수신될 수 있다. 프로세스 목록 (200) 으로부터 모바일 단말상에 개시되는 어플리케이션의 패키지 이름 (210) 만이 수신될 수도 있다.
한편, 프로세스 목록 (200) 이 갱신되도록 구현된 경우, 갱신된 프로세스 목록으로부터, 개시되는 어플리케이션에 대한 프로세스 정보가 수신될 수 있다. 여기서 프로세스 목록 (200) 의 갱신은, 모바일 단말상에서, 어플리케이션이 개시되는 경우, 실행되어 있지 않은 어플리케이션이 개시되는 경우 또는 부모 프로세스를 통하지 않고 독립적으로 어플리케이션이 개시되는 경우에 이루어지도록 구현될 수 있다.
갱신 전후의 프로세스 목록 일치 여부에 따라 프로세스 정보가 수신되는 구성과 관련하여 도 5를 참조하여 설명한다.
도 5는 본 발명의 일 실시예에 따른 루팅 검출방법의 흐름도이다.
먼저, 프로세서 목록 수신부를 통해 프로세스 목록이 갱신된다 (S200).
프로세스 목록이 갱신되면, 갱신 전후 프로세스 목록의 일치 여부가 결정된다 (S210).
갱신 전후 프로세스 목록의 일치 여부는, 프로세스 목록 갱신 전후 모바일 단말상에 개시되는 어플리케이션의 수의 일치 여부 또는 갱신 전후 프로세스 목록에 포함된 프로세스 정보의 일치 여부에 따라 결정되도록 구현될 수 있다.
또한, 갱신 전후 프로세스 목록의 일치 여부는, 프로세스 목록 갱신 전후의 모바일 단말의 메모리 사용량의 미리 결정된 범위 이상 변동 여부에 따라 결정되도록 구현될 수도 있다.
갱신 전후 프로세스 목록의 일치 여부의 결정 결과, 갱신 전후의 프로세스 목록이 일치하는 것으로 결정된 경우, 갱신 전후의 프로세스 목록이 불일치할 때까지 프로세스 목록이 갱신된다 (S200). 여기서 프로세스 목록 갱신 단계 (S200) 및 갱신 전후 프로세스 목록 일치 여부 검출 단계 (S210) 는 모바일 단말의 백그라운드에서 수행되도록 구현될 수 있다.
갱신 전후의 프로세스 목록의 일치 여부의 결정 결과, 갱신 전후의 프로세스 목록이 일치하지 않는 것으로 결정된 경우, 프로세스 목록으로부터 프로세스 정보가 수신된다 (S220).
프로세스 목록으로부터 프로세스 정보의 수신 단계 (S220), 루팅 어플리케이션 정보와 수신된 프로세스 정보의 비교 단계 (S230), 루팅 어플리케이션의 개시 여부 검출 단계 (S240) 및 모바일 단말상에서 루팅 어플리케이션이 개시된 것으로 검출된 경우의 보안 처리 수행 단계 (S250) 는, 각각 도 3에 도시된 프로세스 정보 수신 단계 (S100), 루팅 어플리케이션 정보와 수신된 프로세스 정보의 비교 단계 (S110), 루팅 어플리케이션의 개시 여부 검출 단계 (S120) 및 모바일 단말상에서 루팅 어플리케이션이 개시된 것으로 검출된 경우의 보안 처리 수행 단계 (S130) 와 실질적으로 동일하므로, 중복 설명은 생략한다.
다만, 루팅 어플리케이션의 개시 여부가 검출되는 단계 (S240) 에 있어서, 모바일 단말상에서 루팅 어플리케이션이 개시되지 않은 것으로 검출된 경우에는 다시 프로세서 목록 수신부를 통해 프로세스 목록이 갱신된다 (S200).
상기한 본 발명의 일 실시예에 따른 루팅 검출방법에 따르면, 갱신 전후 프로세스 목록의 일치 여부에 따라 이후 단계로의 진행 여부가 결정됨으로써, 적은 메모리 사용량과 소비 전력으로도 모바일 단말에서 루팅 어플리케이션의 개시 여부가 검출될 수 있다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
본 명세서에서, 각 블록은 특정된 논리적 기능 (들) 을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈 또는 그 2 개의 결합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링 되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로 (ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상으로 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 루팅 검출장치
110: 프로세스 정보 수신부
120: 비교부
130: 검출부
200: 프로세스 목록
210: 패키지 이름
300: 모바일 단말

Claims (12)

  1. 모바일 단말상에서 개시 (initiate) 되는 어플리케이션에 대한 프로세스 정보를 수신하는 단계;
    루팅 (rooting) 어플리케이션 정보와 수신된 상기 프로세스 정보를 비교하는 단계; 및
    상기 비교 결과에 기초하여, 상기 모바일 단말상에서 상기 루팅 어플리케이션의 개시 여부를 검출하는 단계를 포함하는 것을 특징으로 하는, 루팅 검출방법.
  2. 제 1 항에 있어서,
    상기 개시되는 어플리케이션은 사용자의 입력에 응답하여 개시되는 것을 특징으로 하는, 루팅 검출방법.
  3. 제 1 항에 있어서,
    상기 프로세스 정보는 프로세스 목록으로부터 수신되는 것을 특징으로 하는, 루팅 검출방법.
  4. 제 1 항에 있어서,
    상기 프로세스 정보는, 상기 개시되는 어플리케이션의 패키지 (package) 이름을 포함하고,
    상기 루팅 어플리케이션 정보는, 상기 루팅 어플리케이션의 패키지 이름을 포함하고,
    상기 루팅 어플리케이션 정보와 수신된 상기 프로세스 정보를 비교하는 단계는, 상기 루팅 어플리케이션 및 상기 개시되는 어플리케이션의 패키지 이름을 비교하는 단계를 포함하는 것을 특징으로 하는, 루팅 검출방법.
  5. 제 1 항에 있어서,
    상기 검출 결과에 기초하여, 상기 모바일 단말상에서 보안 처리를 수행하는 단계를 더 포함하는 것을 특징으로 하는, 루팅 검출방법.
  6. 제 5 항에 있어서,
    상기 보안 처리는, 개시된 루팅 어플리케이션에 대한 로그 (log) 의 기록, 상기 개시된 루팅 어플리케이션의 실행 중지, 상기 개시된 루팅 어플리케이션의 개시 또는 실행 차단, 상기 개시된 루팅 어플리케이션의 삭제 또는 보안이 요구되는 어플리케이션의 개시 차단 중 적어도 하나를 포함하는 것을 특징으로 하는, 루팅 검출방법.
  7. 제 1 항에 있어서,
    상기 단계들은 상기 모바일 단말의 백그라운드 (background) 에서 수행되는 것을 특징으로 하는, 루팅 검출방법.
  8. 모바일 단말상에서 루팅 어플리케이션의 개시 여부를 검출하기 위한 컴퓨터 판독가능매체로서,
    모바일 단말상에 개시되는 어플리케이션에 대한 프로세스 정보를 수신하고,
    루팅 어플리케이션 정보와 수신된 상기 프로세스 정보를 비교하고,
    상기 비교 결과에 기초하여, 상기 모바일 단말상에서 상기 루팅 어플리케이션의 개시 여부를 검출하게 하는 명령어들의 세트를 포함하는 것을 특징으로 하는, 컴퓨터 판독가능매체.
  9. 제 8 항에 있어서,
    상기 프로세스 정보는 프로세스 목록으로부터 수신되는 것을 특징으로 하는, 컴퓨터 판독가능매체.
  10. 제 8 항에 있어서,
    상기 프로세스 정보는, 상기 실행되는 어플리케이션의 패키지 (package) 이름을 포함하고,
    상기 루팅 어플리케이션 정보는, 상기 루팅 어플리케이션의 패키지 이름을 포함하고,
    상기 루팅 어플리케이션 정보와 수신된 상기 프로세스 정보를 비교하게 하는 명령어들의 세트는,
    상기 루팅 어플리케이션 및 상기 실행되는 어플리케이션 패키지 이름을 비교하게 하는 명령어들의 세트를 포함하는 것을 특징으로 하는, 컴퓨터 판독가능매체.
  11. 제 8 항에 있어서,
    상기 명령어들의 세트들은 상기 모바일 단말의 백그라운드 (background) 에서 실행되는 것을 특징으로 하는, 컴퓨터 판독가능매체.
  12. 모바일 단말상에 개시되는 어플리케이션에 대한 프로세스 정보를 수신하는 프로세스 정보 수신부;
    루팅 어플리케이션 정보와 수신된 상기 프로세스 정보를 비교하는 비교부; 및
    상기 비교 결과에 기초하여, 상기 모바일 단말상에서 상기 루팅 어플리케이션의 개시 여부를 검출하는 검출부를 포함하는 것을 특징으로 하는, 루팅 검출장치.
KR20130060188A 2013-05-28 2013-05-28 루팅 검출방법 및 검출장치 KR20140139752A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130060188A KR20140139752A (ko) 2013-05-28 2013-05-28 루팅 검출방법 및 검출장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130060188A KR20140139752A (ko) 2013-05-28 2013-05-28 루팅 검출방법 및 검출장치

Publications (1)

Publication Number Publication Date
KR20140139752A true KR20140139752A (ko) 2014-12-08

Family

ID=52457894

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130060188A KR20140139752A (ko) 2013-05-28 2013-05-28 루팅 검출방법 및 검출장치

Country Status (1)

Country Link
KR (1) KR20140139752A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180055626A (ko) * 2016-11-16 2018-05-25 숭실대학교산학협력단 루팅 탐지 장치 및 방법, 이를 수행하기 위한 기록 매체
KR20180058158A (ko) * 2016-11-23 2018-05-31 숭실대학교산학협력단 구글 플레이 스토어 루팅 앱 탐지 방법, 이를 수행하기 위한 기록 매체, 클라우드 서버 및 시스템
KR20180082217A (ko) * 2017-01-10 2018-07-18 삼성전자주식회사 프로세스의 권한 상승을 검출하는 전자 장치 및 저장 매체
WO2020060101A1 (ko) * 2018-09-20 2020-03-26 삼성전자 주식회사 보안 엘리먼트를 이용하여 서비스를 제공하는 전자 장치 및 그의 동작 방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180055626A (ko) * 2016-11-16 2018-05-25 숭실대학교산학협력단 루팅 탐지 장치 및 방법, 이를 수행하기 위한 기록 매체
KR20180058158A (ko) * 2016-11-23 2018-05-31 숭실대학교산학협력단 구글 플레이 스토어 루팅 앱 탐지 방법, 이를 수행하기 위한 기록 매체, 클라우드 서버 및 시스템
KR20180082217A (ko) * 2017-01-10 2018-07-18 삼성전자주식회사 프로세스의 권한 상승을 검출하는 전자 장치 및 저장 매체
WO2018131831A1 (ko) * 2017-01-10 2018-07-19 삼성전자 주식회사 프로세스의 권한 상승을 검출하는 전자 장치 및 저장 매체
US11392674B2 (en) 2017-01-10 2022-07-19 Samsung Electronics Co., Ltd. Electronic device detecting privilege escalation of process, and storage medium
WO2020060101A1 (ko) * 2018-09-20 2020-03-26 삼성전자 주식회사 보안 엘리먼트를 이용하여 서비스를 제공하는 전자 장치 및 그의 동작 방법
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

Similar Documents

Publication Publication Date Title
US9280664B2 (en) Apparatus and method for blocking activity of malware
US9081967B2 (en) System and method for protecting computers from software vulnerabilities
US8863291B2 (en) Reputation checking of executable programs
US9684518B2 (en) Option read-only memory use
US11194586B2 (en) Secure boot override in a computing device equipped with unified-extensible firmware interface (UEFI)-compliant firmware
US9953164B2 (en) Confirming a malware infection on a client device using a remote access connection tool, to identify a malicious file based on fuzz hashes
US9317691B2 (en) Pre-boot software verification
JP2009238153A (ja) マルウェア対処システム、方法及びプログラム
JP2012032925A (ja) プラットフォーム完全性検証システム
EP2680138B1 (en) Dynamic rule management for kernel mode filter drivers
WO2015103917A1 (zh) 无线路由设备管理方法和装置
US20090138969A1 (en) Device and method for blocking autorun of malicious code
WO2019019713A1 (zh) 检测应用程序内存泄露的方法、终端及可读存储介质
KR20140139752A (ko) 루팅 검출방법 및 검출장치
JP2014071796A (ja) マルウェア検知装置、マルウェア検知システム、マルウェア検知方法、及びプログラム
US20150163233A1 (en) Method And Apparatus For Scanning Files
WO2018108051A1 (zh) 一种系统管理方法及装置、存储介质
CN103488956A (zh) 可携式电子装置的数据保护方法及其计算机程序产品
US9448888B2 (en) Preventing a rollback attack in a computing system that includes a primary memory bank and a backup memory bank
CN110659491B (zh) 一种计算机系统恢复方法、装置、设备及可读存储介质
EP3321938B1 (en) Chip and chip burning method
US10754931B2 (en) Methods for configuring security restrictions of a data processing system
TW201626235A (zh) 用於偵測在第一階指令快取中之惡意碼之積體電路及方法
JP6018344B2 (ja) 動的読み込みコード解析装置、動的読み込みコード解析方法及び動的読み込みコード解析プログラム
US20150120862A1 (en) Data recovery

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination