前言
近日開發新的系統,即將要系統上線,程式碼需要做系統安全弱點掃描,確保上線後,不會輕易的被駭客攻破,在此期間做了許多的功課,學習如何透過工具掃描,以及排除問題,因此想再做筆記,並分享給有需要的人。
目錄
前言
歷程
開放網路軟體安全計畫
一、十大網路應用系統安全弱點 (OWASP TOP 10)
(一)、A1
Broken Access Control
(權限控制失效)
(二)、A2
Cryptographic Failures
(加密機制失效)
(三)、A3 Injection (注入式攻擊)
(四)、A4 Insecure Design (不安全設計)
(五)、A5 Security Misconfiguration (安全設定缺陷)
(六)、A6 Vulnerable and Outdated Components (危險或過舊的元件)
(七)、A7 Identification and Authentication Failures (認證及驗證機制失效)
(八)、A8
Software and Data Integrity Failures (軟體及資料完整性失效)
(九)、A9
Security Logging and Monitoring Failures (資安記錄及監控失效)
(十)、A10
Server-Side Request Forgery (SSRF) (伺服端請求偽造)
相關文章
參考資料
精選美景 - 周邊商品 (提供客製化服務)
精選授權圖片
如果您喜歡我的內容,可以這樣贊助大漠國渡 (支持創作)
歷程
第一步,我了解先 OWASP TOP 10 是甚麼?
第二步,我使用開源軟體 SonarQube 進行源碼檢測,找出系統是否有符合 OWASP TOP 10 項目,以及其它弱點。
第三步,參考 SonarQube 檢測後,提供的修正方式,進行修正。
開放網路軟體安全計畫
開放網路軟體安全計畫,簡稱 OWASP (Open Web Application Security Project),是一個開放社群、非營利性組織提出的計畫。
而 OWASP TOP 10 為其中一項計劃,此計畫會統計駭客每 3 - 5 年中最常使用的攻擊手法前 10 名,因此只要避開前 10 名,系統相對的就更安全。
攻擊手法前 10 名平均 3 - 5 年會更新一次,也就是說可能會有新的攻擊方式,需要開發者持續關注。
接下來將以 2021 年發布的 OWASP TOP 10 進行說明。
一、十大網路應用系統安全弱點 (OWASP TOP 10)
(一)、A1 Broken Access Control (權限控制失效)
是指使用者權限管理失當,比方說系統一般使用者,不應該看到系統者管理的相關功能,或者是沒有任何權限的管理。
若是管理失當,會造成駭客僅需要最低的權限,就可以修改系統或是取得機密的資料。
![]() |
每個角色只可看見自己權限內的資料 |
![]() |
所有角色都可以看到同樣的內容、以及管理者的內容(如個資) |
(二)、A2 Cryptographic Failures (加密機制失效)
對於網站來說是指資料傳輸未經加密,簡單說就是未使用 TLS 加密連線。
駭客擷取封包後,無須再經過破解,就可以得知所有資料 (個資、密碼),非常危險。
(三)、A3 Injection (注入式攻擊)
駭客可以透過特定資料形式,改變系統指令,造成系統無法正常執行,甚至可能洩漏重要資訊。
(四)、A4 Insecure Design (不安全設計)
是指設計者撰寫程式時邏輯錯誤,可能造成使用者可以繞過系統檢核,以不合格的條件「申請資料」或「取得優惠」...等。
也有可能系統主動將資敏資料向外公開...等。
(五)、A5 Security Misconfiguration (安全設定缺陷)
是指安全性上設定不良,比方說密碼長度、複雜度皆未要求,使用者可以以非常簡短的密碼申請帳號(如:1234),對駭客來說可以非常輕易地竊取該帳號資料。
(六)、A6 Vulnerable and Outdated Components (危險或過舊的元件)
開發程式不會所有的程式都是自己撰寫的,會使用他人開發的套件貨元件,如果是過舊的元件可能有漏洞,但在新版本的套件或元件上是有修復的,所以建議不要使用過舊的套件或元件。
以 java 伺服器 tomcat 來說,低版本可能就不支援 TSL 1.0 以上的加密演算法,需要更新至更新的版本來會支援。
而有些套件或元件,可能是駭客設計分享的,裡面可能就會埋藏漏洞,使用後就會提高風險。
(七)、A7 Identification and Authentication Failures (認證及驗證機制失效)
為了資訊安全,登入系統時,除了帳號密碼驗證外,可能還會做手機驗證。
而驗證失效可能就是驗證時,會請登入者隨意輸入電話號碼,而不是使用帳號資料上的電話號碼,手機驗證將會變得沒有任何意義,任何手機都可以通過第二層驗證。
(八)、A8 Software and Data Integrity Failures (軟體及資料完整性失效)
如果你設計的系統裡面留了一個後門功能,那你的整的系統其實就暴露了相當大的風險,是不完整的,就算其他部分驗證機制在強大,仍是不安全的。
(九)、A9 Security Logging and Monitoring Failures (資安記錄及監控失效)
是指系統有做資安記錄及監控,但是沒有人是察看監控及資料紀錄,就算系統有發出警示,也沒有人即時處理或立即的防範,讓駭客可以持續攻破,意味著資安記錄及監控失效。
比方攝影機有拍攝到你家的門鎖正在被小偷嚐試解鎖,智能監視系統有通知,但接受通知的手機是沒有電的,所以你永遠也不會知道家裡再被撬鎖,就算有監視系統也是無效的,而小偷可以持續的嚐試,直至解鎖成功。
(十)、A10 Server-Side Request Forgery (SSRF) (伺服端請求偽造)
假設你的系統架構中,有區分內網、外網,其他外網的部分對外防護相當強大,但是外網連線內網的部分,沒有設置防護,駭客是有辦法假裝是外網伺服器發起的請求攻擊內網伺服器的。
比方說一間公司,對於外部人員要求,建立指紋、虹膜辨識,才可進入公司內部,但是公司內每間辨公室,只需要門禁卡即可通行,那外部人員只要有機會取得門禁卡(偽造請求),即可通行各地辦公室。
相關文章
【程式開發筆記】保證軟體品質一定要做程式碼檢測 (上) | 開源程式碼檢測平台 (SonarQube) - 大漠國渡
參考資料
星巴哥技術專欄 - 熱騰騰的漏洞排行榜 2021 OWASP TOP 10(作者:Hannah Lin)
果核數位 - 產業訊息 - OWASP Top 10 2021 十大常見的弱點與風險,如何做好企業資安防護?
瑞陽資訊 - 叡揚e論壇 -EIS48- 第48期 -開啟企業競速與傳承之鑰 - 淺談OWASP Top10 開放網路軟體安全計畫十大弱點
精選美景 - 周邊商品 (提供客製化服務)
大漠有設計簡單的程式碼,讓大家可以體驗一下寫程式的感覺,以及呈現結果,並將他製作成周邊商品,如 : 藍芽喇叭、拼圖、鑰匙圈、筆記本、滑鼠、滑鼠墊、鍵盤...等商品。
商品類別涉及了電子產品、居家用品、杯子餐廚、服飾、旅行用品、辦公用品...等。
有興趣的人可以到 大漠國渡 - 商品小舖 看看喔~
我的優惠碼 K0999975,可享受 KUSDOM 全場 9 折優惠。

精選授權圖片
如果您喜歡大漠國渡「攝影照片」的話,可以在 大漠國渡 Shutterstock 的作品集中購買喔 ~
如果您喜歡我的內容,可以這樣贊助大漠國渡 (支持創作)
如果您喜歡我的內容,可以透過以下方式贊助大漠國渡,支持創作
Paypal : 小額贊助 (可刷信用卡)
悠游付 (EasyWallet APP) : 小額贊助 (可透過銀行、其他支付業者 APP 掃碼進行轉帳)
留言
張貼留言