對(duì)于開(kāi)源管理,開(kāi)源許可證和開(kāi)源漏洞都是不可忽略的方面。市面上很多開(kāi)源管理工具號(hào)稱(chēng)支持開(kāi)源組件已知漏洞掃描,其根據(jù)掃描出的開(kāi)源組件版本號(hào)來(lái)確認(rèn)對(duì)應(yīng)的已知漏洞。工作原理示意圖如圖1所示:

圖1???
事實(shí)上,漏洞一般只和整個(gè)組件的一小部分文件相關(guān),有時(shí)候與漏洞相關(guān)的文件可以縮短到幾行(片段)。如圖2所示:

圖2
據(jù)已知資料統(tǒng)計(jì),OpenSSL v1.0.1含有63個(gè)已知安全漏洞。也就是說(shuō),如果被掃描的代碼引用了開(kāi)源OpenSSL v1.0.1就會(huì)被開(kāi)源管理工具上報(bào)63個(gè)漏洞,無(wú)論是否應(yīng)用了完整的OpenSSL v1.0.1。就如圖2所示,無(wú)論掃描代碼是否引用了d1_both.c和t1_lib.c,開(kāi)源管理工具都會(huì)上報(bào)漏洞CVE-2014-0160,這明顯的是誤報(bào)!即使引用者修改了d1_both.c和t1_lib.c中和漏洞相關(guān)的代碼,開(kāi)源管理工具仍然會(huì)上報(bào)漏洞CVE-2014-0160。
FOSSID 漏洞片段探測(cè)器是唯一一個(gè)開(kāi)源掃描器,它能夠找到引入和暴露安全漏洞的實(shí)際代碼行(易受攻擊的代碼段)。如圖3所示:

圖3