E hia miriona takirua i muri mai. I pehea a Linux i kaha ake ai

E hia miriona takirua i muri mai. I pehea a Linux i kaha ake aiTL; DR. I roto i tenei tuhinga, ka tirotirohia e matou nga kaupapa whakapakeke e mahi ana i waho o te pouaka i runga i nga tohatoha Linux rongonui e rima. Mo ia, ka mau matou i te whirihoranga kernel taunoa, ka utaina nga kete katoa, ka tātarihia nga kaupapa haumarutanga i roto i nga taapiri-rua. Ko nga tohatoha e whakaarohia ana ko OpenSUSE 12.4, Debian 9, CentOS, RHEL 6.10 me 7, me te Ubuntu 14.04, 12.04 me 18.04 LTS.

Ko nga hua e whakapumau ana ko nga kaupapa taketake penei i te taapu canaries me te tohu tuunga-motuhake kaore ano kia tangohia e te katoa. He kino rawa atu te ahuatanga mo te hunga whakahiato ina tae mai ki te tiaki i nga whakaraerae penei i te tukinga puranga, i puta mai i te marama o Hanuere i muri i te whakaputanga. nga korero mo nga whakaraeraetanga o te punaha. Engari ehara nga mea katoa i te tino tumanako. He nui te maha o nga binaries e whakamahi ana i nga tikanga whakamarumaru taketake, a ka piki haere te maha mai i te putanga ki te putanga.

I whakaatuhia e te arotake ko te nuinga o nga tikanga whakamarumaru kei te whakatinanahia i Ubuntu 18.04 i te OS me nga taumata tono, ka whai ko Debian 9. I tetahi atu taha, ko OpenSUSE 12.4, CentOS 7 me RHEL 7 hoki e whakatinana ana i nga kaupapa tiaki taketake, me te whakamarumaru tukinga puranga. he nui noa atu te whakamahi me te huinga nui atu o nga kohinga taunoa.

Whakataki

He uaua ki te whakarite i nga punaha kounga teitei. Ahakoa te maha o nga taputapu matatau mo te wetewete waehere pateko me te wetewete i te wa mahi hihiri, me te nui o te ahunga whakamua i roto i te whakawhanaketanga o te hunga whakahiato me nga reo hötaka, kei te mamae tonu nga rorohiko hou i nga whakaraeraetanga e whakamahia tonutia ana e te hunga whakaeke. He kino rawa atu te ahuatanga i roto i nga puunaha rauwiringa kaiao kei roto nga waehere tuku iho. I roto i enei ahuatanga, ehara i te mea ko te raru mutungakore o te kimi i nga hapa ka taea te whakamahi, engari he iti ano ta matou e nga anga hototahi whakamuri, he maha nga wa e hiahia ana matou ki te pupuri i nga tohu whakaraerae, kino rawa atu ranei.

I konei ka uru mai nga tikanga tiaki, whakapakeke ranei i nga kaupapa. Kaore e taea e tatou te aukati i etahi momo hapa, engari ka taea e tatou te whakararu ake i te oranga o te kaitukino me te whakaoti i tetahi waahanga o te raru ma te aukati, te aukati ranei. Whakahaere enei hapa. Ka whakamahia taua whakamarumaru i roto i nga punaha whakahaere hou katoa, engari he rereke nga tikanga i roto i te uaua, te whai hua me te mahi: mai i nga taapu canaries me ASLR ki te tino tiaki CFI и ROP. I roto i tenei tuhinga, ka tirohia he aha nga tikanga whakamarumaru e whakamahia ana i roto i nga tohatoha Linux tino rongonui i roto i te whirihoranga taunoa, me te tirotiro ano hoki i nga ahuatanga o nga rua ka tohatohahia ma nga punaha whakahaere kete o ia tohatoha.

CVE me te haumaru

Kua kite katoa matou i nga tuhinga me nga taitara penei "Ko nga tono tino whakaraerae o te tau" ranei "Ko nga punaha whakahaere tino whakaraerae." I te nuinga o te wa ka tukuna he tatauranga mo te tapeke o nga rekoata mo nga whakaraerae penei CVE (Whakaraeraetanga noa me nga Whakaaturanga), i whiwhi mai Raraunga Raraunga Whakaraerae Motu (NVD) i NIST me etahi atu puna. I muri mai, ka tohua enei tono, OS ranei e te maha o nga CVE. Engari, ahakoa he tino whai hua nga CVE mo te whai i nga take me te whakamohio ki nga kaihoko me nga kaiwhakamahi, he iti noa te korero mo te haumarutanga o te rorohiko.

Hei tauira, whakaarohia te tapeke o nga CVE i roto i nga tau e wha kua pahure ake nei mo te kernel Linux me nga tohatoha tūmau rongonui e rima, ara ko Ubuntu, Debian, Red Hat Enterprise Linux me OpenSUSE.

E hia miriona takirua i muri mai. I pehea a Linux i kaha ake ai
Fig. 1

He aha te korero a tenei kauwhata? Ko te nui ake o nga CVE te tikanga he whakaraerae ake tetahi tohatoha i tetahi atu? Karekau he whakautu. Hei tauira, i roto i tenei tuhinga ka kite koe he kaha ake nga tikanga haumarutanga a Debian ki te whakataurite ki te OpenSUSE, RedHat Linux ranei, engari he maha atu nga CVE a Debian. Heoi, ehara i te mea he ngoikore te haumarutanga: ahakoa ko te aroaro o te CVE kaore e tohu mena he whakaraeraetanga whakangao. Ko nga tohu taumaha he tohu mo te pehea pea te whakaraeraetanga, engari i te mutunga ka whakawhirinaki nui ki nga whakamarumaru kei roto i nga punaha e pa ana, me nga rauemi me nga kaha o te hunga whakaeke. Ano, ko te kore o nga purongo CVE kaore he korero mo etahi atu kaore i rehitatia, i te mohiotia ranei whakaraeraetanga. Ko te rerekeetanga o te CVE na nga mea ke atu i te kounga o te rorohiko, tae atu ki nga rauemi kua tohaina ki te whakamatautau me te rahi o te turanga kaiwhakamahi. I roto i ta maatau tauira, ko te nui ake o nga CVEs a Debian ka tohu noa ka tukuna e Debian etahi atu kete rorohiko.

Ko te tikanga, ka whakaratohia e te punaha CVE nga korero whai hua e taea ai e koe te hanga i nga whakamarumaru tika. Ko te pai ake o te maarama ki nga take o te korenga o te hotaka, he ngawari ake ki te tautuhi i nga tikanga e taea te whakamahi me te whakawhanake i nga tikanga tika. te kitenga me te whakautu. Kei te Fig. Ko te 2 e whakaatu ana i nga waahanga whakaraerae mo nga tohatoha katoa i nga tau e wha kua hipa (puna). Ka marama tonu ko te nuinga o nga CVE ka taka ki nga waahanga e whai ake nei: te whakakore i te ratonga (DoS), te mahi waehere, te waipuke, te pirau o te mahara, te rerenga korero (whakaahua) me te whakanui i te mana. Ahakoa he maha nga CVE e tatauhia ana i nga wa maha i roto i nga waahanga rereke, i te nuinga o te waa ka mau tonu nga take ano i ia tau. I te waahanga e whai ake nei o te tuhinga, ka arotakehia e matou te whakamahinga o nga momo kaupapa whakamarumaru hei aukati i te whakamahi i enei whakaraeraetanga.

E hia miriona takirua i muri mai. I pehea a Linux i kaha ake ai
Fig. 2

mahi

I roto i tenei tuhinga ka whakaaro matou ki te whakautu i nga patai e whai ake nei:

  • He aha te haumarutanga o nga tohatoha Linux rereke? He aha nga tikanga whakamarumaru kei roto i te pata me nga tono mokowā kaiwhakamahi?
  • I pehea te whakarereketanga o nga tikanga haumarutanga i roto i te waa puta noa i nga tohatoha?
  • He aha te toharite o te whakawhirinaki o nga kohinga me nga whare pukapuka mo ia tohatoha?
  • He aha nga whakamarumaru ka whakatinanahia mo ia takirua?

Te kowhiringa o nga tohatoha

Te ahua nei he uaua ki te kimi i nga tatauranga tika mo nga whakaurunga tohatoha, na te mea i te nuinga o te waa kaore te maha o nga tangohanga e tohu i te maha o nga whakaurunga tuuturu. Heoi, ko nga momo rereke Unix te nuinga o nga punaha tūmau (i runga i nga tūmau tukutuku 69,2%, na tatauranga W3techs me etahi atu puna), kei te tipu haere tonu o raatau wahanga. No reira, mo a maatau rangahau i aro ki nga tohatoha e waatea ana i waho o te pouaka i runga i te papa Google Cloud. Ina koa, i tohua e maatau te OS e whai ake nei:

Tohaina/putanga
Tuhinga
Hanga

OpenSUSE 12.4
4.12.14-95.3-taunoa
#1 SMP Wenerei Hakihea 5 06:00:48 UTC 2018 (63a8d29)

Debian 9 (toro)
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 Hanuere 15 17:07:28 UTC 2019

CentOS 7
3.10.0-957.5.1.el7.x86_64
#1 SMP Paraire Pepuere 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 Wenerei Noema 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 Tai Noema 15 17:36:42 UTC 2018

Ubuntu 14.04 (Trusty Tahr)
4.4.0–140-generic

#166~14.04.1-Ubuntu SMP Hatarei Noema 17 01:52:43 UTC 20…

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

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

Ripanga 1

Анализ

Me ako tatou i te whirihoranga kernel taunoa, tae atu ki nga ahuatanga o nga kohinga e waatea ana ma te kaiwhakahaere mokihi o ia tohatoha i waho o te pouaka. No reira, ka whakaarohia noa e matou nga kohinga mai i nga whakaata taunoa o ia tohatoha, kaore e aro ki nga kohinga mai i nga putunga koretake (penei i nga whakaata 'whakamatautau' a Debian) me nga kohinga tuatoru (penei i nga kohinga Nvidia mai i nga whakaata paerewa). I tua atu, kaore matou e whakaaro ki nga whakahiato kernel ritenga, ki nga whirihoranga-pakeke ranei.

Tātaritanga Whirihoranga Kernel

I tono matou i tetahi tuhinga tātari i runga i kaitaki kconfig koreutu. Me titiro ki nga tawhā whakamarumaru o waho o te pouaka o nga tohatoha kua whakaingoatia me te whakataurite ki te rarangi mai Kaupapa Whaiaro Whaiaro (KSPP). Mo ia kōwhiringa whirihoranga, ka whakaahua te Ripanga 2 i te tautuhinga e hiahiatia ana: ko te pouakataki mo nga tohatoha e ū ana ki nga taunakitanga KSSP (tirohia nga korero e whai ake nei mo te whakamaramatanga o nga kupu). konei; I roto i nga tuhinga e heke mai nei ka whakamaramahia e matou te maha o enei tikanga haumarutanga i puta mai me pehea te tarai i tetahi punaha i te wa e ngaro ana).

E hia miriona takirua i muri mai. I pehea a Linux i kaha ake ai

E hia miriona takirua i muri mai. I pehea a Linux i kaha ake ai

I te nuinga o te waa, he kaha ake nga whakaritenga o nga kakano hou mai i te pouaka. Hei tauira, ko te CentOS 6.10 me te RHEL 6.10 i runga i te kakano 2.6.32 karekau i te nuinga o nga ahuatanga whakahirahira kua whakatinanahia ki nga kakano hou penei i SMAP, nga whakaaetanga RWX tino, te whakatika matapōkere, te tiaki copy2usr ranei. Me tohu ko te maha o nga whiringa whirihoranga i roto i te teepu kaore i te waatea i roto i nga putanga tawhito o te kernel kaore e tika ana - kei te tohu tonu tenei i te tepu na te kore o te tiaki tika. Waihoki, mena karekau he whiringa whirihoranga i roto i tetahi putanga, a ka hiahia te haumarutanga kia monohia taua whiringa, ka kiia tenei he whirihoranga whaitake.

Ko tetahi atu mea hei whakaaro mo te whakamaori i nga hua: ka taea hoki te whakamahi etahi whirihoranga kernel e whakanui ana i te mata whakaeke mo te haumarutanga. Ko enei tauira ko nga uprobes me nga kprobes, nga waahanga kernel, me te BPF/eBPF. Ko ta matou kupu tohutohu ko te whakamahi i nga tikanga o runga ake nei hei whakamarumaru tuturu, na te mea ehara i te mea iti ki te whakamahi me te whakaaro o ta raatau mahi kino kua whakatauhia e nga kaiwhakaari kino he turanga i roto i te punaha. Engari ki te whakahohea enei whiringa, me kaha te kaiwhakahaere o te punaha ki te aro turuki mo te tukino.

Ma te titiro atu ki nga whakaurunga i te Ripanga 2, ka kite tatou he maha nga kakano o naianei hei whakamarumaru i nga mahi whakaraerae penei i te rerenga korero me te puhake / puhake. Heoi, ka kite matou ahakoa ko nga tohatoha rongonui hou kaore ano kia whakatinanahia he whakamarumaru uaua ake (hei tauira, me nga papanga te haumarutanga) he whakamarumaru hou ranei mo nga whakaeke whakamahi ano (hei tauira. te huinga o te matapōkeretanga me nga kaupapa penei i te R^X mo te waehere). Ko te mea kino rawa atu, ahakoa ko enei parepare matatau ake karekau e whakamarumaru ki te katoa o nga whakaeke. Na reira, he mea nui ma nga kaiwhakahaere punaha ki te whakakii i nga whirihoranga atamai me nga otinga e tuku ana i te rapunga me te aukati i nga mahi whakahaere.

Tātari Tono

Ehara i te mea miharo, he rereke nga ahuatanga o nga momo tohatoha, nga whiringa whakahiato, nga whakawhirinakitanga whare pukapuka, me era atu. whai pānga nga tohatoha me nga kohinga me te iti o te whakawhirinaki (hei tauira, nga coreutils i runga i te Ubuntu, i te Debian ranei). Hei arotake i nga rereketanga, i tangohia e matou nga kohinga katoa e waatea ana, i tango i o raatau ihirangi, ka tātarihia nga tohu-rua me nga whakawhirinaki. Mō ia mōkihi, i aroturuki mātou i ērā atu mōkihi e whakawhirinaki ana, ā, mō ia ā-rua, ka whai mātou i ōna herenga. I tenei wahanga ka whakarapopotohia e matou nga whakatau.

tohatoha

I te katoa, 361 nga kohinga i tangohia e matou mo nga tohatoha katoa, ko te tango i nga kohinga mai i nga whakaata taunoa anake. I warewarehia e matou nga kohinga karekau he ELF, penei i nga puna, momotuhi, aha atu. I muri i te tātari, 556 nga kohinga i toe, e 129 te katoa. Ko te tohatoha o nga kohinga me nga konae puta noa i nga tohatoha ka whakaatuhia i te Fig. 569.

E hia miriona takirua i muri mai. I pehea a Linux i kaha ake ai
Fig. 3

Ka kite koe ka nui ake te tohatanga hou, ka nui ake nga kete me nga taarua kei roto, he arorau. Heoi, kei roto i nga kohinga Ubuntu me Debian he maha atu nga taarua (e rua nga whakahaere me nga waahanga hihiri me nga whare pukapuka) atu i te CentOS, SUSE me te RHEL, tera pea ka pa ki te mata whakaeke o Ubuntu me Debian (me tohu ko nga nama e whakaatu ana i nga nama katoa o nga putanga katoa. mōkihi, ara, he maha nga wa ka tātarihia etahi konae). He mea nui tenei ina whakaarohia e koe nga whakawhirinakitanga i waenga i nga kohinga. No reira, ko te whakaraeraetanga i roto i te kete takirua kotahi ka pa ki nga wahanga maha o te puunaha rauwiringa kaiao, pera me te whare pukapuka whakaraerae ka pa ki nga taarua-rua katoa e kawemai ana. Hei timatanga, me titiro ki te tohatoha o te maha o nga whakawhirinakitanga i waenga i nga kete i roto i nga punaha whakahaere rereke:

E hia miriona takirua i muri mai. I pehea a Linux i kaha ake ai
Fig. 4

Tata ki nga tohatoha katoa, 60% o nga kohinga kei te 10 te iti rawa o nga whakawhirinakitanga. I tua atu, ko etahi o nga kohinga he nui ake te maha o nga whakawhirinakitanga (neke atu i te 100). Ka pa ano ki te whakamuri i nga whakawhirinakitanga o te kete: pera i te mea e tumanakohia ana, he maha nga kete ka whakamahia e te maha atu o nga kete i roto i te tohatoha, no reira ko nga whakaraeraetanga i roto i te hunga kua tohua he tino tupono. Hei tauira, ka whakarārangihia e te ripanga e whai ake nei nga kohinga 20 me te nui rawa o nga whakawhirinaki whakamuri i roto i te SLES, Centos 7, Debian 9 me Ubuntu 18.04 (ko ia pūtau e tohu ana i te kete me te maha o nga whakawhirinaki whakamuri).

E hia miriona takirua i muri mai. I pehea a Linux i kaha ake ai
Ripanga 3

Meka whakamere. Ahakoa ko nga OS katoa i tātarihia he mea hanga mo te hoahoanga x86_64, a ko te nuinga o nga kete kua tautuhia te hoahoanga ko te x86_64 me te x86, he maha nga wa kei roto i nga kete nga takirua mo etahi atu hoahoanga, penei i te Whakaaturanga 5. XNUMX.

E hia miriona takirua i muri mai. I pehea a Linux i kaha ake ai
Fig. 5

I te waahanga e whai ake nei, ka rukuhia e tatou nga ahuatanga o nga waahanga-rua kua tātarihia.

Tauanga tiaki kōnae rua

I te iti rawa, me tirotiro koe i te huinga taketake o nga whiringa haumarutanga mo o waahi-rua. He maha nga tohatoha Linux ka tae mai me nga tuhinga e mahi ana i nga arowhai. Hei tauira, he tuhinga penei a Debian/Ubuntu. Anei tetahi tauira o ana mahi:

$ 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

Ka taki rima te tuhinga nga mahi tiaki:

  • Turanga Independent Executable (PIE): Ka tohu mena ka taea te nukuhia te waahanga kuputuhi o te papatono ki te mahara ki te whakatutuki i te matapōkeretanga mena ka whakahohea te ASLR i te pata.
  • Kua Tiakihia te Tapae: Mena ka taea e nga canaries taapu te tiaki i nga whakaeke tukinga.
  • Whakapaia te Puna: mehemea ka whakakapia nga mahi haumaru (hei tauira, strcpy) ki o raatau hoa noho haumaru ake, a ka whakakapihia nga waea kua takina i te wa whakahaere ki o raatau mahi kore i takina (hei tauira, memcpy hei utu mo __memcpy_chk).
  • Nga nuku-anake (RELRO): Mena ka tohua nga urunga ripanga nukuhia he panui-anake mena ka whakaohohia i mua i te tiimata o te mahi.
  • Te herenga tonu: Mena ka whakaaetia e te kaihono wa-haere nga nekehanga katoa i mua i te tiimata o te mahinga o te papatono (he rite tenei ki te RELRO katoa).

Kei te rawaka nga tikanga o runga ake nei? Kia aroha mai kaore. He huarahi e mohiotia ana ki te karo i nga parepare katoa o runga ake nei, engari ko te kaha ake o te parepare, ko te teitei ake o te pa mo te kaitukino. Hei tauira, RELRO tikanga karo he uaua ake te tono mena ka whai mana te PIE me te herenga tonu. Waihoki, me mahi ano te ASLR ki te hanga i tetahi mahi mahi. Heoi, kua rite nga kaiwhaiwhai mohio ki te whakatutuki i enei whakamarumaru: ko to ratou ngaro ka tere ake te hack. No reira he mea nui kia whakaarohia enei mahi e tika ana iti noa.

I hiahia matou ki te ako e hia nga konae takirua kei roto i nga tohatoha e paataihia ana e tiakina ana e enei me etahi atu tikanga e toru:

  • Moka kore e taea te whakahaere (NX) ka aukati i te mahi i tetahi rohe kaore e taea te whakahaere, penei i te puranga puranga, aha atu.
  • RPATH/RUNPATH e tohu ana i te ara mahi e whakamahia ana e te kaiuta hihiko ki te kimi whare pukapuka e rite ana. Ko te mea tuatahi obligatory mo tetahi punaha hou: na te kore ka taea e nga kaiwhaiwhai te tuhi i te utu ki roto i te mahara me te mahi pera. Mo te tuarua, ka awhina nga whirihoranga ara mahi he ki te whakauru i te waehere kore pono ka puta he raru maha (hei tauira. te whakanui i te manaA etahi atu raruraru).
  • Ko te parenga tukinga o te puranga he whakamarumaru mai i nga whakaeke e īnaki ai te puranga ki etahi atu waahanga o te mahara (penei i te puranga). I runga i nga mahi kino tata whakaraeraetanga tukinga puranga systemd, i mahara matou he mea tika ki te whakauru i tenei tikanga ki roto i a maatau huinga raraunga.

No reira, kia kore e roa, kia heke iho ki nga nama. Kei roto i te Ripanga 4 me te 5 he whakarāpopototanga o te tātaritanga o nga konae ka taea te whakahaere me nga whare pukapuka o nga momo tohatoha.

  • Ka taea e koe te kite, ka whakatinanahia te whakamarumaru NX ki nga waahi katoa, me nga waahanga onge. Ina koa, ka taea e tetahi te kite i tana whakamahinga iti ake i roto i nga tohatoha Ubuntu me Debian ki te CentOS, RHEL me OpenSUSE.
  • He maha nga waahi e ngaro ana nga kakano, ina koa ki nga tohatoha me nga kakano tawhito. Kei te kitea etahi ahunga whakamua i roto i nga tohatoha hou o Centos, RHEL, Debian me Ubuntu.
  • Haunga a Debian me Ubuntu 18.04, ko te nuinga o nga tohatoha he ngoikore te tautoko PIE.
  • He ngoikore te whakamarutanga tukinga i roto i OpenSUSE, Centos 7 me RHEL 7, karekau i etahi atu.
  • Ko nga tohatoha katoa me nga kakano hou he tautoko mo te RELRO, me te Ubuntu 18.04 e arahi ana ko Debian te tuarua.

Ka rite ki te korero i mua ake nei, ko nga ine i tenei ripanga ko te toharite mo nga putanga katoa o te konae rua. Mena ka titiro koe ki nga putanga hou o nga konae, ka rereke nga nama (hei tauira, tirohia Te ahunga whakamua a Debian me te whakatinanatanga PIE). I tua atu, ko te nuinga o nga tohatoha ka whakamatau noa i te haumarutanga o etahi mahi i roto i te rua i te wa e tatau ana i nga tatauranga, engari ko ta maatau tātaritanga e whakaatu ana i te ōrau pono o nga mahi kua whakapakeketia. No reira, ki te 5 i roto i te 50 nga mahi ka tiakina i roto i te rua, ka hoatu he kaute 0,1, e rite ana ki te 10% o nga mahi e whakapakarihia ana.

E hia miriona takirua i muri mai. I pehea a Linux i kaha ake ai
Ripanga 4. Ko nga ahuatanga haumarutanga mo nga konae whakahaere e whakaatuhia ana i te Fig. 3 (te whakatinanatanga o nga mahi e tika ana hei paheketanga o te tapeke o nga konae ka taea te whakahaere)

E hia miriona takirua i muri mai. I pehea a Linux i kaha ake ai
Ripanga 5. Nga ahuatanga haumaru mo nga whare pukapuka e whakaatuhia ana i te Fig. 3 (te whakatinanatanga o nga mahi e tika ana hei paheketanga o te tapeke o nga whare pukapuka)

Na kei reira te ahunga whakamua? He pono: ka kitea tenei mai i nga tatauranga mo nga tohatoha takitahi (hei tauira, Debian), mai i nga ripanga o runga ake nei. Hei tauira i te Fig. Ko te Whakaahua 6 e whakaatu ana i te whakatinanatanga o nga tikanga whakamarumaru i roto i nga tohatoha e toru o te Ubuntu LTS 5 (kua waihohia e matou nga tatauranga tiaki tukinga tukinga). Ka kite matou mai i te putanga ki te putanga ka nui ake nga konae e tautoko ana i nga canaries stack, me te maha atu ano o nga taarua ka tukuna me te tiaki RELRO katoa.

E hia miriona takirua i muri mai. I pehea a Linux i kaha ake ai
Fig. 6

Kia aroha mai, he maha nga konae ka taea te whakahaere i roto i nga tohatoha rereke karekau tonu etahi o nga parenga o runga ake nei. Hei tauira, ma te titiro ki te Ubuntu 18.04, ka kite koe i te ngetty binary (he whakakapi getty), me nga anga mksh me lksh, te kaiwhakamaori picolisp, nga kete nvidia-cuda-toolkit (he kete rongonui mo nga tono whakatere GPU. penei i nga anga ako miihini), me te klibc -utils. Waihoki, ko te mandos-kiritaki-rua (he taputapu whakahaere e taea ai e koe te whakaara ano i nga miihini me nga punaha konae whakamunatia) me te rsh-redone-kiritaki (he whakahou i te rsh me te rlogin) ka tukuna kaore he tiaki NX, ahakoa kei a raatau nga mana SUID : (. Ano hoki, He maha nga takirua suid kaore he whakamarumaru taketake penei i nga canaries stack (hei tauira, te Xorg.wrap rua mai i te kete Xorg).

Whakarāpopoto me te Whakamutunga

I roto i tenei tuhinga, kua tohua e matou etahi ahuatanga haumarutanga o nga tohatoha Linux hou. I whakaatuhia e te tātaritanga ko te tohatoha hou o te Ubuntu LTS (18.04) e whakamahi ana, i te toharite, te OS kaha me te tiaki taumata tono i waenga i nga tohatoha me nga kakano hou, penei i te Ubuntu 14.04, 12.04 me Debian 9. Heoi, ko nga tohatoha kua tirohia CentOS, RHEL me Ko te OpenSUSE i roto i ta maatau huinga ma te taunoa ka whakaputahia e ratou he huinga kohinga nui ake, a, i roto i nga putanga hou (CentOS me RHEL) he nui ake te paheketanga o te whakamarumaru tukinga ki te whakataurite ki nga kaiwhakataetae a Debian (Debian me Ubuntu). Ko te whakataurite i nga putanga CentOS me RedHat, ka kite matou i nga whakapainga nui i roto i te whakatinanatanga o nga canaries stack me te RELRO mai i nga putanga 6 ki te 7, engari i te toharite he nui ake nga waahanga kua whakatinanahia i te RHEL. I te nuinga o te waa, me aro nui nga tohatoha katoa ki te whakamarumaru PIE, haunga te Debian 9 me te Ubuntu 18.04, ka whakatinanahia i roto i te iti iho i te 10% o nga taarua i roto i ta maatau huinga raraunga.

Hei whakamutunga, me tohu ahakoa i whakahaerehia e matou te rangahau a-ringa, he maha nga taputapu haumaru e waatea ana (hei tauira. Lynis, Tiger, He whakaheke), e mahi ana i te tātari me te awhina ki te karo i nga whirihoranga kino. Kia aroha mai, ahakoa te whakamarumaru kaha i roto i nga whirihoranga whaitake e kore e kii i te kore o nga mahi. Koia matou e tino whakapono ana he mea nui ki te whakarite te aroturuki pono me te aukati i nga whakaeke i roto i te waa tuuturu, e aro ana ki nga tauira whakangao me te aukati.

Source: will.com

Tāpiri i te kōrero