ESET백신 이셋코리아
FAQ

홈 > FAQ





 
작성일 : 15-06-11 11:43
오탐지율(False Positive) and 미탐지율(False Negative)을 자세히 알고 싶어요!
 글쓴이 : ESTC
조회 : 1,676  

False Positive(오탐지율, 오진율

and False Negative(미탐지율)

 

False Positive(오탐지율) False Negative(미탐지율)라는 개념에 대해 알아보겠습니다. 간단히 이야기 하면, 앞에 것은 "병에 걸리지 않았는데 병에 걸렸다고 진단하는 오류"를 가리키며, 후자는 "병에 걸렸는데 병에 걸리지 않았다고 진단하는 오류"를 가리킵니다. 안티바이러스 프로그램의 경우, 악성코드인데도 정상코드라고 보고하면 False Negative가 되는 것입니다.

 

통계 용어로 False Positive " 1종의 오류" False Negative " 2종의 오류"라 합니다. 용어들이 말 장난하는 것 같아서 헷갈리기 딱 좋지만, 지금까지 말한 내용을 간단하게 도표로 정리하면 다음과 같습니다:

 

 

실제 상태

악성코드

정상코드

결과

악성코드로 판정

True Positive

(악성코드를 악성코드로 판정)

False Positive, 1종 오류

(정상코드인데 악성코드로 판정)

정상코드로 판정

False Negative, 2종 오류

(악성코드인데 정상코드로 판정)

True Positive

(정상코드를 정상코드로 판정)

 

 

여기서 이제 실제 숫자를 가지고 이야기를 해 보기로 합니다. 어떤 악성코드가 있는데 안티바이러스 프로그램을 사용하지 않을 경우, 이 악성코드에 감염될 확률이 5/1000 = 0.5% 라고 하죠. 예를 들어, 어떤 안티바이러스 프로그램 E가 이 악성코드를 진단하는 정확도가 "악성코드일 때 정확히 진단할 확률(양성판정) 95%", "악성코드가 아닐 때 정상코드라고 정확히 판정할 확률(음성판정) 99%"라고 합니다. 그러나 우리가 악성코드에 감염되었는지 아직 모르므로 95% 99%의 수치는 큰 의미를 가지지 못합니다. 대신에, "양성판정을 받았을 때, 실제 악성코드일 확률"이 결국 이 안티바이러스 프로그램의 정확도를 말해줍니다.

 

간단하게 조건부 확률 표기법으로 표현하면:


1.png

이며, A가 일어났다는 조건하에 B가 일어날 확률을 뜻합니다.

 

이것을 바탕으로 문제에 주어진 값들을 수식으로 표현해 보겠습니다. 먼저, 사건 D는 악성코드에 감염되는 사건을, P는 양성 판정, N는 음성 판정을 가리킵니다.


2.png

, "악성코드에 감염되었다는 조건하에 양성 판정을 받을 확률" 95%, "악성코드에 감염되지 않았다는 조건하에 음성 판정 받을 확률" 99%로 해석할 수 있다. 그러면, 이제 우리가 구하고 싶은 것은 "양성 판정이 있다는 조건하에 실제 악성코드에 감염되었을 확률"입니다. 이것을 수식으로 표현하면:


3.png

앞뒤만 바뀐 셈이네요. 자세히 계산해 보겠습니다

 


4.png

 

놀랍게도 불과 32% 밖에 되지 않습니다. 한 마디로, 앞서 언급한 안티바이러스 프로그램 E가 악성코드에 감염되었다고 판정을 내려도 실제 악성코드에 감염되었을 확률은32% 밖에 되지 않는다는 것입니다.

 

왜 이럴까요? 일단, 악성코드에 감염되는게 상대적으로 흔하지 않다는 점을 들 수 있다. 안티바이러스 프로그램을 사용하지 않는다고 모두가 악성코드에 감염되는 것은 아니니까요. 그리고, False Positive, , 악성코드에 감염되지 않았을 때 감염되었다라고 판정하는 비율이 상대적으로 크기 때문입니다. 정말? 불과 1%인데? 라고 반문할 수 있을 것입니다. 그러나 이 1%가 정확도에 아주 큰 악영향을 미칩니다. 만약, 이것을 1%에서 0.1% 10배 개선하면 정확도는32%에서 83%로 급증합니다.

 

감염되고 감염으로 판정할 확률(탐지율)

P(P|D)

95.00%

90.00%

99.00%

95.00%

95.00%

95.00%

감염될 확률

P(D)

0.50%

0.50%

0.50%

0.50%

0.50%

0.10%

정상인데 감염으로 판정할 확률(오탐지율)

P(P|DC)

1.00%

1.00%

1.00%

0.50%

0.10%

1.00%

감염인데 정상으로 판정할 확률(미탐지율)

P(N|DC)

5.00%

10.00%

1.00%

5.00%

5.00%

5.00%

 

 

 

 

 

 

 

 

감염으로 판정했는데 진짜 감염일 확률

P(D|P)

32.31%

31.14%

33.22%

48.84%

82.68%

8.68%

 

반면, False Negative, , 악성코드에 감염되었는데 정상이라고 할 확률은 큰 영향을 주지 않습니다. 지금 5%인데, 이것을 0.05%, 100배 개선을 하여도 정확도는 32%에서 33.43%로 거의 오르지 않습니다. 그렇기 때문에 이 경우에는 False Positive를 줄이는 것이 매우 중요합니다.

 

마지막으로, 악성코드에 감염될 확률 자체가 줄어들면 이 영향은 더욱 커집니다. 악성코드에 감염될 확률이 5/1000에서 1/1000 , 0.5%에서 0.1%로 줄면 위에서 언급한 안티바이러스 프로그램 E의 정확도는 고작 8.6%로 줄어들기 때문에, 안티바이러스 프로그램 E가 악성코드에 감염되었다고 판정을 내려도 실제 감염되었을 확률은 8.6% 밖에 되지 않습니다.

 

위 글을 요약해 보겠습니다:

 

1.      악성코드에 감염될 확률 자체를 줄이기 위해 안티바이러스 프로그램을 반드시 사용하세요.

2.     당연히 일정 수준 이하의 False Negative(미탐지율)을 갖는 안티바이러스 프로그램을 선택하는 것이 중요합니다.

3.     하지만, False Negative(미탐지율)은 일정 수준 이하만 되면 정확도에 크게 영향을 미치지 않습니다. 오히려 False Positive(오탐지율)가 정확도에 미치는 영향이 매우 크므로 False Positive(오탐지율)가 낮은 안티바이러스 프로그램을 선택하는 것 또한 중요하다고 볼 수 있습니다.


False Negative(미탐지율)이 일정 수준 이하로 신뢰할만 하지만 False Positive(오탐지율)이 높은 경우, 정상코드에 대한 잦은 악성코드 진단으로 인해 보안 솔루션 자체에 대한 신뢰도가 떨어지는 것은 물론, 악성코드 감염의 원인 규명와 해결 노력 등으로 인해 정상적인 업무를 하기가 어려워집니다. 이는 마치 정상인에게 암 판정을 내림으로 인해 받는 고통과 유사하다고 보시면 됩니다