KR20090010852A - 악성 프로그램에 감염된 컴퓨터 시스템을 치료하는 장치 및방법 - Google Patents
악성 프로그램에 감염된 컴퓨터 시스템을 치료하는 장치 및방법 Download PDFInfo
- Publication number
- KR20090010852A KR20090010852A KR1020070099978A KR20070099978A KR20090010852A KR 20090010852 A KR20090010852 A KR 20090010852A KR 1020070099978 A KR1020070099978 A KR 1020070099978A KR 20070099978 A KR20070099978 A KR 20070099978A KR 20090010852 A KR20090010852 A KR 20090010852A
- Authority
- KR
- South Korea
- Prior art keywords
- program
- feature vector
- computer system
- malicious
- malicious program
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명은 컴퓨터 시스템에서 실행되는 프로그램이 악성 프로그램인지 여부를 진단하고 치료하는 장치 및 방법에 관한 것이다.
본 발명에 따르면 악성 프로그램에 감염된 컴퓨터 시스템을 치료하는 장치에 있어서, 악성 프로그램 제어 서버로부터 상기 악성 프로그램에 대한 제1 행동 특징 벡터를 수신하는 수신부, 상기 수신한 제1 행동 특징 벡터 및 진단 대상 프로그램에 대한 제2 행동 특징 벡터에 기반하여 상기 진단 대상 프로그램이 상기 악성 프로그램에 상응하는지 여부를 판단하는 판단부, 및 상기 판단 결과에 따라서 상기 컴퓨터 시스템을 치료하는 치료부를 포함하는 것을 특징으로 하는 악성 프로그램 치료 장치가 제공된다.
본 발명에 따르면 컴퓨터 시스템에서 실행되는 컴퓨터 프로그램의 행동을 실시간으로 모델링할 수 있다.
악성 코드, 악성 프로그램, 행동 특징
Description
본 발명은 컴퓨터 시스템에서 실행되는 프로그램이 악성 프로그램인지 여부를 진단하고 치료하는 장치 및 방법에 관한 것이다.
종래의 악성 프로그램 감시 기술에 따르면, 기존에 발생한 악성 프로그램의 샘플을 수집하여 악성 프로그램의 특징이 되는 일정한 문자열을 추출하고, 상기 문자열이 진단 대상 컴퓨터 시스템의 파일 등에 존재하는지 여부를 이용하여 악성 프로그램에 감염 되었는지 여부를 판단하였다.
따라서, 새로운 악성 프로그램이 발생하면, 새로운 악성 프로그램의 정체를 파악하고, 특징이 되는 문자열을 추출하여 상기 악성 프로그램에 대응하는 악성 프로그램을 감시하는 악성 프로그램 치료 장치가 개발되어야 했다. 이에, 기존의 악성 프로그램 치료 장치에 상기 악성 프로그램의 정보가 추가되기 전에는 상기 새로운 악성 프로그램에 대한 대비가 불가능하여, 새로운 악성 프로그램에 대한 피해는 막을 수 없다는 문제점을 가지고 있었다. 또, 악성 프로그램의 종류가 증가함에 따라서, 악성 프로그램의 특징이 되는 문자열의 종류도 비례하여 증가한다. 따라 서 악성 프로그램의 특징이 되는 문자열이 존재하는지 여부를 검사하는 과정에 소요되는 시간도 증가할 수 밖에 없었다.
만약 배터리등을 이용하여 전원을 공급받는 이동 전화, PDA등의 모바일 기기에서는 특정 프로그램에서 문자열을 추출하고, 종래 악성 프로그램의 특징이 되는 문자열과 동일한지 여부를 확인하는 절차에 소모되는 전력으로 인하여 모바일 기기의 동작 가능시간이 줄어드는 문제가 발생한다.
또한, 종래의 기술로는, 해커의 공격으로 인하여 컴퓨터의 취약점이 공개되면, 프로그램의 제작사가 상기 취약점을 수정한 패치(patch) 프로그램을 이용하여 해커의 공격을 저지할 수 있을 뿐이고, 아직 공개되지 않은 수많은 취약점을 이용한 다른 공격에 대해서는 대처할 수 없었다.
대부분의 악성 프로그램들은 기존의 악성 프로그램과 전혀 다른, 새로운 프로그램이 아니라, 기존 악성 프로그램의 변종으로서 기존 악성 프로그램과 유사한 행동을 한다. 그러나 변종 악성 프로그램들을 검사하기 위해서는 종래 악성 프로그램으로부터 추출한 문자열이 아니라 변종 악성 프로그램으로부터 추출한 새로운 문자열을 사용해야 하므로, 각각의 변종 악성 프로그램들을 검사하기 위해서는 각각의 문자열을 구비해야 한다.
본 발명은 컴퓨터 시스템에서 실행되는 컴퓨터 프로그램의 행동을 실시간으로 모델링하여 악성 프로그램 여부를 판단하는 것을 목적으로 한다.
본 발명은 진단 대상 프로그램이 악성 프로그램에 상응하는 것으로 판단된 경우에 악성 프로그램 제어 서버로부터 수신한 시스템 제어 신호에 기반하여 컴퓨터 시스템을 치료하고, 악성 프로그램의 확산을 방지하는 것을 목적으로 한다.
상기의 목적을 이루고 종래기술의 문제점을 해결하기 위하여, 본 발명은 악성 프로그램에 감염된 컴퓨터 시스템을 치료하는 장치에 있어서, 악성 프로그램 제어 서버로부터 상기 악성 프로그램에 대한 제1 행동 특징 벡터를 수신하는 수신부, 상기 수신한 제1 행동 특징 벡터 및 진단 대상 프로그램에 대한 제2 행동 특징 벡터에 기반하여 상기 진단 대상 프로그램이 상기 악성 프로그램에 상응하는지 여부를 판단하는 판단부, 및 상기 판단 결과에 따라서 상기 컴퓨터 시스템을 치료하는 치료부를 포함하는 것을 특징으로 하는 악성 프로그램 치료 장치를 제공한다.
본 발명의 일측에 따르면 악성 프로그램에 감염된 컴퓨터 시스템을 치료하는 방법에 있어서, 악성 프로그램 제어 서버로부터 상기 악성 프로그램에 대한 제1 행동 특징 벡터를 수신하는 단계, 상기 수신한 제1 행동 특징 벡터 및 진단 대상 프로그램에 대한 제2 행동 특징 벡터에 기반하여 상기 진단 대상 프로그램이 상기 악성 프로그램에 상응하는지 여부를 판단하는 단계, 및 상기 판단 결과에 따라서 상 기 컴퓨터 시스템을 치료하는 단계를 포함하는 것을 특징으로 하는 악성 프로그램 치료 방법이 제공된다.
본 발명에 따르면 컴퓨터 시스템에서 실행되는 컴퓨터 프로그램의 행동을 실시간으로 모델링하여 악성 프로그램 여부를 판단할 수 있다.
본 발명에 따르면 진단 대상 프로그램이 악성 프로그램에 상응하는 것으로 판단된 경우에 악성 프로그램 제어 서버로부터 수신한 시스템 제어 신호에 기반하여 컴퓨터 시스템을 치료하고, 악성 프로그램의 확산을 방지할 수 있다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.
도 1은 진단 대상 프로그램의 행동을 이용하여 악성 프로그램을 검사하는 방법을 단계별로 도시한 순서도이다. 이하 도 1을 참조하여 악성 프로그램을 검사하는 방법을 상세히 설명하기로 한다.
본 발명에서 설명하는 악성 프로그램 또는 악성 코드는 제작자가 의도적으로 사용자에게 피해를 주고자 만든 모든 악의의 목적을 가진 프로그램 및 매크로(macro), 스크립트(script) 등 컴퓨터 시스템상에서 작동하는 모든 실행가능한 형태의 프로그램을 말한다.
본 발명에서의 컴퓨터 시스템은 중앙 처리 장치(CPU)및 메모리가 포함되는 전자기기를 의미하는 것으로 해석된다. 구체적으로 이 전자기기는 PC, 노트북, 휴대폰, PDA(Personal Digital Assistant), 네비게이션 장치, 디지털 카메라, PMP(Portable Multimedia Player) 등의 다양한 형태의 전자 기기를 망라한다.
단계(S110)에서는 악성 여부가 이미 알려진 샘플 프로그램의 행동을 모델링한다. 본 발명의 일실시예에 따르면 단계(S110)에서는 샘플 프로그램의 행동을 모델링 하여 행동 특징 벡터를 생성할 수 있다. 샘플 프로그램에는 악성 프로그램뿐만 아니라 정상 프로그램도 포함된다.
단계(S120)에서는 생성된 행동 특징 벡터를 이용하여 악성 코드 진단 데이터를 생성한다. 본 발명의 일실시예에 따르면 악성 코드 진단 데이터는 가중치 벡터와 임계값을 포함할 수 있다.
단계(S130)에서는 진단 대상 프로그램으로부터 생성한 행동 특징 벡터를 이용하여 진단 대상 프로그램이 악성 코드인지 여부를 판단한다. 본 발명의 일실시예에 따르면 악성 코드 진단 데이터, 샘플 프로그램으로부터 생성한 행동 특징 벡터를 이용하여 전체 행동 특징 벡터 공간을 정상 행동 특징 벡터 영역과 악성 행동 특징 벡터 영역으로 구분한다. 본 발명의 일실시예에 따르면 진단 대상 프로그램으로부터 생성한 행동 특징 벡터가 정상 행동 특징 벡터 영역에 위치하면 진단 대상 프로그램을 정상 프로그램으로 판단하고, 진단 대상 프로그램으로부터 생성한 행동 특징 벡터가 악성 행동 특징 벡터 영역에 위치하면 진단 대상 프로그램을 악성 프로그램으로 판단할 수 있다.
또 대부분의 악성 프로그램은 사용자의 컴퓨터 시스템에 침입하여 사용자의 데이터를 삭제하거나, 시스템 파일을 삭제하는 등 컴퓨터 시스템을 파괴하기 위한 행동은 대부분 유사하다.
따라서, 진단 대상 프로그램의 행동을 이용하여, 진단 대상 프로그램이 정상적인 프로그램인지, 악성 프로그램인지 여부를 판단한다면, 기존 문자열 비교 방식보다 훨씬 정확하게 악성 프로그램 여부를 판단할 수 있다. 또한 지금까지 알려지지 않은 새로운 변종 악성 프로그램에 대해서도 그 행동 만으로 악성 프로그램 여부를 판단할 수 있다.
종래 기술과 달리 새로운 악성 프로그램에 대한 정보를 분석할 필요가 없으므로, 새로운 악성 프로그램을 분석하는 시간에 발생하는 피해를 줄일 수 있다.
도 2는 본 발명에 따라서 악성 프로그램에 감염된 컴퓨터 시스템을 치료하는 장치의 구조를 도시한 도면이다. 이하 도 2를 참조하여 컴퓨터 시스템을 치료하는 장치의 구조를 상세히 설명하기로 한다. 본 발명에 따른 악성 프로그램 치료 장치(200)는 수신부(210), 판단부(220), 치료부(230)를 포함한다.
수신부(210)는 악성 프로그램 치료 장치(200)와 통신망(240)을 통해 연결된 악성 프로그램 제어 서버(250)로부터 악성 프로그램에 대한 전부 또는 일부의 제1 행동 특징 벡터를 수신한다. 본 발명의 일실시예에 따르면 수신부(210)는 악성 프로그램에 대한 복수의 제1 행동 특징 벡터 중에서 악성 프로그램 제어 서버(250)에서 업데이트된 제1 행동 특징 벡터 또는 특정 제1 행동 특징 벡터 중에서 악성 프로그램 제어 서버(250)에서 업데이트된 부분만을 수신하여 제1 행동 특징 벡터를 업데이트 할 수 있다.
판단부(220)는 상기 수신한 제1 행동 특징 벡터 및 진단 대상 프로그램에 대한 제2 행동 특징 벡터에 기반하여 상기 진단 대상 프로그램이 상기 악성 프로그램 에 상응하는지 여부를 판단한다.
본 발명의 일실시예에 따르면 수신부(210)는 악성 프로그램뿐만 아니라 정상 프로그램에 대한 제1 행동 특징 벡터를 수신한다. 본 발명의 일실시예에 따르면 수신부(210) 는 정상 프로그램에 대한 복수의 제1 행동 특징 벡터 중에서 악성 프로그램 제어 서버(250)에서 업데이트된 제1 행동 특징 벡터 또는 특정 제1 행동 특징 벡터 중에서 악성 프로그램 제어 서버(250)에서 업데이트된 부분 만을 수신하여 제1 행동 특징 벡터를 업데이트할 수 있다. 판단부(220)는 악성 프로그램에 대한 제1 행동 특징 벡터 및 정상 특징 벡터에 대한 제1 행동 특징 벡터와 상기 진단 대상 프로그램에 대한 제2 행동 특징 벡터를 비교하고, 비교 결과에 따라서 진단 대상 프로그램이 악성 프로그램에 상응하는지 여부를 판단할 수 있다.
치료부(230)는 판단부(220)의 판단 결과에 따라서 상기 컴퓨터 시스템을 치료한다. 본 발명의 일실시예에 따르면 치료부는 악성 프로그램에 감염된 파일을 삭제할 수 있다.
본 발명의 일실시예에 따르면, 수신부(210)는 악성 프로그램 제어 서버(250)로부터 시스템 제어 신호를 수신하고, 치료부(230)는 상기 수신한 시스템 제어 신호에 기반하여 상기 컴퓨터 시스템을 치료할 수 있다. 본 발명의 일실시예에 따르면 시스템 제어 신호는 감염된 파일에 대한 삭제를 명령할 수도 있고, 상기 컴퓨터 시스템의 통신 장치 중에서 상기 진단 대상 프로그램과 연관된 통신 장치를 비활성화 시키는 것을 명령할 수도 있다.
악성 프로그램은 특정 컴퓨터 시스템에 장착된 통신 장치를 통하여 다른 컴 퓨터 시스템으로 침투한다. 예를 들어, 심비안 운영체제에서 동작 하는 컴워리어 바이러스는 블루투스(bluetooth) 통신 장치를 통하여 다른 컴퓨터 시스템으로 침투할 수 있다. 통신망(240)에 연결된 컴퓨터 시스템에서 컴워리어 바이러스가 발견된 경우에, 악성 프로그램 제어 서버(250)는 통신망(240)을 통하여 연결된 전체 컴퓨터 시스템으로 시스템 제어 신호를 전송할 수 있다. 시스템 제어 신호를 수신한 컴퓨터 시스템에서 실행되는 악성 프로그램 치료 장치는 컴퓨터 시스템에 설치된 통신 장치 중에서 블루투스 통신 장치를 비활성화 시킬 수 있다. 다른 컴퓨터 시스템으로부터 블루투스 통신 장치를 이용하여 컴워리어 바이러스가 침투할 수 없으므로, 통신망(240)에 연결된 컴퓨터 시스템간의 컴워리어 바이러스 확산을 막을 수 있다.
본 발명의 일실시예에 따르면 치료부(230)는 판단부(220)의 판단 결과에 따라서 상기 컴퓨터 시스템의 통신 장치 중에서 상기 진단 대상 프로그램과 연관된 통신 장치를 비활성화 시키는 것을 명령할 수도 있다. 상기 컴퓨터 시스템이 악성 프로그램에 감염된 경우에도 상기 악성 프로그램이 다른 컴퓨터 시스템으로 침투하여 상기 다른 컴퓨터 시스템을 감염시키는 것을 방지할 수 있다.
도 3은 본 발명에 따라서 진단 대상 프로그램이 악성 프로그램에 상응하는지 여부를 판단하는 판단부의 구조를 도시한 도면이다. 이하 도 3을 참조하여 판단부의 구조를 상세히 설명하기로 한다. 본 발명에 따른 판단부는 시스템 사용 정보 저장부(310), 동작 함수 생성부(320), 연관성 판단부(330), 인코딩부(340) 및 결정부(350)를 포함한다.
시스템 사용 정보 저장부(310)는 진단 대상 프로그램이 복수의 서로 다른 시각에 걸쳐 상기 컴퓨터 시스템의 자원을 사용하는 복수의 시스템 사용 정보를 저장한다. 진단 대상 프로그램은 컴퓨터 시스템이 제공하는 인터페이스 함수를 호출하거나, 상기 진단 대상 프로그램과 연관된 컴퓨터 시스템의 이벤트 발생 정보를 이용하여 작업을 수행한다. 본 발명의 일실시예에 따르면 시스템 사용 정보 저장부(310)는 진단 대상 프로그램이 특정 인터페이스 함수를 호출한 정보 또는, 이벤트 발생 정보를 이용한 정보 등을 저장할 수 있다.
동작 함수 생성부(320)는 상기 저장된 복수의 시스템 사용 정보간의 상호 연관성에 기반하여 상기 진단 대상 프로그램과 연관된 동작 함수를 생성한다.
예를 들어, 컴퓨터 프로그램이 컴퓨터 시스템에 설치된 무선 통신 장치를 이용하여 데이터를 다른 컴퓨터 시스템으로 전송하기 위해서, 컴퓨터 프로그램은 무선 통신 장치가 설치되어 있는지, 다른 컴퓨터 프로그램에 의해서 사용되고 있지는 않은지 여부를 확인한다. 또 무선 통신 장치에 대한 접근 권한을 획득하고, 무선 통신 장치로 데이터를 전송하며, 데이터 전송이 끝난 후에는 무선 통신 장치에 대한 접근 권한을 다시 컴퓨터 시스템에 반납한다.
이러한 각각의 동작을 수행하기 위한 각각의 인터페이스 함수를 단위로 컴퓨터 프로그램의 행동 특징 벡터를 추출한다면, 그 과정이 너무 복잡하므로, 서로 연관된 시스템 사용 정보를 동작 함수로 구성하고, 동작 함수를 단위로 컴퓨터 프로그램의 행동 특징 벡터를 추출하면 추출 과정이 상대적으로 간단해 진다.
인코딩부(340)는 상기 생성된 복수의 동작 함수를 인코딩하여 상기 진단 대 상 함수에 대한 제2 행동 특징 벡터를 생성한다.
본 발명의 일실시예에 따라서 진단 대상 프로그램의 행동을 이용하여 진단 대상 프로그램이 악성 프로그램에 상응하는지 여부를 판단하는 방법은, 진단 대상 프로그램이 특정한 행동을 한 이후에만 판단 가능하다. 따라서, 본 발명을 실제 컴퓨터 시스템에 적용하기 위해서는 진단 대상 프로그램의 행동을 실시간(real time)으로 모델링하여 행동 특징 벡터를 생성하고, 생성한 행동 특징 벡터에 기반하여 진단 대상 프로그램이 악성 프로그램에 상응하는지 신속히 판단해야 한다.
시스템 사용 정보 저장부(310)가 저장한 모든 시스템 사용 정보나, 동작 함수 생성부(320)가 생성한 모든 동작 함수를 대상으로 진단 대상 프로그램의 행동을 특정한다면 행동 특징 벡터를 실시간으로 생성하기 어렵다.
동작 함수 생성부(320)가 생성한 복수의 동작 함수 중에는 진단 대상 프로그램의 행동을 특정하기에 적합한 동작 함수도 존재 하지만, 적합하지 않은 동작 함수도 존재한다. 진단 대상 프로그램의 행동을 특정하기에 적합한 동작 함수는 다른 동작 함수와 연관되어 있는 것이 일반적이다. 동작 함수 생성부(320)가 생성한 동작 함수 중에서 진단 대상 프로그램의 행동을 특정하기 위하여 적합한 동작 함수만을 대상으로 하여 행동 특징 벡터를 생성한다면, 진단 대상 프로그램에 대한 행동 특징 벡터를 실시간으로 생성할 수 있다.
악성 프로그램도 컴퓨터 시스템의 시스템 파일이 저장된 디렉토리에 컴퓨터 시스템을 조작하기 위한 프로그램을 복사할 수 있지만, 정상적인 프로그램도 컴퓨터 시스템의 성능을 향상시키기 위하여 컴퓨터 시스템의 시스템 파일이 저장된 디 렉토리에 파일을 복사할 수 있다. 컴퓨터 프로그램이 컴퓨터 시스템의 시스템 파일이 저장된 디렉토리에 파일을 복사하려는 것 만으로는 컴퓨터 프로그램이 정상적인 프로그램인지 악성 프로그램인지 판단할 수 없다.
그러나 특정 컴퓨터 프로그램이 컴퓨터 시스템의 외부로부터 실행 파일을 수신한 후에, 컴퓨터 시스템의 시스템 디렉토리에 수신한 실행 파일을 복사하고, 또 복사한 실행 파일을 주기적으로 외부 장치에 복사하려 한다면, 상기 특정 컴퓨터 프로그램을 악성 컴퓨터 프로그램으로 의심할 수 있다. 파일을 수신하는 동작 함수, 시스템 디렉토리에 파일을 복사하는 동작 함수, 외부 장치에 복사하는 동작 함수는 서로 연관되어 있고, 상기 특정 컴퓨터 프로그램의 행동을 특정하기에 적합하다.
본 발명의 일실시예에 따르면, 판단부(300)는 상기 생성된 복수의 동작 함수들간의 상호 연관성을 판단하는 연관성 판단부를 더 포함하고, 상기 인코딩부(340)는 상기 상호 연관성을 가지는 동작 함수들을 인코딩하여 상기 제2 행동 특징 벡터를 생성할 수 있다.
본 발명의 일실시예에 따르면, 상기 인코딩부(340)는, 상기 복수의 동작함수 중에서 적어도 하나 이상의 동작 함수가 상기 컴퓨터 시스템의 시스템 디렉토리에 접근하는 경우에 한하여, 상기 진단 대상 프로그램에 대하여 제2 행동 특징 정보를 생성할 수 있다.
본 발명의 일실시예에 따르면 연관성 판단부(330)는 제1 동작 함수가 생성 또는 수정한 파일을 제2 동작 함수가 로드하는 경우에, 상기 제1 동작 함수 및 상기 제2 동작 함수는 상호 연관된 것으로 판단할 수 있다.
본 발명의 일실시예에 따르면 연관성 판단부(330)는 제1 동작 함수의 실행 결과에 따라서 제2 동작 함수가 호출되는 경우에, 상기 제1 동작 함수 및 상기 제2 동작 함수는 상호 연관된 것으로 판단할 수 있다.
본 발명의 일실시예에 따르면 연관성 판단부(330)는 제1 동작 함수가 실행되고, 소정의 시간 이내에 상기 제2 동작 함수가 호출되는 경우에 한하여, 상기 제1 동작 함수 및 상기 제2 동작 함수는 상호 연관된 것으로 판단할 수 있다.
본 발명의 일실시예에 따르면, 진단 대상 프로그램에 대한 행동 특징 벡터를 실시간으로 생성하기 위하여 제1 동작 함수의 실행 이후 소정의 시간 이내에 실행된 제2 동작 함수만을 대상으로 하여 상호 연관성을 판단할 수 있다.
결정부(350)는 악성 프로그램에 대한 제1 행동 특징 벡터와 상기 생성한 진단 대상 프로그램에 대한 제2 행동 특징 벡터를 비교하여 진단 대상 프로그램이 악성 프로그램에 상응하는지 여부를 결정한다. 본 발명의 일실시예에 따르면 결정부(350)는 악성 프로그램에 대한 제1 행동 특징 벡터뿐만 아니라, 정상 프로그램에 대한 제1 행동 특징 벡터와 진단 대상 프로그램에 대한 제2 행동 특징 벡터를 비교하여 진단 대상 프로그램이 악성 프로그램에 상응하는지 여부를 결정할 수 있다.
도 4는 본 발명에 따른 인코딩부가 복수의 동작 함수를 인코딩하여 생성한 행동 특징 벡터의 일실시예를 도시한 도면이다. 이하 도 4를 참조하여 인코딩부의 동작을 상세히 설명하기로 한다. 본 발명의 일실시예에 따른 행동 특징 벡터(400)는 빈도 저장 영역(410) 및 선후 관계 저장 영역(420)을 포함한다.
본 발명의 일실시예에 따르면 인코딩부(340)는 진단 대상 프로그램의 한 생명 주기(Life Cycle)에 대하여 각각의 동작 함수의 발생 빈도를 진단 대상 프로그램의 행동 특징 벡터로서 인코딩할 수 있다.
생명 주기는 각각의 악성 프로그램이 컴퓨터 시스템을 감염시키고, 사용자의 데이터 또는 시스템 데이터를 파괴하는 등 악성 프로그램의 증상을 나타내고, 다시 다른 컴퓨터 시스템을 감염시키는 시간으로 정의될 수 있다.
각각의 악성 프로그램은 한 생명 주기 동안에 컴퓨터 시스템이 제공하는 모든 동작 함수 중에서, 특정한 동작 함수를 여러 번 호출할 수도 있고, 다른 동작 함수는 전혀 호출하지 않을 수 있다. 따라서, 진단 대상 컴퓨터 프로그램이 한 생명 주기 동안에 특정 동작 함수를 몇 번 호출하는지 여부가 진단 대상 프로그램의 특징이 될 수 있다.
본 발명의 일실시예에 따르면, 행동 특징 벡터(400)는 진단 대상 프로그램이 호출하는 각각의 동작 함수의 호출 빈도를 저장하는 빈도 저장 영역(720)을 포함할 수 있다.
본 발명의 일실시예에 따르면 인코딩부(340)는 상기 복수의 동작 함수에 각각 상응하는 복수의 원소를 빈도 저장 영역(720)에 포함시키고, 각각의 원소에 동작 함수의 발생 빈도를 저장할 수 있다.
본 발명의 일실시예에 따르면 인코딩부(340)는 특징에는 각각의 동작 함수가 호출되어 실행된 발생 빈도뿐만 아니라, 각각의 동작 함수 상호간의 시간적 선후 관계도 인코딩하여 진단 대상 프로그램의 행동 특징 벡터를 생성할 수 있다.
본 발명의 일실시예에 따르면, 행동 특징 벡터(400)는 컴퓨터 프로그램이 호출하는 동작 함수 상호간의 시간적 선후 관계를 저장하는 선후 관계 저장 영역(420)을 포함할 수 있다.
본 발명의 일실시예에 따르면 인코딩부(340)는 선후 관계 저장 영역(420)에 제1 동작 함수 및 제2 동작 함수의 조합에 상응하는 원소를 포함시키고, 각각의 원소에 상기 제1 동작 함수 및 제2 동작 함수간의 시간적 선후 관계를 저장할 수 있다.
본 발명의 일실시예에 따르면, 인코딩부(340)는 제1 동작 함수 및 제2 동작 함수간의 시간적 선후 관계를 '0'과 '1'에 대응시켜 동작 함수간의 시간적 선후 관계를 저장하는 각각의 원소는 이진화된 값을 가질 수 있다.
본 발명의 일실시예에 따르면, 제1 동작 함수가 제2 동작 함수보다 먼저 호출된 경우에는 상기 함수의 조합에 상응하는 원소에 '1'을 저장하고, 나중에 호출된 경우에는 '0'을 저장할 수 있다.
본 발명의 일실시예에 따르면 인코딩부(340)는 진단 대상 프로그램의 한 생명 주기에서 생성된 동작 함수 중에서, 일부 동작 함수만을 인코딩하여 제2 행동 특징 벡터를 생성하고, 결정부(350)는 상기 일부의 동작 함수만을 인코딩하여 생성된 제2 행동 특징 벡터와 악성 프로그램에 대한 제1 행동 특징 벡터를 비교하여 진단 대상 프로그램이 악성 프로그램에 상응하는지 여부를 결정할 수 있다.
도 5는 본 발명에 따른 판단부가 제1 행동 특징 벡터 및 제2 행동 특징 벡터를 비교하여 진단 대상 프로그램이 악성 프로그램에 상응하는지 여부를 판단하는 개념을 도시한 도면이다. 이하 도 5를 참조하여 판단부의 동작을 상세히 설명하기로 한다.
도 5에서는 정상적인 프로그램으로부터 생성한 행동 특징 벡터(511, 512) 및 악성 프로그램으로부터 생성한 행동 특징 벡터(521, 522)가 2차원의 행동 특징 벡터 공간상에 위치한 실시예가 도시되었으나, 본 발명은 행동 특징 벡터 공간이 2차원 이상인 경우에 대해서도 적용 될 수 있다.
정상적인 프로그램으로부터 추출한 행동 특징들은 서로 유사하고, 악성 프로그램으로부터 추출한 행동 특징들은 서로 유사하다. 그러나 정상 프로그램으로부터 추출한 행동 특징과 악성 프로그램으로부터 추출한 행동 특징은 서로 유사하지 않다. 따라서 정상적인 프로그램과 악성 프로그램으로부터 추출한 각각의 행동 특징에 기반하여 생성된 정상 행동 특징 벡터와 악성 행동 특징 벡터는 서로 비유사하다. 정상 행동 특징 벡터(511, 512)들과 악성 행동 특징 벡터(521, 522)들은 행동 특징 벡터 공간상에서 서로 구분된 영역에 위치한다.
따라서, 본 발명에 따른 악성 프로그램 치료 장치는 행동 특징 벡터 공간을 정상 행동 특징 벡터(511, 512)가 위치하는 정상 행동 특징 벡터 영역(510)과 악성 행동 특징 벡터(521, 522)가 위치하는 악성 행동 특징 벡터 영역(520)으로 구분한다. 악성 프로그램 치료 장치는 진단 대상 프로그램으로부터 생성한 행동 특징 벡터가 정상 행동 특징 벡터 영역(510) 및 악성 행동 특징 벡터 영역(520) 중에서 어느 영역에 속하는지 여부로 진단 대상 프로그램이 악성 코드 인지 여부를 판단할 수 있다.
행동 특징 벡터 공간상의 특정한 영역(540)에 위치한 행동 특징 벡터에 상응하는 진단 대상 프로그램들은 정상 행동 특징 벡터 영역(510)과 악성 행동 특징 벡터 영역(520)을 구분하는 경계(531, 532)에 따라서 악성 코드 여부에 대한 진단 결과가 달라질 수 있다. 본 발명의 일실시예에 따르면 특정한 영역(540)에 위치하는 행동특징 벡터에 상응하는 진단 대상 프로그램에 대해서도 악성 여부를 정확히 판단할 수 있는 경계(531, 532)를 선택할 수 있다.
도 6은 본 발명에 따라서 악성 프로그램에 감염된 컴퓨터 시스템을 치료하는 방법을 단계별로 설명한 순서도이다. 이하 도 6을 참조하여 악성 프로그램에 감염된 컴퓨터 시스템을 치료하는 방법을 상세히 설명하기로 한다.
단계(S610)에서는 악성 프로그램 제어 서버로부터 상기 악성 프로그램에 대한 제1 행동 특징 벡터를 수신한다. 본 발명의 일실시예에 따르면 단계(S610)에서는 악성 프로그램에 대한 복수의 제1 행동 특징 벡터 중에서 악성프로그램 제어 서버에서 업데이트된 적어도 하나 이상의 제1 행동 특징 벡터 또는 특징 제1 행동 특징 벡터 중에서 악성 프로그램 제어 서버에서 업데이트된 부분만을 수신하여 제1 행동 특징 벡터를 업데이트할 수 있다. 악성 프로그램 제어 서버는 각각의 컴퓨터 시스템과 통신망을 통해 연결된다. 본 발명의 일실시예에 따르면 단계(S610)에서는 악성 프로그램에 대한 제1 행동 특징 벡터뿐만 아니라 정상 프로그램에 대한 제1 행동 특징 벡터를 수신할 수 있다. 본 발명의 일실시예에 따르면 정상 프로그램에 대한 복수의 제1 행동 특징 벡터 중에서 악성 프로그램 제어 서버에서 업데이트된 적어도 하나 이상의 제1 행동 특징 벡터 또는 특정 제1 행동 특징 벡터 중에서 악성 프로그램 제어 서버에서 업데이트된 일부분만을 수신하여 제1 행동 특징 벡터를 업데이트할 수 있다.
단계(S620)에서는 수신한 제1 행동 특징 벡터 및 진단 대상 프로그램에 대한 제2 행동 특징 벡터에 기반하여 상기 진단 대상 프로그램이 상기 악성 프로그램에 상응하는지 여부를 판단한다. 본 발명의 일실시예에 따르면 진단 대상 프로그램에 대한 제2 행동 특징 벡터를 생성한다. 정상 프로그램에 대한 제1 행동 특징 벡터 및 악성 프로그램에 대한 제1 행동 특징 벡터와 제2 행동 특징 벡터를 비교하여 상기 진단 대상 프로그램이 악성 프로그램에 상응하는지 여부를 판단할 수 있다.
단계(S630)에서는 단계(S620)에서의 판단 결과에 따라서 상기 컴퓨터 시스템을 치료할 수 있다. 본 발명의 일실시예에 따르면 진단 대상 프로그램이 악성 프로그램에 상응하는 것으로 판단된 경우에 상기 진단 대상 프로그램에 감염된 파일을 모두 삭제 할 수 있다.
본 발명의 일실시예에 따르면 단계(S630)에서는 진단 대상 프로그램이 악성 프로그램에 상응하는 것으로 판단된 경우에, 상기 컴퓨터 시스템의 통신 장치 중에서 상기 진단 프로그램과 연관된 통신 장치를 비활성화 시킬 수 있다. 컴퓨터 시스템에 설치된 복수의 통신 장치 중에서 악성 프로그램이 컴퓨터 시스템으로 침입하는 통신 장치만을 비활성화할 수 있다. 다른 통신 장치는 정상적으로 사용하고, 악성 프로그램과 연관된 통신 장치만 사용할 수 없으므로, 컴퓨터 시스템을 사용하는 사용자의 불편을 최소화 할 수 있다.
도 7은 본 발명에 따라서 진단 대상 프로그램이 악성 프로그램에 상응하는지 여부를 판단하는 방법을 단계별로 설명한 순서도이다. 이하 도 7을 참조하여 진단 대상 프로그램이 악성 프로그램에 상응하는지 여부를 판단하는 방법을 상세히 설명하기로 한다.
단계(S710)에서는 진단 대상 프로그램이 복수의 서로 다른 시각에 걸쳐 상기 컴퓨터 시스템의 자원을 사용하는 복수의 시스템 사용 정보를 저장한다. 본 발명의 일실시예에 따르면 진단 대상 프로그램이 특정 인터페이스 함수를 호출한 정보 또는, 이벤트 발생 정보를 이용한 정보 등을 시스템 사용 정보로서 저장할 수 있다.
단계(S720)에서는 저장된 시스템 사용 정보간의 상호 연관성에 기반하여 상기 진단 대상 프로그램과 연관된 복수의 동작 함수를 생성한다. 본 발명의 일실시예에 따르면 특정 파일을 로드하고, 상기 파일을 수정하고, 또 상기 파일을 저장하는 각각의 시스템 사용 정보는 서로 연관되어 있다고 볼 수 있다. 상기 연관된 시스템 사용 정보에 기반하여 상기 특정 파일을 수정하는 동작 함수를 생성하고, 상기 생성된 동작 함수를 기본 단위로 하여 진단 대상 프로그램의 행동을 특정할 수 있다.
단계(S730)에서는 상기 생성된 복수의 동작 함수를 인코딩하여 상기 제2 행동 특징 벡터를 생성한다. 본 발명의 일실시예에 따르면 상기 생성된 복수의 동작 함수간의 상호 연관성을 판단하고, 상호 연관된 동작 함수만을 선택하여 상기 제2 행동 특징 벡터를 생성할 수 있다. 단계(S720)에서 생성된 동작 함수는 서로 연관된 시스템 사용 정보에 기반한 것이지만, 동작 함수 상호간에는 연관성이 없을 수 있다. 진단 대상 프로그램은 서로 연관된 동작 함수를 순차적으로 호출하여 작업을 수행하므로, 서로 연관된 동작 함수만을 인코딩하여 진단 대상 프로그램에 대한 제2 행동 특징 벡터를 생성할 수 있다.
본 발명의 일실시예에 따르면 상기 생성된 복수의 동작 함수간의 상호 연관성을 판단하는 단계를 더 포함하고, 상기 판단 결과에 기반하여 상기 상호 연관성을 가지는 동작 함수들을 인코딩하여 상기 진단 대상 프로그램에 대한 상기 제2 행동 특징 벡터를 생성할 수 있다.
본 발명의 일실시예에 따르면 상기 생성된 복수의 동작 함수간의 상호 연관성을 판단하는 단계는 제1 동작 함수의 실행 결과에 따라서 제2 동작 함수가 호출되는 경우에, 상기 제1 동작 함수 및 상기 제2 동작 함수는 상호 연관된 것으로 판단할 수 있다.
본 발명의 일실시예에 따르면 상기 생성된 복수의 동작 함수간의 상호 연관성을 판단하는 단계는 제1 동작 함수가 생성 또는 수정한 파일을 제2 동작 함수가 로드하는 경우에, 상기 제1 동작 함수 및 상기 제2 동작 함수는 상호 연관된 것으로 판단할 수 있다.
본 발명의 일실시예에 따르면 상기 생성된 복수의 동작 함수간의 상호 연관성을 판단하는 단계는 제1 동작 함수가 실행되고 소정의 시간 이내에 제2 동작 함수가 호출되는 경우에 한하여, 상기 제1 동작 함수 및 상기 제2 동작 함수는 상호 연관된 것으로 판단할 수 있다. 제1 동작 함수가 실행된 이후, 상기 제1 동작 함수와 연관된 제2 동작 함수가 실행되는지 여부를 판단하기 위하여 무한한 시간 동 안 진단 대상 프로그램이 상기 컴퓨터 시스템의 자원을 사용하는 시스템 사용 정보를 수집할 수는 없다. 따라서 제1 동작 함수가 실행된 이후 소정의 시간 동안 호출된 동작 함수만을 대상으로 제1 동작 함수와의 상호 연관성이 있는지 여부를 판단한다.
악성 프로그램은 실행 파일을 컴퓨터 시스템의 시스템 디렉토리에 복사하고 상기 실행 파일을 실행시키거나 다른 컴퓨터 시스템으로 복사하여 상기 다른 컴퓨터 시스템을 감염시킨다. 본 발명의 일실시예에 따르면 진단 대상 프로그램의 동작 함수 중에서 컴퓨터 시스템의 시스템 디렉토리에 접근하는 동작 함수가 없는 경우에는 상기 진단 대상 프로그램은 악성 프로그램이 아닌 것으로 판단하고 상기 진단 대상 프로그램에 대해서는 제2 행동 특징 벡터를 생성하지 않을 수 있다. 본 발명의 일실시예에 따르면 진단 대상 프로그램의 복수의 동작함수 중에서 적어도 하나 이상의 동작 함수가 상기 컴퓨터 시스템의 시스템 디렉토리에 접근하는 경우에 한하여, 상기 진단 대상 프로그램에 대하여 제2 행동 특징 정보를 생성할 수 있다.
단계(S740)에서는 상기 제2 행동 특징 벡터에 기반하여 진단 대상 프로그램이 악성 프로그램에 상응하는지 여부를 판단한다.
본 발명의 일실시예에 따르면 상기 진단 대상 프로그램에 대한 제2 행동 특징 벡터가 행동 특징 벡터 공간상에서 위치한 영역에 따라서 상기 진단 대상 프로그램이 악성 프로그램에 상응하는지 여부를 판단 할 수 있다. 정상 프로그램의 시스템 사용 정보로부터 생성한 정상 행동 특징 벡터는 서로 유사하므로, 행동 특징 벡터 공간 상의 정상 행동 특징 벡터 영역에 위치한다. 악성 프로그램의 시스템 사용 정보로부터 생성한 악성 행동 특징 벡터는 서로 유사하므로, 행동 특징 벡터 공간상의 악성 행동 특징 벡터 영역에 위치한다. 진단 대상 프로그램의 시스템 사용 정보로부터 생성한 제2 행동 특징 벡터가 정상 행동 특징 벡터 공간에 위치하면 진단 대상 프로그램이 정상 프로그램에 상응하는 것으로 판단할 수 있다. 진단 대상 프로그램의 시스템 사용 정보로부터 생성한 제2 행동 특징 벡터가 악성 행동 특징 벡터 공간에 위치하면 진단 대상 프로그램이 악성 프로그램에 상응하는 것으로 판단할 수 있다.
도 8은 본 별명에 따라서 악성 프로그램에 감염된 컴퓨터 시스템을 치료하는 방법을 단계별로 설명한 순서도이다. 이하 도 8을 참조하여 악성 프로그램에 감염된 컴퓨터 시스템을 치료하는 방법을 상세히 설명하기로 한다.
본 발명의 일실시예에 따르면 진단 대상 프로그램이 악성 프로그램으로 판단된 경우에 상기 진단 대상 프로그램과 연관된 파일을 모두 삭제할 수 있다.
본 발명의 일실시예에 따르면 진단 대상 프로그램이 악성 프로그램으로 판단된 경우에는 상기 컴퓨터 시스템의 통신 장치 중에서 상기 진단 대상 프로그램과 연관된 통신 장치를 비활성화 할 수 있다.
컴퓨터 시스템에는 복수의 통신 장치가 설치되어 있으나, 그러나 악성 프로그램은 상기 컴퓨터 시스템의 통신 장치 중에서 특정 통신 장치를 통하여 컴퓨터 시스템으로 침입하는 것이 일반적이다. 상기 컴퓨터 시스템이 악성 프로그램에 감염된 것으로 판단된 경우에는 상기 악성 프로그램과 연관된 통신 장치를 비활성화 하여 상기 악성 프로그램이 다른 컴퓨터 시스템에 침입하고 감염시키는 것을 방지할 수 있다.
본 발명의 일실시예에 따르면 단계(S810)에서는 악성 프로그램 제어 서버로부터 시스템 제어 신호를 수신할 수 있다.
단계(S820)에서는 상기 수신한 시스템 제어 신호에 기반하여 상기 컴퓨터 시스템을 치료할 수 있다.
본 발명의 일실시예에 따르면 악성 프로그램 제어 서버는 통신망을 통해 연결된 복수의 컴퓨터 시스템 중의 어느 한 컴퓨터 시스템으로부터 특정 악성 프로그램에 감염되었다는 보고를 수신하고, 상기 악성 프로그램에 대하여 경계할 것을 지시하는 시스템 제어 신호를 상기 복수의 컴퓨터 시스템으로 전송할 수 있다. 각각의 컴퓨터 시스템은 상기 시스템 제어 신호를 수신하고 상기 컴퓨터 시스템의 통신 장치 중에서 상기 수신한 시스템 제어 신호에 상응하는 통신 장치를 비활성화 시켜 상기 악성 프로그램의 확산을 방지할 수 있다.
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플 롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 본 발명에서 설명된 이동 단말 또는 기지국의 동작의 전부 또는 일부가 컴퓨터 프로그램으로 구현된 경우, 상기 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 기록 매체도 본 발명에 포함된다.
도 1은 컴퓨터 프로그램의 행동을 이용하여 악성 프로그램을 검사하는 방법을 단계별로 도시한 순서도이다.
도 2는 본 발명에 따라서 악성 프로그램에 감염된 컴퓨터 시스템을 치료하는 장치의 구조를 도시한 도면이다.
도 3은 본 발명에 따라서 진단 대상 프로그램이 악성 프로그램에 상응하는지 여부를 판단하는 판단부의 구조를 도시한 도면이다.
도 4는 본 발명에 따른 인코딩부가 복수의 동작 함수를 인코딩하여 생성한 행동 특징 벡터의 일실시예를 도시한 도면이다.
도 5는 본 발명에 따른 판단부가 제1 행동 특징 벡터 및 제2 행동 특징 벡터를 비교하여 진단 대상 프로그램이 악성 프로그램에 상응하는지 여부를 판단하는 개념을 도시한 도면이다.
도 6은 본 발명에 따라서 악성 프로그램에 감염된 컴퓨터 시스템을 치료하는 방법을 단계별로 설명한 순서도이다.
도 7은 본 발명에 따라서 진단 대상 프로그램이 악성 프로그램에 상응하는지 여부를 판단하는 방법을 단계별로 설명한 순서도이다.
도 8은 본 별명에 따라서 악성 프로그램에 감염된 컴퓨터 시스템을 치료하는 방법을 단계별로 설명한 순서도이다.
Claims (20)
- 악성 프로그램에 감염된 컴퓨터 시스템을 치료하는 장치에 있어서,악성 프로그램 제어 서버로부터 상기 악성 프로그램에 대한 제1 행동 특징 벡터 를 수신하는 수신부;상기 수신한 제1 행동 특징 벡터 및 진단 대상 프로그램에 대한 제2 행동 특징 벡터에 기반하여 상기 진단 대상 프로그램이 상기 악성 프로그램에 상응하는지 여부를 판단하는 판단부; 및상기 판단 결과에 따라서 상기 컴퓨터 시스템을 치료하는 치료부를 포함하는 것을 특징으로 하는 악성 프로그램 치료 장치.
- 제1항에 있어서, 상기 판단부는,상기 진단 대상 프로그램이 복수의 서로 다른 시각에 걸쳐 상기 컴퓨터 시스템의 자원을 사용하는 복수의 시스템 사용 정보를 저장하는 시스템 사용 정보 저장부;상기 저장된 시스템 사용 정보간의 상호 연관성에 기반하여 상기 진단 대상 프로그램과 연관된 복수의 동작 함수를 생성하는 동작 함수 생성부; 및상기 생성된 복수의 동작 함수를 인코딩하여 상기 제2 행동 특징 벡터를 생성하는 인코딩부를 포함하는 것을 특징으로 하는 악성 프로그램 치료 장치.
- 제2항에 있어서, 상기 인코딩부는,상기 복수의 동작함수 중에서 적어도 하나 이상의 동작 함수가 상기 컴퓨터 시스템의 시스템 디렉토리에 접근하는 경우에 한하여,상기 진단 대상 프로그램에 대하여 제2 행동 특징 정보를 생성하는 것을 특징으로 하는 것을 특징으로 하는 악성 프로그램 치료 장치.
- 제2항에 있어서,상기 복수의 동작 함수들간의 상호 연관성을 판단하는 연관성 판단부를 더 포함하고,상기 인코딩부는,상기 상호 연관성을 가지는 동작 함수들을 인코딩하여 상기 제2 행동 특징 벡터를 생성하는 것을 특징으로 하는 악성 프로그램 치료 장치.
- 제4항에 있어서, 상기 연관성 판단부는,제1 동작 함수가 생성 또는 수정한 파일을 제2 동작 함수가 로드하는 경우에,상기 제1 동작 함수 및 상기 제2 동작 함수는 상호 연관된 것으로 판단하는 것을 특징으로 하는 악성 프로그램 치료 장치.
- 제4항에 있어서, 상기 연관성 판단부는,제1 동작 함수의 실행 결과에 따라서 제2 동작 함수가 호출되는 경우에,상기 제1 동작 함수 및 상기 제2 동작 함수는 상호 연관된 것으로 판단하는 것을 특징으로 하는 악성 프로그램 치료 장치.
- 제6항에 있어서, 상기 인코딩부는,소정의 시간 이내에 상기 제2 동작 함수가 호출되는 경우에 한하여, 상기 제1 동작 함수 및 상기 제2 동작 함수는 상호 연관된 것으로 판단하는 것을 특징으로 하는 악성 프로그램 치료 장치.
- 제1항에 있어서,상기 수신부는 상기 악성 프로그램 제어 서버로부터 시스템 제어 신호를 수신하고,상기 치료부는 상기 수신한 시스템 제어 신호에 기반하여 상기 컴퓨터 시스템을 치료하는 것을 특징으로 하는 악성 프로그램 치료 장치.
- 제1항에 있어서, 상기 치료부는,상기 판단 결과에 따라서 상기 컴퓨터 시스템의 통신 장치 중에서 상기 진단 대상 프로그램과 연관된 통신 장치를 비활성화 시키는 것을 특징으로 하는 악성 프로그램 치료 장치.
- 악성 프로그램에 감염된 컴퓨터 시스템을 치료하는 방법에 있어서,악성 프로그램 제어 서버로부터 상기 악성 프로그램에 대한 제1 행동 특징 벡터를 수신하는 단계;상기 수신한 제1 행동 특징 벡터 및 진단 대상 프로그램에 대한 제2 행동 특징 벡터에 기반하여 상기 진단 대상 프로그램이 상기 악성 프로그램에 상응하는지 여부를 판단하는 단계; 및상기 판단 결과에 따라서 상기 컴퓨터 시스템을 치료하는 단계를 포함하는 것을 특징으로 하는 악성 프로그램 치료 방법.
- 제10항에 있어서, 상기 판단하는 단계는,상기 진단 대상 프로그램이 복수의 서로 다른 시각에 걸쳐 상기 컴퓨터 시스템의 자원을 사용하는 복수의 시스템 사용 정보를 저장하는 단계;상기 저장된 시스템 사용 정보간의 상호 연관성에 기반하여 상기 진단 대상 프로그램과 연관된 복수의 동작 함수를 생성하는 단계; 및상기 생성된 복수의 동작 함수를 인코딩하여 상기 제2 행동 특징 벡터를 생성하는 단계;를 포함하는 것을 특징으로 하는 악성 프로그램 치료 방법.
- 제11항에 있어서, 상기 제2 행동 특징 벡터를 생성하는 단계는,상기 복수의 동작함수 중에서 적어도 하나 이상의 동작 함수가 상기 컴퓨터 시스템의 시스템 디렉토리에 접근하는 경우에 한하여,상기 진단 대상 프로그램에 대하여 제2 행동 특징 벡터를 생성하는 것을 특징으로 하는 것을 특징으로 하는 악성 프로그램 치료 방법.
- 제11항에 있어서,상기 복수의 동작 함수간의 상호 연관성을 판단하는 단계를 더 포함하고,상기 제2 행동 특징 벡터를 생성하는 단계는,상기 상호 연관성을 가지는 동작 함수들을 인코딩하여 상기 제2 행동 특징 벡터를 생성하는 것을 특징으로 하는 악성 프로그램 치료 방법.
- 제13항에 있어서, 상기 상호 연관성을 판단하는 단계는,제1 동작 함수가 생성 또는 수정한 파일을 제2 동작 함수가 로드하는 경우에,상기 제1 동작 함수 및 상기 제2 동작 함수는 상호 연관된 것으로 판단하는 것을 특징으로 하는 악성 프로그램 치료 방법.
- 제13항에 있어서, 상기 상호 연관성을 판단하는 단계는,제1 동작 함수의 실행 결과에 따라서 제2 동작 함수가 호출되는 경우에,상기 제1 동작 함수 및 상기 제2 동작 함수는 상호 연관된 것으로 판단하는 것을 특징으로 하는 악성 프로그램 치료 방법.
- 제13항에 있어서, 상기 상호 연관성을 판단하는 단계는,소정의 시간 이내에 제2 동작 함수가 호출되는 경우에 한하여, 상기 제1 동작 함수 및 상기 제2 동작 함수는 상호 연관된 것으로 판단하는 것을 특징으로 하는 악성 프로그램 치료 방법.
- 제10항에 있어서,상기 악성 프로그램 제어 서버로부터 시스템 제어 신호를 수신하는 단계를 더 포함하고,상기 치료하는 단계는 상기 수신한 시스템 제어 신호에 기반하여 상기 컴퓨터 시스템을 치료하는 것을 특징으로 하는 악성 프로그램 치료 방법.
- 제9항에 있어서, 상기 치료하는 단계는,상기 컴퓨터 시스템의 통신 장치 중에서 상기 수신한 시스템 제어 신호에 상응하는 통신 장치를 비활성화 시키는 것을 특징으로 하는 악성 프로그램 치료 방법.
- 제10항에 있어서, 상기 치료하는 단계는,상기 판단 결과에 따라서 상기 컴퓨터 시스템의 통신 장치 중에서 상기 진단 대상 프로그램과 연관된 통신 장치를 비활성화 시키는 것을 특징으로 하는 악성 프로그램 치료 방법.
- 제10항 내지 제19항 중 어느 하나의 항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/056,236 US8448248B2 (en) | 2007-07-23 | 2008-03-26 | Apparatus and method for repairing computer system infected by malware |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US95130107P | 2007-07-23 | 2007-07-23 | |
US60/951,301 | 2007-07-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090010852A true KR20090010852A (ko) | 2009-01-30 |
KR101427357B1 KR101427357B1 (ko) | 2014-08-11 |
Family
ID=40489955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070099978A KR101427357B1 (ko) | 2007-07-23 | 2007-10-04 | 악성 프로그램에 감염된 컴퓨터 시스템을 치료하는 장치 및방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101427357B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012054401A1 (en) * | 2010-10-18 | 2012-04-26 | Board Of Regents Of The University Of Texas System | Remediation of computer security vulnerabilities |
KR101256439B1 (ko) * | 2010-11-30 | 2013-04-19 | 주식회사 안랩 | 대응정보 업데이트 장치 및 방법, 클라이언트 단말 장치 및 악성코드 치료 방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7093239B1 (en) * | 2000-07-14 | 2006-08-15 | Internet Security Systems, Inc. | Computer immune system and method for detecting unwanted code in a computer system |
US7882561B2 (en) | 2005-01-31 | 2011-02-01 | Microsoft Corporation | System and method of caching decisions on when to scan for malware |
-
2007
- 2007-10-04 KR KR1020070099978A patent/KR101427357B1/ko active IP Right Grant
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012054401A1 (en) * | 2010-10-18 | 2012-04-26 | Board Of Regents Of The University Of Texas System | Remediation of computer security vulnerabilities |
US9177154B2 (en) | 2010-10-18 | 2015-11-03 | Todd Wolff | Remediation of computer security vulnerabilities |
KR101256439B1 (ko) * | 2010-11-30 | 2013-04-19 | 주식회사 안랩 | 대응정보 업데이트 장치 및 방법, 클라이언트 단말 장치 및 악성코드 치료 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR101427357B1 (ko) | 2014-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8713680B2 (en) | Method and apparatus for modeling computer program behaviour for behavioural detection of malicious program | |
US10891378B2 (en) | Automated malware signature generation | |
Sun et al. | Monet: a user-oriented behavior-based malware variants detection system for android | |
JP6228966B2 (ja) | マルウェアを検出するコンピューティングデバイス | |
Feng et al. | Mobidroid: A performance-sensitive malware detection system on mobile platform | |
US6775780B1 (en) | Detecting malicious software by analyzing patterns of system calls generated during emulation | |
US8464340B2 (en) | System, apparatus and method of malware diagnosis mechanism based on immunization database | |
Sun et al. | Detecting code reuse in android applications using component-based control flow graph | |
US8782792B1 (en) | Systems and methods for detecting malware on mobile platforms | |
US8117660B2 (en) | Secure control flows by monitoring control transfers | |
US11882134B2 (en) | Stateful rule generation for behavior based threat detection | |
Ho et al. | PREC: practical root exploit containment for android devices | |
KR101537088B1 (ko) | Api 호출 흐름 기반의 악성코드 탐지 시스템 및 방법 | |
US8448248B2 (en) | Apparatus and method for repairing computer system infected by malware | |
CN106803040B (zh) | 病毒特征码处理方法及装置 | |
JP6341964B2 (ja) | 悪意のあるコンピュータシステムを検出するシステム及び方法 | |
KR101421136B1 (ko) | 악성 프로그램을 검사하기 위하여 컴퓨터 프로그램의행동을 모델링하는 방법 및 장치 | |
KR102180098B1 (ko) | 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 악성코드 탐지 시스템 | |
Almomani et al. | An efficient machine learning-based approach for Android v. 11 ransomware detection | |
Mishra et al. | PSI-NetVisor: Program semantic aware intrusion detection at network and hypervisor layer in cloud | |
JP2006146600A (ja) | 動作監視サーバ、端末装置及び動作監視システム | |
Zhang et al. | Android malware detection combined with static and dynamic analysis | |
Ahmadi et al. | Intelliav: Building an effective on-device android malware detector | |
KR101427357B1 (ko) | 악성 프로그램에 감염된 컴퓨터 시스템을 치료하는 장치 및방법 | |
Shahriar et al. | Detection of repackaged android malware |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
FPAY | Annual fee payment |
Payment date: 20170619 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180620 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190619 Year of fee payment: 6 |