1 00:00:00,000 --> 00:00:02,610 >> [講座] [保衛設備的背後:移動應用安全] 2 00:00:02,610 --> 00:00:04,380 [克里斯Wysopal] [哈佛大學] 3 00:00:04,380 --> 00:00:07,830 [這是CS50。] [CS50.TV] 4 00:00:07,830 --> 00:00:10,360 >>下午好。我的名字是克里斯Wysopal。 5 00:00:10,360 --> 00:00:13,360 我是CTO和Veracode的共同創辦人。 6 00:00:13,360 --> 00:00:15,880 Veracode的是一個應用程序的安全公司。 7 00:00:15,880 --> 00:00:18,230 我們測試各種不同的應用, 8 00:00:18,230 --> 00:00:25,060 什麼我要說說今天的移動應用程序的安全性。 9 00:00:25,060 --> 00:00:28,630 我的背景是我一直在做的安全性研究 10 00:00:28,630 --> 00:00:31,970 很長一段時間,大概只要任何人。 11 00:00:31,970 --> 00:00:35,000 我開始在90年代中期, 12 00:00:35,000 --> 00:00:37,370 ,這是一個時間,這是非常有趣的,因為 13 00:00:37,370 --> 00:00:39,220 我們曾在90年代中期範式轉變。 14 00:00:39,220 --> 00:00:43,520 突然間每個人的電腦被掛接到互聯網, 15 00:00:43,520 --> 00:00:46,550 然後我們有web應用的開端, 16 00:00:46,550 --> 00:00:49,330 這就是我把重點放在了不少呢。 17 00:00:49,330 --> 00:00:51,160 這很有趣。 18 00:00:51,160 --> 00:00:53,930 現在我們有另一個範式變化發生與計算, 19 00:00:53,930 --> 00:00:58,710 這是轉移到移動應用。 20 00:00:58,710 --> 00:01:03,680 >>我覺得這是一種類似的時間,然後它是在90年代末 21 00:01:03,680 --> 00:01:07,650 當我們正在調查的web應用程序,並找到類似的缺陷 22 00:01:07,650 --> 00:01:11,800 會話管理錯誤和SQL注入 23 00:01:11,800 --> 00:01:14,940 這實際上是不存在的面前,突然他們無處不在 24 00:01:14,940 --> 00:01:19,360 在Web應用程序,現在很多時候我花 25 00:01:19,360 --> 00:01:27,950 正在尋找移動應用和看發生了什麼事情赫然出現在野外。 26 00:01:27,950 --> 00:01:32,060 移動應用程序真的要成為佔主導地位的計算平台, 27 00:01:32,060 --> 00:01:35,060 所以我們真的需要花費大量的時間,如果你在安全行業 28 00:01:35,060 --> 00:01:39,280 專注於Web應用程序。 29 00:01:39,280 --> 00:01:43,420 有29十億在2011年下載的移動應用程序。 30 00:01:43,420 --> 00:01:47,920 它預計為76十億應用到2014年。 31 00:01:47,920 --> 00:01:54,040 還有那些即將在今年購買6.86億的設備, 32 00:01:54,040 --> 00:01:57,060 所以這是那裡的人都打算做 33 00:01:57,060 --> 00:01:59,600  其大部分客戶端計算的向前發展。 34 00:01:59,600 --> 00:02:04,220 >>我是說在富達投資副總裁 35 00:02:04,220 --> 00:02:08,780 幾個月前,他說他們只是看到了更多的流量 36 00:02:08,780 --> 00:02:12,610 做金融交易從他們的客戶群 37 00:02:12,610 --> 00:02:16,230 在他們的移動應用程序比在他們的網站, 38 00:02:16,230 --> 00:02:20,610 所以對於網站在過去的一個常見用途已 39 00:02:20,610 --> 00:02:23,800 檢查你的股票行情,管理你的投資組合, 40 00:02:23,800 --> 00:02:28,060 而我們實際上看到,在2012年超過開關 41 00:02:28,060 --> 00:02:30,960 要在移動平台上更佔優勢。 42 00:02:30,960 --> 00:02:34,530 當然,如果有將是任何犯罪活動, 43 00:02:34,530 --> 00:02:38,900 任何惡意活動,它將會開始集中在移動平台上 44 00:02:38,900 --> 00:02:44,210 隨著時間的推移,人們切換到這一點。 45 00:02:44,210 --> 00:02:48,320 如果你看看移動平台, 46 00:02:48,320 --> 00:02:54,380 來看看這個平台來把它分解成不同的層是非常有用的風險, 47 00:02:54,380 --> 00:02:59,010 就像你會做它在台式計算機上, 48 00:02:59,010 --> 00:03:02,860 你想想不同的層,軟件,操作系統, 49 00:03:02,860 --> 00:03:07,730 網絡層,硬件層,當然,還有在所有這些層漏洞。 50 00:03:07,730 --> 00:03:10,510 >>同樣的事情發生在移動。 51 00:03:10,510 --> 00:03:14,880 但是,移動,似乎有些這些層是更糟。 52 00:03:14,880 --> 00:03:19,840 其一,網絡層上移動更成問題 53 00:03:19,840 --> 00:03:25,650 因為很多人都在自己的辦公室或家中 54 00:03:25,650 --> 00:03:30,780 有線連接或者他們有安全的Wi-Fi連接, 55 00:03:30,780 --> 00:03:36,530 和很多移動設備你明明在家外面 56 00:03:36,530 --> 00:03:40,520 或辦公室的外面很多,如果你正在使用Wi-Fi有 57 00:03:40,520 --> 00:03:42,820 你可能正在使用不安全的Wi-Fi連接, 58 00:03:42,820 --> 00:03:45,570 東西是一個公共Wi-Fi連接, 59 00:03:45,570 --> 00:03:48,840 所以當我們想到的移動應用程序,我們必須考慮到 60 00:03:48,840 --> 00:03:53,770 在網絡環境是風險較高的為這些應用程序 61 00:03:53,770 --> 00:03:57,640 當Wi-Fi已被使用。 62 00:03:57,640 --> 00:04:02,410 而當我進入更多的移動應用程序的風險 63 00:04:02,410 --> 00:04:04,910 你就會明白為什麼這是更重要的。 64 00:04:04,910 --> 00:04:09,710 有在移動設備上的硬件層面的風險。 65 00:04:09,710 --> 00:04:11,670 這是正在進行的研究的一個領域。 66 00:04:11,670 --> 00:04:15,910 人們稱這些寬帶攻擊或基帶攻擊 67 00:04:15,910 --> 00:04:21,870 在那裡你攻擊了在聽收音機的固件。 68 00:04:21,870 --> 00:04:25,430 >>這是真正可怕的攻擊,因為 69 00:04:25,430 --> 00:04:27,280 該用戶沒有做任何事情。 70 00:04:27,280 --> 00:04:30,760 您可以射頻範圍內創下許多設備 71 00:04:30,760 --> 00:04:36,690 在一次,好像每當這個研究冒泡 72 00:04:36,690 --> 00:04:40,750 它很快被歸類在那裡 73 00:04:40,750 --> 00:04:46,600 人一舉周圍,說,“在這裡,告訴我們關於這一點,請停止談論它。” 74 00:04:46,600 --> 00:04:49,460 這裡也有一些研究,在寬帶領域回事, 75 00:04:49,460 --> 00:04:51,980 但它似乎是非常噓噓。 76 00:04:51,980 --> 00:04:56,910 我認為它是更多研究一個民族國家型這回事的。 77 00:04:56,910 --> 00:05:02,140 活躍的研究領域,雖然是操作系統層, 78 00:05:02,140 --> 00:05:08,910 又一次,這比在桌面計算領域的不同 79 00:05:08,910 --> 00:05:14,840 因為在移動領域有一個人叫越獄這些球隊, 80 00:05:14,840 --> 00:05:18,670 和越獄比普通的漏洞研究者不同。 81 00:05:18,670 --> 00:05:21,970 他們試圖找到在操作系統中的漏洞, 82 00:05:21,970 --> 00:05:27,000 但他們正試圖找到漏洞的原因是不 83 00:05:27,000 --> 00:05:31,810 闖入別人的機器和妥協了。 84 00:05:31,810 --> 00:05:34,280 這是闖入自己的電腦。 85 00:05:34,280 --> 00:05:38,820 >>他們想闖入自己的移動,修改自己的移動操作系統 86 00:05:38,820 --> 00:05:41,050 使他們能夠運行他們選擇的應用 87 00:05:41,050 --> 00:05:44,510 而改變的事情有完全的管理權限, 88 00:05:44,510 --> 00:05:49,050 他們不想告訴這個供應商。 89 00:05:49,050 --> 00:05:52,960 他們不喜歡的一位安全研究人員是一個白色的帽子安全研究員 90 00:05:52,960 --> 00:05:56,600 這是會做負責任的披露,並告訴它的供應商。 91 00:05:56,600 --> 00:06:01,270 他們想要做的這項研究,他們想實際發布它 92 00:06:01,270 --> 00:06:06,400 在利用或一個rootkit或越獄的代碼, 93 00:06:06,400 --> 00:06:10,010 他們想這樣做的戰略,像右後 94 00:06:10,010 --> 00:06:13,570 供應商船舶新的操作系統。 95 00:06:13,570 --> 00:06:16,350 你有這樣的敵對關係 96 00:06:16,350 --> 00:06:19,000 與在移動操作系統級別的安全漏洞, 97 00:06:19,000 --> 00:06:23,150 我認為這是挺有意思的,一個地方,我們看到它 98 00:06:23,150 --> 00:06:29,210 是它使得有很好公佈攻擊代碼在那裡 99 00:06:29,210 --> 00:06:31,750 內核級漏洞, 100 00:06:31,750 --> 00:06:35,040 我們已經看到了那些實際被使用的惡意軟件編寫者。 101 00:06:35,040 --> 00:06:38,450 它比PC世界有一點點不同。 102 00:06:38,450 --> 00:06:42,530 然後將最後一層是頂層,應用層。 103 00:06:42,530 --> 00:06:45,250 這就是我今天要談論的話題。 104 00:06:45,250 --> 00:06:48,970 >>其它層存在,而其他層打進去了, 105 00:06:48,970 --> 00:06:53,310 但我主要是要談什麼,在應用層回事 106 00:06:53,310 --> 00:06:55,560 其中代碼運行在沙箱中。 107 00:06:55,560 --> 00:06:58,670 它不具有管理權限。 108 00:06:58,670 --> 00:07:02,170 它具有使用該裝置的原料藥, 109 00:07:02,170 --> 00:07:06,970 但儘管如此,很多惡意活動和大量的風險可以在該層發生 110 00:07:06,970 --> 00:07:09,220 因為那是所有的信息層。 111 00:07:09,220 --> 00:07:12,330 應用程序可以訪問設備上的所有信息 112 00:07:12,330 --> 00:07:15,390 如果他們有正確的權限, 113 00:07:15,390 --> 00:07:17,540 並且他們可以訪問設備上的不同的傳感器, 114 00:07:17,540 --> 00:07:23,950 GPS傳感器,麥克風,攝像頭,你有什麼。 115 00:07:23,950 --> 00:07:27,380 即使我們只談論在應用層 116 00:07:27,380 --> 00:07:33,700 我們有很多的風險存在。 117 00:07:33,700 --> 00:07:38,450 另一件事是關於不同移動環境 118 00:07:38,450 --> 00:07:45,060 在所有的操作系​​統的球員,無論是黑莓或Android 119 00:07:45,060 --> 00:07:53,410 或iOS或Windows手機,他們都有一個細粒度的權限模型, 120 00:07:53,410 --> 00:07:56,990 這是它們內置到操作系統的方法之一 121 00:07:56,990 --> 00:08:01,230 的想法,它並不像你想像的那樣危險的。 122 00:08:01,230 --> 00:08:04,550 即使你把所有在那裡的聯繫人,你的所有個人信息, 123 00:08:04,550 --> 00:08:09,080 你有你的照片,你有你的位置在那裡, 124 00:08:09,080 --> 00:08:14,820 你存儲你的銀行引腳上有自動登錄,這是安全的,因為 125 00:08:14,820 --> 00:08:19,430 應用程序必須有一定的權限來獲得某些部分 126 00:08:19,430 --> 00:08:25,080 的設備上的信息,並且用戶必須帶有 127 00:08:25,080 --> 00:08:29,230 這些權限和說還行。 128 00:08:29,230 --> 00:08:32,590 >>它的問題是用戶總是說沒事。 129 00:08:32,590 --> 00:08:35,240 作為安全性的人,我知道你可以提示用戶, 130 00:08:35,240 --> 00:08:40,100 說一些非常糟糕的事情發生,你希望它發生? 131 00:08:40,100 --> 00:08:44,680 如果他們是在趕時間或有什麼東西在認為對方確實誘人, 132 00:08:44,680 --> 00:08:47,760 就像一個遊戲是要安裝的組件,他們一直在等待, 133 00:08:47,760 --> 00:08:50,860 他們會按一下好。 134 00:08:50,860 --> 00:08:56,630 這就是為什麼我在我的幻燈片說,這裡只是讓我扔鳥在豬已經, 135 00:08:56,630 --> 00:09:03,150 您可以在幻燈片上看到這裡有一個黑莓許可箱的例子。 136 00:09:03,150 --> 00:09:05,990 它說:“請設置黑莓手機旅遊應用程序的權限 137 00:09:05,990 --> 00:09:09,720 點擊下面的按鈕,“基本上,用戶只是想說之後 138 00:09:09,720 --> 00:09:12,240 設置權限和保存。 139 00:09:12,240 --> 00:09:18,010 下面是一個Android的提示符,它顯示的東西, 140 00:09:18,010 --> 00:09:20,260 它其實是把東西幾乎看起來像一個警告。 141 00:09:20,260 --> 00:09:25,090 它有一種屈服的跡象說有網絡通信,通電話, 142 00:09:25,090 --> 00:09:28,120 但用戶要點擊安裝,對不對? 143 00:09:28,120 --> 00:09:32,940 然後蘋果一個是完全無害的。 144 00:09:32,940 --> 00:09:34,300 它不給任何警告。 145 00:09:34,300 --> 00:09:37,380 這只是蘋果想用你的當前位置。 146 00:09:37,380 --> 00:09:39,670 當然,你要點擊確定。 147 00:09:39,670 --> 00:09:42,260 >>有這樣細粒度的權限模型, 148 00:09:42,260 --> 00:09:45,890 和應用程序必須有一個manifest文件,他們聲明 149 00:09:45,890 --> 00:09:49,410 的權限,他們所需要的,並且會得到顯示給用戶, 150 00:09:49,410 --> 00:09:53,480 用戶將不得不說,我授予這些權限。 151 00:09:53,480 --> 00:09:55,080 但說實話。 152 00:09:55,080 --> 00:09:58,400 用戶只是將總是說還行。 153 00:09:58,400 --> 00:10:04,460 讓我們來快速瀏覽一下這些應用程序所要求的權限 154 00:10:04,460 --> 00:10:06,850 有的認為是有權限的。 155 00:10:06,850 --> 00:10:09,950 本公司禁衛軍做了一個調查,去年 156 00:10:09,950 --> 00:10:14,170 在Android Market和第三方市場分析53,000的應用程序, 157 00:10:14,170 --> 00:10:16,770 所以這是所有的Andr​​oid。 158 00:10:16,770 --> 00:10:19,670 和平均應用程序要求3的權限。 159 00:10:19,670 --> 00:10:23,370 一些應用程序要求117的權限, 160 00:10:23,370 --> 00:10:27,480 所以很明顯,這些都是非常細粒度的方式太複雜了用戶理解 161 00:10:27,480 --> 00:10:31,600 如果他們提出了與此應用程序需要這些117權限。 162 00:10:31,600 --> 00:10:37,270 這就像在最終用戶許可協議這是45頁長。 163 00:10:37,270 --> 00:10:40,240 也許很快他們就會有一個選項,其中它就像 164 00:10:40,240 --> 00:10:43,100 打印權限和給我發送電子郵件。 165 00:10:43,100 --> 00:10:45,480 >>但是,如果你看看一些頂級有趣的權限 166 00:10:45,480 --> 00:10:50,840 他們下載了53,000的應用程序24% 167 00:10:50,840 --> 00:10:57,230 從設備請求的GPS信息。 168 00:10:57,230 --> 00:10:59,810 8%讀的聯繫人。 169 00:10:59,810 --> 00:11:03,770 4%發來的短信,和3%接受短信。 170 00:11:03,770 --> 00:11:07,730 2%,錄製的音頻。 171 00:11:07,730 --> 00:11:11,210 1%處理撥出電話。 172 00:11:11,210 --> 00:11:13,140 我不知道。 173 00:11:13,140 --> 00:11:17,520 我不認為在App Store的應用程序的4%真的需要發送短信, 174 00:11:17,520 --> 00:11:21,410 所以我認為這是一個暗示,一些不愉快的事情。 175 00:11:21,410 --> 00:11:24,350 該應用程序的8%需要讀取您的聯繫人列表中。 176 00:11:24,350 --> 00:11:26,510 它可能不是必要的。 177 00:11:26,510 --> 00:11:30,990 其中一個有關權限的其他有趣的事情是 178 00:11:30,990 --> 00:11:36,740 如果您在共享庫鏈接到應用程序中 179 00:11:36,740 --> 00:11:39,780 那些繼承應用程序的權限, 180 00:11:39,780 --> 00:11:46,570 所以如果你的應用程序需要的聯繫人列表或需要GPS定位功能 181 00:11:46,570 --> 00:11:49,940 你在一家廣告鏈接庫,例如, 182 00:11:49,940 --> 00:11:53,170 該廣告庫也將能夠訪問聯繫人 183 00:11:53,170 --> 00:11:57,630 並且也可以訪問GPS位置, 184 00:11:57,630 --> 00:12:01,990 和應用程序的開發人員並不了解該公司在廣告庫中運行的代碼。 185 00:12:01,990 --> 00:12:05,370 他們只是鏈接了,因為他們想賺錢的應用程序。 186 00:12:05,370 --> 00:12:09,820 >>在這裡,我將談論一些這方面的例子有 187 00:12:09,820 --> 00:12:13,930 叫潘多拉一個應用程序,應用程序開發人員 188 00:12:13,930 --> 00:12:18,910 也許在不知不覺中被洩露信息 189 00:12:18,910 --> 00:12:24,580 從他們的用戶,他們已經掛英寸庫,因為 190 00:12:24,580 --> 00:12:30,110 測量景觀在那裡,看著所有不同的應用程序 191 00:12:30,110 --> 00:12:34,310 已報導的消息為惡意或做一些用戶不想要 192 00:12:34,310 --> 00:12:39,360 然後檢查了大量的應用程序,我們做了很多的靜態二進制分析移動應用程序, 193 00:12:39,360 --> 00:12:42,010 所以我們驗過,看了看代碼本身, 194 00:12:42,010 --> 00:12:49,640 我們提出了我們所說的我們的前10的應用中危險行為的清單。 195 00:12:49,640 --> 00:12:54,180 而且它分解成2個部分,惡意代碼, 196 00:12:54,180 --> 00:12:57,600 所以這些都是不好的事情,這些應用程序可能會做的 197 00:12:57,600 --> 00:13:06,520 很可能是一些惡意的個體 198 00:13:06,520 --> 00:13:10,060 特地放置在應用程序,但它是一個有點模糊。 199 00:13:10,060 --> 00:13:13,300 這可能是一些開發人員認為是好的, 200 00:13:13,300 --> 00:13:16,350 但它最終被用戶認為是惡意的。 201 00:13:16,350 --> 00:13:19,830 >>然後是第二部分就是我們所說的編碼漏洞, 202 00:13:19,830 --> 00:13:24,600 而這些事情,開發人員基本上是決策失誤 203 00:13:24,600 --> 00:13:27,200 或者只是不知道如何安全地編寫應用程序, 204 00:13:27,200 --> 00:13:30,260  而這把應用程序用戶面臨風險。 205 00:13:30,260 --> 00:13:34,060 我會去通過這些細節,並給出一些例子。 206 00:13:34,060 --> 00:13:39,620 作為參考,我想放了OWASP的手機前10名。 207 00:13:39,620 --> 00:13:43,590 這些都是10的問題,一個組在OWASP, 208 00:13:43,590 --> 00:13:48,900 開放Web應用安全項目,他們有一個工作組 209 00:13:48,900 --> 00:13:50,620 工作在移動前10名名單。 210 00:13:50,620 --> 00:13:54,600 他們有一個非常著名的網站前10名名單,這是前1​​0名 211 00:13:54,600 --> 00:13:57,180 最危險的事情,你可以在一個Web應用程序。 212 00:13:57,180 --> 00:13:59,090 他們正在做同樣的事情為移動, 213 00:13:59,090 --> 00:14:01,750 而他們的名單是比我們有一點不同。 214 00:14:01,750 --> 00:14:03,670 6列的10個是相同的。 215 00:14:03,670 --> 00:14:06,020 它們具有4是不同的。 216 00:14:06,020 --> 00:14:10,550 我認為他們有不同的看法的一點點 217 00:14:10,550 --> 00:14:14,490 在移動應用程序的風險,其中很多自己的問題 218 00:14:14,490 --> 00:14:20,490 真正應用程序是如何傳達給後端服務器 219 00:14:20,490 --> 00:14:23,100 或什麼的後端服務器上的事情, 220 00:14:23,100 --> 00:14:29,220 沒有那麼多的應用程序,具有高風險的行為,只是簡單的客戶端應用程序。 221 00:14:29,220 --> 00:14:36,640 >>紅色的那些這裡有2個表之間的差異。 222 00:14:36,640 --> 00:14:40,740 和我的一些研究團隊實際上已經促成了這一項目, 223 00:14:40,740 --> 00:14:44,570 所以我們將看看會發生在什麼時間,但我覺得這裡的重點是: 224 00:14:44,570 --> 00:14:47,550 我們真的不知道該榜單前10名是在移動應用程序是什麼原因 225 00:14:47,550 --> 00:14:50,510 他們真的只存在了2或3年了, 226 00:14:50,510 --> 00:14:57,750 而且一直沒有足夠的時間去研究真正的操作系統 227 00:14:57,750 --> 00:15:00,450 以及他們是有能力,有沒有足夠的時間 228 00:15:00,450 --> 00:15:06,870 對於惡意社區,如果你願意,已經花了足夠的時間 229 00:15:06,870 --> 00:15:12,910 試圖通過移動應用程序來攻擊用戶,所以我希望這些列表來改變一點點。 230 00:15:12,910 --> 00:15:18,720 但現在,這是前1​​0名的事情擔心。 231 00:15:18,720 --> 00:15:24,150 你可能想知道在移動一側做惡意移動代碼 232 00:15:24,150 --> 00:15:28,880 它是如何得到的設備? 233 00:15:28,880 --> 00:15:35,210 北卡羅來納州有一個叫做移動惡意軟件基因組計劃項目 234 00:15:35,210 --> 00:15:39,520 在那裡他們正在收集盡可能多的手機惡意軟件,因為他們可以和分析它, 235 00:15:39,520 --> 00:15:45,270 他們已經打破了移動惡意軟件使用的注射載體, 236 00:15:45,270 --> 00:15:51,490 而86%的人使用一種叫做重新包裝的技術, 237 00:15:51,490 --> 00:15:54,160 而這僅僅是Android平台上 238 00:15:54,160 --> 00:15:56,720 你能真正做到這一點的重新包裝。 239 00:15:56,720 --> 00:16:03,100 >>原因是Android的代碼是建立在與 240 00:16:03,100 --> 00:16:08,130 叫Dalvik的一個Java字節代碼,它是易於反編譯的。 241 00:16:08,130 --> 00:16:12,460 什麼壞傢伙能做的就是 242 00:16:12,460 --> 00:16:16,590 拿一個Android應用程序,反編譯, 243 00:16:16,590 --> 00:16:20,120 插入惡意代碼,重新編譯它, 244 00:16:20,120 --> 00:16:28,070 然後把它在App Store聲稱是該應用程序的新版本, 245 00:16:28,070 --> 00:16:30,330 或只是也許改變應用程序的名稱。 246 00:16:30,330 --> 00:16:35,140 如果它是某種遊戲,稍微變更名稱, 247 00:16:35,140 --> 00:16:42,860 所以這個重新包裝的是如何移動惡意軟件的86%被分配。 248 00:16:42,860 --> 00:16:45,810 還有另一種技術叫做update這是 249 00:16:45,810 --> 00:16:50,030 非常相似,重新包裝,但實際上你不把惡意代碼英寸 250 00:16:50,030 --> 00:16:52,870 你要做的就是你把一個小的更新機制。 251 00:16:52,870 --> 00:16:56,660 你反編譯,你把一個更新機制,並重新編譯它, 252 00:16:56,660 --> 00:17:02,360 然後當應用程序正在運行它拉下來的惡意軟件到設備上。 253 00:17:02,360 --> 00:17:06,300 >>到目前為止,大多數是那些2技術。 254 00:17:06,300 --> 00:17:12,710 有沒有手機真多下載驅動車處或偷渡式下載, 255 00:17:12,710 --> 00:17:15,890 這可能是像釣魚攻擊。 256 00:17:15,890 --> 00:17:18,200 嘿,看看這個非常酷的網站, 257 00:17:18,200 --> 00:17:21,020 或者你需要去這個網站,並填寫此表格 258 00:17:21,020 --> 00:17:24,420 保持持續的做一些事情。 259 00:17:24,420 --> 00:17:26,230 那些被網絡釣魚攻擊。 260 00:17:26,230 --> 00:17:28,160 同樣的事情可以在移動平台上發生,他們 261 00:17:28,160 --> 00:17:33,830 指向一個移動應用程序下載,說:“嗨,這是美國銀行。” 262 00:17:33,830 --> 00:17:36,070 “我們看到你使用這個應用程序。” 263 00:17:36,070 --> 00:17:38,540 “你應該下載這個應用程序等。” 264 00:17:38,540 --> 00:17:41,170 理論上,這可能會工作。 265 00:17:41,170 --> 00:17:48,610 也許它只是沒有被使用,足以確定它是否是成功或失敗, 266 00:17:48,610 --> 00:17:51,680 但他們發現的時候,技術不足1%使用。 267 00:17:51,680 --> 00:17:56,130 大部分的時間這真是一個重新包裝的代碼。 268 00:17:56,130 --> 00:17:58,710 >>還有一個獨立的名為類 269 00:17:58,710 --> 00:18:01,420 如果有人只是構建了一個全新的應用。 270 00:18:01,420 --> 00:18:04,020 他們建立宣稱是什麼應用程序。 271 00:18:04,020 --> 00:18:07,360 這不是別的東西重新包裝,並具有惡意代碼。 272 00:18:07,360 --> 00:18:11,230 這是使用的時間14%。 273 00:18:11,230 --> 00:18:17,880 現在我想談談什麼是惡意代碼在做什麼? 274 00:18:17,880 --> 00:18:23,070 其中第一惡意軟件在那裡 275 00:18:23,070 --> 00:18:25,490 你可以考慮一個間諜軟件。 276 00:18:25,490 --> 00:18:27,620 它基本上用來觀測用戶。 277 00:18:27,620 --> 00:18:30,470 它收集電子郵件,短信。 278 00:18:30,470 --> 00:18:32,340 原來麥克風上。 279 00:18:32,340 --> 00:18:37,330 它收成的聯繫簿,並將其發送其關閉,以別人。 280 00:18:37,330 --> 00:18:40,870 存在於PC上的此類型的間諜軟件, 281 00:18:40,870 --> 00:18:46,200 所以它非常有意義,人們試圖做到這一點在移動設備上。 282 00:18:46,200 --> 00:18:53,230 >>一個這樣的例子,第一個是所謂的秘密短信複製程序。 283 00:18:53,230 --> 00:18:56,250 它是在Android市場在幾年前, 284 00:18:56,250 --> 00:18:59,960 而當時的想法是,如果你有機會訪問某人的Andr​​oid手機 285 00:18:59,960 --> 00:19:03,450 你想窺視,也許這是你的配偶 286 00:19:03,450 --> 00:19:07,600 或您的顯著其他和你想窺探他們的短信, 287 00:19:07,600 --> 00:19:11,200 你可以下載這個程序,並安裝它,配置它 288 00:19:11,200 --> 00:19:16,540 發送短信給你一個副本 289 00:19:16,540 --> 00:19:21,710 每一個SMS文本消息,他們得到了。 290 00:19:21,710 --> 00:19:27,220 這顯然是違反服務的應用程序商店方面, 291 00:19:27,220 --> 00:19:32,040 這是從Android市場中刪除18小時它在那裡的內, 292 00:19:32,040 --> 00:19:36,760 這樣極少數的人是因為這個風險。 293 00:19:36,760 --> 00:19:42,510 現在,我認為,如果該程序被稱為東西,也許少一點挑釁 294 00:19:42,510 --> 00:19:48,690 像秘密短信複製,它可能會工作好了很多。 295 00:19:48,690 --> 00:19:52,870 但它是那種顯而易見的。 296 00:19:52,870 --> 00:19:58,680 >>有一件事我們可以做,以確定是否應用有這種行為,我們不希望 297 00:19:58,680 --> 00:20:01,410 是檢查的代碼。 298 00:20:01,410 --> 00:20:06,250 其實,這是很容易做到在Android上,因為我們可以反編譯的應用程序。 299 00:20:06,250 --> 00:20:11,050 在iOS上可以使用像IDA Pro的反彙編器 300 00:20:11,050 --> 00:20:17,190 看什麼API的應用程序被調用和它在做什麼。 301 00:20:17,190 --> 00:20:20,680 我們寫我們自己的二進制靜態分析儀,用於我們的代碼 302 00:20:20,680 --> 00:20:24,940 我們這樣做,所以你可以做的是,你可以說 303 00:20:24,940 --> 00:20:30,490 沒有設備做任何事情,基本上是監視我或跟踪我? 304 00:20:30,490 --> 00:20:33,360 我這裡有關於iPhone的一些例子。 305 00:20:33,360 --> 00:20:41,440 這第一個例子是如何訪問手機上的UUID。 306 00:20:41,440 --> 00:20:47,060 這實際上是蘋果公司剛剛禁賽新應用的東西, 307 00:20:47,060 --> 00:20:52,540 但是,你可能有你的手機上運行舊的應用程序仍然可以做到這一點, 308 00:20:52,540 --> 00:20:56,500 和使唯一的標識符可以被用來追踪你 309 00:20:56,500 --> 00:21:00,440 在許多不同的應用。 310 00:21:00,440 --> 00:21:07,180 >>在Android,我有一個例子在這裡得到設備的位置。 311 00:21:07,180 --> 00:21:10,310 你可以看到,如果該API調用是有該應用程序的跟踪, 312 00:21:10,310 --> 00:21:15,000 你可以看它是否是越來越精確的位置或粗略的位置信息。 313 00:21:15,000 --> 00:21:18,860 然後在這裡的底部,我對黑莓手機如何為例 314 00:21:18,860 --> 00:21:25,130 一個應用程序可能會訪問您的收件箱中的電子郵件。 315 00:21:25,130 --> 00:21:27,660 這是什麼樣的東西,你可以檢查看看 316 00:21:27,660 --> 00:21:32,360 如果應用程序正在做這些事情。 317 00:21:32,360 --> 00:21:38,320 第二個大類別的惡意行為,這可能是最大的類別現在, 318 00:21:38,320 --> 00:21:43,950 未經授權撥號,未認可的優質短信 319 00:21:43,950 --> 00:21:46,080 或未經授權的付款。 320 00:21:46,080 --> 00:21:48,930 另一件事,是獨特的手機 321 00:21:48,930 --> 00:21:52,700 在設備掛到付費帳戶, 322 00:21:52,700 --> 00:21:55,960 而當活動發生在手機上 323 00:21:55,960 --> 00:21:58,510 它可以建立收費。 324 00:21:58,510 --> 00:22:00,700 您可以購買的東西通過電話, 325 00:22:00,700 --> 00:22:04,390 當你發送一個溢價短信你居然給錢 326 00:22:04,390 --> 00:22:11,590 向的另一側的電話號碼的賬戶持有人。 327 00:22:11,590 --> 00:22:17,420 這些被設置為獲取股票報價或得到您的每日星座運勢或其他東西, 328 00:22:17,420 --> 00:22:21,680 但他們可以設置通過發送短信訂購產品。 329 00:22:21,680 --> 00:22:26,970 人們把錢給紅十字會通過發送文本消息。 330 00:22:26,970 --> 00:22:30,650 你可以給10美元的方式。 331 00:22:30,650 --> 00:22:34,190 >>襲擊者,他們做了什麼是他們成立了 332 00:22:34,190 --> 00:22:38,750 戶口在國外,他們在嵌入的惡意軟件 333 00:22:38,750 --> 00:22:42,840 該手機將發送溢價短信, 334 00:22:42,840 --> 00:22:47,700 說,一天幾次,並且在你意識到了月底你花 335 00:22:47,700 --> 00:22:52,090 幾十甚至上百美元,而他們的錢一走了之。 336 00:22:52,090 --> 00:22:57,280 這變得如此糟糕,這是第一件事情是在Android 337 00:22:57,280 --> 00:23:00,760 賣場或谷歌的地方,它是Android市場的時候, 338 00:23:00,760 --> 00:23:04,430 並且它現在谷歌播放,第一件事情就是谷歌開始檢查。 339 00:23:04,430 --> 00:23:08,700 當谷歌開始分發Android應用程序在其應用程序商店 340 00:23:08,700 --> 00:23:11,350 他們說他們不會檢查任何東西。 341 00:23:11,350 --> 00:23:15,630 我們將拉動應用程序一旦我們被告知他們已經打破我們的服務條款, 342 00:23:15,630 --> 00:23:17,520 但我們不打算來檢查任何東西。 343 00:23:17,520 --> 00:23:24,350 好了,大約一年前它變得如此糟糕與此溢價短信的惡意軟件 344 00:23:24,350 --> 00:23:28,030 這是他們開始檢查的第一件事。 345 00:23:28,030 --> 00:23:31,770 如果一個應用程序可以發送短信 346 00:23:31,770 --> 00:23:34,750 他們進一步的手​​動審查該應用程序。 347 00:23:34,750 --> 00:23:38,770 他們尋找調用這個API的, 348 00:23:38,770 --> 00:23:40,580 現在既然那麼谷歌已經擴大, 349 00:23:40,580 --> 00:23:46,900 但是這是他們開始尋找的第一件事。 350 00:23:46,900 --> 00:23:50,690 >>是做了一些短信的一些其他應用程序, 351 00:23:50,690 --> 00:23:56,980 這款Android Qicsomos,我想這就是所謂。 352 00:23:56,980 --> 00:24:02,670 有關於這個地方CarrierIQ出來了移動這個當前事件 353 00:24:02,670 --> 00:24:07,720 間諜軟件把設備上的運營商, 354 00:24:07,720 --> 00:24:10,820 所以人們想知道他們的電話是脆弱到這一點, 355 00:24:10,820 --> 00:24:13,890 這是一個免費的應用程序,測試過。 356 00:24:13,890 --> 00:24:17,520 嗯,當然,這是什麼應用程序所做的就是它發出溢價短信, 357 00:24:17,520 --> 00:24:20,090 所以通過測試,看看你感染了間諜軟件 358 00:24:20,090 --> 00:24:24,930 你加載惡意軟件到您的設備。 359 00:24:24,930 --> 00:24:27,310 我們看到同樣的事情發生在去年超級碗。 360 00:24:27,310 --> 00:24:33,180 有勁爆足球比賽的假版本 361 00:24:33,180 --> 00:24:38,320 發送溢價短信。 362 00:24:38,320 --> 00:24:45,750 它實際上是試圖在設備上創建了一個殭屍網絡。 363 00:24:45,750 --> 00:24:48,090 在這裡,我有一些例子。 364 00:24:48,090 --> 00:24:52,640 有趣的是,蘋果是很聰明的, 365 00:24:52,640 --> 00:24:58,470 他們不允許應用程序在所有發送短信。 366 00:24:58,470 --> 00:25:00,350 沒有應用程序可以做到這一點。 367 00:25:00,350 --> 00:25:03,530 這是擺脫一整類脆弱性的一個好方法, 368 00:25:03,530 --> 00:25:09,040 但在Android上你可以做到這一點,當然,對黑莓手機可以做到這一點。 369 00:25:09,040 --> 00:25:13,060 有趣的是,在BlackBerry所有你需要的是互聯網的權限 370 00:25:13,060 --> 00:25:18,370 發送SMS文本消息。 371 00:25:18,370 --> 00:25:21,580 >>其他的事情真的是我們尋找 372 00:25:21,580 --> 00:25:24,780 當我們想看看,如果事情是惡意的只是任何形式的 373 00:25:24,780 --> 00:25:28,100 未經授權的網絡活動,如看網絡活動 374 00:25:28,100 --> 00:25:31,570 應用程序應該要有它的功能, 375 00:25:31,570 --> 00:25:35,380 看看這個其他的網絡活動。 376 00:25:35,380 --> 00:25:43,380 也許一個應用程序,工作,必須獲得的數據通過HTTP, 377 00:25:43,380 --> 00:25:47,500 但如果它做的事情通過電子郵件或手機短信或藍牙或類似的東西 378 00:25:47,500 --> 00:25:52,890 現在,該應用程序可能是惡意的,所以這是另一件你可以檢查。 379 00:25:52,890 --> 00:26:00,430 並在此幻燈片在這裡我有一些例子。 380 00:26:00,430 --> 00:26:05,950 我們看到了惡意軟件的另一個有趣的事情發生在2009年, 381 00:26:05,950 --> 00:26:07,600 它發生在一個大的方式。 382 00:26:07,600 --> 00:26:11,390 我不知道,如果它發生了這麼多從那時起,但它是一個應用程序 383 00:26:11,390 --> 00:26:15,140 該模擬其他應用程序。 384 00:26:15,140 --> 00:26:21,700 有一組應用程序,它被戲稱為09Droid攻擊, 385 00:26:21,700 --> 00:26:29,770 有人決定,有很多小的區域,中型銀行 386 00:26:29,770 --> 00:26:32,260 那些沒有網上銀行的應用, 387 00:26:32,260 --> 00:26:36,870 所以他們做了什麼是他們興建了約50網上銀行的應用 388 00:26:36,870 --> 00:26:39,410 所有他們所做的是把用戶名和密碼 389 00:26:39,410 --> 00:26:42,190 和您重定向​​到該網站。 390 00:26:42,190 --> 00:26:47,470 所以他們在谷歌市場把這些都起來, 391 00:26:47,470 --> 00:26:51,530 在Android市場,當有人搜索,看看自己的銀行 392 00:26:51,530 --> 00:26:56,000 有一個應用程序,就會發現假的應用程序, 393 00:26:56,000 --> 00:27:01,230 其中收集他們的憑據,然後將它們重定向到他們的網站。 394 00:27:01,230 --> 00:27:06,640 的辦法,這實際上成了,這些應用程序都在那裡幾個星期, 395 00:27:06,640 --> 00:27:09,050 並有成千上萬的下載和數以千計。 396 00:27:09,050 --> 00:27:12,910 >>該曝光的方式是有人有問題 397 00:27:12,910 --> 00:27:15,740 有一個應用程序,他們稱他們的銀行, 398 00:27:15,740 --> 00:27:18,390 他們稱他們的銀行的客戶支持熱線,說: 399 00:27:18,390 --> 00:27:21,180 “我在與你的移動銀行應用程序的問題。” 400 00:27:21,180 --> 00:27:23,460 “你能幫我嗎?” 401 00:27:23,460 --> 00:27:26,540 他們說,“我們沒有一個移動銀行應用程序。” 402 00:27:26,540 --> 00:27:28,120 這開始了調查。 403 00:27:28,120 --> 00:27:31,200 該銀行名為谷歌,然後谷歌看了看說, 404 00:27:31,200 --> 00:27:37,220 “哇,同一作者寫了50行的應用程序,”把他們全都下來。 405 00:27:37,220 --> 00:27:43,410 但可以肯定,這可能再次發生。 406 00:27:43,410 --> 00:27:51,790 有所有不同銀行的名單在這裡 407 00:27:51,790 --> 00:27:55,870 這是這個騙局的一部分。 408 00:27:55,870 --> 00:28:02,050 另一件事是一個應用程序可以做的是目前的另一個應用程序的用戶界面。 409 00:28:02,050 --> 00:28:06,430 而它的運行也可能彈出Facebook的用戶界面。 410 00:28:06,430 --> 00:28:09,540 它說,你有你的用戶名和密碼將繼續 411 00:28:09,540 --> 00:28:15,090 或把任何用戶名和密碼的用戶界面的一個網站 412 00:28:15,090 --> 00:28:18,420 也許用戶使用只是為了試圖欺騙用戶 413 00:28:18,420 --> 00:28:21,340 為把他們的憑據英寸 414 00:28:21,340 --> 00:28:25,590 這是真的的電子郵件釣魚攻擊一條直線平行 415 00:28:25,590 --> 00:28:28,210 如果有人向您發送一封電子郵件 416 00:28:28,210 --> 00:28:33,050 並為您提供基本上是假的UI的網站 417 00:28:33,050 --> 00:28:37,320 您可以訪問。 418 00:28:37,320 --> 00:28:41,590 >>我們期待在惡意代碼的另一件事是系統修改。 419 00:28:41,590 --> 00:28:48,160 你可以看看所有那些需要root權限的API調用 420 00:28:48,160 --> 00:28:50,870 正確執行。 421 00:28:50,870 --> 00:28:56,160 更改設備的Web代理會是這樣一個應用程序 422 00:28:56,160 --> 00:28:59,530 不應該是能夠做到的。 423 00:28:59,530 --> 00:29:03,030 但是,如果應用程序有在那裡的代碼做到這一點 424 00:29:03,030 --> 00:29:05,960 你知道,它可能是一個惡意應用程序 425 00:29:05,960 --> 00:29:09,620 或非常高度可能是惡意的應用, 426 00:29:09,620 --> 00:29:13,910 所以會發生什麼,是該應用程序將不得不升級特權的辦法。 427 00:29:13,910 --> 00:29:17,200 這將有一些特權提升漏洞 428 00:29:17,200 --> 00:29:20,730 在應用程序中,然後一旦提升權限 429 00:29:20,730 --> 00:29:23,800 它會做這些系統的修改。 430 00:29:23,800 --> 00:29:28,010 你可以找到的惡意軟件,有特權升級 431 00:29:28,010 --> 00:29:32,550 在它甚至不知道如何提升權限 432 00:29:32,550 --> 00:29:37,960 利用將要發生,這是一個不錯的,簡單的方法 433 00:29:37,960 --> 00:29:41,220 尋找惡意軟件。 434 00:29:41,220 --> 00:29:46,030 DroidDream可能是最有名的作品的Andr​​oid惡意軟件。 435 00:29:46,030 --> 00:29:50,530 我想好了幾天受影響的約25萬用戶 436 00:29:50,530 --> 00:29:52,810 然後才發現。 437 00:29:52,810 --> 00:29:56,890 他們重新包裝50假的應用程序, 438 00:29:56,890 --> 00:30:00,370 把它們放在Android應用商店, 439 00:30:00,370 --> 00:30:10,940 而本質上,它使用的Andr​​oid越獄代碼升級特權 440 00:30:10,940 --> 00:30:16,380 然後安裝一個命令和控制,把所有的受害者 441 00:30:16,380 --> 00:30:20,690 成殭屍網絡,但也可以檢測到該 442 00:30:20,690 --> 00:30:24,170 如果你掃描的應用程序,只是在尋找 443 00:30:24,170 --> 00:30:32,230 API調用,需要root權限才能正確執行。 444 00:30:32,230 --> 00:30:40,150 >>還有的一個例子在這裡我有一個正在改變的代理, 445 00:30:40,150 --> 00:30:46,380 而這實際上是僅適用於Android系統。 446 00:30:46,380 --> 00:30:49,070 你可以看到我給你很多Android上的例子 447 00:30:49,070 --> 00:30:53,990 因為這是最活躍的惡意軟件生態系統 448 00:30:53,990 --> 00:30:58,690 因為它是攻擊者很容易獲得惡意代碼 449 00:30:58,690 --> 00:31:01,470 進入Android市場。 450 00:31:01,470 --> 00:31:06,480 這不是那麼容易的事情,在蘋果App Store 451 00:31:06,480 --> 00:31:10,250 由於蘋果要求開發者自己的身份 452 00:31:10,250 --> 00:31:12,790 並簽署了代碼。 453 00:31:12,790 --> 00:31:20,340 他們實際檢查你是誰,和蘋果實際上是審議申請。 454 00:31:20,340 --> 00:31:27,450 我們並沒有看到很多真正的惡意軟件,其中該設備是越來越打折扣。 455 00:31:27,450 --> 00:31:32,250 我會講一些例子,這是真的是越來越洩露隱私, 456 00:31:32,250 --> 00:31:38,460 這就是真正發生在蘋果設備上。 457 00:31:38,460 --> 00:31:44,090 另一件要查找惡意代碼,設備代碼風險 458 00:31:44,090 --> 00:31:50,300 是邏輯或時間炸彈,定時炸彈可能是 459 00:31:50,300 --> 00:31:53,370 更容易找比邏輯炸彈。 460 00:31:53,370 --> 00:31:57,030 但隨著時間的炸彈,你可以做的是,你可以看看的 461 00:31:57,030 --> 00:32:04,760 在時間被測試的代碼或絕對時間的地方進行尋找 462 00:32:04,760 --> 00:32:08,190 之前,在應用程序的某些功能發生。 463 00:32:08,190 --> 00:32:14,200 而能夠做到這一點,以隱藏該活動從用戶, 464 00:32:14,200 --> 00:32:17,510 所以它的後期發生在夜間。 465 00:32:17,510 --> 00:32:24,350 DroidDream做了11點和8點本地時間之間所有活動 466 00:32:24,350 --> 00:32:30,650 嘗試用戶可能不使用他們的設備,而這樣做。 467 00:32:30,650 --> 00:32:38,680 >>另一個原因要做到這一點,如果人們使用的應用程序的行為分析, 468 00:32:38,680 --> 00:32:43,430 運行在沙箱中的應用程序,看看有什麼應用程序的行為, 469 00:32:43,430 --> 00:32:51,090 他們可以使用基於時間的邏輯來執行活動 470 00:32:51,090 --> 00:32:54,640 當應用程序是不是在沙箱中。 471 00:32:54,640 --> 00:33:01,520 例如,一個應用程序商店,如蘋果 472 00:33:01,520 --> 00:33:07,940 運行該應用程序,但他們可能不運行的每個應用程序,比如說,30天 473 00:33:07,940 --> 00:33:10,550 批准之前,所以你可以把 474 00:33:10,550 --> 00:33:14,120 在你的應用程序,它說好,只做了一件壞事邏輯 475 00:33:14,120 --> 00:33:20,490 後30天已經過去了,或者30天之後申請的公佈日期後, 476 00:33:20,490 --> 00:33:27,020 並且,可以幫助惡意代碼隱藏在人檢查它。 477 00:33:27,020 --> 00:33:30,050 如果反病毒公司正在運行的東西在沙箱中 478 00:33:30,050 --> 00:33:36,370 或應用程序商店本身這能幫助 479 00:33:36,370 --> 00:33:39,260 隱藏從該檢查。 480 00:33:39,260 --> 00:33:43,020 現在,另一面是很容易找到與靜態分析, 481 00:33:43,020 --> 00:33:46,170 所以實際上檢查可以查找所有的地方的代碼 482 00:33:46,170 --> 00:33:54,010 其中應用程序測試時間和檢查的方式。 483 00:33:54,010 --> 00:33:58,850 在這裡我有一些例子在這3個不同的平台 484 00:33:58,850 --> 00:34:05,640 如何時間可以由應用設備被檢查 485 00:34:05,640 --> 00:34:10,520 所以你知道要尋找什麼,如果你正在檢查該應用程序靜態。 486 00:34:10,520 --> 00:34:14,570 >>我剛剛經歷了一大堆不同的惡意活動中去 487 00:34:14,570 --> 00:34:18,969 我們已經看到在野外,但哪些是最流行的? 488 00:34:18,969 --> 00:34:23,940 來自北卡羅萊納州立移動基因組計劃是相同的研究 489 00:34:23,940 --> 00:34:28,560 公佈的一些數據,基本上有4個區域 490 00:34:28,560 --> 00:34:32,850 他們看到那裡有很多活動。 491 00:34:32,850 --> 00:34:35,370 該應用程序的37%做了權限提升, 492 00:34:35,370 --> 00:34:38,429 所以他們有一些類型的越獄代碼在那裡 493 00:34:38,429 --> 00:34:42,070 在那裡,他們試圖提升自己的權限,讓他們可以 494 00:34:42,070 --> 00:34:48,360 做API命令運行的操作系統。 495 00:34:48,360 --> 00:34:52,520 該應用程序的45%在那裡做溢價短信, 496 00:34:52,520 --> 00:34:57,260 所以這是一個巨大的百分比是試圖直接賺錢。 497 00:34:57,260 --> 00:35:02,640 93%沒有遙控器,所以他們試圖建立一個殭屍網絡,移動殭屍網絡。 498 00:35:02,640 --> 00:35:08,990 和45%的收穫識別信息 499 00:35:08,990 --> 00:35:16,230 如電話號碼,的UUID,GPS定位,用戶帳戶, 500 00:35:16,230 --> 00:35:22,870 這加起來超過100,因為大多數惡意軟件會嘗試做一些這些事情。 501 00:35:22,870 --> 00:35:27,070 >>我要切換到下半年,談談代碼漏洞。 502 00:35:27,070 --> 00:35:29,480 這是有風險的活動的下半年。 503 00:35:29,480 --> 00:35:33,450 這是在基本上與顯影劑正誤差。 504 00:35:33,450 --> 00:35:37,210 一個合法的開發人員編寫一個合法的應用程序 505 00:35:37,210 --> 00:35:41,830 正在錯誤或無知的移動平台的風險。 506 00:35:41,830 --> 00:35:44,780 他們只是不知道如何使一個安全的移動應用程序, 507 00:35:44,780 --> 00:35:47,700 或有時開發人員並不關心把用戶處於危險之中。 508 00:35:47,700 --> 00:35:50,850 有時,他們的商業模式的一部分可能是 509 00:35:50,850 --> 00:35:54,610 收穫了用戶的個人信息。 510 00:35:54,610 --> 00:35:58,090 這是某種其他類別的,這就是為什麼一些這方面惡意的 511 00:35:58,090 --> 00:36:03,200 對合法開始流血了,因為有意見差異 512 00:36:03,200 --> 00:36:10,440 之間有什麼用戶想要與用戶認為哪些風險 513 00:36:10,440 --> 00:36:13,050 和什麼樣的應用程序開發人員認為有風險的。 514 00:36:13,050 --> 00:36:18,380 當然,這不是應用程序開發者的數據在大多數情況下。 515 00:36:18,380 --> 00:36:22,030 >>然後終於,另一種方式出現這種情況是開發者可能會在鏈​​接 516 00:36:22,030 --> 00:36:28,600 已在它的漏洞還是這個危險行為的共享庫 517 00:36:28,600 --> 00:36:32,480 瞞著他們。 518 00:36:32,480 --> 00:36:37,060 第一類是敏感數據洩漏, 519 00:36:37,060 --> 00:36:40,030 這是當應用程序收集信息 520 00:36:40,030 --> 00:36:44,980 如位置,地址簿信息,車主信息 521 00:36:44,980 --> 00:36:48,000 和發送關閉設備。 522 00:36:48,000 --> 00:36:53,050 而一旦它的關閉設備,我們不知道發生了什麼與該信息。 523 00:36:53,050 --> 00:36:57,170 它可能不安全的應用程序開發人員可以存儲。 524 00:36:57,170 --> 00:37:02,070 我們已經看到了應用程序開發者獲得妥協, 525 00:37:02,070 --> 00:37:05,820 而且他們要存儲的數據被採取。 526 00:37:05,820 --> 00:37:10,970 這件事發生在幾個月前就在佛羅里達州的開發商下來 527 00:37:10,970 --> 00:37:21,660 其中一個巨大的它的號碼是iPad的的UUID和設備名稱 528 00:37:21,660 --> 00:37:25,270 被洩露,因為一個人,我想應該是匿名的, 529 00:37:25,270 --> 00:37:29,460 聲稱這樣做,闖進這個開發者的服務器 530 00:37:29,460 --> 00:37:34,920 並偷走數以百萬計的iPad的UUID 531 00:37:34,920 --> 00:37:37,390 和電腦名稱。 532 00:37:37,390 --> 00:37:40,260 這不是最危險的信息, 533 00:37:40,260 --> 00:37:46,820 但如果這是用戶名和密碼的存儲 534 00:37:46,820 --> 00:37:48,170 和家庭住址? 535 00:37:48,170 --> 00:37:51,100 還有很多存儲這類信息的應用程序。 536 00:37:51,100 --> 00:37:53,230 風險是存在的。 537 00:37:53,230 --> 00:37:56,620 >>可能發生的另一件事是,如果開發商不照顧 538 00:37:56,620 --> 00:38:01,370 以確保數據通道,這就是我要談的另一大弱點, 539 00:38:01,370 --> 00:38:05,160 該數據被發送的清楚。 540 00:38:05,160 --> 00:38:09,040 如果用戶是一個公共Wi-Fi網絡 541 00:38:09,040 --> 00:38:12,330 或有人在某處嗅探互聯網 542 00:38:12,330 --> 00:38:19,260 沿路徑的數據正被暴露。 543 00:38:19,260 --> 00:38:23,790 此信息洩漏的一個非常著名的案例發生了與潘多拉, 544 00:38:23,790 --> 00:38:27,250 這是我們在研究Veracode的。 545 00:38:27,250 --> 00:38:33,200 我們聽說,有一個,我覺得這是一個聯邦貿易委員會 546 00:38:33,200 --> 00:38:35,310 調查與潘多拉回事。 547 00:38:35,310 --> 00:38:39,830 我們說:“這是怎麼回事呢?讓我們開始挖成潘多拉的應用程序。” 548 00:38:39,830 --> 00:38:46,690 和我們確定的是收集到的潘多拉的應用 549 00:38:46,690 --> 00:38:51,270 你的性別和年齡, 550 00:38:51,270 --> 00:38:56,660 同時也訪問了您的GPS位置,以及潘多拉的應用 551 00:38:56,660 --> 00:39:00,200 這樣做是為了什麼,他們說是正當理由。 552 00:39:00,200 --> 00:39:05,360 他們是扮演潘多拉的音樂是一個音樂流媒體應用 - 553 00:39:05,360 --> 00:39:07,530 他們演奏的音樂是唯一獲准在美國, 554 00:39:07,530 --> 00:39:13,020 所以他們不得不檢查,以符合他們有自己的許可協議 555 00:39:13,020 --> 00:39:17,240 該用戶是在美國的音樂。 556 00:39:17,240 --> 00:39:25,070 他們還希望以符合家長諮詢 557 00:39:25,070 --> 00:39:33,790 圍繞成人語言的音樂, 558 00:39:33,790 --> 00:39:37,500 所以它是一個自願性計劃,但他們要遵守的 559 00:39:37,500 --> 00:39:43,010 並沒有起到顯歌詞兒童13下。 560 00:39:43,010 --> 00:39:46,280 >>他們有正當的理由收集這些數據。 561 00:39:46,280 --> 00:39:49,160 他們的應用程序不得不這樣做的權限。 562 00:39:49,160 --> 00:39:52,000 用戶認為這是合法的。但是,發生了什麼事? 563 00:39:52,000 --> 00:39:55,810 他們在3或4個不同的廣告庫鏈接。 564 00:39:55,810 --> 00:39:59,140 現在,突然之間所有這些廣告庫 565 00:39:59,140 --> 00:40:02,970 越來越獲得此相同的信息。 566 00:40:02,970 --> 00:40:05,830 廣告庫,如果你看一下代碼中的廣告庫 567 00:40:05,830 --> 00:40:08,430 他們所做的是每一個廣告說庫 568 00:40:08,430 --> 00:40:11,340 “難道我的應用程序有權限獲取GPS位置?” 569 00:40:11,340 --> 00:40:14,890 “哦,它不?好吧,告訴我的GPS位置。” 570 00:40:14,890 --> 00:40:16,620 每一個廣告庫這樣做, 571 00:40:16,620 --> 00:40:19,740 如果應用程序不具備GPS功能的權限 572 00:40:19,740 --> 00:40:23,460 它不會是能夠得到它,但如果這樣做,就會得到它。 573 00:40:23,460 --> 00:40:26,240 這是廣告庫所在的商業模式 574 00:40:26,240 --> 00:40:31,160 對著使用者的隱私。 575 00:40:31,160 --> 00:40:34,980 並有過研究,在那裡,會說,如果你知道的年齡 576 00:40:34,980 --> 00:40:38,430 你知道他們的位置的人,並 577 00:40:38,430 --> 00:40:42,530 他們晚上睡覺,因為你有自己的GPS坐標 578 00:40:42,530 --> 00:40:46,030 而他們或許都在睡覺,你知道到底是誰的人 579 00:40:46,030 --> 00:40:50,230 因為你可以決定哪些該家庭的成員是那個人。 580 00:40:50,230 --> 00:40:54,780 實際上這是一種用於識別廣告 581 00:40:54,780 --> 00:40:59,530 究竟你是誰,它看起來就像是合法的。 582 00:40:59,530 --> 00:41:02,800 我只是希望我的流媒體音樂,這是得到它的唯一途徑。 583 00:41:02,800 --> 00:41:05,370 >>好吧,我們暴露了。 584 00:41:05,370 --> 00:41:08,030 我們在幾個博客文章寫道:這件事, 585 00:41:08,030 --> 00:41:13,280 而事實證明,有人從滾石雜誌 586 00:41:13,280 --> 00:41:18,810 閱讀我們的博客文章之一,並寫下自己的博客在滾石一下吧, 587 00:41:18,810 --> 00:41:22,120 而就在第二天,潘多拉認為這是一個好主意 588 00:41:22,120 --> 00:41:27,600 從他們的應用程序中刪除的廣告庫。 589 00:41:27,600 --> 00:41:31,270 據我所知,他們是唯一的,他們應該受到表揚。 590 00:41:31,270 --> 00:41:35,770 我認為他們是唯一的免費增值類型的應用程序已經做到了這一點。 591 00:41:35,770 --> 00:41:38,660 所有其他免費增值應用有同樣的行為, 592 00:41:38,660 --> 00:41:41,780 所以你要考慮什麼樣的數據你給 593 00:41:41,780 --> 00:41:48,330 這些免費增值應用程序,因為這一切都將會給廣告商。 594 00:41:48,330 --> 00:41:53,390 禁衛軍也做了一個關於共享庫的研究,說: 595 00:41:53,390 --> 00:41:57,100 “讓我們來看看什麼是共享庫的頂部共享庫”,這是該數據。 596 00:41:57,100 --> 00:41:59,420 >>他們分析了53,000的應用程序, 597 00:41:59,420 --> 00:42:01,900 和數字1的共享庫是AdMob的。 598 00:42:01,900 --> 00:42:06,060 它實際上是在應用程序那裡的38%, 599 00:42:06,060 --> 00:42:08,800 您正在使用的應用程序,使38% 600 00:42:08,800 --> 00:42:11,250 有可能收穫您的個人信息 601 00:42:11,250 --> 00:42:16,650 並將其發送給廣告網絡。 602 00:42:16,650 --> 00:42:19,350 阿帕奇和Android分別為8%和6%, 603 00:42:19,350 --> 00:42:22,960 然後將這些其他的倒在底部,谷歌廣告,亂舞, 604 00:42:22,960 --> 00:42:26,600 手機城和千年媒體, 605 00:42:26,600 --> 00:42:30,500 這些都是廣告公司,然後,有趣的是, 606 00:42:30,500 --> 00:42:33,500 在Facebook的庫4%掛鉤 607 00:42:33,500 --> 00:42:38,870 可能是通過Facebook做認證 608 00:42:38,870 --> 00:42:40,810 因此應用程序可以驗證了Facebook。 609 00:42:40,810 --> 00:42:44,660 但是,這也意味著Facebook的控制代碼的公司 610 00:42:44,660 --> 00:42:49,010 這是在Android移動應用程序的4%跑在那裡, 611 00:42:49,010 --> 00:42:53,490 他們可以訪問所有的數據的應用程序有權限來獲得。 612 00:42:53,490 --> 00:42:57,170 Facebook的基本上是試圖出售廣告空間。 613 00:42:57,170 --> 00:43:00,120 這就是他們的商業模式。 614 00:43:00,120 --> 00:43:02,920 >>如果你看看這整個生態系統,這些權限 615 00:43:02,920 --> 00:43:07,740 你開始看到共享庫 616 00:43:07,740 --> 00:43:13,850 你有很多的風險在一個假定的合法的應用程序。 617 00:43:13,850 --> 00:43:19,360 發生與潘多拉同樣​​類似的事情 618 00:43:19,360 --> 00:43:22,340 發生了與所謂的路徑的應用程序, 619 00:43:22,340 --> 00:43:27,660 和路徑以為他們是有幫助的,友好的開發者。 620 00:43:27,660 --> 00:43:32,160 他們只是想給你一個很好的用戶體驗, 621 00:43:32,160 --> 00:43:37,810 而事實證明,不提示用戶或告訴用戶什麼 - 622 00:43:37,810 --> 00:43:40,400 而這發生在iPhone和Android上, 623 00:43:40,400 --> 00:43:44,420 潘多拉的應用程序是在iPhone和Android- 624 00:43:44,420 --> 00:43:48,890 該應用程序的路徑被抓住你的整個通訊錄 625 00:43:48,890 --> 00:43:52,830 它只是當你安裝並運行該應用程序上傳到路徑, 626 00:43:52,830 --> 00:43:55,840 他們沒有告訴你這一點。 627 00:43:55,840 --> 00:43:58,750 他們認為這是對你非常有幫助 628 00:43:58,750 --> 00:44:04,040 能夠與所有的人在您的地址簿共享 629 00:44:04,040 --> 00:44:06,920 您正在使用的應用程序的路徑。 630 00:44:06,920 --> 00:44:09,490 >>嗯,很明顯的路徑認為這是非常適合他們的公司。 631 00:44:09,490 --> 00:44:13,510 沒有那麼大的用戶。 632 00:44:13,510 --> 00:44:19,020 你要認為這是一件事情,如果可能的少年 633 00:44:19,020 --> 00:44:23,700 使用這個應用程序和他們的幾十個朋友都在那裡, 634 00:44:23,700 --> 00:44:29,360 但如果它是一個公司,安裝路徑的行政總裁 635 00:44:29,360 --> 00:44:33,170 然後突然他們的整個地址簿是在那裡? 636 00:44:33,170 --> 00:44:38,310 你會得到很多潛在的有價值的聯繫信息 637 00:44:38,310 --> 00:44:40,920 對於很多人。 638 00:44:40,920 --> 00:44:44,500 來自紐約時報的記者,你也許可以得到的電話號碼 639 00:44:44,500 --> 00:44:47,380 從他們的地址簿中的前總統, 640 00:44:47,380 --> 00:44:54,780 所以很明顯了大量的敏感信息被轉移這樣的事情。 641 00:44:54,780 --> 00:44:58,090 有關於這個這麼大瓣的路徑道歉。 642 00:44:58,090 --> 00:45:01,610 他們改變了自己的應用程序,它甚至影響了蘋果公司。 643 00:45:01,610 --> 00:45:06,950 蘋果表示,“我們將迫使應用程序供應商以提示用戶 644 00:45:06,950 --> 00:45:12,650 如果他們要收集他們的整個通訊錄。“ 645 00:45:12,650 --> 00:45:15,360 >>它看起來像這裡發生了什麼是 646 00:45:15,360 --> 00:45:19,430 當有一個大的隱私侵犯,這讓記者 647 00:45:19,430 --> 00:45:21,680 我們看到了一個變化在那裡。 648 00:45:21,680 --> 00:45:23,230 但當然,還有其他的東西在那裡。 649 00:45:23,230 --> 00:45:27,440 LinkedIn的應用收割你的日曆項, 650 00:45:27,440 --> 00:45:34,530 但蘋果並沒有讓用戶提示有關。 651 00:45:34,530 --> 00:45:38,030 日曆項可以有太多在他們的敏感信息。 652 00:45:38,030 --> 00:45:40,000 你要去哪裡劃清界線? 653 00:45:40,000 --> 00:45:43,960 這實在是一種不斷發展的地方 654 00:45:43,960 --> 00:45:47,640 那裡真的沒有很好的標準在那裡 655 00:45:47,640 --> 00:45:51,990 為用戶時,他們的信息將是有風險理解 656 00:45:51,990 --> 00:45:57,820 而當他們要知道它上當受騙。 657 00:45:57,820 --> 00:46:03,040 我們寫在Veracode的一個應用程序稱為一路平安, 658 00:46:03,040 --> 00:46:08,350 而且基本上它允許你在你的iTunes目錄指向應用程序 659 00:46:08,350 --> 00:46:12,550 並期待在所有被收穫您的詳細地址簿應用程序。 660 00:46:12,550 --> 00:46:19,760 並且,你可以在此列表中看到這裡,憤怒的小鳥, 661 00:46:19,760 --> 00:46:21,590 AIM,AroundMe。 662 00:46:21,590 --> 00:46:24,050 為什麼憤怒的小鳥需要你的通訊錄? 663 00:46:24,050 --> 00:46:29,160 我不知道,但它確實不知。 664 00:46:29,160 --> 00:46:32,310 >>這是許多,許多應用程序做的。 665 00:46:32,310 --> 00:46:34,780 你可以檢查代碼的。 666 00:46:34,780 --> 00:46:38,660 有定義良好的API為iPhone,Android和黑莓 667 00:46:38,660 --> 00:46:42,120 得到的地址簿。 668 00:46:42,120 --> 00:46:48,520 你真的可以很容易地檢查這一點,而這正是我們在一路平安的應用程序一樣。 669 00:46:48,520 --> 00:46:52,320 下一個類別,不安全的敏感數據存儲, 670 00:46:52,320 --> 00:46:55,670 是什麼地方開發商拿東西就像一個針賬戶號碼 671 00:46:55,670 --> 00:46:58,530 或一個口令,並將其存儲在設備上的清晰。 672 00:46:58,530 --> 00:47:02,310 更糟的是,他們可能在一個地區它存儲在手機上 673 00:47:02,310 --> 00:47:06,820 這是全局可訪問的,像SD卡。 674 00:47:06,820 --> 00:47:11,320 你看這往往在Android上因為Android允許一個SD卡。 675 00:47:11,320 --> 00:47:13,200 IPhone的設備沒有。 676 00:47:13,200 --> 00:47:17,900 但是,我們甚至看到這種情況發生在花旗集團的應用。 677 00:47:17,900 --> 00:47:25,450 他們的網上銀行應用程序存儲在賬號不安全, 678 00:47:25,450 --> 00:47:28,120 只是在清澈的,所以如果你失去了你的設備, 679 00:47:28,120 --> 00:47:30,670 基本上你失去了你的銀行帳戶。 680 00:47:30,670 --> 00:47:36,000 這就是為什麼我個人不這樣做銀行在我的iPhone。 681 00:47:36,000 --> 00:47:43,710 我認為這是太冒險了,現在做這些類型的活動。 682 00:47:43,710 --> 00:47:45,950 >> Skype公司也做了同樣的事情。 683 00:47:45,950 --> 00:47:49,870 Skype的,當然,有一個賬戶餘額,用戶名和密碼 684 00:47:49,870 --> 00:47:51,030 訪問這種平衡。 685 00:47:51,030 --> 00:48:00,080 它們被存儲在清澈的移動設備上的所有信息。 686 00:48:00,080 --> 00:48:05,760 我有創建文件的一些例子 687 00:48:05,760 --> 00:48:10,310 沒有正確的權限或寫入光盤 688 00:48:10,310 --> 00:48:17,260 並且沒有任何加密發生了點。 689 00:48:17,260 --> 00:48:20,190 這下一個區域,不安全的敏感數據傳輸, 690 00:48:20,190 --> 00:48:24,450 我已經提到了這幾次,而且由於公共Wi-Fi 691 00:48:24,450 --> 00:48:27,770 這是一些應用程序絕對需要做的, 692 00:48:27,770 --> 00:48:31,250 這大概就是我們看到出問題最多。 693 00:48:31,250 --> 00:48:34,920 我想說,其實,我覺得我有實際的數據, 694 00:48:34,920 --> 00:48:38,120 但它接近一半的移動應用 695 00:48:38,120 --> 00:48:41,780 搞砸了做SSL。 696 00:48:41,780 --> 00:48:43,910 他們只是不使用API​​正確。 697 00:48:43,910 --> 00:48:47,970 我的意思是,所有你必須做的就是按照說明進行操作,並使用API​​, 698 00:48:47,970 --> 00:48:54,720 但他們不喜歡的東西不檢查是否有在另一端的證書無效, 699 00:48:54,720 --> 00:49:02,120 不檢查另一端試圖做一個協議降級攻擊。 700 00:49:02,120 --> 00:49:07,200 >>開發商,他們希望得到他們的複選框,對不對? 701 00:49:07,200 --> 00:49:11,910 他們的要求是用這個來賣。他們已經用這個來賣。 702 00:49:11,910 --> 00:49:14,800 要求是不是用這個來安全地賣, 703 00:49:14,800 --> 00:49:19,680 所以這就是為什麼所有使用SSL的應用程序以便保護數據 704 00:49:19,680 --> 00:49:23,470 因為它是被發送到器件真的需要檢查 705 00:49:23,470 --> 00:49:28,950 確保正確實施。 706 00:49:28,950 --> 00:49:32,850 在這裡我有一些例子,你可以看到一個應用程序 707 00:49:32,850 --> 00:49:37,400 可能會使用HTTP而不是HTTPS。 708 00:49:37,400 --> 00:49:40,510 在某些情況下,應用程序將回落到HTTP 709 00:49:40,510 --> 00:49:44,250 如果HTTPS不工作。 710 00:49:44,250 --> 00:49:49,070 我有另一個來電來訪Android上,他們已經禁用證書檢查, 711 00:49:49,070 --> 00:49:51,700 所以一個人在這方面的中間人攻擊可能發生。 712 00:49:51,700 --> 00:49:56,370 一個無效的證書將被接受。 713 00:49:56,370 --> 00:50:01,920 這些是攻擊者將能夠獲得在所有情況下 714 00:50:01,920 --> 00:50:07,150 相同的Wi-Fi連接的用戶和訪問所有數據 715 00:50:07,150 --> 00:50:11,650 這是正在通過互聯網發送。 716 00:50:11,650 --> 00:50:15,970 >>最後,最後一類我這裡是硬編碼的密碼和鑰匙。 717 00:50:15,970 --> 00:50:21,470 事實上,我們看到很多開發者使用相同的編碼風格 718 00:50:21,470 --> 00:50:25,900 他們做當他們構建Web服務器應用程序, 719 00:50:25,900 --> 00:50:29,700 所以他們正在構建一個Java服務器應用程序,而且他們硬編碼的關鍵。 720 00:50:29,700 --> 00:50:31,940 那麼,當你建立一個服務器應用程序,是啊, 721 00:50:31,940 --> 00:50:34,240 硬編碼的關鍵是不是一個好主意。 722 00:50:34,240 --> 00:50:36,290 這使得它很難改變。 723 00:50:36,290 --> 00:50:40,700 但它不是那麼糟糕,在服務器端,因為誰有權訪問服務器端? 724 00:50:40,700 --> 00:50:43,140 只有管​​理員。 725 00:50:43,140 --> 00:50:48,100 但如果你把相同的代碼和你過倒到一個移動應用程序 726 00:50:48,100 --> 00:50:52,550 現在大家誰都有移動應用程序有權訪問該硬編碼的關鍵, 727 00:50:52,550 --> 00:50:56,380 我們實際上看到這個了很多次,我有一些統計數據 728 00:50:56,380 --> 00:51:00,920 我們如何經常看到這種情況發生。 729 00:51:00,920 --> 00:51:04,940 它實際上是在萬事達卡發布的示例代碼 730 00:51:04,940 --> 00:51:06,850 關於如何使用他們的服務。 731 00:51:06,850 --> 00:51:11,860 該示例代碼顯示了如何將只取密碼 732 00:51:11,860 --> 00:51:14,850 並把它放在一個硬編碼的字符串就在那裡, 733 00:51:14,850 --> 00:51:19,380 我們知道開發者如何愛複製和粘貼代碼片段 734 00:51:19,380 --> 00:51:22,360 當他們試圖做一些事情,所以你複製並粘貼代碼片段 735 00:51:22,360 --> 00:51:28,450 他們給的示例代碼,和你有一個不安全的應用程序。 736 00:51:28,450 --> 00:51:31,490 >>在這裡,我們有一些例子。 737 00:51:31,490 --> 00:51:35,840 這第一個是我們看到了很多,他們硬編碼 738 00:51:35,840 --> 00:51:40,510 數據右成被發送的URL。 739 00:51:40,510 --> 00:51:45,120 有時候,我們看到字符串密碼=密碼。 740 00:51:45,120 --> 00:51:49,060 這是很容易察覺,或字符串密碼黑莓和Android。 741 00:51:49,060 --> 00:51:53,680 這其實很容易檢查,因為幾乎總是 742 00:51:53,680 --> 00:51:57,030 開發商的名稱的控股密碼的變量 743 00:51:57,030 --> 00:52:02,290 密碼的一些變化。 744 00:52:02,290 --> 00:52:05,200 我提到,我們做靜態分析在Veracode的, 745 00:52:05,200 --> 00:52:11,790 因此,我們已經分析了幾百Android和iOS應用程序。 746 00:52:11,790 --> 00:52:15,160 我們已經建立了他們的全款,並且我們能夠對其進行掃描 747 00:52:15,160 --> 00:52:19,280 針對不同的弱點,尤其是我說的漏洞, 748 00:52:19,280 --> 00:52:21,050 我這裡有一些數據。 749 00:52:21,050 --> 00:52:24,320 我們看了一下Android應用程序的68.5% 750 00:52:24,320 --> 00:52:28,590 打破了加密代碼, 751 00:52:28,590 --> 00:52:33,240 這對於我們來說,我們無法檢測,如果你做你自己的加密程序, 752 00:52:33,240 --> 00:52:38,980 不是說這是一個好主意,但其實這是使用發布的API 753 00:52:38,980 --> 00:52:42,530 這是在平台上,但這樣做他們以這樣的方式 754 00:52:42,530 --> 00:52:46,680 該密碼將是脆弱的,68.5。 755 00:52:46,680 --> 00:52:49,870 這對那些實際發送我們自己的應用程序的人,因為 756 00:52:49,870 --> 00:52:53,730 他們認為這是一個好主意,做安全測試。 757 00:52:53,730 --> 00:52:56,960 這些已經有人認為可能在想安全地, 758 00:52:56,960 --> 00:52:59,540 因此它可能更糟糕。 759 00:52:59,540 --> 00:53:02,690 >>我沒有談論控制換行注射。 760 00:53:02,690 --> 00:53:07,640 這是我們檢查的東西,但它不是風險的問題。 761 00:53:07,640 --> 00:53:15,390 信息洩漏,這就是敏感數據被發送關閉設備。 762 00:53:15,390 --> 00:53:19,270 我們發現,在應用程序的40%。 763 00:53:19,270 --> 00:53:23,540 時間和狀態,這些都是競爭條件類型的問題,通常是相當困難的剝削, 764 00:53:23,540 --> 00:53:26,170 所以我沒有說這些了,但我們看著它。 765 00:53:26,170 --> 00:53:28,750 23%有SQL注入的問題。 766 00:53:28,750 --> 00:53:32,020 很多人不知道,很多應用程序 767 00:53:32,020 --> 00:53:35,880 用自己的後端的一個小一點的SQL數據庫來存儲數據。 768 00:53:35,880 --> 00:53:40,430 好吧,如果你正在抓在網絡中的數據 769 00:53:40,430 --> 00:53:43,800 有SQL注入攻擊的字符串在裡面 770 00:53:43,800 --> 00:53:45,970 有人可以通過妥協的設備, 771 00:53:45,970 --> 00:53:49,800 所以我覺得,我們發現大約40%的Web應用程序有這個問題, 772 00:53:49,800 --> 00:53:52,840 這是一個巨大的流行問題。 773 00:53:52,840 --> 00:53:55,740 我們發現它的時候23%的移動應用程序 774 00:53:55,740 --> 00:54:02,030 而這可能是因為許多Web應用程序使用SQL比移動。 775 00:54:02,030 --> 00:54:05,580 >>然後,我們仍然看到一些跨站點腳本,授權問題, 776 00:54:05,580 --> 00:54:09,400 然後憑證管理,這就是你有你的硬編碼密碼。 777 00:54:09,400 --> 00:54:14,540 在該應用中的5%,我們看到這一點。 778 00:54:14,540 --> 00:54:17,970 然後我們對iOS的一些數據。 779 00:54:17,970 --> 00:54:20,180 81%有錯誤處理的問題。 780 00:54:20,180 --> 00:54:23,130 這更是一個代碼質量問題, 781 00:54:23,130 --> 00:54:28,010 但67%有密碼的問題,所以沒有那麼糟糕,因為Android系統。 782 00:54:28,010 --> 00:54:32,440 也許API是有點容易,示例代碼好一點的iOS。 783 00:54:32,440 --> 00:54:35,420 但仍然是一個非常高的比例。 784 00:54:35,420 --> 00:54:39,040 我們有54%的信息洩漏, 785 00:54:39,040 --> 00:54:42,080 約30%用緩衝管理的錯誤。 786 00:54:42,080 --> 00:54:45,930 這地方有可能是內存損壞問題。 787 00:54:45,930 --> 00:54:50,350 事實證明,這不是盡可能多的剝削問題 788 00:54:50,350 --> 00:54:56,450 在iOS上,因為所有的代碼必須加以簽署, 789 00:54:56,450 --> 00:55:02,210 所以很難攻擊者在iOS上執行任意代碼。 790 00:55:02,210 --> 00:55:07,880 代碼質量,目錄遍歷,但隨後憑據管理這裡為14.6%, 791 00:55:07,880 --> 00:55:09,250 這樣比在Android更糟。 792 00:55:09,250 --> 00:55:13,240 我們有人不能正確處理密碼。 793 00:55:13,240 --> 00:55:15,790 然後將數字錯誤和緩衝區溢出, 794 00:55:15,790 --> 00:55:22,680 那些更將是iOS上的代碼質量問題。 795 00:55:22,680 --> 00:55:26,110 >>這是它為我的演講。我不知道,如果我們沒時間了還是不行。 796 00:55:26,110 --> 00:55:29,540 我不知道是否有任何問題。 797 00:55:29,540 --> 00:55:33,220 [男]周圍碎片和Android市場的一個快速的問題。 798 00:55:33,220 --> 00:55:36,240 蘋果公司至少擁有修補。 799 00:55:36,240 --> 00:55:40,780 他們在Android空間得到它在那裡,而沒有那麼的好。 800 00:55:40,780 --> 00:55:44,280 你幾乎需要越獄你的手機保持電流 801 00:55:44,280 --> 00:55:46,660 隨著Android的最新版本。 802 00:55:46,660 --> 00:55:50,960 是啊,這是一個巨大的問題,所以如果你仔細想想, 803 00:55:50,960 --> 00:55:52,280 [男]你為什麼不能重複一次嗎? 804 00:55:52,280 --> 00:55:55,610 >>哦,對了,所以這個問題是怎麼樣的碎片 805 00:55:55,610 --> 00:56:00,410 在Android平台上的操作系統? 806 00:56:00,410 --> 00:56:05,890 如何影響這些設備的風險程度? 807 00:56:05,890 --> 00:56:09,700 它實際上是一個巨大的問題,因為發生的事情是 808 00:56:09,700 --> 00:56:15,110 早期的設備,當有人想出了一個越獄的設備, 809 00:56:15,110 --> 00:56:19,960 基本上這就是特權升級,直到該作業系統更新 810 00:56:19,960 --> 00:56:25,350 那麼任何惡意軟件可以利用該漏洞完全妥協的設備, 811 00:56:25,350 --> 00:56:30,200 而且我們看到在Android是什麼,以獲得新的操作系統 812 00:56:30,200 --> 00:56:34,690 谷歌已經推出了操作系統,然後硬件製造商 813 00:56:34,690 --> 00:56:39,390 具有自定義,然後承運人有權對其進行自定義,並提供它。 814 00:56:39,390 --> 00:56:43,070 你已經基本上這裡3移動部件, 815 00:56:43,070 --> 00:56:47,210 和它的轉向出,運營商不關心, 816 00:56:47,210 --> 00:56:50,400 與硬件製造商不關心,而谷歌是不是慫恿他們足夠 817 00:56:50,400 --> 00:56:54,430 做任何事情,所以基本上一半以上的設備在那裡 818 00:56:54,430 --> 00:57:00,590 必須具有這些權限提升漏洞在他們的操作系統, 819 00:57:00,590 --> 00:57:08,440 所以,如果你得到的惡意軟件在Android設備上它更是一個問題。 820 00:57:08,440 --> 00:57:10,350 >>好的,非常感謝你。 821 00:57:10,350 --> 00:57:12,310 [鼓掌] 822 00:57:12,310 --> 00:57:14,310 [CS50.TV]