前言
近日開發新的系統,即將要系統上線,程式碼需要做系統安全弱點掃描,確保上線後,不會輕易的被駭客攻破,在此期間做了許多的功課,學習如何透過工具掃描,以及排除問題,因此想再做筆記,並分享給有需要的人。
歷程
第一步,我了解先 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) : 小額贊助
留言
張貼留言