《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 设计应用 > 隐蔽通道在SQL缓存中的分析研究
隐蔽通道在SQL缓存中的分析研究
李顺新,杨 鑫
(武汉科技大学 计算机学院,湖北 武汉 430081)
摘要: 在ASP.NET网络程序开发中,由数据库驱动的Web应用程序,为使从数据库读取的数据能及时、准确、快速地提供给访问客户,通常采用SQL缓存技术。但将数据库表的内容以缓存技术存储到内存中时,存在着由数据缓存等待而产生的隐蔽通道问题。针对内存缓存等待中的隐蔽通道问题进行分析研究,以此提高Web应用程序的系统安全和信息存取安全。
Abstract:
Key words :

摘  要: 在ASP.NET網(wǎng)絡(luò)程序開發(fā)中,由數(shù)據(jù)庫驅(qū)動的Web應(yīng)用程序,為使從數(shù)據(jù)庫讀取的數(shù)據(jù)能及時、準(zhǔn)確、快速地提供給訪問客戶,通常采用SQL緩存技術(shù)。但將數(shù)據(jù)庫表的內(nèi)容以緩存技術(shù)存儲到內(nèi)存中時,存在著由數(shù)據(jù)緩存等待而產(chǎn)生的隱蔽通道問題。針對內(nèi)存緩存等待中的隱蔽通道問題進(jìn)行分析研究,以此提高Web應(yīng)用程序的系統(tǒng)安全和信息存取安全。
關(guān)鍵詞: Web應(yīng)用程序SQL緩存技術(shù);隱蔽通道;系統(tǒng)安全

    隨著ASP.NET 2.0與SQL Server網(wǎng)絡(luò)應(yīng)用程序開發(fā)的快速發(fā)展,在由數(shù)據(jù)庫驅(qū)動的Web應(yīng)用程序中,為從數(shù)據(jù)庫讀取的數(shù)據(jù)能及時、準(zhǔn)確、快速地提供給訪問客戶,通常采用緩存技術(shù)。但在使用SQL緩存[1-2]提高效率的過程中,內(nèi)存中緩存的數(shù)據(jù)等待時間較長,存在數(shù)據(jù)信息安全的隱蔽通道問題。
1 Web應(yīng)用程序中的SQL緩存
    隨著ASP.NET技術(shù)的不斷完善,在ASP.NET2.0中增加一組新的DataSource控件,通過使用DataSource控件,使在ASP.NET頁面上訪問數(shù)據(jù)庫數(shù)據(jù)的訪問方式得到優(yōu)化和改變,以此創(chuàng)建可以顯示數(shù)據(jù)庫數(shù)據(jù)的ASP.NET頁面,避免編寫多余的訪問數(shù)據(jù)庫的代碼。
    在使用DataSource控件時,不僅可以有效連接數(shù)據(jù)庫,同時還可以通過設(shè)置SqlDataSource控件上的屬性,自動在內(nèi)存中緩存有DataSource控件表示的數(shù)據(jù)[1-2],以此在Web應(yīng)用程序中,對數(shù)據(jù)庫數(shù)據(jù)能及時、準(zhǔn)確、快速地訪問。
    在使用DataSource控件時,通過設(shè)置SqlDataSource控件上的屬性,將那些大量由服務(wù)器資源獲取到的數(shù)據(jù)集存儲在內(nèi)存中,可以提高客戶端快捷地獲取服務(wù)的效率。但由于客戶端用戶的實(shí)際操作,會存在內(nèi)存中緩存的數(shù)據(jù)存儲等待時間過長,甚至數(shù)據(jù)過期。例如,當(dāng)服務(wù)器基礎(chǔ)數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時,而使用SqlDataSource控件屬性設(shè)置在客戶端內(nèi)存中存儲的數(shù)據(jù)庫表的內(nèi)容沒有得到及時更新,則在Web應(yīng)用程序中會顯示舊的、過期的、不準(zhǔn)確的數(shù)據(jù)信息。
    為改變因緩存技術(shù)帶來的不足,在ASP.NET2.0新增加了SQL緩存無效功能,利用SqlCacheDependency類實(shí)現(xiàn)SQL緩存無效功能。即:在SQL Server數(shù)據(jù)庫對象和Web應(yīng)用程序緩存對象之間,建立SQL緩存依賴關(guān)系,由SqlCacheDependency對象監(jiān)控Web應(yīng)用程序中建立的相關(guān)緩存依賴關(guān)系的數(shù)據(jù)對象的相關(guān)行為。如果修改依賴關(guān)系對應(yīng)的數(shù)據(jù)對象發(fā)生變化時,SqlCacheDependency對象會自動移除存儲在緩存中的對應(yīng)對象。當(dāng)客戶端Web應(yīng)用程序再次訪問請求該緩存對象時,如果該對象不在緩存中,SqlCacheDependency對象會向緩存中填充更新的最新版本,并保證具有最新的數(shù)據(jù)。
2 隱蔽通道
    在操作系統(tǒng)安全方面,通常存在如下5個主要操作系統(tǒng)安全威脅:病毒和蠕蟲、邏輯炸彈、特洛伊木馬、天窗、隱蔽通道[3]。本文重點(diǎn)分析研究ASP.NET與SQL Server應(yīng)用程序開發(fā)中SQL緩存中的隱蔽通道問題。
2.1 隱蔽通道概念及分類
    隨著計算機(jī)技術(shù)的迅速發(fā)展,人們對信息安全問題的認(rèn)識逐漸深刻。通常對系統(tǒng)或應(yīng)用程序進(jìn)行的各種入侵攻擊多是通過分析操作系統(tǒng)和應(yīng)用程序的弱點(diǎn)或缺陷來實(shí)現(xiàn)的。
    在操作系統(tǒng)安全威脅中,隱蔽通道是指系統(tǒng)中不受安全策略控制的、違反安全策略的信息泄露路徑。按信息傳遞的方式和方法區(qū)分,可把隱蔽通道分為:隱蔽存儲通道和隱蔽定時通道。隱蔽存儲通道在系統(tǒng)中通過2個進(jìn)程利用不受安全策略控制的存儲單元傳遞信息,2個進(jìn)程中的前1個進(jìn)程通過改變存儲單元的內(nèi)容發(fā)送信息,后1個進(jìn)程通過觀察存儲單元的變換來接收信息。隱蔽定時存儲通道在系統(tǒng)中通過2個進(jìn)程利用其中1個不受安全策略控制的廣義存儲單元傳遞信息,其前1個進(jìn)程通過改變廣義存儲單元的內(nèi)容發(fā)送信息;后1個進(jìn)程通過觀察廣義存儲單元的變換接收信息,并用實(shí)時時鐘這樣的坐標(biāo)進(jìn)行測量。廣義存儲單元只能在短時間內(nèi)保留前1個進(jìn)程發(fā)送的信息,后1個進(jìn)程必須迅速地接收廣義存儲單元的信息,否則信息將消失,如圖1所示的隱蔽定時通道[3-4]。


2.2 常用隱蔽通道標(biāo)識技術(shù)
    隨著信息安全技術(shù)的不斷完善和發(fā)展,在20世紀(jì)80年代前期,隱蔽通道分析的對象大體上為特定的系統(tǒng)機(jī)制或者特定的系統(tǒng)功能(如多級目錄機(jī)制)。目前常用的隱蔽通道標(biāo)識技術(shù)有[3-4]:
    (1)句法信息流分析法(Syntactic Information flow Analysis):是一個比較系統(tǒng)的隱蔽通道分析方法,但此方法不宜分析類似操作系統(tǒng)內(nèi)核的大規(guī)模程序,故在實(shí)際的系統(tǒng)分析中較少應(yīng)用。但此方法對后來出現(xiàn)的SRM等方法奠定了相關(guān)概念基礎(chǔ)。
    (2)無干擾分析法(Noninterference Analysis):此方法能把可信計算(TCB)視為一個抽象機(jī)。通常1個進(jìn)程的1個請求操作會得到1個相應(yīng)的響應(yīng),如1個有效響應(yīng)、1個數(shù)據(jù)值、或者1個錯誤消息,因此該抽象機(jī)將把1個進(jìn)程的請求作為輸入,把對它的響應(yīng)作為1個輸出,任意給定時刻抽象機(jī)內(nèi)部變量和數(shù)據(jù)結(jié)構(gòu)的內(nèi)容就是抽象機(jī)的當(dāng)前狀態(tài)。分析系統(tǒng)的時候,源代碼或者更抽象一些的形式化/描述性規(guī)范都可以使用這些變量和數(shù)據(jù)結(jié)構(gòu)。
    (3)共享資源矩陣分析法SRM(Shared Resource Matrix):在該分析法中,首先要統(tǒng)計主體可以讀或?qū)懙乃泄蚕碣Y源(系統(tǒng)變量),然后檢查每個共享資源,確定它是否可能被用來在各個主體之間隱蔽地址傳遞信息,要完成這一步需要仔細(xì)研究每個TCB原語的貌似。此外,由于兩個進(jìn)程可能讀寫同一個共享資源的不同屬性,因此需要進(jìn)一步精化,指出共享資源的每個屬性。
    (4)語義信息流分析法(Information-flow Analysis with Semantic Component):此分析法是借鑒了Denning信息流分析和Kemmerer共享資源矩陣法的優(yōu)點(diǎn)設(shè)計而成,并在安全Xenix項目中用這種方法進(jìn)行隱蔽通道分析工作的。
    (5)隱蔽流樹分析法CFT(Covert Flow Tree Analysis):該分析法采用樹結(jié)構(gòu)將信息從一個共享資源向另外一個共享資源的流動過程建模,實(shí)現(xiàn)對通過共享變量屬性發(fā)送、能被監(jiān)聽進(jìn)程接收的通信系統(tǒng)化搜索,從而提供查找隱蔽通道場景的方法。
2.3 隱蔽通道處理技術(shù)
    隱蔽通道的常用處理技術(shù)有消除法和寬帶限制法等[3]。
    (1)消除法:是指消除隱蔽通道。消除隱蔽通道需要改變系統(tǒng)的設(shè)計和實(shí)現(xiàn),改變通常包括:消除系統(tǒng)潛在的隱蔽通信參與者的共享資源和消除導(dǎo)致隱蔽通道的接口和機(jī)制。
    (2)帶寬限制法:通過設(shè)法降低通道的最大或者平均帶寬,使之降低到一個事先預(yù)定的可以接受的帶寬程度的一種帶寬限制策略,以此實(shí)現(xiàn)處理隱蔽通道問題。限制帶寬的方法有:故意引入噪音,即用隨機(jī)分配算法分配諸如共享表、磁盤分區(qū)、PID等共享資源的索引或者引入額外的進(jìn)程隨機(jī)修改隱蔽通道的變量;其次是故意引入延時。
3 SQL緩存中的隱蔽通道分析研究
    在ASP.NET2.0與SQL Server相結(jié)合由數(shù)據(jù)庫驅(qū)動的Web網(wǎng)絡(luò)應(yīng)用程序開發(fā)中,采用緩存技術(shù)可以提高從數(shù)據(jù)庫讀取數(shù)據(jù)的效率,能及時、準(zhǔn)確、快速地為訪問客戶服務(wù)。但內(nèi)存中緩存的數(shù)據(jù)可能會存儲時間較長,會出現(xiàn)數(shù)據(jù)信息不受安全策略控制的、違反安全策略的信息泄露路徑。因此,在重要的Web網(wǎng)絡(luò)應(yīng)用程序開發(fā)中,要對SQL緩存中可能存在的隱蔽通道問題進(jìn)行分析研究,確保由此引發(fā)的隱蔽通道數(shù)據(jù)信息安全問題得到有效解決。
    由信息傳遞的方式和方法對隱蔽通道的分類可知,隱蔽存儲通道和隱蔽定時通道在SQL緩存中都可能存在。特別是隱蔽存儲通道在數(shù)據(jù)被存儲到內(nèi)存后,會在系統(tǒng)中通過2個進(jìn)程利用不受安全策略控制的存儲單元傳遞信息。2個進(jìn)程中的前1個進(jìn)程通過改變存儲單元的內(nèi)容發(fā)送信息;后1個進(jìn)程通過觀察存儲單元的變換來接收信息,以此對存儲在內(nèi)存中的信息進(jìn)行讀取操作。而SqlDataSource控件上設(shè)置的屬性只能將那些大量服務(wù)器資源獲取到的數(shù)據(jù)集存儲在內(nèi)存中,提高客戶端快捷地獲取服務(wù)的效率,但不能保障數(shù)據(jù)信息的信息安全不被破壞或訪問。
    使用ASP.NET2.0新增功能SQL緩存無效技術(shù),利用SqlCacheDependency類,在SQL Server數(shù)據(jù)庫對象與應(yīng)用程序緩存對象之間建立一種緩存對象,然后在SQL Server7.0/2000版本中,使用輪詢技術(shù)使緩存無效。同時,對緩存內(nèi)容建立安全策略監(jiān)控機(jī)制,對其內(nèi)容的訪問權(quán)限、安全策略、讀取存儲路徑等安全因素進(jìn)行監(jiān)控分析,以此提高緩存中內(nèi)容的數(shù)據(jù)信息安全和整個系統(tǒng)的安全[5-7]。SQL緩存中的隱蔽通道分析功能設(shè)計如圖2所示。

    隱蔽通道系統(tǒng)安全分析技術(shù)應(yīng)用在ASP.NET與SQL Server的Web應(yīng)用程序開發(fā)中,在提高整個Web應(yīng)用程序性能的同時,能有效保證SQL緩存數(shù)據(jù)信息的安全和用戶數(shù)據(jù)信息的安全,這在Web應(yīng)用程序開發(fā)中具有重要的實(shí)際應(yīng)用意義。
參考文獻(xiàn)
[1] 賀偉,陳哲,龔濤,等.新一代ASP.NET2.0網(wǎng)絡(luò)編程入門與實(shí)踐[M].北京:清華大學(xué)出版社,2007:263-296.
[2] 楊云,王毅.ASP.NET2.0程序開發(fā)詳解[M].北京:人民郵電出版社,2007:83-163.
[3] 陳頌,何良生,王建華,等.安全操作系統(tǒng)中隱蔽通道的研究[J].信息安全與通信保密,2006(11).
[4] 卿斯?jié)h,劉文清,溫紅子.操作系統(tǒng)安全[M].北京:清華大學(xué)出版社,2004:4-196.
[5] 趙玉偉,趙小雨,喬木.緩存技術(shù)在B/S架構(gòu)信息系統(tǒng)中的應(yīng)用[J].計算機(jī)工程,2008(1).
[6] 劉美華,古志民,曹元大,等.一個基于機(jī)群的可擴(kuò)展的Web緩存服務(wù)器[J].計算機(jī)工程與應(yīng)用,2003(7).
[7] 錢小軍.Web文本挖掘技術(shù)研究及其實(shí)現(xiàn)[D].杭州:浙江大學(xué),2002.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容