兩位一體:論信息化中的應(yīng)用安全和數(shù)據(jù)庫(kù)安全
黑盒測(cè)試 黑盒測(cè)試是一種把軟件產(chǎn)品當(dāng)成是一個(gè)黑箱的測(cè)試技術(shù),這個(gè)黑箱有入口和出口,測(cè)試過程中只需要了解黑箱的輸入和輸出結(jié)果,不需要了解黑箱里面具體是怎樣操作的。這當(dāng)然很好,因?yàn)闇y(cè)試人員不用費(fèi)神去理解軟件里面的具體構(gòu)成和原理,測(cè)試人員只需要像用戶一樣看待軟件產(chǎn)品就行了。
例如,銀行轉(zhuǎn)賬系統(tǒng)提供給用戶轉(zhuǎn)賬的功能,則測(cè)試人員在使用黑盒測(cè)試方法時(shí),不需要知道轉(zhuǎn)賬的具體實(shí)現(xiàn)代碼是怎樣工作的,只需要把自己當(dāng)成用戶,模擬盡可能多的轉(zhuǎn)賬情況來檢查這個(gè)軟件系統(tǒng)能否按要求正常實(shí)現(xiàn)轉(zhuǎn)賬功能即可。
如果只像用戶使用和操作軟件一樣去測(cè)試軟件黑盒測(cè)試可能存在一定的風(fēng)險(xiǎn)。例如,某個(gè)安全性要求比較高的軟件系統(tǒng),開發(fā)人員在設(shè)計(jì)程序時(shí)考慮到記錄系統(tǒng)日志的必要性,把軟件運(yùn)行過程中的很多信息都記錄到了客戶端的系統(tǒng)日志中,甚至把客戶端連接服務(wù)器端的數(shù)據(jù)庫(kù)連接請(qǐng)求字符串也記錄到了系統(tǒng)日志中,像下面的一段字符串:
"Data Source=192.168.100.99;Initial Catalog=AccountDB;User ID=sa;PassWord=123456;
那么按照黑盒測(cè)試的觀點(diǎn),這是程序內(nèi)部的行為,用戶不會(huì)直接操作數(shù)據(jù)庫(kù)的連接行為,因此檢查系統(tǒng)日志方面的測(cè)試是不會(huì)做的。這明顯構(gòu)成了一個(gè)Bug,尤其是對(duì)于安全性要求高的軟件系統(tǒng),因?yàn)樗┞读撕笈_(tái)數(shù)據(jù)庫(kù)賬號(hào)信息。
有人把黑盒測(cè)試比喻成中醫(yī),做黑盒測(cè)試的測(cè)試人員應(yīng)該像一位老中醫(yī)一樣,通過“望、聞、問、切”的方法,來判斷程序是否“有病”。這比單純的操作黑箱的方式進(jìn)了一步,這種比喻給測(cè)試人員一個(gè)啟示,不要只是簡(jiǎn)單地看和聽,還要積極地去問,積極地去發(fā)現(xiàn)、搜索相關(guān)的信息。應(yīng)該綜合應(yīng)用中醫(yī)看病的各種“技術(shù)”和理念來達(dá)到找出軟件“病癥”的目的,具體作法如下:
“望”,觀察軟件的行為是否正常;
“聞”,檢查輸出的結(jié)果是否正確;
“問”,輸入各種信息,結(jié)合“望”、“聞”來觀察軟件的響應(yīng)程度;
“切”,像中醫(yī)一樣給軟件“把脈”,敲擊一下軟件的某些“關(guān)節(jié)”。
白盒測(cè)試如果把黑盒測(cè)試比喻成中醫(yī)看病,那么白盒測(cè)試無疑就是西醫(yī)看病了。測(cè)試人員采用各種儀器和設(shè)備對(duì)軟件進(jìn)行檢測(cè),甚至把軟件擺上手術(shù)臺(tái)解剖來看個(gè)究竟。白盒測(cè)試是一種以理解軟件內(nèi)部結(jié)構(gòu)和程序運(yùn)行方式為基礎(chǔ)的軟件測(cè)試技術(shù),通常需要跟蹤一個(gè)輸入經(jīng)過了哪些處理,這些處理方式是否正確。
在很多測(cè)試人員,尤其是初級(jí)測(cè)試人員看來,白盒測(cè)試是一種只有非常了解程序代碼的高級(jí)測(cè)試人員才能做的測(cè)試。熟悉代碼結(jié)構(gòu)和功能實(shí)現(xiàn)的過程當(dāng)然對(duì)測(cè)試有很大的幫助,但是從黑盒測(cè)試與白盒測(cè)試的區(qū)別可以看出,有些白盒測(cè)試是不需要測(cè)試人員懂得每一行程序代碼的。如果把軟件看成一個(gè)黑箱,那么白盒測(cè)試的關(guān)鍵是給測(cè)試人員戴上一副X光透視眼鏡,測(cè)試人員通過這副X光透視眼鏡可以看清楚輸入到黑箱中的數(shù)據(jù)是怎樣流轉(zhuǎn)的。
一些測(cè)試工具就像醫(yī)院的檢測(cè)儀器一樣,可以幫助了解程序的內(nèi)部運(yùn)轉(zhuǎn)過程。例如,對(duì)于一個(gè)與SQL Server數(shù)據(jù)庫(kù)連接的軟件系統(tǒng),可以簡(jiǎn)單地把程序的作用理解為:把用戶輸入的數(shù)據(jù)通過SQL命令請(qǐng)求后臺(tái)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)把請(qǐng)求的數(shù)據(jù)返回給程序的界面層展示給用戶。可以把SQL Server自帶的工具事件探查器當(dāng)成是一個(gè)檢查SQL數(shù)據(jù)傳輸?shù)木軆x器,它可以記錄軟件客戶端與服務(wù)器數(shù)據(jù)庫(kù)之間交互的一舉一動(dòng),從而讓測(cè)試人員可以洞悉軟件究竟做了哪些動(dòng)作。
測(cè)試過程中,應(yīng)該綜合應(yīng)用黑盒測(cè)試方法和白盒測(cè)試方法,按需要采用不同的技術(shù)組合。不要用黑盒測(cè)試方法和白盒測(cè)試方法來劃分自己屬于哪一類測(cè)試人員,一名優(yōu)秀的測(cè)試人員應(yīng)該懂得各種各樣的測(cè)試技術(shù)和查找Bug的手段。
最后我們談?wù)勑碌姆阑饓栴}。到目前為止,我們都是側(cè)重于預(yù)防措施。但在現(xiàn)實(shí)世界中,我們不可能總是改編程序和環(huán)境,所以我們必須采用其他技術(shù)措施。這就是為什么會(huì)產(chǎn)生新的防火墻。
防火墻用于應(yīng)用程序或者監(jiān)控流量的運(yùn)行監(jiān)控,也可以在執(zhí)行運(yùn)行時(shí)進(jìn)行分析。防火墻可以找出攻擊,并阻止嘗試或修改的要求,來確保WEB服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器的安全運(yùn)行。
目前不光有WEB應(yīng)用防火墻和網(wǎng)絡(luò)防火墻能防范攻擊者透過應(yīng)用層和網(wǎng)絡(luò)層的攻擊;“數(shù)據(jù)庫(kù)防火墻”也于這兩年在不斷的數(shù)據(jù)庫(kù)泄密事件中出現(xiàn)在公眾的視線里,國(guó)內(nèi)稱之為“數(shù)據(jù)庫(kù)審計(jì)”產(chǎn)品,這些產(chǎn)品能給數(shù)據(jù)庫(kù)提供實(shí)時(shí)的網(wǎng)絡(luò)存儲(chǔ)與訪問的安全。
任何一個(gè)好的數(shù)據(jù)庫(kù)安全策略都應(yīng)包括監(jiān)控和審計(jì),以確保保護(hù)對(duì)象正常運(yùn)行,并且運(yùn)行在正確的位置上,這也是個(gè)非常耗時(shí)的過程。由于缺乏時(shí)間和工具,大多數(shù)用戶對(duì)于數(shù)據(jù)庫(kù)配置的檢查往往也僅是抽查而已。
這里還需要指出的是目前多數(shù)人認(rèn)為“數(shù)據(jù)庫(kù)審計(jì)”等同于數(shù)據(jù)庫(kù)安全,事實(shí)上,數(shù)據(jù)庫(kù)安全遠(yuǎn)遠(yuǎn)不是數(shù)據(jù)庫(kù)審計(jì)可以搞定的,數(shù)據(jù)庫(kù)審計(jì)只是數(shù)據(jù)庫(kù)安全的一個(gè)很小的方面,之所以有時(shí)候?qū)Φ绕饋恚环矫媸怯捎谑袌?chǎng)宣傳導(dǎo)致的誤導(dǎo),另一方面的確是這個(gè)部分的問題比較容易產(chǎn)品化/工具化,技術(shù)實(shí)現(xiàn)相對(duì)比較成熟。數(shù)據(jù)庫(kù)安全應(yīng)該包括:數(shù)據(jù)庫(kù)資產(chǎn)管理、數(shù)據(jù)庫(kù)配置加固、職責(zé)分離、特權(quán)用戶控制、數(shù)據(jù)庫(kù)弱點(diǎn)掃描和補(bǔ)丁管理、數(shù)據(jù)庫(kù)加密、數(shù)據(jù)庫(kù)審計(jì)。
最后,我們還是回到應(yīng)用程序的安全以及與數(shù)據(jù)庫(kù)之間的相互作用問題上。即我們必須要考慮到的問題是應(yīng)用程序的安全以及與數(shù)據(jù)庫(kù)之間的相互作用,尤其是對(duì)于當(dāng)今流行的高度動(dòng)態(tài)的和互動(dòng)的網(wǎng)絡(luò)應(yīng)用程序而言。理解數(shù)據(jù)庫(kù)與應(yīng)用程序和系統(tǒng)環(huán)境之間的作用可以更加提升數(shù)據(jù)的安全性。
有問題是客觀情況,其實(shí)我們需要的不是過多的責(zé)難,而是不斷改進(jìn)問題本身,當(dāng)我們被迫把安全做的簡(jiǎn)單時(shí),我們就被迫直接面對(duì)真正的問題。當(dāng)我們不能用表面的裝飾交差時(shí),我們就不得不做好真正的本質(zhì)部分。希望本文可以讓讀者了解到一系列管理和風(fēng)險(xiǎn)降低方面的策略,不論你是否愿意配置數(shù)據(jù)庫(kù)防火墻、進(jìn)行源代碼審記或者嚴(yán)格地控制數(shù)據(jù)庫(kù)管理系統(tǒng),其目的都是相同的:做好應(yīng)用安全和數(shù)據(jù)安全的兩位一體,保護(hù)好重要數(shù)據(jù)。
責(zé)任編輯:黎陽(yáng)錦
-
發(fā)電電力輔助服務(wù)營(yíng)銷決策模型
2019-06-24電力輔助服務(wù)營(yíng)銷 -
電力線路安全工作的組織措施和技術(shù)措施分別是什么?
-
兩會(huì)保電進(jìn)行時(shí)丨陜西電力部署6項(xiàng)重點(diǎn)任務(wù)
-
電力線路安全工作的組織措施和技術(shù)措施分別是什么?
-
兩會(huì)保電進(jìn)行時(shí)丨陜西電力部署6項(xiàng)重點(diǎn)任務(wù)
-
山東特高壓首次完成帶電消缺 確保電力安全穩(wěn)定迎峰度冬
-
發(fā)電電力輔助服務(wù)營(yíng)銷決策模型
2019-06-24電力輔助服務(wù)營(yíng)銷 -
繞過安卓SSL驗(yàn)證證書的四種方式
-
網(wǎng)絡(luò)何以可能
2017-02-24網(wǎng)絡(luò)
-
Windows 10首發(fā) 四大安全提升
-
超級(jí)安卓漏洞 “寄生獸”影響數(shù)千萬手機(jī)應(yīng)用
-
航空公司首出現(xiàn)操作系統(tǒng)被黑
2015-06-23航空公司
-
“企業(yè)應(yīng)急響應(yīng)和反滲透”之真實(shí)案例分析
-
攜程恢復(fù)正常 安全,我們準(zhǔn)備好了嗎?
2015-05-29攜程 -
一張圖讀懂《2014年消費(fèi)者個(gè)人信息網(wǎng)絡(luò)安全報(bào)告》