Mietin, oliko Gentoon kovettunut profiili todella turvallisempi kuin mikään muu jakelu (kuten Debian, RHEL, Arch … ). Niille, jotka eivät tiedä, Gentoo hardened antaa järjestelmän rakentaa koko järjestelmälle erityisillä kovettuvilla GCC-vaihtoehdoilla (pie, ssp, relro, …) ja muilla muutamilla asioilla (grsec / selinux …).

Esimerkiksi tiedän, että Arch Linux ei rakenna kaikkia binäärejä näillä GCC: n kovettuvilla lipuilla, joten merkitseekö se jonkinlaista huolta turvallisuudesta?

Tiedän, että OpenVPN on rakennettu ilman PIE: tä ja osittaista Tarkoittaako tämä sitä, että jos OpenVPN: ää vastaan löydetään hyväksikäyttö, Arch-asennus voi olla vähemmän turvallinen kuin Gentoo?

TL; DR: Onko se todellinen etu Gentoo Hardenedin avulla muiden distroiden kanssa binääriturvaehdot?

Vastaa

Kaikki on lähteessä! Gentoo karkaistu on tietoturvavetoinen karkaistun profiilin levitys pakkaa paljon tekemään siitä todella turvallisen.

Mutta onko se kääntämisen arvoinen? Iso kysymys linux-foorumeilla.

Katsotaanpa Gentoon karkaistua profiilia turvallisuuden suhteen:

kun se lisää sekuntia se on niin vähän, että se ei ole sen arvoinen useimmissa tapauksissa. Se tarjoaa enemmän turvallisuutta binaarijakaumalle, koska kaikilla on samat binäärit ja hyökkääjän ei tarvitse arvailla, mihin tietty koodi voidaan ladata, mutta suorittamalla lähdevirhettä osoitetila on jo melko ainutlaatuinen. Ainoa tapaus, jossa se tarjoaa jonkin verran turvallisuutta, kun hyökkääjä yrittää arvata osoitetta hyödyntämiselle, väärä arvaus todennäköisesti kaataa prosessin ja se ladataan uudelleen uuteen osoitteeseen. Onko sinulla tarpeeksi arvokasta tietoa hyökkääjälle käymään läpi Jos hankit sen, sinun on käytettävä karkaistua profiilia, mutta fyysinen turvallisuus ja levyn salaus ovat tärkeämpiä, koska jos se on niin arvoista, on helpompi vain ryöstää sinua.

Huomaa, että kovetettua työpöydän profiilia ei ole, joten se yksinään vaikeuttaa jonkin verran, jos aiot käyttää sitä työpöydällä.

Toinen syy on, jos haluat käyttää jotain sellaista kuin SELinux (joka ei vaadi karkaistua profiilia), joka antaa sinulle erittäin tarkan hallinnan pääsynvalvonnasta, mutta se on myös hyvin rajoittava. Mielestäni se on sen arvoinen vain suurissa verkoissa, joissa on paljon käyttäjiä ja joilla on eritasoinen pääsy arkaluonteisiin tietoihin.

Tarvitsin joitain SELinux-ominaisuuksia, mutta päätin käyttää AppArmoria epätavallisella tavalla niiden toteuttamiseksi, koska SELinux on liikaa vaivaa. Ainoa AppArmor todella tarjoaa prosessin eristämisen tai hiekkalaatikon. Jos hyökkääjä saa pääsyn explointin kautta, hän voi käyttää vain tiedostoja, joihin hyödynnetyllä palvelulla on pääsy. Käytän sitä kaikkien profiilien kanssa estää suorittamisen kaikista maailman kirjoitettavista ja kotihakemistoista ja pääsyn ssh / pgp-avaimiin, avaimenperiin jne. Tämä toimii hyvin palvelimille ja työasemille eikä ole liian rajoittava. Ja jos minun on suoritettava koodi kotikirjastani kehitystä varten, voin Käynnistä rajoittamaton kuori sudon kautta. Voin jättää kannettavan tietokoneeni lukitsematta lompakon ollessa auki (käytän kwallet pam -moduulia), ja sinun on todella vaikeaa saada jotain kuten ssh-avaimia tai salasanoja (minulla on myös korjauksia kwalletille, joten se vaatii salasanan ord näyttää tallennetut salasanat), mutta niitä tarvitsevilla ohjelmilla on pääsy niihin.

Mutta mikä tekee siitä karkaistun? Katsotaanpa myös joitain noista kohteista:

  • PaX on ytimen korjaustiedosto, joka suojaa meitä pinon ja kasan ylivuotoilta. PaX tekee tämän käyttämällä ASLR: ää (osoiteavaruusasettelun satunnaistaminen), joka käyttää satunnaisia muistipaikkoja muistissa. Jokaisen komentokoodin on käytettävä osoitetta hyppäämään siihen upotettuna koodin suorittamiseksi, ja koska muistissa olevan puskurin osoite on satunnaistettu, tämä on paljon vaikeampaa saavuttaa. PaX lisää ylimääräisen suojaustason pitämällä ohjelman käyttämät tiedot suorittamattomalla muistialueella, mikä tarkoittaa, että hyökkääjä ei pysty suorittamaan koodia, jonka hän onnistui kirjoittamaan muistiin. PaX: n käyttämiseksi meidän on käytettävä PaX-yhteensopivaa ydintä, kuten karkaistuja lähteitä.
  • PIE / PIC (sijainnista riippumaton koodi): Tavallisesti suoritettavalla tiedostolla on kiinteä perusosoite, missä ne ovat ladataan. Tämä on myös osoite, joka lisätään RVA: hin suoritettavan tiedoston sisällä olevien toimintojen osoitteen laskemiseksi. Jos suoritettava tiedosto on käännetty PIE-tuella, se voidaan ladata missä tahansa muistissa, kun taas se on ladattava kiinteään osoitteeseen, jos se on käännetty ilman PIE-tukea. PIE: n on oltava käytössä, jos haluamme käyttää PaX: ää ASLR: n hyödyntämiseen.
  • RELRO (relocation read-only): Kun suoritamme suoritettavan tiedoston, ladatun ohjelman on kirjoitettava joihinkin osiin, jotka eivät Ei tarvitse merkitä kirjoitettavaksi sovelluksen käynnistämisen jälkeen. Tällaisia osioita ovat .ctors, .dtors, .jcr, .dynamic ja .got [4].Jos merkitsemme kyseiset osiot vain luku -olosuhteiksi, hyökkääjä ei voi käyttää tiettyjä hyökkäyksiä, joita voidaan käyttää koodin suorituksen yrittämiseen, kuten merkintöjen korvaaminen GOT-taulukossa.
  • SSP ( pinonmurskaussuojaa) käytetään käyttäjätilassa; se suojaa pinon ylivuotoja asettamalla kanarian pinolle. Kun hyökkääjä haluaa täyttää pinossa olevan paluu-EIP-osoitteen, hänen on myös ylitettävä satunnaisesti valittu kanariansaari. Kun näin tapahtuu, järjestelmä voi havaita, että kanariansaari on korvattu, jolloin sovellus lopetetaan, jolloin hyökkääjä ei voi hypätä mielivaltaiseen paikkaan muistissa ja suorittaa koodia sieltä.
  • RBAC (roolipohjainen kulunvalvonta): Huomaa, että RBAC ei ole sama kuin RSBAC, jonka esitämme myöhemmin. RBAC on pääsynhallinta, jota SELinux, Grsecurity jne. Voivat käyttää. Oletuksena tiedoston luoja hallitsee tiedostoa täydellisesti, kun taas RBAC pakottaa juurikäyttäjän hallitsemaan tiedostoa riippumatta siitä, kuka luonut se. Siksi kaikkien järjestelmän käyttäjien on noudatettava järjestelmänvalvojan asettamia RBAC-sääntöjä.

Lisäksi voimme käyttää myös seuraavia kulunvalvontajärjestelmiä, joita käytetään prosessien ja esineitä. Normaalisti meidän on valittava yksi alla kuvatuista järjestelmistä, koska vain yhtä kulunvalvontajärjestelmästä voidaan käyttää kerrallaan. Kulunvalvontajärjestelmiin kuuluvat seuraavat:

  • SELinux (suojattu Linux)
  • AppArmor (sovelluksen panssari)
  • Grsecurity, joka sisältää useita korjauksia voidaan käyttää ytimeen koko järjestelmän turvallisuuden parantamiseksi. Jos haluamme ottaa käyttöön Grsecurityn ytimessä, meidän on käytettävä Grsecurity-yhteensopivaa ydintä, joka on karkaistut lähteet.
  • RSBAC (sääntöjoukkoihin perustuva käyttöoikeuksien hallinta): Meidän on käytettävä rsbac-sources-ydintä rakentaa ydin rsbac-tuella.

Kaikki johtuu suuresta kysymyksestä, kuten aiemmin todettiin? Käännöksen arvoinen? Todellakin tulee alas siihen, miten tai mitä olet turvaamassa, ja onko vaivan arvoinen? Vai pystytkö todella turvaamaan sen, mitä et halua uteliaiden silmien näkevän?

Kommentit

  • Okei, kiitos kaikkien selityksestä näitä turvallisuusvalvontatekniikoita. Joten jos ymmärrän mielipiteesi, nämä kohdat ovat erittäin hyödyllisiä järjestelmän turvallisuuden parantamiseksi; mutta kysyt " onko se kääntämisen arvoinen? ". Joten, miksi ne eivät ole oletusarvoisesti käytössä joissakin suurissa distroissa? Luin, että työpöydän PaX saattaa rikkoa joitain binäärejä (kuuli Java- tai Firefox-tiedostoista); onko se ainoa syy?
  • Syy siihen, että PaX ja grsecurity eivät ole oletusasetuksia monissa distroissa, johtuu politiikasta ja egoista. Molempien kehittäjillä on persoonallisuuksia, jotka ovat vahvasti ristiriidassa Linux-ytimen kehitystiimin kanssa. Tämän lisäksi he eivät halua käyttää aikaa hajottaa laastarinsa paloiksi, jotka hyväksytään alkupäähän, ja käyttävät sen sijaan aikaa kehitettäessä lisää turvaominaisuuksia.
  • Huomaa myös, että grsecurity on ei kulunvalvontajärjestelmää. Spender (grsecurityn luoja) ärtyy hyvin, kun ihmiset kutsuvat sitä kulunvalvontajärjestelmäksi ja verrataan sitten SELinuxiin. : P Grsecurity on ytimen korjaustiedostojen yhdistelmä, joka lisää ytimen turvallisuutta poistamalla virheluokat. Sen RBAC-kulunvalvontajärjestelmällä ei ole merkitystä muuhun verrattuna. Grsecurity ': n turvaominaisuudet ovat niin laajoja, että se vie paljon enemmän tilaa kuin mitä voidaan sijoittaa yhteen viestiin. Katso melko kattava luettelo osoitteesta grsecurity.net.
  • samalla kun se lisää tietoturvaa, se ' on niin vähän, että se ' ei useimmissa tapauksissa ole sen arvoinen – Uh, tämä on täysin väärin. Ja turvallisuudella ei todellakaan ole mitään tekemistä osoitteiden piilottamisen kanssa. Olen ' m hämmästynyt siitä, että tämä vastaus on äänestetty.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *