김명호, 한국마이크로소프트 NTO
출처 : 컴퓨터월드 2004년 4월호
TwC란 무엇인가?
최근의 컴퓨팅 환경은 개인용 컴퓨터와 인터넷의 보편화와 함께 생산성, 통신, 오락 등의 분야를 중심으로 일상 생활의 모든 분야에 두루 영향을 미치고 있다. 전기와 가스, 수도 등의 사회 기반 기능과 마찬가지로 이제는 컴퓨팅 환경 또한 기반 기능의 하나로 간주된다. 전기와 가스, 수도 등의 기반 기능은 잠재적인 위험성이 항상 존재함에도 불구하고 일상 생활에서 보편적으로 사용하는 이유는 이들이 충분히 신뢰할만하기 때문이다. 그러나 근래의 컴퓨팅 환경은 잦은 보안 사고, 개인정보 누출, 빈번한 다운 등으로 충분한 신뢰를 얻지 못하고 있다. 물론 이러한 문제는 개인용 컴퓨터와 인터넷 사용자의 기하급수적 확산과, 그에 따라 예전에는 크게 고려할 필요가 없었던 다양한 새로운 위협이 그 주요 원인일 것이다.
마이크로소프트의 "신뢰할 수 있는 컴퓨팅"(TwC)은 전기와 가스, 수도 등과 같은 수준으로 신뢰할 수 있는 컴퓨팅 환경을 제공하는 것을 의미한다. TwC는 지속적이고도 전사적인 노력으로 2002년 1월에 공식적으로 시작되었다. TwC를 달성하는 것은 쉬운 일이 아니며 수년, 혹은 수십 년이 걸릴 수도 있다. 마이크로소프트에서는 현재의 보안 이슈들을 기준으로 설계 과정을 개선하여 신뢰를 기본 목표로 하는 시스템을 개발하는 것을 크게 강조하고 있다. 취약점이 전혀 없는 제품을 개발하는 것은 불가능할지 모르지만 향후 제품에서는 취약점의 심각성을 크게 감소시키는 데 큰 발전을 가져 올 주요 일정을 제시할 수 있을 것으로 기대하고 있다.
TwC의 구성 요소
TwC는 보안(security), 프라이버시(privacy), 안정성(reliability), 비즈니스 무결성(business integrity)으로 구성된다.
- 보안(Security)
악의적인 공격으로부터 시스템의 데이터, 무결성, 가용성을 안전하게 보호하고, 공격으로 인한 장애로부터 신속하게 회복할 수 있도록 한다.
- 프라이버시(Privacy)
모든 개인이 자신의 사적 정보를 제어할 수 있도록 하며, 모든 제품과 온라인 서비스는 공정한 정보 관리 원칙을 준수한다.
- 안정성(Reliability)
제품에 상시 의존할 수 있고, 필요할 때마다 사용할 수 있으며, 기대하는 수준으로 동작하도록 한다.
- 비즈니스 무결성(Business Integrity)
고객과 개방적이고도 투명한 방법으로 대화하고, 제품과 서비스의 이슈들을 강조하며, 고객들이 적절한 솔루션을 찾을 수 있도록 돕는다.
보안, 프라이버시, 안정성은 그 품질을 향상시키기 위한 프레임워크가 제시되어 있다. 개별 프레임워크는 설계(Design), 디폴트(Default), 배치(Deployment), 대화(Communication)로 각각 구성된다. 예를 들어 보안 품질 향상을 위한 프레임워크는 설계에 의한 보안(Secure by Design), 디폴트에 의한 보안(Secure by Default), 배치에 있어서의 보안(Secure in Deployment), 그리고 대화로 구성되며, 이를 간략히 SD3+C라고도 한다. 이와 마찬가지로 프라이버시는 PD3+C, 안정성은 RD3+C 프레임워크가 각각 제시되어 있다.
보안 프레임워크
보안과 관련된 문제는 패치 급증, 패치 적용 시간의 감소, 적용의 복잡성 증가 등으로 인한 고객의 실망으로 요약할 수 있다. 다음 그림은 패치 배포와 이를 적용할 수 있는 시간적 여유에 대한 변화를 보인 것이다. (단위: days) | |
혹자는 이와 같은 문제가 마이크로소프트의 높은 점유율에 의한 단품(monoculture) 시장의 문제이라 주장하기도 한다. 그러나 악의적 위협이 존재하는 한 어떤 업체의 어떤 제품도 근원적으로 보안을 보장할 수 없음은 너무나 자명하다. 보안에 대한 고객의 신뢰가 없이는 사업 자체가 존립할 수 없으므로 보안은 도덕적 요구뿐만 아니라 사업적 요구이기까지 한 것이다. 마이크로소프트는 TwC를 통해 안전하고 보안이 크게 강화된 제품과 서비스를 제공할 것이라는 약속과 함께 보안을 공식적인 최고의 이슈로 선언하게 된 것이다. 다음은 보안 프레임워크를 설명한 것이다. |
SD3+C | |
Secure by Design | 설계와 아키텍처, 구현 등의 모든 측면에서 보안을 고려한다.(Built for Security) |
Secure by Default | 최소 권한으로 디폴트를 설정하여 침투 가능 영역을 축소한다.(Configured for Security) |
Secure in Deployment | 보안과 관련된 교육, 가이드라인과 도구 등을 제공한다.(Supported for Security) |
Communication | 보안에 대하여 분명히 약속하고, 커뮤니티와도 적극 활동한다.(Connected for Security) |
보안 프레임워크의 각 구성요소에 대하여 지금까지 기울인 노력과 그 성과는 다음과 같다.
- Secure by Design
개발 과정을 위하여 12,000 명이 넘는 개발자들에게 보안 훈련을 시행하였으며, 전사적으로 보안에 대해 각별히 노력할 것을 요구하고 있으며, 3rd 파티에 의한 리뷰를 수행하였다.
조직적 측면에서는 보안 사업부(Security Business Unit)과 TwC 팀을 구성하였고, 보안 교육 프로그램을 꾸준히 계속하고 있으며, 업무 성과 평가에 보안을 포함하기로 하였다.
또한 미래를 위한 대비 차원에서 새로운 보안 전략인 NGSCB를 출범하였고, 보안 관련 연구개발비를 20억 달러 이상으로 증액하였다.
- Secure by Default
이전 시스템에서는 기본적으로 모든 기능의 사용 권한을 최대로 설정하였다. 그러나 TwC 이후에 공개된 Windows Server 2003의 경우 최소 권한으로 설정함으로써 공격 가능 영역을 60% 이상 축소시킬 수 있었고, 암호가 없이는 네트워크 액세스를 허락하지 않도록 하였다. IIS 6.0의 경우 기본적으로 설치 혹은 실행되지 않도록 하였고, 사용을 희망할 때 자동으로 설정 마법사가 실행되도록 하였다.
디폴트 설정은 다단계로 보호하여 그 효과가 몇 배로 배가되도록 하였다. 보안 게시판 MS03-007에 게시되었던 DAV의 버퍼 오버런에 관하여 예를 들어 보면 Windows Server 2003에서는 전체 서브시스템을 재작성하고 품질을 향상시켜 그러한 문제가 발생하지 않도록 하였다. 설령 문제가 발생하더라도 IIS 6.0이 동작하지 않도록 기본 설정되어 있다. IIS가 실행 중이더라도 IIS 6.0은 DAV가 기본적으로 동작하지 않도록 되어 있다. DAV가 동작하도록 설정되었더라도 기본적인 URL 길이를 통하여 침투를 방지한다. 모든 조건이 만족되지 않더라도 일반적 사용자에 상응하는 수준의 '네트워크 서비스' 권한만 가지도록 하였다.
- Secure in Deployment
보안 강화를 위한 참조 아키텍처, Pattern과 Practice 등의 가이드라인을 제공하고 서비스 팀에서 Security Assessment Program을 제공하였다. 또한 보안과 관련된 도구와 시스템을 제공하였는데 대표적으로 Windows와 Office Update, MBSA(Microsoft Baseline Security Analyzer), SUS와 SMS, URLScan, IIS Lockdown, SQL security tools 등을 들 수 있다.
또한 Windows 2000은 상용 운영체제 가운데 최고 보안 등급인 Common Criteria 인증 EAL4를 획득하였다. 이 과정에서 다른 어떤 운영체제보다 더 포괄적인 시나리오에 의해 평가되었으며, 정부기관뿐만 아니라 민간업체를 위한 배치 및 운영 지침을 포함하고 있다.
패치의 경우 패치의 복잡도, 패치 적용의 위험성, 패치의 크기, 다운타임 등을 크게 축소시키기 위하여 노력하고 있으며, 모든 제품에 패치 배포 자동화 기능을 확대하였다.
- Communication
보안 대응 센터를 개설하여 IT Pro와 개인 사용자를 위하여 특화된 정보를 제공하고, 인터넷 공격에 대해 보다 효과적으로 대응하고 있으며, Protect Your PC 캠페인을 전개하고 있다.
개발자를 위한 지원도 강화하여 보안 기능을 고려한 프로그래밍을 위한 최고의 지침서 "Writing Secure Code" 제2판을 출간하였고, MSDN에도 보안 가이드라인을 제공하고 있다.
위급한 경우에도 고객과의 대화 창구를 안전하게 보호하기 위하여 핵심 인프라를 집중적으로 보호하였다. 또한 범죄 행위에 대하여 법적 대응도 강화하고 있다.
특히 커뮤니티와의 공조를 강화하기 위하여 다양한 형태의 공유 소스 프로그램(Shared Source Program)을 제공하고 있다. 대표적으로 Government Security Program(GSP)는 정부기관이나 국제기구가 마이크로소프트의 플랫폼을 직접 조사, 실험하고 그 품질을 확인하도록 함으로써 정부가 보다 안전한 인프라를 구축하는 데 협력하고 있다.
커뮤니티와 공조하는 또 다른 예로 OIS 가이드라인을 수용한 것을 들 수 있다. OIS 가이드라인은 사용자의 관심사를 최우선으로 고려하여 취약점에 대처하기 위한 업계 표준이다.
이와 같은 보안 프레임워크의 가시적 성과는 Windows 2000 Server와 (TwC가 최초로 적용된) Windows Server 2003의 비교에서 극명하게 드러난다. 제품이 공개된 후 270일이 지난 시점에의 Critical 및 Important 보안 게시판 개수를 비교해 보면 Windows 2000 Server의 경우 36개인 반면 Windows Server 2003은 6개에 불과하다.
차세대 보안 기술 NGSCB
NGSCB(Next Generation Secure Computing Base)는 새로운 하드웨어 및 소프트웨어 설계를 사용하는 윈도우 플랫폼을 위한 새로운 보안 기술의 명칭이다. NGSCB는 팔라디움(Palladium)으로도 알려져 있으며, Intel, AMD, nVidia를 포함한 다양한 업체에 의해 후원되고 있다. 최초 버전은 기업 환경에 치중하고 있으며 차세대 윈도우 시스템인 롱혼(Longhorn)의 일부로 포함될 것이다.
NGSCB는 현재 우리가 윈도우 시스템이라고 이해하고 있는 운영체제의 내부에서 그와 함께 동작하는 별도의 축소된 운영체제를 제공한다. 이러한 별도의 운영체제를 넥서스(Nexus)라고 하며, 넥서스 환경에서 동작하는 애플리케이션과 서비스를 NCA(Nexus Computing Agent)라고 한다. 이처럼 운영체제 내부에 다른 운영체제가 동작하는 상황을 설명하기 위하여 표준 모드(혹은 좌측모드, LHS)와 넥서스 모드(혹은 우측모드, RHS)로 구별한다. NGSCB는 프로세스 분리, 밀봉된 스토리지, 안전한 입출력 경로, 증명 기능으로 구성된다. |
- 프로세스 분리
NGSCB는 시스템 램의 일부분을 "가려진" 영역으로 확보하며, NCA는 이 영역에서만 실행된다. 가려진 영역은 그 영역에서 실행중인 NCA나 그 NCA가 신뢰하는 프로세스에 의해서만 액세스 될 수 있다. NGSCB는 표준 램에서도 동작하겠지만 가려진 기억장치 스킴을 지원하기 위하여 새로운 CPU와 칩셋이 요구된다.
- 밀봉된 스토리지
하드 디스크에 기억된 데이터도 그 데이터와 연관된 NCA나 그 NCA가 신뢰하는 다른 소프트웨어에 의해서만 액세스 될 수 있도록 자동으로 암호화된다. 암호화 서비스는 NGSCB-기능이 있는 모든 머신의 마더보드에 내장될 OEM-사인된 SSC(Security Services Component)에서 찾게 된다.
- 안전한 입출력 경로
마우스와 키보드 입력은 안전한 (암호화) 경로를 통과한 후 넥서스에 전달함으로써 넥서스 모드 애플리케이션의 입력에 대한 로깅 공격을 방어한다. 출력의 경우 NCA는 안전한 경로를 통과한 후 그래픽 어댑터와 교신하며, 넥서스 모드의 단순한 XML-기반의 그래픽 서비스가 NCA들을 위한 인터페이스 윈도우에 실제 그리기 기능을 수행한다. 입출력을 위한 안전한 경로는 현재와는 다른 입출력 장치, USB, 그래픽 어댑터를 요구한다.
- 증명 기능
증명은 어떤 프로그램이 데이터를 서명하고 보증하는 과정이다. 증명 기능을 통해 수신측에서는 그 데이터가 확인 가능한 소프트웨어 스택에 의해 구성된 것을 확인할 수 있다.
NGSCB는 새로운 유형의 CPU, 칩셋, 그래픽 어댑터, 입력장치 및 마더보드를 요구하므로 현재의 하드웨어에서는 동작하지 않는다. 또한 NGSCB를 고려하여 개발된 소프트웨어에만 유용한 기능이다. 그러므로 NGSCB의 실질적 정착을 위해서는 업계의 광범위한 지원이 필수적으로 요구된다. 그러나 이 모든 문제에도 불구하고 NGSCB는 지금까지 대부분의 운영체제가 제공해 온 것에 비해 크게 발전된 수준의 보안 기능을 제공할 수 있을 것으로 기대된다.
TwC의 현재와 미래
TwC는 일시적이거나 일회성의 캠페인이 아니라 지속적이고도 전사적인 노력과 투자를 요구하는 장기간의 비전이다. TwC는 또한 건전한 컴퓨팅 환경을 희망하는 모든 사람들의 문제이기도 하다. 지난 2년의 성과를 돌이켜 보면 그 동안의 노력이 결코 헛되지 않았지만 그 어떤 희망적 기대에도 불구하고 TwC는 아직 초기 단계이며, 머나먼 여정이 기다리고 있음도 알고 있다. 마이크로소프트의 TwC에 대한 의지는 지대한 것이며 주요 제품을 필두로 모든 제품의 기능적 요구 이상으로 보안을 강조하고 있다. 예를 들어 차세대 윈도우 시스템인 롱혼의 개발을 연기해 가면서까지 보안을 더욱 강화한 Windows Server 2003의 SP1과 Windows XP SP2를 먼저 제공할 예정이다. 롱혼은 NGSCB를 제공하여 새로운 개념의 보안 기능을 선보일 것이다. 마이크로소프트가 이처럼 보안에 대한 리더십을 적극적으로 행사하려는 것은 보다 많은 사용자를 확보한 제품을 공급하는 기업으로서의 윤리적, 사업적 책임을 다하고자 하기 때문이다.
본 기고에서 상세히 다루지는 않았지만 프라이버시와 안정성 또한 신뢰할 수 있는 컴퓨팅의 핵심적 요소이다. 근래 심각한 문제로 인식되고 있는 스팸 메일은 프라이버시가 제대로 보호되지 않을 때 발생하는 문제를 단적으로 보여주고 있다. 비즈니스 무결성은 법률, 재정과 회계, 인적 자원, 마케팅 등의 모든 면에서 인정받을 수 있는 기업 문화를 위한 것이다.
http://cafe.naver.com/jungboboan.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=776&
'한땀한땀 > Microsoft' 카테고리의 다른 글
Microsoft 제품 주기 검색 (0) | 2011.04.27 |
---|---|
Two Factor Auth with ADFS 2.0? (0) | 2011.04.26 |
Outlook Anywhere with RSA authentication (0) | 2011.04.25 |
Trustworthy Computing (0) | 2011.04.22 |
Windows Server 2008 Step-by-Step 가이드 (0) | 2011.04.18 |