999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SQL Server數據庫中數據的安全監控1

2012-09-19 06:37:26李雅靜
震災防御技術 2012年2期
關鍵詞:指令數據庫

張 暉 李雅靜 趙 穎

(天津市地震局,天津 300201)

SQL Server數據庫中數據的安全監控1

張 暉 李雅靜 趙 穎

(天津市地震局,天津 300201)

本文主要闡述了作者在工作中遇到的 SQL Server數據庫中一些重要數據泄漏或是異常變動現象,隨后通過各種技術手段追蹤數據異常變更的根源的學習研究過程。從而達到了對日常工作中的重要數據進行安全監控、跟蹤相關操作的目的,同時,也為各類數據的安全性、準確性提供了堅實的保障。

SQL Server 關系數據庫 存儲過程 追蹤

前言

數據庫的安全性是指保護數據庫以防止不合法的使用造成數據泄漏、更改或破壞。數據庫和計算機系統的安全性,以及操作系統和網絡系統的安全性是緊密聯系、相互支持的(王岳斌等,2009)。

當前,對數據庫安全的威脅主要分為物理上的和邏輯上的。物理上的威脅主要是指由計算機軟硬件故障、錯誤導致的數據丟失等,為了消除物理上的威脅,通常采用備份和恢復的策略。邏輯上的威脅主要是指對信息未被授權的存取,可以分為3類:①信息泄漏,包括直接和非直接(通過推理)地對保護數據的存取;②非法數據修改,由操作人員的失誤或非法用戶的故意修改引起;③拒絕服務,通過獨占系統資源導致其他用戶不能訪問數據庫(Li Yanyuan,2005;徐龍琴等,2009)。

本文中所要追蹤的是使用超級管理員的高級權限登錄數據庫對數據進行查詢、更改甚至刪除等操作的現象。

1 研究過程

目前,SQL Server數據庫已被廣泛應用于各個領域,而地震行業中的信息網絡、測震臺網、前兆臺網、應急指揮、震害防御等學科也或多或少地應用到該數據庫系統。天津地震應急指揮系統使用了基于SQL Server數據庫的檢索系統,在系統的開發和使用中發現一些重要數據的異常變動,這些數據的變更并非通過相應的程序正常操作而發生的。為了保障數據的安全,開始研究重要數據讀寫的追蹤(王建國等,2006)。

1.1 初步研究

面對上述情況,首先對日志文件進行查詢。日志文件能夠顯示出數據被查詢或是被篡改的SQL語句和執行時間等信息,但日志文件里只記錄了登陸數據庫的用戶名,即超級管理員用戶名,無法定位到執行該指令的計算機,更無法定位到具體人員。日志文件如圖1所示。

圖1 SQL Server日志文件Fig. 1 SQL Server log files

經研究我們發現,可通過DBCC INPUTBUFFER語句來獲取客戶端發送到SQL Server的最后一條SQL語句。這個方法需要提供session_id,而這個session_id可以通過master庫(系統庫)中的系統視圖sys.sysprocesses來獲得,而這個系統視圖中有這樣幾個字段:hostname(客戶端機器名)、program_name(應用程序名稱)、net_address(最初認為net_address是客戶機的MAC地址,但經過多次試驗發現有的機器確實是MAC地址,有的卻不是)。這樣,如果局域網內有通過域來管理所有機器,那么客戶機的機器名是不能隨意變動的,即可通過查詢hostname來鎖定執行相關指令的客戶端。

通過寫一個.net程序(c/s架構),其中設一個定時器(timer),每間隔一秒鐘刷新一次,每次刷新都通過DBCC INPUTBUFFER語句來獲取客戶端發送到SQL Server的最后一條SQL語句,當然這里面的session_id(即spid)要通過sys.sysprocesses來循環獲取,然后將獲取的語句以及相關信息寫入建好的記錄表中。定時器程序執行存儲過程的流程如圖2所示。

圖2是程序中刷新監控記錄的存儲過程,可以實時監控,也可以將這些記錄再寫入一個歷史記錄表中以便存證。如果局域網未通過域來管理,即客戶端可隨意更改本機的機器名,這樣就必須找出執行相關指令的客戶端的 IP地址。客戶端的 IP地址可以用 exec master..xp_cmdshell ping host_name方法獲得。但是此方法僅限于客戶端機器開啟ping功能的情況下,一旦其關閉該功能則無法取得對方客戶端的IP地址。

經過不斷測試,我們發現該方法仍然存在以下幾個問題:

圖2 存儲過程流程圖Fig. 2 Flowchart of storage procedure

①無法追蹤到客戶端通過存儲過程訪問數據庫的具體SQL語句。

②監控是通過定時器的循環指令執行,如定時器間隔時間設置過長,則會遺漏一些重要信息;如定時器時間間隔設置過短,則會占用服務器較多資源,從而影響服務器的正常運行。

③記錄中存在hostname為空的SQL語句執行記錄,這樣便無法追蹤到執行該指令的客戶端(上文所述獲取客戶端IP地址的方法也是通過hostname來實現的)。

1.2 深入研究

在進一步研究的過程中,還需要將測試中發現的問題一一解決。

首先,通過遍歷 sys.object系統表來發現可疑的存儲過程,即通過sp_helptext來讀出該存儲過程的內容,同時遍歷其語句,看看有無訪問數據表。

其次,通過SQL Server自帶的SQL Server Profiler功能查找遺漏的重要信息,如圖3所示。

圖3 SQL Profiler菜單Fig. 3 Main menu of SQL Profiler

在初步研究的方案中是通過DBCC INPUTBUFFER語句來獲取客戶端發送到SQL Server的最后一條SQL語句。如果一次性提交多條SQL語句,該方法只能夠捕捉到最后一條SQL語句,而忽略前面的若干條。經測試,通過SQL Server Profiler功能來跟蹤語句則不會出現類似的狀況,SQL Server Profiler功能可以跟蹤出所有的SQL語句,避免了重要信息的遺漏。

經過一段時間的研究及測試,發現安裝PowerBuilder開發環境的客戶端可以通過開發環境連接SQL Server數據,并查看或更改數據,這樣通過DBCC INPUTBUFFER方法無法獲取其主要的 SQL語句,只能捕捉到最后一句,通常是提交或回滾數據庫事務的語句,而通過SQL Server Profiler功能來跟蹤語句則能夠跟蹤到所有語句。

當hostname為空時,如何找到該記錄對應的客戶端機器,則需要通過SQL Server Profiler功能跟蹤表中的SPID與當時的關系庫中的系統視圖sys.dm_exec_connections中的session_id關聯,就可以從系統視圖sys.dm_exec_connections中的client_net_adress字段中獲取執行指令的客戶端的IP地址了。為什么是“當時”呢?因為SPID即session_id在數據庫中是又系統分配的,只能保證在一段時間內唯一。因此我們在跟蹤到相關語句時,必須盡快聯表查詢到對應IP,并寫入一個記錄表中,才能達到準確存證的目的。

2 實現過程

上文已經將遇到的技術難點一一解決,接下來是記錄實現的過程:

(1)SQL Server Profiler設置

第一步需要設置SQL Server Profiler跟蹤,下面列出幾個關鍵的操作步驟:

①設置跟蹤記錄表

打開SQL Server Profiler后,點擊菜單中“文件”——“新建跟蹤”,然后選擇需要跟蹤的數據庫并通過超級管理員用戶登錄。在彈出的跟蹤屬性對話框中勾選“保存到表”,并將該表保存到我們需要存證的那個數據庫。也可以根據需要設置一個跟蹤停止時間,因為這個跟蹤表不能無限增大,最好定期更換。需要注意的是,跟蹤表不能保存在被跟蹤的數據庫實例中,否則會產生大量的冗余跟蹤數據。

②設置關鍵字

在跟蹤屬性對話框內選擇“事件選擇”標簽頁,這里可以根據實際需求來勾選需要跟蹤的事件以及所顯示列等,如圖4所示。

圖4 SQL Profiler跟蹤屬性——事件選擇Fig. 4 SQL Profiler track attribute — events selection

必須要在TextData字段上設置關鍵字,例如數據表名、字段名等。在關鍵字前后加上“%”,便于在跟蹤到的SQL語句中模糊查詢。

參數設置完成,即可運行,開始跟蹤數據庫。還需要注意兩點:一是可以將該跟蹤存為一個模板,便于重復使用;二是該跟蹤程可以運行在任何一臺可以連接被跟蹤數據庫的計算機上。

(2)實時獲取IP

SQL Server Profiler跟蹤運行好后,我們就需要實時(或近似實時)將跟蹤數據聯表得到對應的IP地址,然后將這個記錄寫入我們的存證表中。

為此需要設計一個服務,每秒或每間隔幾秒讀取一下跟蹤數據表數據,并將關聯系統視圖sys.dm_exec_connections中得到的IP地址一起寫入歷史存證表中即可。這里需要注意的是,可以根據跟蹤表中的 RowNumber字段來區分將每次多出的數據聯表插入到歷史存證表中。如跟蹤重啟后,跟蹤表會重新計數,這時程序內需要將兩個表中的RowNumber做對比判斷,將新增的數據插入歷史存證表中。當然也可以根據歷史記錄表中的最后一條記錄時間來進行判斷。

(3)跟蹤數據查詢分析

經過前面兩個步驟,已經將需要的數據實時寫入歷史存證表中,然后我們只需要設計一個查詢歷史記錄的頁面即可,這個頁面上方為查詢條件,例如:時間、應用名稱等;下方列表中為記錄的一些關鍵字段,如圖5所示。

圖5 重要數據訪問查詢Fig. 5 Important data access and query

點擊每條記錄后的“查看”可以看到具體的SQL語句,如圖6所示。

圖6 數據訪問查詢明細Fig. 6 The detailed record of important data access and query

3 結語

數據庫系統作為信息的聚集體,其安全性至關重要。文中敘述了作者追蹤SQL Server數據庫數據被篡改的研究過程。作者經過多次的嘗試和研究,最終實現了對讀寫數據庫指令的追蹤。當然,所有追蹤的作用也只是亡羊補牢,只能作為監控數據安全的輔助手段,而有效的防竊取、防篡改才是建設數據庫至關重要的任務,才能保證數據的保密性、完整性和有效性。

王建國,崔曉峰,陳化然等,2006. Microsoft SQL Server 2000在天津市地震前兆臺網中心的應用. 華北地震科學,24(3):56—60.

王岳斌,陽國貴,鄺祝芳等,2009. 基于HMM的數據庫異常檢測系統設計與實現. 計算機應用與軟件,26(1):15—16.

徐龍琴,劉雙印,沈玉利等,2009. 數據庫安全性控制的研究. 計算機應用與軟件,26(5):31—35.

Li Yanyuan, 2005. The Documentation of Logic SQL. Alberta Univemity,Canada.

Data Security Monitoring of SQL Server Database

Zhang Hui, Li Yajing and Zhao Ying

(Earthquake Administration of Tianjin Municipality, Tianjin 300201, China)

Since database system is information aggregation, the security of database is very important. In this paper we discuss some problems in daily data management such as data leakage and abnormal variation, and track back the sources that cause such problems. By doing so we may monitor the important data in daily work to ensure the safety and accuracy of database.

SQL Server; Relation database; Storage process; Track

張暉,李雅靜,趙穎,2012.SQL Server數據庫中數據的安全監控.震災防御技術,7(2):208—213.

本文由“天津地震災害損失初評估快速查詢應急資料箱建設”資助

2011-12-27

張暉,女,生于1979年。碩士,工程師。主要從事地震應急工作。E-mail: 15375539@qq.com

更正:本刊2012年1期83頁頁下注“西藏地震現場工作隊,2011.9. 2011年9月18日印度錫金邦6.8級地震中國西藏災區災害直接損失評估報告.”更正為“孫柏濤,姚新強,周強等,2010. 西藏自治區農牧民安居工程抗震加固試驗與分析技術報告,121—122.”

猜你喜歡
指令數據庫
聽我指令:大催眠術
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
一種基于滑窗的余度指令判別算法
主站蜘蛛池模板: 韩国v欧美v亚洲v日本v| 久久综合色视频| 成年A级毛片| 成人夜夜嗨| 亚洲色图在线观看| 国产精品视频系列专区| 黄色在线网| 亚洲天堂区| 91免费在线看| 国产a在视频线精品视频下载| 欧美特黄一级大黄录像| 亚洲欧美国产视频| 免费一级无码在线网站| 亚洲欧美激情小说另类| 露脸真实国语乱在线观看| swag国产精品| 国产高潮流白浆视频| 秋霞午夜国产精品成人片| 国产凹凸视频在线观看| 国产成人乱无码视频| 综合五月天网| 国产99欧美精品久久精品久久| 毛片网站在线看| 一区二区无码在线视频| 999国产精品永久免费视频精品久久 | 欧美精品啪啪| 国产无遮挡裸体免费视频| 熟女视频91| 国产一二三区在线| 97久久精品人人做人人爽| 波多野结衣亚洲一区| 老司机精品一区在线视频 | 国产精品自在线天天看片| 四虎影院国产| 亚洲精品中文字幕午夜| 无码国内精品人妻少妇蜜桃视频| 无码国产伊人| 国产精品久久自在自2021| 久久青草免费91观看| 伦伦影院精品一区| 热久久综合这里只有精品电影| 国产jizz| 黄色网址手机国内免费在线观看| 欧美午夜理伦三级在线观看| 无码日韩精品91超碰| 日本成人一区| 老汉色老汉首页a亚洲| 国产香蕉97碰碰视频VA碰碰看| 91蝌蚪视频在线观看| 国产精品白浆无码流出在线看| 99精品视频九九精品| 日韩高清一区 | 2021亚洲精品不卡a| 国产新AV天堂| 亚洲高清在线天堂精品| 精品久久综合1区2区3区激情| 久久精品66| 亚洲欧美一区二区三区图片| 成年人国产视频| 理论片一区| 欧美日韩午夜| 欧美日韩中文国产| 亚洲精品成人7777在线观看| 白浆视频在线观看| yjizz视频最新网站在线| 国产在线一区视频| 亚洲国产系列| 亚州AV秘 一区二区三区| 久久公开视频| 91丝袜美腿高跟国产极品老师| 日本欧美中文字幕精品亚洲| www.亚洲一区| 激情爆乳一区二区| 亚洲人免费视频| 国产精品无码一二三视频| 2021精品国产自在现线看| 亚洲人免费视频| 亚洲欧美极品| 在线网站18禁| 91久久偷偷做嫩草影院电| 99在线视频精品| 欧美区一区|