Security Watch10가지 불변의 보안 법칙 돌아보기, 2부

Jesper M. Johansson

목차

제4 법칙: 악의적 의도를 가진 사람이 웹 사이트에 프로그램을 업로드하도록 내버려둔다면 그 웹 사이트는 더 이상 내 것이 아니다.
제5 법칙: 보안이 아무리 강력해도 암호가 취약하면 소용 없다.
제6 법칙: 관리자의 신뢰성이 컴퓨터의 보안 상태를 결정한다.
제7 법칙: 암호화된 데이터의 보안 상태는 암호 해독 키에 따라 결정된다.
결론

지난 달 TechNet Magazine에서 "10가지 불변의 보안 법칙 돌아보기"라는 유명한 에세이를 3부에 걸쳐 다시 다루는 연재 기사를 시작했습니다. 발표된지 8년이 지난 시점에 보안 법칙이 아직 유효한지를 한번 평가해 보고자 한 것입니다. 말하자면 정말 "불변"의 법칙인지 확인해보려는 의도입니다. (이 연재 기사의 1부는 microsoft.com/technet/archive/community/columns/security/essays/10imlaws.mspx에서 확인할 수 있습니다.)

처음 세 가지 법칙은 아직도 꽤 유용한 것으로 확인되었습니다. 이번 기사에서는 그 다음 네 개를 속속들이 파헤쳐볼 참입니다. 그리고 3부에서 마지막 법칙 3개를 살펴보고 8년 동안 궁리한 끝에 얻은 새로운 법칙도 소개하도록 하겠습니다.

제4 법칙: 악의적 의도를 가진 사람이 웹 사이트에 프로그램을 업로드하도록 내버려둔다면 그 웹 사이트는 더 이상 내 것이 아니다.

제4 법칙에 고개를 갸웃거리는 독자도 있을지 모르겠습니다. 다른 법칙은 특정 서비스가 아니라 일반 기능에 대해 고차원적으로 다루고 있기 때문에 그렇게 보일 수 있습니다. 처음 3개 법칙은 모두 컴퓨터가 다른 사람에게 장악되는 시나리오를 설명하고 있습니다. 그러다가 제4 법칙에서 갑자기 웹 사이트에 대해 이야기하고 있습니다.

제4 법칙을 이해하는 데에는 역사적 배경이 상당히 중요합니다. 이 배경은 웹이 아직 태동기의 생소한 개념이었던 2000년에 처음 발표되었습니다. Amazon이나 eBay 같은 사이트는 아직 한창 개발 중이었습니다. 웹 사이트에서 임의의 명령을 실행하는 형태의 공격은 많았지만 명령을 패치하는 형태의 공격은 아직 등장하지 않았습니다.

이러한 배경에서 Microsoft는 제4 법칙을 웹 사이트 운영자가 웹 사이트 서버가 어떻게 이용되는지에 대해 책임을 져야 함을 공론화하는 중요한 법칙으로 간주하고 있습니다. 이러한 개념은 엄청난 충격을 안겨 준 2001년 9월 Nimda의 출현을 계기로 탄생했습니다. Nimda는 다중 벡터 네트워크 웜으로, 전파하는 데 사용된 벡터 중 하나가 취약한 웹 사이트를 감염시키고 웜을 퍼뜨리도록 수정했습니다.

제4 법칙이 대두되던 시기는 웹 사이트 변조가 만연했던 시기이기도 합니다. Attrition.org에서는 이 시기의 여러 변조 사례를 보여 주는 사이트를 운영하고 있습니다(attrition.org/mirror/attrition/months.html). 이러한 변조 공격은 유명 사이트도 예외가 아니었습니다. 심지어 유수의 보안 교육 기관인 SANS Institute의 홈 페이지가 변조되기도 했습니다. 그림 1은 1998년 10월에 발생한 아리조나주 웹 사이트 변조 사례를 보여 줍니다.

fig01.gif

그림 1 아리조나주 웹 사이트 변조(더 크게 보려면 이미지를 클릭하십시오.)

문제는 당시에 사람들이 웹 사이트 변조 공격의 실질적인 피해에 대해서 제대로 알지 못했다는 점입니다. 단순히 유해 페이지만 제거하면 된다는 생각이 지배적이었습니다. 빈틈 없는 사람이라면 공격자가 사용한 허점을 해결했을 테죠. 뭐, 발견할 수만 있다면 말입니다.

사람들은 전체적인 그림을 볼 줄 몰랐습니다. 제4 법칙은 사람들이 웹 사이트가 변조되었을 때 눈에 보이는 현상이 아니라 발생할 수 있는 다른 피해를 인식할 수 있도록 하기 위한 것입니다.

그러나 아쉽게도 제4 법칙은 그다지 효과가 없었습니다. 제4 법칙이 발표된지 한참 지난 2004년까지도 "해커가 업로드한 웹 페이지만 제거하면 정상적으로 운영하는 데 문제가 없지 않습니까?"라는 질문을 지칠 정도로 많이 받았습니다. 과묵하고는 거리가 먼 필자는 당장 "Help: 해킹을 당한 경우 대처"(technet.microsoft.com /en-us/library/cc512587.aspx)라는 기사로 그들을 계몽하러 나섰습니다.

그런데 그로부터 4년이 더 지난 지금도 제4 법칙이 여전히 유효한지가 문제입니다. 프로그램만 업로드할 수 있으면 악의적인 사용자가 사이트를 장악할 수 있을까요? 더 엄밀히 말해 사이트를 장악하는 것일까요, 방문자를 장악하는 것일까요, 아니면 둘 모두를 장악하는 것일까요? 제4 법칙은 이를 구체적으로 밝히고 있지 않으므로 두 가지 가정을 모두 분석해보겠습니다.

사이트를 장악하게 되는지에 대한 대답은 "그렇다"입니다. 악의적인 의도를 가진 사람이 프로그램을 업로드하도록 둔다면 사이트를 내주는 셈이 됩니다. 단, 몇 가지 예외가 있는데 잠시 후에 살펴보도록 하겠습니다. 일반적인 웹 사이트의 경우 악의적인 의도를 가진 사람은 프로그램을 업로드함으로써 두 가지로 사이트를 이용할 수 있게 되며, 사이트에 업로드가 가능하다는 사실은 매우 중요한 점을 한 가지 시사합니다.

첫째, 사이트를 원하는 용도로 악용할 수 있습니다. 아동 포르노와 같은 불법 콘텐츠를 배포하기에 해커 자신은 추적을 피할 수 있는 사이트만한 장소가 어디 있겠습니까? 범죄자들은 당연히 자신의 사이트보다 다른 사람의 사이트를 통해 이러한 콘텐츠를 배포하려 할 것입니다.

둘째, 사이트에 프로그램을 업로드함으로써 사이트를 호스트하는 데 사용되는 시스템을 제어할 수 있게 됩니다. 물론 웹 서버에서 프로그램을 실제로 실행할 수 있다는 전제가 따릅니다. 아무 기능도 하지 않는 프로그램을 단순히 웹 서버에 업로드하기만 한다면 아무 소용도 없습니다. 하지만 악의적인 의도를 가진 사람이 그러한 프로그램을 실행할 수 있다면 사이트를 장악하고 그 자체를 원하는 용도로 이용하는 데 그치지 않고 다른 사이트나 시스템을 해킹하는 데 악용할 수도 있습니다.

앞서 언급한 사이트에 업로드 가능하다는 사실이 시사하는 바는 이러한 구체적인 문제보다 더 중요합니다. "Help: 해킹을 당한 경우" 기사의 요점은 공격자가 사이트를 해킹 한 후 어떤 용도로 악용을 했는지 정확하게 알 수 없다는 사실입니다. 공격저가 자신의 콘텐츠를 사이트에 업로드했다면 다른 방식으로도 악용했을 가능성이 충분히 있습니다.

가능한 악용 방식은 수도 없이 많습니다. 그리고 그것이 바로 이 문제의 핵심입니다. 악의적인 의도를 가진 사람이 웹 사이트를 호스트하는 서버에서 프로그램을 실행할 수 있다면 사이트와 그 기능을 완전히 장악하게 됩니다. 더 이상 여러분의 웹 사이트가 아닌 셈입니다.

사이트 방문자에게 입히는 피해에 대해서는 확실히 단정짓기가 어렵습니다. 1990년대 후반에 브라우저의 보안 허점 문제가 대두되었고 2004년경에는 상황이 크게 개선되었습니다. Internet Explorer, Firefox 등 현재 사용되는 유명 브라우저는 상당히 견고한 보안 기능을 자랑합니다. 솔직히 1990년대에 비하면 오늘날의 브라우저는 진정한 보안 요새라고 해도 과언이 아닙니다.

악의적인 의도를 가진 사람이 방문자에게 피해를 입힐 수 있는지 여부는 크게 두 가지 사항에 따라 결정됩니다. 첫째, 브라우저에 악용할 수 있는 허점이 있는지 여부입니다. 허점이 있을 수도 있겠지만 예전에 비하면 대부분이 사라졌습니다. 둘째, 사용자 자신이 보안 위험을 초래하도록 유도할 수 있는지 여부입니다. 곤란하게도 이러한 경우는 매우 많습니다.

웹 사이트에서 설치 여부를 물으면 무엇이든 무조건 설치해버리는 사용자가 너무 많습니다. 이 문제는 기술적으로 해결할 수 없기 때문에 대단히 심각합니다. 7, 8, 9월호 Security Watch 기사에서 이 문제에 대해 다루기도 했습니다. 제4 법칙과 관련해서 이는 악의적인 의도를 가진 사람이 방문자에게 보안 위험을 초래할 가능성이 매우 높아지는 원인이 됩니다.

위에서 언급한 예외는 쉽게 이해할 수 있습니다. 오늘날의 웹 사이트는 1990년대 후반에는 상상하지 못했던 많은 기능을 수행합니다. 예를 들어 Microsoft SharePoint 같은 내부 공동 작업 사이트도 보편화되었습니다. 이러한 사이트에는 적절한 사용 권한만 있으면 누구든지 프로그램을 업로드할 수 있지만 그렇다고 해서 사이트나 사용자가 위험에 노출되지는 아닙니다. 이러한 용도로 만들어진 사이트일 뿐입니다. 사이트에 액세스하는 데 필요한 권한이 있다는 사실만으로 사용자는 어느 정도까지 신뢰할 수 있는 사람으로 간주됩니다.

그런가 하면 셰어웨어 사이트도 있습니다. 과거에는 셰어웨어 사이트에 맬웨어가 게시되는 경우도 있었지만 원래는 소프트웨어를 공유하는 용도로 만들어진 사이트입니다. 소프트웨어를 공유한다는 사실 자체로 사용자에게 보안 위험이 되지는 않습니다. 간단히 말하면 이러한 사이트는 모두 보안을 유지하고 사용자가 사이트에 액세스하는 것 자체만으로 바로 위험에 노출되지 않도록 하기 위한 안전 조치를 갖추고 있습니다. 이러한 예외도 규칙에 부합한다고 할 수 있습니다. 따라서 악의적인 의도가 있든 없든 애초에 사람들이 프로그램을 업로드하도록 설계된 사이트도 새롭게 나타났지만, 적어도 개념상으로는 제4 법칙이 아직 유효하다고 하겠습니다.

제5 법칙: 보안이 아무리 강력해도 암호가 취약하면 소용 없다.

암호는 지난 수년 간 필자가 골몰하고 있는 주제입니다. 암호, 보다 일반적으로 공유 암호는 대상을 인증하는 매우 효과적인 방법입니다. 인간의 습성에 좌우된다는 사소한 문제만 제외하면 말이죠.

컴퓨팅의 태평기에 시분할 컴퓨팅이 처음 발명되면서 사용자를 구분할 필요성이 대두되었습니다. 시스템에서 영희의 데이터와 철수의 데이터를 서로 구분할 방법이 필요했던 겁니다. 이론적으로는 철수가 자신의 데이터를 영희가 읽지 못하도록 방지할 수 있도록 하는 것이 이상적이지만 당시에는 이러한 기능이 크게 요구되지 않았습니다.

이 문제의 해결 방안으로 개발된 것이 바로 사용자 계정과 암호입니다. 예전에는 컴퓨터 시스템마다 계정이 하나밖에 없었습니다. 그리고 대개 암호도 하나만 사용했고 보통 다음 중 하나였습니다.

  • 자녀의 이름
  • 배우자의 이름
  • 반려 동물의 이름
  • "God"(고급 사용자인 경우)

30여년이 지난 지금은 어떨까요? 인터넷의 수많은 웹 사이트와 여러 컴퓨터에서 수백 개의 계정이 사용되고 있습니다. 이러한 각 시스템에서는 다른 시스템과 같은 암호를 사용하지 말라고 경고합니다. 또한 강력한 암호를 사용하고 적어두지 말고 30-60일마다 한 번씩 변경할 것을 권장합니다.

보통 사람이라면 암호가 4개만 되도 매일 바꾸고 기억하기가 어렵기 때문에 안타깝게도 모든 시스템에 한두 개의 동일한 암호를 사용하게 되는 것이 실상입니다. 뿐만 아니라 다음을 암호로 사용하는 경우가 많습니다.

  • 뒤에 1을 붙인 자녀의 이름
  • 뒤에 1을 붙인 배우자의 이름
  • 뒤에 1을 붙인 반려 동물의 이름
  • "GodGod11"(고급 사용자인 경우)

지난 30년 동안 거의 나아진 것이 없는 셈입니다. 아직도 암호 분야에 관심을 가지고 연구하는 연구원들도 많습니다. 자세한 내용은 PC World 기사 "암호가 너무 많은가, 아니면 머리가 너무 나쁜가"(pcworld.com/businesscenter/article/150874/too_many_passwords_or_not_enough_brain_power.html)를 참조하십시오.

확실히 일반적으로 사용되는 암호는 보안 수단으로서 매우 취약합니다. 그러나 암호를 안전하게 사용할 방법도 분명 있습니다. 예를 들어 강력한 암호를 만들어 기록해둘 수 있습니다. 암호를 기록해둔다고 해서 무조건 문제가 되지는 않습니다. 하지만 보안과 관련해서 잘못된 조언을 여기저기서 듣다보니 사용자들이 암호를 기록해두는 것보다 차라리 모든 곳에 같은 암호를 사용하는 편이 낫다고 생각하게 된 것입니다.

사실 수많은 보안 논의가 한 가지 취약점으로 요약될 수 있습니다. 회사 VPN(가상 사설망)을 예로 들어 보겠습니다. 필자는 VPN 기술 관련 논의에 여러 차례 참여했습니다. 특히 공급업체가 매우 강력하지만 그만큼 느린 암호화 기술을 열심히 소개하고 공격자가 패킷을 가로채지 못하도록 암호화 키를 바꾸고 해독하는 방식을 설명하는 공급업체 평가 과정에 많이 참여했습니다.

그러나 그러한 모든 기술에서는 중요한 사실을 간과하고 있습니다. 공격자가 현재 사용 가능한 컴퓨팅 기술로 해킹하는 데 천만 년은 걸리는 패킷 스트림 해독을 시도하지는 않을 것이라는 사실입니다. 해킹하는 데 천만 년이 걸리는 암호화 기술을 이용하려고 네트워크 속도를 몇 배나 저하시킬 필요가 있을까요? 솔직히 지금부터 천만 년 후에 누군가 내 업무 전자 메일을 해독한다고 해도 아무 상관이 없습니다.

암호화가 중요한 취약점일까요? 공격자가 그보다 손쉬운 취약점을 악용할 가능성이 훨씬 큽니다. 바로 위에 나열된 정보 중 하나가 암호로 많이 사용된다는 점입니다.

모든 사용자가 6자리 또는 8자리 문자로 된 암호를 사용한다면 암호화 기술이 아무리 강력해도 별 소용이 없습니다. 때문에 지금은 스마트 카드나 일회용 PIN 코드 생성기 같은 보다 강력한 인증 형태를 사용하는 방향으로 전환되는 추세입니다.

이러한 인증 방법은 큰 성능 향상 효과를 제공하기는 하지만 항상 보안을 향상시키는 것은 아닙니다. 예를 들어 스마트 카드는 분실하거나 집에 두고 다니기 쉽습니다. 일회용 PIN 코드 생성기의 경우에는 목에 멋지게 두를 수 있는 신분증 홀더에 딱 맞는 크기입니다. 그런데 다음에 커피숍에 갔을 때 누군가 현재 사용 중인 일회용 PIN을 확인하고 신분증에서 사용자 이름을 읽는다면 약간의 임의성만 추측하여 해결한 후 회사 네트워크에 여러분 계정으로 연결할 수 있습니다.

제5 법칙은 확실히 아직도 유효하고 미래에도 계속 적용될 것입니다. 그러나 앞으로는 훨씬 더 보편적으로 지켜질 것으로 예상됩니다. 보안이 아무리 강력해도 암호가 취약하면 소용 없습니다. 보다 일반적으로, 보안이 아무리 강력해도 "인증이 취약"하거나 "취약점"이 있으면 소용 없다고 할 수 있습니다.

모든 IT 보안 전문가는 한 발짝 물러서서 전체적인 그림을 보지 않은 데 대해 책임이 있다고 할 수 있습니다. 강력한 보안 기술로 쉽게 해결 가능한 문제의 작은 부분에 집착하기가 쉽습니다. 결과적으로 아직 완화되지 않았거나 전혀 고려된 적도 없지만 모든 보안 기술을 무력화할 수도 있는 시스템상의 취약점을 간과하는 경우가 너무 많습니다.

예를 들어 사용자가 사용 가능한 이동식 장치를 통제하면서 아웃바운드 SSH(Secure Shell)나 암호화된 전자 메일 연결은 허용하는 조직이 얼마나 많습니까? 암호화를 사용하여 볼 수도 없는 데이터를 전송하도록 허용한다면 이동식 장치를 제한한다고 해서 데이터 손실을 얼마나 완화할 수 있겠습니까? 이것이 바로 앞으로 보안 전문가로서 우리가 해결해야 할 가장 중요한 문제입니다.

제6 법칙: 관리자의 신뢰성이 컴퓨터의 보안 상태를 결정한다.

필자는 오늘도 어김없이 들려오는 관리자만을 대상으로 한 해킹 사고에 대한 소식을 접하고 놀라곤 합니다. 심지어 이미 관리자인 경우에만 가능한 악용 사례도 있습니다. 지금 필자는 Black Hat 2008 컨퍼런스에서 돌아오는 길에 공항에 앉아 이 칼럼을 쓰고 있습니다. 이 컨퍼런스에서도 "루트 액세스 권한만 있으면 시스템을 장악할 수 있다"는 명제로 시작하는 프레젠테이션을 보았습니다.

한편으로는 대다수의 사람들이 이미 시스템 수정 권한이 있음에도 불구하고 시스템을 수정하는 것에 어려움을 느낀다는 사실이 위안이 되기도 합니다. 하지만 다른 한편으로는 사람들이 새로운 공격 방법을 발명하기 위해 애쓰고 나아가 그러한 공격으로부터 보호하기 위해 시간과 노력을 쏟아 붓는 것이 얼마나 의미 없는 일인지를 모른다는 사실이 실망스럽기도 합니다.

실상은 매우 단순합니다. 관리자(루트, 고급 사용자 또는 해당 역할을 지칭하는 모든 용어)는 해당 시스템이라는 세계에서 전능자라는 것입니다. 해당 사용자는 무엇이든 할 수 있는 능력을 지녔다는 말입니다.

이러한 류의 악의적인 사용자가 요란하고 교묘한 방식으로 권한을 악용하는 방법도 물론 있겠지만 악의적인 관리자가 들키지 않으려고만 한다면 그들이 하는 행위를 효과적으로 감시할 방법이 없습니다. 이러한 사용자는 자신의 흔적을 숨기고 다른 사람이 그렇게 한 것처럼 보이도록 할 수 있습니다.

이런 맥락에서 제6 법칙은 분명 어느 정도는 아직도 유효합니다. 컴퓨터에 대해 무한한 권한을 부여 받은 사람이 악의적인 의도를 품는다면 더 이상 그 컴퓨터는 여러분의 것이 아닙니다. 따라서 현실적으로 관리자의 신뢰성이 컴퓨터의 보안 상태를 결정한다고 할 수 있습니다.

그러나 몇 가지 추가로 고려할 사항도 있습니다. 첫째로, 컴퓨터의 관점에서 보면 관리자의 개념에는 해당 역할을 부여 받은 사람만 포함되는 것이 아닙니다. 해당 역할의 보안 컨텍스트에서 실행되는 모든 소프트웨어도 관리자라고 할 수 있습니다. 나아가 해당 소프트웨어의 작성자도 관리자 역할에 포함됩니다.

이는 상당히 중요한 점입니다. 제6 법칙에서 관리자의 신뢰성이 컴퓨터의 보안 상태를 결정한다는 의미가 표면적인 것보다 훨씬 광범위하기 때문입니다. 컴퓨터와 관련해서는 관리자가 관리 사용자의 보안 컨텍스트에서 실행되는 모든 프로세스를 의미한다는 사실을 잊어서는 안 됩니다. 그러한 사용자가 실제로 코드를 실행하려 하는지, 아니면 피해를 입히려는 의도를 가지고 있는지는 관계가 없습니다.

일반 사용자가 Windows 기반 컴퓨터를 관리자가 아닌 계정으로 불편 없이 사용할 수 있게 된 것은 최근의 일이기 때문에 더욱 유의해야 합니다. Windows Vista에 UAC(사용자 계정 컨트롤)가 도입된 주된 이유도 바로 이 때문입니다. 그러나 여전히 사용자의 관리 컨텍스트와 비관리 컨텍스트 사이에는 보안 경계가 없습니다. 따라서 제6 법칙은 현재 관리자인 사용자뿐만 아니라 관리자가 될 수 있는 모든 사용자에게 적용됩니다.

결론적으로 제6 법칙을 피하는 유일한 방법은 관리자가 아니라 진정한 표준 사용자로 시스템을 작동하는 것입니다. 아쉽게도 Windows Vista는 이 옵션으로 기본 설정되지 않으며 OEM(Original Equipment Manufacturer)에서 UAC를 완전히 해제하는 경우가 많습니다.

그러나 UAC는 우리에게 미래를 제시하고 있습니다. 가장 명확하게 드러나는 UAC의 기능은 그림 2에 나와 있는 권한 상승 프로세스입니다. 그러나 UAC의 가장 중요한 전략적 이점은 관리자로의 권한 상승이 아니라 처음부터 관리자 권한 없이도 컴퓨터를 효과적으로 사용할 수 있다는 점입니다. Windows Vista에서는 이를 가능하게 하기 위해 몇 가지 기능이 향상되었습니다. 예를 들어 이전 Windows 버전과는 달리 관리자가 아니라도 시간대를 변경할 수 있기 때문에 이동이 잦은 사용자에게도 굳이 관리자 권한을 부여할 필요가 없습니다. 앞으로 이러한 형태로 향상된 기능이 더 많이 등장할 것입니다.

fig02.gif

그림 2 가장 명확하게 드러나지만 중요하지는 않은 UAC의 기능인 권한 상승 대화 상자(더 크게 보려면 이미지를 클릭하십시오.)

제6 법칙은 현재는 물론 앞으로도 유효하게 적용될 것입니다. 그러나 사용자가 관리자 권한 없이도 컴퓨터를 사용할 수 있는 형태로 전환된다는 점이 제6 법칙을 완화하는 두 가지 주요 요인 중 하나입니다. 두 번째 요인은 오래된 개념인 필수 액세스 제어 시스템입니다.

필수 액세스 제어 시스템에서는 개체에 레이블이 사용되고 엄격한 규칙에 따라 개체 레이블이 다시 지정됩니다. 소프트웨어는 관리자의 직접적인 제어를 벗어나 이러한 레이블을 기준으로 개체에 보안을 적용합니다. 엄밀히 말하면 현재 구현에서는 관리자가 다양한 불법적인 방법을 통해 이러한 제어 권한을 다시 정의할 수 있는 경우가 많습니다.

그러나 그 근본 원칙은 기대할 만하며, 언젠가는 관리자의 능력을 제한할 수 있는 날이 올 것입니다. 하지만 관리자의 능력을 제한하는 방안이 마련된다면 실질적으로 해당 사용자가 더 이상 관리자가 아니라는 주장이 제기될 수 있습니다. 따라서 제6 법칙은 확실히 불변의 법칙이라 할 수 있습니다.

제7 법칙: 암호화된 데이터의 보안 상태는 암호 해독 키에 따라 결정된다.

제7 법칙은 모든 법칙 중에 가장 논쟁의 여지가 없는 법칙이라고 할 수 있습니다. 암호화를 모든 보안 문제를 해결하는 만병 통치약쯤으로 여기는 경우가 너무 많습니다. 그러나 현실적으로 암호화가 유용한 보안 도구이기는 하지만 절대로 그 자체만으로는 우리가 직면하는 대부분의 문제에 대한 해결책이 될 수 없습니다.

암호화는 우리가 마주치는 모든 곳에 사용되고 있습니다. Windows의 경우만 해도 암호, 파일, 웹 검색, 인증 등 다양한 곳에 사용되고 있습니다. 모든 암호화 기술이 해독 가능하도록 설계된 것은 아니지만 EFS(파일 시스템 암호화), 그리고 암호 및 사용자 이름을 저장하는 데 사용되는 그림 3의 자격 증명 캐시와 같이 해독 가능한 암호화 기술 중에는 중요한 기술들이 있습니다.

fig03.gif

그림 3 암호화 기술로 보호되는 Windows Vista의 자격 증명 캐시(더 크게 보려면 이미지를 클릭하십시오.)

EFS와 자격 증명 캐시는 모두 사용자의 암호에서 파생된 암호화 키로 보호됩니다. 이는 몇 가지 중요한 의미를 지닙니다. 우선, 복구 키를 지정하지 않는 한 사용자의 암호가 다시 설정(이전 암호를 입력하지 않고 새 암호로 설정)되면 이러한 위치에 저장된 모든 데이터가 손실됩니다.

그러나 이 기사의 주제와 관련해서 보다 중요한 점은 암호화 기술 자체에 매우 강력한 키와 프로토콜이 사용되고 키의 보안이 사용자의 암호에 따라 좌우된다는 사실입니다. 다시 말해 암호가 얼마나 강력한지에 따라 데이터의 보안이 결정되는 것입니다. 본질적으로 암호는 암호 해독 키(경우에 따라 보조 암호 해독 키)라고 할 수 있습니다. 즉, 다른 암호화 키를 해독하는 역할을 합니다.

이는 매우 중요한 사실입니다. 이러한 종속 관계는 IT 세계의 도처에서 발견됩니다. 몇년 전 VeriSign에 대해 사회 공학적 공격을 감행해 Microsoft의 이름으로 발급된 코드 서명 인증서를 2개 입수한 사람이 있었습니다. 코드 서명 인증서는 실질적으로 인증서에 명시된 엔터티가 암호화 키를 가지고 있는지를 확인하는 데 사용되는 암호화 키라고 할 수 있습니다.

그러나 이 경우 인증서를 요청하는 사용자가 인증서에 명시된 엔터티와 다릅니다. 즉, 공격자가 다른 사람의 이름으로 된 서명 키를 가지게 된 셈입니다. 키가 안전하게 보호되었을 수도 있지만 나머지 종속 관계를 분석하고 나면 심각한 결함을 발견하게 됩니다.

이러한 사실은 모두 암호 해독 키가 데이터 보안에 있어서 중요하지만 그 자체는 훨씬 취약한 암호로 보호될 수 있다는 사실을 입증하고 있습니다. 구현 담당자가 현존하는 가장 강력한 암호화 기술을 구축하고 암호 해독 키를 다른 보안 수단으로 보호했지만 이 2차 보안 계층에 중대한 허점이 있다는 사실을 자각하지 못한 경우를 많이 봐왔습니다. 암호화 기술을 구현할 때는 전체 보호 체인을 분석해야 합니다. 암호화하기만 한다고 해서 데이터가 보호되는 것은 아닙니다.

이런 맥락에서 제7 법칙도 아직 유효하다고 할 수 있습니다. 게다가 10개 법칙 중 가장 논쟁의 여지가 없습니다. 사실 보안과 관려하여 물리학 법칙에 가장 가까운 것이 바로 이 법칙입니다. 우리 모두 이 법칙을 통해 중요한 데이터의 전체 보호 체인을 분석해야 한다는 사실을 자각해야 합니다. 결론적으로 키에 가장 강력한 보호 기술을 사용하는 것보다는 낮은 수준의 보호만 요구되는 데이터를 암호하는 데에만 키를 사용하는 것이 중요합니다.

결론

지금까지 살펴본 7가지 법칙 모두 불변의 보안 법칙이었습니다. 각 법칙은 앞으로도 몇 년은 유효하게 적용할 수 있으며 한동안은 그 유효성이 크게 저하되는 일은 없을 것 같습니다.

사실 지금까지 살펴본 법칙들은 놀라운 선견지명의 산물이라고 할 수 있습니다. 그 중 제4 법칙이 유일하게 논쟁의 여지가 있어 보이지만 앞서 설명했듯이 제4 법칙 또한 불변의 법칙으로 간주해야 합니다.

다음 달에는 제8, 9, 10 법칙을 소개하면서 이 연재 기사를 끝냅니다. 또한 이러한 법칙에서 빠져 있는 모든 보안 측면에 대해서도 설명하겠습니다.

Jesper M. Johansson은 보안 소프트웨어 분야의 소프트웨어 설계자이며 TechNet Magazine의 객원 편집자로서, 정보 관리 시스템 분야 박사 학위와 20여 년 이상의 보안 관련 경력을 보유한 엔터프라이즈 보안 영역의 Microsoft MVP(Most Valuable Professional)입니다. 그의 최근 저서로는 The Windows Server 2008 Security Resource Kit가 있습니다.