https://www.informationsecurity.com.tw/seminar/2024_Business/
https://www.informationsecurity.com.tw/seminar/2024_Business/

觀點

啟動防護 程式安全的新世代之(三)為你的Web AP設計專屬查核程式

2010 / 04 / 30
謝持恆
啟動防護 程式安全的新世代之(三)為你的Web AP設計專屬查核程式

早期的應用系統,不論是人事薪資、財務會計,或是ERP系統,大部份都是提供單位內部在使用。如果應用系統寫得不好,充其量是作業流程變的較為冗長,或是產生出來的報表數字不合,需要經過人工加工處理,並不會有所謂資訊安全的問題產生。但是跨進了網際網路時代,尤其是在網際網路上的應用程式,不光是使用的對象已經擴大到一般的大眾,同時如果程式撰寫得不夠嚴謹,很容易形成駭客覬覦的對象,並且會有許多連帶的資安問題產生。

 

然而,參考國外的資料,大部分將Web應用系統的安全,列在整體網際網路安全中的一個部份,鮮少有單獨針對Web應用系統設計的查檢表。歸咎其原因,一方面是網路的攻擊手法不斷推陳出新,同時設計網際網路的程式語言也是為數眾多。


國內雖然行政院研考會邀請專家學者,撰寫了「Web應用程式安全參考指引」,然該份參考指引,對於大多數業務承辦人員而言可能略嫌艱澀,除了WEB應用系統的覆核,是需要高度技術背景才能執行,同時還可能要搭配工具的使用,一般很少有人可以獨立完成。另一個方面,如果只是採用隨機抽樣覆核程式,對於為數眾多的原始程式成效有限。反而是針對政策、程序面的控管,較為容易執行。而針對Web應用系統的查核,除了一般應用系統的查核項目外,還有下列項目是可以參考的:

(見表)

 

總括而言,如果要針對Web應用程式進行查核作業,首先一定要確認所使用的開發語言、資料庫以及作業平台,再針對應用系統的環境,檢視一下經常遭受攻擊的方式及形成的原因,藉此調整成專屬的查核程式。針對WEB應用系統的查核程式,都必需要量身訂做,也惟有如此,才能真正確保網際網路應用系統的安全。

 

Web應用系統的查核項目

?             如果有使用PROXY的功能,需確認每一個要求都是正確或是被重新撰寫

?             使用者只可以利用使用者介面輸入

?             程式除錯功能不可以給一般使用者使用

?             機敏性資料的傳輸必須要加密

?             機敏性資料不可以存放在COOKIE

?             SESSION有關的資訊必須存放在伺服器端

?             授權及認證作業必須在伺服器端執行

?             變更新密碼時,要先驗證舊有的密碼

?             不可以有預定、測試或臨時的使用者帳號存在

?             必需要預防密碼遭受暴力破解法破解

?             必需要預防DOS攻擊自動鎖定帳號

?             使用者輸入的資訊在使用路徑/檔案名稱之前必須先編碼(ENCODED)

?             使用者輸入的資訊在使用SQL指令之前必須先編碼

?             使用者輸入的資訊在使用XML文件之前必須先編碼

?             使用者輸入的資訊在使用HTML輸出之前必須先編碼

?             使用者輸入的資訊在使用LDAP指令之前必須先編碼

?             使用者輸入的資訊在使用系統指令之前必須先編碼

?             使用者輸入的資訊在使用一般運算式之前必須先編碼

?             上傳的檔案不可以被執行

?             使用者所產生出的SESSION-ID需要拒絕

?             只有廣泛被接收的加解密方式才可使用


參考資料:Certified Secure Basic Web Application Audit Checklist V3.0