Hvad skal man gøre, hvis siloviki er kommet til din host

Hvad skal man gøre, hvis siloviki er kommet til din hostkdpv — Reuters

Hvis du har lejet en server, har du ikke fuld kontrol over den. Det betyder, at specialuddannede personer til enhver tid kan komme til udbyderen og anmode om at få leveret dine data. Og udbyderen vil give dem, hvis anmodningen er lovligt udformet.

Du ønsker bestemt ikke, at dine webserver-logfiler eller brugerdata kommer i hænderne på andre. Det er umuligt at bygge en perfekt beskyttelse. At beskytte sig mod en udbyder, som ejer hypervisoren og giver dig en virtuel maskine, er næsten umuligt. Men det er muligt at mindske risikoen en smule. Kryptering af lejede maskiner er ikke så nytteløs, som det ser ud ved første øjekast. Lad os desuden se på truslerne ved datalæk fra fysiske servere.

Trusselsmodel

Generelt vil udbyderen forsøge at beskytte kundernes interesser så meget som muligt i henhold til loven. Hvis et brev fra officielle myndigheder kun beder om adgangslogs, vil udbyderen ikke give dumps af alle dine virtuelle maskiner med databaser. I det mindste burde vedkommende ikke gøre det. Hvis de beder om alle data, vil udbyderen kopiere de virtuelle diske med alle filer, og du vil ikke få at vide det.

Uanset hvordan begivenhederne udvikler sig, er din primære opgave at gøre et angreb for kompliceret og dyrt. Som regel er der tre hovedtyper af trusler.

Officiel

Ofte sendes der et fysisk brev til udbyderens officielle kontor med krav om at levere de nødvendige data i henhold til den relevante retskendelse. Hvis alt er korrekt udført, giver udbyderen de nødvendige adgangslogs og andre data til de officielle myndigheder. Man beder normalt bare om at få sendt de nødvendige data.

Nogle gange, hvis det virkelig er nødvendigt, vil repræsentanter fra retshåndhævende myndigheder personligt komme til datacentre. For eksempel, når du har din egen dedikerede server, og data derfra kun kan hentes fysisk.

I alle lande kræves der bevis for, at dataene kan indeholde vigtig information til efterforskning af kriminalitet for at få adgang til privat område, udføre ransagninger og andre aktiviteter. Derudover kræves der en ransagningskendelse, der er korrekt udformet i henhold til alle regler. Her kan der være nuancer relateret til lokale lovgivningsspecifikationer. Det vigtigste, man skal forstå, er, at hvis den officielle procedure følges korrekt, vil repræsentanterne fra datacentret ikke lad nogen komme forbi indgangen.

Desuden er det i de fleste lande ikke tilladt bare at tage fungerende udstyr. For eksempel i Rusland, før udgangen af 2018, ifølge artikel 183 i den russiske straffeproceslov, del 3.1, blev det garanteret, at ved konfiskation af elektroniske datalagre skulle det ske med deltagelse af en specialist. På anmodning fra den lovlige ejer af de beslaglagte elektroniske datalagre eller besidderen af informationen på disse, skulle en specialist, der deltager i konfiskationen, i nærværelse af vidner kopiere information på andre elektroniske datalagre.

Derefter blev dette punkt desværre fjernet fra artiklen.

Hemmeligt og uofficielt

Dette er allerede aktivitetsområdet for specialuddannede folk fra NSA, FBI, MI5 og andre tre-bogstavs organisationer. Oftest har lovgivningen i lande ekstremt brede beføjelser for sådanne strukturer. Desuden er der næsten altid et lovgivningsmæssigt forbud mod enhver direkte og indirekte offentliggørelse af selve faktum af samarbejde med sådanne magtorganer. I Rusland findes der tilsvarende juridiske normer.

I tilfælde af en sådan trussel mod dine data vil de næsten helt sikkert blive udvundet. Udover simpel konfiskation kan hele det uofficielle arsenal af bagdøre, nul-dags sårbarheder, udvinding af data fra RAM i din virtuelle maskine og andre glæder anvendes. Udbyderen vil være forpligtet til at hjælpe myndighederne i størst muligt omfang.

Uærlig medarbejder

Ikke alle mennesker er lige gode. Nogle af administratorerne i datacentret kan beslutte at tjene lidt ekstra og sælge dine data. Hvad der sker herefter afhænger af deres beføjelser og adgang. Det mest ubehagelige er, at en administrator med adgang til virtualiseringskonsollen har fuld kontrol over dine maskiner. Man kan altid tage et snapshot sammen med det hele indhold i RAM, og derefter tage sig god tid til at undersøge det.

VDS

Så du har en virtuel maskine, som din hoster har udleveret til dig. Hvordan kan du organisere kryptering for at beskytte dig selv? Faktisk ikke på nogen væsentlig måde. Desuden kan selv en dedikeret server tilhørende en anden ende med tiden vise sig at være en virtuel maskine, hvor de nødvendige enheder er tilsluttet.

Hvis opgaven for det eksterne system ikke blot er opbevaring af data, men udførelse af visse beregninger, vil den eneste måde at arbejde med en ubekræftet maskine på være implementeringen af homomorfisk kryptering. I dette tilfælde vil systemet udføre beregninger uden at forstå, hvad det præcist gør. Desværre er omkostningerne ved at implementere sådan kryptering så høje, at praktisk anvendelse for øjeblikket er begrænset til meget smalle opgaver.

Desuden, når den virtuelle maskine er startet og udfører nogle handlinger, er alle krypterede volume tilgængelige, ellers kan operativsystemet simpelthen ikke arbejde med dem. Det betyder, at hvis man har adgang til virtualiseringskonsollen, kan man altid tage et snapshot af den kørende maskine og udtrække alle nøgler fra RAM.

Mange leverandører har forsøgt at organisere hardwarekryptering af RAM, så selv hosteren ikke får adgang til disse data. For eksempel teknologien Intel Software Guard Extensions, der organiserer områder i det virtuelle adresserum, beskyttet mod læsning og skrivning fra andre processer, inklusive operativsystemets kerne. Desværre kan du ikke stole fuldt ud på disse teknologier, da du vil være begrænset til din virtuelle maskine. Desuden findes der allerede velkendte eksempler på vellykkede angreb mod denne teknologi. Alligevel er kryptering af virtuelle maskiner ikke så meningsløst, som det kan se ud.

Krypterer data på VDS

Jeg vil straks bemærke, at alt, hvad vi gør nedenfor, ikke er til fuld beskyttelse. Hypervisoren vil muliggøre at lave de nødvendige kopier uden at stoppe tjenesten og uden at du bemærker det.

  • Hvis udbyderen leverer et "koldt" billede af din virtuel maskine, er du relativt sikker. Dette er det mest almindelige scenarie.
  • Hvis udbyderen giver et fuldt snapshot af den kørende maskine, ser det ikke så godt ud. Alle data vil være tilgængelige i systemet i klar tekst. Derudover vil det være muligt at lede i RAM'en efter private nøgler og lignende data.

Som standard, hvis du har implementeret OS fra et vaniljebillede, har udbyderen ikke root-adgang. Det er alltid muligt at montere et medie med et redningsbillede og ændre root-adgangen ved at gøre chroot i miljøet for den virtuelle maskine. Men det kræver en genstart, som vil blive bemærket. Desuden vil alle monterede krypterede partitioner være lukket.

Men hvis implementeringen af den virtuelle maskine ikke sker fra et vaniljebillede, men fra en forberedt version, kan udbyderen ofte tilføje en privilegeret konto for at yde hjælp i en nødsituation for kunden. For eksempel for at ændre en glemt adgangskode til root.

Selv i tilfælde af et fuldt snapshot er det ikke så slemt. Angriberen får ikke krypterede filer, hvis du har monteret dem fra et eksternt filsystem på en anden maskine. Ja, i teorien kan man grave i RAM-dumpen og hente krypteringsnøgler derfra. Men i praksis er det meget komplekst, og det er usandsynligt, at processen går videre end simpel filoverførsel.

Vi bestiller en maskine

Hvad skal man gøre, hvis siloviki er kommet til din host

Til vores testformål vælger vi en simpel maskine i afsnittet til bestilling af servere. Vi har ikke brug for mange ressourcer, så vi tager en mulighed med betaling for de faktisk forbrugte megahertz og trafik. Det er lige til at lege med.

Den klassiske dm-crypt for hele partitionen gik ikke igennem. Disken leveres som standard som et samlet stykke, med root på hele partitionen. At reducere partitionen med ext4 på den monterede root er praktisk talt en garanti for at få en mursten i stedet for et filsystem. Jeg har prøvet det) Bongoen hjalp ikke.

Vi opretter en kryptokonteiner

Derfor vil vi ikke kryptere hele sektionen, men anvende filkrypteringsbeholdere, specifikt den auditerede og pålidelige VeraCrypt. Dette er tilstrækkeligt til vores formål. Først henter og installer pakken med CLI-versionen fra den officielle hjemmeside. Du kan også tjekke signaturen.

wget https://launchpad.net/veracrypt/trunk/1.24-update4/+download/veracrypt-console-1.24-Update4-Ubuntu-18.04-amd64.deb
dpkg -i veracrypt-console-1.24-Update4-Ubuntu-18.04-amd64.deb

Nu vil vi oprette selve containeren et sted i vores hjemmmappe, så den kan monteres manuelt ved genstart. I den interaktive version angiver du størrelsen på containeren, adgangskoden og krypteringsalgoritmerne. Du kan vælge den patriotiske krypteringsmetode Kuznechik og hash-funktionen Streebog.

veracrypt -t -c ~/my_super_secret

Lad os nu installere nginx, montere containeren og uploade de hemmelige informationer.

mkdir /var/www/html/images
veracrypt ~/my_super_secret /var/www/html/images/
wget https://upload.wikimedia.org/wikipedia/ru/2/24/Lenna.png

Lad os justere /var/www/html/index.nginx-debian.html for at få den ønskede side, så vi kan begynde at kontrollere.

Vi forbinder og tjekker

Hvad skal man gøre, hvis siloviki er kommet til din host
Containeren er monteret, data er tilgængelige og sendes.

Hvad skal man gøre, hvis siloviki er kommet til din host
Her er maskinen efter genstart. Dataene ligger sikkert i ~/my_super_secret.

Hvis du virkelig ønsker hardcore, kan du kryptere hele OS'et, så det kræver SSH-forbindelse og indtastning af adgangskode ved genstart. Dette vil også være tilstrækkeligt i scenariet for simpel beslaglæggelse af 'kolde data'. Her er vejledningen med brug af dropbear og fjernkryptering af drev. Selvom det er kompliceret og overflødigt i tilfælde af VDS.

Bare metal

Det er ikke så simpelt at sætte en egen server op i et datacenter. En andens dedikerede server kan vise sig at være en virtuel maskine, hvor alle enheder er videreført. Men noget interessant i forhold til beskyttelse begynder, når du får mulighed for at placere din betroede fysiske server i datacenteret. Her kan du i fuldt omfang anvende den traditionelle dm-crypt, VeraCrypt eller enhver anden kryptering efter eget valg.

Det skal forstås, at ved implementering af total kryptering vil serveren ikke kunne starte selv efter en genstart. Du skal oprette forbindelse til det lokale interface IP-KVM, IPMI eller en anden lignende analog. Derefter indtaster vi manuelt master-nøglen. Skemaet ser ikke så godt ud med hensyn til kontinuitet og fejltolerance, men der er ikke mange alternativer, hvis dataene er så værdifulde.

Hvad skal man gøre, hvis siloviki er kommet til din host
NCipher nShield F3 Hardware Security Module

En blødere tilgang indebærer, at dataene er krypteret, og at nøglen findes direkte på serveren i en speciel HSM (Hardware Security Module). Generelt er disse meget funktionelle enheder, der ikke kun sikrer hardwarekryptering, men også har mekanismer til at opdage forsøg på fysisk indbrud. Hvis nogen begynder at bore i din server med en vinkelsliber, vil HSM med en uafhængig strømforsyning nulstille de nøgler, den opbevarer i sin hukommelse. Angrebende får krypteret skrammel. Genstarten kan dog foregå automatisk.

Sletning af nøgler er en langt hurtigere og mere human metode end aktivering af en termitladning eller en elektromagnetisk afladning. Dine naboer i datacenteret vil være meget kritiske over for sådanne enheder. Især da det i tilfælde af brug TCG Opal 2 kryptering på selve medierne næsten ikke giver nogen overhead. Alt dette sker gennemsigtigt for OS. Dog skal man stole på en hypotetisk Samsung og håbe, at der faktisk er en ærlig AES256 og ikke bare almindelig XOR.

Det er også vigtigt ikke at glemme, at alle unødvendige porte skal være fysisk frakoblet eller simpelthen fyldt med kompositmateriale. Ellers giver man angribere mulighed for at udføre DMA-angreb. Hvis du har en eksponeret PCI Express eller Thunderbolt, inklusive USB med dens understøttelse – er du sårbar. Angriberen vil kunne udføre et angreb gennem disse porte og få direkte adgang til hukommelsen med nøgler.

Afspil video

I et helt udspekuleret scenarie kan angriberen udføre et cold boot-angreb. Her hælder de simpelthen en god portion flydende nitrogen i din server, fjerner de frosne hukommelsesmoduler og tager et dump fra dem med alle nøglerne. Ofte er det tilstrækkeligt at bruge almindelig kølespray og temperaturer omkring -50 grader. Der findes også en mere forsigtig metode. Hvis du ikke har deaktiveret boot fra eksterne enheder, vil angriberens algoritme være endnu lettere:

  1. Fryse hukommelsesmodulerne uden at åbne kabinettet
  2. Tilslutte sit eget boot-drev
  3. Brug specielle værktøjer til at hente data fra RAM, som overlevede genstarten takket være nedkølingen.

Del og hersk

Okay, vi har kun virtualiserede servere, men vi vil gerne mindske risikoen for datalækage på en eller anden måde.
Man kan i princippet overveje at revidere arkitekturen og adskille datalagring og behandling i forskellige jurisdiktioner. For eksempel frontend med krypteringsnøgler hos hosten i Tjekkiet, mens backend med krypterede data ligger et sted i Rusland. I tilfælde af et standardforsøg på inddragelse er det ekstremt usandsynligt, at magtstrukturerne kan gennemføre dette samtidigt i forskellige jurisdiktioner. Desuden sikrer det os delvist mod scenarier med snapshot-tagning.

Eller man kan overveje en helt ren løsning — End-to-End kryptering. Naturligvis er dette uden for kravspecifikationen og indebærer ikke udførelse af beregninger på den eksterne maskine. Ikke desto mindre er det en ganske acceptabel løsning, når det drejer sig om opbevaring og synkronisering af data. For eksempel er det meget bekvemt implementeret i Nextcloud. På samme tid vil synkronisering, versionering og andre fordele ved serverdelen ikke forsvinde.

I alt

Der findes ikke perfekt beskyttede systemer. Opgaven er kun at gøre et angreb dyrere end den potentielle gevinst.

Man kan opnå en vis reduktion af risici ved adgang til data på en virtuel server ved at kombinere kryptering og adskilt opbevaring hos forskellige udbydere.

En mere eller mindre pålidelig løsning er at bruge sin egen fysiske server.

Og hosten må på en eller anden måde stadig være til at stole på. Dette er grundlaget for hele industrien.

Hvad skal man gøre, hvis siloviki er kommet til din host

Hvad skal man gøre, hvis siloviki er kommet til din host

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster