部落格
電子報系統資安防護架構

程式碼資安防護

電子報系統除了在系統本身環境上進行資安防護,確保郵件傳輸過程沒有被駭客入侵的可能,在應用程式本身設計上,也須確保遵循各種資安準則,避免駭客透過應用程式入侵。具體開發上,至少需防範以下幾項常見駭客攻擊手法。

一、Cross-Site Request Forgery(CSRF)

Cross Site Request Forgery(CSRF, 跨站請求偽造) 這是一種假借已經輸入帳密認證, 透過帶入這些Cookie/Session到網站上去駭入系統。在系統開發上, 《沛盛資訊》加入多重驗證存在cookie/session中的帳密來源,由系統發送獨特token,再加上檢查帳密是否確實由本系統發出,杜絕來自CSRF的攻擊。

二、SQL injection安全防護

由於資料庫已經是網站系統必備,SQL injection就是 駭客經常用來攻擊網站的手法,透過在系統傳送資料到服務器,置換成駭客攻擊SQL語法,進行對系統破壞。透過嚴格限制網站介面資料回傳格式與內容樣式,防範原有SQL語法遭到替換,並且在資料庫端設定不同權限,讓即使透過網站取得權限也無法破壞或盜取資料。

三、Cross-Site Scripting(XSS)防護

網站系統普遍使用cookie作為驗證存放資料,但若用 戶端cookie被竊取,裡面的敏感資料就可能被駭客用來破 壞。透過驗證使用者資料來源,並加入適當邏輯編碼,以及使用作業系統程式進行XSS防護,並加強驗證透過Cookie 攜帶的session ID是否有不正常變換,《沛盛資訊》工程師在開發時即特別限制XSS的破壞,降低弱點可能性。

 

弱點掃描

一、原始碼掃描

《沛盛資訊》電子報私雲架構,由於需將軟體安裝在企業客戶內,因應大客戶要求,提供過多次軟體原始檔做原始碼弱點掃描。企業客戶會在簽完保密合約之後,將電子報 系統原始檔提供企業客戶透過專門程式碼掃描軟體做弱點檢查,掃描完畢產生報告,將弱點區分不同等級,依據這掃描報告進行程式碼修復。

由於不論採用雲端、私有雲架構,程式碼均相同,因此在歷經多次由大型企業客戶原始碼掃描後,程式碼已經日臻安全,近年來之原始碼掃描,已少見重大弱點,多為風險等級低可透過系統架構防範即可。

二、弱點掃描與密碼套件

弱點掃描是由外界透過駭客常見手法攻擊,驗證系統是否有弱點會受破壞。《沛盛資訊》企業客戶,若為跨國企業上線前審核流程,一定會做弱點掃描,而且是國外總公司執行掃描。在過去幾年,也經歷多種不同知名弱點掃描軟體進行模擬攻擊,逐步加強資安防禦與原始碼強化,近年來新客戶所做弱點掃描,均已無重大資安弱點,僅剩零星風險低弱點,再依照報告做補強即可。在實務運作上,弱點掃描主要是針對密碼套件(Cipher Suite)進行強化,密碼套件區分為以下幾個層次:

1. TLS:Transport Layer Security(傳輸層安全性,TLS),是一種加密協定,在網頁傳遞資訊時進行保護。例如電商在請購物者輸入信用卡頁面時,都會告知用戶採用SSL加密(Secure Sockets Layer), 而TLS則是SSL的後續進階改良,雖然TLS1.3已經推 出但由於相容性問題,2022年主流版本為TLS 1.2。

2.Key Exchange:Cipher Suite裡面的第一關架構稱 為Key Exchange(金鑰交換)。這是網站跟瀏覽器之間的交換密鑰機制,網路發展至今有許多不同演算法作為金鑰交換,包含RSA、DH、ECDH、DHE、PSK等多種。而這些演算法其實是一代一代加上去, 在前一代的基礎上增加新演算機制。2022年最強化 金鑰為ECDHE(Ephemeral Elliptic Curve Diffie- Hellman)演算法。

3. Authentication:Key Exchange確認演算法之後,接著就是要Authentication(身份驗證),同 樣也有多種驗證方式,如RSA、ECDSA、或DSA。2022年最強化作法為採用RSA(Rivest-Shamir- Adleman)。

4. Encryption:接著就是資料在網路上傳輸加密機制,這就牽涉到加密強度,例如64、128、256 bit字元的密鑰,長度越長越難以破解。2022年最強化作 法為採用AES(Advanced Encryption Standard) 128 bit或是更高的加密強度。並且使用G CM (Galois Counter Mode)作為加密完整性驗證。

5. M AC : 整個Ci pher S uite最後面就是用雜湊 (hash)方法去做傳遞訊息驗證(MAC, Message Authentication Code),2022年最強化作法為採用SHA256或是更高。

 

《沛盛資訊》電子報發送系統,在TLS 1.2基礎上,成為以下高強度資安架構:
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 或是加密字元強度更高TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

詳細分項如下:

A. TLS:TLS 1.2

B. Key Exchange:ECDHE

C. Authentication:RSA

D. Encryption:AES 256 GCM

E. MAC:SHA256