完整性的定義是組織的資訊資產或重要資料不被未授權使用者取得或變更(毀損)。取得授權的人員應當可以使用組織的資訊資產,但如果組織遭受「中間人攻擊」,在人員與組織伺服器間攔截並修改資料,如此即破壞了完整性。
另一個案例是SQL Injection(注入攻擊),對手(駭客)透過SQL指令將組織資料庫傳到自己的伺服器和(或)刪除、修改組織資料庫內的資料。
CC考點
1.只要做好備份,就達到完整性要求了嗎?
答案是否,備份主要是達到可用性的要求。但無法防止資料被竄改或被傳輸到組織以外(取得或變更),所以組織除了要做好備份,也要注意安全程式碼的要求,並且使用加密技術來保護靜止、傳輸中的資訊資產。
說明:
加密(機密性)、編碼(機密性)、備份(可用性)、備援(可用性)都是組織保護機密性、完整性、可用性的技術,加密指的是透過某種方法,讓可讀的明文變成不可讀的密文;編碼指的是將明文依一定規則編為另一串文字;備份指的是將組織的資料複製一份在其他儲存媒體上;備援是設立冗餘,無論是場地的冗餘、程式的冗餘以至於資料的冗餘。但是這些方法都不屬於組織保護完整性的技術。
2.組織應該要要求100%的完整性嗎
答案是否,100%的完整性不僅實務上難以達到,而且機密性、可用性、完整性是三個個別的目標,之間存在抵換關係(例如企業如追求高可用性,即可能需要接受低機密性的要求,像是工廠中遇到緊急情況時,人人都可以不經過機密性的帳號密碼要求,即可操作滅火器系統達到可用性)
說明:企業的資源有限,必須以有限的資源來保護資訊資產的機密性、完整性、可用性,但這三者之間無法完全並存,提高機密性(例如要求長密碼)的同時,同仁可能將密碼忘記(違反可用性)
CC考點
破壞完整性的方式(舉例,另外請注意筆者選的單字都是資安領域用的):
1.未授權修改(Unauthorized modification):假設駭客在購物網站買了100美金的商品,結帳送出時將金額改為5美金,商品不變。這樣就是屬於未授權修改。還有入侵虛擬貨幣交易所,將虛擬貨幣修改資料庫,轉入自己的帳戶,這也屬於未授權修改。
2.假冒(fake):假冒某人的身份取得資訊。例如取得並修改cookie後,偽冒管理員的身份取得重要資料庫資料。與之相關的還有深偽(Deep Fake),用影像生成的技術搭配聲紋複製的技術,可以用某一個人的臉,來說出駭客想要這個臉說出的台詞。
3.中間人攻擊(Man In the Middle):假設Alice和Bob要談話,而MIM攔截了Alice的訊息,修改後再傳給Bob,如此稱為中間人攻擊。再舉一個例子,Alice操作網路銀行,要匯款給bob,訊息被攔截修改為匯款給MIM,也是中間人攻擊。
4.重放攻擊(Replay Attack):Alice和Bob很要好,而Cindy攔截Alice給Bob的封包(裡面代表Alice的身份和訊息),然後修改IP位址後發給Bob,假稱Clindy是Alice,Bob信以為真後,就把自己的私密訊息和Cindy分享,如此修改封包(原始訊息)的行為就破壞了完整性。```