Security Watch암호와 신용 카드 - 제3부

Jesper M. Johansson

목차

비대해진 업데이트 기술
일관성 없는 보안 메시지
기능 확인란 채우기 경쟁
도움 요청

지난 2회의 TechNet Magazine에서 필자는 보안 전문가와 IT 업계가 소비자에게 혼란을 주고 사실상 효과적인 보안 노력을 방해하는 양상에 대해 설명했습니다. 이 시리즈의 첫 2회에서는 소비자에게 잘못된 정보를 제공하고 로그온 워크플로의 부담을 가중시키고

잘못된 행동을 유도하는 문제점에 대해 집중적으로 살펴봤습니다. 지금까지 다양한 예를 통해 소비자의 보안을 우려하는 업계가 사실은 필요 이상으로 상황을 악화시키고 있음을 확인했습니다. 이번 시리즈의 마지막인 3부에서는 소비자에게 제공되는 가장 중요한 기술 중 일부가 어떻게 사용자의 기대에 부응하지 못하는지에 대해 살펴보겠습니다. 모든 내용은 최종적으로 도움 요청으로 이어집니다.

비대해진 업데이트 기술

전자적인 의미에서 안전함을 유지하기 위한 가장 기본적인 원칙이자 필수 요구 사항 중 하나는 소프트웨어를 항상 최신 상태로 유지하는 것입니다. 거의 모든 주요 소프트웨어 공급업체는 최소한 일부만이라도 소프트웨어를 최신 상태로 유지하기 위한 일종의 반자동 메커니즘을 보유하고 있습니다. 그러나 이 과정은 그리 간단하지 않습니다.

우선 소프트웨어가 많을수록 소프트웨어 업데이트도 많아집니다. 또한 많은 업체의 소프트웨어를 사용할수록 더 많은 업데이트 메커니즘을 다루어야 합니다. 이는 혼란을 유발하는 요인입니다.

예를 들어 Internet Explorer®를 기본 상태 그대로 두면 자동으로 업데이트가 수행됩니다. 그러나 Internet Explorer는 사실 다른 기술을 위한 컨테이너일 뿐입니다. 이로 인한 잠재적 영향은 2008년 CanSecWest 컨퍼런스에서 Shane Macaulay가 Java와 Adobe Flash의 취약점을 조합하여 Mac을 해킹한 사례를 통해 엿볼 수 있습니다. 칼럼 작성 시점을 기준으로 이 결함은 아직 공개되지 않은 상태였기 때문에 이와 관련된 세부적인 정보는 거의 없었습니다. 필자가 말하고자 하는 부분은 이 두 기술 모두 기본 제공 구성 요소가 아님에도 불구하고 인터넷에서 너무나 광범위하게 사용되고 있기 때문에 거의 모든 컴퓨터에 설치되어 있다는 점입니다. 이 두 가지 기술은 모두 최신 상태로 유지하기가 까다롭습니다. 각각 자동 업데이트 메커니즘이 있지만 자주 실행되지는 않습니다.

게다가 대부분의 최종 사용자는 이런 기술이 있고 업데이트가 필요하다는 사실조차 알지 못합니다. 많은 경우 이 기술은 컴퓨터의 OEM 이미지로 제공되기 때문에 소비자로서는 운영 체제와 구별할 방법이 없습니다. 최종 사용자 입장에서는 Windows ® Update에서 업데이트가 없다고 하면 그것으로 업데이트는 끝입니다.

두 번째 문제는 업데이트 메커니즘이 필요 이상으로 복잡한 경우가 많다는 점입니다. 완전 자동 모드가 없는 업데이트 메커니즘은 폭넓게 사용되기가 어렵습니다. 대부분의 사용자들은 업데이트 도구를 실행해야 한다는 사실을 모르기 때문입니다. 또한 대부분의 경우 업데이트를 설치하려면 관리자 자격이 필요합니다. 최악의 시나리오에서는 업데이트가 나왔다는 알림조차 관리자 자격이 있어야 받을 수 있습니다.

마지막으로, 사용자가 설치하지도 않은, 전혀 관계 없는 소프트웨어를 배포하는 데 소프트웨어 업데이트 기술을 이용하는 경우가 점차 일반화되고 있습니다. 툴바 따위가 그 예입니다. 소프트웨어 업데이트 기술은 원래 소프트웨어 업데이트 배포라는 특정 목적을 위한 기술이었지만 이제는 부가 소프트웨어를 배포하는 데 사용되는 기술로 변질되었습니다.

이러한 현상을 볼 수 있는 대표적인 두 가지 사례가 Microsoft® Windows Update 서비스(그림 1 참조)와 Apple Software Update(그림 2 참조)입니다. Apple과 Microsoft는 모두 각자의 업데이트 메커니즘을 사용하여 소프트웨어 업데이트뿐만 아니라 사용자가 원래 설치하지 않은 새 소프트웨어까지 배포하기로 결정했습니다.

fig01.gif

그림 1 Windows Update를 사용한 Silverlight 배포(더 크게 보려면 이미지를 클릭하십시오.)

fig02.gif

그림 2 Apple Software Update를 사용한 Safari 배포(더 크게 보려면 이미지를 클릭하십시오.)

Apple의 경우 사용자가 QuickTime만 설치했더라도 iTunes와 Safari 두 가지가 제시됩니다. 또한 재미있게도 두 가지 모두 기본적으로 선택됩니다.

Windows Update의 경우 업데이트 서비스를 통해 배포된 최근의 새로운 소프트웨어는 Silverlight™입니다. Microsoft는 과거에도 이 방법으로 새 소프트웨어를 배포했습니다. 다만 Microsoft는 새 소프트웨어를 설치하는 확인란은 기본적으로 비워 두었습니다.

업데이트 메커니즘을 사용하여 새 소프트웨어를 배포하는 이 방식으로 인해 사용자는 두 가지 문제를 겪게 됩니다. 첫째, 많은 사용자가 의도하지 않은 소프트웨어를 컴퓨터에 설치하게 됩니다. 주지하다시피 모든 소프트웨어에는 버그가 있고, 이러한 버그 중 일부는 잠재적인 보안 취약점이 될 수 있습니다. 그리고 이러한 취약점 중 일부는 결국 어떤 형태로든 공격에 이용됩니다. 결과적으로 몇몇 사용자는 소프트웨어 업데이트 메커니즘을 통해 컴퓨터에 배포된, 본인에게 필요도 없고 사용하지도 않는 소프트웨어를 통해 공격을 받게 됩니다.

두 번째 문제는 소프트웨어 업데이트 메커니즘의 가치에 대해 사용자들에게 잘못된 인식을 심어줄 수 있다는 점입니다. 소프트웨어 업데이트 메커니즘이 새 업데이트가 아니라 새 소프트웨어를 배포하는 데 이용된다는 사실을 알게 될 경우 사용자는 이 업데이트 메커니즘을 골칫거리로 여기고 사용을 중단할 수 있습니다. 소프트웨어 업데이트 메커니즘을 통해 받은, 본인은 사용하지도 않는 프로그램의 취약점으로 인해 공격을 받게 될 경우 사용자가 어떤 기분을 느낄지 상상해 보십시오.

건전하고 안전한 기술 생태계에 있어서 사용자의 안전을 지켜야 할 기술에 대해 사용자가 신뢰를 잃는 것보다 더 위험한 것은 거의 없습니다. 사용자가 신뢰를 잃은 기술은 외면받고 결국 도태되고 맙니다. 업데이트 기술과 같이 안전을 위해 중요한 기술이 도태된다면 기술 생태계 전체가 위험에 처하게 됩니다. Microsoft가 불법 복제 소프트웨어를 실행하는 것으로 밝혀진 컴퓨터에도 보안 업데이트를 배포하는 것은 이러한 기술 생태계를 보호하기 위해서입니다.

두 회사와 달리 Mozilla Firefox의 깨끗하고 목적이 분명한 업데이트 인터페이스에 대해 필자는 진심으로 경의를 표합니다(그림 3 참조). 필자는 Mozilla가 자체 Software Update 도구를 통한 추가 소프트웨어 배포의 유혹을 계속 뿌리칠 수 있기를 바랍니다.

fig03.gif

그림 3 업계에서 가장 깨끗한 편에 속하는 Firefox의 Software Update 인터페이스(더 크게 보려면 이미지를 클릭하십시오.)

일관성 없는 보안 메시지

업계 전체가 소비자를 향한 공통적인 메시지에 합의한다면 얼마나 좋을까요. 경쟁이 업계에서 필수적인 요소라고는 해도 소비자 입장에서는 보안이 무엇을 의미하는지를 알아야 합니다. 그러나 업계에서 서로 엇갈리는 메시지를 전달하는 한 소비자들은 그 의미를 알 수 없습니다. 솔직히 말해 기업들이 각자의 메시지에라도 일관성을 지키면 좋겠습니다.

업계 전체가 공통적인 메시지에 합의할 일은 아마 앞으로도 없겠지만 최소한의 일관성과 정직함은 필요합니다. 고객이 보안 기술에 대해 지속적인 신뢰를 갖는 것이 얼마나 중요한지 감안하면 업계 전체적인 개선이 필요한 상황입니다.

마찬가지로, 우리는 현재 실질적 가치를 제공하는 것이 무엇인지도 물어야 합니다. 예를 들어 필자는 바이러스 백신 소프트웨어가 오늘날 업계에서 사람들에게 각인시킨 것만큼 효과적이지도, 중요하지도 않다고 생각합니다. 필자의 7살짜리 아들이 사용하는 컴퓨터와 집안 부엌에 있는 컴퓨터를 살펴봅시다. 두 컴퓨터에는 모두 바이러스 백신 소프트웨어가 설치되어 있지만 처음 설치한 후 3년 동안 무언가 탐지했다는 경고가 뜬 적은 한 번도 없습니다. 바이러스 백신 소프트웨어를 버리자는 말이 아닙니다. 현재 바이러스 백신은 기술 생태계의 핵심 구성 요소입니다. 모두가 바이러스 백신 소프트웨어를 일시에 제거한다면 공격자는 재빨리 이러한 상황을 이용할테고 그러면 바이러스 감염도 증가할 것입니다.

필자가 말하고자 하는 바는 사용자가 보안 제품에서 정말 필요로 하는 기능이 무엇인지, 이러한 기능이 얼마나 효과적인지, 기업들이 이러한 필요성과 가치를 소비자에게 어떻게 전달할 수 있는지에 대해 업계가 고민해야 한다는 점입니다. 현재 사용자들에게는 서로 모순되고 과장될 뿐만 아니라 많은 경우 사실과 다른 보안 메시지가 과도할 만큼 전달되고 있습니다.

기능 확인란 채우기 경쟁

한 예로 보안 소프트웨어 업계를 보면 끼워넣기가 대세입니다. 현재 보안 소프트웨어는 대부분 전혀 무관해 보이는 기능들이 뒤섞인 꾸러미 형태로 배포됩니다. 게다가 사용자에게 실제로 필요한 기능이 무엇인지에 대한 정보는 제공되지 않습니다.

이러한 상황은 결국 누가 더 많은 기능을 넣느냐의 경쟁으로 치닫습니다. 기능 체크리스트는 제품을 비교하는 데 유용하긴 하지만 이와 동시에 필요하지도, 바람직하지도, 타당하지도 않은 기능까지 포함시키는 부작용을 일으킵니다. 그림 4부터 그림 7까지는 4개의 보안 소프트웨어 업체에서 제공하는 각각의 기능 확인표를 보여 줍니다. 해당 기능이 있음을 의미하는 확인 표시가 17개인 제품이 10개인 제품보다 더 뛰어나다고 단정할 수 있을까요?

사실 필자는 이 그림들을 보면서 우습다는 생각을 했습니다. 그림 4를 보면 제품은 새 버전이라는 이유로 확인 표시 한 개를 받았습니다. 그림 5의 제품은 업체측에서 말하기를 “불법 웹 사이트의 공격을 중단시키는 기능”으로 확인 표시 한 개를 받았습니다. 그림 6의 제품은 “온라인에서 어린이를 보호한다”는 이유로 추가 점수를 얻었습니다. 물론 어린이를 보호하지 못하는 제품은 아무도 원하지 않겠지요. 레지스트리 정리, 하드 디스크 조각 모음과 같은 기능을 보안 제품군에 넣은 1등 제품의 기능 목록은 독창적이기까지 합니다. 레지스트리 정리는 거의 필요가 없는 기능이고, 하드 디스크 조각 모음은 이미 OS에 포함되어 있는 기능입니다. 사실 Windows OS에는 그림 7의 17개 확인 표시 중 15개에 해당하는 솔루션이 이미 포함되어 있습니다.

fig04.gif

그림 4 최고급 제품의 확인 표시가 10개뿐입니다.(더 크게 보려면 이미지를 클릭하십시오.)

fig05.gif

그림 5 이 제품은 확인 표시가 11개이니까 더 낫겠지요.(더 크게 보려면 이미지를 클릭하십시오.)

fig06.gif

그림 6 잠깐만요, 이 제품의 확인 표시는 12개입니다.(더 크게 보려면 이미지를 클릭하십시오.)

fig07.gif

그림 7 그러나 17개의 확인 표시가 있는 이 제품이 최고의 솔루션이겠지요? (더 크게 보려면 이미지를 클릭하십시오.)

이러한 확인표 채우기 경쟁 추세는 혼란을 유발합니다. 이들 제품에는 운영 체제에 이미 포함된 기능이 중복되어 있을 뿐만 아니라(마케팅 문구에서는 이러한 사실을 명시하지 않음), 제품에서 주장하는 내용도 사실과 다릅니다. 예를 들어, 현존하는 어떤 보안 소프트웨어도 공격을 중단시키지는 못합니다. 그저 공격을 막는 데 도움을 줄 뿐입니다. 또한 어떤 제품도 공격자로부터 여러분의 존재를 완전히 숨길 수는 없습니다.

문제는 소프트웨어 보안 비즈니스의 주 기반이 다른 업체가 만든 제품에 의해 발생한 취약점으로부터 사용자를 보호하는 데 있다는 점입니다. 그러나 이러한 업체들이 각자의 고객을 스스로 보호하기 위한 기능을 지속적으로 개선함에 따라 보안 소프트웨어 업계의 비즈니스 모델은 위협을 받고 있습니다. 새로운 위험이 드러나면서 보안 소프트웨어 업계에서 제공할 기능의 여지는 많지만 업체들은 사실상 더 이상 위협이 되지 않는 위협에 대비한 방어가 아니라, 고객이 위험을 관리하도록 도와야 합니다.

도움 요청

3부로 구성된 이번 시리즈에서 한 가지만 기억한다면, 그것은 우리 업계가 사용자 및 고객에게 솔직해져야 한다는 점입니다. 우리는 위험에 대해, 그리고 사용자가 이 위험을 처리하는 방법에 대해 설명해야 합니다. 그리고 최종적으로는 사람들이 스스로를 보호할 수 있는 도구를 갖추도록 해야 합니다.

필자가 지금의 이런저런 “솔루션”에서 가장 우려하는 점은 이들로 인해 결국 장기적으로 보안이 약화될 가능성이 높다는 것입니다. 사용자, 심지어 IT 관리자들까지 이러한 제품들이 실제 보안 위험을 해결할 수 있다고 믿게 된다면(특히 제품이 해결할 수 있다고 오도하는 위험들) 우리는 사람들에게 진정 스스로를 보호하는 방법을 알려 줄 기회를 잃을지도 모릅니다.

암호 인증 시스템을 예로 들어 보겠습니다. 이 시리즈의 1부에서 설명한 암호 기반 인증 시스템에 대한 취약한 추가 기능이 실제로 자신을 보호한다고 믿는다면 이 사용자는 결국 더 해이해지고 더 약한 암호를 사용하게 됩니다. 이 시리즈에서 필자가 강조한 최악의 경우에는 기술로 인해 사실상 사용자는 새로운 기술이 구현되지 않은 경우보다 오히려 더 취약한 보안을 사용하게 됩니다. 이는 악의적인 사용자가 이러한 시스템을 무력화하는 방법을 알아낸다면 우리는 지금보다 더 좋지 않은 상황에 처하게 된다는 것을 의미합니다. 이로 인해 심각한 신뢰 문제가 발생하고 사람들은 진정한 가치를 제공하는 솔루션까지 외면하게 됩니다.

바로 지금 우리의 비즈니스를 지탱하는 기술 생태계를 보호하기 위한 조치를 취해야 합니다. 물론 혁신은 독려해야 하지만, 이와 동시에 혁신을 위한 혁신이 실제 위험 분석을 방해하는 일이 없도록 신중을 기해야 합니다. 그렇지 않으면 보안 연극(security theater)만 남게 되고 우리를 둘러싼 이러한 보안 연극은 결국 붕괴될 것입니다.

필자가 언급한 다른 예에서도 마찬가지입니다. 무의미한 보안 표시를 예로 들어 보겠습니다. 이러한 무의미한 보안 표시는 사용자에게 전혀 득이 되지 않으며, 사실과 다른 메시지로 사용자를 안심시키고, 온라인 서비스 공급자가 최적화를 하지 않도록 유도하여 사용자에게 간접적으로 해를 끼칩니다. 한편 사용자에게 올바른 정보를 제공하는 데 드는 비용은 일반적으로 수천 달러, 많아봤자 수만 달러밖에 되지 않습니다. 업체들에게 그들 자신의 고객과 비즈니스를 보호하는 데 이 정도의 비용을 투자하라고 요구한다면 지나치게 무리한 요구일까요?

여기에는 많은 의미가 내포되어 있습니다. 첫째, 사용자는 결정을 내릴 능력이 없고, 사용자가 결정하도록 두어서도 안 된다는 인식부터 고쳐야 합니다. 사용자는 교육을 통해 결정을 내릴 수 있습니다. 따지고 보면 사용자들은 컴퓨터를 구매하기로 결정하거나, 여러분의 사이트를 이용하기로 결정하거나, 여러분의 제품 또는 서비스 중 하나를 구매하기로 결정하는 등 지금까지 많은 결정을 내려 왔습니다. 안전하게 운전하는 방법을 배워야 하듯이 안전하게 컴퓨터를 사용하는 방법만 배우면 됩니다. 오늘날 공격은 사용자를 직접적으로 겨냥하며, 기술에 전적으로 의사 결정을 맡길 수는 없습니다. 대신 보안 기술은 의사 결정을 지원하는 시스템이 되어야 하며 적시에 적절한 정보를 제공하여 사용자가 이성적 결정을 내릴 수 있도록 해야 합니다.

모든 종류의 의사 결정을 사용자에게 보이지 않도록 숨기거나, 가용한 모든 데이터를 무성의하게 사용자에게 쏟아내도록 디자인된 보안 솔루션의 인터페이스는 최악의 사용자 인터페이스에 속합니다. 두 가지 방식 모두 잘못된 것입니다. 올바른 선택을 전적으로 기술에 맡길 수는 없으므로 전자는 사용자를 위험에 처하도록 합니다. 또한 기술이 비즈니스 목표에 방해가 된다고 인식할 경우 사용자는 머지 않아 해당 기술을 사용하지 않게 됩니다. 후자의 방식 역시 실패합니다. 사용자는 IP 주소, 프로세스 ID 및 기타 사용자에게 무의미한 데이터를 붙잡고 씨름하기는 원하지 않기 때문입니다. 사용자는 그저 사용자의 암호와 신용 카드가 컴퓨터에서 어떤 작업에 사용되는지만 알면 됩니다. 결국 바로 이것이 보안의 실질적 의미입니다.

Jesper M. Johansson은 보안 소프트웨어 분야의 소프트웨어 설계자이며 TechNet Magazine의 객원 편집자로서, 정보 관리 시스템 박사 학위를 소지하고 20여 년간 보안 분야에 종사해 온 기업 보안 MVP입니다. 그의 최근 저서로는 Windows Server 2008 Security Resource Kit가 있습니다.