Bezpečné závislosti

Dokončeno

Velké procento kódu, které jsou přítomné v moderních aplikacích, se skládá z knihoven a závislostí zvolených vámi, vývojářem. Jedná se o běžnou praxi, která šetří čas a peníze. Nevýhodou ale je, že za tento kód zodpovídáte ( i když ho napsali jiní uživatelé), protože jste ho použili ve svém projektu. Pokud výzkumný pracovník (nebo ještě horší hacker) zjistí ohrožení zabezpečení v některé z těchto knihoven třetích stran, bude pravděpodobně ve vaší aplikaci přítomen i stejný chybný postup.

Používání komponent se známými ohroženími zabezpečení je v našem oboru velký problém. Je to tak problematické, že je to OWASP top 10 seznam nejhorších ohrožení zabezpečení webových aplikací, které se drží na #9 několik let.

Sledování známých ohrožení zabezpečení

Náš problém spočívá ve zjištění, že se objevil problém. Zajištění aktualizací knihoven a závislostí (číslo 4 na našem seznamu) samozřejmě pomůže, ale je vhodné udržovat si přehled o zjištěných ohroženích zabezpečení, které můžou aplikaci ovlivnit.

Důležité

Pokud má systém známé ohrožení zabezpečení, je mnohem pravděpodobnější, že bude mít k dispozici i zneužití, kód, který lidé můžou použít k útoku na tyto systémy. Pokud se zneužití zveřejní, je důležité, aby se všechny ovlivněné systémy okamžitě aktualizovaly.

Mitre je nezisková organizace, která udržuje seznam známých ohrožení zabezpečení a rizik. Tento seznam je veřejně vyhledatelná sada známých ohrožení zabezpečení v aplikacích, knihovnách a architekturách. Pokud najdete knihovnu nebo komponentu v databázi CVE, pak obsahuje známá ohrožení zabezpečení.

Komunita zabezpečení odesílá problémy, když se v produktu nebo komponentě najde chyba zabezpečení. Každému publikovanému problému se přiřadí ID a každý obsahuje datum zjištění, popis ohrožení zabezpečení a odkazy na publikovaná alternativní řešení nebo vyjádření dodavatelů k danému problému.

Jak ověřit, jestli vaše komponenty třetích stran obsahují známá ohrožení zabezpečení

Můžete si do telefonu dát denní úkol zkontrolovat tento seznam, ale naštěstí pro nás existuje řada nástrojů, které nám umožňují ověřit, jestli jsou naše závislosti ohrožené. Tyto nástroje můžete spouštět proti vašemu kódu, nebo ještě lépe, přidat do kanálu CI/CD, aby automaticky vyhledávaly problémy v rámci procesu vývoje.

Můžete také použít některé nástroje vytvořené speciálně pro analýzu statického kódu.

Další informace o rizicích spojených s používáním ohrožených komponent najdete na stránce OWASP věnované tomuto tématu.

Souhrn

Pokud v rámci aplikace používáte knihovny nebo jiné komponenty třetích stran, berete také na rizika, která mohou mít. Nejlepší způsob, jak toto riziko snížit, je zajistit, abyste používali pouze komponenty, se kterými nejsou spojená žádná známá ohrožení zabezpečení.