本網站使用cookies以改善您的使用體驗,並提供更優質的客製化內容。若您未改變cookies設定並繼續瀏覽我們的網站(點擊隱私權政策以獲得更多資訊),或點擊繼續瀏覽按鈕,代表您同意我們的隱私權政策及cookies的使用。
軟體供應鏈
27.Jul.2020
開放原始碼套件已知弱點的因應之道 以安全套接層漏洞為例
還記得2014年4月,開放原始碼OpenSSL管理委員會發佈一項震驚全球的重大資安漏洞Heartbleed嗎?這個允許攻擊者讀取伺服器記憶體資訊的漏洞,當年可是影響全球過半的網站運作!然而隨時間推進,不難發現因安全套接層(SSL)漏洞所產生的資安風險還不只這一件,安全套接層(SSL)漏洞還有哪些潛在威脅會導致風險,該如何有效地早期發現並防止威脅 ?讓本文來為您解析。
安全套接層(SSL)潛藏的資安威脅
安全套接層(Secure Socket Layer, SSL)是網景(Netscape)公司開發制定的網路安全協議。採用公開密鑰技術,以在網際網路的資料傳輸通信協議(TCP/IP)上實現安全的通訊協議。安全套接層被廣泛的使用在各種不同的網路與應用類型中,用來提供「訊息加密」、「訊息完整性」與「雙向認證」等三種基本的安全通訊需求。
而重創全球網路加密傳輸安全的Heartbleed漏洞便是起因於OpenSSL的加密安全套件Heartbleed,因其遺漏了邊界檢查,使攻擊者無需任何特權資訊或身份驗證,就能夠從記憶體中讀取請求儲存位置之外多達64 KB的資料,也就是說使用者傳送的E-Mail、帳號密碼或金融交易資料都可能被駭客竊取,而該漏洞於2014年4月被揭露時,發現已在OpenSSL中持續運作了兩年,這代表從2012到2014年期間,使用OpenSSL開源套件進行安全套接層(SSL)實作的網站、系統或是設備,都曝露在嚴重的資安風險之下。由於這個Heartbleed漏洞影響層面之大被認為是當年度最嚴重的資安漏洞[1]。
此外,在1998年任職於貝爾實驗室(Bell Laboratories)的瑞士密碼學家丹尼爾-布萊汀巴克爾(Daniel Bleichenbacher)發現,OpenSSL所使用的加密演算法存在另一個安全漏洞[2],駭客透過簡單的暴力破解攻擊(Brute-force Attack)方式,取得伺服器和客戶端之間使用的加密密鑰,並用來解密被害者在網路上瀏覽與傳送的機密與敏感數據資料,這個漏洞延伸的攻擊手法被命名為Bleichenbacher攻擊。雖然這個漏洞在多年前就已經被提出,但是直到2017年為止,仍然不斷衍生出有許多的變形攻擊手法並危害網際網路的安全性,其中又以DROWN (Decrypting RSA Using Obsolete and Weakened eNcryption)攻擊[3]與ROBOT(Return of Bleichenbacher's Oracle Threat)攻擊[4]最為知名,2016年據專家估計,全球約有33%的網站受到影響[5]。
而重創全球網路加密傳輸安全的Heartbleed漏洞便是起因於OpenSSL的加密安全套件Heartbleed,因其遺漏了邊界檢查,使攻擊者無需任何特權資訊或身份驗證,就能夠從記憶體中讀取請求儲存位置之外多達64 KB的資料,也就是說使用者傳送的E-Mail、帳號密碼或金融交易資料都可能被駭客竊取,而該漏洞於2014年4月被揭露時,發現已在OpenSSL中持續運作了兩年,這代表從2012到2014年期間,使用OpenSSL開源套件進行安全套接層(SSL)實作的網站、系統或是設備,都曝露在嚴重的資安風險之下。由於這個Heartbleed漏洞影響層面之大被認為是當年度最嚴重的資安漏洞[1]。
此外,在1998年任職於貝爾實驗室(Bell Laboratories)的瑞士密碼學家丹尼爾-布萊汀巴克爾(Daniel Bleichenbacher)發現,OpenSSL所使用的加密演算法存在另一個安全漏洞[2],駭客透過簡單的暴力破解攻擊(Brute-force Attack)方式,取得伺服器和客戶端之間使用的加密密鑰,並用來解密被害者在網路上瀏覽與傳送的機密與敏感數據資料,這個漏洞延伸的攻擊手法被命名為Bleichenbacher攻擊。雖然這個漏洞在多年前就已經被提出,但是直到2017年為止,仍然不斷衍生出有許多的變形攻擊手法並危害網際網路的安全性,其中又以DROWN (Decrypting RSA Using Obsolete and Weakened eNcryption)攻擊[3]與ROBOT(Return of Bleichenbacher's Oracle Threat)攻擊[4]最為知名,2016年據專家估計,全球約有33%的網站受到影響[5]。
面對安全套接層(SSL)資安漏洞的因應對策
Heartbleed漏洞起因於OpenSSL推出的一個擴充程式Heartbeat,它可讓連線維持更久,以及避免浪費過多資源來重新建立連線。但這個擴充程式中隱藏著Heartbleed漏洞,攻擊者可以變造請求(Request)封包,使具有漏洞的網頁伺服器回應不適當的記憶體內容,其內容可包含使用者的重要機敏情資,例如個人資料、私鑰、名稱、密碼、信用卡資訊等;其解決方法除更新網站使用的OpenSSL函式庫版本,也必須假設憑證私鑰可能已遭到竊取外洩,因此需要撤銷舊的私鑰並產生新的憑證。
而Bleichenbacher攻擊是當網站管理員選擇以RSA加密演算法,做為網站與使用者之間的密鑰交換加密技術時,伺服器操作過程便會出現可供利用的弱點,攻擊者使用簡單的暴力攻擊手段並觀察伺服器的回應,就能猜測出通訊密鑰並竊取加密的機敏資訊內容。此漏洞的修補關鍵點在於避免使用RSA加密演算法與公鑰加密標準(Public Key Cryptography Standards, PKCS)填充技術。
此外為了降低資安危害的影響,OpenSSL管理委員會依據這些過往案例,將每個資安漏洞依嚴重性分為「嚴重」、「高度」、「中度」與「低度」四個類別,其中會洩漏用戶訊息或導致遠端代碼執行的漏洞屬於「嚴重」級別,此級別的漏洞會被優先迅速的處理。
而Bleichenbacher攻擊是當網站管理員選擇以RSA加密演算法,做為網站與使用者之間的密鑰交換加密技術時,伺服器操作過程便會出現可供利用的弱點,攻擊者使用簡單的暴力攻擊手段並觀察伺服器的回應,就能猜測出通訊密鑰並竊取加密的機敏資訊內容。此漏洞的修補關鍵點在於避免使用RSA加密演算法與公鑰加密標準(Public Key Cryptography Standards, PKCS)填充技術。
此外為了降低資安危害的影響,OpenSSL管理委員會依據這些過往案例,將每個資安漏洞依嚴重性分為「嚴重」、「高度」、「中度」與「低度」四個類別,其中會洩漏用戶訊息或導致遠端代碼執行的漏洞屬於「嚴重」級別,此級別的漏洞會被優先迅速的處理。
生生不息的漏洞讓資安風險居高不下
網路世界永遠都是駭客的戰場,只要有漏洞,駭客就有機會找到弱點並產生威脅。以本文探討的安全套接層(SSL)漏洞議題來說,即便全球資訊人員都可以找到處理Heartbleed、DROWN等漏洞的方法,但到了2019年底,仍有網站與系統因未進行漏洞修補(Patch)[6]而讓駭客樂於對這些有年紀的漏洞進行攻擊。對駭客來說,相較研究新弱點的攻擊手法,不如攻擊有歷史的漏洞,可以更快速達到破壞或竊取資料的目的。2020年4月中,OpenSSL又揭露了一個編號為CVE-2020-1967的嚴重等級新漏洞[7],此漏洞與Heartbleed成因很類似,皆因編碼錯誤而產生弱點,攻擊者可根據此弱點進行阻斷服務攻擊(Denial of Service, DoS)來癱瘓整個系統。此漏洞揭露後,OpenSSL管理委員會同步發布更新方式,並通知網站、設備製造商進行相對應的防護與修補。
然而除了OpenSSL所揭露的漏洞外,OWASP(Open Web Application Security Project)在2017年釋出年度十大資安風險來源中,也將第三方元件漏洞列為好發且容易被攻擊的弱點之一,並在第九項中列舉「使用具有已知弱點的元件(A9-Using Components with Known Vulnerabilities)」之問題[8]。
通常無法有效控制攻擊的最大原因多為遺漏檢查(因為會有新的漏洞產生)或缺乏因應對策導致,因此如何有效率地找出資安威脅並擬定對策才是減少資安風險的最佳之道。
然而除了OpenSSL所揭露的漏洞外,OWASP(Open Web Application Security Project)在2017年釋出年度十大資安風險來源中,也將第三方元件漏洞列為好發且容易被攻擊的弱點之一,並在第九項中列舉「使用具有已知弱點的元件(A9-Using Components with Known Vulnerabilities)」之問題[8]。
通常無法有效控制攻擊的最大原因多為遺漏檢查(因為會有新的漏洞產生)或缺乏因應對策導致,因此如何有效率地找出資安威脅並擬定對策才是減少資安風險的最佳之道。
找出資安弱點從研發與測試階段開始
針對這些重覆一再發生的資安弱點,由源頭開始處理能更有效率地降低資安風險。安華聯網提供「HERCULES產品資安合規自動化平台」,透過旗下「HERCULES SecFlow產品資安管理系統」,讓研發團隊在軟體設計與開發階段,就能透過開放原始碼風險管理(Open Source Risk Management)的方式,確認系統是否存在Heartbleed與Bleichenbacher這類的重大資安漏洞,從源頭加以防護與改正。同時可配合「HERCULES SecDevice弱點檢測自動化工具」,提供連網產品檢測環境配置與安全性評估等自動化功能,進行OpenSSL相關的CVE (Common Vulnerabilities and Exposures)漏洞弱點檢測,在超過120個測試項目中發覺已知和未知漏洞弱點,讓團隊可在設計與檢測階段雙管齊下,進行雙重安全把關,有效為網站系統或產品項目在上線或上市前,降低資安風險。
媒體報導
參考資料:
[1]https://owasp.org/www-community/vulnerabilities/Heartbleed_Bug
[2]https://medium.com/@c0D3M/bleichenbacher-attack-explained-bc630f88ff25
[3] https://drownattack.com/drown-attack-paper.pdf
[4] https://robotattack.org/
[5] https://drownattack.com/
[6] https://blog.malwarebytes.com/exploits-and-vulnerabilities/2019/09/everything-you-need-to-know-about-the-heartbleed-vulnerability/
[7] https://www.openssl.org/news/vulnerabilities.html
[8] https://owasp.org/www-project-top-ten/OWASP_Top_Ten_2017/Top_10-2017_A9-Using_Components_with_Known_Vulnerabilities