30
Windows 보보 - 보보 보보 보보 , IE 보보 보보 2015.06.12 보보보

03.windows 보안(접근제어 확장) 2015.06.13

Embed Size (px)

Citation preview

Page 1: 03.windows 보안(접근제어 확장)   2015.06.13

Windows 보안- 접근 제어 확장 , IE 보안 모델

2015.06.12황인균

Page 2: 03.windows 보안(접근제어 확장)   2015.06.13

2황인균

Defense in Depth Security Model

https://msdn.microsoft.com/ko-kr/library/cc767969.aspx

여러 레이어의 단계별로 보안 장치를 중복되게 두는 방법

주요 보안 기능 설명 사용자 경험

UAC 최소 권한 원칙이중 토큰

권한 승인 창

MIC 보안 레벨 (Integrity Level) 기반 권한 제어

권한 승인 창

Windows De-fender

Windows 제공 백신 프로그램 바이러스라고 판정되면 , 실행되지 않음 .

Smart Screen Fil-ters

평판 기반 보안 기술 평판 기반인 관계로 사용자에게 “경고” 또는 “알림”창을 띄우게 된다 .

IE-PM(Protected Mode )IE-EPM(Enhanced PM)

PM - 권한 제어 보안 기술EPM – sandbox 개념의 접근 제어 기술UAC, MIC 기반

샌드박스 외부 접근시 , 경고 , 알림 창

Windows Firewall PC 방화벽 IP, Port 기준의 네트워크 패킷 필터링으로웹 요청 오류 발생

Page 3: 03.windows 보안(접근제어 확장)   2015.06.13

3황인균

인터넷 Security Zones > 아키텍처 > 기본Internet Explorer

Urlmon.dll

① 웹 페이지 Zone 결정- Local Intranet Zone, - Trusted Sites Zone, - Internet Zone, - Restricted Sites Zone, - Local Machine Zone

웹 페이지

②Zone 별 보안 수준 결정- 높음- 약간 높음- 보통- 낮음- 최소

③ 보안 수준별 설정 결정- ActiveX 컨트롤 및

플러그인 - 스크립팅- 다운로드- 기타 다양한 보안 설정

About URL Security Zoneshttps://msdn.microsoft.com/ko-kr/library/ms537183%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

“ 신뢰 레벨”을 정의한다 . 즉 , 해당 URL 에서 오는 파일( HTML 페이지 및 add-on 파일 ) 에 대한 “신뢰의 정도”를 나눠서 프로그램의 접근 권한 등을 제어한다 .

Chapter 4 - Security Zoneshttps://technet.microsoft.com/en-us/library/dd361896.aspx

Page 4: 03.windows 보안(접근제어 확장)   2015.06.13

4황인균

인터넷 Security Zones > 아키텍처 > 보안 설정 변경

②Zone 별 보안 수준 변경 가능 ③ 보안 수준별 설정 변경 가능

보안 준 및 보안 설정 변경은 최종 엔드 유저의 수작업에 의해서도 가능하지만 , “ 그룹 정책” 또는 레지스트리 변경을 통해서도 가능하다 .

인터넷 전역 (global) 옵션 인터넷 옵션 > 고급 탭을 보면 이곳에도

보안과 관련된 설정이 있다 . “ 고급”탭의 설정은 인터넷 zone 별 설정이 아닌 전체 영역에 영향을 미치는 글로벌 설정이다 .

인터넷 고급 옵션

Page 5: 03.windows 보안(접근제어 확장)   2015.06.13

5황인균

인터넷 Security Zones > 보안 설정 요약 보안 설정 그룹핑 : ActiveX controls, Downloads, Miscellaneous, Scripting, User Authentication

보안 설정 그룹 보안 설정 값

ActiveX Controls

Download signed ActiveX controls Disable, Enable, PromptDownload unsigned ActiveX controls Disable, Enable, PromptInitialize and script ActiveX controls not marked as safe Disable, Enable, PromptRun ActiveX controls and plug-ins Disable, Enable, Prompt, Administrator

approvedScript ActiveX controls marked safe for scripting Disable, Enable, Prompt

DownloadsFile download Disable, EnableFont download Disable, Enable, Prompt

Miscellaneous

Access data sources across domains …Allow META REFRESH ...Display mixed content …Don't prompt for client certificate selection when no certificates or only one certificate exists

Drag and drop or copy and paste files …Installation of desktop items …Launching programs and files in an IFRAME …… …

ScriptingActive scripting …Allow paste operations via script …Scripting of Java applets …

User Authentication … …

Page 6: 03.windows 보안(접근제어 확장)   2015.06.13

6황인균

IE > EPM > IE 보안 zone 과 EPM 비교

비교 항목 보안 zone 모델 EPM 모델

보안 모델 DAC(Discretionary Access Control ) SANDBOX 모델 DAC, MIC(Mandatory Integrity Control )

설명 주체 ( 웹페이지 ) 가 속한 zone 에 허용된 보안 설정을 기준으로 , 객체 ( AcvtiveX, Script, File 등 ) 에 대한 작업의 가능 여부를 결정한다 .

보안 zone 에서 설정한 권한 설정 ( 보안 설정 ) 과 EPM에서 결정된 Integrity Level 을 기준으로 “ Integrity Level 체크”와 “ Discretionary Access 체크”를 모두 통과해야 해당 작업을 할 수 있다 .

EPM 모드로 실행되는 탭 프로세스는 “ Low IL” 로 실행된다 .사용자 경험 프로그램 오류 (disable), 프로그램 정상 실행

(enable) 또는 사용자 확인창 (prompt) Dialog 또는 message bar 출력

비활성화 보안 수준을 최소로 설정 레지스트리 , 외부 xml 파일을 이용해서 EPM 대상 제외 도메인으로 등록

※ DAC, MIC, SANDBOX 등에 대해서는 “ 02.Windows 보안 ( 접근제어 모델 ) - yyyyMMdd.pptx” 를 참조한다 .※ EPM 기능은 다른 슬라이드에서 설명한다 .

“IE 보안 zone” 과 “ EPM” 기능을 비교해 볼 필요가 있다 . IE 보안 zone 은 DAC 모델과 유사하고 , EPM 은 SANDBOX 와 유사한 개념이다 .

Page 7: 03.windows 보안(접근제어 확장)   2015.06.13

7황인균

인터넷 Security Zones > IE 보안 설정 , Windows 권한

IE 의 보안 옵션 은 개념상 Windows 의 권한 (Privileges) 와 유사하다 .

IE 보안 zone IE 보안 설정 Windows 계정 그룹 Windows 권한

웹 페이지가 로딩시 보안 zone 이 결정되고 , zone 에 따라서 결정된 보안 설정에 따라서 웹 페이지가 최종적으로 “할 수 있거나 없는 일”이 결정된다 .

사용자가 로그인시 소속된 계정 그룹이 결정되고 , 소속된 그룹에 따라서 결정된 권한에 따라서 사용자가 최종적으로 “할 수 있거나 없는 일”이 결정된다 .

Page 8: 03.windows 보안(접근제어 확장)   2015.06.13

8황인균

Protected Mode 개념

접근 제어 제약 기술 Protected Mode 가 활성화되면 , IE 프로세스외부에서 프로그램이 실행되려고 하면 사용자에게 경고를 보여준다 . 해당

프로그램이 컴퓨터 자원에 대한 과도한 접근 권한을 갖게 될 수 있기 때문이다 . 환경

Vista, IE7 에서부터 도입 설정

Protected mode 는 zone 별로 설정이 된다 . 기본값 , the Internet, Restricted sites zone – 활성화 (on)

IE > PM 모드 > 개념

Page 9: 03.windows 보안(접근제어 확장)   2015.06.13

9황인균

기반 기술 UAC

관리자 권한이 없이 프로그램을 실행할 수 있도록 해 준다 . MIC( Mandatory Integrity Level )

보안 레벨이 낮은 프로세스는 레벨이 높은 프로세스 및 객체에 대한 접근을 제어한다 . User Interface Privilege Isolation( UIPI )

보안 레벨이 낮은 어플리케이션 Window 가 높은 레벨을 갖는 어플리케이션에 접근하는 것을 제어한다 .참조 ) https://msdn.microsoft.com/en-us/library/bb250462(v=vs.85).aspx

IE > PM 모드 > 기반기술

※ UAC 를 off 시키면 모든 사용자에 대해서 Protected Mode 기능도 off된다 .

Page 10: 03.windows 보안(접근제어 확장)   2015.06.13

10황인균

IE > EPM > 개념 Enhanced Protected Mode = PM + Additional 보안 기술 ( 다음 두 가지 추가 기능 ) 기본 개념은 SANDBOX 로서 접근 제어 기술이다 . AppContainer

Sandbox, 운영체제의 다른 자원에 읽고 , 쓰기를 방지한다 . Windows 8 이후 도입 , Windows 7, Windows Server 2008 R2 에는 없음 . 이들 OS 에서는 64 비트 OS, “64 비트 탭

프로세스”에서만 지원된다 . 32 비트 Windows 7 에서는 EPM 을 활성화해도 아무 효과가 없다 . 64 비트 탭 프로세스

64 비트 OS 에서 , 탭을 64 비트 프로세스로 실행할 수 있다 . 64 비트 프로세스는 더 안전한 기능을 제공한다 . https://blogs.msdn.microsoft.com/ie/2012/03/14/enhanced-protected-mode/

탭 추가

Operating System

Tab 프로세스

(iexplore.exe)

IE 프로세스

(iexplore.exe)

Sandboxed Low Integrity 또는 AppCon-

tainer

API 콜 API 콜

참조Russinovichi, p.529diving into ie 10's enhanced protected mode sandbox - Black Hat

Page 11: 03.windows 보안(접근제어 확장)   2015.06.13

11황인균

메시지 예인터넷에서 다운로드된 PDF 파일을 IE11 에서 오픈하려고 할때 보여질 수 있는 유사한 메시지이다 .“This web page wants to run (Adobe PDF Reader | PDF Browser Control | AcroPDF.dll). If you trust this site, you can disable Enhanced Protected Mode for this site to run the control.”

버튼알림 바에는 다음 버튼들이 포함될 수 있다 .

Run Control | Don’t Run Disable | Always Ignore OK | Cancel

결과 허용을 선택하면 , PDF 로딩이 된다 . PDF 가 로딩될때마다 해당 알림은 반복적으로 나타난다 . 취소를 하면 PDF 는 로딩되지 않고 , 이후로 해당 도메인의 경우에는 알림이 나타나지 않는다 .( 사용자가 브라우저 이력을

지워야 다시 알림이 나타난다 ) Taking no action results in a blank web page. On LiveCycle forms, choosing to not proceed results in not loading the PDF and the following warning appears:

IE > EPM > 사용자 경험

EPM 활성화 이슈 Using Acrobat or Reader with Internet Explorer Enhanced Protected Mode

https://helpx.adobe.com/acrobat/kb/epm-support-acrobat-products.html Enhanced Protected Mode problems with Internet Explorer

https://technet.microsoft.com/en-us/itpro/internet-explorer/ie11-deploy-guide/enhanced-protected-mode-problems-with-ie11

Page 12: 03.windows 보안(접근제어 확장)   2015.06.13

12황인균

IE > EPM > 확인 EPM 확인 : IE’s File-> 속성

Page 13: 03.windows 보안(접근제어 확장)   2015.06.13

13황인균

IE > EPM > 설정

환경 IE 10, Windows 8 에서 도입

관련 IE 옵션 “Enable Protected Mode” 옵션 : 인터넷 영역별로 Protected Mode 활성화 여부를 설정할 수 있다 . “Enable 64-bit processes for Enhanced Protected Mode” 옵션

EPM 설정 EPM 활성화는 다음 슬라이드에 보여지듯이 여러 설정들을 따져서 결정한다 . EPM 모드의 결정은 결국 “탭 프로세스 비트니스”와 “ MIC integrity Level” 이 결정된다 .

EPM 모드 결정 탭 프로세스 비트 프로세스의 Integrity Level

OS 환경 ( 버전 , 비트니스 )

IE 버전 설정

input output

Page 14: 03.windows 보안(접근제어 확장)   2015.06.13

14황인균

https://blogs.msdn.microsoft.com/asiatech/2013/12/25/how-internet-explorer-enhanced-protected-mode-epm-is-enabled-under-different-configurations/

IE > EPM > On 설정

데스크탑 IE 의 EPM 기본값

기본적으로 IE 옵션에서 비활성화되어 있다 .

이전의 Protected Mode 는 인터넷 zone 별로 활성화된다 (EPM 은 도메인별로 설정된다 )

Zone 별로 “보호모드 사용 (Internet Explorer 를 다시 시작해야 함 )” 설정이 있음

기본값 : Local Intranet, Trusted Sites –off, Internet Zone – on UAC off protected mode is not available

Page 15: 03.windows 보안(접근제어 확장)   2015.06.13

15황인균

도메인별 EPM off 설정

웹 사이트가 EPM 과 호환이 되지 않는 ado-on 이 필요하다면 , 해당 도메인에 대해서 EPM 을 off 시킬 수 있다 .

레지스트리로 EPM 제외 도메일 설정 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TabProcConfig

값 “ 0x47b” - 32bit process & load incompatible add-ons. PM 모드 – on, EPM 모드 – off Configuration 파일로 EPM 제외 도메인 설정

iecompatdata.xml 파일 , <EPMCompatMode> 섹션 사용<EPMCompatMode> <domaintrackingid=“481134“>samsungcard.co.kr</domain> <domaintrackingid=“481134“>coupang.com</domain> …

예 ) https://msdn.microsoft.com/library/gg622935(v=vs.85).aspx http://cvlist.ie.microsoft.com/IE11/1426178821/iecompatviewlist.xml

IE > EPM > Off 설정

Page 16: 03.windows 보안(접근제어 확장)   2015.06.13

16황인균

OS 환경 , IE 버전 , EPM 설정들에 따라서 EPM 활성화가 달라진다 . 다음은 EPM 체크 순서이다 . 다음 슬라이드에 이 순서대로 설정을 체크하는 순서도가 있다 .

IE > EPM > 최종 EPM 환경 결정

Protected Mode 설정 체크 인터넷 Zone 별로 설정된 PM 모드 설정 확인

Global EPM Configuration 체크 IE 옵션 “ Enable Enhanced Protected Mode”

Per domain EPM configuration 체크

레지스트리 , iecompatdata.xml 확인

OS 버전 체크 32bit / 64bit?

IE 버전 및 설정 체크 IE10 / IE11?IE 옵션 “ Enable 64-bit processes for EPM”

최종 결정 값은 다음 중 하나가 된다 .Protected Mode : offProtected Mode : onProtected Mode : Enhanced( 32bit, AppContainer IL )Protected Mode : Enhanced(64bit, AppContainer IL )

Page 17: 03.windows 보안(접근제어 확장)   2015.06.13

17황인균

Windows 8/8.1 의 경우

IE > EPM > 최종 EPM 환경 결정

확대 그림 : https://blogs.msdn.microsoft.com/asiatech/2013/12/25/how-internet-explorer-enhanced-protected-mode-epm-is-en-abled-under-different-configurations/

Page 18: 03.windows 보안(접근제어 확장)   2015.06.13

18황인균

IE > EPM > 최종 EPM 환경 결정

Windows 7 의 경우

Page 19: 03.windows 보안(접근제어 확장)   2015.06.13

19황인균

IE > EPM > Windows10, IE11 기본 탭 프로세스

앞의 EPM 환경 결정 프로세스를 통해서 , Windows 10, IE11 의 기본 환경에서 IE 의 “탭 프로세스” 특성이 어떻게 결정되는지 정리해본다 .

보안 설정 기본값 탭 프로세스

IE11 “ 고급”설정 “ 향상된 보호 모드 사용” , unchecked “ 향상된 보호 모드를 위해 64 비트 프로세스 사

용” , unchecked

“Internet Zone” 설정 “ 보호 모드 사용” , checked Protected mode : on(32bit, Low IL )

“Trusted sites Zone” 설정 “ 보호 모드 사용” , unchecked Protected mode : off(32bit, Medium IL )

“64 비트 Windows10 에서 IE11 의 탭 프로세스는 32 비트 프로세스 (iexplore.exe) 로 실행된다 . 탭 프로세스의 IL 은 “ internet” 영역에서 온 웹 페이지는 “ Low IL” 이고 “ Trusted sites” 영역에서 온 웹 페이지는 “ Medium

IL” 이다 .

Page 20: 03.windows 보안(접근제어 확장)   2015.06.13

20황인균

SmartScreen Filters > 개념 Windows, IE 에 모두 적용되는 기술 (Windows8 , IE11 이상 ? ) 평판기반 시스템 보호

평판 평가 항목 예 - “ 다운로드 회수” , “ 다운로드 인기도” , “ 백신” , “ 다운로드를 받는 사이트의 평판” 등…

코드 사인 목적 코드 무결성 확인 가능 즉 , 코드의 외부 변조 여부를 확인할 수 있다 . 코드 평판 평가 메커니즘 기반

“ 평판”은 사용자의 코드 사인 인증서별로 쌓이게 된다 . 즉 해당 인증서로 사인된 프로그램의 “다운로드 회수”가 많아지면 평판 점수는 좋아지게 된다 . 그러나 만약 지금까지 좋은 평판을 쌓아 오다가 악성 코드를 해당 인증서로 사인을 했다는 것이 발견되는 경우 , 평판은 즉시 무너지게 된다 .

사용자가 안전한 파일 다운로드와 프로그램 실행을 하도록 도와준다 . 그러나 사용자가 시도하는 파일 다운로드나 프로그램 실행을 막지는 않는다 . 즉 , 나쁜 평판 (reputation) 이나 아직 평판을 획득하지 못한 어플리케이션에 대해 “경고”를 할뿐이다 .

평판 기반 보호 기술

코드 사인 인증서 #1

코드 사인 인증서 #2

Page 21: 03.windows 보안(접근제어 확장)   2015.06.13

21황인균

SmartScreen Filters > 작동 How it works

http://www.digitalcitizen.life/what-smartscreen-filter-how-does-it-work SmartScreen Filter 기능은 다양한 UI 로 보여진다 .

SmartScreen Filtering in Internet Explorer Internet Explorer 8 부터 소개

IE 에서 파일 다운로드 시…

Page 22: 03.windows 보안(접근제어 확장)   2015.06.13

22황인균

SmartScreen Filters > EV Code Signing EV Code Signing

Extended Validation Code Signing 필요성

SmartScreen Filter 에 의해서 “좋은 평판”을 얻기 위해서는 코드 사인이 필수이다 .그러나 코드 사인을 했다고 해서 평판이 “갑자기” 좋아지는 것은 아니다 . 따라서 경고나 안내 문구가 없어지지는 않는다 .

만약 “평판”을 얻기 전에도 SmartScreen Filter 를 패스하고 싶다면 ? EV Code Signing Certificate

Greater confidence in the integrity of your application A more frictionless experience for users downloading your application

EV 인증서를 사용하면 Windows 와 IE 의 SmartScreen 서비스를 위한 “평판”을 “즉시” 쌓을 수 있다 . Symantec Extended Validation Code Signing

https://www.symantec.com/code-signing/extended-validation/data-sheets-white-papers/

Page 23: 03.windows 보안(접근제어 확장)   2015.06.13

23황인균

SmartScreen Filters > 작동 SmarScreen 비활성화시키기

http://www.eightforums.com/tutorials/2631-windows-smartscreen-turn-off-windows-8-a.html

Page 24: 03.windows 보안(접근제어 확장)   2015.06.13

24황인균

Windows > Windows Defender

Antivirus 기능 그렇다면…

다른 3rd 파티 제품 (like V3) 를 대체할 수 있나 ? 그렇지는 않을 것 같다 . 백신 프로그램 평가 사이트

https://www.av-test.org/en/antivirus/home-windows/windows-10/http://www.av-comparatives.org/comparatives-reviews/http://www.howtogeek.com/173291/goodbye-microsoft-security-essentials-microsoft-now-rec-ommends-you-use-a-third-party-antivirus/

History XP 이후부터 사용 가능 Windows7 의 Microsoft Security Essentials(MSE) 로 대체됨 Windows 10 에서 MSE 를 대체함

Page 25: 03.windows 보안(접근제어 확장)   2015.06.13

25황인균

Windows > DEP DEP( Data Execution Prevention)

일반 용어 : Executable Space Protectionhttps://en.wikipedia.org/wiki/Executable_space_protection#Windows

“ 실행 방지 메모리 영역” 에서는 코드를 실행할 수 없도록 하는 Windows 보안 기술

보안상 위험한 프로그램 , 호환성 이슈가 있는 프로그램의 실행 방지 보안상 위험한 프로그램

메모리 (RAM, Random Access Memory) 를 잘못 사용할 수 있는 프로그램은 닫고 , 사용자에게 알려준다 . 호환성 이슈

이전의 프로그램은 Windows 의 보호 자원을 무단으로 접근하는 경우가 많다 . 이렇게 호환성에 문제가 있는 프로그램은 닫고 , 사용자에게 알려준다 .

필요한 프로그램이 Windows DEP 기능으로 막혀 사용할 수 없게 된다면 ?

Page 26: 03.windows 보안(접근제어 확장)   2015.06.13

26황인균

Windows > DEP > 설정 변경

http://www.softwareok.com/?seite=faq-Windows-10&faq=101 DEP 제어에 대한 예외 프로그램들을 등록할 수 있다 . DEP 호환성 이슈 프로그램 대응책

프로그램 제조 업체에 업데이트 버전이 있는지 확인한다 .

Microsoft 의 fix 가 있는지 확인한다 .

Page 27: 03.windows 보안(접근제어 확장)   2015.06.13

27황인균

Windows > DEP > DEP 적용 상태

Page 28: 03.windows 보안(접근제어 확장)   2015.06.13

28황인균

Windows > DEP > 기반 기술

DEP, Buffer overflow attacks 방어 기술 Buffer overflow attacks

프로세스가 데이터를 버퍼에 저장할 때 프로그래머가 지정한 곳 바깥에 저장https://ko.wikipedia.org/wiki/%EB%B2%84%ED%8D%BC_%EC%98%A4%EB%B2%84%ED%94%8C%EB%A1%9C

잘못된 프로그램 거동메모리 접근 오류잘못된 결과프로그램 종료시스템 보안 누설 등이 발생

환경 Windows XP SP2, Windows Server 2003 SP1 부터 시작해서 , Vista, Windows 2008 에 구현 완료

사용 기술 NX bit( No-eXecute )

: 메모리의 코드 실행 영역과 데이터 저장 영역을 구분하기 위해 사용하는 기술 ( 이라 “카드라” ) Address Space Layout Randomization( 주소 공간 배치 난수화 )

: 공격 프로그램이 메모리의 특정 함수의 주소로 점프해서 악용하는 것을 막기 위해서 프로세스의 주요 데이터 영역의 위치에 대한 주소 ( 실행 코드의 기본 주소 , 스택 , 힙 그리고 라이브러리의 위치 ) 를 재 할당하는 기술 .

Page 29: 03.windows 보안(접근제어 확장)   2015.06.13

29황인균

Windows > 64-bit Windows 64-bit 버전의 Windows 가 더 안전한 이유

Address Space Layout Randomization Mandatory Driver Signing Kernel Patch Protection DEP( Data Execution Protection) WOW64 http://www.howtogeek.com/165535/why-the-64-bit-version-of-windows-is-more-secure/

Page 30: 03.windows 보안(접근제어 확장)   2015.06.13

30황인균

기타

Local Machine Zone Lockdownhttps://blogs.msdn.microsoft.com/ieinternals/2011/03/23/understanding-local-machine-zone-lock-down/

MOTWMark Of The Webhttps://msdn.microsoft.com/ko-kr/library/ms537628%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

UIPI( User Interface Process Isolation )Windows Internals 6 edition, Russinovichi, p.529