Security

안티 바이러스(컴퓨터 백신) 무용론에 대한 생각

학주니 2017. 2. 17. 14:31
반응형

최근 보안 관련 기사를 보면서 눈에 띄는 기사가 하나 보였다. 다름아닌 컴퓨터 백신이라 불리는 안티 바이러스의 무용론에 대해 언급한 기사였다. 사회 생활을 시작하고부터 지금까지 90% 가까이 보안업계에서 일을 해오다보니 아무래도 보안 관련 기사나 소식에 관심이 많이 가는 것은 어쩔 수 없다. 물론 내 전문 보안분야는 해킹이나 안티 바이러스 계열은 아니고 주로 기업형 보안 솔루션이나 서비스였고 DRM, 인증, SIEM 등의 솔루션이었고 지금은 DNS를 기반으로 하는 DDoS 방어 서비스를 만들고 있기에 안티 바이러스 분야는 내 주전공 분야는 아니다. 다만 관심은 가기에 안티 바이러스 무용론에 대해서 기사를 보고 나름 생각한 부분을 좀 적어보려고 한다.


백신이라 불리는 안티 바이러스는 적어도 한국 안에서는 안랩의 V3나 하우리의 바이로봇, 이스트소프트의 알약이 많이 쓰이는 것은 사실이다. 물론 내가 다니는 회사는 카스퍼스키를 사용하고 있고 MS가 윈도에 기본으로 탑재한 디펜더도 괜찮은 안티 바이러스 제품이다. 해외에서는 시만택의 NAV(노턴 안티 바이러스)나 어베스트 등의 제품도 많이 사용한다고 한다. 어찌되었던 많은 안티 바이러스 제품들이 있고 무료로 또 유료로 사용하고 있는 것이 사실이다.


다양한 안티 바이러스 제품들


안티 바이러스도 초창기에 비해 지금은 비약적으로 많이 발전했다. 예전에는 검색 속도도 늦고 또 바이러스 DB의 업데이트도 늦곤 했는데 최근에 나오고 있는, 또 지금까지 꾸준히 인기를 끌고 있는 제품들은 속도도 빠르고 바이러스 DB의 업데이트도 주기적으로 잘 이뤄지고 있으며 또 오탐이나 미탐도 많이 줄어든 편이다. 물론 국내 안티 바이러스 제품보다 해외 안티 바이러스 제품들이 더 높은 평가를 받고 있는 것은 사실이지만 국내 제품은 속도에 강점이 있고 해외 제품은 정확성에 장점이 있다보니 알아서 잘 찾아서 쓰는 듯 싶다. 그리고 요즘에는 차세대 안티 바이러스라 불리는 제품들도 많이 나오고 있는 상황이다.


시그니처 매칭 방식의 전통적인 안티 바이러스 솔루션의 한계


하지만 안티 바이러스의 한계는 분명하다. 일단 안티 바이러스의 방식은 전통적으로 시그니처를 통한 패턴 매칭 방식이다. 악성코드의 특징을 시그니처로 만들고 그 시그니처와 파일을 비교하여 동일하거나 몇 % 이상 비슷하면 잡아내는 방식이다. 그러다보니 조건이 해당 악성코드 시그니처가 반드시 존재를 해야 검출할 수 있다. 즉, 알려지지 않은 신규 악성코드는 누군가가 감염되거나 신고되어 패턴을 분석하고 시그니처를 추출하지 않는 한 선제 대응이 불가능하다는 단점이 있다. 이는 시그니처 매칭 방식의 현재 안티 바이러스 솔루션이 갖고 있는 고질적인 문제이기도 하고 모든 시그니처 매칭 형식의 솔루션이 갖고 있는 공통적인 문제이기도 하다.


또한 예전보다는 많이 빨라지기는 했지만 그래도 바이러스 시그니처 DB의 업데이트가 느리다. 이는 악성코드가 등장하면 그것을 분석하는데 보통은 사람이 많이 했기에 느렸다. 요즘은 워낙 바이러스 시그니처들이 많아 비슷한 유형의 변형 악성코드 분석이 좀 용이해졌다. 가상화 기법도 쓰고 머신러닝을 통해 분석하기도 하고 그래서 그런지 예전보다는 확실히 많이 빨라진 것은 사실이다. 하지만 어찌되었던 누군가의 신고가 없다면 선제적으로 대응하기 어렵다는 단점은 존재한다. 또 DB를 업데이트 하지 않으면 무용지물인 것은 당연한 얘기고. 그리고 시그니처 DB의 업데이트가 빨라졌다고 하지만 그것보다 더 빨리 신규 악성코드가 증가하고 있다. 시그니처 DB의 업데이트 속도보다 신규 악성코드 증가가 더 빠르기 때문에 실시간 대응이 어렵고 그래서 백신 무용론이 자꾸 나오는 것이다.


차세대 방식의 오탐 및 성능의 한계


그리고 앞서 전통적인 방식에 대해서 얘기했는데 요즘은 차세대 방식과 전통적인 방식을 혼용해서 안티 바이러스 솔루션이 나오기 때문에 따로 얘기하기는 어렵다. 전통적인 방식은 보통 시그니처에 100% 매칭이나 98% 이상의 매칭인 경우에만 탐지를 했다. 약간의 변형 정도는 잡아낼 수 있었다. 그러다보니 미탐은 나오는데 오탐이 나올 확률은 많지 않았다. 하지만 차세대 방식이라 불리는 것은 시그니처 매칭 방식은 비슷하게 쓰는거 같은데 유사 시그니처를 자동으로 생성하고 그것에 대해 매칭을 하다보니 유사 시그니처가 정상 패턴인 경우도 많고 그러다보니 오탐이 많아졌다. 차세대 방식은 기존 악성코드의 변형도 나름 잘 잡아내는 알고리즘을 사용하는데 변형에 대해서 미리 등록된 시그니처가 아닌 등록된 시그니처를 기반으로 내부적으로 알고리즘을 돌려 변형이라 예상되는 시그니처를 만들어서 비교하는 방식인지라(물론 다른 방식을 이용하는 경우도 있다) 그 변형 시그니처가 악성코드 시그니처가 아닐 가능성도 있기에 오탐이 종종 나온다. 뭐 가상화로 돌려서 행위를 인식해서 찾아낸다고 하는 행위기반 안티 바이러스 솔루션들도 마찬가지다. 정해진 액션 루트를 통해 찾아내는 방식이기 때문에 시그니처 매칭 방식과 크게 다를 바 없다. 다만 오탐은 이게 좀 덜하지만 상대적으로 느리다. 물론 요즘 PC의 성능이 워낙 좋아져서 상대적으로 속도를 만회하고 있기는 하지만서도.


없으면 옛날 것에 당한다


뭐 이런 이유때문에 과연 안티 바이러스 솔루션이 의미가 있느냐 하는 백신 무용론이 자꾸 대두되는 것이 사실이다. 그러면 안티 바이러스는 쓸모가 없는 것일까? 아니다. 없으면 더 골치아픈 일이 일어날 수 있다. 먼저 아직도 인터넷에는 우리가 이미 사라졌다고 생각하는 수년전, 혹은 십수년전의 악성코드들이 여전히 돌아다닌다. 다만 현재의 안티 바이러스들이 알아서 기존 악성코드들은 다 잡아주기 때문에 존재의 유무를 못느낄 뿐이다. 만약 안티 바이러스 솔루션을 사용하지 않는다면 어느 한순간의 실수로 십수년전의 악성코드에 감염되어 난처해질 수 있다. 만약 지금은 없어졌다고 생각하는 1세대 악성코드의 대표라 불리는 (C)브레인이나 다크 어벤저에 감염되었다고 생각해보자. 얼마나 황당하겠는가? 요 몇년 사이에 벌어진 다양한 해킹 사고들을 보면 새로운 악성코드에 당한 것이 아니라 다 예전의 악성코드에 당했다는 것을 생각해보면 안티 바이러스 솔루션의 중요성을 알 수 있을 것이다.


또한 사용자가 아무리 잘 방어하고 신경써서 PC를 사용한다고 하더라도 웹페이지에서 자동 스크립트를 통해서 실행되는 악성코드까지 제어하기는 어렵다. 많은 랜섬웨어들이 이런 방식으로 감염을 시켰는데 이는 사용자 문제보다는 웹서비스 서버의 문제고 관리자의 문제인지라 사용자의 제어 수준을 벗어났기에 힘들다는 것이다. 안티 바이러스의 실시간 감시 기능이 없다면 이런 경우에는 그냥 당하는 수밖에 없다. 이런 이유로 안티 바이러스가 계륵같은 존재가 되는 것이 아닐까 싶다.


백신 무용론은 말도 안되는 얘기


일단 위의 내용을들 기반으로 대응방식을 좀 생각을 해봐야 할 듯 싶다. 전통적인 시그니처 매칭 방식의 안티 바이러스 솔루션은 아무래도 미래의 악성코드에 대응할 수 없는 것이 사실이다. 하지만 옛날 악성코드는 여전히 돌아다니고 있고 사용자의 의지가 아닌 상태에서의 감염도 가능하기 때문에 없는 안티 바이러스가 없으면 불안하다. 차세대 안티 바이러스라 불리는 솔루션들은 오탐이 있기는 하지만 어느 정도는 신규 악성코드에 대한 대응이 가능하다. 하기사 요즘은 차세대와 전통 방식을 혼용해서 솔루션을 내놓기 때문에 함께 쓰라는 얘기를 안해도 함께 쓰게 되니까 다행이다. 즉, 안티 바이러스 무용론은 말도 안되는 얘기다. 새로운 악성코드에 대해서는 늘 조심하고 기존의 악성코드에 대해서는 지속적으로 시그니처 DB의 업데이트로 안티 바이러스를 최신으로 유지해서 방어하는 것이 현재로서는 최선의 방법이 아닐까 하는게 내 생각이다.

반응형