Miljuni ta 'binaries aktar tard. Kif il-Linux sar aktar b'saħħtu

Miljuni ta 'binaries aktar tard. Kif il-Linux sar aktar b'saħħtuTL; DR. F'dan l-artikolu, nesploraw l-iskemi ta 'twebbis li jaħdmu barra mill-kaxxa fuq ħames distribuzzjonijiet Linux popolari. Għal kull wieħed, ħadna l-konfigurazzjoni tal-kernel default, għabbejna l-pakketti kollha, u analizzajna l-iskemi tas-sigurtà fil-binarji mehmuża. Id-distribuzzjonijiet ikkunsidrati huma OpenSUSE 12.4, Debian 9, CentOS, RHEL 6.10 u 7, kif ukoll Ubuntu 14.04, 12.04 u 18.04 LTS.

Ir-riżultati jikkonfermaw li anke skemi bażiċi bħal stacking canaries u kodiċi indipendenti mill-pożizzjoni għadhom mhumiex adottati minn kulħadd. Is-sitwazzjoni hija saħansitra agħar għall-kompilaturi meta jiġu biex jipproteġu kontra vulnerabbiltajiet bħal stack clash, li daħal fl-attenzjoni f'Jannar wara l-pubblikazzjoni informazzjoni dwar vulnerabbiltajiet tas-sistema. Imma mhux kollox huwa daqshekk bla tama. Numru sinifikanti ta 'binaries jimplimentaw metodi bażiċi ta' protezzjoni, u n-numru tagħhom jikber minn verżjoni għal verżjoni.

Ir-reviżjoni wriet li l-akbar numru ta 'metodi ta' protezzjoni huwa implimentat f'Ubuntu 18.04 fil-livelli tal-OS u l-applikazzjoni, segwit minn Debian 9. Min-naħa l-oħra, OpenSUSE 12.4, CentOS 7 u RHEL 7 jimplimentaw ukoll skemi bażiċi ta 'protezzjoni, u protezzjoni kontra kolliżjoni ta' stack. jintuża saħansitra b'mod aktar wiesa' b'sett ferm aktar dens ta' pakketti default.

Introduzzjoni

Huwa diffiċli li jiġi żgurat softwer ta 'kwalità għolja. Minkejja n-numru kbir ta 'għodod avvanzati għall-analiżi tal-kodiċi statiku u l-analiżi dinamika tar-runtime, kif ukoll progress sinifikanti fl-iżvilupp ta' kompilaturi u lingwi ta 'programmar, is-softwer modern għadu jbati minn vulnerabbiltajiet li huma kontinwament sfruttati mill-attakkanti. Is-sitwazzjoni hija saħansitra agħar fl-ekosistemi li jinkludu kodiċi legacy. F'każijiet bħal dawn, aħna mhux biss qed iħabbtu wiċċna mal-problema eterna li nsibu żbalji possibbli sfruttabbli, iżda aħna wkoll limitati minn oqfsa stretti ta 'kompatibilità b'lura, li ħafna drabi jeħtieġu li nippreservaw kodiċi limitat, jew saħansitra agħar, vulnerabbli jew buggy.

Dan huwa fejn jidħlu fis-seħħ metodi ta 'protezzjoni jew twebbis tal-programmi. Ma nistgħux nipprevjenu xi tipi ta’ żbalji, iżda nistgħu nagħmlu l-ħajja tal-attakkant aktar diffiċli u nsolvu parzjalment il-problema billi nipprevjenu jew nipprevjenu sfruttament dawn l-iżbalji. Protezzjoni bħal din tintuża fis-sistemi operattivi moderni kollha, iżda l-metodi jvarjaw ħafna fil-kumplessità, l-effiċjenza u l-prestazzjoni: minn kanarini munzell u ASLR għal protezzjoni sħiħa CFI и R.O.P.. F'dan l-artikolu, se nħarsu lejn liema metodi ta 'protezzjoni jintużaw fid-distribuzzjonijiet Linux l-aktar popolari fil-konfigurazzjoni default, u neżaminaw ukoll il-proprjetajiet tal-binarji li huma mqassma permezz tas-sistemi ta' ġestjoni tal-pakketti ta 'kull distribuzzjoni.

CVE u sigurtà

Ilkoll rajna artikli b'titli bħal "L-Applikazzjonijiet l-Aktar Vulnerabbli tas-Sena" jew "L-Aktar Sistemi Operattivi Vulnerabbli." Normalment jipprovdu statistika dwar in-numru totali ta 'rekords dwar vulnerabbiltajiet simili CVE (Vulnerabbiltà u Esponimenti Komuni), miksuba minn Database Nazzjonali tal-Vulnerabbiltà (NVD) minn NIST u sorsi oħra. Sussegwentement, dawn l-applikazzjonijiet jew OS huma kklassifikati skond in-numru ta' CVEs. Sfortunatament, filwaqt li CVEs huma utli ħafna biex jittraċċaw kwistjonijiet u jinfurmaw lill-bejjiegħa u lill-utenti, ftit jgħidu dwar is-sigurtà attwali tas-softwer.

Bħala eżempju, ikkunsidra n-numru totali ta 'CVEs matul l-aħħar erba' snin għall-kernel Linux u l-ħames distribuzzjonijiet ta 'server l-aktar popolari, jiġifieri Ubuntu, Debian, Red Hat Enterprise Linux u OpenSUSE.

Miljuni ta 'binaries aktar tard. Kif il-Linux sar aktar b'saħħtu
Fig. 1

X'jgħidilna din il-grafika? Numru ogħla ta' CVEs ifisser li distribuzzjoni waħda hija aktar vulnerabbli minn oħra? Bla tweġiba. Pereżempju, f'dan l-artikolu se tara li Debian għandu mekkaniżmi ta' sigurtà aktar b'saħħithom meta mqabbel ma', ngħidu aħna, OpenSUSE jew RedHat Linux, u madankollu Debian għandu aktar CVEs. Madankollu, mhux bilfors ifissru sigurtà mdgħajfa: anki l-preżenza ta’ CVE ma tindikax jekk vulnerabbiltà hijiex. sfruttati. Il-punteġġi tas-severità jipprovdu indikazzjoni ta' kif probabbilment sfruttament ta' vulnerabbiltà, iżda fl-aħħar mill-aħħar l-isfruttabbiltà tiddependi ħafna fuq il-protezzjonijiet preżenti fis-sistemi affettwati u r-riżorsi u l-kapaċitajiet tal-attakkanti. Barra minn hekk, in-nuqqas ta' rapporti CVE ma jgħid xejn dwar oħrajn mhux irreġistrat jew mhux magħruf vulnerabbiltajiet. Id-differenza fis-CVE tista' tkun dovuta għal fatturi oħra minbarra l-kwalità tas-softwer, inklużi r-riżorsi allokati għall-ittestjar jew id-daqs tal-bażi tal-utenti. Fl-eżempju tagħna, in-numru ogħla ta' CVEs ta' Debian jista' sempliċement jindika li Debian jibgħat aktar pakketti tas-softwer.

Naturalment, is-sistema CVE tipprovdi informazzjoni utli li tippermettilek toħloq protezzjonijiet xierqa. Iktar ma nifhmu aħjar ir-raġunijiet għall-falliment tal-programm, iktar ikun faċli li nidentifikaw metodi possibbli ta’ sfruttament u niżviluppaw mekkaniżmi xierqa sejbien u rispons. Fil-Fig. 2 turi l-kategoriji ta’ vulnerabbiltajiet għad-distribuzzjonijiet kollha matul l-aħħar erba’ snin (sors). Huwa immedjatament ċar li ħafna CVEs jaqgħu fil-kategoriji li ġejjin: ċaħda ta 'servizz (DoS), eżekuzzjoni ta' kodiċi, overflow, korruzzjoni tal-memorja, tnixxija ta 'informazzjoni (esfiltrazzjoni) u eskalazzjoni ta' privileġġ. Għalkemm ħafna CVEs jingħaddu diversi drabi f'kategoriji differenti, b'mod ġenerali l-istess kwistjonijiet jippersistu sena wara sena. Fil-parti li jmiss tal-artikolu, se nevalwaw l-użu ta 'skemi ta' protezzjoni varji biex jipprevjenu l-isfruttament ta 'dawn il-vulnerabbiltajiet.

Miljuni ta 'binaries aktar tard. Kif il-Linux sar aktar b'saħħtu
Fig. 2

kompiti

F'dan l-artikolu għandna l-intenzjoni li nwieġbu l-mistoqsijiet li ġejjin:

  • X'inhi s-sigurtà tad-distribuzzjonijiet differenti tal-Linux? Liema mekkaniżmi ta' protezzjoni jeżistu fl-applikazzjonijiet tal-kernel u tal-ispazju tal-utent?
  • Kif inbidlet l-adozzjoni tal-mekkaniżmi tas-sigurtà matul iż-żmien madwar id-distribuzzjonijiet?
  • X'inhuma d-dipendenzi medji ta' pakketti u libreriji għal kull distribuzzjoni?
  • Liema protezzjonijiet huma implimentati għal kull binarju?

G]a\la ta' distribuzzjonijiet

Jirriżulta li huwa diffiċli li ssib statistika preċiża dwar installazzjonijiet ta 'distribuzzjoni, peress li f'ħafna każijiet in-numru ta' downloads ma jindikax in-numru ta 'installazzjonijiet attwali. Madankollu, il-varjanti Unix jiffurmaw il-maġġoranza tas-sistemi tas-server (fuq is-servers tal-web 69,2%, minn statistika W3techs u sorsi oħra), u s-sehem tagħhom qiegħed dejjem jikber. Għalhekk, għar-riċerka tagħna aħna ffukajna fuq distribuzzjonijiet disponibbli barra mill-kaxxa fuq il-pjattaforma Google Cloud. B'mod partikolari, għażilna l-OS li ġej:

Distribuzzjoni/verżjoni
Qalba
Ibni

OpenSUSE 12.4
4.12.14-95.3-default
#1 SMP Wed Dec 5 06:00:48 UTC 2018 (63a8d29)

Debian 9 (stretch)
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 Tue Jan 15 17:07:28 UTC 2019

CentOS 7
3.10.0-957.5.1.el7.x86_64
#1 SMP Ġim 1 ta' Frar 14:54:57 UTC 2019

Red Hat Enterprise Linux Server 6.10 (Santiago)
2.6.32-754.9.1.el6.x86_64
#1 SMP Wed Nov 21 15:08:21 EST 2018

Red Hat Enterprise Linux Server 7.6 (Maipo)
3.10.0-957.1.3.el7.x86_64
#1 SMP Thu Nov 15 17:36:42 UTC 2018

Ubuntu 14.04 (Trusty Tahr)
4.4.0–140-ġeneriku

#166~14.04.1-Ubuntu SMP Sat Nov 17 01:52:43 UTC 20...

Ubuntu 16.04 (Xenial Xerus)
4.15.0–1026-gcp
#27~16.04.1-Ubuntu SMP Fri Diċ 7 09:59:47 UTC 2018

Ubuntu 18.04 (Bionic Beaver)
4.15.0–1026-gcp
#27-Ubuntu SMP Thu Dec 6 18:27:01 UTC 2018

Tabella 1

Analiżi

Ejja nistudjaw il-konfigurazzjoni default tal-kernel, kif ukoll il-proprjetajiet tal-pakketti disponibbli permezz tal-maniġer tal-pakketti ta 'kull distribuzzjoni barra mill-kaxxa. Għalhekk, aħna nikkunsidraw biss pakketti mill-mirja default ta' kull distribuzzjoni, billi ninjoraw pakketti minn repożitorji instabbli (bħal mirja Debian 'testing') u pakketti ta' partijiet terzi (bħal pakketti Nvidia minn mirja standard). Barra minn hekk, ma nqisux kompilazzjonijiet tal-qalba tad-dwana jew konfigurazzjonijiet imwebbsa bis-sigurtà.

Analiżi tal-Konfigurazzjoni tal-kernel

Applikajna skript ta’ analiżi bbażat fuq kontrollur kconfig b'xejn. Ejja nħarsu lejn il-parametri ta 'protezzjoni barra mill-kaxxa tad-distribuzzjonijiet imsemmija u qabbluhom mal-lista minn Proġett Core Self Defense (KSPP). Għal kull għażla ta 'konfigurazzjoni, Tabella 2 tiddeskrivi l-issettjar mixtieq: il-kaxxa ta' kontroll hija għal distribuzzjonijiet li jikkonformaw mar-rakkomandazzjonijiet tal-KSSP (ara dan li ġej għal spjegazzjoni tat-termini). hawn; F'artikoli futuri se nispjegaw kemm daħlu dawn il-metodi ta' sigurtà u kif jaqbdu sistema fin-nuqqas tagħhom).

Miljuni ta 'binaries aktar tard. Kif il-Linux sar aktar b'saħħtu

Miljuni ta 'binaries aktar tard. Kif il-Linux sar aktar b'saħħtu

B'mod ġenerali, il-qlub il-ġodda għandhom settings aktar stretti barra mill-kaxxa. Pereżempju, CentOS 6.10 u RHEL 6.10 fuq il-kernel 2.6.32 m'għandhomx ħafna mill-karatteristiċi kritiċi implimentati f'kernels aktar ġodda bħal SMAP, permessi stretti RWX, indirizzar randomization jew protezzjoni copy2usr. Għandu jiġi nnutat li ħafna mill-għażliet ta 'konfigurazzjoni fit-tabella mhumiex disponibbli f'verżjonijiet anzjani tal-qalba u mhumiex applikabbli fir-realtà - dan għadu indikat fit-tabella bħala nuqqas ta' protezzjoni xierqa. Bl-istess mod, jekk għażla ta' konfigurazzjoni ma tkunx preżenti f'verżjoni partikolari, u s-sigurtà teħtieġ li dik l-għażla tkun diżattivata, din titqies bħala konfigurazzjoni raġonevoli.

Punt ieħor li għandek tikkonsidra meta tinterpreta r-riżultati: xi konfigurazzjonijiet tal-qalba li jżidu l-wiċċ tal-attakk jistgħu jintużaw ukoll għas-sigurtà. Eżempji bħal dawn jinkludu uprobes u kprobes, moduli tal-kernel, u BPF/eBPF. Ir-rakkomandazzjoni tagħna hija li tuża l-mekkaniżmi ta 'hawn fuq biex tipprovdi protezzjoni reali, peress li mhumiex trivjali biex jintużaw u l-isfruttament tagħhom jassumi li atturi malizzjużi diġà stabbilixxew post fis-sistema. Iżda jekk dawn l-għażliet huma attivati, l-amministratur tas-sistema għandu jimmonitorja b'mod attiv għall-abbuż.

Meta nħarsu aktar lejn l-entrati fit-Tabella 2, naraw li l-kernels moderni jipprovdu diversi għażliet għall-protezzjoni kontra l-isfruttament ta 'vulnerabbiltajiet bħal tnixxija ta' informazzjoni u overflows ta 'munzell/heap. Madankollu, ninnotaw li anke l-aktar distribuzzjonijiet popolari riċenti għadhom ma implimentawx protezzjoni aktar kumplessa (per eżempju, b'garża grsigurtà) jew protezzjoni moderna kontra attakki ta’ użu mill-ġdid tal-kodiċi (eż. kombinazzjoni ta 'randomization ma' skemi bħal R ^ X għall-kodiċi). Biex tgħaxxaq, anki dawn id-difiżi aktar avvanzati ma jipproteġux kontra l-firxa sħiħa ta 'attakki. Għalhekk, huwa kritiku għall-amministraturi tas-sistema li jikkumplimentaw konfigurazzjonijiet intelliġenti b'soluzzjonijiet li joffru skoperta u prevenzjoni tal-isfruttament tal-runtime.

Analiżi tal-Applikazzjoni

Mhux ta’ b’xejn, distribuzzjonijiet differenti għandhom karatteristiċi differenti ta’ pakkett, għażliet ta’ kumpilazzjoni, dipendenzi tal-libreriji, eċċ. Differenzi jeżistu anke għal relatati distribuzzjonijiet u pakketti b'numru żgħir ta 'dipendenzi (per eżempju, coreutils fuq Ubuntu jew Debian). Biex nevalwaw id-differenzi, niżżilna l-pakketti kollha disponibbli, estrajna l-kontenut tagħhom, u analizzajna l-binarji u d-dipendenzi. Għal kull pakkett, aħna żammejna kont tal-pakketti l-oħra li jiddependi fuqhom, u għal kull binarju, aħna nsegrajna d-dipendenzi tiegħu. F'din it-taqsima aħna nġabru fil-qosor il-konklużjonijiet.

distribuzzjonijiet

B'kollox, niżżiljna 361 pakkett għad-distribuzzjonijiet kollha, u nġibu biss pakketti minn mirja default. Injorajna pakketti mingħajr eżekutibbli ELF, bħal sorsi, fonts, eċċ. Wara l-iffiltrar, baqgħu 556 pakkett, li kien fihom total ta '129 binarji. Id-distribuzzjoni tal-pakketti u l-fajls madwar id-distribuzzjonijiet hija murija fil-Fig. 569.

Miljuni ta 'binaries aktar tard. Kif il-Linux sar aktar b'saħħtu
Fig. 3

Tista 'tinnota li aktar ma tkun moderna d-distribuzzjoni, aktar ikun fiha pakketti u binarji, li huwa loġiku. Madankollu, il-pakketti Ubuntu u Debian jinkludu ħafna aktar binarji (kemm eżekutibbli kif ukoll moduli dinamiċi u libreriji) minn CentOS, SUSE u RHEL, li potenzjalment jaffettwa l-wiċċ tal-attakk ta 'Ubuntu u Debian (ta' min jinnota li n-numri jirriflettu l-binarji kollha tal-verżjonijiet kollha pakkett, jiġifieri, xi fajls jiġu analizzati diversi drabi). Dan huwa speċjalment importanti meta tqis id-dipendenzi bejn il-pakketti. Għalhekk, vulnerabbiltà f'pakkett wieħed binarju tista' taffettwa ħafna partijiet tal-ekosistema, bħalma librerija vulnerabbli tista' taffettwa l-binarji kollha li jimportawha. Bħala punt tat-tluq, ejja nħarsu lejn id-distribuzzjoni tan-numru ta 'dipendenzi fost pakketti f'sistemi operattivi differenti:

Miljuni ta 'binaries aktar tard. Kif il-Linux sar aktar b'saħħtu
Fig. 4

Fi kważi d-distribuzzjonijiet kollha, 60% tal-pakketti għandhom mill-inqas 10 dipendenzi. Barra minn hekk, xi pakketti għandhom numru ferm akbar ta 'dipendenzi (aktar minn 100). L-istess japplika għad-dipendenzi tal-pakketti b'lura: kif mistenni, ftit pakketti jintużaw minn ħafna pakketti oħra fid-distribuzzjoni, għalhekk il-vulnerabbiltajiet f'dawk il-ftit magħżula huma ta' riskju għoli. Bħala eżempju, it-tabella li ġejja telenka l-20 pakkett bin-numru massimu ta 'dipendenzi inversi f'SLES, Centos 7, Debian 9 u Ubuntu 18.04 (kull ċellula tindika l-pakkett u n-numru ta' dipendenzi inversi).

Miljuni ta 'binaries aktar tard. Kif il-Linux sar aktar b'saħħtu
Tabella 3

Fatt interessanti. Għalkemm l-OS kollha analizzati huma mibnija għall-arkitettura x86_64, u l-biċċa l-kbira tal-pakketti għandhom l-arkitettura definita bħala x86_64 u x86, il-pakketti ħafna drabi jkun fihom binarji għal arkitetturi oħra, kif muri fil-Figura 5. XNUMX.

Miljuni ta 'binaries aktar tard. Kif il-Linux sar aktar b'saħħtu
Fig. 5

Fit-taqsima li jmiss, se nidħlu fil-karatteristiċi tal-binarji analizzati.

Statistika tal-protezzjoni tal-fajl binarju

Fil-minimu assolut, għandek bżonn tesplora sett bażiku ta 'għażliet ta' sigurtà għall-binarji eżistenti tiegħek. Diversi distribuzzjonijiet Linux jiġu bi skripts li jwettqu tali kontrolli. Pereżempju, Debian/Ubuntu għandu skript bħal dan. Hawn eżempju tax-xogħol tiegħu:

$ 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

L-iskript jiċċekkja ħamsa funzjonijiet ta' protezzjoni:

  • Pożizzjoni Indipendenti Executable (PIE): Tindika jekk is-sezzjoni tat-test ta 'programm tistax tiġi mċaqalqa fil-memorja biex tinkiseb randomization jekk ASLR ikun attivat fil-kernel.
  • Munzell Protetti: Jekk il-kanarini tal-munzell humiex attivati ​​biex jipproteġu kontra attakki ta 'ħabta ta' munzell.
  • Fortify Source: jekk il-funzjonijiet mhux sikuri (pereżempju, strcpy) humiex sostitwiti bil-kontropartijiet aktar sikuri tagħhom, u sejħiet ikkontrollati waqt ir-runtime jiġu sostitwiti bil-kontropartijiet mhux ikkontrollati tagħhom (per eżempju, memcpy minflok __memcpy_chk).
  • Rilokazzjonijiet ta' qari biss (RELRO): Jekk l-entrati tat-tabella tar-rilokazzjoni humiex immarkati bħala qari biss jekk jiġu attivati ​​qabel ma tibda l-eżekuzzjoni.
  • Irbit immedjat: Jekk ir-runtime linker jippermettix il-movimenti kollha qabel ma tibda l-eżekuzzjoni tal-programm (dan huwa ekwivalenti għal RELRO sħiħ).

Il-mekkaniżmi ta' hawn fuq huma biżżejjed? Sfortunatament le. Hemm modi magħrufa kif tevita d-difiżi kollha ta’ hawn fuq, iżda iktar ma tkun iebsa d-difiża, iktar ikun għoli l-bar għall-attakkant. Pereżempju, Metodi ta 'bypass RELRO aktar diffiċli biex tapplika jekk il-PIE u l-irbit immedjat huma fis-seħħ. Bl-istess mod, ASLR sħiħ jeħtieġ xogħol addizzjonali biex jinħoloq sfruttament tax-xogħol. Madankollu, attakkanti sofistikati diġà huma ppreparati biex jilħqu tali protezzjonijiet: l-assenza tagħhom essenzjalment se tħaffef il-hack. Għalhekk huwa essenzjali li dawn il-miżuri jitqiesu neċessarji minimu.

Ridna nistudjaw kemm fajls binarji fid-distribuzzjonijiet inkwistjoni huma protetti minn dawn u tliet metodi oħra:

  • Bit mhux eżegwibbli (NX) jipprevjeni l-eżekuzzjoni fi kwalunkwe reġjun li m'għandux ikun eżekutibbli, bħall-munzell, eċċ.
  • RPATH/RUNPATH tindika l-mogħdija ta 'eżekuzzjoni użata mill-loader dinamiku biex issib libreriji li jaqblu. L-ewwel waħda hija obbligatorju għal kwalunkwe sistema moderna: l-assenza tagħha tippermetti lill-attakkanti li b'mod arbitrarju jiktbu l-payload fil-memorja u jeżegwiwh kif inhu. Għat-tieni, konfigurazzjonijiet ta' mogħdijiet ta' eżekuzzjoni mhux korretti jgħinu fl-introduzzjoni ta' kodiċi mhux affidabbli li jista' jwassal għal numru ta' problemi (eż. eskalazzjoni tal-privileġġU problemi oħra).
  • Il-protezzjoni kontra l-ħabta tal-munzell tipprovdi protezzjoni kontra attakki li jikkawżaw li l-munzell jikkoinċidi żoni oħra tal-memorja (bħall-borġ). Minħabba jisfrutta riċenti abbuż vulnerabbiltajiet ta' kolliżjoni tal-heap systemd, ħassejna li kien xieraq li dan il-mekkaniżmu jiġi inkluż fis-sett tad-dejta tagħna.

Allura, mingħajr aktar dewmien, ejja ninżlu għan-numri. It-Tabelli 4 u 5 fihom sommarju tal-analiżi tal-fajls eżekutibbli u l-libreriji ta 'diversi distribuzzjonijiet, rispettivament.

  • Kif tistgħu taraw, il-protezzjoni NX hija implimentata kullimkien, b'eċċezzjonijiet rari. B'mod partikolari, wieħed jista 'jinnota l-użu kemmxejn aktar baxx tiegħu fid-distribuzzjonijiet Ubuntu u Debian meta mqabbel ma' CentOS, RHEL u OpenSUSE.
  • Il-kanarini munzell huma neqsin f'ħafna postijiet, speċjalment f'distribuzzjonijiet b'qlub anzjani. Qed jidher xi progress fl-aħħar distribuzzjonijiet ta 'Centos, RHEL, Debian u Ubuntu.
  • Bl-eċċezzjoni ta 'Debian u Ubuntu 18.04, il-biċċa l-kbira tad-distribuzzjonijiet għandhom appoġġ fqir ta' PIE.
  • Il-protezzjoni kontra l-ħabta tal-munzell hija dgħajfa f'OpenSUSE, Centos 7 u RHEL 7, u prattikament ineżistenti f'oħrajn.
  • Id-distribuzzjonijiet kollha b'kernels moderni għandhom xi appoġġ għal RELRO, b'Ubuntu 18.04 imexxi t-triq u Debian jiġi fit-tieni.

Kif diġà ssemma, il-metriċi f'din it-tabella huma l-medja għall-verżjonijiet kollha tal-fajl binarju. Jekk tħares biss lejn l-aħħar verżjonijiet tal-fajls, in-numri jkunu differenti (per eżempju, ara Progress ta' Debian bl-implimentazzjoni tal-PIE). Barra minn hekk, il-biċċa l-kbira tad-distribuzzjonijiet tipikament jittestjaw biss is-sigurtà ta 'ftit funzjonijiet fil-binarju meta tikkalkula l-istatistika, iżda l-analiżi tagħna turi l-perċentwal veru ta' funzjonijiet li huma mwebbsa. Għalhekk, jekk 5 minn 50 funzjoni huma protetti f'binarju, aħna nagħtuha punteġġ ta '0,1, li jikkorrispondi għal 10% tal-funzjonijiet li qed jissaħħu.

Miljuni ta 'binaries aktar tard. Kif il-Linux sar aktar b'saħħtu
Tabella 4. Karatteristiċi tas-sigurtà għall-fajls eżekutibbli murija fil-Fig. 3 (implimentazzjoni ta' funzjonijiet rilevanti bħala perċentwal tan-numru totali ta' fajls eżekutibbli)

Miljuni ta 'binaries aktar tard. Kif il-Linux sar aktar b'saħħtu
Tabella 5. Karatteristiċi tas-sigurtà għal-libreriji murija fil-Fig. 3 (implimentazzjoni ta' funzjonijiet rilevanti bħala persentaġġ tan-numru totali ta' libreriji)

Allura hemm progress? Żgur li hemm: dan jista' jidher mill-istatistika għal distribuzzjonijiet individwali (per eżempju, Debian), kif ukoll mit-tabelli ta’ hawn fuq. Bħala eżempju fil-Fig. Il-Figura 6 turi l-implimentazzjoni ta 'mekkaniżmi ta' protezzjoni fi tliet distribuzzjonijiet suċċessivi ta 'Ubuntu LTS 5 (ħallejna barra l-istatistika tal-protezzjoni tal-ħabtiet tal-munzell). Ninnotaw li minn verżjoni għal verżjoni aktar u aktar fajls jappoġġjaw kanarini munzell, u wkoll aktar u aktar binarji jintbagħtu bi protezzjoni RELRO sħiħa.

Miljuni ta 'binaries aktar tard. Kif il-Linux sar aktar b'saħħtu
Fig. 6

Sfortunatament, numru ta 'fajls eżekutibbli f'distribuzzjonijiet differenti għad m'għandhom l-ebda waħda mill-protezzjonijiet ta' hawn fuq. Pereżempju, meta tħares lejn Ubuntu 18.04, tinnota n-ngetty binary (a sostituzzjoni getty), kif ukoll il-qxur mksh u lksh, l-interpretu picolisp, il-pakketti nvidia-cuda-toolkit (pakkett popolari għal applikazzjonijiet aċċellerati bil-GPU bħal oqfsa ta' tagħlim bil-magni), u klibc -utils. Bl-istess mod, il-binarju mandos-client (għodda amministrattiva li tippermettilek tirristartja awtomatikament magni b'sistemi ta 'fajls kriptati) kif ukoll rsh-redone-client (implimentazzjoni mill-ġdid ta' rsh u rlogin) jibagħtu mingħajr protezzjoni NX, għalkemm għandhom drittijiet SUID : (. Ukoll, Diversi suid binaries m'għandhomx protezzjoni bażika bħal stack canaries (per eżempju, il-binarju Xorg.wrap mill-pakkett Xorg).

Sommarju u Rimarki tal-Konklużjoni

F'dan l-artikolu, enfasizzajna diversi karatteristiċi ta 'sigurtà ta' distribuzzjonijiet moderni tal-Linux. L-analiżi wriet li l-aħħar distribuzzjoni Ubuntu LTS (18.04) timplimenta, bħala medja, l-aktar protezzjoni b'saħħitha tal-livell tal-OS u l-applikazzjoni fost id-distribuzzjonijiet b'kernels relattivament ġodda, bħal Ubuntu 14.04, 12.04 u Debian 9. Madankollu, id-distribuzzjonijiet eżaminati CentOS, RHEL u OpenSUSE fis-sett tagħna awtomatikament jipproduċu sett aktar dens ta 'pakketti, u fl-aħħar verżjonijiet (CentOS u RHEL) għandhom persentaġġ ogħla ta' protezzjoni kontra l-ħabtiet tal-munzell meta mqabbla mal-kompetituri bbażati fuq Debian (Debian u Ubuntu). Meta tqabbel il-verżjonijiet ta 'CentOS u RedHat, ninnotaw titjib kbir fl-implimentazzjoni ta' stack canaries u RELRO mill-verżjonijiet 6 sa 7, iżda bħala medja CentOS għandha aktar karatteristiċi implimentati minn RHEL. B'mod ġenerali, id-distribuzzjonijiet kollha għandhom jagħtu attenzjoni speċjali lill-protezzjoni PIE, li, bl-eċċezzjoni ta 'Debian 9 u Ubuntu 18.04, hija implimentata f'inqas minn 10% tal-binarji fid-dataset tagħna.

Fl-aħħar nett, ta’ min jinnota li għalkemm għamilna r-riċerka manwalment, hemm ħafna għodod ta’ sigurtà disponibbli (eż. Lynis, Tiger, Hubble), li jwettqu analiżi u jgħinu biex jevitaw konfigurazzjonijiet mhux sikuri. Sfortunatament, anki protezzjoni qawwija f'konfigurazzjonijiet raġonevoli ma tiggarantixxix in-nuqqas ta 'sfruttamenti. Huwa għalhekk li nemmnu bis-sħiħ li huwa vitali li niżguraw monitoraġġ affidabbli u prevenzjoni ta 'attakki f'ħin reali, li jiffoka fuq mudelli ta' sfruttament u jipprevjenihom.

Sors: www.habr.com

Żid kumment