▶ 보안 제품 테스트 정보/:: VirusBulletin

[VB100, RAP] Virus Bulletin의 테스트 기법 - 클라우드 기법, Respone Test 추가 (2012.01) [수정]

물여우 2012. 1. 30. 08:30
반응형
바이러스 블러틴의 VB100 인증과 RAP 테스트 절차와 기준에 대해서 살펴봅니다.



<※ 업데이트 : 2012.01.29>

최근 테스트에서 VB100 인증 테스트에 변화가 있었는데, 이를 기회로 바이러스 블러틴의 테스트들에 대해서 다시 한번 정리해보도록 하겠습니다.


바이러스 블러틴은 영국에 위치한 민간 보안 연구 단체로 악성코드와 스팸에 관한 다양한 연구 결과 발표 및 컨퍼런스 개최 등을 통해 활발한 활동을 하고 있습니다. 이와 함께 2개월 간격으로 보안 제품의 테스트 결과를 발표하고 있으며, 해당 테스트들은 국내외에서 매우 권위있게 받아드려지고 있습니다.

테스트는 VB100 인증 테스트와 RAP 테스트로 구성되어 있으며, VB100 인증 테스트는 Checkmark, ICSA Labs 등과 더불어 국제 3대 인증이라 불립니다. RAP 테스트는 VB100 인증과 달리 신규 샘플에 대한 대응 능력과 사전 진단 능력을 테스트하는 것으로 전통적인 테스트보다는 조금 더 실제 환경에서 나타나는 실질적인 제품 성능을 측정하고자 하고 있습니다.


1. VB100 Certification - VB100 인증

(1) 인증 기준


VB100은 아주 전통적인 진단율 테스트의 하나입니다. VB100 인증 테스트는 아래와 같이 2가지 기준이 있습니다.

1. WildList 악성코드의 100% 진단 :
Wildlist 악성코드는 WildList Organization 에서 수집된 샘플들로, 전세계 지역을 기준으로 최소 2 지역 이상에서 유포(in the Wild)된 악성코드를 의미합니다. VB100에서는 와일드 리스트 악성코드를 100%진단해야만 인증을 부여합니다.

2. 정상 파일의 오진 0% :
악성코드 외에 정상 어플리케이션들의 파일들을 진단하면 인증에 실패하게 됩니다. 단, 보안 제품 기법상 의심 진단(suspicious detecion - 휴리스틱 진단 등)으로 진단한 경우는 제외합니다.


[★ Extended WildList Set의 추가]


2011년 12월 테스트에서 변경된 부분 중 가장 눈에 띄는 부분은 WildList 샘플의 추가입니다. 개인적으로 기존 WildList Set이 확장된 것으로 파악했었는데, 아예 새로운 샘플군으로 추가되었습니다. 즉, VB100은 기존의 WildList Set과 이번에 추가된 Extended WildList Set을 모두 진단해야만 인증을 받을 수 있습니다.


확장 와일드 리스트 샘플은 정확한 샘플 정보를 제공해주지를 않아서 정확하게 파악할 수는 없었습니다. 다만, VB100에서 밝힌 바로는 기존의 샘플보다 샘플의 종류가 확장되었으며, 일부 제품에서 애드웨어나 PUP로 진단할 수 있는 악성코드까지 포함되었다고 합니다. 기존의 샘플처럼 최소 두 지역 이상에서 유포된 와일드 리스트 샘플이되 웜이나 봇, Trojan 외의 다른 샘플들도 포함되었다 생각하면 될 듯 합니다. 클라우드 진단이 포함되어 상대적으로 유리해진 면을 감쇄시키는 효과가 있지 않을까 싶습니다.


참고로 위 기준에서 알 수 있듯이 VB100은 전통적인 누적 진단율 테스트나 신규 샘플에 대한 사전 진단율 등과는 크게 상관이 없습니다. 따라서 VB100 인증은 보안 제품의 '안정성'을 가름해볼 수 있다는데 그 취지가 있겠습니다. 널리 알려진 악성코드에 대한 진단 측정은 지역적인 대응이 아닌 전적인 대응 능력을, 정상 파일에 대한 오진 측정은 제품의 진단 안정성을 측정한다 볼 수 있습니다.

결과적으로 VB100 인증을 받았다는 것은 제품이 기본적으로 사용할만한 '안정성'을 보장해준다는 것이지, 진단율이 매우 뛰어나거나 다른 항목의 성능이 매우 특출나다는 것을 의미하지 않습니다.

이와 별도로 오진 테스트에서 의심 진단으로 나타난 진단은 오진에서 제외하고 있는데, 사실 이 부분에서는 다소 논란이 있을 수 있습니다. 예를 들어 의심진단이 상대적으로 강한 제품의 경우 진단율에서 이득을 볼 수 있지만 오진 테스트에서도 상당한 이득을 볼 수 있다는 점을 들 수 있습니다. 제가 VB100 우등생이라고 표현할 만큼 장기간 인증에 성공하고 있는 ESET의 경우 명확하게 위 문제가 들어납니다.

ESET은 휴리스틱 진단이 뛰어난 대표적인 제품인데, 위 그림을 보시면 아시겠지만 의심 진단을 통한 정상 파일 진단이 무려 14개나 됩니다. 그러나 와일드리스트 샘플을 모두 진단하고 정식 진단을 통한 오진이 없어서 인증에 성공했습니다. 

※ 추가 : 기존의 WildList 샘플 검사시에는 의심 진단은 포함하지 않는 것으로 알려져있습니다. 그러나 확장 와일드 리스트 샘플은 의심 진단을 진단 목록에 포함시킵니다.

의심 진단의 경우 불확실성 때문에 대다수의 제품들이 정식 진단과 구별되게 사용자에게 알리고, 사용자가 직접 처리하도록 하고 있기는 하나, 이는 결국 진단 책임을 사용자에게 전가하는 것입니다. 물론 개인적으로는 사용자 처리를 통해 직접 처리하는 것을 좋아하지만, 대다수의 일반 사용자들은 보안 제품이 직접 악성코드를 처리해주며, 그 처리 결과가 오진 없이 깨끗하기를 바랍니다. 

VB100 인증이 안정성을 측정해준다고 할 때, 위와 같은 테스트 항목은 개선이 필요하다고 봅니다. 특히현실적으로 의심 진단을 통한 오진에도 매우 민감할 뿐더러, 현재 보안 제품의 변화 추세도 사용자의 선택 항목을 줄일 수 있을 만큼 줄이고, 가급적 자동화하여 처리하도록 하고 있기 때문에, 위 테스트의 기준은 확실히 현재의 상황을 반영하지 못한다고 생각합니다.



(2) 테스트 절차


VB100 인증 테스트는 아래와 같은 절차로 진행됩니다.

1. 보안 업체들이 제출한 보안 제품을 외부와 차단된 시스템에 설치

2. 테스트 시점까지 모든 업데이트가 이루어지며, 네트워크 연결을 허용하여 클라우드 진단 등의 네트워크 연결이 필요한 진단 기법 사용 가능

3. 설치시 제공되는 기본 설정을 이용하여 실시간 감시 및 수동 검사를 각각 이용하여 악성코드, 정상 파일 검사, 이때, 기본 설정에서 특정 포맷의 파일을 검사 못할 경우, 해당 설정 변경 후 다시 검사

4. 로그 기록 또는 삭제된 파일 정보를 통해 진단 측정

일반적으로 사용자들이 사용하는 제품과 동일한 제품들이 테스트에 사용되지만, 종종 보안 업체에서 엔진 수정이나 DB를 조정하여 테스트에 제출할 때가 있다고 합니다. 따라서 실제 환경과 테스트 환경에서 제품 차이가 발생할 수 있습니다.

2011년 12월 테스트부터 클라우드 진단 등 네트워크 연결이 필요한 진단 기법을 사용할 수 있게되었습니다. 이는 국내외 많은 제품들이 클라우드 진단 기능을 추가하고 있는 현제의 추세를 테스트에 반영한 것으로 매우 의미있는 부분입니다.
 
실시간 감시(On-Access)테스트도 수동 검사 테스트와 동일한 샘플을 가지고 진행됩니다. 단, 수동 검사를 진행할 때에는 기본적으로 비활성화됩니다. 그리고 HIPS 등의 행동 기반 진단 기능은 사용되지 않습니다.



2. RAP TEST

RAP 테스트는 'Reactive and Proactive Test'의 약자로 보안 업체의 대응력과 제품의 사전 진단율을 측정하는 테스트입니다.

1. Reactive Test : 샘플 대응 능력 테스트
   테스트 시점(Deadline)을 기준으로 '3주 전', '2주 전', '1주 전'에 유포되는 악성코드를 각각 수집.
   테스트 시점까지 업데이트를 한 후 '3주 전', '2주 전', '1주 전'에 수집된 샘플을 검사, 진단율 측정  

2. Proactive Test : 사전 진단율
   테스트 시점을 기준으로 '1주 후' 샘플을 수집
   테스트 시점의 업데이트를 가지고 샘플을 검사, 진단율 측정

Reactive test는 업데이트 시점을 기준으로 이전에 수집된 악성코드를 기한별로 검사해서 해당 샘플들의 진단율을 측정하는 테스트입니다. 기준 시점보다 더 오래된 샘플의 진단율을 시간별로 측정하는 것이기 때문에, 오래된 샘플들이 얼마나 많이 DB화되어 진단되고 있는 가를 알아볼 수 있습니다. 쉽게 말해 유포된 샘플의 대응 능력(수집 및 진단용 DB화 능력)을 측정합니다.

테스트 특성상 기준 시점보다 더 오래된 시점(3주 전)의 샘플일 수록 진단율이 높게 나타나며, 기준 시점에 가까워 질 수록(1주 전) 진단율이 낮아지는 경향을 보입니다. 단, 동일한 샘플이 아닌 기준 시점별로 다른 샘플을 사용하기에 때문에, 오히려 가까운 시점의 샘플의 진단율이 높을 수도 있습니다.


Proactive Test는 업데이트 시점보다 미래에서 수집된 샘플을 가지고 진단율을 측정하는 테스트입니다. 업데이트 기능이 동결된 상태에서 1주 후에 수집된 샘플을 가지고 진단율을 측정하기 때문에, 보안 제품이 갖고 있는 현재의 진단 DB만을 가지고 새로운 악성코드를 얼마나 많이 진단할 수 있는가를 알아볼 수 있습니다. 의심 진단(휴리스틱, 제너릭 진단)이 강한 제품일 수록 유리하며, 제품의 사전 방역이 중요해진 지금 매우 중요한 항목이라 할 수 있습니다.


해당 검사들은 모두 기본 설정 상태에서 수동 검사로 진행됩니다. 사용되는 샘플들은 VB100인증에 사용되는 와일드리스트 샘플은 아니지만, 널리 유포되는 샘플들을 주로 사용합니다. 단, 특정 제품에서 애드웨어나 PUP로 진단할 수 있는 객체들도 포함한다고 합니다.

중요한 점은 RAP 테스트는 VB100 인증과 달리 네트워크 연결을 허용하지 않고 있다는 점입니다. 테스트가 업데이트 고정된 시점 전후의 샘플을 가지고 진단율을 측정하는 방식이기 때문에, 네트워크 연결을 허용했을 때, 특히 클라우드 진단 기능을 허용했을 때 DB 대응력과 사전 대응력을 제대로 측정할 수가 없습니다.

결과적으로 전통적인 시그니처 기능만 이용하게 되는데, 실제 상황과 현실적으로 많은 차이를 보이게 됩니다.


3. 다른 테스트 - Respone Test 

2011년 12월부터 'Response test'라는 테스트가 새롭게 추가되었습니다. 이 테스트는 번역하면 반응, 응답 테스트라고 해야할터인데, 의역을 하면 RAP테스트에 쓰인 대응력 테스트라 할 수 있습니다. 여기서는 구별을 위해서 반응 테스트라고 하겠습니다.

이 반응 테스트- Response test는 아래와 같은 특징을 갖습니다.
◆ Response Test : 최신 샘플 반응 능력 테스트
   7일 동안 매일 간격으로 모두 7번 테스트를 실행하며, 테스트에 사용되는 샘플은 테스트 시점에서
   일주일 전에 수집된 최신 샘플을 이용해서 테스트, 인터넷에 연결된 상태로 검사가 진행되며 클라
   우드 진단 기능을 포함한 시그니처 진단율을 측정합니다.

1. 테스트가 제품별로 동일하게 진행되지 못함
   정확한 테스트 기법이 공개된 것이 아니라서 세부적인 내용은 알 수가 없습니다. VB에서 밝히기로
   는 제품별로 서로 다른 샘플군이 이용되거나, 동일한 샘플군을 사용하되 테스트 시점이 서로 다를
   수 있습니다. 

2. 테스트를 반복 실행
   위와 같은 독립 변수(샘플, 시간)가 독립적이지 못한 테스트 환경의 불합리성을 해소하고자 동일한
   테스트를 3번 진행한다고 합니다. 3번의 테스트의 결과값(진단율)을 평균내어 고시합니다.

반응 테스트는 안티 바이러스의 최신 샘플에 대한 진단율을 보여준다는 점에서 상당히 유용한 테스트라 할 수 있습니다. RAP 테스트의 Reactive Test와 상당히 유사한데, 샘플군이 매 테스트마다 바뀐다는 점과
인터넷 연결이 허용된 상태로 테스트가 진행된다는 점이 다릅니다.

반응 테스트의 일부 결과


RAP테스트와 달리 아직 무료 공개되는 테스트는 아닙니다. RAP 테스트와 겹치는 부분도 있고, 테스트 기법 상 문제가 있어서 공개가 되지 않은 것이라 예상하고 있는데, 조금 더 보완이 된다면 곧 개별적으로 공개되지 않을까 싶습니다. 

타 테스트의 실환경 테스트에 비해서는 부족하지만, 단순 누적 샘플 테스트(VB100)과 RAP 테스트(인터넷 연결 불가)의 부족한 부분을 채워주는 테스트라 평하고 싶습니다.


<※ 2011년 12월 테스트 부로 누적 진단 샘플 진단율은 측정하지 않습니다.>

유료로 제공되는 VB100 테스트 결과에는 와일드 리스트 샘플과 함께 다양한 악성코드의 누적 진단율 테스트 결과를 제공해줍니다. 진단율 검사는 우클릭 검사 또는 일반 수동 검사를 통해 진단율을 측정하며, 기본적인 절차는 VB100인증과 동일합니다. 사용되는 악성코드들은 'Worms/Bot', 'Polymorphic Virus', 'Trojan' 등입니다.

이 외에도 퍼포먼스 테스트(리소스 및 검사 속도 등), 압축 검사 테스트 등이 존재합니다. 해당 테스트들은 특별히 다루지 않겠습니다.



VB100과 RAP 테스트에 관해서 알아봤습니다.

아직까지 보안 제품들이 시그니처 진단을 주력으로 하고는 있지만, 클라우드 진단과 행동 기반 진단의 중요성이 매우 커지고 있습니다. 이런 상황에서 VB100과 RAP 테스트가 보안 제품의 성능을 100% 제대로 측정할 수 없다는 점은 명확합니다. 

최근 악성코드 유포는 워낙 빠르고 주기가 짧아서 누적 진단율 테스트보다는 RAP 테스트처럼 사전 진단율과 대응 수준을 측정하는 것이 중요한데, 대응력의 핵심을 담당하는 클라우드 진단이나 행동 기반 진단을 제외하고 테스트하는 것은 의미가 상당히 떨어진다고 할 수 있습니다. 

이전부터 보안 업체들이 언급하는 샘플 문제같은 테스트 내의 문제가 아닌 테스트 자체에 문제가 있는 만큼, 좋은 개선 방안이 있기를 기대합니다.

물론, VB100 인증 테스트에 클라우드 진단이 추가된 것은 매우 반길만한 일입니다. 하지만 다른 테스트 단체들이 진행하는 Real World TEST와 같이 실 환경에서 나타나는 제품의 성능을 측정하려고 하는 시도가 필요하다고 봅니다. 
  

마지막으로 이 글을 작성하는데 도움 주신 분들 감사드립니다.

  
- 이상입니다.
반응형