陳英杰 李世武
摘要:由于網(wǎng)絡(luò)技術(shù)日趨成熟,黑客們也將注意力從以往對網(wǎng)絡(luò)服務(wù)器的攻擊逐步轉(zhuǎn)移到了對Web應(yīng)用的攻擊。提出基于安全環(huán)的技術(shù),不僅從軟件研發(fā)的生命周期保障了Web應(yīng)用的安全,同時基于等級保護(hù),從應(yīng)用安全、安全建設(shè)管理及安全運(yùn)維管理幾個方面引入了對Web應(yīng)用系統(tǒng)的一站式安全防護(hù),Web應(yīng)用系統(tǒng)從需求設(shè)計開始,到系統(tǒng)上線達(dá)到信息系統(tǒng)相應(yīng)等級的保護(hù)能力,通過滲透測試、安全加固、定時巡檢、實時監(jiān)測、安全通告及攻擊溯源形成安全環(huán)路提高Web應(yīng)用系統(tǒng)的整體防護(hù)能力。
關(guān)鍵詞:信息安全等級保護(hù);Web應(yīng)用;安全環(huán);一站式;安全防范
中圖分類號:TP393.08文獻(xiàn)標(biāo)志碼:A文章編號:1008-1739(2019)06-69-4
0引言
據(jù)最新調(diào)查,信息安全有75%都發(fā)生在Web應(yīng)用而非網(wǎng)絡(luò)層面。根據(jù)CNCERT發(fā)布的《2017年我國互聯(lián)網(wǎng)網(wǎng)絡(luò)安全態(tài)勢綜述》,應(yīng)用程序漏洞占比59.2%。為了防御Web應(yīng)用安全風(fēng)險,本文提出構(gòu)建安全環(huán),覆蓋應(yīng)用安全的整個生命周期,建立和使用可重復(fù)的流程和安全控制;同時基于等級保護(hù),從網(wǎng)絡(luò)安全、主機(jī)安全、應(yīng)用安全、安全建設(shè)管理以及安全運(yùn)維管理幾個方面引入了對Web應(yīng)用系統(tǒng)的一站式安全防護(hù),從Web應(yīng)用系統(tǒng)需求設(shè)計開始,到系統(tǒng)上線,使信息系統(tǒng)達(dá)到相應(yīng)等級的保護(hù)能力,提高Web應(yīng)用系統(tǒng)的整體防護(hù)能力。
1基于安全環(huán)保障Web應(yīng)用安全
1.1軟件安全需求和設(shè)計
軟件安全需求和設(shè)計是開發(fā)Web應(yīng)用系統(tǒng)的基礎(chǔ)。不僅從用戶的角度出發(fā)考慮系統(tǒng)的功能,同時從攻擊者的角度出發(fā)考慮系統(tǒng)的漏洞。在風(fēng)險分析的基礎(chǔ)上,定性分析系統(tǒng)的脆弱點和可能遭受的安全威脅,同時對脆弱點和安全威脅進(jìn)行定量分析。根據(jù)安全需求確定安全目標(biāo),對初步風(fēng)險評估確定的控制措施具體技術(shù)實現(xiàn)進(jìn)行安全設(shè)計。安全概要設(shè)計要考慮安全體系結(jié)構(gòu)設(shè)計、各功能塊間的處理流程、與其他功能的關(guān)系、安全協(xié)議設(shè)計以及安全接口設(shè)計等。詳細(xì)設(shè)計階段為安全功能的程序設(shè)計階段。從軟件的功能、API、接口、資源及數(shù)據(jù)存儲等受攻擊面的角度進(jìn)行安全的設(shè)計。安全設(shè)計遵循最小特權(quán)、權(quán)限分離、最小共享、完全中立、心理可接受、默認(rèn)故障處理、經(jīng)濟(jì)機(jī)制、不信任、縱深防御、保護(hù)最薄弱的環(huán)節(jié)、公開設(shè)計、隱私保護(hù)與攻擊面最小化等原則,消除假冒、篡改、抵賴、信息泄露、拒絕服務(wù)和特權(quán)提升等威脅。
1.2軟件安全實現(xiàn)保障Web應(yīng)用安全
1.2.1嚴(yán)格遵循安全編碼準(zhǔn)則
嚴(yán)格遵循驗證輸入、避免緩沖區(qū)溢出、程序內(nèi)部安全、安全調(diào)用組件和禁用有風(fēng)險的函數(shù)等通用安全準(zhǔn)則,具體包括:驗證輸入包括命令行、環(huán)境變量、文件、網(wǎng)絡(luò)和其他來源;在避免緩沖區(qū)溢出上,使用替代的安全函數(shù)或數(shù)據(jù)庫,使用安全的變異環(huán)境,打開具有安全防御機(jī)制的安全編譯選項,不在堆棧上執(zhí)行代碼;程序內(nèi)部安全通過進(jìn)行內(nèi)部接口數(shù)據(jù)的檢查,異常安全處理、最小化反饋、避免拒絕服務(wù)攻擊、避免競爭條件以及安全使用臨時文件等進(jìn)行保障;安全調(diào)用組件主要從組件安全和返回值安全進(jìn)行考慮,禁用有風(fēng)險的函數(shù),例如禁止使用s, _getws, _getts等函數(shù)。
1.2.2軟件安全編譯安全因素
在編譯環(huán)境安全方面:使用最新版本編譯器與支持工具、采用可靠的編譯工具以及使用編譯器內(nèi)置防御特性;在運(yùn)行環(huán)境的安全方面:將軟件運(yùn)行環(huán)境基于較新版本的系統(tǒng)。
1.2.3源代碼安全測試在編碼階段找出可能存在的安全風(fēng)險
在Web應(yīng)用開發(fā)過程的編碼階段、測試階段和交付驗收階段,對各階段系統(tǒng)源代碼進(jìn)行安全審計,利用數(shù)據(jù)流分析引擎、語義分析引擎以及控制流分析引擎等技術(shù),采用專業(yè)的源代碼安全審計工具以及人工參與的方式對源代碼安全問題進(jìn)行分析、檢測并驗證,從而對源代碼安全漏洞(注入缺陷及驗證、跨站腳本漏洞、文件包含漏洞、命令執(zhí)行漏洞、文件上傳漏洞、應(yīng)用程序編程接口錯誤、訪問控制及密碼失效、資源共享與競爭、異常處理、代碼風(fēng)格與質(zhì)量、邊界處理以及配置錯誤)進(jìn)行定級,給出安全漏洞分析報告等,幫助軟件開發(fā)的管理人員統(tǒng)計和分析當(dāng)前階段軟件安全的風(fēng)險、趨勢,跟蹤和定位軟件安全漏洞,提供軟件安全質(zhì)量方面的真實狀態(tài)信息。
1.3 Web應(yīng)用運(yùn)行時存在的安全漏洞
1.3.1漏洞掃描
對Web應(yīng)用業(yè)務(wù)系統(tǒng)進(jìn)行漏洞安全掃描,通過設(shè)備掃描以及人工驗證的方式判斷被掃描系統(tǒng)是否存在安全風(fēng)險。掃描結(jié)果匯總成安全掃描報告和漏洞管理臺賬,在完成漏洞整改后對整改結(jié)果進(jìn)行設(shè)備掃描與人工驗證確認(rèn)并形成漏洞修復(fù)情況復(fù)掃報告。漏洞掃描從風(fēng)險發(fā)現(xiàn),到漏洞確認(rèn)、漏洞修復(fù),最后至漏洞管理形成一個閉環(huán),降低各種事件帶來的損失和風(fēng)險。
1.3.2滲透測試
由專業(yè)安全人員模擬入侵者的常見手段對Web應(yīng)用程序發(fā)起模擬入侵過程,高強(qiáng)度的檢測Web應(yīng)用程序安全漏洞,并提供安全漏洞修補(bǔ)建議。滲透測試包括身份認(rèn)證測試、授權(quán)管理測試、數(shù)據(jù)驗證測試、可用性測試、配置管理測試和后門測試。身份認(rèn)證測試,檢查是否滿足安全設(shè)計要求中的身份認(rèn)證要求,檢查是否存在密碼被破解、登錄被回放、登錄被繞過的缺陷,確保登錄驗證安全有效。授權(quán)管理測試,檢查該頁面是否滿足安全設(shè)計要求中的訪問控制要求,檢查用戶在未授權(quán)的情況下是否成功辦理需要授權(quán)的業(yè)務(wù)。數(shù)據(jù)驗證測試,檢查是否滿足安全設(shè)計要求中輸入驗證的要求,確保應(yīng)用系統(tǒng)正常顯示業(yè)務(wù)辦理信息??捎眯詼y試,檢查系統(tǒng)是否存在帳號鎖定設(shè)計缺陷及應(yīng)用拒絕服務(wù)缺陷。配置管理測試,檢查存在中間件配置缺陷導(dǎo)致的應(yīng)用系統(tǒng)漏洞。后門測試,檢查應(yīng)用系統(tǒng)各頁面是否存在后門程序。
1.4軟件開發(fā)的整個過程進(jìn)行安全培訓(xùn)
在軟件開發(fā)整個過程中,都要對開發(fā)人員進(jìn)行安全培訓(xùn)。培訓(xùn)內(nèi)容包括:對環(huán)境、網(wǎng)絡(luò)、代碼、文檔等方面的管理、配置管理、安全設(shè)計、安全編程以及安全測試等。
2 Web應(yīng)用一站式安全防范
針對Web應(yīng)用的安全防護(hù),基于安全實踐,圍繞Web應(yīng)用生命周期,從建設(shè)開始,基于等級保護(hù)進(jìn)行安全建設(shè),經(jīng)過安全測試上線后進(jìn)行等級測評工作,輔以日常運(yùn)維(配置核查、安全加固與安全巡檢)、監(jiān)測審計(信息通報、態(tài)勢感知與實施監(jiān)測)等安全服務(wù)形式,以安全環(huán)的角度提供一站式安全服務(wù),實現(xiàn)Web應(yīng)用業(yè)務(wù)安全目標(biāo)。
2.1等級測評
Web應(yīng)用安全建設(shè)管理,涵蓋了軟件安全需求和設(shè)計、軟件安全實現(xiàn)、軟件安全保障以及軟件開發(fā)過程的培訓(xùn),覆蓋Web應(yīng)用的整個生命周期,必須按照信息安全等級保護(hù)的要求,從物理安全、網(wǎng)絡(luò)安全、主機(jī)安全、應(yīng)用安全、數(shù)據(jù)安全和安全管理方面進(jìn)行合規(guī)性檢查。
2.2配置核查
對于Web應(yīng)用系統(tǒng)從身份認(rèn)證、授權(quán)管理和責(zé)任認(rèn)定3個方面對應(yīng)用系統(tǒng)進(jìn)行檢查并加固。在身份認(rèn)證方面一般都應(yīng)用數(shù)字證書,利用秘鑰和口令2種鑒別因子。在授權(quán)管理方面,采用三權(quán)分立方式,依據(jù)安全策略控制,用戶對文件、數(shù)據(jù)庫表等客體訪問的同時,限制默認(rèn)帳戶的訪問權(quán)限,使授權(quán)用戶具有最小權(quán)限并設(shè)置敏感標(biāo)志。責(zé)任認(rèn)定方面,建立審計系統(tǒng),同時引入數(shù)字簽名技術(shù),保證用戶操作行為的不可抵賴性。引入數(shù)據(jù)加密技術(shù)對數(shù)據(jù)表中的敏感數(shù)據(jù)進(jìn)行加密,防止數(shù)據(jù)庫系統(tǒng)管理員非法修改數(shù)據(jù),保證數(shù)據(jù)的完整性和保密性。同時建議搭建Web應(yīng)用防火墻對應(yīng)用系統(tǒng)進(jìn)行保護(hù),更好地防止跨站腳本攻擊、SQL注入、緩沖區(qū)溢出以及拒絕服務(wù)攻擊等Web應(yīng)用的攻擊,具體配置核查指標(biāo)項參照等級保護(hù)應(yīng)用安全測評項。
2.3安全加固
安全加固分為主機(jī)系統(tǒng)安全加固、安全通信機(jī)制、業(yè)務(wù)系統(tǒng)安全、安全監(jiān)控和管理以及安全訪問控制。其中,業(yè)務(wù)系統(tǒng)安全加固不僅針對安全建設(shè)中軟件安全測試發(fā)現(xiàn)的安全漏洞進(jìn)行加固,同時需要按照等級保護(hù)要求中應(yīng)用安全的合規(guī)性進(jìn)行加固,在滿足安全基線要求基礎(chǔ)上通過采用優(yōu)化配置、調(diào)整安全策略、安裝補(bǔ)丁及安裝安全軟件等方式,在盡量不影響修補(bǔ)加固對象原有功能和性能的基礎(chǔ)上,解決在滲透測試中發(fā)現(xiàn)的安全問題,修補(bǔ)其中存在的漏洞,保證Web應(yīng)用不存在高風(fēng)險和中風(fēng)險漏洞,同時針對控制點中的測評項不符合和部分符合項進(jìn)行修改,實現(xiàn)Web應(yīng)用加固。
2.4態(tài)勢感知
以系統(tǒng)日志、網(wǎng)絡(luò)流量等為抓手,建立態(tài)勢感知平臺,實時捕獲異常,進(jìn)行安全事件的跟蹤與分析,動態(tài)感知和網(wǎng)絡(luò)攻擊可視化,真正做到安全防護(hù)的深度發(fā)現(xiàn),給出準(zhǔn)確有效的防護(hù)建議。通過分析網(wǎng)絡(luò)攻擊日志、網(wǎng)絡(luò)流量和事件響應(yīng)實現(xiàn)攻擊主機(jī)溯源、攻擊者溯源以及攻擊組織機(jī)構(gòu)溯源并進(jìn)行有效的防護(hù),具體技術(shù)參數(shù)如表1所示。
2.5安全巡檢
通過對Web應(yīng)用系統(tǒng)的安全運(yùn)行情況進(jìn)行定期巡檢,包括Web應(yīng)用系統(tǒng)所在操作系統(tǒng)巡檢和Web應(yīng)用系統(tǒng)巡檢。了解當(dāng)前Web應(yīng)用系統(tǒng)和服務(wù)器的安全狀況,并對安全問題進(jìn)行處理,具體巡檢內(nèi)容如表2所示。
2.6安全通告
信息安全通告預(yù)警服務(wù)通過及時通告最新的信息安全發(fā)展動態(tài),提供第一時間的安全預(yù)警,對Web應(yīng)用進(jìn)行補(bǔ)丁升級和配置加固,防患于未然。通告內(nèi)容包括主機(jī)安全(涵蓋系統(tǒng)漏洞安全通告:操作系統(tǒng)和數(shù)據(jù)庫、病毒預(yù)警安全通告)、應(yīng)用安全(應(yīng)用漏洞安全通告、Web應(yīng)用安全預(yù)警)。其中Web應(yīng)用程序的漏洞除安全編碼存在問題外,目前主要集中在應(yīng)用開發(fā)框架、開發(fā)語言、CMS程序、Web組件、Web容器及版本控制系統(tǒng)等方面,一旦發(fā)現(xiàn)問題,及時升級修補(bǔ)和更改配置,保證Web應(yīng)用安全。
2.7實時監(jiān)測
24 h Web應(yīng)用實時安全監(jiān)測包括安全漏洞監(jiān)測(SQL注入、XSS漏洞、CSRF漏洞、CGI漏洞、Web漏洞)和安全事件監(jiān)測(網(wǎng)頁木馬、暗鏈)與可用性監(jiān)測,用戶無需干預(yù)即可實現(xiàn)對Web應(yīng)用的周期化、自動化安全監(jiān)測、網(wǎng)絡(luò)安全專家定期對被監(jiān)測Web應(yīng)用中的風(fēng)險狀態(tài)進(jìn)行匯總分析并提交報告,對B/S架構(gòu)的Web系統(tǒng)提供安全事件的主動監(jiān)控服務(wù),通過預(yù)警系統(tǒng)和事件監(jiān)控運(yùn)維人員7*24 h的配合,及時監(jiān)測到Web應(yīng)用出現(xiàn)的最新安全事件,使得客戶及時處理發(fā)生的安全事件,降低各種事件帶來的損失和風(fēng)險。具體內(nèi)容包括Web應(yīng)用訪問不可達(dá)事件監(jiān)測、Web應(yīng)用篡改事件監(jiān)測、Web應(yīng)用掛馬病毒事件監(jiān)測、Web應(yīng)用暗鏈?zhǔn)录O(jiān)測、被黑統(tǒng)計信息事件監(jiān)測、24 h Web應(yīng)用攻擊事件監(jiān)測和溯源。
3結(jié)束語
根據(jù)當(dāng)前信息安全事件,網(wǎng)絡(luò)攻擊逐漸從對網(wǎng)絡(luò)服務(wù)器的攻擊逐步轉(zhuǎn)移到了對Web應(yīng)用的攻擊上。本文基于安全環(huán),覆蓋Web應(yīng)用的整個生命周期,同時基于等保思想,從應(yīng)用安全、安全建設(shè)管理、安全運(yùn)維管理幾個方面引入了對Web應(yīng)用系統(tǒng)的一站式安全防護(hù),在信息系統(tǒng)達(dá)到相應(yīng)等級的保護(hù)能力基礎(chǔ)上,通過滲透測試、安全加固、定時巡檢、實時監(jiān)測、安全通告、攻擊溯源形成安全環(huán)路,提高Web應(yīng)用系統(tǒng)的整體防護(hù)能力。
參考文獻(xiàn)
[1]許曉馮.Web應(yīng)用系統(tǒng)的安全威脅及其防護(hù)[J].江蘇:信息化研究,2009,35(12):1-3.
[2]李冬冬.基于等級保護(hù)思想的信息平臺安全研究與實現(xiàn)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2015(5):75,79.
[3]周超.基于等級保護(hù)制度的網(wǎng)絡(luò)信息安全保障研究與實踐[J].上海信息化,2014(12):58-60.
[4]吳蘭.Web應(yīng)用系統(tǒng)的滲透測試研究[J].電腦編程技巧與維護(hù),2013(12):111-112.