Pribilegioen Eskaladaren Ahultasuna

Pribilegioen Eskaladaren Ahultasuna hemen: CI/CD pipelines

Talde gehienek pribilegioen eskaladaren ahultasuna kernelaren akats edo gaizki erabilitako akats gisa irudikatzen dute. sudo ekoizpen zerbitzari batean. 2026an, bertsio arriskutsuena beste nonbait bizi da: -n pipeline zure kodea eraiki eta bidaltzen duena. A CI/CD lanak zure biltegietarako idazketa-sarbidea, zure pakete-erregistroetarako tokenak eta zure hodeiko kredentzialak izaten ditu normalean. Lan horren barruan kodea exekutatzen duen erasotzaile batek ez du asko eskalatu beharrik. pipeline dagoeneko egin du haientzat.

Gida honek pribilegioen eskalada ahultasun batek nolako itxura duen azaltzen du CI/CD pipelines eta edukiontziak, erasotzaileek erabiltzen dituzten bide ohikoenak aztertzen ditu eta bakoitza nola itxi erakusten du.

TL;DR: pribilegioen eskaladaren ahultasuna hemen CI/CD pipelines

Batean pipeline, erasotzaileak askotan ez du pribilegioak eskalatu beharrik. pipeline dagoeneko baditu. Pribilegioen eskaladaren ahultasun bat CI/CD normalean lanak behar duena baino zabalagoa den baimena da, barruan kode fidagarri ez dena exekutatzeko zain.

  • Pipelines diseinuz pribilegiatuak dira. Iturburu-kodea irakurtzen dute, sekretuak gordetzen dituzte, artefaktuak argitaratzen dituzte eta ekoizpenera zabaltzen dituzte, eta horrek zure erakundeko eskalatze-helburu baliotsuenetako bat bihurtzen ditu.
  • Eskalatze bide gehienak konfigurazio okerrak dira, ez ustiapenak. Token lehenetsi zabalak, pull_request_target Fork kodea exekutatzen duten lan-fluxuek eta iraupen luzeko hodeiko gakoek edozein zero-day baino kalte gehiago egiten dute.
  • Edukiontzi-pribilegioen eskaladak lan bat exekutatzaile oso bihurtzen du. Edukiontzi pribilegiatuek, root erabiltzaileek eta muntatutako Docker socket batek eraikuntza edukiontzia ate bihurtzen dute, ez muga.
  • Eskala handian gertatzen da dagoeneko. CHAINDROP harrak GitHub Actions exekutatzaileen sarbide gorena erabili zuen kredentzialak zuzenean exekutatzailearen memoriatik irakurtzeko.
  • Konponbidea etengabe betearazten den pribilegio gutxienekoa da. Token guztiak esparrutu, edukiontzi guztiak gogortu eta baimenen desbideratzea detektatu erasotzaile batek aurkitu aurretik.

Zer da ahultasun bat?

Pribilegioen eskaladaren ahultasuna erabiltzaile, prozesu edo kode zati bati eman beharreko baimenak baino gehiago lortzeko aukera ematen dion edozein ahultasun da. MITRE ATT&CK-k bere taktika propio gisa jarraitzen du. TA0004: Pribilegioen Eskalada, oin-euskarri txiki bat benetako kalte bihurtzen duen urratsa baita.

Bi forma klasiko daude:

  • Eskalada bertikala: gora mugitzea, adibidez, erabiltzaile arrunt batetik root izatera, edo irakurtzeko soilik den token batetik idazteko gai den batera.
  • Eskalatze horizontala: alboetara mugitzea, adibidez, lan baten sarbidea erabiliz beste talde baten biltegira, sekretuetara edo ingurunera iristeko.

Erasotzaileek pribilegioen eskaladaren ahultasun bat ustiatzen dute hiru ahultasun motaren bidez: software akatsak, konfigurazio okerrak eta baimen gehiegizkoak. Zerbitzarietan, akatsek jasotzen dute arreta gehien. CI/CD pipelines, konfigurazio okerrek eta baimen gehiegizkoek egiten dute ia lan guztia.

Zergatik den hain arriskutsua hemen CI/CD pipelines

A pipeline ez da eraikitzeko tresna bat soilik. Zure enpresako sarbide zabalenetakoa duen identitate automatizatua da. Ohiko lan batek honako hauek egin ditzake:

  • Iturburu-kodea begiratu eta aldatu
  • Irakurri sekretuak ingurune-aldagaietatik, gangetatik eta hodeiko metadatu-zerbitzuetatik
  • Argitaratu paketeak, irudiak eta kaleratu artefaktuak
  • Zabaldu eszenara eta ekoizpenera

The OWASP Top 10 CI/CD Segurtasun Arriskuak arazo hau zuzenean izendatzen du. Bere arriskua CICD-SEC-5: Nahikoa ez PipelineSarbide-kontroletan oinarritutakoak deskribatzen du nola exekutatzen duten erasotzaileek kode gaiztoa pipeline alboetara, barrura edo kanpora mugitzeko emandako baimenak gaizki erabiltzea CI/CD sistema.

Hau ez da teorikoa. 2026ko abuztuan CHAINDROP kanpainan zehar, malwarea Aldi baterako kredentzialak atera dira GitHub Actions exekutatzailearen memoriatik eta argitalpen-token lapurtuak erabili zituen pakete gehiago infektatzeko. Linux exekutatzen dutenetan, karga bere biltzailea sudo bidez exekutatu du exekutatzaile prozesuaren memoria irakurtzeko. Hori pribilegioen eskalada da CI/CD pipelinebere forma puruenean: menpekotasun pozoitua, korrikalariarenganako sarbide handiagoa eta lanak ukitu ditzakeen sekretu guztiak. Astean behin egiten ditugun aurkikuntzetan ikusten dugun eredu bera da npm pakete gaiztoak.

Non ezkutatzen da pribilegioen eskaladaren ahultasun bat? pipeline?

Sei bide ohiko, bakoitzak erasotzaile batentzat zer desblokeatzen duen eta hura ixten duen kontrola.

Eskalatze bideaNola gertatzen denErasotzaileak zer lortzen duenNola itxi behar da?
Gehiegi pribilegiatua pipeline tokenLan-fluxuak token-esparru zabal lehenetsiekin exekutatzen dira, ez dagoelako permissions blokea ezarrita dago.Koderako, bertsioetarako eta beste lan-fluxuetarako idazketa-sarbideaEzarri irakurtzeko soilik lehenetsitako balioak eta eman idazketa sarbidea lan bakoitzeko, behar den lekuetan bakarrik
Pozoituta pipeline exekuzioapull_request_target edo antzeko abiarazleek fidagarria ez den fork batetik kodea egiaztatu eta exekutatuBiltegiko sekretuak eta idazketa-token bat, bakar batetik pull requestEz exekutatu inoiz fork kodea testuinguru pribilegiatu batean; banatu lan fidagarriak eta ez fidagarriak
Edukiontziaren pribilegioen eskaladaEraiki edukiontziak root gisa, modu pribilegiatuan edo Docker socket-a muntatuta exekutatzen dira.Runner host-ean erroa erregistratu eta exekutatzen dituen lan guztietarako sarbideaExekutatu erro gisa ez den erabiltzaile gisa, kendu gaitasunak eta blokeatu pribilegioen eskalada edukiontziaren espezifikazioan
Iraupen luzeko hodeiko kredentzialakSekretu edo ingurune-aldagai gisa gordetako hodeiko gako estatikoakLana amaitu eta denbora luzez hodeiko kontuetarako sarbide iraunkorraErabili iraupen laburreko federatutako kredentzialak eta sekretu agerian utziak automatikoki ezeztatu
Auto-ostatutako korrikalari iraunkorrakKorrikalariak lan eta biltegietan berrerabiltzen dira, berreraiki gabeIraunkortasuna eta beste taldeen eraikuntzak aldatzeko gaitasunaErabili korrikalari iragankorrak eta isolatu itzazu konfiantza mailaren arabera
Giza kontu pribilegiatu gehiegiAdministratzaile inaktiboak, kanpoko kolaboratzaileak eta baimen-aldaketa berrikusi gabeak pilatzen diraAlda daitekeen kontu baliozkoa pipelines eta adar babesakBerrikusi sarbidea etengabe eta alerta eman baimen-aldaketa anomaloen kasuan

Edukiontziaren pribilegioen eskalada: eraikuntza-edukiontzia muga bat ez denean

Edukiontziak isolamendu itxura dute, beraz, taldeek askotan segurtasun muga gisa tratatzen dituzte. CI/CD, askotan ez dira bat. Edukiontziaren pribilegioen eskalada gertatzen da eraikuntza-edukiontzi baten barruko kodeak ostalariaren kontrola lortzen duenean, eta harekin batera bertan exekutatzen diren beste lan guztiak.

Hiru ezarpenek azaltzen dituzte kasu gehienak:

  1. Root gisa exekutatzen. Edukiontziaren barruko prozesua root bada, edozein haustura posizio indartsuenetik hasiko da.
  2. Modu pribilegiatua. Edukiontzi pribilegiatu batek ia zuzenean bertan exekutatzen den prozesu batek bezain sarbide bera du ostalarirako.
  3. Docker socket muntatu bat. Muntatzearen /var/run/docker.sock lan batean irudiak eraginkortasunez eraiki ahal izateko, lan hori errotuta uzten du ostalarian, pribilegiodun edukiontzi berriak abiarazi ditzakeelako.

Segurtasun-ikertzaileek erakutsi dute nola gertatzen den hau benetako CI sistemetan. Kasu ondo dokumentatu batean, ikertzaileak CI edukiontzi baten barruan exekutatzen ziren eraikitze-skriptetatik... edukiontzi-ihes osoa Cloudflare Pages-en build hosts-etan, aurretikcisedukiontzia segurtasun-muga gisa hartzen ari zelako, batez ere.

Hona hemen Kubernetes lan-espezifikazio gogortu baten itxura. Gako-ezarpena hau da: allowPrivilegeEscalation: false, eta horrek prozesu batek bere gurasoak baino pribilegio gehiago lortzea eragozten du, adibidez setuid binarioen bidez.

ci-build-pod.yamlKubernetes
# Eraikuntza-pod gogortua: edukiontzi-pribilegioen eskalatze-bide ohikoenak blokeatzen ditu
apiBertsioa: v1
mota: Pod
metadata:
  izena: ci-build
zehaztapenak:
  segurtasun-testuingurua:
    exekutatuAsNonRoot: Egia
    exekutatuErabiltzaileAs: 10001
    segcompProfile:
      mota: Exekuzio-denbora lehenetsia
  edukiontziak: - izena: eraikitzeko
      irudia: erregistroa.adibidea.com/eraiki-irudia@sha256:
      segurtasun-testuingurua:
        baimenduPribilegioenEskalatzea: false
        pribilegiatu: false
        IrakurriBakarrikRootFitxategiSistema: Egia
        gaitasun:				

Printzipio bera aplikatzen zaio Dockerfile-ri berari. Gehitu root ez den erabiltzaile bat eta aldatu sarrera-puntuaren aurretik:

DockerfileDocker
# Exekutatu edukiontzia root erabiltzaile ez gisa
FROM nodoa:22-mehea
RUN useradd --uid 10001 --etxea-sortu eraikitzailea
LAN ZUZENDARITZA / aplikazioa
COPY --txown=eraikitzaile: eraikitzaile . .
USER eraikitzailea
CMD ["nodoa", "index.js"]
Zergatik da garrantzitsua: gabe USER instrukzioan, edukiontzia root gisa exekutatzen da. Sarrera-puntuaren aurretik erabiltzaile dedikatu batera aldatzeak esan nahi du prozesu konprometitu bat ahalik eta pribilegio gutxienarekin hasten dela.

Kubernetes-en dokumentazioa segurtasun testuinguru bat konfiguratzea ezarpen horietako bakoitza xehetasunez aztertzen du.

GitHub Ekintzak: eskalatze ahultasun bat begi bistakoa da

GitHub Ekintzak dira talde askok pribilegioen eskalada lehen aldiz aurkitzen duten tokia. CI/CD pipelineak, arriskutsuak diren ereduak guztiz arruntak diruditelako. Bi merezi dute gaur egun biltegi guztietan begiratzea.

Tokenaren esparrua. Lan-fluxu guztiek jasotzen dute GITHUB_TOKENGitHub-en gidalerro propioak token autentifikazio automatikoa argi dago: ekintza batek token horretara irits daiteke esplizituki pasatzen ez baduzu ere, beraz, beti mugatu behar dituzu baimenak gutxienekora. Irakurketa soilik baimenak lan-fluxuaren goialdean ezartzeak eta lan bakoitzeko idazketa sarbidea emateak eskalatze bide ohikoena kentzen du urrats bakarrean:

.github/workflows/build.ymlGitHub Ekintzak
izena: eraikitzeko
on: [bultza]

# Lan guztietarako lehenetsia: irakurtzeko soilik
baimenak:
  edukia: irakurri

lanpostu:
  test:
    korrika egiten: ubuntu-berriena
    urrats:
      # Hirugarrenen ekintzak osotasun batera finkatu commit SHA, ez da alda daitekeen etiketa bat
      - erabilerak: ekintzak/ordainketa@commit-sha>
      - Korrika egin: npm ci eta npm proba

  askatu:
    beharrak: test
    korrika egiten: ubuntu-berriena
    # Lan honek bakarrik idatz dezake, eta behar duena bakarrik
    baimenak:
      edukia: idatzi
    urrats: - erabilerak: ekintzak/ordainketa@commit-sha>
      - Korrika egin: ./scripts/release.sh
Zergatik da garrantzitsua: Lan guztiak irakurtzeko soilik hasten dira, eta askapen lanak bakarrik idatz dezake. Proba-laneko menpekotasun bat arriskuan jartzen bada, irits daitekeen tokenak ez du zure biltegian idazteko baimenik izango.

Fidagarriak ez diren abiarazleak. Lan-fluxuak abiarazita pull_request_target helburuko biltegiaren sekretuekin eta idazteko gai den token batekin exekutatu, nahiz eta pull request adar batetik dator. Lan-fluxu horrek gero adarraldeko kodea egiaztatu eta exekutatzen badu, edonork ireki dezake pull request eta exekutatu kodea zure pribilegioekin. Pribilegioen eskaladaren ahultasun bat da, ez du inolako ustiapenik behar, besterik gabe pull requestMantendu urrats pribilegiatuak kode fidagarrian, eta exekutatu kode ez-fidagarria sekreturik gabeko lan-fluxu bereizi batean.

Patroi hauek leku seguru batean ikusi nahi badituzu, oxygeni-ahuntza biltegiak nahita segurtasunik gabeko informazioa biltzen du pipeline IaC entrenamendurako konfigurazioak. Zure GitHub konfigurazioaren berrikuspen zabalago bat lortzeko, ikusi gure gida Nola jakin GitHub aplikazio edo biltegi bat segurua den.

Nola saihestu pribilegioen eskalada ahultasun bat CI/CD pipelines

Itxiera-pribilegioen eskalada CI/CD pipelines printzipio bakar batera mugatzen da: pribilegio gutxien, geruza guztietan aplikatua eta behin baino etengabe egiaztatua. Kontrol-zerrenda praktiko bat:

  1. Token guztiak barne hartu. Irakurketa soilik lehenespenez, idazketa sarbidea lan bakoitzeko eta ez dago erakunde osoko tokenik biltegiko lan-fluxuetan.
  2. Kode fidagarria eta fidagarria ez dena bereizi. Ez exekutatu inoiz kodea forketatik edo kanpoko kolaboratzaileetatik sekretuak dituen lan batean.
  3. Gogortu eraikuntza-ontzi guztiak. Erabiltzaile ez-root-ak, modu pribilegiaturik gabe, Docker socket-ik gabe, gaitasunak galduta, allowPrivilegeEscalation: false.
  4. Ordeztu iraupen luzeko sekretuak. Hobetsi iraupen laburreko federatutako kredentzialak, eta berehala ezeztatu agerian dagoen edozer.
  5. Markatu korrika egiten duzuna. Hirugarrenen ekintzak eta irudiak erreferentzia gisa erabiliz commit SHA edo digest, beraz, etiketa kaltetu batek ezin du zure pipeline.
  6. Kontuz noraezei. Baimenak denborarekin zabaltzen dira. Administratzaile berriei, adar-babes ahulduei eta lan-fluxuen ustekabeko aldaketei buruzko alerta.
  7. Atea pipeline. Eraikuntza huts egin konfigurazio kritiko oker bat agertzen denean, batu aurretik.

Zailena arau hauek ez ezagutzea da. Egunero aldatzen diren ehunka biltegi eta lan-fluxutan betearaztea da.

Nola gelditzen du Xygenik pribilegioen eskalada ahultasun bat CI/CD?

Eskalatze-bide bakoitza, hura detektatzen edo blokeatzen duen Xygeni gaitasunarekin bat datorrena.

ArriskuenZer egiten du Xygenik
Pipeline konfigurazio okerrakKonfigurazio okerreko detektagailuak CI lanen definizioak eskaneatu, script-ak eta konfigurazio fitxategiak sortu GitHub, GitLab, Azure DevOps, Bitbucket, CircleCI eta Jenkins-en bidez, eta baimenak praktika onenek ahalbidetzen dutena baino zabalagoak markatu.
Edukiontziaren pribilegioen eskaladaIaC eta edukiontzien egiaztapenak Dockerfiles, docker-compose fitxategiak, Kubernetes manifestuak eta Helm grafikoak estaltzen ditu, root gisa exekutatzen diren edukiontziak barne.
Erabiltzaile gehiegi pribilegiatuak eta inaktiboakPribilegio gutxienekoen analisiak erabiltzaile inaktiboak eta gehiegizko pribilegioak dituztenak identifikatzen ditu, eta Health Check aurkikuntza bakoitza txartel bihurtzen du
Baimenen desbideratzeaAnomalia detektatzeko alertak baimen aldaketa ezohikoetan, bat-egite anomaloetan eta plugin instalazio ustekabeetan
Kredentzial agerianSekretuen detekzioak kodea hartzen du barne, pipelines eta edukiontzi irudiak, onartutako sekretu motak automatikoki ezeztatzeko aukerarekin
Kode gaiztoa barruan pipelineAlderantzizko shell-ak eta malware deskargak blokeatzen ditu pipelines denbora errealean, eta MEW-ek pakete gaiztoak detektatzen ditu sinadura bat egon aurretik
EnforcementPre-commit hooks eta CI guardrails Eraikuntza huts egin arazo kritikoetan, zure arauetarako YAML politika pertsonalizatuekin

Txekeak lerrokatuta daude OWASP Top 10 CI/CD Segurtasun Arriskuak standardhala nola CIS, NIST, eta OpenSSFAurkikuntza oro sartzen da Xygeni ASPM, non kodearen, mendekotasunaren eta sekretuen aurkikuntzen ondoan lehentasuna ematen zaion, ekoizpenera iristen den pribilegioen eskaladaren ahultasuna lehenik konpontzen baita.

Pribilegioen eskalada gehiena CI/CD pipelines dagoeneko zure lan-fluxuaren fitxategietan dago, fidagarria ez den kodea exekutatzeko zain. 

ohiko galderak

Zer da pribilegioen eskalada ahultasun bat? CI/CD?

Kodea modu batean exekutatzea ahalbidetzen duen edozein ahultasun da pipeline lanak behar duena baino sarbide gehiago lortu, hala nola, pribilegio gehiegiko token bat, sekretuak dituen kode fidagarria ez den lan-fluxu bat edo ostalarira irits daitekeen eraikuntza-edukiontzi bat.

Zer da edukiontzi pribilegioen eskalada?

Edukiontziaren pribilegioen eskalada edukiontzi baten barruko prozesu batek pribilegio handiagoak lortzen dituenean gertatzen da, askotan root gisa host-ean. Arrazoi ohikoenak root gisa exekutatzea, modu pribilegiatua eta muntatutako Docker socket bat dira.

Does allowPrivilegeEscalation: false edukiontzien ihesak geldiarazi?

Bide garrantzitsu bat blokeatzen du: prozesu batek bere gurasoak baino pribilegio gehiago lortzea, adibidez setuid binarioen bidez. Hobekien funtzionatzen du root ez den erabiltzaile batekin, galdutako gaitasunekin eta pribilegiorik gabeko moduarekin konbinatuta.

Is pull_request_target beti arriskutsua?

Ez bere kabuz. Pribilegioen eskalada ahultasun bihurtzen da lan-fluxuak hemendik kodea ateratzen eta exekutatzen duenean. pull request, kode hori zure sekretuekin eta idazteko gai den token batekin exekutatzen baita.

Nola aurkitu ditzaket pribilegioen eskalada bideak biltegi askotan zehar?

Eskuzko berrikuspenak ez dira eskalatzen. Automatiko bat CI/CD Segurtasun tresnak etengabe eskaneatzen ditu lan-fluxu, edukiontzi-zehaztapen eta baimen-multzo guztiak, eta zerbait zabaltzen denean abisatzen du.

sca-tools-software-konposizio-analisi-tresnak
Lehentasuna eman, konpondu eta babestu zure software arriskuak
Lortu zure doako kontua.
Ez da beharrezkoa kreditu txartelik.

Ziurtatu zure softwarearen garapena eta entrega

Xygeni produktu multzoarekin