110 專技高考高等考試 資訊技師 系統分析與資訊安全 考古題詳解
第 一 題25 分
請說明資訊安全的定義為何?而資訊安全最弱的一環為何?請分別條列說明熟知的防火牆(Firewall)在外部與內部安全上會遭遇何種常見的攻擊?
登入後即可作答並保存紀錄。
核心觀念
資訊安全(Information Security)是透過管理、技術與實體控制,保護資訊及資訊系統免於未經授權的存取、使用、揭露、竄改、破壞或中斷,確保資訊與服務具備下列特性:
- 機密性(Confidentiality):只有獲授權者才能讀取資訊。
- 完整性(Integrity):資訊保持正確、完整,未遭未授權竄改或破壞。
- 可用性(Availability):獲授權者在需要時能取得資訊或使用服務。
此三項合稱 CIA 三元組。實務上亦常納入身分鑑別、可歸責性、不可否認性及隱私等要求。
資訊安全最弱的一環通常是人員。使用者、管理者或維運人員可能因疏忽、缺乏訓練、社交工程或惡意行為,繞過原有的技術控制。因此,安全措施不能只靠防火牆等設備,還須搭配權限管理、教育訓練、程序規範與稽核。
解題方法:先區分防火牆內外,再說明攻擊
防火牆是在不同信任程度的網路之間,依安全規則檢查並控制網路流量的設備或系統。作答時可先以「外部攻擊者試圖穿越邊界」與「內部人員或已進入內網的主機造成威脅」分組,再分別列舉常見攻擊及其效果。
防火牆能降低部分網路威脅,但不等於完整的端點防護或應用程式安全控制;設定錯誤、允許的服務遭利用,或內部流量未受適當管控,都可能使其防護失效。
防火牆在外部安全上常見的攻擊
- 未授權連線與服務探測:掃描 IP 位址及連接埠,尋找開放服務、錯誤設定或可利用的弱點。
- 規則繞過或規則設定錯誤:利用過度寬鬆的存取控制規則、未限制來源位址或不必要的開放連接埠進入內部網路。
- 應用層攻擊:對公開的網站、郵件或其他服務發動 SQL Injection、跨網站指令碼等攻擊。只依 IP、連接埠或傳輸層資訊過濾的防火牆,未必能辨識應用程式內容中的惡意行為。
- 位址或封包偽裝:偽造來源 IP 位址或利用封包處理上的缺陷,嘗試通過存取控制規則。
- 阻斷服務攻擊(DoS/DDoS):大量送出流量或連線請求,耗盡防火牆或其後端服務的頻寬、連線表或處理資源,使合法使用者無法使用服務。
第 二 題25 分
加密(Encryption)的基本概念就是利用某些方式將資訊內容改變或打散,避免無權者檢視內容,請問透過加密可以提供哪三種安全服務?一般而言,加密系統會遭遇哪三種常見的攻擊?
登入後即可作答並保存紀錄。
核心觀念
本題考查加密可提供的安全服務,以及攻擊者常用的密碼分析方式。
加密是使用演算法與金鑰,將明文轉換為密文;解密則將密文還原為明文。加密最直接提供機密性,但在適當的密碼機制與協定設計下,也能提供完整性及鑑別性。
解題方法
第一部分先辨認加密所保障的安全目標,再列出三種服務:
- 機密性(Confidentiality):未經授權者無法理解訊息內容。
- 完整性(Integrity):可偵測資料是否遭竄改。
- 鑑別性(Authentication):確認訊息來源或通信對象的身分。
第二部分則從攻擊者可取得的資料與能力,整理三種常見攻擊:
第 三 題30 分
物件是資料與相關處理資料的程序與函數結合在一起的組合體,請分別條列說明物件的三種特性為何?並以該三種特性模擬並寫出真實的一輛紅色、四門、 的休旅車。
登入後即可作答並保存紀錄。
核心觀念
本題考查物件導向分析與設計中,物件的三種基本特性:封裝、狀態與行為。物件是將資料及處理資料的程序、函數結合而成的單位:
- 狀態(State):物件在某一時點所具有的資料或屬性值。
- 行為(Behavior):物件能執行的操作,通常由方法表示。
- 封裝(Encapsulation):將狀態與操作集合在物件內,並透過公開介面提供服務;外部不必直接存取物件內部資料。
解題方法
以題目指定的休旅車作為一個物件,先列出它的屬性與屬性值,說明其狀態;再列出車輛可以執行的操作,說明其行為;最後交代資料與操作如何組合並透過介面使用,說明其封裝。
三種特性與休旅車範例
- 狀態(State) 物件的屬性及其目前值。本題休旅車的狀態可表示為:
- 顏色:紅色
- 車門數:四門
- 引擎排氣量:
第 四 題20 分
抽象資料型態(Abstract Data Type, ADT)是使用資料抽象化的方法建立的自訂資料型態,包含資料與相關操作兩大部分,請問在 C++、C# 與 Java 等語言中,此自訂資料型態稱為什麼?請舉例繪圖說明。
登入後即可作答並保存紀錄。
核心觀念
題目考查抽象資料型態(Abstract Data Type, ADT)如何在物件導向程式語言中實作。ADT 將「資料的表示方式」與「可對資料執行的操作」結合成一個抽象規格;使用者透過操作介面使用資料,不必知道內部如何儲存與處理。
在 C++、C# 與 Java 等語言中,這種自訂資料型態稱為類別(class)。類別以資料成員描述狀態,以成員函式(方法)提供操作;建立出來的個別資料則稱為物件(object),也就是類別的實例。
解題方法
作答時先對應 ADT 的兩個組成部分:
- 資料:由類別中的資料成員表示。
- 相關操作:由類別中的公開方法表示。
再用一個常見的 ADT,例如「堆疊(Stack)」說明類別如何封裝資料與操作。使用者只需呼叫 push、pop、top 等方法,不必直接存取堆疊的內部儲存結構。
範例與繪圖說明
以整數堆疊為例,類別內部可用陣列儲存元素,並以 topIndex 記錄堆疊頂端: