Âûáèðàé : Ïîêóïàé : Èñïîëüçóé
0

 øèôðîâàëüíûõ ïðîòîêîëàõ RSA è SSL æèâà è ïðèãîäíà ê èñïîëüçîâàíèþ «äûðà», êîòîðîé 25 ëåò

Ýêñïåðòû Red Hat îáíàðóæèëè, ÷òî ìåòîä àòàêè íà àëãîðèòì øèôðîâàíèÿ RSA, âûÿâëåííûé â 1998 ã. è ñåãîäíÿ âïîëíå óïîòðåáèì. Ïðè÷¸ì âàðèàíòîâ åãî ñòîëüêî, ÷òî íåéòðàëèçîâàòü âñåõ îäíèì ïàò÷åì òåõíè÷åñêè íåâîçìîæíî.

À áûëî òî â 1998 ãîäó

Íåäîñòàòîê â øèôðîâàëüíîì àëãîðèòìå SSL, âïåðâûå âûÿâëåííûé 25 ëåò íàçàä, â 1998 ã., äî ñèõ ïîð ìîæåò áûòü èñïîëüçîâàí â êèáåðàòàêàõ, ïóñòü è ñ íåáîëüøèìè èçìåíåíèÿìè. Îá ýòîì çàÿâèëè ýêñïåðòû êîìïàíèè Red Hat.

 õîäå èññëåäîâàíèé îíè âûÿâèëè ñðàçó íåñêîëüêî âàðèàíòîâ òàêîé àòàêè, äàâ èì ñáîðíîå îïðåäåëåíèå Marvin Attack (àòàêà Ìàðâèíà). Âñå ñóùåñòâóþùèå ìåòîäû çàùèòû îò èñõîäíîãî âàðèàíòà àòàêè îíè ïîçâîëÿþò îáõîäèòü.

Çëîóìûøëåííèêè â òåîðèè ìîãóò ðàñøèôðîâûâàòü çàêîäèðîâàííóþ RSA èíôîðìàöèþ, ïîääåëûâàòü öèôðîâûå ïîäïèñè èëè äàæå ðàñøèôðîâûâàòü öåëûå ñåññèè, çàïèñàííûå íà óÿçâèìîì TSL-ñåðâåðå.

Ñóòü ìåòîäà çàêëþ÷àåòñÿ â òîì, ÷òî àòàêóþùèé íà îñíîâàíèè ðàçíîé ðåàêöèè ñåðâåðà è ðàçíîãî âðåìåíè âûïîëíåíèÿ îïåðàöèé ìîæåò îòäåëèòü êîððåêòíûå è íåêîððåêòíûå áëîêè äîáàâî÷íîãî çàïîëíåíèÿ (padding oracle), äîáàâëåííûå â ñîîòâåòñòâèè ñî ñòàíäàðòîì PKCS #1 v1.5 äëÿ âûðàâíèâàíèÿ çàøèôðîâàííûõ äàííûõ ïî ãðàíèöå áëîêà.

Ìàíèïóëèðóÿ èíôîðìàöèåé î êîððåêòíîñòè áëîêîâ äîáàâî÷íîãî çàïîëíåíèÿ çëîóìûøëåííèê ìîæåò âîññîçäàòü ïîäõîäÿùèé øèôðîòåêñò èëè ñôîðìèðîâàòü ïîääåëüíîå ïîäïèñàííîå ñîîáùåíèå.

19_10_23_redhat_600.jpg
Ôîòî: Red Hat

Äëÿ óñïåøíîãî ïðîâåäåíèÿ îðèãèíàëüíîé àòàêè, èçâåñòíîé êàê ìåòîä Áëàéõåíáàõåðà (Bleichenbacher) òðåáóåòñÿ îòïðàâêà î÷åíü áîëüøîãî îáú¸ìà ïðîáíûõ ñîîáùåíèé äëÿ ðàñøèôðîâêè.

Ìåòîä Marvin ïîçâîëÿåò óñîâåðøåíñòâîâàòü ïðîöåäóðû ðàçäåëåíèÿ êîððåêòíûõ è íåêîððåêòíûõ äîáàâî÷íûõ äàííûõ, ôèëüòðàöèè ëîæíûõ ñðàáàòûâàíèé, è ïîçâîëÿåò äîáèòüñÿ áîëåå òî÷íîãî îïðåäåëåíèÿ çàäåðæåê ïðè âû÷èñëåíèÿõ è çàäåéñòâîâàíèþ äîïîëíèòåëüíûõ ñòîðîííèõ êàíàëîâ ïðè èçìåðåíèè.

Äåëî íå â îäíîì RSA

 Red Hat óòâåðæäàþò, ÷òî óÿçâèìîñòü, íà ñàìîì äåëå, íå îãðàíè÷èâàåòñÿ RSA: óãðîçà çàòðàãèâàåò áîëüøèíñòâî àëãîðèòìîì àñèììåòðè÷íîãî ïðîãðàììèðîâàíèÿ, äåëàÿ èõ óÿçâèìûìè ïåðåä àòàêàìè ïîáî÷íîãî êàíàëà.  ÷èñëå óÿçâèìûõ íàçâàíû àëãîðèòìû Äèôôè-Õåëëìàíà (Diffie Hellman), ECDSA è äðóãèå.

 õîäå ýêñïåðèìåíòîâ óñòàíîâëåíî, ÷òî ïåðåä àòàêàìè Marvin ãàðàíòèðîâàííî óÿçâèì ïðîòîêîë OpenSSL íà óðîâíå TLS è API. Äëÿ TLS óÿçâèìîñòè ïðèñâîåí èíäåêñ CVE-2022-4304, äëÿ API òàêîãî èíäåêñà åù¸ íåò.

Òàêæå óÿçâèìîñòè ïîäâåðæåí GnuTLS íà óðîâíå TSL, ãäå âðåìÿ ðåàãèðîâàíèÿ íà èñêàæ¸ííûå øèôðîòåêñòû RSA â ClientKeyExchange îòëè÷àþòñÿ îò âðåìÿ ðåàãèðîâàíèÿ íà øèôðîòåêñòû ñ êîððåêòíûìè áëîêàìè äîáàâî÷íîãî çàïîëíåíèÿ. «Áàãó» ïðèñâîåí èíäåêñ CVE-2023-0361.

Óÿçâèìîñòü ñîäåðæèòñÿ òàêæå â NSS, íà óðîâíå TLS. Åé ïðèñâîåí èíäåêñ CVE-2023-4421.

 ïàêåòå pyca/cryptography äëÿ Python ïðèñóòñòâóþò òåõíè÷åñêèå ìåðû ïðîòèâ àòàêè ïî ìåòîäó Áëàéõåíáàõåðà, íî, êàê âûÿñíÿåòñÿ, íåýôôåêòèâíûå: íåîáõîäèìî èñïðàâëåíèå íà óðîâíå OpenSSL. Èíäåêñ óÿçâèìîñòè - CVE-2020-25659.

Òî æå êàñàåòñÿ M2Crypto, íàáîðà èíñòðóìåíòîâ äëÿ øèôðîâàíèÿ è ðàáîòû ñ SSL. Ïðèñâîåí èíäåêñ CVE-2020-25657.

 îò÷¸òå òàêæå óïîìÿíóòû OpenSSL-ibmca, êîìïîíåíò ÿçûêà Go è GNU MP. CVE-èíäåêñû äëÿ íèõ íå ïðèñâîåíû.

 ñîâîêóïíîñòè Àòàêà Ìàðâèíà íå ïîëó÷èëà åäèíîãî CVE-èíäåêñà, íåñìîòðÿ íà òî, ÷òî âî âñåõ ñëó÷àÿõ ðå÷ü èä¸ò î ôóíäàìåíòàëüíîé îøèáêå â RSA.

Îäíàêî âàðèàíòû ðåàëèçàöèè è ñëîæíîñòè â ðàçíûõ ïðîåêòàõ îòëè÷àþòñÿ íàñòîëüêî ñóùåñòâåííî, ÷òî âûïóñòèòü êàêîå-òî åäèíîå èñïðàâëåíèå äëÿ âñåõ ðàçîì àáñîëþòíî íå ïðåäñòàâëÿåòñÿ âîçìîæíûì.

-  çàâèñèìîñòè îò òîãî, íàñêîëüêî ëåãêî èëè ñëîæíî áóäåò ýòè óÿçâèìîñòè ýêñïëóàòèðîâàòü ÷èñòî òåõíè÷åñêè, çàâèñèò îò òîãî, íàñêîëüêî îíà êðèòè÷íà â ïðèíöèïå, - ñ÷èòàåò Ìèõàèë Çàéöåâ, ýêñïåðò ïî èíôîðìàöèîííîé áåçîïàñíîñòè êîìïàíèè SEQ. - Óæå òîò ôàêò, ÷òî èõ î÷åíü íåïðîñòî óñòðàíèòü, ïîâûøàåò óãðîçó. Åù¸ áîëüøå - òî, ÷òî RSA â ñàìûõ ðàçíûõ âàðèàíòàõ î÷åíü øèðîêî ðàñïðîñòðàí¸í. Ïðèíÿòèå ñðî÷íûõ ìåð ïðîñòî íåîáõîäèìî.

Ôóíäàìåíòàëüíàÿ îøèáêà òðåáóåò ôóíäàìåíòàëüíûõ èñïðàâëåíèé

Èññëåäîâàòåëè Red Hat ðåêîìåíäóþò ïðåêðàòèòü èñïîëüçîâàòü ñòàíäàðò RSA PKCS#1 v1.5 è çàïðîñèòü ó âåíäîðîâ àëüòåðíàòèâíûå ñðåäñòâà îáåñïå÷åíèÿ îáðàòíîé ñîâìåñòèìîñòè.

Ïðîñòîå îòêëþ÷åíèå RSA íå ïîìîæåò: åñëè ãäå-òî åù¸ íà ñåðâåðå èñïîëüçóåòñÿ êëþ÷ RSA èëè ïîäïèñàííûé òàêèì îáðàçîì ñåðòèôèêàò (â ïðîòîêîëàõ SMTP, IMAP, POP èëè âòîðè÷íûõ ñåðâåðàõ HTTPS), óãðîçà áóäåò òîé æå.

Òàêæå Red Hat ïðåäóïðåæäàåò, ÷òî FIPS-ñåðòèôèêàöèÿ íèæå ÷åòâ¸ðòîãî óðîâíÿ òàêæå íå ãàðàíòèðóåò çàùèòó îò àòàê Ìàðâèíà. ×åòâ¸ðòûé óðîâåíü îáåñïå÷èâàåò âûñîêóþ ñîïðîòèâëÿåìîñòü àòàêàì ïîáî÷íîãî êàíàëà.

Êîììåíòàðèè