මයික්‍රොසොෆ්ට් සී කේත ආරක්‍ෂාව වැඩි දියුණු කිරීම සඳහා දෘඪාංග විසඳුමක් වන CHERIoT විවෘත කරයි

මයික්‍රොසොෆ්ට් විසින් C සහ C++ හි පවතින කේතයන්හි ආරක්ෂක ගැටළු අවහිර කිරීම අරමුණු කරගත් CHERIoT (Capability Hardware Extension to RISC-V for Internet of Things) ව්‍යාපෘතියට අදාළ වර්ධනයන් සොයාගෙන ඇත. CHERIoT මඟින් ඔබට පවතින C/C++ කේත මූලයන් නැවත සැකසීමේ අවශ්‍යතාවයකින් තොරව ආරක්ෂා කිරීමට ඉඩ සලසන විසඳුමක් ලබා දේ. ප්‍රොසෙසරය මඟින් සපයන ලද විශේෂ විස්තීර්ණ ප්‍රොසෙසර උපදෙස් මාලාවක් (ISA) භාවිතා කරන නවීකරණය කරන ලද සම්පාදකයක් භාවිතයෙන් ආරක්ෂාව ක්‍රියාත්මක කරනු ලැබේ, දෘඪාංග මට්ටමින් මතක ප්‍රවේශය අධීක්ෂණය කිරීම, පොයින්ටර් සමඟ වැඩ කිරීමේ නිවැරදි බව පරීක්ෂා කිරීම සහ කේත කුට්ටි හුදකලා කිරීම සහතික කිරීම.

මෙම ව්‍යාපෘතිය නිර්මාණය කර ඇත්තේ C භාෂාවේ පහත් මට්ටමේ ස්වභාවය මතකය සමඟ වැඩ කිරීමේදී දෝෂ වල ප්‍රභවයක් බවට පත්වන අතර, එය බෆරය පිටාර ගැලීම, දැනටමත් නිදහස් කර ඇති මතකයට ප්‍රවේශ වීම, පොයින්ටර් dereferences හෝ ද්විත්ව නිදහස් කිරීම් වැනි ගැටළු වලට මග පාදයි. . දැඩි වෙනස්කම් සමාලෝචන ප්‍රතිපත්තියක් ඇති සහ නවීන සංවර්ධන ක්‍රම සහ ස්ථිතික විශ්ලේෂණ මෙවලම් භාවිතා කරන Google සහ Microsoft වැනි විශාල සමාගම්වලට පවා මතකය සමඟ වැඩ කිරීමේදී දෝෂ නොමැති බව සහතික කළ නොහැකි බව පුහුණුවීම් පෙන්වා දෙයි (නිදසුනක් ලෙස, Microsoft හි ඇති දුර්වලතා වලින් 70%ක් පමණ සහ Google අනාරක්ෂිත මතක හැසිරවීම නිසා ඇතිවේ).

මතකය සමඟ ආරක්ෂිත ක්‍රියාකාරිත්වය සහතික කරන ක්‍රමලේඛන භාෂා භාවිතයෙන් හෝ අමතර චෙක්පත් සමඟ බන්ධන භාවිතා කිරීමෙන් ගැටළුව විසඳා ගත හැකිය, නිදසුනක් ලෙස, නිදහස් කළ මතක ප්‍රදේශ වෙත ප්‍රවේශ වීම සඳහා අතිරේක චෙක්පත් සිදු කරන MiraclePtr (raw_ptr) වැනි සාමාන්‍ය පොයින්ටර් වෙනුවට භාවිතා කිරීමෙන්. නමුත් එවැනි ක්‍රම නව කේත සඳහා වඩාත් සුදුසු වන අතර පවතින C/C++ ව්‍යාපෘති නැවත සකස් කිරීම තරමක් ගැටළු සහගත වේ, විශේෂයෙන්ම ඒවා Embedded systems සහ Internet of Things උපාංග වැනි සම්පත් සීමා සහිත පරිසරයක ක්‍රියාත්මක වීමට සැලසුම් කර තිබේ නම්.

CHERIoT දෘඪාංග සංරචක RISC-V ගෘහ නිර්මාණ ශිල්පය මත පදනම් වූ ක්ෂුද්‍ර පාලකයක් ලෙස නිර්මාණය කර ඇති අතර, ආරක්ෂිත CHERI (Capability Hardware Extension to RISC-V) ප්‍රොසෙසර ගෘහ නිර්මාණ ශිල්පය ක්‍රියාත්මක කරයි, එය “හැකියාව” මත පදනම්ව පාලිත මතක ප්‍රවේශ ආකෘතියක් සපයයි. මතකයට ක්‍රියා කිරීම අවසර දී ඇත) . CHERIoT හි සපයා ඇති උපදෙස් කට්ටල ගෘහ නිර්මාණ ශිල්පය (ISA) මත පදනම්ව, තනි තනි වස්තූන් මට්ටමින් මතකය සමඟ වැඩ කිරීමේ ආරක්ෂාව සහතික කරන, දැනටමත් නිදහස් කර ඇති මතකයට ප්‍රවේශ වීමෙන් ආරක්ෂාව සපයන සහ සැහැල්ලු මතක ප්‍රවේශ හුදකලා පද්ධතියක් ක්‍රියාත්මක කරන මෘදුකාංග ආකෘතියක් ගොඩනගා ඇත. . නිශ්චිත මෘදුකාංග ආරක්ෂණ ආකෘතිය සෘජුවම C/C++ භාෂා ආකෘතියෙන් පිළිබිඹු වන අතර, එය පවතින යෙදුම් ආරක්ෂා කිරීමට භාවිතා කිරීමට ඉඩ සලසයි (ISA CHERIoT සඳහා සහය දක්වන උපකරණ නැවත සකස් කිරීම සහ ධාවනය කිරීම පමණක් අවශ්‍ය වේ).

යෝජිත විසඳුම මඟින් වස්තුවක් මතකයේ සීමාවෙන් ඔබ්බට යාමට හේතු වන දෝෂ අවහිර කිරීමට ඉඩ සලසයි, පොයින්ටර් ආදේශනයට ඉඩ නොදේ (සියලු දර්ශක පවතින පොයින්ටර් වලින් ජනනය කළ යුතුය) සහ නිදහස් කිරීමෙන් පසු මතක ප්‍රවේශය නිරීක්ෂණය කරයි (වැරදි එකක් භාවිතයෙන් මතකයට ඇති ඕනෑම ප්‍රවේශයක් නිදහස් කරන ලද වස්තුවක් යොමු කරන දර්ශකයක් හෝ ලක්ෂ්‍යයක් ව්‍යතිරේකයක් විසි කිරීමට හේතු වේ). උදාහරණයක් ලෙස, CHERIoT භාවිතයෙන් ඔබට ස්වයංක්‍රීය සීමාවන් පරීක්ෂා කිරීම, මතක ආයු කාලය ලුහුබැඳීම සහ කිසිදු කේත වෙනස් කිරීමක් අවශ්‍ය නොවී විශ්වාස නොකළ දත්ත හසුරුවන සංරචකවල පොයින්ටර් අඛණ්ඩතාව බලාත්මක කිරීම ක්‍රියාත්මක කිරීමට ඉඩ සලසයි.

ව්‍යාපෘතියට විස්තීරණ CHERIoT උපදෙස් කට්ටල ගෘහ නිර්මාණ ශිල්පයේ පිරිවිතරයක්, CHERIOT ISA සඳහා සහය දක්වන 32-bit RISC-V CPU හි යොමු ක්‍රියාත්මක කිරීමක් සහ නවීකරණය කරන ලද LLVM මෙවලම් කට්ටලයක් ඇතුළත් වේ. CPU මූලාකෘති රූප සටහන් සහ Verilog හි දෘඪාංග වාරණ විස්තර Apache 2.0 බලපත්‍රය යටතේ බෙදා හැරේ. lowRISC ව්‍යාපෘතියේ Ibex හරය CPU සඳහා පදනම ලෙස භාවිතා කරන ලදී. CHERIoT ISA කේත ආකෘතිය රුවල් භාෂාවෙන් අර්ථ දක්වා ඇති අතර BSD බලපත්‍රය යටතේ බලපත්‍ර ලබා ඇත.

මීට අමතරව, 256 MB RAM සහිත කාවැද්දූ පද්ධතිවල පවා මැදිරි හුදකලා කිරීමේ හැකියාව ලබා දෙන තත්‍ය කාලීන මෙහෙයුම් පද්ධතියේ CHERIoT RTOS හි මූලාකෘතියක් යෝජනා කර ඇත. CHERIoT RTOS කේතය C++ වලින් ලියා ඇති අතර MIT බලපත්‍රය යටතේ බෙදා හරිනු ලැබේ. OS හි මූලික සංරචක, එනම් ඇරඹුම් කාරකය, උපලේඛනය සහ මතක බෙදා හැරීමේ පද්ධතිය, මැදිරි ආකාරයෙන් නිර්මාණය කර ඇත.

CHERIoT RTOS හි මැදිරියක් යනු හවුල් පුස්තකාලයකට සමාන වන කේත සහ ගෝලීය විචල්‍යයන්ගේ හුදකලා සංකලනයකි, නමුත් දෙවැන්න මෙන් නොව, එයට එහි තත්වය (විකෘති) වෙනස් කර වෙනම ආරක්ෂක සන්දර්භයක ධාවනය කළ හැකිය. විශේෂයෙන් නිර්වචනය කරන ලද පිවිසුම් ස්ථාන වෙත ප්‍රවේශ වීම සහ වෙනත් මැදිරියක් ඇමතීමේ දී පැහැදිලිවම සම්මත කරන ලද වස්තූන් වෙත දර්ශක භාවිතා කිරීම හැර, පිටතින් ඇති කිසිදු කේතයකට මැදිරියක ඇති කේතයට පාලනය මාරු කිරීමට සහ වස්තූන් වෙත ප්‍රවේශ විය නොහැක. මැදිරියක කේතය සහ ගෝලීය වස්තූන් සඳහා අඛණ්ඩතාව සහ රහස්‍යභාවය සහතික කෙරේ.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න