KR20110111714A - 단말 장치 및 상기 단말 장치의 악성코드 방어 방법, 신뢰도 분석 장치 및 방법 - Google Patents

단말 장치 및 상기 단말 장치의 악성코드 방어 방법, 신뢰도 분석 장치 및 방법 Download PDF

Info

Publication number
KR20110111714A
KR20110111714A KR1020100030936A KR20100030936A KR20110111714A KR 20110111714 A KR20110111714 A KR 20110111714A KR 1020100030936 A KR1020100030936 A KR 1020100030936A KR 20100030936 A KR20100030936 A KR 20100030936A KR 20110111714 A KR20110111714 A KR 20110111714A
Authority
KR
South Korea
Prior art keywords
program
terminal device
reliability
execute
execution
Prior art date
Application number
KR1020100030936A
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 KR1020100030936A priority Critical patent/KR20110111714A/ko
Publication of KR20110111714A publication Critical patent/KR20110111714A/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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Abstract

단말 장치 및 상기 단말 장치의 악성코드 방어 방법, 신뢰도 분석 장치 및 방법이 개시된다. 본 발명의 실시예들은 단말 장치에 실행될 프로그램이 신규 프로그램인 경우, 상기 프로그램에 대한 분석이 완료될 때까지 상기 프로그램의 실행을 중단함으로써, 신규 악성코드로부터 단말 장치를 보호할 수 있다.

Description

단말 장치 및 상기 단말 장치의 악성코드 방어 방법, 신뢰도 분석 장치 및 방법{TERMINAL DEVICE AND METHOD FOR DEPENDING MALICIOUS CODE OF THE TERMINAL DEVICE, DEVICE AND METHOD FOR ANALYZING RELIABILITY}
본 발명의 실시예들은 악성코드로부터 단말 장치를 보호하기 위해 악성코드의 설치를 사전에 차단할 수 있는 기술들과 관련된다.
최근, 초고속 인터넷 환경이 구축되면서, 프로그램이나 이-메일(e-mail) 등을 통해 유포되는 악성코드로 인한 피해가 급증하고 있다.
보통, 악성코드는 컴퓨터의 속도 저하시킬 수 있고, 웹 브라우저의 초기 페이지를 불건전 사이트로 고정할 수 있으며, 사용자의 컴퓨터를 스팸 메일 발송 서버로 사용하거나 DDoS(Distributed Denial of Service Attack) 공격의 거점 PC로 사용할 수 있고, 사용자의 개인 정보를 유출시킬 수 있다.
악성코드가 사용자의 컴퓨터에 설치되고 해를 입히는 방식은 ActiveX, Java Applet, Java WebStart, .NETClickOnce, Flash, UCC 등 다양하게 존재하나, 모두 HTTP 프로토콜을 이용하여 웹 서버로부터 원본 파일을 받는다는 점은 동일하다.
최근에는 이러한 악성코드의 유포를 방지하기 위해 다양한 방어기재에 대한 연구가 진행되고 있다.
먼저, 악성코드 방지를 위한 설치형 프로그램은 각 개인 컴퓨터에 설치되는 프로그램으로 악성코드나 바이러스 및 음란물의 실행을 감지하고, 이미 감염된 컴퓨터를 치료하는 형태로 작동되며, 일반적인 백신 프로그램이 이러한 방식에 해당한다.
또한, 악성코드를 방지하기 위한 방법으로 네트워크 앞단에 설치된 방화벽에서 불건전 사이트로 분류된 URL DB를 바탕으로 트래픽을 차단하는 방식이 있으며, URL을 수집하는 방식에 대해서는 여러가지 기법들이 존재한다.
전술한 바와 같이 악성코드를 방지하기 위한 여러가지 기법들이 존재하나 보통, 악성코드는 사용자의 부주의로 컴퓨터에 설치되는 경우가 많다. 더욱이 최근에는 널리 사용되는 애플리케이션의 취약점을 통해서 설치되어 사용자의 주의여부와는 관계없이 공격을 당하는 경우가 늘고 있어 악성코드의 설치를 사전에 방지할 수 있는 방어기법에 대한 연구가 필요하다.
본 발명의 실시예들은 단말 장치에 실행될 프로그램이 신규 프로그램인 경우, 상기 프로그램에 대한 분석이 완료될 때까지 상기 프로그램의 실행을 중단함으로써, 신규 악성코드로부터 단말 장치를 보호하고자 한다.
또한, 본 발명의 실시예들은 상기 신규 프로그램의 실행이 중단되기 전에 선정된(predetermined) 조건에 기초하여 상기 신규 프로그램의 실행 여부를 결정함으로써, 신규 프로그램의 무조건적인 실행 중단에 따른 사용자의 불편을 해소하고자 한다.
본 발명의 일실시예에 따른 단말 장치는 상기 단말 장치에 실행될 프로그램이 신규 프로그램인지 여부를 탐지하는 탐지부 및 상기 프로그램이 신규 프로그램으로 탐지된 경우, 상기 프로그램의 식별 값을 분석 서버로 전송하고, 상기 프로그램의 실행을 중단하는 제어부를 포함하고, 상기 분석 서버는 상기 프로그램의 식별 값을 기초로 상기 프로그램의 신뢰도를 분석하고, 상기 프로그램에 대한 신뢰도 분석 결과를 상기 단말 장치로 전송한다.
또한, 본 발명의 일실시예에 따른 신뢰도 분석 장치는 단말 장치로부터 상기 단말 장치에 실행될 프로그램의 식별 값을 수신하는 식별 값 수신부, 선정된(predetermined) 신뢰 조건에 기초하여 상기 프로그램의 신뢰도를 분석하는 분석부 및 상기 프로그램에 대한 신뢰도 분석 결과를 상기 단말 장치로 전송하는 결과 전송부를 포함하고, 상기 단말 장치는 상기 프로그램이 신뢰되지 않은 신규 프로그램인 경우, 상기 프로그램의 실행을 중단한다.
또한, 본 발명의 일실시예에 따른 단말 장치의 악성코드 방어 방법은 상기 단말 장치에 실행될 프로그램이 신규 프로그램인지 여부를 탐지하는 단계, 상기 프로그램이 신규 프로그램으로 탐지된 경우, 상기 프로그램의 실행을 중단하는 단계 및 상기 프로그램의 식별 값을 분석 서버로 전송하는 단계를 포함하고, 상기 분석 서버는 상기 프로그램의 식별 값을 기초로 상기 프로그램의 신뢰도를 분석하고, 상기 프로그램에 대한 신뢰도 분석 결과를 상기 단말 장치로 전송한다.
또한, 본 발명의 일실시예에 따른 신뢰도 분석 방법은 단말 장치로부터 상기 단말 장치에 실행될 프로그램의 식별 값을 수신하는 단계, 선정된(predetermined) 신뢰 조건에 기초하여 상기 프로그램의 신뢰도를 분석하는 단계 및 상기 프로그램에 대한 신뢰도 분석 결과를 상기 단말 장치로 전송하는 단계를 포함하고, 상기 단말 장치는 상기 프로그램이 신뢰되지 않은 신규 프로그램인 경우, 상기 프로그램의 실행을 중단한다.
본 발명의 실시예들은 단말 장치에 실행될 프로그램이 신규 프로그램인 경우, 상기 프로그램에 대한 분석이 완료될 때까지 상기 프로그램의 실행을 중단함으로써, 신규 악성코드로부터 단말 장치를 보호할 수 있다.
또한, 본 발명의 실시예들은 상기 신규 프로그램의 실행이 중단되기 전에 선정된(predetermined) 조건에 기초하여 상기 신규 프로그램의 실행 여부를 결정함으로써, 신규 프로그램의 무조건적인 실행 중단에 따른 사용자의 불편을 해소할 수 있다.
도 1은 본 발명의 일실시예에 따른 단말 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 신뢰도 분석 장치의 구조를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 단말 장치의 악성코드 방어 방법을 도시한 순서도이다.
도 4는 본 발명의 일실시예에 따른 신뢰도 분석 방법을 도시한 순서도이다.
이하에서, 첨부된 도면을 참조하여 본 발명에 따른 실시예들을 상세히 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
보통, 새로운 형태의 샘플이 접수된 경우, 이러한 샘플이 악성코드로 분석되기까지는 평균 3일 정도가 걸리는 것으로 알려져 있다.
따라서, 악성코드로 분석되기까지의 기간 동안 신규 악성코드에 감염된 컴퓨터는 악성코드에 대해 무방비 상태로 방치될 수 밖에 없다.
특히, 최근에는 잠복기 동안 아무런 의심행위를 하지 않는 악성코드가 등장함에 따라 이러한 악성코드로 인한 피해가 예상되고 있다.
본 발명의 실시예들은 이러한 악성코드로 인한 피해를 줄이기 위해 단말 장치에 실행될 프로그램이 신규 프로그램인 경우, 신규 프로그램에 대한 신뢰성이 확보될 때까지 신규 프로그램의 실행을 중단함으로써, 악성코드의 설치를 사전에 방지할 수 있는 기법을 제공하고자 한다.
먼저, 도 1을 참조하여 본 발명의 일실시예에 따른 단말 장치를 설명하기로 한다.
도 1은 본 발명의 일실시예에 따른 단말 장치의 구조를 도시한 도면이다.
도 1을 참조하면, 단말 장치(110)는 탐지부(111) 및 제어부(113)를 포함한다.
여기서, 단말 장치(110)는 퍼스널 컴퓨터, 서버, MP3 플레이어, PMP, 네비게이션 단말기, 모바일 단말기, PDA 등 마이크로 프로세서 기반의 장치를 통칭하는 개념이다.
탐지부(111)는 단말 장치(110)에 실행될 프로그램이 신규 프로그램인지 여부를 탐지한다.
이때, 본 발명의 일실시예에 따르면, 탐지부(111)는 분석 서버(120)가 관리하고 있는 파일 데이터베이스에 접근함으로써, 상기 프로그램이 신규 프로그램인지 여부를 탐지할 수 있다.
만약, 상기 프로그램이 신규 프로그램으로 탐지된 경우, 제어부(113)는 상기 프로그램의 식별 값을 분석 서버(120)로 전송하고, 상기 프로그램의 실행을 중단한다.
하지만, 상기 프로그램이 신규 프로그램이 아닌 것으로 탐지된 경우, 제어부(113)는 상기 프로그램의 실행을 중단하지 않는다.
본 발명의 일실시예에 따르면, 제어부(113)는 상기 프로그램의 식별 값으로 해시(Hash) 값을 분석 서버(120)로 전송할 수 있다.
이때, 제어부(113)는 상기 프로그램의 해시 값에 파일명, 전자서명 정보, 버전 등과 같은 부가적인 데이터를 추가하여 분석 서버(120)로 전송할 수 있다.
또한, 본 발명의 일실시예에 따르면, 제어부(113)는 상기 프로그램이 로드(load)되는 프로세스를 서스펜드(SUSPEND)하여 상기 프로그램의 실행을 일시 중단할 수 있다.
다시 말해서, 제어부(113)는 상기 프로그램이 실행될 때 사용하는 운영체제의 함수를 가로채고, 상기 가로챈 함수에서 파라메터(parameter)를 조정하거나 시스템 호출을 통하여 해당 프로세스를 서스펜드함으로써, 상기 프로그램의 실행을 지연시킬 수 있다.
본 발명의 또 다른 일실시예에 따르면, 제어부(113)는 상기 프로그램이 로드되는 프로세스를 종료시키는 시스템 호출을 사용하여 상기 프로그램의 실행을 중단할 수 있다.
다시 말해서, 제어부(113)는 "TerminateProcess"와 같은 프로세스를 종료시킬 수 있는 시스템 호출을 사용함으로써, 상기 프로그램의 실행을 차단할 수 있다.
만약, 제어부(113)가 프로세스를 종료시킬 수 있는 시스템 호출을 사용할 수 없는 경우, 제어부(113)는 상기 프로그램이 로드되는 프로세스를 서스펜드한 후 추후 다시 프로세스를 종료시키는 시스템 호출을 사용함으로써, 상기 프로그램의 실행을 차단할 수 있다.
제어부(113)가 상기 프로그램의 실행을 중단하고, 상기 프로그램의 식별 값을 분석 서버(120)로 전송하면, 분석 서버(120)는 상기 프로그램의 식별 값을 기초로 상기 프로그램의 신뢰도를 분석하고, 상기 프로그램에 대한 신뢰도 분석 결과를 단말 장치(110)로 전송한다.
이때, 상기 신뢰도 분석 결과는 상기 프로그램의 최초 발견일, 제작자, 배포경로, 경과기간, 프로그램의 행위 또는 악성 여부 등과 같은 분석데이터가 될 수 있다.
본 발명의 일실시예에 따르면, 제어부(113)는 분석 서버(120)로부터 상기 신뢰도 분석 결과를 수신하고, 상기 수신된 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정할 수 있다.
즉, 제어부(113)는 상기 프로그램에 악성코드가 포함되어 있지 않는 등 상기 프로그램의 신뢰도가 확보되었다고 판단된 경우에만 상기 프로그램을 실행함으로써, 신규 프로그램의 실행에 따른 위험으로부터 단말 장치(110)를 보호할 수 있다.
이때, 제어부(113)가 상기 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정하는 설정은 하기의 표 1과 같을 수 있다.
번호 조건
1 발견된 지 X일 이내인 프로그램은 실행하지 않음
2 발견된 지 X일 이내인 프로그램이 어떤 의심행위를 수행하면, 그 때부터 실행하지 않음
3 분석 완료될 때까지 실행하지 않음
즉, 제어부(113)는 상기 신뢰도 분석 결과와 상기 표 1에 나타낸 설정에 기초하여 상기 프로그램의 실행 여부를 결정할 수 있다.
지금까지 설명한 실시예는 제어부(113)가 분석 서버(120)로부터 상기 신뢰도 분석 결과를 수신하면, 상기 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정하는 실시예였다.
하지만, 본 발명의 또 다른 일실시예에 따르면, 분석 서버(120)가 상기 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정한 후 상기 프로그램의 실행 여부에 대한 결정 명령을 단말 장치(110)로 전송하면, 제어부(113)는 분석 서버(120)로부터 상기 결정 명령을 수신하고, 상기 결정 명령을 기초로 상기 프로그램의 실행을 제어할 수 있다.
즉, 앞서 설명한 실시예에서는 분석 서버(120)가 상기 프로그램에 대한 신뢰도 분석만 수행하고, 제어부(113)가 상기 프로그램의 실행 여부를 결정하였지만, 본 실시예에서는 분석 서버(120)가 상기 프로그램에 대한 신뢰도 분석도 수행하고, 상기 프로그램의 실행 여부도 결정할 수 있다.
분석 서버(120)가 상기 프로그램의 실행 여부를 결정하는 방법은 전술한 제어부(113)가 상기 프로그램의 실행 여부를 결정하는 방법과 대응될 수 있으므로, 상세한 설명은 생략한다.
본 발명의 일실시예에 따르면, 단말 장치(110)는 신뢰도 판단부(112)를 더 포함할 수 있다.
신뢰도 판단부(112)는 상기 프로그램이 탐지부(111)에서 신규 프로그램으로 탐지된 경우, 상기 프로그램이 선정된(predetermined) 신뢰 조건을 만족하는지 여부를 판단한다.
이때, 제어부(113)는 상기 프로그램이 상기 선정된 신뢰 조건을 만족하지 않는 것으로 판단된 경우, 상기 프로그램의 실행을 중단할 수 있다.
즉, 본 발명의 일실시예에 따른 단말 장치(110)는 제어부(113)가 상기 프로그램의 실행을 중단하기 전에 신뢰도 판단부(112)에서 상기 프로그램이 사용자가 미리 설정한 신뢰 조건을 만족하는지 여부를 먼저 판단함으로써, 상기 프로그램이 신뢰할 수 있는 프로그램임에도 불구하고 신규 프로그램이라는 이유만으로 실행 중단되는 것을 방지할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 선정된 신뢰 조건은 하기의 표 2와 같이 설정될 수 있다.
번호 조건
1 신뢰할 수 있는 회사의 서명이 있는 경우
2 신뢰할 수 있는 서버의 신뢰할 수 있는 URL로부터 다운로드된 경우(다른 단말에서도 동일한 배포 경로를 가지는 파일이 발견되어야 함)
3 신뢰할 수 있는 파일이 생성한 파일(다른 단말에서도 동일한 배포 경로를 가지는 파일이 발견되어야 함
4 CD-ROM 등 고정식 디스크에서 추출되었거나 실행되는 파일(다른 단말에서도 동일한 배포 경로를 가지는 파일이 발견되어야 함)
5 신뢰할 수 있는 회사의 서명이 되어 있는 cab이나 jar와 같은 컨테이너 파일로부터 추출된 파일
6 기타 예외 케이스에 대한 신속한 처리 방법
본 발명의 일실시예에 따르면, 단말 장치(110)는 상기 프로그램의 실행 여부 등과 같은 정보를 디스플레이하는 디스플레이부(도시되지 않음)를 더 포함할 수 있다.
즉, 상기 디스플레이부는 상기 프로그램이 탐지부(111)에서 신규 프로그램으로 탐지되어 제어부(113)가 상기 프로그램의 실행을 중단한 경우, 상기 프로그램의 실행 중단에 대한 알림 정보를 디스플레이할 수 있다.
또한, 상기 디스플레이부는 단말 장치(110)가 분석 서버(120)로부터 상기 신뢰도 분석 결과를 수신하면, 상기 수신된 신뢰도 분석 결과를 디스플레이할 수 있다.
또한, 상기 디스플레이부는 상기 신뢰도 분석 결과를 기초로 결정되는 상기 프로그램의 재실행 여부에 대한 알림 정보를 디스플레이할 수 있다.
이를 통해 사용자는 자신의 단말 장치(110)에서 발생하는 프로그램의 실행 여부에 대한 정보를 손쉽게 획득할 수 있다.
이때, 본 발명의 일실시예에 따르면, 단말 장치(110)는 소정의 입력 수단을 통해 사용자로부터 프로그램의 실행 여부에 대한 명령어를 입력받고, 상기 입력받은 명령어를 기초로 상기 프로그램의 실행 여부를 결정함으로써, 상기 디스플레이부를 통해 디스플레이되는 알림 정보 또는 신뢰도 분석 결과를 기초로 사용자가 자신의 선택에 따라 프로그램의 실행 여부를 결정할 수 있도록 할 수 있다.
도 2는 본 발명의 일실시예에 따른 신뢰도 분석 장치의 구조를 도시한 도면이다.
도 2를 참조하면, 신뢰도 분석 장치(210)는 식별 값 수신부(211), 분석부(212) 및 결과 전송부(213)를 포함한다.
먼저, 단말 장치(220)가 단말 장치(220)에 실행될 프로그램이 신규 프로그램인지 여부를 탐지하고, 상기 프로그램이 신규 프로그램으로 탐지된 경우, 상기 프로그램의 식별 값을 신뢰도 분석 장치(210)로 전송하고, 상기 프로그램의 실행을 중단한다.
이때, 식별 값 수신부(211)는 단말 장치(220)로부터 상기 프로그램의 식별 값을 수신한다.
본 발명의 일실시예에 따르면, 상기 프로그램의 식별 값은 상기 프로그램의 해시 값이 될 수 있다.
분석부(212)는 선정된 신뢰 조건에 기초하여 상기 프로그램의 신뢰도를 분석한다.
결과 전송부(213)는 상기 프로그램에 대한 신뢰도 분석 결과를 단말 장치(220)로 전송한다.
이때, 상기 신뢰도 분석 결과는 상기 프로그램의 최초 발견일, 경과기간, 프로그램의 행위 또는 악성 여부 등과 같은 분석데이터가 될 수 있다.
본 발명의 일실시예에 따르면, 결과 전송부(213)가 상기 신뢰도 분석 결과를 전송하면, 단말 장치(220)는 상기 신뢰도 분석 결과를 수신하고, 상기 수신된 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정할 수 있다.
즉, 단말 장치(220)는 상기 프로그램에 악성코드가 포함되어 있지 않는 등 상기 프로그램의 신뢰도가 확보되었다고 판단된 경우에만 상기 프로그램을 실행함으로써, 신규 프로그램의 실행에 따른 위험으로부터 단말 장치(220)를 보호할 수 있다.
이때, 단말 장치(220)는 상기 표 1에 나타낸 설정에 기초하여 상기 프로그램의 실행 여부를 결정할 수 있다.
또한, 본 발명의 또 다른 일실시예에 따르면, 신뢰도 분석 장치(210)는 단말 제어부(214)를 더 포함할 수 있다.
단말 제어부(214)는 상기 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정하고, 상기 프로그램의 실행 여부에 대한 결정 명령을 단말 장치(220)로 전송한다.
이때, 단말 장치(220)는 상기 결정 명령을 기초로 상기 프로그램의 실행을 제어할 수 있다.
즉, 본 실시예에서는 신뢰도 분석 장치(210)가 상기 프로그램에 대한 신뢰도를 분석함과 동시에 상기 프로그램의 실행 여부도 결정할 수 있다.
도 3은 본 발명의 일실시예에 따른 단말 장치의 악성코드 방어 방법을 도시한 순서도이다.
단계(S310)에서는 단말 장치에 실행될 프로그램이 신규 프로그램인지 여부를 탐지한다.
이때, 본 발명의 일실시예에 따르면, 단계(S310)에서는 분석 서버가 관리하고 있는 파일 데이터베이스를 참조함으로써, 상기 프로그램이 신규 프로그램인지 여부를 탐지할 수 있다.
만약, 단계(S320)에서 단계(S310)에 대한 판단을 수행한 결과, 상기 프로그램이 신규 프로그램이 아닌 것으로 탐지된 경우, 단계(S330)에서 상기 프로그램을 실행하고, 본 과정을 종료한다.
하지만, 단계(S320)에서 단계(S310)에 대한 판단을 수행한 결과, 상기 프로그램이 신규 프로그램인 것으로 탐지된 경우, 단계(S340)에서 상기 프로그램의 실행을 중단한다.
이때, 본 발명의 일실시예에 따르면, 단계(S340)에서는 상기 프로그램이 로드되는 프로세스를 서스펜드하여 상기 프로그램의 실행을 중단할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S340)에서는 상기 프로그램이 로드되는 프로세스를 종료시키는 시스템 호출을 사용하여 상기 프로그램의 실행을 중단할 수 있다.
본 발명의 일실시예에 따르면, 상기 단말 장치의 악성코드 방어 방법은 단계(S340)이전에 상기 프로그램이 선정된 신뢰 조건을 만족하는지 여부를 판단하는 단계를 더 포함할 수 있다.
만약, 상기 프로그램이 상기 선정된 신뢰 조건을 만족하는 것으로 판단된 경우, 단계(S330)에서 상기 프로그램을 실행하고, 본 과정을 종료한다.
하지만, 상기 프로그램이 상기 선정된 신뢰 조건을 만족하지 않는 것으로 판단된 경우에는 단계(S340)에서 상기 프로그램의 실행을 중단한다.
이로 인해, 본 발명의 일실시예에 따른 단말 장치의 악성코드 방어 방법은 신규 프로그램의 무조건적 중단을 방지함으로써, 사용자의 불편을 최소화할 수 있다.
단계(S350)에서는 상기 프로그램의 식별 값을 분석 서버로 전송한다.
이때, 본 발명의 일실시예에 따르면, 단계(S350)에서는 상기 프로그램의 해시 값을 분석 서버로 전송할 수 있다.
단계(S350)이후 분석 서버는 상기 프로그램의 식별 값을 기초로 상기 프로그램의 신뢰도를 분석하고, 상기 프로그램에 대한 신뢰도 분석 결과를 상기 단말 장치로 전송한다.
이때, 상기 신뢰도 분석 결과는 상기 프로그램의 최초 발견일, 경과기간, 프로그램의 행위 또는 악성 여부 등과 같은 분석데이터가 될 수 있다.
본 발명의 일실시예에 따르면, 상기 단말 장치의 악성코드 방어 방법은 단계(S350)이후에 상기 분석 서버로부터 상기 신뢰도 분석 결과를 수신하는 단계 및 상기 수신된 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정하는 단계를 더 포함할 수 있다.
즉, 상기 단말 장치의 악성코드 방어 방법은 상기 프로그램에 악성코드가 포함되어 있지 않는 등 상기 프로그램의 신뢰도가 확보되었다고 판단된 경우에만 상기 프로그램을 실행함으로써, 신규 프로그램의 실행에 따른 위험으로부터 단말 장치를 보호할 수 있다.
또한, 본 발명의 또 다른 일실시예에 따르면, 상기 분석 서버는 상기 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정하여 상기 프로그램의 실행 여부에 대한 결정 명령을 상기 단말 장치로 전송할 수 있다.
이때, 상기 단말 장치의 악성코드 방어 방법은 단계(S350)이후에 상기 분석 서버로부터 상기 프로그램의 실행 여부에 대한 결정 명령을 수신하는 단계 및 상기 결정 명령을 기초로 상기 프로그램의 실행을 제어하는 단계를 더 포함할 수 있다.
즉, 본 실시예에서는 분석 서버가 상기 프로그램에 대한 신뢰도를 분석함과 동시에 상기 프로그램의 실행 여부도 결정할 수 있다.
도 4는 본 발명의 일실시예에 따른 신뢰도 분석 방법을 도시한 순서도이다.
먼저, 단말 장치가 상기 단말 장치에 실행될 프로그램이 신규 프로그램인지 여부를 탐지하고, 상기 프로그램이 신규 프로그램으로 탐지된 경우, 상기 프로그램의 식별 값을 전송하고, 상기 프로그램의 실행을 중단한다.
이때, 단계(S410)에서는 상기 단말 장치로부터 상기 프로그램의 식별 값을 수신한다.
본 발명의 일실시예에 따르면, 상기 프로그램의 식별 값은 상기 프로그램의 해시 값이 될 수 있다.
단계(S420)에서는 선정된 신뢰 조건에 기초하여 상기 프로그램의 신뢰도를 분석한다.
단계(S430)에서는 상기 프로그램에 대한 신뢰도 분석 결과를 상기 단말 장치로 전송한다.
이때, 상기 신뢰도 분석 결과는 상기 프로그램의 최초 발견일, 경과기간, 프로그램의 행위 또는 악성 여부 등과 같은 분석데이터가 될 수 있다.
본 발명의 일실시예에 따르면, 상기 단말 장치는 단계(S430)에서 전송된 상기 신뢰도 분석 결과를 수신하고, 상기 수신된 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정할 수 있다.
또한, 본 발명의 또 다른 일실시예에 따르면, 상기 신뢰도 분석 방법은 단계(S430)이후에 상기 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정하는 단계 및 상기 프로그램의 실행 여부에 대한 결정 명령을 상기 단말 장치로 전송하는 단계를 더 포함할 수 있다.
이때, 상기 단말 장치는 상기 결정 명령을 기초로 상기 프로그램의 실행을 제어할 수 있다.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 단말 장치 120: 분석 서버
111: 탐지부 112: 신뢰도 판단부 113: 제어부
210: 신뢰도 분석 장치 220: 단말 장치
211: 식별 값 수신부 212: 분석부 213: 결과 전송부
214: 단말 제어부

Claims (17)

  1. 단말 장치에 있어서,
    상기 단말 장치에 실행될 프로그램이 신규 프로그램인지 여부를 탐지하는 탐지부; 및
    상기 프로그램이 신규 프로그램으로 탐지된 경우, 상기 프로그램의 식별 값을 분석 서버로 전송하고, 상기 프로그램의 실행을 중단하는 제어부
    를 포함하고,
    상기 분석 서버는 상기 프로그램의 식별 값을 기초로 상기 프로그램의 신뢰도를 분석하고, 상기 프로그램에 대한 신뢰도 분석 결과를 상기 단말 장치로 전송하는 단말 장치.
  2. 제1항에 있어서,
    상기 제어부는
    상기 분석 서버로부터 상기 신뢰도 분석 결과를 수신하고, 상기 수신된 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정하는 단말 장치.
  3. 제1항에 있어서,
    상기 분석 서버는
    상기 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정하여 상기 프로그램의 실행 여부에 대한 결정 명령을 상기 단말 장치로 전송하며,
    상기 제어부는 상기 분석 서버로부터 상기 결정 명령을 수신하고, 상기 결정 명령을 기초로 상기 프로그램의 실행을 제어하는 단말 장치.
  4. 제1항에 있어서,
    상기 프로그램이 신규 프로그램으로 탐지된 경우, 상기 프로그램이 선정된(predetermined) 신뢰 조건을 만족하는지 여부를 판단하는 신뢰도 판단부
    를 더 포함하고,
    상기 제어부는 상기 프로그램이 상기 선정된 신뢰 조건을 만족하지 않는 것으로 판단된 경우, 상기 프로그램의 실행을 중단하는 단말 장치.
  5. 제1항에 있어서,
    상기 제어부는
    상기 프로그램이 로드되는 프로세스를 서스펜드(SUSPEND)하여 상기 프로그램의 실행을 중단하는 단말 장치.
  6. 제1항에 있어서,
    상기 제어부는
    상기 프로그램이 로드되는 프로세스를 종료시키는 시스템 호출을 사용하여 상기 프로그램의 실행을 중단하는 단말 장치.
  7. 제1항에 있어서,
    상기 프로그램이 신규 프로그램으로 탐지되어 상기 프로그램의 실행이 중단된 경우, 상기 프로그램의 실행 중단에 대한 알림 정보를 디스플레이하는 디스플레이부
    를 더 포함하고,
    상기 디스플레이부는 상기 단말 장치가 상기 신뢰도 분석 결과를 수신하면, 상기 수신된 신뢰도 분석 결과 및 상기 실행 중단된 프로그램의 재실행 여부에 대한 알림 정보를 디스플레이하는 단말 장치.
  8. 단말 장치로부터 상기 단말 장치에 실행될 프로그램의 식별 값을 수신하는 식별 값 수신부;
    선정된(predetermined) 신뢰 조건에 기초하여 상기 프로그램의 신뢰도를 분석하는 분석부; 및
    상기 프로그램에 대한 신뢰도 분석 결과를 상기 단말 장치로 전송하는 결과 전송부
    를 포함하고,
    상기 단말 장치는 상기 프로그램이 신규 프로그램인 경우, 상기 프로그램의 실행을 중단하는 신뢰도 분석 장치.
  9. 제8항에 있어서,
    상기 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정하고, 상기 프로그램의 실행 여부에 대한 결정 명령을 상기 단말 장치로 전송하는 단말 제어부
    를 더 포함하고,
    상기 단말 장치는 상기 결정 명령을 기초로 상기 프로그램의 실행을 제어하는 신뢰도 분석 장치.
  10. 제8항에 있어서,
    상기 단말 장치는
    상기 결과 전송부가 전송한 상기 신뢰도 분석 결과를 수신하고, 상기 수신된 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정하는 신뢰도 분석 장치.
  11. 단말 장치에 실행될 프로그램이 신규 프로그램인지 여부를 탐지하는 단계;
    상기 프로그램이 신규 프로그램으로 탐지된 경우, 상기 프로그램의 실행을 중단하는 단계; 및
    상기 프로그램의 식별 값을 분석 서버로 전송하는 단계
    를 포함하고,
    상기 분석 서버는 상기 프로그램의 식별 값을 기초로 상기 프로그램의 신뢰도를 분석하고, 상기 프로그램에 대한 신뢰도 분석 결과를 상기 단말 장치로 전송하는 단말 장치의 악성코드 방어 방법.
  12. 제11항에 있어서,
    상기 분석 서버로부터 상기 신뢰도 분석 결과를 수신하는 단계; 및
    상기 수신된 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정하는 단계
    를 더 포함하는 단말 장치의 악성코드 방어 방법.
  13. 제11항에 있어서,
    상기 분석 서버로부터 상기 프로그램의 실행 여부에 대한 결정 명령을 수신하는 단계; 및
    상기 결정 명령을 기초로 상기 프로그램의 실행을 제어하는 단계
    를 더 포함하고,
    상기 분석 서버는 상기 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정하여 상기 프로그램의 실행 여부에 대한 결정 명령을 상기 단말 장치로 전송하는 단말 장치의 악성코드 방어 방법.
  14. 단말 장치로부터 상기 단말 장치에 실행될 프로그램의 식별 값을 수신하는 단계;
    선정된(predetermined) 신뢰 조건에 기초하여 상기 프로그램의 신뢰도를 분석하는 단계; 및
    상기 프로그램에 대한 신뢰도 분석 결과를 상기 단말 장치로 전송하는 단계
    를 포함하고,
    상기 단말 장치는 상기 프로그램이 신규 프로그램인 경우, 상기 프로그램의 실행을 중단하는 신뢰도 분석 방법.
  15. 제14항에 있어서,
    상기 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정하는 단계; 및
    상기 프로그램의 실행 여부에 대한 결정 명령을 상기 단말 장치로 전송하는 단계
    를 더 포함하고,
    상기 단말 장치는 상기 결정 명령을 기초로 상기 프로그램의 실행을 제어하는 신뢰도 분석 방법.
  16. 제14항에 있어서,
    상기 단말 장치는
    상기 신뢰도 분석 결과를 수신하고, 상기 수신된 신뢰도 분석 결과를 기초로 상기 프로그램의 실행 여부를 결정하는 신뢰도 분석 방법.
  17. 제11항 내지 제16항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
KR1020100030936A 2010-04-05 2010-04-05 단말 장치 및 상기 단말 장치의 악성코드 방어 방법, 신뢰도 분석 장치 및 방법 KR20110111714A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100030936A KR20110111714A (ko) 2010-04-05 2010-04-05 단말 장치 및 상기 단말 장치의 악성코드 방어 방법, 신뢰도 분석 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100030936A KR20110111714A (ko) 2010-04-05 2010-04-05 단말 장치 및 상기 단말 장치의 악성코드 방어 방법, 신뢰도 분석 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20110111714A true KR20110111714A (ko) 2011-10-12

Family

ID=45027685

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100030936A KR20110111714A (ko) 2010-04-05 2010-04-05 단말 장치 및 상기 단말 장치의 악성코드 방어 방법, 신뢰도 분석 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20110111714A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101410255B1 (ko) * 2012-12-20 2014-06-20 네이버비즈니스플랫폼 주식회사 애플리케이션 파일의 잠재적인 위험성 판별 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
KR20180058158A (ko) * 2016-11-23 2018-05-31 숭실대학교산학협력단 구글 플레이 스토어 루팅 앱 탐지 방법, 이를 수행하기 위한 기록 매체, 클라우드 서버 및 시스템
KR101865238B1 (ko) * 2016-12-13 2018-06-07 주식회사 엔피코어 악성 코드 차단 장치 및 이의 동작 방법
KR20210035430A (ko) * 2019-09-24 2021-04-01 주식회사 우리은행 사용자 단말 장치 및 그 악성 프로그램 탐지 방법
KR20220058352A (ko) * 2020-10-30 2022-05-09 재단법인대구경북과학기술원 신뢰가능한 실행 환경을 이용한 캐시 부 채널 공격 탐지 방법 및 장치

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101410255B1 (ko) * 2012-12-20 2014-06-20 네이버비즈니스플랫폼 주식회사 애플리케이션 파일의 잠재적인 위험성 판별 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
KR20180058158A (ko) * 2016-11-23 2018-05-31 숭실대학교산학협력단 구글 플레이 스토어 루팅 앱 탐지 방법, 이를 수행하기 위한 기록 매체, 클라우드 서버 및 시스템
KR101865238B1 (ko) * 2016-12-13 2018-06-07 주식회사 엔피코어 악성 코드 차단 장치 및 이의 동작 방법
KR20210035430A (ko) * 2019-09-24 2021-04-01 주식회사 우리은행 사용자 단말 장치 및 그 악성 프로그램 탐지 방법
KR20220058352A (ko) * 2020-10-30 2022-05-09 재단법인대구경북과학기술원 신뢰가능한 실행 환경을 이용한 캐시 부 채널 공격 탐지 방법 및 장치

Similar Documents

Publication Publication Date Title
US9542556B2 (en) Malware family identification using profile signatures
US10389740B2 (en) Detecting a malicious file infection via sandboxing
US10282548B1 (en) Method for detecting malware within network content
US10382479B2 (en) Malware detection using internal and/or external malware detection operations
US9571520B2 (en) Preventing execution of task scheduled malware
US9015829B2 (en) Preventing and responding to disabling of malware protection software
US8042186B1 (en) System and method for detection of complex malware
JP5326062B1 (ja) 非実行ファイル検査装置及び方法
US9479357B1 (en) Detecting malware on mobile devices based on mobile behavior analysis
EP2515250A1 (en) System and method for detection of complex malware
CN108141408B (zh) 确定系统、确定装置及确定方法
EP2639725B1 (en) Output control device, computer-readable medium, output control method, and output control system
EP2488985A2 (en) Detecting and responding to malware using link files
KR20110111714A (ko) 단말 장치 및 상기 단말 장치의 악성코드 방어 방법, 신뢰도 분석 장치 및 방법
KR101657180B1 (ko) 프로세스 접근 제어 시스템 및 방법
US8640242B2 (en) Preventing and detecting print-provider startup malware
KR101126532B1 (ko) 평판 정보를 이용한 포지티브 보안 기반의 악성코드 실행 방지 방법 및 이를 이용한 악성코드 실행 방지 시스템
Kim et al. Malware application classification based on feature extraction and machine learning for malicious behavior analysis in Android platform
US20230385415A1 (en) Arrangement and method of threat detection in a computer or computer network
US20230388340A1 (en) Arrangement and method of threat detection in a computer or computer network
KR101092346B1 (ko) 단말 장치 및 상기 단말 장치의 악성 코드 방지 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment