Skip to main content

Google Cybersecurity 課程紀錄

介紹

這是 google 在 coursera 上提供的資安入門課程,課程內容包含基礎知識、工具介紹、程式語言入門到威脅分析與應對,目標是培養成為資安分析師的基礎技能。

這門課的目標學員是零基礎的人,資安相關知識或是程式語言基礎都不需要有,所以對於有程式開發、網路架構相關經驗的人來說,可能會覺得部分章節較為無趣,像是 SQL 和 Python 的部分。

培養一名初階的資安分析師(Security Analyst)是這門課的最終目標,對應到台灣的人才類別框架應該會是資安系統維運員、資安監控防禦工程師或是資安事件工程師這個範圍的職能,所以這個課程沒有提及太多關於設滲透測試或數位鑑識這些比較進階的技能。

以下紀錄幾個我印象比較深刻或是跟我作爲後端開發者比較相關的內容。

安全框架vs控制措施

課程花不小篇幅介紹企業要如何從策略面落實資安,介紹了幾種常見的安全框架。

安全框架是指導原則,用於建立計劃、減輕資料和隱私的風險及威脅,幫助組織遵守合規性法律和法規。例如,醫療保健行業會利用框架來遵守美國的《健康保險流通與責任法案》(HIPAA),該法案要求醫療專業人員保護病患資訊安全。

  • 例如 ISO27001

安全控制措施是減少特定安全風險的防護措施。組織用來降低資料和隱私風險與威脅的具體手段。例如,醫院為了符合 HIPAA,可以要求病患使用 MFA 來存取醫療記錄,就是一種有效降低資料潛在風險和威脅的方式。

老實說我完全沒辦法吸收這些關於框架、流程、規範或是組織架構相關的內容,但可以感受到在資安這個領域很重視要有一定的標準以及法規的遵循。

Threats, Risks, Vulnerabilities

威脅 (Threats)

任何可能對資產產生負面影響的情況或事件。包括:

  • 內部威脅 (Insider threats):員工或供應商濫用其授權存取權限,獲取可能損害組織的資料。
  • 進階持續性威脅 (Advanced persistent threats, APTs):威脅行為者長時間保持對系統的未經授權存取。

風險 (Risks)

是指任何可能影響資產的機密性、完整性或可用性 (CIA) 的事物。

風險 = 威脅發生的可能性X影響。

例如:上班遲到是風險,而交通堵塞、事故、爆胎等是威脅。

包括:

  • 外部風險 (External risk):組織外部任何可能損害組織資產的事物,例如威脅行為者試圖獲取私人資訊。
  • 內部風險 (Internal risk):當前或前任員工、供應商或信任夥伴構成的安全風險。
  • 傳統系統 (Legacy systems):可能未被記錄或更新的舊系統,但仍可能影響資產,例如舊的工作站或大型機系統。
  • 多方風險 (Multiparty risk):將工作外包給第三方供應商可能使他們有機會接觸到智慧財產(如商業機密、軟體設計和發明)。
  • 軟體合規性/授權 (Software compliance/licensing):軟體未更新或不合規,或補丁未及時安裝。

漏洞 (Vulnerabilities)

漏洞是被威脅利用的弱點。

這部分是單純記錄一下容易混淆的名詞。

OWASP Security Principle

  1. Minimize attack surface area:減少被攻擊的可能方式
  2. Principle of least privilege
  3. Defense in depth:多樣化的安全控制措施來緩解風險和威脅
  4. Separation of duties:關鍵操作應依賴多人協同完成
  5. Keep security simple:避免不必要的複雜解決方案,因為複雜性會增加安全難度
  6. Fix security issues correctly

額外的補充原則

  1. Establish secure defaults:預設就要是安全的,不需要額外設定
  2. Fail securely:當控制措施失效或停止時,它應以其最安全的選項作為預設行為。例如,當防火牆失效時,它應該直接關閉所有連線並阻止所有新的連線,而不是開始接受所有連線
  3. Don’t trust services:組織不應盲目信任其合作夥伴的系統是安全的。例如,如果第三方供應商追蹤航空客戶的獎勵積分,航空公司在與客戶分享這些資訊之前,應確保餘額是準確的
  4. Avoid security by obscurity:關鍵系統的安全性不應依賴於細節的隱藏。例如,一個應用程式的安全性不應僅僅依賴於其原始碼的保密。其安全性應基於許多其他因素,包括合理的密碼政策、深度防禦、業務交易限制、穩固的網路架構以及詐欺和審計控制。

Fail securely 是我以前幾乎沒有想過的,總是在想辦法讓系統不要異常,卻很少在意如果特定功能出問題了,除了無法使用之外,會不會影響到系統的整體安全性。

文件

資安領域很重視文件,良好的文件紀錄對於確保工作的透明性、一致性與清晰度至關重要。核心效益有三個:

  1. 透明性(Transparency)
    • 透明性是合規、保險理賠、法律訴訟中的關鍵。
    • 例如:證據保管鏈(Chain of custody)是一種透過紀錄來保證證據未被篡改的程序。
  2. 標準化(Standardization)
    • 標準化讓流程可以重複使用,有助於持續改善、知識傳承與新人培訓。
    • 例如:事件回應計畫(Incident Response Plan),定義發生資安事件時每個階段該採取的行動。
  3. 清晰度(Clarity)
    • 清楚的文件讓團隊可以迅速理解情況並採取行動。
    • 資安分析師應記錄他們為何升級或關閉某個警報,便於團隊理解背景與判斷。

Playbook(劇本/手冊)

處理事情的 SOP,包含預先定義且最新的應對事件的步驟清單,用來讓資安人員遵循並把錯誤降至最低。應被視為活文件,表示資安團隊成員會頻繁更新它們。

Playbooks 通常會有著一份策略,說明了被分配任務的團隊成員的預期,有些 Playbooks 甚至會列出具體的負責人。這些預期又伴隨著一份計畫,規定 Playbooks 中描述的特定任務必須如何完成。

課程中有幾個練習是製作相關文件或是依循文件進行處理或是判斷,可見這對資安人員來說是絕對必要的技能。

其他

前陣子去參加了台灣資安大會,這次大會有一個主題是關於後量子時代的加密,目前還沒有接觸過這個部分,如何使用這些新的加密演算法以及如何將繼有系統遷移應該會是將來開發人員要會的技能。

另外一個大會中很多主題演說都有提到的零信任原則,跟 OWASP 的 Don’t trust services 原則有點像,但好像又更嚴謹,無論是第三方服務還是公司的內部系統都是要預設為不被信任的狀態。

不知到目前這個 AI 時代對資安分析師的需求有沒有減少,但就我觀察到的趨勢,好像各資安大廠都已經推出有 AI 相關輔助的工具可以來協助分析 log 或是惡意軟體了,也許這個課程之後也會漸漸改版,納入更多更先進的工具使用教學。