目錄
前言
在探索紅隊技術之前我們需要了解防禦方遵守哪些原則,如此才能快速找出藍隊人員的弱點,反之優秀的防禦方擁有攻擊者的視角,能夠針對死角提高防禦讓攻擊成本提高,使得惡意組織放棄攻擊
其中一種最常用來表示安全性目標的準則就是CIA安全三角,CIA的含義分別是Confidentiality(隱私性)、Integrity(完整性)以及Availability(可用性),每一個特性都是資訊安全最基本的核心目標,也是攻擊時最常針對的標的,大部分攻擊電腦系統以及網路都會威脅其中一種特性,我們稍微描述一下這三種特性
- Confidentiality(隱私性):確保不被非授權的使用者/機器存取系統或資訊
- Integrity(完整性):確保資訊或系統不被未授權者/機器利用非預期的操作進行變更
- Availability(可用性):確保資訊或系統在預期內只可以被授權者進行存取
在某些情況下,這三個條件有時無法同時顧及,舉例來說如果有一本私人筆記本裡面寫滿了通通不能公開的東西,對於筆記本的主人比起Integrity(完整性)跟Availability(可用性)來說最看重的應該是Confidentiality(隱私性),換言之這個主人最先擔憂的不是筆記本被別人拿去讀或寫以及取得這本筆記,他/她要想的應該是把筆記內容用自己的加密方法轉換成其他文字內容隱藏自己的想法
另一方面,如果今天我們要保護的是醫療病例系統,那麼確保病例的Integrity(完整性)才是首要任務,雖說非醫療人員也應該不能取得某人的疾病資料,但以病歷表的功能來看給醫師、護理師等人取得正確的醫療資料才能夠下達正確的指令拯救患者,所以如果存在某種漏洞可以更改醫療系統的內容才是會造成重大災害的情況,於此Integrity(完整性)對於醫療系統才應該是第一優先
當我們想保護一套系統以及排查問題時就可以考慮這三個特性,或者把這些特性組合起來思考問題帶來的影響性,這會幫助讀者透過更豐富的視野去了解問題所在以及將問題適當的分類
Confidentiality (隱私性)
要滿足這個特性就得確保系統只能由那些明確擁有存取允許的使用者才可以進行操作,例如私人的社群媒體帳號照理說應該只有該使用者知道密碼可以進行登入,如果攻擊者可以竊取或猜到使用者的密碼登入,就代表隱私性受到威脅了,常見於像是網路竊聽或者身份驗證資訊偽造,我們從另一個現實中發生的例子來評估隱私性失效的風險、影響以及看如何修補
在2021年八月時T-Mobile(美國其中一個較大的電信業者)公布他們被駭客取得五千萬筆過去、現在以及未來的客戶資料,但不含任何信用卡付款資訊、密碼或PIN碼洩漏出去,只有像是姓名、生日、美國才有的社會安全碼以及駕照資訊等等,這些資料被販售到暗網內,讀者可以想像攻擊者取得內部電信資料就屬第一次隱私性攻擊成立,而第二次傷害則是惡意組織將這些資料在暗網上拍賣,而如果我們想避免這種情況發生的話需要依賴加密(拜託不要只用編碼🤯,編碼過的資料我們看一下資料格式或用線上工具馬上就解回來了)資料來變免攻擊者可以讀到明文資料
雖說惡意組織或暗網上的買家只能從資料上取得部分可用的資訊,然而有些攻擊者聲稱已經用一部分的資料入侵router的權限拿到超過100台server上資料庫裡的資料,這通常稱作”撞庫“攻擊利用現有的資訊在網路上測試,像是把名單裡的電子郵件進行網路服務登入,只要該使用者密碼設定薄弱且該登入系統沒有做MFA等相關設計,就可以取得更多的私人資料
要避免這類的攻擊發生必須確保所有網路上的資源都有正確的設計、修復以及更新,像是登入密碼要時常更新(通常3個月要換一組,並且密碼複雜度要夠高,可以利用一些密碼產生器來協助你),以及自家的網路需要監控有沒有異常的使用者行為出現,最好也要做網路區段設定,而一些更私密的檔案像是駕照就包含了整個個人資訊更應該確保隱私性
不過像是公司的一些資訊就不需要隱私性了,畢竟在官方網站上通常都會列出一些執行長、技術長等人的公開資訊,如果攻擊者只能取得那些資訊的話就算不上是隱私性失效
Integrity (完整性)
要滿足這個特性的話必須確保資訊或讀寫資訊的能力只有擁有權限的使用者可以進行讀或寫,是為了維護資料或服務的精準性以及可信賴性,僅僅只是嘗試猜測別人的社群媒體帳號密碼進行登入存取還不構成完整性威脅,當攻擊者發文或刪除資訊才會對完整性造成危害,最常見的攻擊手法就是”任意code執行”
2022年一月有資安研究員發現一個新的抹除型惡意軟體叫做”WhisperGate”專門針對烏克蘭,這惡意軟體有兩個階段,首先它會覆寫Master Boot Record(MBR)來顯示假的勒索軟體提示,而第二階段它會在背景透過一些套件下載真正的惡意軟體再把目標內的檔案毀損,這種攻擊影響了資料的完整性其檔案被覆寫成無法回覆的情況,最終只能把該檔案刪除掉
在這種情況下微軟建議有淺在風險被攻擊的目標(烏克蘭、臺灣)可以做些防護措施:
- 啟動MFA不讓身份驗證資訊過於單一
- 啟動微軟Defender裡的Controlled Folder Access (CFA)避免MBR/VBR被篡改
- 透過網路上已經存在的威脅情報指標針對目前設備內淺在的操作行為進行分析
- 針對所有遠端存取的請求都必須審查及驗證
- 時時監控內部網路行為查看是否有異常的流量
上述這些策略尤其對於公司來說更要確保資料的完整性,因為其他合作公司及客戶在職場上都會非常倚賴資訊的可性度
Availability (可用性)
要滿足這個特性的話需要確保系統只有那些可以存取資源的使用者可以進行存取,想像一下攻擊者獲得了別人社群媒體帳號的存取權限以及發了一些貼文,這樣只是影響了隱私性及完整性,但如果攻擊者變更了該社群媒體帳號的密碼讓原使用者無法進行登入的話,這就造成可用性的威脅,最常見的就是”Denial of Service”(DoS)攻擊
2022年2月24日俄羅斯剛入侵烏克蘭時,Viasat的人造衛星寬頻服務就被DoS攻擊佔滿頻寬讓烏克蘭人無法連上衛星網路,其中包括烏克蘭政府以及軍方,那次攻擊使用了另一種抹除式惡意軟體叫做”AcidRain”,該攻擊造成戰爭初期通訊設備無法正常使用以及人員無法定位等問題,不過關於這攻擊是何時就開始策劃的但今天還是調查不出來
Viasat表示他們的VPN設定變成了”錯誤設置”才讓攻擊者可以進行初步的存取與測試,儘管不確定錯誤的設定有哪些,但要避免這種攻擊發生的話只能時時檢查VPN設置是否正常了,另外根據Advanced Persistent Threats(APTs)防範手冊則建議網路環境必須確保完整的可視性、威脅情報指標的調查以及經常執行威脅性測試等
特性之間該如何做取捨?
讀者可以想像CIA安全三角之間排序後對於組織有哪些影響,要特別注意的是系統安全的設計往往會對方便程度造成危害,極強的安全性配置並不一定對一間公司總是有好處,例如一家客運公司的開發人員想要存取公司內部服務時得先經過多道MFA認證,密碼、生物特徵、安全性問題加上IP來源限制後才可以點進他的網頁改個字,這不就非常沒有效率、耗費心力更甚至拖垮整個部門的設計嗎?
平衡安全設計跟使用方便性才是我們要考慮的,隨著業務跟產品的開發我們得針對現有的系統一直進行評估、探索、建立威脅模型、討論、測試及最終的釋出,而不是設計後就一直維持著同樣的標準,畢竟維護安全性本身就是一項投資,並且得定期開設講座做員工訓練,也許有些設計上是資訊處的人覺得很正常的行為,但人資部的員工在操作時就很沒有效率,所以聽取員工建議來優化設計也很重要
資訊安全是每一個人的責任