(數(shù)據(jù)庫原理課件)Chapter12-Security_第1頁
(數(shù)據(jù)庫原理課件)Chapter12-Security_第2頁
(數(shù)據(jù)庫原理課件)Chapter12-Security_第3頁
(數(shù)據(jù)庫原理課件)Chapter12-Security_第4頁
(數(shù)據(jù)庫原理課件)Chapter12-Security_第5頁
已閱讀5頁,還剩155頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

引言數(shù)據(jù)庫的特點之一是DBMS提供統(tǒng)一的數(shù)據(jù)保護功能來保證數(shù)據(jù)的安全可靠和正確有效。數(shù)據(jù)的安全性保護數(shù)據(jù)庫防止惡意的破壞和非法的存取防范對象:非法用戶和非法操作數(shù)據(jù)的完整性防止數(shù)據(jù)庫中存在不符合語義的數(shù)據(jù),即防止數(shù)據(jù)庫中存在不正確的數(shù)據(jù)防范對象:不合語義的、不正確的數(shù)據(jù)實體完整性參照完整性用戶自定義的完整性引言數(shù)據(jù)庫的特點之一是DBMS提供統(tǒng)一的數(shù)據(jù)保護功能來保證可信計算機系統(tǒng)評測標(biāo)準(zhǔn)1985年美國國防部(DoD)正式頒布《DoD可信計算機系統(tǒng)評估標(biāo)準(zhǔn)》(TrustedComputerSystemEvaluationCriteria,簡稱TCSEC或DoD85,又稱橘皮書)該標(biāo)準(zhǔn)擴展到數(shù)據(jù)庫管理系統(tǒng),稱為TrustedDatabaseInterpretation,簡稱TDI,又稱紫皮書TCSEC(TDI)將系統(tǒng)的安全級別劃分為4組7個級別。可信計算機系統(tǒng)評測標(biāo)準(zhǔn)1985年美國國防部(DoD)正式頒可信計算機系統(tǒng)評測標(biāo)準(zhǔn)安全級別定義A1驗證設(shè)計(VerifiedDesign)B3安全域(SecurityDomains)B2結(jié)構(gòu)化保護(StructuralProtection)B1標(biāo)記安全保護(LabeledSecurityProtection)C2受控的存取保護(ControlledAccessProtection)C1自主安全保護(DiscretionarySecurityProtection)D最小保護(MinimalProtection)可信計算機系統(tǒng)評測標(biāo)準(zhǔn)安全級別定第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.2視圖機制12.3審計(Audit)12.4數(shù)據(jù)加密12.5統(tǒng)計數(shù)據(jù)庫安全性第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.1數(shù)據(jù)庫安全性控制概述非法使用數(shù)據(jù)庫的情況編寫合法程序繞過DBMS及其授權(quán)機制直接或編寫應(yīng)用程序執(zhí)行非授權(quán)操作通過多次合法查詢數(shù)據(jù)庫從中推導(dǎo)出一些保密數(shù)據(jù)12.1數(shù)據(jù)庫安全性控制概述非法使用數(shù)據(jù)庫的情況數(shù)據(jù)庫安全性控制概述(續(xù))計算機系統(tǒng)中,安全措施是一級一級層層設(shè)置

計算機系統(tǒng)的安全模型

應(yīng)用DBMSOS

DB低高安全性控制層次方法:

用戶標(biāo)識和鑒定

存取控制審計視圖

操作系統(tǒng)安全保護

加密存儲數(shù)據(jù)庫安全性控制概述(續(xù))計算機系統(tǒng)中,安全措施是一級一級層數(shù)據(jù)庫安全性控制概述(續(xù))數(shù)據(jù)庫安全性控制的常用方法用戶標(biāo)識和鑒定存取控制視圖審計密碼存儲數(shù)據(jù)庫安全性控制概述(續(xù))數(shù)據(jù)庫安全性控制的常用方法12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別存取控制自主存取控制方法授權(quán)與回收數(shù)據(jù)庫角色強制存取控制方法12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別(1)用戶標(biāo)識與鑒別用戶標(biāo)識與鑒別(Identification&Authentication)系統(tǒng)提供的最外層安全保護措施(1)用戶標(biāo)識與鑒別用戶標(biāo)識與鑒別用戶標(biāo)識與鑒別(續(xù))用戶標(biāo)識口令系統(tǒng)核對口令以鑒別用戶身份用戶名和口令易被竊取每個用戶預(yù)先約定好一個計算過程或者函數(shù)用戶標(biāo)識與鑒別(續(xù))用戶標(biāo)識12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別存取控制自主存取控制方法授權(quán)與回收數(shù)據(jù)庫角色強制存取控制方法12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別(2)存取控制存取控制機制組成定義用戶權(quán)限合法權(quán)限檢查用戶權(quán)限定義和合法權(quán)檢查機制一起組成了DBMS的安全子系統(tǒng)(2)存取控制存取控制機制組成存取控制(續(xù))常用存取控制方法自主存取控制(DiscretionaryAccessControl,簡稱DAC)用戶對于不同的數(shù)據(jù)對象有不同的存取權(quán)限,不同的用戶對同一對象也有不同的權(quán)限,且用戶可以將自己的權(quán)限轉(zhuǎn)授他人C2級,靈活強制存取控制(MandatoryAccessControl,簡稱MAC)每個數(shù)據(jù)對象標(biāo)記一定的密級,每個用戶授予某一級別的許可證,對每一個對象控制存取B1級,嚴(yán)格存取控制(續(xù))常用存取控制方法12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別存取控制自主存取控制方法授權(quán)與回收數(shù)據(jù)庫角色強制存取控制方法12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別(3)自主存取控制方法通過SQL的GRANT語句和REVOKE語句實現(xiàn)用戶權(quán)限組成數(shù)據(jù)對象操作類型定義用戶存取權(quán)限:定義用戶可以在哪些數(shù)據(jù)庫對象上進行哪些類型的操作定義存取權(quán)限稱為授權(quán)

(3)自主存取控制方法通過SQL的GRANT語句自主存取控制方法(續(xù))關(guān)系數(shù)據(jù)庫系統(tǒng)中存取控制對象關(guān)系數(shù)據(jù)庫系統(tǒng)中的存取權(quán)限

自主存取控制方法(續(xù))關(guān)系數(shù)據(jù)庫系統(tǒng)中存取控制對象關(guān)系數(shù)據(jù)12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別存取控制自主存取控制方法授權(quán)與回收數(shù)據(jù)庫角色強制存取控制方法12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別1.1.4授權(quán)與回收一、GRANTGRANT語句的一般格式:

GRANT<權(quán)限>[,<權(quán)限>]...[ON<對象類型><對象名>]

TO<用戶>[,<用戶>]...[WITHGRANTOPTION];語義:將對指定操作對象的指定操作權(quán)限授予指定的用戶

1.1.4授權(quán)與回收一、GRANTGRANT(續(xù))發(fā)出GRANT:DBA數(shù)據(jù)庫對象創(chuàng)建者(即屬主Owner)擁有該權(quán)限的用戶接受權(quán)限的用戶

一個或多個具體用戶PUBLIC(全體用戶)GRANT(續(xù))發(fā)出GRANT:WITHGRANTOPTION子句WITHGRANTOPTION子句:指定:可以再授予沒有指定:不能傳播不允許循環(huán)授權(quán)WITHGRANTOPTION子句WITHGRANT例題[例1]把查詢Student表權(quán)限授給用戶U1GRANTSELECTONTABLEStudentTOU1;例題[例1]把查詢Student表權(quán)限授給用戶U1例題(續(xù))[例2]把對Student表和Course表的全部權(quán)限授予用戶U2和U3GRANTALLPRIVILEGES

ONTABLEStudent,CourseTOU2,U3;例題(續(xù))[例2]把對Student表和Course表的全授權(quán)與回收(續(xù))二、REVOKE授予的權(quán)限可以由DBA或其他授權(quán)者用REVOKE語句收回REVOKE語句的一般格式為:

REVOKE<權(quán)限>[,<權(quán)限>]...[ON<對象類型><對象名>]

FROM<用戶>[,<用戶>]...;授權(quán)與回收(續(xù))二、REVOKEREVOKE(續(xù))[例8]把用戶U4修改學(xué)生學(xué)號的權(quán)限收回

REVOKEUPDATE(Sno) ONTABLEStudent FROMU4;REVOKE(續(xù))[例8]把用戶U4修改學(xué)生學(xué)號的權(quán)限收回REVOKE(續(xù))[例9]收回所有用戶對表SC的查詢權(quán)限

REVOKESELECT ONTABLESC FROMPUBLIC;

REVOKE(續(xù))[例9]收回所有用戶對表SC的查詢權(quán)限12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別存取控制自主存取控制方法授權(quán)與回收數(shù)據(jù)庫角色強制存取控制方法12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別(5)數(shù)據(jù)庫角色數(shù)據(jù)庫角色:被命名的一組與數(shù)據(jù)庫操作相關(guān)的權(quán)限角色是權(quán)限的集合可以為一組具有相同權(quán)限的用戶創(chuàng)建一個角色簡化授權(quán)的過程(5)數(shù)據(jù)庫角色數(shù)據(jù)庫角色:被命名的一組與數(shù)據(jù)庫操作相關(guān)的數(shù)據(jù)庫角色一、角色的創(chuàng)建CREATEROLE<角色名>二、給角色授權(quán)

GRANT<權(quán)限>[,<權(quán)限>]…ON<對象類型>對象名TO<角色>[,<角色>]…數(shù)據(jù)庫角色一、角色的創(chuàng)建數(shù)據(jù)庫角色三、將一個角色授予其他的角色或用戶GRANT<角色1>[,<角色2>]…TO<角色3>[,<用戶1>]…[WITHADMINOPTION]四、角色權(quán)限的收回REVOKE<權(quán)限>[,<權(quán)限>]…ON<對象類型><對象名>FROM<角色>[,<角色>]…數(shù)據(jù)庫角色三、將一個角色授予其他的角色或用戶數(shù)據(jù)庫角色(續(xù))[例11]通過角色來實現(xiàn)將一組權(quán)限授予一個用戶。步驟如下:1.首先創(chuàng)建一個角色R1CREATEROLER1;2.然后使用GRANT語句,使角色R1擁有Student表的SELECT、UPDATE、INSERT權(quán)限GRANTSELECT,UPDATE,INSERTONTABLEStudentTOR1;數(shù)據(jù)庫角色(續(xù))[例11]通過角色來實現(xiàn)將一組權(quán)限授予一個12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別存取控制自主存取控制方法授權(quán)與回收數(shù)據(jù)庫角色強制存取控制方法12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別自主存取控制缺點可能存在數(shù)據(jù)的“無意泄露”原因:這種機制僅僅通過對數(shù)據(jù)的存取權(quán)限來進行安全控制,而數(shù)據(jù)本身并無安全性標(biāo)記解決:對系統(tǒng)控制下的所有主客體實施強制存取控制策略

自主存取控制缺點可能存在數(shù)據(jù)的“無意泄露”(6)強制存取控制方法強制存取控制(MAC)保證更高程度的安全性用戶不能直接感知或進行控制適用于對數(shù)據(jù)有嚴(yán)格而固定密級分類的部門軍事部門政府部門(6)強制存取控制方法強制存取控制(MAC)強制存取控制方法(續(xù))在MAC中,DBMS所管理的全部實體被分為兩類:主體是系統(tǒng)中的活動實體DBMS所管理的實際用戶代表用戶的各進程客體是系統(tǒng)中的被動實體,是受主體操縱的文件基表索引視圖強制存取控制方法(續(xù))在MAC中,DBMS所管理的全部實體被強制存取控制方法(續(xù))DBMS為每個主體和客體指派一個敏感度標(biāo)記敏感度標(biāo)記(Label)絕密(TopSecret)機密(Secret)可信(Confidential)公開(Public)主體的敏感度標(biāo)記稱為許可證級別(ClearanceLevel)客體的敏感度標(biāo)記稱為密級(ClassificationLevel)強制存取控制方法(續(xù))DBMS為每個主體和客體指派一個敏感度強制存取控制方法(續(xù))強制存取控制規(guī)則(1)僅當(dāng)主體的許可證級別大于或等于客體的密級時,該主體才能讀取相應(yīng)的客體(2)僅當(dāng)主體的許可證級別等于客體的密級時,該主體才能寫相應(yīng)的客體強制存取控制方法(續(xù))強制存取控制規(guī)則主體客體絕密絕密機密機密可信可信公開公開主體客體MAC與DACDAC與MAC共同構(gòu)成DBMS的安全機制實現(xiàn)MAC時要首先實現(xiàn)DAC原因:較高安全性級別提供的安全保護要包含較低級別的所有保護MAC與DACDAC與MAC共同構(gòu)成DBMS的安全機制強制存取控制方法(續(xù))DAC+MAC安全檢查示意圖

SQL語法分析&語義檢查

DAC檢查安全檢查MAC檢查

繼續(xù)先進行DAC檢查,通過DAC檢查的數(shù)據(jù)對象再由系統(tǒng)進行MAC檢查,只有通過MAC檢查的數(shù)據(jù)對象方可存取。強制存取控制方法(續(xù))DAC+MAC安全檢查示意圖先進行第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.2視圖機制12.3審計(Audit)12.4數(shù)據(jù)加密12.5統(tǒng)計數(shù)據(jù)庫安全性第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.2視圖機制視圖的作用1.視圖能夠簡化用戶的操作2.視圖使用戶能以多種角度看待同一數(shù)據(jù)3.視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨立性4.視圖能夠?qū)C密數(shù)據(jù)提供安全保護5.適當(dāng)?shù)睦靡晥D可以更清晰的表達查詢12.2視圖機制視圖的作用視圖機制(續(xù))把要保密的數(shù)據(jù)對無權(quán)存取這些數(shù)據(jù)的用戶隱藏起來,對數(shù)據(jù)提供一定程度的安全保護

主要功能是提供數(shù)據(jù)獨立性,無法完全滿足要求間接實現(xiàn)了支持存取謂詞的用戶權(quán)限定義例:對student表,王明:SelectON‘CS’張平:AllPRIVILLAGESON‘CS’視圖機制(續(xù))把要保密的數(shù)據(jù)對無權(quán)存取這些數(shù)據(jù)的用戶隱藏起來視圖機制(續(xù))[例14]建立計算機系學(xué)生的視圖,把對該視圖的SELECT權(quán)限授于王平,把該視圖上的所有操作權(quán)限授于張明先建立計算機系學(xué)生的視圖CS_Student

CREATEVIEWCS_StudentASSELECT*FROMStudentWHERESdept='CS';視圖機制(續(xù))[例14]建立計算機系學(xué)生的視圖,把對該視圖的視圖機制(續(xù))在視圖上進一步定義存取權(quán)限GRANTSELECTONVIEWCS_StudentTO王平;

GRANTALLPRIVILIGESONVIEWCS_StudentTO張明;視圖機制(續(xù))在視圖上進一步定義存取權(quán)限第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.2視圖機制12.3審計(Audit)12.4數(shù)據(jù)加密12.5統(tǒng)計數(shù)據(jù)庫安全性第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.3審計什么是審計審計日志(AuditLog)將用戶對數(shù)據(jù)庫的所有操作記錄在上面DBA利用審計日志找出非法存取數(shù)據(jù)的人、時間和內(nèi)容C2以上安全級別的DBMS必須具有審計功能12.3審計什么是審計審計(續(xù))審計分為用戶級審計針對自己創(chuàng)建的數(shù)據(jù)庫表或視圖進行審計記錄所有用戶對這些表或視圖的一切成功和(或)不成功的訪問要求以及各種類型的SQL操作系統(tǒng)級審計DBA設(shè)置監(jiān)測成功或失敗的登錄要求監(jiān)測GRANT和REVOKE操作以及其他數(shù)據(jù)庫級權(quán)限下的操作審計(續(xù))審計分為審計(續(xù))AUDIT語句:設(shè)置審計功能NOAUDIT語句:取消審計功能審計(續(xù))AUDIT語句:設(shè)置審計功能審計(續(xù))[例15]對修改SC表結(jié)構(gòu)或修改SC表數(shù)據(jù)的操作進行審計AUDITALTER,UPDATEONSC;[例16]取消對SC表的一切審計NOAUDITALTER,UPDATEONSC;審計(續(xù))[例15]對修改SC表結(jié)構(gòu)或修改SC表數(shù)據(jù)的操作進第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.2視圖機制12.3審計(Audit)12.4數(shù)據(jù)加密12.5統(tǒng)計數(shù)據(jù)庫安全性第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.4數(shù)據(jù)加密數(shù)據(jù)加密防止數(shù)據(jù)庫中數(shù)據(jù)在存儲和傳輸中失密的有效手段加密的基本思想根據(jù)一定的算法將原始數(shù)據(jù)變換為不可直接識別的格式,從而使得不知道解密算法的人無法獲知數(shù)據(jù)的內(nèi)容加密方法替換方法置換方法混合方法DBMS中的數(shù)據(jù)加密12.4數(shù)據(jù)加密數(shù)據(jù)加密第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.2視圖機制12.3審計(Audit)12.4數(shù)據(jù)加密12.5統(tǒng)計數(shù)據(jù)庫安全性第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制非法使用數(shù)據(jù)庫的情況編寫合法程序繞過DBMS及其授權(quán)機制直接或編寫應(yīng)用程序執(zhí)行非授權(quán)操作通過多次合法查詢數(shù)據(jù)庫從中推導(dǎo)出一些保密數(shù)據(jù)非法使用數(shù)據(jù)庫的情況12.5統(tǒng)計數(shù)據(jù)庫安全性統(tǒng)計數(shù)據(jù)庫允許用戶查詢聚集類型的信息(如合計、平均值等)不允許查詢單個記錄信息統(tǒng)計數(shù)據(jù)庫中特殊的安全性問題隱蔽的信息通道能從合法的查詢中推導(dǎo)出不合法的信息12.5統(tǒng)計數(shù)據(jù)庫安全性統(tǒng)計數(shù)據(jù)庫統(tǒng)計數(shù)據(jù)庫安全性(續(xù))例1:下面兩個查詢都是合法的:1.本公司共有多少女高級程序員?2.本公司女高級程序員的工資總額是多少?如果第一個查詢的結(jié)果是“1”,那么第二個查詢的結(jié)果顯然就是這個程序員的工資數(shù)。規(guī)則1:任何查詢至少要涉及N(N足夠大)個以上的記錄統(tǒng)計數(shù)據(jù)庫安全性(續(xù))例1:下面兩個查詢都是合法的:統(tǒng)計數(shù)據(jù)庫安全性(續(xù))例2:用戶A發(fā)出下面兩個合法查詢:1.用戶A和其他N個程序員的工資總額是多少?2.用戶B和其他N個程序員的工資總額是多少?若第一個查詢的結(jié)果是X,第二個查詢的結(jié)果是Y,由于用戶A知道自己的工資是Z,那么他可以計算出用戶B的工資=Y-(X-Z)。原因:兩個查詢之間有很多重復(fù)的數(shù)據(jù)項規(guī)則2:任意兩個查詢的相交數(shù)據(jù)項不能超過M個

統(tǒng)計數(shù)據(jù)庫安全性(續(xù))例2:用戶A發(fā)出下面兩個合法查詢:統(tǒng)計數(shù)據(jù)庫安全性(續(xù))

可以證明,在上述兩條規(guī)定下,如果想獲知用戶B的工資額A至少需要進行1+(N-2)/M次查詢規(guī)則3:任一用戶的查詢次數(shù)不能超過1+(N-2)/M

如果兩個用戶合作查詢就可以使這一規(guī)定失效數(shù)據(jù)庫安全機制的設(shè)計目標(biāo):

試圖破壞安全的人所花費的代價>>得到的利益統(tǒng)計數(shù)據(jù)庫安全性(續(xù))可以證明,在上述兩條規(guī)定下,如統(tǒng)計數(shù)據(jù)庫安全性(續(xù))

可以證明,在上述兩條規(guī)定下,如果想獲知用戶B的工資額A至少需要進行1+(N-2)/M次查詢規(guī)則3:任一用戶的查詢次數(shù)不能超過1+(N-2)/M

如果兩個用戶合作查詢就可以使這一規(guī)定失效數(shù)據(jù)庫安全機制的設(shè)計目標(biāo):

試圖破壞安全的人所花費的代價>>得到的利益統(tǒng)計數(shù)據(jù)庫安全性(續(xù))可以證明,在上述兩條規(guī)定下,如web應(yīng)用安全威脅web應(yīng)用安全威脅59神話:“我們的網(wǎng)站是安全的”“我們使用了網(wǎng)絡(luò)掃描工具”網(wǎng)絡(luò)掃描工具不懂應(yīng)用,不能徹底提高web應(yīng)用安全性“我們已經(jīng)使用了防火墻”為了保證正常訪問,80和443端口始終要開放“我們使用了SSL加密數(shù)據(jù)”僅僅保護了交互數(shù)據(jù),并沒有保護web應(yīng)用本身“我們每個季度都進行滲透測試”應(yīng)用在不斷的變更之中神話:“我們的網(wǎng)站是安全的”“我們使用了網(wǎng)絡(luò)掃描工具”60web應(yīng)用安全在哪?(WASC)web應(yīng)用安全在哪?(WASC)61OWASPtop10十大安全威脅跨站腳本攻擊(XSS)注入缺陷SQL注入,XPATH注入…惡意文件執(zhí)行(遠(yuǎn)程文件包含)不安全的直接對象引用(Parametertampering)跨站請求偽造(CSRF)信息泄露和錯誤處理不當(dāng)身份驗證和會話管理缺陷不安全的加密存儲通信安全驗證繞過OWASPtop10十大安全威脅跨站腳本攻擊(XSS)62(數(shù)據(jù)庫原理課件)Chapter12-Security63(數(shù)據(jù)庫原理課件)Chapter12-Security64跨站腳本攻擊“XSSflawsoccurwheneveranapplicationtakesusersupplieddataandsendsittoawebbrowserwithoutfirstvalidatingorencodingthatcontent.XSSallowsattackerstoexecutescriptinthevictim'sbrowserwhichcanhijackusersessions,defacewebsites,possiblyintroduceworms,etc.”Web應(yīng)用把用戶輸入的未經(jīng)過濾或編碼的數(shù)據(jù)直接發(fā)送給瀏覽器。XSS會導(dǎo)致攻擊者在受害者的瀏覽器中執(zhí)行腳本程序,這些腳本程序可以劫持用戶的會話、修改網(wǎng)頁甚至傳播蠕蟲。JavaScript,VBScript,ActiveX,HTML,orFlash都可以注入到存在漏洞的web應(yīng)用網(wǎng)頁掛馬釣魚攻擊跨站腳本攻擊“XSSflawsoccurwheneve65XSS攻擊XSS攻擊66XSS攻擊XSS攻擊67XSS的危害從你下在瀏覽的域中偷到你的信息完全修改你看到的頁面內(nèi)容從現(xiàn)在開始,跟蹤你在瀏覽器中的每一個動作把你重定向到一個惡意站點利用瀏覽器的漏洞控制你的機器XSS的危害從你下在瀏覽的域中偷到你的信息68阻止XSS攻擊顯示用戶輸入的數(shù)據(jù)時進行轉(zhuǎn)義轉(zhuǎn)義成無害的html字符<script>變成<script>仍然會顯示成<script>過濾程序的正確編寫過濾基于所有允許的字符,而不是基于“惡意”字符如:只接收A,B,Cor1,2,3新出現(xiàn)的編碼方案可以繞過基于“惡意”字符的過濾程序XSScheatsheet:/xss.html阻止XSS攻擊顯示用戶輸入的數(shù)據(jù)時進行轉(zhuǎn)義69什么是SQL注入TheabilitytoinjectSQLcommandsintothedatabaseengine

throughanexistingapplication什么是SQL注入70產(chǎn)生的原因網(wǎng)絡(luò)應(yīng)用接受用戶的輸入提高交互性用戶登錄查詢輸入的數(shù)據(jù)未經(jīng)過濾用戶登錄:$sql=“Select*FromusersWhereusername=‘”.$account.“’AND”.“passwd=‘“.$passwd.“’”;$Account=foo,$passwd=bar$sql=“Select*FromUsersWhereusername=‘foo’ANDpasswd=‘bar’”;產(chǎn)生的原因網(wǎng)絡(luò)應(yīng)用接受用戶的輸入提高交互性71Howitworks?$sql=“Select*FromusersWhere”. “username=‘”.$account.“’AND”. “passwd=‘“.$passwd.“’”;$account=foo,$passwd=bar’OR‘1’=‘1$sql=“Select*FromusersWhereusername=‘foo’ANDpasswd=‘bar’OR‘1’=‘1’”;

Howitworks?$sql=“Select*72Howitworks?$sql=“Select*FromusersWhere”. “username=‘”.$account.“’AND”. “passwd=‘“.$passwd.“’”;$account=foo’OR1=1#,$passwd=blah$sql=“Select*FromusersWhereusername=‘foo’OR1=1 #

ANDpasswd=‘blah’”;Howitworks?$sql=“Select*73一個更惡意的SQL注入$sql=“SelectprodinfoFromprodtableWhere prodname=‘”.$prodname.“’…”;提交如下的數(shù)據(jù):blah’;DROPTABLEprodinfo;#$sql=“SelectprodinfoFromprodtableWhereprodname=‘blah’;DROPTABLEprodinfo;#’”語句1:SelectprodinfoFromprodtableWhereprodname=‘blah’;語句2:DROPTABLEprodtable;#’一個更惡意的SQL注入$sql=“Selectprodin74!!!prodtable表被刪除!!!!!!prodtable表被刪除!!!75更嚴(yán)重的后果創(chuàng)建windows賬號SELECT*FROMusersWHERElogin=‘’;execmaster..xp_cmdshell'netusersusernamepassword/add';--’andpassword=’’添加到administrator組:

SELECT*FROMusersWHERElogin=‘';execmaster..xp_cmdshell'netlocalgroupAdministratorsusername/add';--’andpassword=‘’

SQLInjectionexamplesareoutlinedin:/papers/SQLInjectionWhitePaper.pdf

/techtips/sql-injection.html更嚴(yán)重的后果創(chuàng)建windows賬號76整型SQL注入$sql=“Select*fromclientsWhere”. “account=$accAND”.

“pin=$pin”;$acc=1or1=1#$pin=1111Select*FromclientsWhereaccount=1OR1=1#

ANDpin=1111整型SQL注入$sql=“Select*fromcli77SQL注入字符‘or“字符串表示符--or# 單行注釋/*…*/多行注釋+加,字符串連接運算符%通配符SQL注入字符‘or“字符串表示符78SQL注入的后果最好的結(jié)果泄露一些重要信息數(shù)據(jù)庫信息表信息列信息數(shù)據(jù)導(dǎo)出導(dǎo)出庫中的數(shù)據(jù)控制主機控制運行數(shù)據(jù)庫的主機SQL注入的后果最好的結(jié)果79SQL注入的防范方法參數(shù)過濾‘,”,select,drop,update…類型檢查數(shù)據(jù)庫設(shè)置合理的權(quán)限,最小權(quán)限原則OR映射SQL注入的防范方法參數(shù)過濾80

引言數(shù)據(jù)庫的特點之一是DBMS提供統(tǒng)一的數(shù)據(jù)保護功能來保證數(shù)據(jù)的安全可靠和正確有效。數(shù)據(jù)的安全性保護數(shù)據(jù)庫防止惡意的破壞和非法的存取防范對象:非法用戶和非法操作數(shù)據(jù)的完整性防止數(shù)據(jù)庫中存在不符合語義的數(shù)據(jù),即防止數(shù)據(jù)庫中存在不正確的數(shù)據(jù)防范對象:不合語義的、不正確的數(shù)據(jù)實體完整性參照完整性用戶自定義的完整性引言數(shù)據(jù)庫的特點之一是DBMS提供統(tǒng)一的數(shù)據(jù)保護功能來保證可信計算機系統(tǒng)評測標(biāo)準(zhǔn)1985年美國國防部(DoD)正式頒布《DoD可信計算機系統(tǒng)評估標(biāo)準(zhǔn)》(TrustedComputerSystemEvaluationCriteria,簡稱TCSEC或DoD85,又稱橘皮書)該標(biāo)準(zhǔn)擴展到數(shù)據(jù)庫管理系統(tǒng),稱為TrustedDatabaseInterpretation,簡稱TDI,又稱紫皮書TCSEC(TDI)將系統(tǒng)的安全級別劃分為4組7個級別??尚庞嬎銠C系統(tǒng)評測標(biāo)準(zhǔn)1985年美國國防部(DoD)正式頒可信計算機系統(tǒng)評測標(biāo)準(zhǔn)安全級別定義A1驗證設(shè)計(VerifiedDesign)B3安全域(SecurityDomains)B2結(jié)構(gòu)化保護(StructuralProtection)B1標(biāo)記安全保護(LabeledSecurityProtection)C2受控的存取保護(ControlledAccessProtection)C1自主安全保護(DiscretionarySecurityProtection)D最小保護(MinimalProtection)可信計算機系統(tǒng)評測標(biāo)準(zhǔn)安全級別定第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.2視圖機制12.3審計(Audit)12.4數(shù)據(jù)加密12.5統(tǒng)計數(shù)據(jù)庫安全性第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.1數(shù)據(jù)庫安全性控制概述非法使用數(shù)據(jù)庫的情況編寫合法程序繞過DBMS及其授權(quán)機制直接或編寫應(yīng)用程序執(zhí)行非授權(quán)操作通過多次合法查詢數(shù)據(jù)庫從中推導(dǎo)出一些保密數(shù)據(jù)12.1數(shù)據(jù)庫安全性控制概述非法使用數(shù)據(jù)庫的情況數(shù)據(jù)庫安全性控制概述(續(xù))計算機系統(tǒng)中,安全措施是一級一級層層設(shè)置

計算機系統(tǒng)的安全模型

應(yīng)用DBMSOS

DB低高安全性控制層次方法:

用戶標(biāo)識和鑒定

存取控制審計視圖

操作系統(tǒng)安全保護

加密存儲數(shù)據(jù)庫安全性控制概述(續(xù))計算機系統(tǒng)中,安全措施是一級一級層數(shù)據(jù)庫安全性控制概述(續(xù))數(shù)據(jù)庫安全性控制的常用方法用戶標(biāo)識和鑒定存取控制視圖審計密碼存儲數(shù)據(jù)庫安全性控制概述(續(xù))數(shù)據(jù)庫安全性控制的常用方法12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別存取控制自主存取控制方法授權(quán)與回收數(shù)據(jù)庫角色強制存取控制方法12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別(1)用戶標(biāo)識與鑒別用戶標(biāo)識與鑒別(Identification&Authentication)系統(tǒng)提供的最外層安全保護措施(1)用戶標(biāo)識與鑒別用戶標(biāo)識與鑒別用戶標(biāo)識與鑒別(續(xù))用戶標(biāo)識口令系統(tǒng)核對口令以鑒別用戶身份用戶名和口令易被竊取每個用戶預(yù)先約定好一個計算過程或者函數(shù)用戶標(biāo)識與鑒別(續(xù))用戶標(biāo)識12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別存取控制自主存取控制方法授權(quán)與回收數(shù)據(jù)庫角色強制存取控制方法12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別(2)存取控制存取控制機制組成定義用戶權(quán)限合法權(quán)限檢查用戶權(quán)限定義和合法權(quán)檢查機制一起組成了DBMS的安全子系統(tǒng)(2)存取控制存取控制機制組成存取控制(續(xù))常用存取控制方法自主存取控制(DiscretionaryAccessControl,簡稱DAC)用戶對于不同的數(shù)據(jù)對象有不同的存取權(quán)限,不同的用戶對同一對象也有不同的權(quán)限,且用戶可以將自己的權(quán)限轉(zhuǎn)授他人C2級,靈活強制存取控制(MandatoryAccessControl,簡稱MAC)每個數(shù)據(jù)對象標(biāo)記一定的密級,每個用戶授予某一級別的許可證,對每一個對象控制存取B1級,嚴(yán)格存取控制(續(xù))常用存取控制方法12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別存取控制自主存取控制方法授權(quán)與回收數(shù)據(jù)庫角色強制存取控制方法12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別(3)自主存取控制方法通過SQL的GRANT語句和REVOKE語句實現(xiàn)用戶權(quán)限組成數(shù)據(jù)對象操作類型定義用戶存取權(quán)限:定義用戶可以在哪些數(shù)據(jù)庫對象上進行哪些類型的操作定義存取權(quán)限稱為授權(quán)

(3)自主存取控制方法通過SQL的GRANT語句自主存取控制方法(續(xù))關(guān)系數(shù)據(jù)庫系統(tǒng)中存取控制對象關(guān)系數(shù)據(jù)庫系統(tǒng)中的存取權(quán)限

自主存取控制方法(續(xù))關(guān)系數(shù)據(jù)庫系統(tǒng)中存取控制對象關(guān)系數(shù)據(jù)12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別存取控制自主存取控制方法授權(quán)與回收數(shù)據(jù)庫角色強制存取控制方法12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別1.1.4授權(quán)與回收一、GRANTGRANT語句的一般格式:

GRANT<權(quán)限>[,<權(quán)限>]...[ON<對象類型><對象名>]

TO<用戶>[,<用戶>]...[WITHGRANTOPTION];語義:將對指定操作對象的指定操作權(quán)限授予指定的用戶

1.1.4授權(quán)與回收一、GRANTGRANT(續(xù))發(fā)出GRANT:DBA數(shù)據(jù)庫對象創(chuàng)建者(即屬主Owner)擁有該權(quán)限的用戶接受權(quán)限的用戶

一個或多個具體用戶PUBLIC(全體用戶)GRANT(續(xù))發(fā)出GRANT:WITHGRANTOPTION子句WITHGRANTOPTION子句:指定:可以再授予沒有指定:不能傳播不允許循環(huán)授權(quán)WITHGRANTOPTION子句WITHGRANT例題[例1]把查詢Student表權(quán)限授給用戶U1GRANTSELECTONTABLEStudentTOU1;例題[例1]把查詢Student表權(quán)限授給用戶U1例題(續(xù))[例2]把對Student表和Course表的全部權(quán)限授予用戶U2和U3GRANTALLPRIVILEGES

ONTABLEStudent,CourseTOU2,U3;例題(續(xù))[例2]把對Student表和Course表的全授權(quán)與回收(續(xù))二、REVOKE授予的權(quán)限可以由DBA或其他授權(quán)者用REVOKE語句收回REVOKE語句的一般格式為:

REVOKE<權(quán)限>[,<權(quán)限>]...[ON<對象類型><對象名>]

FROM<用戶>[,<用戶>]...;授權(quán)與回收(續(xù))二、REVOKEREVOKE(續(xù))[例8]把用戶U4修改學(xué)生學(xué)號的權(quán)限收回

REVOKEUPDATE(Sno) ONTABLEStudent FROMU4;REVOKE(續(xù))[例8]把用戶U4修改學(xué)生學(xué)號的權(quán)限收回REVOKE(續(xù))[例9]收回所有用戶對表SC的查詢權(quán)限

REVOKESELECT ONTABLESC FROMPUBLIC;

REVOKE(續(xù))[例9]收回所有用戶對表SC的查詢權(quán)限12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別存取控制自主存取控制方法授權(quán)與回收數(shù)據(jù)庫角色強制存取控制方法12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別(5)數(shù)據(jù)庫角色數(shù)據(jù)庫角色:被命名的一組與數(shù)據(jù)庫操作相關(guān)的權(quán)限角色是權(quán)限的集合可以為一組具有相同權(quán)限的用戶創(chuàng)建一個角色簡化授權(quán)的過程(5)數(shù)據(jù)庫角色數(shù)據(jù)庫角色:被命名的一組與數(shù)據(jù)庫操作相關(guān)的數(shù)據(jù)庫角色一、角色的創(chuàng)建CREATEROLE<角色名>二、給角色授權(quán)

GRANT<權(quán)限>[,<權(quán)限>]…ON<對象類型>對象名TO<角色>[,<角色>]…數(shù)據(jù)庫角色一、角色的創(chuàng)建數(shù)據(jù)庫角色三、將一個角色授予其他的角色或用戶GRANT<角色1>[,<角色2>]…TO<角色3>[,<用戶1>]…[WITHADMINOPTION]四、角色權(quán)限的收回REVOKE<權(quán)限>[,<權(quán)限>]…ON<對象類型><對象名>FROM<角色>[,<角色>]…數(shù)據(jù)庫角色三、將一個角色授予其他的角色或用戶數(shù)據(jù)庫角色(續(xù))[例11]通過角色來實現(xiàn)將一組權(quán)限授予一個用戶。步驟如下:1.首先創(chuàng)建一個角色R1CREATEROLER1;2.然后使用GRANT語句,使角色R1擁有Student表的SELECT、UPDATE、INSERT權(quán)限GRANTSELECT,UPDATE,INSERTONTABLEStudentTOR1;數(shù)據(jù)庫角色(續(xù))[例11]通過角色來實現(xiàn)將一組權(quán)限授予一個12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別存取控制自主存取控制方法授權(quán)與回收數(shù)據(jù)庫角色強制存取控制方法12.1數(shù)據(jù)庫安全性控制用戶標(biāo)識與鑒別自主存取控制缺點可能存在數(shù)據(jù)的“無意泄露”原因:這種機制僅僅通過對數(shù)據(jù)的存取權(quán)限來進行安全控制,而數(shù)據(jù)本身并無安全性標(biāo)記解決:對系統(tǒng)控制下的所有主客體實施強制存取控制策略

自主存取控制缺點可能存在數(shù)據(jù)的“無意泄露”(6)強制存取控制方法強制存取控制(MAC)保證更高程度的安全性用戶不能直接感知或進行控制適用于對數(shù)據(jù)有嚴(yán)格而固定密級分類的部門軍事部門政府部門(6)強制存取控制方法強制存取控制(MAC)強制存取控制方法(續(xù))在MAC中,DBMS所管理的全部實體被分為兩類:主體是系統(tǒng)中的活動實體DBMS所管理的實際用戶代表用戶的各進程客體是系統(tǒng)中的被動實體,是受主體操縱的文件基表索引視圖強制存取控制方法(續(xù))在MAC中,DBMS所管理的全部實體被強制存取控制方法(續(xù))DBMS為每個主體和客體指派一個敏感度標(biāo)記敏感度標(biāo)記(Label)絕密(TopSecret)機密(Secret)可信(Confidential)公開(Public)主體的敏感度標(biāo)記稱為許可證級別(ClearanceLevel)客體的敏感度標(biāo)記稱為密級(ClassificationLevel)強制存取控制方法(續(xù))DBMS為每個主體和客體指派一個敏感度強制存取控制方法(續(xù))強制存取控制規(guī)則(1)僅當(dāng)主體的許可證級別大于或等于客體的密級時,該主體才能讀取相應(yīng)的客體(2)僅當(dāng)主體的許可證級別等于客體的密級時,該主體才能寫相應(yīng)的客體強制存取控制方法(續(xù))強制存取控制規(guī)則主體客體絕密絕密機密機密可信可信公開公開主體客體MAC與DACDAC與MAC共同構(gòu)成DBMS的安全機制實現(xiàn)MAC時要首先實現(xiàn)DAC原因:較高安全性級別提供的安全保護要包含較低級別的所有保護MAC與DACDAC與MAC共同構(gòu)成DBMS的安全機制強制存取控制方法(續(xù))DAC+MAC安全檢查示意圖

SQL語法分析&語義檢查

DAC檢查安全檢查MAC檢查

繼續(xù)先進行DAC檢查,通過DAC檢查的數(shù)據(jù)對象再由系統(tǒng)進行MAC檢查,只有通過MAC檢查的數(shù)據(jù)對象方可存取。強制存取控制方法(續(xù))DAC+MAC安全檢查示意圖先進行第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.2視圖機制12.3審計(Audit)12.4數(shù)據(jù)加密12.5統(tǒng)計數(shù)據(jù)庫安全性第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.2視圖機制視圖的作用1.視圖能夠簡化用戶的操作2.視圖使用戶能以多種角度看待同一數(shù)據(jù)3.視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨立性4.視圖能夠?qū)C密數(shù)據(jù)提供安全保護5.適當(dāng)?shù)睦靡晥D可以更清晰的表達查詢12.2視圖機制視圖的作用視圖機制(續(xù))把要保密的數(shù)據(jù)對無權(quán)存取這些數(shù)據(jù)的用戶隱藏起來,對數(shù)據(jù)提供一定程度的安全保護

主要功能是提供數(shù)據(jù)獨立性,無法完全滿足要求間接實現(xiàn)了支持存取謂詞的用戶權(quán)限定義例:對student表,王明:SelectON‘CS’張平:AllPRIVILLAGESON‘CS’視圖機制(續(xù))把要保密的數(shù)據(jù)對無權(quán)存取這些數(shù)據(jù)的用戶隱藏起來視圖機制(續(xù))[例14]建立計算機系學(xué)生的視圖,把對該視圖的SELECT權(quán)限授于王平,把該視圖上的所有操作權(quán)限授于張明先建立計算機系學(xué)生的視圖CS_Student

CREATEVIEWCS_StudentASSELECT*FROMStudentWHERESdept='CS';視圖機制(續(xù))[例14]建立計算機系學(xué)生的視圖,把對該視圖的視圖機制(續(xù))在視圖上進一步定義存取權(quán)限GRANTSELECTONVIEWCS_StudentTO王平;

GRANTALLPRIVILIGESONVIEWCS_StudentTO張明;視圖機制(續(xù))在視圖上進一步定義存取權(quán)限第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.2視圖機制12.3審計(Audit)12.4數(shù)據(jù)加密12.5統(tǒng)計數(shù)據(jù)庫安全性第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.3審計什么是審計審計日志(AuditLog)將用戶對數(shù)據(jù)庫的所有操作記錄在上面DBA利用審計日志找出非法存取數(shù)據(jù)的人、時間和內(nèi)容C2以上安全級別的DBMS必須具有審計功能12.3審計什么是審計審計(續(xù))審計分為用戶級審計針對自己創(chuàng)建的數(shù)據(jù)庫表或視圖進行審計記錄所有用戶對這些表或視圖的一切成功和(或)不成功的訪問要求以及各種類型的SQL操作系統(tǒng)級審計DBA設(shè)置監(jiān)測成功或失敗的登錄要求監(jiān)測GRANT和REVOKE操作以及其他數(shù)據(jù)庫級權(quán)限下的操作審計(續(xù))審計分為審計(續(xù))AUDIT語句:設(shè)置審計功能NOAUDIT語句:取消審計功能審計(續(xù))AUDIT語句:設(shè)置審計功能審計(續(xù))[例15]對修改SC表結(jié)構(gòu)或修改SC表數(shù)據(jù)的操作進行審計AUDITALTER,UPDATEONSC;[例16]取消對SC表的一切審計NOAUDITALTER,UPDATEONSC;審計(續(xù))[例15]對修改SC表結(jié)構(gòu)或修改SC表數(shù)據(jù)的操作進第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.2視圖機制12.3審計(Audit)12.4數(shù)據(jù)加密12.5統(tǒng)計數(shù)據(jù)庫安全性第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.4數(shù)據(jù)加密數(shù)據(jù)加密防止數(shù)據(jù)庫中數(shù)據(jù)在存儲和傳輸中失密的有效手段加密的基本思想根據(jù)一定的算法將原始數(shù)據(jù)變換為不可直接識別的格式,從而使得不知道解密算法的人無法獲知數(shù)據(jù)的內(nèi)容加密方法替換方法置換方法混合方法DBMS中的數(shù)據(jù)加密12.4數(shù)據(jù)加密數(shù)據(jù)加密第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制12.2視圖機制12.3審計(Audit)12.4數(shù)據(jù)加密12.5統(tǒng)計數(shù)據(jù)庫安全性第12章數(shù)據(jù)庫安全性12.1數(shù)據(jù)庫安全性控制非法使用數(shù)據(jù)庫的情況編寫合法程序繞過DBMS及其授權(quán)機制直接或編寫應(yīng)用程序執(zhí)行非授權(quán)操作通過多次合法查詢數(shù)據(jù)庫從中推導(dǎo)出一些保密數(shù)據(jù)非法使用數(shù)據(jù)庫的情況12.5統(tǒng)計數(shù)據(jù)庫安全性統(tǒng)計數(shù)據(jù)庫允許用戶查詢聚集類型的信息(如合計、平均值等)不允許查詢單個記錄信息統(tǒng)計數(shù)據(jù)庫中特殊的安全性問題隱蔽的信息通道能從合法的查詢中推導(dǎo)出不合法的信息12.5統(tǒng)計數(shù)據(jù)庫安全性統(tǒng)計數(shù)據(jù)庫統(tǒng)計數(shù)據(jù)庫安全性(續(xù))例1:下面兩個查詢都是合法的:1.本公司共有多少女高級程序員?2.本公司女高級程序員的工資總額是多少?如果第一個查詢的結(jié)果是“1”,那么第二個查詢的結(jié)果顯然就是這個程序員的工資數(shù)。規(guī)則1:任何查詢至少要涉及N(N足夠大)個以上的記錄統(tǒng)計數(shù)據(jù)庫安全性(續(xù))例1:下面兩個查詢都是合法的:統(tǒng)計數(shù)據(jù)庫安全性(續(xù))例2:用戶A發(fā)出下面兩個合法查詢:1.用戶A和其他N個程序員的工資總額是多少?2.用戶B和其他N個程序員的工資總額是多少?若第一個查詢的結(jié)果是X,第二個查詢的結(jié)果是Y,由于用戶A知道自己的工資是Z,那么他可以計算出用戶B的工資=Y-(X-Z)。原因:兩個查詢之間有很多重復(fù)的數(shù)據(jù)項規(guī)則2:任意兩個查詢的相交數(shù)據(jù)項不能超過M個

統(tǒng)計數(shù)據(jù)庫安全性(續(xù))例2:用戶A發(fā)出下面兩個合法查詢:統(tǒng)計數(shù)據(jù)庫安全性(續(xù))

可以證明,在上述兩條規(guī)定下,如果想獲知用戶B的工資額A至少需要進行1+(N-2)/M次查詢規(guī)則3:任一用戶的查詢次數(shù)不能超過1+(N-2)/M

如果兩個用戶合作查詢就可以使這一規(guī)定失效數(shù)據(jù)庫安全機制的設(shè)計目標(biāo):

試圖破壞安全的人所花費的代價>>得到的利益統(tǒng)計數(shù)據(jù)庫安全性(續(xù))可以證明,在上述兩條規(guī)定下,如統(tǒng)計數(shù)據(jù)庫安全性(續(xù))

可以證明,在上述兩條規(guī)定下,如果想獲知用戶B的工資額A至少需要進行1+(N-2)/M次查詢規(guī)則3:任一用戶的查詢次數(shù)不能超過1+(N-2)/M

如果兩個用戶合作查詢就可以使這一規(guī)定失效數(shù)據(jù)庫安全機制的設(shè)計目標(biāo):

試圖破壞安全的人所花費的代價>>得到的利益統(tǒng)計數(shù)據(jù)庫安全性(續(xù))可以證明,在上述兩條規(guī)定下,如web應(yīng)用安全威脅web應(yīng)用安全威脅139神話:“我們的網(wǎng)站是安全的”“我們使用了網(wǎng)絡(luò)掃描工具”網(wǎng)絡(luò)掃描工具不懂應(yīng)用,不能徹底提高web應(yīng)用安全性“我們已經(jīng)使用了防火墻”為了保證正常訪問,80和443端口始終要開放“我們使用了SSL加密數(shù)據(jù)”僅僅保護了交互數(shù)據(jù),并沒有保護web應(yīng)用本身“我們每個季度都進行滲透測試”應(yīng)用在不斷的變更之中神話:“我們的網(wǎng)站是安全的”“我們使用了網(wǎng)絡(luò)掃描工具”140web應(yīng)用安全在哪?(WASC)web應(yīng)用安全在哪?(WASC)141OWASPtop10十大安全威脅跨站腳本攻擊(XSS)注入缺陷SQL注入,XPATH注入…惡意文件執(zhí)行(遠(yuǎn)程文件包含)不安全的直接對象引用(Parametertampering)跨站請求偽造(CSRF)信息泄露和錯誤處理不當(dāng)身份驗證和會話管理缺陷不安全的加密存儲通信安全驗證繞過OWASPtop10十大安全威脅跨站腳本攻擊(XSS)142(數(shù)據(jù)庫原理課件)Chapter12-Security143(數(shù)據(jù)庫原理課件)Chapter12-Security144跨站腳本攻擊“XSSflawsoccurwheneveranapplicationtakesusersupplieddataandsendsittoawebbrowserwithoutfirstvalidatingorencodingthatcontent.XSSallowsattackerstoexecutescriptinthevictim'sbrowserwhichcanhijackusersessions,defacewebsites,possiblyintroduceworms,etc.”Web應(yīng)用把用戶輸入的未經(jīng)過濾或編碼的數(shù)據(jù)直接發(fā)送給瀏覽器。XSS會導(dǎo)致攻擊者在受害者的瀏覽器中執(zhí)行腳本程序,這些腳本程序可以劫持用戶的會話、修改網(wǎng)頁甚至傳播蠕蟲。JavaScript,VBScript,ActiveX,HTML,orFlash都可以注入到存在漏洞的web應(yīng)用網(wǎng)頁掛馬釣魚攻擊跨站腳本攻擊“XSSflawsoccurwheneve145XSS攻擊XSS攻擊146XSS攻擊XSS攻擊147XSS的危害從你下在瀏覽的域中偷到你的信息完全修改你看到的頁面內(nèi)容從現(xiàn)在開始,跟蹤你在瀏覽器中的每一個動作把你重定向到一個惡意站點利用瀏覽器的漏洞控制你的機器XSS的危害從你下在瀏覽的域中偷到你的信息148阻止XSS攻擊顯示用戶輸入的數(shù)據(jù)時進行轉(zhuǎn)義轉(zhuǎn)義成無害的html字符<script>變成<script>仍然會顯示成<script>過濾程序的正確編寫過濾基于所有允許的字符,而不是基于“惡意”字符如:只接收A,B,Cor1,2,3新出現(xiàn)的編碼方案可以繞過基于“惡意”字符的過濾程序XSScheatsheet:

溫馨提示

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

評論

0/150

提交評論