image

Spionage-firmware in harde schijven nauwelijks te detecteren

woensdag 18 februari 2015, 17:40 door Redactie, 19 reacties

De kwaadaardige firmware die een groep cyberspionnen inzet om computers permanent te kunnen blijven bespioneren is nauwelijks te detecteren en zeer lastig te verwijderen. "Het is extreem lastig te detecteren. Vanaf het softwareniveau is het zelfs onmogelijk", zegt Vitaly Kamluk, onderzoeker van Kaspersky Lab.

Het Russische anti-virusbedrijf onthulde deze week het bestaan van de spionagegroep die allerlei zeer geavanceerde malware ontwikkelde. Eén onderdeel viel echter op, namelijk de mogelijkheid om de firmware van allerlei populaire merken harde schijven te infecteren. Daardoor blijft de malware verborgen en actief, ook al wordt de harde schijf geformatteerd of het besturingssysteem opnieuw geïnstalleerd. Daarnaast zorgt de code ervoor dat de aanvallers een onzichtbare opslag op de harde schijf kunnen aanmaken.

"Dit is uniek en de eerste keer dat we dit niveau van complexiteit van een geavanceerde aanvaller hebben gezien", aldus de beveiligingsonderzoeker. Toch zou de module zelden zijn ingezet. "Slechts een zeer selecte lijst van slachtoffers heeft dit ontvangen. Dit is één van de meest bijzondere modules die ik heb gezien omdat die zo waardevol is. Ze willen dus niet dat die bekend wordt", liet Kamluk deze week tijdens een conferentie weten, zo meldt Threat Post.

"Het is een waardevolle plug-in die alleen in specifieke gevallen voor zeer belangrijke personen wordt gebruikt." Om de kwaadaardige firmware te detecteren moet de pc uit elkaar worden gehaald en er een dump van de firmware worden gemaakt. "En we denken dat slechts een paar mensen in de wereld in staat zijn om de kwaadaardige code binnen de firmware te analyseren, te vergelijken en te ontdekken", stelt Kamluk.

Handleiding

Volgens de onderzoeker kost het jaren om firmware te kunnen schrijven. De spionagegroep zou echter geen kwetsbaarheid gebruiken, maar alleen meeliften op de manier waarop fabrikanten firmware-updates uitrollen. "Ze hebben de deur opengelaten en mogelijk stond die al jaren open. De truc is dat je de volledige omschrijving, de volledige referentie van de huidige firmware moet hebben en hoe die werkt."

Kamluk speculeert dat de aanvallers waarschijnlijk toegang tot interne handleidingen en documentatie van de betreffende leveranciers hebben. Handleidingen die mogelijk zijn gestolen door een insider of via een andere malware-aanval. "Ze maken geen misbruik van een lek in de code. Het is een fout in het ontwerp." Vanwege de proprietary communicatieprotocollen en algoritmes kostte het de onderzoekers maanden voordat ze doorhadden hoe de malware precies werkte. Een daadwerkelijk besmette firmware hebben de onderzoekers nog niet kunnen vinden.

Reacties (19)
18-02-2015, 18:50 door Anoniem
Zie <http://bofh.nikhef.nl/events/OHM/video/d2-t1-13-20130801-2300-hard_disks_more_than_just_block_devices-sprite_tm.m4v> voor een voorbeed en <https://www.os3.nl/_media/2013-2014/courses/ot/jan_niels.pdf> voor een (gedeeltelijke) oplossing.
18-02-2015, 19:12 door Anoniem
Is er iemand op de hoogte van harde schijven waarbij fysiek met een jumber gewerkt kan worden of de firmware writable is of niet?
18-02-2015, 19:51 door Anoniem
Het bijzondere is dat de mallware zichzelf opnieuw zal installeren vanuit de firmware wanneer er een onbesmet OS op het schijfoppervlak verschijnt (bv door format en herinstall).

Detectie lijkt eigenlijk te simpel: back-up de schijf, overschrijf dan elke sector op de schijf met een 0 en verifieer alle sectoren. Voor het geval de mallware hier rekening mee houdt: schrijf een 'schoon' image met OS van bv een andere PC naar de schijf, start van de verdachte schijf op maar laat het OS zelf niet laden, bv door de partitie niet actief te maken. Met checksums van alle bestanden in het image en een blik in de FAT of nodes van andere FS's kun je daarna controleren of iets buiten het OS bestanden op de schijf aanpast. Spreekt voor zich dat het test-OS niet gestart mag worden.

Indien de firmware een onzichtbaar opslaggebied aanmaakt zal het aantal beschikbare sectoren afwijken van een normale schijf; dit kan je een AV programma toch eenvoudig laten controleren aan de hand van een database?

Als je dit met bovenstaande combineert op een bootable media kom je als AV boer toch een eind...?

Verwijderen is een ander verhaal en alleen mogelijk als de aangepaste firmware het toelaat opnieuw geflashed te worden.

Uiteindelijk weer mogelijk gemaakt door naieve ontwerpers die een te rooskleurig beeld van de wereld hebben.

De oorspronkelijke firmware moest op locatie aangepast worden en werd beperk ingezet, een nieuwe generatie kan wellicht vanuit een besmet OS naar de HD geflashed worden en is het ideale raamwerk voor een persistent banking trojan downloader.
18-02-2015, 20:49 door Anoniem
Door Anoniem: Is er iemand op de hoogte van harde schijven waarbij fysiek met een jumber gewerkt kan worden of de firmware writable is of niet?

Middels de juiste jumper setting, kan je de HDD in de master- of slave- stand zetten. Het kan zo zijn dat alleen in de Master- setting de firmware geupdate kan worden. Ik ga er van uit dat dit weer afhankelijk is van het merk/fabrikant van de HDD.
18-02-2015, 21:35 door Eric-Jan H te D - Bijgewerkt: 18-02-2015, 22:02
Door Anoniem: Detectie lijkt eigenlijk te simpel: back-up de schijf, overschrijf dan elke sector op de schijf met een 0 en verifieer alle sectoren.

Harde schijven gebruiken inderdaad verborgen sectoren op de schijf voor harwaredoeleinden. Alleen zijn die sectoren alleen bereikbaar en zichtbaar met zeer specialistische software. Zelfs een normale low-level format lost dat niet op.

Daarnaast is er in een HD ook flashgeheugen aanwezig waar een groot deel van de firmware in is opgeslagen. Die firmware is alleen te overschrijven door het sturen van speciaal daarvoor bedoelde commando's naar de harde schijf.
18-02-2015, 21:48 door Anoniem
Door Anoniem: Indien de firmware een onzichtbaar opslaggebied aanmaakt zal het aantal beschikbare sectoren afwijken van een normale schijf; dit kan je een AV programma toch eenvoudig laten controleren aan de hand van een database?

NIet als het opslaggebied direct beschreven wordt met sectoren, zonder een file aan te maken,
18-02-2015, 22:39 door Anoniem
Niet te detecteren op de pc ok, maar als je al je netwerk verkeer eens goed analyseert, dan valt echt wel op dat bepaalde data naar een bepaald IP adres buiten je netwerk gaat.
Daarnaast, een goede firewall met eventueel deep packet inspection zal ook wel alarmbellen doen afgaan.
18-02-2015, 23:00 door NebulaH
Door Anoniem: Zie <http://bofh.nikhef.nl/events/OHM/video/d2-t1-13-20130801-2300-hard_disks_more_than_just_block_devices-sprite_tm.m4v> voor een voorbeed en <https://www.os3.nl/_media/2013-2014/courses/ot/jan_niels.pdf> voor een (gedeeltelijke) oplossing.

Jan en ik krijgen graag feedback op onze paper (genoemd in #1). "Gedeeltelijk"... wat hebben we over het hoofd gezien? Bij voorbaat dank.

- NebulaH
18-02-2015, 23:02 door Anoniem
Maar ik neem toch aan dat het installeren van een nieuwe firmware-update van de fabrikant deze kwaadaardige troep wordt gewist? Als ik me vergis hoor ik dat graag.
18-02-2015, 23:07 door Anoniem
Door NebulaH:
Door Anoniem: Zie <http://bofh.nikhef.nl/events/OHM/video/d2-t1-13-20130801-2300-hard_disks_more_than_just_block_devices-sprite_tm.m4v> voor een voorbeed en <https://www.os3.nl/_media/2013-2014/courses/ot/jan_niels.pdf> voor een (gedeeltelijke) oplossing.

Jan en ik krijgen graag feedback op onze paper (genoemd in #1). "Gedeeltelijk"... wat hebben we over het hoofd gezien? Bij voorbaat dank.

- NebulaH

Jullie oplossing is mooi, maar blijft software, die net als een virusscanner gemanipuleerd kan worden (als de aanvaller door heeft dat deze aanwezig is).
19-02-2015, 08:49 door Whacko
Door Anoniem:
Indien de firmware een onzichtbaar opslaggebied aanmaakt zal het aantal beschikbare sectoren afwijken van een normale schijf; dit kan je een AV programma toch eenvoudig laten controleren aan de hand van een database?

Wat houdt de aangepaste firmware tegen om injuiste informatie terug te geven zodat het lijkt alsof het aantal sectoren klopt?
19-02-2015, 09:25 door Mysterio
Ik heb er even linkjes van gemaakt.

Zeer interessant, dank je wel.

Maar ik neem toch aan dat het installeren van een nieuwe firmware-update van de fabrikant deze kwaadaardige troep wordt gewist? Als ik me vergis hoor ik dat graag.
Ja, een firmware update zal, als het goed is, de bestaande firmware overschrijven, maar als je dit doet op een besmet systeem zal het zichzelf weer net zo vlot terugzetten. Het probleem is dat de definitie van een 'schoon' systeem moet worden herzien.
19-02-2015, 10:44 door Anoniem
"Harde schijven gebruiken inderdaad verborgen sectoren op de schijf voor harwaredoeleinden. Alleen zijn die sectoren alleen bereikbaar en zichtbaar met zeer specialistische software. Zelfs een normale low-level format lost dat niet op. Daarnaast is er in een HD ook flashgeheugen aanwezig waar een groot deel van de firmware in is opgeslagen. Die firmware is alleen te overschrijven door het sturen van speciaal daarvoor bedoelde commando's naar de harde schijf"

Ik ben bang dat alleen de harddisk-fabrikanten dit kunnen oplossen met nieuwere firmware die dan hopelijk *wel* is ontdaan van de domme features ("Ze maken geen misbruik van een lek in de code. Het is een fout in het ontwerp.") waardoor dit firmware-herprogrammeren mogelijk werd. De documentatie over de harddisks mag niet meer in handen vallen van de afluisteroverheden (Stuxnet => Amerika/ Israel / UK). Spelen de harddiskmakers onder 1 hoedje met overheden, zijn ze bestolen of was het een inside job ?

Tot de tijd dat het wordt opgelost, maar Linux in het geheugen draaien (bv Puppy) ? of met een Ubuntu Live-cd gaan computeren ?

Hoelang laten we ons nog afluisteren door deze Stuxnet, Equation/Fanny, Regin etc -clubjes ? Goed rapport van Kaspersky overigens.

Kom op Anonymousjes !, reageer want ik ben benieuwd naar jullie ideeen wat hier achter zit :-)
19-02-2015, 14:28 door Anoniem
Door Whacko:
Door Anoniem:
Indien de firmware een onzichtbaar opslaggebied aanmaakt zal het aantal beschikbare sectoren afwijken van een normale schijf; dit kan je een AV programma toch eenvoudig laten controleren aan de hand van een database?

Wat houdt de aangepaste firmware tegen om injuiste informatie terug te geven zodat het lijkt alsof het aantal sectoren klopt?

Als de firmware liegt over de beschikbaarheid van de sectoren dan loopt deze het risico bij een herinstallatie van het OS of bij het opzettelijk vullen van de HD met logische 1en of 0en, zelf overschreven te worden. Als de firmware dit datagebied tegen schrijven beschermd maar wel als beschikbaar aanbiedt, zal het OS of een onderdeel daarvan crashen indien het de nep sectoren wil beschrijven.

Ook als de mallware gebruik maakt van intern gereserveerde (spare) ruimte op de platters is het de vraag of dit uiteindelijk voldoende ruimte bied om de malware te herbergen. Niet alle HDs hebben genoeg opslag in flashgeheugen en gereserveerde ruimte en dan moet de mallware extra sectoren gaan inpikken, wat dus opgemerkt kan worden.

Maar inderdaad, afhankelijk van de schijf is deze methode niet altijd bruikbaar om de mallware te detecteren. Sommige schijven laten echter toe de firmware voor het flashen te backuppen en dus uit te lezen. In dat geval moet de mallware ook een legitiem exemplaar van de firmware bevatten om detectie te voorkomen, wat weer ruimte kost. Werkt dit uitlezen niet voor een HD die dit wel ondersteund, dan is dat ook weer een signaal dat er iets aan de hand is.

Buiten de firmware is overigens met parameters ook veel meer mogelijk dan standaard mogelijk zou moeten zijn. Als je even met hdparm gaat experimenteren op een oude HD, sta je versteld wat je allemaal en zonder enig obstakel kan aanpassen.
19-02-2015, 14:35 door sjonniev
Hoe zit het met SSD?
19-02-2015, 20:53 door Anoniem
Gelukkig eindelijk virus definities voor de Trojan.Win32.EquationDrug.c (nls_933w.dll)

https://www.virustotal.com/en/file/83d14ce2dcfc852791d20cd78066ba5a2b39eb503e12e33f2ef0b1a46c68de73/analysis/
19-02-2015, 21:19 door NebulaH
Voor SSD's geldt hetzelfde. Die bevatten net als een "ouderwetse" hard-disk ook opslag en een flash gedeelte dat firmware bevat. Wij hebben in onze proof-of-concept protectie juist SSD's gebruikt, omdat daarvoor flash tools beschikbaar waren.
20-02-2015, 11:00 door Anoniem
Door Anoniem:
Door Anoniem: Is er iemand op de hoogte van harde schijven waarbij fysiek met een jumber gewerkt kan worden of de firmware writable is of niet?

Middels de juiste jumper setting, kan je de HDD in de master- of slave- stand zetten. Het kan zo zijn dat alleen in de Master- setting de firmware geupdate kan worden. Ik ga er van uit dat dit weer afhankelijk is van het merk/fabrikant van de HDD.

Deze reactie is toch niet serieus hoop ik?
23-02-2015, 15:26 door Anoniem
Een paar zaken om over na denken:

1. Spionage firmware kan 'bad-sectors' gebruiken voor opslag. Iedere moderne schijf heeft mogelijkheid van 'bad sectors' - firmware administreert deze en zorgt dat ze niet meer gebruikt worden. Hoe weet je of een 'bad sector' echt 'bad' is?

2. In deze 'bad sectors' kunnen ook delen van originele firmware opgeslagen worden, zodat deze hersteld kan worden zodra de spionage firmware z'n werk heeft gedaan en zichzelf moet opruimen. (om detectie tegen te gaan)

3. Activering van geïnstalleerde spionage firmware kan gebeuren door op basis van patroon dat ergens op de harde schijf wordt opgeslagen. Welke sector doet er dan niet toe. Voorbeeld: ontvangen cookie -> bevat bepaald activeringspatroon -> opgeslagen door webbrowser: spionage firmware API herkent patroon in cookie en wordt getriggerd; Tijdens volgende keer opstarten, als bepaald deel van de Windows kernel/device drivers geladen wordt, wordt de code + checksum (eenmalig) aangepast. Niet op harde schijf zelf!! Alleen in RAM van API naar boven toe. Zonder deze speciale trigger gedraagt de harder schijf zich 'normaal', en zal de malware nooit door de hogere software lagen opgemerkt kunnen worden...
De enige manier om de malware te detecteren is door de firmware flash chip met een externe programmer uit te lezen en het image te disassembleren / vergelijken met origineel.

4. Al met al een griezelig verhaal. Firmware van een harde schijf is een ding. Firmware van radio baseband chip van mobieltje en/of tablet is minstens net zo griezelig. Zeker als de hackende partij ook nog eens over de Gemalto GSM keys beschikt. Net als de firmware van harde schijven is deze baseband firmware meestal niet open source. Het is dus niet verifiëren of deze backdoors bevat en/of gehackt kan worden door derden. Zie bijvoorbeeld: https://www.usenix.org/system/files/conference/woot12/woot12-final24.pdf en ook http://www.osnews.com/story/27416/The_second_operating_system_hiding_in_every_mobile_phone

5. Het besmetten van firmware hoeft niet noodzakelijkerwijs een 'inside job' of een 'samenwerking' tussen fabrikant en veiligheidsdienst te zijn. De door de fabrikant gebruikte compiler/assembler om de firmware te bouwen kan al fataal zijn. Een klassieke 'eye-opener' mbt dit onderwerp is het artikel van Ken Thompson, zie http://cm.bell-labs.com/who/ken/trust.html
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.