Buď to děláte sami, nebo důvěřujete někomu jinému
Stejně jako u většiny věcí v životě, musíte to udělat sami nebo tomu důvěřovat. Zde důvěryhodný zahrnuje jak to, že nemá zákeřné úmysly, a zároveň dostatečně kompetentní ke správnému provedení úkolu.
Například můžete své daně podat sami nebo důvěřujte daňovému poradci, který tak učiní (který by se vás nejen neměl pokoušet podvádět, ale také umět daně podat!).
Pokud jste společnost, dělat to sám bude ve skutečnosti provádět jeden nebo několik vašich zaměstnanců, kterým zase musíte důvěřovat.
Třetí strana, které důvěřujete, nemusí být jediná osoba. Může to být Microsoft Windows Development Team nebo hlavní vývojáři Wordpressu .
Pokud jde o zabezpečení zdrojového kódu, chcete, aby byl expert nejen v pořádku -význam, ale také znalý bezpečného kódování programu / hledání potenciálních bezpečnostních problémů, které tam mohou být.
(plus několik dalších hraničních systémů, pokud jsou považovány za celek, např. jejich kód nebyl ohrožen, když jej nahráli do úložiště, nebo e-mail od vašeho zaměstnance s uvedením výsledků nahrazených škodlivým hackerem uvnitř vaší sítě, který říká, že aplikace byla v pořádku)
Budete potřebovat vyhodnotit své možnosti, posoudit rizika spojená s každou z nich a zvolit cestu, která nejlépe vyhovuje vašim zájmům (a rozpočtu!).
Kdybych měl zkontrolovat zabezpečení zdrojového kódu blogu, který při použití Wordpressu bych obecně věřil , že původní kód byl v pořádku1¹ a zkontroloval rozdíly mezi oficiální verzí a použitou verzí. Pokud byl web napaden, bylo by mnohem jednodušší jej zjistit.
¹ Zjevně kontrola seznamu změn novějších verzí, pokud používal zastaralý.
Pokud by to však vyvinul synovec majitele, očekával bych, že tam najdu spoustu zranitelností, a doporučil bych důkladnou kontrolu všeho.
Ve vašem případě byste měli vyhodnotit riziko a náklady na vývoj ekvivalentu této knihovny (vezměte v úvahu, že šance na problémy ve vašem interním produktu není ani nulová, a bude to záviset - mimo jiné - na kvalitě zúčastněných osob) versus riziko a náklady na audit a používání této knihovny.
Nyní mohou existovat polehčující faktory, které audit zjednoduší. Například pokud může nedůvěryhodný kód běžet v izolovaném virtuálním počítači, může to stačit na to, že nepotřebujete další auditování (i zde důvěřujete implementaci virtuálního počítače). Nebo může být považováno za dostatečné auditovat části tohoto programu, které běží jako root.
Při auditu knihovny mohou analyzátory kódu pomoci upozornit na problematické části (jak bylo uvedeno), ale aby to bylo možné zvážit abych byl čistý, vlastně bych nechal někoho přečíst a porozumět kódu, i když povrchně.
Například schopnost odstranit libovolné soubory není škodlivá per se . Musíte pochopit program, abyste věděli, zda to má smysl.
Opět jde o hrozby a rizika pro to, co děláte. Pokud vás zajímá pouze exfiltrace dat z knihovny, může stačit filtrování připojení na firewallu. Pokud vám jde o to, aby knihovna mazala důležité soubory (a z nějakého zvláštního důvodu nemůžete takové povolení odmítnout), můžete jednoduše rolovat hromadou kódu, který provádí pouze matematické výpočty. Pokud tato knihovna spočítá parametry pro vypuštění rakety ... no, měli byste se také ujistit, že tyto výpočty jsou také správné!