Mozilla RLBox පුස්තකාල හුදකලා තාක්ෂණය ක්‍රියාත්මක කිරීම ආරම්භ කරයි

ස්ටැන්ෆර්ඩ් විශ්ව විද්‍යාලය, සැන් ඩියාගෝ හි කැලිෆෝනියා විශ්ව විද්‍යාලය සහ ඔස්ටින්හි ටෙක්සාස් විශ්ව විද්‍යාලයේ පර්යේෂකයන් සංවර්ධිත මෙවලම් ආර්එල් බොක්ස්, එය ක්‍රියාකාරී පුස්තකාලවල දුර්වලතා අවහිර කිරීමට අතිරේක හුදකලා ස්ථරයක් ලෙස භාවිතා කළ හැක. RLBox හි අරමුණ වන්නේ සංවර්ධකයින්ගේ පාලනයට යටත් නොවන, නමුත් ප්‍රධාන ව්‍යාපෘතියට අවදානමක් ඇති විය හැකි විශ්වාස නොකළ තෙවන පාර්ශවීය පුස්තකාලවල ආරක්ෂක ගැටළුව විසඳීමයි.

මොසිල්ලා සමාගම සැලසුම් පුස්තකාල ක්‍රියාත්මක කිරීම හුදකලා කිරීම සඳහා ෆයර්ෆොක්ස් 74 හි ලිනක්ස් බිල්ඩ්ස් සහ ෆයර්ෆොක්ස් 75 හි මැකෝස් බිල්ඩ්ස් හි ආර්එල්බොක්ස් භාවිතා කරන්න මිනිරන්, අකුරු විදැහුම්කරණය සඳහා වගකිව යුතුය. කෙසේ වෙතත්, RLBox ෆයර්ෆොක්ස් සඳහා විශේෂිත නොවන අතර අත්තනෝමතික ව්‍යාපෘතිවල ඕනෑම පුස්තකාලයක් හුදකලා කිරීමට භාවිතා කළ හැක. සංවර්ධන ආර්එල් බොක්ස් බෝ වීම MIT බලපත්‍රය යටතේ. RLBox දැනට Linux සහ macOS වේදිකා සඳහා සහය දක්වයි, Windows සහය පසුව බලාපොරොත්තු වේ.

යාන්ත්රණය RLBox හි කාර්යය වන්නේ හුදකලා පුස්තකාලයක C/C++ කේතය පහත මට්ටමේ අතරමැදි WebAssembly කේතයක් බවට සම්පාදනය කිරීමයි, පසුව එය WebAssembly මොඩියුලයක් ලෙස නිර්මාණය කර ඇත, මෙම මොඩියුලයට පමණක් අදාළ අවසරයන් සකසා ඇත (උදාහරණයක් ලෙස පුස්තකාලයක් නූල් සැකසීම සඳහා ජාල සොකට් එකක් හෝ ගොනුවක් විවෘත කිරීමට නොහැකි වනු ඇත) . C/C++ කේතය WebAssembly වෙත පරිවර්තනය කිරීම සිදු කරනු ලබන්නේ භාවිතා කරමිනි wasi-sdk.

සෘජුව ක්‍රියාත්මක කිරීම සඳහා, WebAssembly මොඩියුලය සම්පාදකයක් භාවිතයෙන් යන්ත්‍ර කේතයට සම්පාදනය කෙරේ. එය බැබළෙයි සහ යෙදුමේ ඉතිරි මතකයෙන් හුදකලා වූ වෙනම "නැනෝ ක්‍රියාවලියක" ධාවනය වේ. Lucet සම්පාදකය JIT එන්ජිමට සමාන කේතයක් මත පදනම් වේ ක්‍රැනේලිෆ්ට්, WebAssembly ක්‍රියාත්මක කිරීමට Firefox හි භාවිතා වේ.

එකලස් කරන ලද මොඩියුලය වෙනම මතක ප්‍රදේශයක ක්‍රියාත්මක වන අතර ඉතිරි ලිපින අවකාශයට ප්‍රවේශය නොමැත. පුස්තකාලයේ ඇති අවදානමක් ප්‍රයෝජනයට ගන්නේ නම්, ප්‍රහාරකයා සීමිත වන අතර ප්‍රධාන ක්‍රියාවලියේ මතක ප්‍රදේශ වෙත ප්‍රවේශ වීමට හෝ හුදකලා පරිසරයෙන් පිටත පාලනය මාරු කිරීමට නොහැකි වනු ඇත.

Mozilla RLBox පුස්තකාල හුදකලා තාක්ෂණය ක්‍රියාත්මක කිරීම ආරම්භ කරයි

සංවර්ධකයින් සඳහා ඉහළ මට්ටමේ මට්ටමක් සපයනු ලැබේ API, හුදකලා මාදිලියේ පුස්තකාල කාර්යයන් ඇමතීමට ඔබට ඉඩ සලසයි. WebAssembly හසුරුවන්නන්ට අමතර සම්පත් අවශ්‍ය නොවන අතර ඔවුන් සමඟ අන්තර්ක්‍රියා සාමාන්‍ය කාර්යයන් ඇමතීමට වඩා මන්දගාමී නොවේ (පුස්තකාල ක්‍රියාකාරකම් ස්වදේශීය කේතයක් ලෙස ක්‍රියාත්මක වන අතර පොදු කාර්ය පිරිවැය පැන නගින්නේ හුදකලා වූවන් සමඟ අන්තර්ක්‍රියා කිරීමේ ක්‍රියාවලියේදී දත්ත පිටපත් කර පරීක්ෂා කිරීමේදී පමණි. පරිසරය). හුදකලා පුස්තකාල කාර්යයන් සෘජුවම ඇමතීමට නොහැකි අතර ඒවා භාවිතයෙන් ප්‍රවේශ විය යුතුය
ස්ථරය invoke_sandbox_function().

අනෙක් අතට, පුස්තකාලයෙන් බාහිර ශ්‍රිත ඇමතීමට අවශ්‍ය නම්, මෙම ශ්‍රිතයන් register_callback ක්‍රමය භාවිතයෙන් පැහැදිලිව නිර්වචනය කළ යුතුය (පෙරනිමියෙන්, RLBox විසින් කාර්යයන් වෙත ප්‍රවේශය සපයයි. සම්මත පුස්තකාලය) මතකයේ ආරක්ෂාව සහතික කිරීම සඳහා, කේත ක්‍රියාත්මක කිරීමේ හුදකලා කිරීම ප්‍රමාණවත් නොවන අතර ආපසු ලබා දුන් දත්ත ප්‍රවාහයන් වලංගු බව සහතික කළ යුතුය.

හුදකලා පරිසරයක් තුළ ජනනය වන අගයන් විශ්වාස කළ නොහැකි සහ සීමිත භාවිතයක් ලෙස සලකුණු කර ඇත දූෂිත ලකුණු සහ "පිරිසිදු කිරීම" සඳහා ඔවුන් අවශ්ය වේ සත්යාපනය සහ යෙදුම් මතකයට පිටපත් කිරීම.
පිරිසිදු කිරීමකින් තොරව, නිත්‍ය දත්ත (සහ අනෙක් අතට) අවශ්‍ය වන සන්දර්භයක් තුළ අපිරිසිදු දත්ත භාවිතා කිරීමට උත්සාහ කිරීමෙන් සම්පාදනය කරන අවස්ථාවේදී දෝෂ ජනනය වේ. ක්‍රියාවලි මතකය සහ සෑන්ඩ්බොක්ස් මතකය අතර පිටපත් කිරීම හරහා කුඩා ක්‍රියාකාරී තර්ක, ප්‍රතිලාභ අගයන් සහ ව්‍යුහයන් සම්ප්‍රේෂණය වේ. විශාල දත්ත කට්ටල සඳහා, මතකය හුදකලා පරිසරයක් තුළ වෙන් කරනු ලබන අතර සෘජු වැලිපිල්ල-යොමු දර්ශකයක් ප්‍රධාන ක්‍රියාවලිය වෙත ආපසු ලබා දෙනු ලැබේ.

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

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