Pages

16/08/2024

csharp code scan vulnerability


今天說一下 程式碼 的檢查 (Code Scan)



就工作而言,程式碼檢查一般都是上級/資深員工的工作內容。


而企業級的公司自然更複雜,為了符合那些什麼 ISO 9001, ISO 27001 標準。

不能只靠內部(員工)檢查便成事,都會聘請獨立第三方去作檢查,才有公信力。

因為長期養一班僱員太貴,所以大多時候都是外判,在有需要時才請外援。


前言

本篇主要是記錄,記得負責 Network Security Scan 的同事用的是 Qualys

公司的團隊分為

開發x3 - solution delivery, software development, system maintenance

網絡及基建 - network, firewall(blue coat), proxy, wifi(AP), switch/hub

電腦維護 - PC maintenance(windows, mac), DBA(MsSQL server, Oracle DB), windows updates, windows upgrade, user group policy, AD server, Outlook server, Lotus Notes (這個是垃圾)

資安 - 專門負責生事阻礙開發的團隊, 負責security risk assessment,包括 Network Security Scan, Code Scan,兼顧開發團隊 開發時的 Risk managment

服務站24x7 - 無間斷值日,管理和監察不同軟硬件,設施和服務,接聽hotline和接收email,管理 service request ticket, call log。出事時負責反影給相關部門和責任人跟進。負責 tier1, tier2 support


每次做scan,就好像BOSS重生了,又可刷一波。


今天來scan code的同事叫OK,他email的下款是OK,所以大家叫他OK仔


海豚最近接管一套20年歷史的系統,然後今年的code scan來了,

之前已經將系統全部c# source給了OK仔,但OK仔回覆不能complie

當然不能,這系統有很多其它dependance,例如crystal report, IBM DB2


但資深的同事沒有理會,據他稱往年也是如此,給全部source,對方便scan到了。

但OK仔雖然堅稱他用的工具必需能將source code complie,要求我們提供協助。


但我們沒有時間理你,留待他上訪進行Network scan再處理,到了當天

OK仔要求一部可以complie program的電腦環境,system engineer 不知如何處理,指向我

你找他。

海豚︰即是一部developer機

OK仔︰沒錯,就是一部developer機,只要可以給我complie source就可以


system engineer︰用你的電腦吧

海豚︰(傻的嗎,我還有事情,不要煩我)你把西蒙的電腦給OK仔,西蒙放長假,現在沒人用呀


海豚不是這範疇的專業,不懂就問。

OK仔︰之前負責的同事用的是 VisualCodeGrepper, 雖然可以scan C#, HTML, PHP...

但今天OK仔用的是 SonarQube Scanner


故事開始

這即是說上個code scan 太隨便,這個工具要complie,相信比較準確。

舉例,有些會要求我們列出全部Source有使用的 libraries 或third-party components

然後再scan code,續個續個比對。

要complie的會較準確,例如source linkage 了10個 libraries,實際運行時可能只call了7個。

如沒有call的3 libraries當中,有嚴重的資安問題,有機會可以忽略,因為根本沒有用到,只是放置在一起。

一般alert程度分5級,

5 Major 嚴重必須修正 

4 Major 嚴重必須修正

3 Intermediate 建議修正

2 Minor 一般可以忽略

1 Minor 一般可以忽略


3-5級的如果不能做修正或是選擇不做修正,需要有合理辨解。


這次scan很多hard-code的password出來


待續


Reference

SonarQube Scanner for MSBuild v1.1 released: static analysis now executed during the build

https://devblogs.microsoft.com/devops/sonarqube-scanner-for-msbuild-v1-1-released-static-analysis-now-executed-during-the-build-2/


VisualCodeGrepper

https://github.com/nccgroup/VCG

No comments:

Post a Comment