WEBVTT 00:00:00.770 --> 00:00:03.032 这儿有许多1和许多0。 00:00:03.032 --> 00:00:06.131 这就是我们所说的二进制信息。 00:00:06.131 --> 00:00:07.573 这是计算机所使用的语言。 00:00:07.573 --> 00:00:09.502 这是计算机存储信息的方式。 00:00:09.502 --> 00:00:11.128 这是计算机的思考方式, 00:00:11.128 --> 00:00:15.127 计算机通过这些0和1来做所有它们能做的事情。 00:00:15.127 --> 00:00:17.176 我是一名网络安全的研究人员, 00:00:17.176 --> 00:00:19.246 这意味着,我的工作就是坐下跟这种信息打交道, 00:00:19.246 --> 00:00:20.930 试着让这些0和1变得有意义, 00:00:20.930 --> 00:00:23.683 试着去理解这些0和1的意思。 00:00:23.683 --> 00:00:25.526 对我来说,不幸的是,我们并不只是说 00:00:25.526 --> 00:00:27.760 屏幕上的这些0和1。 00:00:27.760 --> 00:00:30.443 我们并不是说几页的0和1。 00:00:30.443 --> 00:00:34.382 我们会讨论多达数十亿的0和1, 00:00:34.385 --> 00:00:37.026 多到任何人都无法理解的程度。 NOTE Paragraph 00:00:37.026 --> 00:00:38.885 现在,就像听起来得这么令人兴奋, 00:00:38.885 --> 00:00:40.847 当我开始做网络的工作时—— 00:00:40.847 --> 00:00:43.120 (笑声)—— 00:00:43.120 --> 00:00:45.123 当我开始做网络的时候, 00:00:45.123 --> 00:00:48.866 我不确定探索0和1是我余生想做的事, 00:00:48.866 --> 00:00:50.070 因为在我的脑海里, 00:00:50.070 --> 00:00:54.591 “信息技术”就是不让病毒感染我奶奶的电脑, 00:00:54.591 --> 00:00:57.939 让"My Space"(聚友,社交网站)主页不被入侵, 00:00:57.939 --> 00:01:00.124 也许,也许在我最光荣的那一天, 00:01:00.124 --> 00:01:03.875 防止人们的信用卡信息遭到窃取, 00:01:03.875 --> 00:01:05.238 那些确实是重要的事情, 00:01:05.238 --> 00:01:08.306 但那并不是我打算尽我一生来做的事情。 NOTE Paragraph 00:01:08.306 --> 00:01:11.300 但是作为一个网络防卫服务者,工作了30分钟后, 00:01:11.300 --> 00:01:15.953 我就发现我对于网络的看法有失偏颇。 00:01:15.953 --> 00:01:17.887 事实上,在国家安全的意义上说, 00:01:17.887 --> 00:01:23.158 使我奶奶的电脑远离病毒的工作优先级是非常低的。 00:01:23.158 --> 00:01:28.245 网络的意义远远大于任何像这样的事情。 00:01:28.245 --> 00:01:31.063 网络遍布于生活的每个角落, 00:01:31.063 --> 00:01:34.123 因为电脑融入了生活的方方面面, 00:01:34.123 --> 00:01:36.075 即使你没有电脑。 00:01:36.075 --> 00:01:38.721 计算机控制着你车里所有的东西, 00:01:38.721 --> 00:01:40.601 从你的GPS到你的安全气囊。 00:01:40.601 --> 00:01:41.917 它们控制你的手机。 00:01:41.917 --> 00:01:44.898 正因为有它们,你才能拨打911和其它人连线。 00:01:44.898 --> 00:01:47.678 它们控制着我们国家的全部基础设施。 00:01:47.678 --> 00:01:51.694 是它们让你能用电,暖气,清洁的水,食物。 00:01:51.694 --> 00:01:53.593 计算机也控制着我们的军事设备, 00:01:53.593 --> 00:01:55.270 从导弹筒仓到卫星, 00:01:55.270 --> 00:01:57.944 到核防御网络。 00:01:59.184 --> 00:02:02.593 这些东西都因为电脑的存在而变得可能。 00:02:02.593 --> 00:02:04.572 因此,因为网络的存在, 00:02:04.572 --> 00:02:06.076 当某些事情出故障时, 00:02:06.076 --> 00:02:09.194 网络会让所有的这些故障不复存在。 NOTE Paragraph 00:02:09.194 --> 00:02:10.779 这恰恰是我所踏入的领域。 00:02:10.779 --> 00:02:13.719 我工作中很重要的一部分就是保护这些东西, 00:02:13.719 --> 00:02:15.381 让它们正常工作。 00:02:15.381 --> 00:02:18.119 但某些时候,破坏这些东西也是我工作的一部分。 00:02:18.119 --> 00:02:20.575 因为网络并不仅仅是防御, 00:02:20.575 --> 00:02:22.378 网络也意味着进攻。 00:02:22.378 --> 00:02:23.954 我们正在进入我们所说的 00:02:23.954 --> 00:02:25.415 网络武器时代。 00:02:25.415 --> 00:02:28.550 实际上,网络进攻的潜力是如此巨大, 00:02:28.550 --> 00:02:32.171 以至于网络被认为是一个新的战场。 00:02:32.171 --> 00:02:33.971 战场。 00:02:33.971 --> 00:02:35.900 这不一定是坏事。 00:02:35.900 --> 00:02:40.391 一方面,这意味着,我们要在一个全新的领域保护自己, 00:02:40.391 --> 00:02:41.879 但另一方面, 00:02:41.879 --> 00:02:43.721 这意味着,我们有新的途径去进攻, 00:02:43.721 --> 00:02:47.830 去阻止恶人作恶。 NOTE Paragraph 00:02:47.830 --> 00:02:51.318 那么,我来举一个完全假想的例子。 00:02:51.318 --> 00:02:53.565 假定一名恐怖分子想炸毁一栋建筑, 00:02:53.565 --> 00:02:57.373 而且他还想在将来反复地进行这样的恐怖袭击。 00:02:57.373 --> 00:02:59.924 因此,他可不想在那个建筑爆炸时还呆里面。 00:02:59.924 --> 00:03:01.442 他打算用一个手机来 00:03:01.442 --> 00:03:03.777 做远程导火线。 00:03:03.777 --> 00:03:10.034 在过去,阻止这名恐怖分子的唯一办法是枪战和飙车。 00:03:10.034 --> 00:03:12.289 但如今再也不必这样了。 00:03:12.289 --> 00:03:13.492 我们正在进入一个新时代, 00:03:13.492 --> 00:03:17.002 1000英里以外的一个按钮就能阻止他。 00:03:17.002 --> 00:03:18.558 因为无论他知道与否, 00:03:18.558 --> 00:03:20.269 只要他决定用他的手机, 00:03:20.269 --> 00:03:23.403 他就已踏入了网络控制区。 00:03:23.403 --> 00:03:26.520 一个精心策划的网络袭击可以侵入他的手机, 00:03:26.520 --> 00:03:28.669 破坏他的电池的过压保护, 00:03:28.669 --> 00:03:30.424 让电路超负荷, 00:03:30.424 --> 00:03:32.781 从而引起电池过热而爆炸。 00:03:32.781 --> 00:03:35.227 没有了手机,也就没有了导火线, 00:03:35.227 --> 00:03:37.150 也许再也不会有恐怖分子, 00:03:37.150 --> 00:03:40.871 这一切都来自于1000英里外的一下按钮。 NOTE Paragraph 00:03:40.871 --> 00:03:42.612 那么这到底是怎么做到的呢? 00:03:42.612 --> 00:03:44.880 一切又回到了那些0和1上。 00:03:44.880 --> 00:03:47.885 二进制信息让你的手机工作, 00:03:47.885 --> 00:03:51.469 如果正确操纵,它可以引爆你的手机。 00:03:51.469 --> 00:03:53.941 所以,当你开始从这个角度看信息技术时, 00:03:53.941 --> 00:03:59.584 穷尽一生跟二进制信息打交道就开始变得让人兴奋了。 NOTE Paragraph 00:03:59.584 --> 00:04:02.167 但问题在于:这个很难。 00:04:02.167 --> 00:04:04.202 真的非常非常难。 00:04:04.202 --> 00:04:05.686 原因在这。 00:04:05.686 --> 00:04:08.452 想想你手机上的所有东西。 00:04:08.452 --> 00:04:10.415 有你拍的照片, 00:04:10.415 --> 00:04:12.201 你听的歌, 00:04:12.201 --> 00:04:13.849 你的联系人列表, 00:04:13.849 --> 00:04:14.744 你的邮件, 00:04:14.744 --> 00:04:18.705 还有500个你这辈子大概都不会用的应用软件, 00:04:18.705 --> 00:04:21.682 所有这些的背后都是软件, 00:04:21.682 --> 00:04:23.842 控制你手机的代码。 00:04:23.842 --> 00:04:29.058 隐藏在这茫茫代码中的某小一段代码控制着电池, 00:04:29.058 --> 00:04:30.917 这就是我真正关心的。 00:04:30.917 --> 00:04:34.603 但所有的这些,都只是一长串0和1, 00:04:34.603 --> 00:04:36.134 而且所有的都混在一起。 00:04:36.134 --> 00:04:39.679 我们称之为网络领域的“海里捞针", 00:04:39.679 --> 00:04:42.028 因为任何信息看上去都很像。 00:04:42.028 --> 00:04:43.760 我在找一个关键的部分, 00:04:43.760 --> 00:04:46.994 但它和所有其他的东西混在一起。 NOTE Paragraph 00:04:46.994 --> 00:04:51.616 因此,我们把注意力从这个假象的 引爆恐怖分子的手机的情景中转移开, 00:04:51.616 --> 00:04:54.406 看看真正发生在我身上的事情。 00:04:54.406 --> 00:04:55.749 差不多不管我做什么, 00:04:55.749 --> 00:04:59.561 往往一坐下来就着手处理一整串二进制信息, 00:04:59.563 --> 00:05:01.290 并且,我总是在找一个关键的片段 00:05:01.290 --> 00:05:03.277 来做点特别的事情。 00:05:03.277 --> 00:05:05.354 在这个案例中,我在寻找一个段非常先进的, 00:05:05.354 --> 00:05:06.872 蕴含高科技的代码, 00:05:06.872 --> 00:05:08.087 我知道我能侵入这段代码, 00:05:08.087 --> 00:05:11.817 但这个片段埋藏在十亿个0和1中的某个地方。 00:05:11.817 --> 00:05:15.105 对我来说,不幸的是,我不知道我要找的到底是什么。 00:05:15.105 --> 00:05:16.777 我并不完全知道这段代码看上到底会是什么样子, 00:05:16.777 --> 00:05:19.210 这使寻找它的工作变得非常非常难。 00:05:19.210 --> 00:05:21.249 当我必须做这件事情的时候,我需要做的 00:05:21.249 --> 00:05:25.341 基本上就是读取大量二进制片段, 00:05:25.341 --> 00:05:28.746 努力解码每一段,看看有没有可能找到我想找的那一段。 00:05:28.746 --> 00:05:31.715 这样,一段时间过后, 我以为我找到了我要找的那段代码。 00:05:31.715 --> 00:05:33.806 我以为,这大概是吧我要找的吧。 00:05:33.806 --> 00:05:35.838 它看上去像是对的,但我还不能断定。 00:05:35.838 --> 00:05:38.756 我还不知道这些0和1到底表示什么。 00:05:38.756 --> 00:05:42.130 我花了点时间试着一起考虑它们, 00:05:42.130 --> 00:05:43.800 但没有那么走运。 00:05:43.800 --> 00:05:44.986 最终我决定了, 00:05:44.986 --> 00:05:46.595 我一定要去征服它, 00:05:46.595 --> 00:05:48.106 我要花掉一个周末的时间, 00:05:48.106 --> 00:05:51.156 直到弄清它的含义前我不会离开。 00:05:51.158 --> 00:05:53.324 这就是我所做的,我在一个星期六早上开始我的工作, 00:05:53.324 --> 00:05:56.969 花了大概10个小时,我获得了这个难题的全部片段。 00:05:56.969 --> 00:05:58.361 但我还是不知道它们怎么能相互联系, 00:05:58.361 --> 00:06:01.151 也不清楚这些0和1的意义。 00:06:01.151 --> 00:06:03.218 在第15十五个小时的时候, 00:06:03.218 --> 00:06:05.820 我的头绪开始变得清晰起来, 00:06:05.820 --> 00:06:07.592 但还是心存疑虑, 00:06:07.592 --> 00:06:12.121 怀疑我看到的跟我想找的没任何联系。 00:06:12.121 --> 00:06:14.591 到第20个小时,这些零碎的部分开始汇集, 00:06:14.591 --> 00:06:18.355 非常缓慢 ——(笑声)—— 00:06:18.355 --> 00:06:21.581 事已至此,我非常肯定我在一条错误的道路上前进。 00:06:21.581 --> 00:06:23.811 但是不会放弃。 00:06:23.811 --> 00:06:26.645 在实验室的30个小时以后, 00:06:26.645 --> 00:06:28.906 我真正搞清了我在看的是什么, 00:06:28.906 --> 00:06:31.724 我的猜测是正确的,这并不是我想找的。 00:06:31.724 --> 00:06:34.543 我花了30个小时把这些0和1整合到一起, 00:06:34.543 --> 00:06:36.145 组成了一个小猫的图像。 00:06:36.145 --> 00:06:37.940 (笑声) 00:06:37.940 --> 00:06:40.876 在实验室浪费了30个小时光阴, 00:06:40.876 --> 00:06:43.584 搜寻了一只没任何用处的小猫, 00:06:43.584 --> 00:06:46.181 这跟我想实现的成就完全不相及。 NOTE Paragraph 00:06:46.181 --> 00:06:49.434 我十分沮丧,精疲力竭。 00:06:49.434 --> 00:06:52.660 在实验室呆了30个小时后, 我很可能都散发难闻的味道了, 00:06:52.660 --> 00:06:56.170 但是我并没有选择回家,回家就叫做放弃, 00:06:56.170 --> 00:06:59.960 我回过头,问我自己,到底出了什么错? 00:06:59.961 --> 00:07:02.173 为什么我会犯这么愚蠢的错误? 00:07:02.173 --> 00:07:03.571 我在这方面是做得相当好的。 00:07:03.571 --> 00:07:04.890 我以此谋生。 00:07:04.890 --> 00:07:07.038 那么到底发生了什么? 00:07:07.038 --> 00:07:09.813 我想,当你在这个层次上解码信息时, 00:07:09.813 --> 00:07:12.640 很容易偏离正轨。 00:07:12.640 --> 00:07:14.814 很容易只见树木不见森林。 00:07:14.814 --> 00:07:16.548 很容易走到错误的兔子洞里, 00:07:16.548 --> 00:07:20.170 在错误的事情上浪费大量的时间。 00:07:20.170 --> 00:07:21.730 但我顿悟了。 00:07:21.730 --> 00:07:26.229 我们从一开始就以完全错误的方式来处理这些数据。 00:07:26.229 --> 00:07:28.322 这是电脑的思考方式,0 和1。 00:07:28.322 --> 00:07:29.714 这不是人类思考的方式。 00:07:29.714 --> 00:07:33.568 但我们一直试图让我们的脑子以计算机的方式思考, 00:07:33.568 --> 00:07:35.970 以理解这些信息。 00:07:35.970 --> 00:07:37.920 不是让我们的思维适应问题, 00:07:37.920 --> 00:07:40.568 我们应该让问题适应我们的思维。 00:07:40.568 --> 00:07:42.646 因为我们的大脑有巨大的潜力 00:07:42.646 --> 00:07:45.732 来分析大量的信息, 00:07:45.732 --> 00:07:47.029 而不是像这样。 00:07:47.029 --> 00:07:50.346 那么,如果我们把问题转化为正确形式的信息, 00:07:50.346 --> 00:07:52.843 来激发大脑的潜力,将会怎样? 00:07:52.843 --> 00:07:54.065 带着这个想法, 00:07:54.065 --> 00:07:55.683 我从我工作的地下实验室冲出来, 00:07:55.683 --> 00:07:56.990 到了我家里的地下实验室, 00:07:56.990 --> 00:07:58.986 这两处看起来差不多。 00:07:58.986 --> 00:08:00.810 主要的不同是,在工作的地方, 00:08:00.810 --> 00:08:02.389 我被网络包围了, 00:08:02.389 --> 00:08:04.994 在这种情况下,网络本身似乎就是个问题。 00:08:04.994 --> 00:08:08.347 在家里,包围我的一切都是我熟知的。 00:08:08.347 --> 00:08:10.219 所以,我倾倒出所有我能找到的书, 00:08:10.219 --> 00:08:11.551 所有的想法也从脑海里倾倒而出, 00:08:11.551 --> 00:08:16.847 看看如何把问题从一个形式 转换成完全不同的形式。 NOTE Paragraph 00:08:16.847 --> 00:08:18.223 最大的问题是, 00:08:18.223 --> 00:08:20.191 我们想把它们转化成什么? 00:08:20.191 --> 00:08:22.303 大脑通常情况下做什么做得最完美? 00:08:22.303 --> 00:08:24.181 我们能够利用吗? 00:08:24.181 --> 00:08:26.470 我的答案是视觉。 00:08:26.470 --> 00:08:29.619 我们具有强大的图像信息分析能力。 00:08:29.619 --> 00:08:34.012 我们能够将颜色梯度、层次等各种各样的信号 00:08:34.012 --> 00:08:36.385 融合成一幅眼前世界的画卷。 00:08:36.385 --> 00:08:37.792 的确难以置信。 00:08:37.792 --> 00:08:39.173 如果我们能够找到一个方法 00:08:39.173 --> 00:08:41.359 来将这些二进制信息转化为视觉信号的形式, 00:08:41.359 --> 00:08:43.191 我们就真的能释放大脑的潜力, 00:08:43.191 --> 00:08:45.901 来处理这些信息。 00:08:45.901 --> 00:08:47.744 于是我开始看着二进制的信息, 00:08:47.744 --> 00:08:50.734 问自己,当我第一次遇到这样的信息,我会做什么? 00:08:50.734 --> 00:08:52.333 我想做的第一件事, 00:08:52.333 --> 00:08:53.692 我想回答的第一个问题, 00:08:53.692 --> 00:08:54.970 是它到底是什么? 00:08:54.970 --> 00:08:57.498 我不在乎它有什么作用,它如何发挥作用。 00:08:57.498 --> 00:08:59.977 我想知道的就是,它是什么? 00:08:59.977 --> 00:09:01.652 为搞清这个问题, 00:09:01.652 --> 00:09:03.335 我把目光投向于数据块, 00:09:03.335 --> 00:09:05.788 整串二进制数据块, 00:09:05.788 --> 00:09:08.690 并且注意观察这些数据块之间的关系。 00:09:08.690 --> 00:09:10.462 当我汇集到足够多的序列时, 00:09:10.462 --> 00:09:15.106 我想我确切地明白了这些信息是什么。 00:09:15.106 --> 00:09:16.284 让我们回到 00:09:16.284 --> 00:09:18.374 那个爆破恐怖分子手机的情景。 00:09:18.374 --> 00:09:21.907 这是二进制层面上英文字母的样子。 00:09:21.907 --> 00:09:25.806 在我检测时,你的联系人信息会呈现为这般模样。 00:09:25.806 --> 00:09:28.010 在这个层次上很难进行分析, 00:09:28.010 --> 00:09:30.932 但如果将我正在研究的二进制数据块提取出来, 00:09:30.932 --> 00:09:35.074 进行转化,并以视觉形式呈现出来, 00:09:35.074 --> 00:09:36.777 将它们转化, 00:09:36.777 --> 00:09:38.333 这是我们得到的结果。 00:09:38.333 --> 00:09:42.927 这是从抽象视觉角度来看的英文文字。 00:09:42.927 --> 00:09:44.058 就在这一瞬间, 00:09:44.058 --> 00:09:46.323 信息以截然不同的形式展现出来, 00:09:46.323 --> 00:09:48.995 新形式的信息跟那些0和1完全一样, 00:09:48.995 --> 00:09:50.703 以一种我们立即可以理解的方式呈现出来。 00:09:50.703 --> 00:09:53.668 我们立即就能看到所有的图案式样, 00:09:53.668 --> 00:09:56.260 只需花费几秒钟就能获取这些图案式样, 00:09:56.260 --> 00:09:58.274 但若是从0和1中挖掘出这些信息, 00:09:58.274 --> 00:09:59.834 需要花费数小时,甚至数天。 00:09:59.834 --> 00:10:01.570 任何人只需学习几分钟, 00:10:01.570 --> 00:10:03.235 就可以知道这些图案式样的含义。 00:10:03.235 --> 00:10:08.722 但若从0和1中理解其含义需具备数年的网络技术经验。 00:10:08.722 --> 00:10:12.414 这一个片段代表联系人名单中 00:10:12.414 --> 00:10:14.175 小写字母挨着小写字母。 00:10:14.175 --> 00:10:15.516 这是大写字母跟着大写字母, 00:10:15.516 --> 00:10:18.201 大写字母跟着小写字母,小写字母跟着大写字母。 00:10:18.201 --> 00:10:20.887 这是空格,这是回车。 00:10:20.887 --> 00:10:25.385 我们可以在几秒钟里浏览二进制信息的各个细节。 00:10:25.385 --> 00:10:28.895 而不是在这个层面上停留数周,甚至数月。 00:10:28.895 --> 00:10:32.287 这是你手机上一个图像看起来的样子, 00:10:32.287 --> 00:10:35.206 但这是抽象化的视觉图案。 00:10:35.206 --> 00:10:37.172 这是你的音乐的样子, 00:10:37.172 --> 00:10:39.375 抽象的视觉化图案。 00:10:39.375 --> 00:10:41.135 对我来说最重要的是, 00:10:41.135 --> 00:10:44.410 这是你手机代码的样子, 00:10:44.410 --> 00:10:46.567 正是我最终想找到的, 00:10:46.567 --> 00:10:48.707 这是代码的抽象视觉化图案。 00:10:48.707 --> 00:10:51.216 即便能发现它,我还不能引爆你的手机。 00:10:51.216 --> 00:10:55.035 在0和1中摸索,需要花费数周时间, 00:10:55.035 --> 00:11:00.126 但从这样的抽象图案中获取有用信息只需几秒钟。 NOTE Paragraph 00:11:00.126 --> 00:11:02.592 这一切的一切,最不可思议的地方之一在于 00:11:02.592 --> 00:11:05.424 这种思路赋予了我们一种全新的方式, 00:11:05.424 --> 00:11:08.663 来理解我们从未看到过的信息和物质。 00:11:08.663 --> 00:11:11.167 我知道在二进制层面的英文的样子, 00:11:11.167 --> 00:11:13.277 我也知道其抽象视觉化图案的样子, 00:11:13.277 --> 00:11:16.592 但我从来没见过俄文的二进制信息。 00:11:16.592 --> 00:11:19.272 如果单纯地在0和1的层面来分析, 00:11:19.272 --> 00:11:21.389 需要花费我数周的时间来摸索, 00:11:21.389 --> 00:11:24.060 但由于我们的大脑可以在瞬间抓取并识别出 00:11:24.060 --> 00:11:27.447 这些抽象视觉化信息中的细微图案。 00:11:27.447 --> 00:11:30.817 我们就会下意识地在新的环境中应用。 00:11:30.817 --> 00:11:33.922 这就是俄文经过视觉抽象化处理后的样子。 00:11:33.922 --> 00:11:35.716 因为我了解了一个语言的样子, 00:11:35.716 --> 00:11:37.292 我就能够识别出其他语言, 00:11:37.292 --> 00:11:39.162 即使我对它们不熟悉。 00:11:39.162 --> 00:11:40.948 这是照片的样子, 00:11:40.948 --> 00:11:42.835 但这是剪贴画的样子。 00:11:42.835 --> 00:11:45.390 这是你手机代码的样子, 00:11:45.390 --> 00:11:48.097 但这是你电脑代码的样子。 00:11:48.097 --> 00:11:49.961 我们大脑读取这些图案的方式, 00:11:49.961 --> 00:11:54.412 跟读取0和1的方式是截然不同的。 00:11:54.412 --> 00:11:56.264 但以这种方式来解决问题, 00:11:56.264 --> 00:11:58.401 事实上目前我们掌握的只是冰山一角。 00:11:58.401 --> 00:12:03.399 我们才刚开始激发大脑处理视觉信息的能力。 00:12:03.399 --> 00:12:05.384 如果我们运用同样的理念, 00:12:05.384 --> 00:12:07.035 并将其转化为三维信息, 00:12:07.035 --> 00:12:10.230 我们就会发现解读信息的全新的方式。 00:12:10.230 --> 00:12:12.715 在几秒钟里,我们就能获悉每一个图案。 00:12:12.715 --> 00:12:14.535 我们能看见与代码相联的十字交叉, 00:12:14.535 --> 00:12:16.467 我们能看见与跟文字相联的立方体, 00:12:16.467 --> 00:12:18.943 我们甚至可以获悉最细微的视觉化图像。 00:12:18.943 --> 00:12:23.583 在0和1的层面上需花费耗费数周的事情, 00:12:23.583 --> 00:12:27.340 在抽象视觉的层面上探究则会瞬间豁然开朗, 00:12:27.340 --> 00:12:28.472 我们按照这个思路继续前进, 00:12:28.472 --> 00:12:30.488 纳入越来越多的信息, 00:12:30.488 --> 00:12:41.557 我们发现,仅仅利用大脑固有的样式分析的能力, 我们有能力在几秒钟内处理无数的0和1。 NOTE Paragraph 00:12:41.557 --> 00:12:43.844 所以这种方式真的很棒,很有用, 00:12:43.844 --> 00:12:46.203 这一切都告诉了我我要寻找的是什么。 00:12:46.203 --> 00:12:47.687 至此,根据视觉化图案, 00:12:47.687 --> 00:12:50.096 我可以找到手机上的代码。 00:12:50.096 --> 00:12:52.761 但那还不足以引爆电池。 00:12:52.761 --> 00:12:55.759 我需要做的下一件事就是寻找控制电池的代码, 00:12:55.759 --> 00:12:57.821 但我们又遇到了大海捞针的困难。 00:12:57.821 --> 00:13:02.470 这段代码跟手机系统上其他所有代码都极为相似。 NOTE Paragraph 00:13:02.470 --> 00:13:04.849 我也许找不到控制电池的代码, 00:13:04.849 --> 00:13:06.860 但有很多段代码跟它极其相似。 00:13:06.860 --> 00:13:08.714 有控制手机屏幕的代码, 00:13:08.714 --> 00:13:10.930 有控制按钮的,有控制耳机的, 00:13:10.930 --> 00:13:12.858 因此,即使我发现不了控制电池的代码, 00:13:12.858 --> 00:13:15.103 但我肯定能发现这么多相似代码中的一个。 00:13:15.103 --> 00:13:17.808 二进制分析的下一步就是 00:13:17.808 --> 00:13:21.059 研究这些极为相似的信息, 00:13:21.059 --> 00:13:25.040 在二进制的层面分析真的很难, 00:13:25.040 --> 00:13:28.683 但如果我们将这些相似的信息转化为抽象视觉化图像, 00:13:28.683 --> 00:13:31.121 我甚至不需要筛选原始的数据。 00:13:31.121 --> 00:13:33.276 我所要做的只是等待图像显示, 00:13:33.276 --> 00:13:35.512 来决定我要看哪一段信息。 00:13:35.512 --> 00:13:38.540 我追随这些像极了面包屑的信息图线, 00:13:38.540 --> 00:13:41.646 来获取我要寻找的信息。 NOTE Paragraph 00:13:41.646 --> 00:13:46.340 至此,我已发现了控制电池的代码, 00:13:46.340 --> 00:13:48.959 但那还不足以引爆手机。 00:13:48.959 --> 00:13:50.523 这个难题的最后一步, 00:13:50.523 --> 00:13:54.422 是理解那段代码控制电池的方式。 00:13:54.422 --> 00:13:56.222 为解决这个问题, 00:13:56.222 --> 00:14:00.618 我需要在二进制数据里辨识信息之间极其细微的关系, 00:14:00.618 --> 00:14:04.612 在0和1的层面上,又是一个难题, 00:14:04.612 --> 00:14:08.250 但如果将其转化为图像信息, 00:14:08.250 --> 00:14:11.256 我们就可以袖手旁观,地让视觉皮质处理这些难题, 00:14:11.256 --> 00:14:12.990 它能发现所有具体的图像, 00:14:12.990 --> 00:14:15.010 对我们来说所有重要的片段。 00:14:15.010 --> 00:14:17.603 它能发现这些代码是如何 00:14:17.603 --> 00:14:20.537 一起运作来控制电池。 00:14:20.537 --> 00:14:23.541 这一切在数小时之内就可完成, 00:14:23.541 --> 00:14:24.897 而相同的程序 00:14:24.897 --> 00:14:27.819 在过去要花好几个月。 NOTE Paragraph 00:14:27.819 --> 00:14:31.930 这就是理论上引爆恐怖分子手机的思路与方法, 00:14:31.930 --> 00:14:37.447 我想弄清楚在日常工作中这种方法是否有效, 00:14:37.447 --> 00:14:40.481 于是我运用相同的理念, 00:14:40.481 --> 00:14:43.505 来处理我们过去研究过的数据, 00:14:43.505 --> 00:14:49.395 而且,我依旧试图从海量的二进制信息中 00:14:49.395 --> 00:14:52.059 寻找极其细微的特定的代码。 00:14:52.059 --> 00:14:53.573 在这个层面分析时, 00:14:53.573 --> 00:14:55.523 我认为我找准了正确的信息, 00:14:55.523 --> 00:14:59.594 但结果没达到我的预期, 00:14:59.594 --> 00:15:01.489 它与我要寻找的代码直接没有联系。 00:15:01.489 --> 00:15:04.092 事实上,我并不确定这到底是什么, 00:15:04.092 --> 00:15:05.104 但当我退后一个层次, 00:15:05.104 --> 00:15:08.099 寻找这段代码中的相似之处, 00:15:08.099 --> 00:15:10.604 却并没有我所熟知的相似之处, 00:15:10.604 --> 00:15:12.829 我看到的甚至不是代码。 00:15:12.829 --> 00:15:15.215 事实上,从这个角度来看, 00:15:15.215 --> 00:15:17.263 我可以说,这不是代码。 00:15:17.263 --> 00:15:19.311 这是某种图像。 00:15:19.311 --> 00:15:20.993 从这个角度,我能看到, 00:15:20.993 --> 00:15:23.904 它不仅仅是一个图像,而是一张照片。 00:15:23.904 --> 00:15:25.296 现在我确认这是一张照片了, 00:15:25.296 --> 00:15:28.226 我有许多其他的二进制转化工具, 00:15:28.226 --> 00:15:30.647 来将其视觉化,以理解其含义, 00:15:30.647 --> 00:15:33.190 因此,在几秒钟内, 00:15:33.190 --> 00:15:35.587 我们就可以利用视觉化工具处理这些信息, 00:15:35.587 --> 00:15:39.318 来找出我们寻找的东西。 00:15:39.318 --> 00:15:41.000 我看见了——(笑声)—— 00:15:41.000 --> 00:15:44.456 又是那只可恶的猫。 00:15:44.456 --> 00:15:47.026 我们找到了一个将难题转化为 00:15:47.026 --> 00:15:49.773 一个对大脑而言再自然不过的问题, 00:15:49.773 --> 00:15:52.196 正是这个方法让这一切变得可能。 NOTE Paragraph 00:15:52.196 --> 00:15:53.780 那么这意味着什么呢? 00:15:53.780 --> 00:15:55.325 对小猫来说, 00:15:55.325 --> 00:15:57.742 藏身于1和0中的游戏不复存在。 00:15:57.742 --> 00:16:01.045 而对我来说,这意味着再没有一无所获的周末了。 00:16:01.045 --> 00:16:03.657 对网络,这意味着我们有了一个全新方法 00:16:03.657 --> 00:16:06.622 来解决看似根本解决不了的问题。 00:16:06.622 --> 00:16:10.874 这意味着在日新月异的网络战争里, 我们扛起了新的武器, 00:16:10.874 --> 00:16:12.270 但对我们所有人来说, 00:16:12.270 --> 00:16:14.775 这意味着网络工程师 00:16:14.775 --> 00:16:18.746 能在紧急情况下最先挺身而出, 00:16:18.746 --> 00:16:19.867 只需短短几秒, 00:16:19.867 --> 00:16:22.930 敌人就被我们制服。 NOTE Paragraph 00:16:22.930 --> 00:16:24.930 (谢谢) NOTE Paragraph 00:16:24.930 --> 00:16:27.892 (掌声)