Terrapin - kahi palupalu i ka protocol SSH e hiki ai iā ʻoe ke hōʻemi i ka palekana pili

ʻO kahi hui o nā mea noiʻi mai ke Kulanui ʻo Ruhr ma Bochum (Kelemānia) i hōʻike i kahi ʻenehana hoʻouka MITM hou ma SSH - Terrapin, e hoʻohana ana i kahi nāwaliwali (CVE-2023-48795) i ka protocol. Hiki i ka mea hoʻouka kaua ke hoʻonohonoho i kahi hoʻouka MITM i ka wā o ke kaʻina kūkākūkā pili, e ālai i ka hoʻouna ʻana i kahi leka ma ka hoʻonohonoho ʻana i nā hoʻonui protocol e hōʻemi i ka pae palekana pili. Ua paʻi ʻia kahi prototype o ka mea hoʻouka kaua ma GitHub.

Ma ka pōʻaiapili o OpenSSH, ʻo ka nāwaliwali, no ka laʻana, hiki iā ʻoe ke hoʻohuli i ka pilina e hoʻohana i nā algorithms hōʻoia paʻa ʻole a hoʻopau i ka pale ʻana i nā hoʻouka ʻaoʻao ʻaoʻao e hana hou i ka hoʻokomo ʻana ma ka nānā ʻana i nā lohi ma waena o nā kī kī ma ka kī. Ma ka hale waihona puke Python AsyncSSH, i hui pū ʻia me kahi nāwaliwali (CVE-2023-46446) i ka hoʻokō ʻana i ka mīkini mokuʻāina kūloko, hiki i ka Terrapin attack ke hoʻokuʻu iā mākou iho i kahi hālāwai SSH.

Hoʻopili ka nāwaliwali i nā hoʻokō SSH a pau e kākoʻo ana i ka ChaCha20-Poly1305 a i ʻole CBC mode ciphers i hui pū ʻia me ke ʻano ETM (Encrypt-then-MAC). No ka laʻana, ua loaʻa nā mana like ma OpenSSH no nā makahiki he 10. Hoʻopaʻa ʻia ka nāwaliwali i ka wehe ʻana o OpenSSH 9.6 i kēia lā, a me nā mea hou i PuTTY 0.80, libssh 0.10.6/0.9.8 a me AsyncSSH 2.14.2. Ma Dropbear SSH, ua hoʻohui ʻia ka hoʻoponopono i ke code, akā ʻaʻole i hana ʻia kahi hoʻokuʻu hou.

Hoʻokumu ʻia ka nāwaliwali ma ka ʻoiaʻiʻo e hiki i ka mea hoʻouka ke hoʻomalu i ke kaʻa pili (no ka laʻana, ka mea nona kahi wahi uea maikaʻi ʻole) hiki ke hoʻoponopono i nā helu kaʻina packet i ka wā o ke kaʻina kūkākūkā pili a hoʻokō i ka holoi leo ʻana o kahi helu arbitrary o nā memo lawelawe SSH hoʻouna ʻia e ka mea kūʻai aku a i ʻole ke kikowaena. Ma waena o nā mea ʻē aʻe, hiki i ka mea hoʻouka ke hoʻopau i nā memo SSH_MSG_EXT_INFO i hoʻohana ʻia e hoʻonohonoho i nā hoʻonui protocol i hoʻohana ʻia. No ka pale ʻana i ka ʻaoʻao ʻē aʻe mai ka ʻike ʻana i kahi poho o ka ʻeke ma muli o kahi āpau o nā helu kaʻina, hoʻomaka ka mea hoʻouka i ka hoʻouna ʻana i kahi ʻeke dummy me ka helu kaʻina like me ka ʻeke mamao e hoʻololi i ka helu kaʻina. Aia i loko o ka pahu dummy kahi memo me ka hae SSH_MSG_IGNORE, i mālama ʻole ʻia i ka wā e hana ai.

Terrapin - kahi palupalu i ka protocol SSH e hiki ai iā ʻoe ke hōʻemi i ka palekana pili

ʻAʻole hiki ke hoʻokō ʻia ka hoʻouka ʻana me ka hoʻohana ʻana i nā stream ciphers a me CTR, no ka mea, e ʻike ʻia ka hewa o ka pono ma ka pae noi. I ka hoʻomaʻamaʻa, ʻo ka ChaCha20-Poly1305 cipher wale nō ka mea hiki ke hoʻouka ([pale ʻia ka leka uila]), kahi e nānā ʻia ai ka mokuʻāina e nā helu kaʻina memo, a me kahi hui mai ke ʻano Encrypt-Then-MAC (*[pale ʻia ka leka uila]) a me CBC ciphers.

Ma OpenSSH 9.6 a me nā hoʻokō ʻē aʻe, ua hoʻokō ʻia kahi hoʻonui o ka protocol "strict KEX" no ka pale ʻana i ka hoʻouka ʻana, hiki ke ʻae ʻia inā loaʻa ke kākoʻo ma nā ʻaoʻao kikowaena a me nā mea kūʻai aku. Hoʻopau ka hoʻopaneʻe i ka pilina ma ka loaʻa ʻana o nā memo kūpono ʻole (e like me ka hae SSH_MSG_IGNORE a i ʻole SSH2_MSG_DEBUG) i loaʻa i ka wā o ke kaʻina kūkākūkā pili, a hoʻonohonoho hou i ka helu MAC (Message Authentication Code) ma hope o ka pau ʻana o kēlā me kēia kī.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka