ʻO ka vulnerability ma TLS e ʻae ana i ka hoʻoholo koʻikoʻi no nā pilina pili i nā ciphers DH

Hōʻike ʻia ʻike e pili ana i ka mea hou nawaliwali (CVE-2020-1968) ma ka protocol TLS, codenamed
Rakoana a me ka ʻae ʻana, i nā kūlana kakaʻikahi, e hoʻoholo i kahi kī kumu mua (pre-master), hiki ke hoʻohana ʻia no ka wehe ʻana i nā pilina TLS, me HTTPS, ke keakea ʻana i ka transit traffic (MITM). Hoʻomaopopo ʻia he paʻakikī loa ka hoʻouka ʻana no ka hoʻokō pono a ʻoi aku ke ʻano o ke ʻano theoretical. No ka hoʻokō ʻana i kahi hoʻouka kaua, pono ʻia kahi hoʻonohonoho kikoʻī o ka server TLS a me ka hiki ke ana pololei i ka manawa hana server.

Aia pololei ka pilikia ma ka kikoʻī TLS a pili wale i nā pilina me ka hoʻohana ʻana i nā ciphers e pili ana i ka protocol exchange key DH (Diffie-Hellman, TLS_DH_*"). Me nā ciphers ECDH ʻaʻole hiki mai ka pilikia a noho paʻa lākou. ʻO nā protocol TLS wale nō a hiki i ka mana 1.2 ka mea palupalu; ʻAʻole pili ka TLS 1.3 i ka pilikia. Loaʻa ka nāwaliwali i nā hoʻokō TLS e hoʻohana hou i ke kī huna DH ma waena o nā pilina TLS like ʻole (hiki kēia ʻano ma kahi o 4.4% o nā kikowaena Alexa Top 1M).

Ma OpenSSL 1.0.2e a me nā mea i hoʻopuka mua ʻia, hoʻohana hou ʻia ke kī nui DH i nā pili kikowaena āpau ke ʻole ka koho SSL_OP_SINGLE_DH_USE i hoʻonohonoho pono ʻia. Mai ka OpenSSL 1.0.2f, hoʻohana hou ʻia ke kī nui DH i ka wā e hoʻohana ai i nā ciphers static DH ("DH-*", e laʻa, "DH-RSA-AES256-SHA"). ʻAʻole ʻike ʻia ka nāwaliwali ma OpenSSL 1.1.1, no ka mea ʻaʻole hoʻohana kēia lālā i kahi kī nui DH a ʻaʻole hoʻohana i nā ciphers static DH.

I ka hoʻohana ʻana i ke ʻano hoʻololi kī DH, hoʻopuka nā ʻaoʻao ʻelua o ka pilina i nā kī pilikino manuahi (ma hope o ke kī "a" a me ke kī "b"), e pili ana i nā kī lehulehu (ga mod p a me gb mod p) i helu ʻia a hoʻouna ʻia. Ma hope o ka loaʻa ʻana o nā kī lehulehu i kēlā me kēia ʻaoʻao, helu ʻia kahi kī kumu maʻamau (gab mod p), i hoʻohana ʻia e hana i nā kī kau. ʻO ka hoʻouka kaua Raccoon e hiki iā ʻoe ke hoʻoholo i ke kī mua ma o ka nānā ʻana i ka ʻaoʻao-channel, ma muli o ka pono o nā kikoʻī TLS a hiki i ka mana 1.2 e koi ʻia e hoʻolei ʻia nā bytes null a pau o ke kī mua ma mua o ka helu ʻana.

Hoʻokomo ʻia ke kī kumu mua i ʻoki ʻia i ka hana hana hana kī session, i hoʻokumu ʻia ma nā hana hash me nā lohi like ʻole i ka wā e hoʻoili ai i nā ʻikepili like ʻole. ʻO ke ana pololei ʻana i ka manawa o nā hana koʻikoʻi i hana ʻia e ke kikowaena e hiki ai i ka mea hoʻouka ke hoʻoholo i nā hōʻailona (oracle) e hiki ai ke hoʻoholo i ka hoʻomaka ʻana o ke kī mua mai ka ʻohi ʻana a i ʻole. No ka laʻana, hiki i ka mea hoʻouka ke keakea i ke kī ākea (ga) i hoʻouna ʻia e ka mea kūʻai aku, hoʻouna hou iā ia i ke kikowaena a hoʻoholo
inā paha e hoʻomaka ana ke kī kumu mai ka ʻole.

ʻO ia iho, ʻo ka wehewehe ʻana i hoʻokahi byte o ke kī ʻaʻole ia e hāʻawi i kekahi mea, akā ma ka ʻae ʻana i ka waiwai "ga" i hoʻouna ʻia e ka mea kūʻai aku i ka wā kūkākūkā pili, hiki i ka mea hoʻouka ke hana i kahi pūʻulu o nā waiwai ʻē aʻe e pili ana me "ga" a hoʻouna iā lākou i ke kikowaena i nā manawa kūkākūkā pili pili. Ma ka hana ʻana a me ka hoʻouna ʻana i nā waiwai "gri*ga", hiki i ka mea hoʻouka, ma o ka nānā ʻana i nā loli i ka lohi i ka pane o ka server, e hoʻoholo i nā waiwai e alakaʻi ai i ka loaʻa ʻana o nā kī nui e hoʻomaka ana mai ka zero. Ma hope o ka hoʻoholo ʻana i ia mau waiwai, hiki i ka mea hoʻouka ke hana i kahi hoʻonohonoho hoʻohālikelike no nā hopena pilikia helu huna a e helu i ke kī kumu mua.

ʻO ka vulnerability ma TLS e ʻae ana i ka hoʻoholo koʻikoʻi no nā pilina pili i nā ciphers DH

Nā mea palupalu OpenSSL hāʻawi ʻia haʻahaʻa haʻahaʻa o ka pōʻino, a ua hoʻemi ʻia ka hoʻoponopono ʻana i ka neʻe ʻana i nā ciphers pilikia "TLS_DH_*" i ka hoʻokuʻu ʻana 1.0.2w i ka ʻāpana o nā ciphers me ka lawa ʻole o ka pale ("weak-ssl-ciphers"), kahi i hoʻopaʻa ʻia e ka paʻamau . Ua hana like nā mea hoʻomohala Mozilla, ua pio i loko o ka waihona NSS i hoʻohana ʻia ma Firefox, ka DH a me DHE cipher suites. E like me Firefox 78, ua pio nā cipher pilikia. Ua hoʻopau ʻia ke kākoʻo Chrome no DH i ka makahiki 2016. ʻAʻole pili nā hale waihona puke BearSSL, BoringSSL, Botan, Mbed TLS a me s2n i ka pilikia no ka mea ʻaʻole lākou i kākoʻo i nā ciphers DH a i ʻole nā ​​ʻano like ʻole o nā ciphers DH.

Hoʻokaʻawale ʻia nā pilikia hou aku (CVE-2020-5929) i loko o ka pūʻulu TLS o nā mea hana F5 BIG-IP, e ʻoi aku ka maoli o ka hoʻouka ʻana. ʻO ka mea nui, ua ʻike ʻia nā ʻokoʻa o ka hana o nā mea hana i mua o kahi zero byte i ka hoʻomaka ʻana o ke kī mua, hiki ke hoʻohana ʻia ma kahi o ke ana ʻana i ka latency pololei o nā helu.

Source: opennet.ru

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