3
經營決策論壇/ 53 期/ 2008.8 41 朱瑞狄(叡揚資訊 文件管理暨商業智慧服務事業處 產品顧問) 我和Fortify 公司實際㆖並沒㈲什麼㈵別的關係, 但是Fortify 軟體看起來的確㈩分㈲趣。它是解決目 前網站安全問題方面的㆒個比較聰明的解決方案" – OWASP創辦㆟ Fortify RTA 簡介及與 Web Application Firewall 之比較 Fortify RTAReal-Time Analyzer )可以說是多 年來解決Web Security 的㆒個創新解決方案,它 的主要功能是讓㈽業的網站應用程式能夠抵擋 駭客的攻擊行為,譬如SQL injection、跨網站腳 本攻擊(cross site scripting)、跨網站請求偽造 cross-site request forgery, CSRF)、身份盜用詐 欺(fraud)、以及異常存取(abnormal access等,而這些攻擊是防㈫牆、入侵偵測系統、以及 應用層防㈫牆等傳統㈾安設備所窮於應付的。 Fortify RTA運用了創新的技術,讓其辨識網站攻 擊的能力較傳統的㈾安設備更為準確及㈲效率。 本文將介紹Fortify RTA的原理,同時比較其 WAFWeb Application Firewall)功能 ㆖的差異。 Fortify RTA創新的關鍵–將保護措施 運作在網站應用程式之「內」 傳統㈾安防護設備的運作模式,是「保護者」與 「受保護者」相互獨立,然而Fortify RTA 突破 了這㊠思維,將保護者(Fortify RTA )與被保 護者(網站應用程式)整合為㆒。Fortify RTA身是㆒個純軟體解決方案,它透過㆒種稱作「安 全強化」(instrument )的程序,先分析受保護 網站程式的ByteCode ,並在分析過程㆗找出受 保護應用程式的關鍵API Application Program Interface ),然後再㆒㆒在這些關鍵的API 前插 Fortify 所獨㈲的保護程式碼。這些關鍵API 往就是駭客攻擊的網站程式關鍵出入點,像是駭 客攻擊的進入點(譬如供使用者輸入㈾料的網頁 表單)、駭客攻擊的目標點(譬如網站㈾料庫) 以及駭客攻擊呈現點(譬如網頁㈾料輸出)等 等。此外,Fortify RTA在應用程式作安全強化的 過程完全不需要受保護程式的原始程式碼,僅需 受保護程式的ByteCode圖㆒:Fortify RTA可以在程式內的各關鍵 出入點進行把關

Fortify RTA - 叡揚資訊要經過調校㈻習期,才能逐漸減少誤判的發生。 若應用程式經過修改,WAF可能需要再調校。 2. 漏判(false negative):若網站入口處的㈾料

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Fortify RTA - 叡揚資訊要經過調校㈻習期,才能逐漸減少誤判的發生。 若應用程式經過修改,WAF可能需要再調校。 2. 漏判(false negative):若網站入口處的㈾料

經營決策論壇/53期/2008.8㈪ 經營決策論壇/53期/2008.8㈪40 41

朱瑞狄(叡揚資訊 文件管理暨商業智慧服務事業處 產品顧問)

“我和Fortify公司實際㆖並沒㈲什麼㈵別的關係,

但是Fortify軟體看起來的確㈩分㈲趣。它是解決目

前網站安全問題方面的㆒個比較聰明的解決方案"

– OWASP創辦㆟

Fortify RTA 簡介及與

Web Application Firewall 之比較

Fortify RTA(Real-Time Analyzer)可以說是多

年來解決Web Security的㆒個創新解決方案,它

的主要功能是讓㈽業的網站應用程式能夠抵擋

駭客的攻擊行為,譬如SQL injection、跨網站腳

本攻擊(cross site scripting)、跨網站請求偽造

(cross-site request forgery, CSRF)、身份盜用詐

欺(fraud)、以及異常存取(abnormal access)

等,而這些攻擊是防㈫牆、入侵偵測系統、以及

應用層防㈫牆等傳統㈾安設備所窮於應付的。

Fortify RTA運用了創新的技術,讓其辨識網站攻

擊的能力較傳統的㈾安設備更為準確及㈲效率。

本文將介紹Fortify RTA的原理,同時比較其

與WAF(Web Application Firewall)功能

㆖的差異。

Fortify RTA創新的關鍵–將保護措施

運作在網站應用程式之「內」

傳統㈾安防護設備的運作模式,是「保護者」與

「受保護者」相互獨立,然而Fortify RTA突破

了這㊠思維,將保護者(Fortify RTA)與被保

護者(網站應用程式)整合為㆒。Fortify RTA本

身是㆒個純軟體解決方案,它透過㆒種稱作「安

全強化」(instrument)的程序,先分析受保護

網站程式的ByteCode,並在分析過程㆗找出受

保護應用程式的關鍵API(Application Program

Interface),然後再㆒㆒在這些關鍵的API前插

入Fortify所獨㈲的保護程式碼。這些關鍵API往

往就是駭客攻擊的網站程式關鍵出入點,像是駭

客攻擊的進入點(譬如供使用者輸入㈾料的網頁

表單)、駭客攻擊的目標點(譬如網站㈾料庫)

以及駭客攻擊呈現點(譬如網頁㈾料輸出)等

等。此外,Fortify RTA在應用程式作安全強化的

過程完全不需要受保護程式的原始程式碼,僅需

受保護程式的ByteCode。

圖㆒:Fortify RTA可以在程式內的各關鍵

出入點進行把關

技術e

專欄 Technology

Page 2: Fortify RTA - 叡揚資訊要經過調校㈻習期,才能逐漸減少誤判的發生。 若應用程式經過修改,WAF可能需要再調校。 2. 漏判(false negative):若網站入口處的㈾料

經營決策論壇/53期/2008.8㈪ 經營決策論壇/53期/2008.8㈪42 43

Fortify RTA為網站應用程式的各關鍵出

入口把關

以圖㆒為例,某Web應用程式㈲以㆘8類關鍵的

程式出入點:

1. 透過Internet HTTP/HTTPS通訊㈿定進入的Web

網站入口

2. Partner應用程式輸入點

3. 檔案系統輸入點

4. 其他輸入點

5. 檔案系統輸出點

6. Web Services輸出點

7. ㈾料庫輸出點

8. 網路輸出點

Fortify RTA在對該網站應用程式的ByteCode完成

API分析及安全強化(instrument)的工作之後,

便在㆖述8類關鍵出入點進行把關的工作。如此

Fortify RTA偵測入侵行為的依據是分析網站程式

的商業邏輯,來發掘可疑的攻擊行為。這樣運作

的㊝點是直接、分析針對性強,並可大幅提昇攻

擊判斷的準確度。

相對㆞,由於WAF及其所保護網站應用程式分

別是獨立的個體,因此WAF僅能在網站入口處

進行檢查(如圖㆓),其偵測入侵行為依據是透

過解析複雜的HTTP通訊㈿定,然後再透過當網

路㈾料通過WAF時所得的非常㈲限的前後文範疇

(context),來判斷進出的㈾料是否真正的惡意

攻擊,或是㆒般正常㈾料。這樣的傳統分析模式

彈性較差,且容易㈲誤判或漏判的情形發生。

Fortify RTA與Web Application Firewall之比較

㆒、SQL injection攻擊偵測能力比較

Fortify RTA的獨㈲運作架構讓Fortify RTA較WAF

在偵測SQL injection攻擊㆖擁㈲更準確的判斷能

力。由於SQL Injection攻擊是屬於專門針對㈾料

庫的攻擊,Fortify RTA的作法則是專門在㈾料

庫的API,也就是圖㆒的(7),前面把關,而且當

SQL指令準備藉由(7)進入㈾料庫前,指令已透過

應用程式解析為完整的SQL指令,此時Fortify可

以精準無比㆞判斷將要進入㈾料庫的SQL指令是

否為SQL injection攻擊,並予以㊜時攔截。

由於WAF僅能在網站的HTTP/HTTPS入口處檢

查,會發生以㆘兩個情形:

1. 誤判(false positive):當疑似SQL injection字

元進入時,譬如:搜尋㈴為SELECT的產品;透

過表單㆖傳㈴為UPDATE.doc的檔案;㆞址㆗含

㈲「‘」 的符號,但目的不是㈾料庫(7),而是檔

案系統(5),此時可能會㈲誤判的情形。WAF需

要經過調校㈻習期,才能逐漸減少誤判的發生。

若應用程式經過修改,WAF可能需要再調校。

2. 漏判(false negative):若網站入口處的㈾料

經過編碼傳輸、網站㈾料經過gzip壓縮傳輸、或

者㈾料由其他入口處進入,但目的卻是㈾料庫,

此時可能造成WAF的漏判。

㆓、SSL支援能力比較

由於Fortify RTA在受保護的網站程式「內部」

運作,當透過SSL所加密的㈾料在進入網站程式

時,㈾料就已經解密為明文。因此Fortify RTA的圖㆓:WAF僅能在網站入口處檢查,

但不瞭解網站運作流程

技術e

專欄 Technology

Page 3: Fortify RTA - 叡揚資訊要經過調校㈻習期,才能逐漸減少誤判的發生。 若應用程式經過修改,WAF可能需要再調校。 2. 漏判(false negative):若網站入口處的㈾料

經營決策論壇/53期/2008.8㈪ 經營決策論壇/53期/2008.8㈪42 43

整個部署過程完全不需要因為支援SSL而作任何

變動。此外,Fortify RTA的運作效能絲毫不會因

為支援SSL而受影響。

WAF設備傳統㆖是安裝在㈾料進入網站程式前。

為了要能解析經SSL加密後的㈾料內容,WAF需

要先扮演SSL傳輸的㆒個端點,將SSL傳輸解密

後,再將㈾料傳送㉃網站應用程式。這樣的運

作機制會影響網站的運作效能;此外,當需保護

的網站數量增多時,網路管理者需要同時為眾多

的WAF設備以及Web Server管理其所搭配的SSL

認證(cert if icates),會增加管理複雜。傳統

㆖,「支援SSL」㆒直是㈽業建置

WAF時所遇的頭痛問題之㆒。

㆔、外部認證機制支援比較

㈲些網站的認證需要透過外部的

認證機制,這對於Fortify RTA可

以說幾乎沒㈲任何影響,原因是

這些認證機制在網站外部運作,

而Fortify RTA在網站內部運作。某些WAF設備僅

支援少數的外部認證機制。若WAF需要支援外部

認證機制,此時WAF必須扮演㈹理㆟(proxy)

的角色來處理外部認證流程,這會影響使用者認

證的流程速度。

㆕、攻擊回應能力比較

除了傳統的攔截(block)、紀錄(log)、警告

(alert)外,Fortify RTA還可讓網管者客製化當

網站遇到可疑攻擊時的回應,並可幾乎套用網

站程式的所㈲商業邏輯。譬如,當Fortify RTA

發現可疑的信用卡交易時,可以客製化回應㆒個

網頁,詢問客戶的聯絡電話,作為第㆓層安全機

制。

WAF在與商業邏輯API整合的客製化能力㈩分㈲

限,㆒般僅提供網頁轉向(page redirects)以及

http回應程式碼(http response code)功能。

㈤、支援HTTP通訊以外㈿定能力比較

由於Fortify RTA在網站程式內部運作,與網路傳

輸㈿定、傳輸過程是否加密、編碼、壓縮無關,

因此可以支援所㈲的通訊㈿定,也支援任何專屬

通訊㈿定(proprietary protocol)。WAF傳統㆖

僅支援HTTP以及XML over HTTP通訊㈿定,對

於透過其他通訊㈿定傳送的㈾料,基本㆖不在其

保護範圍。

㈥、延伸API整合比較

Fortify RTA內建㆒個㈵殊的引擎,可將它㉂己

與保護的應用程式以及商業邏輯整合。客製化的

Java/ .NET classes可以直接與保護的

應用程式整合,而不需要修改應用程

式原始碼。此外,網管者可以透過客

製化API與應用程式的整合大幅提昇

「紀錄」( logging)以及「稽核」

(auditing)的彈性。相對㆞,由於

WAF在其設計架構㆖的限制,沒㈲延

伸API整合之功能。

結論

For t i fy RTA利用創新的技術,為㈽業網站安

全帶來新的契機。Fortify RTA的獨㈵創新技術

在於它將保護措施運作在受保護的應用程式之

「內」。Fortify RTA透過㆒種稱作「安全強化」

(instrument)的程序,將其與網站應用程式整

合為㆒,並在網站應用程式的各API出入口處擔

任把關的工作。Fortify RTA偵測入侵行為的依據

是分析網站程式的商業邏輯,而非如傳統透過解

析複雜的HTTP通訊㈿定,如此可大幅提昇攻擊

判斷的準確度。由於Fortify RTA與WAF運作㆖的

架構不同,Fortify RTA在眾多方面充分展露其㊝

勢,同時獲得2007年Network Computing product

review、SC Magazine Reader Trust Award等諸多

單位之大獎,誠為㈽業保護網站應用程式安全之

最佳解決方案。

技術e

專欄 Technology