說到安全,往往要給出乙個模型,人們通過研究這個抽象的模型來把握安全要素,這裡首先要確定一下安全性需要考慮的幾個要素,乙個就是保密性,另乙個就是完整性,這是兩個最重要的安全特性,保密性一般應用於軍事領域,而完整性一般用於商業領域,這只是一般情況下,也就是說,對於軍事機密檔案,寧可毀了也不能洩露出去,而對於商業信函,寧可讓人看到也不能被人篡改了,被人看到起碼還有乙個監督者的作用。
我們知道,單向的一般就是安全的,姑且不說這種安全性的安全級別,最起碼,它要麼起到了保密的作用,要麼保全了完整性,為什麼呢?因為單向性意味著資訊進入乙個地方後就不允許再出來了,而危險往往在於從家走出去,回家一般都會比出去安全,要麼就是出家門就不要再進入,起碼不會連累家人。對於機密性要求,將資訊推入乙個黑匣子就可以了,因為單向性特性,推入的資訊不會再從這個黑匣子原路出來,因此就起到了保密的作用,對於完整性要求,就是將資訊從黑匣子拉出來,因為沒有人會將資訊從拉出來的方向推入,那麼可以保證不會有人篡改資訊,因而資訊是完整的。
對於機密性要求,blp模型一直都是很理想的模型,在blp中,資訊的操作者分為了若干等級,資訊單向地只能從低等級流向高等級,促使資訊流動的動作有兩個,乙個是讀,乙個是寫,對於讀,資訊從被讀的一方流向讀者,對於寫,資訊從寫者流向被寫的一方,在blp模型中,通過兩個約束保證了保密性,乙個是禁止上讀,乙個是禁止下寫,另外乙個理解就是允許上寫允許下讀,我們看到資訊是推入高階別的這個黑匣子的,避免了任何低階別的人偷看到資訊,我們看一下這有什麼意義。設想有乙個模型,允許下讀,又允許下寫,乙個高階別的操作者書寫了乙份密文,然後將內容拷貝了乙份,作為低階別的密文回寫,這樣的話,低階別的響應級別的操作者就會偷看到本來高階別的密文,而這是不希望發生的,這其中的問題就在於下讀和下寫產生了雙向資訊流。這個blp禁止了由於操作者本身除了問題導致資訊洩露的可能性。其實這個模型僅僅是理想模型,對於資訊系統是有用的,對於人則沒有意義,試想人是有記憶的,規則能制止人的行為可是制止不了人的思維。允許上寫並沒有什麼問題,就是說任何級別的操作實體都可以簽署密文,只要你簽署了,那這個密文就是保密的,你就不能再看了。禁止上讀避免了低級別使用者獲取敏感資訊,而禁止下寫則避免了一旦高階別使用者本身出了問題造成資訊的洩露。
對於完整性需求,正好和blp模型相反,叫做biba模型,也就是禁止下讀,禁止上寫模型,另一種理解就是允許下寫,允許上讀,資料是從高階別的黑匣子拉到低階別的使用者的,資訊流的流動方向和blp模型的正好相反,因為禁止了上寫,所以避免了資訊被低級別使用者更改,如果允許了下讀,那麼高階別使用者如果出了問題,那麼它完全可以讀入乙個低階別的資訊,然後更改後下寫到低階別的使用者,因而完整性得不到保證。這個模型也給過濾模型留下了空間,任何合法的鉤子都是可以安插在黑匣子和最終的低級別使用者之間實現攔截,注意這種攔截是嚴格意義上的有意識攔截,而不是非法的欺騙性攔截和篡改式攔截。
總之,資訊是單向流動是根本,互動總會帶來危險,另外,單向的資訊流動即使出了問題對人造成的影響也是蒙在鼓裡的影響,禁止下讀的模型中,你無法知道低階別的任何資訊,但是你能寫入低階別的使用者任何資訊,你管好自己好好寫就是了,你的心不會太亂,這種模型下,你不必擔心資訊洩露,而資訊的完整性的責任完全在你;對於禁止上讀的模型,你就只管往高階別寫東西吧,你的心也不會很亂。這兩種模型下,你必須徹底消除自己的僥倖心理。
在安全模型中,中國牆模型也很著名,它是以責任共同體來界定訪問控制的,原則上很安全,但是從設計上來講,我感覺真的沒有blp和biba模型好。我們現在都可以看到很多安全訪問控制的例項,比如intel的特權環,比如unix的能力模型和訪問控制矩陣,比如windows nt的基於角色的訪問控制,所有這些都可以用單向資訊流和訪問控制列表來表述。總之記住一點,計算機永遠比人乖,不過有時候,人殺人的時候會流淚,但是計算機殺人的時候會很乾脆。
簡單談談安全模型設計
說到安全,往往要給出乙個模型,人們通過研究這個抽象的模型來把握安全要素,這裡首先要確定一下安全性需要考慮的幾個要素,乙個就是保密性,另乙個就是完整性,這是兩個最重要的安全特性,保密性一般應用於軍事領域,而完整性一般用於商業領域,這只是一般情況下,也就是說,對於軍事機密檔案,寧可毀了也不能洩露出去,而...
簡單談談安全模型設計
說到安全,往往要給出乙個模型,人們通過研究這個抽象的模型來把握安全要素,這裡首先要確定一下安全性需要考慮的幾個要素,乙個就是保密性,另乙個就是完整性,這是兩個最重要的安全特性,保密性一般應用於軍事領域,而完整性一般用於商業領域,這只是一般情況下,也就是說,對於軍事機密檔案,寧可毀了也不能洩露出去,而...
簡單談談前端對安全的認知
攻擊手段 阻止攻擊手段 如何防禦 get請求不對資料進行修改 不讓第三方 拿到使用者的cookie 阻止第三方 請求介面 請求時附帶驗證資訊,比如驗證碼或者token samesite 可以對 cookie 設定 samesite 屬性。該屬性設定 cookie 不隨著跨域請求傳送,該屬性可以很大程...