[2014 codeengn conference 11] 박한범 - 가상화 기술과 보안

25
박한범 보안 위협과 해결 방안 신뢰할 수 있는 실행 환경 가상화와 보안 www.CodeEngn.com 2014 CodeEngn Conference 11

Upload: gangseok-lee

Post on 12-Jul-2015

336 views

Category:

Education


1 download

TRANSCRIPT

Page 1: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

박한범

보안����������� ������������������  위협과����������� ������������������  해결����������� ������������������  방안����������� ������������������  신뢰할����������� ������������������  수����������� ������������������  있는 실행����������� ������������������  환경

가상화와����������� ������������������  보안

www.CodeEngn.com2014 CodeEngn Conference 11

Page 2: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

PRESENTATION����������� ������������������  SUMMARY

가상화����������� ������������������  계층 가상화����������� ������������������  계층 이해 키로거

가상화와 보안

가상화����������� ������������������  개요 마무리

Page 3: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

가상화����������� ������������������  개요����������� ������������������  가상화에����������� ������������������  대한����������� ������������������  개괄적인����������� ������������������  배경지식

가상화 개요

II

I

III

IV V

Page 4: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

가상화의����������� ������������������  정의����������� ������������������  

가상화는����������� ������������������  물리적����������� ������������������  자원을����������� ������������������  논리적����������� ������������������  자원으로����������� ������������������  다룰����������� ������������������  수 있도록����������� ������������������  추상화하는����������� ������������������  기술����������� ������������������  운영체제에서는����������� ������������������  CPU와����������� ������������������  메모리를����������� ������������������  가상화하여����������� ������������������  사용한다.

가상화����������� ������������������  개요

Page 5: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

가상화의����������� ������������������  정의����������� ������������������  

운영체제의����������� ������������������  메모리����������� ������������������  가상화

가상화����������� ������������������  개요

Process

운영체제 메모리����������� ������������������  추상화����������� ������������������  구조체

가상메모리 가상메모리 가상메모리

Process Process

Page 6: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

가상화의����������� ������������������  정의����������� ������������������  

운영체제의����������� ������������������  CPU����������� ������������������  가상화

가상화����������� ������������������  개요

PCR

Process Process Process

execution

Page 7: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

가상화의����������� ������������������  정의����������� ������������������  

하드웨어����������� ������������������  지원 가상화����������� ������������������  중 CPU����������� ������������������  지원����������� ������������������  가상화

가상화����������� ������������������  개요

ProcessProcessProcess

PCR

ProcessProcessProcess

PCR

ProcessProcessProcess

PCR

Hypervisor����������� ������������������  

VMCB

execution

Page 8: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

Hypervisor

가상화의����������� ������������������  정의����������� ������������������  

클라우드에서의����������� ������������������  가상화����������� ������������������  활용

가상화����������� ������������������  개요

VMCB VMCB

ProcessProcessProcess

PCR

ProcessProcessProcess

PCR

ProcessProcessProcess

PCR

core1 core2 core3

Hypervisor

VMCB

Page 9: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

가상화����������� ������������������  계층����������� ������������������  이해����������� ������������������  

가상화����������� ������������������  계층의����������� ������������������  구조와����������� ������������������  특징

II

가상화����������� ������������������  계층 이해

I

III

IV V

Page 10: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

CPU����������� ������������������  지원����������� ������������������  가상화����������� ������������������  

CPU����������� ������������������  자원

가상화 계층����������� ������������������  이해

Processor

Interrupt

Physical����������� ������������������  Memory

I/O

Page 11: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

CPU����������� ������������������  지원����������� ������������������  가상화����������� ������������������  

운영체제����������� ������������������  =����������� ������������������  자원관리자

가상화 계층����������� ������������������  이해

Processor

Interrupt

Physical����������� ������������������  Memory

I/O

PCRProcess Thread GDT

TSS

IDT

IRQ

Driver

Paging

IRP

Page 12: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

Physical����������� ������������������  Memory

CPU����������� ������������������  지원����������� ������������������  가상화����������� ������������������  

CPU지원 가상화����������� ������������������  =����������� ������������������  자원관리자

가상화 계층����������� ������������������  이해

Processor

Interrupt

Memory

I/O

PCRProcess Thread GDT

TSS

IDT

IRQ

Driver

Paging

IRP

Processor

Interrupt

Memory

I/O

PCRProcess Thread GDT

TSS

IDT

IRQ

Driver

Paging

IRP

Processor

Interrupt

Memory

I/O

PCRProcess����������� ������������������  

TSS

Thread GDT

IDT Driver����������� ������������������  

IRQ

Paging

IRP

Virtual����������� ������������������  Machine

Virtual����������� ������������������  MachineMonitor

Hypervisor

VMCB

Interrupt

I/O

Processor

Page 13: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

가상화����������� ������������������  계층����������� ������������������  키로거����������� ������������������  

가상화����������� ������������������  계층����������� ������������������  키로거����������� ������������������  제작����������� ������������������  과정을����������� ������������������  통 해����������� ������������������  가상화����������� ������������������  계층의����������� ������������������  이해����������� ������������������  심화

II

I

III

IV

가상화����������� ������������������  계층 키로거

V

Page 14: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

가상화����������� ������������������  계층을����������� ������������������  통한����������� ������������������  PS/2����������� ������������������  키로거����������� ������������������  제작����������� ������������������  

I/O����������� ������������������  통신을����������� ������������������  하는����������� ������������������  PS/2����������� ������������������  키보드의����������� ������������������  키로거����������� ������������������  제작����������� ������������������  과정을����������� ������������������  통해����������� ������������������  가상화����������� ������������������  계층의����������� ������������������  이해를����������� ������������������  심화.

가상화����������� ������������������  계층����������� ������������������  키로거

Page 15: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

가상화����������� ������������������  계층을����������� ������������������  통한����������� ������������������  PS/2����������� ������������������  키로거����������� ������������������  제작����������� ������������������  

PS/2����������� ������������������  키보드����������� ������������������  기본����������� ������������������  동작����������� ������������������  구조

가상화����������� ������������������  계층����������� ������������������  키로거

Interrupt

I/O

Keyboard����������� ������������������  Register

1

2

1

PCR

2

1

Page 16: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

가상화����������� ������������������  계층을����������� ������������������  통한����������� ������������������  PS/2����������� ������������������  키로거����������� ������������������  제작����������� ������������������  가상환경에서의����������� ������������������  동작����������� ������������������  #1����������� ������������������  

인터럽트����������� ������������������  전달

가상화����������� ������������������  계층����������� ������������������  키로거

Processor

Interrupt

Physical����������� ������������������  Memory����������� ������������������  

Paging

I/O

PCRProcess Thread GDT

TSS

IDT

IRQ

Driver IRP

Processor

Interrupt

PhysicalMemory

I/O

PCRProcess Thread GDT

TSS

IDT

IRQ

Driver

Paging

IRP

Processor

Interrupt

PhysicalMemory

I/O

PCRProcess Thread GDT

TSS

IDT Driver����������� ������������������  

IRQ

Paging

IRP

Hypervisor

VMCB

1

2

Keyboard����������� ������������������  Register

13

Keyboard����������� ������������������  Register

Virtual����������� ������������������  Machine

Page 17: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

가상화����������� ������������������  계층을����������� ������������������  통한����������� ������������������  PS/2����������� ������������������  키로거����������� ������������������  제작����������� ������������������  가상환경에서의����������� ������������������  동작����������� ������������������  #2����������� ������������������  키보드����������� ������������������  레지스터����������� ������������������  읽기

가상화����������� ������������������  계층����������� ������������������  키로거

Processor

Interrupt

Physical����������� ������������������  Memory����������� ������������������  

Paging

I/O

PCRProcess Thread GDT

TSS

IDT

IRQ

Driver IRP

Processor

Interrupt

PhysicalMemory

I/O

PCRProcess Thread GDT

TSS

IDT

IRQ

Driver

Paging

IRP

Processor

Interrupt

PhysicalMemory

I/O

PCRProcess Thread GDT

TSS

IDT Driver����������� ������������������  

IRQ

Paging

IRP

Hypervisor

VMCB

2

Keyboard����������� ������������������  Register

31

Keyboard����������� ������������������  Register

Virtual����������� ������������������  Machine

Page 18: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

가상화����������� ������������������  계층을����������� ������������������  통한����������� ������������������  PS/2����������� ������������������  키로거����������� ������������������  제작����������� ������������������  

구현����������� ������������������  

1.����������� ������������������   특권 계층����������� ������������������  명령어를����������� ������������������  사용할����������� ������������������  수 있게끔����������� ������������������  드라이버 ����������� ������������������  ����������� ������������������   제작 후����������� ������������������  로드����������� ������������������  

2.����������� ������������������   CPU지원 가상화����������� ������������������  계층����������� ������������������  활성화����������� ������������������  ����������� ������������������  ����������� ������������������  

3.����������� ������������������   가상화 계층에서����������� ������������������  PS/2����������� ������������������  관련����������� ������������������  I/O����������� ������������������  포트����������� ������������������  0x60번과����������� ������������������  ����������� ������������������  ����������� ������������������  

0x64번을����������� ������������������  모니터링����������� ������������������  하며 키로깅

가상화����������� ������������������  계층����������� ������������������  키로거

Page 19: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

가상화와����������� ������������������  보안����������� ������������������  가상화����������� ������������������  기술을����������� ������������������  활용한����������� ������������������  보안����������� ������������������  계층에����������� ������������������  

대해����������� ������������������  다루고자����������� ������������������  합니다.

II

I

III

IV

가상화와����������� ������������������  보안

V

Page 20: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

Vulnerabilities����������� ������������������  of����������� ������������������  Windows����������� ������������������  8

가상화와����������� ������������������  보안

2528

31

22

9 9

Execute code Overflow Gain Privilege Denial of Memory etcServices Corruption

Page 21: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

Trusted����������� ������������������  Computing����������� ������������������  Requirement

가상화와����������� ������������������  보안

Endorsement����������� ������������������  Key

Secure����������� ������������������  Input����������� ������������������  Output

Protected����������� ������������������  Execution

Sealed����������� ������������������  Storage

Memory����������� ������������������  Curtaining

Remote����������� ������������������  Attestation

보안된 입력����������� ������������������  출력

메모리 격리

암호화된 저장소

원격 인증

보호된 실행

인증서 관리

Page 22: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

Trusted����������� ������������������  Execution����������� ������������������  Environment����������� ������������������  Architecture

가상화와����������� ������������������  보안

TEE Kernel

Rich Execution Environment

Trusted Execution Environment

HardwarePlatform H/W Secure Resource

Global Platform TEE Internal API

Rich OS

Proprietary InterfacesGlobal Platform TEE Client API

Page 23: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

가상화와����������� ������������������  보안

Implement����������� ������������������  :����������� ������������������  ARM����������� ������������������  TrustZone����������� ������������������  

Normal world Secure world Generic

Application

Monitor

SecurityClient

SecurityClient/

Scheduler TrustZone Driver Inter-world

IPC Manager Scheduler

Standalone Application

SecurityService

SecurityService

UserUser

PrivilegedPrivileged

kernel kernel

IRQ FIQ IRQ����������� ������������������   FIQ����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  

SMC

Page 24: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

마무리����������� ������������������  

II마무리����������� ������������������  

I

III

IV V

Page 25: [2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안

새로운 플랫폼,����������� ������������������  보안

마무리

www.CodeEngn.com2014 CodeEngn Conference 11