Lektors kodeanalyse stiller spørgsmål ved Kaspersky-påstand om NSA-hack

En krypterings-konstant er ikke nødvendigvis bevis for, at NSA-gruppe står bag nyligt lækket malware, mener lektor.

Den krypteringskonstant, som antivirus-virksomheden Kaspersky Lab har brugt til at koble et malware-læk for nyligt til den såkaldte Equation Group, kan ikke bruges til at påvise en sammenhæng.

Det mener Stephen Checkoway. Han er lektor ved University of Illinois ved Chicago og underviser i Computer Science. Checkoway har lavet en analyse, hvor han anfægter bevisførelsen i en anden analyse, som Kaspersky Lab udgav for nyligt.

Den russiske antivirusproducent havde set på den malware-kode, som en gruppe, der kalder sig Shadow Brokers, har lækket. Gruppen hævder, der er tale om malware fra et NSA-hack.

Og det fandt Kaspersky Lab frem til, der kunne være noget om, fordi koden havde karakteristika, som mindede om tidligere malware, brugt af den såkaldte Equation Group. Det er en organisation, som er blevet koblet til NSA.

Kaspersky hæftede sig ved, at en programmeringsmæssig konstant optrådte i forbindelse med en krypteringsalgoritme i den kode, som Shadow Brokers havde lækket. Og ifølge Kaspersky er det ikke typisk at implementere algoritmen RC6 på den måde, som det var tilfældet i de lækkede filer.

»De konkluderer, at eftersom alle implementeringer, de har undersøgt, indeholder en RC6-konstant i negativ form, så må det være fra de samme forfattere, eftersom det er så usædvanligt. Deres analyse er forkert,« skriver Stephen Checkoway.

Herefter går han i gang med at påvise, hvorfor konstanten fra Shadow Brokers-lækket ikke behøver være så usædvanlig endda.

Compileren

Ifølge Kaspersky Lab anvendes 0x9E3779B9-konstanten normalt ved disse implementeringer. Men i den lækkede malware-kode bliver 0x61c88647 brugt. Den ene eller den anden konstant kan anvendes alt efter, om det sker i sammenhæng med en subtraktions- eller additions-instruktion.

I hvad Checkoway kalder en typisk implementering af RC6 (han tog første standalone-eksempel fra en Google-søgning) anvendes 0x9E3779B9 ganske rigtigt. Et kig i den lækkede kode fra Shadow Brokers viser ifølge Checkoway, at en del af koden er blevet til ved at anvende en Red Hat-udgave af compileren GCC i version 3.4x eller 4.0.0.

Mærkeligt nok, bemærker Checkoway i den forbindelse, så indeholder den samme binære kode objekter fra flere forskellige compilere.

Stephan Checkoway fortæller, at han har compileret krypterings-implementeringen fra Google i CentOS 4.1 - det bygger på Red Hat. Den anvendte compiler er GCC 3.4.3 20050227 (Red Hat 3.4.3-22.1), som kom med styresystemet.

»Det er ikke helt den samme version af GCC, men den er tæt nok på,« bemærker lektoren.

Herefter har han kigget i koden, compileren har spyttet ud. Og hvad der i det oprindelige kodeinput var en addition af 0x9E3779B9, er nu blevet til en subtraktion med 0x61C88647-konstanten. Altså samme konstant, som Kaspersky Labs tidligere har ment var unik nok til at kunne koble Shadow Broker-koden til Equation Group og i sidste ende NSA.

»Eftersom compileren selv er ansvarlig for at producere subtraktions-instruktionen, så demonstrerer dens tilstedeværelse ikke entydigt, at Equation Group-malware og koden, som Shadows Brokers har frigivet er skrevet af samme gruppe,« konkluderer Checkoway med henvisning til Kasperskys analyse.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (1)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Log ind eller Opret konto for at kommentere