国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

CertShim:利用動(dòng)態(tài)鏈接鞏固SSL證書驗(yàn)證

2016-11-22 06:24:13JingTian
中國教育網(wǎng)絡(luò) 2016年8期
關(guān)鍵詞:函數(shù)調(diào)用服務(wù)器端漏洞

文/Jing Tian

CertShim:利用動(dòng)態(tài)鏈接鞏固SSL證書驗(yàn)證

文/Jing Tian

最近發(fā)現(xiàn)的一系列SSL軟件棧(OpenSSL/ GnuTLS)的漏洞嚴(yán)重威脅到互聯(lián)網(wǎng)通信的安全。其中最為顯著的漏洞是客戶端無法正確地驗(yàn)證服務(wù)器端的SSL證書。這些漏洞或者是庫函數(shù)實(shí)現(xiàn)本身的問題,或者是由軟件工程師的錯(cuò)誤應(yīng)用而造成的[1]。雖然各種安全補(bǔ)丁和方案被提出來解決這個(gè)問題,實(shí)際的安裝和應(yīng)用卻差強(qiáng)人意。用戶或者需要徹底替換現(xiàn)有的庫函數(shù)實(shí)現(xiàn),或者需要等待第三方的軟件提供商來增強(qiáng)現(xiàn)有的應(yīng)用版本來應(yīng)對(duì)潛在的攻擊。

本文提出一種新的解決方案——CertShim,來針對(duì)如何正確的驗(yàn)證服務(wù)器端的SSL證書。CertShim的優(yōu)勢在于用戶不需要替換現(xiàn)有的庫函數(shù)實(shí)現(xiàn),或者升級(jí)現(xiàn)有的應(yīng)用, 即可隨時(shí)糾正現(xiàn)有軟件棧漏洞。

CertShim的基本思想是利用軟件庫的動(dòng)態(tài)鏈接來隨時(shí)改變核心函數(shù)的行為,從而實(shí)現(xiàn)根據(jù)最新的安全分析來隨時(shí)更新本地實(shí)現(xiàn)而不需要改變上層應(yīng)用。如圖1所示,CertShim位于SSL庫函數(shù)和SSL應(yīng)用中間,相當(dāng)于一個(gè)中間層。所有SSL應(yīng)用對(duì)SSL庫函數(shù)的實(shí)現(xiàn)都會(huì)先經(jīng)過CertShim。

作為一個(gè)中間層,CertShim主要起到以下三個(gè)作用:

一是糾正應(yīng)用層對(duì)SSL實(shí)現(xiàn)層的錯(cuò)誤調(diào)用,例如通過改變應(yīng)用函數(shù)調(diào)用的參數(shù)來確定最基本的安全檢查被開啟而不是被關(guān)閉。

二是提供其他安全認(rèn)證策略和方案。例如,用戶可以根據(jù)不同的應(yīng)用來設(shè)置不同的安全策略和方案。CertShim既支持Covergence[2],也支持DANE[3]。

三是支持庫函數(shù)的動(dòng)態(tài)補(bǔ)丁。例如,用戶可以添加自定義的主機(jī)名驗(yàn)證來增強(qiáng)原函數(shù)功能。

目前版本的CertShim主要實(shí)現(xiàn)了以下庫函數(shù)調(diào)用的hook:

除了C/C++常用的libssl、libgnutls,CertShim也提供對(duì)JDK6/7的支持。從SSL庫函數(shù)實(shí)現(xiàn)看,CertShim涵蓋了OpenSSL,GnuTLS和JSSE。從數(shù)據(jù)傳輸庫函數(shù)實(shí)現(xiàn)看,CertShim也涵蓋了對(duì)其他語言的支持,其中包括cURL、urllib、urllib2、httplib和python ssl等。從應(yīng)用程序看,CertShim支持Ubuntu常用軟件中的的95%。后續(xù)版本除了會(huì)涵蓋其他SSL庫函數(shù)實(shí)現(xiàn),也會(huì)添加對(duì)JDK8的支持。

(作者單位為University of Florida)

圖1

[1] Georgiev, M., Iyengar, S., Jana, S., Anubhai, R., Boneh, D., and Shmatikov, V. The Most Dangerous Code in the World: Validating SSL Certificates in Non-Browser Software. In Proceedings of the 2012 ACM conference on Computer and communications security (Raleigh, NC, USA, 2012), CCS ’12, ACM, pp. 38-49

[2] http://convergence.io/

[3] https://datatracker.ietf.org/wg/dane/documents/

[4] 詳細(xì)實(shí)現(xiàn)和論證,請(qǐng)參閱發(fā)表論文:https:// github.com/daveti/daveti/raw/master/paper/ccs14/ccs14a.pdf

猜你喜歡
函數(shù)調(diào)用服務(wù)器端漏洞
漏洞
基于C語言的數(shù)學(xué)菜單的設(shè)計(jì)與實(shí)現(xiàn)
基于函數(shù)調(diào)用序列模式和函數(shù)調(diào)用圖的程序缺陷檢測方法*
淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
成功(2018年10期)2018-03-26 02:56:14
探討C++編程中避免代碼冗余的技巧
Unity3D項(xiàng)目腳本優(yōu)化分析與研究
中國新通信(2017年1期)2017-03-08 03:12:21
三明:“兩票制”堵住加價(jià)漏洞
漏洞在哪兒
在Windows中安裝OpenVPN
高鐵急救應(yīng)補(bǔ)齊三漏洞
弥勒县| 伊吾县| 新丰县| 广南县| 东安县| 阜宁县| 个旧市| 柘荣县| 庆安县| 壶关县| 儋州市| 富裕县| 青海省| 宁南县| 青阳县| 宜州市| 运城市| 南华县| 陇川县| 五原县| 长乐市| 高青县| 岳阳市| 杂多县| 松江区| 闽清县| 桦甸市| 闸北区| 唐海县| 兰州市| 鱼台县| 呼玛县| 古浪县| 介休市| 城步| 韶关市| 玉树县| 稷山县| 巴彦县| 九寨沟县| 图木舒克市|