很多人都說Open Source的程式因為經過大眾的檢測,通常都比較安全,實際上的情形如何呢?
美國國土安全局(Department of Homeland Security)委託Coverity這家公司針對一些Open Source的軟體做了程式碼了掃描,發現Open Source的軟體在程式碼的安全上的確有改進的現象。這份公布的報告並沒有針對單一軟體做出數據的分析,而是由整體的分析數據來評估。除了整體安全性有提升外,錯誤類型的分布也很不平均,一些常見的錯誤類型佔了絕大多數的比例。前兩名還是惡名昭彰的Null Pointer Derefernece與Resouce Leak,而且就占了一半以上的數量。以下是這些錯誤類型發生的比例
NULL Pointer Dereference 27.95%
Resource Leak 25.73%
Unintentional Ignored Expressions 9.76%
Use Before Test (NULL) 8.09%
Buffer Overrun (statically allocated) 6.14%
Use After Free 6.46%
Unsafe use of Returned NULL 5.85%
Uninitialized Values Read 5.50%
Unsafe use of Returned Negative 3.72%
Type and Allocation Size Mismatch 0.62%
Buffer Overrun (dynamically allocated) 0.31%
Use Before Test (negative) 0.21%
完整的報告請觀看參考資料。