[講座] [保衛設備的背後:移動應用安全] [克里斯Wysopal] [哈佛大學] [這是CS50。] [CS50.TV] >>下午好。我的名字是克里斯Wysopal。 我是CTO和Veracode的共同創辦人。 Veracode的是一個應用程序的安全公司。 我們測試各種不同的應用, 什麼我要說說今天的移動應用程序的安全性。 我的背景是我一直在做的安全性研究 很長一段時間,大概只要任何人。 我開始在90年代中期, ,這是一個時間,這是非常有趣的,因為 我們曾在90年代中期範式轉變。 突然間每個人的電腦被掛接到互聯網, 然後我們有web應用的開端, 這就是我把重點放在了不少呢。 這很有趣。 現在我們有另一個範式變化發生與計算, 這是轉移到移動應用。 >>我覺得這是一種類似的時間,然後它是在90年代末 當我們正在調查的web應用程序,並找到類似的缺陷 會話管理錯誤和SQL注入 這實際上是不存在的面前,突然他們無處不在 在Web應用程序,現在很多時候我花 正在尋找移動應用和看發生了什麼事情赫然出現在野外。 移動應用程序真的要成為佔主導地位的計算平台, 所以我們真的需要花費大量的時間,如果你在安全行業 專注於Web應用程序。 有29十億在2011年下載的移動應用程序。 它預計為76十億應用到2014年。 還有那些即將在今年購買6.86億的設備, 所以這是那裡的人都打算做  其大部分客戶端計算的向前發展。 >>我是說在富達投資副總裁 幾個月前,他說他們只是看到了更多的流量 做金融交易從他們的客戶群 在他們的移動應用程序比在他們的網站, 所以對於網站在過去的一個常見用途已 檢查你的股票行情,管理你的投資組合, 而我們實際上看到,在2012年超過開關 要在移動平台上更佔優勢。 當然,如果有將是任何犯罪活動, 任何惡意活動,它將會開始集中在移動平台上 隨著時間的推移,人們切換到這一點。 如果你看看移動平台, 來看看這個平台來把它分解成不同的層是非常有用的風險, 就像你會做它在台式計算機上, 你想想不同的層,軟件,操作系統, 網絡層,硬件層,當然,還有在所有這些層漏洞。 >>同樣的事情發生在移動。 但是,移動,似乎有些這些層是更糟。 其一,網絡層上移動更成問題 因為很多人都在自己的辦公室或家中 有線連接或者他們有安全的Wi-Fi連接, 和很多移動設備你明明在家外面 或辦公室的外面很多,如果你正在使用Wi-Fi有 你可能正在使用不安全的Wi-Fi連接, 東西是一個公共Wi-Fi連接, 所以當我們想到的移動應用程序,我們必須考慮到 在網絡環境是風險較高的為這些應用程序 當Wi-Fi已被使用。 而當我進入更多的移動應用程序的風險 你就會明白為什麼這是更重要的。 有在移動設備上的硬件層面的風險。 這是正在進行的研究的一個領域。 人們稱這些寬帶攻擊或基帶攻擊 在那裡你攻擊了在聽收音機的固件。 >>這是真正可怕的攻擊,因為 該用戶沒有做任何事情。 您可以射頻範圍內創下許多設備 在一次,好像每當這個研究冒泡 它很快被歸類在那裡 人一舉周圍,說,“在這裡,告訴我們關於這一點,請停止談論它。” 這裡也有一些研究,在寬帶領域回事, 但它似乎是非常噓噓。 我認為它是更多研究一個民族國家型這回事的。 活躍的研究領域,雖然是操作系統層, 又一次,這比在桌面計算領域的不同 因為在移動領域有一個人叫越獄這些球隊, 和越獄比普通的漏洞研究者不同。 他們試圖找到在操作系統中的漏洞, 但他們正試圖找到漏洞的原因是不 闖入別人的機器和妥協了。 這是闖入自己的電腦。 >>他們想闖入自己的移動,修改自己的移動操作系統 使他們能夠運行他們選擇的應用 而改變的事情有完全的管理權限, 他們不想告訴這個供應商。 他們不喜歡的一位安全研究人員是一個白色的帽子安全研究員 這是會做負責任的披露,並告訴它的供應商。 他們想要做的這項研究,他們想實際發布它 在利用或一個rootkit或越獄的代碼, 他們想這樣做的戰略,像右後 供應商船舶新的操作系統。 你有這樣的敵對關係 與在移動操作系統級別的安全漏洞, 我認為這是挺有意思的,一個地方,我們看到它 是它使得有很好公佈攻擊代碼在那裡 內核級漏洞, 我們已經看到了那些實際被使用的惡意軟件編寫者。 它比PC世界有一點點不同。 然後將最後一層是頂層,應用層。 這就是我今天要談論的話題。 >>其它層存在,而其他層打進去了, 但我主要是要談什麼,在應用層回事 其中代碼運行在沙箱中。 它不具有管理權限。 它具有使用該裝置的原料藥, 但儘管如此,很多惡意活動和大量的風險可以在該層發生 因為那是所有的信息層。 應用程序可以訪問設備上的所有信息 如果他們有正確的權限, 並且他們可以訪問設備上的不同的傳感器, GPS傳感器,麥克風,攝像頭,你有什麼。 即使我們只談論在應用層 我們有很多的風險存在。 另一件事是關於不同移動環境 在所有的操作系​​統的球員,無論是黑莓或Android 或iOS或Windows手機,他們都有一個細粒度的權限模型, 這是它們內置到操作系統的方法之一 的想法,它並不像你想像的那樣危險的。 即使你把所有在那裡的聯繫人,你的所有個人信息, 你有你的照片,你有你的位置在那裡, 你存儲你的銀行引腳上有自動登錄,這是安全的,因為 應用程序必須有一定的權限來獲得某些部分 的設備上的信息,並且用戶必須帶有 這些權限和說還行。 >>它的問題是用戶總是說沒事。 作為安全性的人,我知道你可以提示用戶, 說一些非常糟糕的事情發生,你希望它發生? 如果他們是在趕時間或有什麼東西在認為對方確實誘人, 就像一個遊戲是要安裝的組件,他們一直在等待, 他們會按一下好。 這就是為什麼我在我的幻燈片說,這裡只是讓我扔鳥在豬已經, 您可以在幻燈片上看到這裡有一個黑莓許可箱的例子。 它說:“請設置黑莓手機旅遊應用程序的權限 點擊下面的按鈕,“基本上,用戶只是想說之後 設置權限和保存。 下面是一個Android的提示符,它顯示的東西, 它其實是把東西幾乎看起來像一個警告。 它有一種屈服的跡象說有網絡通信,通電話, 但用戶要點擊安裝,對不對? 然後蘋果一個是完全無害的。 它不給任何警告。 這只是蘋果想用你的當前位置。 當然,你要點擊確定。 >>有這樣細粒度的權限模型, 和應用程序必須有一個manifest文件,他們聲明 的權限,他們所需要的,並且會得到顯示給用戶, 用戶將不得不說,我授予這些權限。 但說實話。 用戶只是將總是說還行。 讓我們來快速瀏覽一下這些應用程序所要求的權限 有的認為是有權限的。 本公司禁衛軍做了一個調查,去年 在Android Market和第三方市場分析53,000的應用程序, 所以這是所有的Andr​​oid。 和平均應用程序要求3的權限。 一些應用程序要求117的權限, 所以很明顯,這些都是非常細粒度的方式太複雜了用戶理解 如果他們提出了與此應用程序需要這些117權限。 這就像在最終用戶許可協議這是45頁長。 也許很快他們就會有一個選項,其中它就像 打印權限和給我發送電子郵件。 >>但是,如果你看看一些頂級有趣的權限 他們下載了53,000的應用程序24% 從設備請求的GPS信息。 8%讀的聯繫人。 4%發來的短信,和3%接受短信。 2%,錄製的音頻。 1%處理撥出電話。 我不知道。 我不認為在App Store的應用程序的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%被分配。 還有另一種技術叫做update這是 非常相似,重新包裝,但實際上你不把惡意代碼英寸 你要做的就是你把一個小的更新機制。 你反編譯,你把一個更新機制,並重新編譯它, 然後當應用程序正在運行它拉下來的惡意軟件到設備上。 >>到目前為止,大多數是那些2技術。 有沒有手機真多下載驅動車處或偷渡式下載, 這可能是像釣魚攻擊。 嘿,看看這個非常酷的網站, 或者你需要去這個網站,並填寫此表格 保持持續的做一些事情。 那些被網絡釣魚攻擊。 同樣的事情可以在移動平台上發生,他們 指向一個移動應用程序下載,說:“嗨,這是美國銀行。” “我們看到你使用這個應用程序。” “你應該下載這個應用程序等。” 理論上,這可能會工作。 也許它只是沒有被使用,足以確定它是否是成功或失敗, 但他們發現的時候,技術不足1%使用。 大部分的時間這真是一個重新包裝的代碼。 >>還有一個獨立的名為類 如果有人只是構建了一個全新的應用。 他們建立宣稱是什麼應用程序。 這不是別的東西重新包裝,並具有惡意代碼。 這是使用的時間14%。 現在我想談談什麼是惡意代碼在做什麼? 其中第一惡意軟件在那裡 你可以考慮一個間諜軟件。 它基本上用來觀測用戶。 它收集電子郵件,短信。 原來麥克風上。 它收成的聯繫簿,並將其發送其關閉,以別人。 存在於PC上的此類型的間諜軟件, 所以它非常有意義,人們試圖做到這一點在移動設備上。 >>一個這樣的例子,第一個是所謂的秘密短信複製程序。 它是在Android市場在幾年前, 而當時的想法是,如果你有機會訪問某人的Andr​​oid手機 你想窺視,也許這是你的配偶 或您的顯著其他和你想窺探他們的短信, 你可以下載這個程序,並安裝它,配置它 發送短信給你一個副本 每一個SMS文本消息,他們得到了。 這顯然是違反服務的應用程序商店方面, 這是從Android市場中刪除18小時它在那裡的內, 這樣極少數的人是因為這個風險。 現在,我認為,如果該程序被稱為東西,也許少一點挑釁 像秘密短信複製,它可能會工作好了很多。 但它是那種顯而易見的。 >>有一件事我們可以做,以確定是否應用有這種行為,我們不希望 是檢查的代碼。 其實,這是很容易做到在Android上,因為我們可以反編譯的應用程序。 在iOS上可以使用像IDA Pro的反彙編器 看什麼API的應用程序被調用和它在做什麼。 我們寫我們自己的二進制靜態分析儀,用於我們的代碼 我們這樣做,所以你可以做的是,你可以說 沒有設備做任何事情,基本上是監視我或跟踪我? 我這裡有關於iPhone的一些例子。 這第一個例子是如何訪問手機上的UUID。 這實際上是蘋果公司剛剛禁賽新應用的東西, 但是,你可能有你的手機上運行舊的應用程序仍然可以做到這一點, 和使唯一的標識符可以被用來追踪你 在許多不同的應用。 >>在Android,我有一個例子在這裡得到設備的位置。 你可以看到,如果該API調用是有該應用程序的跟踪, 你可以看它是否是越來越精確的位置或粗略的位置信息。 然後在這裡的底部,我對黑莓手機如何為例 一個應用程序可能會訪問您的收件箱中的電子郵件。 這是什麼樣的東西,你可以檢查看看 如果應用程序正在做這些事情。 第二個大類別的惡意行為,這可能是最大的類別現在, 未經授權撥號,未認可的優質短信 或未經授權的付款。 另一件事,是獨特的手機 在設備掛到付費帳戶, 而當活動發生在手機上 它可以建立收費。 您可以購買的東西通過電話, 當你發送一個溢價短信你居然給錢 向的另一側的電話號碼的賬戶持有人。 這些被設置為獲取股票報價或得到您的每日星座運勢或其他東西, 但他們可以設置通過發送短信訂購產品。 人們把錢給紅十字會通過發送文本消息。 你可以給10美元的方式。 >>襲擊者,他們做了什麼是他們成立了 戶口在國外,他們在嵌入的惡意軟件 該手機將發送溢價短信, 說,一天幾次,並且在你意識到了月底你花 幾十甚至上百美元,而他們的錢一走了之。 這變得如此糟糕,這是第一件事情是在Android 賣場或谷歌的地方,它是Android市場的時候, 並且它現在谷歌播放,第一件事情就是谷歌開始檢查。 當谷歌開始分發Android應用程序在其應用程序商店 他們說他們不會檢查任何東西。 我們將拉動應用程序一旦我們被告知他們已經打破我們的服務條款, 但我們不打算來檢查任何東西。 好了,大約一年前它變得如此糟糕與此溢價短信的惡意軟件 這是他們開始檢查的第一件事。 如果一個應用程序可以發送短信 他們進一步的手​​動審查該應用程序。 他們尋找調用這個API的, 現在既然那麼谷歌已經擴大, 但是這是他們開始尋找的第一件事。 >>是做了一些短信的一些其他應用程序, 這款Android Qicsomos,我想這就是所謂。 有關於這個地方CarrierIQ出來了移動這個當前事件 間諜軟件把設備上的運營商, 所以人們想知道他們的電話是脆弱到這一點, 這是一個免費的應用程序,測試過。 嗯,當然,這是什麼應用程序所做的就是它發出溢價短信, 所以通過測試,看看你感染了間諜軟件 你加載惡意軟件到您的設備。 我們看到同樣的事情發生在去年超級碗。 有勁爆足球比賽的假版本 發送溢價短信。 它實際上是試圖在設備上創建了一個殭屍網絡。 在這裡,我有一些例子。 有趣的是,蘋果是很聰明的, 他們不允許應用程序在所有發送短信。 沒有應用程序可以做到這一點。 這是擺脫一整類脆弱性的一個好方法, 但在Android上你可以做到這一點,當然,對黑莓手機可以做到這一點。 有趣的是,在BlackBerry所有你需要的是互聯網的權限 發送SMS文本消息。 >>其他的事情真的是我們尋找 當我們想看看,如果事情是惡意的只是任何形式的 未經授權的網絡活動,如看網絡活動 應用程序應該要有它的功能, 看看這個其他的網絡活動。 也許一個應用程序,工作,必須獲得的數據通過HTTP, 但如果它做的事情通過電子郵件或手機短信或藍牙或類似的東西 現在,該應用程序可能是惡意的,所以這是另一件你可以檢查。 並在此幻燈片在這裡我有一些例子。 我們看到了惡意軟件的另一個有趣的事情發生在2009年, 它發生在一個大的方式。 我不知道,如果它發生了這麼多從那時起,但它是一個應用程序 該模擬其他應用程序。 有一組應用程序,它被戲稱為09Droid攻擊, 有人決定,有很多小的區域,中型銀行 那些沒有網上銀行的應用, 所以他們做了什麼是他們興建了約50網上銀行的應用 所有他們所做的是把用戶名和密碼 和您重定向​​到該網站。 所以他們在谷歌市場把這些都起來, 在Android市場,當有人搜索,看看自己的銀行 有一個應用程序,就會發現假的應用程序, 其中收集他們的憑據,然後將它們重定向到他們的網站。 的辦法,這實際上成了,這些應用程序都在那裡幾個星期, 並有成千上萬的下載和數以千計。 >>該曝光的方式是有人有問題 有一個應用程序,他們稱他們的銀行, 他們稱他們的銀行的客戶支持熱線,說: “我在與你的移動銀行應用程序的問題。” “你能幫我嗎?” 他們說,“我們沒有一個移動銀行應用程序。” 這開始了調查。 該銀行名為谷歌,然後谷歌看了看說, “哇,同一作者寫了50行的應用程序,”把他們全都下來。 但可以肯定,這可能再次發生。 有所有不同銀行的名單在這裡 這是這個騙局的一部分。 另一件事是一個應用程序可以做的是目前的另一個應用程序的用戶界面。 而它的運行也可能彈出Facebook的用戶界面。 它說,你有你的用戶名和密碼將繼續 或把任何用戶名和密碼的用戶界面的一個網站 也許用戶使用只是為了試圖欺騙用戶 為把他們的憑據英寸 這是真的的電子郵件釣魚攻擊一條直線平行 如果有人向您發送一封電子郵件 並為您提供基本上是假的UI的網站 您可以訪問。 >>我們期待在惡意代碼的另一件事是系統修改。 你可以看看所有那些需要root權限的API調用 正確執行。 更改設備的Web代理會是這樣一個應用程序 不應該是能夠做到的。 但是,如果應用程序有在那裡的代碼做到這一點 你知道,它可能是一個惡意應用程序 或非常高度可能是惡意的應用, 所以會發生什麼,是該應用程序將不得不升級特權的辦法。 這將有一些特權提升漏洞 在應用程序中,然後一旦提升權限 它會做這些系統的修改。 你可以找到的惡意軟件,有特權升級 在它甚至不知道如何提升權限 利用將要發生,這是一個不錯的,簡單的方法 尋找惡意軟件。 DroidDream可能是最有名的作品的Andr​​oid惡意軟件。 我想好了幾天受影響的約25萬用戶 然後才發現。 他們重新包裝50假的應用程序, 把它們放在Android應用商店, 而本質上,它使用的Andr​​oid越獄代碼升級特權 然後安裝一個命令和控制,把所有的受害者 成殭屍網絡,但也可以檢測到該 如果你掃描的應用程序,只是在尋找 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%, 然後將這些其他的倒在底部,谷歌廣告,亂舞, 手機城和千年媒體, 這些都是廣告公司,然後,有趣的是, 在Facebook的庫4%掛鉤 可能是通過Facebook做認證 因此應用程序可以驗證了Facebook。 但是,這也意味著Facebook的控制代碼的公司 這是在Android移動應用程序的4%跑在那裡, 他們可以訪問所有的數據的應用程序有權限來獲得。 Facebook的基本上是試圖出售廣告空間。 這就是他們的商業模式。 >>如果你看看這整個生態系統,這些權限 你開始看到共享庫 你有很多的風險在一個假定的合法的應用程序。 發生與潘多拉同樣​​類似的事情 發生了與所謂的路徑的應用程序, 和路徑以為他們是有幫助的,友好的開發者。 他們只是想給你一個很好的用戶體驗, 而事實證明,不提示用戶或告訴用戶什麼 - 而這發生在iPhone和Android上, 潘多拉的應用程序是在iPhone和Android- 該應用程序的路徑被抓住你的整個通訊錄 它只是當你安裝並運行該應用程序上傳到路徑, 他們沒有告訴你這一點。 他們認為這是對你非常有幫助 能夠與所有的人在您的地址簿共享 您正在使用的應用程序的路徑。 >>嗯,很明顯的路徑認為這是非常適合他們的公司。 沒有那麼大的用戶。 你要認為這是一件事情,如果可能的少年 使用這個應用程序和他們的幾十個朋友都在那裡, 但如果它是一個公司,安裝路徑的行政總裁 然後突然他們的整個地址簿是在那裡? 你會得到很多潛在的有價值的聯繫信息 對於很多人。 來自紐約時報的記者,你也許可以得到的電話號碼 從他們的地址簿中的前總統, 所以很明顯了大量的敏感信息被轉移這樣的事情。 有關於這個這麼大瓣的路徑道歉。 他們改變了自己的應用程序,它甚至影響了蘋果公司。 蘋果表示,“我們將迫使應用程序供應商以提示用戶 如果他們要收集他們的整個通訊錄。“ >>它看起來像這裡發生了什麼是 當有一個大的隱私侵犯,這讓記者 我們看到了一個變化在那裡。 但當然,還有其他的東西在那裡。 LinkedIn的應用收割你的日曆項, 但蘋果並沒有讓用戶提示有關。 日曆項可以有太多在他們的敏感信息。 你要去哪裡劃清界線? 這實在是一種不斷發展的地方 那裡真的沒有很好的標準在那裡 為用戶時,他們的信息將是有風險理解 而當他們要知道它上當受騙。 我們寫在Veracode的一個應用程序稱為一路平安, 而且基本上它允許你在你的iTunes目錄指向應用程序 並期待在所有被收穫您的詳細地址簿應用程序。 並且,你可以在此列表中看到這裡,憤怒的小鳥, AIM,AroundMe。 為什麼憤怒的小鳥需要你的通訊錄? 我不知道,但它確實不知。 >>這是許多,許多應用程序做的。 你可以檢查代碼的。 有定義良好的API為iPhone,Android和黑莓 得到的地址簿。 你真的可以很容易地檢查這一點,而這正是我們在一路平安的應用程序一樣。 下一個類別,不安全的敏感數據存儲, 是什麼地方開發商拿東西就像一個針賬戶號碼 或一個口令,並將其存儲在設備上的清晰。 更糟的是,他們可能在一個地區它存儲在手機上 這是全局可訪問的,像SD卡。 你看這往往在Android上因為Android允許一個SD卡。 IPhone的設備沒有。 但是,我們甚至看到這種情況發生在花旗集團的應用。 他們的網上銀行應用程序存儲在賬號不安全, 只是在清澈的,所以如果你失去了你的設備, 基本上你失去了你的銀行帳戶。 這就是為什麼我個人不這樣做銀行在我的iPhone。 我認為這是太冒險了,現在做這些類型的活動。 Skype公司也做了同樣的事情。 Skype的,當然,有一個賬戶餘額,用戶名和密碼 訪問這種平衡。 它們被存儲在清澈的移動設備上的所有信息。 我有創建文件的一些例子 沒有正確的權限或寫入光盤 並且沒有任何加密發生了點。 這下一個區域,不安全的敏感數據傳輸, 我已經提到了這幾次,而且由於公共Wi-Fi 這是一些應用程序絕對需要做的, 這大概就是我們看到出問題最多。 我想說,其實,我覺得我有實際的數據, 但它接近一半的移動應用 搞砸了做SSL。 他們只是不使用API​​正確。 我的意思是,所有你必須做的就是按照說明進行操作,並使用API​​, 但他們不喜歡的東西不檢查是否有在另一端的證書無效, 不檢查另一端試圖做一個協議降級攻擊。 >>開發商,他們希望得到他們的複選框,對不對? 他們的要求是用這個來賣。他們已經用這個來賣。 要求是不是用這個來安全地賣, 所以這就是為什麼所有使用SSL的應用程序以便保護數據 因為它是被發送到器件真的需要檢查 確保正確實施。 在這裡我有一些例子,你可以看到一個應用程序 可能會使用HTTP而不是HTTPS。 在某些情況下,應用程序將回落到HTTP 如果HTTPS不工作。 我有另一個來電來訪Android上,他們已經禁用證書檢查, 所以一個人在這方面的中間人攻擊可能發生。 一個無效的證書將被接受。 這些是攻擊者將能夠獲得在所有情況下 相同的Wi-Fi連接的用戶和訪問所有數據 這是正在通過互聯網發送。 >>最後,最後一類我這裡是硬編碼的密碼和鑰匙。 事實上,我們看到很多開發者使用相同的編碼風格 他們做當他們構建Web服務器應用程序, 所以他們正在構建一個Java服務器應用程序,而且他們硬編碼的關鍵。 那麼,當你建立一個服務器應用程序,是啊, 硬編碼的關鍵是不是一個好主意。 這使得它很難改變。 但它不是那麼糟糕,在服務器端,因為誰有權訪問服務器端? 只有管​​理員。 但如果你把相同的代碼和你過倒到一個移動應用程序 現在大家誰都有移動應用程序有權訪問該硬編碼的關鍵, 我們實際上看到這個了很多次,我有一些統計數據 我們如何經常看到這種情況發生。 它實際上是在萬事達卡發布的示例代碼 關於如何使用他們的服務。 該示例代碼顯示了如何將只取密碼 並把它放在一個硬編碼的字符串就在那裡, 我們知道開發者如何愛複製和粘貼代碼片段 當他們試圖做一些事情,所以你複製並粘貼代碼片段 他們給的示例代碼,和你有一個不安全的應用程序。 >>在這裡,我們有一些例子。 這第一個是我們看到了很多,他們硬編碼 數據右成被發送的URL。 有時候,我們看到字符串密碼=密碼。 這是很容易察覺,或字符串密碼黑莓和Android。 這其實很容易檢查,因為幾乎總是 開發商的名稱的控股密碼的變量 密碼的一些變化。 我提到,我們做靜態分析在Veracode的, 因此,我們已經分析了幾百Android和iOS應用程序。 我們已經建立了他們的全款,並且我們能夠對其進行掃描 針對不同的弱點,尤其是我說的漏洞, 我這裡有一些數據。 我們看了一下Android應用程序的68.5% 打破了加密代碼, 這對於我們來說,我們無法檢測,如果你做你自己的加密程序, 不是說這是一個好主意,但其實這是使用發布的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空間得到它在那裡,而沒有那麼的好。 你幾乎需要越獄你的手機保持電流 隨著Android的最新版本。 是啊,這是一個巨大的問題,所以如果你仔細想想, [男]你為什麼不能重複一次嗎? >>哦,對了,所以這個問題是怎麼樣的碎片 在Android平台上的操作系統? 如何影響這些設備的風險程度? 它實際上是一個巨大的問題,因為發生的事情是 早期的設備,當有人想出了一個越獄的設備, 基本上這就是特權升級,直到該作業系統更新 那麼任何惡意軟件可以利用該漏洞完全妥協的設備, 而且我們看到在Android是什麼,以獲得新的操作系統 谷歌已經推出了操作系統,然後硬件製造商 具有自定義,然後承運人有權對其進行自定義,並提供它。 你已經基本上這裡3移動部件, 和它的轉向出,運營商不關心, 與硬件製造商不關心,而谷歌是不是慫恿他們足夠 做任何事情,所以基本上一半以上的設備在那裡 必須具有這些權限提升漏洞在他們的操作系統, 所以,如果你得到的惡意軟件在Android設備上它更是一個問題。 >>好的,非常感謝你。 [鼓掌] [CS50.TV]