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