Vsi Western Digitalovi zunanji diski z zanič šifriranjem

Matej Huš

21. okt 2015 ob 22:56:44

Raziskovalci so ugotovili, da so Western Digitalovi zunanji diski iz družin My Passport in My Book, ki uporabljajo vgrajeno 256-bitno šifriranje AES, bistveno manj varni od pričakovanj. Diski imajo različne krmilnike in različno implementacijo šifriranja, vsem pa je skupno, da je napad nanje sorazmerno enostaven, s tem pa tudi prebiranje šifriranih podatkov. O izsledkih poročajo v 36-strani dolgem članku in predstavitvi.

Preverjali so zunanje diske, ki uporabljajo šest različnih USB-vmesnikov različnih proizvajalcev: JMicron, Symwave, Initio in PLX. Šifriranje poteka tako, da se uporabnikovo geslo z algoritmom SHA256 pretvori v ključni kriptografski ključ (KEK). Ta se potem uporabi za šifriranje ključa za šifriranje podatkov (DEK). V EEPROM-u oziroma na servisnem področju na disku se shrani šifrirana verzija DEK-a (eDEK). Ko uporabnik vnese svoje geslo, se najprej odšifrira DEK, ki se potem uporabi za dešifriranje podatkov na disku. Ker firmware diskov ni podpisan, ga je mogoče nepooblaščeno nadgrajevati in na ta način podtikati trojanske konje,

Problem, ki so ga odkrili raziskovalci, je nezadostno varovanje eDEK-a. Pri štirih krmilnikih so ugotovili, da je mogoče eDEK enostavno prebrati z diska, s čimer se odpre možnost za organizirano lomljenje šifriranja z ugibanjem (brute force). Ker diski uporabljajo fiksen dodatek h geslu (salt), ki bi načeloma moral skrbeti za večjo varnost (enaki gesli ob različnem saltu nimata enake vrednosti hash), in fiksno število ciklov algoritma za izračun hasha, je mogoče napad pospešiti. Tu je rešitev uporaba res dobrega in dolgega gesla.

Izkaže pa se, da v nekaterih primerih ni potrebno niti to. Eden izmed primerkov shranjuje KEK kar v tekstovni obliki v EEPROM-u, od koder ga je trivialno obnoviti. V drugem primeru je sicer shranjen šifriran, a s fiksnim ključem, ki ga je prav tako mogoče izvoziti. V tretjem primeru pa je KEK mogoče prebrati iz RAM-a z nedokumentiranimi ukazi. Našel se je tudi disk, kjer je prepis nekaj bitov v servisnem področju v celoti odklenil podatke. Dve implementaciji, ki nista imeli tako očitnih lukenj, pa sta uporabljali slaba generatorja naključnih števil (eden na primer ponavlja le med 255 32-bitnimi števili) - v enem primeru je kompleksnost kvečjemu 240, kar ni ovira niti za osebne računalnike, v drugem pa 257, kar je s specializirano opremo prav tako zlomljivo.