View Single Post
2005-10-14, 10:07 AM   #1
casaubon
Moderator
 
casaubon's Avatar
 
Registered: Sep 2001
My Mac: iMac 24" 3.06GHz
Posts: 2,400
온라인
Mac OS X에서는 풀렸지만 윈도우즈에는 여전한 구조적 오류 다섯 가지


Five Architectural Flaws: Oct 3 2005





Five Architectural Flaws in Windows Solved In Mac OS X
맥오에스텐의 강점에 대해 짧게나마 쓴다는 것이 아예 윈도우즈 NT/2000/xp의 결점에 대한 장문의 글이 되어버렸다! 이번 글은 프로세서 관리와 애플리케이션, 보안에 관한 윈도우즈 코어 아키텍쳐의 문제 시리즈의 다섯 사례이다.
Wishlist for Mac OS X 10.5 Leopard 시리즈의 두 번째글을 쓰면서, 필자는 애플이 윈도우즈로부터 빌려온 아이디어와 윈도우즈가 빌려줄 수 있을 아이디어, 그리고 맥 오에스 텐이 이미 앞서 나가고 있는 아이디어를 상호 비교해 보기 시작하였다. 그런데 맥 오에스 텐이 이미 앞서 가고 있는 아이디어 하나만으로도 다섯 편의 글을 쓸만했다. 바로 이번 글이 그 첫 번째이다.


나쁜 아이디어가 왜 나쁜지 알아봐야 한다. 또한 주어진 문제를 푸는 것이 얼마나 중요하고 어려운지도 식별하는 편이 좋다. 이 글은 왜 이러한 디자인 결함이 마이크로소프트에게 있어서 중요한지, 그리고 윈도우즈 사용자들에 실제적으로 어떻게 문제를 일으킬지 알아본다.


우선 이 글은 프로세스 관리와 보안 관련 결함에 집중하도록 한다. 윈도우즈 레지스트리에 관련된 글은 별도로 또 써 놓았으며 그 글도 곧 올리겠다. 더 복잡해지기 전에 글을 시작하겠다.








Flaw 1 - Windows' Interactive Services

다른 모든 UNIX 배포본들처럼, 맥 오에스 텐은 여러가지 작업에 있어 대몬(daemon)이라 불리는 백그라운드 시스템 프로세서를 띄운다. 맥 오에스 텐에 사용자가 로그인 해서 들어가면, 특별한 보안 콘텍스트가 사용자용으로 만들어지고, 이 사용자의 자격에 따라 사용자가 돌리는 애플리케이션이 시작된다. 그리고 백그라운드 프로세스는 사용자-수준의 애플리케이션으로부터 리퀘스트에 반응할 수 있지만, 그래픽 인터페이스로 나타낸다거나, 사용자와 직접 접촉을 만들 수는 없다. 이들은 별도의 보안 콘텍스트이기 때문이다.


바로 이점이 보안에 있어서 중요하다. "interactive services"를 허용하는 윈도우즈에는 없는 기능이기 때문이다. "interactive services"는 시스템 프로세스를 루트(윈도우즈 용어를 빌자면, "Services running as LocalSystem"이다)에서 돌리도록 허용한다. 그렇게 하여 이 서비스는 그래픽 UI를 로그인 된 사용자에게 표시한다. (“데스크톱과 인터랙티브된다”) 한 MSDN 블로거를 인용하자면, “시스템에 결코 추가되어서는 안되는 정말 너무나 나쁜 아이디어이다.”


보안 콘텍스트를 윈도우즈식으로 섞어 버리면, 제한된 접근으로부터 악성 코드가 뛰쳐 나와서 바로 루트 콘텍스트로 들어갈 수 있게 된다. 즉, 전체 머신을 쉽게 차지할 수 있게 된다는 뜻이다. 이러한 윈도우즈-전용의 결함 악용을 Shatter Attack이라 부른다.


3 년 전, 마이크로소프트가 Shatter Attacks위협에 대해 응답한 바 있다. 당시 마이크로소프트는 이 문제가 알려져 있는 문제라 말하면서, 본질적으로 보안이 없거나 일반적으로 쓰이는 기능을 사용하지 말라는 주문만 하였다. (좀 더 앞서 나온 문건에서는 일반적으로 쓰이는 기능을 어떻게 사용하는지 나타났지만 말이다.) 마이크로소프트 측 설명에 따르면 이 공격은 로그인을 허용하는 서버나 웍스테이션, 터미널 서버처럼 로그인이 가능한 컴퓨터만 전염된다. 즉, Shatter Attack은 직접적으로 네트워크를 장악하는 것이 아닌, 여러분의 터미널 서버를 이용한다는 것이다. 물론 이 공격이 트러스티드 서버를 휩쓴 다음에도, 또다른 보안 허점이 나타난다.


마이크로소프트는 윈도우즈 비스타에서 드디어 interactive services를 제거하기로 결정내렸다. 대중에 이 문제가 나타난지 5년 후이다. 하지만 현재의 허술한 메커니즘을 사용하고 있는 모든 윈도우즈 서비스는 여전히 공격에 노출되어 있다.


여담인데, 이 사례에서 맥 오에스 텐의 보안이 윈도우즈보다 나은 이유는 그리 특별하지 않다. 그저 합리적이고 알려져 있는 보안 원칙을 따랐을 뿐이기 때문이다. Shatter Attack은 2002년 불거졌으며, 당시 애플은 맥 오에스 텐 보안 전략의 대부분을 완성한 이후로서 재규어를 내던 시기였다.


__________________
  Reply With Quote