가상화 기술을 이용한 메모리 보호 그리고 ring -1 박지환

Slides:



Advertisements
Similar presentations
공공기관을 위한 정보시스템 통합 서버가상화 솔루션 개요 주요 기능 구축사례 경쟁제품 비교 구축 예시 제품 정보 및 문의.
Advertisements

운영체제의 역사 작성 / 발표 오두환.  OS( 운영체제 ) 의 정의 OS(operating system) 란 ?? 머리 - > 계산 = Cpu 얼굴 + 몸매 = 그래픽카드 눈 = 모니터 머리 -> 기억 = HDD/SDD 입 = 스피커 귀 = 마이크 ….. 하드웨어하드웨어.
Dept. Computer Engineering DBLAB 정보처리개론 담당 교수 : 김정석 2009 년도 1 학기.
보 고 서 보 고 서 목  차.
음란물에 대하여. 인터넷 음란물의 의미 돈벌이를 위해 단지 성적 욕망을 불러 일으키기 위한 음란한 인터넷 상의 사 진, 동영상, 만화 등을 말한다.
J-Stream part1 (Software streaming service) ▪ 팀명 : Jukdori ▪ 팀원 : 16 th 윤병호 (PL) 15 th 송인규 16 th 김영진.
21. XEN KAIST 10 / SPARCS 11 alphamin ( 유민정 ). Contents 1. Virtualization 2. Installing Xen 3. Reference.
아이핑 소개 (탁구대회) 아이핑 담당 신동일 네이버(다음)에서 아이핑검색 아이핑 소개 (탁구대회) 담당 신동일 아이핑.
OS 소개 Introduction 설계목표 기본 용어 Resource Management History.
서버 보안의 기술적 보호조치 엘림넷 정보보안사업팀 곽제균.
안 보여 줄끼가? 소프트웨어 프로젝트 1 – 제안서 발표 피바다 (A6)조 발표자 : 조기수.
PC와 인터넷 정강수 컴퓨터 구조와 웹의 이해 PC와 인터넷 정강수
1. PC 에서 회원가입 1. 회원가입 버튼 클릭 클릭.
임베디드 SW 시스템 소개 - 임베디드 운영체제 - 임베디드 리눅스 - 임베디드 인터넷
임베디드 시스템 개론 8. 임베디드 시스템 개발 환경 8주차 강의 자료 Embedded System Lab.
13. Xen Yasik 박중언.
Vmware_workstation5에solaris10설치
DELL International Inc. 고객을 위한
CIDISK STEALTH File Server 제안서
뇌를 자극하는 Windows Server 2012 R2
삼성전자 사외업무지원시스템 사용자 매뉴얼 v4.1.
ORACLE M10 Domain구성 유니원아이앤씨(주).
오목게임 W32 로봇시스템제어(하) GROUP 7 노성동, 하선웅, 김관준
Application and Server Management
GNS3의 특징과 사용법 VMware Workstation 문찬웅 & 최성민.
서버의 종류와 기능 환경공학과 권진희.
Dell PowerEdge T20 파트너 프레젠테이션
호서대학교 앱가상화 사용자 접속 가이드 ㈜아이플랜네트웍스.
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
XEN & CLOUD SPARCS14 ONION.
DELL International Inc. 고객을 위한
7장 마이크로프로세서의 명령어수행과 주소지정 방식 Slide 1 (of 29).
(PROJECT명: Web Server관리)
1 마이크로프로세서의 원리 마이크로컨트롤러 AVR ATmega128.
Windows 2008R2 Hyper-V 기반 데스크톱 가상화 환경
독도 바로알기 2. 사료와 지도로 보는 독도.
임베디드 소프트웨어 동향. 임베디드 소프트웨어 동향 임베디드 S/W 시장분류 솔루션 측면 시스템 측면 운영체제 개발도구 설계도구 테스트도구 유선통신 무선통신 정보가전 자동차제어 산업자동화 사무자동화 군사/항공우주 의료장비 솔루션 공급 업체 임베디드 S/W시장 임베디드.
R520 서버 1 제품 개요 DELL PowerEdge R520
Xen and the Art of Virtualization
제 1장 시스템 소프트웨어의 개요.
강의 및 교재의 목표 리눅스 초보자 리눅스 중급자. 강의 및 교재의 목표 리눅스 초보자 리눅스 중급자.
VM? Virtual..?? Vulnerability Analyst Diary
초등학생이 pc방을 가도 되는가? 등마 초등학교 5학년 4반 김근아.
포토서버 (PhotoServer) 제품 소개서
Sensor EDA 소개서
소리가 작으면 이어폰 사용 권장!.
How to Windows Server 2003 김형백 (A+/MCSE/RHCE)
Windows 10 업그레이드 방지 관련 메뉴얼 목차 [1] Windows 10 업그레이드 예약 확인 / 취소
1장. 가상머신(Virtual Machine)의 소개와 설치
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
Small-scale Java Virtual Machines
제 10장 운영체제.
소리가 작으면 이어폰 사용 권장!.
Windows7 – 글꼴, 시스템, 장치관리자, 전원옵션
12장. 파일 시스템 구현.
단면도 물체의 일부를 잘라낸 것으로 가정하여 투상도 작성. 해칭선 이용 절단평면을 단면선으로 표시.
Ⅳ. 생식과 발생 4. 자손에게 줄 세포 만들기.
제 2장 프로세스 관리와 CPU 스케줄링 2.1 프로세스의 개념 2.2 CPU 스케줄링의 목적과 유형
“병원 폐기물 소각장” 및 “가축 폐수 처리장” 건축 허가 반대 (2011년 “음식물처리장” 미해결 민원 연관)
성경퀴즈 여호수아1장 3장 복습게임.
소리가 작으면 이어폰 사용 권장!.
100세 시대, 스마트 헬스케어와 미래직업 (3) 고령화 사회에 필요한 웨어러블.
Virtual Machine Management
코딩교육, 어떻게 해야 할까 이천양정여자고등학교 김가연 안선영.
1. 칭찬 및 고발제도 운영(안) 1. 목적 : 칭찬문화의 전사적 확산,전파를 통한 칭찬문화 조성 및 건전한 회사문화 형성
소리가 작으면 이어폰 사용 권장!.
Finger Motion 인식 SoC를 이용한 Virtual 입력단말 플랫폼 기술
가상 기억장치 (Virtual Memory)
이러다 클라우드.
Presentation transcript:

가상화 기술을 이용한 메모리 보호 그리고 ring -1 박지환 redbit0@gmail.com 안녕하세요, BoB 2기 교육생 박지환이라고 합니다. 이번 BoB 교육과장을 진행하면서 했던 프로젝트에 대해설명하려고 합니다. 아직까지는 연구가 부족하다고 생각되는 가상화 기술을 응용하여 보안에 접목시켜봤습니다. 박지환 redbit0@gmail.com

가상화 기술이란? 1999년 VMWare가 최초로 릴리즈 됨 이후 현재 10.0 버젼까지 출시되어있음 XEN 2003년 우선 가상화 기술이란 예전부터 노력해왔던 하나의 분야로 계속적으로 개발이 되어나갔습니다. 1999년에 VMWare 가 출시 되었고 이후로 XEN, KVM, HYPER-V 등의 가상화 프로그램들이 개발되어져 왔습니다. 이렇게 점차적으로 가상화 기술이 개발되어가고 시장이 형성되어갔습니다. KVM 2007년 Hyper-V 2008 년

왜? 사용량이 증가할까? 가장 큰 이유는 클라우드 시스템 컴퓨터 자원의 낭비 그 이유로는 실제로 컴퓨터 자원의 사용률은 채 30%가 되지않았기 때문에, 그런 남는 자원들을 효율적으로 사용하기 위한 방법으로 대두 되었습니다. 물론 여러 무거운 프로그램을 돌리게된다면 사용률이 치솟을 수 있겠지만 멀티코어 시스템에서 효율적인 병렬처리를 구현하지 못한 프로그램들이 대부분이기 때문에 대부분의 자원은 낭비된다고 볼 수 있습니다. 그래서 가상화 기술을 이용해서 남는자원을 새로운 일을 할 수 있는 곳에 합리적으로 할당하기 시작했습니다.

왜? 사용량이 증가할까? 소프트 웨어를 이용한 가상화 Web Server 의 가상호스트 설정 Windows 서버의 다중 접속 Paravirtualization 이러한 것들의 예로는 웹 서버의 가상호스트 설정 윈도우즈의 다중 접속 시스템 Paravirtualization 등이 있습니다. 하지만 이것들은 시작에 불가했습니다.

왜? 사용량이 증가할까? 이제는 컴퓨터의 디스크자원을 나눠주는 nDrive Dropbox Evernote 등등과 있고 갖은 스트리밍서비스들이 존재하고 있습니다. 이러한 서비스들 모두 남는 자원을 분할해서 나눠주는것이라고 볼 수 있습니다. 그리고 어디에서도 항상 같은 개발환경에서 개발을 하고 싶어하는 개발자들을 위해 클라우딩 개발 시스템도 존재하고 있습니다. 또한 PC방에서는 하나의 큰 SSD를 가상화하여 여러대의 PC의 공유하는 방식을 통하여 빠른 디스크 속도를 얻고 있습니다.

왜? 사용량이 증가할까? 그리고 이제는 극단적으로 컴퓨터, 즉 서버 자체를 가상화시켜서 판매하기도 합니다. 이러한 서비스들 모두는 예전에는 상상도 할 수 없었지만 이제는 하드웨어 성능이 발전해서 충분한 속도를 낼 수 있게되었고, 또한 하드웨에서부터 원초적이 지원이 있었기 때문입니다.

왜? 사용량이 증가할까? 2005년 Intel Pentinum4 에서 처음으로 선보인 기술 저 전력 ATOM CPU에서도 지원 하드웨어 장치를 가상화 하드웨어에서의 지원은 2005년 인텔이 펜티엄4 프로세서에서 처음 소개되었으며 이후로 꾸준히 발전해 왔습니다. 이 발전되 기술은 앞서 소개한 VMWare, Xen 등에서 점차 사용하기 시작을 했습니다. 그리고 저 전력 CPU인 ATOM에서 지원하게될 정도로 일반화가 되어가고 있습니다. 그럼 가상화의 구조는 어떻게될까요??

일반적으로 가상화 기술은 다음과 같은 구조로 되어있습니다. 이 하이퍼바이저는 하드웨어 바로 위에 존재하기 때문에 OS가 가지는 권한보다 더 높은 권한을 가지게 됩니다. 잘 알고 있는 ring3 아키텍쳐에서는 존재하지않는 가상의 ring -1의 권한을 가질 수 있습니다. 하지만 아직까진 ring -1의 권한을 가지고 할 수 있는 부분에대해서는 연구가 부족했습니다. 그래서 ring 0가 아닌 ring -1이라는 권한을 가지고 어떠한 일들을 할 수 있을지 연구했습니다

무엇을 할 수 있나? 최근 이슈가 되었던 메모리 조작을 이용한 해커에게 입금하게하는 공격방식이 있었고, 공인 인증서의 암호를 탈취하려던 시도도 많았습니다. 하지만 이러한 공격들의 특징은 하드웨어 장치로부터의 데이터를 조작이나 훔쳐가는 방식이였습니다. 키로깅의 경우 키보드로부터의 데이터를 가로채는 방식이고 메모리 해킹은 램 장치의 특정 영역의 데이터를 읽어 오는 방식입니다. 하지만 아까 보았던 하이퍼바이저의 위치인 OS와 하드웨어 사이에서의 징검다리 역할을 하고 있는 하이퍼바이저라면 그 데이터를 충분히 보호, 차단할 수 있습니다. 이러한 보호기법들은 이전에도 존재해왔다고 볼 수 있습니다, 하지만 더 높은 권한에서 행해지는 방법이기 때문에 더 안전하다고 볼 수 있습니다. 또한 보안프로그램이 공격당하던 하나의 문제점인 ring 0의 권한을 얻고자하는 프로그램이 악성코드인지 아닌지 식별하기 어렵기 때문에 보안프로그램과 악성코드는 같은 권한을 가지던 문제점에서 해방 될 수 있습니다. 왜냐하면, 정상프로그램이 ring -1의 권한을 얻고자하는 경우가 없다고 봐도 무방하기 때문입니다.

어떻게 동작할까? 불독화 소프트웨어 구현 혹시 큐브피아에서 발표한 불독화라는것에 대해 알고 있는지 모르겠습니다. 저희가 발표하는 이 기술도 불독화와 매우 유사하게 동작한다고 생각합니다. 저도 자세한 사항은 모르지만 불독화 기술을 적용하기 위해서는 특별한 하드웨어 장치가 필요하다가 들었습니다. 반면 저희는 CPU의 특별한 기능을 이용하여 동작하기 때문에 2005년에 출시된 펜티엄4이상의 CPU를 사용한다면 언제든 이용할 수 있습니다. 물론 소프트웨어적인 구현이기 때문에 동작 속도에서는 저희가 느릴 수 있습니다. 그리고 좀더 상세한 설명에 앞서 준비한 데모 영상을 보시겠습니다!

Hypervisor 이해 Non-root Operation Root Operation 그럼 이제 하이퍼바이저란 무엇인가에 대해 간단히 살펴보겠습니다. 하이퍼바이저는 크게 Root Operation과 N-root operation 두가지 동작 모드를 가지고 있습니다. Root operation은 VM entry 라고 불리기도 합니다. 아까 말한 ring -1의 권한은 Root operation 상태일때의 권한이라고 볼 수 있습니다. N-root operation은 Guest os가 동작할때의 권한이며, ring 0~ ring 3의 권한을 가지게 됩니다. 그럼 어떻게 이 두가지의 동작 모드의 전환이 이루어 지는지 살펴보겠습니다.

Hypervisor 이해 독립적인 VMCS ( Virtual Machine Control Struct ) 하이퍼바이저 동작 모드의 시작은 VMXON 이라는 특권 명령에 의해 시작됩니다. 이후 VMXOFF라는 특권 명령 전까지의 모든 동작이 하이퍼바이저에서의 동작이라고 볼 수 있습니다. 각각의 GuestOS들은 CPU 상태를 나타내는 VMCS ( Virtual Machine Control Struct ) 라는 구조체를 가지고 있습니다. VMLAUNCH 명령을 사용하게되면, VMCS의 정보를 읽어 실제 CPU가 동작하는것 처럼 동작하게 됩니다. 그럼 각각의 Guest OS, 즉 Non-root operation 으로부터 어떻게 root operation으로 돌아와 특정한 행동한 행동을 할 수 있는지 중요하게됩니다.

Hypervisor 이해 VM EXIT Invalid Opcode I/O Operation Non-root Operation VM EXIT Invalid Opcode I/O Operation CPUID, GETSEC, VM OPERATION … etc Other Priviliged Operation N-root operation 에서 root operation으로 제어가 옮겨가는 이유에는 여러가지가 있습니다. 이러한 동작을 VM Exit라고 부르게되며 이 경우에는 많은 이유가 있습니다. 아까 데모영상에서 보신 Stelth Sysenter Hooking이 특권 명령실해시 root operation으로 제어권이 넘어온다는 점을 이용해서 만들었습니다 Root Operation

Hypervisor를 이용한 메모리 보호 EPT ( Extended Page Table ) 가상 메모리를 맵핑을 좀더 편리하고 빠르게 처리함 이전 세대에서는 Shadow Page Table 이라는 기술을 사용 메모리 보호 역시 같은 방식입니다. 다만 조금 특별한 기능이 더 들어가게되는데요, 그 기능은 EPT라고 합니다. Hypervisor에 추가로 사용할 수 있는 기능이며 이것은 가상 메모리와 실제 물리 메모리를 맵핑을 고속으로 처리하기 위해 개발되었습니다. 이 기능을 사용하기 전에는 Shadow Page Table라는 방식을 사용해왔으며 이 방식은 소프트웨어적으로 구현된다는 점에서 속도에서 많은 차이가 나게 됩니다.

Hypervisor를 이용한 메모리 보호 EPT는 다음과 같이 구성되며, 좀 보기 복잡하겠지만 64bit의 가상메모리 즉 페이징 과정을 한번더 진행한다고 보시면됩니다. 구조는 64bit에서의 페이징과 마찬가지고 최상위 PML4부터 PDPTE, PDE, PTE 총 4개의 과정을 거쳐서 실제 물리 메모리 주소가 구해지게 됩니다.

Hypervisor를 이용한 메모리 보호 Guest Virtual Memory Guest Physical Memory Real Guest OS Paging EPT Paging VM EXIT!!

BLUE PILL 2006년에 Joanna Rutkowska (조안나 루크오스카) 가 블랙햇 컨퍼런스에서 발표한 하이퍼바이저를 이용한 루트킷

Q & A 함께 프로젝트를 진행한 김지성, 조민기, 최부근 정신적 지주인 노용환 멘토님 감사합니다.