[2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안GangSeok Lee
2014 CodeEngn Conference 11
가상화와 보안의 합작
가상화 기술은 대상체를 추상화된 리소스로 가상화하여 활용할 수 있는 기술이다. 가상화 기술이 하드웨어 차원에서 지원되기 시작한 이후로 CPU가 제어하는 자원을 하드웨어 레벨에서 가상화 할 수 있게 되었다. CPU가 하드웨어 수준에서 가상화를 지원하기 위해 설계된 구조와 인터페이스가 존재하는 계층이 기존에 운영체제에서 사용하던 Ring 0~3 계층 상위에 추가되면서 이를 보안에서 활용하는 시도들이 있어왔으며 대표적으로 ARM TrustZone 아키텍처가 있다. TrustZone과 같은 아키텍처는 운영체제와는 다르게 오직 보안에 관련된 서비스와 기능만을 탑재한 보안전용운영체제를 먼저 상주시킨다. 운영체제가 특권/사용자 계층을 나누어 사용자 계층에서 하드웨어 자원에 접근하는 것을 막고 대신 요청을 받아 처리함으로서 하드웨어 자원을 보호했던 것과 유사하게 보안/일반 계층으로 나눠 보안이 필요한 동작시에 보안전용운영체제가 요청을 받아 처리하는 구조를 갖고, 일반 계층은 격리되어 보안 계층에 접근할 수 없으므로 보안성을 한층 높힌 구조이다. 본 발표는 가상화 기술에 대한 개괄적 설명과 이를 활용한 PS/2 키로거를 제작 I/O를 가로채는 과정을 살펴보고 운영체제 상위 권한이 어떤 의미를 갖는지 그리고 CPU하드웨어 레벨의 강력한 권한을 체험하는 것을 통해 가상화 기술의 특성을 파악해보자 한다.
http://codeengn.com/conference/11
http://codeengn.com/conference/archive
[2014 CodeEngn Conference 10] 노용환 - 디버거 개발, 삽질기GangSeok Lee
2014 CodeEngn Conference 10
MS 에게 속았어요
Windows 운영체제가 지원하는 디버거 지원 기능들과 브랜치 트레이서를 구현하기 위한 몇 가지 방법들을 소개하고, Windows 커널에 이미 구현되어있는 하드웨어 기반 브랜치 트레이서 코드 분석과 여기에 존재하는 의도된(?) 버그를 살펴본다.
http://codeengn.com/conference/10
http://codeengn.com/conference/archive
[2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안GangSeok Lee
2014 CodeEngn Conference 11
가상화와 보안의 합작
가상화 기술은 대상체를 추상화된 리소스로 가상화하여 활용할 수 있는 기술이다. 가상화 기술이 하드웨어 차원에서 지원되기 시작한 이후로 CPU가 제어하는 자원을 하드웨어 레벨에서 가상화 할 수 있게 되었다. CPU가 하드웨어 수준에서 가상화를 지원하기 위해 설계된 구조와 인터페이스가 존재하는 계층이 기존에 운영체제에서 사용하던 Ring 0~3 계층 상위에 추가되면서 이를 보안에서 활용하는 시도들이 있어왔으며 대표적으로 ARM TrustZone 아키텍처가 있다. TrustZone과 같은 아키텍처는 운영체제와는 다르게 오직 보안에 관련된 서비스와 기능만을 탑재한 보안전용운영체제를 먼저 상주시킨다. 운영체제가 특권/사용자 계층을 나누어 사용자 계층에서 하드웨어 자원에 접근하는 것을 막고 대신 요청을 받아 처리함으로서 하드웨어 자원을 보호했던 것과 유사하게 보안/일반 계층으로 나눠 보안이 필요한 동작시에 보안전용운영체제가 요청을 받아 처리하는 구조를 갖고, 일반 계층은 격리되어 보안 계층에 접근할 수 없으므로 보안성을 한층 높힌 구조이다. 본 발표는 가상화 기술에 대한 개괄적 설명과 이를 활용한 PS/2 키로거를 제작 I/O를 가로채는 과정을 살펴보고 운영체제 상위 권한이 어떤 의미를 갖는지 그리고 CPU하드웨어 레벨의 강력한 권한을 체험하는 것을 통해 가상화 기술의 특성을 파악해보자 한다.
http://codeengn.com/conference/11
http://codeengn.com/conference/archive
[2014 CodeEngn Conference 10] 노용환 - 디버거 개발, 삽질기GangSeok Lee
2014 CodeEngn Conference 10
MS 에게 속았어요
Windows 운영체제가 지원하는 디버거 지원 기능들과 브랜치 트레이서를 구현하기 위한 몇 가지 방법들을 소개하고, Windows 커널에 이미 구현되어있는 하드웨어 기반 브랜치 트레이서 코드 분석과 여기에 존재하는 의도된(?) 버그를 살펴본다.
http://codeengn.com/conference/10
http://codeengn.com/conference/archive
NHN NEXT 게임 서버 프로그래밍 강의 자료입니다. 최소한의 필요한 이론 내용은 질문 위주로 구성되어 있고 (답은 학생들 개별로 고민해와서 피드백 받는 방식) 해당 내용에 맞는 실습(구현) 과제가 포함되어 있습니다.
참고로, 서버 아키텍처에 관한 과목은 따로 있어서 본 강의에는 포함되어 있지 않습니다.
NHN NEXT 게임 서버 프로그래밍 강의 자료입니다. 최소한의 필요한 이론 내용은 질문 위주로 구성되어 있고 (답은 학생들 개별로 고민해와서 피드백 받는 방식) 해당 내용에 맞는 실습(구현) 과제가 포함되어 있습니다.
참고로, 서버 아키텍처에 관한 과목은 따로 있어서 본 강의에는 포함되어 있지 않습니다.
CPU Scheduling for Virtual Desktop InfrastructureHwanju Kim
This document discusses CPU scheduling techniques for virtual desktop infrastructure (VDI). It proposes a demand-based coordinated scheduling approach for scheduling multithreaded workloads on multiprocessor virtual machines (VMs). The key points are:
1. Coordinated scheduling of sibling virtual CPUs (vCPUs) in a VM is needed to effectively schedule multithreaded workloads, as uncoordinated scheduling can reduce inter-thread communication performance.
2. A coordination space consisting of space (physical CPU assignment) and time (preemption policy) domains is defined to coordinate vCPU scheduling.
3. In the space domain, a load-conscious balance scheduling approach assigns sibling vCPUs across physical CPUs based
It explains virtualization technology, KVM How-To, RHEV introduction for users and engineers.
KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). RHEV is based on KVM and includes Red Hat Subscription program. You can understand about virtualization in this document.
Enjoy.
현존하는 상용 서버 시스템 중에서 가장 안정적인 보안을 제공하는 LinuxONE을 소개 드립니다. IBM LinuxONE은 IBM의 하드웨어 기술역량을 집약한 리눅스 서버로서 핵심업무를 안정적으로 처리할 수 있는 높은 신뢰성을 제공합니다. 이러한 신뢰성을 기반으로 최근 국내 가상화폐거래소에 대규모 프로젝트를 진행중입니다. 자료를 통해 보시겠지만, LinuxOne의 특장점을 간략히 정리하여 드립니다.
1. 보안성 (Security)
- 상용 서버 중 EAL 5+ 인증을 획득한 전세계에서 유일한 서버입니다.
2. 안정성 (RAS)
- 전체 파트가 이중화로 설계되어 있으며, 장애 자동 복구 기능이 탑재되어 있습니다.
3. 유연성 (Flexibility)
- 다양한 형태로 가상화 파티셔닝이 가능합니다. (대규모 Scale up, 펌웨어 하이퍼바이저, 베이메탈 등)
4. 성능 및 민첩성 (Agility)
- 5.2GHz 속도의 프로세서 및 대용량 L1-L3캐시, 별도의 L4 캐시도 지원합니다.
현존하는 상용 서버 시스템 중에서 가장 안정적인 보안을 제공하는 LinuxONE을 소개 드립니다.
IBM LinuxONE은 IBM의 하드웨어 기술역량을 집약한 리눅스 서버로서 핵심업무를 안정적으로 처리할 수 있는 높은 신뢰성을 제공합니다.
이러한 신뢰성을 기반으로 최근 국내 가상화폐거래소에 대규모 프로젝트를 진행중입니다.
자료를 통해 보시겠지만, LinuxOne의 특장점을 간략히 정리하여 드립니다.
1. 보안성 (Security)
- 상용 서버 중 EAL 5+ 인증을 획득한 전세계에서 유일한 서버입니다.
2. 안정성 (RAS)
- 전체 파트가 이중화로 설계되어 있으며, 장애 자동 복구 기능이 탑재되어 있습니다.
3. 유연성 (Flexibility)
- 다양한 형태로 가상화 파티셔닝이 가능합니다. (대규모 Scale up, 펌웨어 하이퍼바이저, 베이메탈 등)
4. 성능 및 민첩성 (Agility)
- 5.2GHz 속도의 프로세서 및 대용량 L1-L3캐시, 별도의 L4 캐시도 지원합니다.
아울러 세부 구성과 적용 사례가 포함된 자료를 첨부해 드리오니,
보시다가 궁금한 점이나 견적 등 추가로 요청하실 사항이 있으시면 언제든 연락 부탁드립니다.
7. 가상화의 정의
하드웨어 지원 가상화 중 CPU 지원 가상화
가상화 개요
Process
Process
Process
PCR
Process
Process
Process
PCR
Process
Process
Process
PCR
Hypervisor
VMCB
execution
8. Hypervisor
가상화의 정의
클라우드에서의 가상화 활용
가상화 개요
VMCB VMCB
Process
Process
Process
PCR
Process
Process
Process
PCR
Process
Process
Process
PCR
core1 core2 core3
Hypervisor
VMCB
18. 가상화 계층을 통한 PS/2 키로거 제작
구현
1. 특권 계층 명령어를 사용할 수 있게끔 드라이버
제작 후 로드
2. CPU지원 가상화 계층 활성화
3. 가상화 계층에서 PS/2 관련 I/O 포트 0x60번과
0x64번을 모니터링 하며 키로깅
가상화 계층 키로거
19. 가상화와 보안
가상화 기술을 활용한 보안 계층에
대해 다루고자 합니다.
II
I
III
IV
가상화와 보안
V
20. Vulnerabilities of Windows 8
가상화와 보안
25
28
31
22
9 9
Execute code Overflow Gain Privilege Denial of Memory etc
Services Corruption
21. Trusted Computing Requirement
가상화와 보안
Endorsement
Key
Secure
Input
Output
Protected
Execution
Sealed
Storage
Memory
Curtaining
Remote A
ttestation
보안된 입력 출력
메모리 격리
암호화된 저장소
원격 인증
보호된 실행
인증서 관리
22. Trusted Execution Environment Architecture
가상화와 보안
TEE Kernel
Rich Execution Environment Trusted Execution Environment
Hardware
Platform
H/W Secure Resource
Global Platform
TEE Internal API
Rich OS
Proprietary I
nterfacesGlobal Platform TEE Client API
23. 가상화와 보안
Implement : ARM TrustZone
Generic
Application
Monitor
Secure worldNormal world
Security
Client
Security
Client
Scheduler
TrustZone
Driver
Inter-world
IPC Manager
Scheduler
Standalone
Application
Security
Service
Security
Service
(non-Privileged)UserUser(non-Privileged)
PrivilegedPrivileged
kernel kernel
IRQ FIQ IRQ FIQ
SMC