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
一種基于滑窗的余度指令判別算法
主站蜘蛛池模板: 日韩av无码精品专区| 国产无码网站在线观看| 狠狠v日韩v欧美v| 国产综合网站| 精品三级在线| 国产精品福利导航| 毛片免费观看视频| 中文字幕av无码不卡免费| 国产第三区| 久久精品人人做人人综合试看| 国产激情第一页| 爱色欧美亚洲综合图区| 伊在人亚洲香蕉精品播放| 国产精品.com| 日本尹人综合香蕉在线观看| 五月婷婷中文字幕| 久久人人97超碰人人澡爱香蕉| 亚洲av无码久久无遮挡| 无遮挡一级毛片呦女视频| 玖玖精品在线| 综合色亚洲| 久久综合国产乱子免费| 精品91视频| 玖玖精品在线| 欧美精品成人一区二区在线观看| 欧美日韩资源| 国产精品无码影视久久久久久久| 国内嫩模私拍精品视频| 日本国产精品| 日韩 欧美 国产 精品 综合| 亚洲第一网站男人都懂| 亚洲天堂免费| 女人18毛片一级毛片在线 | 高清国产va日韩亚洲免费午夜电影| 最新国产成人剧情在线播放| 99这里只有精品6| 日韩午夜福利在线观看| 国产18在线| 亚洲AⅤ永久无码精品毛片| 国产 在线视频无码| 国产精品妖精视频| 九九热这里只有国产精品| 91久久国产综合精品女同我| 无码av免费不卡在线观看| 成人欧美在线观看| 日韩无码视频专区| 毛片卡一卡二| 亚洲日产2021三区在线| 中文字幕资源站| 精品国产电影久久九九| 成人日韩欧美| 亚洲成人在线免费| 免费在线色| 性视频久久| 亚洲成人动漫在线| 东京热高清无码精品| 午夜色综合| 国产日本欧美在线观看| 波多野结衣一区二区三区四区 | 国产精品99久久久| 香蕉久久永久视频| 亚洲人免费视频| 丁香五月婷婷激情基地| 亚洲天堂久久新| 国产三级国产精品国产普男人| 中文字幕第4页| 欧美日韩第三页| 国产精品香蕉| 色婷婷视频在线| 免费人欧美成又黄又爽的视频| 精品人妻无码中字系列| 第一页亚洲| 欧美特黄一级大黄录像| 成人中文字幕在线| 亚洲狼网站狼狼鲁亚洲下载| 午夜免费视频网站| 国产成人啪视频一区二区三区| 国产原创第一页在线观看| аⅴ资源中文在线天堂| 久久精品无码中文字幕| 久久精品最新免费国产成人| 91美女视频在线|