lazyload the images

最新精選 Featured post

漫畫 - 異世界 清單

訂閱


每月雙數周日為固定發佈日

本站內任何媒體的內容,包括但不限於 影片/聲音檔/文章/圖片,純屬資訊分享和教學用途, 本站內容只作為一般用途,它並沒有考慮您的個人需要、投資目標及特定財政狀況。 本站內容並非投資意見,亦不構成任何投資產品之要約、招攬或建議購買或出售任何存款或投資任何下述投資產品。

投資者須注意,所有投資涉及風險(包括可能會損失投資本金),投資產品的價格可升或可跌, 而所呈列的過往表現資料並不表示將來亦會有類似的表現。

投資者在作出任何投資決定前,投資者應進行所須或適當的獨立調查,包括評估所涉及的投資風險。

16/08/2024

csharp code scan vulnerability

文章分類: ,

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



主旨摘要

VisualCodeGrepper 簡稱 VCG是VS Code 的plug in 只可以scan C#, HTML, PHP...

SonarQube Scanner 需要在 Visual Studio 上compile source code 再 scan ,比VCG更全面

Security Risk Assessment and Audit (SRAA) 一般包含 Application, Netwrok, Data Storage (Database), PC

VCG, SonarQube Scanner 都只集中在application, source code

關於其它領域, 海豚上一間工作的企業,有的用 Qualys,zscaler

海豚亦有請教其它engineer 同事,還有 Zed Attack Proxy (ZAP) 而ZAP 是免費的


然後掃完,一般都有份report,不論report形式

很貴的工具通常是一份很漂亮的PDF

有些會gen html作report也見過

內有一堆 Vulnerabilities 

Common Vulnerabilities and Exposures (CVE)

每項 CVE 都有個編號 example
CVE-2021-44228, CVE-2017-0144, and CVE-2014-0160

好的report會一拼提供解決方案,廢的report則沒有

要自行google

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


而企業級的公司自然更複雜,為了符合那些什麼 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 Code有使用的 libraries 或third-party components

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

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

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

或是相對,你claim 只用了5個libraries,scan完發現你用了7個

結果 無所遁形



一般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