windows vista 호환성 이슈와 isv 를 위한 가이드

26
Windows Vista 호호호 호호호 ISV 호 호호 호호호 이이이 이이 이이이이이이이 이이이이 이이이이이 2006 이 12 이 18 이

Upload: teenie

Post on 27-Jan-2016

82 views

Category:

Documents


6 download

DESCRIPTION

Windows Vista 호환성 이슈와 ISV 를 위한 가이드. 이승희 책임 마이크로소프트 프리미어 기술지원부 2006 년 12 월 18 일. 목차. 윈도우즈 비스타와 패러다임의 전환 호환성 이슈 어플리케이션 개발 가이드 어플리케이션 호환성 점검 도구 참고 자료 마이크로소프트로부터 얻을 수 있는 지원. 윈도우즈 비스타와 패러다임 전환. 윈도우즈 비스타 (Windows Vista) 새로운 지평 , 혹은 패러다임의 전환 안전하고 믿을만한 컴퓨팅 환경을 위한 시도 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

Windows Vista 호환성 이슈와 ISV 를 위한 가이드

이승희 책임마이크로소프트 프리미어 기술지원부2006년 12월 18일

Page 2: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

목차

• 윈도우즈 비스타와 패러다임의 전환• 호환성 이슈 • 어플리케이션 개발 가이드• 어플리케이션 호환성 점검 도구• 참고 자료 • 마이크로소프트로부터 얻을 수 있는 지원

Page 3: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

윈도우즈 비스타와 패러다임 전환

• 윈도우즈 비스타 (Windows Vista)– 새로운 지평 , 혹은 패러다임의 전환– 안전하고 믿을만한 컴퓨팅 환경을 위한 시도

• 악의적인 위협으로부터 공동체를 방어• 예측 / 관리 가능한 컴퓨팅 환경을 제공

• 마이크로소프트 – 새로운 선택과 과감한 포기 , 기존 아키텍쳐의 개선– 개발 단계부터 호환성을 고려한 다양한 기제 포함 (Program

Compatibility Assistant, User Profile Namespace …)– 호환성 테스트를 지원하기 위한 문서와 도구들 (ACT, SUA…)– 개발자 /IT 운영자를 위한 훈련과 이슈 지원 센터 운영

Page 4: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

윈도우즈 비스타와 패러다임 전환

• 기업과 파트너– 무엇이 바뀌었나 , 왜 바뀌었나 ( 인지와 공감 )

• 아키텍쳐 상의 변화와 그 이유• 새로운 / 변화된 / 없어진 기능들의 파악

– 영향은 무엇인지 ( 비용 )• 기존 어플리케이션의 영향도 평가• 버릴 것과 바꿀 것 - 다양한 방안 모색 (16 비트 , 일부 커널

드라이버 등 )

– 기회는 무엇인지 ( 목표 )• RFP 에 포함될 사항들 , 보안 , 총소유 비용 , UX

• 신기술에 대한 발빠른 접근으로 입지와 수익의 창출– 무엇을 지원받나 ( 자원 )

• 자본 , 기술 , 인력 그리고 마이크로소프트– 전략과 전술의 수립

Page 5: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

호환성 이슈- 사용자 계정 콘트롤

• 신뢰도 등급 (Mandatory Integrity Level, MIC) 설정– 프로그램이 동작할 때 , 가지게 되는 신뢰도 등급을 미리 지정– 사용자와 무관하게 , 디폴트는 중간 등급 – 표준 사용자 권한

• 관리 가능한 환경의 기초– 위험을 가져올 수 있는 프로그램은 특별히 보호모드로 실행

• 디폴트로 낮은 등급으로 실행 ( 인터넷 익스플로러 7.0)

Page 6: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

호환성 이슈- 사용자 계정 콘트롤

• 사용자 계정 콘트롤 (User Account Control, UAC)– 관리자 권한이 필요할 때만 프로세스의 신뢰도 등급을 높힘

• 표준 사용자 (Standard User) 로 실행됨• 가트너 그룹의 자료에서 관리된 환경의 PC 는 TCO 가 40% 이상

절감– 낮은 등급을 가진 인터페이스에서 높은 등급으로 메시지 전달 금지– 권한 상승 기제 (Elevation) 제공

• 하나의 프로세스가 서로 다른 신뢰도 등급의 토큰을 할당 받고 ,

• 필요할 때 , 동의창 혹은 자격인증창을 통해 권한 상승• 프로그램을 통한 자동 권한 상승은 가능하지 않음 ( 반드시 사용자

개입 )

– 악의적인 공격 후에도 시스템을 방어할 수 있도록 – UAC 가 적용되지 않는 예외

• 로컬 관리자로 로그인 – 그러나 디폴트로 비활성화된 계정• 사용자 계정 콘트롤을 끈 경우

Page 7: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

호환성 이슈- 사용자 계정 콘트롤

• 영향 : 어플리케이션 실행 실패– 어플리케이션의 설치 , 제거 , 업그레이드 시 관리자 권한 전제– 대부분의 어플리케이션이 로컬 관리자일 것을 가정하고 실행

• HKLM 레지스트리 쓰기 실패• %SystemDrive%, %Programfiles%, %WinDir% 등에 쓰기 실패

– 낮은 신뢰도 등급으로 기동하는 프로그램에서 더 높은 신뢰도 등급으로 기동하는 것으로 윈도우즈 메세지를 전달할 수 없음

• 마이크로소프트가 제공한 대안– “ 관리자 권한으로 실행”으로 프로그램 실행– 호환성 탭에서 “이 프로그램을 관리자 권한으로 실행” 선택– “install”, “update”, “uninstall” 등의 이름을 가진 프로그램은 일단

설치 프로그램으로 간주하고 권한 상승 시도 (Installation Detection)

Page 8: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

호환성 이슈- 사용자 계정 콘트롤

• 마이크로소프트가 제공한 대안 – 가상화 (Virtualization)– 기존 어플리케이션과의 호환성 위해– 관리자 권한 상승이 필요한 리소스에 쓰기를 시도하면 , – 표준 사용자가 쓰기 가능한 곳 아래로 바꾸어 기록 (Redirect)

• 기존 어플리케이션은 이를 인식하지 못하고 일단 성공• 파일 : %userprofile%\AppData\local\virtualstore

• 레지스트리 : HKCU\software\classes\virtualstore

– 그러나 , 단기적인 미봉책에 불과 , 향후 이 기능은 지원하지 않음

• 단기적 대안– Manifest 파일을 이용하여 관리자 권한으로 실행하도록 마킹

Page 9: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

데모- 사용자 계정 콘트롤

• 표준 사용자와 신뢰도 등급• 권한 상승• 메니페스 파일을 이용한 관리자 권한 마킹• 파일 및 레지스트리 가상화

Page 10: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

호환성 이슈- 보호모드 상의 인터넷 익스플로러 7.0

• 인터넷 익스플로러 7.0 의 보호 모드 (Protected Mode)– 표준 사용자보다 더 낮은 신뢰도 등급으로 프로그램 실행– 신뢰도 등급과 사용자 계정 콘트롤의 원칙이 그대로 적용– IE7.0 프로세스에서 동작하는 플러그인 , 액티브 X 가 모두

영향받음– 단 , 임시 인터넷 파일 (TIF) 폴더는 호환성을 위해 예외

Page 11: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

호환성 이슈- 보호모드 상의 인터넷 익스플로러 7.0

• 권한상승이 가능하도록 2 개의 감찰 프로세스를 제공– 사용자 권한 브로커 (IEUser.exe): 표준 사용자 권한으로 쓰기

가능한 리소스 접근을 위한 프로세스– 관리자 권한 브로커 (IEInstal.exe): 관리자 권한이 필요한 ,

액티브 X 콘트롤 설치와 같은 작업 수행을 위한 프로세스

Page 12: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

호환성 이슈- 보호모드 상의 인터넷 익스플로러 7.0

Page 13: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

호환성 이슈- 보호모드 상의 인터넷 익스플로러 7.0

• 영향– 아래와 같은 폴더 외에는 쓰기 실패

* 임시 인터넷 파일* 히스토리* 쿠키* 즐겨찾기* 윈도우즈 임시 폴더

– 여타 어플리케이션에 윈도우즈 메시지 전달 실패– 기타 인터넷 익스플로러 7.0 자체의 변화로 인한 기능 문제

* 교차 도메인 (XSS) 소스에 접근하는 액티브 X 콘트롤 차단* 코드 서명이 되지 않은 액티브 X 콘트롤* 스크립팅하기에 안전 (Safe-for-Scripting)하지 않은 액티브 X 콘트롤

Page 14: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

호환성 이슈- 보호모드 상의 인터넷 익스플로러 7.0

• 마이크로소프트가 제공한 대안– UAC 하의 어플리케이션과 마찬가지로 가상화 제공 , 그러나

미봉책• 파일 : %userprofile%\AppData\local\virtualstore

• 레지스트리 : HKCU\software\classes\virtualstore

– 사이트를 “신뢰할 수 있는 영역”에 포함

Page 15: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

호환성 이슈- 보호모드 상의 인터넷 익스플로러 7.0

• 단기적 대안– IEGetWriteableHKCU(), SHGetKnownFolderPath() 이용하여

쓰기 가능한 레지스티리와 폴더를 검색– 관리자 권한이 반드시 필요한 액티브 X 콘트롤의 경우에는 , 매니페스트 파일이나 CoCreateInstanceAsAdmin() 이용

ActiveX 컨트롤 실행파일 (.EXE)

Manifest 파일Shellexecute()

ActiveX 컨트롤 ActiveX 컨트롤

CoCreateInstanceAsAdmin()

사용자 권한 관리자 권한

Page 16: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

데모- 보호모드 상의 인터넷 익스플로러 7.0

• 관리자 권한이 필요한 액티브 X 콘트롤의 개발

Page 17: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

호환성 이슈- 리소스 보호 기능

• 리소스 보호 기능 (Windows Resource Protection, WRP)– 운영체제의 폴더 , 레지스트리 , 파일을 믿을 수 있는 상태로

유지– 어플리케이션에 의한 원하지 않는 상태 변화를 통제– 영향

• WRP 에 포함된 파일 / 레지스트리를 배포하거나 변경하려는 어플리케이션은 모두 실패

– 대안 : 소스 변경 불가피• SfcIsFileProctected(), ScfIsKeyProtected() 함수로 미리 파악• MSI 3.x, 4.x 등의 Trusted Installer 를 이용한 설치 / 업그레이드 /제거

Page 18: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

호환성 이슈- 세션 0 고립화

• 서비스의 세션 고립화 (Session 0 Isolation)– 기존에는 모든 서비스가 첫번째 로그인한 사용자와 세션을 공유– 이제는 서비스가 사용자 세션에 의해 영향 받지 않도록 고립시킴– 고립화란 ,

• 사용자 인터페이스 허용 안함• 시스템 프로세스와 서비스만이 세션 0 일 수 있음

– 영향 • 사용자 인터페이스를 가진 서비스의 작동 이상• 글로벌 네임 스페이스를 사용하는 어플리케이션의 작동 이상• 빠른 사용자 전환 (Fast User Switch, FUS) 상의 이상 동작

– 단기적인 대안• 사용자 인터페이스를 가진 서비스를 위해 일단 전달된 메시지를 보여주는 기능을 윈도우즈 비스타가 제공

• 글로벌 네임 스페이스를 사용할 경우 , “ 윈도우즈 XP” 호환 모드로

Page 19: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

데모

• 윈도우즈 리소스 보호 기능 데모

Page 20: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

호환성 이슈- 기타

• 64 비트 윈도우즈 비스타 상의 호환성– 32 비트 드라이버 지원 안함– 서명된 커널 드라이버만 설치 가능– 32 비트 윈도우즈 비스타에서의 업그레이드 미지원– 16 비트를 더이상 지원하지 않음

• 콤포넌트 , 인스톨러 , 어플리케이션 모두– 64 비트 윈도우즈 비스타는 가상화 지원하지 않음

• 네트워킹– IPv6 디폴트로 활성화 , 가능하면 , IPv6 로 통신

• 로컬 루프백 주소와 다른 주소 간의 통신 불가– 윈도우즈 방화벽을 끄는 함수 지원하지 않음

• INetFwProfile.put_FirewallEnabled(VARIANT_FALSE)

– 방화벽 기능을 후킹하는 함수나 드라이버 지원 않함

Page 21: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

호환성 이슈- 기타

• MS GINA– Microsoft Graphical Identification and Authentication

– 그래픽 부분과 인증 처리 부분이 하나로 묶임– 새로운 Credential Provider API 제공– 영향

• 생체 인식 장치• XP 용 사용자 VPN 솔루션• 스마트 카드 리더

• 버전 체크– GetVersion() 함수를 확인하는 어플리케이션이 정상 수행되지

않음– 어플리케이션마다 드러나는 양상이 다를 수 있음 ( 설치

프로그램 중단 , 어플리케이션 크래쉬 , 업데이트 불가 등 )

– 임시로 , “ 윈도우즈 XP” 호환 모드로 동작 가능

Page 22: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

호환성 이슈- 더 이상 지원되지 않은 기능

• DHTMLEd.OCX– MSHTML.DLL 로 대체– 혹은 HTC 를 이용한 대체 콘트롤 개발– 윈도우즈 XP 에서도 Kill-Bit 될 것으로 보임

• 커널 모드 프린터 드라이버• FrontPage Server Extension• Service for Macintosh• D3DRM – 대신 DirectX 사용• Web Publishing Wizard• NetDDE – 보통의 DDE 는 여전히 지원• IsBadReadPtr(), IsBadWritePtr()

Page 23: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

어플리케이션 개발 가이드

• 가능한 표준 사용자 권한으로 기동할 수 있도록 디자인– 프로그램 설치는 MSI 등의 Trusted Installer 사용– HKCU, %userprofile% 아래 쓰기 작업 수행– 인터넷의 액티브 X 콘트롤의 경우 , 허용된 폴더에 쓰기 작업

• 관리자 권한이 필요한 부분과 필요하지 않은 부분은 가능한 나누어 모듈화

• 업데이트 기능과 일반 기능 수행이 하나의 모듈에 들어가지 않도록 디자인

• 관리자 권한이 반드시 필요할 경우 , 관리자 권한 마킹– 액티브 X 콘트롤은 CoCreateInstanceAsAdmin() 혹은 Manifest

• 액티브 X 콘트롤 대신 AJAX, DHTML, CSS 로 기능 수행

Page 24: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

어플리케이션 호환성 점검 도구

• Application Compatibility Toolkit 5.0 RC1– Standard User Analyzer

• Application Verifer 다운로드• 표준 사용자 환경에서의 어플리케이션 테스트 수행

– Setup Analysis Tool• 설치 프로그램의 수행 시 호환성 점검

– Internet Explorer Compatibility Test Tool• 인터넷 익스플로러 기능 변화에 따른 호환성 이슈 점검

– Application Compatibility Manager• MSSQL 2005(or Express Edition) 을 이용

Page 25: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

참고 자료

• Windows Vista IE7 의 새로운 보안하에서 ActiveX 컨트롤 개발 ( 이동석 )• ISV Windows Vista Compatibility Cookbook (MSDN)• DevReadiness 사이트 (http://devreadiness.org)• 시스템 리소스 보호 목록 (Windows Resource Protection – WRP)• UAC 둘러보기 ( 개관 , 알려진 이슈와 해결책에 대한 개괄적 설명 )• 버츄얼 랩 ( 호환성 탭 , 관리자 계정으로 실행 , 권한상승 창 , 보안정책 설정 ,

가상화 등 )• PDC 2005 자료 (Vista, WPF, IIS7, Office12 등 )• 표준 사용자 환경에서 개발 가이드 • Standard User Analyzer (SUA) 내려받기 ( 포함된 매뉴얼 필독 )• 업데이트 가이드라인 ( 패치와 업그레이드 )– Understanding and Working in Protected Mode Internet Explorer (Windows ...   – Developer Best Practices and Guidelines for Applications in a Least Privileged

Environment– 인터넷 익스플로러 7.0 의 호환성 이슈 ( 이승희 )– 인터넷 익스프로러 7.0 호환성 백서 ( 정성태 ) –DHTMLED.Ocx 관련 샘플 소스

Page 26: Windows Vista  호환성 이슈와  ISV 를 위한 가이드

마이크로소프트로부터 얻을 수 있는 지원

• 정식 출시 일자– Volume License 계약자용 제품 출시 ; 2006 년 11 월 30 일– Volume License 계약자 이외 제품 출시 ; 2007 년 1 월 31 일

• IE7 및 Windows Vista 호환성 지원– www.microsoft.com/korea/windows/ie/ie7/technology/default.mspx– 온라인 교육 : www.microsoft.com/korea/eseminar/– 오프라인 교육

• 교육 신청 : http://www.eiti.co.kr/event/Vista_dev.htm • 1 월 말까지 매일 5 시간 (오후 1 시 ~6 시 ) 의 무상 교육 과정

– 호환성 지원 센터• 호환성 지원센터 페이지 (질의 입력 가능 ):

http://www.microsoft.com/korea/windows/ie/ie7/technology/default.mspx • 전자우편을 통한 문의 : [email protected] (050-5912-1000)

– 프리미어 계약 고객은 담당 Technical Account Manager 를 통해