《電子技術應用》
您所在的位置:首頁 > 通信与网络 > 设计应用 > Web应用系统的安全性设计
Web应用系统的安全性设计
来源:微型机与应用2010年第21期
张国和,徐骏善
(南京理工大学 机械工程学院,江苏 南京 210094)
摘要: 探讨了Web应用系统的安全问题,阐述了防火墙技术、身份验证技术、ASP.NET程序安全性设计、数据加密技术等实现Web应用系统安全性设计的技术。
Abstract:
Key words :

摘  要: 探討了Web應用系統(tǒng)的安全問題,闡述了防火墻技術、身份驗證技術、ASP.NET程序安全性設計、數(shù)據(jù)加密技術等實現(xiàn)Web應用系統(tǒng)安全性設計的技術。
關鍵詞: Web應用系統(tǒng);防火墻;身份驗證;ASP.NET;數(shù)據(jù)庫

    隨著Internet的飛速發(fā)展,Web服務的應用越來越廣泛,企業(yè)信息系統(tǒng)的應用領域由傳統(tǒng)的、小型業(yè)務系統(tǒng)逐漸向大型的、關鍵業(yè)務系統(tǒng)轉變[1]。企業(yè)信息系統(tǒng)中的數(shù)據(jù),包括業(yè)務處理信息、技術資料信息,以及涉及企業(yè)高層發(fā)展計劃和企業(yè)決策信息,其中大部分信息極其重要且具有保密性質。伴隨著社會信息化建設大步推進,人們對企業(yè)信息系統(tǒng)的使用依賴性也越來越強。因此企業(yè)信息系統(tǒng)出現(xiàn)任何故障或被破壞,都會對用戶、企業(yè)乃至整個行業(yè)產生不可估量的影響。
    本文以徐工筑路機械有限公司(以下簡稱徐工筑路)備件管理系統(tǒng)項目為背景,由于此系統(tǒng)是在徐工筑路企業(yè)內外Internet/Intranet范圍內設計使用,系統(tǒng)安全性問題關系到備件管理系統(tǒng)的正常運行,以及企業(yè)的業(yè)務能否正常展開,因此徐工筑路備件管理系統(tǒng)的安全性設計就顯得尤為重要了。
1 系統(tǒng)面臨的安全威脅
    徐工筑路備件管理系統(tǒng)的安全威脅主要表現(xiàn)在非授權訪問系統(tǒng)、偽用戶登錄系統(tǒng)、破壞數(shù)據(jù)的完整性、干擾備件管理系統(tǒng)正常運行等方面。它們主要利用以下途徑:備件管理系統(tǒng)自身存在的漏洞、備件管理系統(tǒng)安全體系的缺陷、徐工筑路員工薄弱的安全意識及尚未健全的管理制度。備件管理系統(tǒng)的安全威脅主要有人為威脅和自然威脅。而人為威脅都是有目的的惡意攻擊,攻擊有主動和被動之分,因此可以將人為威脅分為主動性攻擊和被動性攻擊兩大類。這些攻擊對徐工筑路備件管理系統(tǒng)安全有著直接或潛在的破壞和威脅[2]。
1.1 主動性攻擊
    主動攻擊是指那些攻擊者未經徐工筑路許可截獲或篡改公司信息,冒充公司拒絕或中止某些用戶對系統(tǒng)使用的行為。這方面攻擊往往是對數(shù)據(jù)通道中正在傳輸?shù)臄?shù)據(jù)單元進行更改、刪除、延遲、拷貝重發(fā)或插入、合成或偽造等各種惡意處理行為,并以更改報文流、拒絕報文服務、偽造連結初始化等形式實現(xiàn)攻擊者的險惡用心。主動攻擊通常易于探測但卻難于防范,因為攻擊者可以通過多種不同方法發(fā)起攻擊。
1.2 被動性攻擊
    被動攻擊主要是指攻擊者通過監(jiān)聽網絡上傳遞的信息流,從而截獲信息內容的行為。這類攻擊僅僅為了獲得信息流的長度、傳輸頻率等數(shù)據(jù)要素,它不像主動攻擊有直接惡意的破壞,而只是觀察和解析出貫穿于一條連接通道上傳輸?shù)臄?shù)據(jù)單元所含的信息(包括用戶數(shù)據(jù)的內容,或協(xié)議控制信息),但不纂改或破壞數(shù)據(jù)單元的信息。攻擊者正是通過這種看似“無惡意”的攻擊行為來了解熟悉正在通信的雙方詳情,以便用其他方法達到竊取或破壞備件管理系統(tǒng)和企業(yè)資源的間接性攻擊目的。因此,在信息發(fā)送者或接收者發(fā)現(xiàn)機密信息被泄漏之前,要發(fā)覺這種攻擊是很困難的。然而通過對機密信息進行加密可以避免被動攻擊的發(fā)生。
    從上述分析可以看出備件管理系統(tǒng)所受到的攻擊可能是多方面的,攻擊形式也是多種多樣的,而且往往是多種攻擊同時存在。如何防范這些非法攻擊是一項復雜而艱巨的任務,需要通過各種安全服務措施和健全企業(yè)機制來實現(xiàn)。
2 對系統(tǒng)的安全措施
    為了保證備件管理系統(tǒng)的安全運行,保護企業(yè)計算機的硬件、軟件和系統(tǒng)數(shù)據(jù)不因偶然或惡意的原因而遭到破壞、更改或泄漏,本備件管理系統(tǒng)采用以下安全措施。
2.1 使用防火墻技術
    防火墻技術是一種建立在現(xiàn)代通信網絡技術和信息安全技術基礎上的網絡應用安全技術,越來越多地被應用在專用網絡與公用網絡的互聯(lián)環(huán)境之中,尤其是以接入Internet網絡使用最為廣泛[3]。
    防火墻是指設置在不同網絡(如可信任的企業(yè)內部網和不可信的外部公共網)或網絡安全域之間的一系列器件的組合。防火墻是不同網絡或網絡安全域之間信息的唯一出入口,它能根據(jù)企業(yè)的安全政策(允許、拒絕、監(jiān)測)控制出入網絡的信息流,且本身還具有較強的抗攻擊能力。防火墻可提供信息安全服務,是實現(xiàn)網絡和信息安全的基礎設施。在邏輯上,防火墻既是一個分離器、限制器,也是一個分析器,能夠有效地監(jiān)控內部網和因特網之間的任何活動,保證內部網絡的安全[3]。
    徐工筑路備件管理系統(tǒng)在使用防火墻技術主要體現(xiàn)在兩個方面:
    (1)企業(yè)網絡級防火墻,用來防止整個企業(yè)內部安全網絡出現(xiàn)外來非法不可信網絡的入侵。屬于這類的有分組過濾和授權服務器,分組過濾檢查所有流入本企業(yè)網絡的信息,拒絕所有不符合企業(yè)事先制定好的一套準則的數(shù)據(jù),而授權服務器則是檢查系統(tǒng)使用用戶的登錄是否合法。
    (2)企業(yè)應用級防火墻,企業(yè)從應用程序入手來進行備件管理系統(tǒng)的接入控制。通常使用應用網關或代理服務器來區(qū)分各種應用。如徐工筑路公司只允許通過訪問萬維網的應用,而阻止FTP應用的通過。
2.2 應用系統(tǒng)的安全性
    本系統(tǒng)可供徐工筑路的備件中心、備件代理商、市場部、特約維修站、服務部及銷售部等多個部門員工同時使用,因此在系統(tǒng)安全性設計方案上,可采用角色管理和系統(tǒng)用戶身份驗證的安全策略。
    (1)角色管理
    角色管理將系統(tǒng)不同模塊權限和對象權限整合成一個集合,即角色。通過對系統(tǒng)功能模塊的劃分,不同的模塊對不同的角色有著不同的訪問權限控制。從而限制了那些沒有該功能模塊訪問權限的用戶訪問該功能模塊。本系統(tǒng)將操作用戶分為7類角色:倉庫管理員、備件系統(tǒng)管理員、服務處處長、服務系統(tǒng)管理員、特約維修站總經理、特約維修站信息接待處理員及銷售系統(tǒng)管理員。
    (2)系統(tǒng)用戶身份驗證
    身份驗證技術是目前廣泛使用的企業(yè)信息系統(tǒng)的安全技術之一,它通過使用用戶向系統(tǒng)出示自己身份證明、系統(tǒng)核查使用用戶身份證明的有效性兩個過程判明和確認通信雙方的真實有效身份。
    本備件管理系統(tǒng)主要依靠Internet信息服務(IIS)的身份驗證技術和Windows NT文件訪問系統(tǒng)的安全性,如圖1所示。使用用戶的訪問請求首先從網絡客戶進入IIS,IIS可以選擇使用基本的、簡要的或集成的Windows 身份驗證技術對客戶進行身份驗證,如果客戶通過了身份驗證,那么IIS將根據(jù)驗證后的結構生成新的對ASP.NET的請求后提交給ASP.NET應用程序服務器。之后ASP.NET應用程序使用從IIS傳遞來的訪問標記模擬原始提出請求的客戶,并驗證該用戶在配置文件中所給定的訪問權限。最后通過驗證,應用程序通過IIS返回所請求的頁面[4]。此方案依賴了Windows集成的賬戶驗證功能,同時可以盡量減少備件管理系統(tǒng)對ASP.NET程序本身在安全性方面的編程量,大大簡化了備件管理系統(tǒng)設計過程中的工作量。


2.3 ASP.NET程序的安全性
    在備件管理系統(tǒng)的程序設計過程中為了減少因程序設計漏洞而帶來的安全性問題,在程序設計中采取如下措施來增加ASP腳本的安全性。
    (1)防止SQL注入攻擊,在編程的時候要禁止用戶輸入非法的危險字符,如單引號(‘或’),or,and,、,*,<,>,空格等危險字符[5];同時在客戶端和服務器端都要對用戶輸入的信息進行驗證;同時在編寫程序過程中盡量使用存儲過程技術,使用存儲過程不僅可以防止某些類型的SQL注入式攻擊,還可以提高SQL語句的執(zhí)行速度;在程序出現(xiàn)異常的情況下,程序會自動跳轉到固定的頁面,而不是將錯誤信息顯示給用戶,這樣可以防止部分別有用心的用戶。
    (2)在本備件管理系統(tǒng)中,由于訪問權限的不同,用戶可以訪問的頁面也不同,為了防止用戶直接從網頁的地址欄中輸入鏈接地址進入某個超出該用戶權限的頁面,而出現(xiàn)越權的操作,如圖2所示。用戶登錄后輸入選擇角色并輸入密碼,驗證通過進入導航頁面,同時系統(tǒng)記錄下該用戶的角色。用戶在訪問頁面時,系統(tǒng)將同時記錄用戶請求的路徑,并進入數(shù)據(jù)庫對其進行判斷,如果該用戶的角色具有訪問此頁面的權限,則進入要訪問的頁面,否則進入錯誤提示頁面。用戶點擊重新登錄后將重新返回到登錄頁面,從而避免了用戶采用直接輸入網址的方式訪問超出其權限的頁面。由于系統(tǒng)不能夠檢測登錄的賬號是否被他人冒用,所以采取當用戶長時間不在系統(tǒng)中進行操作時(本備件管理系統(tǒng)設置為20 min),用戶在系統(tǒng)中的Session值過期,從而該登錄的賬號失去了再次使用系統(tǒng)的權利,必須重新登錄系統(tǒng)。這樣可以防止用戶離開計算機時被他人冒名使用。

    (3)本備件管理系統(tǒng)中具有文件的上傳和下載功能,在上傳文件時為了防止有些用戶上傳惡意文件破壞系統(tǒng),因此需要在上傳時對文件類型進行判斷。除非是指定的文件類型外,其他的文件均不予上傳,尤其是以.asp,.aspx或.exe等結尾的文件。
2.4 數(shù)據(jù)庫中數(shù)據(jù)加密技術
    由于系統(tǒng)應用程序的關鍵信息和數(shù)據(jù)都存儲在數(shù)據(jù)庫中,所以數(shù)據(jù)庫的安全性就顯得尤為重要。在信息系統(tǒng)的開發(fā)過程中,加密技術是一種很常用的安全技術。它把重要的數(shù)據(jù)通過技術手段變成亂碼(加密)后再傳送信息,即通過將信息編碼為不易被非法入侵者閱讀或理解的形式來保護數(shù)據(jù)的信息,到達目的地后再用相同或不同的手段還原(解密)信息。根據(jù)加密密鑰和解密密鑰在性質上的不同,在ASP.NET應用中提供了兩種加密算法,即對稱加密算法和非對稱加密算法[6]。
    (1)對稱加密是加密和解密使用相同密鑰的加密算法。它的優(yōu)點是保密程度較高、計算開銷小、處理速度快、使用方便快捷、密鑰短且破譯困難。由于持有密鑰的任意一方都可以使用該密鑰解密數(shù)據(jù),因此必須保證密鑰不被未經授權的非法用戶得到。在對稱加密技術中廣泛使用的是DES加密算法。
    (2)非對稱加密是加密和解密使用不同密鑰的加密算法。它使用了一對密鑰:一個用于加密信息;另一個用于解密信息,通信雙方無需事先交換密鑰就可以進行保密通信。但是加密密鑰不同于解密密鑰,加密密鑰是公之于眾,誰都可以使用;而解密密鑰只有解密人知道,這兩個密鑰之間存在著相互依存關系:即用其中任一個密鑰加密的信息只能用另一密鑰進行解密。它只可加密少量的數(shù)據(jù)。在非對稱加密算法中普遍使用的是RSA加密算法。
    基于上述分析,并結合徐工筑路備件信息網的特點,采用RSA與DES混合加密體制的方式實現(xiàn)數(shù)據(jù)信息的加密??梢杂脤ΨQ加密算法(DES加密算法)加密較長的明文;用非對稱加密算法(RSA加密算法)加密數(shù)字簽名等較短的數(shù)據(jù),這樣既保證了數(shù)據(jù)的保密強度,又加快了系統(tǒng)運算速度。
    本文通過對信息系統(tǒng)安全威脅及系統(tǒng)安全的防護措施的分析[7],使用戶能夠最大限度地保障Web應用系統(tǒng)的安全,并通過必要的安全措施,將可能發(fā)生的風險控制在可接受的范圍之內。
參考文獻
[1] 唐俊,趙曉娟,賈逸龍.企業(yè)信息系統(tǒng)安全體系結構的研究[J].微計算機信息,2010(26):43-45.
[2] 瞿微.基于Web的企業(yè)售后服務系統(tǒng)設計與加密技術研究[D].武漢:華中科技大學,2006.
[3] 彭繼衛(wèi).淺談計算機網絡中信息系統(tǒng)的安全防范[J].中國新技術新產品,2009(1):23.
[4] 羅曉光.企業(yè)機械有限公司銷售管理系統(tǒng)的設計與開發(fā)[D].南京:南京理工大學,2008.
[5] 金永濤.基于.NET框架的Web應用系統(tǒng)安全問題研究[J].北華航天工業(yè)學院學報,2009(12):1-3.
[6] 李海泉,李健.計算機網絡安全與加密技術[M].北京:科學出版社,2001.
[7] 許曉馮.Web應用系統(tǒng)的安全威脅及其防護[J].信息化研究,2009(35):1-3.

此內容為AET網站原創(chuàng),未經授權禁止轉載。

相關內容