压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

NSC2014愛加密CEO高磊

《APP安全面臨的新挑戰與解決方案》

前面主要聊的是網絡端、PC互聯網安全,移動互聯網真正開始的時代應該是從iPhone開始,iPhone的爆發帶來了整個Android時代整體的爆發。我們知道早期的話,以前我們用智能機時代,可能最好的手機當時就是95到97,HTC最早投入Android陣營以后,像現在的三星,以及我們整個Android的平臺已經到了一個非常高的高度,90%大家手里的手機都是Android,對于Android手機這一塊,我們會遇到很多的問題。比如App,2008年到2010年左右的時間,我們有一個創意,那個時候我們能夠推一個App出來,一個公司很容易起來。在2011年的時候,最貴就是開發人員,2011年iOS和Android的開發人員是非常緊俏的,比如我上大學出來學的是移動,那么工作非常好找,因為爆發了一系列的,從2011年我們整個定義來說,就是大批量的涌現出了很多的App,它的估值就是以用戶量來講的。我們當時看新聞經常是某一個App用戶量有多少,是一個多大價值的公司。到了2012年、2013年我們可能逐漸感覺到很多App開始沒落,就是說整個時代是到了一個高潮,逐漸到了一個平穩的階段。我們從一個蓬勃發展,或者野蠻生長的時代過去以后,直接跟隨而來的就是安全問題。因為互聯網已經十幾年了,從PC時代我們知道,當PC活躍的時候,可能也沒有人注意安全。但是發展了多年以后,PC的安全已經很成熟了。

我今天給大家帶來的重點就是關于移動安全和移動風險方面的分享。不知道大家有沒有遇到這樣一個問題,就是我們的Android裝了一個應用以后會被扣費,或者說裝了一個應用以后,很痛苦的一件事,下載了一個游戲會導致玩到中間的時候突然彈了一個廣告,我一點就跳了,要么是跳釣魚,要么彈廣告,不點又玩不了,很痛苦。往往這種游戲是非正版游戲,正版廠商不會做這樣一個很無效的廣告,而且是很影響用戶體驗的。可能還有一個大家經常遇到的事,我辦了一個新手機號,我可能很注意,這個手機號從來不辦會員卡,出去簽單從來不簽,我這個手機號就要很純潔,就怕收到各種垃圾短信。但是過了一個月以后我還是收到了垃圾短信,到底我這個手機號是從哪里被出賣的?很有可能是某個App把你的個人信息出賣了。因為有很多App可能它的某種盈利手段,因為用戶的信息是可以賣錢的。比如一個千萬級的應用,他可能不干一些廣告方面的東西,就賣你的個人信息,他也是可以賺一定的錢的,當然這是一個非正常化的渠道。

所以說應用對于我們來說,這些盜版應用以及惡意應用,剛才我舉的這些算是比較文明的一些盜版或者惡意,我們最直接的就是扣費。大家經常看新聞,某某人因為應用又丟了10萬塊,某某人因為應用又丟了20萬,這是我們經常在新聞上或者說電視上報道可以看到的。可能是沒有發生在你的身邊,其實這種直接轉帳,幾萬塊,十幾萬金額較大的比較少一點,因為犯罪分子怕這種影響力比較大,偷盜大家幾塊錢、十幾塊錢是非常常見的,我們經常自己意料不到。有的時候對于你的扣費,應用一些惡意扣費,不知道大家玩游戲現在還是否被扣費,可能點一塊就刷兩塊錢。通過App來說,你的App裝了這些盜版,或者說經過二次封裝的應用,可能就直接導致你的整個應用被別人利用,裝入廣告插件,裝入一些扣費,以及把你的信息盜取,或者說你裝了以后馬上就開始拖垮流量。以前的廣告說,裝了移動4G,跑一晚上一套房就沒有了,這是開玩笑。這只是一個例子,當然現在我們整個流量來說,從3G到4G越來越便宜,但是你這種偷跑的話,對每個人來說都是利益的損失。

為什么會存在盜版?我們可能就要從Android平臺來分析。大家知道Android是一個開放性的,蘋果走的就是硬件加軟件,整個閉環利潤非常高。但是Google想打下這個天地,它就把整個Android平臺很輕松的授權出去,碎片化非常嚴重,各大廠商各種定制,各種剪切,它的內核各種剪裁和修改。而且我們也知道,Android的版本非常亂,一直到4.4才算比較穩定,4.4以后,可能Android的碎片化就得到了很大的緩解。Android平臺開放的同時就導致了被別人利用,我們做技術的人員知道,Java層的代碼是很容易被反編譯的,通過一些工具、黑客,通過一些打包,通過一些很簡單的工具,就可以做到對你整個App的反編譯,如果你沒有做任何的保護,可能過程5分鐘就OK了。首先對你進行一個拆包,然后又對你進行一個植入,然后再次打包,加一個簽名。

國外在去年的時候有這樣一批人,他專門做這樣一件事情,就是從國外市場拿一些不知名的小游戲,然后做一次簡單漢化,有漢化團隊,再到國內做一次盜版的打包,一天可能就會產出幾百個這樣的應用,然后就開始瘋狂上市場。它可能手里面有上萬個這種App,然后對這個App做一個推送。他的收入也很簡單,就是靠這個廣告,也沒有做很惡意的事情,但是這個收入是非常可觀的。你想如果一款App有1萬的量的話,那么你1萬多款整個App量也是非常大的。所以通過一個廣告值也非常賺錢,損失了幾方面的利益,版權作者受到了很大的損傷,因為這個游戲、開發成本是我的,為什么你拿出去以后打一個包,這樣你就OK了,就可以坐著收錢?而且這個彈的廣告,也是會影響我們的用戶體驗。

今天我主要帶來的是游戲和金融這兩方面的內容,有導致風險的方面,主要是在這兩方面給大家做了一個PPT,想給大家展示。首先給大家講一下破解,接著我剛才說得如何做一個盜版。我們做盜版其實有兩種方法,一種就是對于一個應用靜態的破解,另外一個就是動態破解。剛才說的游戲打包,這就是一個簡單化的靜態破解,這種破解很多打包都可以輕松完成的。其實經過這樣五個工具,能夠對一個App實行一個簡單的二次打包,插入一個廣告或者一條應用。通過我們的一些工具,就可以實現一個靜態破解。什么是一個動態破解呢?動態我們一般都是指的內存,在PC上我們說動態調試,一般都是指的內存層面的調試。在Android層面來說也同樣存在內存,如果我們動態的話,我們可以把內存下載下來,進行一個DEX文件的還原,就是一個代碼文件,我們整個代碼是在這個里面,普通的黑客可以反編譯的,最終可以完完全全拿到源代碼。

簡單說一下游戲,黑客會對游戲進行一個內部破解。我們知道對于游戲玩家來說,特別是單機來說,有時候可能會提醒我們購買金幣,前一段時間微信那兩個游戲很風靡的時候,也是讓大家付費的。還有就是游戲資源的篡改,還有就是對于游戲WPE的刷量,還有就是內部的篡改。還有就是存檔、廣告值的修改,還有就是注入惡意代碼,篡改游戲規則。

我們拿到一個游戲,單機游戲的付費方式一般有五種,下載的時候付費,iOS通常都是下載付費,在Android層面比較少見,因為大家都喜歡免費模式,我們玩Android游戲付費是比較少的,更多的是iOS上面。我們下載以后關卡付費,要通關以后付費。這是我們手機改變生活,大家知道現在智能手機已經超過了九成,我們其實每天玩手機的時候要超過三個小時,睡覺前一個小時,經常抱著手機睡,有的人女朋友經常要吃手機的醋了。有一個拖垮流量,有騷擾電話。這是一個對于App惡意風險的數量,這就是剛才我說的靜態破解,其實我們經過這幾個工具,一個簡單的步驟,5分鐘就可以對一個App進行破解,二次打包。這是APK的動態破解,其實我們通過查找剛才我說過的APK進程,我們可以通過內存還原,拿到整個應用。

要破解應用黑客都做了什么?比如嵌入廣告SDK,像國外的那個團隊,剛才舉例子,惡意代碼、扣費,以及替換支付鏈接、收集用戶隱私、販賣,盜取我們的金錢。這是一個打包黨幕后的利益鏈,這都是剛才我說的例子,他們一些打包黨是非自己的應用,但是他會通過這個應用進行二次打包,加入一些非法的東西,謀取黑利,這個地下產業其實是很大的。

說到對于游戲,這是剛才我說的內購。這是國外破解論壇上的破解,就是對某個游戲進行分析,其實SDK是要跟服務端通信,我們可以在SDK和服務端通信的時候,你的訪問值我是可以修改的,比如我沒有付錢,可以反饋給我的手機說我已經付錢了,這是很簡單的。短信支付破解也是很簡單,它是要讀取你手機的驗證碼,現在其實支付方面來說,最常用的就是短信的校驗碼,這是最常見的,我現在的短信校驗碼是要你讀的,不需要你輸,這個很方便,但是也很危險,是可以模擬的。

這是對于游戲資源的一個修改,比如他想盜版一個游戲,他可能不會傻傻的把你的Logo和圖片還放在上面,他可能會改變Logo和圖片,改成自己的東西,進行一個二次封裝,才把這個東西放出來。對于WPE刷量,比如要過節了,要送你一個東西,其實可以對這個截獲,是被劫持的。這是內存修改,大家可能用過一些工具,比如原來有手機游俠,后面有幾個例子,可以給大家看一下。比如燒餅,還有八門神器,這些大家應該很熟悉,玩游戲的話,八門神器應該是很熟悉的,它可以修改你的游戲值,這些對于游戲廠家來說是非常痛苦的事情,他不希望有人打破他的公平性。因為作為一個游戲,要有關卡等等,對于整個游戲是有規劃的。如果某些加速器修改了你手機的一個時鐘,本來8分鐘才可以打一關,我1分鐘就打了一關。如果我打怪,本來只剩下一滴血了,一充就是一千,這個游戲的公平性就失去了,導致了整個游戲的可玩性是降低的,直接導致的就是游戲收入的下降,因為他可能需要道具這一塊盈利。

對于存檔來說,我的游戲可能玩到某一關,但是本地有一個數據是存儲在本地上,可能從A手機拷到B手機繼續玩,可能打到第三關,又從第三關開始打了,這一塊也是需要防護,他們對這一塊的安全度也要求很高的。

廣告修改,這個圖可能看不太清楚。這是一個廣告的SDK,這里我們可以看到你發布的ID和應用密鑰,這一塊就是某一個應用拿到以后,他可以把這一塊修掉,本來你是要通過廣告賺錢,但是換成了他的廣告,你的錢就跑到別人的口袋里了。這就是注入一個惡意代碼,這是比較嚴重的,涉及到扣費的一些東西,這是篡改游戲規則。

下面我對支付說幾個例子。大家知道,其實現在兩種應用對大家的影響力最大,可能游戲在我們的生活當中,百分之七八十的人都要玩游戲,占的比重比較大。另外就是我們的支付,因為越來越多我們的支付都已經轉移到手機上,支付就涉及到我們實實在在的金錢。在移動端,你如果對于一個支付的應用沒有做過任何的安全處理,它的安全度是非常低的。舉例說鍵盤,我們經常用Android手機的鍵盤,這個鍵盤首先是可以自己開發的,很簡單,有的黑客對這個應用,他的鍵盤是自己開發的,那么你輸的任何東西他都幫你記錄下來上傳,你的整個密碼就被盜取了。

這是我舉例說一下界面截取,我們輸密碼的時候大家應該知道,我們現在的密碼機制,我們輸ABCD的話,會有一秒的停頓,這個第一秒的停頓就是讓我們看一下自己輸錯了以后,輸完以后都是以星號返回。這個應用對于監管你的界面,我們默認的密碼管理是無效的,我們可以看到,輸入A這一秒的同時是可以調用一下系統的截屏,通過五六張截屏就把你的密碼拿下來,這樣的話整個帳號密碼就丟失了。現在Root的比例還是比較高,Root過的手機,本地的數據庫,可以直接拿工具拿到,非常簡單,所以建議大家盡量少Root。

這是通過一個APKTool的工具,開發這個工具的初衷不是說要做一些非法的事情。但是我們也知道,任何一個事情都是雙刃劍。APKTool現在也被廣泛的應用于各種拆包進行破解,是很重要的一款APKTool。這里簡單舉例,我們拿一個”易付寶”的錢包,我們改了一個名字,就改了一個”難付寶”的錢包。

我們可能會有一個疑問,我是通過正版渠道下載東西,可能不會中招,或者有的企業也會這樣想,我的很安全,但是大家其實不知道,有時候你的手機可能莫名其妙就會出來一個應用,不是你自己安裝的。比如你的手機突然某一天出來一個支付寶,但是你也忘了我到底以前裝過沒有,可能這個支付寶就是一個偽裝的支付寶,或者是某些其他的支付,那么可能拿過來就支付了。這樣就導致一個黑客有很大的空間,一個應用被破解之后,可能就安裝到手機上。對于整個應用來講,可能在出廠之前,發布之前做好安裝體系的話,就不會存在這個安全風險。

這是一個系統日志,作為程序員來說,有的可能粗心,或者不是很在意這些,他可能就是Log沒有關,或者Log沒有清理,別人可能通過你的Log就可以直接看到你很多信息,進而對你整個內部的一些算法,比如對密碼或者是支付有一個加密,以及你的位置,其實都是可以對你的Log有很大的幫助。這是我們寫得不太規范的一個Log,可能直接輸出的Log沒有管。另外就是我們統一管理的Log,也存在一些風險,可能發布以后把Log全關了。但是你的應用被打開以后,這個是可以被打開的。

這是一個代理抓包,這個大家都比較熟悉,應該是和PC端是一樣的,我們在網絡端會進行抓包,通過工具進行分裝和拆包。比如你的工具,讓你連接到了一個Wi-Fi,但是這個Wi-Fi給你發了一些東西,并不是你原來想要的東西。這是一個協議的抓取,我們通過連接以后看到,你的帳號名、密碼,通過工具是完全可以拿到的,可以調試得到的。

其實今天也是想重點把我們的一些危險給大家講,下面給大家講一下愛加密會做哪些防護,大家可以在安全圈當中共同討論一下,共同學習。對于一個App來說,整個規劃是三重方案,首先要做一個安全的檢測,我們會對它進行一個安全的保護,我們有一個渠道檢測,會對整個市場正版、盜版做一個監測。這是我們的分析平臺,可以對外進行訪問的,大家到我們的管網就可以看到,我們這是推出的獨立的漏洞分析平臺,我們看到會對文件檢查、漏洞掃描,還有是否有后門,而且可以一鍵的生成一個報告,這一塊對于開發者來說其實可以省去很多精力。這是對于某一個應用檢測以后的大項,包括是否有內嵌廣告,有這種風險。其次就是敏感權限,還有你的調試信息。包括你的數據、源碼以及敏感信息,廣告SDK這些。一般我們生成一個報告大概30頁左右,我們會定義源碼,這一塊會有一個代碼片段,這是我們整個安全檢測系統幫你生成的,在哪一塊不安全,可以幫你定位一個代碼,你是可以看到的。

針對應用保護,愛加密提出了DEX三重保護,現在移動端加殼的公司也不止我們一家,是不是只做了一個加殼呢?單純的一個加殼無法說是絕對的安全,說白了,任何一個安全公司都不可能一個環節做到百分之百,其實我們盡量的做到整個環節的安全。愛加密我們可以看到,DEX就是一個三重的保護,在內存方面我們有一個DEX指令的動態加載,最后我們在源碼又做了一層自己的混淆。加殼這個概念并不是移動端才有的,在PC端其實加殼已經由來很久了。當移動端爆發以后,加殼被應用到移動端,對于整個APK又做了一次封裝,會自動有一套自己的一個機制。這樣的話,別人想破解我們外面這一層殼是非常難的。我們可以看到一個簡單的對比,就是說加殼后,你通過一個反病毒工具打開以后,你的文件是全部都沒有的。

這個動態直列加載,就是一個調試。我們看左側的信息是沒有的。單純一個DEX的話是一個靜態的安全,在動態的時候,別人通過一個動態的工具調試,如果你這一塊沒有做到的話其實是無效的。我們在這一塊做到一個方面,DEX指令動態加載,就是說原來的加載是通過APK整合加載內存。現在可以使用的技術就是加載是按照方法力度來進行的,而且加載位置不是一塊。這樣就導致別人不會拿到我這一塊的內存把我Down下來,然后我再還原,保證我的應用就拿到了。這是我們用DEX動態加載一下,右邊是有方法,左側沒有方法,都是空的。

DEX高級混淆,大家都很熟悉,國外比較有名的一些公司做的都比較成熟,他們專門就是做混淆的。但是在移動端其實沒有人來做這個事情,因為混淆是針對Java層來說的。愛加密針對Android做了一套混淆,因為Android里面有很多特殊的東西,比如我們有要資源ID和資源引用,作為Java來說我們不會用到這些東西,所以我們會做一些特殊的處理。這是加密之后我們可以看到一些專門的類名和一些值,有一些ID等等都是經過了一些修改。這是一個ida反編譯加密后的so庫,我們可以看到整個反編譯以后是無效的。

下面我說一下什么是渠道檢測。渠道檢測就是我們現在監控了國內500多家大大小小的市場,我們會對這個應用進行一個對比。當我們上傳一個應用以后,比如我上傳一個A應用,那么我會對整個市場進行監控,如果又出現了一個A,跟你的名字一樣,但是它的簽名不一致,或者說有一些惡意的東西,我們會立馬通知到這個A客戶,幫你實現從運營渠道方面對于安全的防范。我們這個更新是每天都會對渠道數據進行更新,而且會對正版和盜版進行一個對比。這是一個簡單的游戲截圖,前一段時間大家也玩過那個最坑爹的游戲。我們會發布一些應用,正版的一些詳情。這里就出現了盜版,我們可以看到,這里有四個盜版。我們還會對盜版進行分析,我這個截圖沒有截完,盜版的話你看他增加了哪些權限,增加了哪些東西,這里我們都可以分析出,在后臺都可以讓他看到。

這是一個游戲解決方案,我們會對它進行一系列的漏洞分析以及一些定制的需求,防止反編譯和一些內存修改器的修改,防止資源文件的修改等等。我們對金融這一塊來說,銀行和游戲也是我們一個很大的客戶群。我們對銀行專門做了一些定制的保護方面,因為時間關系,這一塊我就粗略講一下。

簡單介紹幾個服務案例,崩壞學園大家都玩過,流水也是千萬的,今年流水千萬的游戲很多,月流水五千萬的都有了。以及平安銀行、鄭州銀行,還有唱吧,大約也有1億用戶以上。通過一個應用,可能就能給大家反饋一個問題,愛加密整個兼容性很好,像唱吧這樣異地的用戶,如果金融性有問題的話,可能別人不會使用。另外安全強度非常好,如果安全強度不好的話,銀行不會使用。

我剛才介紹了整個風險,以及到愛加密的安全防護,我都做了一個簡單的介紹。大家如果有需求的話可以到我們管網注冊,有技術交流可以直接找我,希望能夠有機會交流,謝謝大家!

上一篇:NSC2014百度資深架構師周曉波

下一篇:沈逸:沉著應對美國網絡安全新攻勢