ISC2-CC-Domain 5
Security Operation
這個Domain是關於資安人員每日例常工作都會遇到的工作與問題。本文的重點有:
- Configuration, patch, and change management
- Cryptography and hashing
- Attacks on our cryptography
- Data handling, classification, labeling, retention, and destruction/disposal
- Administrative (Directive) controls
- Security awareness training
- Social engineering
Configuration Management
當我們接收或建構新系統時,它們通常是完全開放的,在把它放到生產環境之前,我們會對其進行強化(harden)。通常制定了一長串要關閉的port、要停用的服務、要刪除的帳號、缺少的補丁和許多其他內容。
一般來說我們應該有完全強化的OS Image並將該Image用於新系統會更容易,然後,當發現新漏洞或需要應用修補程式時,我們會update image,儘管我們通常使用STD Image並指套用缺少的部分補丁。通常都會對網路上的任何設備、伺服器、工作站、電話、路由器、交換器等執行修正或補丁。
在把系統導入生產環境之前,會對系統執行漏洞掃描,以確保沒有遺漏任何內容。另外為每個OS制定標準的強化基線(hardening baseline)可確保所有伺服器都得到類似的強化,並且不應該存在薄弱環節,還需要有標準化的強化(standardized hardening),使故障排除變得更加容易。
一旦系統被引入我們的生產環境,我們就要監控偏離安全基線(security baseline)的變更,大多數變更是管理員進行故障排除或製定變通辦法(workarounds),這可能是允許的,也可能是不允許的,但也可能是攻擊者從我們的網路中打出一條路徑。
Patch Management
為了確保網路安全,我們需要定期套用修補程式。每當發現漏洞時,軟體生產商就會發布補丁(Patch)來修復它。大多數組織都會給補丁幾週的時間進行審查,然後先在測試環境中測試,沒問題才會在生產環境進行。
我們通常會記得OS patches,但常常會忘記網路設備更新、磁碟陣列更新、物聯網更新等,如果不補丁,等於沒有充分利用縱深防禦,我們就會面臨風險。
我們使用軟體將修補程式(如微軟的WSUS/SCCM)推送到所有適當的系統,這更容易,確保所有系統都得到修補程式並且它們都獲得修補程式的相同部分,我們可能會排除一些對我們的網路產生不利影響的部分。
Change Management("重要")
我們如何處理環境變更的正式流程? 如果做得正確,將會有完整的文件、理解,並將變更傳達給相關利害關係人。
Change Management通常有一個個變更審查委員會(change review board)。這應由 IT 和組織中的其他營運部門組成,我們可能會考慮對 IT 的影響,但這主要是為組織服務的,委員會成員需要了解變更將如何影響組織,並在組織有任何影響時提出疑慮。
變更請求會先向變更委員會提出,變更委員會進行研究以了解變更的全部影響。 提交變更的個人或團隊應清楚地解釋變更的原因、實施和不實施的利弊、團隊所了解的系統和流程的任何變更,並通常根據需要提供盡可能多的資訊來協助和支援變更委員會。
變更委員會中最好有C-Level的人參與其中,或者他們可以預先決定可以批准的變更範圍,並且任何高於該閾值(threshold)的內容都會提出建議,但變更需要C-Level的批准。
變革管理有許多不同的模型和流程,有些取決於組織結構、成熟度、業務領域和許多其他因素。一般的變更流程如下:
- 識別變更
- 提出變更
- 評估風險
- 臨時變更批准
- 測試變更
- 安排變更
- 受影響方的變更通知
- 實施變更
- 實際變更影響的實施後回報
變更需要密切監視和審核,請記住變更可能會帶來殘餘風險(residual risk),然後我們必須減輕這些風險。 變更控制流程(change control process)中的所有內容都應該記錄並保存,稽核人員通常希望看到已經實施了適當的變更控制,並且實際上遵循了向他們提供的紙本流程。
Cryptography(密碼學)
密碼學的歷史
- Spartan Scytale —
將訊息縱向寫在一張長薄的羊皮紙上,包裹在一定尺寸的圓棒上。 它本身沒有任何意義,但如果將其重新纏繞在相同直徑的棍子上,它就會被解讀。 - Caesar Cipher (Substitution) —
透過在字母表中以一定數量的位置交換字母來完成。
對於考試,我們只需要知道密碼學可以幫助我們:
- 保護秘密(Confidentiality)。這就是大多數人認為所有密碼學的公用。
- 保持資料不變(Integrity)。
- 提供一種驗證(Authentication)Subject的方法; 它還可以提供不可否認性(non-repudiation)。
名詞解釋:
- Cryptology是保護通訊安全的科學。
- Cryptography創造隱藏意義的訊息。
- Cryptanalysis是破解加密通訊的科學。
密碼分析用於破壞加密安全系統並存取加密訊息的內容,即使在沒有加密金鑰的情況下。 密碼分析使用加密演算法的數學分析以及side-channel attacks,這些攻擊不針對加密演算法本身的弱點,而是利用其實現和運行它們的設備中的弱點。
- Cipher是一種密碼演算法
- Plaintext 是未加密的訊息
- Ciphertext是加密的訊息
- Encryption將明文轉換為密文
- Decryption 將密文恢復為明文
- Book Cipher —
使用眾所周知的文字(通常是一本書)作為密鑰。利用書的頁面/行數/第幾個字作為密鑰。 - Running-Key Cipher—
也使用眾所周知的測試作為密鑰,但使用先前商定的短語(phrase)。 發送者將明文訊息添加到密鑰中的文字中,接收者將從密鑰中移除(subtract)文字。
Asymmetric/Symmetric Encryption/Hybrid
Asymmetric(非對稱加密):
- 優點 —
它不需要pre-shared key,只需 2x users = total key - 缺點 —
解密需要較久的時間(密鑰長度非常長,因此需要更多的計算資源)
Symmetric(對稱加密):
- 優點 —
解密快速 - 缺點 —
需要pre-shared key,密鑰的數量隨著user成長比非對稱式多 — n(n-1)/2。
Asymmetric Encryption (Public Key Encryption)
非對稱式加密使用兩把key : Public/Private(Key Pair):
- Public —
公開的,大家都拿得到的。其他人可以用這把key加密傳送給你,而只有private key可以解密。 - Private —
同樣的,只有這把private key加密的訊息,只有Public key可以解密。
這樣的方式做到了authenticity(真實性)/non-repudiation(不可否認性)/confidentiality(機密性)。
Hybrid Encryption:
使用非對稱(Asymmetric)加密來共用Symmetric Key (session key),也就是用Asymmetric key 加密 Symmetric Key。 我們使用非對稱媒介的安全性來進行初始交換,並使用對稱介質的速度和更高的安全性來進行實際的資料傳輸。 非對稱加密可以每隔一段時間發送一個新的session key以確保安全。
而加密學則是區塊鏈基礎。更多的密碼學介紹請參閱本部落格"區塊鏈的資訊安全基本原理"與"區塊鏈的進階安全機制"一文。
Hashing
一種One-Way Hash Functions,其目的是保護資料的Integrity。例如用在例如下載檔案或資安鑑識。
- variable-length plaintext被hash成fixed-length value或MD(Message Digest)。
- 它用於證明資料的完整性沒有改變。 即使更改 1000 頁文件中的逗號也會產生全新的hash value。
- Collisions:不同資料的 2 個hash是相同的。 這是有可能的,但可能性很小。
- 只需 1 bit 是不一樣hash value就是不同
測試:使用md5 Hash Generator來驗證看看。
針對密碼學的攻擊
Steal the Key
現代加密技術很難被破解(量子電腦是另一種議題),因此recover key變得更加容易(有註記詞)。 執法部門在獲得搜索令時會執行此操作,以從被指控犯罪的人的電腦或手機中recover key。 攻擊者透過存取我們在系統中或key repository來實現此目的; 然後他們可以解密您的資料。
Brute Force
使用整個key space(每個可能的密鑰); 只要有足夠的時間,任何明文都可以解密。 除了one-time pad無效之外的所有基於密鑰(key)的密碼有效; 它最終會解密它,但也會產生大量誤報(false positives),導致資料毫無用處。基本上可以使用Key stretching來緩解。
MITM(Man-in-the-Middle Attack)
- 攻擊者秘密中繼(relays)並可能改變相信他們正在直接相互通信的兩方之間的通信
- 攻擊者必須能夠攔截兩個受害者之間傳遞的所有相關訊息
- 他們可以改變訊息,竊取資訊或注入新資訊
企業的Proxy service的行為就是MITM。
Side Channel Attacks
攻擊者使用實體資料來破壞加密系統。 這可以是 CPU cycles、加密/解密時的功耗(power consumption)…
Data Handling/Classification/Labeling/Retention/Destruction/Disposal
Sensitive information
- Data handling(Administrator control):
只有值得信賴的個人才能處理資料; 也應該制定有關資料處理方式、地點、時間和原因的政策。 需要有日誌來顯示這些指標(metrics)。 - Data storage:
要將敏感資料保存在哪裡? 它應該保存在安全、有空調控制的設施中,最好在地理有距離(類似DR Site),以便潛在的事件不會影響該設施。 許多較早的違規行為都是由於磁帶備份方面的不良政策造成的。 磁帶存放在辦公室中,而不是存放在適當的儲存設施或沒有存取日誌且沒有存取限制(通常未加密)的儲藏室中。 - Data retention:
資料的保存不應超出使用期限或超出法律要求(以較大者為準)。 法規(HIPAA 或 PCI-DSS)可能要求對資料進行一定程度的保留(1 年、3 年、7 年或無限期)。 每個產業都有自己的法規,公司政策可能與法定要求有所不同。 我們需要了解公司的保留需求是甚麼。
紙張處置(Paper disposal) —
強烈建議以安全的方式處置任何帶有任何資料的紙張。 這也有標準,建議交叉粉碎。 掃描並使用程式將像一般直條碎片重新組合起來很容易。
數位處理(Digital disposal)"重要"
數位處理程序是由媒體類型(media type)決定。
Deleting/formatting/overwriting (這些屬於Soft destruction):
- Deleting — 刪除文件只是將其從表中刪除; 一切都還可以恢復
- Formatting — 格式化的作用相同,但它也在舊的檔案結構之上放置了新的檔案結構。 大多數情況下仍然可以恢復。
- Overwriting (Clear) — 覆蓋是透過在資料上寫入 0 或隨機字元來完成的。
- Sanitization — 清理是使媒體上的目標資料對於特定層級的復原工作是不可行的。
- Purge — 清除是將資料從系統或設備中刪除到即使在實驗室環境中也無法進行資料復原。
消磁(Degaussing)透過將磁性媒體暴露在非常強的磁場中來破壞該媒體。 這也很可能會破壞媒體的完整性。而完全物理的破壞比技術性破壞更安全:
- Disk crushers 作用如其名稱所示:硬碟破碎機
- Shredders 功能與碎紙機相同; 但只切碎金屬。 一般企業不會買,但可以外包。
- 焚燒、粉碎、熔化和酸化(Incineration, pulverizing, melting, and acid)也(很少建)用在資料能完全銷毀。
對敏感資料進行多種類型的資料銷毀(消磁和硬碟粉碎/切碎)是很常見的。
The Information Life Cycle
- Data acquisition —
資訊是從另一個位置建立或複製的。 使其有用、對其建立索引並儲存它。 - Data use —
我們如何確保資料保密、完整性完整且在需要時可用(C.I.A traid) - Data archival —
根據法規或組織業務要求進行保留。哪與backup有何不同呢?因為 archival的資料之後會用到,而backup則是出了事才要用到。 - Data disposal —
一旦資料不再有用和不再需要,我們如何正確處理這些資料。
Administrative (Directive) Controls
Access Control Categories
請回頭看Domain 3
Access Control Types
請回頭看Domain 3
Policies — Mandatory (High level)
- AUP (Acceptable Use Policy) —
網路、資料、資源的可接受使用方式是什麼? - BYOD (Bring Your Own Device) policy —
允許員工在一定規定範圍內攜帶自己的設備。 - Privacy policy —
我們如何收集、使用、揭露和管理私人資料。
Policies — Mandatory(有明定的屬性)
如Password policy之類…
Data handling policy
Classify, categorize, label, encrypt, store, backup, disposal/destroy
資料的三種狀態
Data at Rest/Data in Motion/ Data in use(已經解密的)
Training and Awareness
員工是企業最大的資產,但同時也是最大的安全風險(所以需要解決方案-Teramind來控制其風險):
Training
為使用者提供技能 — — 但如果他們忽視這些知識,它就沒有任何作用。
Awareness
改變使用者行為-這就是企業想要的,希望他們改變他們的行為(但這與企業文化強烈有關)。
Social Engineering
說服key holder將鑰匙交給「服務台」比解密key容易得多。非常成功的社交工程攻擊是,某家公司開著一輛飲料車停在公司前面,上面貼著「免費飲料」和公司標誌(人類貪小便宜的心態)。
社交工程利用人際溝通能力來繞過安全控制。可以與許多其他攻擊結合使用,特別是client-side attacks或physical tests。 如果使用其中一種或多種方法,攻擊通常會更成功:
- Authority (someone you trust or are afraid of):
看起來和聽起來都像一個高階長官。 在使用冒充(impersonation)、捕鯨(whaling)和網路釣魚(vishing)攻擊最有效。 - Intimidation (If you don’t bad thing happens):
網路病毒、信用卡被盜、針對公司的訴訟、恐嚇最有效的方式是冒充和釣魚攻擊。
Social Engineering Attacks
- 共識(隨波逐流,大家都在這樣做) —
網站上的虛假評論,使用共識/社會證據對於木馬和惡作劇最有效。 - 稀缺性(如果現在不採取行動,那就太晚了) —
新 iPhone 上市,僅有 200 部可用,通常用在網絡釣魚和木馬攻擊最有效。 - 緊急情況(必須立即進行,否則) —
如果個是事情在周五之前沒有完成,你會被起訴,賠償 一千萬,這通常用於網路釣魚。 - 裝熟(有共同點或建立共同點) —
提前了解受害者的一些情況,然後參考它可以大大提高攻擊成功的機會。 人們想要提供幫助,如果他們覺得自己了解你,他們就會想要更多。 通常透過釣魚和面對面的社交工程。
Phishing/spear phishing/whale phishing
Phishing (Social engineering email attack)
例如看到得訊息是: “點擊贏取,發送訊息即可獲得獎金…”發送給數十萬人; 如果只有 0.01% 的人遵循指示,就會有 100 名受害者。亂槍打鳥的方式。
Spear Phishing
有針對性的網路釣魚,不是亂槍打鳥,而是針對特定人員(如組織的系統管理員)。 發送時附帶有關目標(個人或公司)的資訊; 熟悉度會增加成功率。
Whale Phishing (Whaling)
針對C-Level的魚叉式網路釣魚。 這可能是:「如果您不填寫所附文件(其中含有木馬)並在一週內寄回給我們,公司將被起訴」。
Vishing (Voice Phishing)
對自動化 VOIP(IP 語音)系統的攻擊,類似於網路釣魚的大量垃圾郵件。 這些是:「您的稅金到期」、「您的帳戶已鎖定」或「輸入您的 PII 」呼叫。