Bezpečnosť softvéru s otvoreným zdrojovým kódom pritiahla pozornosť odvetvia, ale riešenia si vyžadujú konsenzus o výzvach a spoluprácu pri implementácii.
Problém je zložitý a je potrebné ho pokryť mnohými aspektmi, z dodávateľského reťazca, riadenia závislostí, identity, okrem iného. Za týmto účelom spoločnosť Google nedávno vydala rámec („Know, Prevent, Fix“), ktorý vysvetľuje, ako môže priemysel myslieť na zraniteľné miesta v otvorenom zdroji a konkrétnych oblastiach, ktoré je potrebné najskôr vyriešiť.
Google vysvetľuje svoje dôvody:
„Vďaka nedávnym udalostiam svet softvéru získal hlbšie pochopenie skutočného rizika útokov dodávateľského reťazca. Softvér otvoreného zdroja by mal byť z hľadiska bezpečnosti menej riskantný, pretože všetok kód a závislosti sú otvorené a sú k dispozícii na kontrolu a overenie. Aj keď je to všeobecne pravda, predpokladá sa, že ľudia skutočne vykonávajú tieto inšpekčné práce. Pri toľkých závislostiach je nemožné všetky monitorovať a veľa balíkov otvoreného zdroja nie je dobre udržiavaných.
„Je bežné, že program priamo alebo nepriamo závisí od tisícov balíkov a knižníc. Napríklad Kubernetes teraz závisí od približne 1000 XNUMX balíkov. Open source pravdepodobne používa skôr závislosti ako proprietárny softvér a pochádza od širšieho spektra dodávateľov; počet nezávislých subjektov, ktorým je možné dôverovať, môže byť veľmi veľký. Vďaka tomu je nesmierne ťažké pochopiť, ako sa v produktoch používa otvorený zdroj a aké zraniteľnosti môžu byť relevantné. Neexistuje ani záruka, že to, čo je postavené, bude zodpovedať zdrojovému kódu.
V rámci navrhnutom spoločnosťou Google sa navrhuje rozdeliť túto ťažkosť na tri zväčša nezávislé problémové oblasti, z ktorých každá má konkrétne ciele:
Poznajte zraniteľné miesta vášho softvéru
Poznať svoje softvérové zraniteľnosti je ťažšie, ako by ste čakali pre veľa dôvodov. Áno OK existujú mechanizmy na hlásenie zraniteľností, nie je jasné, či skutočne ovplyvňujú konkrétne verzie softvéru, ktorý používate:
- Cieľ: Presné údaje o zraniteľnosti: Najprv je dôležité zachytiť presné metaúdaje zraniteľnosti zo všetkých dostupných zdrojov údajov. Napríklad znalosť verzie, ktorá predstavuje zraniteľnosť, pomáha určiť, či je softvér ovplyvnený, a znalosť jeho opravy vedie k presným a včasným opravám (a úzkemu oknu na možné zneužitie). V ideálnom prípade by mal byť tento pracovný postup klasifikácie automatizovaný.
- Po druhé, väčšina zraniteľností je skôr vo vašich závislostiach ako v kóde, ktorý píšete alebo priamo ovládate. Takže aj keď sa váš kód nezmení, prostredie zraniteľností ovplyvňujúcich váš softvér sa môže neustále meniť - niektoré sú opravené a niektoré pridané.
- Účel: Štandardná schéma pre databázy zraniteľností Na sledovanie a udržiavanie zraniteľností otvoreného zdroja, porozumenie ich následkom a riadenie ich zmierňovania sa vyžaduje infraštruktúra a priemyselné štandardy. Štandardná schéma zraniteľnosti by umožnila spustenie bežných nástrojov na viacerých databázach zraniteľností a zjednodušila by sledovanie úloh, najmä keď zraniteľnosti prechádzajú viacerými jazykmi alebo subsystémami.
Vyvarujte sa pridávaniu nových zraniteľností
Ideálne by bolo vyhnúť sa vytváraniu zraniteľností Aj keď nástroje na testovanie a analýzu môžu pomôcť, prevencia bude vždy zložitým predmetom.
Tu, Google navrhuje zamerať sa na dva konkrétne aspekty:
- Pochopte riziká pri rozhodovaní o novej závislosti
- Zlepšite kritické procesy vývoja softvéru
Opraviť alebo odstrániť zraniteľné miesta
Google uznáva, že všeobecný problém opravy nie je v jeho kompetencii, ale vydavateľ je presvedčený, že herci môžu urobiť viac pre vyriešenie problému špecifické pre správu zraniteľností v závislostiach.
Ďalej uvádza:
„Dnes je v tejto oblasti malá pomoc, ale keď zlepšujeme presnosť, oplatí sa investovať do nových procesov a nástrojov.
"Jednou z možností je samozrejme opraviť chybu priamo." Ak to môžete urobiť spätne kompatibilným spôsobom, riešenie je k dispozícii všetkým. Výzvou však je, že pravdepodobne nebudete mať skúsenosti s problémom alebo s priamou schopnosťou vykonávať zmeny. Oprava zraniteľnosti tiež predpokladá, že tí, ktorí sú zodpovední za údržbu softvéru, sú si vedomí problému a majú vedomosti a zdroje na odhalenie chyby.
Fuente: https://security.googleblog.com
Originál v angličtine hovorí:
Tu sa zameriavame na dva konkrétne aspekty:
- Pochopenie rizík pri rozhodovaní o novej závislosti
- Zlepšenie vývojových procesov pre kritický softvér
verzia"LinuxAdictos“ hovorí:
Tu Google navrhuje zamerať sa na dva konkrétne aspekty:
- Pochopte riziká pri výbere novej závislosti.
- Zlepšenie procesov vývoja kritického softvéru
Nová závislosť!?