鐘明
摘要:隨著現(xiàn)代技術(shù)的不斷發(fā)展,我國的網(wǎng)絡(luò)技術(shù)和信息技術(shù)得到了飛速的發(fā)展,在計(jì)算機(jī)領(lǐng)域當(dāng)中,Java Web技術(shù)得到了廣泛的應(yīng)用,對(duì)于現(xiàn)代生活當(dāng)中的網(wǎng)絡(luò)技術(shù)提供了相當(dāng)便捷的服務(wù)。值得注意的是,應(yīng)用程序當(dāng)中的安全問題也已經(jīng)成為了相當(dāng)嚴(yán)峻的問題。在本文當(dāng)中首先對(duì)Java Web應(yīng)用技術(shù)所面臨的安全威脅進(jìn)行了概述;其次,對(duì)Java的安全體系結(jié)構(gòu)和安全策略進(jìn)行了分析;最后針對(duì)Web安全研究進(jìn)行了分析。
關(guān)鍵詞:Java Web;應(yīng)用程序;安全技術(shù)
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)30-0265-03
隨著現(xiàn)代化的網(wǎng)絡(luò)技術(shù)和信息技術(shù)的不斷發(fā)展,在人們的生活當(dāng)中網(wǎng)絡(luò)已經(jīng)得到了相當(dāng)廣泛的應(yīng)用。很多現(xiàn)代化的網(wǎng)上業(yè)務(wù)已經(jīng)出現(xiàn)了人們的生活當(dāng)中,比如電子商務(wù)、電子政務(wù)、數(shù)字化圖書館、遠(yuǎn)程教育以及網(wǎng)上休閑娛樂功能等活動(dòng)。在網(wǎng)絡(luò)發(fā)展過程當(dāng)中Web應(yīng)用系統(tǒng)是在網(wǎng)絡(luò)發(fā)展過程當(dāng)中發(fā)展最快的。在現(xiàn)代化的各種政府部門或者企業(yè)當(dāng)中,Web技術(shù)已經(jīng)得到相當(dāng)廣泛的應(yīng)用,因此Web系統(tǒng)發(fā)揮著重要的作用。值得注意的是,在網(wǎng)絡(luò)世界當(dāng)中,對(duì)其中的管束和約束也是相當(dāng)大的,已經(jīng)成為了網(wǎng)絡(luò)發(fā)展的重要障礙和威脅,從而需要對(duì)其Java Web的應(yīng)用安全技術(shù)進(jìn)行全方位的保障,從而推動(dòng)其健康的發(fā)展。
1 Java Web應(yīng)用技術(shù)所面臨的安全威脅
Web應(yīng)用程序主要是在Web開發(fā)程序的基礎(chǔ)之上進(jìn)行開發(fā)的,需要利用服務(wù)器和客戶端這兩個(gè)基本的組件來進(jìn)行維護(hù)和開發(fā),從而可以使得對(duì)瀏覽器端所發(fā)出的請求進(jìn)行獲取,將起發(fā)送到服務(wù)器的部分進(jìn)行數(shù)據(jù)的相應(yīng)和一系列請求操作。在服務(wù)器端和客戶端的通信協(xié)議都主要是以HTTP為基礎(chǔ)出發(fā)點(diǎn)的,并且根據(jù)其中的安全級(jí)別來對(duì)通信過程當(dāng)中的信息和數(shù)據(jù)進(jìn)行機(jī)密性的保護(hù)和完整性的保證,一般在加密協(xié)議上都采用SSL/TLS協(xié)議來進(jìn)行保障。在網(wǎng)絡(luò)當(dāng)中存在的不安全因素是相當(dāng)多的,因此在對(duì)Web應(yīng)用程序進(jìn)行開發(fā)的時(shí)候,就對(duì)設(shè)計(jì)人員和開發(fā)人員提出了更多更高的要求。在因素當(dāng)中,主要包括三個(gè)方面的不安全因素,首先是來自于客戶端的安全威脅,主要是由于瀏覽器本身當(dāng)中的缺陷而對(duì)其中的代碼造成了執(zhí)行方面的安全漏洞;其次是服務(wù)器端造成的安全威脅,其中主要是Web應(yīng)用程序當(dāng)中的服務(wù)器端的代碼在進(jìn)行隱藏的時(shí)候其中產(chǎn)生的缺陷就會(huì)造成安全方面的威脅,從而對(duì)其運(yùn)行支撐環(huán)境造成相當(dāng)不利的影響,比如SQL注入漏洞以及操作系統(tǒng)漏洞等威脅;最后在整體的信息通信過程當(dāng)中還存在著一定程度的威脅,對(duì)信息的竊聽以及數(shù)據(jù)方面的修改會(huì)產(chǎn)生不利的影響,從而對(duì)Web應(yīng)用程序當(dāng)中的通信數(shù)據(jù)產(chǎn)生機(jī)密性和完整性的缺陷。
2 Java的安全體系結(jié)構(gòu)和安全策略
2.1 Java的安全體系結(jié)構(gòu)
在Java的安全體系結(jié)構(gòu)當(dāng)中,是建立在安全沙箱的基礎(chǔ)概念之上的,對(duì)模型區(qū)分了本地代碼和利用網(wǎng)絡(luò)加載的遠(yuǎn)程代碼。在本地代碼當(dāng)中是可以信任的,并且可以對(duì)本地的資源進(jìn)行訪問。在Java設(shè)計(jì)當(dāng)中,對(duì)安全體系結(jié)構(gòu)進(jìn)行了增加,需要建立在保護(hù)域的概念之上,從而可以為其提供很大程度的安全控制。
在保護(hù)域方面,主要對(duì)應(yīng)用安全和系統(tǒng)安全進(jìn)行了區(qū)分,其中最核心的概念就是保護(hù)域,可以對(duì)操作環(huán)境當(dāng)中需要保護(hù)的部分進(jìn)行指出,以此來對(duì)組件進(jìn)行分組或者對(duì)被保護(hù)資源進(jìn)行分組。在保護(hù)域當(dāng)中,需要將具有相同權(quán)限的類進(jìn)行歸類,從而度保護(hù)域進(jìn)行了定義。如圖1所示:
在Java類的加載安全機(jī)制當(dāng)中,需要對(duì)基本類的記載其進(jìn)行引入,從而對(duì)加載器之間的關(guān)系問題進(jìn)行有效解決,在這過程當(dāng)中Java程序當(dāng)中所需要的初始類是需要進(jìn)行加載的,并且對(duì)其他類的加載器,需要進(jìn)行起動(dòng)才能對(duì)其進(jìn)行加載,如圖2所示。
在Java權(quán)限方面,是利用一個(gè)固定的類來進(jìn)行表示的,為Permission,在Java當(dāng)中提供了一些子類來表示具體系統(tǒng)的權(quán)限,并且對(duì)其子類也建立了相對(duì)應(yīng)的應(yīng)用程序權(quán)限,利用此種方式來實(shí)現(xiàn)了對(duì)Java當(dāng)中安全策略的相關(guān)定義。
2.2 Java的安全策略
在Java的安全策略當(dāng)中,最重要的是可以根據(jù)一個(gè)應(yīng)用程序當(dāng)中的不同來對(duì)其創(chuàng)建出不同的安全策略文件,從而對(duì)其中的保護(hù)域內(nèi)容進(jìn)行不斷的提升和改進(jìn),但是對(duì)應(yīng)用程度當(dāng)中的代碼卻不會(huì)進(jìn)行任何改動(dòng)和變動(dòng)。在安全策略文件當(dāng)中,需要對(duì)應(yīng)用程序當(dāng)中的策略條目進(jìn)行定義,并且根據(jù)文件當(dāng)中的條目找到相對(duì)應(yīng)的安全策略文件。
首先在安全屬性文件方面,需要對(duì)三種類型的安全策略文件進(jìn)行配置,分別是系統(tǒng)安全策略文件、放在用戶根目錄之下的用戶策略文件以及應(yīng)用程序加載的應(yīng)用安全策略文件,利用對(duì)其系統(tǒng)屬性的設(shè)定,可以將現(xiàn)有的安全策略文件進(jìn)行代替。同時(shí),還有一種情況就是可以允許任何程序的人對(duì)Java現(xiàn)有的安全策略文件進(jìn)行改變,在這個(gè)過程當(dāng)中就會(huì)出現(xiàn)一系列的安全問題,在發(fā)生此種情況的時(shí)候需要利用Java命令來對(duì)其系統(tǒng)屬性進(jìn)行設(shè)置。
在Java的安全策略文件方面,是包含著一系列的條目的,可以對(duì)其進(jìn)行授權(quán),但是在這個(gè)過程當(dāng)中,需要進(jìn)行鑰箱的明確,從而利用數(shù)字前面來對(duì)相關(guān)證書和密鑰進(jìn)行查找。
3 Web安全研究
在對(duì)JavaWeb應(yīng)用程序的相關(guān)安全技術(shù)進(jìn)行研究的時(shí)候,可以從客戶端、服務(wù)器端以及整體的通訊過程當(dāng)中產(chǎn)生的安全威脅進(jìn)行研究,可以分為以下幾個(gè)方面來進(jìn)行分析:
1) 如果Web應(yīng)用程序在程序級(jí)別和代碼級(jí)別進(jìn)行安全防范的過程當(dāng)中,需要對(duì)應(yīng)用程序的編寫和安全級(jí)別進(jìn)行不斷的提升,需要對(duì)開發(fā)環(huán)境以及目標(biāo)程序的安全性和運(yùn)行穩(wěn)定性進(jìn)行充分的了解;其次還應(yīng)該對(duì)黑客常用的技術(shù)進(jìn)行了解,包括黑客的心理、類型、目標(biāo)以及技術(shù)等相關(guān)的內(nèi)容。從各個(gè)角度來對(duì)Web程序的防御性能進(jìn)行編寫。
2) 還可以利用多種方式來作為用戶的身份認(rèn)證方式,比如數(shù)字證書等,對(duì)服務(wù)證書和客戶端證書之間實(shí)現(xiàn)相互的連接,從而對(duì)其SSL實(shí)現(xiàn)雙向認(rèn)證的方式,最終實(shí)現(xiàn)數(shù)據(jù)的安全傳送。