1 00:00:00,770 --> 00:00:03,032 这儿有许多1和许多0。 2 00:00:03,032 --> 00:00:06,131 这就是我们所说的二进制信息。 3 00:00:06,131 --> 00:00:07,573 这是计算机所使用的语言。 4 00:00:07,573 --> 00:00:09,502 这是计算机存储信息的方式。 5 00:00:09,502 --> 00:00:11,128 这是计算机的思考方式, 6 00:00:11,128 --> 00:00:15,127 计算机通过这些0和1来做所有它们能做的事情。 7 00:00:15,127 --> 00:00:17,176 我是一名网络安全的研究人员, 8 00:00:17,176 --> 00:00:19,246 这意味着,我的工作就是坐下跟这种信息打交道, 9 00:00:19,246 --> 00:00:20,930 试着让这些0和1变得有意义, 10 00:00:20,930 --> 00:00:23,683 试着去理解这些0和1的意思。 11 00:00:23,683 --> 00:00:25,526 对我来说,不幸的是,我们并不只是说 12 00:00:25,526 --> 00:00:27,760 屏幕上的这些0和1。 13 00:00:27,760 --> 00:00:30,443 我们并不是说几页的0和1。 14 00:00:30,443 --> 00:00:34,382 我们会讨论多达数十亿的0和1, 15 00:00:34,385 --> 00:00:37,026 多到任何人都无法理解的程度。 16 00:00:37,026 --> 00:00:38,885 现在,就像听起来得这么令人兴奋, 17 00:00:38,885 --> 00:00:40,847 当我开始做网络的工作时—— 18 00:00:40,847 --> 00:00:43,120 (笑声)—— 19 00:00:43,120 --> 00:00:45,123 当我开始做网络的时候, 20 00:00:45,123 --> 00:00:48,866 我不确定探索0和1是我余生想做的事, 21 00:00:48,866 --> 00:00:50,070 因为在我的脑海里, 22 00:00:50,070 --> 00:00:54,591 “信息技术”就是不让病毒感染我奶奶的电脑, 23 00:00:54,591 --> 00:00:57,939 让"My Space"(聚友,社交网站)主页不被入侵, 24 00:00:57,939 --> 00:01:00,124 也许,也许在我最光荣的那一天, 25 00:01:00,124 --> 00:01:03,875 防止人们的信用卡信息遭到窃取, 26 00:01:03,875 --> 00:01:05,238 那些确实是重要的事情, 27 00:01:05,238 --> 00:01:08,306 但那并不是我打算尽我一生来做的事情。 28 00:01:08,306 --> 00:01:11,300 但是作为一个网络防卫服务者,工作了30分钟后, 29 00:01:11,300 --> 00:01:15,953 我就发现我对于网络的看法有失偏颇。 30 00:01:15,953 --> 00:01:17,887 事实上,在国家安全的意义上说, 31 00:01:17,887 --> 00:01:23,158 使我奶奶的电脑远离病毒的工作优先级是非常低的。 32 00:01:23,158 --> 00:01:28,245 网络的意义远远大于任何像这样的事情。 33 00:01:28,245 --> 00:01:31,063 网络遍布于生活的每个角落, 34 00:01:31,063 --> 00:01:34,123 因为电脑融入了生活的方方面面, 35 00:01:34,123 --> 00:01:36,075 即使你没有电脑。 36 00:01:36,075 --> 00:01:38,721 计算机控制着你车里所有的东西, 37 00:01:38,721 --> 00:01:40,601 从你的GPS到你的安全气囊。 38 00:01:40,601 --> 00:01:41,917 它们控制你的手机。 39 00:01:41,917 --> 00:01:44,898 正因为有它们,你才能拨打911和其它人连线。 40 00:01:44,898 --> 00:01:47,678 它们控制着我们国家的全部基础设施。 41 00:01:47,678 --> 00:01:51,694 是它们让你能用电,暖气,清洁的水,食物。 42 00:01:51,694 --> 00:01:53,593 计算机也控制着我们的军事设备, 43 00:01:53,593 --> 00:01:55,270 从导弹筒仓到卫星, 44 00:01:55,270 --> 00:01:57,944 到核防御网络。 45 00:01:59,184 --> 00:02:02,593 这些东西都因为电脑的存在而变得可能。 46 00:02:02,593 --> 00:02:04,572 因此,因为网络的存在, 47 00:02:04,572 --> 00:02:06,076 当某些事情出故障时, 48 00:02:06,076 --> 00:02:09,194 网络会让所有的这些故障不复存在。 49 00:02:09,194 --> 00:02:10,779 这恰恰是我所踏入的领域。 50 00:02:10,779 --> 00:02:13,719 我工作中很重要的一部分就是保护这些东西, 51 00:02:13,719 --> 00:02:15,381 让它们正常工作。 52 00:02:15,381 --> 00:02:18,119 但某些时候,破坏这些东西也是我工作的一部分。 53 00:02:18,119 --> 00:02:20,575 因为网络并不仅仅是防御, 54 00:02:20,575 --> 00:02:22,378 网络也意味着进攻。 55 00:02:22,378 --> 00:02:23,954 我们正在进入我们所说的 56 00:02:23,954 --> 00:02:25,415 网络武器时代。 57 00:02:25,415 --> 00:02:28,550 实际上,网络进攻的潜力是如此巨大, 58 00:02:28,550 --> 00:02:32,171 以至于网络被认为是一个新的战场。 59 00:02:32,171 --> 00:02:33,971 战场。 60 00:02:33,971 --> 00:02:35,900 这不一定是坏事。 61 00:02:35,900 --> 00:02:40,391 一方面,这意味着,我们要在一个全新的领域保护自己, 62 00:02:40,391 --> 00:02:41,879 但另一方面, 63 00:02:41,879 --> 00:02:43,721 这意味着,我们有新的途径去进攻, 64 00:02:43,721 --> 00:02:47,830 去阻止恶人作恶。 65 00:02:47,830 --> 00:02:51,318 那么,我来举一个完全假想的例子。 66 00:02:51,318 --> 00:02:53,565 假定一名恐怖分子想炸毁一栋建筑, 67 00:02:53,565 --> 00:02:57,373 而且他还想在将来反复地进行这样的恐怖袭击。 68 00:02:57,373 --> 00:02:59,924 因此,他可不想在那个建筑爆炸时还呆里面。 69 00:02:59,924 --> 00:03:01,442 他打算用一个手机来 70 00:03:01,442 --> 00:03:03,777 做远程导火线。 71 00:03:03,777 --> 00:03:10,034 在过去,阻止这名恐怖分子的唯一办法是枪战和飙车。 72 00:03:10,034 --> 00:03:12,289 但如今再也不必这样了。 73 00:03:12,289 --> 00:03:13,492 我们正在进入一个新时代, 74 00:03:13,492 --> 00:03:17,002 1000英里以外的一个按钮就能阻止他。 75 00:03:17,002 --> 00:03:18,558 因为无论他知道与否, 76 00:03:18,558 --> 00:03:20,269 只要他决定用他的手机, 77 00:03:20,269 --> 00:03:23,403 他就已踏入了网络控制区。 78 00:03:23,403 --> 00:03:26,520 一个精心策划的网络袭击可以侵入他的手机, 79 00:03:26,520 --> 00:03:28,669 破坏他的电池的过压保护, 80 00:03:28,669 --> 00:03:30,424 让电路超负荷, 81 00:03:30,424 --> 00:03:32,781 从而引起电池过热而爆炸。 82 00:03:32,781 --> 00:03:35,227 没有了手机,也就没有了导火线, 83 00:03:35,227 --> 00:03:37,150 也许再也不会有恐怖分子, 84 00:03:37,150 --> 00:03:40,871 这一切都来自于1000英里外的一下按钮。 85 00:03:40,871 --> 00:03:42,612 那么这到底是怎么做到的呢? 86 00:03:42,612 --> 00:03:44,880 一切又回到了那些0和1上。 87 00:03:44,880 --> 00:03:47,885 二进制信息让你的手机工作, 88 00:03:47,885 --> 00:03:51,469 如果正确操纵,它可以引爆你的手机。 89 00:03:51,469 --> 00:03:53,941 所以,当你开始从这个角度看信息技术时, 90 00:03:53,941 --> 00:03:59,584 穷尽一生跟二进制信息打交道就开始变得让人兴奋了。 91 00:03:59,584 --> 00:04:02,167 但问题在于:这个很难。 92 00:04:02,167 --> 00:04:04,202 真的非常非常难。 93 00:04:04,202 --> 00:04:05,686 原因在这。 94 00:04:05,686 --> 00:04:08,452 想想你手机上的所有东西。 95 00:04:08,452 --> 00:04:10,415 有你拍的照片, 96 00:04:10,415 --> 00:04:12,201 你听的歌, 97 00:04:12,201 --> 00:04:13,849 你的联系人列表, 98 00:04:13,849 --> 00:04:14,744 你的邮件, 99 00:04:14,744 --> 00:04:18,705 还有500个你这辈子大概都不会用的应用软件, 100 00:04:18,705 --> 00:04:21,682 所有这些的背后都是软件, 101 00:04:21,682 --> 00:04:23,842 控制你手机的代码。 102 00:04:23,842 --> 00:04:29,058 隐藏在这茫茫代码中的某小一段代码控制着电池, 103 00:04:29,058 --> 00:04:30,917 这就是我真正关心的。 104 00:04:30,917 --> 00:04:34,603 但所有的这些,都只是一长串0和1, 105 00:04:34,603 --> 00:04:36,134 而且所有的都混在一起。 106 00:04:36,134 --> 00:04:39,679 我们称之为网络领域的“海里捞针", 107 00:04:39,679 --> 00:04:42,028 因为任何信息看上去都很像。 108 00:04:42,028 --> 00:04:43,760 我在找一个关键的部分, 109 00:04:43,760 --> 00:04:46,994 但它和所有其他的东西混在一起。 110 00:04:46,994 --> 00:04:51,616 因此,我们把注意力从这个假象的 引爆恐怖分子的手机的情景中转移开, 111 00:04:51,616 --> 00:04:54,406 看看真正发生在我身上的事情。 112 00:04:54,406 --> 00:04:55,749 差不多不管我做什么, 113 00:04:55,749 --> 00:04:59,561 往往一坐下来就着手处理一整串二进制信息, 114 00:04:59,563 --> 00:05:01,290 并且,我总是在找一个关键的片段 115 00:05:01,290 --> 00:05:03,277 来做点特别的事情。 116 00:05:03,277 --> 00:05:05,354 在这个案例中,我在寻找一个段非常先进的, 117 00:05:05,354 --> 00:05:06,872 蕴含高科技的代码, 118 00:05:06,872 --> 00:05:08,087 我知道我能侵入这段代码, 119 00:05:08,087 --> 00:05:11,817 但这个片段埋藏在十亿个0和1中的某个地方。 120 00:05:11,817 --> 00:05:15,105 对我来说,不幸的是,我不知道我要找的到底是什么。 121 00:05:15,105 --> 00:05:16,777 我并不完全知道这段代码看上到底会是什么样子, 122 00:05:16,777 --> 00:05:19,210 这使寻找它的工作变得非常非常难。 123 00:05:19,210 --> 00:05:21,249 当我必须做这件事情的时候,我需要做的 124 00:05:21,249 --> 00:05:25,341 基本上就是读取大量二进制片段, 125 00:05:25,341 --> 00:05:28,746 努力解码每一段,看看有没有可能找到我想找的那一段。 126 00:05:28,746 --> 00:05:31,715 这样,一段时间过后, 我以为我找到了我要找的那段代码。 127 00:05:31,715 --> 00:05:33,806 我以为,这大概是吧我要找的吧。 128 00:05:33,806 --> 00:05:35,838 它看上去像是对的,但我还不能断定。 129 00:05:35,838 --> 00:05:38,756 我还不知道这些0和1到底表示什么。 130 00:05:38,756 --> 00:05:42,130 我花了点时间试着一起考虑它们, 131 00:05:42,130 --> 00:05:43,800 但没有那么走运。 132 00:05:43,800 --> 00:05:44,986 最终我决定了, 133 00:05:44,986 --> 00:05:46,595 我一定要去征服它, 134 00:05:46,595 --> 00:05:48,106 我要花掉一个周末的时间, 135 00:05:48,106 --> 00:05:51,156 直到弄清它的含义前我不会离开。 136 00:05:51,158 --> 00:05:53,324 这就是我所做的,我在一个星期六早上开始我的工作, 137 00:05:53,324 --> 00:05:56,969 花了大概10个小时,我获得了这个难题的全部片段。 138 00:05:56,969 --> 00:05:58,361 但我还是不知道它们怎么能相互联系, 139 00:05:58,361 --> 00:06:01,151 也不清楚这些0和1的意义。 140 00:06:01,151 --> 00:06:03,218 在第15十五个小时的时候, 141 00:06:03,218 --> 00:06:05,820 我的头绪开始变得清晰起来, 142 00:06:05,820 --> 00:06:07,592 但还是心存疑虑, 143 00:06:07,592 --> 00:06:12,121 怀疑我看到的跟我想找的没任何联系。 144 00:06:12,121 --> 00:06:14,591 到第20个小时,这些零碎的部分开始汇集, 145 00:06:14,591 --> 00:06:18,355 非常缓慢 ——(笑声)—— 146 00:06:18,355 --> 00:06:21,581 事已至此,我非常肯定我在一条错误的道路上前进。 147 00:06:21,581 --> 00:06:23,811 但是不会放弃。 148 00:06:23,811 --> 00:06:26,645 在实验室的30个小时以后, 149 00:06:26,645 --> 00:06:28,906 我真正搞清了我在看的是什么, 150 00:06:28,906 --> 00:06:31,724 我的猜测是正确的,这并不是我想找的。 151 00:06:31,724 --> 00:06:34,543 我花了30个小时把这些0和1整合到一起, 152 00:06:34,543 --> 00:06:36,145 组成了一个小猫的图像。 153 00:06:36,145 --> 00:06:37,940 (笑声) 154 00:06:37,940 --> 00:06:40,876 在实验室浪费了30个小时光阴, 155 00:06:40,876 --> 00:06:43,584 搜寻了一只没任何用处的小猫, 156 00:06:43,584 --> 00:06:46,181 这跟我想实现的成就完全不相及。 157 00:06:46,181 --> 00:06:49,434 我十分沮丧,精疲力竭。 158 00:06:49,434 --> 00:06:52,660 在实验室呆了30个小时后, 我很可能都散发难闻的味道了, 159 00:06:52,660 --> 00:06:56,170 但是我并没有选择回家,回家就叫做放弃, 160 00:06:56,170 --> 00:06:59,960 我回过头,问我自己,到底出了什么错? 161 00:06:59,961 --> 00:07:02,173 为什么我会犯这么愚蠢的错误? 162 00:07:02,173 --> 00:07:03,571 我在这方面是做得相当好的。 163 00:07:03,571 --> 00:07:04,890 我以此谋生。 164 00:07:04,890 --> 00:07:07,038 那么到底发生了什么? 165 00:07:07,038 --> 00:07:09,813 我想,当你在这个层次上解码信息时, 166 00:07:09,813 --> 00:07:12,640 很容易偏离正轨。 167 00:07:12,640 --> 00:07:14,814 很容易只见树木不见森林。 168 00:07:14,814 --> 00:07:16,548 很容易走到错误的兔子洞里, 169 00:07:16,548 --> 00:07:20,170 在错误的事情上浪费大量的时间。 170 00:07:20,170 --> 00:07:21,730 但我顿悟了。 171 00:07:21,730 --> 00:07:26,229 我们从一开始就以完全错误的方式来处理这些数据。 172 00:07:26,229 --> 00:07:28,322 这是电脑的思考方式,0 和1。 173 00:07:28,322 --> 00:07:29,714 这不是人类思考的方式。 174 00:07:29,714 --> 00:07:33,568 但我们一直试图让我们的脑子以计算机的方式思考, 175 00:07:33,568 --> 00:07:35,970 以理解这些信息。 176 00:07:35,970 --> 00:07:37,920 不是让我们的思维适应问题, 177 00:07:37,920 --> 00:07:40,568 我们应该让问题适应我们的思维。 178 00:07:40,568 --> 00:07:42,646 因为我们的大脑有巨大的潜力 179 00:07:42,646 --> 00:07:45,732 来分析大量的信息, 180 00:07:45,732 --> 00:07:47,029 而不是像这样。 181 00:07:47,029 --> 00:07:50,346 那么,如果我们把问题转化为正确形式的信息, 182 00:07:50,346 --> 00:07:52,843 来激发大脑的潜力,将会怎样? 183 00:07:52,843 --> 00:07:54,065 带着这个想法, 184 00:07:54,065 --> 00:07:55,683 我从我工作的地下实验室冲出来, 185 00:07:55,683 --> 00:07:56,990 到了我家里的地下实验室, 186 00:07:56,990 --> 00:07:58,986 这两处看起来差不多。 187 00:07:58,986 --> 00:08:00,810 主要的不同是,在工作的地方, 188 00:08:00,810 --> 00:08:02,389 我被网络包围了, 189 00:08:02,389 --> 00:08:04,994 在这种情况下,网络本身似乎就是个问题。 190 00:08:04,994 --> 00:08:08,347 在家里,包围我的一切都是我熟知的。 191 00:08:08,347 --> 00:08:10,219 所以,我倾倒出所有我能找到的书, 192 00:08:10,219 --> 00:08:11,551 所有的想法也从脑海里倾倒而出, 193 00:08:11,551 --> 00:08:16,847 看看如何把问题从一个形式 转换成完全不同的形式。 194 00:08:16,847 --> 00:08:18,223 最大的问题是, 195 00:08:18,223 --> 00:08:20,191 我们想把它们转化成什么? 196 00:08:20,191 --> 00:08:22,303 大脑通常情况下做什么做得最完美? 197 00:08:22,303 --> 00:08:24,181 我们能够利用吗? 198 00:08:24,181 --> 00:08:26,470 我的答案是视觉。 199 00:08:26,470 --> 00:08:29,619 我们具有强大的图像信息分析能力。 200 00:08:29,619 --> 00:08:34,012 我们能够将颜色梯度、层次等各种各样的信号 201 00:08:34,012 --> 00:08:36,385 融合成一幅眼前世界的画卷。 202 00:08:36,385 --> 00:08:37,792 的确难以置信。 203 00:08:37,792 --> 00:08:39,173 如果我们能够找到一个方法 204 00:08:39,173 --> 00:08:41,359 来将这些二进制信息转化为视觉信号的形式, 205 00:08:41,359 --> 00:08:43,191 我们就真的能释放大脑的潜力, 206 00:08:43,191 --> 00:08:45,901 来处理这些信息。 207 00:08:45,901 --> 00:08:47,744 于是我开始看着二进制的信息, 208 00:08:47,744 --> 00:08:50,734 问自己,当我第一次遇到这样的信息,我会做什么? 209 00:08:50,734 --> 00:08:52,333 我想做的第一件事, 210 00:08:52,333 --> 00:08:53,692 我想回答的第一个问题, 211 00:08:53,692 --> 00:08:54,970 是它到底是什么? 212 00:08:54,970 --> 00:08:57,498 我不在乎它有什么作用,它如何发挥作用。 213 00:08:57,498 --> 00:08:59,977 我想知道的就是,它是什么? 214 00:08:59,977 --> 00:09:01,652 为搞清这个问题, 215 00:09:01,652 --> 00:09:03,335 我把目光投向于数据块, 216 00:09:03,335 --> 00:09:05,788 整串二进制数据块, 217 00:09:05,788 --> 00:09:08,690 并且注意观察这些数据块之间的关系。 218 00:09:08,690 --> 00:09:10,462 当我汇集到足够多的序列时, 219 00:09:10,462 --> 00:09:15,106 我想我确切地明白了这些信息是什么。 220 00:09:15,106 --> 00:09:16,284 让我们回到 221 00:09:16,284 --> 00:09:18,374 那个爆破恐怖分子手机的情景。 222 00:09:18,374 --> 00:09:21,907 这是二进制层面上英文字母的样子。 223 00:09:21,907 --> 00:09:25,806 在我检测时,你的联系人信息会呈现为这般模样。 224 00:09:25,806 --> 00:09:28,010 在这个层次上很难进行分析, 225 00:09:28,010 --> 00:09:30,932 但如果将我正在研究的二进制数据块提取出来, 226 00:09:30,932 --> 00:09:35,074 进行转化,并以视觉形式呈现出来, 227 00:09:35,074 --> 00:09:36,777 将它们转化, 228 00:09:36,777 --> 00:09:38,333 这是我们得到的结果。 229 00:09:38,333 --> 00:09:42,927 这是从抽象视觉角度来看的英文文字。 230 00:09:42,927 --> 00:09:44,058 就在这一瞬间, 231 00:09:44,058 --> 00:09:46,323 信息以截然不同的形式展现出来, 232 00:09:46,323 --> 00:09:48,995 新形式的信息跟那些0和1完全一样, 233 00:09:48,995 --> 00:09:50,703 以一种我们立即可以理解的方式呈现出来。 234 00:09:50,703 --> 00:09:53,668 我们立即就能看到所有的图案式样, 235 00:09:53,668 --> 00:09:56,260 只需花费几秒钟就能获取这些图案式样, 236 00:09:56,260 --> 00:09:58,274 但若是从0和1中挖掘出这些信息, 237 00:09:58,274 --> 00:09:59,834 需要花费数小时,甚至数天。 238 00:09:59,834 --> 00:10:01,570 任何人只需学习几分钟, 239 00:10:01,570 --> 00:10:03,235 就可以知道这些图案式样的含义。 240 00:10:03,235 --> 00:10:08,722 但若从0和1中理解其含义需具备数年的网络技术经验。 241 00:10:08,722 --> 00:10:12,414 这一个片段代表联系人名单中 242 00:10:12,414 --> 00:10:14,175 小写字母挨着小写字母。 243 00:10:14,175 --> 00:10:15,516 这是大写字母跟着大写字母, 244 00:10:15,516 --> 00:10:18,201 大写字母跟着小写字母,小写字母跟着大写字母。 245 00:10:18,201 --> 00:10:20,887 这是空格,这是回车。 246 00:10:20,887 --> 00:10:25,385 我们可以在几秒钟里浏览二进制信息的各个细节。 247 00:10:25,385 --> 00:10:28,895 而不是在这个层面上停留数周,甚至数月。 248 00:10:28,895 --> 00:10:32,287 这是你手机上一个图像看起来的样子, 249 00:10:32,287 --> 00:10:35,206 但这是抽象化的视觉图案。 250 00:10:35,206 --> 00:10:37,172 这是你的音乐的样子, 251 00:10:37,172 --> 00:10:39,375 抽象的视觉化图案。 252 00:10:39,375 --> 00:10:41,135 对我来说最重要的是, 253 00:10:41,135 --> 00:10:44,410 这是你手机代码的样子, 254 00:10:44,410 --> 00:10:46,567 正是我最终想找到的, 255 00:10:46,567 --> 00:10:48,707 这是代码的抽象视觉化图案。 256 00:10:48,707 --> 00:10:51,216 即便能发现它,我还不能引爆你的手机。 257 00:10:51,216 --> 00:10:55,035 在0和1中摸索,需要花费数周时间, 258 00:10:55,035 --> 00:11:00,126 但从这样的抽象图案中获取有用信息只需几秒钟。 259 00:11:00,126 --> 00:11:02,592 这一切的一切,最不可思议的地方之一在于 260 00:11:02,592 --> 00:11:05,424 这种思路赋予了我们一种全新的方式, 261 00:11:05,424 --> 00:11:08,663 来理解我们从未看到过的信息和物质。 262 00:11:08,663 --> 00:11:11,167 我知道在二进制层面的英文的样子, 263 00:11:11,167 --> 00:11:13,277 我也知道其抽象视觉化图案的样子, 264 00:11:13,277 --> 00:11:16,592 但我从来没见过俄文的二进制信息。 265 00:11:16,592 --> 00:11:19,272 如果单纯地在0和1的层面来分析, 266 00:11:19,272 --> 00:11:21,389 需要花费我数周的时间来摸索, 267 00:11:21,389 --> 00:11:24,060 但由于我们的大脑可以在瞬间抓取并识别出 268 00:11:24,060 --> 00:11:27,447 这些抽象视觉化信息中的细微图案。 269 00:11:27,447 --> 00:11:30,817 我们就会下意识地在新的环境中应用。 270 00:11:30,817 --> 00:11:33,922 这就是俄文经过视觉抽象化处理后的样子。 271 00:11:33,922 --> 00:11:35,716 因为我了解了一个语言的样子, 272 00:11:35,716 --> 00:11:37,292 我就能够识别出其他语言, 273 00:11:37,292 --> 00:11:39,162 即使我对它们不熟悉。 274 00:11:39,162 --> 00:11:40,948 这是照片的样子, 275 00:11:40,948 --> 00:11:42,835 但这是剪贴画的样子。 276 00:11:42,835 --> 00:11:45,390 这是你手机代码的样子, 277 00:11:45,390 --> 00:11:48,097 但这是你电脑代码的样子。 278 00:11:48,097 --> 00:11:49,961 我们大脑读取这些图案的方式, 279 00:11:49,961 --> 00:11:54,412 跟读取0和1的方式是截然不同的。 280 00:11:54,412 --> 00:11:56,264 但以这种方式来解决问题, 281 00:11:56,264 --> 00:11:58,401 事实上目前我们掌握的只是冰山一角。 282 00:11:58,401 --> 00:12:03,399 我们才刚开始激发大脑处理视觉信息的能力。 283 00:12:03,399 --> 00:12:05,384 如果我们运用同样的理念, 284 00:12:05,384 --> 00:12:07,035 并将其转化为三维信息, 285 00:12:07,035 --> 00:12:10,230 我们就会发现解读信息的全新的方式。 286 00:12:10,230 --> 00:12:12,715 在几秒钟里,我们就能获悉每一个图案。 287 00:12:12,715 --> 00:12:14,535 我们能看见与代码相联的十字交叉, 288 00:12:14,535 --> 00:12:16,467 我们能看见与跟文字相联的立方体, 289 00:12:16,467 --> 00:12:18,943 我们甚至可以获悉最细微的视觉化图像。 290 00:12:18,943 --> 00:12:23,583 在0和1的层面上需花费耗费数周的事情, 291 00:12:23,583 --> 00:12:27,340 在抽象视觉的层面上探究则会瞬间豁然开朗, 292 00:12:27,340 --> 00:12:28,472 我们按照这个思路继续前进, 293 00:12:28,472 --> 00:12:30,488 纳入越来越多的信息, 294 00:12:30,488 --> 00:12:41,557 我们发现,仅仅利用大脑固有的样式分析的能力, 我们有能力在几秒钟内处理无数的0和1。 295 00:12:41,557 --> 00:12:43,844 所以这种方式真的很棒,很有用, 296 00:12:43,844 --> 00:12:46,203 这一切都告诉了我我要寻找的是什么。 297 00:12:46,203 --> 00:12:47,687 至此,根据视觉化图案, 298 00:12:47,687 --> 00:12:50,096 我可以找到手机上的代码。 299 00:12:50,096 --> 00:12:52,761 但那还不足以引爆电池。 300 00:12:52,761 --> 00:12:55,759 我需要做的下一件事就是寻找控制电池的代码, 301 00:12:55,759 --> 00:12:57,821 但我们又遇到了大海捞针的困难。 302 00:12:57,821 --> 00:13:02,470 这段代码跟手机系统上其他所有代码都极为相似。 303 00:13:02,470 --> 00:13:04,849 我也许找不到控制电池的代码, 304 00:13:04,849 --> 00:13:06,860 但有很多段代码跟它极其相似。 305 00:13:06,860 --> 00:13:08,714 有控制手机屏幕的代码, 306 00:13:08,714 --> 00:13:10,930 有控制按钮的,有控制耳机的, 307 00:13:10,930 --> 00:13:12,858 因此,即使我发现不了控制电池的代码, 308 00:13:12,858 --> 00:13:15,103 但我肯定能发现这么多相似代码中的一个。 309 00:13:15,103 --> 00:13:17,808 二进制分析的下一步就是 310 00:13:17,808 --> 00:13:21,059 研究这些极为相似的信息, 311 00:13:21,059 --> 00:13:25,040 在二进制的层面分析真的很难, 312 00:13:25,040 --> 00:13:28,683 但如果我们将这些相似的信息转化为抽象视觉化图像, 313 00:13:28,683 --> 00:13:31,121 我甚至不需要筛选原始的数据。 314 00:13:31,121 --> 00:13:33,276 我所要做的只是等待图像显示, 315 00:13:33,276 --> 00:13:35,512 来决定我要看哪一段信息。 316 00:13:35,512 --> 00:13:38,540 我追随这些像极了面包屑的信息图线, 317 00:13:38,540 --> 00:13:41,646 来获取我要寻找的信息。 318 00:13:41,646 --> 00:13:46,340 至此,我已发现了控制电池的代码, 319 00:13:46,340 --> 00:13:48,959 但那还不足以引爆手机。 320 00:13:48,959 --> 00:13:50,523 这个难题的最后一步, 321 00:13:50,523 --> 00:13:54,422 是理解那段代码控制电池的方式。 322 00:13:54,422 --> 00:13:56,222 为解决这个问题, 323 00:13:56,222 --> 00:14:00,618 我需要在二进制数据里辨识信息之间极其细微的关系, 324 00:14:00,618 --> 00:14:04,612 在0和1的层面上,又是一个难题, 325 00:14:04,612 --> 00:14:08,250 但如果将其转化为图像信息, 326 00:14:08,250 --> 00:14:11,256 我们就可以袖手旁观,地让视觉皮质处理这些难题, 327 00:14:11,256 --> 00:14:12,990 它能发现所有具体的图像, 328 00:14:12,990 --> 00:14:15,010 对我们来说所有重要的片段。 329 00:14:15,010 --> 00:14:17,603 它能发现这些代码是如何 330 00:14:17,603 --> 00:14:20,537 一起运作来控制电池。 331 00:14:20,537 --> 00:14:23,541 这一切在数小时之内就可完成, 332 00:14:23,541 --> 00:14:24,897 而相同的程序 333 00:14:24,897 --> 00:14:27,819 在过去要花好几个月。 334 00:14:27,819 --> 00:14:31,930 这就是理论上引爆恐怖分子手机的思路与方法, 335 00:14:31,930 --> 00:14:37,447 我想弄清楚在日常工作中这种方法是否有效, 336 00:14:37,447 --> 00:14:40,481 于是我运用相同的理念, 337 00:14:40,481 --> 00:14:43,505 来处理我们过去研究过的数据, 338 00:14:43,505 --> 00:14:49,395 而且,我依旧试图从海量的二进制信息中 339 00:14:49,395 --> 00:14:52,059 寻找极其细微的特定的代码。 340 00:14:52,059 --> 00:14:53,573 在这个层面分析时, 341 00:14:53,573 --> 00:14:55,523 我认为我找准了正确的信息, 342 00:14:55,523 --> 00:14:59,594 但结果没达到我的预期, 343 00:14:59,594 --> 00:15:01,489 它与我要寻找的代码直接没有联系。 344 00:15:01,489 --> 00:15:04,092 事实上,我并不确定这到底是什么, 345 00:15:04,092 --> 00:15:05,104 但当我退后一个层次, 346 00:15:05,104 --> 00:15:08,099 寻找这段代码中的相似之处, 347 00:15:08,099 --> 00:15:10,604 却并没有我所熟知的相似之处, 348 00:15:10,604 --> 00:15:12,829 我看到的甚至不是代码。 349 00:15:12,829 --> 00:15:15,215 事实上,从这个角度来看, 350 00:15:15,215 --> 00:15:17,263 我可以说,这不是代码。 351 00:15:17,263 --> 00:15:19,311 这是某种图像。 352 00:15:19,311 --> 00:15:20,993 从这个角度,我能看到, 353 00:15:20,993 --> 00:15:23,904 它不仅仅是一个图像,而是一张照片。 354 00:15:23,904 --> 00:15:25,296 现在我确认这是一张照片了, 355 00:15:25,296 --> 00:15:28,226 我有许多其他的二进制转化工具, 356 00:15:28,226 --> 00:15:30,647 来将其视觉化,以理解其含义, 357 00:15:30,647 --> 00:15:33,190 因此,在几秒钟内, 358 00:15:33,190 --> 00:15:35,587 我们就可以利用视觉化工具处理这些信息, 359 00:15:35,587 --> 00:15:39,318 来找出我们寻找的东西。 360 00:15:39,318 --> 00:15:41,000 我看见了——(笑声)—— 361 00:15:41,000 --> 00:15:44,456 又是那只可恶的猫。 362 00:15:44,456 --> 00:15:47,026 我们找到了一个将难题转化为 363 00:15:47,026 --> 00:15:49,773 一个对大脑而言再自然不过的问题, 364 00:15:49,773 --> 00:15:52,196 正是这个方法让这一切变得可能。 365 00:15:52,196 --> 00:15:53,780 那么这意味着什么呢? 366 00:15:53,780 --> 00:15:55,325 对小猫来说, 367 00:15:55,325 --> 00:15:57,742 藏身于1和0中的游戏不复存在。 368 00:15:57,742 --> 00:16:01,045 而对我来说,这意味着再没有一无所获的周末了。 369 00:16:01,045 --> 00:16:03,657 对网络,这意味着我们有了一个全新方法 370 00:16:03,657 --> 00:16:06,622 来解决看似根本解决不了的问题。 371 00:16:06,622 --> 00:16:10,874 这意味着在日新月异的网络战争里, 我们扛起了新的武器, 372 00:16:10,874 --> 00:16:12,270 但对我们所有人来说, 373 00:16:12,270 --> 00:16:14,775 这意味着网络工程师 374 00:16:14,775 --> 00:16:18,746 能在紧急情况下最先挺身而出, 375 00:16:18,746 --> 00:16:19,867 只需短短几秒, 376 00:16:19,867 --> 00:16:22,930 敌人就被我们制服。 377 00:16:22,930 --> 00:16:24,930 (谢谢) 378 00:16:24,930 --> 00:16:27,892 (掌声)