很多朋友想了解關於安全證書的一些資料信息,下麵是(揚升資訊www.balincan8.com)小編整理的與安全證書相關的內容分享給大家,一起來看看吧。很多朋友想了解關於軟件的一些資料信息,下麵是(揚升資訊www.balincan8.com)小編整理的與軟件相關的內容分享給大家,一起來看看吧。
對於開發軟件安卓應用,常被用於處理非常敏感的數據。開發者有責任確保用戶提供的信息不被居心不良者輕易截取。開放式 Web 應用安全項目(OWASP)[9,10]嚐試著列舉移動應用潛在的安全問題。
其中一些是係統架構師的責任(例如弱服務器端控製有關的問題),一些是後端開發者的責任(授權檢查相關問題),最後一些就是純粹與移動應用本身有關。本文我們將關注通過安卓開發者努力可以解決的問題。
因此我們將在這裏提出三個潛在的漏洞源:使用網絡服務(WS)通信時的風險、在存儲設備上存儲數據時潛在的信息泄漏以及第三方軟件能輕易編輯應用程序的漏洞。
一、安全的網絡服務調用
對於使用WS的敏感應用,最重要的就是保證用戶分享在後台的數據是安全的。事實上,如果網絡上的請求能被輕易截取,最安全的應用程序也是毫無用處的。
威脅:中間人攻擊(MITM)
應用程序遭受中間人攻擊有兩個主要的風險。
1.信息泄漏
如果竊取者控製了用戶使用應用的本地網絡,他暗地裏輕易就能截取到 app 和 WS 的所有通信。
2.網絡服務(WS)模仿
對 WS 有一定認識的人可以阻塞應用調用並且提供偽造的回應,這時用戶認為他們的請求已經執行,然而請求根本沒有到達後台。
測試應用在中間人攻擊時的脆弱性相當簡單:你隻需要使用一個代理軟件(例如CharlesProxy[12]),然後建立設備來使用安裝了這個代理的機器。如果應用不能阻止中間人攻擊,你將能看到它執行的每個請求。現在,想象你的 app 用戶通過“不安全”的網絡連接到你的網絡服務:竊取者可以毫不費力地將代理安裝在網絡路由器上,就能嗅到所有不加密的請求。
攻擊源:TLS/SSL證書鏈
保證通信安全至少要使用 HTTPS 協議,也就是說使用安全傳輸層協議(TLS)或是它的前身安全套接層協議(SSL)加密的通信。
然而,如果有必要,這並不是係統需要遵守的唯一條件。為了理解清楚,我們來看看 SSL 協議的工作原理。
SSL 證書(至少)包括三個證書:
根證書。這是由證書認證機構(CA)頒發的,也就是一個可以確保整個通信時安全的值得信任的組織。
中間證書。有許多個中間證書。它們建立終端用戶證書和根證書的連接,是為提供WS的服務器服務,由根證書簽名的證書。
終端用戶證書。終端用戶證書是適用於WS物理服務器的證書。
安卓 SSL 本地保護:
安卓網絡層有一個內置的CA 證書列表(超過一百個,你可以在設備參數中檢查這個列表)。每個HTTPS網絡調用需要在證書鏈上有一個CA證書。
然而,沒有辦法確保其餘的鏈適合我們想要連接的服務器。例如一個竊取者可以向CA購買中間證書實施中間人攻擊。所有的網絡事務都將被係統視作無效。這種漏洞非常常見:一個研究表明[1]73%使用HTTPS 協議的應用並沒有用正確的方式檢查證書。
怎樣保證連接的是我們的後台並且這個連接是安全?
解決上述問題的方式是手動檢查中間證書(適用於特定服務器)是已知證書。這意味著我們需要將特定的服務器證書存儲在應用中,可以將它作為常數存儲在資源文件或直接放在源代碼中來實現。
我們可能會疑惑為什麽需要檢查中間證書而不是終端用戶。這裏有兩個理由,第一,終端用戶證書生存期很短。第二點是安全理由:想象一下,一個黑客完全控製了係統,那他將擁有你的私鑰(服務器需要私鑰簽名請求)。應用會認為請求是由正確的終端用戶私鑰簽名,並且會允許連接。如果認證在中間服務器檢查時實現,那就有可能通過聯係中間CA遠程廢除證書。
本文到此結束,希望對大家有所幫助呢。
评论
谷歌留痕
回复你好你好好的话说
谷歌留痕
回复哈哈哈回家试试