Taggat med: openpgpjs

Granskning av IT-säkerheten på Dagens Nyheters (DN) tipssajt

Jag har genomfört en oberoende granskning av IT-säkerheten på DN:s sajt där användare kan skicka in tips. Tidigare har jag bl.a. granskat SVT:s TV-leaks. Min förhoppning är att fler kan dra lärdomar och således blir säkerheten bättre i längden.

All information nedan är sammanställt med hjälp av öppen information.

Peter Wolodarski som är chefredaktör på DN framhäver på sajten dngranskar.dn.se följande (se även skärmdump ovan):

Vi behöver din hjälp i vårt arbete. De största avslöjandena kommer från människor som har värdefull information. DN lägger stora resurser på granskande journalistik. Här kan du på ett säkert sätt lämna tips till våra undersökande reportrar.

Vidare så läser vi även följande:

Tjänsten är skyddad med hög kryptering för att ge dig som tipsare största möjliga säkerhet. Det innebär att tipset blir oläsligt utan en särskild nyckel. Bara ett begränsat antal reportrar på tidningen har tillgång till denna nyckel.

Denna särskilda nyckel som ovan text refererar till är en PGP-nyckel som ligger inbäddad på webbsidan. Denna nyckel läses sedan av openpgp.js och formulärdata krypteras och skickas över och lagras på serversidan.

Den publika PGP-nyckeln som återfinnes på sidan ser ut enligt följande:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: OpenPGP.js v1.3.0
Comment: http://openpgpjs.org

xo0EViaQEAEEAKGUFnG9PCA3tWCcj2+e6GgRzTSY7hbN5YYurJbNeHsE4SbT
UPHQzGKQsqcyYieIS9Uh/co42E1ndgG4xZSjRZslMWRkTQVCEGTCMPzm0sSE
P8zGndzF/R//FK4AvshSUBa8sLWTp026C2xqAhIvUOvKwRBK9PKclfKZVV/5
zG8zABEBAAHNMktyaXN0b2ZmZXIgw5Zyc3RhZGl1cyA8a3Jpc3RvZmZlci5v
cnN0YWRpdXNAZG4uc2U+wrIEEAEIACYFAlYmkBAGCwkIBwMCCRBMNmcxb9M1
+QQVCAIKAxYCAQIbAwIeAQAAOH0D/1RUQSjmYhkUoGkwLp5HF7Xl6UDYQpoX
8Xdhjb5Aufu/nUgs73nXS2MlycqHqoKGV0a43PzteujQz9gz86nIHrdB7F7l
jLlssUSzD2oePObv4wpK9lBee9HZs980+LWkK3t3yUe6+mixsspZvEAGe/Q0
k50JgxMHFcfj5uCTm3fTzo0EViaQEAEEALCZMwq4sfm59Hq5Z4hOv8pdPtMX
jy26WZBBaZ8csv54UWm7o7Xt2TRkU1eGR6j/UjAXVNZ6jKON10M8I+1nmlpx
ZtS3I9QRja7N0HOn/Mo9et5bHdZKQSHUd1vblRRddHOqU+C4EP+BAKqtR/Ne
y6RxOCaydspT+wJzWCS8dfarABEBAAHCnwQYAQgAEwUCViaQEAkQTDZnMW/T
NfkCGwwAAM/nA/9Ra0Mnr2cIOOFXN/TAeLK0JKG9s/hIa01zGMC9dDub5Q1r
zAiVO/c664MYvtbOOMOf5VeHRPBiVFuxw3Fl4MzX0g61bcHBTMKaT6iF+13l
3zONpw81eAh1fjN8PX4gcwrU6W+N4BTSBHO+3dMWNF9rlK/xGfqLzvXAo+zL
OCbglg==
=Bf3n
-----END PGP PUBLIC KEY BLOCK-----

Den med ett tränat öga ser att ovan nyckel inte ser ut att vara speciellt lång, nämligen enbart 1024-bitar RSA, vilket inte är att rekommendera sedan år 2010. Tittar vi närmare på nyckeln så ser vi även att den står på Kristoffer Örstadius.

Även något som är anmärkningsvärt så används inte denna nyckel när jag testar att skicka in ett tips med Firefox, då ser kommunikationen ut enligt följande:

Gör jag samma med Google Chrome så krypteras all information från formuläret med 1024-bitars nyckeln förutom filnamnet:

Tittar vi på webbservern så svarar den att det är en gammal Apache, openssl med en PHP-version som är end-of-life sedan 2015, dvs inga säkerhetsuppdateringar eller liknande kommer. Red Hat tillhandahåller säkerhetsfixar för dessa versioner efter noggrann kontroll:

Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips PHP/5.4.16

Övriga saker att anmärka på är även att cookies för spårning och annonsering följer med från dn.se till dngranskar.dn.se såsom _ga (Google Analytics), optimizelyEndUserId, __couid (Kantar Sifo) och _burtAgency. Openpgpjs som används är version 1.30 och den senaste är 2.3.6.

Även bör headers som meddelar att webbläsare inte bör cacha innehåll användas såsom:

  • Cache-control: no-store
  • Pragma: no-cache

Sajten från A+ från SSLlabs.com vilket är bra och inga tredjepartsscript eller liknande laddas in.

Sammanfattning

Tjänsten är byggd med flertalet IT-säkerhetsbrister. Kommunikationen går över TLS vilket räddar upp situationen en del men informationen lagras troligtvis i klartext på servern när openpgp.js inte fungerar som den ska.

Jag har kontaktat DN innan publiceringen av denna granskning och DN meddelar att en ny sajt lanseras inom kort. Att titta på för inspiration för framtida arbete är SecureDrop som bl.a. The Guardian och NY Times använder.

Uppdatering: DN meddelar att kryptering även genomförs på serversidan av informationen efter den är inskickad.

SecureDrop över Tor som The New York Times använder sig av

Uppdatering: Burp Suites passiva granskning rapporterar 11 st medium-brister och 42 st low: