컴퓨터 바이러스는 어떻게 감염되는가?
초기의 컴퓨터 바이러스는 MBR(Master Boot Record)라고 불리는 섹터에 주로 감염되었다.
그 이유는 컴퓨터에 처음 전원이 들어오면 부팅을 위해 읽는 부분이 바로 MBR이기 때문이다.
(정확히 표현하면 메모리에 로드(load) 할 수 있는 첫번째 부분이다. 자세한 내용은 이 글 다음에 올려질 게시물 중 감염위치에 따른 분류 - “부트 바이러스”를 참조)
이후 보다 빠른 확산을 위해 파일 바이러스가 나타났으며 부트 바이러스와 파일바이러스의 특징을 모두 가지고 있는 부트/파일 바이러스가 나타나 많이 확산되었다.
파일 바이러스는 부트 바이러스가 부팅시에 자동으로 동작되도록 하는 방법을 이용하는 것과 마찬가지로 실행 파일이 실행될 때 자동으로 바이러스 코드를 실행 할 수 있도록 특정한 위치(일반적으로 실행 전 특정 주소)에 코드를 삽입(실제로는 코드를 삽입하는 것이 아니라 프로그램이 시작되는 주소를 변경하는 것이다.)하는 방법을 이용한다.
따라서 컴퓨터 바이러스에 감염된 파일을 실행하면 원래의 프로그램이 실행되기 이전에 바이러스 코드가 먼저 실행되어 다른 실행파일에 같은 코드를 삽입하는 감염 동작이 먼저 실행된다.
(바이러스 코드가 먼저 실행되는 방법이 일반적이지만 바이러스 종류에 따라 중간, 또는 나중에 실행되는 것도 있다.)
이러한 기능 때문에 바이러스에 감염된 파일의 크기가 늘어나는 특징이 있어 바이러스 감염 여부를 판별하는 중요한 정보가 되지만 은폐형 바이러스는 원래의 파일 크기를 그대로 보여줌으로써 감염 사실을 숨기는 특징이 있다.
또한 감염된 파일이 많을수록 시스템의 실행 속도가 늦어지는 현상이 발생하기도 하며 심한 경우에는 감염 동작만으로도 시스템을 다운 시키기도 한다.
바이러스 코드의 자체 오류나 의도적으로 감염 활동시 일어나는 코드 복제를 원래의 파일 위에 덮어쓰는(Overwrite) 경우가 있는데 이런 경우에는 감염 동작 만으로도 파일을 손상시키게 되어 피해를 입게 된다. 그러나 이런 덮어쓰기형 바이러스는 사용자로 하여금 금방 감염 사실을 알게 하기 때문에 순간적인 피해는 크지만 피해 범위가 확산되지는 못하는 경향이 있다.
따라서 컴퓨터 바이러스는 데이터를 파괴하는 기능보다는 감염사실을 숨긴 채 많은 시스템에 확산될 수 있도록 하는 기능에 좀 더 초점을 맞추어 제작되고 있다.
감염되는 실행 파일의 종류로는 확장자가 EXE, COM인 파일이 대부분이며 Windows에서는 보조 실행 파일인 DLL, PIF 등의 파일도 감염 시킨다.
부트/파일 바이러스는 이러한 두 가지 기능을 모두 가지고 있는 바이러스로 복잡한 기능 만큼이나 분석이 까다로워 백신 제작을 어렵게 했던 바이러스 종류이다
-출저 : 한미르