Mayhem - ka hoʻouka ʻino ʻana i ka hoʻomanaʻo ʻana e kāpae i ka sudo a me ka hōʻoia OpenSSH

Ua hoʻolauna nā mea noiʻi mai Worcester Polytechnic Institute (USA) i kahi ʻano hou o ka hoʻouka kaua Mayhem e hoʻohana ana i ka Rowhammer dynamic random access memory bit distortion technique e hoʻololi i nā waiwai o nā ʻano hoʻololi i hoʻohana ʻia e like me nā hae i ka papahana e hoʻoholo ai inā loaʻa ka hōʻoia a me nā loiloi palekana. ua hala. Hōʻike ʻia nā hiʻohiʻona maʻamau o ka hoʻouka ʻana e kāpae i ka hōʻoia ma SUDO, OpenSSH a me MySQL, a me ka hoʻololi ʻana i ka hopena o nā loiloi pili i ka palekana ma ka waihona OpenSSL.

Hiki ke hoʻopili ʻia ka hoʻouka ʻana i nā noi e hoʻohana ana i nā loiloi e hoʻohālikelike i nā waiwai i ʻokoʻa mai ka zero. Ka laʻana o ka code vulnerable: int auth = 0; ... // code hōʻoia e hoʻololi i ka waiwai hōʻoia inā loaʻa ka hōʻoia kūleʻa inā (auth != 0) e hoʻihoʻi iā AUTH_SUCCESS; a i ʻole, e hoʻihoʻi iā AUTH_FAILURE;

I loko o ka pōʻaiapili o kēia laʻana, no ka hoʻouka kaua ʻana ua lawa ia e hoʻopōʻino i kekahi wahi o ka hoʻomanaʻo e pili ana me ka 32-bit auth variable ma ka waihona. Inā ʻino kekahi ʻāpana o ka mea hoʻololi, ʻaʻole e lilo ka waiwai i ʻole a na ka mea hoʻohana kūlana e hoʻoholo i ka hoʻokō kūleʻa o ka hōʻoia. He mea maʻamau ia ʻano hōʻoia i nā noi a loaʻa, no ka laʻana, ma SUDO, OpenSSH, MySQL a me OpenSSL.

Mayhem - ka hoʻouka kaua ʻana i ka hoʻomanaʻo ʻana e kāpae i ka sudo a me ka hōʻoia OpenSSH

Hiki ke hoʻohana ʻia ka hoʻouka ʻana i ka hoʻohālikelike ʻana o ke ʻano "inā (auth == 1)", akā i kēia hihia, ʻoi aku ka paʻakikī o kāna hoʻokō ʻana, no ka mea pono e hoʻohuli ʻole i kahi 32, akā ʻo ka mea hope loa. Hiki ke hoʻohana ʻia ke ʻano no ka hoʻohuli ʻana i nā waiwai o nā mea hoʻololi i nā papa inoa kaʻina hana, no ka mea, hiki ke hoʻokuʻu ʻia nā mea i loko o nā papa inoa no ka manawa pōkole i ka wā e hoʻololi ʻia ai kahi pōʻaiapili, kelepona hana, a i ʻole nā ​​​​mea lawe hōʻailona. I loko o ka manawa o ka hoʻomanaʻo ʻana i nā waiwai hoʻopaʻa inoa, hiki ke hoʻokomo ʻia nā distortions i kēia hoʻomanaʻo a e hoʻihoʻi ʻia ka waiwai i hoʻololi ʻia i ka papa inoa.

Mayhem - ka hoʻouka kaua ʻana i ka hoʻomanaʻo ʻana e kāpae i ka sudo a me ka hōʻoia OpenSSH

No ka hoʻohuli ʻana i nā ʻāpana, hoʻohana ʻia kekahi o nā hoʻololi o ka hoʻouka kaua papa RowHammer. No ka mea, ʻo ka hoʻomanaʻo DRAM he ʻāpana ʻelua ʻāpana o nā cell, ʻo kēlā me kēia me kahi capacitor a me kahi transistor, e hana ana i ka heluhelu mau ʻana o ka ʻāpana hoʻomanaʻo hoʻokahi e hopena i ka fluctuations a me nā anomalies e hoʻoiho liʻiliʻi ai ka uku i nā cell pili. Inā kiʻekiʻe ka nui o ka heluhelu ʻana, a laila e nalowale paha ke kelepona kokoke i ka nui o ka uku a ʻaʻole e loaʻa i ka pōʻai hou ka manawa e hoʻihoʻi i kona kūlana mua, e alakaʻi i ka hoʻololi i ka waiwai o ka ʻikepili i mālama ʻia i loko o ke kelepona. . No ka pale ʻana iā RowHammer, ua hoʻohui nā mea hana chip i kahi TRR (Target Row Refresh), e ālai ana i ka palaho cell i nā hihia kūikawā, akā ʻaʻole pale i nā ʻano hoʻouka kaua āpau.

No ka pale ʻana i ka hoʻouka kaua Mayhem, ʻōlelo ʻia e hoʻohana i ka hoʻohālikelike ʻana ʻaʻole i ka loiloi o nā ʻokoʻa mai ka zero a i ʻole ka coincidence me hoʻokahi, akā ʻo ka nānā hoʻokūkū me ka hoʻohana ʻana i ka waiwai hua maʻamau me nā octets non-zero. I kēia hihia, no ka hoʻonohonoho ʻana i ka waiwai i makemake ʻia o ka mea hoʻololi, pono e hoʻololi pololei i kahi helu nui o nā bits, ʻaʻole kūpono ʻole, ʻokoʻa i ka distortion o hoʻokahi bit. Ka laʻana o ke code hiki ʻole ke hoʻouka ʻia: int auth = 0xbe406d1a; ... // code hōʻoia e hoʻonoho i ka waiwai hōʻoia i 0x23ab8701 i ka hihia o ka hōʻoia kūleʻa inā (auth == 0x23ab8701) e hoʻihoʻi iā AUTH_SUCCESS; a i ʻole, e hoʻihoʻi iā AUTH_FAILURE;

Ua hoʻohana mua ʻia ke ʻano palekana i ʻōlelo ʻia e nā mea hoʻomohala sudo a ua hoʻokomo ʻia i ka hoʻokuʻu 1.9.15 ma ke ʻano he hoʻoponopono no ka vulnerability CVE-2023-42465. Hoʻolālā lākou e hoʻolaha i kahi prototype o ke code no ka hoʻokō ʻana i ka hoʻouka ʻana ma hope o ka hoʻoponopono ʻana i nā papahana koʻikoʻi.

Source: opennet.ru

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