FYI: Volgens de foto van de naar klanten gezonden e-mail luidt de URL voor de hotfix:
https://www.clickstudios.com.au/downloads/hotfix/Moserware.zipmaar die link geeft momenteel een 404 (not found). Dat geldt natuurlijk ook voor verkeerd overgetikte URL's, zoals
http://clickstudios.com.au/downloads/hotfix/Mouserware.zip ("http" i.p.v. https en "Mous..." i.p.v. "Mos..."), te vinden bij o.a. BleepingComputer en therecord.media.
OnderzoekjeIk was benieuwd hoe aanvallers straffeloos een bestand
Moserware.SecretSplitter.dll in een update kunnen vervangen, zoals vermeld in de analyse van de Deense onderzoekers van de CSIS Group in
https://www.csis.dk/newsroom-blog-overview/2021/moserpass-supply-chain/.
Nb. het lijkt hier te gaan om een DLL die door Click Studios wordt "geleend" van Moserware (zie
https://www.moserware.com/2011/11/life-death-and-splitting-secrets.html en
https://github.com/moserware/SecretSplitter). Moserware heeft bij mijn weten helemaal niets met dit incident te maken.
In
https://www.clickstudios.com.au/passwordstate-checksums.aspx kun je downloads + checksums vinden van verschillende versies van hun wachtwoordmanager. Opvallend is dat de downloadlinks allemaal beginnen met (bakhaken toegevoegd door mij):
https://passwordstate-8665.kxcdn[.]com/Dat terwijl de de CSIS Group meldt dat de malware een aanvullend bestand probeerd te downloaden via een URL beginnend met:
https://passwordstate-18ed2.kxcdn[.]comen onder Additional C&C's opnoemt:
passwordstate-18ed0.kxcdn[.]com
passwordstate-18ed1.kxcdn[.]com
passwordstate-18ed4.kxcdn[.]com
passwordstate-18ed5.kxcdn[.]com
passwordstate-8665.kxcdn[.]com
Laatstgenoemde is dus de officiële CDN van ClickStudios; ik vermoed dat de aanvallers daar toegang tot hebben gekregen en een bestand in een ZIP-download hebben kunnen vervangen.
Als test heb ik, vanuit
https://www.clickstudios.com.au/passwordstate-checksums.aspx, de "Passwordstate Upgrade File" gedownload - dus
https://passwordstate-8665.kxcdn[.]com/version9/passwordstate_upgrade.zip. Daarin zit "passwordstate_upgrade.zip\passwordstate\bin\
Moserware.SecretSplitter.dll"
zonder digitale handtekening.
Dus als je niet handmatig de SHA256 checksum (van het ZIP bestand) checkt na download, kan zo'n bestand in die ZIP ongemerkt vervangen zijn!
Als test heb ik ook versie 9 van de "Passwordstate Installer" gedownload (
https://passwordstate-8665.kxcdn[.]com/version9/passwordstate.zip). Daarin zit een digitaal ondertekend installer bestand "passwordstate.exe" en een reeks PDF's (doordat de gehele installer digitaal ondertekend is, kun je bestanden
daarin niet straffeloos vervangen - maar wel de PDF's).
Met 7Zip kon ik dat installer bestand als archive openen, en vond zo:
"passwordstate.exe\data\Passwordstate\49D727F4\3BF5F1E6\
Moserware.SecretSplitter.dll"
- ook hier is die DLL zelf
niet digitaal ondertekend, en identiek aan de file uit de eerdergenoemde upgrade.
Dat bestand is hoogstwaarschijnlijk de "nog schone" versie:
https://www.virustotal.com/gui/file/1ee0f14c44058e3d0d1c19b4713d573c81b49c28ed58bd41c72832c78f7d1464/details, want dit bestand is "First seen in the wild" op 2019-01-21 09:10:32. We kunnen er dus wel vanuit gaan dat dit bestand zonder handtekening gebruikt wordt. Die 1ee...464 in de VirusTotal URL is de SHA256 hash van het bestand, andere typen hashes (waaronder SHA1) vind is in die VirusTotal pagina.
ConclusieHet lijkt er dus inderdaad op dat "Passwordstate_upgrade.zip" is verspreid met een gemanipuleerde versie van "Moserware.SecretSplitter.dll", een bestand dat zelf
niet signed is (en ook
niet binnen een signed bestand zat), en kennelijk checkt de updater niet de hash zoals vermeld op de website (dat zou dan via de een of andere API moeten en kan sowieso niet offline - niet handig dus).
Zeker weten dat dit hier speelde, doe ik niet. Maar het is essentieel dat software, zeker als die via een derde partij (coals een CDN) wordt verspreid, van fatsoenlijke digitale handtekeningen is voorzien - en dat installers/updaters controleren dat digitale handtekeningen kloppen
en door de juiste partij zijn gezet, en alarm slaan als digitale handtekeningen ontbreken in bestanden die wel zo'n signature horen te hebben.
Een dichtgetimmerd proces met hashes mag eventueel ook (bijv. een signed manifest file zoals in .jar bestanden en apk's), maar dan moet daar wel echt op gecheckt worden. Voor beheerders is dan het dan wel lastig om, na installatie, de integriteit van losse bestanden te controleren; mijn voorkeur is een digitale handtekening op elk bestand dat dit ondersteunt.