資安JAVA(十八): 偵測應用層的入侵

來源:John Melton's Weblog
標題:YEAR OF SECURITY FOR JAVA – WEEK 18 – PERFORM APPLICATION LAYER INTRUSION DETECTION
作者:John Melton
I'm watching you...( ´థ_థ)σ
What is it and why should I care?

作者認為應用程式的保護機制中, 應用層的入侵偵測機制 是非常有效的。目前為止的主題都是關於軟體生命週期的開發階段,但這篇文章卻橫越整個應用程式範圍,從需求到規劃,最終上線階段。

基本概念是擬定計畫、實作並監控"不好的事件"。這種系統的特性是尋找意料外的事件並持續追蹤。經過一段時間後,再判斷是否應將那些事件列為攻擊事件。

很多開發者都已經下了功夫去偵測事件,看看以下的範例pseudo-code:

if (使用者有權存取資料) {
    get 資料
    redirect 檢視(或編輯)的頁面
} else {
    log 例外狀況
    send 錯誤訊息給使用者
}


作者看過太多上述的例子。其中有個問題是管理例外狀況。通常,人們寧願盯著螢幕發呆或打掃環境也不願意檢查 logs,所以當攻擊者進攻你的應用程式,唯一看到錯誤訊息的只有他。只要增加通知功能、送出訊息到入侵偵測引擎,你就可以追蹤事件並了解應用程式的實際使用狀況。偵測到入侵事件後,你就能夠把入侵者吊起來打...我的意思是以合法的方式回應入侵行為。一般來說,你可以增加紀錄的頻率、操作使用者帳戶、或禁止存取某些功能。


What should I do about it?

作者提到以下的方法來幫助解決問題,像是 ESAPI 、 AppSensor 、自行建置。
  • ESAPI 內建的入侵偵測引擎能發揮某些作用,雖然不適用所有狀況,但你可以修改核心程式以擴充功能。
  • AppSensor 就是 ESAPI 的擴充功能。實作上的彈性比原本 ESAPI 更好,更進一步的, AppSensor 對於入侵偵測的概念和 程式碼 有很多說明文件。最近, AppSensor 的專案正在進行程式碼和文件的大改版。
  • 依據你的需求,自行建置專用的分析引擎可能是很小或很大的專案。無論如何,制定並實行偵測計畫對你的應用程式是有益無害的。
只要額外一些的努力,你就能深度透視應用程式的整體健康。你可以發現誰正在攻擊或曾經攻擊,你可以根據攻擊事件即時回應。

作者本身是 AppSensor 專案成員之一,很了解這方面的問題。歡迎大家多利用他提出的概念解決問題。

參考資料
https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection
http://www.jtmelton.com/2010/11/10/application-intrusion-detection-with-owasp-appsensor/
http://www.owasp.org/index.php/OWASP_AppSensor_Project
http://www.youtube.com/watch?v=6gxg_t2ybcE
http://www.clerkendweller.com/2010/11/12/Application-Intrusion-Detection-and-Response-Planning-Methodology
https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API

———–———–
資安Java: 上一篇 || 下一篇
———–———–

留言

這個網誌中的熱門文章

資安JAVA(四):Session Cookie HTTPOnly Flag

以 SharpPcap 實作可收聽封包的 C# 程式

資安JAVA(八):HTTP強制傳輸安全(HSTS)