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