Microsoft MVP성태의 닷넷 이야기
Windows: 12. 비스타는 안전한 윈도우인가? [링크 복사], [링크+제목 복사],
조회: 21625
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 



우선, 다음의 기사를 읽어보십시오.

비스타는 안전한 윈도우인가? 연재1
; http://vista.golbin.net/index.php?pl=756

재미있는 기사입니다. 만약 이 기사가 정말 맞다면, 개인적으로도 비스타의 안전성에 문제가 있다고 판단됩니다. 이것은 마치, 예전에 웹 브라우저상에서 악의적인 코드를 DHTML Edit 컨트롤을 사용하여 우회해서 실행시킨 것과 같습니다. 원천적으로 보안을 해결한 것이 아니라, 특정 부분에 대한 땜질식의 보안 강화를 시킨 것과 다를 바가 없다는 것인데요.

하지만, 위의 기사의 댓글을 보시면, "지나가던.." 님과 "Z.File" 님의 의견에서 UAC가 뜬다고 언급하고 있습니다. 문제의 단계는 "사진 4"번과 "사진 5"번 사이에 UAC 관리자 획득 권한 창이 뜨는 지에 대한 유무입니다.

댓글 등에서 이미 판결이 났지만, 그것은 분명한 UAC 확인창이었으니, 그 기사는 완전히 잘못된 정보를 유포하고 있는 것입니다. 혹시나, 몇몇 사람들이 기사만 보고, "댓글"을 읽지 않는다면 (실제로 RSS Feed에는 댓글이 실리지 않습니다.) 오해하기 딱 좋은 기사입니다. 그리곤, 그러한 사람들에 의해서, 무슨 대단한 공신력이 있는 사이트에서 분석이 나온 것처럼 퍼져나갈 수도 있을 테고요.




여기서 중요한 것은, "쿠도군" 님이 UAC 기능에 대한 이해가 그다지 정확하지 않다는 것입니다. 화면이 어두워지면서 별도의 데스크톱 보안 단위에서 실행되는 것이 분명한 UAC 확인창임에도 불구하고 그것의 대화창에 씌여져 있는 문구를 보고 UAC가 아니라고 한 것입니다.

솔직히, 이 기사를 보면서 느끼게 되는 것이 많군요. 저는 개인적으로 그 토픽에서 사용된 악성 코드를 직접 테스트해 볼 생각은 없었습니다. 즉, 저 역시 그 기사를 그대로 믿으려 했고 분명 심각한 보안 결함이라고 여겼습니다. 그런데, 다행히도, "지나가던.." 님과 "Z.File" 님이 직접 그 (주소가 알려지지 않았던) 사이트를 알아내는 수고로움을 더해서 테스트해 보신 후, 명백히 잘못된 정보라고 밝혀 주셨습니다.

그 두 분의 빠른 대응이 아니었다면, 정말 수많은 사이트들에서 비스타가 비하될 수 있었을 지도 모를 일입니다.




전체적으로 완전히 잘못된 기사이긴 하지만, "쿠도군"이 "의도"한 바를 생각해 봐야 할 것 같습니다. 즉, "UAC 확인창"은 실제로 대부분의 사용자에 의해서 간단히 "확인"으로 눌려질 수 있고 그로 인해 그다지 실질적인 보안 역할을 해주지는 못할 거라는 것입니다.

그럼, 쿠도군이 의도한 대로 보안 설정을 하는 방법이 과연 없을까요? 물론 있습니다. 방법은, "일반 사용자 계정"으로 로그인 하고, "로컬 보안 정책"의 "로컬 정책/보안옵션"에서 "사용자 계정 컨트롤: 표준 사용자 계정일 때 권한 상승 확인 방법 속성" 값을 "권한 상승 요청 자동으로 거부" 값으로 설정하는 것입니다. 그렇게 한다면, 관리 권한이 필요한 모든 동작들은 거부되게 됩니다.

하지만, 그것을 사용자가 원할까요?

여기서, 다시 이야기는 돌아가서 Windows XP 시절로 거슬러 올라가 볼 필요가 있습니다. 그렇습니다. Windows XP에서도 이미 그와 같은 보안 기능이 구현되어져 있었습니다. 관리자 계정이 아닌 일반 사용자 계정으로 로그인을 하게 되면, 아예 설치조차 안 되는 프로그램이 대부분이었습니다. 그런 경우, 사용자는 로그 오프를 한 다음 관리자 계정으로 로그인 하고 원하는 프로그램을 설치한 후 다시 일반 사용자 계정으로 돌아와야 했습니다.

문제는, 대다수의 Windows XP 사용자들이 그러한 불편을 원하지 않았으며 그로 인해 "관리자" 계정으로 컴퓨터를 사용했다는 것에 있습니다. 이쯤 되면, 질문은 오히려 바뀌어야 한다고 생각되어질 수 있겠습니다.

"
Windows가 정말로 안전하지 않은 운영체제인가? 
오히려 사용자들 스스로가 Windows XP를 안전하지 않은 상태로 사용하고 있었던 것은 아닌가?
"




[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 11/29/2022]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2007-01-08 12시19분
[WaterStone] 원문 글은 이미 지워졌군요... 함 보고 싶었는데...
사실 비스타의 UAC는 파워 유저에겐 불편한 기능임에 틀림없습니다만
일반 사용자들을 바이러스나 스파이웨어로 부터 보호하는데 기여를 할 것임은 분명해 보입니다.
다만 다수의 ActiveX를 사용하는 국내 여러 사이트와 편의적으로 어플리케이션을 개발하는 개발자들이
많은 코드를 수정해야 한다는 아픔이 물밀듯이 밀려온다는 것이지요.
[guest]
2007-01-08 01시21분
제가, 지울 것을 권했는데... 정말 삭제를 했네요. (블로그 저자 스스로도 다소 충격이 있었나 봅니다.)

어쨌든, UAC는 ... 개인적으로도 참 그렇습니다. 파워 유저들은 분명 불편함을 벗어나기 위해 "Disable UAC"나 "로컬 보안 정책" 등의 설정을 고려해 볼 수 있겠지만... 보안 관계상 어쩔 수 없다는 것을 또한 파워 유저들은 잘 알기 때문에 불편함을 감수하면서 켜야만 할지도 모르겠습니다. (저도 얼마 전부터 다시 켜고 있거든요. ^^;)

그래도, 이렇게 명시적인 제한을 두었다는 것을 계기로, 이후 개발되는 많은 프로그램들이 최소 권한(Least Privilege) 상태에 잘 적응했으면 합니다. ^^
kevin25

... 61  62  63  64  65  66  67  68  69  70  71  [72]  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12136정성태2/6/202017326Windows: 168. Windows + S(또는 Q)로 뜨는 작업 표시줄의 검색 바가 동작하지 않는 경우
12135정성태2/6/202022589개발 환경 구성: 468. Nuget 패키지의 로컬 보관 폴더를 옮기는 방법 [2]
12134정성태2/5/202021003.NET Framework: 884. eBEST XingAPI의 C# 래퍼 버전 - XingAPINet Nuget 패키지 [5]파일 다운로드1
12133정성태2/5/202018415디버깅 기술: 161. Windbg 환경에서 확인해 본 .NET 메서드 JIT 컴파일 전과 후 - 두 번째 이야기
12132정성태1/28/202021254.NET Framework: 883. C#으로 구현하는 Win32 API 후킹(예: Sleep 호출 가로채기) [1]파일 다운로드1
12131정성태1/27/202020241개발 환경 구성: 467. LocaleEmulator를 이용해 유니코드를 지원하지 않는(한글이 깨지는) 프로그램을 실행하는 방법 [1]
12130정성태1/26/202017498VS.NET IDE: 142. Visual Studio에서 windbg의 "Open Executable..."처럼 EXE를 직접 열어 디버깅을 시작하는 방법
12129정성태1/26/202023651.NET Framework: 882. C# - 키움 Open API+ 사용 시 Registry 등록 없이 KHOpenAPI.ocx 사용하는 방법 [3]
12128정성태1/26/202017999오류 유형: 591. The code execution cannot proceed because mfc100.dll was not found. Reinstalling the program may fix this problem.
12127정성태1/25/202017140.NET Framework: 881. C# DLL에서 제공하는 Win32 export 함수의 내부 동작 방식(VT Fix up Table)파일 다운로드1
12126정성태1/25/202018565.NET Framework: 880. C# - PE 파일로부터 IMAGE_COR20_HEADER 및 VTableFixups 테이블 분석파일 다운로드1
12125정성태1/24/202016052VS.NET IDE: 141. IDE0019 - Use pattern matching
12124정성태1/23/202017824VS.NET IDE: 140. IDE1006 - Naming rule violation: These words must begin with upper case characters: ...
12123정성태1/23/202019529웹: 39. Google Analytics - gtag 함수를 이용해 페이지 URL 수정 및 별도의 이벤트 생성 방법 [2]
12122정성태1/20/202015656.NET Framework: 879. C/C++의 UNREFERENCED_PARAMETER 매크로를 C#에서 우회하는 방법(IDE0060 - Remove unused parameter '...')파일 다운로드1
12121정성태1/20/202016354VS.NET IDE: 139. Visual Studio - Error List: "Could not find schema information for the ..."파일 다운로드1
12120정성태1/19/202018756.NET Framework: 878. C# DLL에서 Win32 C/C++처럼 dllexport 함수를 제공하는 방법 - 네 번째 이야기(IL 코드로 직접 구현)파일 다운로드1
12119정성태1/17/202018973디버깅 기술: 160. Windbg 확장 DLL 만들기 (3) - C#으로 만드는 방법
12118정성태1/17/202019985개발 환경 구성: 466. C# DLL에서 Win32 C/C++처럼 dllexport 함수를 제공하는 방법 - 세 번째 이야기 [1]
12117정성태1/15/202018843디버깅 기술: 159. C# - 디버깅 중인 프로세스를 강제로 다른 디버거에서 연결하는 방법파일 다운로드1
12116정성태1/15/202019502디버깅 기술: 158. Visual Studio로 디버깅 시 sos.dll 확장 명령어를 (비롯한 windbg의 다양한 기능을) 수행하는 방법
12115정성태1/14/202019752디버깅 기술: 157. C# - PEB.ProcessHeap을 이용해 디버깅 중인지 확인하는 방법파일 다운로드1
12114정성태1/13/202021534디버깅 기술: 156. C# - PDB 파일로부터 심벌(Symbol) 및 타입(Type) 정보 열거 [1]파일 다운로드3
12113정성태1/12/202021585오류 유형: 590. Visual C++ 빌드 오류 - fatal error LNK1104: cannot open file 'atls.lib' [1]
12112정성태1/12/202016815오류 유형: 589. PowerShell - 원격 Invoke-Command 실행 시 "WinRM cannot complete the operation" 오류 발생
12111정성태1/12/202020594디버깅 기술: 155. C# - KernelMemoryIO 드라이버를 이용해 실행 프로그램을 숨기는 방법(DKOM: Direct Kernel Object Modification) [16]파일 다운로드1
... 61  62  63  64  65  66  67  68  69  70  71  [72]  73  74  75  ...