아인슈타인은 다음과 같이 말했다. “어떤 문제가 제시됐는데, 그 문제를 풀 수 있느냐에 내 모든 것이 걸려있다고 해보자. 주어진 시간이 1시간이라면, 나는 그 1시간 중 55분을 올바른 질문을 던지는 데 쓸 것이다. 질문만 제대로 설정 된다면, 정답을 찾는 일은 5분이 채 걸리지 않을 것이기 때문이다.”
컴퓨터 보인 분야에 만연한 문제 중 하나는 보안 전문가라는 사람들조차 회의적인 태도를 유보하고, 관계기관의 공식 성명을 아무런 의심 없이 받아들이며, 올바른 질문을 던질 줄 모른다는 것이다. 실제로 이러한 경향성은 반복적으로 관찰되고 있으며 이로 인해 전혀 엉뚱한 보안 솔루션을 투입하거나 쌩뚱 맞은 평가 기준에만 신경 쓰게 된다.
보안 전문가이란 각자의 보안 환경에 존재하는 리스크를 정확하게 정의할 수 있는 통제 수단과 평가 기준을 마련해야 하는 사람들이다. 대다수 환경에 일반적으로 적용할 수 있는 컴퓨터 보안 솔루션은 매우 극소수이다. 소셜 엔지니어링이나 패치 관리 정도가 여기에 해당될 것이다. 그나마 이러한 경우에조차 적합한 방책을 사용하는 이는 드물다.
예컨대 보안 담당자들은 완전한 보안을 위해서는 모든 컴퓨터에 하나도 빠짐 없이 100% 패칭이 이루어져야 한다고 생각한다. 특히 윈도우 OS의 경우는 더욱 그러하다고 말이다. 그러나 실제로는 몇몇 인터넷 브라우저의 애드-인과 서버의 웹 및 데이터베이스 프로그램을 패칭하는 것만으로도 OS나 기타 수백 가지 프로그램을 패칭하는 것보다 더 안전한 보안 환경을 구축할 수 있다. 물론 예외적인 경우로 공격이 발생하기도 하지만 그것은 어디까지나 예외일 뿐이다.
또 다른 예시는 맬웨어 통계에서 찾을 수 있다. “안티바이러스 솔루션은 죽었다”라는 말을 믿는 사람도 있을 것이고 안 믿을 수도 있다. 그렇지만 정작 전통적인 안티 바이러스 프로그램이나, 하다 못해 요즘 새로 나온 EDR(endpoint detection and response) 이라도 설치하지 않는 사람은 없을 것이다. 안티 맬웨어 제품들은 완벽하지는 않지만 여전히 네트워크 및 기기를 노리는 수많은 위협으로부터 우리를 지켜준다. 그렇기에 대부분 사람들은 안티 말웨어 솔루션을 사용한다.
누군가가 사용중인 안티 맬웨어 솔루션의 성능이 어떠냐고 물으면 십중팔구는 판매자가 언급한 “100% 탐지”를 강조하거나 이 프로그램이 그 동안 얼마나 많은 맬웨어를 잡아 냈는지를 보여 줄 것이다. 즉, 프로그램이 잡아낸 맬웨어 수만 증가한다면 잘 작동하고 있다고 믿는 것이다. 원래 어느 정도의 맬웨어를 잡아내야 하는데 실제로는 어느 정도를 탐지해내고 있는지도 모르는 상황에서 그 솔루션의 정확도를 평가하기는 어렵다.
그러나 이 조차도 올바른 질문은 아니다. 방화벽이 블록된 패킷을 던지듯, 안티 맬웨어 프로그램이 이미 탐지하여 제거한 맬웨어 프로그램은 더 이상 위협이 될 수 없다. 따라서 맬웨어 탐지 및 제거에 정말 필요한 질문은 솔루션이 맬웨어를 찾아내 제거하기까지 어느 정도의 시간이 걸렸는가, 다시 말해 맬웨어가 얼마나 오래 기기에 머물러 있었는가 이다. 맬웨어 프로그램은 직접 해로운 활동을 하기도 하고, 그것이 설치되어 있는 동안 유저가 한 부주의한 행동을 통해 해악을 끼치기도 한다.
만약 안티 맬웨어 솔루션이 맬웨어 프로그램이 기기에 다운로드 되자 마자 이를 알아채고 제거한다면, 사실상 사용자의 기기나 네트워크는 그 어떤 위험에도 노출되지 않을 수 있다. 방화벽이 기기 내부에 진입하기 전 패킷을 생성하는 것과 같다. 문제는 기기에 잠입한 맬웨어(또는 해커)가 들키지 않고 기기 및 네트워크에 머무르는 시간이 길어 질 때이다. 이를 ‘드웰 타임(dwell time)’이라고 한다.
만약 탐지, 제거까지 수 일이 걸렸고, 그 동안 유저나 기기가 아주 중요하거나 위험이 큰 작업을 수행했다면 이 때의 보안 위험도는 아주 높게 평가되어야 할 것이다. 그런데 전통적인 맬웨어 제거 평가 기준을 따르게 되면, 맬웨어가 침투하자 마자 이를 알아채고 제거한 프로그램과, 3주가 지나서야 이를 알아채고 제거한 프로그램이 모두 ‘맬웨어 제거 건수 1건’으로 같게 평가될 수 밖에 없다.
이 글을 읽는 여러분은 어떠한가? 안티 맬웨어 프로그램에 대한 질문의 방향이 잘못되지는 않았는가? 여러분이 사용하는 솔루션은 맬웨어가 제거되기 전까지 얼마나 오래 PC에 머물렀는가를 알려 주는가? 기업의 보안 리스크를 계산함에 있어 특정 개별 유저나 기기의 리스크도 고려하고 있는가? 그렇지 않다면, 더욱 정확하고 안전한 안티 맬웨어 프로그램 운영을 위하여 이제부터라도 여기 제시 된 새로운 안티 맬웨어 솔루션 평가 기준을 눈 여겨 보길 바란다.
모든 컴퓨터 보안 담당자들이 염두에 두어야 할 5가지 안티맬웨어 관련 기준을 소개한다.
평균 탐지 시간
평균 탐지 시간이란 맬웨어 또는 해커가 기기에 잠입한 후 안티바이러스 또는 EDR 프로그램이 이를 알아 채기까지 걸리는 시간을 말한다. 대부분 안티 맬웨어 프로그램들은 이에 대한 정보를 제공할 수 없을뿐더러 이를 시도하는 솔루션조차 잘 없다. 다행히 대부분의 경우 약간의 노력만으로 이에 대한 정보를 얻는 것이 가능하다.
우선 소유하고 있는 각 기기에서 애플리케이션 컨트롤/화이트리스팅 프로그램을 활성화 한다. MS 윈도우는 XP 때부터 이와 같은 프로그램을 내장하고 있다(소프트웨어 제한 정책). 물론 그 밖에도 앱로커(AppLocker), 윈도우 디펜더 애플리케이션 컨트롤(Windows Defender Application Control) 등 다양한 윈도우 에디션을 위한 여러 가지 애플리케이션 컨트롤 프로그램이 존재하므로 원하는 대로 선택해도 좋다.
오픈소스 옵션도 소수이지만 존재하며, 유료 프로그램은 훨씬 다양하다. 컴퓨터 시스템을 보호하는 가장 좋은 방법 중 하나는 화이트리스팅 프로그램을 사용하는 것이다. 특히 여기서 이야기 하는 목적을 위해서는 ‘검사 전용(audit-only)’ 모드 만으로도 충분하다.
화이트리스팅 프로그램이 허용한다면(대부분 프로그램에서는 가능하다) ‘베이스라인’ 애플리케이션 검사를 실시해 베이스라인 후에 추가된 프로그램이나 프로세스들만이 알림이나 이벤트를 생성하도록 하는 것이다. 그리고 데이터베이스에 새로운 프로그램이나 프로세스가 추가 및 설치되었음을 알리는 이벤트들을 모두 수집한다. 그리고 이 데이터베이스에 모든 제거된 맬웨어를 수집한다. 이후 맬웨어 프로그램을 탐지할 때마다 언제 그 맬웨어가 기기에 침입하였는가를 알아 낸다. 두 날짜/시간 간의 차이가 곧 평균 탐지 시간이 되는 것이다.
1~2분 이내로 제거된 맬웨어 프로그램의 경우 그다지 큰 문제가 안 된다. 반면 수 일, 길게는 수 주씩 잡히지 않고 잠입해 있던 맬웨어가 있다면 이는 문제가 될 수 있다. 갈수록 특정 기기 상에서, 혹은 기업 전반에 걸쳐 탐지 시간이 길어지는 현상이 목격된다면 해당 안티 맬웨어 솔루션을 판매한 벤더와 상담해야 한다. 평균 탐지 시간과 관련한 정보를 내밀며 제품에 대한 문의를 하는 당신을 보며 놀라는 벤더의 모습을 볼 수 있을 것이다.
개별 유저 리스크
특히 사용자들 중에서 다른 이들보다 더 자주 맬웨어에 감염되는 이들은 주의해 모니터링 하는 것이 도움이 된다. 맬웨어 탐지 건수만 기록하는 것으로는 부족하다. 유저들 중 어떤 이들이 더 감염 횟수가 잦고, 그 이유는 무엇인지도 알아야 한다. 그 사람의 개인적인 부주의 때문인지, 이들이 다른 이들보다 더 자주 방문하는 웹사이트는 없는지 등을 확인해 보자.
개별 기기 리스크
때로는 개별 유저가 아니라 기기나 설정이 문제가 되기도 한다. 특정 기기나 공통 기기 설정(소프트웨어 및 하드웨어) 하에서 더 많은 감염이 발생하고 있지는 않은가? 혹은 특정 시간대에 맬웨어 감염이 더 잦지는 않은가? 일반적으로는 애플이나 크롬북이 MS 윈도우 기기보다 감염이 더 적을 것이다. 그러나 이는 MS 윈도우가 구동하는 소프트웨어가 더 많고, 그래서 더 자주 노출되기 때문일 뿐이다. MS 윈도우 기기를 포함한 이들 기기들 모두 패칭과 소셜 엔지니어링에 대한 유저 교육을 통해 더욱 보안을 강화할 수 있다.
항상 윈도우 기기만 감염이 되는 것 같다면 그 이유는 무엇인가? 누가 실수를 하고 있는 것인가, 아니면 기기의 특정 설정 문제인가? 고위험군 기기나 설정을 파악하는 데 성공했다면, 이들의 리스크를 낮추기 위해 어떤 노력을 할 수 있는가?
맬웨어 드웰 타임 동안 어떤 작업이 이뤄졌는가?
맬웨어의 탐지, 제거까지 1~2분 이상이 걸렸다면, 그 사이 유저는 어떤 작업을 했는가? 앞서 소개한 두 가지 평가 기준, 즉 개별 유저 및 디바이스 리스크를 평가할 때 미리 해당 유저나 기기가 고 가치, 고 위험군 유저 및 기기인지를 판단해 두면 도움이 된다.
고 가치, 고 위험군 유저는 보다 폭넓은 관리 기능을 수행하는 유저로 일반 유저들보다 더 넓은 범주의 기능을 수행하며, 기업의 미션 크리티컬한 ‘핵심’ 애플리케이션 및 데이터에 대한 액세스 권한을 가진 유저를 말한다.
예를 들어 로컬 및 네트워크 관리자인 유저들은 고 위험군 유저라고 분류할 수 있다. 특히 미션-크리티컬한 소프트웨어 관리자(세일즈포스, 데이터베이스, IT 보안, C-레벨 리더 등)일 경우 이들은 고 위험군 활동을 수행하는 직원들로 분류된다. 이들이 사용하는 기기가 고 위험군 기기나 서버(서버 또는 도메인 컨트롤러)는 아닌가 확인할 필요가 있다.
유저 또는 기기가 고 위험군으로 판단될 시, 맬웨어 프로그램의 드웰 타임이 얼마나 짧았건 간에 그 동안 이루어진 모든 작업을 낱낱이 파악할 필요가 있다. 맬웨어 프로그램이 활성화 되어 있었던 시간 동안 어떤 프로그램이 함께 활성화가 되어 동작 하였는지를 조사해 보는 것도 한 방법이다. 또 이 자료를 애플리케이션 로그와 대조해 보거나, 실제 유저에게 물어볼 수도 있다.
일부 기업들에서는 평균 탐지 시간이 수 분 이상이거나 고위험군 유저 및 기기에서 위협이 발생할 경우 해당 유저에게 자동으로 맬웨어 감염을 알리는 이메일이 발송되고 드웰 타임 동안 어떤 작업을 수행하였는지 보고하도록 하고 있다. 경우에 따라서는 고 위험군 유저 및 기기들에서 맬웨어 프로그램이 발견되면 보다 세부적인 포렌직 조사를 진행하기도 한다.
맬웨어 프로그램은 어떻게 침투했는가?
기업 환경에 침투한 맬웨어 및 해커를 잡아 내려면, 이들이 어떻게 잠입했는지를 우선 알아야 한다. 사용자 에러였는지, 소프트웨어 패치 문제인지, 제로 데이 공격이나 소셜 엔지니어링 때문인지, 설정상의 문제인지, MitM(man-in-the-middle) 공격인지, 아니면 물리적 공격인지 알아야 한다.
가장 파악하기 어렵지만 동시에 가장 좋은 평가 기준은 어떻게 문제의 맬웨어가 침입했는지를 아는 것이다. 때로는 안티 맬웨어 솔루션이 이를 알려 주기도 하지만, 경우에 따라서는 유저에게 직접 물어보거나 사건 경위를 직접 파악하고, 유저가 짐작하는 침입 경로를 조사해야 할 수도 있다. 이러한 조사는 항상 정확할 수는 없지만 그마저도 침입 경로 파악에 필요한 핵심 정보를 제공해 줄 수 있는 사람은 매우 적다는 사실에 놀라게 될 것이다.
이제 앞서 소개한 5가지 기준에 더해, 보너스를 한가지 더 소개해본다.
기업 전반의 리스크 평가
결국 임원진이 원하는 것은 컴퓨터 보안 리스크가 점차 감소하는 것이다. 이들은 사실 디테일은 어찌 되든 큰 관심이 없다. 단지 보안 담당자가 어떤 방법을 써서라도 기업 보안 환경을 더욱 안전하게 만들 수 있는지가 궁금할 뿐이다. 그리고 이를 시각적으로, 특히 숫자로 증명해 주기를 원한다.
컴퓨터 보안 평가 기준의 ‘성배’라 할 수 있는 가장 중요한 핵심은 각 개인 및 기기에 대한 리스크 평가 결과이다. 모든 팀, 사업 부서, 그리고 지점에 걸쳐 전 직원의 보안 등급을 평가하고, 그 정보를 취합하여 하나의 조직적 정보로 가지고 있어야 한다. 경영진이 환영하는 정보는 바로 이런 것들이다..
물론 개별 값들을 참조하거나 분석하여 왜 특정 개인, 기기, 혹은 부서, 혹은 지점 등에서 더 자주 감염이 발생하는지, 더 맬웨어에 취약한지를 알아낼 수는 있을 것이다. 그리고 이 정보를 이용하여 전반적인 리스크 정도를 낮추는 것도 가능하다.
만일 당신의 회사가 아직도 탐지, 제거한 맬웨어의 전체 숫자에만 신경 쓰고 있다면, 위의 여러 가지 기준들 중 한, 두 가지를 도입하는 것만으로도 지금보다 훨씬 더 리스크를 줄일 수 있을 것이다. 건투를 빈다.
* Roger A. Grimes는 20015년부터 보안 칼럼니스트로 활약해왔다. dl-ciokorea@foundryco.com