上個月的Google I/O大會上,谷歌發(fā)布了Android N,但是大會的內容實在太多,導致都沒有來得及詳細介紹新系統(tǒng)的安全特性。現在,我們來看看Android N在安全層面有哪些改進。
Android加密改進有哪些?
Android N中強制嚴格執(zhí)行驗證啟動(Verified Boot)機制 。在先前的Android 6.0棉花糖系統(tǒng)中,如果你修改了啟動代碼,系統(tǒng)只會發(fā)出警告;而到了Android N這代系統(tǒng)中,如果開發(fā)者仍然這么做,手機就不會再啟動這樣的應用了。
強制使用硬件級的密鑰庫:熟悉ARM芯片的同學應該知道,為了保證安全性,ARM架構處理器內部很早就出現了一個名叫TrustZone的安全區(qū)域——在先前的Android系統(tǒng)中,開發(fā)者可以選擇將密鑰存儲在TrustZone中。但是從Android N開始,加密密鑰將只能儲存在TrustZone中。
拋棄弱加密的Cryto Provider。這在我們先前的文章中已經比較詳盡地解釋過(點擊這里)。這實際上也是針對數據加密的重要舉措。
支持文件級別的加密。之前Android系統(tǒng)提供全盤加密選項,但這會影響系統(tǒng)性能,很多用戶都不愿意進行加密、解密、驗證垃圾文件的繁瑣操作。Android N則支持用戶按需進行加密,只加密那些需要加密的文件。不過,針對這種文件級別的加密,Bitdefender高級威脅研究員Liviu Arsene卻認為:
這項特性的缺點就是,這套文件系統(tǒng)的部分區(qū)域(比如交換分區(qū))會把未加密的文件副本保留下來,攻擊者能輕易讀取這些文件。
在這種情況下,的確還是全盤加密更安全些,雖然的確要犧牲一定的系統(tǒng)性能。
更新Network API,開發(fā)者可指定哪些URL使用明文形式的HTTP連接,哪些使用HTTPS連接。去年的棉花糖系統(tǒng)中,如果第三方SDK沒有使用加密特性,開發(fā)者可以選擇自動屏蔽這類SDK。而今年的Android N加入了一套過濾系統(tǒng),這套系統(tǒng)支持讓開發(fā)者指定哪些URL可使用明文形式的HTTP連接、又有哪些則需要使用HTTPS連接。
除此之外,升級后的Network API還統(tǒng)一了所有設備上的證書認證機構(CA)存儲,以后所有用戶安裝的證書默認都不再是“可信”的了。
Mediaserver組件得到了加固——Mediaserver顧名思義就是媒體服務器,音頻、視頻、攝像頭與之都有關。而加固過后,Mediaserver將會切分成更小的、沙盒封裝的組件。
既然談到沙盒了,順帶一提:在Android N系統(tǒng)中,谷歌是從Linux內核移植的“seccomp”沙盒機制——這東西原本并不包含在Android系統(tǒng)采用的Linux內核分支中。
指紋驗證機制得到了改進,開發(fā)者將有更多權限更細致地進行控制。新系統(tǒng)還引入了支持開發(fā)者檢查設備健康度的函數,借此可檢查核心操作系統(tǒng)代碼是否被篡改。
特別針對勒索軟件、銀行木馬
由于當前Android系統(tǒng)惡意程序越來越猖獗,谷歌也的確有意進行管控。所以這次谷歌限制了對Device Admin API的訪問——對用戶密碼修改進行限制,這對勒索軟件而言應該是個悲劇。應用無法再通過編程的方式更改現有密碼,所有設備管理應用也都可以卸載。這樣一來,要刪除帶管理員權限的惡意程序都會更方便。
而針對銀行木馬,谷歌打算針對SYSTEM_ALERT_WINDOW做出改動,這樣可以有效限制應用在其他應用或系統(tǒng)對話框上隨意使用overlay覆蓋層。
這些對于限制勒索軟件和銀行木馬的行動都是很有意義的。Android系統(tǒng)越來越注重安全方面的改進,這與現如今移動操作系統(tǒng)日益嚴峻的安全問題是分不開的。手機作為現如今人們日常生活的重要組成部分,其安全性早已不可忽視。
*參考來源:softpedia,FB小編Sphinx編譯,轉載請注明來自Freebuf黑客與極客(FreeBuf.COM)