Graudit程式碼安全審計
導讀 | 憑藉廣泛的語言支援,Graudit 可以讓你在開發過程中的審計你的程式碼安全。測試是軟體開發生命週期(SDLC)的重要組成部分,它有幾個階段。今天,我想談談如何在程式碼中發現安全問題。 |
在開發軟體的時候,你不能忽視安全問題。這就是為什麼有一個術語叫 DevSecOps,它的基本職責是識別和解決應用中的安全漏洞。有一些用於檢查 OWASP 漏洞的開源解決方案,它將透過建立原始碼的威脅模型來得出結果。
處理安全問題有不同的方法,如靜態應用安全測試(SAST)、動態應用安全測試(DAST)、互動式應用安全測試(IAST)、軟體組成分析等。
靜態應用安全測試在程式碼層面執行,透過發現編寫好的程式碼中的錯誤來分析應用。這種方法不需要執行程式碼,所以叫靜態分析。
我將重點介紹靜態程式碼分析,並使用一個開源工具進行實際體驗。
選擇開源軟體、工具和專案作為開發的一部分有很多理由。它不會花費任何金錢,因為你使用的是一個由志趣相投的開發者社群開發的工具,而他們希望幫助其他開發者。如果你有一個小團隊或一個初創公司,找到開源軟體來檢查你的程式碼安全是很好的。這樣可以讓你不必單獨僱傭一個 DevSecOps 團隊,讓你的成本降低。
好的開源工具總是考慮到靈活性,它們應該能夠在任何環境中使用,覆蓋儘可能多的情況。這讓開發人員更容易將該軟體與他們現有的系統連線起來。
但是有的時候,你可能需要一個功能,而這個功能在你選擇的工具中是不可用的。那麼你就可以選擇復刻其程式碼,在其上開發自己的功能,並在你的系統中使用。
因為,大多數時候,開源軟體是由社群驅動的,開發的速度往往是該工具的使用者的加分項,因為他們會根據使用者的反饋、問題或 bug 報告來迭代專案。
有各種開源的靜態程式碼分析工具可供選擇,但正如你所知道的,工具分析的是程式碼本身,這就是為什麼沒有通用的工具適用於所有的程式語言。但其中一些遵循 OWASP 指南,儘量覆蓋更多的語言。
在這裡,我們將使用 Graudit,它是一個簡單的 行工具,可以讓我們找到程式碼庫中的安全缺陷。它支援不同的語言,但有一個固定的簽名集。
Graudit 使用的 grep 是 GNU 許可證下的工具,類似的靜態程式碼分析工具還有 Rough Auditing Tool for Security(RATS)、Securitycompass Web Application Analysis Tool(SWAAT)、flawfinder 等。但 Graudit 的技術要求是最低的,並且非常靈活。不過,你可能還是有 Graudit 無法滿足的要求。如果是這樣,你可以看看這個列表的其他的選擇。
我們可以將這個工具安裝在特定的專案下,或者全域性名稱空間中,或者在特定的使用者下,或者任何我們喜歡地方,它很靈活。我們先來克隆一下倉庫。
$ git clone
現在,我們需要建立一個 Graudit 的符號連結,以便我們可以將其作為一個 使用。
$ cd ~/bin && mkdir graudit $ ln --symbolic ~/graudit/graudit ~/bin/graudit
在 .bashrc (或者你使用的任何 的配置檔案)中新增一個別名。
#------ .bashrc ------ alias graudit="~/bin/graudit"
重新載入 shell:
$ source ~/.bashrc # 或 $ exex $SHELL
讓我們透過執行這個來檢查是否成功安裝了這個工具。
$ graudit -h
如果你得到類似於這樣的結果,那麼就可以了。
我正在使用我現有的一個專案來測試這個工具。要執行該工具,我們需要傳遞相應語言的資料庫。你會在 signatures 資料夾下找到這些資料庫。
$ graudit -d ~/gradit/signatures/js.db
我在現有專案中的兩個 JavaScript 檔案上執行了它,你可以看到它在控制檯中丟擲了易受攻擊的程式碼。
你可以嘗試在你的一個專案上執行這個,專案本身有一個長長的資料庫列表,用於支援不同的語言。
Graudit 支援很多語言,這使其成為許多不同系統上的使用者的理想選擇。由於它的使用簡單和語言支援廣泛,它可以與其他免費或付費工具相媲美。最重要的是,它們正在開發中,社群也支援其他使用者。
雖然這是一個方便的工具,但你可能會發現很難將某個特定的程式碼識別為“易受攻擊”。也許開發者會在未來版本的工具中加入這個功能。但是,透過使用這樣的工具來關注程式碼中的安全問題總是好的。
在本文中,我只介紹了眾多安全測試型別中的一種:靜態應用安全測試。從靜態程式碼分析開始很容易,但這只是一個開始。你可以在你的應用開發流水線中新增其他型別的應用安全測試,以豐富你的整體安全意識。
原文來自: https://www.linuxprobe.com/graudit-code-security-audit.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2721209/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python 安全編碼&程式碼審計Python
- buu 程式碼審計
- JFinalcms程式碼審計
- CSCMS程式碼審計
- 美國安全審計公司Certik完成Punk.Network的智慧合約程式碼審計
- 什麼是程式碼審計?程式碼審計有什麼好處?
- 程式碼審計————目錄
- 程式碼審計是什麼?程式碼審計操作流程分為幾步?
- 哪些業務場景需要做程式碼審計?程式碼審計很重要嗎?
- 如何用 Python 手擼一個 GitLab 程式碼安全審計工具?PythonGitlab
- 程式碼審計工具有哪些?網路安全課程學習
- 網站漏掃服務之程式碼審計安全學習網站
- oasys系統程式碼審計
- 基於Java關鍵詞審計技巧?網路安全原始碼審計Java原始碼
- 網路安全裡面的程式碼審計難學嗎?如何學習?
- 網路安全程式碼審計是什麼?操作流程有哪些?
- 程式碼審計是什麼?網路安全實戰學習技能
- Java程式碼審計入門篇Java
- 程式碼審計入門總結
- Hackthebox bagel.dll 程式碼審計
- [JavaWeb]Shiro漏洞集合——程式碼審計JavaWeb
- 為什麼要做程式碼審計?
- Java 程式碼審計 — 1. ClassLoaderJava
- Java程式碼審計篇 - ofcms系統審計思路講解 - 篇4 - XXE漏洞審計Java
- Java程式碼審計篇 - ofcms系統審計思路講解 - 篇2 - SQL隱碼攻擊漏洞審計JavaSQL
- 程式碼審查:從 ArrayList 說執行緒安全執行緒
- PHP程式碼審計——Day 5-postcardPHP
- PHP程式碼審計——Day2-TwigPHP
- MVC框架的程式碼審計小教程MVC框架
- 若依 RuoYi4.6.0 程式碼審計
- 程式碼安全審計,這四大誤區一定要搞清楚!
- Java程式碼審計篇 - ofcms系統審計思路講解 - 篇3 - 檔案上傳漏洞審計Java
- 記一次完整的PHP程式碼審計——yccms v3.4審計PHP
- [程式碼審計]web程式對客戶端資料加解密帶來的安全問題Web客戶端解密
- [程式碼審計]php上傳漏洞總結PHP
- 米安程式碼審計 07 越權漏洞
- PHP程式碼審計——Day3-Snow FlakePHP
- 程式碼審計[一] [0CTF 2016]piapiapiaAPI