TL; ඩී. මෙම ලිපියෙන්, අපි ජනප්රිය ලිනක්ස් බෙදාහැරීම් පහක කොටුවෙන් පිටත ක්රියා කරන දැඩි කිරීමේ යෝජනා ක්රම ගවේෂණය කරන්නෙමු. එක් එක් සඳහා, අපි පෙරනිමි කර්නල් වින්යාසය ගෙන, සියලුම පැකේජ පටවා, සහ අමුණා ඇති ද්විමය තුළ ආරක්ෂක යෝජනා ක්රම විශ්ලේෂණය කළෙමු. සලකා බලන ලද බෙදාහැරීම් වන්නේ OpenSUSE 12.4, Debian 9, CentOS, RHEL 6.10 සහ 7, මෙන්ම Ubuntu 14.04, 12.04 සහ 18.04 LTS ය.
කැනරි ගොඩගැසීම සහ ස්ථාන-ස්වාධීන කේතය වැනි මූලික යෝජනා ක්රම පවා තවමත් සියලු දෙනා විසින් අනුගමනය කර නොමැති බව ප්රතිඵල සනාථ කරයි. ප්රකාශනයෙන් පසුව ජනවාරි මාසයේ අවධානයට ලක් වූ Stack clash වැනි දුර්වලතා වලින් ආරක්ෂා වීම සම්බන්ධයෙන් සම්පාදකයන්ට තත්වය වඩාත් නරක ය.
OS සහ යෙදුම් මට්ටම්වල Ubuntu 18.04 හි විශාලතම ආරක්ෂණ ක්රම ප්රමාණයක් ක්රියාත්මක වන බව සමාලෝචනයෙන් පෙන්නුම් කර ඇති අතර, Debian 9 අනුගමනය කරයි. අනෙක් අතට, OpenSUSE 12.4, CentOS 7 සහ RHEL 7 ද මූලික ආරක්ෂණ ක්රම ක්රියාත්මක කරන අතර ගැටුම් ආරක්ෂණ ගොඩගැසී ඇත. වඩා ඝනැති පෙරනිමි පැකේජ කට්ටලයක් සමඟ වඩාත් පුළුල් ලෙස භාවිතා වේ.
හැඳින්වීම
උසස් තත්ත්වයේ මෘදුකාංග සහතික කිරීම අපහසුය. ස්ථිතික කේත විශ්ලේෂණය සහ ගතික ධාවන කාල විශ්ලේෂණය සඳහා උසස් මෙවලම් විශාල සංඛ්යාවක් මෙන්ම සම්පාදක සහ ක්රමලේඛන භාෂා සංවර්ධනයේ සැලකිය යුතු ප්රගතියක් තිබියදීත්, නවීන මෘදුකාංග තවමත් ප්රහාරකයින් විසින් නිරන්තරයෙන් සූරාකෑමට ලක්වන අවදානම් වලින් පීඩා විඳිති. උරුම කේතය ඇතුළත් පරිසර පද්ධතිවල තත්ත්වය ඊටත් වඩා නරක ය. එවැනි අවස්ථාවන්හිදී, හැකි සූරාකෑමට ලක්විය හැකි දෝෂ සෙවීමේ සදාකාලික ගැටලුවට අප මුහුණ දෙනවා පමණක් නොව, දැඩි පසුගාමී අනුකූලතා රාමු මගින්ද අපි සීමා වී ඇති අතර, බොහෝ විට සීමිත, හෝ ඊටත් වඩා නරක, අවදානමට ලක්විය හැකි හෝ දෝෂ සහිත කේතයක් සුරැකීමට අපට අවශ්ය වේ.
වැඩසටහන් ආරක්ෂා කිරීම හෝ දැඩි කිරීමේ ක්රම ක්රියාත්මක වන්නේ මෙයයි. අපට සමහර ආකාරයේ දෝෂ වැළැක්විය නොහැක, නමුත් අපට ප්රහාරකයාගේ ජීවිතය වඩාත් දුෂ්කර කළ හැකි අතර වළක්වා ගැනීමෙන් හෝ වළක්වා ගැනීමෙන් ගැටලුව අර්ධ වශයෙන් විසඳා ගත හැකිය. සූරාකෑම මෙම දෝෂ. එවැනි ආරක්ෂාවක් සියලුම නවීන මෙහෙයුම් පද්ධතිවල භාවිතා වේ, නමුත් ක්රම සංකීර්ණත්වය, කාර්යක්ෂමතාව සහ ක්රියාකාරිත්වය අතින් බෙහෙවින් වෙනස් වේ: ස්ටැක් කැනරි වලින් සහ
CVE සහ ආරක්ෂාව
"වසරේ වඩාත්ම අවදානමට ලක්විය හැකි යෙදුම්" හෝ "වඩාත්ම අවදානමට ලක්විය හැකි මෙහෙයුම් පද්ධති" වැනි මාතෘකා සහිත ලිපි අපි කවුරුත් දැක ඇත්තෙමු. සාමාන්යයෙන් ඔවුන් වැනි දුර්වලතා පිළිබඳ මුළු වාර්තා ගණන පිළිබඳ සංඛ්යාලේඛන සපයයි
උදාහරණයක් ලෙස, ලිනක්ස් කර්නලය සඳහා පසුගිය වසර හතර තුළ මුළු CVE සංඛ්යාව සහ Ubuntu, Debian, Red Hat Enterprise Linux සහ OpenSUSE යන වඩාත් ජනප්රිය සේවාදායක බෙදාහැරීම් පහ සලකා බලන්න.
. 1
මෙම ප්රස්ථාරය අපට පවසන්නේ කුමක්ද? CVEs වැඩි සංඛ්යාවක් යන්නෙන් අදහස් වන්නේ එක් බෙදාහැරීමක් තවත් බෙදා හැරීමකට වඩා අවදානමට ලක්විය හැකි බව ද? පිළිතුරක් නැත. උදාහරණයක් ලෙස, OpenSUSE හෝ RedHat Linux හා සසඳන විට Debian වලට වඩා ශක්තිමත් ආරක්ෂක යාන්ත්රණයක් ඇති බව මෙම ලිපියෙන් ඔබට පෙනෙනු ඇත, නමුත් Debian වලට වඩා CVEs ඇත. කෙසේ වෙතත්, ඒවා අවශ්යයෙන්ම දුර්වල වූ ආරක්ෂාව අදහස් නොවේ: CVE තිබීමෙන් පවා අවදානමක් තිබේද යන්න පෙන්නුම් නොකරයි. සූරාකෑවා. බරපතලතා ලකුණු මගින් පෙන්නුම් කරන්නේ කෙසේද යන්නයි බොහෝ විට අවදානමක් සූරාකෑම, නමුත් අවසානයේ සූරාකෑමේ හැකියාව බලපෑමට ලක් වූ පද්ධතිවල පවතින ආරක්ෂාවන් සහ ප්රහාරකයන්ගේ සම්පත් සහ හැකියාවන් මත දැඩි ලෙස රඳා පවතී. එපමණක් නොව, CVE වාර්තා නොමැති වීම අන් අය ගැන කිසිවක් නොකියයි ලියාපදිංචි නොකළ හෝ නොදන්නා දුර්වලතා. CVE හි වෙනස, පරීක්ෂණ සඳහා වෙන් කර ඇති සම්පත් හෝ පරිශීලක පදනමේ ප්රමාණය ඇතුළුව මෘදුකාංගයේ ගුණාත්මක භාවය හැර වෙනත් සාධක නිසා විය හැක. අපගේ උදාහරණයේ දී, Debian හි වැඩි CVE සංඛ්යාවක්, Debian වැඩි මෘදුකාංග පැකේජ නැව්ගත කරන බව සරලව දැක්විය හැක.
ඇත්ත වශයෙන්ම, CVE පද්ධතිය ඔබට සුදුසු ආරක්ෂාවක් නිර්මාණය කිරීමට ඉඩ සලසන ප්රයෝජනවත් තොරතුරු සපයයි. වැඩසටහන අසාර්ථක වීමට හේතු වඩාත් හොඳින් අප තේරුම් ගන්නා තරමට, සූරාකෑමේ හැකි ක්රම හඳුනා ගැනීම සහ සුදුසු යාන්ත්රණයන් සංවර්ධනය කිරීම පහසුය හඳුනාගැනීම සහ ප්රතිචාරය. රූපයේ. 2 පසුගිය වසර හතර තුළ සියලුම බෙදාහැරීම් සඳහා දුර්වලතා වර්ග පෙන්වයි (
. 2
කාර්යයන්
මෙම ලිපියෙන් අපි පහත ප්රශ්නවලට පිළිතුරු දීමට අදහස් කරමු:
- විවිධ ලිනක්ස් බෙදාහැරීම් වල ආරක්ෂාව කුමක්ද? කර්නලය සහ පරිශීලක අවකාශ යෙදුම්වල පවතින ආරක්ෂණ යාන්ත්රණ මොනවාද?
- බෙදාහැරීම් හරහා කාලයත් සමඟ ආරක්ෂක යාන්ත්රණ භාවිතා කිරීම වෙනස් වී ඇත්තේ කෙසේද?
- එක් එක් බෙදාහැරීම සඳහා පැකේජ සහ පුස්තකාලවල සාමාන්ය පරායත්තතා මොනවාද?
- එක් එක් ද්විමය සඳහා ක්රියාත්මක වන ආරක්ෂණ මොනවාද?
බෙදාහැරීම් තෝරාගැනීම
බෙදාහැරීමේ ස්ථාපනයන් පිළිබඳ නිවැරදි සංඛ්යාලේඛන සොයා ගැනීම දුෂ්කර බව පෙනී යයි, බොහෝ අවස්ථාවලදී බාගත කිරීම් ගණන සත්ය ස්ථාපනයන් ගණන නොපෙන්වයි. කෙසේ වෙතත්, Unix ප්රභේද බොහෝ සේවාදායක පද්ධති වලින් සමන්විත වේ (වෙබ් සර්වර් වල 69,2%, විසින්
බෙදා හැරීම / අනුවාදය
හරය
ගොඩනඟන්න
OpenSUSE 12.4
4.12.14-95.3-පෙරනිමිය
#1 SMP බදාදා දෙසැම්බර් 5 06:00:48 UTC 2018 (63a8d29)
ඩේබියන් 9 (දිගු)
4.9.0-8-amd64
#1 SMP Debian 4.9.130-2 (2018-10-27)
CentOS 6.10
2.6.32-754.10.1.el6.x86_64
#1 SMP අඟහරුවාදා 15 17:07:28 UTC 2019
CentOS 7
3.10.0-957.5.1.el7.x86_64
#1 SMP සිකුරාදා පෙබරවාරි 1 14:54:57 UTC 2019
Red Hat Enterprise Linux Server 6.10 (Santiago)
2.6.32-754.9.1.el6.x86_64
#1 SMP බදාදා නොවැම්බර් 21 15:08:21 EST 2018
Red Hat Enterprise Linux සේවාදායකය 7.6 (Maipo)
3.10.0-957.1.3.el7.x86_64
#1 SMP Thu නොවැම්බර් 15 17:36:42 UTC 2018
Ubuntu 14.04 (විශ්වාසවන්ත Tahr)
4.4.0-140-සාමාන්ය
#166~14.04.1-Ubuntu SMP Sat Nov 17 01:52:43 UTC 20…
උබුන්ටු 16.04 (Xenial Xerus)
4.15.0-1026-gcp
#27~16.04.1-Ubuntu SMP සිකුරාදා දෙසැම්බර් 7 09:59:47 UTC 2018
උබුන්ටු 18.04 (බයෝනික් බීවර්)
4.15.0-1026-gcp
#27-Ubuntu SMP Thu දෙසැම්බර් 6 18:27:01 UTC 2018
වගුව 1
විශ්ලේෂණය
අපි පෙරනිමි කර්නල් වින්යාසය මෙන්ම කොටුවෙන් පිටත එක් එක් බෙදාහැරීමේ පැකේජ කළමනාකරු හරහා ලබා ගත හැකි පැකේජවල ගුණාංග අධ්යයනය කරමු. මේ අනුව, අපි එක් එක් බෙදාහැරීමේ පෙරනිමි දර්පණ වලින් පැකේජ පමණක් සලකා බලමු, අස්ථායී ගබඩාවලින් (ඩේබියන් 'පරීක්ෂණ' දර්පණ වැනි) පැකේජ නොසලකා හරිමින් සහ තෙවන පාර්ශවීය පැකේජ (සම්මත දර්පණ වලින් Nvidia පැකේජ වැනි). අතිරේකව, අපි අභිරුචි කර්නල් සම්පාදනය හෝ ආරක්ෂාව දැඩි කළ වින්යාසයන් නොසලකමු.
කර්නල් වින්යාස විශ්ලේෂණය
අපි පදනම් කරගත් විශ්ලේෂණ පිටපතක් යෙදුවෙමු
සාමාන්යයෙන්, නව කර්නල් වලට කොටුවෙන් පිටත දැඩි සැකසුම් ඇත. උදාහරණයක් ලෙස, 6.10 කර්නලයේ CentOS 6.10 සහ RHEL 2.6.32 වැනි නව කර්නලවල ක්රියාත්මක කරන ලද බොහෝ තීරණාත්මක විශේෂාංග නොමැත.
ප්රතිඵල අර්ථකථනය කිරීමේදී සලකා බැලිය යුතු තවත් කරුණක්: ප්රහාරක පෘෂ්ඨය වැඩි කරන සමහර කර්නල් වින්යාසයන් ආරක්ෂාව සඳහා ද භාවිතා කළ හැක. එවැනි උදාහරණ සඳහා uprobes සහ kprobes, කර්නල් මොඩියුල සහ BPF/eBPF ඇතුළත් වේ. අපගේ නිර්දේශය නම්, ඉහත යාන්ත්රණ භාවිතා කිරීම සුළුපටු නොවන බැවින් සහ ඔවුන්ගේ සූරාකෑම මඟින් ද්වේෂසහගත ක්රියාකාරීන් දැනටමත් පද්ධතිය තුළ ස්ථාවර වී ඇති බව උපකල්පනය කරන බැවින්, සැබෑ ආරක්ෂාව සැපයීම සඳහා භාවිතා කිරීමයි. නමුත් මෙම විකල්පයන් සක්රිය කර ඇත්නම්, පද්ධති පරිපාලක අපයෝජනය සඳහා ක්රියාකාරීව නිරීක්ෂණය කළ යුතුය.
වගුව 2 හි ඇතුළත් කිරීම් දෙස තවදුරටත් බලන විට, තොරතුරු කාන්දු වීම සහ ගොඩවල්/ගොඩවල් පිටාර ගැලීම් වැනි දුර්වලතා සූරාකෑමෙන් ආරක්ෂා කිරීම සඳහා නවීන කර්නල් විකල්ප කිහිපයක් සපයන බව අපට පෙනේ. කෙසේ වෙතත්, වඩාත්ම මෑත ජනප්රිය බෙදාහැරීම් පවා වඩාත් සංකීර්ණ ආරක්ෂාවක් තවමත් ක්රියාත්මක කර නොමැති බව අපි දකිමු (උදාහරණයක් ලෙස, පැච් සමඟ
යෙදුම් විශ්ලේෂණය
විවිධ බෙදාහැරීම්වල විවිධ පැකේජ ලක්ෂණ, සම්පාදන විකල්ප, පුස්තකාල පරායත්තතා ආදිය ඇති බව පුදුමයක් නොවේ. වෙනස්කම් සඳහා පවා පවතී.
බෙදාහැරීම්
සමස්තයක් වශයෙන්, අපි සියලු බෙදාහැරීම් සඳහා පැකේජ 361 බාගත කර, පෙරනිමි දර්පණ වලින් පැකේජ පමණක් උපුටා ගත්තෙමු. මූලාශ්ර, අකුරු, යනාදී ELF ක්රියාත්මක කළ නොහැකි පැකේජ අපි නොසලකා හැරියෙමු. පෙරීමෙන් පසු, 556 පැකේජ ඉතිරිව ඇති අතර, එහි සම්පූර්ණ ද්විමය 129 ක් අඩංගු වේ. බෙදාහැරීම් හරහා පැකේජ සහ ගොනු බෙදා හැරීම රූපයේ දැක්වේ. 569.
. 3
බෙදා හැරීම වඩාත් නවීන වන තරමට එහි අඩංගු පැකේජ සහ ද්විමය තාර්කික බව ඔබට පෙනෙනු ඇත. කෙසේ වෙතත්, Ubuntu සහ Debian පැකේජ වල CentOS, SUSE සහ RHEL වලට වඩා බොහෝ ද්විමය (ක්රියාත්මක කළ හැකි සහ ගතික මොඩියුල සහ පුස්තකාල) ඇතුළත් වේ, එය උබුන්ටු සහ ඩේබියන් හි ප්රහාරක මතුපිටට බලපෑම් කළ හැකිය (සංඛ්යා සියලු අනුවාදවල සියලුම ද්විමය පිළිබිඹු කරන බව සටහන් කළ යුතුය. පැකේජය, එනම්, සමහර ගොනු කිහිප වතාවක් විශ්ලේෂණය කරනු ලැබේ). ඔබ පැකේජ අතර පරායත්තතා සලකා බලන විට මෙය විශේෂයෙන් වැදගත් වේ. මේ අනුව, තනි පැකේජ ද්විමය තුළ ඇති අවදානමක් පරිසර පද්ධතියේ බොහෝ කොටස් වලට බලපෑ හැකිය, අවදානමට ලක්විය හැකි පුස්තකාලයක් එය ආනයනය කරන සියලුම ද්විමය කෙරෙහි බලපෑ හැකිය. ආරම්භක ලක්ෂ්යයක් ලෙස, විවිධ මෙහෙයුම් පද්ධතිවල පැකේජ අතර පරායත්තතා ගණන බෙදා හැරීම දෙස බලමු:
සෑම බෙදාහැරීමකම පාහේ, පැකේජවලින් 60%කට අවම වශයෙන් පරායත්තතා 10ක්වත් ඇත. මීට අමතරව, සමහර පැකේජවල සැලකිය යුතු ලෙස විශාල පරායත්ත සංඛ්යාවක් ඇත (100 ට වඩා වැඩි). ප්රතිලෝම පැකේජ පරායත්තතා සඳහා ද මෙය අදාළ වේ: බලාපොරොත්තු වූ පරිදි, බෙදාහැරීමේ දී වෙනත් බොහෝ පැකේජ විසින් පැකේජ කිහිපයක් භාවිතා කරනු ලැබේ, එබැවින් එම තෝරාගත් ස්වල්පයේ ඇති අවදානම් ඉහළ අවදානමක් ඇත. උදාහරණයක් ලෙස, පහත වගුව SLES, Centos 20, Debian 7 සහ Ubuntu 9 හි උපරිම ප්රතිලෝම පරායත්තතා සංඛ්යාව සහිත පැකේජ 18.04 ලැයිස්තුගත කරයි (සෑම කොටුවක්ම පැකේජය සහ ප්රතිලෝම පරායත්තතා ගණන දක්වයි).
වගුව 3
සිත්ගන්නා කරුණක්. විශ්ලේෂණය කරන ලද සියලුම OS x86_64 ගෘහ නිර්මාණ ශිල්පය සඳහා ගොඩනගා ඇතත්, බොහෝ පැකේජවල නිර්වචනය x86_64 සහ x86 ලෙස නිර්වචනය කර ඇතත්, බොහෝ විට පැකේජ 5 හි පෙන්වා ඇති පරිදි අනෙකුත් ගෘහ නිර්මාණ සඳහා ද්විමය අඩංගු වේ. XNUMX.
. 5
මීළඟ කොටසේදී, අපි විශ්ලේෂණය කරන ලද ද්විමය වල ලක්ෂණ ගැන සොයා බලමු.
ද්විමය ගොනු ආරක්ෂණ සංඛ්යා ලේඛන
අවම වශයෙන්, ඔබ දැනට පවතින ද්විමය සඳහා මූලික ආරක්ෂක විකල්ප කට්ටලයක් ගවේෂණය කළ යුතුය. ලිනක්ස් බෙදාහැරීම් කිහිපයක් එවැනි චෙක්පත් සිදු කරන ස්ක්රිප්ට් සමඟ පැමිණේ. උදාහරණයක් ලෙස, Debian/Ubuntu සතුව එවැනි ස්ක්රිප්ට් එකක් තිබේ. මෙන්න ඔහුගේ කාර්යයේ උදාහරණයක්:
$ hardening-check $(which docker)
/usr/bin/docker:
Position Independent Executable: yes
Stack protected: yes
Fortify Source functions: no, only unprotected functions found!
Read-only relocations: yes
Immediate binding: yes
පිටපත පහක් පරීක්ෂා කරයි
- Position Independent Executable (PIE): ASLR කර්නලය තුළ සක්රීය කර ඇත්නම්, සසම්භාවී බව ලබා ගැනීම සඳහා වැඩසටහනක පෙළ කොටස මතකයේ ගෙන යා හැකිද යන්න දක්වයි.
- Stack Protected: Stack collision attacks වලින් ආරක්ෂා වීමට Stack canaries සබල කර තිබේද යන්න.
- Fortify Source: අනාරක්ෂිත කාර්යයන් (උදාහරණයක් ලෙස, strcpy) ඒවායේ වඩාත් ආරක්ෂිත සගයන් සමඟ ප්රතිස්ථාපනය කරන්නේද, සහ ධාවන වේලාවේදී පරීක්ෂා කරන ලද ඇමතුම් ඒවායේ පරීක්ෂා නොකළ සගයන් සමඟ ප්රතිස්ථාපනය වේ (උදාහරණයක් ලෙස, __memcpy_chk වෙනුවට memcpy).
- කියවීමට පමණක් නැවත ස්ථානගත කිරීම් (RELRO): නැවත ස්ථානගත කිරීමේ වගු ඇතුළත් කිරීම් සලකුණු කර තිබේද යන්න ක්රියාත්මක කිරීම ආරම්භ වීමට පෙර ඒවා ක්රියාරම්භක කර ඇත්නම් කියවීමට පමණි.
- ක්ෂණික බන්ධනය: වැඩසටහන් ක්රියාත්මක කිරීම ආරම්භ වීමට පෙර ධාවන කාල සම්බන්ධකය සියලු චලනයන්ට ඉඩ දෙන්නේද (මෙය සම්පූර්ණ RELRO එකකට සමාන වේ).
ඉහත යාන්ත්රණ ප්රමාණවත්ද? අවාසනාවකට නැත. ඉහත ආරක්ෂාව සියල්ල මඟ හැරීමට දන්නා ක්රම තිබේ, නමුත් ආරක්ෂාව දැඩි වන තරමට ප්රහාරකයාට තීරුව ඉහළ යයි. උදාහරණ වශයෙන්,
මෙම සහ තවත් ක්රම තුනකින් ප්රශ්නගත බෙදාහැරීම්වල ඇති ද්විමය ගොනු කොපමණ ප්රමාණයක් ආරක්ෂා කර තිබේද යන්න අධ්යයනය කිරීමට අපට අවශ්ය විය:
- ක්රියාත්මක කළ නොහැකි බිටු (
NX ) ස්ටැක් ගොඩ වැනි ක්රියාත්මක නොකළ යුතු ඕනෑම කලාපයක ක්රියාත්මක වීම වළක්වයි. RPATH/RUNPATH ගැළපෙන පුස්තකාල සොයා ගැනීමට ගතික කාරකය භාවිතා කරන ක්රියාත්මක කිරීමේ මාර්ගය දක්වයි. පළමු එක තමයි අනිවාර්ය ඕනෑම නවීන පද්ධතියක් සඳහා: එහි නොපැවතීම ප්රහාරකයන්ට අත්තනෝමතික ලෙස ගෙවීම මතකයට ලිවීමට සහ එය ක්රියාත්මක කිරීමට ඉඩ සලසයි. දෙවැන්න සඳහා, වැරදි ක්රියාත්මක කිරීමේ මාර්ග වින්යාස කිරීම් ගැටළු ගණනාවකට තුඩු දිය හැකි විශ්වාස කළ නොහැකි කේතයක් හඳුන්වා දීමට උපකාරී වේ (උදා.වරප්රසාද උත්සන්න කිරීම , මෙන්මවෙනත් ගැටළු ).- Stack collision protection මගින් මතකයේ අනෙකුත් ප්රදේශ (ගොඩවල් වැනි) අතිච්ඡාදනය වීමට හේතු වන ප්රහාර වලින් ආරක්ෂාව සපයයි. මෑත කාලීන සූරාකෑම් අපයෝජනයට ලක්ව ඇත
systemd heap collision vulnerabilities , අපගේ දත්ත කට්ටලයට මෙම යාන්ත්රණය ඇතුළත් කිරීම සුදුසු බව අපට හැඟුණි.
එහෙනම් වැඩි කතා නැතුව අපි ගණන් වලට බහිමු. 4 සහ 5 වගු වල පිළිවෙළින් ක්රියාත්මක කළ හැකි ගොනු සහ විවිධ බෙදාහැරීම් වල පුස්තකාල විශ්ලේෂණයේ සාරාංශයක් අඩංගු වේ.
- ඔබට පෙනෙන පරිදි, දුර්ලභ ව්යතිරේක සහිතව NX ආරක්ෂාව සෑම තැනකම ක්රියාත්මක වේ. විශේෂයෙන්ම, CentOS, RHEL සහ OpenSUSE වලට සාපේක්ෂව Ubuntu සහ Debian බෙදාහැරීම් වල එහි භාවිතය තරමක් අඩු බව කෙනෙකුට සටහන් කළ හැක.
- ස්ටැක් කැනරි බොහෝ ස්ථානවල අතුරුදහන් වී ඇත, විශේෂයෙන් පැරණි කර්නල් සමඟ බෙදා හැරීමේදී. Centos, RHEL, Debian සහ Ubuntu හි නවතම බෙදාහැරීම්වල යම් ප්රගතියක් දක්නට ලැබේ.
- Debian සහ Ubuntu 18.04 හැර, බොහෝ බෙදාහැරීම් වලට දුර්වල PIE සහාය ඇත.
- ස්ටැක් ගැටුම් ආරක්ෂණය OpenSUSE, Centos 7 සහ RHEL 7 හි දුර්වල වන අතර අනෙක් ඒවා තුළ පාහේ නොපවතී.
- නවීන කර්නල් සහිත සියලුම බෙදාහැරීම් වලට RELRO සඳහා යම් සහයක් ඇත, Ubuntu 18.04 ප්රමුඛ වන අතර Debian දෙවනුව පැමිණේ.
දැනටමත් සඳහන් කර ඇති පරිදි, මෙම වගුවේ ඇති ප්රමිතික ද්විමය ගොනුවේ සියලුම අනුවාද සඳහා සාමාන්යය වේ. ඔබ ගොනු වල නවතම අනුවාද පමණක් බලන්නේ නම්, සංඛ්යා වෙනස් වනු ඇත (උදාහරණයක් ලෙස, බලන්න
වගුව 4. රූපයේ දැක්වෙන ක්රියාත්මක කළ හැකි ගොනු සඳහා ආරක්ෂක ලක්ෂණ. 3 (ක්රියාත්මක කළ හැකි සම්පූර්ණ ගොනු සංඛ්යාවේ ප්රතිශතයක් ලෙස අදාළ කාර්යයන් ක්රියාත්මක කිරීම)
වගුව 5. රූපයේ දැක්වෙන පුස්තකාල සඳහා ආරක්ෂක ලක්ෂණ. 3 (සම්පූර්ණ පුස්තකාල සංඛ්යාවෙන් ප්රතිශතයක් ලෙස අදාළ කාර්යයන් ක්රියාත්මක කිරීම)
ඉතින් ප්රගතියක් තියෙනවද? නියත වශයෙන්ම තිබේ: මෙය තනි බෙදාහැරීම් සඳහා සංඛ්යාලේඛන වලින් දැකිය හැකිය (උදාහරණයක් ලෙස,
අවාසනාවකට, විවිධ බෙදාහැරීම්වල ක්රියාත්මක කළ හැකි ගොනු ගණනාවකට තවමත් ඉහත ආරක්ෂාව කිසිවක් නොමැත. උදාහරණයක් ලෙස, Ubuntu 18.04 දෙස බලන විට, ඔබට ngetty binary (getty ප්රතිස්ථාපනයක්) මෙන්ම mksh සහ lksh shells, picolisp පරිවර්තකය, nvidia-cuda-toolkit පැකේජ (GPU-accelerated යෙදුම් සඳහා ජනප්රිය පැකේජයක්) දැකගත හැකි වනු ඇත. යන්ත්ර ඉගෙනුම් රාමු), සහ klibc -utils වැනි. ඒ හා සමානව, mandos-Client ද්විමය (සංකේතනය කළ ගොනු පද්ධති සහිත යන්ත්ර ස්වයංක්රීයව නැවත පණගැන්වීමට ඔබට ඉඩ සලසන පරිපාලන මෙවලමක්) මෙන්ම rsh-redone-client (rsh සහ rlogin නැවත ක්රියාත්මක කිරීම) NX ආරක්ෂාවකින් තොරව, ඔවුන්ට SUID අයිතිවාසිකම් තිබුණද: (. එසේම, suid ද්විමය ද්විමය ස්ට්ටික් කැනරි වැනි මූලික ආරක්ෂාවක් නොමැත (උදාහරණයක් ලෙස, Xorg පැකේජයෙන් Xorg.wrap ද්විමය).
සාරාංශය සහ අවසාන අදහස්
මෙම ලිපියෙන් අපි නවීන ලිනක්ස් බෙදාහැරීම් වල ආරක්ෂක විශේෂාංග කිහිපයක් ඉස්මතු කර ඇත. නවතම Ubuntu LTS බෙදාහැරීම (18.04) සාමාන්යයෙන් Ubuntu 14.04, 12.04 සහ Debian 9 වැනි සාපේක්ෂව නව කර්නල් සහිත බෙදාහැරීම් අතර ශක්තිමත්ම OS සහ යෙදුම් මට්ටමේ ආරක්ෂාව ක්රියාත්මක කරන බව විශ්ලේෂණයෙන් පෙන්නුම් කරන ලදී. කෙසේ වෙතත්, පරීක්ෂා කරන ලද බෙදාහැරීම් CentOS, RHEL සහ අපගේ කට්ටලය තුළ OpenSUSE පෙරනිමියෙන් ඝනත්වයකින් යුත් පැකේජ කට්ටලයක් නිපදවන අතර නවතම අනුවාදවල (CentOS සහ RHEL) Debian මත පදනම් වූ තරඟකරුවන් (Debian සහ Ubuntu) හා සසඳන විට ඒවාට වැඩි ප්රතිශතයක් ඝට්ටන ආරක්ෂණ ප්රතිශතයක් ඇත. CentOS සහ RedHat අනුවාද සංසන්දනය කිරීමේදී, 6 සිට 7 දක්වා අනුවාද වල ස්ටැක් කැනරි සහ RELRO ක්රියාවට නැංවීමේ විශාල වැඩිදියුණු කිරීම් අපි දකිමු, නමුත් සාමාන්යයෙන් CentOS හි RHEL වලට වඩා ක්රියාත්මක කර ඇති විශේෂාංග වැඩිය. සාමාන්යයෙන්, සියලුම බෙදාහැරීම් PIE ආරක්ෂාව කෙරෙහි විශේෂ අවධානයක් යොමු කළ යුතු අතර, එය Debian 9 සහ Ubuntu 18.04 හැරුණු විට, අපගේ දත්ත කට්ටලයේ ද්විමය වලින් 10%කට වඩා අඩු ප්රමාණයක ක්රියාත්මක වේ.
අවසාන වශයෙන්, අප විසින් පර්යේෂණය අතින් සිදු කළද, බොහෝ ආරක්ෂක මෙවලම් පවතින බව සටහන් කළ යුතුය (උදා.
මූලාශ්රය: www.habr.com