楊陽
(湖北職業(yè)技術(shù)學院信息工程學院,湖北孝感 432100)
隨著信息技術(shù)、網(wǎng)絡(luò)技術(shù)的快速發(fā)展,各類網(wǎng)絡(luò)安全問題層出不窮,病毒、蠕蟲、木馬、后門程序等嚴重危害信息系統(tǒng)的安全。信息系統(tǒng)一般是由控制模塊、計算模塊、數(shù)據(jù)存儲模塊、數(shù)據(jù)展示模塊組成,包括B/S(Browser/Server)模式和C/S(Client/Server)模式兩種架構(gòu)[1]。在B/S模式中,瀏覽器充當客戶端的角色,所有計算都在服務(wù)器端進行,運算結(jié)果在瀏覽器中展示,服務(wù)器運載壓力較大;C/S模式是一種客戶端到服務(wù)器的模式,主要運行在局域網(wǎng)壞境下,一般情況下需要在客戶端安裝圖形用戶界面(Graphics User Interface,GUI)軟件。在B/S模式下,每個用戶都可以通過瀏覽器訪問系統(tǒng),系統(tǒng)常建立在因特網(wǎng)上,這給系統(tǒng)安全帶來了風險和挑戰(zhàn);在C/S模式下,用戶往往是專用網(wǎng)絡(luò)下的固定用戶群體,信息安全更加可控。隨著互聯(lián)網(wǎng)的快速發(fā)展,基于瀏覽器的Web信息系統(tǒng)(B/S模式)逐漸成為主流,與此同時,該類系統(tǒng)也面臨著網(wǎng)絡(luò)安全、數(shù)據(jù)安全等問題。本文從互聯(lián)網(wǎng)上的常見漏洞攻擊方式出發(fā),討論研究Web信息系統(tǒng)相關(guān)安全策略。
根據(jù)信息安全的定義[2],它是指計算機軟硬設(shè)備、計算機程序、信息數(shù)據(jù)等不受內(nèi)外各種形式的惡意或偶然因素更改、破壞、泄露,保證信息系統(tǒng)的載體安全、資源安全和運行時安全。信息安全的本質(zhì)是保護信息系統(tǒng)和信息資源的安全,它含有五個基本特征[3]:即完整性、保密性、可用性、可控性和可審查性。
完整性是最基本的安全特征,它是指程序數(shù)據(jù)和記錄數(shù)據(jù)在傳輸、計算、存儲中保持正確性、一致性,不被隨意破壞和刪改,保持數(shù)據(jù)的合法度。
保密性是指避免信息數(shù)據(jù)被未經(jīng)授權(quán)的訪問和使用,是保證數(shù)據(jù)安全可靠的基本要求,它往往需要通過數(shù)據(jù)加密、身份認證、訪問控制、安全協(xié)議等措施來具體實施。
可用性也稱有效性,通常是指面向授權(quán)用戶提供服務(wù)的質(zhì)量和水平,是衡量信息系統(tǒng)穩(wěn)定性的重要指標;在特殊情況下,它還包括快速恢復(fù)到正常狀態(tài)的響應(yīng)能力。
可控性是指信息數(shù)據(jù)處理的精確程度,主要反映在數(shù)據(jù)運算過程中對數(shù)據(jù)操作的控制程度;可控性強的系統(tǒng)安全性能更高。
可審查性又稱不可否認性、抗抵賴性,既包括信息交互過程中雙方身份核實有效,也包括交互記錄有蹤可循,所有參與者不能拒絕承認自身提供的數(shù)據(jù)和實際操作行為,系統(tǒng)具有完整的日志管理功能。
在實際應(yīng)用中,通過有效保證完整性、保密性、可用性、可控性和可審查性這五個基本特征,實現(xiàn)信息、系統(tǒng)、數(shù)據(jù)的安全,從而維護信息價值。
Web信息系統(tǒng)安全[4]是指隨著因特網(wǎng)的快速發(fā)展,各種Web技術(shù)潛在的問題不斷出現(xiàn),涉及的原因包括Web服務(wù)的開放性、HTTP等互聯(lián)網(wǎng)協(xié)議的兼容性以及各類Web系統(tǒng)本身存在的缺陷性,這些問題嚴重影響Web信息系統(tǒng)對外提供安全服務(wù),特別是針對完整性、保密性、可用性這三個方面對系統(tǒng)進行的Web攻擊,給信息服務(wù)主體和用戶帶來了損失。一般而言,Web信息系統(tǒng)駐留在服務(wù)器上,用戶通過瀏覽器訪問和獲取相關(guān)數(shù)據(jù),這個過程含有HTTP請求、數(shù)據(jù)傳輸、HTTP響應(yīng)三個步驟。不法分子在每一個步驟可以攔截、篡改、偽造、植入、欺騙機器和系統(tǒng),誘導用戶不合規(guī)操作,從而進行牟利。Web信息系統(tǒng)作為互聯(lián)網(wǎng)上主要的信息載體,承載著各類用戶的基礎(chǔ)信息、隱私數(shù)據(jù)、敏感數(shù)據(jù)等,其安全問題刻不容緩。
漏洞是指系統(tǒng)或軟件存在的問題和缺陷,這可能是因為系統(tǒng)在開發(fā)周期的某些環(huán)節(jié)中,如設(shè)計、編碼階段缺乏周密的考慮所致,也可能是因為交互過程中的非法操作超越了正確的流程邊界,更常見的是某種所依賴的庫函數(shù)本身存在致命的問題。在RFC28281中,漏洞具有如下定義[5]:系統(tǒng)在設(shè)計、實現(xiàn)、操作和管理中可能觸發(fā)、危害系統(tǒng)安全策略的弱點和缺陷,即這些問題可能導致系統(tǒng)的完整性、保密性、可用性等安全特性被破壞。漏洞的存在使系統(tǒng)存在被攻擊的風險,在某些情況下同網(wǎng)絡(luò)段的其他計算機和系統(tǒng)都可能被攻擊者所控制和利用,常見的方式包括病毒、木馬、后門程序等。
Web攻擊[6]是指利用因特網(wǎng)上存在的協(xié)議漏洞或安全隱患對Web目標系統(tǒng)進行不同程度的網(wǎng)絡(luò)攻擊,其目的不限于修改、破壞、竊取計算機和網(wǎng)絡(luò)中存儲的數(shù)據(jù)和信息,一般來說,堵塞網(wǎng)絡(luò)、降低Web服務(wù)質(zhì)量、控制安全目標、監(jiān)控掃描、盜取賬戶信息等一切損害互聯(lián)網(wǎng)安全的行為都可稱之為Web攻擊。Web攻擊者對目標主機的網(wǎng)絡(luò)環(huán)境有清楚的認識,在獲得系統(tǒng)控制權(quán)限后,便開始執(zhí)行進一步的網(wǎng)絡(luò)滲透和資源竊取,特別是針對Web服務(wù)器本身和后臺存儲數(shù)據(jù)庫的非法操作,這使得Web攻擊有很大的危害性。
Web攻擊是一個迭代的過程[7],根據(jù)對目標主機或系統(tǒng)信息的挖掘程度,攻擊者不斷改變攻擊方式和控制力度,最終攫取特殊權(quán)限;這個過程一般包括信息收集、漏洞掃描、主機分析、登入控制、滲透攻擊、擦除痕跡等步驟。
在信息收集階段,主要是通過Hacking技術(shù)讀取目標的網(wǎng)絡(luò)IP、操作系統(tǒng)類型、對外提供服務(wù)、服務(wù)端口等,以及使用社會工程學等方式搜集用戶的信息。
在漏洞掃描階段,黑客會利用掃描工具或是探測軟件發(fā)現(xiàn)系統(tǒng)潛在的攻擊點,有時甚至能直接找到若干漏洞。
在主機分析階段,為了獲取更大權(quán)限,攻擊者會進一步掌控程序架構(gòu)、業(yè)務(wù)流程、權(quán)限邊界、數(shù)據(jù)存儲等相關(guān)信息。
在登入控制階段,攻擊者使用獲取到的用戶信息,采用暴力破解、漏洞利用等方式登入系統(tǒng),并修改系統(tǒng)配置和參數(shù),植入木馬和后門以及遠程操作程序。
在滲透攻擊階段,攻擊者在獲得當前機器的相應(yīng)資源和權(quán)限后,以此為跳板機,進一步尋找同網(wǎng)絡(luò)的其他目標機或是系統(tǒng)。
在擦除痕跡階段,攻擊者會刪除系統(tǒng)中的登入、操作記錄日志,恢復(fù)破壞現(xiàn)場,以免引起管理員警覺。
因為Web應(yīng)用系統(tǒng)部署在互聯(lián)網(wǎng)上,用戶通過瀏覽器發(fā)送HTTP請求都可以獲得響應(yīng),這個過程常常被網(wǎng)絡(luò)攻擊者利用。在“請求-響應(yīng)”的整個階段,攻擊者利用請求參數(shù)、傳輸協(xié)議漏洞、洪峰式訪問等方式給Web應(yīng)用安全帶來了巨大威脅。
3.1.1 SQL注入
SQL注入[8]是應(yīng)用系統(tǒng)邏輯將用戶輸入作為參數(shù)拼接成SQL語句的時候,由于系統(tǒng)未對拼接內(nèi)容做檢測和校驗,導致拼接后的動態(tài)SQL具有非法操作數(shù)據(jù)庫的功能和權(quán)限。針對SQL注入攻擊,目前常見的防護方法包括在程序中使用參數(shù)化語句,避免用戶輸入被解析成執(zhí)行命令;過濾和校驗用戶的輸入,禁止輸入特定模式的字符串;提高數(shù)據(jù)庫的安全等級。
3.1.2 跨站腳本攻擊XSS
跨站腳本攻擊(Cross-Site Scripting,XSS)[9]是指攻擊者通過網(wǎng)站漏洞將惡意代碼或腳本注入到網(wǎng)頁中,當用戶訪問該部分網(wǎng)頁時,用戶瀏覽器自動執(zhí)行了其中內(nèi)置的惡意代碼或腳本,從而造成會話丟失、信息泄露、非法跳轉(zhuǎn)等問題。根據(jù)攻擊方式不同,跨站腳本攻擊又分為反射型XSS、存儲型XSS和DOM型XSS。
3.1.3 跨站請求偽造攻擊CSRF
跨站請求偽造攻擊(Cross Site Request Forgery,CSRF)[10]是指偽造客戶端請求,指定服務(wù)器端完成破壞性操作。它的基本原理是利用瀏覽器保存的用戶Cookie等憑證會話信息,誘導用戶點擊惡意鏈接,借助用戶的在線狀態(tài)、身份和權(quán)限執(zhí)行刪除、修改等不合法操作。針對CSFR,目前常見的防護方法包括HTTP Referer驗證、隨機Token驗證[11]等方式。
3.1.4 分布式拒絕服務(wù)攻擊DDOS
分布式拒絕服務(wù)攻擊(Distributed Denial of Service,DDOS)[12]攻擊是指利用不同位置的傀儡機向目標機發(fā)送大量請求數(shù)據(jù)包,導致Web服務(wù)器網(wǎng)絡(luò)、帶寬、計算資源消耗殆盡,合法用戶無法正常使用Web應(yīng)用提供的服務(wù)。DDOS攻擊已在全世界范圍內(nèi)造成巨大損失,嚴重威脅國家網(wǎng)絡(luò)基礎(chǔ)設(shè)施安全。針對DDOS,目前常見的防護方法包括IP控制限流、IP溯源、并發(fā)數(shù)配置等。
3.2.1 Web應(yīng)用安全框架整體層次
根據(jù)前面所述的Web信息系統(tǒng)安全的定義,由于Web信息系統(tǒng)通過互聯(lián)網(wǎng)對外提供Web服務(wù),不可避免地會受到各種網(wǎng)絡(luò)攻擊,且攻擊對象不限于網(wǎng)絡(luò)環(huán)境、硬件平臺、操作系統(tǒng)、數(shù)據(jù)庫以及Web應(yīng)用系統(tǒng)本身。為了更全面地保證信息安全,通過設(shè)計一種Web應(yīng)用安全框架來提升安全等級,應(yīng)對來自互聯(lián)網(wǎng)絡(luò)上的絕大多數(shù)威脅。
基于層次劃分,該Web應(yīng)用安全框架有以下四個部分組成:網(wǎng)絡(luò)設(shè)施的安全;系統(tǒng)平臺的安全;Web應(yīng)用安全;安全管理制度。其中,網(wǎng)絡(luò)設(shè)施安全是第一道安全,包括使用防火墻、網(wǎng)關(guān)等物理設(shè)備;系統(tǒng)平臺安全是第二道安全,主要是針對各類服務(wù)器、操作系統(tǒng)的安全;第三道安全是Web應(yīng)用系統(tǒng)安全,包括漏洞掃描、入侵檢測等;安全管理制度屬于人的因素,要求規(guī)范操作,加強管理。
如圖1所示,該Web應(yīng)用安全框架為Web應(yīng)用系統(tǒng)的部署和維護提供可行的參考方案。
圖1 Web應(yīng)用安全框架設(shè)計
3.2.2 Web應(yīng)用安全框架應(yīng)用案例
基于該Web應(yīng)用安全框架,搭載學校網(wǎng)絡(luò)和云平臺環(huán)境,設(shè)計出服務(wù)學校雙高建設(shè)的信息管理系統(tǒng),如圖2所示。該系統(tǒng)使用開源的J2EE框架技術(shù),具備完整的認證授權(quán)、權(quán)限管理、日志審計、數(shù)據(jù)庫加密等功能。
圖2 雙高建設(shè)的信息管理系統(tǒng)
在網(wǎng)絡(luò)設(shè)施安全和系統(tǒng)平臺安全方面,該系統(tǒng)駐存在學校私有云數(shù)據(jù)中心,具備企業(yè)級安全防護等級。在安全管理制度方面,制定了用戶人員安全操作手冊以及應(yīng)急措施,保證系統(tǒng)安全無故障運行。目前,該信息系統(tǒng)已經(jīng)正常運行2年時間。
3.2.3 Web應(yīng)用安全框架有效性驗證
該Web應(yīng)用安全框架從以下幾個方面得到了有效性驗證:
網(wǎng)絡(luò)設(shè)施安全主要是指系統(tǒng)硬件所處的網(wǎng)絡(luò)環(huán)境是可信的,措施包括安裝防火墻、安全網(wǎng)關(guān)對內(nèi)部網(wǎng)絡(luò)進行分段、隔離,監(jiān)控網(wǎng)絡(luò)流量、設(shè)置黑白名單等,保證網(wǎng)絡(luò)服務(wù)正??捎?。
系統(tǒng)平臺安全是指服務(wù)器和操作系統(tǒng)的安全性,主要措施包括使用雙機熱備的方式保證數(shù)據(jù)存儲、服務(wù)計算的可靠性,避免單點故障;在操作系統(tǒng)上安裝殺毒軟件,并定期掃描修復(fù)各類安全漏洞;配置提升操作系統(tǒng)的安全等級,嚴格管理用戶角色和權(quán)限的相關(guān)設(shè)置。
Web應(yīng)用安全主要是指系統(tǒng)數(shù)據(jù)不被篡改、泄露,程序運行邏輯不被破壞,系統(tǒng)業(yè)務(wù)流程可以追溯。主要措施包括使用用戶的認證和授權(quán)(包括基于Session和基于Token)、角色和權(quán)限管理(包括自主訪問控制DAC、強制訪問控制MAC、基于角色的訪問控制RBAC等)、用戶操作審計、數(shù)據(jù)加密、日志記錄等內(nèi)容。
安全管理制度是從人的方面制定相關(guān)安全制度和管理人員的操作手冊。明確崗位職責,提高系統(tǒng)管理人員的安全意識,規(guī)范操作步驟,加強崗位素養(yǎng)和能力的鍛煉。
B/S模式下的Web信息系統(tǒng)通過因特網(wǎng)對外提供服務(wù),用戶通過瀏覽器即可同后臺服務(wù)器進行交互。由于因特網(wǎng)數(shù)據(jù)傳輸存在缺陷和漏洞,且易被攻擊分子操縱和利用,整個“請求-響應(yīng)”過程可能造成數(shù)據(jù)泄露和數(shù)據(jù)破壞等問題。從Web信息系統(tǒng)本身的安全問題來看,完整性、保密性、可用性、可控性和可審查性這五個特性也是其關(guān)注的焦點。本文基于信息安全的特征給出了Web信息系統(tǒng)安全的定義,針對諸如SQL注入、XSS、CSRF、DDOS等安全威脅,討論了相應(yīng)安全策略,并設(shè)計出一種Web應(yīng)用安全框架,該框架包括網(wǎng)絡(luò)設(shè)施的安全、系統(tǒng)平臺的安全、Web應(yīng)用安全和安全管理制度四個部分。通過將該安全框架應(yīng)用到本校的雙高建設(shè)信息管理系統(tǒng)中證明,該框架以及所展示的內(nèi)容能夠有效地提升Web信息系統(tǒng)的安全等級,增強了安全保障能力。