Red Pill

**Red Pill** er en metode for å påvise en form for digital virtualisering som går under navnet Blue Pill. Red Pill er knyttet til hvordan interupttabellen er håndtert i x86-arkitekturen. Både Blue Pill og Red Pill er utviklet av Joanna Rutkowska.

Navnet «Red Pill» viser til den røde pillen i den amerikanske science-fiction-filmen *[[The Matrix]]*. Personene i filmen lever i en virtuell framtidsverden som oppleves som fullstendig virkelig, mens de egentlig er fanget i en slags sentralstyrt dvale. Hvis noen svelger en rød pille, vil de våkne opp fra sin drømmesøvn, gjennomskue løgnen og se den barske virkeligheten slik den faktisk er. Tilsvarende vil Red Pill la operativsystemet påvise hypervisoren som gjør virtualiseringen. Litt avhengig av hva som er mulig, kan så operativsystemet eller den systemansvarlige gjøre tiltak for å fjerne eller kontrollere hypervisoren. Dette har en klar parallell til filmen. Tilsvarende finnes det en referanse for Blue Pill som er pillen som får operativsystemet til å tro at alt er ekte og naturlig.

## Bakgrunn
I x86-arkitekturen finnes det flere pekere som viser til allokert minne. Ofte organiseres minnet som en tabell av minneadresser, med en baseadresse og et offset, med siste minneadresse som den det pekes til, og så med eldre og eldre adresser med mindre og mindre offset fra baseadressen. Fordi selve tabellen Interrupt Descriptor Table Register (IDTR) er under kontroll av operativsystemet så må det opprettes en ny og alternativ tabell når det kjører en ekstra hypervisor. Denne nye tabellen blir allokert på et nytt sted i minnet, og på en høyere adresse enn den opprinnelige. I et system uten en ekstra hypervisor så vil en få en gitt verdi fra Interrupt Descriptor Table Register (IDTR), mens er det en ekstra hypervisor så vil en få et avvikende svar. I Red PIll brukes dette for en test `(m[5]>0xd0) ? 1 : 0`, hvis verdien er over 0xd0 så settes flagget for da er noe galt.

En slik test har vist seg pålitelig i systemer med en prosessor og en kjerne. I systemer med flere kjerner og prosessorer blir testingen mer kompleks, men det er antatt at en kan påvise noen sammenhenger slik at konseptet kan brukes også i disse tilfellene.

## «Red pill» i amerikansk politikk
Betegnelsene *red pill and blue pill* er også uttrykk og memer som brukes i visse amerikanske subkulturer. I politisk slang blant Trump-tilhengere og andre samfunnskritiske og konservative grupper i USA kan *red pill* stå for de republikanske velgernes «oppvåkning» og innsikt i at det liberale samfunnet egentlig er falskt. Det moderne, «politisk korrekte» samfunnet er ifølge disse grupperingene et narrespill der etablerte eliter i hemmelighet styrer på tvers av vanlige folks interesser. På motsatt side representerer *blue pill* de politiske motstandernes «løgnaktige» samfunnsordning som de demokratiske velgerne lar seg narre til å tro på. (Rødt og blått er de to partienes symbolfarger.) 

## Eksterne lenker

* The Invisible Things: Red Pill... or how to detect VMM using (almost) one CPU instruction
* Detecting the Presence of Virtual Machines Using the Local Data Table
* Analysis of the Intel Pentium’s Ability to Support a Secure Virtual Machine Monitor