Populära inlägg 2018

Det är dags att sammanställa årets mest populära inlägg. Det jag kan utläsa från listan över populära inlägg är att sådant som handlar om nyheter där många är drabbade är generellt mer populärt här på bloggen. Även VPN och de intervjuer jag genomfört med personal på Säpo samt MUST har varit populära.

Topplistan 2018

  1. Javascript-miner installerad på hundratals populära svenska sajter
  2. Skatteverket varnar för personuppgiftsincident
  3. 10 stycken kostnadsfria VPN-tjänster
  4. Därför ska du inte använda VPN ⚠️
  5. Allvarligt fel hos NameSRS (NameISP)
  6. Apple inför USB Restricted Mode på iOS-enheter
  7. Reddit hackade
  8. Så jobbar Säkerhetspolisen med cybersäkerhet
  9. Vilken är den bästa VPN-tjänsten?
  10. Intervju med Martin som är kryptolog på MUST

Ny spännande startup: Debricked

Jag tog ett snack med Daniel Wisenhoff som är en av grundarna till en ny svensk säkerhetsstartup vid namn Debricked. Startupen är en spinoff från Lunds Universitet och ett projekt som forskat inom software component analysis (SCA).

Forskningen som ligger till grund för Debricked har även erhållit forskningsbidrag från Vinnova samt medverkar i ett nytt projekt vid namn HATCH som du kan läsa mer om här.

Berätta om hur idén till produkten föddes?

Under forskningsprojektet SECONDS som bedrevs på LTH från ~2015-2018 där vi tittade på hur man kan på ett effektivt jobba med säkerhet inom produktutveckling.
Detta med fokus på IoT (SECONDS, Secure Connected Devices).

Vad ser ni för behov på marknaden för Er tjänst/produkt?

Open Source Vulnerability Management, som är vårt första produkt bygger på det faktum att de allra flesta bolag idag använder någon form utav öppen källkod. Vi har då tagit fram ett verktyg som automatiserar och effektiviserar processen med att hålla koll på sin open source och vilka sårbarheter som finns i denna. Det som skiljer oss här är väl det att vi försöker automatisera så mycket som möjligt kring inhämtning av data och använder bland annat AI såsom Natural Language Processing (språkigenkänning) för att hitta bra information.

”Det som skiljer oss här är väl det att vi försöker automatisera så mycket som möjligt kring inhämtning avdata och använder bland annat AI och igenkänning med mera för att hitta bra information.”

Vilka är du/ni som står bakom produkten?

Daniel Wisenhoff, jag. Medgrundare av Debricked och tidigare grundare av forumet techsweden samt deltidsjobb på Axis samt Adsensus under tiden som jag studerade på LTH.

Oscar Reimer CTO, en gammal vän till mig och vi har drivit företag tillsammans. Bl.a Techsweden.org som på sin tid var en av Sveriges största entusiast communitys för PC-hårdvara. Därefter har han frilansat en hel del inom utveckling och e-handel.

Martin Hell, disputerad på LTH inom informationssäkerhet. Var projektledare tidigare på SECONDS projektet och även nu co-founder och senior advisor till Debricked. Det är i huvudsak Martin som står för den tekniska höjden i produkten och säkerhetskompetensen.

Vilka ser ni som era primära kunder?

Just nu håller vi på att testa marknaden och se var vi bäst får napp.

Hur ser prismodellen ut?

På samma vis som ovan, så håller vi på att testa olika modeller. Men vi tänker oss att vi är ett SaaS bolag med tillhörande modeller för betalning.

Skärmdump från produkten Open Source Vulnerability Management:

Hashcat version 5.1.0 är nu släppt

STÖK-Fredrik tipsade om att en ny intressant version av Hashcat precis har släppts. Förutom de sedvanliga buggfixarna så finns det nu ett stöd för omskrivning för olika tangentbord när det gäller knäckning av VeraCrypt/TrueCrypt diskar.

För att förklara ytterligare: Oavsett vilken tangentbordslayout du har när du väljer ditt lösenord för kryptering av VC/TC-diskar så kommer tangentbordslayouten att vara US. Detta gör att sökrymden blir mindre eftersom flertalet specialtecken förenklas. Ta exempelvis följande exempel:

بين التخصصات blir fdk hgjowwhj[g

Så för varje tangentbordslayout så måste det finnas en mapping-fil. Det finns enbart för tyska i dagsläget men utvecklarna av hashcat vill gärna få in pull-requests via Github.

Changeloggen i sin helhet hittar du här:

  • OpenCL Devices: Add support for up to 64 OpenCL devices per system
  • OpenCL Platforms: Add support for up to 64 OpenCL platforms per system
  • OpenCL Runtime: Use our own yielding technique for synchronizing rather than vendor specific
  • Startup: Show OpenCL runtime initialization message (per device)
  • xxHash: Added support for using the version provided by the OS/distribution

Fixed Bugs:

  • Fixed automated calculation of brain-session when not using all hashes in the hashlist
  • Fixed calculation of brain-attack if a given wordlist has zero size
  • Fixed checking the length of the last token in a hash if it was given the attribute TOKEN_ATTR_FIXED_LENGTH
  • Fixed endianness and invalid separator character in outfile format for hash-mode 16801 (WPA-PMKID-PMK)
  • Fixed ignoring –brain-client-features configuration when brain server has attack-position information from a previous run
  • Fixed invalid hardware monitor detection in benchmark mode
  • Fixed invalid warnings about throttling when –hwmon-disable was used
  • Fixed missing call to WSACleanup() to cleanly shutdown windows sockets system
  • Fixed missing call to WSAStartup() and client indexing in order to start the brain server on Windows
  • Fixed out-of-boundary read in DPAPI masterkey file v2 OpenCL kernel
  • Fixed out-of-bounds write in short-term memory of the brain server
  • Fixed output of –speed-only and –progress-only when fast hashes are used in combination with –slow-candidates
  • Fixed selection of OpenCL devices (-d) if there’s more than 32 OpenCL devices installed
  • Fixed status output of progress value when -S and -l are used in combination
  • Fixed thread count maximum for pure kernels in straight attack mode

Technical:

  • Brain: Set –brain-client-features default from 3 to 2
  • Dependencies: Added xxHash and OpenCL-Headers to deps/ in order to allow building hashcat from GitHub source release package
  • Dependencies: Removed gitmodules xxHash and OpenCL-Headers
  • Keymaps: Added hashcat keyboard mapping us.hckmap (can be used as template)
  • Keymaps: Added hashcat keyboard mapping de.hckmap
  • Hardware Monitor: Renamed –gpu-temp-abort to –hwmon-temp-abort
  • Hardware Monitor: Renamed –gpu-temp-disable to –hwmon-disable
  • Memory: Limit maximum host memory allocation depending on bitness
  • Memory: Reduced default maximum bitmap size from 24 to 18 and give a notice to use –bitmap-max to restore
  • Parameter: Rename –nvidia-spin-damp to –spin-damp (now accessible for all devices)
  • Pidfile: Treat a corrupted pidfile like a not existing pidfile
  • OpenCL Device: Do a real query on OpenCL local memory type instead of just assuming it
  • OpenCL Runtime: Disable auto-vectorization for Intel OpenCL runtime to workaround hanging JiT since version 18.1.0.013
  • Tests: Added hash-mode 11700 (Streebog-256)
  • Tests: Added hash-mode 11750 (HMAC-Streebog-256 (key = $pass), big-endian)
  • Tests: Added hash-mode 11760 (HMAC-Streebog-256 (key = $salt), big-endian)
  • Tests: Added hash-mode 11800 (Streebog-512)
  • Tests: Added hash-mode 11850 (HMAC-Streebog-512 (key = $pass), big-endian)
  • Tests: Added hash-mode 11860 (HMAC-Streebog-512 (key = $salt), big-endian)
  • Tests: Added hash-mode 13711 (VeraCrypt PBKDF2-HMAC-RIPEMD160 + XTS 512 bit)
  • Tests: Added hash-mode 13712 (VeraCrypt PBKDF2-HMAC-RIPEMD160 + XTS 1024 bit)
  • Tests: Added hash-mode 13713 (VeraCrypt PBKDF2-HMAC-RIPEMD160 + XTS 1536 bit)
  • Tests: Added hash-mode 13721 (VeraCrypt PBKDF2-HMAC-SHA512 + XTS 512 bit)
  • Tests: Added hash-mode 13722 (VeraCrypt PBKDF2-HMAC-SHA512 + XTS 1024 bit)
  • Tests: Added hash-mode 13723 (VeraCrypt PBKDF2-HMAC-SHA512 + XTS 1536 bit)
  • Tests: Added hash-mode 13731 (VeraCrypt PBKDF2-HMAC-Whirlpool + XTS 512 bit)
  • Tests: Added hash-mode 13732 (VeraCrypt PBKDF2-HMAC-Whirlpool + XTS 1024 bit)
  • Tests: Added hash-mode 13733 (VeraCrypt PBKDF2-HMAC-Whirlpool + XTS 1536 bit)
  • Tests: Added hash-mode 13751 (VeraCrypt PBKDF2-HMAC-SHA256 + XTS 512 bit)
  • Tests: Added hash-mode 13752 (VeraCrypt PBKDF2-HMAC-SHA256 + XTS 1024 bit)
  • Tests: Added hash-mode 13753 (VeraCrypt PBKDF2-HMAC-SHA256 + XTS 1536 bit)
  • Tests: Added hash-mode 13771 (VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 512 bit)
  • Tests: Added hash-mode 13772 (VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 1024 bit)
  • Tests: Added hash-mode 13773 (VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 1536 bit)
  • Tests: Added VeraCrypt containers for Kuznyechik cipher and cascades
  • Tests: Added VeraCrypt containers for Camellia cipher and cascades

Polisen har knäckt krypterade end-to-end mjukvaran IronChat

Uppdatering: Snowden har via Twitter förnekat att han på något sätt använt eller uppmuntrat användning av Ironchat.

Polisen i Nederländerna har knäckt krypto-mjukvaran IronChat som bl.a. rekommenderas av Edward Snowden. 

Det gäller 258,000 stycken chatt-meddelanden som skickats mellan kriminella aktörer som polisen har kommit över. Ironchat fungerar enbart tillsammans med BlackBox Iron Phone som utvecklas av företaget BlackBox Security.

Går man in på blackbox-security.com just nu så möts man av följande meddelande:

Och huruvida Snowden själv använder BlackBOX är dock oklart, enda källan som återfinnes är följande från leverantören själv där följande citat framgår:

 “I use PGP to say hi and hello, i use IronChat (OTR) to have a serious conversation,”

Hur polisen gjorde för att knäcka Ironchat är oklart men en teori skulle vara att om de tagit över servrarna så kan de automatiskt uppdatera mjukvaran på telefonerna och således lägga in en bakdörr. Eller påverka hur nycklar skapas för den krypterade kommunikationen. Troligtvis var det underliggande protokollet XMPP med OTR (Off-the-Record Messaging). En teori som cirkulerar på Twitter är att kontrollen av nyckelförändringar hos den andra parten inte kontrollerades.

Det är inte första gången som polisen i Nederländerna knäcker krypterad kommunikation, förra gången var det krypterad kommunikation via företaget Ennetcom som avlyssnades.

Ny zeroday-sårbarhet i VirtualBox

Säkerhetsforskaren Sergey Zelenyuk från Ryssland har släppt information gällande en ny sårbarhet i Oracle VirtualBox. Sårbarheten gör att en angripare kan bryta sig ut från den virtualiserade datorn, dock kräver sårbarheten att antagonisten har root eller liknande behörighet i den virtualiserade datorn.

Stöd mitt bloggande via Patreon

Sårbarheten återfinnes i koden som virtualiserar  nätverkskortet Intel PRO/1000 MT Desktop (82540EM) och används som standard i VirtualBox när du skapar en ny virtuell dator.

Just sårbarheter i virtualiseringsmjukvara är extra intressanta eftersom virtualisering många gånger används som en säkerhetshöjande funktion, exempelvis QubesOS som jag skrivit om många gånger förr.

Sergey har även tagit fram en demo-video och hans exploit kringgår ASLR samt DEP:

Tråkigt dock att han inte ger Oracle tid att åtgärda sårbarheten i VirtualBox och utsätter mängder av system för fara, så kallad responsible disclosure. Sårbarheten fungerar på senaste versionen av VirtualBox som är 5.2.20.

Se motivering bakom beslutet att släppa information om sårbarheten och tekniska detaljer på Sergeys Github.

Kryptobrister i flertalet hårddiskar

Forskare vid Radboud University i Nederländerna har tittat på flertalet hårddiskar som stödjer kryptering och konstaterat att flertalet av dessa innehåller brister. Enkla brister såsom att återställningsnyckeln är ett blankt lösenord (32 x 0x00). Även var det möjligt med fysisk access och via JTAG-debugport återställa lösenordet.

Vad som också är anmärkningsvärt är att om du använder Microsoft BitLocker så förlitar sig BitLocker på hårddiskens kryptering.

Krypto-bristerna gäller främst följande hårddiskar:

  • Crucial (Micron) MX100, MX200 and MX300 interna hårddiskar.
  • Samsung T3 and T5 USB externa diskar.
  • Samsung 840 EVO and 850 EVO interna diskar.

Följande tabell visar på bristerna på de olika hårddiskarna:

“You might think you’ve done the right thing enabling BitLocker but then a third-party fault undermines your security, but you never know and never would know”

Alan Woodward, professor på University of Surrey

Här kan du läsa vad Samsung skriver om sårbarheterna:

Även så har myndigheten NCSC i Nederländerna gått ut med en varning samt tilldelat följande CVE:er:

  • CVE-2018-12037
  • CVE-2018-12038
  • CVE-2018-12037
  • CVE-2018-12038

Och här kan du ladda hem forskningsrapporten som PDF: Self-encrypting deception.pdf

Som åtgärd kan du använda VeraCrypt eller så går det att ändra en GPO-inställning så Bitlocker används även om hårdvaran stödjer kryptering.

Krypterad SNI i TLS 1.3

Server Name Indication (SNI) är den del av TLS som berättar för servern till vilken webbserver du vill besöka. Detta behövs om din webbserver bara har en IP-adress men flertalet certifikat. Detta fält går i klartext och gör att någon som kan se din nätverkstrafik också kan se vilken webbserver du besöker.

För att göra det svårare har bl.a. Domain Fronting används av såväl Tor som skadlig kod för att försvåra analys av nätverkstrafik men detta är något som flertalet leverantörer såsom CloudFlare nu stängt ner.

Följande bild förevisar bra där server_name skickas i klartext under handskakningsprocessen:

Firefox släppte precis stöd för ESNI (encrypted SNI) i sin nightly build. Du kan testa att ESNI fungerar genom att surfa till följande URL. Och glöm inte att slå på DoH:

Att ta fram en lösning som krypterar SNI var inte helt trivialt eftersom det rör sig om ett ”hönan eller ägget”-problem. Men för att lösa detta problem så används en ny nyckel hos klienten samt en ESNIKeys-structure som placeras i DNS:

Givetvis bör krypterad DNS också användas:

Moreover, as noted in the introduction, SNI encryption is
less useful without encryption of DNS queries in transit via DoH or DPRIVE mechanisms.

För mer matnyttig läsning rekommenderas följande IETF-draft:

 

Oberoende granskning av Firefox uppdateringsförfarande

Tyska säkerhetsföretaget X41 D-Sec GmbH har genomfört en oberoende teknisk säkerhetsgranskning av Firefox uppdateringsförfarande. Dvs den infrastruktur som har hand om uppdateringar samt kodbasen som tillhör både klient och serverdel.

Resultatet av denna granskning påvisar inga allvarliga säkerhetsbrister. Dock uppdagades tre säkerhetsbrister i Balrog med hög allvarlighetsgrad. Balrog är den uppdateringsserver som Firefox använder sig av och finns på Github här.

Fördelningen över resterande säkerhetsbrister som identifierats fördelar sig enligt följande:

Granskningsgruppen rekommenderar även att XML-filer som beskriver metadata om uppdateringar bör signeras. Även så kör uppdateringsservern enbart HTTP Basic Authentication som autentisering, utan rate-limit. Intressant även att de föreslår att Firefox skriver om delar av koden från C till ett säkrare programspråk såsom Rust eller Golang.

Stöd mitt bloggande via Patreon >

Jag gillar denna typ av offentliga säkerhetsgranskningar och speciellt eftersom rapporten finns att ladda ner i sin helhet (har bifogat den nedan). Tidigare har jag bl.a. skrivit om Mullvad som genomfört en offentlig granskning.

Granskningen som X41 D-Sec utförde tog 216 timmar och utfördes av fyra säkerhetsexperter varav en av dessa var kryptolog.

Här kan du ladda hem rapporten som PDF:

Källa

Alphabet (Google) släpper säkerhets-app till Android

Känner du till Alphabet? Företaget som äger Google? Jag skrev om Alphabet i Januari detta år. Alphabet har nu via deras inkubator Jigsaw släppt en app vid namn Intra.

Intra fungerar till Android-baserade mobiltelefoner och ser till att DNS-frågor går via en krypterad anslutning. Nämligen mer specifikt protokollet DoH (DNS over HTTPS) vilket även Firefox stödjer.

Givetvis finns även Intra tillgängligt som öppen källkod på Github för den som vill medverka till utvecklingen eller granska koden.

Intra fungerar från och med Android version 4.0 och kan laddas hem här:

Bra att tillägga är även att Android 9.0 ”Pie” stödjer DoH utan denna app, och för att citera Alphabet:

If you have Android 9.0 or later, we recommend enabling the Private DNS setting instead of installing Intra

Vidare läsning

Lista ut ålder på enheter via MAC-adressen

HD Moore twittrade nyligen om ett intressant projekt på Github vid namn mac-ages. Projektet mac-ages utnyttjar information om, när spann av MAC-adresser blivit registrerade. Detta går sedan att utnyttja för att relativt trubbigt lista ut hur gammal en enhet är.

mac-ages är en blandning av DeepMac samt WireSharks MAC-adresslistor uppger HD Moore.

Jag skrev ihop en snabb one-liner som tittar i min lokala dators arp-tabell och slår sedan upp den mot mac-ages:

$ git clone https://github.com/hdm/mac-ages
$ cd mac-ages
$ for a in `arp -na|awk '{print $4}'|grep -v ^1: |awk -F':' '{print $1 $2 $3}'`; do fgrep $a mac-ages.csv; done|sort -n -t, -k2

Resultatet från ovan blir då (maskat):

Tittar vi i ovan tabell så ser vi att enheten med MAC-adress som börjar på b8:27:eb är en BCM43438 (numera Cypress). Sitter faktiskt i en Raspberry Pi 3 och ser ut så här:

Oklart när den kom ut men 2012 låter inte helt orimlig, även de andra på listan tror jag stämmer någorlunda med avvikelser på ett eller två år.

HD Moores tweet:

https://twitter.com/hdmoore/status/1046563911972130819

Och för den som vill grotta ner sig ännu mer rekommenderar jag denna: