KR20020024225A - 실시간 안티 바이러스 시스템 - Google Patents

실시간 안티 바이러스 시스템 Download PDF

Info

Publication number
KR20020024225A
KR20020024225A KR1020020006645A KR20020006645A KR20020024225A KR 20020024225 A KR20020024225 A KR 20020024225A KR 1020020006645 A KR1020020006645 A KR 1020020006645A KR 20020006645 A KR20020006645 A KR 20020006645A KR 20020024225 A KR20020024225 A KR 20020024225A
Authority
KR
South Korea
Prior art keywords
virus
module
network interface
packet
designated
Prior art date
Application number
KR1020020006645A
Other languages
English (en)
Other versions
KR100444748B1 (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 (주) 세이프아이
Priority to KR10-2002-0006645A priority Critical patent/KR100444748B1/ko
Publication of KR20020024225A publication Critical patent/KR20020024225A/ko
Application granted granted Critical
Publication of KR100444748B1 publication Critical patent/KR100444748B1/ko

Links

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
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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/561Virus type analysis
    • 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/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 실시간 안티 바이러스 시스템에 관한 것으로, 보다 상세하게는 온라인상에서 전송되는 데이터에 포함된 바이러스를 클라이언트에서 감염되기 이전에 이를 발견하고, 치료할 수 있는 시스템에 관한 것이다.
이를 위해 본 발명은, 클라이언트 컴퓨터에 장착 또는 연결되며, 패킷을 송수신하는 네트워크 인터페이스 장치와; 네트워크 인터페이스 장치를 오퍼레이팅 시스템 상에 인식시키고, 상기 네트워크 인터페이스 장치의 동작을 운영하는 네트워크 디바이스 드라이버와; 클라이언트 측에 저장되며, 바이러스에 대한 감염 정보가 저장되는 바이러스정보데이터베이스와; 네트워크 디바이스 드라이버 내부에서 구동되며, 상기 네트워크 인터페이스 장치를 통해 수신되는 전체 패킷 중 지정 패킷을 분리하는 지정패킷분리모듈과; 상기 지정패킷분리모듈에 의해 분리된 패킷을 임시로 저장하여 하나의 완성된 파일로 완성되지 못하게 하는 임시저장모듈과; 상기 임시저장모듈에 의해 저장된 지정 패킷을 제외한 나머지 패킷에 대한 바이러스 감염여부를 상기 바이러스정보데이터베이스와 비교 검색하여 감염여부 결과를 판단하는 검색모듈;을 포함하여 구성되는 것을 특징으로 한다.
이에 따라, 클라이언트 컴퓨터에 바이러스가 감염되기 이전에 전송받고 있는 파일에 대한 바이러스를 발견할 수 있는 이점이 있다.
또한, 클라이언트 컴퓨터에 저장되기 이전에 치료된 파일을 제공받을 수 있게 된다.

Description

실시간 안티 바이러스 시스템{Anti Virus System on realtime}
본 발명은 실시간 안티 바이러스 시스템에 관한 것으로, 보다 상세하게는 온라인 상에서 전송되는 데이터에 포함된 바이러스를 클라이언트에서 감염되기 이전에 이를 발견하고, 치료할 수 있는 시스템에 관한 것이다.
컴퓨터 바이러스란 '제 3자의 프로그램이나 데이터베이스에 대하여 의도적으로 어떤 해를 입히도록 만들어진 프로그램으로, 자기 복제기능, 잠복기능, 발병 기능의 어느 하나 이상을 가지는 것'이라고 정의할 수 있다. 자기 복제기능이란 바이러스가 증식하기 위한 기능이며, 잠복기능이란 감염에서 발병까지 시간을 두는 기능으로 일시 등 지정 조건이 갖추어진 단계에서 비로소 발병한다. 그로 인해 감염이 발각될 때까지 시간을 벌어 감염 범위를 넓히기 전에 구제되어 버리는 것을 막고 있다. 또, 발병기능이란 처리에 지장을 가져오는 다양한 증상을 일으키는 기능으로, 악질적인 유형이 되면 CIH처럼 데이터를 파괴시키는 것도 있다. 특히, 바이러스는 작성자의 손을 떠난 다음에도 다양하게 변화하여 '진화'와 '다양화'를 거듭하고 있는 실정이다. 그 종류는 1980년대 중반의 제 1세대부터 헤아려 지금에 와서는 수만 종에 그 중에는 감염될 때마다 스스로 형태를 바꾸는 돌연변이 유형의 바이러스처럼 놀란만한 변화를 이룬 종도 있다.
그리고, 컴퓨터 바이러스는 감염 형태에 따라 '프로그램 감염형 바이러스'.'매크로(Macro)감염형 바이러스', '부트(Boot)형 바이러스'의 3종류로 나누어진다. 그 가운데 매크로 감염증 바이러스는 1995년에 등장한 것으로, 'Microsoft Word'나 'Microsoft Excel'이라는 애플리케이션(Application)에 탑재된 매크로 기능(등록해 놓은 일련의 처리를 원터치로 하는 기능)을 악용하는 경우에 해당한다. 바이러스는 파일의 매크로 기록 부분에 감염되지만, 이 파일을 열면 바이러스는 개인용 매크로 파일이나 설정 파일(Word의 경우는 'Normal.dot', Excel의 경우는 'personal.xls')을 찾고, 거기에 자기 자신을 복사하게 된다. 따라서, 이들 파일은 애플리케이션이 기동할 때마다 열리기 때문에 그 이후에는 그 애플리케이션에서 열린 모든 파일에 바이러스가 감염된다.
프로그램 감염형 바이러스는 프로그램파일(Windows PC이면 .exe 나 .com등의 확장자를 가진 파일)을 감염시킨다. 감염된 프로그램을 실행하면, 실행된 프로그램은 바이러스와 함께 메모리 영역에 배치되며, 바이러스는 프로그램이 끝난 다음에도 메모리에 머물며, 실행 또는 복사되는 프로그램을 차례로 감염시켜 나간다.
또, 부트 감염형 바이러스는 하드디스크나 플로피 디스크안의 시스템을 기동하기 위한 영역에 감염시킨다. 감염된 프로그램을 실행하면, 바이러스에 감염된 디스크에서 시스템을 기동시키면 바이러스가 메모리에 상주하고, 그 이후에 사용자가 액세스한 디스크의 시스템 영역으로 감염을 확대시켜 나간다. 이렇게 감염된 바이러스는 잠복한 다음, 지정 일자나 시각, 조작 등을 계기로 하여 발병한다. 발병이 초래하는 피해는 실로 다양하다. 가장 중대한 것은, 역시 파일이나 디스크에 끼치는 피해이다. 최근 등장한 바이러스 가운데는 CIH나 Julykill, ExploreZIP가이러한 유형에 속한다. CIH나 Julykill은 하드 디스크의 데이터를, ExploreZIP은 '.doc'나 '.xls' 등의 확장자를 가지는 파일을 각각 파괴, 또는 삭제시켜 버린다. 또 무차별적으로 e-메일이나 파일을 계속 보내는 등의 네트워크를 이용하여 피해를 주는 것이, 최근 바이러스의 주류를 이루고 있다. Melissa나 Happy99.exe는 많은 기업의 e-메일 서버를 다운시켜, 네트워크에서의 피해는 엄청난 것이었다.
컴퓨터 바이러스에 대한 존재를 발견하고 피해를 미리 막는 것이 백신 소프트웨어이다. 백신 소프트 웨어는 지금까지 발견된 바이러스 패턴을 가지고 있어서, 이것을 검사 대상 파일과 비교하여 바이러스를 발견한다. 검사 대상 파일이 이제까지 발견된 바이러스의 패턴을 포함하고 있으면 감염되어 있다고 판단하는 것이다. 이것은 기존의 바이러스를 발견하기 위한 경우에 해당한다. 그러나, 신종 바이러스에는 대응할 수 없다. 또 기존 바이러스라고 해도 아주 일부분이라도 변화가 생기면 대응할 수 없다는 결점도 있다. 따라서, 바이러스의 피해를 피하기 위해서는 백신 소프트웨어가 가지는 바이러스의 패턴을 부지런히 갱신하는 일이 꼭 필요한 상황이다. 이러한 방법으로 바이러스가 발견되면, 백신 소프트웨어는 우선 파일에서 바이러스 부분을 제거하는 일을 시도한다. 예를 들어, 매크로 감염형 바이러스의 경우이면, 해당하는 매크로 부분을 제거하게 된다. 단, 복잡한 감염 절차를 벌이는 바이러스나 신종 바이러스의 경우에는 바이러스 부분이 식별되지 않기 때문에 제거할 수 없다. 이 경우는 감염된 파일의 이름을 바꾸거나 감염된 파일을 삭제 또는 다른 폴더로 이동하거나 한다. 또 파일을 록(lock)하고 액세스 금지로 하는 경우도 있다.
그리고, 상기와 같이 바이러스의 확산이 이루어지는 이유는, 먼저 컴퓨터 바이러스가 번식하는 환경이 정돈되어 가고 있다는 점을 꼽을 수 있다. LAN(Local Area Network)이나 인터넷 등의 네트워크가 충실해짐으로써, 바이러스도 플로피 디스크나 CD-ROM 뿐만 아니라 파일의 다운로드나 e-메일의 첨부 파일이라는 등의 형식으로 보다 번식성이 높은 수단으로 퍼질 수 있게 되었다. 예를 들어 Melissa의 경우 e-메일을 통하여 단 3일만에 세계를 휩쓴 것이다.
그리고, 컴퓨터 바이러스에 대한 인식이 낮다는 것도 문제이다. PC의 급속한 보급으로 컴퓨터 바이러스에 대한 지식이 부족한 사용자도 급증하였다. 그래서 '유래가 분명하지 않는 파일은 실행하지 않는다.'라는 아주 기본적인 원칙조차 지켜지지 않아 결과적으로 심각한 피해를 보고 있다. 또, 컴퓨터 바이러스에 대한 위험을 실감하지 못하여 바이러스 대책 소프트웨어의 도입이 늦어지고 있다는 것이다. 우리 나라의 경우도 새로운 전산 시스템을 도입하려고 만 하고 관리나 보호는 제대로 하고 있지 않다. 그러나 최근 LAN을 통하여 수천 대가 바이러스에 감염된 경우나, 기업이나 공적 기관이 제공한 파일이 바이러스에 감염되어 있는 경우도 있으므로, 바이러스 대책 소프트웨어의 개발이 본격화되어야 할 것이다.
한편, SOHO(Small Office Home Office)가 늘고, 가정과 직장 사이에 정보 교환이 빈번하게 이루어지면, 가정에서도 지금까지보다는 훨씬 주의를 기울어야 한다. 그와 더불어 바이러스 대책 소프트웨어가 능사가 아니라는 점도 기억하고 있어야 한다. 더욱이 사회 기반이 점차 전자화되어 가면 컴퓨터 바이러스가 더욱 심각한 사회적 영향을 미친다는 점도 염두에 두어야 한다. 사이버 테러의 위험성이나새로운 바이러스의 위험성을 근거로 한 적절한 대책이 필요할 것이다.
종래의 백신 프로그램은 바이러스가 감염된 이후에 이를 발견, 치료하는 형태로 구성되어 있다. 그러나, 사용자 부주의로 인해서, 메일을 통한 첨부파일을 수신받아 이를 실행하게 된 이후에는 램(RAM)상에 바이러스가 상주하게 되며, 사용자의 시스템 상으로 로드되는 파일들을 지속적으로 감염시킬 가능성이 존재하게 된다. 따라서, 사용자 컴퓨터 상에 바이러스가 감염되기 이전에 이를 발견할 수 있는 방법이 필수적이나 이를 발견할 수 있는 시스템이 없다는 문제점이 있다.
그리고, 신종 바이러스가 인터넷상에서 떠도는 현재와 같은 경우에는 바이러스가 유포된 이후에 백신이 제공되는 경우가 많다. 그러나, 상기와 같은 경우에 있어서, 바이러스는 이미 사용자 컴퓨터에 퍼져 있는 경우가 허다하게 되며, 이를 추후에 치료하는 백신이 제공된다. 따라서, 컴퓨터 사용자는 이미 바이러스가 사용자 보조기억장치인 하드디스크에 바이러스가 윈도우즈의 시스템에 관련된 실행파일에 감염되어 치료 도중 최악의 경우, 관련 파일을 삭제하게 되므로, 윈도우즈 시스템을 새로 설치해야 하는 경우가 허다하게 발생하게 된다는 또 다른 문제점이 있다. 즉, 알려지지 않은 바이러스에 대한 발견 및 치료 방법이 없다는 문제점에 해당한다.
본 발명은 상기한 문제점을 해결하기 위해 안출된 것으로, 알려진 바이러스가 사용자의 컴퓨터에 감염되기 이전에 발견하여 치료하는 시스템을 제공하는 데 그 목적이 있다.
그리고, 알려지지 않은 바이러스에 대해서 바이러스의 활동을 발견하여 삭제할 수 있는 시스템을 제공하는 데 또 다른 목적이 있다.
도 1 : 본 발명의 일실시예에 따른 실시간 안티 바이러스 시스템의 구성도.
도 2 : TCP/IP의 3단계 Handshake 개념도.
도 3 : FTP 응용프로그램을 이용한 데이터 송수신 흐름도.
도 4a : 본 발명의 일실시예에 따른 통지모듈에 의한 결과 제공 화면을 보인 도.
도 4b : 본 발명의 일실시예에 따른 통지모듈에 의한 결과 확인 화면을 보인 도.
도 5a : 본 발명의 일실시예에 따른 실시간 안티 바이러스 시스템의 흐름도.
도 5b : 본 발명의 일실시예에 따른 실시간 안티 바이러스 시스템의 흐름도.
< 도면의 주요부분에 대한 부호의 설명>
A10 : 클라이언트 A11 : 호스트 A
A12 : 호스트 B B10 : 서버
100 : 네트워크 인터페이스 장치 110 : 플래시 메모리
200 : 네트워크 디바이스 드라이버 300 : 바이러스정보데이터베이스
400 : 지정패킷분리모듈 500 : 임시저장 모듈
600 : 검색모듈 610 : 통지모듈
620 : 처리모듈 621 : 파일 시스템 드라이버
본 발명은 상기한 목적을 달성하기 위해 클라이언트 컴퓨터에 장착 또는 연결되며, 패킷을 송수신하는 네트워크 인터페이스 장치와; 네트워크 인터페이스 장치를 오퍼레이팅 시스템 상에 인식시키고, 상기 네트워크 인터페이스 장치의 동작을 운영하는 네트워크 디바이스 드라이버와; 클라이언트 측에 저장되며, 바이러스에 대한 감염 정보가 저장되는 바이러스정보데이터베이스와; 네트워크 디바이스 드라이버 내부에서 구동되며, 상기 네트워크 인터페이스 장치를 통해 수신되는 전체 패킷 중 지정 패킷을 분리하는 지정패킷분리모듈과; 상기 지정패킷분리모듈에 의해 분리된 패킷을 임시로 저장하여, 하나의 완성된 파일로 완성되지 못하게 하는 임시저장모듈과; 상기 임시저장모듈에 의해 저장된 지정 패킷을 제외한 나머지 패킷에 대한 바이러스 감염여부를 상기 바이러스정보데이터베이스와 비교 검색하여 감염여부 결과를 판단하는 검색모듈;을 포함하여 구성된다.
그리고, 상기 검색모듈에서 감염 판단 신호를 전달받아 상기 클라이언트 측으로 감염정보를 제공하는 통지모듈과; 상기 통지모듈에 의해 통지된 결과에 따라 바이러스 감염된 데이터를 삭제 또는 치료하는 처리모듈;을 포함하여 구성된다.
그리고, 상기 처리모듈은 보조기억장치내 지정 위치에 저장된 파일의 변경이벤트를 감지하여 상기 바이러스정보데이터베이스에 등록되지 않은 바이러스에 대한 바이러스 감지를 하는 파일시스템드라이버;를 포함하여 구성된다.
또한, 상기 바이러스정보데이터베이스는 상기 클라이언트의 보조기억장치에 저장된다.
그리고, 상기 네트워크 인터페이스 장치는 상기 바이러스정보데이터베이스가 저장되는 플래시메모리;가 탑재되는 것을 특징으로 한다.
또한, 상기 임시저장 모듈은 지정 패킷을 제외한 나머지 데이터를 클라이언트 상의 주기억장치 또는 보조기억장치에 임시적으로 저장하는 것을 특징으로 한다.
이하에서는 첨부한 도면을 참조로 하여 본 발명의 일실시예에 따른 실시간 안티 바이러스 시스템을 상세히 설명하기로 한다. 도 1은 본 발명의 일실시예에 의한 실시간 안티 바이러스 시스템의 구성도이다.
본 발명의 일실시예에 따른 실시간 안티 바이러스 시스템은 크게, 네트워크 인터페이스 장치(100), 네트워크 디바이스 드라이버(200), 바이러스정보데이터베이스(300), 지정패킷분리모듈(400), 임시저장모듈(500), 검색모듈(600)로 나눌 수 있다.
먼저, 네트워크 인터페이스 장치(100)를 설명하기로 한다. 상기 네트워크 인터페이스 장치(100)는 클라이언트 컴퓨터에 장착 또는 연결된다. 일반적으로, 네트워크 인터페이스 장치라 함은 LAN 카드라고 통칭하기도 하지만, 바람직하게는 온라인 접속을 위한 하드웨어 장비를 의미한다. 세계 3대 주요 랜 표준은 이더넷(Ethernet), 토큰링(Token Ring), 아크넷(Arc net)이다. 이중에서 세계적으로 가장 널리 쓰이는 랜 표준은 이더넷이다. 우리나라에 설치된 랜의 90%이상도 이더넷으로 추정되고 있다. 그리고, 상기 네트워크 인터페이스 장치(100)는 전송속도, 버스 방식, 커넥터 등에 따라 구분되며, 바람직하게는 상기 네트워크 인터페이스 장치(100)는 무선 LAN도 지원할 수 있다. 그리고, 상기 네트워크 인터페이스 장치(100)는 플래시 메모리(110)를 장착하게 된다. 이에 따라, 플래시 메모리(110)를 설명하기로 한다. 상기 플래시 메모리(110)는 일종의 비휘발성 기억 장치에 해당하며, 전기적인 처리에 의해 기억 내용을 소거할 수 있는 점에서는 전기적 소거 및 프로그램 가능 읽기 전용 기억 장치(EEPROM)와 유사하지만, EEPROM은 한 번에 1바이트씩 소거할 수 있는 데 비해 플래시 메모리는 블록 단위로 소거해야 한다. 이 특성 때문에 플래시 메모리는 흔히 휴대형 컴퓨터의 하드 디스크 대용 또는 보충용으로 사용된다. 가장 흔히 사용되는 예는 휴대형 컴퓨터의 PCMCIA 슬롯에 삽입하여 사용할 수 있는 PC 장치의 기억 장치로 사용되는 것이다. 그리고, 상기 플래시 메모리(110)는 본 발명에 일실시예에 따르면, 후술하게 되는 바이러스정보데이터베이스(300)를 저장하게 된다.
다음, 네트워크 디바이스 드라이버(200)를 설명하기로 한다. 상기 네트워크 디바이스 드라이버(200)는 상기 네트워크 인터페이스 장치(100)를 오퍼레이팅 시스템 상에 인식시키고, 상기 네트워크 인터페이스 장치(100)의 동작을 운영하는 역할을 한다. 실질적으로는, 상기 네트워크 디바이스 드라이버(200)는 네트워크 인터페이스 장치(100)에 포함된 랜컨트롤러 칩과의 통신을 위한 디바이스 드라이버에 해당하며, 커널 모드에서 동작된다. 상기 네트워크 디바이스 드라이버(200)는 일례를 들어, 마이크로소프트사의 윈도우 9x 또는 윈도우 NT의 운영체제에 있어서,커널 모드에서 동작을 하게 된다. 특히, 윈도우 NT는 특권(privileged)와 비특권(nonprivileged) 모드를 사용한다. 이는 주로 커널모드와 유저 모드로 불리운다. 상기 커널모드에서 실행되는 컴포넌트들은 하드웨어 및 소프트웨어 리소스를 직접 엑세스한다. 또한 윈도우 NT에서는 시스템의 보안성과 안정성을 유지하기 위해 운영체제의 핵심적인 부분만이 커널 모드에서 실행된다. 여기서, 마이크로커널(microkernel), HAL(hardware abstraction layer), 디바이스 드라이버(Device Driver)등이 커널모드에서 실행되는 부분이다. 따라서, 상기 네트워크 디바이스 드라이버는 상기 디바이스 드라이버(Device Driver)에 해당한다. 또한, 커널모드에서 실행되는 프로그램은 고의, 또는 불의의 외부 간섭으로부터 프로세서 자체의 설계에 의해 보호된다. 그리고, Win32 서브시스템, POSIX 서브시스템 등의 환경 서브시스템, 모든 응용프로그램이 유저모드에서 실행된다. 또한, 상기 유저모드의 경우 시스템 사용자의 선택에 따라 해당 프로그램의 실행을 중지 또는 종료를 할 수 있으나, 상기 커널모드에서 동작하는 경우에는 사용자가 직접 중지 또는 종료를 할 수 없게 된다. 그리고, 커널은 자신을 통과하는 모든 시스템 동작과 거의 모든 시스템 기능에 책임을 진다. 윈도우 NT는 마이크로커널을 사용하며, 이는 필요한 최소한의 기능만을 포함한다는 것을 의미한다. 윈도우 NT의 마이크로커널은 전통적으로 커널의 역할이었던 많은 기능을 NT실행부로 불리우는 부분에 할당한다. 마이크로커널은 NT실행부의 일부이며, NT실행부는 커널모드에서 실행된다.
그리고, 상기 네트워크 디바이스 드라이버(200)는 후술하게 되는 지정패킷분리모듈(400)이 상기 네트워크 디바이스 드라이버(200)내부에서 구동되도록 구성된다. 또한, 상기 네트워크 디바이스 드라이버(200)는 OSI(Open System Information)참조 모델에서 데이터링크(Data Link)층에서 구동된다.
다음, 바이러스정보데이터베이스(300)를 설명하기로 한다. 상기 바이러스정보데이터베이스(300)는 클라이언트 측에 저장되며, 바이러스의 감염정보가 저장된다. 그리고, 상기 바이러스정보데이터베이스(300)는 바이러스 이름, 바이러스 패턴, 바이러스 ID, 감염경로, 감염대상, 바이러스 종류 등이 포함된다. 상기 바이러스 이름은 일례를 들어, Nimda, Fun_love 등 바이러스 파일의 이름을 나타낸다. 그리고, 상기 바이러스 패턴은 해당 바이러스에 대한 패턴 정보를 저장하게 되며, 상기 바이러스 ID는 바이러스 제작자 또는 제작자가 붙은 임의의 이름에 해당한다. 상기에서 언급된 바이러스 이름과 바이러스는 ID는 다르게 표현될 수 있다. 변종 바이러스가 이에 해당한다. 그리고, 상기 감염경로는 일례를 들어, C:\Windows 디렉토리 상의 시스템 파일을 감염하게 되는 경우에 해당한다. 즉, 감염경로는 Windows가 설치된 디렉토리를 주 감염경로가 될 수 있으므로, 이에 대한 정보가 포함된다. 또한, 상기 감염대상는 해당 바이러스가 어떤 종류의 파일에 대한 감염을 시도하는지에 대한 정보가 포함된다. 일반적으로, exe, com, dll, xls 등 파일 확장자에 따라 감염되는 경우가 존재하게 된다. 상기 감염형태는 해당 바이러스의 코드가 감염될 파일의 어느 부분에 결합되는 지에 대한 정보를 나타낸다. 상기 바이러스 종류는 매크로(Macro) 바이러스, 웜(Worm) 바이러스, 부트(Boot)바이러스 등 바이러스의 종류에 대한 내용이 포함된다.
다음, 지정패킷분리모듈(400)를 설명하기로 한다. 상기지정패킷분리모듈(400)은 네트워크 디바이스 드라이버(200) 내부에서 구동되며, 상기 네트워크 인터페이스 장치(100)를 통해 수신되는 전체 패킷 중 지정 패킷을 분리하는 역할을 한다. 일반적으로, 네트워크 인터페이스 장치(100)를 통해 수신되는 패킷은 네트워크 디바이스 드라이버(200)에서 패킷을 순차적으로 수신하게 된다. 상기 지정패킷분리모듈(400)에서는 연결된 Session에 대해 계속적인 감시나 추적을 통해 지정 패킷인지에 대한 여부를 확인하게 된다. Session은 데이터를 주고 받는 쌍방이 연결을 맺는 시점에서 종료되는 시점까지를 의미하며, 쌍방의 연결은 도 2와 같은 형태의 데이터를 주고 받음으로써 신뢰관계를 형성하게 된다. 상기 신뢰관계는 TCP프로토콜에 해당하며, 접속은 3단계 Handshake라 불리는 제어정보를 이용하여 접속여부를 확인하게 된다. 상기 3단계 Handshake는 첨부된 도 2를 참조로 하여 설명하기로 한다. 도 2는 3단계 Handshake의 개념도이다. 상기 3단계 Handshake는 호스트 A(A11)는 호스트 B(A12)로 SYN(Synchronize sequence numbers)비트를 설정한 세그먼트를 보내면서 접속을 시작하게 되며, 이 세그먼트는 호스트 B(A12)에게 호스트 A(A11)가 접속을 시작하기를 바라고 있슴을 알려주며, 호스트 A(A11)가 그 세그먼트들의 시작번호로 어떤 일련번호(Sequence Number)값을 사용할 지를 알려주게 된다. 그리고, 호스트 B(A12)는 호스트 A(A11)에 ACK(Acknowledgement)와 SYN 비트가 설정된 세그먼트를 보내는 것으로 응답한다. 호스트 B(A12)의 세그먼트는 호스트 A(A11)의 세그먼트를 받았슴을 알리고, 호스트 B(A12)가 사용할 시작 일련 번호를 호스트 A(A11)에게 알려준다. 마지막으로 호스트 A(A11)는 호스트 B(A12)의 세그먼트를 받았슴을 알리는 세그먼트를 보내고, 첫번째 실제 데이터를 전송한다. 이에 따라, 네트워크를 통한 자료의 전송, 수신이 가능하게 되는 것이다.
그리고, 상기와 같이 패킷의 송신이 이루어지게 되면, 호스트 B(A12)는 데이터 패킷을 수신하게 되며, 이에 따라, 상기 네트워크 디바이스 드라이버(200)를 통해 수신받게 되며, 상기 지정패킷분리모듈(300)은 지정된 패킷이 수신될 때 상기 지정된 패킷을 분리하게 된다. 다음에는 상기 지정 패킷을 분리하는 방법 이전에 FTP프로그램을 통한 데이터 송수신에 대한 설명을 하기로 한다.
상기 수신되는 지정 패킷이 일례를 들어, 마지막 패킷에 해당하는 지를 위해 연결된 Session에 대해 계속적인 감시를 수행하게 된다. 그리고, Session이 열릴 때, FTP, HTTP, POP인지 등에 대한 구분을 수행하고, 하나씩 순차적으로 들어오는 패킷이 마지막 패킷인지를 검사하게 된다. FTP를 이용한 데이터 수신의 경우를 실시예로 들어 설명하기로 한다. 도 3은 FTP를 이용한 데이터 송수신 흐름도이다. 각 구성요소들의 세부기능은 다음과 같다. 사용자 인터페이스는 사용자로부터 입력되는 운영체제 종속적인 명령을 FTP명령어로 변환시켜 주는 역할을 수행한다. 클라이언트 프로토콜 해석기는 제어용 연결로의 초기화 및 FTP 명령어 전송, 데이터 전송시 데이터 연결로에 대한 제어 등을 수행하는 역할을 하며, 클라이언트 데이터 전달 프로세스는 서버(B10)측 FTP프로세스와 연결된 데이터 연결용 포트에 대해 listen 상태를 수행한다. 그리고, 서버측 프로토콜 해석기는 서버의 제어용 연결로에 접속된 포트에 대하여 항상 listen 상태로 대기하고 있다가 요청이 들어오면 연결을 설정하는 역할을 한다. 사용자 프로토콜 분석기로부터 수신된 FTP 명령어를 처리하여 이에 대한 응답 메시지를 송신하며, 서버측 데이터 전달 프로세스를 제어하게 된다. 서버 데이터 전달 프로세스는 사용자 측 listening 데이터 포트에 대한 연결을 설정한다. 상기와 같은 구성에 따라 사용자는 FTP를 이용하여 클라이언트(A10)측으로 데이터를 제공받게 된다.
예에서는 listen상태는 사용자가 데이터를 보내달라, 연결종료라고 하는 요청을 감시하는 역할을 하며, 상기 지정패킷분리모듈(400)은 상기 역할에 전송된 패킷 중 지정 패킷에 해당하는 지 여부를 지속적으로 감시하는 역할을 하며, 지정 패킷의 전송시 상기 패킷을 분리하는 역할을 한다.
상기 실시예와 같이 FTP를 이용한 데이터 전송시 상기 지정패킷분리모듈(400)의 실시예를 설명하기로 한다. 그리고, 실시예에서 지정패킷은 마지막 패킷에 해당하는 경우를 설명하기로 한다. 먼저, 사용자가 클라이언트(A10)상에서 FTP 프로그램을 이용하여 임의의 파일을 다운로드 받게 되는 경우, 상기 지정패킷분리모듈(400)은 FTP header를 분석하게 되고, 클라이언트(A10)측으로 패킷이 순차적으로 전송되고, 사용자 프로토콜 해석기를 상기 지정패킷분리모듈(400)이 지속적으로 감시하게 된다. 그리고, 전송된 패킷(데이터)은 사용자가 지정한 지정 장소에 저장된다. 상기 지정 장소는 FTP 응용프로그램을 통한 다운로드시 사용자가 지정한 저장 장소에 해당한다. 이때, 마지막 패킷이 전송되는 경우, 상기 지정패킷분리모듈(400)에서 마지막 패킷을 분리하게 된다.
상기에서 마지막 패킷인지의 여부 확인 방법은 마지막 패킷의 경우 패킷 내부에 FIN Flag가 설정된 값이 넘어오게 되며, 그리고, 상기 FIN Flag는 TCP/IP에있어서, 신뢰관계가 형성된 서버(B10)와 클라이언트(A10)측의 데이터가 전송 완료된 경우, 서버(B10)측에서 FIN Flag가 설정된 패킷을 전송하게 되고, 이를 수신받는 클라이언트(A10)측에서도 FIN Flag가 설정된 값을 서버(B10)측으로 제공하여 데이터 송수신이 완료되었음을 알리게 된다. 이에 따라, 상기 지정패킷분리모듈(400)에서 상기 서버(B10)측에서 전송된 FIN Flag가 확인된 패킷을 사용자가 지정한 클라이언트(A10)의 지정 장소로 보내지 않고, 별도로 분리하게 된다.
또한, 상기의 실시예에서는 지정 패킷을 마지막 패킷으로 가정하고 설명한 것으로, 상기 지정 패킷이 처음 패킷 또는 임의의 패킷인 경우에도 가능하다. 처음 패킷인 경우에는 SYN Flag가 설정된 패킷에 대해서, 임의의 패킷인 경우에는 Sequence Number에 따른 순차적 패킷중 지정된 순차에 맞는 패킷에 대해 상기 지정패킷분리모듈(400)에 의해 분리된다.
다음, 임시저장모듈(500)를 설명하기로 한다. 상기 임시저장모듈(500)은 네트워크 디바이스 드라이버(200) 내부에서 구동되며, 상기 네트워크 인터페이스 장치(100)를 통해 수신되는 전체 패킷 중 상기 지정패킷분리모듈(400)에서 분리된 지정패킷을 임시로 저장하여, 하나의 완성된 파일로 완성되지 못하게 하는 역할을 한다. 상기와 같이, 지정패킷분리모듈(400)에서 분리된 지정패킷을 별도로 분리하여 임시저장하게 된다. 그리고, 상기 지정패킷을 제외한 나머지 패킷들은 정상적인 흐름에 따라 사용자 컴퓨터 상에 지정된 임의의 위치에 순차적으로 저장된다. 그러나, 상기와 같이 지정패킷이 결여됨에 따라 하나의 완성된 파일을 형성할 수가없게 된다. 따라서, 파일의 형태가 갖추어지지 않음에 따라 실행파일의 경우에도 사용자의 인지여부에 상관없이 동작하지 않게 된다.
상기 예에서는 FTP를 이용한 파일 다운로드를 설명하였으나, POP3를 통한 이메일, HTTP 등 외부로 부터 클라이언트(A10)측으로 전송되는 파일이 보조기억장치에 저장되는 것에 해당하는 모든 경우에 이용될 수 있다.
다음, 검색모듈(600)를 설명하기로 한다. 상기 검색모듈(600)은 상기 임시저장모듈(500)에 의해 지정패킷이 임시 분리저장된 지정 패킷을 제외한 나머지 패킷들에 대한 바이러스 감염여부를 검색하게 된다. 그리고, 상기 검색모듈(600)은 상기 검색모듈에서 감염 판단 신호를 전달받아 상기 클라이언트 측으로 감염정보를 제공하는 통지모듈(610), 상기 통지모듈에 의해 통지된 결과에 따라 바이러스 감염된 데이터를 삭제 또는 치료하는 처리모듈(620)을 포함하여 구성된다. 상기에서 지정패킷분리모듈(400)에서 분리된 지정패킷을 제외한 나머지 패킷들은 상기 클라이언트(A10) 사용자가 파일을 다운로드 받을 때, 지정한 지정한 저장장소에 저장되며, 상기 검색모듈(600)은 상기 지정한 저장장소에 저장된 파일에 대해서 바이러스 감염여부를 수행하게 된다.
상기 통지모듈(610)을 설명하기로 한다. 상기 통지모듈(610)은 상기 바이러스정보데이터베이스(300)에 등록된 바이러스에 해당하는 경우 또는 등록된 바이러스의 변종바이러스에 해당하는 경우, 상기 클라이언트(A10)측으로 바이러스 정보를 통지하는 역할을 한다. 상기 통지모듈(610)은 도 4a와 4b를 참조로 하여 설명하기로 한다. 도 4a는 본 발명의 일실시예에 따른 통지모듈에 의한 결과 제공 화면을보인 도이고, 도 4b는 본 발명의 일실시예에 따른 통지모듈에 의한 결과 확인 화면을 보인 도이다. 도 4a에서 보인 것과 같이, 상기 통지모듈(610)은 클라이언트(A10)측으로 감염정보를 제공하게 되며, 이에 따라 사용자는 바이러스 감염여부를 확인하게 된다. 또한, 도 4b와 같이 사용자에게 바이러스 발견에 대한 통지와 함께 사용자에게 치료여부를 묻게 된다.
상기 처리모듈(620)을 설명하기로 한다. 상기 처리모듈(620)은 상기 검색모듈(600)에서 발견된 바이러스를 치료 또는 삭제하는 역할을 한다. 그리고, 상기 처리모듈(620)은 일반적으로 백신 프로그램이 가지는 치료엔진에 해당한다. 상기 처리모듈(620)은 상기 바이러스정보데이터베이스(300)에 등록되거나 변종에 해당하는 바이러스를 발견한 검색모듈(600)의 결과에 따라 해당 바이러스를 치료 또는 삭제하는 역할을 한다.
또한, 처리모듈(620)은 알려지지 않은 바이러스 또는 상기 바이러스정보데이터베이스에 등록되지 않은 바이러스에 대한 감지를 위해 보조기억장치내 지정 위치에 저장된 파일의 변경이벤트를 감지하는 파일시스템드라이버(621)를 포함하여 구성된다. 상기 파일시스템드라이버(621)는 오퍼레이팅 시스템의 커널 내부에서 동작하며, 파일 또는 디렉토리의 변경이벤트를 감지하는 역할을 한다. 일반적으로 바이러스는 다른 파일의 감염이 특징이다. 일례를 들어, 마이크로 소프트사의 윈도우즈 98의 경우에 있어서, system디렉토리에는 윈도우즈 98의 동작에 중요한 파일들이 포함되어 있다. 상기 클라이언트(A10)상에 알려지지 않은 바이러스가 존재하게 되는 경우, 상기 바이러스는 system디렉토리내의 중요 시스템 파일을 바이러스 감염시키기 위해 해당 파일에 덮어쓰기를 수행하려고 한다. 이때, 상기 파일시스템드라이버(621)는 시스템 파일의 변경 여부를 알게 되고, 이에 따라 클라이언트(A10) 사용자 측으로 파일 변경 시도에 대한 정보를 제공하게 되며, 사용자는 알려지지 않은 바이러스에 대해서도 시스템 파일에 바이러스가 감염되기 이전에 이를 인지할 수 있게 된다. 따라서, 사용자는 해당 감염 시도 파일을 삭제할 수 있게 된다.
그리고, 파일의 변경이벤트는 복사, 삭제, 이름바꾸기, 덮어쓰기 등 파일의 모든 변경사항에 관한 것을 의미한다.
이하에서는 첨부된 도 5a, 도 5b, 도 5c를 참조로 하여 본 발명의 일실시예에 따른 알려진 바이러스에 대한 실시간 안티 바이러스 시스템의 일실시예를 설명하기로 한다. 도 5a, 도 5b, 도 5c는 본 발명의 일실시예에 의한 실시간 안티 바이러스 시스템의 흐름도이다.
먼저, 사용자는 클라이언트(A10)상에 설치된 FTP 프로그램을 실행하여(S100) 접속하고자 하는 서버(B10)를 선택(S101)하고, 상기 서버(B10)에서 필요한 파일을 검색하여(S102) 다운로드를 수행하게 된다(S103).
상기 다운로드 수행과 동시에 FTP 상에서 클라이언트(A10)와 서버(B10)간에 도 도 2에서 표시된 것과 같은 3단계 HandShake를 통해 신뢰관계를 형성하게 되고(S104), 데이터 패킷이 순차적으로 상기 클라이언트(A10)측으로 전송되면(S105), 상기 지정패킷분리모듈(400)에서는 FTP Header를 분석하게 된다(S106). 그리고, 상기 데이터 패킷은 지속적으로 사용자가 지정한 지정장소로저장된다(S107). 데이터 패킷의 전송이 완료됨을 서버(B10)측에서 해당 패킷에 FIN Flag를 설정(S108)하여 상기 클라이언트(A10)로 전송하게 되며(S109), 데이터 패킷 중 FIN Flag가 설정된 패킷이 수신되면(S110), 상기 FIN Flag가 설정된 패킷은 버퍼상으로 별도 분리하게 된다(S111).
그리고, 상기 마지막 패킷을 제외한 나머지 데이터들은 사용자가 지정한 지정장소에 저장됨에 따라 해당 장소, 해당 파일에 대해 검색모듈(600)을 수행하게 된다(S112). 상기 검색에 따라 바이러스가 존재하는 경우에는(S113) 상기 수행에 따라 도 4a, 도 4b에서와 같은 검색모듈(600) 수행결과를 통지모듈(610)에 의해 클라이언트(A10) 사용자 측으로 제공하게 된다(S113-1). 이에 따라, 상기 사용자는 해당 발견된 바이러스에 대한 치료를 선택하게 되고(S113-2), 상기 처리모듈(620)은 사용자의 선택에 따라 해당 바이러스를 치료하게 된다(S113-3).
또한, 상기에서 바이러스가 검색되지 않은 경우에는(S114), 상기 사용자는 다운로드받은 파일을 실행하게 된다(S114-1). 상기 실행에 따라 만약 상기 파일이 알려지지 않은 바이러스에 해당하는 경우, 상기 파일은 저장된 저장장소외에 시스템 디렉토리의 시스템 파일에 감염을 시도하게 된다(S114-2). 이에 따라, 상기 파일 시스템 드라이버(621)는 해당 시스템 파일이 열리는 것을 감지하여(S114-3) 통지모듈(610)에 의해 클라이언트(A10) 사용자 측으로 감염시도 정보를 제공하게 된다(S114-4). 이에 따라, 상기 사용자는 감염을 시도한 파일에 대한 삭제를 선택하게 되고), 상기 처리모듈(620)은 사용자의 선택에 따라 해당 바이러스를 삭제하게 된다(S114-5).
상기 실시예에서는 FTP 응용프로그램에 대한 실시예를 설명하였으나, E-mail의 경우에 있어서도 서버를 통한 다운로드 형태로 첨부파일을 제공받음은 주지의 사실이다.
이상에서 설명한 바와 같이, 본 발명에 의한 실시간 안티 바이러스 시스템에 의하면, 알려진 바이러스가 사용자의 컴퓨터에 감염되기 이전에 이를 발견하여 치료할 수 있는 이점이 있다.
그리고, 알려지지 않은 바이러스에 대해서 바이러스의 활동을 발견하여 삭제할 수 있는 또 다른 이점이 있다.

Claims (5)

  1. 클라이언트 컴퓨터에 장착 또는 연결되며, 패킷을 송수신하는 네트워크 인터페이스 장치와;
    네트워크 인터페이스 장치를 오퍼레이팅 시스템 상에 인식시키고, 상기 네트워크 인터페이스 장치의 동작을 운영하는 네트워크 디바이스 드라이버와;
    클라이언트 측에 저장되며, 바이러스에 대한 감염 정보가 저장되는 바이러스정보데이터베이스와;
    네트워크 디바이스 드라이버 내부에서 구동되며, 상기 네트워크 인터페이스 장치를 통해 수신되는 전체 패킷 중 지정 패킷을 분리하는 지정패킷분리모듈과;
    상기 지정패킷분리모듈에 의해 분리된 지정패킷을 임시로 저장하여, 하나의 완성된 파일로 완성되지 못하게 하는 임시저장모듈과;
    상기 임시저장모듈에 의해 저장된 지정 패킷을 제외한 나머지 패킷에 대한 바이러스 감염여부를 상기 바이러스정보데이터베이스와 비교 검색하여 감염여부 결과를 판단하는 검색모듈;을 포함하여 구성되는 것을 특징으로 하는 실시간 안티 바이러스 시스템.
  2. 제 2항에 있어서, 상기 처리모듈은,
    보조기억장치내 지정 위치에 저장된 파일의 변경이벤트를 감지하여 상기 바이러스정보데이터베이스에 등록되지 않은 바이러스에 대한 감지하는 파일시스템드라이버;를 포함하여 구성되는 것을 특징으로 하는 실시간 안티 바이러스 시스템.
  3. 제 1항에 있어서, 상기 네트워크 인터페이스 장치는,
    상기 바이러스정보데이터베이스가 저장되는 플래시메모리;가 탑재되는 것을 특징으로 하는 실시간 안티 바이러스 시스템.
  4. 제 1항에 있어서, 상기 임시저장 모듈은,
    지정 패킷을 버퍼에 임시적으로 저장하는 것을 특징으로 하는 실시간 안티 바이러스 시스템.
  5. 제 1항에 있어서,
    상기 검색모듈에서 감염 판단 신호를 전달받아 상기 클라이언트 측으로 감염정보를 제공하는 통지모듈;
    상기 통지모듈에 의해 통지된 결과에 따라 바이러스 감염된 데이터를 삭제 또는 치료하는 처리모듈;을 포함하여 구성되는 것을 특징으로 하는 실시간 안티 바이러스 시스템.
KR10-2002-0006645A 2002-02-06 2002-02-06 실시간 안티 바이러스 시스템 KR100444748B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0006645A KR100444748B1 (ko) 2002-02-06 2002-02-06 실시간 안티 바이러스 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0006645A KR100444748B1 (ko) 2002-02-06 2002-02-06 실시간 안티 바이러스 시스템

Publications (2)

Publication Number Publication Date
KR20020024225A true KR20020024225A (ko) 2002-03-29
KR100444748B1 KR100444748B1 (ko) 2004-08-16

Family

ID=19719134

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0006645A KR100444748B1 (ko) 2002-02-06 2002-02-06 실시간 안티 바이러스 시스템

Country Status (1)

Country Link
KR (1) KR100444748B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100494499B1 (ko) * 2002-12-12 2005-06-10 주식회사 안철수연구소 실행중인 파일에 대한 실시간 데이터 수정 방법 및 이를이용한 바이러스 치료방법
KR100611679B1 (ko) * 2004-07-30 2006-08-10 주식회사 뉴테크웨이브 컴퓨터 바이러스의 조기방역 시스템 및 방법
WO2011090329A2 (ko) * 2010-01-22 2011-07-28 주식회사 안철수연구소 악성 코드 감염 차단 장치 및 시스템과 그 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100441409B1 (ko) * 2001-11-12 2004-07-23 주식회사 안철수연구소 바이러스 탐지 엔진을 갖는 침입 탐지 시스템

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100494499B1 (ko) * 2002-12-12 2005-06-10 주식회사 안철수연구소 실행중인 파일에 대한 실시간 데이터 수정 방법 및 이를이용한 바이러스 치료방법
KR100611679B1 (ko) * 2004-07-30 2006-08-10 주식회사 뉴테크웨이브 컴퓨터 바이러스의 조기방역 시스템 및 방법
WO2011090329A2 (ko) * 2010-01-22 2011-07-28 주식회사 안철수연구소 악성 코드 감염 차단 장치 및 시스템과 그 방법
WO2011090329A3 (ko) * 2010-01-22 2011-12-01 주식회사 안철수연구소 악성 코드 감염 차단 장치 및 시스템과 그 방법
KR101138748B1 (ko) * 2010-01-22 2012-04-24 주식회사 안철수연구소 악성 코드 차단 장치, 시스템 및 방법
US8813229B2 (en) 2010-01-22 2014-08-19 Ahnlab, Inc. Apparatus, system, and method for preventing infection by malicious code

Also Published As

Publication number Publication date
KR100444748B1 (ko) 2004-08-16

Similar Documents

Publication Publication Date Title
US11082435B1 (en) System and method for threat detection and identification
US10623434B1 (en) System and method for virtual analysis of network data
US9838411B1 (en) Subscriber based protection system
US8539582B1 (en) Malware containment and security analysis on connection
US7650639B2 (en) System and method for protecting a limited resource computer from malware
EP1650633B1 (en) Method, apparatus and system for enforcing security policies
US8375444B2 (en) Dynamic signature creation and enforcement
KR101130394B1 (ko) 보안 통신에서 네트워크 환경을 통해 전달된 컴퓨터 익스플로이트로부터 컴퓨팅 장치를 보호하기 위한 시스템 및 방법
US6944772B2 (en) System and method of enforcing executable code identity verification over the network
US7533131B2 (en) System and method for pestware detection and removal
US7480683B2 (en) System and method for heuristic analysis to identify pestware
US9129111B2 (en) Computer protection against malware affection
US7673341B2 (en) System and method of efficiently identifying and removing active malware from a computer
US20030065793A1 (en) Anti-virus policy enforcement system and method
US20160373408A1 (en) Usb firewall devices
US20060200863A1 (en) On-access scan of memory for malware
US8667593B1 (en) Methods and apparatuses for protecting against malicious software
US20060085528A1 (en) System and method for monitoring network communications for pestware
KR20060041865A (ko) 네트워크 환경에서 컴퓨팅 장치를 보호하기 위한 네트워크보안 모듈 및 방법
WO2008008123A9 (en) Firewall+ storage apparatus, method and system
EP3509001B1 (en) Method and apparatus for detecting zombie feature
US20050091514A1 (en) Communication device, program, and storage medium
US10027693B2 (en) Method, device and system for alerting against unknown malicious codes within a network environment
US7523501B2 (en) Adaptive computer worm filter and methods of use thereof
US8141153B1 (en) Method and apparatus for detecting executable software in an alternate data stream

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070731

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee