最近在做一款理財(cái)類app硕并,對安全的要求非常高晌杰,必須進(jìn)行先關(guān)研究
查閱信息的相關(guān)網(wǎng)站
大神唐巧的博文:http://blog.devtang.com/2014/05/08/ios-security-dev-overview/
非對稱加密算法 :https://my.oschina.net/realfighter/blog/388486
代碼混淆文章 :http://blog.csdn.net/yiyaaixuexi/article/details/29201699
http://blog.csdn.net/zm53373581/article/details/49120895
為啥這么做我就不說了空繁,可以看大神唐巧的博客惭聂。我簡單說下怎么做蒲肋,做哪些安全措施
一、網(wǎng)絡(luò)安全
(一)加密傳輸
密碼的重要性大家都懂巧颈,為了它的安全性畦木,我們怎么做都不過分。比較安全的做法是做非對稱加密砸泛,并且加鹽(Salt:在密碼學(xué)中十籍,是指通過在密碼任意固定位置插入特定的字符串,讓散列后的結(jié)果和使用原始密碼的散列結(jié)果不相符)晾嘶,然后md5加密妓雾。
不光是可以對密碼進(jìn)行加密,其他比較重要的傳輸都可以通過這種方式進(jìn)行加密垒迂。淘寶等應(yīng)用都是這么做的
通訊協(xié)議的防護(hù)措施
(二) 之前我們公司的服務(wù)器被攻擊械姻,短信驗(yàn)證碼被黑客用腳本攻擊,短信發(fā)送額幾分鐘內(nèi)就沒了。因此幾個(gè)方法進(jìn)行防護(hù)
1楷拳、 相比http方式绣夺,還是使用https請求協(xié)議(雖然https 也不盡安全,但相對安全 多了)
2欢揖、一般的內(nèi)容可以進(jìn)行加密陶耍,比如用類似protobuf的二進(jìn)制通訊協(xié)議
3、某些接口服務(wù)器也要做攻擊驗(yàn)證她混,比如短信獲取接口加時(shí)間限制烈钞,比如同一個(gè)ip、一個(gè)賬號短時(shí)間內(nèi)不允許多次請求
(三)應(yīng)用內(nèi)支付的驗(yàn)證(本人沒做過內(nèi)支付app)
iOS 應(yīng)用內(nèi)支付 (IAP) 是眾多應(yīng)用贏利的方式坤按,通過先讓用戶免費(fèi)試用或試完毯欣,然后提供應(yīng)用內(nèi)支付來為愿意付費(fèi)的用戶提供更強(qiáng)大的功能,這種模式特別適合不習(xí)慣一開始就掏錢的中國用戶臭脓。但是酗钞,由于國內(nèi)越獄用戶的比例比較大,所以我們也需要注意應(yīng)用內(nèi)支付環(huán)節(jié)中的安全問題来累。
簡單來說砚作,越獄后的手機(jī)由于沒有沙盒作為保護(hù),黑客可以對系統(tǒng)進(jìn)行任意地修改嘹锁,所以在支付過程中葫录,蘋果返回的已付款成功的憑證可能是偽造的〖嬉客戶端拿到付款憑證之后压昼,還需要將憑證上傳到自己的服務(wù)器上求冷,進(jìn)行二次驗(yàn)證瘤运,以保證憑證的真實(shí)性。
另外匠题,我們發(fā)現(xiàn)越獄用戶的手機(jī)上拯坟,很可能被黑客用中間人攻擊技術(shù)來劫持支付憑證。這對于黑客有什么好處呢韭山?因?yàn)樘O果為了保護(hù)用戶的隱私郁季,支付憑證中并不包含任何用戶的帳號信息,所以我們的應(yīng)用和服務(wù)器無法知道這個(gè)憑證是誰買的钱磅,而只能知道這個(gè)憑證是真的還是假的梦裂。所以在驗(yàn)證憑證時(shí),哪個(gè)帳號發(fā)起了驗(yàn)證請求盖淡,我們就默認(rèn)這個(gè)憑證是該帳號擁有的年柠。如果黑客將憑證截獲,就可以偽裝成真實(shí)用戶來驗(yàn)證憑證或者轉(zhuǎn)手出售獲利褪迟。
打個(gè)比方冗恨,這就類似于很多商場的購物卡一樣答憔,由于是不記名的,黑客如果將你買的購物卡偷竊然后去刷卡購物掀抹,商場是無法簡單地區(qū)分出來的虐拓。
所以,對于應(yīng)用內(nèi)支付傲武,開發(fā)者除了需要仔細(xì)地驗(yàn)證購買憑證外蓉驹,也需要告知用戶在越獄手機(jī)上進(jìn)行支付的風(fēng)險(xiǎn)。
二揪利、本地文件和數(shù)據(jù)安全
上傳到越獄商店后戒幔,app不進(jìn)行安全措施處理,很多重要信息都會暴露給黑客
措施
1土童、一些類似于js的資源包 進(jìn)行混淆和加密
2诗茎、對于一些像百度地圖,友盟分享等appkey 不要放在本地献汗,放在kechain中進(jìn)行保存敢订,或者通過不對稱加密從服務(wù)器獲取
3、代碼被反編譯
很多工具都可以通過分析二進(jìn)制程序文件反編譯 我們的代碼罢吃,防護(hù)措施
通過宏 混淆類名 楚午,核心內(nèi)容用c或者c++來實(shí)現(xiàn)
總結(jié),本文意圖是加深在這方面的理解尿招,以后會跟進(jìn)研究