web數(shù)據(jù)庫(kù)安全通信課件_第1頁(yè)
web數(shù)據(jù)庫(kù)安全通信課件_第2頁(yè)
web數(shù)據(jù)庫(kù)安全通信課件_第3頁(yè)
web數(shù)據(jù)庫(kù)安全通信課件_第4頁(yè)
web數(shù)據(jù)庫(kù)安全通信課件_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Web數(shù)據(jù)庫(kù)安全通信如今的Web系統(tǒng)中,數(shù)據(jù)庫(kù)扮演著越來(lái)越重要的角色,沒(méi)有數(shù)據(jù)庫(kù)的支持就無(wú)法完成巨量的數(shù)據(jù)流傳輸。這樣一來(lái)也為黑客留下了很大空間,很多黑客攻擊和數(shù)據(jù)丟失事件都是從數(shù)據(jù)庫(kù)切入的。通過(guò)我的演講可以學(xué)習(xí)到如何加固Web系統(tǒng)與數(shù)據(jù)庫(kù)之間的通道,減少黑客利用Web系統(tǒng)侵入和竊取數(shù)據(jù)的機(jī)會(huì)。Web數(shù)據(jù)庫(kù)安全通信

--組員:郭泳梅,袁帥,余濤,賈紅梅,饒頂峰

--演講人:郭泳梅

1. SQL注入攻擊1.1攻擊原理1.2攻擊方式1.3 防范方法2. 防止注入攻擊3. 安全數(shù)據(jù)庫(kù)連接3.1 數(shù)據(jù)庫(kù)身份驗(yàn)證3.2 數(shù)據(jù)庫(kù)授權(quán)3.3 數(shù)據(jù)庫(kù)安全配置3.4 數(shù)據(jù)庫(kù)加密3.5 數(shù)據(jù)庫(kù)反饋信息保護(hù)3.6 LINQ技術(shù)3.7 數(shù)據(jù)庫(kù)安全部署SQL注入SQL注入是一種攻擊方式,在這種攻擊方式中,惡意代碼被插入到字符串中,然后將該字符串傳遞到SQLServer的實(shí)例以進(jìn)行分析和執(zhí)行。任何構(gòu)成SQL語(yǔ)句的過(guò)程都應(yīng)進(jìn)行注入漏洞檢查,因?yàn)镾QLServer將執(zhí)行其接收到的所有語(yǔ)法有效的查詢。一個(gè)有經(jīng)驗(yàn)的、堅(jiān)定的攻擊者甚至可以操作參數(shù)化數(shù)據(jù)。SQL注入的主要形式包括直接將代碼插入到與SQL命令串聯(lián)在一起并使其得以執(zhí)行的用戶輸入變量。一種間接的攻擊會(huì)將惡意代碼注入要在表中存儲(chǔ)或作為元數(shù)據(jù)存儲(chǔ)的字符串。在存儲(chǔ)的字符串隨后串連到一個(gè)動(dòng)態(tài)SQL命令中時(shí),將執(zhí)行該惡意代碼。注入過(guò)程的工作方式是提前終止文本字符串,然后追加一個(gè)新的命令。由于插入的命令可能在執(zhí)行前追加其他字符串,因此攻擊者將用注釋標(biāo)記“--”來(lái)終止注入的字符串。執(zhí)行時(shí),此后的文本將被忽略

。1.2攻擊方式

從攻擊原理可以看出,SQL注入攻擊的源頭是用戶輸入到Web表單的輸入域或頁(yè)面請(qǐng)求的查詢字符串的內(nèi)容,沿著SQL命令路徑可以到達(dá)數(shù)據(jù)庫(kù)服務(wù)器。在攻擊的過(guò)程中,根據(jù)用戶操作可將攻擊方式分為無(wú)意攻擊和有意攻擊。實(shí)際上,每個(gè)Web站點(diǎn)都讀取用戶的信息,從登錄信息到查找條件,等等。當(dāng)用戶在數(shù)據(jù)庫(kù)將要處理的數(shù)據(jù)故意插入SQL代碼時(shí),就發(fā)生了SQL注入。1.3防范方法過(guò)濾或轉(zhuǎn)義危險(xiǎn)字符(“—”,”;”,”/”,”%”)使用SqlParameter類(.net框架)用正則表達(dá)式限制輸入(ASP.NET,System.Text.RegularExpressionsRegex)使用最小特權(quán)拒絕一直的攻擊簽名(drop,delete,insert,update)加密處理(System.web.Security.FormsAuthenaticationHashPasswordForStoringInConfigFile)在服務(wù)器上處理錯(cuò)誤(try…catch)2防止注入攻擊SqlDataAdapermyCommand=newSqlDataAdapter(“LoginStoredProcedure’”+Login.Text+”’”,conn);在存儲(chǔ)過(guò)程中使用參數(shù)對(duì)象,來(lái)篩選輸入,從而減少SQL注入攻擊。正確代碼片段:SqlDataAdaptermyCommand=newSqlDataAdapter(“SELECTau_lname,au_fnameFROMAuthorsWHEREau_id=@au_id”,conn);SqlParameterparm=myCommand.SelectCommand.Parameters.Add(“@au_id”,SqlDbType.VarChar,11);Parm.Value=Login.Text;3安全數(shù)據(jù)庫(kù)連接如果已經(jīng)安裝了SQLSever或者SSE(StreamingSIMDExtensions),就能通過(guò)Hkey_Local_Machine/Software/Microsoft/MicrosoftSQLServer并搜索LoginMode.值為1的注冊(cè)子健表示W(wǎng)indowsAuthentication,而值為2表示MixedAuthenticalon模式。3.2數(shù)據(jù)庫(kù)授權(quán)確保只有是Manager角色成員的用戶,才可調(diào)用DisplayCustomerInfo方法來(lái)顯示客戶信息。[PrincipalPermissionAttribute(SecurityAction.Demand,Role=“Manager”)]//安全限制屬性PublicvoidDisplayCustomerInfo(intCustId){}運(yùn)用顯示地方式,實(shí)現(xiàn)角色檢查以確保調(diào)用方屬于Manager角色成員。PublicvoidDisplayCustomerInfo(intCustId){If(!Thread.CurrentPrincipal.IsInRole(“Manager”){…}}3.3數(shù)據(jù)庫(kù)安全配置加密的連接字符串可以放在注冊(cè)表中,也可以存儲(chǔ)在Web.config或Machine.config文件中。如果服務(wù)器使用HKEY_LOCAL_MACHINE下的注冊(cè)表項(xiàng),可以對(duì)該表項(xiàng)應(yīng)用ACL,代碼如下:Administrators:FullControlProcessAccount:Read雖然開(kāi)發(fā)人員可以使用受限的注冊(cè)表項(xiàng)提高安全性,但還是需要將加密的字符串存儲(chǔ)在Web.config文件中以便更容易地進(jìn)行部署。在這種情況下,可以使用自定義的配置節(jié)<appSetting>,代碼如下:<?xmlversion=“1.0”encoding=“utf-8”?><configuration><appSettings><addkey=“connectionString”value=“AQA..bIE=“/></appSettings><system.web>…</system.web></configuration>3.4數(shù)據(jù)庫(kù)加密利用數(shù)據(jù)庫(kù)的巧妙表結(jié)構(gòu)設(shè)計(jì)保存高安全度的數(shù)據(jù),也就是通常所說(shuō)的鹽度加密技術(shù)。利用鹽度加密算法設(shè)計(jì)用戶密碼驗(yàn)證功能,它需要數(shù)據(jù)庫(kù)的配合。所以在操作前需要任意創(chuàng)建一個(gè)空表,包括用戶名、密碼、密文、鹽度4個(gè)字段。3.5數(shù)據(jù)庫(kù)反饋信息保護(hù)數(shù)據(jù)庫(kù)和Web技術(shù)配合使用過(guò)程中,時(shí)常會(huì)出現(xiàn)各種操作執(zhí)行錯(cuò)誤。當(dāng)出現(xiàn)類似錯(cuò)誤后,數(shù)據(jù)庫(kù)會(huì)反饋一些錯(cuò)誤包給應(yīng)用程序。這些錯(cuò)誤包往往被開(kāi)發(fā)人員忽視,為了調(diào)試方便就直接輸出或者記錄在系統(tǒng)。這樣做是極其不安全的,因?yàn)楹芏噱e(cuò)誤包包含數(shù)據(jù)的敏感信息,諸如數(shù)據(jù)庫(kù)名稱、數(shù)據(jù)表、用戶名等。SQLServer.NETSqlExceptionsOLEDB.NETOleDbExceptionsODBC.NETOdbcExceptions3.6LINQ技術(shù)LINQ增加了用任何類型的數(shù)據(jù)存儲(chǔ)進(jìn)行查詢和更新數(shù)據(jù)的標(biāo)準(zhǔn)模式,無(wú)論是SQL數(shù)據(jù)庫(kù)還是XML文檔,亦或是

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論