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名名单,这是前10名 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 但现在,这是前10名的事情担心。 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]