由於應用程式安全在資料安全中也扮演重要的角色,為了提升應用系統的安全強度,昨天我們從應用程式的弱點(Vulnerability)切入,又重新體驗了開發團隊的惡夢。
除了Coding standard check(foxcop
、stylecop
)及Visual Studio內建的CA(code analysis
)程式碼分析外,前幾年公司打算在測試階段前加入程式碼檢測,期望在交付客戶軟體前自己先完成健康檢查。花了一些時間參與了survey源碼檢測工具的過程,來簡單筆記當時的心得。
HP公司的源碼檢測產品,SCA是S
tatic C
ode A
nalyzer的縮寫,程式碼的靜態檢查,Fortify的檢測引擎可以支援20多種程式語言,古老經典的Cobol到這幾年火紅的Python也支援,可以檢測的程式語言範圍相當完整。
另外她也能plugin到Visual Studio直接手動執行,也能透過排程執行fortify掃描程式sourceanalyzer
整合進CI工具(Jenkins、WS API)中,產生的報表也很有顏色喬。
報告中會簡單將弱點分為:
我們會將較高準確度的Critical及Medium都會進行修正,而High和Low這兩區就是需要資安顧問再確認結果,有沒有顧問支援變得很重要。
因為身處金融產業,碰到幾家客戶從很多年前就選擇了fortify,也會拿這個工具掃描我們交付測試的程式碼,先選擇fortify似乎變得很裡所當然。不過在這幾年的使用經驗中發現銀行的使用者或是我們的軟體工程師不太會解讀報告(史丹利自己就是),也許我們得和老闆要求需要更多安全寫作程式碼的訓練或是原廠其他方式的支援(選購)。
Checkmarx是一家以色列源碼安全檢測廠商,總部位在特拉維夫(遠目),相信大家對以色列愛國的民族意識和厲害的防火牆產品Check point
印象深刻,沒想到也有源碼檢測工具。
checkmarx SCA的檢測引擎可以支援10多種程式語言,同樣也能plugin到Visual Studio、整合進版控(TFS、Git、SVN..)、整合CI(Jenkins、WS API)、整合Bug Tracking(Jira),而且我們測試的是類似雲端的產品,只要將程式碼上傳,這一點和Fortify SCA必須將引擎安裝在安裝有微軟開發工具的環境才能執行動態程式碼檢測不太相同。
另外就是Checkmarx同樣也有美美的圖表,可以交叉幾個專案或是上個月的掃描結果放在一起比較,也能將掃描結果產生成**弱點階層圖(Vulnerability Graph)**檢視。
來公司介紹的是叡揚資訊(GSS)的資安顧問,對於專業友善的形象感受滿分,而且能和正在客製功能的工程師實地討論心得和弱點的感覺很棒,相信後續的維護支援水準很高。
Lucent Sky是一家我們臺灣的新創資安廠商(驕傲),剛在2013年成立,記得來公司介紹的是幾位年輕熱血的交大畢業的工程師,和他們聊應用程式弱點和掃描的方式很開心,是一支很有衝勁的開發團隊,而且對他們自己的成果很有愛,很棒的一家startup。
Lucent Sky AVM也能透過執行檔的方式整合到CI及版控的工具中,另外除了靜態源碼檢測外,更厲害的是AVM(Application Vulnerability Mitigation)自動修正程式碼來強化應用程式的安全性。
工程師的美德:懶!
這邊有一段他們徵才的文字介紹,是一間很棒的新創公司。
聰明、創新、有效率。這不只是在說我們的產品。認識 Lucent Sky。
http://www.job178.com.tw/company_2769
負責的系統主要使用微軟.NET相關技術(ASP.NET、C#.NET、T-SQL)及JavaScript開發,三套工具都算能有效的檢測出網站應用程式
弱點,對工程師來說都是一時之選、各有千秋,剩下的就是老闆們對於國際政治經濟情勢的選擇了:
哈!這種決定國家發展的大事只好往上。(遞)
拿波里警車
2011.10攝於Napoli,Italy
HP fortify 也有雲端產品喔~他們的SaaS整合static code analysis和dynamic code scan,但是價格上當然會比較貴些(因為等於是買了兩種工具)