오늘날 악성코드 제작자와 보안 연구자들은 일종의 냉전 상태에 놓여 있습니다. 그러나 늘 그렇듯이 이 전쟁의 진짜 희생자는 결국 사용자의 개인정보입니다. 요즘 바이러스 백신 제품들은 시스템을 보호하기 위해 수십 가지의 서로 다른 메커니즘을 동원합니다. 하지만 백신만으로도 시스템을 완벽히 지키고 악성코드에 맞설 수 있다고 믿는다면, 그것은 착각일 수 있습니다. 바이러스 백신은 모든 것을 막아주지 못합니다.
모든 보안 시스템의 근본적인 문제는 공격자가 사전에 보안 체계를 분석하고 우회로를 찾는다는 점입니다. 공격자는 돌파구를 찾는 데 원하는 만큼 오랜 시간을 투자할 수 있지만, 방어자가 새로운 공격에 대응하고 차단할 수 있는 시간은 극히 제한적입니다. 그래서 인터넷에 새로운 공격이 등장하면 바이러스 백신의 탐지망을 완전히 빠져나가는 경우가 드물지 않습니다.
악성코드는 어떻게 탐지를 피할까요?
생각보다 간단합니다! 보안 체계를 세 가지 계층으로 나누어 살펴보겠습니다.
1. 사람
해커들에게 인간의 심리를 속이는 일은 이미 쉬워진 상태입니다. 정상적인 웹사이트처럼 보이는 가짜 사이트 하나만 만들면 피해의 절반은 이미 성공한 셈입니다. 평범한 사용자는 의심스러운 링크를 클릭하기 마련이고, 그 순간 디지털 생활 전체에 문제가 번질 수 있습니다.
2. 바이러스 백신
해커의 속임수를 무사히 넘겼다면, 이제 바이러스 백신의 역할 차례입니다. 실제 질병과 마찬가지로 감염된 파일에는 특정 악성코드의 흔적이 남습니다. 파일의 시그니처가 백신의 악성코드 정의 데이터베이스와 일치하면 해당 파일은 감염된 것으로 판단되어, 사용자가 실행하거나 여는 행위 자체가 차단됩니다. 또한 안티맬웨어 기능은 파일 시스템의 변경 사항과 윈도우 레지스트리까지 손쉽게 검사합니다.
3. 안티맬웨어 프로그램
세 번째 계층은 조금 더 복잡합니다. 안티맬웨어 프로그램은 저장 장치(하드 디스크)뿐 아니라 메모리 전체를 검사하여 악성코드 시그니처를 찾아내고, 실행 중인 프로세스의 위험한 명령 패턴까지 스캔하여 발견 즉시 악성코드 흔적을 제거합니다.
결국 바이러스 백신은 자신이 할 수 있는 범위 안에서만 시스템을 보호합니다. 따라서 최대한의 보호를 위해서는 사용자 스스로 적극적으로 대응하는 자세가 반드시 필요합니다.
이제 눈을 떠야 할 때입니다!
악성코드는 날로 더 다형성(polymorphic)을 띠며 진화하고 있어, 그만큼 정교한 백신이 절실합니다. 대부분의 백신 제품은 이미 개발·유포된 악성코드에 대응하도록 설계되어 있기 때문에, 예를 들어 제로데이(zero-day) 취약점 공격으로부터는 완벽하게 보호하기 어렵습니다. 물론 그렇다고 해서 백신 소프트웨어가 무용지물이라는 말은 아닙니다.
다만 백신 설치만으로는 충분하지 않으며, 사용자 역시 항상 경계심을 유지해야 합니다. 설치된 프로그램을 꾸준히 업데이트하고, PC 성능을 주기적으로 점검하며, 소중한 데이터 파일은 항상 백업해 두세요. 이런 습관만으로도 악성코드 공격으로부터 상당 부분 스스로를 지킬 수 있습니다.