1. 程式人生 > >程式碼審計--8--環境搭建+工具使用

程式碼審計--8--環境搭建+工具使用

===================================================================================
程式碼審計工具彙總:
https://download.csdn.net/download/wutianxu123/10703087

===================================================================================

環境搭建

1 理論基礎

針對於JavaWeb的程式碼審計工作環境的部署,其實如果是以服務的方式為客戶的程式碼進行審計,審計的環境一般都會相對複雜,會面臨幾種情況:

1、最理想的環境,客戶提供程式碼同時有對應的測試環境,這樣的話就可以黑盒+白盒進行審計,可以提高審計的效率和覆蓋度。

2、只提供專案原始碼,需要自己梳理整個專案原始碼的架構,通讀所有關鍵程式碼,相對時間成本比較大,但是可以徹底瞭解整個專案原始碼並且挖掘出高質量漏洞。

3、只提供原始碼片段,這種情況首先需要跟客戶溝通是否可以提供完整專案原始碼,否則是在一定程度影響原始碼審計的完整性,因為部分功能程式碼片段可能會找不到呼叫的介面函式,無法追蹤業務邏輯程式碼。

所以客戶的程式碼審計服務基本上沒有搭建環境的情況,因為他們不會提供資料庫。

一般搭建環境是因為需要測試某種案例,或者測試某種防護,或者自己搭建去審計一些開源的網站。

開源CMS JEECMS下載地址http://www.jeecms.com/download.html

2 環境軟體可以從以下網址中獲得

3 環境安裝可以從以下網址檢視安裝圖文指南

4 JEECMS v7軟體安裝部署教程參考v5版本

工具使用

1 Eclipse

使用Eclipse的Import功能將程式程式碼匯入workspace,開啟任一java原始檔,選擇Source Analyse選單下的條目進行關鍵方法搜尋,搜尋結果在視窗下面顯示,然後進行人工分析。

在這裡插入圖片描述

2 Sublime Text

3 Fortify SCA程式碼審計工具

Fortify SCA 是一個靜態的、白盒的軟體原始碼安全測試工具。它通過內建的五大主要分析引擎:資料流、語義、結構、控制流、配置流等對應用軟體的原始碼進行靜態的分析,分析的過程中與它特有的軟體安全漏洞規則集進行全面地匹配、查詢,從而將原始碼中存在的安全漏洞掃描出來,並給予整理報告。

Fortify SCA 的工作原理:

Foritfy SCA 首先通過呼叫語言的編譯器或者直譯器把前端的語言程式碼(如VB原始碼)轉換成一種中間媒體檔案NST(Normal Syntax Tree)將其原始碼之間的呼叫關係,執行環境,上下文等分析清楚。然後再通過五大分析引擎從五個切面來分析這個NST,匹配所有規則庫中的漏洞特徵,一旦發現漏洞就抓取出來。最後形成包含詳細漏洞資訊的FPR結果檔案

Fortify SCA是一個產品的套件,它是由內建的分析引擎、安全編碼規則包、審查工作臺、規則自定義編輯器和嚮導、IDE 外掛五部分元件,五個元件配合工作完成對原始碼安全漏洞的掃描,分析,檢視,審計等工作。簡單介紹這五個部分如下:

分析引擎:內建五大分析引擎與規則包配合工作,從五個側面全面地分析程式原始碼中的安全漏洞。

安全編碼規則包:由多位頂級的軟體安全專家,多年研究出來的數十萬條軟體安全漏洞特徵的集合。目前能查找出來約350多種安全漏洞,內建在SCA中與分析引擎配合工作。

審計工作臺:一個用來檢視,審計SCA分析出來的漏洞結果的綜合的平臺,它包含大量的豐富的軟體漏洞的資訊,如下圖2 所示,它包括了漏洞的分級,漏洞產生的全過程,漏洞所在的原始碼行數定位,以及漏洞的解釋說明和推薦的修復建議等內容,極大地方便地使用者對SCA的檢視,審計等工作。

規則自定義嚮導/編輯器:Fortify SCA的規則支援自定義功能,方便使用者來擴充套件SCA對漏洞的分析能力,所以SCA提供了一個使用者自定義的嚮導和編輯器。

IDE外掛:為了方便使用者使用SCA對程式原始碼進行安全掃描,它提供了多種IDE工具的外掛,如Eclipse, Visual Studio,RAD, WSAD等。

Foritfy SCA主要包含的五大分析引擎:

資料流引擎:跟蹤,記錄並分析程式中的資料傳遞過程所產生的安全問題
語義引擎:分析程式中不安全的函式,方法的使用的安全問題。
結構引擎:分析程式上下文環境,結構中的安全問題。
控制流引擎:分析程式特定時間,狀態下執行操作指令的安全問題。
配置引擎:分析專案配置檔案中的敏感資訊和配置缺失的安全問題。

4 Findbugs

FindBugs 是一個靜態分析工具,它檢查類或者 JAR 檔案,將位元組碼與一組缺陷模式進行對比以發現可能的問題。有了靜態分析工具,就可以在不實際執行程式的情況對軟體進行分析。不是通過分析類檔案的形式或結構來確定程式的意圖,而是通常使用 Visitor 模式來鑑別程式碼是否符合一些固定的規範。

在這裡插入圖片描述

相關推薦

程式碼審計--8--環境搭建+工具使用

=================================================================================== 程式碼審計工具彙總: https://download.csdn.net/download/w

PHP程式碼審計————1、PHP程式碼審計環境搭建

前言本系列部落格,主要講解PHP程式碼審計。從環境搭建到具體的實戰分析將會一步一步深入學習,希望可以對大家有所幫助。審計環境搭建作業系統:Window 7軟      件:phpstudy、VMware workstations14、seay 程式碼審計軟體、notepad+

Drupal 8 環境搭建部署

rda www database serve and settings 完成 文件夾 files 運行環境安裝 系統:Ubuntu Server 16.04 (ubuntu-16.04.4-server-amd64.iso) Web服務器:Apache / 2.4.18

Java 8 環境搭建

Java 簡介 Java是由Sun Microsystems公司於1995年5月推出的Java面向物件程式設計語言和Java平臺的總稱。由James Gosling和同事們共同研發,並在1995年正式推出。 Java分為三個體系: JavaSE(J2SE)(Java2 Platfo

CentOS7.0+phpMyAdmin4.8環境搭建

    本文是基於centos7.0 + apache2.0 + php5.6 + mysql5.7環境搭建的, 不知道如何搭建的, 請檢視以下連結:    首先到官網下載phpMyAdmin原始碼:    下載之後的檔案是phpMyAdmin-4.8.2-all-langu

【MPC5744P】S32DS中Processor Expert自動生成程式碼工具使用教程(一) 開發環境搭建

MPC5744P是NXP近幾年推出來的主打安全功能的雙核MCU,非常適合在汽車控制器相關產品中使用,非常強大。但是強大的同時,也意味著開發難度增大。 MPC5744P外設功能相關的暫存器非常之多,且對應的參考教程非常少,像STM32之類的工業MCU開發難度根本無法與之相比,早期只能依據官方參

[原創]ObjectARX開發環境搭建之VS2010+ObjectARX2012Wizard+Addin工具條問題修復

系統 右鍵 9.png line cls sid 新建 使用 開發環境 目前ObjectARX版本越來越高,也越來越簡化開發,如果需要同時開發低版本和高版本的ARX程序,就需要搭建批量編譯環境,以滿足ARX開發的需要。 批量編譯的搭建網絡上已經有了很多的教程,基本上都是基於

tomcat8+jdk1.8.0_131環境搭建與添加用戶(win764位)

tomcattomcat8下載地址:http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.14/bin/apache-tomcat-8.5.14-windows-x64.zip jdk1.8.0下載地址:http://download.

Linux 4.10.8 根文件系統制作(一)---環境搭建

zxvf fstab project 根據 構建 yaffs http tar.bz2 onf 一、工具   制作工具為busybox   下載地址:https://busybox.net/   解壓:    二、制作文件系統   進入目錄,執行make menuconfi

pylot測試工具環境搭建

numpy 工具 plot ces matplot 報告 nump 搭建 tps 1.下載Pylot:www.pylot.org/ 2. 安裝Python 2.5 + (必須) 3. 安裝wxPython(可選 - 用於GUI模式) 4. 安裝numpy的(可選 - 用於報

Intellij IDEA工具Java web 環境搭建

ech aid deploy cal 項目 -- windows 7 acl 目錄 Java web 環境搭建 環境依賴 操作系統:Windows 7 64位 開發工具:IntelliJ IDEA 13.1.4 開發工具依賴環境 JDK版本:1.7+ 開發工具依賴插

WebDriver自動化測試工具(1)---C#環境搭建

quit 打開百度 asp.net ace chrome color 根路徑 var image Webdriver是一個前端自動化測試工具,可以模擬用戶點擊鏈接,填寫表單,點擊按鈕等操作,下面介紹其使用 一.下載WebdriverC#類庫以及對應瀏覽器驅動 http:

【轉1】Appium 1.6.3 在Xcode 8, iOS 10.2(模擬器)測試環境搭建 經驗總結

div tar post bug span trace 版本 test 4.0 Appium 1.6.3 在Xcode 8, iOS 10.2(模擬器)測試環境搭建 經驗總結 關於 Appium 1.6.3 在Xcode 8, 10.2 的iOS模擬器上的問

【轉2】Appium 1.6.3 在Xcode 8 (真機)測試環境搭建 經驗總結

原因 ftl 關於 經驗 結束 views 報錯 catch live Appium 1.6.3 在Xcode 8 (真機)測試環境搭建經驗總結 關於 Appium 1.6.3 在Xcode 8, 1真機上環境搭建問題更多,寫此文章,供大家參考,讓大家少走彎路。

JAVA 最新 環境搭建(JDK 1.8 + Tomcat 9 + eclipse oxygen)

.com direct servlet ctp ase 環境變量配置 分號 code 服務器安裝 一、JDK的安裝與配置 1、從官網下載jdk,註意是jdk不是jre。jdk包裏面包含了jre。最好從官網下載。傳送門:http://www.oracle.com/techn

Mariadb 10.2.8版本GTID主從環境搭建以及切換

mas 從庫 ica ack relay_log mys repo oba 數據庫 1.首先搭建主從 主環境:192.168.1.117 從環境:192.168.1.123 a.首先以二進制包的形式安裝好MariaDB (忽略不計) b.配置環境的變量 通配 [mysqld

UI自動化測試簡介及Selenium工具的介紹和環境搭建

版本 ebe 需求分析 核心 nis rep color 基於 多語 自動化測試簡介 1.1何為自動化測試?   是把以人為驅動的測試轉化為機器執行的一種過程,它是一種以程序測試程序的過程。換言之,就是以程序實現的方式來代替手工測試。 1.2自動化測試分類   分為功能自動

Golang (Go語言) Mac OS X下環境搭建 環境變量配置 開發工具配置 Sublime Text 2 【轉】

trick blog mac os https 系統 document cnblogs strong os x 一、安裝Golang的SDK   在官網 http://golang.org/ 直接下載安裝包安裝即可。下載pkg格式的最新安裝包,直接雙擊運行,一路按照提示操作

01_PC單機Spark開發環境搭建_JDK1.8+Spark2.3.1+Hadoop2.7.1

tor 環境 eve exe ring row test source 分享圖片 本文檔基於Windows搭建本地JAVA Spark開發環境。 1 JDK 1.8安裝 官網下載JDK。 註意JDK安裝目錄不可以包含空格,比如:C:\Java\jdk1.8.

2018.8.19 mybatis 環境搭建---配置mysql

服務 設置 var 退出 exe pos mysql 添加服務 配置環境 安裝mysql Install/Remove of the Service Denied!錯誤的解決辦法 在windos 的cmd下安裝mysql 在mysql的bin目錄下面執行: mysqld