Vakava tietoturva: Microsoft Office 365 hyökkäsi heikon PlatoBlockchain Data Intelligencen salauksen takia. Pystysuuntainen haku. Ai.

Vakava tietoturva: Microsoft Office 365 hyökättiin heikon salauksen takia

Emme ole aivan varmoja, miksi sitä kutsuttaisiin juuri nyt, joten viittasimme siihen otsikossa hybridinimellä Microsoft Office 365.

(Office-nimi Microsoftin tekstinkäsittely-, laskentataulukko-, esitys- ja yhteistyösovelluksille yhteissubstantiivina on tulossa tapettiin seuraavan kuukauden tai kahden aikana muuttuu yksinkertaisesti "Microsoft 365:ksi".)

Olemme varmoja, että ihmiset käyttävät jatkossakin yksittäisten sovellusten nimiä (sana, kunnostautua, PowerPoint ja ystävät) ja sviitin nimimerkki Office monien vuosien ajan, vaikka ohjelmiston uudet tulokkaat todennäköisesti tietävät sen 365, sen jälkeen, kun on pudotettu kaikkialla esiintyvä Microsoft-etuliite.

Kuten ehkä tiedätkin, erilliset Office-sovellukset (jotka asennat paikallisesti, joten sinun ei tarvitse mennä verkkoon työstääksesi asioita) sisältävät oman vaihtoehdon tallennettujen asiakirjojen salaamiseen.

Tämän oletetaan lisäävän ylimääräistä suojaustasoa siltä varalta, että jaat myöhemmin jonkin näistä tiedostoista vahingossa tai suunnittelemallasi jonkun kanssa, jonka ei pitänyt saada niitä – mikä on yllättävän helppoa vahingossa jaettaessa liitteitä sähköpostitse.

Ellei ja ennen kuin annat vastaanottajalle salasanaa, jota hän tarvitsee tiedoston lukituksen avaamiseen, se on hänelle vain niin paljon silputtua kaalia.

Tietenkin, jos lisäät salasanan sähköpostin tekstiosaan, et tietenkään ole saanut mitään, mutta jos olet edes hieman varovainen salasanan jakamisessa eri kanavan kautta, olet ostanut itsellesi lisäturvaa roistoja vastaan. , snoops ja huonokuntoiset pääsevät helposti luottamukselliseen sisältöön.

OME valokeilassa

Vai onko sinulla?

Mukaan Tutkijat suomalaisessa kyberturvallisuusyrityksessä WithSecuressa tietosi voivat saada paljon vähemmän suojattua kuin voit kohtuudella odottaa.

Testaajien käyttämä ominaisuus on se, mitä he kutsuvat Office 365 -viestien salaustai OME lyhyesti.

Emme ole toistaneet heidän kokeiluaan täällä siitä yksinkertaisesta syystä, että Officen ydintuotteet eivät valitettavasti toimi Linuxissa, jota käytämme töissä. Office-työkalujen verkkopohjaisissa versioissa ei ole samaa ominaisuusjoukkoa kuin täydellisissä sovelluksissa, joten saamamme tulokset eivät todennäköisesti vastaa sitä, miten useimmat Officen yrityskäyttäjät ovat määrittäneet Wordin, Excelin, Outlookin, ah, 365. ja ystävät Windows-kannettavissa tietokoneissaan.

Kuten tutkijat kuvailevat:

Tämän ominaisuuden tarkoituksena on antaa organisaatioille mahdollisuus lähettää ja vastaanottaa salattuja sähköpostiviestejä organisaatiossasi ja sen ulkopuolella olevien ihmisten välillä turvallisesti.

Mutta he huomauttavat myös, että:

Valitettavasti OME-viestit on salattu epävarmassa elektronisen koodikirjan (ECB) toimintatilassa.

EKP selitti

Selittää.

Monet salausalgoritmit, erityisesti Advanced Encryption Standard tai AES, jota OME käyttää, tunnetaan nimellä lohkosalaimet, jotka sekoittavat suuria datapaloja kerrallaan sen sijaan, että ne käsittelevät yksittäisiä bittejä tai tavuja peräkkäin.

Yleisesti ottaen tämän oletetaan parantavan sekä tehokkuutta että turvallisuutta, koska salauksella on enemmän syöttödataa sekoitettavaksi-murskattavaksi ja nestemäiseksi jokaisella algoritmia ohjaavan kryptografisen kammen käännöksellä, ja jokainen käännös vie sinut pidemmälle. salattavien tietojen kautta.

Esimerkiksi AES-ydinalgoritmi kuluttaa 16 syötetyn selvätekstitavua (128 bittiä) kerrallaan ja sekoittaa nämä tiedot salausavaimen alle tuottaakseen 16 salattua salatekstitulostustavua.

(Älä sekoita lohkokoko with avaimen koko – AES-salausavaimet voivat olla 128 bittiä, 192 bittiä tai 256 bittiä pitkiä riippuen siitä, kuinka epätodennäköisesti haluat niiden arvaavan, mutta kaikki kolme avainkokoa toimivat 128-bittisissä lohkoissa joka kerta, kun algoritmia "käynnistetään".)

Tämä tarkoittaa sitä, että jos valitset AES-avaimen (pituudesta riippumatta) ja käytät sitten AES-salausta suoraan dataosassa…

…sitten aina kun saat saman tuloosan, saat saman lähtöosan.

Kuin todella massiivinen koodikirja

Siksi tätä suoraa toimintatapaa kutsutaan EKP: n, lyhenne jstk sähköinen koodikirja, koska se on ikään kuin valtava koodikirja, jota voitaisiin käyttää hakutaulukkona salaukseen ja salauksen purkamiseen.

(Täydellistä "koodikirjaa" ei voida koskaan rakentaa tosielämässä, koska sinun on tallennettava tietokanta, joka koostuu kahdesta128 16 tavun merkinnät jokaiselle mahdolliselle avaimelle.)

Valitettavasti varsinkin tietokoneella muotoilluissa tiedoissa tiettyjen tietopalojen toistaminen on usein väistämätöntä käytetyn tiedostomuodon ansiosta.

Esimerkiksi tiedostot, jotka täyttävät rutiininomaisesti dataosia niin, että ne ovat linjassa 512 tavun rajojen (yleinen sektorin koko levylle kirjoitettaessa) tai 4096 tavun rajojen (yleinen allokaatioyksikön koko muistia varattaessa) mukaan, tuottavat usein tiedostoja, joissa on pitkiä nolla tavua.

Samoin tekstiasiakirjat, jotka sisältävät paljon lisäyksiä, kuten ylä- ja alatunnisteet jokaisella sivulla tai yrityksen koko nimen toistuva maininta, sisältävät runsaasti toistoja.

Joka kerta kun toistuva selvätekstipala sattuu olemaan 16-tavun rajalla AES-ECB-salausprosessissa, se tulee siksi esiin salatussa lähdössä täsmälleen sama salateksti.

Joten vaikka et voikaan purkaa salatekstitiedoston salausta muodollisesti, saatat pystyä tekemään siitä välittömiä, turvallisuutta murskaavia johtopäätöksiä, koska syötteen kuviot (jotka saatat tietää tai pystyä päättelemään, tai arvata) säilyvät tulosteessa.

Tässä on esimerkki, joka perustuu artikkeliin, jonka julkaisimme lähes yhdeksän vuotta sitten ja selitimme, miksi Adoben nyt pahamaineinen ECB-moodin salauksen käyttö käyttäjien salasanojen "tiivistämiseen" oli Ei hyvä idea:

Vakava tietoturva: Microsoft Office 365 hyökkäsi heikon PlatoBlockchain Data Intelligencen salauksen takia. Pystysuuntainen haku. Ai.
Vasemmalle. Alkuperäinen RGBA-kuva.
Oikea. Kuvatiedot on salattu AES-128-ECB:llä.

Huomaa, että syötteen tasavalkoiset pikselit tuottavat luotettavasti toistuvan kuvion ulostuloon ja siniset osat pysyvät jossain määrin säännöllisinä, jolloin alkuperäisen tiedon rakenne on selvä.

Tässä esimerkissä jokainen alkuperäisen tiedoston pikseli vie tasan 4 tavua, joten jokainen syöttötiedon vasemmalta oikealle 4-pikselinen ajo on 16 tavua pitkä, mikä on täsmälleen kohdakkain kunkin 16-tavun AES-salauslohkon kanssa, mikä korostaa "EKP-vaikutus".


Vastaavat salatekstimallit

Vielä pahempaa on, että jos sinulla on kaksi asiakirjaa, joiden tiedät olevan salattu samalla avaimella, ja sinulla vain sattuu olemaan yhden niistä selvä teksti, voit selata salatekstiä, jonka ei voi purkaa salaus ja yritä sovittaa sen osia yhteen salatekstin malleilla voida purkaa salaus.

Muista, että et tarvitse avainta ensimmäisen asiakirjan salauksen purkamiseen, jos sinulla on se jo puretussa muodossa – tämä tunnetaan, ei yllättäen, tunnettu selväkielinen hyökkäys.

Vaikka näennäisesti viatonta tekstiä on vain muutamia osumia, jotka eivät itsessään ole salaisia ​​tietoja, tieto, jonka vihollinen voi poimia tällä tavalla, voi olla kultakaivos henkisen omaisuuden vakoojille, sosiaalisuunnittelijoille, oikeuslääketieteellisille tutkijoille ja muille.

Esimerkiksi, vaikka sinulla ei olisi aavistustakaan, mihin asiakirjan tiedot viittaavat, yhdistämällä tunnettuja selkotekstipalstoja useiden tiedostojen välillä saatat pystyä määrittämään, että näennäisesti satunnainen asiakirjojen kokoelma:

  • Kaikki lähetettiin samalle vastaanottajalle, jos jokaisen yläosassa on yhteinen tervehdys.
  • Viittaa samaan projektiin, jos siellä on yksilöllinen tunnistetekstijono, joka ponnahtaa esiin jatkuvasti.
  • on sama turvaluokitus, jos olet kiinnostunut keskittymään asioihin, joiden on selvästi tarkoitus olla "salaisempia" kuin muut.

Mitä tehdä?

Älä käytä ECB-tilaa!

Jos käytät lohkosalausta, valitse a lohkosalauksen toimintatila että:

  • Sisältää ns. IV tai alustusvektorin, valitaan satunnaisesti ja yksilöllisesti jokaiselle viestille.
  • Järjestää tietoisesti salausprosessin niin, että toistuvat syötteet tulevat eri tavalla joka kerta.

Jos käytät AES-tilaa, haluat todennäköisesti valita näinä päivinä AES-GCM (Galois Counter Mode), joka ei ainoastaan ​​käytä IV:tä luomaan erilaista salaustietovirtaa joka kerta, vaikka avain pysyisi samana, vaan laskee myös ns. Viestin todennuskoodi (MAC) tai kryptografinen tarkistussumma, samalla kun salataan tai puretaan tietoja.

AES-GCM tarkoittaa paitsi sitä, että vältät toistuvia salatekstimalleja, myös sitä, että saat aina "tarkistussumman", joka kertoo, onko juuri purettua dataa peukaloitu matkan varrella.

Muista, että huijari, joka ei tiedä mitä salateksti todellisuudessa tarkoittaa, saattaa kuitenkin huijata sinut luottamaan epätarkkaan salauksen purkamiseen tietämättä (tai välittämättä), minkälaiseen väärään tulokseen päädyt.

Salauksenpurkuprosessin aikana laskettu MAC, joka perustuu samaan avaimeen ja IV:hen, auttaa varmistamaan, että tiedät, että vastaanottamasi salateksti on kelvollinen, ja siksi olet lähes varmasti purkanut sen, mikä alun perin laitettiin toiseen päähän.

Vaihtoehtoisesti voit käyttää erityistä virran salaus joka tuottaa näennäissatunnaisen tavu-tavuisen avainvirran, jonka avulla voit salata tietoja ilman, että sinun tarvitsee käsitellä 16 tavua (tai mikä tahansa lohkon koko voi olla) kerrallaan.

AES-GCM olennaisesti muuntaa AES:n stream-salaukseksi ja lisää todennuksen MAC:n muodossa, mutta jos etsit omistettua stream-salausta, joka on erityisesti suunniteltu toimimaan tällä tavalla, suosittelemme Daniel Bernsteinin ChaCha20-Poly1305 (Poly1305-osa on MAC), kuten on kuvattu RFC 8439.

Alla olemme näyttäneet, mitä saimme käyttämällä AES-128-GCM:ää ja ChaCha20-Poly1305:tä (hylkäsimme MAC-koodit tässä) sekä "kuvan", joka koostuu 95,040 330 RGBA-tavusta (72 × 4 XNUMX tavulla pikseliä kohden) Linux-ytimen pseudosatunnainen generaattori.

Muista, että se, että data näyttää jäsentämättömältä, ei tarkoita, että se olisi todella satunnaista, mutta jos se ei näytä satunnaiselta, mutta väittää olevansa salattu, voit yhtä hyvin olettaa, että jäljelle on jäänyt jokin rakenne ja että salaus on epäilty:

Mitä tapahtuu seuraavaksi?

WithSecuren mukaan, Microsoft ei aio korjata tätä "haavoittuvuutta", ilmeisesti syistä, jotka liittyvät taaksepäin yhteensopivuus Office 2010:n kanssa…

Officen (2010) vanhat versiot vaativat AES 128 ECB:n, ja Office-sovellukset suojaavat edelleen Office-dokumentteja tällä tavalla.

…ja…

[WithSecuren tutkijoiden] raporttia ei katsottu täyttävän turvallisuushuollon vaatimuksia, eikä sitä pidetty rikkomuksena. Koodia ei muutettu, joten tälle raportille ei annettu CVE:tä.

Lyhyesti sanottuna, jos luotat tällä hetkellä OMEen, sinun kannattaa harkita sen korvaamista kolmannen osapuolen arkaluonteisten viestien salaustyökalulla, joka salaa tietosi viestit luoneista sovelluksista riippumatta ja toimii siten sisäisestä salauksesta riippumatta. koodi Office-alueella.

Tällä tavalla voit valita nykyaikaisen salauksen ja nykyaikaisen salauksen käyttötavan ilman, että sinun tarvitsee palata vanhan koulun Office 2010:n sisäänrakennettuun salauksenpurkukoodiin.


MITEN TEISIMME ARTIKKELIN KUVIA Aloita osoitteella sop330.png, jonka voit luoda itsellesi rajaamalla puhdistetun SOPHOS-logon ylimmästä kuvasta, poistamalla 2 pikselin sinisen rajan ja tallentamalla PNG-muotoon.  Kuvan tulee olla kooltaan 330 x 72 pikseliä.
 Muunna RGBA-muotoon ImageMagickilla: $ convert sop330.png sop.rgba Lähtö on 330x72 pikseliä x 4 tavua/piksel = 95,040 XNUMX tavua.
 === Salaa käyttämällä Luaa ja LuaOSSL-kirjastoa (Pythonilla on hyvin samanlainen OpenSSL-sidos): -- lataa tiedot > fdat = misc.filetostr('sop.rgba') > fdat:len() 95040 -- luo salausobjekteja > aes = openssl.cipher.new('AES-128-ECB') > gcm = openssl.cipher.new('AES-128-GCM') > cha = openssl.cipher.new('ChaCha20-Poly1305') -- alusta salasanat ja IV:t -- AES-128-ECB tarvitsee 128-bittisen salasanan, mutta ei IV - AES-128-GCM tarvitsee 128-bittisen salasanan ja 12-tavun IV - ChaCha20 tarvitsee 256-bittisen salasanan ja a 12-tavuinen IV > aes:encrypt('THEPASSWORDIS123') > gcm:encrypt('THEPASSWORDIS123','andkrokeutiv') > cha:encrypt('THEPASSWORDIS123THEPASSWORDIS123','qlxmtosh476g') -tiedostot, joissa on kolme salattavaa tiedostoa > aesout = aes:final(fdat) > gcmout = gcm:final(fdat) > chaout = cha:lopullinen(fdat) -- stream-salaus tuottaa tulosteen tavu tavu kerrallaan, -- joten salatekstin tulee olla yhtä pitkä kuin tavallisen tekstin > gcmout:len() 95040 > chaout:len() 95040 -- emme käytä tässä GCM:n ja Poly1305:n MAC-koodeja, -- mutta jokainen salaus tuottaa 128-bittisen (16-tavun) "tarkistussumman" -- käytetään todentamaan salauksen purkaminen sen jälkeen, -- havaitsemaan, onko syötetty salateksti vioittunut tai hakkeroitu -- (MAC riippuu avaimesta, joten hyökkääjä ei voi väärentää sitä) > base.hex(gcm:getTag(16)) a70f204605cd5bd18c9e4da36cbc9e74 > base.hex(cha:getTag(16)) a55b97d5e9f3cb9a3be2fa4f040 misc.filetostr('/dev/random',#fdat) -- tallenna ne kaikki - huomaa, että me nimenomaisesti katkaisemme AES-ECB:n - lohkosalauksen ulostulon täsmälleen vaadittuun kuvan pituuteen, koska -- EKP tarvitsee täyttöä vastaamaan syöttökoko lohkon kokolla > misc.strtofile(aesout:sub(56,#fdat),'aes.rgba') > misc.strtofile(gcmout,'gcm.rgba') > misc.strtofile(chaout,'cha. rgba') > misc.strtofile(rndout,'rnd.rgba') === Jos haluat ladata tiedostot tavalliseen kuvankatseluohjelmaan, sinun on ehkä muutettava ne häviöttömästi takaisin PNG-muotoon: $ convert -depth 95040 -koko 1x8 aes .rgba aes.png $ muuntaa -syvyys 330 -koko 72x8 gcm.rgba gcm.png $ muunnos -syvyys 330 -koko 72x8 cha.rgba cha.png $ muunna -syvyys 330 -koko 72x8 rnd.rgba rnd.png === Koska salausprosessi salaa kaikki neljä tavua jokaisessa RGBA-pikselissä , tuloksena olevan kuvan läpinäkyvyys vaihtelee (A = alfa, lyhenne sanoista läpinäkyvyys).
 Kuvankatseluohjelmasi saattaa päättää näyttää tällaisen kuvan shakkilaudalla, joka hämmentävästi näyttää osalta kuvaa, mutta ei sitä ole.  Siksi käytimme alkuperäisen kuvan Sophos-sinistä salattujen tiedostojen taustana, jotta niitä olisi helpompi tarkastella.  Sininen yleinen sävy ei siksi ole osa kuvadataa. 

Aikaleima:

Lisää aiheesta Naked Security