Gisugyot sa Google ang SLSA aron mapanalipdan batok sa makadaot nga mga pagbag-o sa panahon sa pag-uswag

Gipaila sa Google ang SLSA (Supply-chain Levels for Software Artifacts) nga balangkas, nga nagsumaryo sa kasamtangan nga kasinatian sa pagpanalipod sa imprastraktura sa pag-uswag gikan sa mga pag-atake nga gihimo sa yugto sa pagsulat sa code, pagsulay, pag-assemble ug pag-apod-apod sa usa ka produkto.

Ang mga proseso sa pag-uswag nahimong labi ka komplikado ug nagsalig sa mga himan sa ikatulo nga partido, nga nagmugna og paborableng mga kondisyon alang sa pag-uswag sa mga pag-atake nga may kalabutan dili sa pag-ila ug pagpahimulos sa mga kahuyangan sa katapusan nga produkto, apan sa pagkompromiso sa proseso sa pag-uswag mismo (mga pag-atake sa kadena sa suplay, kasagaran gitumong sa pagpaila sa malisyosong mga pagbag-o sa proseso sa pagsulat sa code, pag-ilis sa gipang-apod-apod nga mga sangkap ug mga dependency).

Giisip sa balangkas ang 8 nga mga matang sa mga pag-atake nga may kalabutan sa hulga sa paghimo og malisyosong mga pagbag-o sa yugto sa pag-uswag sa code, asembliya, pagsulay ug pag-apod-apod sa produkto.

Gisugyot sa Google ang SLSA aron mapanalipdan batok sa makadaot nga mga pagbag-o sa panahon sa pag-uswag

  • A. Naglakip sa mga pagbag-o sa source code nga adunay mga backdoor o tinago nga mga sayup nga nagdala sa mga kahuyangan.

    Pananglitan sa usa ka pag-atake: "Hypocrite Commits" - usa ka pagsulay sa pagpasiugda sa mga patch nga adunay mga kahuyangan sa Linux kernel.

    Gisugyot nga pamaagi sa seguridad: independente nga pagrepaso sa matag pagbag-o sa duha ka mga developer.

  • B. Pagkompromiso sa source code control platform.

    Pananglitan sa usa ka pag-atake: pag-injection sa mga malisyoso nga commit nga adunay backdoor ngadto sa Git repository sa usa ka proyekto sa PHP human ang mga password sa developer na-leak.

    Gisugyot nga pamaagi sa pagpanalipod: Dugang nga seguridad sa platform sa pagdumala sa code (sa kaso sa PHP, ang pag-atake gihimo pinaagi sa gamay nga gigamit nga interface sa HTTPS, nga nagtugot sa mga pagbag-o nga ipadala kung mag-log in gamit ang usa ka password nga wala gisusi ang SSH key, bisan pa. ang kamatuoran nga ang dili kasaligan nga MD5 gigamit sa pag-hash sa mga password).

  • C. Paghimo og mga pagbag-o sa yugto sa pagbalhin sa code ngadto sa pagtukod o padayon nga sistema sa panagsama (code nga dili motakdo sa code gikan sa repository kay gitukod).

    Pananglitan sa usa ka pag-atake: Pag-inject sa backdoor sa Webmin pinaagi sa paghimo og mga pagbag-o sa pagtukod sa imprastraktura, nga miresulta sa paggamit sa mga file sa code nga lahi sa mga file sa repository.

    Gisugyot nga pamaagi sa pagpanalipod: Pagsusi sa integridad ug pag-ila sa tinubdan sa code sa assembly server.

  • D. Pagkompromiso sa plataporma sa asembliya.

    Pananglitan sa usa ka pag-atake: ang pag-atake sa SolarWinds, diin ang pag-instalar sa usa ka backdoor sa produkto sa SolarWinds Orion gisiguro sa yugto sa asembliya.

    Gisugyot nga pamaagi sa pagpanalipod: pagpatuman sa mga advanced nga lakang sa seguridad alang sa plataporma sa asembliya.

  • E. Pagpasiugda sa malisyoso nga code pinaagi sa ubos nga kalidad nga mga dependency.

    Usa ka pananglitan sa usa ka pag-atake: ang pagpaila sa usa ka backdoor ngadto sa popular nga librarya sa stream sa panghitabo pinaagi sa pagdugang sa usa ka dili makadaot nga dependency ug dayon naglakip sa malisyosong code sa usa sa mga update niini nga dependency (ang malisyoso nga pagbag-o wala makita sa git repository, apan mao ang anaa lamang sa nahuman nga MNP package).

    Gisugyot nga pamaagi sa pagpanalipod: recursively nga magamit ang mga kinahanglanon sa SLSA sa tanan nga mga dependency (sa kaso sa event-stream, ang tseke magpadayag sa asembliya sa code nga dili katumbas sa mga sulud sa panguna nga Git repository).

  • F. Pag-upload sa mga artifact nga wala gibuhat sa CI/CD system.

    Pananglitan sa usa ka pag-atake: pagdugang og malisyoso nga code sa CodeCov script, nga nagtugot sa mga tig-atake sa pagkuha sa impormasyon nga gitipigan sa customer nga padayon nga integration system environment.

    Gisugyot nga pamaagi sa pagpanalipod: pagkontrol sa gigikanan ug integridad sa mga artifact (sa kaso sa CodeCov, mahimong ipadayag nga ang script sa Bash Uploader nga gipadala gikan sa website sa codecov.io dili katumbas sa code gikan sa repository sa proyekto).

  • G. Pagkompromiso sa package repository.

    Pananglitan sa usa ka pag-atake: Ang mga tigdukiduki nakahimo sa pag-deploy sa mga salamin sa pipila ka sikat nga mga repositoryo sa pakete aron sa pag-apod-apod sa mga malisyosong pakete pinaagi kanila.

    Gisugyot nga paagi sa pagpanalipod: Pagpamatuod nga ang gipang-apod-apod nga mga artifact gihugpong gikan sa gideklarar nga source code.

  • H. Paglibog sa user sa pag-instalar sa sayop nga package.

    Pananglitan sa usa ka pag-atake: gamit ang typosquatting (NPM, RubyGems, PyPI) aron ibutang ang mga pakete sa mga repositoryo nga susama sa pagsulat sa mga sikat nga aplikasyon (pananglitan, coffe-script imbes nga coffee-script).

Aron babagan ang gi-flag nga mga hulga, ang SLSA nagtanyag usa ka hugpong sa mga rekomendasyon, ingon man mga himan aron awtomatiko ang paghimo sa metadata sa pag-audit. Gisumaryo sa SLSA ang sagad nga mga pamaagi sa pag-atake ug gipaila ang konsepto sa mga layer sa seguridad. Ang matag lebel nagpahamtang sa piho nga mga kinahanglanon sa imprastraktura aron masiguro ang integridad sa mga artifact nga gigamit sa pag-uswag. Kon mas taas ang gisuportahan nga lebel sa SLSA, mas daghang proteksyon ang gipatuman ug mas maayo ang imprastraktura nga mapanalipdan gikan sa kasagarang mga pag-atake.

  • Ang SLSA 1 nagkinahanglan nga ang proseso sa pagtukod bug-os nga automated ug makamugna og metadata (β€œprovenance”) kon sa unsang paagi natukod ang mga artifact, lakip ang impormasyon bahin sa mga tinubdan, dependency, ug ang proseso sa pagtukod (usa ka pananglitan nga metadata generator para sa pag-audit ang gihatag para sa GitHub Actions). Ang SLSA 1 wala maglakip sa mga elemento sa panalipod batok sa malisyosong mga pagbag-o, apan nagpaila lamang sa code ug naghatag og metadata alang sa pagdumala sa kahuyang ug pagtuki sa risgo.
  • Ang SLSA 2 - nagpalapad sa unang lebel pinaagi sa pagpangayo sa paggamit sa pagkontrol sa bersyon ug mga serbisyo sa asembliya nga makamugna og gipamatud-an nga metadata. Ang paggamit sa SLSA 2 nagtugot kanimo sa pagsubay sa gigikanan sa code ug pagpugong sa dili awtorisado nga mga pagbag-o sa code sa kaso sa kasaligan nga mga serbisyo sa pagtukod.
  • Ang SLSA 3 - nagpamatuod nga ang source code ug ang build platform nagtagbo sa mga kinahanglanon sa mga sumbanan nga naggarantiya sa abilidad sa pag-audit sa code ug pagsiguro sa integridad sa metadata nga gihatag. Gituohan nga ang mga auditor mahimo’g sertipikasyon sa mga plataporma batok sa mga kinahanglanon sa mga sumbanan.
  • Ang SLSA 4 mao ang pinakataas nga lebel, nga nagdugang sa miaging lebel sa mga mosunod nga kinahanglanon:
    • Mandatory nga pagrepaso sa tanang kausaban sa duha ka lain-laing developers.
    • Ang tanan nga mga lakang sa pagtukod, code, ug mga dependency kinahanglan nga hingpit nga ipahayag, ang tanan nga mga dependency kinahanglan nga bulag nga makuha ug mapamatud-an, ug ang proseso sa pagtukod kinahanglan nga himuon offline.
    • Ang paggamit sa usa ka balikbalik nga proseso sa pagtukod nagtugot kanimo sa pag-usab sa proseso sa pagtukod sa imong kaugalingon ug pagsiguro nga ang executable gitukod gikan sa gigikanan nga code nga gihatag.

    Gisugyot sa Google ang SLSA aron mapanalipdan batok sa makadaot nga mga pagbag-o sa panahon sa pag-uswag


    Source: opennet.ru

Idugang sa usa ka comment