Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~
本篇是 建構安全軟體開發 系列文的 EP02。
當然,要在本系列文的一開始,仍是要來做一些幾項常被談及的資安觀點及個人的闡述,以避免後續在閱讀文章時有認知上的誤差產生。
Confidentiality - Integrity - Availability
在所確保存取的資訊是經核可授權的狀態下,有機敏性相關的資訊傳遞和儲存時,都必須經過加密的處理。
EX:
若發生其機敏性相關的資料若 "不慎" 外洩,由於資料已經經過加密處理而無法識別,透過取得授權或是認證設備才能還原其資料。
確保修改資訊時是經授權的,所使用的資訊在傳送或儲存過程中,必需確保並能證明內容並未遭到竄改或偽造。
EX:
確保資訊能在經正確的授權情況下,隨時能夠傳輸、儲存、處理,且保持所使用的系統不能中斷其服務。
EX:
若遭受惡意程式、勒索軟體、分散式阻斷服務...等手法攻擊時,盡可能 的去維持系統服務的正常運作。
因此 Availability (可用性) 的觀點可再延伸 3 R. 的議題討論。
Authentication - Authorization - Accounting
身份的鑑別,透過 Something You Know?, Have?, or Are? 來達成 SFA(單一因子驗證)、2FA(雙重因子驗證)、MFA(多重因子驗證)。
Ex:
是否能透過密碼、密語,晶片卡、自然人憑證,指紋、虹膜...等方式,去進行交叉驗證的身份鑑別。
在當前人人手上都有智慧型手機的時代,就比較簡單透過已認證過的手機取得身份驗證,比如說使用行動網銀 App,除了透過原本就有的且各家銀行常見的 "帳號、密碼、使用者代碼" 驗證外,也可以透過手機的指紋辨識(Android 的 Fingerprint)或人臉辨識(iOS 的 FaceId),作為登入行動網銀的驗證方式。
而若登入之後,在控管比較嚴格的行動網銀 App 當中,若要執行金融交易的時候,通常會當下交易的進行中,再要求另一個層面的 "驗證" 選項,達到 MFA (多重因子驗證) 的處理。
控制該身份應有的存取權以及其授予權限之方式 (What/How you can do?),以避免不必要的逾權問題。
Ex:
存留應有的活動紀錄並能歸責肇因。(Accountability and Accounting/Auditing)
Ex:
透過 log(日誌) , timestamp(時戳)...等紀錄,完成 5 種 W(When, Where, How, Who, Why)的資訊的保存,並能從其推論究因歸責後,對系統或服務進行修正與改善,以避免再次發生該問題。
不斷的持續透過目標性與手段性來達成 資訊安全 。