검수요청.png검수요청.png

백신 프로그램

위키원
ksj4572 (토론 | 기여)님의 2019년 7월 31일 (수) 17:17 판 (개요)
이동: 둘러보기, 검색

백신(vaccine)은 컴퓨터 바이러스를 찾아내서 기능을 정지시키거나 제거하는 프로그램을 말한다. 바이러스 백신 프로그램, 바이러스 백신, 안티바이러스 프로그램 등 다양한 이름으로 불리고 있지만, 특히 국내에서는 백신으로 많이 불리고 있다. 이는 안철수 박사가 처음 ‘V1(Vaccine1)’을 개발한 것에서 유래되었다.

개요

백신은 악성 소프트웨어를 찾아내서 제거하는 기능을 갖춘 컴퓨터 프로그램이다. 바이러스 검사 소프트웨어, 안티바이러스 소프트웨어, 안티바이러스 프로그램 등 다양한 이름으로 불리고 있지만 특히 국내에서는 이를 지칭하는 용어로 백신이라는 말이 일상용어로 사용되고 있다. 한국에서 백신이라는 용어는 V3의 초기 버전인 Vaccine(=V1), V2, V2PLUS로 인해 대중적인 용어가 되었다. V3가 유명해지자 버전넘버를 더 올리지 않고 그대로 제품명으로 사용해버린 것이 현재까지 내려왔다. 백신의 원래 목적은 바이러스만 잡는 것이었으나, 현대에는 악성코드, 피싱 공격, 트로이목마, 등도 검출한다. 백신은 보통 다음과 같은 두 가지 기술을 사용하여 이를 수행한다.

  • 바이러스 데이터베이스의 정의와 일치하는 바이러스를 확인하기 위해 파일의 내용을 살핀다.
  • 감염으로 표시될 가능성이 있는 컴퓨터 프로그램에서 의심이 가는 행동을 찾아낸다. 이 기술은 발견적 분석이라고 부른다. 이러한 분석은 자료 포착, 포트 감시 등의 방식을 포함할 수 있다.

보통 상용 바이러스 검사 소프트웨어는 이 두 가지 기능을 모두 사용한다.[1]

역사

가장처음 발견된 바이러스와, 가장 처음 제작된 백신 프로그램이 무엇인지는 정확하게 밝혀지지 않았다. 알려진 것 중 가장 오래된 바이러스는 1982년 고등학교에 재학 중이던 컴퓨터 프로그래머 리치 스크렌타(Rich Skrenta)가 개발한 ‘엘크 클로너(Elk Cloner)’이다. 이 바이러스는 애플 II 운영체제를 탑재한 컴퓨터가 해당 바이러스에 감염된 부팅 디스켓으로 부팅할 경우, 복사본을 컴퓨터 메모리에 강제로 저장했다. 그리고 감염되지 않은 디스켓을 컴퓨터에 넣으면 자기 자신을 복사해 다른 컴퓨터로 퍼트릴 수 있도록 제작되었다. 감염된 컴퓨터는 50번째 부팅할 때마다, 짧은 시를 보여주었다. 이처럼 당시에 제작된 바이러스는 개발자의 장난에 불과한 경우가 대부분이었으며, 백신 프로그램도 전무했다.

이후, 1986년 9월, 파키스탄에 살고 있는 24살의 앰자드 알비(Amjad Farooq Alvi)와 17세의 배시트 알비(Basit Farooq Alvi)라는 두 프로그래머 형제가 최초의 IBM PC용 바이러스 ‘브레인(Brain)을 제작해 유포했다. 이 바이러스도 Elk Cloner와 마찬가지로 디스켓을 통해 복사, 배포되었다. 이들이 바이러스를 제작한 이유는 자신들이 개발한 프로그램이 불법 복제되는 것을 보고, 불법 복제한 사용자들을 골탕먹이기 위함이었다. 하지만 브레인 바이러스는 당시가장 많이 보급되고 있던 MS-DOS 운영체제에서 실행되었기 때문에, 개발자들의 장난스런 의도 이상으로 전세계적으로 빠르게 확산되어 많은 피해를 끼쳤다. 이후 수많은 바이러스가 세상에 선보이게 되었으며, 이에 대항하기 위해 백신 프로그램의 개발이 이어졌다. 1988년 국내에서 최초로 백신 프로그램 V1이 제작된 것도 이 브레인 바이러스 때문이다.

이처럼 인터넷이 보급되기 이전의 바이러스는 대부분 플로피 디스켓을 통해 퍼져나갔기 때문에 백신 프로그램은 실행 파일과 플로피 디스켓, 하드디스크를 검사하는 것만으로 충분했다. 하지만, 인터넷 사용이 보편화되면서 바이러스는 문서 프로그램의 매크로에 삽입되거나, 이메일에 삽입되는 등 다양한 경로로 퍼지게 되었다. 이 때부터 백신 프로그램들은 실시간 감시 기능, 실시간 업데이트 기능 등을 지원하고 있다.[2]

백신 프로그램

2010년 6월 보안 기술 인증 단체인 옵스와트(OPSWAT)가 발표한 전세계 백신 시장점유율 결과 보고에 따르면, 42%가 무료 상품으로 밝혀졌다. 우리 나라의 경우 2009년 발표한 자료에 따르면 전체 PC 사용자인 3,400만 명 중 75%가 무료 백신을 사용하는 것으로 집계됐다. 물론, 유료 프로그램이 무료 프로그램보다 성능이나 기능이 더 우수하지만, 일반 사용자 입장에서는 손쉽게 구할 수 있고 사용하기 편한 무료 프로그램이 한층 친숙하다.

  • 알약
이스트소프트에서 개발한 알툴즈 제품군의 하나인 알약은 2007년 11월에 처음 발표되어, 불과 반년 만에 사용자 1,000만 명을 돌파하며 무료 백신을 본격적으로 알린 선구자격 백신이다. 알약이 초보자에게 유용한 이유는 바이러스 검사 시 알아서 해당 바이러스의 종류와 감염 파일 정보를 정리해 주는 등 쓰기 쉽고 편하기 때문이다. 또한, 알약은 다른 무료 백신과 달리 컴퓨터 관리 기능도 포함되어 있다. 레지스트리 기록과 하드디스크 기록 등을 정리해 컴퓨터 작업 속도를 향상시켜주며, 숙련자를 위한 프로세서, 액티브X, 호스트 설정 등 각종 내부 설정을 조작하고 정리해 주는 기능도 포함되어 있다.[3]
  • V3 Lite
국내 최초로 백신 프로그램을 개발한 안철수 연구소의 ‘V3’ 제품군 중 무료로 공개된 제품이다. 유료 백신 프로그램인 ‘V3 365’에서 방화벽, 인터넷하드, 원격지원 등의 기술지원만 제거한 백신이라 바이러스 감시와 치료, 실시간 감시 등 백신 프로그램의 주요 기능과 성능은 유료 프로그램과 유사하다. 2008년 12월에 첫 선을 보인 후로 6개월 만에 사용자 500만 명을 돌파하였다. 우수한 기술력 또한 장점이다. 안철수 연구소는 세계적으로 인정받는 테스트 중 하나인 VB100 테스트를 비롯해, CC인증(Common Criteria, 국제공통평가기준), GS인증(Good Software) 등 다양한 인증과 특허기술을 통해 국제적인 명성을 쌓고 있다. 이 기술력으로 V3를 개발하고 운영하기 때문에, 프로그램의 기능보다 안철수 연구소의 명성을 믿고 이용하는 사람도 적지 않다. V3 Lite의 주요 기능은 바이러스 검사와 치료, 액티브X를 비롯한 설치한 응용 프로그램 관리, 컴퓨터 환경 최적화 등이다. 필요한 기능은 다 있지만, 알약과 비교할 때 지원 기능 숫자가 약간 적은 편이다. 그리고 바이러스와 달리 스파이웨어는 치료가 아닌 차단만 지원한다.[3]
  • 네이버 백신
국내 최대 포털사이트 네이버의 백신 서비스는 2008년 6월 25일 ‘PC 그린’으로 정식 오픈했으며, 2010년 1월 19일 ‘네이버백신’으로 개편되었다. 네이버백신은 실시간 감시를 비롯해 바이러스 검사 및 치료, 컴퓨터 최적화 기능 등을 지원한다. 그리고 UI의 지속적인 업데이트를 통해 사용자 편의성을 개선했으며, 예약 검사, 간편 검사, 정밀 검사 등의 기능을 제공하고 있다. 또한, 안티 루트킷(숨겨진 악성 코드 방지) 기술을 적용해 다양한 악성코드를 검사/치료할 수 있다. 또한, 하우리의 안티 스파이웨어 엔진과 안철수 연구소의 V3 엔진을 함께 구동해 사용할 수 있는 것도 특징이다.[3]

바이러스 식별 방법

  • 사전 데이터베이스
바이러스 데이터베이스 접근에서 바이러스 검사 소프트웨어가 파일을 찾아내면, 바이러스 검사 프로그램을 만든 사람이 정의해 놓은 "알려진 바이러스"의 데이터베이스를 참조한다. 파일 안의 코드 일부가 데이터베이스의 바이러스와 일치하면, 바이러스 검사 프로그램은 다음의 과정 가운데 하나를 수행할 수 있다.
  1. 파일 안의 바이러스 자체를 제거하여 파일을 고치려고 시도한다.
  2. 파일을 차단한다. (다른 프로그램이 해당 파일에 접근할 수 없으며, 바이러스는 퍼지지 않는다.)
  3. 감염된 파일을 삭제한다.[1]
  • 의심스러운 동작
의심스러운 동작이 접근한다고 하여 알려진 바이러스를 확인하려고 시도하지는 않지만, 모든 프로그램의 동작을 감시한다. 이를테면, 어느 프로그램이 실행 프로그램에 데이터를 기록하려고 한다면 바이러스 검사 소프트웨어는 이러한 의심스러운 동작을 사용자에게 알리고 무엇을 할 것인지 물어 본다. 사전 데이터베이스 접근과 달리, 의심스런 동작의 접근은 데이터베이스에 없는 새로운 바이러스에 대한 보호를 제공한다. 그러나 수많은 오진이 일어날 수 있으며, 사용자는 모든 경고에 둔감해지게 된다. 사용자가 경고가 뜰 때마다 "허용"을 누르면 바이러스 검사 소프트웨어는 어떠한 작업도 수행하지 않는다. 그러므로 현대에 나온 바이러스 검사 소프트웨어는 이 기술을 되도록 적게 사용한다.[1]
  • 다른 접근
어떠한 바이러스 검사 소프트웨어는 다른 종류의 발견적 분석을 사용한다. 이를테면, 제어권을 어떠한 실행 파일에 이행하기 전에 시스템이 호출하는 새로운 실행 파일의 코드의 시작 부분을 가상으로 구현하려고 할 수 있다. 해당 프로그램이 자가 정정 코드를 사용한다거나 바이러스인 것처럼 보인다면 바이러스가 실행 파일을 감염시킬 가능성이 있다고 추측할 수 있다. 그러나 이러한 방식은 많은 오진을 낳을 수 있다. 다른 감지 방식의 경우 샌드박스를 사용하여 수행한다. 샌드박스는 운영 체제를 가상으로 구현하여 이 시뮬레이션 안에서 실행 파일을 실행한다. 프로그램을 종료한 다음, 소프트웨어는 샌드박스를 이용하여 바이러스로 보이는 변경 사항을 분석한다. 컴퓨터 성능 문제 때문에 이러한 종류의 검출은 사용자가 요청할 때에만 이루어진다. 또한 이러한 방식은 바이러스가 비결정적이며 실행시 다른 동작을 수행할 경우 실패할 가능성도 있다.[1]

한계

  • 허위 백신
인터넷 서핑을 하거나 혹은 파일 다운로드를 받다가 PC가 바이러스악성코드에 감염되는 일이 종종 있다. 이렇게 되면 PC가 오작동을 일으키거나 내부의 데이터가 파괴되는 등의 피해를 볼 수 있다. 이를 대비해서 설치하는 것이 바로 바이러스 백신 프로그램이다. 그런데 백신을 가장한 유해성 프로그램들이 속속 등장하고 있어 문제가 되고 있다. 가짜 백신들은 은밀하게 사용자 PC로 침투한다. 이메일은 물론, 뉴스 검색 결과 등, 그 경로도 다양하다. 이런 가짜 백신들은 사용자의 동의 없이 설치되며, 그 후엔 정상파일을 악성코드라고 진단하는 메시지를 내보낸 후 이에 대한 치료비를 요구한다.
가짜 백신의 피해를 방지하기 위해서는 위와 같은 예방법을 숙지해두는 것이 좋다. 핵심은 정체불명의 메일이나 웹 사이트 링크를 클릭할 때 최대한의 주의를 기울이는 것, 그리고 보안 효과가 높은 '진짜' 백신 프로그램을 설치하는 것이다. 시중에 나와있는 백신 프로그램 중에서 효과가 검증된 것은 V3, 알약, 네이버 백신, 카스퍼스키(Kaspersky), 노턴안티바이러스(Norton AntiVirus), 맥아피(McAfee), 아베스트(Abest) 등이 대표적이니 이를 참고하여 가짜 백신의 피해를 최소화 해야 한다.[4]
  • 전통적 백신의 한계
안티 바이러스의 방식은 전통적으로 시그니처를 통한 패턴 매칭 방식이다. 악성코드의 특징을 시그니처로 만들고 그 시그니처와 파일을 비교하여 동일하거나 몇 % 이상 비슷하면 잡아내는 방식이다. 그러다보니 조건이 해당 악성코드 시그니처가 반드시 존재를 해야 검출할 수 있다. 즉, 알려지지 않은 신규 악성코드는 누군가가 감염되거나 신고되어 패턴을 분석하고 시그니처를 추출하지 않는 한 선제 대응이 불가능하다는 단점이 있다.
이는 시그니처 매칭 방식의 현재 백신이 갖고 있는 고질적인 문제이기도 하고, 모든 시그니처 매칭 형식의 솔루션이 갖고 있는 공통적인 문제이기도 하다.
또한 예전보다야 많이 빨라지기는 했지만 그래도 바이러스 시그니처 DB의 업데이트가 느리다. 이는 악성코드가 등장하면 그것을 분석하는데 보통은 사람이 많이 했기에 그랬다. 요즘은 워낙 바이러스 시그니처들이 많아 비슷한 유형의 변형 악성코드 분석이 좀 용이해졌다. 가상화 기법도 쓰고 머신러닝을 통해 분석하기도 하고 그래서 예전보다는 확실히 많이 빨라진 것은 사실이다.
하지만 어찌 되었건 누군가의 신고가 없다면 선제적으로 대응하기 어렵다는 단점은 존재한다. DB를 업데이트하지 않으면 무용지물인 것은 당연한 얘기고 말이다. 시그니처 DB의 업데이트가 빨라졌다고 하지만, 그것보다 더 빨리 신규 악성코드가 증가한다는 것도 문제다. 그래서 실시간 대응이 어렵고, 그래서 백신 무용론이 자꾸 나오는 것이다.[5]
  • 차세대 방식의 오탐 및 성능의 한계
전통적인 방식은 보통 시그니처에 100% 매칭이나 98% 이상의 매칭인 경우에만 탐지를 했다. 거기에 약간의 변형 정도를 잡아내는 정도였다. 그러다 보니 미탐은 나오는데 오탐이 나올 확률은 많지 않았다. 하지만 차세대 방식이라 불리는 것은 시그니처 매칭 방식은 비슷하게 쓰되 유사 시그니처를 자동으로 생성하고 그것에 대해 매칭을 한다. 와중 정상 패턴을 유사 시그니처로 인식하는 경우도 왕왕 발생하면서 오탐이 많아졌다. 차세대 방식은 기존 악성코드의 변형도 나름 잘 잡아내는 알고리즘을 사용하는데, 변형에 대해서는 미리 등록된 시그니처가 아닌 등록된 시그니처를 기반으로 내부적으로 알고리즘을 돌려 변형이라 예상되는 시그니처를 제작, 비교한다. 그 변형 시그니처가 악성코드 시그니처가 아닐 가능성도 있기에 오탐이 종종 나온다. 가상화로 돌려서 행위를 인식해서 찾아낸다고 하는 행위기반 백신도 마찬가지다. 정해진 액션 루트를 통해 찾아내는 방식이기 때문에 시그니처 매칭 방식과 크게 다를 바 없다.[5]

각주

  1. 1.0 1.1 1.2 1.3 바이러스 검사 소프트웨어〉,《엔하위키》
  2. 카메라맨, 〈컴퓨터 백신이란 무엇인가?.〉, 《네이버 블로그》, 2012-01-03
  3. 3.0 3.1 3.2 컴퓨터 백신〉, 《네이버 지식백과》
  4. 김영우 기자, 〈바이러스보다 위험한 가짜 백신 프로그램 주의보〉, 《아이티동아》, 2010-05-13
  5. 5.0 5.1 학주니, 〈안티 바이러스, 혹은 컴퓨터 백신 무용론에 대한 생각〉, 《ppss》, 2017-02-27

참고자료

같이 보기


  검수요청.png검수요청.png 이 백신 프로그램 문서는 보안에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.