Information Security 資訊安全
什麼是資訊安全 (Information Security)?
用一句話來介紹就是:
"保護資訊不受未經授權的訪問,損害,泄露或破壞而做出的相關措施"
也就是要保證資訊的三大要性:
機密性(Confidentiality),完整性(Integrity),可用性(Availability)
機密性
確保只有授權的人或事物能夠查看資訊
完整性
指資料未經他人任意的修改或損毀,確保資料內容的正確及完整
可用性
可用性代表擁有授權的人可以隨時取用資料
- Ex : 公司的內部資料庫必須保持運作,以確保員工可以使用


我們通常也會把這三個要素稱為 CIA Triad,也就是資安鐵三角
CIA Triad 是資訊安全的核心原則,他們彼此間互相關聯,共同確保資訊在儲存、處理和傳輸過程中的安全性。
資訊安全的目標是平衡這三個方面,以確保敏感資訊保持機密性、完整性和可用性。
Info Leakage 資訊外洩
指未經授權或未預期地揭露或洩露機密或敏感資訊的情況,資訊外洩可能對個人、企業或組織的資訊安全造成極大的影響
什麼是敏感資訊?
可能對個人、企業、組織造成損害或風險的資訊
像是下面這幾種都算是敏感資訊
-
個人身份資料:姓名、地址、信箱、出生日期和身份證號碼...
-
財務資訊:信用卡號碼、銀行帳戶號碼、支付卡密碼...
-
醫療資訊:病歷、處方藥物資訊和醫療記錄...
-
企業機密:商業計劃、客戶資料、研發資料、專利...
一些常見的資訊外洩
管理介面洩漏
後台管理控制介面被不當地公開,使攻擊者能夠訪問和使用應用程式或網站的內容和功能,像是更改系統設置、查看敏感資料等

圖源
-
通常成因
- 駭客暴力破解管理帳號
- 管理介面沒有被適當的身份驗證機制保護
- 不常更新後台,套件管理介面存在漏洞
-
防範方法
- 身分驗證:使用多因素認證(MFA)
- 隱藏管理介面目錄 : 用複雜的名稱隱藏介面目錄,而不是
/admin、 /administrator、 /phpmyadmin 這些一眼就能看出來的名稱
- 限制 IP:限制可以訪問管理介面的 IP 範圍,防止外部訪問
- 日誌和監控:建立日誌和監控機制,檢測異常活動,方便及時發現潛在的入侵威脅
目錄 ( Index of ) 洩漏
應用程式、網站或系統中的某些目錄或文件夾被公開或沒被適當保護,使攻擊者能夠瀏覽或下載其中的內容

-
通常成因
- 配置錯誤、預設設置不當或安全漏洞而不當地公開目錄或文件夾
- 權限設置錯誤,而讓未經授權的人可以查看目錄或文件夾
-
防範方法
- 隱藏目錄頁 : 關閉目錄顯示功能
- 安全掃描工具:使用工具來檢查是否存在目錄洩漏,及時發現並修復問題。
- 隱藏敏感文件:避免使用容易猜測的文件名,以減少攻擊者發現敏感文件的機會
錯誤訊息洩漏
當程式處理錯誤時,它可能向使用者顯示包含敏感資訊的錯誤訊息,例如資料庫查詢或其他文件路徑等敏感資訊

圖源
-
通常成因
- 程式未正確處理錯誤,導致敏感資訊被包含在錯誤訊息中並顯示出來
- 程式生成的錯誤訊息可能包含過多細節,包括敏感資訊,像文件路徑等
-
防範方法
- 限制錯誤訊息:避免將詳細的錯誤訊息直接顯示
- 驗證使用者輸入:對輸入進行適當的驗證和過濾,以防止攻擊。
版本控管洩漏
應用程序或網站的版本控管系統 ( Git,Svn ...等) 未經適當保護時,
攻擊者能夠查看軟體的漏洞和修補記錄,從而知道特定版本軟體存在的漏洞
-
通常成因
- 版本控管系統未被適當地設置權限,使未經授權的人能夠查看敏感信息
- 若工程師在提交 code 時不慎包含敏感信息,這些信息可能被儲存在版本控管系統中被洩漏
- 版本控制資料夾能直接從 Web 查看,像是
./git、./svn
-
防範方法
其他
參考資料:
更多資訊洩漏 : Devcore - 被遺忘的資訊洩漏