Vyzna sa niekto trocha v tej SMC/Pacifica technologii, konkretne:
1. Nebolo by mozne detekciu robit tak, ze detektor by si vytvoril vlastny hypervisor, takze by videl vsetko vratane toho rootkitu?
2. V pripade ze 1. nefunguje (pretoze napr. rootkit by to zakazal), neslo by strcit hypervisor pri starte OS, ktory by zakazal vznik inemu hypervisoru? Alebo vsetky hypervisory "existuju paralelne", tj. koexistujuce hypervisory sa "navzajom nevidia"?
Vsetky linky veduce na specifikaciu pacificy na AMD strankach vracaju HTTP 404.
Zatial som ju tak letmo pozrel, ale myslim, ze existencia vnutri VM (resp. existencia hypervisoru) by sla zistit postrannymi kanalmi, podobne ako sa da zistit, ze sme v chroote alebo ze bezime pod VM.
Myslienka:
TLB je tam len jedna. Vytvorime kod, ktory zakaze prerusenia a naplni celu TLB vlastnymi polozkami. Kod bude v cykle cakat a pozerat, ci nejaka stranka nevypadla z TLB. Pretoze vypadok nemohol sposobit on sam (tak je napisany), je to znak, ze existuje niekde nejaky beziaci kus kodu, ktory vyhodil polozku z TLB. Vyplyva z toho existencia nejakeho hypervisoru.
IOMMU vytvara v pamati log vsetkych prikazov a ten log moze OS monitorovat na podozrive prikazy. Da sa to nastavit ako interrupt pri pridani zaznamu do logu.
"The IOMMU can be used to allow unmodified virtual machine guest operating systems to directly access
devices. This is really just a special case of allowing user-level access to devices, but there are a few
considerations that warrant separate mention."
Kod ovladajuci IOMMU moze naviac zakazat urcite prikazy. Ked OS ziska kontrolu nad IOMMU ako prvy, vyhral. Jediny sposob ako by rootkit kontrolu nad IOMMU pred OS je, ze by sa zaviedol pred bootom OS (zrejme by asi musel flashnut BIOS alebo sa schovat v bootloaderi). Rootkit by potom mohol zakazat OS ziskat kontrolu nad IOMMU, ale to by bol jasny priznak existencie rootkitu. Kod OS ovladajuci IOMMU by mohol byt implementovany ako mini-VM (nikto by uz nemohol ovplyvnit mini-VM az do dalsieho rebootu). Ako option v kerneli by bolo mozne zakazat neskorsiu manipulaciu s IOMMU (tym by sa ale zaroven zakazalo vyuzitie celej virtualizacnej technologie).
Asi by to slo aj lepsie, zaver je, ze s tou "nedetekovatelnostou rootkitu" to nebude az take zle.
No neviem co si predstavujete pod "jednoznacny". Ak "dokonaly", tak potom kratka odpoved je nie. Take nieco neexistuje pre ziadny system. Jediny HW, ktory dokaze siet dokonale zabezpecit, su poistky a to tak, ze ich vypnete - no ale potom ta siet uz nie je moc uzitocna. Zakladne pravidlo bezpecnosti - dokonala bezpecnost neexistuje.
Co sa tyka nejakeho softu - taky balik pravdepodobne existovat nebude. Bezpecnost je proces, nie produkt. Daju sa ale urcite zohnat nejake nastroje, napr. urcite je viacero grafickych nastavovatok na firewall, k beziacim sluzbam, atd., ale aj tak im treba rozumiet, aby vysledok bol uspokojivy.