如何發(fā)現(xiàn)移動(dòng)應(yīng)用程序中的SSL泄密隱患?
譯文安全套接層協(xié)議(SSL)是現(xiàn)代互聯(lián)網(wǎng)上的一種根本性技術(shù),讓傳輸中數(shù)據(jù)能夠進(jìn)行加密、安全傳輸。不過(guò)據(jù)Tony Trummer和Tushar Dalvi這兩位安全研究人員聲稱,許多大受歡迎的移動(dòng)應(yīng)用程序并沒(méi)有合理地實(shí)施SSL。
Trummer和Tushar都是供職于知名職業(yè)社交網(wǎng)站LinkedIn的安全研究人員,他們?cè)诮照匍_(kāi)的Defcon安全大會(huì)的一場(chǎng)分會(huì)上詳細(xì)介紹了發(fā)現(xiàn)結(jié)果。這項(xiàng)研究并沒(méi)有得到其雇主(LinkedIn公司)的資助或贊助,而是利用他們倆自己的時(shí)間開(kāi)展完成的。
這兩位研究人員發(fā)現(xiàn),在他們?cè)趇OS和安卓平臺(tái)上測(cè)試的許多移動(dòng)應(yīng)用程序中,應(yīng)用程序開(kāi)發(fā)人員禁用了證書機(jī)構(gòu)(CA)的驗(yàn)證機(jī)制。而這種驗(yàn)證機(jī)制卻是確保SSL證書真實(shí)而有效的的最佳實(shí)踐。
核查CA
Trummer和Tushar認(rèn)為,只要利用簡(jiǎn)單的測(cè)試,就能核查是否與CA取得了聯(lián)系。他們建議,研究人員應(yīng)該安裝BurpSuite軟件(http://portswigger.net/burp/),這個(gè)網(wǎng)站應(yīng)用程序安全測(cè)試工具箱既有免費(fèi)版,也有收費(fèi)版。Burpsuite可以用作網(wǎng)站流量的代理,為每個(gè)主機(jī)生成CA簽名的證書。
可以配置裝有移動(dòng)應(yīng)用程序的最終用戶設(shè)備,以便指向該代理。要是來(lái)自該設(shè)備的安全SSL流量仍能夠通過(guò),這就表明CA驗(yàn)證機(jī)制沒(méi)有在正常工作。
核查主機(jī)名稱
就SSL而言,這點(diǎn)也很重要:證書名稱與所聯(lián)系的那個(gè)網(wǎng)站的名稱相一致。為了測(cè)試已落實(shí)了相應(yīng)的主機(jī)名稱核查機(jī)制,可以為有別于所測(cè)試的目標(biāo)域的域獲得一份有效證書。
Trummer和Tushar都建議,隨后應(yīng)該配置BurpSuite,以便使用測(cè)試證書。要是來(lái)自移動(dòng)應(yīng)用程序的安全SSL流量仍能夠通過(guò),那么這表明可能存在問(wèn)題。
Trummer特別指出,還有一些應(yīng)用程序發(fā)送敏感的信息,比如信用卡數(shù)據(jù),卻根本沒(méi)有任何SSL或加密機(jī)制。他表示,移動(dòng)應(yīng)用程序的開(kāi)發(fā)人員需要接受培訓(xùn),了解怎樣才能合理地實(shí)施SSL安全技術(shù)。他補(bǔ)充說(shuō),廠商們應(yīng)該落實(shí)相應(yīng)政策,確保傳輸中數(shù)據(jù)得到了保護(hù)。
Trummer建議,安卓開(kāi)發(fā)人員尤其要注意移動(dòng)應(yīng)用程序代碼中的TrustManager、SSLSocket和HostName Verifier這些屬性。
對(duì)iOS開(kāi)發(fā)人員而言,需要特別注意和認(rèn)真檢查的幾個(gè)方面是現(xiàn)代應(yīng)用程序代碼中的_AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_、SetAllowsAnyHTTPSCertificate和kCFStreamSSLAllowsAnyRoot這些函數(shù)。
原文地址:http://www.esecurityplanet.com/mobile-security/how-to-detect-ssl-leakage-in-mobile-apps.html