113 高普考高考三級 資通安全 資通安全概論 考古題詳解
第 一 題25 分
請說明何謂社交工程攻擊(Social Engineering Attack)?並詳述常見的社交工程攻擊方式及相對應的防護措施。
登入後即可作答並保存紀錄。
核心觀念
社交工程攻擊(Social Engineering Attack)是攻擊者利用人性的信任、恐懼、好奇、服從權威或貪圖便利等心理弱點,誘使使用者洩漏機敏資訊、執行不安全操作,或協助攻擊者取得系統與實體環境的存取權。其主要攻擊目標是「人」,常搭配電子郵件、電話、簡訊、社群平台或實體接觸等管道,進一步竊取帳號密碼、散布惡意程式或繞過組織的安全控管。
這題重點在說明社交工程的定義,並將常見攻擊方式與相對應防護措施配對。答題時可依「攻擊管道與手法 → 利用的心理弱點 → 防護措施」逐項整理。
常見攻擊方式及防護措施
| 攻擊方式 | 攻擊手法 | 相對應防護措施 |
|---|---|---|
| 網路釣魚(Phishing) | 以偽冒的電子郵件、網站或登入頁面,誘使使用者點擊連結、輸入帳密、信用卡資料或下載附件。信件常假借銀行、政府機關、主管或知名服務商名義,營造帳戶異常、限時處理等情境。 | 檢查寄件者地址、網域名稱與連結實際目的地;不從可疑訊息連結登入;附件或連結先經防毒與郵件安全機制檢查;採用多因素驗證(MFA);透過已知管道向發信單位查證。 |
| 魚叉式網路釣魚(Spear Phishing) | 針對特定個人、部門或機關蒐集背景資料後,製作高度客製化訊息,讓內容看起來像同事、主管或合作廠商所發。 | 對帳密、機敏檔案、付款或權限異動等要求採取二次查證;涉及高風險操作時使用不同管道確認;落實最小權限,並對高風險職務加強資安教育與演練。 |
| 電話社交工程/語音釣魚(Vishing) | 攻擊者透過電話冒充資訊人員、主管、銀行或公務機關人員,以帳戶遭鎖定、案件緊急等理由要求提供密碼、驗證碼或遠端操作。 | 不因來電顯示或對方熟悉內情就交付密碼、一次性驗證碼或個資;掛斷後改用機關通訊錄或官方已知電話回撥;資訊人員不得以電話索取使用者密碼。 |
| 簡訊釣魚(Smishing) | 以簡訊或即時通訊訊息傳送假冒包裹通知、繳費通知、帳戶異常或短網址,誘使收件者點擊或回覆個資。 | 不直接點擊陌生短網址;由官方 App 或自行輸入已知網址查詢;不回覆個資或驗證碼;將可疑訊息通報並刪除。 |
| 誘餌攻擊(Baiting) | 利用使用者的好奇心或利益誘因,例如在公共場所放置標示「薪資表」或「機密資料」的 USB 隨身碟,或提供免費下載、贈品連結,誘使受害者插入裝置或執行檔案。 | 不使用來源不明的儲存媒體;關閉或限制自動執行功能;由機關提供受控的檔案交換方式;對外來檔案進行惡意程式掃描。 |
| 假冒身分/冒名請求(Impersonation) | 假冒主管、同事、廠商或客服,利用權威、熟識關係或緊急情境,要求提供資料、開通權限、變更收款帳戶或執行特殊操作。 |
第 二 題25 分
請說明基於密碼學演算法的數位簽章(Digital Signature)具有哪些學理特性?並詳述實務應用領域需要使用可信賴的憑證機構(Certification Authority, CA)依法簽發的憑證(Certificate)來製作數位簽章之原因?
登入後即可作答並保存紀錄。
核心觀念
本題考查數位簽章的密碼學性質,以及公開金鑰如何與特定簽署人建立可信任的對應關係。數位簽章以簽署人的私密金鑰產生,驗證者使用相對應的公開金鑰驗證;實務上,憑證機構(CA)簽發的數位憑證,則用來證明公開金鑰屬於憑證所載的特定身分。
數位簽章通常先對文件計算雜湊值,再以簽署人的私密金鑰對雜湊值進行簽署。驗證時,使用簽署人的公開金鑰驗證簽章,並比對文件雜湊值:
其中 為文件、 為雜湊函數、 為簽署人私密金鑰、 為數位簽章。驗證者以公開金鑰 執行驗證,確認簽章確由相對應私密金鑰產生,且文件內容未在簽署後遭變更。
解題方法
作答分成兩層:先說明數位簽章本身提供的安全性質,再說明 CA 憑證如何補足公開金鑰與身分的信任問題。需特別區分「簽章可由某把私密金鑰驗證」與「該金鑰確實屬於某人」:前者由密碼學驗證,後者須透過可信任的憑證及其簽發程序建立。
一、數位簽章的學理特性
-
訊息完整性 驗證簽章時會檢查文件所對應的雜湊值;文件若遭竄改,驗證即會失敗。因此可偵測簽署後的內容變更。
-
來源鑑別與資料來源驗證 有效簽章表示簽署是由與驗證公鑰相對應的私密金鑰產生。若公鑰已可靠地綁定至簽署人身分,便可用來確認簽署來源。
-
不可否認性 在私密金鑰由簽署人妥善保管、簽章演算法安全、憑證與簽署流程可信,且相關證據足以支持歸屬的前提下,簽署人難以否認曾以其私密金鑰簽署。不可否認性不是單靠數學演算法即可無條件保證;私密金鑰遭竊或遭他人控制時,歸責仍須考量實際情況。
-
可驗證性 持有相應公開金鑰者可獨立驗證簽章,不需取得簽署人的私密金鑰。驗證過程不會洩漏私密金鑰。
-
不提供機密性 數位簽章主要提供完整性、來源驗證及不可否認性,不會隱藏文件內容。若需保密,須另採加密機制。
二、實務上使用 CA 憑證的原因
第 三 題25 分
若網站系統設計不當,將可能遭受 SQL 注入攻擊(SQL Injection)。請說明產生 SQL 注入攻擊的可能原因,並詳述防禦 SQL 注入攻擊的系統改善方案。
登入後即可作答並保存紀錄。
核心觀念
SQL 注入是指網站將使用者輸入直接拼接進 SQL 指令,資料庫因而把輸入內容當成 SQL 語法執行。攻擊者可藉此繞過登入或權限檢查、讀取或竄改資料,甚至刪除資料;實際影響取決於應用程式與資料庫帳號的權限。
本題考查兩部分:一是辨認 SQL 注入的成因,二是從程式、資料庫與系統管理層面提出改善方案。題目不涉及特定法條或計算公式。
解題方法
可依「輸入如何進入 SQL」找出弱點,再依「阻止輸入改變查詢語意、限制查詢權限、降低攻擊影響」安排防禦措施。作答時應以參數化查詢為主要防線,並以輸入驗證、最小權限及安全測試補強;單靠過濾特殊字元或隱藏錯誤訊息並不足以防止注入。
產生 SQL 注入攻擊的可能原因
- 以字串拼接建立 SQL:程式將輸入值直接接到查詢字串中,未將資料與指令分開。輸入中的引號或 SQL 語法因而能改變原查詢的條件或結構。
- 未使用參數化查詢:查詢與使用者提供的值未分離處理,使資料庫可能把輸入內容解析為 SQL 指令的一部分。
- 輸入驗證不足或驗證方式錯誤:未依欄位用途限制格式、型別、長度及允許值;只用黑名單刪除幾個特殊字元,容易因編碼、大小寫或語法變形而遭繞過。
- 動態 SQL 使用不當:將使用者輸入直接用於資料表名稱、欄位名稱、排序欄位或查詢片段。這些識別項通常無法像一般資料值一樣以參數傳入,若未採白名單控制便有注入風險。
- 使用高權限資料庫帳號:網站程式以管理者或過度授權帳號連線,使注入成功後造成更大範圍的資料讀取、修改或刪除。
- 錯誤處理與環境設定不當:將資料庫錯誤、查詢內容或堆疊資訊直接回傳給使用者,會洩漏資料表、欄位及資料庫結構,協助攻擊者調整輸入。
- 未進行安全開發與測試:程式碼審查、弱點掃描及滲透測試不足,或舊程式與第三方元件未更新,使有缺陷的查詢長期存在。
防禦 SQL 注入的系統改善方案
一、程式與查詢設計
- 優先採用參數化查詢或預備陳述式(prepared statement):先固定 SQL 結構,再將輸入值以參數傳入,讓資料庫將其視為資料,而非 SQL 語法。這是防止一般 SQL 注入的核心措施。
- 使用安全的 ORM 或資料存取介面:採用能正確綁定參數的功能;避免改用未受保護的原生 SQL 字串拼接。
- 動態識別項使用白名單:若排序欄位、資料表或欄位名稱必須由使用者選擇,應將輸入對應到程式預先定義的合法清單,不得直接拼入查詢。
第 四 題25 分
請詳述至少兩種常用於防止洩露個人隱私或機敏資料的去識別化(De-identification)方法。
登入後即可作答並保存紀錄。
核心觀念
去識別化是移除或轉換資料中的識別資訊,降低資料被用來辨認特定個人的風險,同時盡可能保留資料的分析或利用價值。常見作法包括移除直接識別欄位、概括或遮蔽準識別欄位,以及加入統計雜訊。
直接識別資訊可單獨辨認個人,例如姓名、身分證字號、電話;準識別資訊單獨看未必能辨認個人,但與其他資料交叉比對後可能識別個人,例如生日、性別、郵遞區號或職業。去識別化不等於資料必然無法回復或重新識別,仍須考量外部資料、資料粒度與攻擊者掌握的資訊。
解題方法:說明方法、效果與限制
本題為申論題,作答時應選取至少兩種常見方法,分別交代其操作方式、適用情境及限制。以下列舉四種,考場上詳述其中兩種以上即可。
一、資料遮蔽(Masking)
將敏感欄位的全部或部分內容隱藏,例如把身分證字號呈現為「A12****789」,或只保留電話號碼末三碼。也可用固定符號取代部分欄位,讓使用者只能看到完成業務所需的資訊。
此法容易實作,適合畫面顯示、測試資料或有限度分享資料。然而,若保留的字元足以縮小辨識範圍,或其他欄位可供交叉比對,仍可能識別個人;若遮蔽規則固定,也可能遭推測或反覆查詢而還原部分資訊。因此,遮蔽範圍應依使用目的與資料風險設定。
二、概括化(Generalization)
降低資料精細程度,以較廣泛的類別取代原值。例如將完整生日改為出生年或年齡區間,將精確地址改為行政區,或將精確薪資改為薪資級距。概括化可降低準識別資訊的辨識力,並保留部分統計分析價值。
其限制是概括程度不足時,資料仍可與外部資訊連結而識別個人;概括程度過高則會降低資料的分析效用。實務上須依資料用途,在隱私保護與資料可用性之間取捨。