[Powered by Google Translate] [講座] [衛冕設備:移動應用安全性的背後] [克里斯Wysopal] [哈佛大學] [這是CS50。] [CS50.TV] 下午好。我的名字是克里斯Wysopal。 我Veracode的首席技術官和共同創始人。 Veracode的是應用程序的安全公司。 我們測試各種不同的應用, 我今天要談的是移動應用程序的安全性。 我的背景是我一直在做安全研究 很長一段時間,大概只要人。 我在90年代中期開始, 這一段時間,這是相當有趣的,因為 我們有一個模式的改變,在90年代中期。 突然每個人的電腦連接到互聯網, 然後我們有Web應用程序的開端, 這就是我把重點放在了很多,然後。 這很有趣。 現在我們有另一個範式變化發生計算, 這是移動應用的轉變。 我覺得它是一種類似的時間,那麼它是在90年代後期 當我們在調查Web應用程序和發現缺陷,如 會話管理錯誤和SQL注入 它真的不存在之前,突然他們無處不在 在Web應用程序,而現在,我花了很多的時間 正在尋找在移動應用和看發生了什麼事在野外。 移動應用程序真的要佔主導地位的計算平台, 所以我們真的需要花費大量的時間,如果你在安防行業 專注於Web應用程序。 有29億移動應用程序下載在2011年。 它的預測是,到2014年的76億的應用程序。 有686萬台設備,今年將要購買的, 所以這是那裡的人都打算做  他們的大部分客戶端計算向前發展。 我是說富達投資公司的副總裁。 幾個月前,他說,他們只是看到了更多的流量 從他們的客戶群做金融交易 在他們的移動應用比在他們的網站上, 所以在過去一直是常見的用於Web 檢查您的股票行情,您的投資組合管理, 我們實際上看到,在2012年切換 在移動平台上更佔優勢。 當然,如果有任何犯罪活動, 任何惡意活動,它要開始把重點放在移動平台 隨著時間的推移,人們切換。 如果你看看移動平台 來看看它的平台的風險是非常有用的,把它分解成不同的層, 就像你會做一台台式電腦, 你想想不同的層,軟件,操作系統, 網絡層,硬件層,當然,還有所有這些層上的漏洞。 同樣的事情發生在移動。 但是,移動設備,它似乎,這些層更糟。 為一體,網絡層移動的問題 因為很多人在辦公室或在家 有線連接,或者他們有安全的Wi-Fi連接, 有很多的移動設備,你顯然是家庭以外的 或者在辦公室以外的很多,而且如果你使用的Wi-Fi 你可能正在使用不安全的Wi-Fi連接, 的東西,這是一個公共Wi-Fi連接, 所以,我們認為有關移動應用程序時,我們必須考慮到 這些應用程序的網絡環境是風險 正在使用Wi-Fi時。 而當我進入更多的移動應用風險 你就會明白為什麼這是更重要的。 移動設備在硬件水平上均存在風險。 這是一個正在進行的研究領域。 人們稱這些寬帶攻擊或基帶攻擊 你攻擊的固件在電台收聽。 這些是真正可怕的攻擊,因為 用戶不必做任何事情。 在射頻範圍內,你可以打很多的設備 一次,好像每當這個研究冒泡 迅速被歸類 人一舉左右,並說,“在這裡,告訴我們這件事,並請停止談論它。” 還有一些研究將在寬帶領域, 但它似乎是非常噓噓。 我覺得更重要的是一個民族國家的類型研究是怎麼回事。 一個活躍的研究領域,雖然是操作系統層, 再次強調,這是比桌面計算世界不同 因為在移動領域,你有這些球隊的人叫越獄, 越獄不同於常規漏洞的研究人員。 他們試圖找到在操作系統中的漏洞, 但,他們正試圖找到漏洞的原因是不是 闖入別人的機器和妥協。 這是打入自己的電腦。 他們想打入自己的手機,修改自己的移動操作系統 使他們能夠運行的應用程序,他們的選擇 具有完全的管理權限和改變的事情, 他們不希望這告訴供應商。 他們不喜歡一名安全研究人員,這是一個白帽子安全研究員 這是怎麼回事,做負責任的披露,並告訴它的供應商。 他們想要做的這項研究,他們希望實際發布 一個漏洞或一個rootkit或越獄的代碼, 他們想要做的戰略,像右後 廠商會在新的操作系統。 你有這樣的敵對關係 在移動操作系統級別的漏洞, 我覺得這是挺有意思的,我們看到它的一個地方 它使得有好公佈的漏洞的代碼在那裡 內核級漏洞, 我們已經看到了那些實際使用惡意軟件編寫者。 它比PC世界有一點點不同。 然後最後一層是最佳的層,應用層。 這就是我要說說今天。 存在其他層,其他層發揮到它 但我主要是要說說這是怎麼回事,在應用層 在沙箱中運行的代碼。 它不具有管理權限。 它使用API​​的設備, 但仍然,很多的惡意活動,很多風險可以發生在該層 因為這層,所有的信息。 應用程序可以訪問所有的設備上的信息 如果他們有正確的權限, 他們可以訪問的移動設備上的不同傳感器之間的 GPS傳感器,麥克風,攝像頭,你有什麼。 即使我們只談論在應用層 我們有一個很大的風險。 其他的事情,不同的移動環境 是所有操作系統的球員,無論是黑莓或Android 或iOS或Windows手機,他們都有一個細粒度的權限模型, ,這是一個到操作系統中內置的方式,他們 的想法,這不是你認為的風險。 即使你把所有的聯繫人在那裡,你的所有個人信息, 你有你的照片,你有你的位置在那裡, 你存儲在那裡為自動登錄,您的銀行銷,它是安全的,因為 應用程序必須有一定的權限來獲得某些部分 的移動設備上的信息,並且用戶具有帶有 這些權限和說沒關係。 它的問題是,用戶總是說沒事。 作為安全性的人,我知道,你可以提示用戶, 說真的不好的事情將要發生,你希望它發生嗎? 如果他們在匆忙或有什麼東西真的很誘人,在另一側, 就像一場將要被安裝的,他們一直在等待, 他們打算按一下好。 這就是為什麼我說我的幻燈片上,在這裡只是讓我一扔鳥已經在豬, 你可以看到幻燈片上,這裡有黑莓權限“框中的例子。 它說:“請設置黑莓手機旅遊應用程序的權限 後,點擊下面的按鈕,用戶基本上只是會說 設置權限和保存。 這裡有一個Android的提示,它顯示, 它實際上把的東西,幾乎看起來像一個警告。 它有一種屈服的跡象,有說網絡通信,電話, 但用戶要點擊安裝,正確的嗎? 然後蘋果是完全無害的。 它不提供任何形式的警告。 這只是蘋果想用您的當前位置。 當然,你要點擊沒關係。 有這種細粒度的權限模型, 和應用程序必須有一個manifest文件中聲明 瀏覽顯示給用戶的權限所需要的,這將 用戶將不得不說,我授予這些權限。 但是,說實話。 用戶總是說沒事。 讓我們來快速瀏覽一下權限,這些應用程序所要求的 一些有權限。 這家公司的Praetorian去年做了一個調查 53,000的應用程序在Android市場和第三方市場分析, 所以這是所有的Andr​​oid。 和平均應用程序要求的權限。 一些應用程序要求117權限, 所以很明顯,這些都是非常細粒度的用戶了解和方式過於複雜 如果他們提出了與此應用程序需要117權限。 這就像是長達45頁的最終用戶許可協議。 也許不久後,他們將有一個選項,它就像 打印的權限,並給我發電子郵件。 但是,如果你看一下一些有趣的頂級權限 24%的應用程序,他們下載了53,000 請求的從設備的GPS信息。 8%閱讀觸點。 發送短信4%,3%,收到的短信。 2%,錄製的音頻。 1%處理撥出電話。 我不知道。 我不認為4%的應用程序商店中的應用程序確實需要發送短信, 所以我認為這是一個暗示,不良的東西是怎麼回事。 8%的應用程序需要讀取您的聯繫人列表。 它可能不是必要的。 有關權限的其他有趣的事情之一是 如果您鏈接到您的應用程序在共享庫 那些繼承權限的應用程序, 所以如果你的應用程序需要的聯繫人列表或需要GPS定位功能 鏈接在廣告庫中,例如, 該廣告庫也將能夠訪問聯繫人 也能夠訪問的GPS位置, 的應用程序的開發人員知道什麼廣告庫中運行的代碼。 他們只是聯繫起來,因為他們想賺錢他們的應用程序。 這是哪裡,我會談論一些這樣的例子, 一個叫潘多拉的應用程序開發人員的應用程序 可能在不知不覺中被洩露信息 從他們的用戶,因為他們的圖書館鏈接中。 在那裡,看著所有不同的應用程序測量景觀 已在新聞報導的惡意或做一些用戶不想 然後檢查了很多應用程序,移動應用程序上,我們做了很多的靜態二進制分析, 所以我們已經檢查了他們並且看著代碼本身 我們來到了我們所說的我們的前10名名單在應用中的危險行為。 它分解成2個部分,惡意代碼, 所以這些都是不好的事情,應用程序可能會做 很可能是一個惡意的個人 專門整理中的應用,但它是一個有點模糊。 這可能是一些開發商認為是正常的, 但它結束了由用戶所想的是惡意的。 然後第二部分就是我們所說的編碼漏洞, 這些都是開發商基本上是決策失誤 或根本不知道如何安全地編寫應用程序,  這把應用程序用戶處於危險之中。 我會去通過這些細節,並給出一些例子。 僅供參考,我希望把OWASP移動前10名名單。 這些都是10個問題,一組在OWASP 開放Web應用安全項目,他們有一個工作組 工作在移動前10名之列。 他們有一個非常有名的網絡排名前10位名單,這是前1​​0名 最危險的事情,你可以在一個web應用程序。 他們正在做同樣的事情,為移動電話, 他們的名單比我們有一點不同。 6,滿分10是相同的。 他們有4個是不同的。 我覺得他們有一點點不同的看法 在移動應用程序中的風險,那裡有很多自己的問題 真的如何將應用程序的後端服務器通信 或後端服務器上發生了什麼事情, 沒有這麼多的應用程序,有危險的行為,只是簡單的客戶端應用程序。 紅色在這裡的2個列表之間的差異。 我的研究團隊和一些實際上已經促成這個項目, 所以我們會看到隨著時間的推移會發生什麼,但我認為這裡的外賣 我們真的不知道是在移動應用程序中的前10名名單,因為 他們真的只有2年或3年左右,現在 有沒有足夠的時間去真正研究操作系統 他們有能力,有沒有足夠的時間 惡意的社會,如果你願意,已經花了足夠的時間 試圖攻擊用戶通過移動應用程序,所以我希望這些列表來改變一點點。 但現在,這是前1​​0名的事情擔心。 你可能不知道從何惡意移動代碼在移動側 它是如何獲取到設備? 北卡羅萊納州有一個項目稱為移動惡意軟件基因組計劃 他們,因為他們可以收集盡可能多的手機惡意軟件和分析, 他們已經打破了注射載體,移動惡意軟件的使用, 和86%使用的技術稱為重新包裝, 而這僅僅是Android平台上的 你真的可以做到這一點重新包裝。 原因是Android的代碼是建立與 一個叫做Dalvik的Java字節碼,這是很容易的把。 壞傢伙可以做的是 一個Android應用程序,反編譯, 插入惡意代碼,重新編譯它, 然後把它看來是一個新版本的該應用程序在App Store中, 或只是可能改變應用程序的名稱。 如果它是某種形式的遊戲,稍微更改名稱, ,所以這86%的手機惡意軟件是如何被分配的重新包裝。 還有另一種技術,稱為更新 重新包裝非常相似,但實際上你不把惡意代碼中。 你要做的就是你把一個小的更新機制。 你反編譯,你把更新機制,並重新編譯它, 然後應用程序正在運行時,它打破了惡意軟件到設備上。 到目前為止,大多數是那些技術。 沒有真正意義上下載驅動車處或驅動器的手機上下載, 這可能是一個釣魚攻擊一樣。 嘿,這真的很酷的網站, 或者你需要去這個網站,並填寫此表 保持繼續做的事情。 這些都是釣魚式攻擊。 同樣的事情可以發生在移動平台上,在那裡他們 指向一個移動應用程序下載,說:“嗨,這是美國銀行(Bank of America)。” “我們看到了你使用這個應用程序。” “你應該下載其他應用程序。” 從理論上講,可以工作。 也許它只是沒有被足夠使用,以確定它是否是成功與否, 但他們發現,小於1%的時間,技術被使用。 大部分時間裡,它的確是一個重新包裝的代碼。 還有另外一類稱為獨立 有人只是建立了一個全新的應用。 他們構建一個應用程序,聲稱是。 這不是別的東西重新包裝,並具有惡意代碼。 這是用14%的時間。 現在我想談談什麼是惡意代碼做? 有第一的惡意軟件之一 你可以考慮一個間諜軟件。 它用戶基本上間諜。 它收集電子郵件,短信。 打開麥克風。 豐收聯絡簿,並把它發送給別人。 這種類型的間諜軟件在PC機上,存在 所以人們在移動設備上嘗試這樣做非常有意義。 其中的第一個例子,這是一個稱為秘密短信複製的程序。 這是一對夫婦幾年前,在Android市場 當時的想法是,如果你有機會訪問到別人的Andr​​oid手機 你想窺探,也許這是你的配偶 或您的顯著其他你想窺視他們的短信, 你可以下載的應用程序,並將其安裝和配置 發送SMS文本消息給你一份 每一個SMS文本消息,他們得到了。 這顯然是違反了App Store的服務條款, 這是從Android市場中移除它在那裡的18小時內, 讓極少數人是因為這樣的風險。 現在,我認為,如果該程序被稱為東西也許有點不太挑釁 它可能會像秘密短信複製工作好了很多。 但它是一種顯而易見的。 我們可以做的事情之一的應用程序,以確定是否有這樣的行為,我們不希望 是為了視察代碼。 這實際上是很容易的,因為我們可以在Android上做反編譯的應用程序。 在iOS上,你可以使用像IDA Pro的反彙編 看什麼應用程序的API調用和它在做什麼。 我們寫自己的二進制代碼的靜態分析 我們這樣做,所以你可以做的是,你可以說 設備沒有做任何事情,基本上是我從事間諜活動,或跟踪我? 我這裡有一些例子,在iPhone上。 這第一個例子是如何在電話上訪問的UUID。 這其實是蘋果剛剛禁止為新的應用, 但老,你可能已經在你的手機上運行的應用程序仍然可以這樣做, 使唯一的標識符可以被用來追踪您 在許多不同的應用程序。 在Android中,我有一個例子,這裡的設備的位置。 你可以看到,如果有,API調用,應用程序跟踪, 你可以看到,無論是獲得精確的位置或粗略的位置。 然後在底部在這裡,我有一個例子,如何在BlackBerry 應用程序可能訪問您的收件箱中的電子郵件消息。 這些都是樣的東西,你可以檢查看看 如果應用程序正在做這些事情。 第二大類惡意行為,這恐怕是目前最大的一類, 擅自撥號,未經授權的溢價SMS短信 或未經授權的付款。 另一件事是關於手機的獨特功能 設備迷上計費帳戶, 活動時發生在手機上 它可以創建費用。 您可以通過電話購買的東西, 當您發送優質的SMS文本消息其實你給錢 到另一側上的電話號碼的帳戶持有人。 這些股票報價或讓你的每日星座運勢或其他東西, 但它們可以被設置為通過發送SMS文本訂購商品。 人們把錢給紅十字會發送短信。 你可以給$ 10這樣。 攻擊者,他們做了什麼,他們成立了 佔在國外,它們嵌入在惡意軟件 手機將發出溢價SMS文本消息, 說了幾次了一天,你意識到你已經花了一個月的結束 或者幾十甚至上百美元,而他們的錢走開。 這變得如此糟糕,這是第一件事,是Android 市場或谷歌的地方,它是Android市場的時候, 它現在是谷歌遊戲的第一件事情,谷歌開始檢查。 當谷歌在他們的應用程序商店開始銷售Android應用程序 他們說他們不會去檢查什麼。 我們會拉一旦我們被告知,他們已經打破了我們的服務條款的應用程序, 但我們不打算以任何檢查。 嗯,大約一年前,它變得如此糟糕,這個溢價的SMS文本消息惡意軟件 這是第一件事,他們開始檢查。 如果一個應用程序可以發送短信 他們進一步手動審議該應用程序。 他們尋找的API調用這個, 現在自那時以來,谷歌已經展開, 但是這是他們的第一件事就是開始尋找。 其他一些應用程序做了一些短信消息, 這Android Qicsomos的,我想它被稱為。 在移動這個CarrierIQ出來有這個當前事件 如間諜軟件把設備上的運營商, 所以人們想知道,這是脆弱的,如果他們的手機, 這是一個免費的應用程序測試。 嗯,當然,這是什麼應用程序是收費短訊發送短信, 所以通過測試,看看如果你感染了間諜軟件 您加載惡意軟件到您的設備。 我們看到同樣的事情發生在最後的超級碗。 勁爆足球比賽有一個假的版本 優質的SMS文本消息發送。 它實際上是試圖,太在設備上創建一個殭屍網絡。 在這裡,我有一些例子。 有趣的是,蘋果很聰明, 他們沒有在所有,允許應用程序發送短信。 任何應用程序可以做到這一點。 這是一個偉大的方式擺脫一整類漏洞, 但在Android上,你可以做到這一點,當然,你可以在BlackBerry做了。 有趣的是,所有你需要的是在BlackBerry Internet權限 發送SMS文本消息。 其他的事情,真的,我們來看看 當我們正在尋找,看看是否有惡意,只是什麼樣的 未經授權的網絡活動,如在網絡活動 該應用被認為必須有它的功能, 並期待在這個其他網絡活動。 也許一個應用程序,工作,通過HTTP來獲取數據, 但如果它做的事情通過電子郵件或短信或藍牙或類似的東西 現在,應用程序可能是惡意的,所以這是另一回事,您可以檢查的。 這張幻燈片上,我有一些這方面的例子。 惡意軟件,我們看到另一個有趣的事情發生在2009年, 它發生在一個大的方式。 我不知道它是否出現過這樣的情況,所以從那時起,但它是一個應用程序 模擬其他應用程序。 有一組應用程序,它被冠以09Droid的攻擊, 有人認為有很多小區域,中型銀行 沒有網上銀行的應用, 所以他們做了什麼,他們建立了約50網上銀行的應用 他們所做的一切的用戶名和密碼 並重定向到該網站。 因此,他們把這些都在谷歌市場, 在Android市場,而當有人搜索,看看他們的銀行 有一個應用程序,他們會發現假的應用程序, 收集他們的憑據,然後重定向到他們的網站。 的方式,這實際上成為的應用程序分別上漲了幾個星期, 且有成千上萬下載。 這揭發的方式是有人有問題 用的應用程序之一,他們稱他們的銀行, 他們叫銀行的客戶支持熱線說, “我有一個問題,您的移動銀行應用程序。” “你能幫幫我嗎?” 他們說,“我們沒有一個移動銀行應用程序。” 這開始了調查。 該銀行稱谷歌,那麼谷歌看了看說, “哇,同一作者寫的50家銀行申請”,把他們全都下來。 但可以肯定,這可能再次發生。 不同的銀行在這裡有列表 這個騙局的一部分。 一個應用程序可以做的另一件事是提出另一個應用程序的UI。 雖然它的運行,它可以彈出Facebook的UI。 它說,你必須把你的用戶名和密碼才能繼續 或任何一個網站的用戶名和密碼的用戶界面 用戶使用,也許只是試圖欺騙用戶 到把他們的憑據英寸 這的確是一個直線平行的電子郵件釣魚攻擊 有人向您發送一封電子郵件 並給你一個網站基本上是一個假的UI 您可以訪問。 其他的事情,我們期待在惡意代碼的系統修改。 你可以看一下所有的API調用需要root權限 正確執行。 更改設備的Web代理是一個應用程序 不應該是能夠做到的。 但是,如果應用程序的代碼在那裡做 你知道,它可能是一個惡意應用程序 或非常極有可能是一個惡意應用程序, 所以會發生什麼事是,應用程序將有一些特權升級方式。 這將有一些特權升級漏洞 在應用程序中,然後一次升級特權 它會做修改這些系統。 你可以找到惡意軟件,有特權升級 它甚至不知道如何的特權升級 漏洞的事​​情發生,這是一個不錯的,簡單的方法 尋找惡意軟件。 DroidDream的Andr​​oid惡意軟件很可能是最有名的一塊。 過不了幾天我認為這影響了約25萬用戶 之前被發現。 他們重新包裝50假的應用程序, 把它們放在Android應用程序商店, 基本上,它使用Android越獄的代碼,提升權限 然後安裝一個指揮和控制,並把所有的受害者 成一個殭屍網絡,但你可以發現這 如果你是掃描應用程序,只是在尋找 API調用,需要root權限才能正確執行。 有一個例子,我在這裡已經改變代理, 這實際上是只可在Android。 你可以看到我給你很多的例子在Android 因為這是最活躍的惡意軟件生態系統 因為它真的很容易讓攻擊者獲取惡意代碼 進入Android市場。 這不是那麼容易的事,在蘋果App Store 因為蘋果需要開發自己的身份 並簽署代碼。 他們實際檢查你是誰,蘋果實際上是審議申請。 我們沒有看到真正的惡意軟件,設備越來越妥協了很多。 我會談談一些例子,這是真正的隱私得到妥協, 蘋果設備上到底發生了什麼。 尋找惡意代碼,危險的代碼,在設備的另一件事 是邏輯或定時炸彈,定時炸彈可能 更容易尋找比邏輯炸彈。 但隨著時間的推移炸彈,你可以做什麼的,你可以看看 代碼中的測試時間或絕對時間的地方尋找 之前發生在應用程序的某些功能。 這可以隱藏該活動從用戶, 所以它的發生在深夜。 DroidDream其所有活動之間當地時間上午11點和8 嘗試這樣做,而用戶可能無法使用他們的設備。 這樣做的另一個原因是,如果人們使用應用程序行為分析, 在沙箱中運行的應用程序到應用程序的行為是什麼, 他們可以使用基於時間的邏輯活動 當應用程序是不是在沙箱中。 例如,像蘋果的應用程序商店 運行應用程序,但他們可能不運行的每個應用程序,比如說,30天 在審批之前,所以你可以把 沒關係,只說在你的應用程序的邏輯,做壞事 30天之後,已經或之後的應用程序的發布日期後30日內, 可以幫助人們檢查惡意代碼隱藏。 如果反病毒公司都運行在沙箱的東西 或自己的應用程序商店,這可以幫助 隱藏從該檢查。 現在,它的另一面,是很容易找到與靜態分析, 所以實際上檢查代碼,你可以看看所有的地方 應用測試的時間和檢查這樣。 在這裡,我這3個不同的平台上有一些例子 時間可以檢查應用程序製造商 所以您知道要尋找什麼,如果你檢查應用程序的靜態。 我剛剛經歷了一大堆不同的惡意活動 在野生環境中,我們已經看到,但哪些是最流行的? 這同樣來自北卡羅萊納州立移動基因組計劃的研究 公佈了一些數據,基本上有4個區域 他們看到那裡有很多的活動。 37%的應用程序沒有特權升級, 所以他們在那裡有一些類型的越獄代碼 他們試圖提升自己的權限,讓他們可以 做API作為操作系統上運行的命令。 的應用程序有45%的溢價短信, 所以這是一個巨大的比例,試圖直接賺錢。 93%的人遠程控制,所以他們試圖建立一個殭屍網絡,移動殭屍網絡。 45%的收穫識別信息 像電話號碼的UUID,GPS定位,用戶帳戶, 這加起來超過100個,因為大多數惡意軟件嘗試這些事情做了幾個。 我要切換到下半年,談談代碼漏洞。 這是下半年風險的活動。 這是基本上是開發商的決策失誤。 一個合法的開發商寫一個合法的應用程序 決策失誤或移動平台的風險一無所知。 他們只是不知道如何做一個安全的移動應用程序, 或有時開發商不關心把用戶風險。 有時,他們的業務模式的一部分可能是 收穫用戶的個人信息。 這是其他類別的排序,這就是為什麼這一些惡意 與合法開始流血,因為有不同的意見 用戶想要什麼和什麼之間的用戶認為風險 和什麼樣的應用程序開發人員認為有風險的。 當然,它不是在大多數情況下,應用程序開發人員的數據。 最後,發生這種情況的另一種方式是開發者可能會鏈接 一個共享庫,有漏洞或這種危險行為 他們不知道。 第一類是敏感數據洩漏, 這是當應用程序收集的信息 如位置,通訊錄信息,所有者信息 和發送裝置關機。 而一旦關閉設備,我們不知道發生了什麼信息。 它可以存儲在不安全的應用程序開發人員。 我們已經看到了應用程序開發人員得到妥協, 他們存儲的數據被採取。 這在幾個月前發生在佛羅里達開發商 - 它是一個龐大的數字iPad的UUID和設備名稱 被洩露,因為有人,我覺得它是匿名的, 聲稱要做到這一點,闖進這個開發商的服務器 並偷走數以百萬計的iPad的UUID 和電腦名稱。 不是最危險的信息, 但如果這是存儲的用戶名和密碼 家庭住址? 的應用程序商店有很多這方面的信息。 風險是存在的。 其他的事情可能發生的是,如果開發商不照顧 保護數據通道,這就是我要談的另一大漏洞, 數據被明文發送。 如果用戶是在公共Wi-Fi網絡 或者有人嗅探互聯網上某個地方 沿路徑的數據正被暴露。 一個非常著名的案例發生此信息洩漏與潘多拉 這是我們研究的東西在Veracode的。 我們聽說,有一個我覺得它是一個聯邦貿易委員會 調查與潘多拉。 我們說:“這是怎麼回事呢?讓我們開始挖掘進入潘多拉應用程序。” 我們確定的是潘多拉應用程序收集 你的性別和年齡, 而且還訪問了您的GPS位置,以及潘多拉應用程序 這樣做對他們說什麼正當理由。 他們玩潘多拉的音樂是音樂流應用程序 玩音樂,他們只在美國的許可, 所以他們不得不檢查遵守他們有他們的許可協議 為音樂,用戶是在美國。 他們也想遵守與家長諮詢 圍繞在音樂的成人語言, ,所以它是一個自願性的計劃,但他們想遵守 13兒童發揮明確的歌詞。 他們收集這些數據的正當理由。 他們的應用程序的權限做到這一點。 用戶認為這是合法的。但是,什麼發生了什麼? 他們掛在3或4個不同的廣告庫。 現在一下子所有這些廣告庫 獲得此相同的信息的訪問。 廣告庫,如果你看一下廣告庫中的代碼 他們做了什麼,是每一個廣告庫說 “我的應用程序是否有權限來獲取GPS位置嗎?” “哦,這不好吧,告訴我的GPS位置。” 每一個廣告庫這樣做, 如果應用程序不具備GPS功能的權限 它不會是能夠得到它,但如果這樣做,就會得到它。 這是商業模式的廣告庫 反對用戶的隱私。 有過研究,在那裡,會說,如果你知道的年齡 一個人,你知道自己的位置 他們晚上睡覺的地方,因為你有他們的GPS坐標 同時,他們也許正在睡覺,你知道那個人究竟是誰 因為你可以決定該家庭成員是那個人。 實際上這是識別廣告 你是誰,它看起來是合法的。 我只想我的流媒體音樂,這是唯一的方式得到它。 好吧,我們暴露了這一點。 我們寫這在幾個博客文章, 它橫空出世,有人從滾石雜誌 閱讀我們的博客文章,寫自己的博客,它的滾石, 第二天潘多拉認為這是一個好主意 刪除廣告從他們的應用程序庫。 據我所知,他們是唯一的,他們應該受到表揚。 我覺得他們的應用程序,這樣做的唯一的免費增值型。 所有其他的免費增值應用也有同樣的行為, 所以,你要想想什麼樣的數據,你給 這些免費增值應用,因為它的一切都會給廣告客戶。 禁衛軍對於共享庫也做了一項研究說, “讓我們看看哪些共享庫頂部的共享庫,”這是數據。 他們分析了53,000個應用程序, 和數字1的共享庫的AdMob。 它實際上是在38%的應用在那裡, 所以您正在使用的應用程序的38% 您的個人信息可能收穫 並將其發送到廣告網絡。 阿帕奇和Android分別為8%和6%, 那麼這些其他的底部向下,谷歌廣告,亂舞, 手機市公司Millennial Media, 這些是所​​有廣告公司,然後,有趣的是, 掛在Facebook的庫4% 大概做認證通過Facebook 所以應用程序可以驗證了Facebook。 但是,這也意味著該公司的Facebook控制代碼 在4%的Andr​​oid手機應用程序運行在那裡, 他們有訪問該應用程序的所有數據的權限來獲得。 Facebook的實質上是嘗試出售廣告空間。 這是他們的商業模式。 如果你看看這整個生態系統具有這些權限 和共享庫,你開始看到 在一個假定的合法的應用程序,你有一個很大的風險。 同樣類似的事情發生了潘多拉 與應用程序稱為路徑發生, 和路徑以為他們是有幫助的,友好的開發。 他們只是想給你一個很好的用戶體驗, 它橫空出世,不提示用戶的情況下,或告訴用戶什麼 這發生在iPhone和Android上, 潘多拉的應用程序是iPhone和Android 路徑應用抓住你的整個通訊錄 並上傳到路徑只是當你安裝並運行應用程序, 他們沒有告訴你這一點。 他們認為這是真的對你有幫助 能夠與大家分享您的地址簿中的所有的人 你使用的應用程序的路徑。 嗯,很明顯的路徑認為這是非常適合他們公司。 沒有那麼大的用戶。 你認為它也許是一件事,如果一個十幾歲的 使用這個應用程序,他們的許多朋友都在那裡, 但如果它是一家公司的CEO,安裝路徑 然後突然整個地址簿的所有嗎? 你會得到很多潛在的有價值的聯繫人信息 很多人。 記者從紐約時報,你可能能夠得到的電話號碼 他們的地址簿中的前總統, 如此明顯的敏感信息得到了很多像這樣的東西轉移。 有這樣一個大瓣,路徑道歉。 他們改變他們的應用程序,它甚至影響了蘋果。 蘋果公司表示,“我們將迫使應用程序供應商,以提示用戶 如果他們要收集他們的整個通訊錄。“ 它看起來像這裡發生了什麼 當有一個大的侵犯隱私,它使記者 在那裡,我們看到了一個改變。 不過,當然,還有其他的東西在那裡。 LinkedIn的應用收成您的日曆條目, 但蘋果並沒有關於該用戶被提示。 日曆項可以在他們的敏感信息。 你要去哪裡劃清界線? 這的確是一種不斷變化的地方 那裡真的沒有很好的標準有 用戶理解他們的信息時,要在風險 當他們要知道它正在採取。 我們寫了一個應用程序在Veracode的叫一路平安, 基本上,它允許你指向的應用程序在您的iTunes目錄 看,收穫您的詳細地址簿中的所有應用程序。 你可以在這裡看到這個名單上,憤怒的小鳥, AIM,AroundMe。 “憤怒的小鳥”為什麼需要你的地址簿? 我不知道,但它確實不知何故。 這是很多,很多應用程序做的事情。 您可以檢查代碼。 有定義良好的API,用於iPhone,Android和黑莓 在地址簿中。 你真的可以輕鬆地檢查,這是我們做我們一路平安應用。 下一個類別,不安全的敏感數據存儲, 一些開發商拿東西像針或帳號 或密碼,並將其存儲在設備上的明確。 更糟的是,他們可能會存儲在手機上的一個區域 這是全局可訪問的,像SD卡。 你看這往往在Android,因為Android允許SD卡。 不IPhone裝置。 但是,我們甚至看到這種情況發生在花旗集團(Citigroup)應用程序。 他們的在線銀行應用程序存儲的帳戶號碼不安全, 只是在明確,所以如果你失去了你的設備, 基本上,你失去了你的銀行帳戶。 這就是為什麼我個人不辦銀行在我的iPhone。 我認為這是太冒險了,現在做這類活動。 Skype公司也做了同樣的事情。 Skype的,當然,帳戶餘額,用戶名和密碼 訪問該資產。 在清澈的,他們所有的信息存儲在移動設備上。 我這裡有一些例子,創建文件 沒有正確的權限或寫入光盤 不用任何加密的發生。 這一個區域,不安全的敏感數據傳輸, 我提到的這幾次,而且由於公共Wi-Fi 這是應用程序絕對需要做的事情, 這可能是我們所看到的去錯了最。 我想說,其實,我覺得我有實際的數據, 但接近一半的移動應用程序 搞砸做SSL。 他們只是不正確地使用API​​。 我的意思是,所有你所要做的就是按照說明進行操作,並使用API​​, 但他們做的事情不喜歡檢查是否有無效的證書在另一端, 不檢查,如果另一端試圖做一個協議降級攻擊。 開發商,他們希望得到他們的複選框,對不對? 他們的要求是用這個來賣。他們已經用這種出售。 要求是不使用這種安全出售, 所以這是為什麼所有應用程序使用SSL來保護數據 因為它是被傳輸設備確實需要進行檢查 確保這是正確實施。 在這裡,我有一些例子,你可以看到一個應用程序 可能會使用HTTP而不是HTTPS。 在某些情況下,應用程序將回落到HTTP 如果使用HTTPS不工作。 我有另一個呼叫禁用證書檢查,他們已經在Android, 所以可能發生的man-in-the-middle攻擊。 一個無效的證書將被接受。 所有這些情況下,攻擊者將能夠得到 相同的Wi-Fi連接的用戶和訪問所有數據 在互聯網上被發送。 最後,我這裡有最後一類是硬編碼的密碼和鑰匙。 事實上,我們看到很多開發者使用相同的編碼風格 他們時,他​​們建立Web服務器應用程序, 所以他們正在構建一個Java服務器應用程序,和他們硬編碼的關鍵。 那麼,當你建立一個服務器應用程序,是啊, 硬編碼的關鍵,是不是一個好主意。 這使得它很難改變。 但它不是那麼糟糕,因為在服務器端訪問到服務器端? 只有管​​理員。 但是,如果你把相同的代碼和你倒過來一個移動應用程序 現在大家誰擁有移動應用訪問該硬編碼的關鍵, 實際上,我們看到了很多次,我有一些統計數據 我們常常看到這樣的情況。 它實際上是在示例代碼,萬事達卡發布 如何使用他們的服務。 示例代碼表明你將如何只取密碼 在一個硬編碼的字符串,並把它在那裡, 我們知道如何開發者的喜愛,複製和粘貼代碼片段 當他們試圖做一些事情,所以你複製和粘貼的代碼片段 他們給的例子代碼,你有一個不安全的應用程序。 在這裡,我們有一些例子。 第一個是我們看到了很多在他們硬編碼 數據被發送到一個URL。 有時候,我們看到的字符串密碼=密碼。 這是很容易察覺,或黑莓和Android的字符串密碼。 它實際上是很容易檢查,因為幾乎總是 開發商命名的變量密碼 一些變化的密碼。 我提到,我們做靜態分析Veracode的, 因此,我們已經分析了數百個Android和iOS應用程序。 我們已經建立了完整的模型,我們就可以對其進行掃描 對於不同的漏洞,尤其是我在談論的漏洞, 我這裡有一些數據。 68.5%的Andr​​oid應用程序中,我們看著 打破了加密代碼, 這對我們來說,我們可以不檢測,如果你做你自己的加密例程, 不,這是一個好主意,但其實這是使用發布的API 在該平台上,但它們以這樣的方式做 加密將是脆弱的,68.5。 這是人發送我們自己的應用程序實際上是因為 他們認為這是一個好主意,做安全測試。 這些已經有人可能會想牢固, 所以它可能更糟。 我沒有談論控制換行注射。 這是我們檢查的東西,但它不是風險的問題。 信息洩漏,這是其中的敏感數據被發送關閉設備。 我們發現,在40%的申請。 時間和狀態,這些都是比賽條件類型的問題,通常是相當困難的利用, 所以我不談論這個,但我們看著它。 23%有SQL注入的問題。 很多人不知道,很多應用程序 在他們的後端使用一個小的SQL數據庫來存儲數據。 好吧,如果你的數據在網絡上抓住 SQL注入攻擊的字符串 有人可能會危及通過該設備, 所以我覺得有這樣的問題,我們發現約40%的Web應用程序, 這是一個巨大的防疫問題。 我們發現23%的時間在移動應用程序 這可能是因為許多Web應用程序使用SQL比移動。 然後,我們仍然可以看到一些跨站點腳本,授權問題, 然後憑證管理,這就是你有你的硬編碼密碼。 在5%的應用中,我們看到這一點。 然後我們有一些iOS上的數據。 81%以上的有錯誤處理的問題。 這是更多的代碼質量問題, 但67%的加密問題,所以不太為Android不好。 也許API是稍微容易一些,例如代碼iOS上更好一點。 但仍然是一個非常高的比例。 我們有54%的信息洩漏, 約30%的緩衝區管理錯誤。 這就是地方有可能是內存損壞問題。 事實證明,這不是太大的問題,為剝削 在iOS上,因為所有的代碼都必須簽署, 所以很難攻擊者執行任意代碼在iOS。 代碼質量,目錄遍歷,但是當時的憑據管理為14.6%, 所以不如在Android。 我們有沒有正確處理密碼的人。 然後將數字錯誤和緩衝區溢出 那些更將是iOS上的代碼質量問題。 這是對我的介紹。我不知道,如果我們的時間或不。 我不知道,如果有任何問題。 [男]一個快速的問題圍繞碎片和Android市場。 蘋果至少擁有修補。 他們做好得到它在那裡,而在Android空間較少。 你幾乎需要越獄你的手機保持當前 與當前版本的Andr​​oid。 是啊,這是一個巨大的問題,所以,如果你認為約 [男]為什麼不能重複呢? 哦,對了,所以這個問題是關於碎片 在Android平台上的操作系統? 如何影響這些設備的風險度? 它實際上是一個巨大的問題,因為會發生什麼 早期的設備,當有人想出了該設備的越獄, 本質上是特權升級,直到該操作系統更新 任何惡意軟件就可以利用該漏洞完全妥協的設備, 我們看到在Android是為了得到一個新的操作系統 谷歌已經放出來的操作系統,然後在硬件製造商 來定制它,然後運營商來定制它,並將其交付。 這裡有3個基本的運動部件, 它的轉向,運營商不關心, 和硬件製造商不關心,和谷歌沒有催促他們足夠 做任何事,所以基本上有一半以上的設備 他們具有這些特權提升漏洞的操作系統, 所以如果你得到你的Andr​​oid設備上的惡意軟件,它更是一個問題。 好的,非常感謝你。 [鼓掌] [CS50.TV]