En isolationsmekanisme, der ligner plegde, er ved at blive udviklet på FreeBSD

Det blev kendt, at der er foreslået en implementering en applikationsisoleringsmekanisme for FreeBSD, som minder om fold- og afsløringssystemets opkald udviklet af OpenBSD-projektet.

Isolering i plegde sker ved at forbyde adgang til systemkald, der ikke bruges af applikationen, og afsløre ved selektivt kun at åbne adgang til bestemte filstier, som applikationen kan arbejde med. Til applikationen dannes der en slags hvidliste over systemkald og filstier, og alle andre opkald og stier er forbudt.

Forskellen mellem foldet og afsløret, udviklet til FreeBSD, går det ud på at give et ekstra lag der giver dig mulighed for at isolere applikationer med ingen eller minimale ændringer i deres kode. Husk, at i OpenBSD sigter plegde og unlock efter tæt integration med basismiljøet og implementeres ved at tilføje specielle annotationer til koden for hver applikation.

For at forenkle organiseringen af ​​beskyttelse giver filtre dig mulighed for at undgå detaljer på niveauet af individuelle systemkald og at manipulere klasser af systemkald (input/output, fillæsning, filskrivning, sockets, ioctl, sysctl, start af processer osv.) . Adgangsbegrænsningsfunktioner kan kaldes i applikationskoden, efterhånden som visse handlinger udføres, for eksempel kan adgang til stikkontakter og filer lukkes efter åbning af de nødvendige filer og oprettelse af en netværksforbindelse.

Forfatteren af ​​fold- og afsløringsporten for FreeBSD beregnet til at give mulighed for at isolere vilkårlige applikationer, for hvilket gardinværktøjet foreslås, som gør det muligt at anvende regler defineret i en separat fil på ansøgninger. Den foreslåede konfiguration inkluderer en fil med grundlæggende indstillinger, der definerer klasserne af systemkald og typiske filstier, der er specifikke for visse applikationer (arbejde med lyd, netværk, logning osv.), samt en fil med adgangsregler for applikationsspecifikke.

Gardinværktøjet kan bruges til at isolere de fleste hjælpeprogrammer, serverprocesser, grafiske applikationer og endda hele desktopsessioner, der ikke er blevet ændret. Deling af gardin med isolationsmekanismerne leveret af Jail og Capsicum-undersystemerne er understøttet.

også det er muligt at organisere indlejret isolation, når lancerede applikationer arver reglerne fastsat af den overordnede applikation, supplere dem med separate begrænsninger. Nogle kerneoperationer (fejlretningsværktøjer, POSIX/SysV IPC, PTY) er desuden beskyttet af en barrieremekanisme, der forhindrer adgang til kerneobjekter, der er oprettet af andre processer end den nuværende eller overordnede proces.

En proces kan konfigurere sin egen isolation ved at kalde curtainctl eller ved at bruge funktionerne plegde() og unveil() leveret af libcurtain-biblioteket, svarende til OpenBSD's. Sysctl'en 'security.curtain.log_level' leveres til at spore låse, mens applikationen kører.

Adgang til X11- og Wayland-protokollerne aktiveres separat ved at angive "-X"/"-Y" og "-W"-indstillingerne, når du starter gardinet, men understøttelsen af ​​grafiske applikationer er endnu ikke tilstrækkeligt stabiliseret og har en række uløste problemer ( problemer opstår hovedsageligt ved brug af X11, og Wayland-support er meget bedre). Brugere kan tilføje yderligere begrænsninger ved at oprette lokale regelfiler (~/.curtain.conf). For eksempel,

Implementeringen inkluderer mac_curtain-kernemodulet til obligatorisk adgangskontrol (MAC), et sæt patches til FreeBSD-kernen med implementering af nødvendige drivere og filtre, libcurtain-biblioteket til brug af plegde- og afslørede funktioner i applikationer, utility-gardinet, viser konfiguration filer, en række tests og patches til nogle brugerrumsprogrammer (for eksempel for at bruge $TMPDIR til at forene arbejdet med midlertidige filer). Når det er muligt, forsøger forfatteren at minimere antallet af ændringer, der kræver patchning af kernen og programmer.

Endelig hvis du er interesseret i at vide mere om det, kan du kontrollere detaljerne I det følgende link.


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort.

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.