国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Android安全開發之淺談密鑰硬編碼

安全 移動安全 數據安全
信息安全的基礎在于密碼學,而常用的密碼學算法都是公開的,加密內容的保密依靠的是密鑰的保密,密鑰如果泄露,對于對稱密碼算法,根據用到的密鑰算法和加密后的密文,很容易得到加密前的明文;對于非對稱密碼算法或者簽名算法,根據密鑰和要加密的明文,很容易獲得計算出簽名值,從而偽造簽名。

0x00 簡介

在阿里聚安全的漏洞掃描器中和人工APP安全審計中,經常發現有開發者將密鑰硬編碼在Java代碼、文件中,這樣做會引起很大風險。信息安全的基礎在于密碼學,而常用的密碼學算法都是公開的,加密內容的保密依靠的是密鑰的保密,密鑰如果泄露,對于對稱密碼算法,根據用到的密鑰算法和加密后的密文,很容易得到加密前的明文;對于非對稱密碼算法或者簽名算法,根據密鑰和要加密的明文,很容易獲得計算出簽名值,從而偽造簽名。

0x01 風險案例

密鑰硬編碼在代碼中,而根據密鑰的用途不同,這導致了不同的安全風險,有的導致加密數據被破解,數據不再保密,有的導致和服務器通信的加簽被破解,引發各種血案,以下借用烏云上已公布的幾個APP漏洞來講講。

1.1 某互聯網金融APP加密算法被破解導致敏感信息泄露

某P2P應用客戶端,用來加密數據的DES算法的密鑰硬編碼在Java代碼中,而DES算法是對稱密碼算法,既加密密鑰和解密密鑰相同。

反編譯APP,發現DES算法:

 

 

發現DES算法的密鑰,硬編碼為“yrdAppKe”,用來加密手勢密碼:

 

 

將手勢密碼用DES加密后存放在本地LocusPassWordView.xml文件中:

 

 

知道了密文和加密算法以及密鑰,通過解密操作,可以從文件中恢復出原始的手勢密碼。或者使用新的生成新的手勢密碼

而與服務器通信時接口中的Jason字段也用了DES算法和密鑰硬編碼為“yRdappKY”:

 

 

 

 

和服務器通信采用http傳輸,沒有使用https來加密通信,如果采用中間人攻擊或者路由器鏡像,獲得流量數據,可以破解出用戶的通信內容。

1.2 某租車APP加密算法被破解導致一些列風險

某租車APP與服務器通信的接口采用http傳輸數據,并且有對傳輸的部分參數進行了加密,加密算法采用AES,但是密鑰硬編碼在java代碼中為“shenzhoucar123123”,可被逆向分析出來,導致偽造請求,結合服務器端的漏洞,引起越權訪問的風險,如越權查看其它用戶的訂單等。

和服務器通信時的數據為:

 

 

q字段是加密后的內容。逆向APP,從登錄Activity入手:

 

 

分析登錄流程:v1是用戶名,v2是密碼,v3是PushId,在用戶名和密碼不為空并且長度不小于11情況下,執行LoginOperate相關操作,追蹤LoginOperate的實現,發現繼承自BaseOperate,繼續追蹤BaseOperate的實現:

 

 

在BaseOperate的initUrl()方法中,找到了APP是怎么生成請求數據的:

 

 

繼續追蹤上圖中的initJsonUrl()方法,發現其調用了AES加密:

 

 

繼續追蹤aes.onEncrypt()函數:

 

 

在onEncrypt()函數中調用了encrypt()函數用來加密數據,追蹤encrypt()函數的實現,發現其使用AES算法,并且密鑰硬編碼在java代碼中為“shenzhoucar123123”

 

 

到現在請求中的數據加密如何實現的就清晰了,另外由于服務器權限控制不嚴,就可以構造訂單id的請求,達到越權訪問到其他用戶的訂單。

構造{“id”:”11468061”}的請求:

 

 

其中uid設置為你自己的uid即可,可以成功看到其他人的訂單:

 

 

攻擊者完全可以做到使用其他腳本重新實現相同的加密功能并拼接出各個接口請求,批量的刷取訂單信息和用戶其他信息。

1.3 某酒店APP加簽算法被破解導致一系列風險

某酒店APP和服務器通信時接口采用http通信,數據進行了加密,并且對傳輸參數進行簽名,在服務器端校驗簽名,以檢查傳輸的數據是否被篡改,但是加簽算法和密鑰被逆向分析,可導致加簽機制失效,攻擊者可任意偽造請求包,若結合服務器端的權限控制有漏洞,則可引發越權風險等。

APP和服務器通信的原始包如下圖,可以看到有加簽字段sign:

 

 

逆向APP定位到加密算法的邏輯代碼,com.htinns.biz.HttpUtils.class,其實現邏輯為:

 

 

原始數據是unSignData,使用RC4算法加密,密鑰為KEY變量所代表的值,加密后的數據為signData,傳輸的數據時的data字段為signData。

加簽字段signd的生成方法是用unsignData拼接時間戳time和resultkey,然后做md5,再進行base64編碼。時間戳保證了每次請求包都不一樣。

sendSign()算法是用c或c++寫的,放入了so庫,其他重要算法都是用java寫的。

可以使用IDA逆向分析so庫,找到sendSign()方法

 

 

而烏云漏洞提交者采用的是分析sign和getSign(sign)的數據,做一個算法破解字典。其實還有種方法直接調用此so庫,來生成字典。

簽名破解以后,就可以構造發送給服務器的數據包進行其他方面的安全測試,比如越權、重置密碼等。

0x02 阿里聚安全開發建議

通過以上案例,并總結下自己平時發現密鑰硬編碼的主要形式有:

1、密鑰直接明文存在sharedprefs文件中,這是最不安全的。

2、密鑰直接硬編碼在Java代碼中,這很不安全,dex文件很容易被逆向成java代碼。

3、將密鑰分成不同的幾段,有的存儲在文件中、有的存儲在代碼中,最后將他們拼接起來,可以將整個操作寫的很復雜,這因為還是在java層,逆向者只要花點時間,也很容易被逆向。

4、用ndk開發,將密鑰放在so文件,加密解密操作都在so文件里,這從一定程度上提高了的安全性,擋住了一些逆向者,但是有經驗的逆向者還是會使用IDA破解的。

5、在so文件中不存儲密鑰,so文件中對密鑰進行加解密操作,將密鑰加密后的密鑰命名為其他普通文件,存放在assets目錄下或者其他目錄下,接著在so文件里面添加無關代碼(花指令),雖然可以增加靜態分析難度,但是可以使用動態調式的方法,追蹤加密解密函數,也可以查找到密鑰內容。

保證密鑰的安全確是件難事,涉及到密鑰分發,存儲,失效回收,APP防反編譯和防調試,還有風險評估。可以說在設備上安全存儲密鑰這個基本無解,只能選擇增大攻擊者的逆向成本,讓攻擊者知難而退。而要是普通開發者的話,做妥善保護密鑰這些事情這需要耗費很大的心血。

產品設計者或者開發者要明白自己的密鑰是做什么用的,重要程度怎么樣,密鑰被逆向出來會造成什么風險,通過評估APP應用的重要程度來選擇相應的技術方案。

參考

p2p宜人貸app幾種安全問題

神州租車APP客戶端設計缺陷導致的一系列安全問題(算法破解/權限遍歷等)

講解一步步逆向破解華住酒店集團官網APP的http包加密算法以及一系列漏洞打包

http://jaq.alibaba.com/safety?spm=a313e.7837752.1000001.1.zwCPfa

https://www.zhihu.com/question/35136485/answer/84491440

責任編輯:藍雨淚 來源: 烏云知識庫
相關推薦

2016-10-24 14:04:24

2016-10-24 14:23:14

2017-02-08 08:44:56

2020-04-17 13:27:05

安全開發網絡安全網絡攻擊

2012-04-24 09:58:26

2019-06-06 12:11:42

2024-11-07 12:14:36

2020-05-07 09:52:03

密鑰KMS信息安全

2013-12-17 14:07:37

2013-05-21 11:24:07

Android游戲開發Sensor重力感應

2014-02-21 13:02:44

2014-11-19 10:08:47

2019-02-14 13:21:31

2014-02-11 13:49:00

2009-10-29 10:27:21

2020-08-30 14:34:42

Java語言安全編碼web安全

2023-11-08 07:17:08

2025-07-30 10:02:38

2025-06-09 07:15:00

密鑰web安全終端安全

2016-03-10 11:48:41

點贊
收藏

51CTO技術棧公眾號

综合国产视频| 欧美激情奇米色| 久久久久久久久久久久久国产| 九九在线精品视频| 国内自拍一区| 亚洲成人av免费| lutube成人福利在线观看| 污污网站在线观看| 亚洲欧美中文日韩在线| 97精品久久久午夜一区二区三区| 亚洲第一视频| 韩国精品久久久999| 国精一区二区| 欧美精品自拍偷拍| 亲爱的老师9免费观看全集电视剧| 欧美性猛交xxxxxx富婆| 色偷偷偷亚洲综合网另类| 青草热久免费精品视频| 亚洲午夜精品久久久久久人妖| 亚州成人在线电影| 精品日韩99亚洲| 在线日韩影院| 亚洲国产精品高清| wwwav在线| 国产日韩精品在线| 久久久久久久久久久网站| 在线观看免费黄色| 中文在线一二区| 国内精品久久久久久| 中文字幕在线视频久| 亚洲国产国产| 日韩激情免费| 国产福利视频在线观看| 国产亚洲欧美一区二区| 91精品国产综合久久久久久蜜臀 | 成人情趣视频网站| 国产精品久久久久久搜索 | 亚洲一区二区三区中文字幕在线| 午夜精品在线免费观看| 亚洲va在线va天堂| 超碰资源在线| 2019精品视频| 日韩高清一级片| 日韩欧美一级在线播放| 麻豆网站在线看| 精品一区二区在线免费观看| 国产一二三区在线播放| 亚洲大片精品永久免费| videos性欧美另类高清| 综合欧美亚洲| 91久久精品www人人做人人爽| 国产婷婷精品av在线| 国产精品国产自产拍高清av | 欧美电影在线免费观看| av在线日韩| 成人免费淫片视频软件| 99精品黄色片免费大全| 欧美成年黄网站色视频| 国产精品video| 久久精子c满五个校花| 日韩专区av| 国产精品亲子乱子伦xxxx裸| 黄页免费在线观看| 久久久久久久久久久久av| 国产麻豆视频精品| 女人黄色免费在线观看| 精品国产一区二区三区麻豆免费观看完整版 | 久久亚洲精华国产精华液 | 亚洲高清国产精品| 日韩国产在线观看一区| 一区国产精品视频| av在线播放网站| 欧美精选在线播放| 卡通动漫国产精品| 午夜天堂影视香蕉久久| av福利在线导航| 男女视频网站在线观看| 精品国产一区二区国模嫣然| a毛片不卡免费看片| 欧美三级日韩三级| 手机在线免费观看av| jizz性欧美2| 7777精品伊人久久久大香线蕉完整版| 欧美视频二区欧美影视| 亚洲成色999久久网站| 国产欧美日韩亚洲精品| 欧美影院视频| 91精品国产99久久久久久红楼| 欧美影视一区| 久久综合伊人77777麻豆| 91麻豆精品在线观看| a视频免费看| 日韩av电影手机在线观看| 永久免费不卡在线观看黄网站| 欧美一个色资源| 艳女tv在线观看国产一区| 日韩a在线播放| 欧美精品国产一区二区| 播放灌醉水嫩大学生国内精品| 中文字幕在线国产精品| 久久这里都是精品| 国产成人极品视频| 国产福利一区二区三区视频| 日韩欧美2区| 亚洲跨种族黑人xxx| 国产91精品一区二区麻豆亚洲| 天天碰免费视频| 久久久精品视频成人| 国产精品麻豆99久久久久久| 久久av免费| 欧美亚洲一级二级| 欧美一a一片一级一片| 国产欧美88| 波多野结衣一区二区三区在线观看 | 欧美影院三区| 好吊妞www.84com只有这里才有精品| 国产在线一区观看| 国产免费拔擦拔擦8x高清在线人| 国产精品日韩在线| 黄色在线视频观看网站| 91精品一区二区三区久久久久久 | 国产人成在线观看| av在线一区不卡| 四虎4hu永久免费入口| 亚洲白虎美女被爆操| 蜜桃视频欧美| 欧美激情 国产精品| 69久久99精品久久久久婷婷 | 狠狠噜天天噜日日噜| 亚洲欧美在线另类| 久久www免费人成精品| 久久久久久久久久久久久久| 日韩一区国产在线观看| 亚洲成人免费看| 国产精品三级久久久久久电影| 日本精品视频一区| 日本在线播放一区二区三区| 久久人人99| 欧美国产中文高清| 在线播放免费av| 青青青青在线| 欧美激情五月| 午夜日韩电影| 精品国产精品久久一区免费式 | 欧美日韩免费观看一区二区三区| 色综合色狠狠综合色| 香港经典三级在线| 国产呻吟对白刺激无套视频在线| 四虎影视精品成人| 欧美成人三区| 能看的毛片网站| 深爱激情综合网| 日日噜噜夜夜狠狠视频欧美人| 午夜欧美性电影| 久久国产精品一区二区| 中文日本高清免费| 成人一区二区三| 在线免费国产视频| 伦xxxx在线| 欧美暴力调教| 日韩夫妻性生活xx| 亚洲高清电影| 成人黄色网址在线观看| 天天影视网天天综合色在线播放| 午夜影院久久久| 精品国产网站在线观看| 国产精品一卡二卡| 亚洲精品写真福利| www.好吊操| 国产网站av| av在线加勒比| 小说区图片区图片区另类灬| 欧美国产综合一区二区| 久久综合久久鬼色| 日韩欧美亚洲综合| 久久69av| 精品视频国内| 日韩欧美在线不卡| 成熟老妇女视频| 露出调教综合另类| 久久se精品一区精品二区| 精品噜噜噜噜久久久久久久久试看 | 国产精品视频九色porn| 成人午夜激情在线| 日韩视频在线你懂得| 日韩高清免费观看| 久久久久久中文字幕| 高清一区二区三区视频| 国产免费999| 性色av一区| gogogogo高清视频在线| 日本精品在线播放| 国产精品18久久久| 中国av一区| 国产精品久久久久久久久动漫| 欧美美女直播网站| 久久人人爽国产| 国产精品99久久免费黑人人妻| 亚洲精品一二三| 欧美成年人网站|