BlueKeep

BlueKeep  on Microsoft Remote Desktop Protocol -toteutuksen tietokoneen haavoittuvuus , joka mahdollistaa koodin suorittamisen etänä . BlueKeep vaikuttaa kaikkiin Windows NT -linjan päivittämättömiin Windows-versioihin Windows 2000 : sta Windows Server 2008 R2 :een ja Windows 7 :ään . Syyskuussa 2019 BlueKeep- hyödyntäminen julkistettiin osana Metasploit -projektia [1] .

NSA :n ja Microsoftin mukaan tietokonemadot voivat hyödyntää BlueKeepiä , ja Microsoft väittää miljoonan haavoittuvan laitteen arvion perusteella, että tällainen hyökkäys voisi olla mittakaavassa verrattavissa EternalBlue- hyökkäyksiin, kuten NotPetya ja WannaCry. [2] [3] [2] [3] [ 4] .

Haavoittuvuuden korosti CVE -ID CVE-2019-0708 [5] .

Lyhyt kuvaus

BlueKeep-haavoittuvuus löydettiin RDP -protokollan toteutuksesta joissakin Windows - käyttöjärjestelmän versioissa toukokuussa 2019. RDP on patentoitu protokolla, joka tarjoaa etäyhteyden Windows-tietokoneisiin. BlueKeepillä ei ole mitään tekemistä itse protokollan mekanismin kanssa ja se vaikuttaa vain sen toteutukseen. Haavoittuvuus vaikuttaa erityisesti siihen koodin osaan, joka vastaa ns. virtuaalikanavien hallinnasta . RDP käyttää erilaisia ​​virtuaalipiirejä kuljettamaan erityyppisiä tietoja. Esimerkiksi "rdpsnd"-kanava välittää ääntä, kun taas "cliprdr"-kanavaa käytetään välittämään leikepöydän sisältö . Muita virtuaalisia piirejä voidaan käyttää laajentamaan RDP-protokollaa käyttäjäsovellustasolla. Windows 2000 : ssa oli käytettävissä vain 32 staattista virtuaalikanavaa, ja siksi tämän rajoituksen kiertämiseksi ehdotettiin dynaamisten virtuaalikanavien mekanismia, joka mahdollistaa useiden dynaamisten kanavien lähettämisen yhdessä staattisessa kanavassa. Staattiset kanavat luodaan, kun RDP-istunto luodaan, ja ne ovat olemassa, kunnes se suljetaan, kun taas dynaamisia kanavia voidaan luoda ja poistaa asiakkaan pyynnöstä. Lisäksi toisin kuin staattiset kanavat, jotka on numeroitu kokonaisluvulla 0–31, dynaamiset kanavat tunnistetaan merkkijonon nimen perusteella. Windows sitoo dynaamiset kanavien nimet staattisiin kanavanumeroihin termdd.sys [6] -ohjaimen _IcaBindVirtualChannels- ja _IcaRebindVirtualChannels - funktioissa .

Oletusarvoisesti RDP varaa numeron 31 sisäiselle, ei-käyttäjäohjatulle virtuaaliselle piirille nimeltä "MS_T120". Ajuri ei kuitenkaan tarkista samannimisen mukautetun virtuaalikanavan olemassaoloa. Siten hyökkääjä voi luoda toisen dynaamisen kanavan nimeltä "MS_T120" ja sitoa sen staattiseen kanavaan, jolla on eri numero. Tässä tapauksessa osoitin dynaamisen kanavan "MS_T120" jo olemassa olevaan esiintymään liitetään uuteen numeroon. Kun hyökkääjän luoma kanava suljetaan, muisti vapautetaan , minkä jälkeen roikkuva osoitin numeroon 31 liittyvään “MS_T120”-kanavaan jää järjestelmään, mikä voi johtaa muistin käyttövirheisiin [6] . Tilannetta pahentaa se, että dynaamisten virtuaalikanavien luominen voi tapahtua ennen käyttäjän todennusvaihetta , jolloin tietokonemadot voivat käyttää BlueKeep-ohjelmaa . Tämä ongelma on osittain ratkaistu käyttämällä verkkotason todennusta (NLA) , joka ilmestyi Windows Vistassa  , RDP-protokollan vaihtoehto, joka vaatii käyttäjän todennuksen ennen yhteyden muodostamista [7] .

Microsoft julkaisi tietoturvapäivityksen (mukaan lukien useille Windows-versioille, joiden tukikausi on päättynyt, erityisesti Windows XP :lle ) 14. toukokuuta 2019 [4] . Termdd.sys- ohjaimen korjattu versio ei salli muiden numeroiden kuin 31 osoittamista kanavalle nimeltä "MS_T120".

Tietoturvaasiantuntija Kevin Beaumont antoi tälle haavoittuvuudelle nimen "BlueKeep" Twitter - viestissään .

Historia

BlueKeepin mainitsi ensimmäisenä UK National Cybersecurity Center [8] , Microsoftin raportti julkaistiin 14. toukokuuta 2019 sekä tietoturvapäivitys, joka korjaa tämän haavoittuvuuden. Myöhemmin, 4. kesäkuuta 2019, NSA julkaisi turvallisuusohjeensa [3] .

Samana päivänä, kun NSA:n neuvonta julkaistiin, CERT-selvityskeskuksen tutkijaryhmä ilmoitti toisesta RDP -protokollaan liittyvästä haavoittuvuudesta Windows 10 :n toukokuuta 2019 päivityksessä ja Windows Server 2019 :ssä . Erityisesti tutkijat panivat merkille, että Network Level Authentication -tunnistetiedot tallennetaan asiakasjärjestelmän välimuistiin ja käyttäjä voi käyttää RDP-yhteyteensä automaattisesti uudelleen, jos se katkeaa. Microsoft on hylännyt tämän haavoittuvuuden tahallisena käyttäytymisenä väittäen, että se voidaan poistaa käytöstä ryhmäkäytäntömekanismin avulla [9] .

Kesäkuusta 2019 lähtien useita toimivia PoC :ita on lähetetty hyödyntämään tätä haavoittuvuutta. Erityisesti McAfee [6] ja Sophos [10] [11] esittelivät versionsa . 22. heinäkuuta 2019 kiinalaisen tietoturvayrityksen puhuja esitti konferenssissa lisää tietoa BlueKeepistä [12] . Asiantuntijat totesivat 25. heinäkuuta 2019, että hyväksikäytöstä olisi voinut olla tuolloin saatavilla kaupallinen versio [13] .

13. elokuuta 2019 raportoitiin DejaBlue , uusi ryhmä BlueKeepiin liittyviä haavoittuvuuksia. Vanhojen Windows-versioiden lisäksi DejaBlueen ovat vaikuttaneet myös uudemmat käyttöjärjestelmäversiot Windows 10 :een asti [14] .

6. syyskuuta 2019 BlueKeep -haavoittuvuuden hyväksikäyttö osana Metasploitia [1 ] ilmestyi julkisuuteen . Hyödynnyksen alkuperäinen versio osoittautui kuitenkin erittäin epäluotettavaksi, koska BSoD -virheitä esiintyi usein . Tarkistettu versio tuli saataville myöhemmin [15] .

2. marraskuuta 2019 raportoitiin ensimmäinen massiivinen BlueKeep-hakkerihyökkäys, joka liittyi Moneron kryptovaluuttaan [ 16] [17] . 8. marraskuuta 2019 Microsoft vahvisti hyökkäyksen ja kehotti käyttäjiä päivittämään Windows -versionsa mahdollisimman pian [18] .

Mekanismi

DoS-hyökkäys

Yksinkertaisin tapa hyödyntää BlueKeep-haavoittuvuutta on toteuttaa siihen perustuva DoS-hyökkäys . Kun asiakas muodostaa yhteyden, palvelimelle luodaan automaattisesti "MS_T120"-kanava, joka liittyy staattiseen numeroon 31. Käyttämällä MCS Connect Initial PDU:ta GCC Conference Create Request RDP-pyynnön kanssa asiakas voi luoda lisää dynaamisia kanavia haluamallaan tavalla, kun taas palvelin palauttaa RDP-vastausviestissä olevien staattisten kanavien lukumäärät. Koska tämä pyyntö tapahtuu ennen käyttäjän todennusvaihetta , hyökkääjällä ei tarvitse olla tiliä järjestelmässä suorittaakseen hyökkäyksen onnistuneesti. Jos asiakas määrittää kanavaluettelossa "MS_T120", palvelin, kutsumalla _IcaBindVirtualChannels- funktiota uudelleen, sitoo olemassa olevan kanavarakenteen esiintymän johonkin muuhun numeroon kuin 31. Kun istunto päättyy, palvelin vapauttaa ensin varattu muistia suljettaessa hyökkääjän luomaa kanavaa, minkä jälkeen se yrittää vapauttaa saman muistin itse yrittäessään sulkea kanavan numero 31. Näin ollen termdd.sys- ohjaimen sisällä on kaksinkertainen muistin vapautuminen . Koska virhe tapahtuu ydintilassa , se kaataa käyttöjärjestelmän BSoD :ssä [19] [20] .

RCE-hyökkäys

Paljon vaarallisempaa on BlueKeepin käyttö koodin etäsuorittamiseen (RCE) . Tietorakenteet, joissa on tietoja dynaamisista kanavista, tallennetaan sivuttamattomaan pooliin . Muistia kanavajonoon tallennetuille viesteille on varattu myös sivuttamattomaan pooliin. Tietylle viestille varattu muisti vapautetaan vain silloin, kun se luetaan kanavalta, eli jos kanavaa ei lueta, muisti vapautuu vasta yhteyden sulkeutuessa [21] .

RCE:n suorittamiseksi hyökkääjän on osoitettava uudelleen ja ylikirjoitettava muisti osoitteessa, jossa "MS_T120"-kanavan rakenne sijaitsi ennen muistin vapauttamista. Haitallisen koodin suorittamisen suorittamiseksi riittää, että tässä rakenteessa virtuaalisen menetelmätaulukon osoittimen arvo muutetaan haluttuun arvoon. Tätä tehtävää helpottaa suuresti DEP (Data Execution Prevention) -mekanismin puuttuminen sivuttamattomasta poolista Windows 7 : ää vanhemmissa Windows-versioissa . Tämä tarkoittaa, että haitallinen koodi voidaan sijoittaa samaan osoitteeseen kuin väärennetty virtuaalinen menetelmätaulukko. Sekä osoittimen vaihtaminen että haitallisen koodin suora sijoittaminen voidaan tehdä edellä mainitulla mekanismilla viestien lähettämiseksi kanavassa, jota ei lueta [21] .

Puolustusmenetelmät

Muistiinpanot

  1. 12 Goodin , Dan . Exploit madotettavalle BlueKeep Windows -bugille julkaistiin luonnossa - Metasploit-moduuli ei ole niin hiottu kuin EternalBlue-hyöty. Silti se on voimakas. , Ars Technica  (6. syyskuuta 2019). Arkistoitu alkuperäisestä 27. marraskuuta 2019. Haettu 28.11.2019.
  2. Warren, Tom Microsoft varoittaa suuresta WannaCryn kaltaisesta Windows-tietoturvahyödyntämisestä, julkaisee XP-korjauksia . The Verge (14. toukokuuta 2014). Haettu 28. marraskuuta 2019. Arkistoitu alkuperäisestä 2. syyskuuta 2019.
  3. 1 2 Cimpanu, Catalin Jopa NSA kehottaa Windows-käyttäjiä korjaamaan BlueKeepin (CVE-2019-0708) . ZDNet . Haettu 28. marraskuuta 2019. Arkistoitu alkuperäisestä 6. syyskuuta 2019.
  4. 12 Goodin , Dan . Microsoft käytännössä pyytää Windows-käyttäjiä korjaamaan madottavan BlueKeep-virheen , Ars Technica  (31.5.2019). Arkistoitu alkuperäisestä 22. heinäkuuta 2019. Haettu 28.11.2019.
  5. Remote Desktop Services -palveluissa on koodin etäsuorittamisen haavoittuvuus, joka tunnettiin aiemmin nimellä Terminal Services, kun todentamaton hyökkääjä muodostaa yhteyden kohdejärjestelmään RDP:n avulla ja lähettää erityisiä pyyntöjä, eli "Etätyöpöytäpalveluiden koodin etäsuorittamisen haavoittuvuus". . Haettu 28. marraskuuta 2019. Arkistoitu alkuperäisestä 9. marraskuuta 2019.
  6. 1 2 3 4 5 6 RDP tarkoittaa "Really DO Patch!" – Wormable RDP -haavoittuvuuden ymmärtäminen CVE-2019-0708 (linkki ei saatavilla) . McAfee-blogit (21. toukokuuta 2019). Haettu 18. marraskuuta 2019. Arkistoitu alkuperäisestä 21. toukokuuta 2019. 
  7. 1 2 Estä mato päivittämällä etätyöpöytäpalvelut (CVE-2019-0708)' . Haettu 30. marraskuuta 2019. Arkistoitu alkuperäisestä 1. joulukuuta 2019.
  8. Microsoft . Tietoturvapäivitysopas – Kiitokset, toukokuu 2019 . Microsoft (toukokuu 2019). Haettu 28. marraskuuta 2019. Arkistoitu alkuperäisestä 23. marraskuuta 2019.
  9. Microsoft hylkää uuden Windows RDP "bugin" ominaisuutena . Naked Security (6.6.2019). Haettu 28. marraskuuta 2019. Arkistoitu alkuperäisestä 17. joulukuuta 2019.
  10. Stockley, Mark . RDP BlueKeep exploit näyttää, miksi sinun todella, todella tarvitsee korjaus , NakedSecurity.com  (1. heinäkuuta 2019). Arkistoitu alkuperäisestä 7. joulukuuta 2019. Haettu 28.11.2019.
  11. Henkilökunta. CVE-2019-0708: Remote Desktop Services koodin etäsuorittamisen haavoittuvuus (tunnetaan nimellä BlueKeep) - Tekninen tukitiedote . Sophos (29. toukokuuta 2019). Haettu 28. marraskuuta 2019. Arkistoitu alkuperäisestä 3. heinäkuuta 2019.
  12. Goodin, Dan . Mahdollisuudet tuhoisan BlueKeep-hyödynnyksen lisääntymiseen verkkoon lähetetyn uuden selityksen myötä – Slides tarjoaa yksityiskohtaisimmat tähän mennessä nähdyt julkisesti saatavilla olevat tekniset dokumentaatiot. , Ars Technica  (22. heinäkuuta 2019). Arkistoitu alkuperäisestä 8. marraskuuta 2019. Haettu 28.11.2019.
  13. Cimpanu, Catalin . Yhdysvaltalainen yritys, joka myy aseistettua BlueKeep-hyödynnystä – Haavoittuvuuden hyväksikäyttö, jonka Microsoft pelkäsi laukaisevan seuraavan WannaCryn, myydään nyt kaupallisesti. , ZDNet  (25. heinäkuuta 2019). Arkistoitu alkuperäisestä 8. marraskuuta 2019. Haettu 25.11.2019.
  14. Greenberg, Andy . DejaBlue: Uudet BlueKeep-tyyliset virheet uusivat Windows-madon riskin , langallinen  (13. elokuuta 2019). Arkistoitu alkuperäisestä 13. huhtikuuta 2021. Haettu 28.11.2019.
  15. Cimpanu, Catalin . BlueKeep hyödyntää saadakseen korjauksen BSOD-ongelmaansa , ZDNet  (11.11.2019). Arkistoitu alkuperäisestä 18. marraskuuta 2019. Haettu 28.11.2019.
  16. Greenberg, Andy . Ensimmäinen BlueKeep-massahakkerointi on vihdoin täällä – mutta älä panikoi – Kuukausien varoitusten jälkeen ensimmäinen onnistunut Microsoftin BlueKeep-haavoittuvuutta käyttävä hyökkäys on saapunut – mutta se ei ole läheskään niin paha kuin olisi voinut olla. , langallinen  (2. marraskuuta 2019). Arkistoitu alkuperäisestä 2. joulukuuta 2019. Haettu 28.11.2019.
  17. Immanni, Manikanta . Ensimmäinen BlueKeep-massahakkerointi on vihdoin täällä – mutta älä panikoi – Kuukausien varoitusten jälkeen ensimmäinen onnistunut Microsoftin BlueKeep-haavoittuvuutta käyttävä hyökkäys on saapunut – mutta se ei ole läheskään niin paha kuin olisi voinut olla.  (2. marraskuuta 2019). Arkistoitu alkuperäisestä 3. marraskuuta 2019. Haettu 28.11.2019.
  18. Microsoft tekee yhteistyötä tutkijoiden kanssa löytääkseen uusia RDP-hyötyjä ja suojatakseen niitä vastaan ​​, Microsoft  (7.11.2019). Arkistoitu alkuperäisestä 23. marraskuuta 2019. Haettu 28.11.2019.
  19. 12 CVE-2019-0708 (BlueKeep) analyysi . MalwareTech (31. toukokuuta 2019). Haettu 29. marraskuuta 2019. Arkistoitu alkuperäisestä 17. syyskuuta 2019.
  20. BlueKeep Exploit Analysis . Keskitaso (18. syyskuuta 2019). Haettu 29. marraskuuta 2019. Arkistoitu alkuperäisestä 27. marraskuuta 2019.
  21. 12 BlueKeep : Matka DoS:sta RCE:hen (CVE-2019-0708) . MalwareTech (6. syyskuuta 2019). Haettu 29. marraskuuta 2019. Arkistoitu alkuperäisestä 28. marraskuuta 2019.
  22. Stockley, Mark . RDP paljastettu: sudet jo ovellasi , Sophos  (17.7.2019). Arkistoitu alkuperäisestä 18. lokakuuta 2019. Haettu 28.11.2019.

Linkit