歡迎來到培訓(xùn)無憂網(wǎng)!
咨詢熱線 400-001-5729
2021-12-30 20:25:43|已瀏覽:1486次
安卓系統(tǒng)是由谷歌推出的一款移動(dòng)終端,由于開源,所以國內(nèi)出現(xiàn)了許多使用相關(guān)系統(tǒng)的廠商,比如小米,oppo,vivo,魅族等。
在國內(nèi),這些系統(tǒng)的用戶群體甚多。我們?nèi)粘J褂玫纳缃弧⒂螒、工作等?yīng)用,很多都裝在安卓系統(tǒng)上。
由于安卓系統(tǒng)的開源性,很多安全問題也隨之而來。那么,在安卓系統(tǒng)上運(yùn)行的應(yīng)用又是如何保證自身安全的呢?
本文通過實(shí)戰(zhàn)挖洞,展現(xiàn)一下Android應(yīng)用的防守與攻擊方式。
1
簡(jiǎn)介
為了避免應(yīng)用被攻擊,各種應(yīng)用在投產(chǎn)前會(huì)用一些技術(shù)手段進(jìn)行加固。但是在持續(xù)對(duì)抗下,總會(huì)出現(xiàn)各種反加固的手段。
部分開發(fā)者可能忽視應(yīng)用的安全性,各大應(yīng)用市場(chǎng)上也有很多未采取加固手段或進(jìn)行簡(jiǎn)單加固的應(yīng)用。
首先,我們來看一看一個(gè)未進(jìn)行任何加固手段的應(yīng)用,運(yùn)行起來有多危險(xiǎn)。
AES算法能保證身份證號(hào)以密文形式在網(wǎng)絡(luò)上傳輸,不被他人竊取,將代碼打包安裝在我們手機(jī)中運(yùn)行。
由于安卓應(yīng)用包很容易獲取,源碼包被攻擊者拿去反編譯:
對(duì)比開發(fā)者寫的代碼和攻擊者反編譯的代碼,幾乎完全一樣,攻擊者很容易分析出我們的代碼邏輯,從而造成破壞。
上面程序,拿到我們加密算法邏輯,對(duì)傳輸中的加密內(nèi)容進(jìn)行解密,來獲取身份證號(hào)。
由此可見,沒有做任何安全防護(hù)的安卓源碼猶如“裸奔”。
2
防守原理
上面實(shí)例可見,沒有加固的安卓應(yīng)用,運(yùn)行起來是相當(dāng)危險(xiǎn)的。下面介紹幾種常見的應(yīng)用加固方式。包括源碼混淆、應(yīng)用加殼、應(yīng)用運(yùn)行環(huán)境檢測(cè)。
源代碼混淆保護(hù)
混淆是將代碼中的類、方法、變量等信息進(jìn)行重命名,把它們改成一些如“a,b,c,d”這樣毫無意義的名字,這樣就增加了攻擊者逆向難度;煜Ч麍D如下:
應(yīng)用加殼保護(hù)
加殼是在二進(jìn)制的程序中植入一段代碼,在運(yùn)行的時(shí)候優(yōu)先取得程序的控制權(quán),做一些額外的工作。
應(yīng)用加固的一種手法對(duì)原始二進(jìn)制原文進(jìn)行隱藏。簡(jiǎn)單描述就是代碼隱藏了,只有程序運(yùn)行時(shí)才會(huì)還原。
我們將上面加密身份證號(hào)的應(yīng)用加殼,然后使用工具反編譯如下,已經(jīng)看不到任何源碼信息。
攻擊者如果想要攻擊,第一步就需要脫殼。我這里是只進(jìn)行簡(jiǎn)單的加固,對(duì)安卓的關(guān)鍵dex文件整體加固,只有在運(yùn)行的時(shí)候才會(huì)還原原有dex文件。當(dāng)然還有其他不同類型的加殼手段。
本文由培訓(xùn)無憂網(wǎng)長(zhǎng)沙牛耳教育課程顧問老師整理發(fā)布,希望能夠?qū)ο朐陂L(zhǎng)沙參加安卓軟件開發(fā)培訓(xùn)的學(xué)生有所幫助。更多課程信息可關(guān)注培訓(xùn)無憂網(wǎng)電腦IT培訓(xùn)頻道或添加老師微信:15033336050
注:尊重原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處和鏈接 http://m.universityresearchassociates.com/news-id-11334.html 違者必究!部分文章來源于網(wǎng)絡(luò)由培訓(xùn)無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實(shí)性請(qǐng)自行核實(shí)或聯(lián)系我們,了解更多相關(guān)資訊請(qǐng)關(guān)注手機(jī)開發(fā)頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費(fèi)申請(qǐng)?jiān)囌n。關(guān)注官方微信了解更多:150 3333 6050