본문 바로가기
AhnLab 보안in

100% 완벽한 백신이 존재하지 않는 이유

by 보안세상 2020. 4. 8.

2009.08.19

 

100 퍼센트 완벽한 백신은 없다  

 

 백신 프로그램은 악성코드 진단/치료(삭제)에 가장 쉽게 널리 사용되어 유용하지만 몇 가지 한계가 존재한다. 

1. 어떤 백신 프로그램도 모든 악성코드를 진단하지 못한다.
2. 신종 악성코드에 대비하기 위해 꾸준한 업데이트가 필요하다.
3. 악성코드 위협과 대응 사이에 시간이 필요하다.
4. 정상 파일을 악성코드로 진단하는 오진이 발생할 수 있다.
5. 치료 후 감염 파일이나 시스템이 악성코드 감염 이전과 동일하지 않을 수 있다.


첫째, 어떤 백신 프로그램도 모든 악성코드를 진단하지 못한다. 백신 프로그램은 새롭게 발견된 악성코드의 고유 시그니처를 추가해서 진단/치료하는 프로그램이다.

신종 악성코드에는 취약하다는 단점에 유사 변형을 진단하는 특성진단(Generic detection) 및 의심스러운 코드를 진단하는 휴리스틱 진단(Heuristic detection) 등으로 알려지지 않은 악성코드를 진단할 수 있다.
 
하지만, 악성코드 제작자 역시 백신 프로그램으로 테스트하며 진단 회피 방안을 계속 마련하고 있으므로 이들 기술로도 완벽하지 않다.

둘째, 신종 악성코드에 대비하기 위해 꾸준한 업데이트가 필요하다. 백신 프로그램은 새로운 악성코드를 진단할 수 없기 때문에 꾸준한 업데이트가 필요하다.

 

1991년에는 일년에 4차례 업데이트가 이뤄졌다. 1996년에는 한 달에 한번 업데이트를 권했으며 1998년에는 매주 업데이트를 권했다. 하지만, 1999년에는 매일 업데이트를 진행한 업체가 등장했으며 2004년에는 매시간, 2008년에는 매 5-15분 업데이트 주기 제품이 등장했다.  

 

업데이트 과정에서 시스템에 부하를 줄 수 있다. 이에 사용자 컴퓨터가 쉴 경우에만 업데이트를 하는 방식으로 사용자 부하를 줄이기 위해 노력하고 있다.

 

셋째, 악성코드 위협과 대응 시간에 격차가 존재한다. 악성코드 수가 증가함에 따라 백신 업체는 업데이트 주기를 단축하기 위해 노력하고 있다.

하지만, 현재와 같은 ‘접수’ –> ‘분석’ –> ‘시그니처 작성’ –> ‘테스트’ –> ‘배포’ 과정까지 빠르면 3시간 정도에서 늦으면 하루에서 며칠씩 걸릴 수 있다. 새로운 시그니처 작성 시간 동안 사용자의 컴퓨터는 신종 악성코드에 감염되어 피해를 당할 수 있다.

 

넷째, 정상 파일을 악성코드로 진단하는 오진이 발생할 수 있다. 잘 알려지지 않은 프로그램에서 시스템의 중요 파일을 악성코드로 오인해 삭제할 수 있다.

백신 업체에서는 오진을 줄이기 위해 노력하고 있지만 사용자들 역시 평소 잘 사용하던 프로그램이 악성코드로 진단되면 오진을 의심해 봐야 한다.

 

다섯째, 치료 후 감염 파일이나 시스템이 악성코드 감염 이전과 동일하지 않을 수 있다. 정상 파일에 바이러스가 감염되면 파일 내용 중 일부가 변하는데 감염 되기 전 데이터를 보관하지 않을 경우 치료 후에도 이전 값으로 동일하게 돌아가지 않을 수 있다.
또, 악성코드에 감염되면서 변경하거나 추가한 레지스트리나 파일 내용이 남아 있을 수 있다. 이런 특히 쓰레기 파일이 완전히 복원되지 않아 악성코드를 치료한 후에 에러 메시지가 뜨거나 파일이 정상적으로 실행되지 않을 수 있다.

 

백신 프로그램은 이렇게 몇 가지 한계가 있지만 초보자부터 파워 유저까지 악성코드에 감염된 시스템과 파일을 진단/치료하는데 큰 도움을 주는 프로그램이다.

다만, 백신 프로그램만 너무 맹신하는 것보다 백신 프로그램의 한계를 잘 이해하고 평소 보안 습관을 잘 지키는 것이 안전한 컴퓨터 사용을 위해 무엇보다 중요할 것이다.


글 : 악성코드 분석가 차민석

 

 

위 글은 안랩닷컴  

  페이지에서도 제공되고 있습니다.

보안에 대한 더 많은 정보 안랩닷컴에서 찾으세요 :D