回覆列表
  • 1 # 科技行者

    CISQ所制訂的程式碼質量標準是透過對整個軟體結合上下文關係,理清應用從最前端輸入到介面、到業務邏輯、到框架、到資料邏輯,直到最終的儲存上的所有功能點。將這些層次連貫起來,來檢視軟體的上下文關係,從而瞭解系統每個交易是如何完成的,每個步驟的行進路徑是什麼,從系統層面上去對整個軟體架構進行分析。

    現在有企業依照此標準制做了一個自動化軟體測試平臺,也就是上圖中的“CAST應用智慧平臺”。

    CAST支援了50多種不同的程式設計技術,從JAVA、C、.NET到大型機的程式語言CAST均進行了支援。同時還支援12種資料庫,Oracle、SQLServer等。明確程式語言和所採用資料庫後,再加上一些程式設計團隊的有關資訊。將這些內容輸入到分析器中,由分析器進行格式化整理並建立元模型。然後遵照CISQ軟體行業標準,分析這些元模型的程式、資料呼叫關係,從而摸清所有程式的動作關係,從而分析出整個軟體的程式邏輯架構。然後在根據分析出的架構、交易流程、交易方式,透過CISQ、OMG以及CWE等軟體和安全行業標準,對軟體進行判斷分析。分析結果出來之後,根據所發現的結構化問題、安全性問題,轉化成一個數據化的健康度的分數,分門別類的進行打分度量。由此實現透過給程式碼打分而不是利用行程式碼數對軟體進行評估的目的。

    以一個銀行系統原始碼舉例:

    上面圖片是CAST所分析出的系統原始碼執行路徑,可以看到紅線的輸入資料,從使用者輸入到交易去訪問更新資料庫在整個路徑上未進行資料檢查,就直接對資料層的資訊進行更改或呼叫。這裡就存在著很大的資訊保安風險,因為無法判定是否有非法安全資訊從這條路徑對資料庫進行侵入。

    不知這個回答是否滿意?

  • 中秋節和大豐收的關聯?
  • 如果冬天新冠再次爆發,我們上班族天天坐地鐵要怎麼保護自己呢?