ቴራፒን - የግንኙነት ደህንነትን ለመቀነስ የሚያስችል በኤስኤስኤች ፕሮቶኮል ውስጥ ያለ ተጋላጭነት

በቦቹም (ጀርመን) ከሚገኘው የሩር ዩኒቨርሲቲ የተመራማሪዎች ቡድን በኤስኤስኤች - ቴራፒን ላይ አዲስ MITM የጥቃት ቴክኒክን አቅርቧል፣ እሱም በፕሮቶኮሉ ውስጥ ተጋላጭነትን (CVE-2023-48795) ይጠቀማል። የ MITM ጥቃትን ማደራጀት የሚችል አጥቂ በግንኙነት ድርድር ሂደት የግንኙነት ደህንነት ደረጃን ለመቀነስ የፕሮቶኮል ማራዘሚያዎችን በማዋቀር የመልእክት መላክን የማገድ ችሎታ አለው። የጥቃት መሣሪያ ስብስብ ምሳሌ በ GitHub ላይ ታትሟል።

በOpenSSH አውድ ውስጥ፣ ተጋላጭነቱ፣ ለምሳሌ ደህንነታቸው ያልተጠበቀ የማረጋገጫ ስልተ ቀመሮችን ለመጠቀም ግንኙነቱን ወደ ኋላ እንዲመልሱ እና በቁልፍ ሰሌዳው ላይ ባሉ የቁልፍ ጭነቶች መካከል ያለውን መዘግየቶች በመተንተን የጎን ቻናል ጥቃቶችን መከላከልን ማሰናከል ያስችላል። በ Python ቤተ-መጽሐፍት AsyncSSH ውስጥ፣ በውስጣዊ ግዛት ማሽን ትግበራ ውስጥ ከተጋላጭነት (CVE-2023-46446) ጋር በማጣመር የቴራፒን ጥቃት እራሳችንን ወደ ኤስኤስኤች ክፍለ ጊዜ እንድንገባ ያስችለናል።

ተጋላጭነቱ ChaCha20-Poly1305 ወይም CBC ሁነታ ምስጠራን ከኢቲኤም (ኢንክሪፕት-ከዚያ-MAC) ሁነታ ጋር በማጣመር ሁሉንም የኤስኤስኤች አተገባበር ላይ ተጽእኖ ያደርጋል። ለምሳሌ፣ ተመሳሳይ ችሎታዎች በOpenSSH ውስጥ ከ10 ዓመታት በላይ ይገኛሉ። ተጋላጭነቱ በዛሬው የOpenSSH 9.6 ልቀት ላይ ተስተካክሏል፣ እንዲሁም የፑቲቲ 0.80፣ libssh 0.10.6/0.9.8 እና AsyncSSH 2.14.2 ዝማኔዎች አሉ። በ Dropbear SSH ውስጥ፣ ማስተካከያው አስቀድሞ ወደ ኮዱ ተጨምሯል፣ ነገር ግን አዲስ ልቀት ገና አልተፈጠረም።

ተጋላጭነቱ የሚከሰተው የግንኙነት ትራፊክን የሚቆጣጠር አጥቂ (ለምሳሌ የተንኮል-አዘል ሽቦ አልባ ነጥብ ባለቤት) በግንኙነት ድርድር ሂደት ውስጥ የፓኬቱን ቅደም ተከተል ቁጥሮች ማስተካከል እና የዘፈቀደ የኤስኤስኤች አገልግሎት መልዕክቶችን በፀጥታ መሰረዝ በመቻሉ ነው። በደንበኛው ወይም በአገልጋዩ የተላከ. ከሌሎች ነገሮች በተጨማሪ፣ አንድ አጥቂ ጥቅም ላይ የሚውሉትን የፕሮቶኮል ቅጥያዎች ለማዋቀር የ SSH_MSG_EXT_INFO መልዕክቶችን መሰረዝ ይችላል። ሌላው ወገን በቅደም ተከተል ቁጥሮች ላይ ባለው ክፍተት ምክንያት የፓኬት ኪሳራ እንዳያውቅ ለመከላከል አጥቂው ተከታታይ ቁጥርን ለመቀየር ከሩቅ ፓኬት ጋር ተመሳሳይ የሆነ የዱሚ ፓኬት መላክ ይጀምራል። የዱሚ ፓኬቱ የSSH_MSG_IGNORE ባንዲራ ያለበት መልእክት ይዟል፣ ይህም በሂደት ጊዜ ችላ ይባላል።

ቴራፒን - የግንኙነት ደህንነትን ለመቀነስ የሚያስችል በኤስኤስኤች ፕሮቶኮል ውስጥ ያለ ተጋላጭነት

ጥቃቱ የዥረት ምስጢሮችን እና CTRን በመጠቀም ሊከናወን አይችልም፣ ምክንያቱም የንፁህነት ጥሰቱ በመተግበሪያ ደረጃ ላይ ስለሚገኝ። በተግባር፣ ChaCha20-Poly1305 ሲፈር ብቻ ነው ለጥቃት የተጋለጠ ([ኢሜል የተጠበቀ]) ፣ ግዛቱ የሚከታተለው በመልእክት ተከታታይ ቁጥሮች ብቻ ነው ፣ እና ከኢንክሪፕት-ከዚያ-ማክ ሞድ (*) ጥምረት[ኢሜል የተጠበቀ]) እና ሲቢሲ ምስጠራዎች።

በ OpenSSH 9.6 እና ሌሎች አተገባበር ላይ ጥቃቱን ለማገድ የ "ጥብቅ KEX" ፕሮቶኮል ማራዘሚያ ተተግብሯል, ይህም በአገልጋዩ እና በደንበኛ ጎኖች ላይ ድጋፍ ካለ በራስ-ሰር ነቅቷል. ቅጥያው በግንኙነት ድርድር ሂደት ወቅት የተቀበሉት ማናቸውም ያልተለመዱ ወይም አላስፈላጊ መልዕክቶች (ለምሳሌ በSSH_MSG_IGNORE ወይም SSH2_MSG_DEBUG ባንዲራ) ሲደርሱ ግንኙነቱን ያቋርጣል፣ እና እያንዳንዱ ቁልፍ ልውውጥ ከተጠናቀቀ በኋላ የ MAC (የመልእክት ማረጋገጫ ኮድ) ቆጣሪውን እንደገና ያስጀምራል።

ምንጭ: opennet.ru

አስተያየት ያክሉ