專利名稱:Soa安全保障系統(tǒng)及方法
技術領域:
本發(fā)明涉及計算機安全領域,尤其涉及一種針對S0A工作流的安全保障 系統(tǒng)及方法。
背景技術:
面向服務的體系架構(Service Oriented Architecture,即"SOA")作為近 年來信息技術界的焦點,從2005年至今,已經(jīng)逐漸成為影響中國IT系統(tǒng)構 建的主導思想。SOA系統(tǒng)可使不同技術、不同平臺開發(fā)出來的系統(tǒng)組件能夠 快速地、自由地組合起來,以滿足用戶的需要,而這些組件彼此之間又是獨 立的,每個組件能在不依賴于其他組件的條件下完成一定的功能。正因如此, SOA系統(tǒng)具有跨平臺、松耦合、模塊化和以業(yè)務工作流為核心的特點,對IT 系統(tǒng)開發(fā)商、用戶(特別是對IT依賴較高的行業(yè)用戶)都具有極強的吸引力。 近幾年發(fā)展迅速的Web服務技術為SOA系統(tǒng)的構建奠定了良好的技術基礎, 它所具有的平臺無關、標準中立等特點,使其成為現(xiàn)今構建SOA系統(tǒng)的首選 技術。由此也極大促進了SOA系統(tǒng)的商用化。
SOA系統(tǒng)架構與其它IT系統(tǒng)架構一樣,都存在安全性問題。安全性是 SOA系統(tǒng)的重要方面,是大多數(shù)用戶優(yōu)先考慮的問題。使用Web服務技術構 建SOA系統(tǒng),需要保護Web服務,確保只被那些準許的邏輯訪問。為了保持 Web服務的開放性并支持多種類型的客戶端,就必須解決Web服務的安全性 問題。我國2008年通過的《SOA標準體系白皮書Vl.O》中,在其標準體系 圖的"架構"層,標明了 "安全性標準",并提出了 "Web服務安全性規(guī)范為 Web服務框架提供安全通信的方法",具體涉及XML內容加密與簽字、SOAP 消息頭域擴展安全屬性、Web服務安全系列和Web互操作安全。上述SOA安 全標準與規(guī)范,從技術層面上,覆蓋了SOA體系架構下的傳輸層、消息層、描述層、管理層、服務組合層、表示層的安全需求,從產(chǎn)品工業(yè)流程上,覆 蓋了研制、實施、運維管理等領域。
然而,上述SOA安全標準與規(guī)范均是由其SOA服務提供商遵循相應的 安全標準而實現(xiàn)的,除了對業(yè)務系統(tǒng)的性能有影響外,還存在如下缺陷
1、僅關注業(yè)務系統(tǒng)的研制過程,對運營支持不夠。在IT系統(tǒng)改造為SOA 架構后,為企業(yè)/組織的內外攻擊者提供了更多便利。對于合乎現(xiàn)有標準與規(guī) 范的業(yè)務用戶誤用、冒用和越權使用更是無能為力。
2、 對業(yè)務工作流安全支持不夠。
3、 未能與現(xiàn)有安全設備互通,未提供用戶安全準入支持,也無法及時終 止局部流程正常而實際卻違規(guī)的行為。
發(fā)明內容
本發(fā)明要解決的技術問題在于,針對上述SOA安全標準與規(guī)范在實際運 營中對業(yè)務工作流安全保障不力的缺陷,提出一種針對S0A工作流的安全保 障系統(tǒng)及方法。
本發(fā)明解決上述技術問題的技術方案是,構造一種SOA安全保障方法, 包括以下步驟
(a) 橋接企業(yè)服務總線,并依據(jù)從可信工作流監(jiān)管服務模塊獲取的SOA 工作流模板與檢測規(guī)則對所述企業(yè)服務總線上的交互信息進行識別與檢測;
(b) 旁路企業(yè)門戶服務,并依據(jù)從可信工作流監(jiān)管服務模塊獲取的WEB 工作流模板與檢測規(guī)則對所述企業(yè)門戶服務上的Web請求與Web響應進行識 別與檢測;
(c) 監(jiān)控用戶操作終端,并依據(jù)從可信工作流監(jiān)管服務模塊獲取的業(yè)務 工作流模板與檢測規(guī)則對所述操作終端上正發(fā)生的業(yè)務操作請求與響應進行 識別與檢測。
在本發(fā)明所述的SOA安全保障方法中,所述SOA工作流模板、WEB工 作流模板及業(yè)務工作流模板分別包括名稱、序號、HTTP頭域屬性;所述SOA 工作流檢測規(guī)則、WEB工作流檢測規(guī)則及業(yè)務工作流檢測規(guī)則由分別包括操作序號、請求HTTP頭域、響應HTTP頭域屬性。
在本發(fā)明所述的SOA安全保障方法中,所述識別操作用于流程鑒別,其 依據(jù)HTTP請求的頭域屬性,査詢預設的工作流模板庫,計算當前工作流; 所述檢測操作用于在流程鑒別后,依據(jù)預設的工作流檢測規(guī)則,對該工作流 中的請求與響應進行驗證。
在本發(fā)明所述的SOA安全保障方法中,還包括在檢測到違規(guī)訪問時,通
過所述可信工作流監(jiān)控服務模塊與安全裝置聯(lián)動,自動阻隔違規(guī)訪問。
在本發(fā)明所述的SOA安全保障方法中,所述步驟(a)、 (b)、 (c)中各
包括在與所述可信工作流監(jiān)管服務模塊通信前,與可信工作流監(jiān)管服務模
塊通信進行身份驗證。
本發(fā)明還提供一種SOA安全保障系統(tǒng),包括用戶終端工作流管控模塊、
網(wǎng)絡門戶工作流管控模塊、企業(yè)服務總線管控模塊以及可信工作流監(jiān)管服務
模塊,其中
所述用戶終端工作流管控模塊,用于依據(jù)從可信工作流監(jiān)管服務模塊獲 取的業(yè)務工作流模板與檢測規(guī)則控制終端上正在發(fā)生的用戶操作工作流行 為;
所述網(wǎng)絡門戶工作流管控模塊,用于依據(jù)從可信工作流監(jiān)管服務模塊獲 取的WEB工作流模板與檢測規(guī)則控制Web門戶服務上正在發(fā)生的用戶使用 工作流行為;
所述企業(yè)服務總線管控模塊,用于依據(jù)從可信工作流監(jiān)管服務模塊獲取 的SOA工作流模板與檢測規(guī)則控制企業(yè)服務總線上正在發(fā)生的用戶使用工作 流行為。
在本發(fā)明所述的SOA安全保障系統(tǒng)中,所述用戶終端工作流管控模塊, 包括工作流識別模塊、工作流檢測模塊、工作流環(huán)境檢查模塊和工作流管控 模塊,其中
所述工作流管控模塊,用于與所述可信工作流監(jiān)管服務模塊交互,并完 成用戶終端身份驗證;
所述工作流識別模塊,用于捕獲并解析用戶操作請求與響應,并依據(jù)從可信工作流監(jiān)管服務模塊獲取的業(yè)務工作流模板,完成工作流識別,并將識 別后的工作流信息提交給工作流檢測模塊;
所述工作流檢測模塊,用于依據(jù)從可信工作流監(jiān)管服務模塊獲取的業(yè)務 工作流模檢測規(guī)則,實現(xiàn)對終端用戶工作流請求與應答檢測,并通過工作流 管控模塊并上報異常事件。
在本發(fā)明所述的SOA安全保障系統(tǒng)中,所述網(wǎng)絡門戶工作流管控模塊包 括Web訪問日志解析模塊、Web工作流識別模塊、Web工作流檢測模塊和 Web工作流管控模塊,其中
所述Web工作流管控模塊,用于與所述可信工作流監(jiān)管服務模塊交互, 并完成節(jié)點身份認證;
所述Web訪問日志解析模塊,用于解析Web服務器的訪問日志,并將結 果提交給Web工作流識別模塊和Web工作流檢測模塊;
所述Web工作流識別模塊,用于依據(jù)從可信工作流監(jiān)管服務模塊獲取的 WEB工作流模板,完成工作流識別,并將識別結果提交給所述Web工作流檢 測模塊;
所述Web工作流檢測模塊,用于依據(jù)從可信工作流監(jiān)管服務模塊獲取的 WEB工作流檢測規(guī)則,完成對Web網(wǎng)絡門戶請求與響應檢須!J,構建異常事件, 并通過所述Web工作流管控模塊上報該異常事件。
在本發(fā)明所述的SOA安全保障系統(tǒng)中,所述企業(yè)服務總線管控模塊包括 報文狀態(tài)檢測模塊、SOA工作流識別模塊、SOA工作流檢測模塊以及SOA 工作流管控模塊,其中
所述SOA工作流管控模塊,用于與所述可信工作流監(jiān)管服務模塊交互, 并完成節(jié)點身份認證;
所訴報文狀態(tài)檢測模塊,用于基于TCP/IP協(xié)議機制,對第二層、第三層 報文進行過濾,對HTTP協(xié)議進行解碼,并將解碼結果提交給SOA工作流識 別模塊;
所述SOA工作流識別模塊,用于依據(jù)從可信工作流監(jiān)管服務模塊獲取的 SOA工作流模板,識別SOA工作流,并將結果提交給SOA工作流檢測模塊;所述SOA工作流檢測模塊,用于依據(jù)從可信工作流監(jiān)管服務模塊獲取的 SOA工作流檢測規(guī)則,對SOA請求與響應頭域信息進行檢測,產(chǎn)生異常事件, 并通過所述SOA工作流管控模塊上報該異常事件。
在本發(fā)明所述的SOA安全保障系統(tǒng)中,所述可信工作流監(jiān)管服務模塊包 括節(jié)點身份管理模塊、配置管理模塊、異常事件管理模塊以及審計報表模塊, 其中
所述節(jié)點身份管理模塊管理,用于實現(xiàn)所述用戶終端工作流管控模塊、 所述網(wǎng)絡門戶工作流管控模塊和所述企業(yè)服務總線管控模塊的身份驗證;
所述配置管理模塊,用于配置所述用戶終端工作流管控模塊、所述網(wǎng)絡 門戶工作流管控模塊和所述企業(yè)服務總線管控模塊的所需要的工作流模板和 檢測規(guī)則;
所述異常事件管理模塊,用于基于預設的策略對上報的工作流異常進行 自動響應。
本發(fā)明通過用戶終端、網(wǎng)絡門戶和企業(yè)服務總線三級安全保障,能很好 地適應企業(yè)工作流不斷調整的運營環(huán)境,在用戶終端、Web門戶以及內部服 務總線上靈活設置強度不等的驗證機制,實現(xiàn)了對用戶層、匯聚層與核心應 用層的消息流管控。同時,本發(fā)明不會對業(yè)務內容進行任何探測,業(yè)務內容 安全性仍由融入了 SOA現(xiàn)有安全保障中各項技術的業(yè)務系統(tǒng)提供,確保業(yè)務 內容未暴露給第三方系統(tǒng),真正實現(xiàn)了業(yè)務工作流安全。本發(fā)明提供了面向 用戶會話級細粒度的工作流管控,對現(xiàn)有的業(yè)務系統(tǒng)性能影響較小,但提高 了工作流安全控制的靈敏度與自由度。
下面將結合附圖及實施例對本發(fā)明作進一步說明,附圖中 圖1是本發(fā)明SOA安全保障方法實施例的流程示意圖; 圖2是圖1中橋接企業(yè)服務總線步驟的具體流程圖; 圖3是圖1中旁路網(wǎng)絡門戶服務步驟的具體流程圖; 圖4是圖1中監(jiān)控操作終端步驟的具體流程圖;圖5是對異常事件處理的流程圖6為本發(fā)明SOA安全保障方法實施例的結構框圖。
具體實施例方式
下面結合附圖對本發(fā)明具體實施方式
進行詳細說明。
本發(fā)明提供了一種面向SOA工作流的第三方安全保障系統(tǒng)與方法,其核 心思想是構建一套分別針對用戶終端工作流管控、Web門戶工作流管控和 企業(yè)服務總線工作流管控的系統(tǒng),并維護一套工作流模板和工作流檢測標準。 上述工作流模板與工作流檢測標準基于同一工作流在用戶終端、Web門戶和 企業(yè)服務總線上的不同表示,并通過可信工作流監(jiān)管中心配置到終端管控、 Web門戶管控和企業(yè)服務總線管控模塊上。安全保障系統(tǒng)啟動后,用戶終端 只有經(jīng)過本地環(huán)境檢査合格后,方能訪問業(yè)務服務網(wǎng)絡;針對檢測到的異常 事件,依據(jù)工作流管理員設定的響應策略進行處理,并能與安全設備,如防 火墻、寬帶接入設備(BAS)交互,自動阻隔非法工作流訪問。以下就本發(fā) 明方法與系統(tǒng)進行詳細說明。
如圖1所示,是本發(fā)明面向SOA工作流的第三方安全保障實施例的流程 示意圖。包括如下步驟
步驟S1:橋接企業(yè)服務總線,捕獲出入企業(yè)服務總線的報文,并進行深 層檢測并阻隔協(xié)議級異常包。上述深層檢測包括TCP/IP協(xié)議族的狀態(tài)檢測以 及對應用層HTTP協(xié)議進行檢測。該步驟還對承載SOAP的HTTP包頭進行 驗證,識別并檢測SOA工作流。
步驟S2:旁路網(wǎng)絡(Web)門戶(Web門戶是用戶通過用戶終端使用SOA 服務的門戶)服務,通過分析Web門戶的訪問日志,獲取各用戶終端的訪問 次序與交互信息,完成對用戶終端的Web業(yè)務流程管控。
步驟S3:監(jiān)控用戶操作終端,依據(jù)預設的環(huán)境檢査基準對用戶終端環(huán)境 進行檢査,若檢查符合規(guī)范,則可信工作流監(jiān)管中心為該用戶終端授予業(yè)務 網(wǎng)絡訪問許可。用戶終端啟用業(yè)務工作流后,捕獲操作請求和響應,然后依 據(jù)預設的用戶終端工作流模板與檢測規(guī)則,監(jiān)控用戶終端的活動工作流。如圖2所示,是圖1中橋接企業(yè)服務總線步驟(步驟S1)的具體流程圖。 該步驟具體包括
步驟Sll:企業(yè)服務總線工作流管控模塊與可信工作流監(jiān)管服務模塊間進 行身份驗證,若身份驗證通過,則執(zhí)行步驟S12,否則該流程自行終止。在該 步驟中,身份驗證可采用現(xiàn)有的認證方式,例如密鑰等。
步驟S12:通過可信工作流監(jiān)管服務模塊對企業(yè)服務總線工作流管控模塊
配置SOA工作流模板與檢測規(guī)則。在該步驟中,企業(yè)服務總線工作流管控模 塊從可信工作流監(jiān)管服務模塊自動下載預設的SOA工作流模板與檢測規(guī)則, 并可進行實時配置。上述的SOA工作流模板由業(yè)務工作流在企業(yè)服務總線上 承載SOAP的HTTP請求組成,具體可包括工作流名稱、序號、HTTP請求頭 域信息等;而SOA工作流檢測規(guī)則由業(yè)務工作流在企業(yè)服務總線上的HTTP 承載的SOAP請求與響應組成,具體包括工作流名稱、序號、方向、HTTP頭 域信息等。
在具體實現(xiàn)時,同一SOA工作流模板可以拆分成多個子模板,所有子模 板共用一個父編號;模板內的HTTP請求頭域條目可以是詳細列表格式,也 可以是正則表達式格式,其序號與工作流內部信息交換次序嚴格一致。同一 SOA工作流檢測規(guī)則條目可以是HTTP頭域的詳細列表格式,也可以是正則 表達式格式;規(guī)則中的每個項對應工作流中的一個交互步驟,規(guī)則序號與工 作流內部請求與響應交互次序嚴格一致;規(guī)則可以是多個子規(guī)則通過"和", "或"與"括號"關系相連而成,子規(guī)則共用同一個父編號。
步驟S13:對出入的報文進行檢測,包括TCP/IP的包狀態(tài)檢測、HTTP 協(xié)議包檢測,并過濾出HTTP頭域信息。在該步驟中,不檢測報文所攜帶的 SOAP內容(即SOAP Envelope)。 SOAP內容的檢測與驗證由現(xiàn)有SOA服務 實現(xiàn),以便提高檢測性能,并可防止業(yè)務信息暴露給非必需第三方系統(tǒng)。
步驟S14:解析HTTP協(xié)議頭域,解析出HTTP類型、目標URI、方法、 響應碼、時間、協(xié)議版本等信息;針對HTTP的請求報文,還需要從HTTP 報文中解析出SOAP方法(即SOAP Action )。
步驟S15:識別工作流;針對每個HTTP請求報文和當前會話信息,在已配置的SOA工作流模板中進行檢索,識別當前對話的工作流。
上述會話是TCP請求所確定的,包括源IP、源端口、目標IP、目標端口 等信息;上述對話包括源IP、源端口、目標IP、目標端口、已啟用的工作流、 當前工作流、最近請求、最近響應、時間戳等信息。每一對話可包括多個會 話;創(chuàng)建新對話前,需要查詢可信工作流監(jiān)管服務模塊是否已存在針對同一 源IP的用戶終端的操作對話或Web門戶對話標志,若不存在則確定當前對話 為異常對話并告警。
識別出工作流后,依據(jù)當前的負載狀況以及當前有效的分發(fā)策略,計算 該HTTP請求是否需要重定向,如果需要,則執(zhí)行步驟S16,否則直接執(zhí)行步 驟S17。
步驟S16:重定向HTTP請求。
步驟S17:依據(jù)HTTP頭域、會話信息和已識別出的SOA工作流,并通 過預先配置的工作流檢測規(guī)則,對當前對話的HTTP頭域信息進行檢測。如 果檢測正常,則更新當前對話的內容,并轉S14,處理下一個HTTP報文;否 則轉步驟S18。
具體地,所述更新當前對話的內容,包括更新當前對話的如下信息當 前活動工作流標識、最近請求、時間戳等信息;
所述SOA工作流檢測包括交互順序關系檢測、服務請求內容檢測和服務 響應內容檢測。其中交互順序關系檢測是指依據(jù)設定的工作流檢測規(guī)則中的 規(guī)則序號,比較同一工作流內當前請求與上一次請求的次序號,如果違背操 作鏈關系,則為非法操作;服務請求內容檢測是指驗證源端、目的端、操作 請求是否與設定的規(guī)則相符合;服務響應內容檢測是指驗證響應是否與請求 相匹配、響應時間是否超時、響應錯誤碼等。
步驟S18:檢測到異常后,利用當前HTTP頭域信息、會話信息,構建異 常事件,并上報可信工作流監(jiān)管服務模塊。
如圖3所示,是圖1中旁路網(wǎng)絡門戶服務步驟(步驟S2)的具體流程圖。 該步驟具體包括
步驟S21:網(wǎng)絡門戶工作流管控模塊與可信工作流監(jiān)管服務模塊進行身份互驗證,并在身份驗證通過時執(zhí)行步驟S22,否則流程自行終止。
步驟S22:通過可信工作流監(jiān)管服務模塊配置網(wǎng)絡門戶工作流管控模塊的 Web工作流模板與規(guī)則信息。在該步驟中,網(wǎng)絡門戶工作流管控模塊從可信 工作流監(jiān)管服務模塊下載預設的Web工作流模板與檢測規(guī)則信息,并隨時配 置新的模板和/或規(guī)則數(shù)據(jù)。
上述Web工作流模板由業(yè)務工作流在Web門戶上的表現(xiàn)形式數(shù)據(jù)組成, 通常是Web服務請求信息序列組成;上述Web工作流檢測規(guī)則,是由具體業(yè) 務工作流在Web門戶上的Web請求與Web響應消息序列組成。
同樣地,同一Web工作流模板可以拆分成多個子模板,所有子模板共用 一個父編號;模板內的Web請求項條目可以是詳細列表格式,也可以是正則 表達式格式,其序號與工作流內部信息交互次序嚴格一致。同一Web工作流 檢測規(guī)則條目可以是Web請求與響應的詳細列表格式,也可以是正則表達式 格式;每個檢測項對應工作流中的一個交互步驟,規(guī)則序號與工作流內部交 互次序嚴格一致;規(guī)則可以是多個子規(guī)則通過"和","或"與"括號"關系 相連而成,子規(guī)則共用同一個父編號。
步驟S23:網(wǎng)絡門戶工作流管控模塊采集Web門戶的運行日志,并將日 志信息規(guī)整化后,解析出客戶端、操作方式、目標網(wǎng)頁、請求參數(shù)、時間、 協(xié)議、字節(jié)數(shù)、操作結果等。
步驟S24:網(wǎng)絡門戶工作流管控模塊依據(jù)Web請求(其對應操作方式為 Get或Post)、客戶端信息,檢索已配置的Web工作流模板,識別當前客戶對 話的Web工作流。
上述客戶對話包括用戶終端、已啟動的Web工作流、當前Web工作流、 最近一次Web請求、最近一次Web響應、最近活動時間等信息。在創(chuàng)建新的 客戶對話前,需要査詢可信工作流監(jiān)管服務模塊是否已存在同一用戶終端的 用戶終端對話標志,如果對話標志不存在,但該用戶終端信息標識其源自受 控網(wǎng)絡時,則立即告警。
步驟S25:依據(jù)操作方式、目標網(wǎng)頁和已識別出的Web工作流,檢索已 預配置的Web工作流檢測規(guī)則,對Web請求與響應進行檢測。如果檢測到異常,執(zhí)行步驟S26;如果檢測中未發(fā)現(xiàn)異常,則轉S23,繼續(xù)處理下一條日志
fe息。
具體地,所述Web工作流檢測主要包括請求目標及參數(shù)內容檢測和請求 次序檢測。請求目標與參數(shù)內容檢測遵從預設的檢測規(guī)則,解析出目標網(wǎng)頁、 參數(shù)名稱、參數(shù)個數(shù)和參數(shù)內容,并與規(guī)則比較,驗證是否合規(guī);請求次序 檢測在解析出目標網(wǎng)頁、參數(shù)名稱、參數(shù)內容后,計算出操作的序號,并與 當前客戶對話的上一次操作序號比較,驗證是否符合操作鏈規(guī)則。
步驟S26:檢測到異常后,依據(jù)當前的用戶終端、操作方式、目標網(wǎng)頁、 請求參數(shù)以及對話信息,構建異常事件,并上報可信工作流監(jiān)管服務模塊。
如圖4所示,是圖1中監(jiān)控用戶操作終端步驟(步驟S3)的具體流程圖。 該步驟具體包括
步驟S31:用戶終端啟動后,用戶終端工作流管控模塊自動定時進行環(huán)境 檢查,如果環(huán)境檢查未通過,則自動通告可信工作流監(jiān)管服務中心,撤銷此 用戶終端的業(yè)務網(wǎng)絡訪問。
上述環(huán)境檢査基于用戶終端軟件白名單進行,包括操作系統(tǒng)及其補丁列 表、應用軟件系統(tǒng)及其補丁列表、桌面安全防護系統(tǒng)及其補丁列表、環(huán)境配 置參數(shù)以及活動服務。不同的白名單模板針對不同崗位、不同辦公區(qū)域以及 不同職位的工作人員。只有白名單檢測通過,且未發(fā)現(xiàn)非白名單內的應用系 統(tǒng)、活動服務和環(huán)境配置參數(shù)時,終端檢測才算合規(guī)。
環(huán)境檢査主要采用API調用方式而非SHELL調用方式,除了對系統(tǒng)關鍵 模塊(如核心dll、核心so)進行完整性檢査,還需要檢査接口地址,預防內存 鉤子和在線鉤子。
步驟S32:用戶終端工作流管控模塊與可信工作流監(jiān)管服務模塊身份互驗 證,并在身份驗證通過后,可信工作流監(jiān)管服務模塊為該用戶終端授予業(yè)務 網(wǎng)絡訪問許可。
可信工作流監(jiān)管服務模塊在收到身份驗證請求后,可以先要求用戶終端 工作流管控模塊再次進行本地環(huán)境檢查,并上報檢查結果,然后再處理用戶 終端工作流管控模塊的身份驗證請求。步驟S33 :用戶終端工作流管控模塊自動向可信工作流監(jiān)管服務模塊下載 與終端身份相匹配的用戶終端工作流模板和檢測規(guī)則,并可隨時配置新的工 作流模板和/或檢測規(guī)則信息。
上述用戶終端工作流模板是業(yè)務工作流在用戶終端上的用戶操作請求的
數(shù)據(jù)表達;用戶終端工作流檢測規(guī)則是業(yè)務工作流在用戶終端上用戶操作請 求與響應的數(shù)據(jù)表達。
同一用戶終端工作流模板可以拆分成多個子模板,所有子模板共用一個 父編號;模板內的用戶操作請求條目可以是詳細列表格式,也可以是正則表 達式格式,其序號與工作流內部信息次序嚴格一致。同一用戶終端工作流的 檢測規(guī)則條目可以是操作的詳細列表格式,也可以是正則表達式格式;每個 檢測項對應工作流中的一個交互步驟,規(guī)則序號與工作流內部交互次序嚴格 一致;規(guī)則可以是多個子規(guī)則通過"和","或"與"括號"關系相連而成, 子規(guī)則共用同一個父編號。
步驟S34:用戶終端工作流管控模塊捕獲用戶在Web瀏覽器或業(yè)務專用 客戶端上操作請求與響應若為請求則解析目標IP、目標端口、目標對象名 稱、請求參數(shù)并執(zhí)行步驟S35,若為響應則解析出響應對象名稱并直接執(zhí)行步 驟S36。
步驟S35:用戶終端工作流管控模塊針對用戶操作請求,依據(jù)解析出的目 標IP、目標端口、目標對象名稱、請求參數(shù),檢索已配置的終端工作流模板, 識別業(yè)務流程,并構建或更新客戶操作對話,其中客戶操作對話包括客戶
身份、目標IP、目標端口、已啟動的工作流、最近一次請求信息、最近一次 返回信息、當前活動工作流等。
步驟S36:用戶終端工作流管控模塊對用戶的操作請求與操作響應進行分 別進行不同檢測;發(fā)現(xiàn)異常時,執(zhí)行S37;否則,工作流檢測正常,轉S34, 繼續(xù)處理下一條捕獲的請求或響應。
對用戶操作請求信息,依據(jù)已預設的工作流檢測規(guī)則,驗證用戶是否允 許訪問,訪問的順序是否正確以及攜帶的請求參數(shù)是否正確。所述訪問允許 驗證,依據(jù)已識別的工作流、檢索針對該工作流所有預設的允許訪問目標;所述訪問順序驗證,依據(jù)目標對象名稱、請求參數(shù),檢索出當前操作的序號, 并與當前工作流的上一次操作序號比較,如果違反操作鏈,則為異常;所述
請求參數(shù)驗證,包括參數(shù)名稱與參數(shù)內容驗證,依據(jù)目標對象名稱、請求參 數(shù)序列,檢索出當前操作的規(guī)則,并將參數(shù)及其內容與規(guī)則匹配,如果不符 合,則為異常。
對用戶操作響應信息,僅檢測響應對象名稱和操作結果。依據(jù)操作請求 檢測時緩存的規(guī)則,對響應對象名稱、操作結果進行檢測。如果不匹配,則 為異常。
步驟S37:用戶終端工作流管控模塊檢測到異常信息后,依據(jù)當前用戶終 端信息、用戶操作目標對象、請求參數(shù)信息,構造異常事件,并上報可信工 作流監(jiān)管服務模塊。
進一步地,在產(chǎn)生了異常事件后,對異常事件的處理流程,如圖5所示, 包括
S41:異常事件由用戶終端工作流管控模塊、網(wǎng)絡門戶工作流管控模塊和 企業(yè)服務總線工作流管控模塊創(chuàng)建,并以統(tǒng)一格式上報到可信工作流監(jiān)管服 務模塊。
異常事件遵循IDMEF格式,包括創(chuàng)建模塊編號、創(chuàng)建模塊實例、事件 類型編號、發(fā)生時間、上報時間,業(yè)務客戶端IP、業(yè)務客戶端端口、業(yè)務服 務端IP、業(yè)務服務端端口、操作名稱、操作說明信息、業(yè)務流名稱、事件附 加信息。
步驟S42:可信工作流監(jiān)管服務模塊將異常事件轉換為標準告警信息,直 接在告警終端上展示。
步驟S43:可信工作流監(jiān)管服務模塊依據(jù)異常事件類型編號,檢索自動響 應策略集,并在檢索到自動響應策略后執(zhí)行步驟S44,請求安全聯(lián)動指示;否 則,轉S41,處理下一條異常事件。
步驟S44:可信工作流監(jiān)管服務模塊利用異常事件中的客戶端IP、客戶 端端口替換聯(lián)動請求中的外圍阻隔指令中的IP與端口;同時,如果存在核心 層阻隔指令,則將客戶端IP、客戶端端口、服務IP、服務端口替換阻隔指令的IP與端口集合。
步驟S45:聯(lián)動指令構造完畢后,針對外圍阻隔指令,檢索出客戶端的
BAS設備(或防火墻),并將此指令下發(fā)到相應設備;針對核心層阻隔指令, 檢索出服務端的防火墻(或橋接企業(yè)服務總線模塊),并將指令下發(fā)到該設備 (或模塊)。
如果下發(fā)指令失敗或獲知指令執(zhí)行失敗,則轉S42,直接告警,提示阻隔 失??;否則,轉S41,處理下一條異常事件。
如圖6所示,是本發(fā)明SOA安全保障系統(tǒng)實施例的結構示意圖。該系統(tǒng) 包括用戶終端工作流管控模塊61、網(wǎng)絡門戶工作流管控模塊62、企業(yè)服務總 線工作流管控模塊63和可信工作流監(jiān)管服務模塊64。
可信工作流監(jiān)管服務模塊64為服務端模塊,用戶終端工作流管控模塊 61、網(wǎng)絡門戶工作流管控模塊62和企業(yè)服務總線工作流管控模塊63為客戶 端模塊。
系統(tǒng)運行時,客戶端首先向服務端申請身份驗證;身份驗證通過后,向 服務端申請配置數(shù)據(jù);成功申請到配置數(shù)據(jù)后,啟動監(jiān)控流程,對工作流進 行監(jiān)控,如果發(fā)現(xiàn)異常,則將異常數(shù)據(jù)規(guī)整化后上報到服務端模塊;服務端 模塊收集到異常事件或告警事件后,立即示警,并依據(jù)預設的響應策略構建 阻隔指令,通過安全聯(lián)動,請求安全設備(如防火墻,BAS設備)阻隔。
本實施例中,可信工作流監(jiān)管服務模塊64是本系統(tǒng)的管理核心,其單獨 部署在企業(yè)/組織受保護的主機上,包括有配置管理模塊641、節(jié)點身份管理 模塊642、可信工作流管控模塊643、安全通信模塊644、異常事件管理模塊 645、安全聯(lián)動模塊646和審計報表模塊647。其中配置管理模塊641、異常 事件管理模塊645和審計報表模塊647均提供操作終端,供用戶操作與瀏覽。
配置管理模塊641用于配置整個系統(tǒng),包括運行參數(shù)配置、身份信息配 置、安全聯(lián)動設備配置(BAS、防火墻等)、異常事件響應策略配置、用戶終 端軟件白名單模板配置、三類工作流模板與工作流檢測規(guī)則配置以及包過濾 規(guī)則配置。配置用戶終端工作流管控模塊61、網(wǎng)絡門戶工作流管控模塊62、 企業(yè)服務總線工作流管控模塊63時,均是通過可信工作流管控模塊643完成的。
節(jié)點身份管理模塊642用于系統(tǒng)內部模塊間身份認證,包括合法節(jié)點身 份信息、處理其它模塊的身份驗證請求。在用戶終端工作流管控模塊61節(jié)點 身份驗證通過后,將驗證成功消息提交給安全聯(lián)動模塊646,請求授予業(yè)務網(wǎng) 絡訪問許可;在收到用戶終端工作流管控模塊61環(huán)境檢測異常或離線后,請 求安全聯(lián)動模塊646撤銷該終端的業(yè)務網(wǎng)絡訪問許可。
可信工作流管控模塊643是可信工作流監(jiān)管服務模塊64與用戶終端工作 流管控模塊6K網(wǎng)絡門戶工作流管控模塊62、企業(yè)服務總線工作流管控模塊 63的通信中樞。該可信工作流管控模塊643下發(fā)配置信息到其它模塊、接收 其它模塊的驗證請求并提交到節(jié)點身份管理模塊642、將驗證響應提交到相應 模塊、接收其它模塊的異常事件并將其提交到異常事件管理模塊645。
安全通信模塊644用于保存所有活動的用戶終端工作流管控模塊61、網(wǎng) 絡門戶工作流管控模塊62、企業(yè)服務總線工作流管控模塊63以及防火墻、 BAS設備的簡單資產(chǎn)信息以及拓撲管轄關系;處理網(wǎng)絡門戶工作流管控模塊 62和企業(yè)服務總線工作流管控模塊63查詢客戶端對話信息請求;處理安全聯(lián) 動模塊646的査詢執(zhí)行設備請求??蛇x地安全通信模塊644可用于對入口 消息進行解密與身份驗證;對出口消息提供加密與簽字支持。
異常事件管理模塊645用于處理異常事件。具體地,該異常事件管理模 塊645將異常事件規(guī)格化為告警信息后,提交告警終端;檢索異常事件響應 策略庫,并依據(jù)異常事件、響應規(guī)則,構造外圍阻隔指令,和/或核心阻隔指 令,并提交安全聯(lián)動模塊646。
安全聯(lián)動模塊646用于系統(tǒng)與網(wǎng)絡安全設備聯(lián)動。具體地,該安全聯(lián)動 模塊646接收節(jié)點身份管控模塊642的請求,構造用戶終端授予或撤銷網(wǎng)絡 訪問規(guī)則;接收異常事件管理模塊645提交的聯(lián)動指令;向安全通信模塊644 請求到指令執(zhí)行設備后,將指令下發(fā)到目標設備。
審計報表模塊647用于審計異常事件、安全聯(lián)動以及系統(tǒng)運行狀況,提 供審計報表。此模塊為選配模塊。
用戶終端工作流管控模塊61部署在各類操作終端上,用于管控用戶在終端上的業(yè)務工作流操作,并自行終止違規(guī)工作流。用戶終端工作流管控模塊
61包括工作流管控模塊611、工作流識別模塊612、工作流環(huán)境檢查模塊6B 和工作流檢測模塊614。
工作流管控模塊611用于與可信工作流監(jiān)管服務模塊64的可信工作流管 控模塊643交互,是用戶終端工作流管控模塊61的消息網(wǎng)關。該工作流管控 模塊611主動向可信工作流監(jiān)管服務模塊64發(fā)起身份認證請求,并將源自可 信工作流監(jiān)管服務模塊64的配置信息提交到工作流識別模塊612、工作流檢 測模塊614和工作流環(huán)境檢查模塊613上;接收可信工作流監(jiān)管服務模塊64 的請求,通知工作流環(huán)境檢查模塊613啟動環(huán)境檢査,并在成功獲取工作流 環(huán)境檢查模塊613的檢查結果后,提交給可信工作流監(jiān)管服務模塊64;接收 工作流檢測模塊614產(chǎn)生的異常事件,并將其提交到可信工作流監(jiān)管服務模 塊64。
工作流識別模塊612用于接收工作流管控模塊611下發(fā)的工作流模板信 息;捕獲用戶操作請求與響應;依據(jù)本地緩存的工作流模板數(shù)據(jù),和已有的 工作流對話信息,識別用戶正在操作的工作流,并將識別結果提交到工作流 檢測模塊614。
工作流檢測模塊614用于接收工作流管控模塊611下發(fā)的工作流檢測信 息,依據(jù)本地緩存的工作流檢測規(guī)則數(shù)據(jù),對話信息和工作流識別模塊612 的識別結果,對用戶正在操作的業(yè)務項進行檢測。 一旦發(fā)現(xiàn)異常,則構造異 常事件,并提交給工作流管控模塊611。
工作流環(huán)境檢査模塊613用于接收工作流管控模塊611下發(fā)的終端環(huán)境 白名單數(shù)據(jù),并依據(jù)白名單對終端環(huán)境進行檢查。 一旦檢查不成功,將產(chǎn)生 告警信息,并提交給工作流管控模塊611。
網(wǎng)絡門戶工作流控制模塊62,部署在Web門戶局域網(wǎng)內,也可以直接部 署在Web門戶服務器上,包括Web工作流管控模塊621、 Web服務日志解析 模塊622、 Web工作流識別模塊623和Web工作流檢測模塊624。
Web工作流管控模塊21是網(wǎng)絡門戶工作流控制模塊M2的外聯(lián)消息網(wǎng)關。 接收可信工作流監(jiān)管服務模塊M0提交的配置信息,并將配置信息提交到Web服務日志解析模塊622、 Web工作流識別模塊623和Web工作流檢測模塊624 上;接收Web工作流檢測模塊624的異常事件,并提交給可信工作流監(jiān)管服 務模塊64的可信工作流管控模塊643;完成與可信工作流監(jiān)管服務模塊64的 身份互認證。
Web服務日志解析模塊622用于依據(jù)緩存的解析規(guī)則,將Web服務的訪 問曰志分解為統(tǒng)一格式,并將結果提交給Web工作流識別模塊623。
Web工作識別模塊623用于依據(jù)緩存的Web工作流模板數(shù)據(jù),和己預存 的客戶端對話信息,識別出Web工作流,并將識別結果提交到Web工作流檢 測模塊624。
Web工作流檢測模塊624用于依據(jù)本地緩存的Web工作流檢測規(guī)則數(shù)據(jù), 已預存的客戶端對話信息和Web工作流識別結果,對Web訪問內容進行檢測。 如有異常,則產(chǎn)生異常事件,并提交到Web工作流管控模塊621。
本實施例中,企業(yè)服務總線工作流管控模塊63部署在SOA服務機房, 橋接企業(yè)服務總線數(shù)據(jù)流,由SOA工作流管控模塊631、報文狀態(tài)檢測模塊 632、 SOA工作流識別模塊633和SOA工作流檢測模塊634組成。其中
SOA工作流管控模塊631用于企業(yè)服務總線工作流管控模塊63和可信工 作流監(jiān)管服務模塊64的消息交互中心。接收可信工作流監(jiān)管服務模塊64的 配置信息,并將其分別下發(fā)到報文狀態(tài)檢測模塊632、 SOA工作流識別模塊 633和SOA工作流檢測模塊634;接收SOA工作流檢測模塊634的異常事件, 并提交給可信工作流管理服務模塊64;完成與可信工作流管理服務模塊64的 身份互認證。
報文狀態(tài)檢測模塊632用于依據(jù)TCP/IP協(xié)議機制和緩存的包過濾規(guī)則數(shù) 據(jù)、對層2、層3信息包進行檢測,對HTTP包進行頭域解碼,并將解碼結果 提交給SOA工作流識別模塊633。
SOA工作流識別模塊633用于依據(jù)緩存的工作流模板信息、HTTP包頭 域信息、TCP包頭域信息和本地緩存的對話信息,識別當前工作流,并將結 果提交給SOA工作流檢測模塊634。
SOA工作流檢測模塊634用于依據(jù)緩存的工作流檢測規(guī)則信息、已識別的工作流信息、HTTP包頭域信息、客戶的對話信息,對請求與響應進行檢測。 發(fā)現(xiàn)異常后,構造異常事件,并提交給SOA工作流管控模塊631。
上述客戶端模塊中的工作流識別功能模塊與工作流檢測功能模塊都可以 通過服務端模塊暫時關閉或開啟;客戶端模塊所需要的模板數(shù)據(jù)與規(guī)則數(shù)據(jù) 均來自服務端模塊,客戶端本地不保存此類數(shù)據(jù)。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不 局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可 輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明 的保護范圍應該以權利要求的保護范圍為準。
權利要求
1、一種SOA安全保障方法,其特征在于,包括以下步驟(a)橋接企業(yè)服務總線,并依據(jù)從可信工作流監(jiān)管服務模塊獲取的SOA工作流模板與檢測規(guī)則對所述企業(yè)服務總線上的交互信息進行識別與檢測;(b)旁路企業(yè)門戶服務,并依據(jù)從可信工作流監(jiān)管服務模塊獲取的WEB工作流模板與檢測規(guī)則對所述企業(yè)門戶服務上的Web請求與Web響應進行識別與檢測;(c)監(jiān)控用戶操作終端,并依據(jù)從可信工作流監(jiān)管服務模塊獲取的業(yè)務工作流模板與檢測規(guī)則對所述操作終端上正發(fā)生的業(yè)務操作請求與響應進行識別與檢測。
2、 根據(jù)權利要求1所述的SOA安全保障方法,其特征在于,所述SOA 工作流模板、WEB工作流模板及業(yè)務工作流模板分別包括名稱、序號、HTTP 頭域屬性;所述SOA工作流檢測規(guī)則、WEB工作流檢測規(guī)則及業(yè)務工作流 檢測規(guī)則由分別包括操作序號、請求HTTP頭域、響應HTTP頭域屬性。
3、 根據(jù)權利要求1或2所述的SOA安全保障方法,其特征在于,所述 識別操作用于流程鑒別,其依據(jù)HTTP請求的頭域屬性,查詢預設的工作流 模板庫,計算當前工作流;所述檢測操作用于在流程鑒別后,依據(jù)預設的工 作流檢測規(guī)則,對該工作流中的請求與響應進行驗證。
4、 根據(jù)權利要求1所述的SOA安全保障方法,其特征在于,還包括在 檢測到違規(guī)訪問時,通過所述可信工作流監(jiān)控服務模塊與安全裝置聯(lián)動,自 動阻隔違規(guī)訪問。
5、 根據(jù)權利要求1所述的SOA安全保障方法,其特征在于,所述步驟 (a)、 (b)、 (c)中各包括在與所述可信工作流監(jiān)管服務模塊通信前,與可信工作流監(jiān)管服務模塊通信進行身份驗證。
6、 一種SOA安全保障系統(tǒng),其特征在于,包括用戶終端工作流管控模 塊、網(wǎng)絡門戶工作流管控模塊、企業(yè)服務總線管控模塊以及可信工作流監(jiān)管 服務模塊,其中所述用戶終端工作流管控模塊,用于依據(jù)從可信工作流監(jiān)管服務模塊獲取的業(yè)務工作流模板與檢測規(guī)則控制終端上正在發(fā)生的用戶操作工作流行為;所述網(wǎng)絡門戶工作流管控模塊,用于依據(jù)從可信工作流監(jiān)管服務模塊獲 取的WEB工作流模板與檢測規(guī)則控制Web門戶服務上正在發(fā)生的用戶使用 工作流行為;所述企業(yè)服務總線管控模塊,用于依據(jù)從可信工作流監(jiān)管服務模塊獲取 的SOA工作流模板與檢測規(guī)則控制企業(yè)服務總線上正在發(fā)生的用戶使用工作 流行為。
7、 根據(jù)權利要求6所述的SOA安全保障系統(tǒng),其特征在于,所述用戶 終端工作流管控模塊,包括工作流識別模塊、工作流檢測模塊、工作流環(huán)境 檢查模塊和工作流管控模塊,其中所述工作流管控模塊,用于與所述可信工作流監(jiān)管服務模塊交互,并完 成用戶終端身份驗證;所述工作流識別模塊,用于捕獲并解析用戶操作請求與響應,并依據(jù)從 可信工作流監(jiān)管服務模塊獲取的業(yè)務工作流模板,完成工作流識別,并將識 別后的工作流信息提交給工作流檢測模塊;所述工作流檢測模塊,用于依據(jù)從可信工作流監(jiān)管服務模塊獲取的業(yè)務 工作流模檢測規(guī)則,實現(xiàn)對終端用戶工作流請求與應答檢測,并通過工作流 管控模塊并上報異常事件。
8、 根據(jù)權利要求6所述的SOA安全保障系統(tǒng),其特征在于,所述網(wǎng)絡 門戶工作流管控模塊包括Web訪問日志解析模塊、Web工作流識別模塊、Web 工作流檢測模塊和Web工作流管控模塊,其中所述Web工作流管控模塊,用于與所述可信工作流監(jiān)管服務模塊交互, 并完成節(jié)點身份認證;所述Web訪問日志解析模塊,用于解析Web服務器的訪問日志,并將結 果提交給Web工作流識別模塊和Web工作流檢測模塊;所述Web工作流識別模塊,用于依據(jù)從可信工作流監(jiān)管服務模塊獲取的 WEB工作流模板,完成工作流識別,并將識別結果提交給所述Web工作流檢測模塊;所述Web工作流檢測模塊,用于依據(jù)從可信工作流監(jiān)管服務模塊獲取的 WEB工作流檢測規(guī)則,完成對Web網(wǎng)絡門戶請求與響應檢測,構建異常事件, 并通過所述Web工作流管控模塊上報該異常事件。
9、 根據(jù)權利要求6所述的SOA安全保障系統(tǒng),其特征在于,所述企業(yè) 服務總線管控模塊包括報文狀態(tài)檢測模塊、SOA工作流識別模塊、SOA工作 流檢測模塊以及SOA工作流管控模塊,其中所述SOA工作流管控模塊,用于與所述可信工作流監(jiān)管服務模塊交互, 并完成節(jié)點身份認證;所訴報文狀態(tài)檢測模塊,用于基于TCP/IP協(xié)議機制,對第二層、第三層 報文進行過濾,對HTTP協(xié)議進行解碼,并將解碼結果提交給SOA工作流識 別模塊;所述SOA工作流識別模塊,用于依據(jù)從可信工作流監(jiān)管服務模塊獲取的 SOA工作流模板,識別SOA工作流,并將結果提交給SOA工作流檢測模塊;所述SOA工作流檢測模塊,用于依據(jù)從可信工作流監(jiān)管服務模塊獲取的 SOA工作流檢測規(guī)則,對SOA請求與響應頭域信息進行檢測,產(chǎn)生異常事件, 并通過所述SOA工作流管控模塊上報該異常事件。
10、 根據(jù)權利要求6所述的SOA安全保障系統(tǒng),其特征在于,所述可信 工作流監(jiān)管服務模塊包括節(jié)點身份管理模塊、配置管理模塊、異常事件管理 模塊以及審計報表模塊,其中所述節(jié)點身份管理模塊管理,用于實現(xiàn)所述用戶終端工作流管控模塊、 所述網(wǎng)絡門戶工作流管控模塊和所述企業(yè)服務總線管控模塊的身份驗證;所述配置管理模塊,用于配置所述用戶終端工作流管控模塊、所述網(wǎng)絡 門戶工作流管控模塊和所述企業(yè)服務總線管控模塊的所需要的工作流模板和所述異常事件管理模塊,用于基于預設的策略對上報的工作流異常進行 自動響應。
全文摘要
本發(fā)明涉及一種SOA安全保障方法,包括以下步驟(a)橋接企業(yè)服務總線,并依據(jù)從可信工作流監(jiān)管服務模塊獲取的SOA工作流模板與檢測規(guī)則對所述企業(yè)服務總線上的交互信息進行識別與檢測;(b)旁路企業(yè)門戶服務,并依據(jù)從可信工作流監(jiān)管服務模塊獲取的WEB工作流模板與檢測規(guī)則對所述企業(yè)門戶服務上的Web請求與Web響應進行識別與檢測;(c)監(jiān)控用戶操作終端,并依據(jù)從可信工作流監(jiān)管服務模塊獲取的業(yè)務工作流模板與檢測規(guī)則對所述操作終端上正發(fā)生的業(yè)務操作請求與響應進行識別與檢測。本發(fā)明還提供一種對應的系統(tǒng)。本發(fā)明通過用戶終端、網(wǎng)絡門戶和企業(yè)服務總線三級安全保障,實現(xiàn)了對用戶層、匯聚層與核心應用層的消息流管控。
文檔編號H04L12/26GK101616038SQ20091010718
公開日2009年12月30日 申請日期2009年4月30日 優(yōu)先權日2009年4月30日
發(fā)明者伍立華, 威 唐, 戚建淮, 曾旭東, 鄒躍軍 申請人:深圳市永達電子股份有限公司