自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何編寫安全的SQL數(shù)據(jù)庫代碼?

安全 數(shù)據(jù)安全
在威脅建模過程中,為了確定數(shù)據(jù)庫的潛在威脅,需要對(duì)數(shù)據(jù)庫存儲(chǔ)和處理的信息進(jìn)行分類。這將需要您的安全維護(hù)人員和數(shù)據(jù)庫開發(fā)者從攻擊者的角度來共同分析數(shù)據(jù)庫。該過程不僅能幫助大家了解黑客攻擊數(shù)據(jù)庫的原因和方式,還能確保必要的安全控制能夠盡早適應(yīng)數(shù)據(jù)庫的設(shè)計(jì)結(jié)構(gòu)。同時(shí),該過程還會(huì)創(chuàng)建一系列文件,以識(shí)別和調(diào)整數(shù)據(jù)庫的安全需求。

Michael Cobb是認(rèn)證信息系統(tǒng)安全架構(gòu)專家(CISSP-ISSAP),知名的安全作家,具有十多年豐富的IT行業(yè)經(jīng)驗(yàn),并且還從事過十六年的金融行業(yè)。他是 Cobweb Applications公司的創(chuàng)始人兼常務(wù)董事,該公司主要提供IT培訓(xùn),以及數(shù)據(jù)安全和分析的支持。

問:我們正在全力打造一個(gè)安全的SQL數(shù)據(jù)庫。對(duì)于如何為此類數(shù)據(jù)庫編寫更安全的代碼,您有什么建議嗎?

答:在編寫安全的SQL數(shù)據(jù)庫代碼時(shí),您的首要任務(wù)是要了解你需要保護(hù)什么樣的數(shù)據(jù)、為什么要保護(hù)這些數(shù)據(jù),以及為了保護(hù)它們您將要面對(duì)的是什么。這將有助于確保您能構(gòu)建一個(gè)適當(dāng)?shù)?、滿足您需要的、具有特定功能和特性的安全控制機(jī)制。而在數(shù)據(jù)庫設(shè)計(jì)階段,您就應(yīng)當(dāng)進(jìn)行此項(xiàng)分析。在分析中,識(shí)別和評(píng)估風(fēng)險(xiǎn)的過程被稱為威脅建模(threat modeling)。

在威脅建模過程中,為了確定數(shù)據(jù)庫的潛在威脅,需要對(duì)數(shù)據(jù)庫存儲(chǔ)和處理的信息進(jìn)行分類。這將需要您的安全維護(hù)人員和數(shù)據(jù)庫開發(fā)者從攻擊者的角度來共同分析數(shù)據(jù)庫。該過程不僅能幫助大家了解黑客攻擊數(shù)據(jù)庫的原因和方式,還能確保必要的安全控制能夠盡早適應(yīng)數(shù)據(jù)庫的設(shè)計(jì)結(jié)構(gòu)。同時(shí),該過程還會(huì)創(chuàng)建一系列文件,以識(shí)別和調(diào)整數(shù)據(jù)庫的安全需求。

目前,對(duì)數(shù)據(jù)庫最大的威脅是SQL注入攻擊,因此您進(jìn)行防護(hù)的關(guān)鍵是采用參數(shù)化存儲(chǔ)過程。這種方法要求使用參數(shù)和用戶定義的子程序?qū)?shù)據(jù)庫進(jìn)行操作,而不是使用那些由用戶直接給定的值創(chuàng)建命令。SQL參數(shù)不僅是類型安全(type safe)的,而且還能大幅降低SQL注入攻擊的成功率。此外,SQL參數(shù)還能作為一種控制訪問數(shù)據(jù)庫的手段。

在編寫數(shù)據(jù)庫程序的代碼時(shí),應(yīng)當(dāng)假設(shè)所有傳遞給它們的數(shù)據(jù)都來自于未受信任的來源。這意味著,所有的數(shù)據(jù)庫程序都應(yīng)驗(yàn)證那些等待處理數(shù)據(jù)的類型、長(zhǎng)度、格式和范圍。許多開發(fā)人員采用過濾已知的不安全字符的方法來凈化輸入數(shù)據(jù),但這樣做并不是很有效,因?yàn)閻阂庥脩敉ǔD苷业狡渌椒▉砝@過這種驗(yàn)證。另一種辦法是,編寫驗(yàn)證程序來檢查所有已知的安全可靠的輸入數(shù)據(jù),除此之外的任何數(shù)據(jù)都應(yīng)當(dāng)予以拒絕。數(shù)據(jù)庫應(yīng)當(dāng)記錄這些處理結(jié)果,但不要將任何系統(tǒng)信息包含在出錯(cuò)消息中返回給調(diào)用該數(shù)據(jù)庫的應(yīng)用程序或用戶,因?yàn)檫@些系統(tǒng)信息可能對(duì)攻擊者有用。

在編寫代碼時(shí),您需要對(duì)您的開發(fā)人員進(jìn)行培訓(xùn),讓他們時(shí)刻將安全性考慮在內(nèi)。這種培訓(xùn)實(shí)際上并沒有聽起來那么花錢。因?yàn)樵诨ヂ?lián)網(wǎng)上有許多出色的免費(fèi)Web應(yīng)用程序開發(fā)論壇和在線教程。這一領(lǐng)域的領(lǐng)導(dǎo)者之一是開源Web應(yīng)用程序安全計(jì)劃(Open Web Application Security Project,OWASP),其中有很多關(guān)于如何編寫更為安全的代碼的范例。即使您的開發(fā)人員可以編寫出健壯的代碼,他們?nèi)皂氂脛?dòng)態(tài)和靜態(tài)分析來檢測(cè)這些代碼在技術(shù)上和邏輯上的漏洞。

靜態(tài)分析是指在不執(zhí)行應(yīng)用程序本身的情況下審查其源代碼;而動(dòng)態(tài)分析則揭示了應(yīng)用程序在運(yùn)行時(shí)的自身行為以及它與其他程序和操作系統(tǒng)交互的情況。在此需要提醒注意的是,在測(cè)試一個(gè)新系統(tǒng)時(shí),您絕不應(yīng)當(dāng)使用真實(shí)的客戶數(shù)據(jù)。最后,在開發(fā)和部署數(shù)據(jù)庫時(shí),切勿只依賴您的開發(fā)人員來保證數(shù)據(jù)的安全,你還需要一個(gè)深度防御戰(zhàn)略來阻止可能發(fā)起攻擊的黑客。您的網(wǎng)絡(luò)管理員應(yīng)當(dāng)確保任何通過Web應(yīng)用程序訪問數(shù)據(jù)庫的賬戶都被授予了最低的訪問權(quán)限,并且在網(wǎng)絡(luò)傳輸過程中,敏感信息都是被加密的。

責(zé)任編輯:王文文 來源: TT安全
相關(guān)推薦

2011-03-24 13:09:11

數(shù)據(jù)庫代碼

2024-10-12 15:29:56

2010-07-15 17:28:50

SQL Server

2010-04-12 08:59:00

2011-08-09 17:24:21

SQL Server 數(shù)據(jù)庫日志

2011-08-22 12:01:36

SQL Server代碼優(yōu)化

2021-10-20 13:39:01

數(shù)據(jù)庫數(shù)據(jù)庫安全技術(shù)

2011-04-06 15:36:56

SQL Server數(shù)

2010-06-12 12:45:14

高效MySQL數(shù)據(jù)庫

2018-02-27 15:48:31

數(shù)據(jù)庫SQL鎖死

2011-05-25 15:10:59

SQL Server安全數(shù)據(jù)庫

2010-08-16 14:21:13

2010-06-17 10:02:12

SQL Server數(shù)

2011-08-18 16:42:04

Oracle數(shù)據(jù)庫維護(hù)SQL代碼示例

2011-08-24 12:49:56

SQL Server托管代碼

2015-01-19 10:18:53

Azure SQL數(shù)據(jù)庫審計(jì)云安全

2013-07-30 16:54:32

2010-05-14 10:39:32

MySQL數(shù)據(jù)庫

2015-03-27 13:02:17

Azure SQL D微軟云數(shù)據(jù)庫

2023-01-05 08:00:00

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)