--- title: 業界視角下的資訊安全筆記 tags: [2026_Spring, Security] --- > 警告:本筆記目前完全為 AI 生成。 ## Week 1: 課程簡介與掃毒引擎簡介 (Course Introduction & Scan Engine Introduction) ### 1. 課程與講者簡介 * **講者背景**:由任職於趨勢科技 (Trend Micro) 達 30 年的資深工程師 Terrence Chou (周存貹) 授課。講者具備 CISSP 資訊安全認證。 * **趨勢科技概況**:1988 年創立,總部位於日本東京,而研發總部設於臺灣台北。該公司為台灣資安新創產業的人才搖籃,體現了「台灣研發、全球獲利」的企業模式。 * **資安的重要性與產業生態**: * 課程舉出實際案例以強調資安影響力,包含 2018 年台積電產線中毒事件(導致高達 52 億元損失),以及 2025 年初台灣首例醫院遭大規模勒索軟體攻擊事件。 * 資訊安全產業範疇極廣,沒有單一公司能夠涵蓋所有領域,因此企業間的協同合作極為重要。此外,由於資安防禦需要高度專業,其職位很難被 AI 完全取代,具備極高的職業保障。 ### 2. 惡意軟體 (Malware) 核心概念與演進 * **定義**:未經擁有者同意,旨在滲透或破壞電腦系統的惡意程式。其主要行為模式包含自我傳播 (Propagation)、系統破壞 (Destruction)、未經授權的操作 (Unauthorized/Backdoor) 以及竊取機密資訊 (Information)。 * **常見類型**:種類繁多,包含病毒 (Viruses)、蠕蟲 (Worms)、木馬程式 (Trojans)、勒索軟體 (Ransomware)、無檔案惡意軟體 (Fileless Malware) 等。 * **威脅演進史**: * **1980s 以前 (起源與惡作劇)**:早期如 Creeper 或是 1986 年的 Brain 病毒,多利用磁碟片傳播;著名的 CIH 病毒則會定期發作造成破壞。此時期的攻擊動機多為展現技術能力或純粹惡作劇,較缺乏商業利益驅動。 * **2000s (大規模擴散)**:如 ILOVEYOU 病毒,開始利用電子郵件與社交工程手法進行攻擊;隨後出現殭屍網路 (Botnets) 以控制大量受感染電腦,攻擊目標轉向大規模破壞與初步的資料竊取。 * **現代 (商業變現與進階威脅)**:攻擊行為變得高度組織化,甚至擁有國家級資源支持。發展出勒索軟體即服務 (RaaS)、破壞力極大的供應鏈攻擊 (如 SolarWinds 事件),以及不需下載檔案、極難被傳統方式偵測的無檔案惡意軟體 (Fileless Malware)。 ### 3. 掃毒引擎 (Scan Engine) 技術剖析 * **核心運作機制**:引擎將惡意軟體視為檔案或資料內容,負責「讀取」與「掃描」動作,並依據結果放行正常檔案或攔截、清除惡意檔案。 * **效能設計考量**:優良的掃毒引擎需要具備高速掃描能力、極低的記憶體消耗、支援多執行緒 (Multi-threading)、高擴充性,以及跨平台的部署能力。 * **掃描流程架構**: 1. **檔案類型識別 (File Type Identification)**:透過特徵比對 (Signature Matching)、使用者自定義檔案類型 (User-Defined File Type) 與副檔名檢查 (Extension Name Check) 來初步篩選與分類。 2. **檔案掃描 (File Scanning)**:將檔案的關鍵內容載入掃描緩衝區 (Scan Buffer) 以進行深入分析、解壓縮或解碼處理。 ### 4. 病毒碼 (Pattern File) 與技術挑戰 * **病毒碼特性**:在架構上與掃毒引擎分離,必須頻繁更新以應對新威脅,而提供持續更新的病毒碼也是防毒軟體公司獲利的核心模式。 * **演進與形式**:從早期的單純字串特徵比對,一路發展到包含主動行為控制 (Action inside)、腳本判定 (Script Pattern)、雲端特徵碼 (Cloud Pattern) 與雜湊值 (Hash) 比對等複雜機制。 * **更新災難風險**:病毒碼或其更新機制若發生邏輯錯誤,可能導致嚴重的系統停機災難。歷史上著名的案例包含 2005 年趨勢科技的 594 災難 (導致 CPU 滿載)、2024 年 CrowdStrike 導致全球 Windows 藍白畫面當機,以及 2025 年 Cloudflare 因無窮迴圈造成的網路大地震。 * **病毒逃逸 (Virus Evasion) 與未來挑戰**:僅依靠傳統掃毒引擎與病毒碼已經不敷使用。現代惡意軟體演進極快,些微的程式碼變更即可規避偵測,且感染途徑多變(例如利用一般文件檔夾帶惡意程式碼)。因此,業界亟需開發導入 AI 與進階行為分析技術的新一代掃毒引擎。 ## Week 3: 掃毒引擎技術分析 (Scan Engine Technology) ### 1. 密碼學基礎 (Cryptography Basics) * **編碼 (Encoding)**:不需密鑰,主要用於資料格式轉換。常見演算法如 Base64。 * **加密 (Encryption)**:需要密鑰 (Key) 才能進行加解密,用於隱藏真實內容。常見演算法如 AES-256。 * 對稱式加密 (Symmetric):加解密使用同一把密鑰。 * 非對稱式加密 (Asymmetric):使用公鑰加密、私鑰解密(例如 RSA,常見於勒索軟體)。 * **雜湊 (Hashing)**:不可逆 (Irreversible) 的單向轉換,任何長度的輸入都會產生固定長度的輸出。 * 特性:輸入只要有微小改變,輸出就會截然不同。任兩個不同檔案產生相同 Hash 值的機率極低(碰撞機率極低)。 * 應用:可用作檔案的唯一識別碼 (ID),用於驗證檔案是否被竄改,或是快速比對已知的好/壞檔案,能絕對避免誤判。常見演算法如 SHA-256。 ### 2. 千面人病毒 (Polymorphic Malware) 與虛擬執行 * **逃避偵測技術**:病毒為了規避傳統病毒碼掃描,會將自身核心惡意程式碼加密,並在每次感染新檔案時使用不同的加密方式或密鑰。 * **千面人病毒特性**:每次感染產生的檔案特徵皆不同,導致可能出現數百萬種變種病毒碼,傳統掃毒引擎與靜態特徵碼無法負荷。其運作邏輯為「先解碼,再發作」。 * **偵測方法 (Emulation/Virtual CPU)**: * 建立虛擬的 CPU 與記憶體環境(模擬執行)。 * 讓疑似病毒的檔案在虛擬環境中執行其解密迴圈 (Decryption Loop)。 * 當病毒解密完成,暴露出真實的惡意程式碼 (Unpack Pattern Working) 時,觸發中斷條件 (Break Conditions) 並進行特徵比對。 * 挑戰:效能消耗大、執行速度慢,且部分病毒可能會設計多重加解密迴圈來拖垮效能,或偵測到虛擬環境而不觸發解密。 * **沙盒技術 (Sandbox)**: * 在真實的虛擬機器 (VM) 中完整執行目標檔案,觀察其動態行為(如加密檔案、連線惡意網址、讀取系統機密等)來判定是否為惡意軟體。 * 挑戰:建置環境龐大且耗資源,不適合部署於一般終端設備,通常建置於閘道器 (Gateway) 產品上;且進階病毒具備反沙盒 (Anti-VM) 技術。 ### 3. 機器學習 (Machine Learning) 在資安的應用 * **傳統防禦的瓶頸**:傳統防禦流程(分析病毒 -> 釋出病毒碼 -> 全球部署)耗時過長,且單一病毒碼只能抓到一種病毒,無法應對現今每天數以萬計的新型變種惡意軟體。 * **機器學習工作流程**: 1. 收集資料集 (Collect Data Set)。 2. 標註資料 (Label Data):區分正常檔案與惡意檔案。 3. 特徵擷取 (Feature Extraction):找出關鍵特徵,例如檔案大小、建立時間、系統 API 呼叫、直方圖分佈、以及軟體熵 (Entropy,代表軟體的無序程度) 等。 4. 訓練與測試 (Training / Testing) 產生模型。 5. 預測 (Predict):將新檔案送入模型判斷是否為病毒。 * **優缺點比較**: * 優點:不需人工詳細分析檔案,預測與判定速度極快。 * 缺點:存在誤判率 (False Positive),且一旦發生誤判難以透過簡單規則修正,必須重新訓練並釋出新模型。 * **動態機器學習 (Runtime/Dynamic ML)**: * 靜態 ML 僅擷取檔案靜態特徵;動態 ML 則是讓目標檔案實際執行,將其「動態行為」(如修改系統設定、停用防毒軟體等)轉化為特徵加入訓練。 * 能有效提升偵測率並降低誤判,且可應用於 Office、PDF 等多種不同文件格式的惡意軟體偵測。 * **其他應用場景 - 變臉詐騙 (BEC)**:利用 ML 學習企業高階主管 (如 CEO) 的寫作風格(如:大小寫習慣、常用字彙、句子長度、標點符號等特徵),以判斷匯款指示信件是否為駭客偽造。 * **總結**:機器學習並非解決所有資安問題的萬靈丹,而是多層次防禦體系中的一項重要且強大的工具。 ## Week 4: 資料安全技術 ### 1. 資訊安全與人類防禦系統的類比 * **第一道防線(物理和化學屏障)**:如同人類的皮膚與黏膜,資安系統亦有初步阻擋未經授權存取的邊界防禦。 * **第二道防線(先天性免疫系統)**:如同吞噬細胞或自然殺手細胞(NK 細胞),對應於資安中針對已知或異常特徵進行即時攔截的防護機制。 * **第三道防線(後天性免疫系統)**:如同 T 細胞與 B 細胞的記憶與專一性清除能力,對應於具備記憶與深度分析能力的進階資安防護(如機器學習與行為分析)。 ### 2. 網路與漏洞防護技術 * **防火牆與入侵防護 (IPS & Firewall)**:透過過濾進入與離開裝置的網路流量(依據 IP 位址、通訊協定、埠號或應用程式)來限制通訊。 * **零時差漏洞防護 (Early Zero-Day Protection)**: * **定義**:指尚未發布官方修補程式的安全漏洞。駭客利用此空窗期進行的攻擊稱為「零時差攻擊」,相關漏洞的發掘與交易已形成武器化與市場化的地下產業鏈。 * **著名案例**:2010 年破壞伊朗核設施離心機的 Stuxnet 蠕蟲,以及 2020 年針對 SolarWinds Orion 產品進行的供應鏈攻擊(Sunburst 惡意程式)。 * **虛擬修補 (Virtual Patching / Vulnerability Protection)**:在官方正式釋出修補程式前,由資安產品主動套用入侵防護規則,攔截針對該漏洞的攻擊網路封包,藉此爭取時間並輔助企業的修補程式管理機制。 * **網頁信譽評等 (Web Reputation)**:作為防範釣魚網站與惡意連結的第一道防線,透過分析網站存在時間、位置變更記錄及可疑活動等指標給予信任評分,並進行屬性分類(如商業、教育、遊戲等),以決定是否允許端點存取。 ### 3. 端點行為與應用程式控管 * **應用程式控管 (Application Control)**:採用「正向表列 (Whitelisting)」機制,透過整合 Active Directory 制定精細的端點策略,僅允許白名單內的應用程式執行。 * **完整性監控 (Integrity Monitoring)**:先建立系統正常狀態的基準快照 (Baseline Snapshot),接著定期監控登錄檔、服務、處理程序、通訊埠及檔案等資源。若發生不當修改則發出警告。實務上採取「監控」而非直接「阻擋」,主要考量是為了降低誤判率並維持良好的使用者體驗。 * **行為分析 (Behavioral Analysis)**:持續觀察並記錄端點上的系統事件序列。當程式執行特定的動作組合(例如:檢查瀏覽器版本、嘗試取得 Administrator 權限,並同時更改多個文件的內容與副檔名),系統會將其判定為已知惡意行為(如勒索軟體)並予以封鎖。 ### 4. 進階威脅分析平台 * **網路內容關聯性分析 (Network Content Correlation)**:監控端點與潛在的命令與控制伺服器 (C&C Server) 之間的連線。系統會依據定期更新的全域 C&C IP 清單,一旦發現惡意連線即主動切斷並留下紀錄。 * **沙盒技術 (Sandbox Analysis)**: * **雲端沙盒 (Sandbox as a Service)**:利用資安公司提供的雲端虛擬機資源,在受控環境下觸發並分析可疑檔案或網址的動態行為。 * **客製化沙盒 (Custom Sandbox Analysis)**:利用客戶自身的運算資源,建立與企業內部作業系統、軟體組態一致的虛擬映像檔,並具備安全上線模式以分析多重階段下載等進階攻擊。 * **優缺點**:優點為可平行處理且易於重啟乾淨環境;缺點則是建置成本高、極度耗費運算資源,且部分進階惡意軟體具備反沙盒 (Anti-VM) 偵測能力,若發現身處虛擬機環境便會停止執行。 ### 5. 資料防護與設備控管 * **資料外洩防護 (Data Leak Prevention, DLP)**: * **防護機制**:針對使用中的資料採用數位版權管理 (DRM);傳輸中的資料利用內容感知技術進行即時攔截;靜止狀態下的資料則透過作業系統內建機制(如 Windows BitLocker、Mac OS FileVault)進行全硬碟加密。 * **識別與偵測**:可整合防毒引擎,在掃描時同步比對文件浮水印 (Fingerprint)。針對原始碼防護,亦可自訂關鍵字計分規則(例如比對特定的 C++ 或 Java 函式庫),累計達標即觸發阻斷並告警。 * **合規性與實務挑戰**:DLP 協助企業符合 GDPR、PCI/DSS、HIPAA 或台灣個資法等法規。然而,傳統 DRM 的全面加密機制可能會破壞特殊檔案格式(如製造業生產機台的座標位移),且若主管未確實審核便盲目放行解密申請,將使防護關卡形同虛設。 * **周邊設備控管 (Device Control)**:針對 USB、外接硬碟、印表機等外部設備設定精細權限(完全存取、唯讀或封鎖),藉此防止實體途徑的資料外洩,並降低隨身碟自動執行 (Auto-Run) 帶來的資安風險。 ## Week 5: 資安產品開發 ### 1. 資安產品的開發核心與目標 * **產品交付與管理**:探討如何將各項資料安全技術封裝並交付給終端使用者,同時提供系統管理員有效的介面以管控使用者的安全組態設定。 * **產品本身的安全性 (Product Security Development)**:開發資安產品時,必須確保產品本身的架構與程式碼安全,避免防禦工具反而成為駭客利用的漏洞。 ### 2. 資安產品的核心需求 (Security Product Requirements) * **完善保護 (Well Protection)**:確保使用者的數位資產免受各類威脅侵害。 * **3 Smalls (三小原則)**: * 資源消耗小 (Small resources consumption):極小化對 CPU、記憶體與磁碟空間的佔用,避免拖慢系統效能。使用者、系統管理員在乎。 * 體驗影響小 (Small Experience Impact):追求「安裝後即可遺忘 (Install and forget)」的無縫使用者體驗。使用者在乎。 * 總體擁有成本小 (Small Total Cost of Ownership):降低企業或使用者的購買與後續維護成本。採購人員在乎。 * **可視性與管理能力 (Visibility and Management)**: * 提供防護狀態的可視化介面(如儀表板與定期報告)。 * 建立完善的事件回應 (Incident Response) 機制,以應對突發的資安事件。 * **目標受眾多樣性 (Target Audience)**:產品設計需同時滿足一般使用者、系統操作員、高階管理者、資安分析師與採購人員等不同角色的期待與需求。 ### 3. XDR 與 AI 應用 (AI XDR) * **日誌分析的挑戰**:擴展式偵測與回應 (XDR) 產品會從端點、伺服器與各式設備收集數以千計的系統日誌 (Logs),純靠人工分析極度困難。 * **AI 的介入**:導入人工智慧技術以協助處理海量數據,透過關聯分析快速從雜亂的日誌中發掘潛在的進階持續性威脅 (APT) 與異常行為。 ### 4. 軟體產品開發基礎與生命週期 * **開發實務考量**:包含安全登入(如雙重認證 2FA)、易於除錯 (Easy of debugging)、版本控制,以及與 PM、業務、行銷和在地化團隊的跨部門協作。 * **獲利模式 (Profit Model)**:需評估採用訂閱制、一次性買斷、依使用量計費或是免費/廣告模式。 * **軟體開發生命週期 (SDLC)**:涵蓋需求分析 (Requirement Analysis)、設計 (Design)、實作 (Implementation)、測試 (Testing) 與演進 (Evolution),並需考量 AI 技術對此傳統流程帶來的衝擊與改變。 ### 5. 勒索軟體 (Ransomware) 攻擊流程與密碼學應用 * **初始入侵 (Initial Infiltration)**:透過網路釣魚、惡意連結或漏洞利用等方式初步潛入目標環境。 * **執行與傳播 (Execution & Spread)**:惡意程式執行後,進行橫向移動並嘗試取得系統控制權限。 * **檔案加密 (File Encryption) 與非對稱式加密**: * 勒索軟體會鎖定並加密系統內的重要數據,並更改副檔名。 * 運作核心依賴**非對稱式加密 (Public-key Cryptography)**:駭客利用公鑰 (Public Key) 對受害者的檔案進行加密,而解密所需的私鑰 (Private Key) 僅保留在駭客手中,導致受害者無法自行解密。 * **勒索通知 (Ransom Note)**:在螢幕顯示勒索訊息,要求支付贖金(通常為加密貨幣)以換取解密金鑰。 * **應對與結果 (Response & Outcomes)**:受害者最終面臨的選擇通常只有支付贖金以期解密檔案,或是放棄被加密的資料,徹底清理系統並從既有的備份機制中進行還原。 ## Week 7: 編寫安全程式碼 ### 1. 安全程式碼的重要性 (Importance of Secure Coding) * **保護敏感資料 (Protects Sensitive Data)**:防止個人與財務資訊遭受未經授權的存取與外洩。 * **預防漏洞利用 (Prevents Exploits)**:減少駭客可利用的系統漏洞,如 SQL Injection 或 Buffer Overflow。 * **維持使用者信任 (Maintains User Trust)**:確保應用程式的安全性,以維護企業聲譽與客戶信任。 * **符合法規要求 (Compliance with Regulations)**:遵循各產業對資料保護的嚴格規範(如 GDPR、HIPAA 等)。 * **降低修補成本 (Reduces Costs)**:在開發階段預防漏洞,遠比軟體部署後才進行修補來得節省成本。 * **確保營運持續性 (Ensures Business Continuity)**:避免資安事件中斷企業的日常營運,確保系統穩定可靠。 ### 2. 常見的不安全程式碼範例 (Bad Coding Examples) * **緩衝區溢位 (Buffer Overflow / Buffer Overrun)**: * **原理**:常見於 C/C++ 語言。當寫入記憶體的資料長度超過原先配置的緩衝區大小時,會覆寫相鄰的記憶體區塊,可能導致程式崩潰或被植入惡意程式碼。 * **防範**:避免使用不檢查長度的危險函式(如 `strcpy`),應改用安全的替代方案(如 `strncpy` 並手動補上字串結尾),或直接使用更安全的高階資料型態(如 C++ 的 `std::string`)。 * **資料隱碼攻擊 (SQL Injection)**: * **原理**:駭客透過輸入欄位植入惡意的 SQL 語法(例如利用 `' OR '1'='1'` 繞過驗證邏輯),進而存取、竄改或刪除資料庫內容。 * **防範**:絕對不可將使用者輸入直接串接於 SQL 查詢語句中,必須全面採用參數化查詢 (Parameterized Queries) 或預備語句 (Prepared Statements)。 * **動態 DLL 載入攻擊 (Dynamic DLL Loading Attack)**: * **原理**:Windows 應用程式在載入 DLL 時若未指定絕對路徑,會依照系統特定順序搜尋目錄。駭客可將惡意 DLL 放置於優先搜尋目錄(如應用程式所在目錄)中,藉此劫持程式執行流程。 * **防範**:載入外部函式庫時應使用絕對路徑,限制 DLL 搜尋目錄(如使用 `SetDllDirectory`),並驗證 DLL 的數位簽章。 ### 3. 開發安全程式碼的實務原則 (Secure Coding Practice) * **驗證所有輸入 (Validate All Inputs)**:對來自外部的任何輸入皆保持不信任,並優先採用「白名單 (Whitelisting)」機制進行過濾。 * **最小權限原則 (Least Privilege)**:程式與服務應僅以完成工作所需的最低權限層級運行。 * **多層次防護 (Defense in Depth)**:不依賴單一安全機制,應建構多重防線以提升整體系統安全性。 * **保持軟體更新 (Keep Software Updated)**:定期修補已知漏洞,並使用具備良好安全維護的第三方函式庫與框架。 * **開發流程控管**:包含落實程式碼審查 (Code Reviews)、進行威脅建模 (Threat Modeling),並善用靜態與動態分析工具 (Static and Dynamic Analysis)。若有疑慮,也可利用 AI 輔助檢查程式碼的安全性。 ### 4. 資安事件的應對與 AI 時代的開發者素養 * **面對安全漏洞的態度**:若發現程式碼存在安全問題,應公開承認而非隱瞞,需立即提供短期的修補方案,後續產出詳細的分析報告並制定長期的改善對策 (Lesson Learn)。 * **AI 輔助開發的雙面刃**: * 未來 AI 能自動生成程式碼,但「不會為安全性負責」。 * 工程師在安全程式碼上的職責,將由單純的「撰寫」轉向「審查與管控」。 * 最大的潛在風險並非 AI 本身,而是開發者「錯誤地完全信任 AI」。 * **工程師的職業道德與法律風險**: * 課程特別強調,工程師除了寫出安全的程式碼,其「本身也必須安全」。 * 近年發生多起高階工程師因高額報酬誘惑、債務壓力,或抱持著「我只寫程式、不碰金流」的僥倖心態,最終淪為詐騙集團或非法平台(如台灣史上最大的工程師詐騙團黃鶴樓集團、暗網毒品平台等)幫兇的真實案例。 * **核心精神**:保護自己,且絕對不要造成別人的損失。