Powrót do strony głównej

Zastosowania

Testowanie jądra

User mode linux idealnie nadaje się do testowania jądra systemu linux. Jakiekolwiek zmiany w jądrze czy awarie nie powodują uszkodzenia systemu macierzystego. Dzięki temu nie trzeba tracić czasu na restartowanie komputera, czy naprawianie zniszczonego systemu.

Debugowanie jądra

UML pozwala pna pisanie i debugowanie kodu jądra linuksa przy użyciu narzędzi wykorzystywanych przy zwykłych procesach, takich jak gdb, gprof czy gcov.

Debugowanie procesów

UML-a można również wykorzystywać do debugowania normalnych procesów trybu użytkownika. Można np. posłużyć się UML-em w przypadku otrzymywania dziwnych błędów wywołań systemowych, których nie możemy wyjaśnić. Należy w tym celu uruchomić UML-a i nałożyć pułapkę na odpowiednie wywołanie systemowe i uruchomić sprawiający kłopoty program.

Honeypots

Honeypot jest to system (często dziurawy), który się umieszcza w sieci specjalnie dla ataków. Właściwie skonstruowany honeypot umieszcza się w sieci i dokładnie monitoruje się ruch z/do niego. Dzięki temu można analizować ataki (wykrywać sposoby ataków czy śledzić włamywaczy). Tradycyjnie honeypot to fizyczna maszyna umieszczona w specjalnej sieci, która dodatkowo zawiera kilka maszyn monitorujących honeypota. Dzięki UML można łatwiej i taniej stworzyć honeypot-a. W praktyce tworzy się wirtualną maszynę - honeypot-a, gdy jej host monitoruje cały ruch. Co więcej możliwe jest stworzenie na jednej fizycznej maszynie wielu wirtualnych honeypot-ów.
http://user-mode-linux.sourceforge.net/honeypots.html/

Jailing

Jailing polega na izolowaniu programów/użytkowników/usług od głównego systemu operacyjnego. Dzięki user rmode linux w prosty sposób można izolować od hosta rzeczy, którym nie ufamy, w tym także użytkowników. Przykładowo podatne na błędy usługi jak bind czy sendmail można oddzielić od głównego systemu za pomocą uml. Dzięki temu błędy tych usług nie spowodują awarii systemu hosta.

Sandboxing

Nowe programy, które są potencjalnie zainfekowane czy niebezpieczne można przed umieszczeniem na w systemie hosta testować korzystając z uml. W ten sposób złośliwe oprogramowanie może jedynie uszkodzić uml.

Wirtualny hosting

Na fizycznych serwerach sieciowych możliwe jest uruchomienie wirtualnych serwerów (które mogą posiadać własne domeny). Dzięki temu firmy mogą udostępniać użytkownikom nie konta, lecz w pełni sprawne i funkcjonalne serwery sieciowe. Użytkownik, który wykupi taki serwer ma udostępnione konto root, dzięki czemu może w samemu administrować serwerem i dostosowywać do własnych potrzeb (uruchomić serwer WWW, poczty, ftp).
http://www.jvds.com/
http://www.linode.com/

Edukacja

Wykorzystanie UML do nauki zastosowań sieci komputerowych Na uczelni Christchurch Polytechnic Institute of Technology (CPIT) w Nowej Zelandii wykorzystuje się do nauczania sieci komputerowych. Dużym problemem w nauczaniu zastosowań sieciowych na uczelni jest niebezpieczeństwo działania sieci uczelnianej. Rozwiązaniem tego problemu może być stworzenie specjalnego laboratorium komputerowego. Należałoby jednak zapewnić odpowiednią elastyczność działania i dużą izolację od sieci uczelnianej, co może być trudne i kosztowne w przypadku bardziej rozbudowanych sieci.
Biorąc pod uwagę ten problem stworzono na uczelni CPIT wirtualną sieć korzystając z uml-owych wirtualnych maszyn. Poniżej znajduje się schemat powstałej sieci. (31kB) Wirtualna sieć powstała na komputerze Pentium III 1GHz z 384 MB pamięci operacyjnej i 20GB dyskiem. Wirtualna sieć składa się z 20 wirtualnych hostów umieszczonych w 10 podsieciach, łączących się przez 1 wirtualny router z siecią uczelnianą (przez nią z Internetem). Jedna z podsieci została zarezerwowana dla tego wirtualnego serwera LAN.
http://user-mode-linux.sourceforge.net/case-studies.html
http://user-mode-linux.sourceforge.net/cpit.html