泄露事故反思報(bào)告_第1頁(yè)
泄露事故反思報(bào)告_第2頁(yè)
泄露事故反思報(bào)告_第3頁(yè)
泄露事故反思報(bào)告_第4頁(yè)
泄露事故反思報(bào)告_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、泄露事故反思報(bào)告 前段時(shí)間看見一個(gè)能夠和現(xiàn)實(shí)進(jìn)行交互的應(yīng)用,覺得挺有意思,恰巧有一個(gè)下午的空閑時(shí)間,于是就把APP下載下來進(jìn)行分析。 應(yīng)用本身是的,但是解鎖功能需要激活碼,并且交互需要攝像頭識(shí)別相應(yīng)卡片(Augmented Reality AR卡)。去他們的官方淘寶店看了看,算下來是5塊錢一張,正在打折。 整個(gè)APK 120m+ ,顯然是將模型數(shù)據(jù)放在APK中,通過攝像頭識(shí)別卡片,通過識(shí)別到的內(nèi)容調(diào)用不同的模型,和卡片的姿態(tài)進(jìn)行交互。 使用apktool dex2jar 反編譯應(yīng)用,通過jd-gui查看源代碼。代碼分為3部分:一是主activity的代碼,二是qr識(shí)別的代碼,三是unity3d

2、。顯然游戲使用的引擎是unity3d,而其中部分代碼混淆過,類名和變量名都改成了a b c等無(wú)意義的名字,這一部分代碼可能是 。 稍微分析了一下activity的代碼后,便放棄了。然后轉(zhuǎn)去研究資源文件。res的資源文件只有應(yīng)用圖標(biāo)而已,有意義的資源都在assets里。除開QR識(shí)別的資源外,就是Unity3D使用的dll和模型文件了。模型文件進(jìn)行了簡(jiǎn)單的分割,意義不明。 分析資源文件的過程中,發(fā)現(xiàn)了一個(gè)數(shù)據(jù)庫(kù)。一開始對(duì)其并不在意,在分析完assets中的資源文件之后,關(guān)注點(diǎn)就轉(zhuǎn)移到這個(gè)數(shù)據(jù)庫(kù)身上了。是一個(gè)sqlit3數(shù)據(jù)庫(kù),用SQLite Expert 打開后,其中有兩個(gè)表。一個(gè)表是卡的數(shù)據(jù),數(shù)

3、據(jù)列兩列,包括卡的代碼和是否啟用。另一個(gè)表的列名讓我很在意“ActivedCode”,難道是激活碼?找到第一行此列值,輸入到應(yīng)用里,發(fā)現(xiàn)。激活了。 我頓時(shí)就凌亂了,另外一列的名字叫QRCode 。于是找了最后一行的QRCode,找了一個(gè)在線QR碼生成器,QRCode輸入進(jìn)去,用應(yīng)用識(shí)別生成的QR圖。又激活了。 因?yàn)锳R卡本身只是一張卡片,卡片只是通過卡片上圖案特征進(jìn)行識(shí)別的。而在其他的AR卡應(yīng)用中(如PSV的和其他非盈利性的Android AR卡應(yīng)用)即便是復(fù)印的也可以被正確識(shí)別。而這個(gè)應(yīng)用中有卡片的圖片,只要將圖片提取或者截屏下來,按照原卡片的大小打印裁切,應(yīng)該是可以用的。如果這3萬(wàn)條數(shù)據(jù)被

4、泄露出去??峙逻@款應(yīng)用是賺不到錢了。 我去這個(gè)公司的官網(wǎng),找到了一個(gè)該應(yīng)用IOS版開發(fā)者的 _號(hào),把這件事和他說了一下,他說轉(zhuǎn)告同事去處理了。 過了半個(gè)月,我又想起了這件事,找那位開發(fā)者要了Android版開發(fā)者的 _號(hào)。和Android版開發(fā)者交流了一下,他說是測(cè)試的時(shí)候?qū)?shù)據(jù)庫(kù)放進(jìn)了APK中,發(fā)布的時(shí)候忘記拿出來了,而數(shù)據(jù)庫(kù)也從新的APK中去掉了。 這個(gè)事件還算是完美地解決了。不過出現(xiàn)這個(gè)問題的原因,除了Android應(yīng)用本身,容易被反編譯的客觀原因之外,我感覺有兩個(gè)主要主觀原因: (1) 沒有分開開發(fā)環(huán)境和生產(chǎn)環(huán)境。不過Android開發(fā)環(huán)境中貌似沒有原生的開發(fā)生產(chǎn)分開的功能,只能用AN

5、T。這樣的話有一個(gè)土辦法,做一個(gè)checklist,每次發(fā)布按照這個(gè)checklist做,這樣就不會(huì)有不應(yīng)該出現(xiàn)在產(chǎn)品中的東西遺留在產(chǎn)品中。 (2) 激活碼明碼保存。雖然說一般激活碼的數(shù)據(jù)庫(kù)都只會(huì)放在服務(wù)器上,不會(huì)被泄露出來。然而如果一個(gè)不小心數(shù)據(jù)庫(kù)被流出了,作為最后的保險(xiǎn),我認(rèn)為數(shù)據(jù)庫(kù)本身最好還是加密一下。所有可用激活碼的明文,由項(xiàng)目負(fù)責(zé)一人。激活碼的發(fā)布和驗(yàn)證分開:激活碼的發(fā)布由項(xiàng)目負(fù)責(zé)將激活碼明文交由發(fā)布渠道,如印刷或其他銷售渠道。而負(fù)責(zé)激活的服務(wù)器上激活碼的數(shù)據(jù)庫(kù)都是使用不可逆加密算法加密的密文。驗(yàn)證的時(shí)候用戶輸入激活碼后,服務(wù)器將輸入內(nèi)容加密,與數(shù)據(jù)庫(kù)中的內(nèi)容進(jìn)行比較,執(zhí)行激活操作。這樣即使激活碼數(shù)據(jù)庫(kù)被泄露也不怕其用來被激活 注:查看本文

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論