27
uKernel devroom report Sartakov A. Vasily Ksys labs Fedora Virtualiza:on Day 2014 / "FOSDEM AEerparty"

Что нового в NOVA Microhypervisor

  • Upload
    yandex

  • View
    848

  • Download
    2

Embed Size (px)

DESCRIPTION

В докладе будет рассказано о перспективном микрогипервизоре NOVA, который разрабатывает Intel Labs, о его старом и новом окружении.

Citation preview

Page 1: Что нового в NOVA Microhypervisor

uKernel  devroom  report  

Sartakov  A.  Vasily  Ksys  labs  

Fedora  Virtualiza:on  Day  2014  /  "FOSDEM  AEer-­‐party"  

Page 2: Что нового в NOVA Microhypervisor

Syuzhet  

•  Intro  •  FOSDEM  2014:  Microkernel-­‐based  opera:ng  systems  devroom  

•  Flashback:  Offline  Test  Day  (01.06.2013)  •  Недовиртуализация  –  встраиваемые  системы  

•  Виртуализация  

Page 3: Что нового в NOVA Microhypervisor

FOSDEM  2014:  Microkernel-­‐based  opera:ng  systems  devroom  

•  60-­‐70  человек,  на  каких-­‐то  докладах  больше,  на  каких-­‐то  меньше.    •  HelenOS,  Genode  FW,  GNU/Hurd,  OS  Escape,  L4Re  

Page 4: Что нового в NOVA Microhypervisor
Page 5: Что нового в NOVA Microhypervisor
Page 6: Что нового в NOVA Microhypervisor

Security  Gap  

Sartakov  A.  Vasily  ksys  labs  2014  

Red  FOSDEM  ‘  14  

Page 7: Что нового в NOVA Microhypervisor

Flashback:  Offline  Test  Day  (01.06.2013)  

•  Общие  сведения  о  виртуализации  •  Виртуализируется  все  –  от  API  библиотек  до  аппаратных  платформ.  

•  О  применении  виртуализации  в  микроядерных  проектах  говорят:  –  Паравиртуализация  L4Linux  –  Виртуализация  (эмуляция)  API  (posix,  lib*,  драйвера)  –  Аппаратная  виртуализация  (VT-­‐x)  

•  В  этом  году  пожалуй  самым  интересным  были  как  раз  проекты  связанные  с  поддержкой  аппаратной  виртуализации  

 

Page 8: Что нового в NOVA Microhypervisor

Syuzhet  

•  Intro  •  FOSDEM  2014:  Microkernel-­‐based  opera:ng  systems  devroom  

•  Flashback:  Offline  Test  Day  (01.06.2013)  •  Недовиртуализация  –  встраиваемые  системы  

•  Виртуализация  

Page 9: Что нового в NOVA Microhypervisor

ARM  TrustZone  

•  ARM  TrustZone  –  виртуальный  процессор  для  исполнения  изолированного  доверенного  ПО.    

•  По  сути  своей  является  дополнительным  режимом  ARM    

•  Позволяет  запускать  две  операционные  системы,  одна  из  которых  ничего  не  будет  знать  о  другой  

•  Много  где  есть,  но  доступа  к  TZ  нет    

Page 10: Что нового в NOVA Microhypervisor

TZ  Example  

Source:  ARM  Security  Technology  Building  a  Secure  System  using  TrustZone®  Technology  

Page 11: Что нового в NOVA Microhypervisor

Зачем  это  вообще  нужно?  

•  Во  встраиваемых  системах  хочется  использовать  виртуализированую  среду,  как  инструмент  жесткого  разграничения  ресурсов  

•  Около  «Рыночный»  пример  –  телефон  с  двумя  андроидами  внутри  –  один  для  относительно  безопасных  приложений,  другой  -­‐  помойка  

Page 12: Что нового в NOVA Microhypervisor

И  как  такое  делается?    

•  Вопрос    религии  идеологии:  взять  Linux  и  свопить  roo�s  и  программы  местами  –  плохо  с  идеологической  точки  зрения,  в  виду  общего  ядра  для  обоих  режимов  

•  Давайте  больше  изоляции!  •  Давайте  будем  использовать  микроядра!    

Page 13: Что нового в NOVA Microhypervisor

И  как  такое  делается?    

•  Вопрос    религии  идеологии:  взять  Linux  и  свопить  roo�s  и  программы  местами  –  плохо  с  идеологической  точки  зрения,  в  виду  общего  ядра  для  обоих  режимов  

•  Давайте  больше  изоляции!  •  Давайте  будем  использовать  микроядра!    

Ну  давайте..    

Page 14: Что нового в NOVA Microhypervisor

L4Linu

x  

FLV   FLV  

FLV   FLV  

FLV  

Паравиртуализация  

CPU    main    memory  

I/O  devices  

Host  Kernel  

Guest  ABI  Host  API  

APP  

APP   PID1  

APP   FLV   FLV  

FLV   FLV  

FLV  Guest  ABI  Host  API  

APP  

APP   PID1  

APP  

L4Linu

x  

FB  

IO  

vETH  

Page 15: Что нового в NOVA Microhypervisor

Вполне  себе  успешное  решение  

•  На  уровне  прототипа  работает  красиво  •  T-­‐Lab  (simko3  project)  довел  вроде  бы  телефон  до  конца    •  Но  вообще  это  бесконечно  далеко  от  продакшена    

Genode+2xL4Linux  

Page 16: Что нового в NOVA Microhypervisor

Сейчас  

•  Сейчас  интерес  к  паравиртуализации  по-­‐убавился.    

•  L4Linux  тяжело  «усилить»  в  виду  некоторых  особенностей  архитектуры  

•  Под  L4Linux  нужно  адаптировать  драйвера  •  Модные  процессора  имеют  TZ,  а  совсем  модные  –  аппаратную  виртуализацию  

Page 17: Что нового в NOVA Microhypervisor

И  так,  нова  TZ  

•  Идея:  запускать  в  Secure  world  операционную  систему,  управляющую  ресурсами,  а  в  normal  world  –  контролируемую  операционную  систему.    

•  Реализация  от  Genode  Labs:  Genode  base-­‐hv  ядро  в  secure  world,  Android  в  normal  world.  

•  Подобное  же  решение  от  L4Re:  Fiasco.OC    в  secure  world  

Page 18: Что нового в NOVA Microhypervisor

Архитектура  

Source:  h�ps://fosdem.org/2014/schedule/event/08_uk_arm_virtualiza:on_dungeon/a�achments/slides/390/export/events/a�achments/08_uk_arm_virtualiza:on_dungeon/slides/390/genode_trustzone.pdf    

Page 19: Что нового в NOVA Microhypervisor

Демо  от  Genode  Labs  

•  IMX53  based  Sabre  board.  

Page 20: Что нового в NOVA Microhypervisor

Syuzhet  

•  Intro  •  FOSDEM  2014:  Microkernel-­‐based  opera:ng  systems  devroom  

•  Flashback:  Offline  Test  Day  (01.06.2013)  •  Недовиртуализация  –  встраиваемые  системы  

•  Виртуализация  

Page 21: Что нового в NOVA Microhypervisor

Микрогипервизор  

•  NOVA  –  baremetal  microhypervisor  •  Написанный  с  нуля  •  L4  идеология    •  Да,  микроядро  

Page 22: Что нового в NOVA Microhypervisor

CPU   Mem   IO  

Linux  kernel  

Linux  user-­‐space  

VMM  

R3  

R0  

R3  

NOVA  R0  

Non

-­‐roo

t  mod

e  root  m

ode  

Linux  kernel  

Linux  user-­‐space  

VMM   DRV   Sigma0  

NOVA  

Page 23: Что нового в NOVA Microhypervisor

Non

-­‐roo

t  mod

e  Ro

ot  m

ode  

Hardware  

Virtual  Busses  

NOVA,  VMM,  Окружение  

messaging  

NOVA  

CPU  

Driver   vDriver   vBIOS   VMM  

Ioctl(0x5,’a’);  

Iomem  opera:on:  *0x5=‘a’;  

R3  

R0  

R3  

R0  

Page 24: Что нового в NOVA Microhypervisor

За  что  борются?  

•  Борются  за  разработку  хорошего  VMM,  поддерживающего  не  только  Linux  –  Vancouver  

•  Linux  –  Seoul  

•  Борются  за  разработку  хорошего  окружения  – NUL  – NRE  – Genode  

Page 25: Что нового в NOVA Microhypervisor

Вести  с  полей  

•  Seoul  –  VMM,  поддерживается  в  Genode,  реализована  live-­‐migra:on,  сейчас  мержится  с  основным  бранчем  

•  Genode  портировали  Virtualbox  в  качестве  VMM,  продемонстрировали  Windows  on  top  of  NOVA.  Сорцы  будут  опубликованы  в  ближайшем  релизе.    

Page 26: Что нового в NOVA Microhypervisor

State  of  the  Art  

•  Есть  один  микрогипервизор  NOVA  •  Есть  несколько  окружений  •  Есть  поддержка  TZ  в  микроядрах,  и  есть  минимум  один  VMM  для  TZ  

•  Нет  аппаратной  поддержки  виртуализации  ARM  

•  Есть  несколько  VMM  •  Windows  поддержка  есть  только  в  VirtualBox  (почему-­‐то  поддержка  Windows  беспокоит  всех)  

Page 27: Что нового в NOVA Microhypervisor

Спасибо.      

Sartakov  A.  Vasily  [email protected]  

 Ksys  labs  LLC    

h�p://ksyslabs.com,  h�p://ksyslabs.org,  [email protected]  

*  Please  do  not  fork  me  on  github