KR101600302B1 - 클라우드 멀티백신을 이용한 보안방법 및 그 장치 - Google Patents

클라우드 멀티백신을 이용한 보안방법 및 그 장치 Download PDF

Info

Publication number
KR101600302B1
KR101600302B1 KR1020140049074A KR20140049074A KR101600302B1 KR 101600302 B1 KR101600302 B1 KR 101600302B1 KR 1020140049074 A KR1020140049074 A KR 1020140049074A KR 20140049074 A KR20140049074 A KR 20140049074A KR 101600302 B1 KR101600302 B1 KR 101600302B1
Authority
KR
South Korea
Prior art keywords
file
security check
user terminal
security
result
Prior art date
Application number
KR1020140049074A
Other languages
English (en)
Other versions
KR20140127178A (ko
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 이상호
Publication of KR20140127178A publication Critical patent/KR20140127178A/ko
Application granted granted Critical
Publication of KR101600302B1 publication Critical patent/KR101600302B1/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
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

개시된 내용은 클라우드 멀티백신을 이용한 보안방법 및 그 장치에 관한 것으로서, 사용자 단말기에 설치된 보안점검도구에 의해 수행되는 보안점검결과를 감지하고 그 결과를 중앙집중식의 서버 컴퓨터 또는 P2P(peer-to-peer) 네트워크를 통해 상호 공유하여 의심파일에 대한 타 사용자 단말기에서의 보안점검결과를 본인의 사용자 단말기에 적용해서 협력적인 보안강화를 수행한다.
따라서, 본 발명은 악성코드 탐지능력이 없는 사용자 단말기라 하더라도 악성코드 감염으로 인해 좀비 단말이 되는 상황을 방지할 수 있고, 수많은 사용자 단말기가 동시에 접속할 경우 정상적인 서비스가 불가능한 종래의 중앙서버 기반 서비스의 단점을 P2P 개념의 적용을 통해 해소하며, 참여 노드의 수가 많아질수록 네트워크의 안정성 및 평판정보의 신뢰도를 더욱 더 높일 수 있다.

Description

클라우드 멀티백신을 이용한 보안방법 및 그 장치{Method of security using cloud multi-vaccine and apparatus thereof}
본 발명은 각각의 사용자 단말기에 설치된 보안점검도구에 의한 점검결과 감지 및 공유를 통해 네트워크로 연결되어 있는 각 사용자 단말기들 간의 협력적 보안강화를 수행할 수 있도록 하는 클라우드 멀티백신을 이용한 보안방법 및 그 장치에 관한 것이다.
일반적으로 CWSandBox 등의 샌드박스 솔루션은 실행파일을 정적 및 동적으로 분석해서 어떤 함수를 사용하는지 알아내고 실행파일을 실행시키고 그 행위를 감시해서 해당 프로세스가 동작하면서 어떤 일을 수행하는지 알아낸다. 하지만, 이런 방법은 별도의 실행환경에서 점검 대상 실행파일을 인위적으로 실행시키게 되므로, 해당 실행파일이 가진 모든 기능을 실행시켜 주는 것을 보장할 수 없다. 실행을 위한 특정한 조건들이 맞지 않으면 정작 악성코드가 의도한 중요한 행위는 발현되지 않는 단점이 있다.
구글(Google) 사(社)의 바이러스 토탈(VirusTotal™)은 웹 기반으로 특정 파일의 바이러스 백신 점검결과를 제공하는 서비스이다. 각종 안티 바이러스와 샌드박스를 종합적으로 구성한 시스템을 통해서 사용자들이 자발적으로 점검 의뢰한 파일들의 검사결과를 데이터베이스로 구축하여 서비스하고 있다. 최근 들어, 별도의 HTTP(HyperText Transfer Protocol) 기반 API(Application Programming Interface)를 통해서 서비스를 확대하고 있으며, 통계에 따르면 매일 30만~50 만개의 새로운 파일들이 새롭게 추가되고 있다.
시만텍(Symantec) 사는 전 세계적으로 수백만 대의 사용자 PC에 설치된 안티 바이러스 제품에서 파일평판 정보를 시만텍 사의 서버로 전송함으로써 파일평판 데이터베이스를 구축하고 데이터 마이닝 등의 방법을 통해서 시그니처 기반 탐지기술의 한계를 극복하고 있다. 평판이 낮은 파일의 경우(예: 정상적으로 실행된 예가 없는 파일인 경우) 별도의 보안정책을 적용토록 하고 있다. 최근 들어, 많은 안티 바이러스 개발사들은 이와 같은 평판기반의 탐지방법을 적용하고 있다.
안티 바이러스 제품은 각 개발사마다 탐지엔진의 성능, 악성코드 수집 및 분석 능력 등이 상이하여 동일한 악성코드에 대해서 각 개발사마다 서로 다른 탐지결과를 보이는 경우가 많다.
파이어아이(FireEye) 사의 BotWall은 네트워크 경로상에 위치해서 의심되는 네트워크 접속을 정밀 분석하고, 외부 공격자에 의해서 사용자 PC가 악용되는 것으로 판단되면 중앙 서버를 통해서 해당 접속 URL을 전 세계에서 운영중인 모든 동일 제품(즉, BotWall)로 전송해서 해당 제품이 설치된 네트워크의 모든 사용자 PC가 좀비 PC가 되거나 좀비 PC로 활동하는 것을 방지한다.
안랩(Ahnlab) 사의 TrusWatcher는 네트워크 경로상에 위치해서 내외부로 송수신되는 네트워크 트래픽에서 파일을 추출하고 정밀 검사해서 악성코드로 판명되면 해당 파일을 송신한 사용자 PC 내의 에이전트 프로그램을 통해서 해당 파일을 삭제한다. 또한, 외부로 나가는 트래픽에서 DDoS(Distributed Denial-of-Service) 공격 패킷이 감지되면 해당 사용자 PC에서 패킷을 발생시키지 못하도록 프로세스를 종료하거나 파일을 삭제함으로써, 해당 제품이 설치된 네트워크의 모든 사용자 PC가 좀비 PC가 되거나 좀비 PC로 활동하는 것을 방지한다.
또한, P2P(peer-to-peer) 네트워크는 주로 파일공유, 실시간 스트리밍 등에 사용되며, 최근에는 클라우드 서비스를 P2P 개념으로 구축하려는 시도가 이뤄지고 있다. 보통 수 백만대 규모의 노드가 중앙서버 없이 자발적인 참여와 역할분담으로 마치 하나의 시스템처럼 동작한다. 최근에는 DHT(Distributed Hash Table, 분산 해쉬 테이블)라는 구조적인 오버레이 네트워크 개념이 주로 사용되는데 파일공유에 흔히 사용하는 BitTorrent나 Kad 등이 DHT 네트워크 중에 하나인 Kademlia(2002 년 최초 발표)를 기반으로 구현된 것이다. DHT 네트워크에서 노드 A가 특정한 키(key)에 대한 값(value)을 가지고 있다면, DHT 주소공간 상에서 해당 키와 가장 인접한 거리에 위치한 노드 B에게 {key, value} 정보를 공표하고, 노드 C가 해당 키에 대한 값을 얻고자 한다면, 키와 가장 인접한 곳에 위치한 노드 B를 찾아내 다시 {key, value} 정보를 구독(subscribe)함으로써 네트워크가 동작한다.
이처럼, 전술한 설명에서와 같이 각각의 백신 개발사마다 샘플수집, 분석능력, 엔진 등이 상이하기 때문에 특정 백신의 성능이 절대적으로 우수하다고 판단하지 못하는 문제점이 있었다. 왜냐하면, 어느 특정 제품에서는 해킹에 사용된 악성코드를 탐지하지 못하지만, 타 제품에서는 해당 악성코드의 탐지가 가능한 경우가 있기 때문이다.
또한, 하나의 PC에 2개 이상의 백신을 탑재하는 경우에는 탐지성능의 향상이 가능하지만, 많은 엔진을 탑재하는 것은 속도저하 등의 기술적 한계가 있는 문제점이 있었다.
또한, 클라우드 서비스의 경우, 대량 클라이언트의 동시접속에 의한 서버 부하가 발생할 수 있음은 물론, 서버에 문제가 발생할 경우 전체 시스템이 동작하지 않는 안정성이 저하되는 문제점이 있었다.
대한민국 등록특허공보 제10-0611679호 2006. 8. 10. 대한민국 등록특허공보 제10-1228902호 2013. 2. 6.
본 발명은, 사용자 단말기에 설치된 보안점검도구에 의해서 수행되는 보안점검결과를 감지하고, 그 결과를 다른 사용자 단말기들이 실시간으로 상호 공유함으로써, 주요 의심파일에 대한 타 사용자 단말기에서의 보안점검결과를 본인의 사용자 단말기에 적용하여 대응할 수 있는 클라우드 멀티백신을 이용한 보안방법 및 그 장치를 제공한다.
본 발명은, 각각의 사용자 단말기마다 실질적으로 현재 사용중인 모든 백신을 동시에 탑재하는 효과를 얻을 수 있으며, 백신이 설치되지 않은 사용자 단말기에서도 악성코드의 탐지를 수행할 수 있는 클라우드 멀티백신을 이용한 보안방법 및 그 장치를 제공한다.
본 발명의 제 1 실시예에 따른 클라우드 멀티백신을 이용한 보안방법은, (1) 사용자 단말기는, 특정 파일이 실행되면 기설치된 보안점검도구에 의해 수행되는 보안점검결과를 감지하고, 자체보안점검 결과를 파일로 생성하여 보관하는 단계; (2) 사용자 단말기는, (1) 단계에서 생성된 자체보안점검 결과를 서버 컴퓨터로 전송하여, 보안점검결과 데이터베이스에 저장하도록 하는 단계; (3) 사용자 단말기는, 기설정된 의심파일 선정기준을 토대로 부팅 후 일정시간동안 사용자의 개입이 없는 상태에서 동작되는 프로세스 및 DLL(Dynamic Link Library, 동적 링크 라이브러리)을 1차 의심파일로 선정하고, 1차 의심파일로 선정된 파일에 의해서 파생되는 프로세스 및 DLL 로드를 감시하여 해당 파일을 2차 의심파일로 선정하는 단계; (4) 사용자 단말기는, (3) 단계에서 1차 및 2차로 선정된 의심파일에 대하여 서버 컴퓨터에 저장되어 있는 보안점검결과 데이터베이스와 비교하여, 악성코드로 탐지된 파일인지의 여부를 확인하는 단계; 그리고 (5) 사용자 단말기는, (4) 단계에서 확인한 타 사용자 단말기에서의 보안점검결과와 기설정된 대응규칙을 토대로 자동화된 프로세스 실행중지 및 파일격리를 수행하거나, 또는 사용자의 입력선택에 의거한 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행하는 단계;를 포함할 수 있다.
그리고 본 발명의 제 2 실시예에 따른 클라우드 멀티백신을 이용한 보안방법은, (a) 사용자 단말기는, 특정 파일이 실행되면 기설치된 보안점검도구에 의해 수행되는 보안점검결과를 감지하고, 자체보안점검 결과를 파일로 생성하여 보관하는 단계; (b) 사용자 단말기는, (a) 단계에서 생성된 자체보안점검 결과를 P2P 네트워크를 통해 하나 이상의 타 사용자 단말기로 공표하여, 각각의 사용자 단말기 상에 분산 보안점검결과를 구축하도록 하는 단계; (c) 사용자 단말기는, 기설정된 의심파일 선정기준을 토대로 부팅 후 일정시간동안 사용자의 개입이 없는 상태에서 동작되는 프로세스 및 DLL을 1차 의심파일로 선정하고, 1차 의심파일로 선정된 파일에 의해서 파생되는 프로세스 및 DLL 로드를 감시하여 해당 파일을 2차 의심파일로 선정하는 단계; (d) 사용자 단말기는, (c) 단계에서 1차 및 2차로 선정된 의심파일에 대하여 (b) 단계에서 P2P 네트워크를 통해 구축한 분산 보안점검결과와 비교하여, 악성코드로 탐지된 파일인지의 여부를 확인하는 단계; 그리고 (e) 사용자 단말기는, (d) 단계에서 확인한 결과와 기설정된 대응규칙을 토대로 자동화된 프로세스 실행중지 및 파일격리를 수행하거나, 또는 사용자의 입력선택에 의거한 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행하는 단계를 포함할 수 있다.
또한, 본 발명의 제 1 실시예에 따른 클라우드 멀티백신을 이용한 보안장치는, 특정 파일이 실행되면 기설치된 보안점검도구를 통해 보안점검결과를 감지한 후 자체보안점검 결과를 파일로 생성하고, 생성된 자체보안점검 결과를 서버 컴퓨터로 전송하여 보안점검결과 데이터베이스에 저장하도록 하고, 부팅 후 일정시간동안 사용자의 개입이 없는 상태에서 동작되는 프로세스 및 DLL을 1차 의심파일로 선정하고, 1차 의심파일로 선정된 파일에 의해서 파생되는 프로세스 및 DLL 로드를 감시하여 해당 파일을 2차 의심파일로 선정하고, 1차 및 2차로 선정된 의심파일에 대하여 서버 컴퓨터에 저장되어 있는 보안점검결과 데이터베이스와 비교하여 악성코드로 탐지된 파일인지의 여부를 확인하며, 타 사용자 단말기에서의 보안점검결과와 기설정된 대응규칙을 토대로 자동화된 프로세스 실행중지 및 파일격리를 수행하거나, 또는 사용자의 입력선택에 의거한 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행하는 복수의 사용자 단말기; 그리고 사용자 단말기로부터 전송되는 자체보안점검 결과를 토대로 보안점검결과 데이터베이스를 구축하며, 악성코드 판단을 위한 사용자 단말기의 요청에 따라 보안점검결과 데이터베이스를 제공하는 서버 컴퓨터;를 포함할 수 있다.
그리고 본 발명의 제 2 실시예에 따른 클라우드 멀티백신을 이용한 보안장치는, P2P 네트워크; 그리고 특정 파일이 실행되면 기설치된 보안점검도구를 통해 보안점검결과를 감지한 후 자체보안점검 결과를 파일로 생성하고, 생성된 자체보안점검 결과를 P2P 네트워크를 통해 하나 이상의 타 사용자 단말기로 공표하여 각각의 사용자 단말기 상에 분산 보안점검결과를 구축하도록 하고, 부팅 후 일정시간동안 사용자의 개입이 없는 상태에서 동작되는 프로세스 및 DLL을 1차 의심파일로 선정하고, 1차 의심파일로 선정된 파일에 의해서 파생되는 프로세스 및 DLL 로드를 감시하여 해당 파일을 2차 의심파일로 선정하고, 1차 및 2차로 선정된 의심파일에 대하여 분산 보안점검결과 처리부에 구축된 정보와 비교하여 악성코드로 탐지된 파일인지의 여부를 확인하며, 확인한 결과와 기설정된 대응규칙을 토대로 자동화된 프로세스 실행중지 및 파일격리를 수행하거나, 또는 사용자의 입력선택에 의거한 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행하는 복수의 사용자 단말기;를 포함할 수 있다.
이상에서와 같이 클라우드 멀티백신을 이용한 보안방법 및 그 장치에 따르면, 협력적인 방어 메커니즘으로 인해 서로 다른 보안점검도구를 탑재한 다양한 사용자 단말기들이 서로 탐지결과를 공유하여, 전체적으로 네트워크에 참여한 모든 보안점검도구의 능력을 합한 것과 유사한 효과를 발휘할 수 있기 때문에 악성코드 탐지능력이 없는 사용자 단말기라 하더라도 악성코드 감염으로 인해 좀비 단말이 되는 상황을 방지할 수 있는 효과가 있다.
또한, 수십만에서 수백만의 사용자 단말기가 동시에 접속할 경우 정상적인 서비스가 불가능한 종래의 중앙서버 기반 서비스의 단점을 P2P 개념의 적용을 통해 해소할 수 있으며, 이에 따라 참여 노드의 수가 많아질수록 네트워크의 안정성이 높아지며 공유되는 정보의 질이 높아지는 P2P의 장점으로 인해 많은 사용자 단말기가 네트워크에 참여할수록 평판정보의 신뢰도는 더욱 높아지는 효과가 있다.
도 1은 본 발명의 제 1 실시예에 따른 클라우드 멀티백신을 이용한 보안장치의 구성을 개략적으로 나타낸 도면이다.
도 2는 도 1의 사용자 단말기의 구성을 상세하게 나타낸 도면이다.
도 3은 사용자 단말기의 보안점검 감지에 따라 생성되는 자체 보안점검 결과에 대한 파일구성의 일 예를 나타낸 도면이다.
도 4는 서버 컴퓨터의 보안점검 결과 데이터베이스에 기록되는 파일구성의 일 예를 나타낸 도면이다.
도 5는 도 4의 보안점검 도구별 통계를 구성하는 정보의 일 예를 나타낸 도면이다.
도 6은 본 발명의 제 1 실시예에 따른 클라우드 멀티백신을 이용한 보안방법의 동작과정을 상세하게 설명하기 위한 순서도이다.
도 7은 도 6의 대응단계의 동작과정을 상세하게 설명하기 위한 순서도이다.
도 8은 본 발명의 제 2 실시예에 따른 클라우드 멀티백신을 이용한 보안장치의 구성을 개략적으로 나타낸 도면이다.
도 9는 도 8의 사용자 단말기의 구성을 상세하게 나타낸 도면이다.
도 10은 본 발명의 제 2 실시예에 따른 클라우드 멀티백신을 이용한 보안방법의 동작과정을 상세하게 설명하기 위한 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 각 실시예에 대한 클라우드 멀티백신을 이용한 보안방법 및 그 장치를 상세하게 설명한다.
본 발명을 상세하게 설명하기 이전에, 본 발명을 통해 얻을 수 있는 기술적 부분은 다음과 같다.
첫 번째, 타 사용자 단말기에서 수행된 보안점검 결과를 감지하고 공유함으로써, 서로 다른 보안점검 도구를 탑재한 사용자 단말기들이 자신의 탐지능력 한계를 극복할 수 있다. 즉 본인의 사용자 단말기에 설치된 보안점검 도구로는 탐지되지 않는 악성코드라 하더라도 타 사용자 단말기에서 악성코드로 탐지되었다면 본인의 사용자 단말기에서도 악성코드로 탐지할 수 있다.
두 번째, 샌드박스 등의 가상 실행환경을 통해서 실행된 파일의 행위를 기반으로 악성코드를 탐지하는 방법은 인위적인 실행환경에서 파일을 실행하므로, 이를 회피하거나 실행조건이 맞지 않는 경우 올바르게 행위를 감지할 수 없다. 따라서, 다양한 실제 사용자 단말환경에서 실행되는 파일을 검사하는 것이 유리하다. 본 발명은 각 사용자 PC 환경에서 수행되는 보안점검 결과를 감지해서 공유함으로써 샌드박스 등과 같은 가상환경 기반의 보안점검의 문제점을 극복할 수 있다.
세 번째, P2P 네트워크를 통한 의심파일 보안점검 결과 공유를 통해 대량 클라이언트의 동시접속에 의한 서버 부하를 해소할 수 있으며, 서버에 문제가 발생할 경우 전체 시스템이 동작하지 않는 안정성 저하의 문제점을 해소할 수 있다.
제 1 실시예
도 1은 본 발명의 제 1 실시예에 따른 클라우드 멀티백신을 이용한 보안장치의 구성을 개략적으로 나타낸 도면이고, 도 2는 도 1의 사용자 단말기(10)의 구성을 상세하게 나타낸 도면이고, 도 3은 사용자 단말기의 보안점검 감지에 따라 생성되는 자체 보안점검 결과에 대한 파일구성의 일 예를 나타낸 도면이고, 도 4는 서버 컴퓨터의 보안점검 결과 데이터베이스에 기록되는 파일구성의 일 예를 나타낸 도면이며, 도 5는 도 4의 보안점검 도구별 통계를 구성하는 정보의 일 예를 나타낸 도면이다.
도시된 바와 같이 본 발명의 제 1 실시예에 따른 보안장치는, 복수의 사용자 단말기(10)와 서버 컴퓨터(20)로 구성된다.
복수의 사용자 단말기(10)는 특정 파일이 실행되면 기설치된 보안점검도구를 통해 보안점검결과를 감지한 후 자체보안점검 결과를 파일로 생성하고, 생성된 자체보안점검 결과를 유무선 인터넷 등의 네트워크 통신망을 통해 서버 컴퓨터(20)로 전송하여 보안점검결과 데이터베이스에 저장하도록 한다. 그리고 사용자 단말기(10)는 부팅 후 일정시간동안 사용자의 개입이 없는 상태에서 동작되는 프로세스 및 DLL을 1차 의심파일로 선정하고, 1차 의심파일로 선정된 파일에 의해서 파생되는 프로세스 및 DLL 로드를 감시하여 해당 파일을 2차 의심파일로 선정한 후, 1차 및 2차로 선정된 의심파일에 대하여 서버 컴퓨터(20)에 저장되어 있는 보안점검결과 데이터베이스와 비교하여 악성코드로 탐지된 파일인지의 여부를 확인한다. 그리고 타 사용자 단말기에서의 보안점검결과를 토대로 한 악성코드 여부 확인결과와 기설정된 대응규칙을 토대로 자동화된 프로세스 실행중지 및 파일격리를 수행하거나, 또는 사용자의 입력선택에 의거한 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행한다.
이때 사용자 단말기(10)는 보안점검 감지부(11), 보안점검결과 공유부(12), 의심파일 선정부(13), 파일 평판 조회부(14), 대응부(15) 등으로 구성된다.
보안점검 감지부(11)는 특정 파일이 실행되면 기설치된 보안점검도구에 의해 수행되는 보안점검결과를 감지하고, 도 3에 도시된 것처럼 IP(Internet Protocol) 주소, 로그인 정보를 포함한 사용자 단말기(10)의 식별정보를 제외한 파일 해쉬값, 파일 행위 특성값, 점검결과, 보안점검도구 정보를 포함한 자체보안점검 결과를 파일로 생성하여 보관한다.
이때 파일 행위 특성값은 파일이 사용하는 API 함수와, 패킹, 암호화를 포함한 악성코드의 주요 기능 유사도를 기록한 정보로서, 타 사용자 단말기에서 발견되는 의심파일과 행위가 유사한지를 결정할 때 사용한다.
보안점검결과 공유부(12)는 보안점검 감지부(11)에서 생성된 자체보안점검 결과를 서버 컴퓨터(20)로 전송하여, 서버 컴퓨터(20)에서 도 4에 도시된 것처럼 파일 해쉬값, 파일 행위 특성값 및 보안점검도구별 통계가 포함된 파일을 보안점검결과 데이터베이스로 구축하도록 한다.
이때 보안점검도구별 통계는 도 5에 도시된 것처럼 보안점검도구 정보, 보안점검 횟수, 악성코드 판단횟수가 포함된다.
의심파일 선정부(13)는 기설정된 의심파일 선정기준을 토대로 부팅 후 일정시간동안 사용자의 개입이 없는 상태에서 동작되는 프로세스 및 DLL을 1차 의심파일로 선정한다. 그리고 1차 의심파일로 선정된 파일에 의해서 파생되는 프로세스 및 DLL 로드를 감시하여 해당 파일을 2차 의심파일로 선정한다.
이때 의심파일 선정부(13)에서 사용하는 의심파일 선정기준은, 의심파일 선정을 위한 세부 기준 이외에, 많은 파일이 의심파일로 분류되는 것을 방지하기 위해 알려진 파일들을 제외하는 규칙을 포함할 수 있다.
파일 평판 조회부(14)는 의심파일 선정부(13)에서 1차 및 2차로 선정된 의심파일에 대하여 서버 컴퓨터(20)에 저장되어 있는 보안점검결과 데이터베이스와 비교하여, 악성코드로 탐지된 파일인지의 여부를 확인한다.
대응부(15)는 파일 평판 조회부(14)에서 확인한 타 사용자 단말기에서의 보안점검결과와 기설정된 대응규칙을 토대로 자동화된 프로세스 실행중지 및 파일격리(또는 삭제)를 수행하거나, 또는 사용자의 입력선택에 의거한 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행한다.
이때 대응부(15)에서는 다음의 세 가지 방식으로 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행한다.
첫 번째, 대응부(15)는 특정 파일에 대해 전체 점검횟수의 합이 0인지를 판단하고, 전체 점검횟수의 합이 0이면 모든 사용자 단말기(10)에서 최초 실행이거나 보안점검 감지를 수행할 때 인지하지 못한 파일로 판단하여 판단 메시지를 출력하고, 사용자의 입력선택을 토대로 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행한다.
두 번째, 대응부(15)는 악성코드 진단률을 보안점검 횟수와 악성코드 판단횟수를 통해 계산하고, 계산한 결과가 변수 K값 이상인 보안점검도구의 수가 기설정된 대응규칙에서 정의한 변수 N보다 큰지를 판단하고, 악성코드 진단률이 대응규칙에서 정의한 변수보다 크면 자동으로 악성코드로 판단하여 프로세스 실행중지 및 파일격리를 수행한다.
세 번째, 대응부(15)는 보안점검 횟수가 0인 보안점검도구의 수가 기설정된 대응규칙에서 정의한 값보다 큰지를 판단하고, 보안점검 횟수가 0인 보안점검도구의 수가 대응규칙에서 정의한 값보다 크면 일정 수 이상의 보안점검도구에서 악성코드로 탐지하여 삭제하였지만 보안점검 감지부(11)에서 감지하지 못한 것으로 판단하여 프로세스 실행중지 및 파일격리를 수행한다.
서버 컴퓨터(20)는 유무선 인터넷 등의 네트워크 통신망을 통해 복수의 사용자 단말기(10)와 통신 접속을 수행하고, 사용자 단말기(10)로부터 전송되는 자체보안점검 결과를 토대로 보안점검결과 데이터베이스를 구축하며, 악성코드 판단을 위한 사용자 단말기(10)의 요청에 따라 데이터베이스로 구축되어 있는 보안점검결과 정보를 제공한다.
다음에는, 이와 같이 구성된 본 발명의 제 1 실시예에 따른 클라우드 멀티백신을 이용한 보안방법을 도 6과 도 7을 참조하여 상세하게 설명한다. 이때 본 발명의 방법에 따른 각 단계는 사용 환경이나 당업자에 의해 순서가 변경될 수 있다.
도 6과 도 7은 본 발명의 제 1 실시예에 따른 클라우드 멀티백신을 이용한 보안방법의 동작과정을 상세하게 설명하기 위한 순서도이다.
우선, 본 발명의 제 1 실시예는 사용자 단말기(10)에 설치된 보안점검도구에 의해 수행되는 보안점검결과를 감지하고, 그 결과를 중앙 집중식으로 서버 컴퓨터(20)를 통해 공유함으로써, 의심파일에 대한 타 사용자 단말기에서의 보안점검결과를 본인의 사용자 단말기에 적용해서 협력적인 보안강화를 수행하는 방법에 대한 것이다.
사용자 단말기(10)는 특정 파일이 실행되면 기설치된 보안점검도구(예를 들어, 안티 바이러스)에 의해 수행되는 보안점검결과를 감지하고, 자체보안점검 결과를 파일로 생성하여 보관한다(S10).
이때 S10 단계는 보안점검도구와의 연계된 표준 인터페이스가 없는 상황을 가정하여 보안점검도구의 점검결과로 나타나는 현상을 감지하여 보안점검결과를 인지할 수 있도록 한다.
특정 파일이 실행된 후 보안점검도구에 의해서 악성코드로 판단되면 그 실행이 중지되거나 삭제되므로, 이러한 특징을 통해서 악성코드로 탐지되었는지 여부를 감지할 수 있다. 하지만, 파일이 실행되기 전에 곧바로 악성코드로 진단되어 삭제되는 경우가 있는데, 이 경우는 S10 단계에서 정확히 감지하지 못할 수 있다. 이런 경우를 고려하여 최종적으로 후술되는 S50 단계에서 보안점검도구별 통계의 보안점검 회수가 0인 경우 보안점검을 실시하지 않은 것으로 무조건 판단할 수는 없다. 이 부분은 S50 단계에서 상세하게 설명하기로 한다.
자체 보안점검결과는 각 파일별로 파일 해쉬값, 파일 행위 특성값, 점검결과, 보안점검도구 정보로 구성되며 파일로 보관되는 것이 일반적이다. 파일로 보관해두는 이유는 사용자 단말기(10)의 민감한 식별정보(예를 들어, IP 주소, 로그인 ID 등)를 제외한 점검결과만으로 공유하게 되므로 하나의 사용자 단말기(10)에서 지속적으로 발생하는 점검결과를 중복해서 공유하는 문제를 해결하기 위해서이다. 그리고 파일 행위 특성값은 해당 파일이 사용하는 API 함수들, 악성코드의 주요 기능 유사도(예를 들어, 패킹, 암호화 등) 등을 기록한 것을 의미하며, 타 사용자 단말기에서 발견되는 의심파일과 어느 정도 행위가 유사한지를 결정할 때 사용한다.
S10 단계를 통해 자체보안점검 결과를 생성한 사용자 단말기(10)는 이를 서버 컴퓨터(20)로 전송하고, 서버 컴퓨터(20)에서 보안점검결과 데이터베이스에 저장한다(S20).
이때 서버 컴퓨터(20)는 파일 해쉬값과 파일 행위 특성값을 기준으로 각 사용자 단말기(10)로부터 전송된 자체보안점검 결과를 바탕으로 보안점검도구별 통계를 구성하여 기록하게 된다.
S10 단계와 S20 단계를 통해 각 사용자 단말기(10)에서의 자체 보안점점결과를 서버 컴퓨터(20)에서 데이터베이스로 구축한 이후, 사용자 단말기(10)는 기설정된 의심파일 선정기준을 토대로 부팅 후 일정시간동안 사용자의 개입이 없는 상태에서 동작되는 프로세스 및 DLL을 1차 의심파일로 선정하고, 1차 의심파일로 선정된 파일에 의해서 파생되는 프로세스 및 DLL 로드를 감시하여 해당 파일을 2차 의심파일로 선정한다(S30).
S30 단계는 최근 악성코드의 두드러진 경향으로 언급되는 APT(지능형 지속 위협) 특징에서 '지속(persistent)'을 위한 핵심적인 요구사항으로 하루에도 2, 3회 전원을 껐다 켜는 사용자 단말기(10)에서 사용자의 개입없이 스스로 지속적으로 악성코드가 동작해야 한다. 본 발명에서는 부팅 후 일정시간동안 사용자 개입이 없는 상태에서 동작되는 프로세스 및 DLL을 1차 의심파일로 선정한다. 또한, 1차 의심파일로부터 파생되는 프로세스 실행 및 DLL 로드를 감시하여 해당 파일들을 2차 의심파일로 선정한다. 의심파일 선정기준은 선정에 필요한 세부 기준뿐만 아니라 지나치게 많은 파일들이 의심파일로 분류되는 것을 피하기 위해서 알려진 파일들을 제외하는 규칙을 설정하고 있다.
S30 단계를 통해 의심파일을 선정한 이후, 사용자 단말기(10)는 1차 및 2차로 선정된 의심파일에 대하여 서버 컴퓨터(20)에 저장되어 있는 보안점검결과 데이터베이스와 비교하여, 악성코드로 탐지된 파일인지의 여부를 확인한다(S40).
이때 해당 파일의 해쉬값과 파일 행위 특성값을 각각 조회하여 획득한다. 해쉬값으로 얻어진 보안점검결과는 정확히 동일한 파일에 대한 결과이며, 행위 특성값으로 얻어진 보안점검결과는 정확히 100% 동일한 파일은 아니지만 행위의 특성이 타 사용자 단말기에서 악성코드로 탐지된 파일로 매우 유사한 것으로 판단할 수 있다.
마지막으로, 사용자 단말기(10)는 S40 단계에서 확인한 타 사용자 단말기에서의 보안점검결과와 기설정된 대응규칙을 토대로 자동화된 프로세스 실행중지 및 파일격리를 수행하거나, 또는 사용자의 입력선택에 의거한 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행한다(S50).
S50 단계를 도 7을 참조하여 상세하게 설명하면, 사용자 단말기(10)는 특정 파일에 대해 전체 점검횟수의 합이 0인지를 판단하고(S51), 전체 점검횟수의 합이 0이면 모든 사용자 단말기(10)에서 최초 실행이거나 보안점검 감지를 수행할 때 인지하지 못한 파일로 판단한 후(S52), 판단 메시지를 출력한다(S53).
이후 사용자 단말기(10)는 사용자의 입력조작을 확인하여 파일실행이 허용되는지를 판단하고(S54), 판단결과 파일실행을 선택하면 파일실행을 허용하며(S55), 파일실행을 선택하지 않으면 프로세스 실행중지 및 파일격리(또는 삭제)를 수행한다(S56).
S51 단계의 판단결과 전체 점검횟수의 합이 0이 아니면, 사용자 단말기(10)는 악성코드 진단률을 보안점검 횟수와 악성코드 판단횟수를 통해 계산하고, 계산한 결과가 변수 K값 이상인 보안점검도구의 수가 기설정된 대응규칙에서 정의한 변수 N보다 큰지를 판단한다(S57). 판단결과 악성코드 진단률이 대응규칙에서 정의한 변수보다 크면 자동으로 악성코드로 확인하고(S58), S56 단계에서 설명한 프로세스 실행중지 및 파일격리(또는 삭제)를 즉시 수행한다.
S57 단계의 판단결과 악성코드 진단률이 대응규칙에서 정의한 변수보다 크지 않으면, 사용자 단말기(10)는 보안점검 횟수가 0인 보안점검도구의 수가 기설정된 대응규칙에서 정의한 값(예를 들어, 변수 M)보다 큰지를 판단한다(S59). 판단결과 보안점검 횟수가 0인 보안점검도구의 수가 대응규칙에서 정의한 값보다 크면 일정 수 이상의 보안점검도구에서 악성코드로 탐지하여 삭제하였지만 보안점검 감지부(11)에서 감지하지 못한 것으로 확인하고(S60), S56 단계에서 설명한 프로세스 실행중지 및 파일격리를 수행한다. 이는 전술한 설명에서와 같이 보안점검 감지를 수행할 때 보안점검도구에 의한 즉각적인 파일 삭제를 정확하게 인지하지 못하므로 보안점검 횟수가 0으로 나타나는 경우를 파일 자체가 없어서 점검하지 않은 경우와 즉각 삭제된 경우로 함께 볼 수 있다. 하지만, 전체 사용자 단말기(10) 중에서 특정 보안점검도구를 사용하는 단말기에서만 점검회수가 0이고 다른 보안점검도구를 사용하는 사용자 단말기에서는 그렇지 않다면 보안점검도구가 즉각적으로 파일을 악성코드로 판단해서 삭제했지만 보안점검 감지를 수행할 때 이를 감지하지 못한 것으로 볼 수 있다.
그러나, S59 단계의 판단결과 보안점검 횟수가 0인 보안점검도구의 수가 기설정된 대응규칙에서 정의한 값보다 크지 않으면, 사용자 단말기(10)는 파일 평판 조회결과를 표시한 후(S61), S54 내지 S56 단계를 수행한다.
제 2 실시예
도 8은 본 발명의 제 2 실시예에 따른 클라우드 멀티백신을 이용한 보안장치의 구성을 개략적으로 나타낸 도면이며, 도 9는 도 8의 사용자 단말기(100)의 구성을 상세하게 나타낸 도면으로서, 각각의 사용자 단말기(10)의 보안점검결과를 서버 컴퓨터(20)를 통해 공유하여 대응하는 제 1 실시예와는 달리, 사용자 단말기(100) 간의 P2P 네트워크(200) 연결을 이용한 협력적인 보안강화를 수행하는 방식을 설명한 것이다.
즉 전술한 제 1 실시예 중에서 서버 컴퓨터(20) 대신에 P2P 네트워크(200)로 대체되고, 서버 컴퓨터(20)에서 중앙집중식으로 유지되는 보안점검결과 데이터베이스 대신에 각 사용자 단말기(100)에 구축되는 분산 보안점검결과로 대체한 것으로서, 서버의 역할을 각 사용자 단말기가 분담하여 수행하는 구조이다.
도시된 바와 같이 본 발명의 제 2 실시예에 따른 보안장치는, 복수의 사용자 단말기(100)와 P2P 네트워크(200)로 구성된다.
복수의 사용자 단말기(100)는 특정 파일이 실행되면 기설치된 보안점검도구를 통해 보안점검결과를 감지한 후 자체보안점검 결과를 파일로 생성하고, 생성된 자체보안점검 결과를 P2P 네트워크(200)를 통해 하나 이상의 타 사용자 단말기로 공표하여 각각의 사용자 단말기 상에 분산 보안점검결과를 구축하도록 한다. 그리고 부팅 후 일정시간동안 사용자의 개입이 없는 상태에서 동작되는 프로세스 및 DLL을 1차 의심파일로 선정하고, 1차 의심파일로 선정된 파일에 의해서 파생되는 프로세스 및 DLL 로드를 감시하여 해당 파일을 2차 의심파일로 선정한다. 그리고 1차 및 2차로 선정된 의심파일에 대하여 분산 보안점검결과 처리부에 구축된 정보와 비교하여 악성코드로 탐지된 파일인지의 여부를 확인하며, 확인한 결과와 기설정된 대응규칙을 토대로 자동화된 프로세스 실행중지 및 파일격리를 수행하거나, 또는 사용자의 입력선택에 의거한 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행한다.
사용자 단말기(100)는 보안점검 감지부(110), 보안점검결과 공유부(120), 분산 보안점검결과 처리부(130), 의심파일 선정부(140), 파일 평판 조회부(150), 대응부(160) 등으로 구성되는데, 전술한 제 1 실시예와 비교할 때 분산 보안점검결과 처리부(130)의 구성이 추가된 것이다.
보안점검 감지부(110)는 특정 파일이 실행되면 기설치된 보안점검도구에 의해 수행되는 보안점검결과를 감지하고, 사용자 단말기(100)의 식별정보를 제외한 파일 해쉬값, 파일 행위 특성값, 점검결과, 보안점검도구 정보를 포함한 자체보안점검 결과를 파일로 생성하여 보관한다.
보안점검결과 공유부(120)는 보안점검 감지부(110)에서 생성된 자체보안점검 결과를 P2P 네트워크(200)를 통해 하나 이상의 타 사용자 단말기로 공표하여, 각각의 사용자 단말기 상에 분산 보안점검결과를 구축하도록 한다.
분산 보안점검결과 처리부(130)는 보안점검결과 공유부(120)에서 자체보안점검 결과를 P2P 네트워크(200)를 통해 하나 이상의 타 사용자 단말기로 공표할 때, 사용자 단말기의 식별정보를 제외한 파일 해쉬값, 파일 행위 특성값, 점검결과, 보안점검도구 정보만을 공유하고, 공유되는 정보의 유효시간을 설정하며, 일정한 시간간격으로 공유를 반복적으로 수행하여 통계정보의 정확도를 유지하도록 한다.
이때 분산 보안점검결과 처리부(130)는 정해진 시간간격으로 지속적인 공표작업을 수행하는 재공표(republish) 방식과 공표 대상의 노드(사용자 단말기)를 하나 이상 설정하는 캐시(cache) 방식을 적용하여, 특정 파일에 대한 분산 보안점검결과를 담당하는 노드(사용자 단말기)가 P2P 네트워크(200)에서 사라지면 해당 파일에 대한 분산 보안점검결과를 가져올 수 없는 것을 방지하도록 한다.
의심파일 선정부(140)는 기설정된 의심파일 선정기준을 토대로 부팅 후 일정시간동안 사용자의 개입이 없는 상태에서 동작되는 프로세스 및 DLL을 1차 의심파일로 선정하며, 1차 의심파일로 선정된 파일에 의해서 파생되는 프로세스 및 DLL 로드를 감시하여 해당 파일을 2차 의심파일로 선정한다.
파일 평판 조회부(150)는 의심파일 선정부(140)에서 1차 및 2차로 선정된 의심파일에 대하여 P2P 네트워크(200)를 통해 구축된 분산 보안점검결과와 비교하여, 악성코드로 탐지된 파일인지의 여부를 확인한다.
대응부(160)는 파일 평판 조회부(150)에서 확인한 확인 결과와 기설정된 대응규칙을 토대로 자동화된 프로세스 실행중지 및 파일격리를 수행하거나, 또는 사용자의 입력선택에 의거한 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행한다.
P2P 네트워크(200)는 비교적 소수의 서버에 집중하기보다는 망 구성에 참여하는 단말기들의 계산과 대역폭(bandwidth) 성능에 의존하여 구성되는 통신망으로서, P2P 네트워크는 일반적으로 노드들을 규모가 큰 애드혹(Ad hoc)으로 서로 연결하는 경우 이용된다. 이런 통신망은 여러 가지로 쓸모가 있는데, 오디오, 비디오 데이터 등의 디지털 파일 공유는 매우 보편적이다. 또한, 인터넷 전화(VoIP)와 같은 실시간 데이터 등도 P2P 기술을 통해 서로 전달될 수 있다.
다음에는, 이와 같이 구성된 본 발명의 제 2 실시예에 따른 클라우드 멀티백신을 이용한 보안방법을 도 10을 참조하여 상세하게 설명한다.
도 10은 본 발명의 제 2 실시예에 따른 클라우드 멀티백신을 이용한 보안방법의 동작과정을 상세하게 설명하기 위한 순서도이다. 참고로, 제 1 실시예에서 설명한 도 4의 파일구성은 제 2 실시예에서 사용자 단말기(100)의 분산 보안점검 결과에 대한 파일구성과 동일하다.
먼저, 본 발명의 제 2 실시예는 제 1 실시예에서 설명한 각각의 사용자 단말기(10)의 보안점검결과를 서버 컴퓨터(20)를 통해 공유하여 대응하는 방법과 달리, 사용자 단말기(100)에 설치된 보안점검도구에 의해 수행되는 보안점검결과를 P2P 네트워크(200)를 통해 타 사용자 단말기와 공유함으로써, 사용자 단말기 간의 P2P 연결을 이용한 협력적인 보안강화를 수행하는 방법에 대한 것이다.
사용자 단말기(100)는 특정 파일이 실행되면 기설치된 보안점검도구에 의해 수행되는 보안점검결과를 감지하고, 자체보안점검 결과를 파일로 생성하여 보관한다(S100).
그리고 사용자 단말기(100)는 S100 단계에서 생성된 자체보안점검 결과를 P2P 네트워크(200)를 통해 하나 이상의 타 사용자 단말기로 공표하여, 각각의 사용자 단말기 상에 분산 보안점검결과(도 4의 파일구성과 동일함)를 구축하도록 한다(S200).
이때 S200 단계는 S100 단계에서 생성한 자체 보안점검결과를 타 사용자 단말기에 공표하는 것으로서, DHT 네트워크에서 publish와 동일한 단계로 대상 파일의 자체 보안점검결과를 전송한다. 또한, 해당 파일에 대한 점검결과를 타 노드(즉 타 사용자 단말기)들이 지속적으로 전송해주게 되는데, 해당 정보를 수신하는 노드는 파일 해쉬값과 파일 행위 특성값을 기준으로 타 노드들이 알려주는 점검결과를 종합해서 통계정보를 구축하게 된다. 구축된 정보는 분산보안점검 결과로 표현되었으며, 파일 해쉬값과 파일 행위 특성값에 대한 여러 보안점검도구의 점검결과를 각각 보안점검도구별 통계로 표현한다.
한편, 중앙집중식의 서버가 없는 P2P 특성상 특정한 파일에 대한 분산 보안점검결과를 담당하던 노드(즉 사용자 단말기)가 P2P 네트워크(200)에서 사라지면 해당 파일에 대한 분산 보안점검결과를 가져올 수 없게 되므로, 이런 경우를 대비해서 기존 DHT에서 사용하고 있는 재공표 방법과 캐시 방법을 그대로 적용해야 한다. 이는 각각 정해진 시간 간격(예를 들어, 20분)으로 지속적으로 공표작업을 수행하는 것과 공표대상 노드를 2개 이상으로 설정함을 의미한다. 이것을 지원하기 위해서는 분산 보안점검결과를 구축하는 노드 측에서 수신된 로컬 보안점검결과를 각각 유효시간을 두어 처리해야 한다. 그렇지 않으면, 재공표에 의해서 지속적으로 점검결과가 쌓이게 되어 통계처리가 올바르게 수행되지 않는다. 물론, 수신된 로컬 보안점검결과의 유효시간은 재공표 주기와 동일해야만 통계의 오류가 크게 발생하지 않는다. 여기에서 재공표 개념을 도입하면서 중복 공표를 방지하기 위한 방법으로 노드(즉 사용자 단말기)의 IP 주소나 MAC 주소 등의 정보를 이용하지 않는 것은 개인정보 보호 차원의 고려이다.
이제, S100 단계와 S200 단계를 통해 각 사용자 단말기(100) 간에 보안점점결과를 공유한 이후, 사용자 단말기(100)는 기설정된 의심파일 선정기준을 토대로 부팅 후 일정시간동안 사용자의 개입이 없는 상태에서 동작되는 프로세스 및 DLL을 1차 의심파일로 선정하고, 1차 의심파일로 선정된 파일에 의해서 파생되는 프로세스 및 DLL 로드를 감시하여 해당 파일을 2차 의심파일로 선정한다(S300).
S300 단계를 통해 의심파일을 선정한 이후, 사용자 단말기(100)는 1차 및 2차로 선정된 의심파일에 대하여 S200 단계에서 P2P 네트워크(200)를 통해 구축한 분산 보안점검결과와 비교하여, 악성코드로 탐지된 파일인지의 여부를 확인한다(S400).
마지막으로, 사용자 단말기(100)는 S400 단계에서 확인한 결과와 기설정된 대응규칙을 토대로 자동화된 프로세스 실행중지 및 파일격리를 수행하거나, 또는 사용자의 입력선택에 의거한 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행한다(S500). 이때 S500 단계는 전술한 제 1 실시예에서의 도 7의 세부 단계별 설명과 동일하므로 여기에서의 상세한 설명은 생략하기로 한다.
이처럼, 본 발명은 각각의 사용자 단말기에 설치되어 동작중인 보안점검도구를 통한 점검결과 및 보안점검도구 정보를 사용자 간에 공유함으로써, 다양한 보안점검도구의 탐지능력을 종합하여 사용할 수 있으며, 자신의 사용자 단말기에서는 탐지할 수 없는 악성코드를 타 사용자 단말기에서 탐지된 이력을 바탕으로 악성코드 여부를 판단하여 악성코드 탐지능력이 없는 사용자 단말기라 하더라도 악성코드 감염으로 인해 좀비 단말이 되는 상황을 방지할 수 있다. 또한, 수많은 사용자 단말기가 동시에 접속할 경우 정상적인 서비스가 불가능한 종래의 중앙서버 기반 서비스의 단점을 P2P 개념을 적용하기 때문에 수많은 사용자의 동시접속으로 인해 서비스가 중단될 염려가 없으며, 이에 따라 네트워크의 안정성이 높아짐은 물론, 평판정보의 신뢰도가 더욱 더 높아진다.
여기에서, 상술한 본 발명에서는 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경할 수 있음을 이해할 수 있을 것이다.
10, 100 : 사용자 단말기 11, 110 : 보안점검 감지부
12, 120 : 보안점검결과 공유부 13, 140 : 의심파일 선정부
14, 150 : 파일 평판 조회부 15, 160 : 대응부
20 : 서버 컴퓨터 130 : 분산 보안점검결과 처리부
200 : P2P 네트워크

Claims (13)

  1. (1) 사용자 단말기는, 특정 파일이 실행되면 기설치된 보안점검도구에 의해 수행되는 보안점검결과를 감지하고, 자체보안점검 결과를 파일로 생성하여 보관하는 단계,
    (2) 상기 사용자 단말기는, 상기 (1) 단계에서 생성된 자체보안점검 결과를 서버 컴퓨터로 전송하여, 보안점검결과 데이터베이스에 저장하도록 하는 단계,
    (3) 상기 사용자 단말기는, 기설정된 의심파일 선정기준을 토대로 부팅 후 일정시간동안 사용자의 개입이 없는 상태에서 동작되는 프로세스 및 DLL(Dynamic Link Library, 동적 링크 라이브러리)을 1차 의심파일로 선정하고, 상기 1차 의심파일로 선정된 파일에 의해서 파생되는 프로세스 및 DLL 로드를 감시하여 해당 파일을 2차 의심파일로 선정하는 단계,
    (4) 상기 사용자 단말기는, 상기 (3) 단계에서 1차 및 2차로 선정된 의심파일에 대하여 상기 서버 컴퓨터에 저장되어 있는 보안점검결과 데이터베이스와 비교하여, 악성코드로 탐지된 파일인지의 여부를 확인하는 단계, 그리고
    (5) 상기 사용자 단말기는, 상기 (4) 단계에서 확인한 타 사용자 단말기에서의 보안점검결과와 기설정된 대응규칙을 토대로 자동화된 프로세스 실행중지 및 파일격리를 수행하거나, 또는 사용자의 입력선택에 의거한 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행하는 단계를 포함하며,
    상기 (5) 단계에서, 특정 파일에 대해 전체 점검횟수의 합이 0인지를 판단하고, 전체 점검횟수의 합이 0이면 모든 사용자 단말기에서 최초 실행이거나 상기 (1) 단계에서 인지하지 못한 파일로 판단하여 판단 메시지를 출력하고, 사용자의 입력선택을 토대로 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행하는 클라우드 멀티백신을 이용한 보안방법.
  2. 제 1 항에 있어서,
    상기 (1) 단계에서 파일로 생성되는 자체보안점검 결과는,
    IP(Internet Protocol) 주소, 로그인 정보를 포함한 사용자 단말기의 식별정보를 제외한 파일 해쉬값, 파일 행위 특성값, 점검결과, 보안점검도구 정보를 포함하며,
    상기 파일 행위 특성값은 파일이 사용하는 API 함수와, 패킹, 암호화를 포함한 악성코드의 주요 기능 유사도를 기록한 정보로서, 타 사용자 단말기에서 발견되는 의심파일과 행위가 유사한지를 결정할 때 사용하는 클라우드 멀티백신을 이용한 보안방법.
  3. 제 1 항에 있어서,
    상기 (2) 단계에서 상기 서버 컴퓨터에서 관리하는 보안점검결과 데이터베이스는,
    파일 해쉬값, 파일 행위 특성값을 포함한 각각의 사용자 단말기로부터 전송되는 자체보안점검 결과를 토대로 구성되는 보안점검도구별 통계를 포함하며,
    상기 보안점검도구별 통계는 보안점검도구 정보, 보안점검 횟수, 악성코드 판단횟수를 포함하는 클라우드 멀티백신을 이용한 보안방법.
  4. 제 1 항에 있어서,
    상기 (3) 단계에서 적용하는 상기 의심파일 선정기준은,
    의심파일 선정을 위한 세부 기준 이외에, 알려진 파일들을 제외하는 규칙을 포함하는 클라우드 멀티백신을 이용한 보안방법.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 (5) 단계에서, 특정 파일에 대해 전체 점검횟수의 합이 0이 아니면, 악성코드 진단률을 보안점검 횟수와 악성코드 판단횟수를 통해 계산하고, 계산한 결과가 변수 K값 이상인 보안점검도구의 수가 기설정된 대응규칙에서 정의한 변수 N보다 큰지를 판단하고, 악성코드 진단률이 대응규칙에서 정의한 변수보다 크면 자동으로 악성코드로 판단하여 프로세스 실행중지 및 파일격리를 수행하는 클라우드 멀티백신을 이용한 보안방법.
  7. 제 6 항에 있어서,
    상기 (5) 단계에서, 보안점검 횟수와 악성코드 판단횟수를 통해 계산한 악성코드 진단률 결과가 변수 K값 이상인 보안점검도구의 수가 기설정된 대응규칙에서 정의한 변수 N보다 작으면, 보안점검 횟수가 0인 보안점검도구의 수가 기설정된 대응규칙에서 정의한 값보다 큰지를 판단하고, 보안점검 횟수가 0인 보안점검도구의 수가 대응규칙에서 정의한 값보다 크면 일정 수 이상의 보안점검도구에서 악성코드로 탐지하여 삭제하였지만 상기 (1) 단계에서 감지하지 못한 것으로 판단하여 프로세스 실행중지 및 파일격리를 수행하는 클라우드 멀티백신을 이용한 보안방법.
  8. (a) 사용자 단말기는, 특정 파일이 실행되면 기설치된 보안점검도구에 의해 수행되는 보안점검결과를 감지하고, 자체보안점검 결과를 파일로 생성하여 보관하는 단계,
    (b) 상기 사용자 단말기는, 상기 (a) 단계에서 생성된 자체보안점검 결과를 P2P(peer-to-peer) 네트워크를 통해 하나 이상의 타 사용자 단말기로 공표하여, 각각의 사용자 단말기 상에 분산 보안점검결과를 구축하도록 하는 단계,
    (c) 상기 사용자 단말기는, 기설정된 의심파일 선정기준을 토대로 부팅 후 일정시간동안 사용자의 개입이 없는 상태에서 동작되는 프로세스 및 DLL(Dynamic Link Library, 동적 링크 라이브러리)을 1차 의심파일로 선정하고, 상기 1차 의심파일로 선정된 파일에 의해서 파생되는 프로세스 및 DLL 로드를 감시하여 해당 파일을 2차 의심파일로 선정하는 단계,
    (d) 상기 사용자 단말기는, 상기 (c) 단계에서 1차 및 2차로 선정된 의심파일에 대하여 상기 (b) 단계에서 P2P 네트워크를 통해 구축한 분산 보안점검결과와 비교하여, 악성코드로 탐지된 파일인지의 여부를 확인하는 단계, 그리고
    (e) 상기 사용자 단말기는, 상기 (d) 단계에서 확인한 결과와 기설정된 대응규칙을 토대로 자동화된 프로세스 실행중지 및 파일격리를 수행하거나, 또는 사용자의 입력선택에 의거한 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행하는 단계를 포함하며,
    상기 (b) 단계를 통해 자체보안점검 결과를 P2P 네트워크를 통해 하나 이상의 타 사용자 단말기로 공표할 때,
    사용자 단말기의 식별정보를 제외한 파일 해쉬값, 파일 행위 특성값, 점검결과, 보안점검도구 정보만을 공유하고, 공유되는 정보의 유효시간을 설정하며, 일정한 시간간격으로 공유를 반복적으로 수행하여 통계정보의 정확도를 유지하되,
    특정 파일에 대한 분산 보안점검결과를 담당하는 노드(사용자 단말기)가 P2P 네트워크에서 사라지면 해당 파일에 대한 분산 보안점검결과를 가져올 수 없는 것을 방지하기 위해, DHT(Distributed Hash Table, 분산 해쉬 테이블)에서 사용하는 정해진 시간간격으로 지속적인 공표작업을 수행하는 재공표(republish) 방식과, 공표 대상의 노드(사용자 단말기)를 하나 이상 설정하는 캐시(cache) 방식을 적용하는 클라우드 멀티백신을 이용한 보안방법.
  9. 삭제
  10. 특정 파일이 실행되면 기설치된 보안점검도구를 통해 보안점검결과를 감지한 후 자체보안점검 결과를 파일로 생성하고, 생성된 자체보안점검 결과를 서버 컴퓨터로 전송하여 보안점검결과 데이터베이스에 저장하도록 하고, 부팅 후 일정시간동안 사용자의 개입이 없는 상태에서 동작되는 프로세스 및 DLL(Dynamic Link Library, 동적 링크 라이브러리)을 1차 의심파일로 선정하고, 상기 1차 의심파일로 선정된 파일에 의해서 파생되는 프로세스 및 DLL 로드를 감시하여 해당 파일을 2차 의심파일로 선정하고, 1차 및 2차로 선정된 의심파일에 대하여 서버 컴퓨터에 저장되어 있는 보안점검결과 데이터베이스와 비교하여 악성코드로 탐지된 파일인지의 여부를 확인하며, 타 사용자 단말기에서의 보안점검결과와 기설정된 대응규칙을 토대로 자동화된 프로세스 실행중지 및 파일격리를 수행하거나, 또는 사용자의 입력선택에 의거한 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행하는 복수의 사용자 단말기, 그리고
    상기 사용자 단말기로부터 전송되는 자체보안점검 결과를 토대로 보안점검결과 데이터베이스를 구축하며, 악성코드 판단을 위한 상기 사용자 단말기의 요청에 따라 보안점검결과 데이터베이스를 제공하는 서버 컴퓨터를 포함하며,
    상기 사용자 단말기는,
    특정 파일에 대해 전체 점검횟수의 합이 0인지를 판단하고, 전체 점검횟수의 합이 0이면 모든 사용자 단말기에서 최초 실행이거나 보안점검 감지를 수행할 때 인지하지 못한 파일로 판단하여 판단 메시지를 출력하고, 사용자의 입력선택을 토대로 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행하고,
    특정 파일에 대해 전체 점검횟수의 합이 0이 아니면, 악성코드 진단률을 보안점검 횟수와 악성코드 판단횟수를 통해 계산하고, 계산한 결과가 변수 K값 이상인 보안점검도구의 수가 기설정된 대응규칙에서 정의한 변수 N보다 큰지를 판단하고, 악성코드 진단률이 대응규칙에서 정의한 변수보다 크면 자동으로 악성코드로 판단하여 프로세스 실행중지 및 파일격리를 수행하며,
    보안점검 횟수와 악성코드 판단횟수를 통해 계산한 악성코드 진단률 결과가 변수 K값 이상인 보안점검도구의 수가 기설정된 대응규칙에서 정의한 변수 N보다 작으면, 보안점검 횟수가 0인 보안점검도구의 수가 기설정된 대응규칙에서 정의한 값보다 큰지를 판단하고, 보안점검 횟수가 0인 보안점검도구의 수가 대응규칙에서 정의한 값보다 크면 일정 수 이상의 보안점검도구에서 악성코드로 탐지하여 삭제하였지만 보안점검에서 감지하지 못한 것으로 판단하여 프로세스 실행중지 및 파일격리를 수행하는 클라우드 멀티백신을 이용한 보안장치.
  11. 제 10 항에 있어서,
    상기 사용자 단말기는,
    특정 파일이 실행되면 기설치된 보안점검도구에 의해 수행되는 보안점검결과를 감지하고, 사용자 단말기의 식별정보를 제외한 파일 해쉬값, 파일 행위 특성값, 점검결과, 보안점검도구 정보를 포함한 자체보안점검 결과를 파일로 생성하여 보관하는 보안점검 감지부,
    상기 보안점검 감지부에서 생성된 자체보안점검 결과를 상기 서버 컴퓨터로 전송하여, 파일 해쉬값, 파일 행위 특성값 및 보안점검도구별 통계가 포함된 보안점검결과 데이터베이스에 저장하도록 하되, 상기 보안점검도구별 통계는 보안점검도구 정보, 보안점검 횟수, 악성코드 판단횟수가 포함된 보안점검결과 공유부,
    기설정된 의심파일 선정기준을 토대로 부팅 후 일정시간동안 사용자의 개입이 없는 상태에서 동작되는 프로세스 및 DLL을 1차 의심파일로 선정하고, 상기 1차 의심파일로 선정된 파일에 의해서 파생되는 프로세스 및 DLL 로드를 감시하여 해당 파일을 2차 의심파일로 선정하는 의심파일 선정부,
    상기 의심파일 선정부에서 1차 및 2차로 선정된 의심파일에 대하여 상기 서버 컴퓨터에 저장되어 있는 보안점검결과 데이터베이스와 비교하여, 악성코드로 탐지된 파일인지의 여부를 확인하는 파일 평판 조회부, 그리고
    상기 파일 평판 조회부에서 확인한 타 사용자 단말기에서의 보안점검결과와 기설정된 대응규칙을 토대로 자동화된 프로세스 실행중지 및 파일격리를 수행하거나, 또는 사용자의 입력선택에 의거한 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행하는 대응부
    를 포함하는 클라우드 멀티백신을 이용한 보안장치.
  12. P2P(peer-to-peer) 네트워크, 그리고
    특정 파일이 실행되면 기설치된 보안점검도구를 통해 보안점검결과를 감지한 후 자체보안점검 결과를 파일로 생성하고, 생성된 자체보안점검 결과를 상기 P2P 네트워크를 통해 하나 이상의 타 사용자 단말기로 공표하여 각각의 사용자 단말기 상에 분산 보안점검결과를 구축하도록 하고, 부팅 후 일정시간동안 사용자의 개입이 없는 상태에서 동작되는 프로세스 및 DLL(Dynamic Link Library, 동적 링크 라이브러리)을 1차 의심파일로 선정하고, 상기 1차 의심파일로 선정된 파일에 의해서 파생되는 프로세스 및 DLL 로드를 감시하여 해당 파일을 2차 의심파일로 선정하고, 1차 및 2차로 선정된 의심파일에 대하여 상기 분산 보안점검결과 처리부에 구축된 정보와 비교하여 악성코드로 탐지된 파일인지의 여부를 확인하며, 확인한 결과와 기설정된 대응규칙을 토대로 자동화된 프로세스 실행중지 및 파일격리를 수행하거나, 또는 사용자의 입력선택에 의거한 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행하는 복수의 사용자 단말기를 포함하며,
    상기 사용자 단말기는,
    자체보안점검 결과를 P2P 네트워크를 통해 하나 이상의 타 사용자 단말기로 공표할 때,
    사용자 단말기의 식별정보를 제외한 파일 해쉬값, 파일 행위 특성값, 점검결과, 보안점검도구 정보만을 공유하고, 공유되는 정보의 유효시간을 설정하며, 일정한 시간간격으로 공유를 반복적으로 수행하여 통계정보의 정확도를 유지하되,
    특정 파일에 대한 분산 보안점검결과를 담당하는 노드(사용자 단말기)가 P2P 네트워크에서 사라지면 해당 파일에 대한 분산 보안점검결과를 가져올 수 없는 것을 방지하기 위해, DHT(Distributed Hash Table, 분산 해쉬 테이블)에서 사용하는 정해진 시간간격으로 지속적인 공표작업을 수행하는 재공표(republish) 방식과, 공표 대상의 노드(사용자 단말기)를 하나 이상 설정하는 캐시(cache) 방식을 적용하는 클라우드 멀티백신을 이용한 보안장치.
  13. 제 12 항에 있어서,
    상기 사용자 단말기는,
    특정 파일이 실행되면 기설치된 보안점검도구에 의해 수행되는 보안점검결과를 감지하고, 사용자 단말기의 식별정보를 제외한 파일 해쉬값, 파일 행위 특성값, 점검결과, 보안점검도구 정보를 포함한 자체보안점검 결과를 파일로 생성하여 보관하는 보안점검 감지부,
    상기 보안점검 감지부에서 생성된 자체보안점검 결과를 상기 P2P 네트워크를 통해 하나 이상의 타 사용자 단말기로 공표하여, 각각의 사용자 단말기 상에 분산 보안점검결과를 구축하도록 하는 보안점검결과 공유부,
    상기 보안점검결과 공유부에서 자체보안점검 결과를 상기 P2P 네트워크를 통해 하나 이상의 타 사용자 단말기로 공표할 때, 사용자 단말기의 식별정보를 제외한 파일 해쉬값, 파일 행위 특성값, 점검결과, 보안점검도구 정보만을 공유하고, 공유되는 정보의 유효시간을 설정하며, 일정한 시간간격으로 공유를 반복적으로 수행하여 통계정보의 정확도를 유지하도록 하되, 정해진 시간간격으로 지속적인 공표작업을 수행하는 재공표(republish) 방식과 공표 대상의 노드(사용자 단말기)를 하나 이상 설정하는 캐시(cache) 방식을 적용하여, 특정 파일에 대한 분산 보안점검결과를 담당하는 노드(사용자 단말기)가 상기 P2P 네트워크에서 사라지면 해당 파일에 대한 분산 보안점검결과를 가져올 수 없는 것을 방지하도록 하는 분산 보안점검결과 처리부,
    기설정된 의심파일 선정기준을 토대로 부팅 후 일정시간동안 사용자의 개입이 없는 상태에서 동작되는 프로세스 및 DLL을 1차 의심파일로 선정하고, 상기 1차 의심파일로 선정된 파일에 의해서 파생되는 프로세스 및 DLL 로드를 감시하여 해당 파일을 2차 의심파일로 선정하는 의심파일 선정부,
    상기 의심파일 선정부에서 1차 및 2차로 선정된 의심파일에 대하여 상기 P2P 네트워크를 통해 구축된 분산 보안점검결과와 비교하여, 악성코드로 탐지된 파일인지의 여부를 확인하는 파일 평판 조회부, 그리고
    상기 파일 평판 조회부에서 확인한 확인 결과와 기설정된 대응규칙을 토대로 자동화된 프로세스 실행중지 및 파일격리를 수행하거나, 또는 사용자의 입력선택에 의거한 파일실행허용 또는 프로세스 실행중지 및 파일격리를 수행하는 대응부
    를 포함하는 클라우드 멀티백신을 이용한 보안장치.
KR1020140049074A 2013-04-24 2014-04-24 클라우드 멀티백신을 이용한 보안방법 및 그 장치 KR101600302B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20130045268 2013-04-24
KR1020130045268 2013-04-24

Publications (2)

Publication Number Publication Date
KR20140127178A KR20140127178A (ko) 2014-11-03
KR101600302B1 true KR101600302B1 (ko) 2016-03-21

Family

ID=52451600

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140049074A KR101600302B1 (ko) 2013-04-24 2014-04-24 클라우드 멀티백신을 이용한 보안방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR101600302B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10083295B2 (en) * 2014-12-23 2018-09-25 Mcafee, Llc System and method to combine multiple reputations
US10027717B2 (en) 2015-06-26 2018-07-17 Mcafee, Llc Peer-to-peer group vigilance
KR101710928B1 (ko) * 2015-09-04 2017-03-13 숭실대학교산학협력단 모바일 단말기의 os 플랫폼에서의 악성 코드 방지 방법, 이를 수행하기 위한 기록 매체 및 시스템
KR101685014B1 (ko) * 2016-02-19 2016-12-12 주식회사 블랙포트시큐리티 컴퓨터 시스템의 랜섬웨어 행위에 대한 선제적인 탐지 차단 방법 및 그 장치
KR101940864B1 (ko) * 2016-11-14 2019-01-21 숭실대학교산학협력단 클라우드 기반의 클라이언트 장치 및 백업 방법, 이를 수행하기 위한 기록매체
KR102272246B1 (ko) * 2019-09-24 2021-07-01 주식회사 우리은행 사용자 단말 장치 및 그 악성 프로그램 탐지 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101218419B1 (ko) 2010-11-09 2013-01-21 한양대학교 산학협력단 클라우드 보안 아키텍처를 사용한 스마트폰 바이러스 검출 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101218419B1 (ko) 2010-11-09 2013-01-21 한양대학교 산학협력단 클라우드 보안 아키텍처를 사용한 스마트폰 바이러스 검출 방법 및 장치

Also Published As

Publication number Publication date
KR20140127178A (ko) 2014-11-03

Similar Documents

Publication Publication Date Title
CN110121876B (zh) 用于通过使用行为分析检测恶意设备的系统和方法
KR101600302B1 (ko) 클라우드 멀티백신을 이용한 보안방법 및 그 장치
US11924170B2 (en) Methods and systems for API deception environment and API traffic control and security
JP6785225B2 (ja) 分散型トラフィック管理システムおよび技術
US10348739B2 (en) Automated data risk assessment
EP3068095B1 (en) Monitoring apparatus and method
US20140344912A1 (en) Firewall based botnet detection
WO2017103974A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
KR102580898B1 (ko) Dns 메시지를 사용하여 컴퓨터 포렌식 데이터를 선택적으로 수집하는 시스템 및 방법
US20240048578A1 (en) Behavior based profiling
CN112073437B (zh) 多维度的安全威胁事件分析方法、装置、设备及存储介质
US11936660B2 (en) Self-training classification
US10171423B1 (en) Services offloading for application layer services
US20140259140A1 (en) Using learned flow reputation as a heuristic to control deep packet inspection under load
JP5739034B1 (ja) 攻撃検知システム、攻撃検知装置、攻撃検知方法および攻撃検知プログラム
US20180191650A1 (en) Publish-subscribe based exchange for network services
JP2018121218A (ja) 攻撃検知システム、攻撃検知方法および攻撃検知プログラム
JP6592196B2 (ja) 悪性イベント検出装置、悪性イベント検出方法および悪性イベント検出プログラム
KR20150026187A (ko) 드로퍼 판별을 위한 시스템 및 방법
CN114172881A (zh) 基于预测的网络安全验证方法、装置及系统
CN110784471A (zh) 黑名单采集管理方法、装置、计算机设备及存储介质
RU2776349C1 (ru) Системы и способы использования сообщений dns для селективного сбора компьютерных криминалистических данных
KR100729794B1 (ko) 유해 소프트웨어 자동 치료 시스템 및 방법
Moorthy et al. Intrusion detection in cloud computing implementation of (saas & iaas) using grid environment
Huraj et al. Smart Home Defense Against DDoS Attacks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right