2. 死鎖的診斷與解除
、 超時(shí)法
如果一個(gè)事務(wù)的等待時(shí)間超過(guò)了規(guī)定的時(shí)限,就認(rèn)為發(fā)生了死鎖。超時(shí)法實(shí)現(xiàn)簡(jiǎn)單,但其不足也很明顯。一是有可能誤判死鎖,事務(wù)因?yàn)槠渌蚴沟却龝r(shí)間超過(guò)時(shí)限,系統(tǒng)會(huì)誤認(rèn)為發(fā)生了死鎖。二是時(shí)限若設(shè)置得太長(zhǎng),死鎖發(fā)生后不能及時(shí)發(fā)現(xiàn)。
②等待圖法
事務(wù)等待圖是一個(gè)有向圖G=(T,U)。 T為結(jié)點(diǎn)的集合,每個(gè)結(jié)點(diǎn)表示正運(yùn)行的事務(wù);U為邊的集合,每條邊表示事務(wù)等待的情況。若T1等待T2 ,則T1、T2之間劃一條有向邊,從T1指向T2。事務(wù)等待圖動(dòng)態(tài)地反映了所有事務(wù)的等待情況。并發(fā)控制子系統(tǒng)周期性地(比如每隔1分鐘)檢測(cè)事務(wù)等待圖,如果發(fā)現(xiàn)圖中存在回路,則表示系統(tǒng)中出現(xiàn)了死鎖。
DBMS的并發(fā)控制子系統(tǒng)一旦檢測(cè)到系統(tǒng)中存在死鎖,就要設(shè)法解除。通常采用的方法是選擇一個(gè)處理死鎖代價(jià)最小的事務(wù),將其撤消,釋放此事務(wù)持有的所有的鎖,使其它事務(wù)得以繼續(xù)運(yùn)行下去。當(dāng)然,對(duì)撤消的事務(wù)所執(zhí)行的數(shù)據(jù)修改操作必須加以恢復(fù)。
如果一個(gè)事務(wù)運(yùn)行過(guò)程中沒(méi)有其他事務(wù)同時(shí)運(yùn)行,也就是說(shuō)它沒(méi)有受到其他事務(wù)的干擾,那么就可以認(rèn)為該事務(wù)的運(yùn)行結(jié)果是正常的或者預(yù)想的。因此將所有事務(wù)串行起來(lái)的調(diào)度策略一定是正確的調(diào)度策略。雖然以不同的順序串行執(zhí)行事務(wù)可能會(huì)產(chǎn)生不同的結(jié)果,但由于不會(huì)將數(shù)據(jù)庫(kù)置于不一致?tīng)顟B(tài),所以都是正確的。
定義:多個(gè)事務(wù)的并發(fā)執(zhí)行是正確的,當(dāng)且僅當(dāng)其結(jié)果與按某一次序串行地執(zhí)行它們時(shí)的結(jié)果相同。我們稱(chēng)這種調(diào)度策略為可串行化(Serializable)的調(diào)度。
另外,在封鎖技術(shù)方面,SQL提供事務(wù)的四種一致性級(jí)別,從高到低分別是:
uu serializable(可串行化) uu repeatable read(可重復(fù)讀)
uu read committed(讀提交數(shù)據(jù)) uu read uncommitted(可讀未提交數(shù)據(jù))
數(shù)據(jù)庫(kù)安全:
數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。
為降低進(jìn)而消除對(duì)系統(tǒng)的安全攻擊,尤其是彌補(bǔ)原有系統(tǒng)在安全保護(hù)方面的缺陷,在計(jì)算機(jī)安全技術(shù)方面逐步建立了一套可信標(biāo)準(zhǔn)。在目前各國(guó)所引用或制定的一系列安全標(biāo)準(zhǔn)中,最重要的當(dāng)推1985年美國(guó)國(guó)防部(DoD)正式頒布的《DoD可信計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn)》(Trusted Computer System Evaluation Criteria,簡(jiǎn)記為T(mén)CSEC)[1]或DoD85)。
制定這個(gè)標(biāo)準(zhǔn)的目的主要有:
⑴提供一種標(biāo)準(zhǔn),使用戶(hù)可以對(duì)其計(jì)算機(jī)系統(tǒng)內(nèi)敏感信息安全操作的可信程度做出評(píng)估。
、平o計(jì)算機(jī)行業(yè)的制造商提供一種可循的指導(dǎo)規(guī)則,使其產(chǎn)品能夠更好的滿(mǎn)足敏感應(yīng)用的安全需求。
TCSEC又稱(chēng)桔皮書(shū),1991年4月美國(guó)NCSC(國(guó)家計(jì)算機(jī)安全中心)頒布了《可信計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn)關(guān)于可信數(shù)據(jù)庫(kù)系統(tǒng)的解釋》( Trusted Database Interpretation 簡(jiǎn)記為T(mén)DI,即紫皮書(shū))。將TCSEC擴(kuò)展到數(shù)據(jù)庫(kù)管理系統(tǒng)。TDI中定義了數(shù)據(jù)庫(kù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)中需滿(mǎn)足和用以進(jìn)行安全性級(jí)別評(píng)估的標(biāo)準(zhǔn)。
在TCSEC中建立的安全級(jí)別之間具有一種偏序向下兼容的關(guān)系,即較高安全性級(jí)別提供的安全保護(hù)要包含較低級(jí)別的所有保護(hù)要求,同時(shí)提供更多或更完善的保護(hù)能力。
下面,我們簡(jiǎn)略地對(duì)各個(gè)等級(jí)作一介紹。
D級(jí): D級(jí)是最低級(jí)別。保留D級(jí)的目的是為了將一切不符合更高標(biāo)準(zhǔn)的系統(tǒng),統(tǒng)統(tǒng)歸于D組。如DOS就是操作系統(tǒng)中安全標(biāo)準(zhǔn)為D的典型例子。它具有操作系統(tǒng)的基本功能,如文件系統(tǒng),進(jìn)程調(diào)度等等,但在安全性方面幾乎沒(méi)有什么專(zhuān)門(mén)的機(jī)制來(lái)保障。
C1級(jí):只提供了非常初級(jí)的自主安全保護(hù)。能夠?qū)崿F(xiàn)對(duì)用戶(hù)和數(shù)據(jù)的分離,進(jìn)行自主存取控制(DAC),保護(hù)或限制用戶(hù)權(quán)限的傳播,F(xiàn)有的商業(yè)系統(tǒng)往往稍作改進(jìn)即可滿(mǎn)足要求。
C2級(jí):實(shí)際是安全產(chǎn)品的最低檔次,提供受控的存取保護(hù),即將C1級(jí)的DAC進(jìn)一步細(xì)化,以個(gè)人身份注冊(cè)負(fù)責(zé),并實(shí)施審計(jì)和資源隔離。很多商業(yè)產(chǎn)品已得到該級(jí)別的認(rèn)證。達(dá)到C2級(jí)的產(chǎn)品在其名稱(chēng)中往往不突出“安全”(Security)這一特色,如操作系統(tǒng)中Microsoft的Windows NT 3.5,數(shù)字設(shè)備公司的Open VMS VAX 6.0和6.1。數(shù)據(jù)庫(kù)產(chǎn)品有Oracle公司的Oracle 7,Sybase公司的 SQL Server 11.0.6 等。
B1級(jí):標(biāo)記安全保護(hù)。對(duì)系統(tǒng)的數(shù)據(jù)加以標(biāo)記,并對(duì)標(biāo)記的主體和客體實(shí)施強(qiáng)制存取控制(MAC)以及審計(jì)等安全機(jī)制。B1級(jí)能夠較好地滿(mǎn)足大型企業(yè)或一般政府部門(mén)對(duì)于數(shù)據(jù)的安全需求,這一級(jí)別的產(chǎn)品才認(rèn)為是真正意義上的安全產(chǎn)品。滿(mǎn)足此級(jí)別的產(chǎn)品前一般多冠以“安全”(Security)或“可信的”(Trusted)字樣,作為區(qū)別于普通產(chǎn)品的安全產(chǎn)品出售。例如,操作系統(tǒng)方面,典型的有數(shù)字設(shè)備公司的SEVMS VAX Version 6.0,惠普公司的HP-UX BLS release 9.0.9+ 。數(shù)據(jù)庫(kù)方面則有Oracle公司的Trusted Oracle 7,Sybase公司的Secure SQL Server version 11.0.6,Informix公司的Incorporated INFORMIX-OnLine / Secure 5.0等。
B2級(jí):結(jié)構(gòu)化保護(hù)。建立形式化的安全策略模型并對(duì)系統(tǒng)內(nèi)的所有主體和客體實(shí)施DAC和MAC。
從互連網(wǎng)上的最新資料看,經(jīng)過(guò)認(rèn)證的、B2級(jí)以上的安全系統(tǒng)非常稀少。例如,符合B2標(biāo)準(zhǔn)的操作系統(tǒng)只有Trusted Information Systems公司的Trusted XENIX一種產(chǎn)品,符合B2標(biāo)準(zhǔn)的網(wǎng)絡(luò)產(chǎn)品只有Cryptek Secure Communications公司的LLC VSLAN一種產(chǎn)品,而數(shù)據(jù)庫(kù)方面則沒(méi)有符合B2標(biāo)準(zhǔn)的產(chǎn)品。
B3級(jí):安全域。該級(jí)的TCB必須滿(mǎn)足訪(fǎng)問(wèn)監(jiān)控器的要求,審計(jì)跟蹤能力更強(qiáng),并提供系統(tǒng)恢復(fù)過(guò)程。
A1級(jí):驗(yàn)證設(shè)計(jì),即提供B3級(jí)保護(hù)的同時(shí)給出系統(tǒng)的形式化設(shè)計(jì)說(shuō)明和驗(yàn)證以確信各安全保護(hù)真正實(shí)現(xiàn)。
B2以上的系統(tǒng)標(biāo)準(zhǔn)更多地還處于理論研究階段,產(chǎn)品化以至商品化的程度都不高,其應(yīng)用也多限于一些特殊的部門(mén)如軍隊(duì)等。但美國(guó)正在大力發(fā)展安全產(chǎn)品,試圖將目前僅限于少數(shù)領(lǐng)域應(yīng)用的B2安全級(jí)別或更高安全級(jí)別下放到商業(yè)應(yīng)用中來(lái),并逐步成為新的商業(yè)標(biāo)準(zhǔn)。
可以看出,支持自主存取控制的DBMS大致屬于C級(jí),而支持強(qiáng)制存取控制的DBMS則可以達(dá)到B1級(jí)。當(dāng)然,存取控制僅是安全性標(biāo)準(zhǔn)的一個(gè)重要方面(即安全策略方面)不是全部。為了使DBMS達(dá)到一定的安全級(jí)別,還需要在其它三個(gè)方面提供相應(yīng)的支持。例如審計(jì)功能就是DBMS達(dá)到C2以上安全級(jí)別必不可少的一項(xiàng)指標(biāo)。
相關(guān)推薦:推薦:2010年計(jì)算機(jī)軟件水平考試必備完美攻略北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |