序
就工作而言,程式碼檢查一般都是上級/資深員工的工作內容。
而企業級的公司自然更複雜,為了符合那些什麼 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