(1) 파일 검사
바이러스 서명을 바이러스 백신 소프트웨어의 바이러스 라이브러리에 있는 코드와 비교하는 것입니다. 바이러스 라이브러리에 동일한 서명이 있으면 바이러스와 서명이 같다고 생각하며, 쉽게 설명하자면 예를 들어 서명이 있으면 그 서명이 사용자라고 인식합니다. 따라서 이러한 킬링 패턴의 경우 시그니처 바이러스 백신을 변경하기만 하면 알 수 없습니다.
(2) 메모리 킬링
사실 메모리 검사도 서명 코드를 통해 이루어지며 파일 검사도 기본적으로 동일합니다. 한 가지 차이점은 메모리 기능 코드로 죽인다는 점입니다.
(3) 동작 킬
프로그램의 동작을 판단하여 정의합니다. 프로그램이 어딘가에서 작동하면 바이러스로 간주됩니다.
오늘날 많은 바이러스는 바이러스 백신 소프트웨어를 피하기 위해 "포위"되고 "명령"됩니다. 소프트웨어에는 바이러스 데이터베이스가 있기 때문에 파일이 바이러스인지 아닌지를 확인할 수 있습니다! 바이러스 데이터베이스는 실제로 일부 바이러스의 코드입니다. 새 코드를 사용하면 이러한 파일에서 바이러스를 검사할 수 있습니다. 바이러스 백신 소프트웨어가 바이러스 데이터베이스를 업데이트하지 않았다면 컴퓨터에 새로운 바이러스가 있는 것이고, 바이러스 백신 소프트웨어로 파일을 검사해도 바이러스인지 알 수 없습니다! 바이러스와의 싸움에서 바이러스를 조기에 발견하는 것은 매우 중요합니다. 조기에 발견하고 조기에 폐기하면 손실을 줄일 수 있습니다. 바이러스 탐지 방법에는 서명 방법, 체크섬 방법, 동작 모니터링 방법, 소프트웨어 시뮬레이션 방법 등이 있습니다. 이러한 방법은 서로 다른 원칙, 다른 구현 비용, 다른 탐지 범위를 기반으로하며 각각 고유 한 장점이 있습니다.
피처 코드 방식
피처 코드 방식은 SCAN 및 CPAV와 같은 잘 알려진 바이러스 탐지 도구의 초기에 사용되었습니다. 외국 전문가들은 피처 코드 방식이 알려진 바이러스를 탐지하는 가장 간단하고 비용이 적게 드는 방법이라고 생각합니다.
피처 코드 방법의 구현 단계는 다음과 같습니다.
알려진 바이러스의 샘플을 수집합니다. 바이러스가 COM 파일과 EXE 파일을 모두 감염시키는 경우 COM 유형 바이러스 샘플과 EXE 유형 바이러스 샘플을 모두 수집해야 합니다.
바이러스 샘플에서 특징 코드를 추출합니다.
추출된 코드는 특수한 코드이며 일반적인 일반 프로그램 코드와 일치하지 않을 가능성이 높습니다. 추출된 코드는 한편으로는 기능 코드의 고유성을 유지하기 위해 적절한 길이를 가져야 하며, 다른 한편으로는 너무 많은 공간과 시간을 소비하지 않아야 합니다. 바이러스의 특징 코드가 1바이트 증가하면 3000개의 바이러스를 탐지하기 위한 추가 공간은 3000바이트가 됩니다. 공간과 시간 오버헤드를 줄이려면 고유성을 유지하면서 피처 코드의 길이를 최대한 짧게 유지해야 합니다.
COM 파일과 EXE 파일을 모두 감염시키는 바이러스 샘플의 경우, 두 샘플의 코드를 모두 추출해야 합니다. 기능 코드를 바이러스 데이터베이스에 결합합니다.
탐지된 파일을 열고 파일을 검색하여 바이러스 데이터베이스에서 바이러스 시그니처 코드가 포함되어 있는지 확인합니다. 바이러스 시그니처 코드가 발견되면 시그니처 코드가 바이러스에 하나씩 대응하므로 탐지된 파일에 어떤 종류의 바이러스가 존재하는지 결론을 내릴 수 있습니다.
새로운 바이러스가 끊임없이 출현하는 상황에서 탐지 도구의 바이러스 시그니처 방식은 지속적으로 업데이트되어야 하며, 그렇지 않으면 탐지 도구가 노후화되어 점차 실용적인 가치를 잃게 됩니다. 시그니처 방법은 당연히 이전에 본 적이없는 새로운 바이러스의 시그니처를 알 수 없으므로 이러한 새로운 바이러스를 탐지 할 수 없습니다.
서명 코드 방식의 장점은 정확하고 빠른 탐지, 바이러스 이름 식별, 낮은 오탐률, 탐지 결과를 바탕으로 한 치료제가 있다는 점입니다. 단점: 알려지지 않은 바이러스를 탐지할 수 없음, 알려진 바이러스의 특징 코드를 수집할 수 없음, 네트워크에서 높은 비용과 낮은 효율성(웹 서버에서는 검색 시간이 길어져 전체 네트워크의 성능이 저하됨)이 있습니다.
특징:
A. 느림. 바이러스 종류가 많아질수록 검색 시간이 길어집니다. 5000개의 바이러스를 검색할 경우 5000개의 바이러스 기능 코드를 일일이 확인해야 합니다. 바이러스 수가 다시 증가하면 바이러스 탐지에 소요되는 시간 비용이 크게 증가합니다. 이 도구로 고속 탐지가 점점 더 어려워질 것입니다.
B. 낮은 오경보율.
그렇지 않습니다. 다형성 바이러스를 검사할 수 없습니다. 특징 코드 방식으로는 다형성 바이러스를 탐지하는 것이 불가능합니다. 해외 전문가들은 다형성 바이러스가 바이러스 피처 코드 방식의 킬러라고 생각합니다.
D. 숨겨진 바이러스에 대응할 수 없습니다. 숨겨진 바이러스를 메모리에 저장한 다음 바이러스 탐지 도구를 실행하면 탐지 도구가 검사하는 파일에서 바이러스 코드를 제거하기 전에 숨겨진 바이러스를 탐지 할 수 있으며, 탐지 도구는 실제로 잘못된 "정상 파일"을 검사하는 것이 아니라 숨겨진 바이러스에 속아서 경찰에 경보를 울리는 것입니다.
체크섬 방법
정상 파일의 내용에 대한 체크섬을 계산하고 이 체크섬을 파일 하나 또는 다른 파일에 기록하여 안전하게 보관합니다. 파일을 사용하는 동안 파일의 현재 내용에서 계산된 체크섬이 원본 체크섬과 일치하는지 확인하여 파일의 감염 여부를 확인할 수 있습니다. 체크섬 방법이라고 하는 이 방법은 알려진 바이러스와 알려지지 않은 바이러스를 모두 탐지할 수 있습니다. 상위 버전의 검사 및 CPAV 도구에서는 바이러스 서명 방법과 함께 체크섬 방법이 포함되어 탐지 기능을 향상시킵니다.
이 방법은 알려진 바이러스와 알려지지 않은 바이러스를 모두 찾아내지만 바이러스 유형을 식별하거나 바이러스 이름을 보고하지는 않습니다. 바이러스 감염이 파일 콘텐츠 변경의 유일한 비특이적 원인은 아니며 정상적인 프로세스로 인해 발생할 수 있기 때문에 체크섬 방법은 종종 오탐을 발생시킵니다. 또한 이 방법은 파일 속도에 영향을 줄 수 있습니다.
바이러스 감염은 파일 콘텐츠 변경을 유발하지만 체크섬 방식은 파일 콘텐츠 변경에 너무 민감하여 정상적인 프로그램으로 인한 변경을 구분하지 못하므로 자주 경고를 보냅니다. 파일의 체크섬을 모니터링하여 바이러스를 탐지하는 것은 최선의 방법이 아닙니다.
이 방법은 기존 소프트웨어 버전 업데이트, 암호 변경, 런타임 매개변수 수정 및 검사 방법 모두 거짓 경보를 발생시키는 다음과 같은 상황에 직면하게 됩니다.
숨겨진 바이러스에는 체크섬 방법이 작동하지 않습니다. 숨겨진 바이러스는 메모리에 들어가 감염된 프로그램에서 바이러스 코드를 자동으로 제거하여 체크섬 방법을 스푸핑하고 유해한 파일에 대해 정상적인 체크섬을 계산합니다.
체크섬 방식을 사용하여 바이러스를 검사하는 방법에는 세 가지가 있습니다.
(1) 체크섬 방식을 바이러스 탐지 도구에 통합하여 정상 상태에서 검사 대상 파일의 체크섬을 계산하고 검사 대상 파일 또는 탐지 도구에 체크섬 값을 기록하여 비교합니다.
(2) 애플리케이션에 체크섬 방식의 자체 테스트 기능을 넣어 파일의 정상 상태 체크섬을 파일 자체에 기록하고, 애플리케이션을 시작할 때마다 현재 체크섬과 원래 체크섬 값을 비교합니다. 애플리케이션의 자체 테스트를 수행합니다.
3) 메모리 상주 체크섬 검사기로 애플리케이션이 실행될 때 애플리케이션 내 또는 다른 파일에 미리 저장된 체크섬을 자동으로 비교 및 검사합니다.
체크섬 방식은 간편하고 검사 대상 파일의 알려지지 않은 바이러스와 미묘한 변화를 탐지할 수 있다는 장점이 있습니다. 단점은 트래픽 기록이 정상 체크섬을 기록하고, 잘못된 경보가 발생하며, 바이러스 이름을 인식하지 못하고, 숨겨진 바이러스를 처리할 수 없다는 점입니다.
행동 모니터링 방법
바이러스 고유의 행동 특성을 이용해 바이러스를 모니터링하는 방법을 행동 모니터링 방법이라고 합니다. 수년간의 바이러스 관찰과 연구를 통해 일부 행동은 바이러스 고유의 행동이며 보다 구체적입니다. 이러한 행동은 일반 프로그램에서는 거의 볼 수 없습니다. 프로그램이 실행 중일 때 그 동작을 모니터링하고 바이러스 동작이 발견되면 즉시 경보를 발령합니다.
모니터링되는 바이러스의 행동 특성은 다음과 같습니다.
A. INT 13H의 점유
모든 부팅 바이러스는 부팅 섹터 또는 마스터 부팅 섹터를 공격합니다. 부트 섹터 또는 마스터 부트 섹터가 실행 권한을 획득하면 시스템이 부팅됩니다. 일반적으로 부팅 바이러스는 다른 시스템 기능이 잘못 설정되어 사용할 수 없기 때문에 INT 13H를 차지합니다. 부팅 가능한 바이러스는 바이러스에 필요한 코드가 배치되는 INT 13H의 기능을 차지합니다.
B. DOS 시스템을 전체 메모리의 데이터 영역으로 변경합니다.
바이러스 메모리가 상주한 후에는 DOS 시스템이 전체 시스템 메모리를 덮어쓰지 못하도록 전체 시스템 메모리를 수정해야 합니다.
C. COM 및 EXE 파일 쓰기.
감염되려면 COM 및 EXE 파일을 작성해야 합니다.
D. 바이러스 프로그램과 호스트 프로그램 간 전환
감염된 프로그램이 실행되는 동안 바이러스가 먼저 실행된 다음 호스트 프로그램이 실행됩니다. 둘 사이를 전환할 때 여러 가지 특징적인 동작이 있습니다.
행위 모니터링 방법의 장점: 알려지지 않은 바이러스를 탐지할 수 있으며 대부분의 알려지지 않은 바이러스를 상당히 정확하게 예측할 수 있습니다. 행동 모니터링 방법의 단점: 오경보 가능성, 바이러스 이름을 식별할 수 없음, 구현하기 어려움.
소프트웨어 에뮬레이션 방법
다형성 바이러스는 감염될 때마다 바이러스 코드를 변경하므로 시그니처 코드 방법으로는 이러한 바이러스를 처리할 수 없습니다. 다형성 바이러스 코드는 암호화되어 있고 매번 다른 키를 사용하기 때문에 감염된 바이러스 코드를 비교하여 동일한 안정적인 코드를 찾아낼 수 없습니다. 행위 탐지는 다형성 바이러스를 탐지할 수 있지만 바이러스 유형을 알 수 없기 때문에 탐지 후 치료가 어렵습니다. 트로이 목마가 보고되거나 크롤링되는 경우... 바이러스 백신 소프트웨어는 그 안에서 서명 코드를 찾아... 그리고 바이러스 백신 라이브러리에 넣습니다... 다음에 이 시그니처 코드로 트로이 목마를 검사하면 백신은 트로이 목마라고 생각해서 죽이지 않은 사람은 myccl을 사용하여 죽인 트로이 목마의 시그니처 코드를 찾아서... 그런 다음 바이러스 백신이 검사하지 않는 기능 코드로 변환합니다 ...