보안 전문가들이 감수해야 하는 6가지 불편한 진실

InfoWorld

사실상 전세계의 거의 모든 회사는 해커들이 악용할 소지가 있는 취약점 수천 가지를 갖고 있다. IT 분야에 종사하고 있다면 폭탄 발언이 아니란 것쯤을 알 것이다. 누구나 알고 있는, '상식'과 마찬가지의 일이다.

아무리 보안에 투자하더라도 IT의 취약점을 완전무결하게 없애기란 불가능하다. 기업은 해커들이 이런 일상적인 취약점을 악용하지 못하도록 IT 예산의 상당 부분을 컴퓨터 보안에 할당한다. 이렇게 하는 이유는 간단하다. 충분히 많은 보안 계층을 구축해 놓으면 해커들이 더 쉽게 공격할 수 있는 다른 표적을 찾기 때문이다.

컴퓨터 보안 솔루션이 광고에 나온 대로 구현되지 않는다는 것은 공공연한 비밀이다. '완벽하게 공격을 방지하는 지능형 보안 시스템' 모두가 제 기능을 못 할 운명을 타고탔다. 보안업체와 IT가 공유하는 보안에 대한 장밋빛 희망은 꿈같은 계획에 불과하다. 그냥 최선을 다하는 것이 최선이다.

다음의 6가지 불편한 진실은 오늘날 보안 솔루션이 기대에 못 미칠 수밖에 없는 이유, IT 종사자와 산업이 불완전한 보안 솔루션으로 인해 불가피하게 초래될 문제점 가운데 최소한 일부를 감수해야 하는 설명해준다.

방어 기술의 불완전한 배치
업무 환경에서 사용하고 있는 모든 장치에 보안 소프트웨어를 설치할 수 없는 상황으로, 이 때문에 완벽한 방어 체계를 갖추기란 매우 어려운 일이다. 보안 솔루션은 극히 일부의 플랫폼과 버전에서만 제 기능을 발휘한다. 그런데 소비자가 이용하는 플랫폼과 버전은 이보다 훨씬 다양하다. 구형 기기와 일부 운영 시스템을 지원하지 않는 솔루션이 있다. 반대로 가장 최근 출시된 OS와 기기를 지원하지 못하는 수도 있다.

복잡한 BYOD 환경이 구현되면서 네트워크 보안이 힘든 정도를 넘어 불가능한 상태로 변화했다. 보안 업체들이 모든 플랫폼을 지원하는 것도 아니다. 누구도, 심지어는 IT도 네트워크에 연결된 장치를 파악하지 못하고 있다는 것이 불편한 진실이다. 스마트폰, 태블릿, 서브 노트북 등 수 많은 기기가 네트워크에 연결되어 있지만, 이를 제대로 파악하지 못하고 있다. OS도 마찬가지이다. 윈도우, 리눅스, OS X, 더 나아가 누구도 들어보지 못한 독자 개발 OS도 있다. 가상 자산인지 물리적 자산인지도 파악해야 한다. 가상 머신이라면 미래에도 존재할지가 불확실하다. 기업 호스트 또는 누군가의 휴대용 기기에 기반을 둔 기기일 수 있다. 회사 또는 계약업체 소유일 수도 있다.

장치와 플랫폼을 지원하더라도 이를 발견하고 보안 솔루션을 배치하는 것은 불완전한 일이다. 보안 솔루션이 지원하지 못하는 장치가 존재할 수밖에 없다. 네트워크나 사이트 연결성 문제, 차단된 방화벽, 오프라인 자산, 레지스트리나 로컬 데이터베이스 오류, 별개의 보안 도메인, OS 버전 변경 등 여러 이유 때문이다.

여기에 OSI 모델의 8번째 계층으로 불리곤 하는 정치적, 관리적 방해가 있다. 또 기본적으로 보안에서 배제되는 시스템, 부서, 비즈니스 부서, 경영진이 있기 마련이다. 제아무리 훌륭한 회사 자산 보안 계획이라고 하더라도 여기에는 배치가 불가능하다.

결국, IT 보안 부서는 일부 기기에 보안 소프트웨어를 설치할 수 없다는 불편한 진실을 감수해야 한다. 따라서 보안 솔루션이 소프트웨어를 설치한 기기와 문제가 있는 기기를 알려주는 것이 아주 중요하다. 이는 최소한의 요건이 되어야 한다. 이를 바탕으로 공통점을 찾아 가능한 많은 장치에 소프트웨어를 설치하려 노력해야 한다.

그러나 소프트웨어 설치는 가장 먼저 직면하는 도전과제에 불과하다.

보안 기술 배치 및 모니터링 인력 부족
우수한 컴퓨터 보안 솔루션을 사들이고도 이를 제대로 배치하지 못하는 사례가 많다. 많은 투자를 한 솔루션을 평가하는 데 수개월을 소비한 끝에 구석에 처박아 놓고 마는 것이다. 또는 기업 활동에 중요한 업무를 처리하는데도 부담을 안고 있는 소수 직원에게 새 솔루션 배치를 맡긴다.

이 직원은 며칠 만에 솔루션을 배치하는 영웅 같은 업적을 일궈내야 한다. 그리고 해당 장치와 저지해야 하는 위협의 '가짜' 전문가가 된다. 최선을 다해 장치를 구성해야 한다. 그리고 며칠 또는 몇 주 동안 그럭저럭 쓸만한 기능을 구현한다.

이후에는 본래 맡은 중요 업무에 시간을 뺏기게 된다. 얼마 지나지 않아 새로 도입한 보안 도구 모니터링 시간이 급감할 것이다. 누구도 긍정 오류를 추적해 기록할 시간이 없다. 경고에 대한 후속 조치도 마찬가지이다. 오래 지나지 않아 장치에서 계속 경고가 발생한다. 그런데 모든 경고가 제대로 감시되지 않고 있는 보안 장치의 '잡음' 속에서 사라지고 만다. 버라이즌(Verizon)의 데이터 침해 사고 보고서에 따르면, 로그와 경고를 제대로 모니터링 했다면 방지를 하거나 문제점을 더 빨리 발견했을 사고가 전체의 90%에 달한다. 배치에서 비효과적인 사용까지 이어지는 불가피한 순환구조를 감안하면 크게 놀랄 일은 아니다.

스스로 알아서 유지관리를 하는 컴퓨터 보안 장치는 없다. 적합한 팀과 자원, 집중적인 노력을 투자해야 목표한 기능에 가까운 기능을 수행한다. 기업은 과감하게 자본재를 매입한다. 그러나 운영 비용과 인력 증가를 꺼린다. 이 경우, 반드시 문제가 발생한다. 이런 우를 범해서는 안 된다. 보안 기술을 도입하기에 앞서 충분한 인력을 준비해야 한다.

단 하나의 약점만 찾으면 되는 해커들
한 회사가 1,000개의 웹 서버 가운데 999개를 완벽하게 패치 및 설정했다고 가정하자. 해커들이 이 회사를 공격하는 방법은 간단하다. 취약점 스캐너를 실행시켜 공격할 도메인 이름이나 IT 주소 범위를 찾으면 그만이다. 1,000개의 컴퓨터 스캐닝이나 1개의 컴퓨팅 스캐닝을 하는 데 걸리는 시간에는 큰 차이가 없다.

일반적으로 취약점을 스캐닝하면 서버마다 최소 하나 이상의 취약점이 드러난다. 이 수가 수십 개에 달할 수도 있다. 해커는 취약점 스캐닝을 완료한 후, 그 결과를 바탕으로 가장 먼저 취약점 공격을 수행할 지점을 판단한다.

이렇게 하나의 취약점을 찾기만 하면 되는 원리는 이메일을 이용한 악성코드 캠페인에도 적용된다. 수많은 직원들에게 악성코드가 첨부된 메시지를 보내면, 최소한 한 명의 직원이 이메일을 열어 해커의 지시를 그대로 따른다. 나는 지난 몇 년간 피싱 방지 교육을 위한 모의 해킹 시험에 수십 차례 관여했다. 첫 번째 모의 해킹에서 피싱 공격에 넘어가는 직원의 비율이 25~50%에 달한다. 모의 해킹을 통과한 사람들을 대상으로 하는 후속 모의 해킹에서는 이 비율이 계속 감소를 하지만, 매번 피싱 공격에 넘어가는 사용자가 있다.

인력 구성이 복잡할수록 방어를 강화하는 것도 더욱 어려워진다. 최근 발생한 대형 해킹 사고 중에는 계약업체를 악용한 사고들이 있다. 예를 들어, 가장 피해가 컸던 해킹 사고 중 하나인 2013년 소매 업체 체인인 타겟(Target) 사고의 경우 HVAC 계약업체를 악용했었다.

때론 가장 높은 수준의 보안책을 갖춘 회사를 표적으로 삼을 수도 있다. 역대 가장 정교한 해킹 공격 중 하나가 여기에 해당한다. 아주 지능적인 해커 집단이 오랜 기간 평판을 쌓은 보안 회사인 RSA의 보안을 침해한 사례다. 이들 해커는 패치가 되지 않은 구식 소프트웨어를 이용한 공격을 감행했다. 이후 감염된 스프레드시트 파일을 전송해 보안 시스템을 뚫었다.

포렌직 조사 결과에 따르면, 사용자들은 다섯 차례 이상 열려고 하는 파일이 감염됐다는 경고 메시지를 받았다. 시스템의 기본값은 이 경고를 수용하는 것이다. 그러나 매번 경고를 무시하는 선택을 했다. 해커들은 시스템에 침입한 후, RSA가 가장 강력하게 보호하고 있는 시큐어ID 키 포브(Key Fob)의 디지털 비밀을 탈취했다. 그리고 이를 이용해 미국 방산업계의 거인인 노스롭그루먼(Northrop Grumman)과 록히드마틴(Lockheed Martin) 등 최종 표적을 공격할 방법을 찾았다. 자신의 보안을 완전히 숙지해도, 공격자들은 비즈니스 파트너의 취약점을 공격, 이를 당신을 표적으로 삼은 공격에 악용할 것이다.

설사 완벽하게 취약점을 찾아 없애는 능력을 갖추고 있다 할지라도, 공격자는 취약점 분석 도구로 인터넷에 노출된 애플리케이션과 운영 시스템 하나하나를 분석한다. 그리고 소프트웨어 개발 업체 중 하나가 중요 패치를 발행하는 때를 기다린다. 제아무리 효과적인 패칭 체계를 갖췄어도 취약점 공개 후 몇 시간 이내에 공격 도구를 개발해 활용할 수 있는 해커보다 더 빨리 소프트웨어를 패칭 할 방법은 없다.

즉시 공격 전술을 바꿀 수 있는 해커들
방어자는 기본적으로 공격이 발생했을 때 대응을 하는 존재다. 따라서 공격자보다 느릴 수밖에 없다. IT와 보안 산업이 새로운 위협을 효과적으로 극복하는데 걸리는 시간은 약 2~3년이다. 그리고 공격자는 그 전에 새로운 공격 또는 변형된 공격 방식을 도입한다.

1980년대 후반 부트 바이러스가 극성을 부렸을 때, 사용자에게 컴퓨터 부팅 전 플로피 디스크를 빼도록 알리는데 몇 년이란 시간이 소요됐다. 플로피 드라이브가 사라졌지만, 부트 바이러스는 여전히 존재한다. 지금은 USB에서 자동 실행되는 바이러스가 부트 바이러스 기능을 한다. 1990년대에는 매크로 바이러스가 만연했었다. 그리고 모르는 첨부 파일을 열지 말라고 알릴 수 있게 되기까지 10년이 걸렸다. 아직도 이를 홍보하는 중이다.

공격자들은 기법을 조금만 바꿔도 다시 성과를 일궈낼 수 있다. 예를 들어, 우리는 가짜 안티바이러스 메일을 경고했지만, 사람들은 가짜 디스크 정리 프로그램에 속고 말았다. 또 OS를 패칭 하라고 경고하자, 공격자들은 유명 브라우저 앱을 도구로 악용했다.

그 결과 최근 들어서는 감염된 웹사이트를 출발점으로 하는 공격이 상당수를 차지하고 있다. 포르노 사이트보다는 가장 크게 신뢰하거나 매일 방문하는 웹사이트가 감염원이 될 확률이 더 높다. 지금은 브라우저 창이 제안한 실행 파일을 실행시키거나, 링크를 클릭하지 말라고 경고하려 노력하고 있다. 또 이메일의 로그인 정보 요청에 응답하지 말라고 경고하려 노력하고 있다. 이를 효과적으로 가르쳐 전파하는데 얼마나 많은 시간이 소요될지 모르겠다.

우리는 공격자들이 PC를 감염시키지 못하도록 막는 방법을 터득하지 못한 상태다. 그런데 공격자들은 이미 모바일 기기를 표적으로 삼고 있다. PC에서 직면한 위협 가운데 대부분이 모바일에서 반복되고 있는 실정이다. 게다가 한 플랫폼에서 터득한 교훈을 다른 플랫폼에 이전해 적용하는 능력은 더 떨어진다. 그리고 사물의 인터넷이 가속화되면 상황이 더 악화될 것이다. 스마트 TV, 자동차, 토스터, 옷 등 모든 것이 공격 표적이 될 것이기 때문이다.

위험 우선순위 책정 역량 부족
그러나 컴퓨터 방어에 있어 가장 큰 문제는 여러 위험을 대상으로 우선순위를 책정하는 역량이 미흡한 것이다. 수백 가지 위험 중에는 다른 위험보다 발생 확률이 높은 위험들이 일부 존재한다. 가장 등급이 높은 위협과 가장 발생할 확률이 높은 위협으로 나뉠 것이다. 그리고 후자에 보안 초점을 맞추는 회사들이 성과를 일궈내는 경우가 더 많다.

필자는 IT 보안 담당자들에게 회사에서 구현한 모든 컴퓨터 보안 기술, 예산, 각 프로젝트 및 운영에 배정한 인적 자원을 목록으로 정리할 것을 자주 요구한다. 그리고 발생할 확률이 가장 높은 위험이 뭔지 묻는다. 그런데 대답이 제각각이다. 동일한 대답이 2개 이상 나오는 경우가 드물다. IT 보안 담당자들의 의견이 일치하지 않는 상황에서 환경을 효율적으로 방어할 수 있을까?

첫 번째는 패칭을 하지 않은 소프트웨어, 두 번째는 소셜 엔지니어링이 문제가 되는 사례가 아주 많다. 패칭을 하지 않은 소프트웨어의 경우, 패칭 해야 하는 수백 종의 애플리케이션 가운데 패칭을 하지 않은 1~3개의 애플리케이션이 외부인의 공격 대다수를 초래한다. 다른 모든 부분을 희생양 삼아 이들 소수 애플리케이션의 패칭에 초점을 맞출 회사들이 얼마나 될까? 아마 거의 없을 것이다.

소셜 엔지니어링의 경우, 위태위태한 예산을 가지고 모든 사용자를 대상으로 한 교육 프로그램을 진행할 수 있을까? 지금까지 최신 위협과 이를 저지하는 방법에 관해 직원들을 제대로, 그리고 정기적으로 교육하는 사용자 교육 프로그램을 접한 적이 없다. 과거에 사로잡혀 있는 교육 프로그램이 절대 다수다. 10년 전에나 효과가 있었을 솔루션을 제시한다.

기업이 도입한 안티바이러스 프로그램에 대해 알려주는 프로그램은 극소수이다. 이런 상황에서 사용자가 가짜 이메일에 넘어가지 않도록 만들 수 있을까? 웹 페이지를 방문했을 때, 모르는 실행 파일을 내려받고 실행하지 말라고 알려주거나, 평판이 높은 웹사이트를 방문해 감염되는 사례가 많다는 사실을 알려주는 프로그램도 극소수이다. 또 동료 직원들이 가장 많이 희생양이 되는 위협과 이를 방지하는 방법을 알려주는 프로그램은 얼마나 될까? 만약 당신의 프로그램이 위에서 설명한 내용을 적용하고 있다면 알려주기 바란다. 그러면 보안에 있어 제대로 된 회사를 최소한 하나는 알고 있다고 말할 수 있기 때문이다.

문제의 진짜 근원을 해결하는 솔루션은 없어
보안 솔루션은 저마다 특정 플랫폼의 특정 위협 세트를 해결해준다. 특정 취약점에서 초래된 특정 문제를 (불완전하게) 극복하려고 시도를 한다. 그런데 해커들은 새로운 취약점을 공략하기 시작한다. 다시 말해, 방어자는 절대 이길 수 없는 디지털 세상의 게임인 것이다.

그러나 이런 공격의 이면에는 한 가지 기본적인, 그리고 해결되지 않을 문제점 하나가 존재한다. 인터넷에 팽배한 익명성이다. 누구나 다른 사람을 가장해 이메일을 보낼 수 있다. 누구나 당신의 서버가 수용하거나 서버에서 전송할 네트워크 패킷을 보낼 수 있다. 누구나 기본적으로 다른 사람이라고 주장할 수 있다. 이런 점 때문에 악당들을 찾아 처벌하기가 더욱 힘들다. 이것이 사실인 한, 악의를 가진 해커를 저지하기란 절대 불가능하다.

모든 상황에서 모든 사람의 진짜 신원을 드러내지 않고도 악의적인 익명성을 없애는 방법들이 있다. 물론 절대적인 익명성을 보장해야 하는 상황도 많다. 일부 또는 모든 참여자의 익명성이 도움되는 포럼 등의 상황이 여기에 해당한다. 이는 사회의 기초를 이루는 진리다.

그러나 필자의 경우, 진짜 신원이 확인되지 않는 사람의 이메일은 수신을 거부한다. 익명으로 이메일을 보내는 사람들은 악의적인 행위에 관여하는 사례가 아주 많다. 나는 윈도우 컴퓨터보다 애플 컴퓨터에 알려진 취약점이 더 많다고 지적했다가 '살해 위협'을 받았다. 검색 엔진에서 'Quit twitter'를 검색해 보기 바란다. 자신과 가족에 대한 위협 또는 괴롭힘 때문에 소셜 미디어 사이트를 탈퇴한 사람들에 대한 수 많은 검색 결과를 만날 수 있을 것이다. 신원을 감춘 사람들의 이메일을 수신하지 않아도 악의적인 행동을 완벽하게 방지할 수는 없다. 그러나 이를 크게 줄일 수 있다.

특정 상황에서 허용되는 또는 허용되지 않는 익명성 수준에 여러 당사자가 쉽게 합의하는 방법을 갖고 있었다면 인터넷 범죄가 감소하고, 인터넷 범죄자를 더욱 쉽게 찾아 처벌할 수 있었을 것이다.

물론 하나의 해결책만으로는 이런 문제들을 해결할 수 없다. 보안 솔루션 공급자는 물론 더 큰 인터넷 환경에서의 협력을 바탕으로 한 조율된 노력이 필요하다. 그리고 우리 모두 이런 노력에 참여한 데 따른 수혜자가 된다. 보안에 있어 올바른 방향에 초점을 맞추면 서비스 분산 공격이 없는 인터넷, 과거의 유물이 된 스팸, 크게 쇠약해진 악성코드로 상징되는 세계가 구현될 수 있다. editor@itworld.co.kr