KR20120031963A - 악성 코드 차단 장치 - Google Patents

악성 코드 차단 장치 Download PDF

Info

Publication number
KR20120031963A
KR20120031963A KR1020120009239A KR20120009239A KR20120031963A KR 20120031963 A KR20120031963 A KR 20120031963A KR 1020120009239 A KR1020120009239 A KR 1020120009239A KR 20120009239 A KR20120009239 A KR 20120009239A KR 20120031963 A KR20120031963 A KR 20120031963A
Authority
KR
South Korea
Prior art keywords
file
value
dna
database
dna value
Prior art date
Application number
KR1020120009239A
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 KR1020120009239A priority Critical patent/KR20120031963A/ko
Publication of KR20120031963A publication Critical patent/KR20120031963A/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
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 실시 예에 따른 악성 코드 감염 차단 장치는, 에이전트 시스템 내 각 파일의 부분별 DNA값과 각 파일이 정상 또는 악성인지의 여부에 대한 인덱스 정보가 저장되어 있는 데이터베이스와, 에이전트 시스템에서 실행 요청이 있는 특정 파일의 일부분에 대한 DNA값을 산출하는 산출부와, 일부분의 DNA값을 토대로 데이터베이스를 검색하여 특정 파일의 일부분을 선택적으로 포함하는 다른 부분에 대한 DNA값 산출 여부를 결정하며, 데이터베이스의 검색을 통해 산출된 DNA값을 갖는 파일들의 그룹을 추출한 후 추출된 그룹 내 파일들의 인덱스 정보를 토대로 특정 파일에 대한 악성 또는 정상인지를 검사하여 특정 파일에 대한 실행 여부를 결정하는 파일 검사부를 포함한다.
이와 같이, 본 발명은 파일의 일부분에 대한 DNA값만을 이용하여 파일이 악성 또는 정상인지의 여부를 체크함으로써, 사양이 낮은 시스템에서 적은 리소스로 악성 코드의 감염을 차단할 수 있는 효과가 있다.

Description

악성 코드 차단 장치{APPARATUS FOR PREVENTING MALICIOUS CODES}
본 발명은 악성 코드 차단에 관한 것으로, 더욱 상세하게는 특정 파일의 부분별로 DNA값을 이용하여 에이전트 시스템의 악성 코드 감염을 차단할 수 있는 악성 코드 감염 차단 장치 및 시스템과 그 방법에 관한 것이다.
일반적으로 전용 에이전트 시스템, 예컨대 전용 개인 컴퓨터 장비에 악성 코드 감염을 막기 위해서 안티바이러스 엔진을 갖고 있는 클라이언트용 안티바이러스 제품을 설치하여 악성 코드의 감염을 차단하고 있다. 악성 코드 감염을 막기 위해서 기존 안티바이러스 엔진은 개인용 컴퓨터에서 주기적으로 안티바이러스 엔진을 업데이트함과 더불어 시스템의 보안 업데이트가 필요하다.
안티바이러스 엔진 업데이트는 컴퓨터에서 기동 중인 전용 기능을 수행하는 파일의 오진으로 진단하는 위험성을 가지고 있으며, 컴퓨터 업데이트는 전용 프로그램의 비호환성의 위험성을 갖고 있다.
대부분의 전용 컴퓨터는 시스템 사양이 업그레이드되지 않기 때문에 사양이 낮은 편이다. 그러나, 안티바이러스 엔진은 각각의 컴퓨터에 설치되어 구동되기 때문에 낮은 사양의 컴퓨터에서 구동이 되면, 안티바이러스 엔진이 시스템 리소스, 즉 CPU, 메모리, 네트워크 트래픽을 많이 사용하여 컴퓨터 내 설치된 프로그램들과 동작 중인 응용 프로그램의 구동을 방해하는 문제가 있다. 이런 이유로, 안티바이러스 엔진이 요구하는 사양보다 낮은 컴퓨터, 예컨대 POS 단말기, 생산 설비에서 사용되는 저사양 컴퓨터에서도 사용 가능한 보안 프로그램이 필요하다.
특히, Secure OS가 설치된 단말기는 임의의 파일을 실행하기 전에 실행이 허용된 파일인지 여부를 확인하기 위해서 기존에 저장된 파일의 해쉬값과 임의의 파일의 전체 해쉬 값을 비교한 후 파일의 일치 여부를 확인한다.
단말기에서 파일을 읽거나 실행하기 위해서는 매번 파일의 해쉬 값을 확인하는 부하를 갖기 때문에 용량이 큰 파일의 경우 단말기의 부하가 증가하는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 특정 파일을 실행하고자 할 때 특정 파일의 부분별로 DNA값을 산출한 후 산출된 DNA값과 기 저장된 파일에 대한 부분별 DNA값의 비교를 통해 악성 또는 정상인지를 구분함으로써, 부하를 최소화할 수 있는 악성 코드 감염 차단 장치 및 방법을 제공하는데 있다.
또한, 본 발명의 목적은 에이전트 시스템 내 데이터베이스에 특정 파일의 최초 DNA값을 서버 시스템에 제공한 후 서버 시스템의 데이터베이스를 이용하여 특정 파일이 정상 또는 악성인지를 알 수 있는 악성 코드 감염 차단 시스템 및 방법을 제공하는데 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 실시 예에 따른 악성 코드 감염 차단 장치는, 에이전트 시스템 내 각 파일의 부분별 DNA값과 상기 각 파일이 정상 또는 악성인지의 여부에 대한 인덱스 정보가 저장되어 있는 데이터베이스와, 상기 에이전트 시스템에서 실행 요청이 있는 특정 파일의 일부분에 대한 DNA값을 산출하는 산출부와, 상기 일부분의 DNA값을 토대로 상기 데이터베이스를 검색하여 상기 특정 파일의 일부분을 선택적으로 포함하는 다른 부분에 대한 DNA값 산출 여부를 결정하며, 상기 데이터베이스의 검색을 통해 상기 산출된 DNA값을 갖는 파일들의 그룹을 추출한 후 상기 추출된 그룹 내 파일들의 인덱스 정보를 토대로 상기 특정 파일에 대한 악성 또는 정상인지를 검사하여 상기 특정 파일에 대한 실행 여부를 결정하는 파일 검사부를 포함한다.
본 발명의 실시 예에 따른 악성 코드 감염 차단 장치에서 상기 파일 검사부는, 상기 산출된 DNA값을 갖는 파일이 상기 데이터베이스에 존재하지 않을 경우 상기 특정 파일을 차단시킬 수 있다.
본 발명의 실시 예에 따른 악성 코드 감염 차단 장치는 통신망을 통해 외부로부터 전송받은 임의의 파일에 대한 DNA값과 인덱스 정보를 이용하여 상기 데이터베이스를 업데이트시키는 업데이트부를 더 포함할 수 있다.
본 발명의 실시 예에 따른 악성 코드 감염 차단 장치에서 상기 산출부는, 상기 특정 파일이 실행 파일인 경우 실행 코드가 존재하는 부분에서 실행되는 순서에 의거하여 상기 일부분의 DNA값을 산출할 수 있다.
본 발명의 실시 예에 따른 악성 코드 감염 차단 장치에서 상기 산출부는, 상기 특정 파일이 데이터 파일인 경우 상기 특정 파일이 메모리에 적재되는 순서에 의거하여 상기 일부분의 DNA값을 산출할 수 있다.
다른 견지에서의 본 발명의 실시 예에 따른 악성 코드 감염 차단 시스템은, 실행 요청이 있는 특정 파일의 일부분에 대한 DNA값을 산출한 후 상기 산출된 DNA값을 통신망을 통해 송출하여 상기 특정 파일에 대한 검사를 요청하는 에이전트 시스템과, 각 파일의 부분별 DNA값과 상기 각 파일이 정상 또는 악성인지의 여부에 대한 인덱스 정보가 저장되어 있는 서버 데이터베이스를 구비하며, 상기 통신망을 통해 전송받은 DNA값을 토대로 상기 서버 데이터베이스를 검색하여 상기 전송받은 DNA값을 갖는 파일들의 그룹을 추출한 후 상기 추출된 그룹 내 파일들의 인덱스 정보와 DNA값을 상기 에이전트 시스템에 제공하는 서버 시스템을 포함한다. 여기서, 상기 에이전트 시스템은 상기 서버 시스템으로부터 제공받은 인덱스 정보를 토대로 상기 특정 파일의 일부분을 선택적으로 포함하는 다른 부분의 DNA값 산출을 통해 상기 특정 파일을 검사하거나 상기 특정 파일을 정상으로 판단한다.
본 발명의 실시 예에 따른 악성 코드 감염 차단 시스템에서 상기 에이전트 시스템은, 상기 에이전트 시스템에서 관리되는 각 파일의 부분별 DNA값과 상기 각 파일이 정상 또는 악성인지의 여부에 대한 인덱스 정보가 저장되어 있는 데이터베이스를 구비할 수 있다.
본 발명의 실시 예에 따른 악성 코드 감염 차단 시스템에서 에이전트 시스템은 상기 산출된 DNA값을 갖는 파일이 상기 데이터베이스에 존재하지 않을 경우 상기 통신망을 통해 서버 시스템에 상기 산출된 DNA값을 전송하여 상기 특정 파일에 대한 검사를 요청할 수 있다.
본 발명의 실시 예에 따른 악성 코드 감염 차단 시스템에서 상기 에이전트 시스템은, 상기 서버 시스템으로부터 전송받은 그룹 내 파일의 인덱스 정보와 DNA값을 이용하여 상기 데이터베이스를 업데이트시킬 수 있다.
본 발명의 실시 예에 따른 악성 코드 감염 차단 시스템에서 상기 에이전트 시스템은, 상기 다른 부분의 DNA값과 상기 그룹 내 각 파일의 DNA값간의 비교를 통해 일치한 정보가 없을 경우 상기 특정 파일을 상기 서버 시스템에 전송하여 검사를 요청할 수 있다.
본 발명의 실시 예에 따른 악성 코드 감염 차단 시스템에서에 상기 서버 시스템은, 상기 전송받은 특정 파일을 기 설정된 안티바이러스 엔진을 이용하여 검사한 후 상기 검사 결과에 의거하여 인덱스 정보를 생성하고, 상기 특정 파일의 각 부분별 DNA값을 산출하여 상기 서버 데이터베이스를 업데이트할 수 있다.
본 발명의 실시 예에 따른 에이전트 시스템에서의 악성 코드 감염 차단 방법은 상기 에이전트 시스템에서 실행 요청이 있는 특정 파일의 일부분에 대한 DNA값을 산출하는 단계와, 상기 산출된 DNA값을 토대로 상기 에이전트 시스템 내 각 파일의 부분별 DNA값과 상기 각 파일이 정상 또는 악성인지의 여부에 대한 인덱스 정보가 저장되어 있는 데이터베이스를 검색하여 상기 산출된 DNA값을 갖는 파일들의 그룹을 검색하는 단계와, 상기 그룹 내 파일들의 인덱스 정보를 토대로 상기 특정 파일을 정상으로 판단하여 실행을 허용하거나 상기 특정 파일의 일부분을 선택적으로 포함하는 다른 부분에 대한 DNA값 산출하는 단계와, 상기 다른 부분의 DNA값과 상기 그룹 내 파일들의 DNA값 및 인덱스 정보간의 비교를 통해 상기 특정 파일을 악성 또는 정상으로 판단하는 단계와, 상기 판단 결과에 의거하여 상기 특정 파일의 또 다른 부분의 DNA값을 산출한 후 상기 판단하는 단계로 진행하여 이후 단계를 수행하는 단계를 포함한다.
본 발명의 실시 예에 따른 악성 코드 감염 차단 방법에서 상기 산출하는 단계는, 상기 특정 파일이 실행 파일인 경우 실행 코드가 존재하는 부분에서 실행되는 순서에 의거하여 상기 일부분의 DNA값을 산출할 수 있다.
본 발명의 실시 예에 따른 악성 코드 감염 차단 방법에서 상기 산출하는 단계는, 상기 특정 파일이 데이터 파일인 경우 상기 특정 파일이 메모리에 적재되는 순서에 의거하여 상기 일부분의 DNA값을 산출할 수 있다.
본 발명의 실시 예에 따른 악성 코드 감염 차단 방법은 외부의 통신망을 통해 수신한 임의의 파일의 DNA값과 인덱스 정보가 수신됨에 따라 상기 데이터베이스를 업데이트하는 단계를 더 포함할 수 있다.
본 발명의 실시 예에 따른 악성 코드 감염 차단 방법은 각 파일의 부분별 DNA값과 상기 각 파일이 정상 또는 악성인지의 여부에 대한 인덱스 정보가 저장되어 있는 서버 데이터베이스를 구비하는 서버 시스템과 연동하는 에이전트 시스템에서의 악성 코드 감염 차단 방법으로서, 실행 요청이 있는 특정 파일의 일부분에 대한 DNA값을 산출하는 단계와, 상기 산출된 DNA값을 통신망을 통해 상기 서버 시스템에 제공하여 상기 특정 파일에 대한 검사를 요청하는 단계와, 상기 요청에 대한 응답으로 상기 서버 데이터베이스의 검색을 통해 상기 산출된 DNA값을 갖는 파일들의 그룹 내 상기 파일들의 인덱스 정보와 DNA값을 제공받는 단계와, 상기 서버 시스템으로부터 제공받은 인덱스 정보를 토대로 상기 특정 파일의 일부분을 선택적으로 포함하는 다른 부분의 DNA값 산출을 통해 상기 특정 파일을 검사하거나 상기 특정 파일을 정상으로 판단하는 단계를 포함한다.
본 발명의 실시 예에 따른 악성 코드 감염 차단 방법은 상기 다른 부분의 DNA값과 상기 그룹 내 각 파일의 DNA값 간의 비교를 통해 일치한 정보가 존재하는지를 판단하는 단계와, 상기 판단 결과, 상기 일치한 정보가 존재하지 않을 경우 상기 특정 파일을 상기 서버 시스템에 전송하여 검사를 요청하는 단계와, 상기 서버 시스템에서 상기 전송받은 특정 파일을 기 설정된 안티바이러스 엔진을 이용하여 검사한 후 상기 검사 결과에 의거하여 인덱스 정보를 생성하고, 상기 특정 파일의 각 부분별 DNA값을 산출하여 상기 서버 데이터베이스를 업데이트한 후 상기 인덱스 정보를 상기 에이전트 시스템에 제공하는 단계와, 상기 에이전트 시스템에서 상기 인덱스 정보를 이용하여 상기 특정 파일을 차단 또는 실행시키는 단계를 포함한다.
본 발명의 실시 예에 따른 악성 코드 감염 차단 방법은 상기 서버 데이터베이스 검색 결과 상기 전송받은 DNA값을 갖는 파일이 존재하지 않을 경우 상기 서버 시스템으로부터 상기 특정 파일의 전송을 요청받는 단계와, 상기 에이전트 시스템으로부터 상기 특정 파일을 수신한 상기 서버 시스템에서 상기 특정 파일을 기 설정된 안티바이러스 엔진을 이용하여 검사한 후 상기 검사 결과에 의거하여 인덱스 정보를 생성하고, 상기 특정 파일의 각 부분별 DNA값을 산출하여 상기 서버 데이터베이스를 업데이트한 후 상기 인덱스 정보를 상기 에이전트 시스템에 제공하는 단계와, 상기 에이전트 시스템에서 상기 인덱스 정보를 이용하여 상기 특정 파일을 차단 또는 실행시키는 단계를 포함한다.
본 발명은 파일의 일부분에 대한 DNA값만을 이용하여 파일이 악성 또는 정상인지의 여부를 체크함으로써, 사양이 낮은 시스템에서 적은 리소스로 악성 코드의 감염을 차단할 수 있는 효과가 있다.
또한, 본 발명은 파일의 일부분에 대한 DNA값만을 이용하여 서버 시스템에 검사를 요청하고, 이에 따른 응답을 제공받아 악성 코드 감염을 차단함으로써, 네트워크 트래픽 발생을 최소화할 수 있는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 악성 코드 감염 차단 장치와 그 주변 구성을 도시한 블록도이며,
도 2는 본 발명의 실시 예에 따른 DNA값을 산출하는 방법에 대해 설명하기 위한 도면이며,
도 3은 본 발명의 실시 예에 따른 DNA값을 이용한 악성 코드 감염 차단 과정을 도시한 흐름도이며,
도 4 및 도 5는 본 발명의 실시 예에 따른 에이전트 시스템이 서버 시스템과 연동하여 악성 코드 감염을 차단하는 과정을 도시한 예시도이다.
본 발명의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 실시 예에서는 실행 파일의 부분별로 정보값인 DNA값을 산출한 후 이를 통해 실행 파일의 차단 또는 실행 여부를 판단할 수 있는 악성 코드 감염 차단 장치 및 시스템과 그 방법에 대해 설명한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 악성 코드 감염 차단 장치와 그 주변 구성을 도시한 블록도로서, 크게 악성 코드 감염 차단 장치를 구비한 에이전트 시스템(100) 및 서버 데이터베이스(152)를 구비한 서버 시스템(150)으로 구성된다.
에이전트 시스템(100)은 저사양의 단말로서, 그 예로 공장 시스템을 관리하기 위한 단말, POS 시스템, 생산 관리 시스템 등을 들 수 있다. 이러한 에이전트 시스템(100)은 데이터베이스(106), 산출부(102), 파일 검사부(104) 및 업데이트부(108)를 포함한다.
데이터베이스(106)는 에이전트 시스템(100)에 설치된 파일의 각 부분별 정보값, 즉 DNA 값과 각 파일이 정상 또는 악성인지에 대한 인덱스 정보를 저장하고 있다.
산출부(102)는 에이전트 시스템(100)에서 임의의 파일을 실행할 때 임의의 파일 전체를 메모리(미도시됨)에 읽지 않고 파일 형식을 판별한 후 파일 형식에 따라 1차로 실행 코드가 있는 부분에서 코드가 실행되는 순서에 따라서 임의의 파일의 소정 부분에 대한 정보값인 DNA값을 산출하고, 추출된 DNA값을 파일 검사부(104)에 제공한다. 한편, 산출부(102)는 임의의 파일이 데이터 파일인 경우 데이터 파일의 메모리 적재 순서에 따라 특정 부분의 정보값인 DAN값을 산출하며, 산출된 DNA값을 파일 검사부(104)에 제공한다.
예를 들어, 임의의 파일이 도 2에 도시된 바와 같이 다수의 실행 가능한 코드로 구성된 경우 산출부(102)는 제 1 실행 가능한 코드 부분(200)에서 1차 DNA값을 산출한 후 이를 파일 검사부(104)에 제공하며, 파일 검사부(104)의 제어에 의거하여 제 2 실행 가능한 코드 부분(210)에서 2차 DNA값을 산출한다. 2차 DNA값이 산출되는 부분은 1차 DNA값이 산출되는 부분보다 범위가 넓을 수 있다.
본 발명의 실시 예에서의 DNA값은 CRC 기반의 해쉬 함수를 적용한 값을 그 예로 들 수 있다.
파일 검사부(104)는 추출된 DNA값과 데이터베이스(106)간의 비교를 통해 임의의 파일의 다른 부분에 대한 DNA값 산출 여부를 결정한 후 이를 토대로 산출부(102)를 제어하며, 산출부(102)로부터 제공받은 DNA값과 데이터베이스(106)간의 비교를 통해 임의의 파일이 정상 또는 악성인지의 여부를 판단하고, 이를 토대로 임의의 파일 실행을 허용하거나 차단한다.
한편, 데이터베이스(106)에 산출된 DNA값에 갖는 파일이 존재하지 않을 경우 파일 검사부(104)는 서버 시스템(150)에 접속하여 산출된 DNA값을 이용하여 파일의 검사를 요청할 수 있으며, 서버 시스템(150)의 응답에 의거하여 임의의 파일의 다른 부분에 대한 DNA값의 산출 여부를 결정하거나 실행을 허용한다.
다른 한편, 데이터베이스(106)에 산출된 DNA값을 갖는 파일이 존재하지 않을 경우 파일 검사부(104)는 임의의 파일 실행을 차단시킬 수 있다.
업데이트부(108)는 새로운 파일이 실행 요청이 있을 경우 새로운 파일에 대한 각 부분별 DNA값을 산출부(102)를 이용하여 산출한 후 이를 토대로 데이터베이스(106)를 업데이트시키거나 서버 시스템(150)으로부터 제공받은 데이터, 즉 임의의 파일에 대한 각 부분별 DNA값이 포함된 데이터를 이용하여 데이터베이스(106)를 업데이트시킨다.
본 발명의 실시 예에서 새로운 파일은 외부의 통신망을 통해 유입된 파일이거나, 관리자 또는 외부의 요청에 의거하여 기존의 파일이 변경된 변경 파일이거나 소정의 프로그램 설치 또는 데이터 생성 과정에 의해 생성된 파일일 수 있다.
상기와 같은 에이전트 시스템(100)의 악성 코드 감염 차단 장치가 파일을 검사하는 과정에 대해 도 3을 참조하여 설명하면 아래와 같다.
도 3은 본 발명의 실시 예에 따른 악성 코드 차단 장치가 대상 파일이 악성 또는 정상인지를 검사하는 과정을 도시한 흐름도이다.
먼저, 도 3에 도시된 바와 같이, 에이전트 시스템(100)의 산출부(102)는 대상 파일의 특정 부분에 대한 1차 DNA값을 산출한다(S300).
파일 검사부(104)는 산출된 1차 DNA값과 데이터베이스(106)에 저장된 파일들의 1차 DNA값 간의 비교를 통해 일치한 파일들을 1차로 추출(S302)한 후 1차로 추출된 파일들이 정상 또는 악성인지에 대한 인덱스 정보를 토대로 1차로 추출된 파일들 내에 악성 파일이 존재하는지를 판단한다(S304).
S304의 판단 결과, 1차 추출된 파일들 중 악성 파일이 존재하지 않을 경우 파일 검사부(104)는 2차 DNA값의 추출 없이 대상 파일을 정상으로 판단하여 실행을 허용한다(S306).
한편, S304의 판단 결과, 추출된 파일들 중 악성 파일이 존재할 경우 파일 검사부(104)는 산출부(102)에 대상 파일에 대한 2차 DNA값의 산출을 요청하며(S308), 산출부(102)는 대상 파일의 다른 부분에 대한 정보값인 2차 DNA값을 산출하고(S310), 추출된 2차 DNA값을 파일 검사부(104)에 제공한다. 여기서, 대상 파일의 다른 부분은 1차 DNA값 추출 시 사용되는 부분을 포함할 수 있다.
이에 따라, 파일 검사부(104)는 1차 추출된 파일들의 2차 DNA값과 산출된 2차 DNA값간의 비교를 통해 1차 추출된 파일들 중 산출된 2차 DNA값이 일치한 파일들을 2차로 추출한 후 추출된 2차 파일들의 인덱스 정보를 토대로 추출된 2차 파일들 중 악성 파일이 존재하는지를 판단한다(S312).
S312의 판단 결과, 추출된 2차 파일들 중 악성 파일이 존재하지 않을 경우 파일 검사부(104)는 대상 파일을 정상으로 판단하여 실행을 허용하고, 그렇지 않을 경우 S308로 진행하여 이후 단계를 수행한다.
상기와 같은 S308, S310, S312를 반복적으로 수행하여 대상 파일에 대한 n차 DNA값을 산출하며, 산출된 n차 DNA값과 추출된 n차 추출 파일을 토대로 대상 파일이 악성인지 정상인지를 판단할 수 있다.
한편, 본 발명의 실시 예에서 데이터베이스(106)의 검색을 통해 n차 파일을 추출하는 과정에서 n차 DNA값이 일치한 파일이 데이터베이스(106)에 존재하지 않을 경우 대상 파일에서 산출된 n차까지의 DNA 값을 통신망을 통해 서버 시스템(150)에 전송하여 검사를 요청하며, 서버 시스템(150)의 응답을 토대로 대상 파일에 대한 n+1차 DNA값을 추출하거나 대상 파일을 정상으로 판단하여 실행을 허용할 수 있다. 여기서, 대상 파일이 정상으로 판단된 경우 에이전트 시스템(100)에서는 대상 파일의 각 부분별 DAN값을 이용하여 데이터베이스(106)를 업데이트하며, 서버 시스템(150)에 대상 파일의 각 부분별 DNA값과 일치한 파일이 없는 경우 에이전트 시스템(100)은 대상 파일의 각 부분별 DNA값을 서버 시스템(150)에 전송한다. 이에 따라, 서버 시스템(150)은 기 설정된 안티바이러스 엔진을 이용하여 대상 파일에 대한 악성 감염 여부를 검사한 후 검사 결과를 토대로 대상 파일에 대한 인덱스 정보를 생성하고, 생성된 인덱스 정보와 대상 파일에 각 부분별 DNA값을 이용하여 서버 데이터베이스(152)를 업데이트시킴과 더불어 에이전트 시스템(100)의 데이터베이스(106)를 업데이트시킨다.
본 발명의 실시 예에 따르면, 파일 전체를 메모리에 읽지 않고 특정 부분에 대한 DNA값의 산출을 통해 파일이 정상 또는 악성인지의 여부를 판단함으로써, 파일의 실행 가능 여부를 고속으로 판별할 수 있다.
서버 시스템(150)은 다수의 에이전트 시스템(100)으로부터 제공받은 파일에 대한 각 부분별 DNA값을 토대로 서버 데이터베이스(152)를 업데이트하며, 서버 데이터베이스(152)의 업데이트에 따라 업데이트 정보를 다수의 에이전트 시스템(100)으로 브로드캐스팅함으로써, 다수의 에이전트 시스템(100) 내 데이터베이스(106)를 업데이트시킨다.
서버 시스템(150)이 다수의 에이전트 시스템(100)의 데이터베이스(106)를 업데이트하는 과정에 대해 설명하면, 특정 파일의 DNA값이 변경되는 경우, 예를 들어 1차 DNA값이 같은 파일 집단에 대한 정보가 변경되는 경우 1차 DNA값의 집단 정보가 변경되었음을 에이전트 시스템(100)에 브로드캐스팅해줌으로써, 다수의 에이전트 시스템(100) 내 데이터베이스(106)를 업데이트시킬 수 있다.
상기와 같은 본 발명의 실시 예에 따른 시스템이 적용되는 예에 대해 도 4 내지 도 도 5를 참조하여 설명한다.
도 4에 도시된 바와 같이, 에이전트 시스템(100)은 산출부(102)를 이용하여 실행 요청이 있는 대상 파일에 대한 소정 부분의 1차 DNA값, 즉 1234를 산출한 후 이를 서버 시스템(150)에 전송하여 파일 정보를 요청한다.
이에 따라, 서버 시스템(150)은 에이전트 시스템(100)으로부터 전송받은 1차 DNA값을 갖는 그룹을 서버 데이터베이스(152)에서 검색한 후 이를 에이전트 시스템(100)에 전송한다. 여기서, 그룹은 1차 DNA값이 1234를 갖는 파일들의 2차, 3차,…, n차 DNA값의 정보 및 그룹 내 각 파일의 인덱스 정보일 수 있다.
에이전트 시스템(100)의 파일 검사부(104)는 서버 시스템(150)으로부터 제공받은 그룹과 그에 따른 정보를 토대로 대상 파일에 대한 실행 허용 여부를 결정한다. 즉, 그룹 내 모든 파일의 인덱스 정보가 정상인 경우에는 대상 파일에 대한 실행을 허용하며, 그렇지 않을 경우 실행을 차단시킨다.
한편, 서버 시스템(150)은 에이전트 시스템(100)으로부터 전송받은 1차 DNA값을 갖는 파일이 서버 데이터베이스(152)에서 검색되지 않을 경우 대상 파일을 에이전트 시스템(100)에 요청한 후 이를 전송받아 안티바이러스 엔진을 이용하여 파일을 검사하고, 검사 결과를 에이전트 시스템(100)에 전송하여 대상 파일에 대한 실행 허용 여부를 알려준다. 한편, 서버 시스템(150)은 에이전트 시스템(100)으로부터 대상 파일에 대한 n차까지의 DNA값을 제공받은 후 이를 토대로 서버 데이터베이스(152)를 업데이트시킨다.
서버 데이터베이스(152)에 저장된 각 파일의 인덱스 정보는 관리자의 설정에 의해 변경되거나 안티바이러스 엔진을 통한 검사를 토대로 변경될 수 있으며, 인덱스 정보의 변경에 따라 서버 시스템(150)은 변경된 정보를 다수의 에이전트 시스템(100)에 브로드캐스팅함으로써, 에이전트 시스템(100)의 데이터베이스(106)를 업데이트시킨다.
에이전트 시스템(100) 내의 데이터베이스(106)에는 대상 파일에 대한 1차 DNA값을 포함하는 그룹 내 모든 파일이 정상이며 실행 허용 가능한 파일이지만, 서버 시스템(150)의 서버 데이터베이스(152)에는 1차 DNA값을 포함하는 그룹 내 어떤 파일이 악성이며 실행 차단일 경우에 대해 도 5를 참조하여 설명한다.
도 5에 도시된 바와 같이, 에이전트 시스템(100)은 산출부(102)를 통해 대상 파일에 대한 1차 DNA값(1234)을 산출한 후 데이터베이스(106)의 검색을 통해 1차 DNA값을 갖는 파일들의 그룹, 즉 1234를 포함하는 1234-5678, 1234-5778, 1234-6698 모든 파일의 그룹에 대한 인덱스 정보를 검색한다. 인덱스 정보가 모두 정상이며 실행 허용이라고 나타내고 있어도, 대상 파일에 대한 정확한 진단을 위해 에이전트 시스템(100)의 파일 검사부(104)는 1차 DNA값을 서버 시스템(150)에 전송하여 검사를 요청한다. 이에 따라 서버 시스템(150)은 1234를 포함하는 그룹을 서버 데이터베이스(152)에서 검색하는데, 이때 1234-9987의 인덱스 정보가 악성이며 실행 차단이라고 나타내고 있기 때문에 요청에 대한 응답으로 1234-9987과 그 인덱스 정보 및 DNA값을 재산출하도록 하는 메시지를 에이전트 시스템(100)에 전송한다.
파일 검사부(104)는 서버 시스템(150)의 메시지에 대한 응답으로 산출부(102)를 제어하여 대상 파일에 대한 2차 DNA값을 산출한 후 산출된 2차 DNA값이 9987인지를 검사하여 대상 파일이 악성 또는 정상인지를 판단하며, 업데이트부(108)는 1234-9987과 그 인덱스 정보를 이용하여 데이터베이스(106)를 업데이트시킨다.
한편, 대상 파일의 2차 DNA값이 9987이 아니고 1234를 포함하는 그룹 내에 각 파일의 2차 DNA값과 일치하지 않을 경우에는 상기에서 설명한 바와 같이 1,2차 DNA값을 서버 시스템(150)에 전송하여 검사를 요청하거나 특정 파일을 서버 시스템(150)에 전송하여 검사를 요청할 수 있다.
본 발명의 실시 예에 따르면, 파일의 부분에 대한 DNA값만을 이용하여 파일이 악성 또는 정상인지의 여부를 체크함으로써, 사양이 낮은 시스템에서 적은 리소스로 악성 코드의 감염을 차단할 수 있다.
또한, 본 발명의 실시 예에 따르면, 파일의 부분에 대한 DNA값만을 이용하여 서버 시스템(150)에 검사를 요청하고, 이에 따른 응답을 제공받음으로써, 네트워크 트래픽 발생을 최소화할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 예를 들어 당업자는 각 구성요소의 재질, 크기 등을 적용 분야에 따라 변경하거나, 개시된 실시형태들을 조합 또는 치환하여 본 발명의 실시예에 명확하게 개시되지 않은 형태로 실시할 수 있으나, 이 역시 본 발명의 범위를 벗어나지 않는 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것으로 한정적인 것으로 이해해서는 안 되며, 이러한 변형된 실시예들은 본 발명의 특허청구범위에 기재된 기술사상에 포함된다고 하여야 할 것이다.

Claims (1)

  1. 에이전트 시스템 내 각 파일의 부분에 대하여 해쉬 함수를 적용한 값을 포함하는 정보값과 상기 각 파일이 정상 또는 악성인지의 여부에 대한 인덱스 정보가 저장되어 있는 데이터베이스와,
    상기 에이전트 시스템에서 실행 요청이 있는 특정 파일의 일부분에 대하여 해쉬 함수를 적용한 값을 포함하는 정보값을 산출하는 산출부와,
    상기 데이터베이스의 검색을 통해 상기 산출된 정보값을 갖는 파일들의 그룹을 추출한 후 상기 추출된 그룹 내 파일들의 인덱스 정보를 토대로 상기 특정 파일이 악성 또는 정상인지를 검사하여 상기 특정 파일에 대한 실행 여부를 결정하는 파일 검사부를 포함하되,
    상기 파일 검사부는 상기 산출된 정보값을 토대로 상기 데이터베이스를 검색하여 상기 특정 파일의 상기 일부분을 선택적으로 포함하는 다른 부분에 대한 정보값의 산출 여부를 결정하는
    악성 코드 차단 장치.
KR1020120009239A 2012-01-30 2012-01-30 악성 코드 차단 장치 KR20120031963A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120009239A KR20120031963A (ko) 2012-01-30 2012-01-30 악성 코드 차단 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120009239A KR20120031963A (ko) 2012-01-30 2012-01-30 악성 코드 차단 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020100005795A Division KR101138748B1 (ko) 2010-01-22 2010-01-22 악성 코드 차단 장치, 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20120031963A true KR20120031963A (ko) 2012-04-04

Family

ID=46135219

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120009239A KR20120031963A (ko) 2012-01-30 2012-01-30 악성 코드 차단 장치

Country Status (1)

Country Link
KR (1) KR20120031963A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455758A (zh) * 2013-08-22 2013-12-18 北京奇虎科技有限公司 恶意网站的识别方法及装置
WO2014098387A1 (ko) * 2012-12-17 2014-06-26 주식회사 안랩 악성 애플리케이션 진단장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014098387A1 (ko) * 2012-12-17 2014-06-26 주식회사 안랩 악성 애플리케이션 진단장치 및 방법
CN103455758A (zh) * 2013-08-22 2013-12-18 北京奇虎科技有限公司 恶意网站的识别方法及装置

Similar Documents

Publication Publication Date Title
KR101138748B1 (ko) 악성 코드 차단 장치, 시스템 및 방법
US8966634B2 (en) System and method for correcting antivirus records and using corrected antivirus records for malware detection
US10581879B1 (en) Enhanced malware detection for generated objects
US20180089430A1 (en) Computer security profiling
RU2551820C2 (ru) Способ и устройство для проверки файловой системы на наличие вирусов
Crussell et al. Andarwin: Scalable detection of android application clones based on semantics
US9767280B2 (en) Information processing apparatus, method of controlling the same, information processing system, and information processing method
RU2514140C1 (ru) Система и способ увеличения качества обнаружений вредоносных объектов с использованием правил и приоритетов
CN103390130B (zh) 基于云安全的恶意程序查杀的方法、装置和服务器
US8656494B2 (en) System and method for optimization of antivirus processing of disk files
US11916937B2 (en) System and method for information gain for malware detection
KR20200052957A (ko) 보안 제어 방법 및 컴퓨터 시스템
RU2013136976A (ru) Система и способ временной защиты операционной системы программно-аппаратных устройств от приложений, содержащих уязвимости
Farhang et al. An empirical study of android security bulletins in different vendors
KR102073068B1 (ko) 어플리케이션 클러스터링 방법 및 그 장치
US20170277887A1 (en) Information processing apparatus, information processing method, and computer readable medium
US11528298B2 (en) Methods and systems for preventing malicious activity in a computer system
US20240111864A1 (en) System and method for differential malware scanner
KR20120031963A (ko) 악성 코드 차단 장치
JP6884652B2 (ja) ホワイトリスト管理システムおよびホワイトリスト管理方法
JP7537529B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US11574049B2 (en) Security system and method for software to be input to a closed internal network
WO2020261438A1 (ja) 実行制御システム、実行制御方法、及びプログラム
CN113836542A (zh) 可信白名单匹配方法、系统和装置

Legal Events

Date Code Title Description
A107 Divisional application of patent
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid