KR20150105271A - 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버 - Google Patents

악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버 Download PDF

Info

Publication number
KR20150105271A
KR20150105271A KR1020150102173A KR20150102173A KR20150105271A KR 20150105271 A KR20150105271 A KR 20150105271A KR 1020150102173 A KR1020150102173 A KR 1020150102173A KR 20150102173 A KR20150102173 A KR 20150102173A KR 20150105271 A KR20150105271 A KR 20150105271A
Authority
KR
South Korea
Prior art keywords
malicious code
program
system call
data
kernel
Prior art date
Application number
KR1020150102173A
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 KR1020150102173A priority Critical patent/KR20150105271A/ko
Publication of KR20150105271A publication Critical patent/KR20150105271A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 커널 레벨에서 수신된 시스템 콜 상에서 판별되는 주소와 수신된 데이터의 타입에 기초하여 악성 코드를 차단할 수 있도록 하는 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버에 관한 것이다.
본 발명을 이용함으로써 커널 레벨에서 자동으로 신뢰할 수 없는 소스로부터의 응용 프로그램의 설치를 차단할 수 있도록 하는 효과가 있다.

Description

악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버{MALICIOUS CODE BLOCKING METHOD, HANDHELD DEVICE BLOCKING THE MALICIOUS CODE AT KERNEL LEVEL AND DOWNLOAD SERVER STORING PROGRAM OF THE MALICIOUS CODE BLOCKING METHOD}
본 발명은 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버에 관한 것으로서, 구체적으로는 커널 레벨에서 수신된 시스템 콜 상에서 판별되는 주소와 수신된 데이터의 타입에 기초하여 악성 코드를 차단할 수 있도록 하는, 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버에 관한 것이다.
오늘날 스마트폰을 이용하여 전자금융거래가 증가함에 따라, 스마트폰을 타깃으로 하는 새로운 위협들이 증가하고 있다. 그 중에서도 최근에 가장 위협이 되고 있는 스미싱 사기 기법은 갈수록 그 수법이 교묘해지고 다양해지고 있다. 예를 들어 최근에는 "모바일 무료 쿠폰, 청첩장, 고지서" 등으로 위장하여 사회 공학적 기법까지 활용되고 있는 실정이다.
스미싱(SMISHING)은 SMS(Short Message Service)와 Pishing이 합쳐진 조어이다. 스미싱은 인터넷 접속이 가능한 스마트폰 사용자를 대상으로 문자 메시지에 포함된 URL(Uniform Resource Locator)로 악성 코드를 설치 및 무단으로 결제하도록 하는 신종 사기 수법이다.
일반적으로 스미싱 사기 기법은 문자 메시지(SMS)를 발송하여 악성 행위(정보 유출이나 결제 등)를 하는 응용 프로그램의 설치를 유도하는 방법을 사용한다. 특히 안드로이드(Android)와 같이 그 소프트웨어 플랫폼이 공개된 경우에는 응용 프로그램의 설치가 용이하여 스미싱을 위한 악성 코드가 쉽게 휴대형 단말기 내로 침투될 수 있다.
이러한 스미싱 사기 기법에 대응하기 위해서, 금융 기관들은 스마트폰 사용자로 하여금 "알 수 없는 출처"의 응용 프로그램(애플리케이션(application))의 설치를 차단하는 방법을 사용할 것과 스미싱 탐지용 응용 프로그램을 설치하여 사용할 것을 권고하고 있다.
이와 같이 스미싱 사기 기법에 대응하는 방안으로 "알수 없는 출처" 보안 옵션을 활용하여 응용 프로그램의 서명의 인증 방안과 별도의 응용 프로그램인 스미싱 탐지용 응용 프로그램을 활용하는 방안이 알려져 있다.
스미싱 사기 기법의 대응 방안으로서, 스마트폰에 설치되는 안드로이드는 "알 수 없는 출처" 보안 옵션을 적용할 수 있다. 이 "알 수 없는 출처" 보안 옵션은 응용 프로그램의 설치시에 응용 프로그램의 서명을 검증하여 해당 응용 프로그램의 설치를 차단할 수 있도록 한다. 하지만 이런 보안 옵션은 공식 마켓 이외의 응용 프로그램의 설치를 원천적으로 차단하여 사용자가 설치를 원하는 응용 프로그램도 설치하지 못하는 문제가 있다. 이에 따라 안드로이드 공급사에서 공식적으로 인증하는 마켓을 제외한 다른 마켓이나 서버를 통해서는 해당 응용 프로그램을 설치하지 못하는 문제가 존재한다. 따라서 금융 사이트나 회사 내에서 프로그램 등을 공유할 수 있도록 하는 서버로부터의 응용 프로그램은 설치가 불가능하다.
또한 이 보안 옵션은 스마트폰 사용자에 의해서 해제(예를 들어 설정 체크 박스의 해제)될 수 있고 사용자가 해제한 후에는 보안 옵션 설정 여부를 인지하지 못하기에 스미싱 사기 기법의 위험에 노출될 수 있다.
한편 스미싱 사기 기법에 대응하는 다른 방안인 스미싱 탐지용 응용 프로그램은 문자 메시지의 문자열을 이용하여 문제의 응용 프로그램을 탐지하기에 오탐율이 높으며 별도로 설치해야 하는 문제가 존재한다. 또한 문자 메시지의 대안으로 이미지 형태의 스미싱에 대응이 불가능하다.
이와 같이 기존의 응용 프로그램의 설치시에 이용되는 악성 코드 차단 방식의 다양한 문제를 해소할 수 있도록 하는, 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버가 필요하다.
본 발명은, 상술한 문제점을 해결하기 위해서 안출한 것으로서, 문자 메시지를 통해 다운로드 되는 악성 코드를 주소 기반으로 차단할 수 있도록 하는 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버를 제공하는 데 그 목적이 있다.
또한 본 발명은 커널에 로딩될 수 있는 후킹 모듈을 활용하여 악성 코드를 차단할 수 있도록 하는 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버를 제공하는 데 그 목적이 있다.
또한 본 발명은 커널 레벨의 시스템 콜을 활용하여 사용자 레벨에서 활용하기 이전에 선제적으로 응용 프로그램 파일의 다운로드를 차단할 수 있도록 하는 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버를 제공하는 데 그 목적이 있다.
또한 본 발명은 사용자에 의한 입력 설정 없이도 커널 레벨에서 강제적으로 그리고 자동으로 악성 코드를 차단할 수 있도록 하는 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버를 제공하는 데 그 목적이 있다.
또한 본 발명은 서명을 통한 인증 없이 그리고 문자 메시지의 검색 없이 문자 메시지를 통해 접속하는 IP 주소 기반으로 악성 코드를 차단할 수 있도록 하는 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버를 제공하는 데 그 목적이 있다.
또한 본 발명은 다운로드된 데이터의 타입의 식별에 따라 다운로드된 데이터가 응용 프로그램을 나타내는 경우에 선별적으로 악성 코드를 차단할 수 있도록 하는 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버를 제공하는 데 그 목적이 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한, 악성 코드 차단 방법은 (a) 응용 프로그램을 통한 커널(kernel) 레벨의 시스템 콜(system call)을 수신하는 단계, (b) 시스템 콜로부터 IP(Internet Protocol) 주소를 식별하는 단계 및 (c) IP 주소에 기초하여 시스템 콜에 후속하여 수신되는 데이터의 차단 여부를 결정하는 단계를 포함한다.
또한 응용 프로그램은 문자 메시지에 포함된 URL의 선택에 따라 호출되는 웹 브라우저이며, 단계 (a) 내지 (c)는 커널에 로딩될 수 있는 후킹 모듈에 의해서 수행된다.
상기 단계 (c)는 (c-1) 시스템 콜로부터 식별된 IP 주소와 데이터 차단과 관련된 IP 리스트의 IP 주소들을 비교하는 단계 및 (c-2) 비교에 따라 데이터의 차단 여부를 결정하는 단계를 포함한다.
또한 IP 리스트는 시스템 콜을 통한 데이터의 수신을 허용하기 위한 화이트(white) 리스트이고, 단계 (c-2)는 식별된 IP 주소가 화이트 리스트에 존재하지 않는 경우에 데이터의 상기 응용 프로그램으로 전달을 차단하도록 결정한다.
또한 단계 (c)는 데이터로부터 식별되는 데이터 타입에 더 기초하여 데이터의 차단 여부를 결정한다.
또한 시스템 콜은 원격의 서버와 네트워크 연결 설정을 위한 연결 함수이거나 서버로부터 데이터를 수신하기 위한 수신 함수이고, 데이터는 수신 함수의 시스템 콜에 따라 수신되고 휴대형 단말기에서 수행될 수 있는 응용 프로그램이며, 후킹 모듈은 연결 함수 또는 수신 함수의 시스템 콜에 대하여 후킹을 수행한다.
또한 상기와 같은 목적을 달성하기 위한, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기는 응용 프로그램 및 악성 코드 차단 방법을 수행하는 커널 프로그램을 저장하는 비휘발성 메모리 및 응용 프로그램과 커널 프로그램을 수행하는 프로세서를 포함하며, 프로세서는 응용 프로그램을 통한 시스템 콜에 따라 커널 프로그램의 악성 코드 차단 방법을 수행하며, 악성 코드 차단 방법은 (a) 응용 프로그램을 통한 커널(kernel) 레벨의 시스템 콜(system call)을 수신하는 단계, (b) 시스템 콜로부터 IP(Internet Protocol) 주소를 식별하는 단계 및 (c) IP 주소에 기초하여 시스템 콜에 후속하여 수신되는 데이터의 차단 여부를 결정하는 단계를 포함한다.
또한 상기와 같은 목적을 달성하기 위한, 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버는 악성 코드 차단 방법을 수행하는 프로그램을 저장하는 저장 유닛, 네트워크 패킷을 송수신하는 네트워크 인터페이스 및 네트워크 패킷으로부터의 다운로드 요청에 따라 저장 유닛의 프로그램을 네트워크 패킷으로 변환하여 네트워크 인터페이스로 전달하는 프로세서를 포함하며, 악성 코드 차단 방법은 (a) 응용 프로그램을 통한 커널(kernel) 레벨의 시스템 콜(system call)을 수신하는 단계, (b) 시스템 콜로부터 IP(Internet Protocol) 주소를 식별하는 단계 및 (c) IP 주소에 기초하여 시스템 콜에 후속하여 수신되는 데이터의 차단 여부를 결정하는 단계를 포함한다.
상기와 같은 본 발명에 따른 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버는 문자 메시지를 통해 다운로드 되는 악성 코드를 주소 기반으로 차단할 수 있도록 하는 효과가 있다.
또한 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버는 커널에 로딩될 수 있는 후킹 모듈을 활용하여 악성 코드를 차단할 수 있도록 하는 효과가 있다.
또한 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버는 커널 레벨의 시스템 콜을 활용하여 사용자 레벨에서 활용하기 이전에 선제적으로 응용 프로그램 파일의 다운로드를 차단할 수 있도록 하는 효과가 있다.
또한 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버는 사용자에 의한 입력 설정 없이도 커널 레벨에서 강제적으로 그리고 자동으로 악성 코드를 차단할 수 있도록 하는 효과가 있다.
또한 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버는 서명을 통한 인증 없이 그리고 문자 메시지의 검색 없이 문자 메시지를 통해 접속하는 IP 주소 기반으로 악성 코드를 차단할 수 있도록 하는 효과가 있다.
또한 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버는 다운로드된 데이터의 타입의 식별에 따라 다운로드된 데이터가 응용 프로그램을 나타내는 경우에 선별적으로 악성 코드를 차단할 수 있도록 하는 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 악성 코드가 배포되는 시스템 환경과 본 발명에 따른 프로그램을 다운로드하기 위한 시스템 환경을 도시한 예시적인 시스템 블록도이다.
도 2는 휴대형 단말기의 예시적인 하드웨어 블록도를 도시한 도면이다.
도 3은 악성 코드를 차단하기 위해 휴대형 단말기에서 수행되는 프로그램들 간의 예시적인 연결 관계를 도시한 도면이다.
도 4는 휴대형 단말기의 커널 프로그램에 의해서 수행되는 예시적인 제어 흐름을 도시한 도면이다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술 되어 있는 상세한 설명을 통하여 더욱 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.
도 1은 악성 코드가 배포되는 시스템 환경과 본 발명에 따른 프로그램을 다운로드하기 위한 시스템 환경을 도시한 예시적인 시스템 블록도이다.
도 1에 따르면 본 시스템은 휴대형 단말기(100), 다운로드 서버(200) 및 웹 서버(300)를 포함한다. 도 1에서는 설명의 간단한 이해를 위해 단일의 휴대형 단말기(100), 다운로드 서버(200) 및 웹 서버(300)가 있는 것으로 도시하였으나, 이에 국한되지 않고 다수의 단말기 및 서버(200, 300)들이 본 시스템 내에 존재할 수 있다.
본 시스템의 각 장치들을 간단히 살펴보면, 휴대형 단말기(100)는 사용자가 휴대하는 단말기이다. 휴대형 단말기(100)는 각종 응용 프로그램을 저장하고 구동할 수 있어 전자금융거래, 특정 웹 서버(300)에 접속, 문자 메시지(SMS)의 수신 등을 할 수 있다. 휴대형 단말기(100)는 스마트폰, 태블릿 PC, PDA(Personal Digital Assistant) 등과 같이 적어도 응용 프로그램을 프로세서(160)를 통해 수행할 수 있는 단말기이다.
휴대형 단말기(100)는 또한 문자 메시지에 포함된 URL(Uniform Resource Locator)을 통해 응용 프로그램을 웹 서버(300)로부터 다운로드하고 다운로드된 응용 프로그램을 수행할 수 있도록 구성된다. 본 발명에 따른 휴대형 단말기(100)는 다운로드된 데이터가 응용 프로그램인지를 판단하고 그 판단에 따라 휴대형 단말기(100)의 사용자에게 제공되지 않도록 응용 프로그램을 차단할 수 있다. 이 과정에서 휴대형 단말기(100)는 웹 서버(300)의 IP(Internet Protocol) 주소와 다운로드된 데이터의 타입을 활용하여 차단 여부를 결정할 수 있다.
휴대형 단말기(100)에 관련해서는 도 2 내지 4를 통해서 더욱더 상세히 살펴보도록 한다.
다운로드 서버(200)는 각종 프로그램들을 저장하고 휴대형 단말기(100)를 통한 다운로드 요청에 따라 해당 프로그램을 휴대형 단말기(100)로 전송할 수 있도록 구성된다. 다운로드 서버(200)는 예를 들어 휴대형 단말기(100) 제조사, 휴대형 단말기(100)에 탑재되는 OS(Operating System)나 소프트웨어 플랫폼(Software Platform)의 제공 업체, 휴대형 단말기(100)의 통신 사업자 등에 의해서 제공되는 마켓이다. 이러한 다운로드 서버(200)는 예를 들어 휴대형 단말기(100)에 미리 탑재된 응용 프로그램에 의해서 연결될 수 있다.
다운로드 서버(200)는 적어도 인터넷 또는 인터넷을 구성하는 유선 또는 무선의 근거리 통신 네트워크를 통해 네트워크 패킷을 송수신하기 위한 네트워크 인터페이스, 다운로드 가능한 각종 프로그램들을 저장하는 저장 유닛(예를 들어 하드 디스크) 및 네트워크 인터페이스를 통해 수신된 네트워크 패킷으로부터 데이터를 처리하기 위한 프로세서를 포함한다.
다운로드 서버(200)의 프로세서는 네트워크 패킷으로부터 특정 프로그램을 다운로드하기 위한 다운로드 요청인지를 식별한다. 프로세서는 저장 유닛으로부터 다운로드 요청에 따라 대응하는 프로그램을 로딩(예를 들어 휘발성 메모리)하고 응용 프로그램을 네트워크 패킷으로 변환하여 네트워크 인터페이스로 전달한다. 네트워크 인터페이스는 이후 프로세서로부터 전달된 네트워크 패킷을 요청한 휴대형 단말기(100)로 전송한다.
본 발명에 따른 다운로드 서버(200)의 저장 유닛은 적어도 악성 코드를 차단하기 위한 프로그램을 저장한다. 이 프로그램은 커널 레벨에서 수행되는 커널 프로그램이며 바람직하게는 특정 시스템 콜(system call)을 후킹(hooking)하기 위한 후킹 모듈(155)을 포함한다. 본 발명에 따른 프로그램을 다운로드한 휴대형 단말기(100)는 이 커널 프로그램을 이용하여 응용 프로그램과의 인터페이스를 수행할 수 있다. 커널 프로그램은 예를 들어 안드로이드 소프트웨어 플랫폼상에서 커널 단의 일부를 구성하거나 또는 커널 단 위의 런타임 시스템 프로그램의 일부를 구성한다.
이러한 커널 프로그램은 후킹 모듈(155)을 통해 다른 커널 단의 프로그램 모듈과 연동하고 응용 프로그램의 수행에 따라 후킹 모듈(155)이 수행될 수 있다. 물론 다운로드 서버(200)를 통한 커널 프로그램의 동적인 갱신 이외에 이 커널 프로그램은 휴대형 단말기(100)의 소프트웨어 플랫폼(예를 들어 안드로이드, iOS 등) 상에 미리 탑재될 수 있다. 이에 따라 본 발명에 따른 악성 코드 차단 방법은 커널 프로그램의 형태로 휴대형 단말기(100)의 제조시에 탑재되어 사용자에게 배포될 수 있다.
후킹 모듈(155)에 대해서는 도 3 및 도 4를 통해서 더욱더 상세히 살펴보도록 한다.
웹 서버(300)는 문자 메시지에 포함된 URL을 통해 접속 가능한 서버이다. 웹 서버(300)는 HTTP(Hyper Text Transfer Protocol)에 따른 특정 리소스 요청에 따라 그 응답으로 해당 리소스를 제공할 수 있다. 웹 서버(300)는 예를 들어 스미싱 사기 기법에 이용되는 서버일 수 있다. 이에 따라 웹 서버(300)는 URL을 통한 접속 요청으로 악성 코드를 휴대형 단말기(100)로 전달할 수 있다.
물론 이 웹 서버(300)는 정상적으로 응용 프로그램을 다운로드 할 수 있는 서버일 수도 있다. 웹 서버(300)의 차단, 구체적으로는 응용 프로그램의 차단,은 바람직하게 웹 서버(300)의 주소를 이용하여 휴대형 단말기(100)의 커널 레벨에서 이루어질 수 있다. 주소는 예를 들어 웹 서버(300)의 IP 주소일 수 있다.
도 1에서는 예시적인 웹 서버(300)를 통해 악성 코드가 다운로드 되는 것으로 설명하였으나 이에 국한되지 않는다. 예를 들어 악성 코드는 HTTP 프로토콜 대신에 IP 프로토콜 상에서 수행될 수 있는 다른 통신 프로토콜에 따라 수행될 수 있는 서버로부터 수신될 수도 있다.
도 2는 휴대형 단말기(100)의 예시적인 하드웨어 블록도를 도시한 도면이다.
도 2의 휴대형 단말기(100)는 네트워크 인터페이스(110), 입력 인터페이스(120), 출력 인터페이스(130), 휘발성 메모리(140), 비휘발성 메모리(150), 프로세서(160) 및 시스템 버스/제어 버스(170)를 포함한다. 여기서는 본 발명에 따라 적어도 필요한 휴대형 단말기(100)의 구성 요소에 대해서만 간단히 설명하며 그 외 휴대형 단말기(100)에 더 포함될 수 있는 부가적인 구성 요소에 대한 설명은 생략하도록 한다.
네트워크 인터페이스(110)는 유선 또는 무선의 네트워크 패킷을 송수신할 수 있는 인터페이스이다. 네트워크 인터페이스(110)는 인터넷에 연결될 수 있도록 한다. 이러한 네트워크 인터페이스(110)는 예를 들어 이동 통신 사업자에 의해서 제공되는 이동 통신 네트워크, 유선 또는 무선의 근거리 통신 네트워크에 네트워크 패킷을 통해 데이터를 송수신할 수 있다. 네트워크 인터페이스(110)는 문자 메시지를 송수신할 수 있도록 하고 원격의 서버(예를 들어 웹 서버(300)나 다운로드 서버(200))와 데이터를 송수신할 수 있도록 한다.
입력 인터페이스(120)는 사용자 입력을 수신한다. 입력 인터페이스(120)는 예를 들어 버튼, 터치 패널, 마이크, 동작 센서 등을 구비하여 사용자 입력을 수신하고 사용자 입력을 프로세서(160)로 전달할 수 있다. 입력 인터페이스(120)는 휴대형 단말기(100)에 내장되는 사용자 입력에 따라 프로세서(160)를 통해 응용 프로그램을 구동할 수 있도록 한다. 또한 입력 인터페이스(120)는 문자 메시지의 특정 URL의 선택을 수신하고 해당 URL로 접속할 수 있도록 한다.
출력 인터페이스(130)는 사용자 입력이나 휴대형 단말기(100)의 상태 등을 사용자가 인식할 수 있도록 출력한다. 출력 인터페이스(130)는 예를 들어 디스플레이, 스피커, 진동 센서 등을 포함할 수 있다. 출력 인터페이스(130)는 예를 들어 사용자 입력에 따라 이동 통신 네트워크를 통해 수신된 문자 메시지를 디스플레이할 수 있다. 또한 휴대형 단말기(100)에 내장된 각종 프로그램들의 처리 결과 등을 디스플레이할 수 있다.
휘발성 메모리(140)는 SDRAM, DDR-DRAM 등과 같이 데이터를 임시로 저장하는 메모리이다. 휘발성 메모리(140)는 각종 데이터와 프로그램의 일부 코드를 임시로 저장한다. 휘발성 메모리(140)는 예를 들어 커널 프로그램, 문자 메시지 프로그램(151), 웹 브라우저(153)와 이러한 프로그램에서 이용되는 데이터 등을 임시로 저장한다.
비휘발성 메모리(150)는 낸드 플래쉬(Nand Flash)나 노어 플래쉬(Nor Flash) 등과 같이 데이터나 프로그램을 전원 공급 유무에 상관없이 저장할 수 있는 메모리이다. 비휘발성 메모리(150)는 각종 응용 프로그램과 커널 프로그램을 저장하며 예를 들어 문자를 수신하고 디스플레이하며 문자를 송신할 수 있는 문자 메시지 프로그램(151), HTTP 통신 프로토콜에 따라 원격의 웹 서버(300)에 접속하고 데이터를 수신할 수 있는 웹 브라우저(153), 사용자 레벨의 응용 프로그램(예를 들어 문자 메시지 프로그램(151), 웹 브라우저(153))을 관리하고 하드웨어 블록들을 제어하는 커널 프로그램을 포함한다.
커널 프로그램은 커널 레벨에서 수행되는 다양한 커널 모듈을 포함하며 커널 내부적으로 계층적인 구조를 가질 수 있다. 예를 들어 커널 프로그램은 프로그램의 수행 순서를 결정하기 위한 스케쥴러, 네트워크를 액세스하고 지원하기 위한 미들웨어, 하드웨어 블록들을 제어하기 위한 디바이스 드라이버 등을 포함한다. 특히 미들웨어는 통신 프로토콜(예를 들어 HTTP, TCP/IP 등)에 따른 네트워크 패킷을 송신하고 수신할 수 있도록 구성된다. 이러한 미들웨어는 시스템 콜을 사용자 레벨의 응용 프로그램을 통해 수신하고 네트워크 인터페이스(110)를 제어하여 해당 시스템 콜을 수행하고 이후 그 처리 결과를 응용 프로그램으로 반환할 수 있다.
본 발명에 따라 이 커널 프로그램 또는 커널 모듈은 수정되거나 추가될 수 있다. 예를 커널 프로그램은 본 발명의 기술적 사상에 따라 수정(예를 들어 시스템 콜을 수신하고 처리하기 위한 미들웨어의 수정)되거나 기존의 미들웨어 사이에서 시스템 콜을 후킹할 수 있는 후킹 모듈(155)을 더 포함할 수 있다. 이러한 미들웨어나 후킹 모듈(155)은 악성 코드를 차단하기 위해 이하에서 살펴볼(도 3 내지 도 4, 특히 도 4 참조) 제어 흐름을 수행할 수 있다.
프로세서(160)는 비휘발성 메모리(150)에 저장되는 각종 프로그램의 명령어 코드를 수행하는 실행 유닛이다. 프로세서(160)는 예를 들어 부팅시 커널 프로그램을 휘발성 메모리(140) 등에 로딩하고 사용자의 입력에 따라 특정 응용 프로그램을 휘발성 메모리(140) 등에 로딩한다. 프로세서(160)는 로딩된 응용 프로그램과 커널 프로그램을 수행할 수 있다. 특히 프로세서(160)는 문자 메시지 프로그램(151)으로부터 웹 브라우저(153) 호출에 따라 웹 브라우저(153)를 수행하고 웹 브라우저(153)에서의 시스템 콜에 따라 커널 프로그램(예를 들어 후킹 모듈(155))을 수행할 수 있다. 본 발명에 따른 프로세서(160)는 응용 프로그램을 통한 시스템 콜을 통해 수신된 악성 코드를 커널 레벨에서 커널 프로그램에 의해 차단할 수 있도록 한다.
시스템 버스/제어 버스(170)는 하드웨어 블록들 간 데이터를 송수신하고 제어 신호를 송수신할 수 있도록 한다. 시스템 버스/제어 버스(170)는 예를 들어 프로세서(160)의 의해서 제어되는 병렬 버스, 시리얼 버스, GPIO(General Purpose Input Output) 등 일 수 있다.
도 3은 악성 코드를 차단하기 위해 휴대형 단말기(100)에서 수행되는 프로그램들 간의 예시적인 연결 관계를 도시한 도면이다. 각각의 프로그램들은 예를 들어 비휘발성 메모리(150)에 저장되고 휴대형 단말기(100)의 부팅에 따라 및/또는 사용자의 선택에 따라 휘발성 메모리(140)에 로딩되어 수행될 수 있다.
휴대형 단말기(100)에서 수행되는 프로그램은 대표적으로 사용자 레벨에서 수행되는 응용 프로그램과 커널 레벨에서 수행되는 커널 프로그램으로 구분가능하다. 사용자 레벨의 응용 프로그램은 예를 들어 문자 메시지 프로그램(151), 웹 브라우저(153) 등이 있을 수 있다. 반면에 커널 레벨의 커널 프로그램은 각각의 기능을 수행하기 위한 커널 모듈로 구성된다. 커널 프로그램은 예를 들어 특정 시스템 콜을 처리하기 위한 시스템 콜 처리 모듈(157)을 포함한다. 이 시스템 콜 처리 모듈(157)은 지정된 통신 프로토콜에 따라 시스템 콜을 처리하도록 네트워크 인터페이스(110)를 통해(예를 들어 디바이스 드라이버를 이용하여) 네트워크 패킷을 송수신할 수 있도록 한다. 시스템 콜 처리 모듈(157)은 각각의 시스템 콜을 처리할 수 있고 소프트웨어 플랫폼에서 일반적으로 제공되는 기존 커널 모듈(예를 들어 미들웨어에 포함)이다.
또한 커널 프로그램은 후킹 모듈(155)을 더 포함할 수 있다. 후킹 모듈(155)은 특정 시스템 콜을 후킹하여 악성 코드의 차단을 수행할 수 있도록 구성된다. 후킹 모듈(155)은 커널에 동적으로 로딩될 수 있는 LKM(Loadable Kernel Module)로 구성된다. 이 후킹 모듈(155)은 이하에서 살펴볼(도 4 참조) 악성 코드의 차단을 수행할 수 있도록 구성된다.
물론 후킹 모듈(155) 대신에 시스템 콜 처리 모듈(157)이 후킹 모듈(155)의 기능을 수행할 수 있도록 변경할 수도 있다.
도 3을 통해 스미싱 사기 기법에 이용되는 프로그램 간 연결 관계를 살펴보면, 문자 메시지의 수신과 사용자 선택에 따라 문자 메시지 프로그램(151)이 수행된다. 문자 메시지 프로그램(151)은 출력 인터페이스(130)를 통해 수신된 문자 메시지(SMS)를 디스플레이한다. 문자 메시지 중 일부의 텍스트는 하일라이트될 수 있다. 이러한 텍스트는 예를 들어 URL로 표현될 수 있다. 사용자는 URL을 입력 인터페이스(120)를 통해 선택함으로써 웹 브라우저(153)가 호출된다.
웹 브라우저(153)는 문자 메시지 프로그램(151)으로부터 URL을 수신하고 이 URL을 통해 원격의 웹 서버(300)에 접속하고 이후 웹 서버(300)로부터 URL에 대응하는 데이터 등을 수신하도록 구성된다. 이를 위해 웹 브라우저(153)는 URL을 통해 웹 서버(300)와 연결(connect())을 위한 시스템 콜과 연결 후 데이터를 수신하기 위한 시스템 콜(recvfrom())을 호출한다.
이러한 시스템 콜은 원래의 시스템 콜 처리 모듈(157)로 전달되기 전에 후킹 모듈(155)에 의해서 가로채어 진다. 후킹 모듈(155)은 이러한 시스템 콜을 시스템 콜 처리 모듈(157)로 전달하고 그 응답(예를 들어 함수 호출에 따른 반환 값)을 수신할 수 있다. 후킹 모듈(155)은 응답의 수신 이후에 시스템 콜의 함수에 따라 접속하고자 하는 또는 데이터를 수신하고자 하는 서버(예를 들어 웹 서버(300))의 주소를 통해 수신된 데이터를 차단하도록 구성된다.
후킹 모듈(155) 또는 수정된 시스템 콜 처리 모듈(157)에 관해서는 도 4를 통해서 더욱더 살펴보도록 한다.
도 3의 휴대형 단말기(100)에서의 프로그램 간 연결 관계를 통해 사용자에 의한 설정이나 설정 해제와 상관없이 악성 코드일 것으로 예상되는 데이터를 커널 레벨에서 원천적으로 차단할 수 있도록 한다.
도 4는 휴대형 단말기(100)의 커널 프로그램에 의해서 수행되는 예시적인 제어 흐름을 도시한 도면이다. 바람직하게는 도 4의 제어 흐름은 커널에 로딩될 수 있는 후킹 모듈(155)에 의해서 또는 수정된 시스템 콜 처리 모듈(157)에 의해서 수행된다. 본 제어 흐름이 후킹 모듈(155)에 의해서 수행되는 것으로 가정하여 이하 설명한다. 본 제어 흐름은 웹 브라우저(153) 등과 같은 응용 프로그램이 시스템 콜을 호출함으로써 시작(S100)되고 본 제어 흐름의 수행을 완료함으로써 종료(S200)되며 프로세서(160)에 의해서 수행된다.
먼저 후킹 모듈(155)은 응용 프로그램으로부터 커널 레벨에서 수행되는 시스템 콜을 수신(S101)한다. 이러한 시스템 콜은 예를 들어 커널에 접속하기 위해 응용 프로그램에 의해서 이용할 수 있는 라이브러리(library)를 통해 이루어진다. 이 과정에서 후킹 모듈(155) 이전 단에 커널 레벨에서 수행하는 다른 커널 모듈 또는 함수가 호출될 수도 있고 이 다른 커널 모듈에 의해서 후킹 모듈(155)이 호출될 수도 있다. 응용 프로그램은 예를 들어 문자 메시지에 포함된 URL의 사용자 선택에 따라 호출되는 웹 브라우저(153)일 수 있다.
후킹 모듈(155)은 시스템 콜 함수를 식별하여 만일 후킹이 의도된, 즉 악성 코드의 차단을 위해 시스템 콜 함수의 기능 변경이 의도된, 시스템 콜 함수인지를 먼저 결정한다. 이 결정에 따라 만일 변경이 의도된 시스템 콜 함수가 아닌 경우에는 해당 시스템 콜을 시스템 콜 처리 모듈(157)로 바로 전달하고 종료(S200)한다.
변경이 의도된 시스템 콜 함수는 예를 들어 웹 서버(300)와 같은 서버에 네트워크 연결 설정을 위한 연결 함수(connect()) 및/또는 연결된 서버로부터 데이터를 수신하기 위한 수신 함수(recvfrom())일 수 있다. 이와 같이 후킹 모듈(155)은 적어도 연결 함수 및/또는 수신 함수에 대해서 후킹을 수행한다.
연결 함수나 수신 함수는 함수 파라미터(parameter)로서 다양한 파라미터를 포함하고 있다. 특히 연결 함수나 수신 함수는 특히 소켓 번호, 소켓 주소, 버퍼의 포인터를 포함하며 함수 호출에 대한 응답으로 정수 값이나 다른 포맷의 데이터를 반환하도록 구성(연결 함수나 수신 함수의 예시적인 함수 프로토타입(prototype)을 나타내는 '표 1' 참조)된다.
시스템 콜 함수 프로토타입
connect() int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen)
recvfrom() ssize_t recvfrom(int sockfd, const void *buf, size_t let, int flags, const struct sockaddr *src_addr, socklen_t addrlen)
여기서 시스템 콜 수신이라는 의미는 후킹 모듈(155)의 프로세서(160)에서의 수행 또는 구동을 나타낼 수 있다. 이러한 후킹 모듈(155)의 수행은 예를 들어 시스템 스택(stack)을 이용하여 이루어질 수 있고 스택에 각각의 파라미터를 포함할 수 있다.
이후 후킹 모듈(155)은 시스템 콜 함수의 파라미터로부터 접속 또는 데이터를 수신하고자 하는 주소를 식별한다. 나아가 후킹 모듈(155)은 식별된 주소와 소켓 번호 등을 임시로 더 저장(S103)할 수 있다. 주소는 소켓 주소(sockaddr)로부터 결정될 수 있고 예를 들어 인터넷 프로토콜에서 이용되는 IP 주소이다.
단계 S105에서 후킹 모듈(155)은 수신된 시스템 콜 함수를 원래의 시스템 콜 처리 모듈(157)이 처리하도록 시스템 콜 처리 모듈(157)로 전달(시스템 콜 함수 호출)한다.
이후 후킹 모듈(155)은 시스템 콜 전달에 따른 응답을 시스템 콜 처리 모듈(157)로부터 수신(S107)한다. 이러한 응답은 시스템 콜 함수 호출에 따른 반환 값(return value)일 수 있다.
단계 S101 내지 단계 S107은 단계 S109 수행 이전에 반복적으로 수행될 수 있다. 예를 연결 함수를 통해 IP 주소와 소켓 번호를 식별 및 저장하고 이후 연결을 수행하며, 연결 함수 호출 이후에 호출되는 수신 함수를 처리할 수 있다. 이 경우에는 연결 함수를 통한 IP 주소 및/또는 소켓 번호와 수신 함수를 통한 IP 주소 및/또는 소켓 번호는 동일한 출처인지를 위해 비교될 수 있다.
또는 단계 S101 내지 단계 S107은 단계 S109 수행 이전에 1회 수행될 수 있다. 1회에 한해 수행되는 경우에는 단계 S101 내지 단계 S107은 바람직하게 수신 함수에 대해서 IP 주소를 식별하고 수신 함수에 대한 응답을 수신하도록 구성된다.
단계 S1109 이하에서 후킹 모듈(155)은 시스템 콜로부터 식별되는 주소에 기초하여 시스템 콜에 후속하여 수신되는 데이터의 차단 여부를 결정한다.
좀 더 구체적으로 살펴보면, 후킹 모듈(155)은 응답에 따라 반환된 데이터의 타입을 결정(S109)한다. 이 데이터는 수신 함수의 포인터(pointer)를 통해 알 수 있다. 포인터는 예를 들어 '표 1'에서의 'buf'에 해당한다.
적어도 후킹 모듈(155)은 반환된 데이터가 응용 프로그램인지를 결정(S109)할 수 있다. 예를 들어 휴대형 단말기(100)가 안드로이드 소프트웨어 플랫폼을 이용하는 경우, 후킹 모듈(155)은 수신된 데이터의 파일의 확장자가 ".APK"인지 식별하거나 데이터의 구조 분석을 통해 데이터의 타입이 "vnd.android.package-archive"인지를 식별하여 해당 데이터가 응용 프로그램인지를 결정할 수 있다.
만일 반환된 데이터가 응용 프로그램이 아닌 경우에는 단계 S111로 전이하여 후킹 모듈(155)은 시스템 콜 처리 모듈(157)을 통해 수신된 응답을 응용 프로그램으로 반환(S111)한다. 이에 따라 응용 프로그램은 휴대형 단말기(100)에서 설치가 불가능한 다양한 데이터를 수신하고 처리할 수 있다.
만일 반환된 데이터가 응용 프로그램인 경우에 단계 S113으로 전이하여, 후킹 모듈(155)은 단계 S103으로부터 식별된 IP 주소가 응용 프로그램의 다운로드가 허용된 IP 리스트에 존재하는 지를 판단하기 위해 식별된 IP 주소와 IP 리스트를 비교하고 그 비교 결과에 따라 수신된 데이터를 차단 여부를 결정(S115, S117)한다.
IP 리스트는 커널 레벨의 시스템 콜을 통한 데이터의 수신을 허용할 수 있는 화이트(white list) 리스트이다. 이 화이트 리스트는 비휘발성 메모리(150)에 저장되어 있고 갱신될 수 있는 리스트이다. 화이트 리스트는 예를 들어 휴대형 단말기(100) 제조사, 소프트웨어 플랫폼 공급자에 의해서 제공될 수 있다. 나아가 화이트 리스트는 휴대형 단말기(100)의 사용자에 의해서 수정되거나 휴대형 단말기(100)와 신뢰할 수 있는 서버(예를 들어 전자금융거래 서버) 사이에 인증(예를 들어 서버 인증이나 사용자 인증 등)을 통한 연동으로 수정될 수 있다.
화이트 리스트를 이용함으로써, 휴대형 단말기(100) 내에 응용 프로그램을 설치할 수 있는 서버를 엄격히 관리할 수 있고, 사용자에 의해 사용자가 인증 가능한 서버를 통해 응용 프로그램을 다운로드 받고 설치할 수 있도록 한다.
단계 S113에서, 만일 이 화이트 리스트에 식별된 IP 주소가 존재하지 않는 경우에 단계 S115로 전이하여 시스템 콜을 호출한 응용 프로그램으로 데이터의 전달을 차단하도록, 후킹 모듈(155)은 데이터 차단을 위해 에러 응답을 호출한 응용 프로그램으로 반환한다. 이 과정에서 데이터를 나타내는 포인터를 널 포인터(null pointer)로 반환할 수 있다.
만일 신뢰할 수 있는 서버로부터의 데이터로 판단하여 단계 S117로 전이한 경우에, 후킹 모듈(155)은 시스템 콜 처리 모듈(157)을 통해 수신된 응답과 동일한 응답을 응용 프로그램으로 반환한다. 이에 따라 웹 브라우저(153) 등과 같은 응용 프로그램은 수신된 데이터를 이용하여 휴대형 단말기(100)에 새로운 응용 프로그램을 설치할 수 있다.
이상으로 살펴본 도 4의 제어 흐름은 커널 레벨의 커널 프로그램에 의해서 수행되고 이에 따라 사용자의 설정에 상관없이 악성 코드를 차단할 수 있도록 한다. 또한 이 제어 흐름은 화이트 리스트를 활용하여 IP 주소 기반으로 악성 코드의 차단을 수행할 수 있다. 도 4의 제어 흐름은 연결 함수 및/또는 수신 함수의 시스템 콜을 후킹하여 수신 함수나 연결 함수의 실제 처리 전후에 IP 주소, 화이트 리스트 및 수신된 데이터 타입에 기초하여 악성 코드의 차단이 이루어질 수 있도록 한다. 이에 따라 선제적인 악성 코드의 차단을 커널 레벨에서 수행할 수 있다.
한편 IP 주소의 식별을 단계 S103에서 수행하는 것으로 설명하였으나 이에 국한되지 않고 IP 주소의 식별을 응답 수신 단계(S107)에서 또는 전후에 수행할 수도 있다. 시스템 콜에 대한 반환 값을 응답으로 활용하기에 시스템 콜에 대하여 설정된 파라미터를 응답 수신시에 읽어 들여서 IP 주소를 결정하도록 할 수 있을 것이다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.
100 : 휴대형 단말기
110 : 네트워크 인터페이스 120 : 입력 인터페이스
130 : 출력 인터페이스 140 : 휘발성 메모리
150 : 비휘발성 메모리
151 : 문자 메시지 프로그램 153 : 웹 브라우저
155 : 후킹 모듈 157 : 시스템 콜 처리 모듈
160 : 프로세서 170 : 시스템 버스/제어 버스
200 : 다운로드 서버 300 : 웹 서버

Claims (8)

  1. (a) 응용 프로그램을 통한 커널(kernel) 레벨의 시스템 콜(system call)을 수신하는 단계;
    (b) 상기 시스템 콜로부터 IP(Internet Protocol) 주소를 식별하는 단계; 및
    (c) 상기 IP 주소에 기초하여 상기 시스템 콜에 후속하여 수신되는 데이터의 차단 여부를 결정하는 단계;를 포함하는,
    악성 코드 차단 방법.
  2. 제1항에 있어서,
    상기 응용 프로그램은 문자 메시지에 포함된 URL(Uniform Resource Locator)의 선택에 따라 호출되는 웹 브라우저이며,
    상기 단계 (a) 내지 (c)는 커널에 로딩될 수 있는 후킹 모듈에 의해서 수행되는,
    악성 코드 차단 방법.
  3. 제1항에 있어서,
    상기 단계 (c)는 (c-1) 상기 시스템 콜로부터 식별된 IP 주소와 데이터 차단과 관련된 IP 리스트의 IP 주소들을 비교하는 단계; 및 (c-2) 상기 비교에 따라 상기 데이터의 차단 여부를 결정하는 단계;를 포함하는,
    악성 코드 차단 방법.
  4. 제3항에 있어서,
    상기 IP 리스트는 상기 시스템 콜을 통한 데이터의 수신을 허용하기 위한 화이트(white) 리스트이며,
    상기 단계 (c-2)는 식별된 IP 주소가 상기 화이트 리스트에 존재하지 않는 경우에 상기 데이터의 상기 응용 프로그램으로 전달을 차단하도록 결정하는,
    악성 코드 차단 방법.
  5. 제3항에 있어서,
    상기 단계 (c)는 상기 데이터로부터 식별되는 데이터 타입에 더 기초하여 데이터의 차단 여부를 결정하는,
    악성 코드 차단 방법.
  6. 제2항에 있어서,
    상기 시스템 콜은 원격의 서버와 네트워크 연결 설정을 위한 연결 함수이거나 상기 서버로부터 데이터를 수신하기 위한 수신 함수이며,
    상기 데이터는 상기 수신 함수의 시스템 콜에 따라 수신되고 휴대형 단말기에서 수행될 수 있는 응용 프로그램이며,
    상기 후킹 모듈은 상기 연결 함수 또는 수신 함수의 시스템 콜에 대하여 후킹을 수행하는,
    악성 코드 차단 방법.
  7. 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기로서,
    응용 프로그램 및 제1항에 따른 악성 코드 차단 방법을 수행하는 커널 프로그램을 저장하는 비휘발성 메모리; 및
    상기 응용 프로그램과 상기 커널 프로그램을 수행하는 프로세서;를 포함하며,
    상기 프로세서는 상기 응용 프로그램을 통한 시스템 콜에 따라 상기 커널 프로그램의 악성 코드 차단 방법을 수행하는,
    휴대형 단말기.
  8. 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버로서,
    제1항에 따른 악성 코드 차단 방법을 수행하는 프로그램을 저장하는 저장 유닛;
    네트워크 패킷을 송수신하는 네트워크 인터페이스; 및
    상기 네트워크 패킷으로부터의 다운로드 요청에 따라 상기 저장 유닛의 프로그램을 네트워크 패킷으로 변환하여 상기 네트워크 인터페이스로 전달하는 프로세서;를 포함하는,
    다운로드 서버.
KR1020150102173A 2015-07-20 2015-07-20 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버 KR20150105271A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150102173A KR20150105271A (ko) 2015-07-20 2015-07-20 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150102173A KR20150105271A (ko) 2015-07-20 2015-07-20 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020140026040 Division 2014-03-05

Publications (1)

Publication Number Publication Date
KR20150105271A true KR20150105271A (ko) 2015-09-16

Family

ID=54244674

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150102173A KR20150105271A (ko) 2015-07-20 2015-07-20 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버

Country Status (1)

Country Link
KR (1) KR20150105271A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017078197A1 (ko) * 2015-11-05 2017-05-11 주식회사 수산아이앤티 차단 대상 응용 프로그램의 다운로드를 차단하는 방법 및 장치
KR102430882B1 (ko) * 2021-12-13 2022-08-09 에스지에이솔루션즈 주식회사 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법, 장치 및 컴퓨터-판독 가능 기록 매체

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017078197A1 (ko) * 2015-11-05 2017-05-11 주식회사 수산아이앤티 차단 대상 응용 프로그램의 다운로드를 차단하는 방법 및 장치
KR102430882B1 (ko) * 2021-12-13 2022-08-09 에스지에이솔루션즈 주식회사 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법, 장치 및 컴퓨터-판독 가능 기록 매체
WO2023113081A1 (ko) * 2021-12-13 2023-06-22 에스지에이솔루션즈 주식회사 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법, 장치 및 컴퓨터-판독 가능 기록 매체

Similar Documents

Publication Publication Date Title
US10614212B1 (en) Secure software containers
US11334660B2 (en) Authenticated discoverability of Universal Windows Applications to Win32 desktop applications
CN101714201B (zh) 代码签字系统及方法
US11100227B2 (en) Security indication information configuration method and device
CN106874037B (zh) 应用程序安装方法、装置及移动终端
WO2018228199A1 (zh) 一种授权方法以及相关设备
CN110869907B (zh) 一种浏览应用页面的方法及终端
US9483636B2 (en) Runtime application integrity protection
US10867050B2 (en) Method and apparatus for generating dynamic security module
US20150150119A1 (en) Framework for fine-grain access control from high-level application permissions
US10623417B1 (en) Software development kit (SDK) fraud prevention and detection
EP3534583A1 (en) Secure processor chip and terminal device
US9390259B2 (en) Method for activating an operating system in a security module
US20130104220A1 (en) System and method for implementing a secure USB application device
CN111357255B (zh) 构建多个应用通用的可信应用
KR20070008619A (ko) 무선 장치 동작 환경에서 비검증된 프로그램들의 실행
US11138027B2 (en) Method and terminal for implementing host card emulation, and data routing method and apparatus
CN105550584A (zh) 一种Android平台下基于RBAC的恶意程序拦截及处置方法
CN106850563B (zh) 访问支付终端的方法及装置
US10025575B2 (en) Method for installing security-relevant applications in a security element of a terminal
US20150106871A1 (en) System and method for controlling access to security engine of mobile terminal
US9888070B2 (en) Brokered advanced pairing
KR20150105271A (ko) 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버
CN110943827B (zh) 一种基于网络协议的数据获取方法及装置
US20190163905A1 (en) System, Method, and Apparatus for Preventing Execution of Malicious Scripts

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application