Seeding-brøler i Linux-ransomware gør det let som en leg at dekryptere

Bagmændene bag ransomware, der ser ud til at være rettet mod webservere med Linux, har begået en designmæssig dumhed, der gør det let at dekryptere indholdet igen.

Hvis din webserver er blevet ramt af den Linux-ransomware, som flere medier i går omtalte, så kan du efter alt at dømme ånde lettet op. Bagmændene eller bagmanden har nemlig begået en designmæssig dumhed, der gør det let at dekryptere filerne igen - vel at mærke uden at betale.

Det fortæller det rumænske antimalwareforetagende Bitdefender, der har kigget i koden bag ransomwaren, som bliver kaldt Linux.Encoder.1

I et blogindlæg oplyser virksomheden, at den pågældende ransomware bliver sneget ind på Linux-servere via en fejl i Magento CMS'et. Herefter begynder den at kryptere flere filer i blandt andet /root og /var/lib/mysql.

Krypteringen foregår ligesom med ransomware til Windows via AES-algoritmen. Den fungerer via en symmetrisk nøgle. Det vil sige, at den samme nøgle bliver brugt til kryptering og dekryptering.

Herefter bliver den symmetriske nøgle - som offeret jo ikke må få fingre i - krypteret med den asymmetriske krypto-algoritme RSA. Det vil sige, at den symmetriske AES-nøgle bliver krypteret med en offentlig nøgle.

Nu er det i udgangspunktet kun muligt at låse filerne op igen via den private RSA-nøgle, som offeret skal betale - i bitcoin - for at få udleveret.

Flere former for samtidig kryptering

Den metodik er der som sådan ikke noget usædvanligt i. Bitdefender oplyser således, at det meste ransomware i løbet af 2015 har anvendt et sådant setup, hvor forskellige krypteringsalgoritmer blive anvendt.

Konkret foregår det ved, at et privat/offentligt-nøglepar bliver genereret på hackernes servere. Den offentlige nøgle, der ikke behøver være hemmelig, bliver så sendt til offerets system, hvor nøglen bliver brugt til at kryptere den symmetriske AES-nøgle med. Altså nøglen, der er brugt til i første omgang at kryptere filerne på offerets computer.

Hvis krypteringen blot var foregået ved at sende en AES-nøgle fra bagmændenes server til at kryptere offerets system, ville der være en risiko for, at den symmetriske nøgle kunne blive opsnappet undervejs, og dermed ville ransomwaren være uden effekt.

Men ved at anvende den private/offentlige-nøglestruktur kan hackerne være ligeglade med, om den offentlige nøgle, der bruges til at kryptere AES-nøglen, bliver opsnappet. Det er nemlig kun den private nøgle, som hackerne ikke har sendt endnu, der kan bruges til dekrypteringen.

Kæmpe designfejl

Linux.Encoder.1 har dog en fejl, set med it-kriminelle øjne, i den sammenhæng. AES-nøglen bliver nemlig generet lokalt på brugerens system på en sådan måde, at det er muligt at genskabe den og dermed dekryptere filerne.

»Det er en kæmpe designfejl, der gør det muligt at frembringe AES-nøglen uden at skulle dekryptere den med den offentlige RSA-nøgle, som bliver solgt at trojanerens operatør(er),« bemærker folkene fra Bitdefender i blogindlægget.

Som input til AES-krypteringen anvender malwaren en tilfældighedsfunktion i libc kaldet rand(), som bliver seedet med den aktuelle systemtid i det øjeblik, krypteringen starter. Og Bitdefender har fundet ud af, at det ved at se på timestampet i en krypteret fil er muligt at gendanne den symmetriske AES-nøglen, der er brugt til at kryptere systemet med.

I den forbindelse har den rumænske virksomhed lavet et værktøj til at gendanne berørte systemer. Scriptet kan hentes via virksomhedens hjemmeside. Scriptet skal køres som root, når man er booted ind i et ramt system.

De berørte systemer skulle nemlig kunne bootes, selvom blandt andet /root er mål for malwaren, da systemfiler afgørende for boot ikke skulle blive berørt.

»Hvis din maskine har været kompromitteret, så betragt dette som lige ved og næsten. De fleste krypto-ransomware-operatører er meget omhyggelige med, hvordan nøgler blive genereret, for at sikre, at dine data forbliver krypterede, indtil du betaler. Fejl som den, der er beskrevet ovenfor, er utroligt heldige, men også utroligt sjældne,« står der hen mod slutningen af blogindlægget.

Herefter følger et par tips til, hvordan man kan undgå konsekvenserne af ransomware på sin Linux-boks. Eksempelvis er det ikke en god idé at køre programmer, man ikke har tillid til, som root. Til gengæld er hyppig backup en rigtig god idé.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (6)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Torben Mogensen Blogger

Herefter følger et par tips til, hvordan man kan undgå konsekvenserne af ransomware på sin Linux-boks. Eksempelvis er det ikke en god idé at køre programmer, man ikke har tillid til, som root. Til gengæld er hyppig backup en rigtig god idé.

Det er altid en god ide, uanset om man kører Linux, MacOS, Windows eller noget helt fjerde, og det er ikke kun virksomt mod ransomware. Men vi har da hørt dette en million gange efterhånden.

  • 6
  • 0
Rune Jensen

Det er altid en god ide, uanset om man kører Linux, MacOS, Windows eller noget helt fjerde, og det er ikke kun virksomt mod ransomware.

Nogle ting, som er gode at huske sådan helt generelt er, at butikken som sælger computeren er ikke forpligtet til at give garanti på software, ligesom hvis ens 'puter går i stykker, kan man ikke forvente, at vigtige dokumenter på den kan bevares.

Det er lidt lissom folk først opdager dette lidt for sent.

Tager du din 'puter til rep, og den har virus, så er den ikke dækket af garanti, du må i princippet selv ordne problemet.

Det samme, hvis der f.eks. opstår fejl på disken. Måske bliver disken skiftet, men det er ikke en forpligtelse at dokumenterne på den gamle disk bevares til den nye.

Så uanset hvad, måske er det bare sådan helt generelt en god idé at foretage backup en gang imellem.

Og jeg kan måske forstå, hvis man er mistænksom over for cloud tjenester til backup, men jeg synes der er tegn på, så få bruger back up i det hele taget.

Hvis man er NSA-mistænksom og ikke vil bruge en cloud tjeneste, så lav en lokal backup på DVD eller lign. Så svært er det altså heller ikke...

Jeg har backup af web arbejds-filer (ikke personlige dokumenter) til to cloud tjenester (jeg er ved at teste). De kan ikke bruge informationerne til en meter, så for mig fint. Backup synkronisering foretages automatisk fra et bestemt dir. Og det er gratis.

Der er flere som kommer ind med 'putere, som bruges til skolearbejde. Det må da være hamrende irriterende at skulle miste alt ens arbejde fordi der ikke blev lavet backup i tide.

  • 0
  • 0
Henrik Madsen

Der er flere som kommer ind med 'putere, som bruges til skolearbejde. Det må da være hamrende irriterende at skulle miste alt ens arbejde fordi der ikke blev lavet backup i tide.

Jeg har gennem tiderne været skyld i mange usb nøgle eller usb harddisk salg.

Folk lærer nemlig lynhurtigt det med kryptering når de mister en masse data.

Når deres computer er død, f.eks defekt harddisk og de ser helt hvide ud i ansigtet så plejer jeg at sige til dem "Rolig nu, nu skifter vi harddisken og geninstallerer og så læser du de feriebilleder/whatever ind fra din backup og så er du kørende igen".

Jeg ved jo godt at i 99% af tilfældene har de ingen backup, men denne lille sætning gør at de pludseligt ser fornuften i backup.

Så skal man bare have dem lært at deres backup medie ikke skal ligge i samme bygning som deres computer.

Dels fordi når USB harddisken ligger ovenpå computeren så bliver den også stjålet ved indbrud og dels fordi når deres hus brænder så brænder både computer OG backup.

Off-site backup er altså et mantra som meget få forstår.

  • 0
  • 0
Jarnis Bertelsen

Hvorfor bruger man en (semi)tilfældigt genereret AES nøgle til at kryptere indhold og derefter en offentlig RSA nøgle til at kryptere AES nøglen? Kunne man ikke bare bruge RSA nøglen til hele krypteringen og dermed spare på kompleksitet og dermed fejlmuligheder? Hvad kan AES som RSA ikke kan?

  • 0
  • 0
Kristian Klausen

Hvorfor bruger man en (semi)tilfældigt genereret AES nøgle til at kryptere indhold og derefter en offentlig RSA nøgle til at kryptere AES nøglen? Kunne man ikke bare bruge RSA nøglen til hele krypteringen og dermed spare på kompleksitet og dermed fejlmuligheder? Hvad kan AES som RSA ikke kan?


Fra Bitdefender blogindlæg:

RSA generates a pair of complementary public-private keys – the public key is used for encryption and the private one for decryption. These keys are usually generated on the hackers’ server and only the public key gets sent to the victim PC. Since RSA is less resource-effective on big chunks of data, the public key is only used to encrypt a small, yet critical, piece of information: the encryption key used by the AES algorithm that is generated locally. The RSA-encrypted AES key is then prepended to the beginning of every encrypted file, along with the original file permissions and an initialization vector (IV) used by the AES algorithm.

  • 0
  • 0
Log ind eller Opret konto for at kommentere