들어가면서

User Account

윈도우 비스타의 사용자 계정 아이콘입니다.

윈도우 비스타에는 기본적으로 ‘사용자 계정 컨트롤(UAC; User Account Control)’이라는 기능이 들어 있습니다. 지금부터 편의상 UAC라고 부르겠습니다. 이번에 UAC를 포스팅 주제로 정하게 된 것은 예전에 윈도우 비스타 ‘꼼수’라는 글에서 UAC를 끄는 것이 좋다고 했던 일 때문입니다. UAC는 윈도우 비스타 보안의 핵심임을 인식하지 못하고 말이죠. 이제는 잘못을 바로잡고 싶습니다.

물론 ‘꼼수’라는 단어를 선택하고 문제가 발생할 수 있다고 알려 드리긴 했지만, 그렇지 않아도 UAC에 대한 잘못된 인식이 많은 시점에서 저의 한마디가 편견을 키우진 않았을까 하는 마음에 이 글을 쓰게 되었습니다. 그리고 겸사겸사 해서 UAC에 대한 내용도 다뤄 보려고 마음을 먹었습니다.


이런 창을 보신 적 있으세요?

UAC Dialog Window

사용자 계정 컨트롤 대화상자(출처: TechNet)

비스타를 사용하다 보면 이렇게 생긴 창들을 종종 보게 됩니다. 이 창이 바로 UAC 대화상자입니다. 물론 지금 설명하려고 하는 UAC를 사용하지 않는 시스템이라면 보지 못할 수 있습니다.

이 창은 시스템에 영향을 미칠 수 있는 작업을 하려고 하면 계속 진행할 것인지, 그만 둘 것인지에 대한 선택을 요구하고 있습니다. 하지만 이게 UAC의 끝은 아니랍니다.

위키백과에서 설명하고 있는 UAC에 대한 설명은 아래와 같습니다.

Search Icon

검색 아이콘

사용자 계정 컨트롤 (UAC)는 마이크로소프트윈도 비스타 운영 체제에서 처음 선을 보인 보안 기술이다. 관리자가 권한 수준을 높이는 것을 허용할 때까지 응용 프로그램들은 표준 사용자 권한으로 제한을 둠에 따라 운영 체제의 보안을 개선하는 데 중점을 두었다.

사용자 계정 컨트롤을 가지고 사용자는 관리자 권한을 얻을 수 있지만 사용자가 실행하는 응용 프로그램은 사용자가 더 높은 수준의 권한을 미리 승인하지 않는 한 그러한 권한을 얻을 수 없다. 사용자 계정 컨트롤은 사용자 인터페이스 권한 분리를 사용하여 관리자와 비관리자의 작업을 따로 떼어 놓는다.

UAC는 사용자에게 추가적인 권한을 자동으로 확인할 수도 있지만, 사용자가 직접 프로그램 아이콘에서 마우스 오른쪽 단추를 누르고 "관리자 권한으로 실행"을 눌러도 효과는 같다.

UAC가 켜져 있는 동안 UAC를 물어 보게 하는 작업은 다음과 같다:

  • 응용 프로그램의 아이콘에서 마우스 오른쪽 단추를 누른 뒤 "관리자 권한으로 실행"을 누른다.
  • %SystemRoot%의 파일을 %ProgramFiles%로 옮긴다.
  • 응용 프로그램을 설치하거나 지운다.
  • 장치 드라이버를 설치한다.
  • 액티브엑스 컨트롤을 설치한다.
  • 윈도 방화벽의 설정을 바꾼다.
  • UAC 설정을 바꾼다.
  • 윈도 업데이트를 구성한다.
  • 사용자 계정을 추가하거나 지운다.
  • 사용자 계정의 종류를 바꾼다.
  • 부모 제어를 구성한다.
  • 작업 스케줄러를 실행한다.
  • 백업해 두었던 시스템 파일들을 복원한다.
  • 다른 사용자의 폴더와 파일을 보거나 변경한다.

시간대를 바꾸는 등의 일반 작업은 관리자 권한을 요구하지 않는다. 게다가, 초기 버전의 윈도에서 관리자 권한을 요구했던 수많은 작업들(이를테면 중요한 윈도 업데이트를 설치하는 것)은 더 이상 비스타에 존재하지 않는다.


확실히 백과사전의 내용이 제가 설명하는 것보다 확 와닿는군요^^; 관련 링크들도 제공하고 있으니 한번 참고해 보시는 것도 좋을 것 같습니다.

사용자 계정 컨트롤(UAC)가 무엇이고 왜 필요한 걸까?

UAC Window

각종 UAC 대화상자들(출처: Microsoft 백승주님)

윈도우 비스타에 와서 이 기능이 처음 생겼습니다. ‘사용자 계정 컨트롤’이란 이 기능은 말 그대로 사용자의 계정을 조절하는 것과 관계가 있습니다.

그 동안 윈도우 비스타 이전의 Windows 운영체제(98, XP…)에서는 어떤 작업을 하더라도 운영체제 자체에서 아무런 제약을 하지 않았습니다. MS(Microsoft)는 컴퓨터를 편하게 다룰 수 있도록 사용자들에게 운영체제의 최고 권한을 가진 ‘관리자(Administrator)’계정을 사용하게 함으로써 컴퓨터 관리 및 운영의 모든 면을 컨트롤 할 수 있었습니다.

Quiet Shield Icon

UAC는 뭐지? 왜 중요할까?

하지만 관리자 계정은 보안에는 매우 취약했습니다. 사용자가 자의/타의로 바이러스나 스파이웨어 등 유해한 요소에 노출될 가능성이 컸고, 시스템 설정이 나도 모르는 새에 변경되어서 컴퓨터가 먹통이 되어도 운영체제 자체적으로 아무런 방어 수단이 없었던 것입니다. 그래서 MS는 관리자 계정에 대한 문제점에 주목했습니다.

‘항상’ 아무런 제약이 없는 관리자 권한으로 모든 작업이 진행되다 보니 이러한 문제점이 너무도 쉽게 생기게 되고, 이미 생긴 문제점에 대한 해결책도 찾기 어렵다는 것이었습니다. 그래서 윈도우 비스타에 와서는 ‘사용자 계정을 컨트롤 할’ 장치인 UAC를 만들게 되었습니다.

UAC의 핵심은 사용자에게 ‘관리자’ 계정이 아닌 ‘표준 사용자’ 계정을 부여하는 것이라고 할 수 있습니다. ‘표준 사용자’ 계정은 컴퓨터 사용에 관한 축소된 권한을 유지하고 있습니다. 이로써 관리자 계정이 가지는 많은 문제점들의 노출을 피한다는 해결책입니다.

덧붙여서: 이 문제는 윈도우 비스타 개발 이전부터 많이 회자되었던 내용입니다. 하지만 이제서야 MS에서 구체적인 해결책(UAC 등)을 내놓은 것은 시기적으로 많이 늦었다는 생각이 듭니다. 하지만 지금에 와서라도 해결하려는 모습을 보인 게 다행스럽기는 합니다.

UAC가 가지는 문제점들
Setting Icon

UAC가 가지는 문제점들, 하나 하나 체크해 봅시다!

  1. 잦은 UAC 대화상자의 출현으로 귀찮아졌다: 시스템에 영향을 줄 수 있는 작업들에 대해서 거의 모든 경우에 UAC가 뜨게 됩니다. 이전의 운영체제 사용에 비해 불편할 수 밖에 없는 부분입니다.

  2. 할 수 없는 작업들이 생겨 불편하다: 낮은 권한을 부여받다 보니 관리자 계정을 사용했던 이전의 윈도우 운영체제에 비해 불가능한 작업도 생겨서 불편해진 점이 있습니다.

  3. 호환성이 떨어져 프로그램이 제대로 작동하지 않는다: 마찬가지로 이전에는 관리자 계정 하의 프로그램들이 어떠한 작업을 하더라도 아무 문제 없이 작동했지만 윈도우 비스타에서는 UAC로 인해 프로그램들도 낮은 권한 아래에서 실행되다 보니 원하는 결과를 얻을 수 없을 때가 빈번해졌습니다.
왜 그럴까요? 윈도우 비스타 이전의 프로그램들은 기본적으로 ‘관리자 권한’하의 실행을 전제로 시스템의 모든 기능을 컨트롤할 수 있다고 가정해서 만들어 졌기 때문입니다. 저도 다른 건 몰라도 윈도우 비스타의 호환성 약화에 UAC가 큰 책임을 지고 있다고 생각했었습니다. 그래서 ‘꼼수’라는 글에서 UAC를 꺼서 호환성을 올리고 번거로움을 없애자는 이야기를 하기도 했습니다.

하지만 앞으로는 프로그램을 만들 때 표준 사용자 계정 권한을 염두에 두리라 생각합니다. 비유가 맞는지는 모르겠지만 2001년, 2002년에 Windows XP가 초기에 겪었던 낮은 호환성, 높은 사양 요구라는 문제에 당면했던 기억을 더듬어 보면 윈도우 비스타도 마찬가지로 시간이 해결할 수 밖에 없는 문제인 것 같습니다. 점차 문제가 해결되지 않을까 하고 생각합니다.

덧붙여서: 보안의 강화에 비례해서 사용자 편의성은 떨어지게 되어 있다고 생각합니다. 마음 같아서는 이 두 마리 토끼를 한꺼번에 잡고 싶지만 아직까지 많이 힘든 것 같네요.

UAC의 작동과 관련된 세부 사항들
padlock Icon

윈도우 비스타의 자물쇠 아이콘.


UAC의 작동은 크게 아래와 같이 나누어 집니다.
  1. 표준 사용자 계정 사용
  2. 파일 및 레지스트리 가상화
  3. 전자 서명의 확인
  4. 권한 상승
  5. 대화 상자 내 보안 기능
이 세부 사항들에 대한 내용들은 아래와 같습니다.
  1. 표준 사용자 계정을 사용함으로써 보안을 유지합니다. 관리자 권한의 편의성에 비례하는 높은 위험성에 대해서, 권한을 대폭 축소하고 보안 위협에 대처할 수 있는 표준 사용자 계정을 사용하게 합니다.

    표준 사용자 계정은 컴퓨터 이용에 필요한 최소한의 권한만 부여하게 됩니다. 권한의 감소는 사용자가 컴퓨터 시스템에 영향을 미칠 수 있는 요소들은 차단하게 되고, 그러한 작업들에 대해 사용자의 선택을 물어 보고 실행하거나 중지하는 것을 가능하게 합니다.

  2. 파일 및 레지스트리를 가상화 된 공간에 저장해서 시스템의 중요한 폴더 및 레지스트리를 보호합니다. 이전의 운영체제에서는 시스템의 중요한 폴더나 레지스트리를 모든 사용자가 나눠 쓰다 보니, 어느 한 사용자의 잘못이 모든 사람들에게 영향을 미치게 되던 문제가 있었습니다.

    그래서 UAC는 중요 폴더나 레지스트리를 사용자 별로 독립된 가상 공간에 저장합니다. 사용자가 윈도우 비스타에 로그인하게 되면 각자 따로 저장된 가상의 공간을 불러들여 사용하게 되는 것이죠. 이것으로 서로간의 영역을 침범하지 못하게 하여 전체 시스템의 신뢰성을 높이게 됩니다.

  3. 프로그램의 설치 및 실행 시 전자 서명을 확인합니다. UAC의 AIS(Application Information System)이 전자 서명을 확인한 후 프로그램이 신뢰되는 곳에서 만들어 졌는지, 아니면 누군가에 의해 수정되진 않았는지 하는 부분들에 대해서 판단하여 사용자에게 경고해 줍니다. 아래의 내용과 연결되는 부분입니다.

  4. 권한의 할당 및 상승에 대한 조절을 해 줍니다. 표준 사용자 계정을 사용하다가 그보다 높은 권한이 필요한 작업을 하게 되는 경우, AIS가 전자 서명을 확인한 뒤 상승된 권한이 필요한지 판단하여 알려 주고, 권한 상승에 관한 동의를 구하게 됩니다.
    또한 관리자 계정을 사용하고 있더라도 관리자 권한이 필요한 경우를 제외하고는 표준 사용자 권한을 할당하여 사용하게 하다가 관리자 권한이 필요해진 경우 권한을 상승시켜 주고, 동의를 구하게 됩니다.

  5. UAC 대화 상자 자체에 보안 기능을 탑재하고 있습니다. UAC 대화 상자는 Ctrl+Alt+Del 키를 눌렀을 때처럼, 다른 작업들은 할 수 없는 보안 데스크톱(Secure Desktop)화면으로 실행되게 됩니다.

    UAC 대화상자는 이전에 실행되던 작업들을 모두 봉쇄해서 시스템에 악영향을 미칠 수 있는 프로그램들이 UAC 창을 속이고(Phishing) 원치 않는 결과를 유발할 수 없도록 막게 됩니다. 만약 그러한 기능이 없다면 각종 스파이웨어나 바이러스들이 UAC를 마음대로 컨트롤하고 무력화 시켜서 보안에 큰 위협을 줄 겁니다.
UAC에 관련해서 도움이 될 정보들

1. 어떤 작업을 하면 UAC가 실행될지 예측하는 방법:
Control_panel_Shield_icon

제어판에서 흔히 볼 수 있는 방패(쉴드)아이콘입니다.


아이콘이나 설명 옆에 이러한 방패(쉴드) 아이콘이 붙어 있는지 확인하면 됩니다.
만약 이런 아이콘이 붙어 있다면 UAC에 의해 권한 상승이 필요하다는 이야기입니다.

2. 관리자 권한으로 실행하고 싶을때:

일부 프로그램은 관리자 권한으로 실행할 경우에만 실행됩니다. 이 경우 관리자 권한으로 실행하려면 마우스 오른쪽 버튼을 눌러서 [관리자 권한으로 실행]을 선택해 줍니다.
Right Button Menu

팝업 메뉴에서 선택해 줍니다.


3. 항상 관리자 권한으로 실행하고 싶을 때:

프로그램을 선택한 뒤 속성 창(마우스 오른쪽 버튼 -> 속성)의 [호환성]탭에서 [관리자 권한으로 이 프로그램 실행]을 체크하면 됩니다.
Properties Window

등록 정보 창에서 호환성 탭을 엽니다.


4. UAC 창이 너무 시끄럽다고(번거롭다고)느낄 때:

UAC를 잠잠하게 만들 수 있는 방법이 있습니다. 바로 Tweak UAC 라는 프로그램을 쓰면 된답니다. 이 프로그램으로 UAC를 끄고 켜는 것이 자유자재로 가능하고, 조용하게(quiet mode) 만들 수도 있습니다.

다운로드는 www.tweak-uac.com 에서 하면 됩니다.
Tweak UAC Window

트윅(Tweak) UAC 대화상자.


5. Power Toys를 사용해서 UAC를 좀 더 편리하게 사용:

자세한 내용은 Microsoft TechNet 웹사이트를 참조하세요.

결론 및 마치며

Key Icon

윈도우 비스타 보안의 키(Key)는 UAC 입니다.

위 문제점 부분에서 다루기도 했지만 많은 분들이 불편함을 느끼는 부분이 있습니다. 하지만 귀찮은 만큼(?) 보안은 더욱 강화되었다는 사실을 알아 주시면 좋겠습니다.

UAC는 그저 실행을 할 것인지, 말 것인지를 캐묻는 잔소리꾼이 아니라는 것을 알아 주셨으면 좋겠습니다. 앞에서 설명드린 여러 요소들이 한데 모여서 최종적으로 사용자에게 높은 신뢰성을 보장해 주는 보안 기능이 바로 UAC입니다.

다만 아쉬운 부분이 있다면 프로그램의 설치/삭제나 하드웨어 사항 변경 등 가끔 일어나는 작업에서 UAC 창이 뜨는 것은 괜찮습니다. 하지만 자주 사용하는 작업인 프로그램 실행 등에서는 매번 UAC 창이 일일이 떠서 사용자를 피곤하게 하지는 말았으면 합니다. 이 부분은 첫번째 실행 시에만 확인하고 차후에는 되묻지 않도록 개선했으면 좋겠습니다.

글이 많이 길어졌네요. 결론은 이렇습니다. 윈도우 비스타 보안의 핵은 'UAC'라고 해도 될 만큼 매우 중요한 기능입니다. 호환성 문제 등으로 어쩔 수 없이 UAC를 꺼야 하는 경우를 제외한다면, 조금 번거우시더라도 윈도우 비스타의 튼튼한 방어선인 UAC를 사용해 주셨으면 합니다. 막강한 보안 기능, 사용해 줘야 되지 않겠습니까.

지금까지 읽어 주셔서 고맙습니다. 마지막으로 관련 링크들을 소개하고 저는 한숨 돌리겠습니다. ^^*

관련 링크

추천
,