Manaʻo ʻo Google iā SLSA e pale aku i nā loli ʻino i ka wā o ka hoʻomohala ʻana

Ua hoʻolauna ʻo Google i ka framework SLSA (Supply-chain Levels for Software Artifacts), e hōʻuluʻulu ana i ka ʻike i loaʻa i ka pale ʻana i nā ʻōnaehana hoʻomohala mai nā hoʻouka ʻana i hana ʻia ma ke ʻano o ke kākau ʻana i ke code, hoʻāʻo, hōʻuluʻulu a me ka hāʻawi ʻana i kahi huahana.

Ke ulu nui nei nā kaʻina hana hoʻomohala a hilinaʻi i nā mea hana ʻekolu, e hana ana i nā kūlana maikaʻi no ka holomua o nā hoʻouka kaua e pili ana i ka ʻike ʻole a me ka hoʻohana ʻana i nā nāwaliwali o ka huahana hope loa, akā no ka hoʻololi ʻana i ke kaʻina hana hoʻomohala ponoʻī. ka hoʻokomo ʻana i nā hoʻololi ʻino i ke kaʻina hana o ke kākau ʻana i nā code, ka hoʻololi ʻana i nā ʻāpana hoʻolaha a me nā hilinaʻi).

Hoʻopili ka framework i nā ʻano hoʻouka 8 e pili ana i ka hoʻoweliweli o ka hana ʻana i nā hoʻololi ʻino i ka pae o ka hoʻomohala ʻana i ke code, ka hui ʻana, ka hoʻāʻo ʻana a me ka hāʻawi ʻana i ka huahana.

Manaʻo ʻo Google iā SLSA e pale aku i nā loli ʻino i ka wā o ka hoʻomohala ʻana

  • A. Hoʻopili i nā hoʻololi i ka code kumu i loaʻa i nā puka hope a i ʻole nā ​​​​hewa huna e alakaʻi ai i nā nāwaliwali.

    Ka laʻana o kahi hoʻouka kaua: "Hypocrite Commits" - kahi hoʻāʻo e hoʻolaha i nā pā me nā nāwaliwali i loko o ka kernel Linux.

    ʻO ke ala palekana i manaʻo ʻia: loiloi kūʻokoʻa o kēlā me kēia hoʻololi e nā mea hoʻomohala ʻelua.

  • B. Hoʻololi i ke kahua hoʻomalu code source.

    Ka laʻana o ka hoʻouka ʻana: hoʻokomo ʻia nā hana ʻino me ka puka hope i loko o ka waihona Git o kahi papahana PHP ma hope o ka hoʻokuʻu ʻia ʻana o nā ʻōlelo huna.

    ʻO ke ala palekana i manaʻo ʻia: Hoʻonui ʻia ka palekana o ka pae hoʻokele code (i ka hihia o PHP, ua hoʻokō ʻia ka hoʻouka ʻana ma o kahi interface HTTPS liʻiliʻi i hoʻohana ʻia, e ʻae i nā loli e hoʻouna ʻia i ka wā e komo ai me ka hoʻohana ʻana i ka ʻōlelo huna me ka nānā ʻole ʻana i ke kī SSH, ʻoiai. ʻO ka ʻoiaʻiʻo i hoʻohana ʻia ʻo MD5 hiki ʻole ke hoʻohana i nā ʻōlelo huna).

  • C. Ke hana nei i nā hoʻololi i ka pae o ka hoʻololi ʻana i ke code i ke kūkulu ʻana a i ʻole ka ʻōnaehana hoʻohui hoʻomau (kūkulu ʻia ke code i kūlike ʻole i ke code mai ka waihona).

    Ka laʻana o ka hoʻouka ʻana: ʻO ka hoʻokomo ʻana i kahi puka hope i loko o Webmin ma o ka hoʻololi ʻana i ka ʻōnaehana kūkulu, ka hopena i ka hoʻohana ʻana i nā faila code i ʻokoʻa mai nā faila i loko o ka waihona.

    ʻO ke ala palekana i manaʻo ʻia: Ke nānā ʻana i ka kūpaʻa a me ka ʻike ʻana i ke kumu o ke code ma ke kikowaena hui.

  • D. Hoʻololi i ka paepae hui.

    ʻO ka laʻana o kahi hoʻouka kaua: ka hoʻouka ʻana o SolarWinds, i ka manawa i hōʻoia ʻia ai ka hoʻokomo ʻana o kahi puka hope i loko o ka huahana SolarWinds Orion i ka wā o ka hui.

    ʻO ke ala palekana i manaʻo ʻia: ka hoʻokō ʻana i nā ana palekana holomua no ka paepae hui.

  • E. Hoʻolaha i nā code malicious ma o nā hilinaʻi haʻahaʻa.

    ʻO kahi laʻana o kahi hoʻouka kaua: ka hoʻokomo ʻana i kahi puka hope i loko o ka hale waihona puke kaulana kaulana ma o ka hoʻohui ʻana i kahi hilinaʻi maikaʻi ʻole a laila hoʻokomo i nā code malicious i kekahi o nā mea hou o kēia hilinaʻi (ʻaʻole i ʻike ʻia ka hoʻololi ʻino i ka waihona git, akā ua aia wale nō i loko o ka pūʻolo MNP i hoʻopau ʻia).

    ʻO ke ala palekana i manaʻo ʻia: e hoʻopili hou i nā koi SLSA i nā mea hilinaʻi āpau (i ka hihia o ka hanana-stream, e hōʻike ana ka māka i ka hui o nā code i kūpono ʻole i nā ʻike o ka waihona Git nui).

  • F. Ka hoʻouka ʻana i nā mea waiwai i hana ʻole ʻia ma ka ʻōnaehana CI/CD.

    Ka laʻana o ka hoʻouka ʻana: hoʻohui i nā code hōʻino i ka palapala CodeCov, ka mea i ʻae i nā mea hoʻouka e unuhi i ka ʻike i mālama ʻia i loko o nā ʻōnaehana hoʻohui hoʻomau mau.

    ʻO ke ala palekana i manaʻo ʻia: ka hoʻomalu ʻana i ke kumu a me ka pololei o nā mea kiʻi (i ka hihia o CodeCov, hiki ke hōʻike ʻia ʻaʻole kūpono ka palapala Bash Uploader i hoʻouna ʻia mai ka pūnaewele codecov.io me ke code mai ka waihona papahana).

  • G. Hoʻololi i ka waihona waihona.

    Ka laʻana o kahi hoʻouka kaua: Ua hiki i nā mea noiʻi ke kau i nā aniani o kekahi mau waihona waihona puʻupuʻu kaulana i mea e puʻunaue ai i nā pūʻolo ʻino ma o lākou.

    ʻO ke ala palekana i manaʻo ʻia: ʻO ka hōʻoia ʻana ua hōʻuluʻulu ʻia nā mea i hoʻoili ʻia mai nā code kumu i haʻi ʻia.

  • H. Huikau i ka mea hoʻohana e hoʻokomo i ka pūʻolo hewa.

    Ka laʻana o ka hoʻouka ʻana: me ka hoʻohana ʻana i ka typosquatting (NPM, RubyGems, PyPI) e waiho i nā pūʻolo i loko o nā waihona e like me ke kākau ʻana i nā noi kaulana (e like me ka kope kope ma mua o ka kope kope).

No ka pale ʻana i nā mea hoʻoweliweli hae, hāʻawi ʻo SLSA i kahi hoʻonohonoho o nā ʻōlelo aʻoaʻo, a me nā mea hana e hoʻokaʻawale i ka hana ʻana i nā metadata loiloi. Hōʻuluʻulu ʻo SLSA i nā ʻano hoʻouka kaua maʻamau a hoʻolauna i ka manaʻo o nā papa palekana. Ke kau nei kēlā me kēia pae i kekahi mau koi pono e hōʻoia i ka pono o nā mea hana i hoʻohana ʻia i ka hoʻomohala ʻana. ʻOi aku ka kiʻekiʻe o ka pae SLSA i kākoʻo ʻia, ʻoi aku ka nui o nā pale i hoʻokō ʻia a ʻoi aku ka maikaʻi o ka ʻoihana i pale ʻia mai nā hoʻouka maʻamau.

  • Pono ʻo SLSA 1 e hoʻopiha piha ʻia ke kaʻina hana a hana i nā metadata ("provenance") e pili ana i ke ʻano o ke kūkulu ʻia ʻana o nā mea kiʻi, me ka ʻike e pili ana i nā kumu, nā hilinaʻi, a me ke kaʻina hana (ua hāʻawi ʻia kahi mea hana metadata no ka hoʻoponopono ʻana no GitHub Actions). ʻAʻole hoʻokomo ʻo SLSA 1 i nā mea o ka pale ʻana i nā hoʻololi ʻino, akā ʻike wale i ka code a hāʻawi i nā metadata no ka hoʻokele vulnerability a me ka nānā ʻana i ka pilikia.
  • SLSA 2 - hoʻonui i ka pae mua ma ke koi ʻana i ka hoʻohana ʻana i ka mana mana a me nā lawelawe hui e hoʻopuka i ka metadata hōʻoia. ʻO ka hoʻohana ʻana iā SLSA 2 hiki iā ʻoe ke ʻimi i ke kumu o ke code a pale i nā hoʻololi ʻole ʻia i ke code i ka hihia o nā lawelawe kūkulu hilinaʻi.
  • SLSA 3 - hōʻoia i ka hoʻokō ʻana o ke code kumu a me ke kahua kūkulu i nā koi o nā kūlana e hōʻoiaʻiʻo ai i ka hiki ke hoʻoponopono i ke code a hōʻoia i ka pono o ka metadata i hāʻawi ʻia. Manaʻo ʻia e hiki i nā mea loiloi ke hōʻoia i nā paepae e kūʻē i nā koi o nā kūlana.
  • ʻO SLSA 4 ka pae kiʻekiʻe loa, e hoʻohui ana i nā pae mua me kēia mau koi:
    • Manaʻo pono i nā hoʻololi a pau e nā mea hoʻomohala ʻelua.
    • Pono e hōʻike piha ʻia nā ʻanuʻu kūkulu, code, a me nā hilinaʻi, pono e unuhi ʻia a hōʻoia ʻia nā hilinaʻi a pau, a pono e hana ʻia ke kaʻina hana ma waho.
    • ʻO ka hoʻohana ʻana i kahi kaʻina hana hana hou e hiki ai iā ʻoe ke hana hou i ke kaʻina hana kūkulu iā ʻoe iho a hōʻoia i kūkulu ʻia ka mea hoʻokō mai ke kumu kumu i hāʻawi ʻia.

    Manaʻo ʻo Google iā SLSA e pale aku i nā loli ʻino i ka wā o ka hoʻomohala ʻana


    Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka