TED日本語 - クリス・ドーマス: サイバー戦争の背後にある 0 と 1

TED日本語

TED Talks(英語 日本語字幕付き動画)

TED日本語 - クリス・ドーマス: サイバー戦争の背後にある 0 と 1

TED Talks

サイバー戦争の背後にある 0 と 1
The 1s and 0s behind cyber warfare
クリス・ドーマス
Chris Domas

内容

クリス・ドーマスはサイバーセキュリティの研究者であり、「サイバー」という新たな戦線で活躍しています。本トークで彼は、目的や内容が未知のバイナリコードのまとまりを把握するために、研究者はどのようにパターン認識やリバースエンジニアリング(そして若干の徹夜)を活用できるかを紹介します。

Script

This is a lot of ones and zeros. It's what we call binary information. This is how computers talk. It's how they store information. It's how computers think. It's how computers do everything it is that computers do. I'm a cybersecurity researcher, which means my job is to sit down with this information and try to make sense of it, to try to understand what all the ones and zeroes mean. Unfortunately for me, we're not just talking about the ones and zeros I have on the screen here. We're not just talking about a few pages of ones and zeros. We're talking about billions and billions of ones and zeros, more than anyone could possibly comprehend.

Now, as exciting as that sounds, when I first started doing cyber -- (Laughter) -- when I first started doing cyber, I wasn't sure that sifting through ones and zeros was what I wanted to do with the rest of my life, because in my mind, cyber was keeping viruses off of my grandma's computer, it was keeping people's Myspace pages from being hacked, and maybe, maybe on my most glorious day, it was keeping someone's credit card information from being stolen. Those are important things, but that's not how I wanted to spend my life.

But after 30 minutes of work as a defense contractor, I soon found out that my idea of cyber was a little bit off. In fact, in terms of national security, keeping viruses off of my grandma's computer was surprisingly low on their priority list. And the reason for that is cyber is so much bigger than any one of those things. Cyber is an integral part of all of our lives, because computers are an integral part of all of our lives, even if you don't own a computer. Computers control everything in your car, from your GPS to your airbags. They control your phone. They're the reason you can call 911 and get someone on the other line. They control our nation's entire infrastructure. They're the reason you have electricity, heat, clean water, food. Computers control our military equipment, everything from missile silos to satellites to nuclear defense networks. All of these things are made possible because of computers, and therefore because of cyber, and when something goes wrong, cyber can make all of these things impossible.

But that's where I step in. A big part of my job is defending all of these things, keeping them working, but once in a while, part of my job is to break one of these things, because cyber isn't just about defense, it's also about offense. We're entering an age where we talk about cyberweapons. In fact, so great is the potential for cyber offense that cyber is considered a new domain of warfare. Warfare. It's not necessarily a bad thing. On the one hand, it means we have whole new front on which we need to defend ourselves, but on the other hand, it means we have a whole new way to attack, a whole new way to stop evil people from doing evil things.

So let's consider an example of this that's completely theoretical. Suppose a terrorist wants to blow up a building, and he wants to do this again and again in the future. So he doesn't want to be in that building when it explodes. He's going to use a cell phone as a remote detonator. Now, it used to be the only way we had to stop this terrorist was with a hail of bullets and a car chase, but that's not necessarily true anymore. We're entering an age where we can stop him with the press of a button from 1,000 miles away, because whether he knew it or not, as soon as he decided to use his cell phone, he stepped into the realm of cyber. A well-crafted cyber attack could break into his phone, disable the overvoltage protections on his battery, drastically overload the circuit, cause the battery to overheat, and explode. No more phone, no more detonator, maybe no more terrorist, all with the press of a button from a thousand miles away.

So how does this work? It all comes back to those ones and zeros. Binary information makes your phone work, and used correctly, it can make your phone explode. So when you start to look at cyber from this perspective, spending your life sifting through binary information starts to seem kind of exciting.

But here's the catch: This is hard, really, really hard, and here's why. Think about everything you have on your cell phone. You've got the pictures you've taken. You've got the music you listen to. You've got your contacts list, your email, and probably 500 apps you've never used in your entire life, and behind all of this is the software, the code, that controls your phone, and somewhere, buried inside of that code, is a tiny piece that controls your battery, and that's what I'm really after, but all of this, just a bunch of ones and zeros, and it's all just mixed together. In cyber, we call this finding a needle in a stack of needles, because everything pretty much looks alike. I'm looking for one key piece, but it just blends in with everything else.

So let's step back from this theoretical situation of making a terrorist's phone explode, and look at something that actually happened to me. Pretty much no matter what I do, my job always starts with sitting down with a whole bunch of binary information, and I'm always looking for one key piece to do something specific. In this case, I was looking for a very advanced, very high-tech piece of code that I knew I could hack, but it was somewhere buried inside of a billion ones and zeroes. Unfortunately for me, I didn't know quite what I was looking for. I didn't know quite what it would look like, which makes finding it really, really hard. When I have to do that, what I have to do is basically look at various pieces of this binary information, try to decipher each piece, and see if it might be what I'm after. So after a while, I thought I had found the piece I was looking for. I thought maybe this was it. It seemed to be about right, but I couldn't quite tell. I couldn't tell what those ones and zeros represented. So I spent some time trying to put this together, but wasn't having a whole lot of luck, and finally I decided, I'm going to get through this, I'm going to come in on a weekend, and I'm not going to leave until I figure out what this represents. So that's what I did. I came in on a Saturday morning, and about 10 hours in, I sort of had all the pieces to the puzzle. I just didn't know how they fit together. I didn't know what these ones and zeros meant. At the 15-hour mark, I started to get a better picture of what was there, but I had a creeping suspicion that what I was looking at was not at all related to what I was looking for. By 20 hours, the pieces started to come together very slowly -- (Laughter) -- and I was pretty sure I was going down the wrong path at this point, but I wasn't going to give up. After 30 hours in the lab, I figured out exactly what I was looking at, and I was right, it wasn't what I was looking for. I spent 30 hours piecing together the ones and zeros that formed a picture of a kitten. (Laughter) I wasted 30 hours of my life searching for this kitten that had nothing at all to do with what I was trying to accomplish.

So I was frustrated, I was exhausted. After 30 hours in the lab, I probably smelled horrible. But instead of just going home and calling it quits, I took a step back and asked myself, what went wrong here? How could I make such a stupid mistake? I'm really pretty good at this. I do this for a living. So what happened? Well I thought, when you're looking at information at this level, it's so easy to lose track of what you're doing. It's easy to not see the forest through the trees. It's easy to go down the wrong rabbit hole and waste a tremendous amount of time doing the wrong thing. But I had this epiphany. We were looking at the data completely incorrectly since day one. This is how computers think, ones and zeros. It's not how people think, but we've been trying to adapt our minds to think more like computers so that we can understand this information. Instead of trying to make our minds fit the problem, we should have been making the problem fit our minds, because our brains have a tremendous potential for analyzing huge amounts of information, just not like this. So what if we could unlock that potential just by translating this to the right kind of information? So with these ideas in mind, I sprinted out of my basement lab at work to my basement lab at home, which looked pretty much the same. The main difference is, at work, I'm surrounded by cyber materials, and cyber seemed to be the problem in this situation. At home, I'm surrounded by everything else I've ever learned. So I poured through every book I could find, every idea I'd ever encountered, to see how could we translate a problem from one domain to something completely different?

The biggest question was, what do we want to translate it to? What do our brains do perfectly naturally that we could exploit? My answer was vision. We have a tremendous capability to analyze visual information. We can combine color gradients, depth cues, all sorts of these different signals into one coherent picture of the world around us. That's incredible. So if we could find a way to translate these binary patterns to visual signals, we could really unlock the power of our brains to process this stuff. So I started looking at the binary information, and I asked myself, what do I do when I first encounter something like this? And the very first thing I want to do, the very first question I want to answer, is what is this? I don't care what it does, how it works. All I want to know is, what is this? And the way I can figure that out is by looking at chunks, sequential chunks of binary information, and I look at the relationships between those chunks. When I gather up enough of these sequences, I begin to get an idea of exactly what this information must be. So let's go back to that blow up the terrorist's phone situation. This is what English text looks like at a binary level. This is what your contacts list would look like if I were examining it. It's really hard to analyze this at this level, but if we take those same binary chunks that I would be trying to find, and instead translate that to a visual representation, translate those relationships, this is what we get. This is what English text looks like from a visual abstraction perspective. All of a sudden, it shows us all the same information that was in the ones and zeros, but show us it in an entirely different way, a way that we can immediately comprehend. We can instantly see all of the patterns here. It takes me seconds to pick out patterns here, but hours, days, to pick them out in ones and zeros. It takes minutes for anybody to learn what these patterns represent here, but years of experience in cyber to learn what those same patterns represent in ones and zeros. So this piece is caused by lower case letters followed by lower case letters inside of that contact list. This is upper case by upper case, upper case by lower case, lower case by upper case. This is caused by spaces. This is caused by carriage returns. We can go through every little detail of the binary information in seconds, as opposed to weeks, months, at this level. This is what an image looks like from your cell phone. But this is what it looks like in a visual abstraction. This is what your music looks like, but here's its visual abstraction. Most importantly for me, this is what the code on your cell phone looks like. This is what I'm after in the end, but this is its visual abstraction. If I can find this, I can't make the phone explode. I could spend weeks trying to find this in ones and zeros, but it takes me seconds to pick out a visual abstraction like this.

One of those most remarkable parts about all of this is it gives us an entirely new way to understand new information, stuff that we haven't seen before. So I know what English looks like at a binary level, and I know what its visual abstraction looks like, but I've never seen Russian binary in my entire life. It would take me weeks just to figure out what I was looking at from raw ones and zeros, but because our brains can instantly pick up and recognize these subtle patterns inside of these visual abstractions, we can unconsciously apply those in new situations. So this is what Russian looks like in a visual abstraction. Because I know what one language looks like, I can recognize other languages even when I'm not familiar with them. This is what a photograph looks like, but this is what clip art looks like. This is what the code on your phone looks like, but this is what the code on your computer looks like. Our brains can pick up on these patterns in ways that we never could have from looking at raw ones and zeros. But we've really only scratched the surface of what we can do with this approach. We've only begun to unlock the capabilities of our minds to process visual information. If we take those same concepts and translate them into three dimensions instead, we find entirely new ways of making sense of information. In seconds, we can pick out every pattern here. we can see the cross associated with code. We can see cubes associated with text. We can even pick up the tiniest visual artifacts. Things that would take us weeks, months to find in ones and zeroes, are immediately apparent in some sort of visual abstraction, and as we continue to go through this and throw more and more information at it, what we find is that we're capable of processing billions of ones and zeros in a matter of seconds just by using our brain's built-in ability to analyze patterns.

So this is really nice and helpful, but all this tells me is what I'm looking at. So at this point, based on visual patterns, I can find the code on the phone. But that's not enough to blow up a battery. The next thing I need to find is the code that controls the battery, but we're back to the needle in a stack of needles problem. That code looks pretty much like all the other code on that system.

So I might not be able to find the code that controls the battery, but there's a lot of things that are very similar to that. You have code that controls your screen, that controls your buttons, that controls your microphones, so even if I can't find the code for the battery, I bet I can find one of those things. So the next step in my binary analysis process is to look at pieces of information that are similar to each other. It's really, really hard to do at a binary level, but if we translate those similarities to a visual abstraction instead, I don't even have to sift through the raw data. All I have to do is wait for the image to light up to see when I'm at similar pieces. I follow these strands of similarity like a trail of bread crumbs to find exactly what I'm looking for.

So at this point in the process, I've located the code responsible for controlling your battery, but that's still not enough to blow up a phone. The last piece of the puzzle is understanding how that code controls your battery. For this, I need to identify very subtle, very detailed relationships within that binary information, another very hard thing to do when looking at ones and zeros. But if we translate that information into a physical representation, we can sit back and let our visual cortex do all the hard work. It can find all the detailed patterns, all the important pieces, for us. It can find out exactly how the pieces of that code work together to control that battery. All of this can be done in a matter of hours, whereas the same process would have taken months in the past.

This is all well and good in a theoretical blow up a terrorist's phone situation. I wanted to find out if this would really work in the work I do every day. So I was playing around with these same concepts with some of the data I've looked at in the past, and yet again, I was trying to find a very detailed, specific piece of code inside of a massive piece of binary information. So I looked at it at this level, thinking I was looking at the right thing, only to see this doesn't have the connectivity I would have expected for the code I was looking for. In fact, I'm not really sure what this is, but when I stepped back a level and looked at the similarities within the code I saw, this doesn't have similarities like any code that exists out there. I can't even be looking at code. In fact, from this perspective, I could tell, this isn't code. This is an image of some sort. And from here, I can see, it's not just an image, this is a photograph. Now that I know it's a photograph, I've got dozens of other binary translation techniques to visualize and understand that information, so in a matter of seconds, we can take this information, shove it through a dozen other visual translation techniques in order to find out exactly what we were looking at. I saw -- (Laughter) -- it was that darn kitten again. All this is enabled because we were able to find a way to translate a very hard problem to something our brains do very naturally.

So what does this mean? Well, for kittens, it means no more hiding in ones and zeros. For me, it means no more wasted weekends. For cyber, it means we have a radical new way to tackle the most impossible problems. It means we have a new weapon in the evolving theater of cyber warfare, but for all of us, it means that cyber engineers now have the ability to become first responders in emergency situations. When seconds count, we've unlocked the means to stop the bad guys.

Thank you.

(Applause)

これは沢山の 1 と 0 です バイナリ情報と呼ばれるものです これでコンピュータは会話します これで情報を保有します これで考えます コンピュータは全て バイナリを通じて物事を実行します 私はサイバーセキュリティの研究者です つまり私の仕事はデスクで こうした情報と向かい合い その意味するところを理解すること これらの 0 と 1 が何を意味しているかを 理解することです 残念ながら 今スクリーンでお見せしている 0 と 1 だけの話ではありません ほんの数ベージだけの話でもありません 何十億といった数の 0 と 1 であり それは誰も把握できないほどのボリュームになります

とてもエキサイティングに聞こえますが 私が最初 サイバーに携わった頃 ― (笑) 私が最初 サイバーセキュリティに携わった頃は 1 と 0 を精査することが この先ずっとやっていきたいことか 確信がありませんでした なぜなら私にとってそれは 祖母のパソコンをウィルスから守ることであり 人々の MySpace ページがハックされないようにすることであり すごいといってもせいぜい 誰かのクレジットカード情報を 守る程度だろう思っていました これらはとても大事なことですが 私はそれに人生を費やしたくはありませんでした

ところが 軍事産業で働き始めて 30 分もすると 私はすぐにそれまでの印象が ちょっと違っていることに気づきました 実際 国防を考えた場合 祖母のパソコンをウィルスから守ることは 優先リストの中では驚くほど下位です 理由は そうしたあらゆることよりも サイバーというものはおおごとだからです サイバーは私たちの生活の一部です それはコンピュータが私たちの 生活の一部だからであり それはパソコンを 持っていない方にしても同様です コンピュータは GPS からエアバッグまで 車の全てを制御しています 皆さんの電話も制御しています コンピュータのお陰で緊急コールがかけられますし 他者と通話することもできます コンピュータは私たちの国の インフラ全般を制御しています コンピュータのお陰で電気があり 暖房 清潔な水 食べ物があるのです コンピュータは軍事設備も制御しており ミサイルサイロや衛星 核防衛ネットワークに至る 全てを制御しています これらは全て コンピュータが可能にしており サイバーのお陰でもあります そして何かまずいことが起きた時でも サイバーがそれを防ぐのです

そこに私の出番があります 私の主な仕事はそれらを守り 機能し続けさせることです しかし稀に 守りを破る側の仕事もあります なぜならサイバーとは防御だけでなく 攻撃でもあるからです 私たちはサイバー兵器といったものが 取り上げられる時代に入りつつあります 事実として サイバー攻撃のポテンシャルが大き過ぎて サイバー世界が戦争の新たな一領域と 考えられるようにはなりました 戦争です 必ずしも悪いことではありません 一方では 護るべき前線が まるまる増えたと言えますが もう一方では 悪さをする人たちを攻撃する手段 悪さを止める全く新しい手段が 得られたと言えます

その例を考えてみましょう 完全に仮のお話です テロリストがビルを爆破したいとします そして今後も繰り返し爆破していきたいと 考えているとします テロリスト自身は 爆破されるビルにいたくありません 彼は遠隔爆破装置として 携帯電話を使うとします さて こうしたテロリストを止めるには かつては手が限られており 銃弾の雨やカーチェイスのみでした 今はそうではありません 私たちはテロリストを ボタン一つで 千キロ以上の距離から 止められる時代になったのです テロリスト自身の理解はさておき 携帯電話の利用を決めた時点で 彼はサイバー領域に踏み込んでいるのです 巧妙なサイバーアタックによって テロリストの携帯電話に侵入し バッテリーの荷電保護を無効化し 回路をオーバーロードさせ オーバーヒートさせ 爆破されることができます 電話も爆破装置もなくなり 恐らくテロリストも無効化されます 全てボタン一つで 数千キロ離れていても実行できます

どういった仕組みなのでしょう 全ては 0 と 1 の話に戻ってきます バイナリ情報によって電話は機能しており それを正しく利用することで 電話を爆破できます こうした視点から サイバーセキュリティを考え始めると バイナリ情報を調べる人生も エキサイティングに思えてきます

しかし落とし穴があります とっても難しいのです 理由はこうです 皆さんの携帯電話にある情報全てを 考えてみてください 皆さんが撮った写真があります 皆さんが聴く音楽があります 皆さんの連絡先や メールに加え 一生使わないであろう 500 ものアプリもあり そうしたソフトウェアの裏には 電話を制御するコードがあり そうしたコードの中に バッテリーを制御する小さな 1 ピース それこそ 私が探しているものなのですが それは全て 沢山の 0 と 1 で ごちゃまぜになっています 業界でいう 針の山から針を探す というやつです 全て同じように見えるからです 探すのは一つのキーコードだけですが それは他の全てと混ざり合っているのです

一度 テロリストの携帯電話を爆破するという 仮の状況に立ち返ってみましょう 私の実際の経験をお話します 大体何をするにも 私の仕事はまず座って 膨大なバイナリ情報を眺めるところから始まります 目的はいつも 特定の役割を持つ 一つのキーピースです この時 私は高度な ハイテクなコードを探していました ハック出来ることは分かっていましたが それは十億もの 0 と 1 の どこかに埋もれていました 残念ながら私は何を探せば良いか 分かっていませんでした どういった形を取っているかも分からなかったため 探すのは困難を極めました そうした作業をするときは まず基本的に いろいろなピースの バイナリ情報を眺め それぞれのピースを解読し それが目的のものか確認していきます しばらくして 私は目的のものを 見つけたと思いました これがそうだと思ったのです ほぼ合っていると思いましたが 確証はありませんでした そこにある 0 と 1 が 何を指しているか分からなかったのです いくらか時間をかけて取り組んだのですが うまくいかず 最終的に私は これを片付けてやろうと思い 週末に仕事に出て これを解決するまでは 帰らないと決めて 取り掛かりました 土曜日の朝に出社して 十時間ほどで なんとか全てのピースを 一つのパズルにまとめることができました ただ パズルの答えはまだわかりませんでした 0 と 1 が何を指しているかわからなかったのです 15 時間後には もう少し何かが見えてきていましたが もしかすると今取り組んでいるものが 私が探しているものと 全く関係ないものかもしれないという 不安を覚え始めました 20 時間後には全体像が少しずつ見え始め 段々と ― 間違った道を進んでいたことが ようやくわかりました でも投げ出すつもりはありませんでした ラボで 30 時間経過し 自分が何を見ていたのかハッキリわかりました 予想通り それは目的のものではなく 私は 30 時間かけて 0 と 1 を組み上げて 子猫の絵を作っていたのです (笑) 人生の 30 時間を無駄にして 探っていたものは 目的とは無関係な この子猫だったのです

イライラしましたし 疲れ果てました 30 時間 ラボに篭もりっきりだったので 恐らく臭いも酷かったでしょう ただ そこで終わりにして帰宅する前に 一旦 問題から離れて 何が間違っていたか自問しました どうしてこんな馬鹿な 間違いをしてしまったのでしょう 私の得意分野なのです これで生計を立てているのです 何かが起こったのでしょう 思うに このレベルで情報を見ていると 道筋を見失いがちになるのです 木を見て森を見るのは困難です 間違ったウサギ穴へ入って 間違ったことで膨大な時間を 無駄にしがちです ただ 私には閃きがありました 私たちは初めの一歩から 間違えていました 0 と 1 はコンピュータの考え方であり 人間とは違います それでも私たちは コンピュータのように考えるよう 適応しようとして この情報を理解できるように なろうとしてきました 問題に合わせるより 私たちの考え方に問題の方を 合わせるべきだったのです なぜなら私たちの脳にも やり方が違うだけで 膨大な情報を 分析する能力があるからです この情報を別の種類の 情報に置き換えるだけで それが実現できるとしたらどうでしょう このアイデアを頭の片隅に置き 職場のラボを飛び出し 自宅のラボへ駆け込みました どちらも似たような場所です ただ 主な違いは 職場はサイバーなものに囲まれています この状況では それが問題だと思われます 自宅では 私の周りは 私がそれまで学習したものに囲まれています ですので私は全ての本 それまでに触れたあらゆるアイデアをもって この問題を全く別領域の問題に 置き換えられないか 考えました

最大の問題は 何に置き換えるかです 私たちの脳を最も自然に 活用できるものは何でしょう 私の答えは 視覚です 私たちの視覚情報の処理能は膨大です 私たちは色勾配 色深度など 様々な異なる信号を処理し 世界を一貫した絵で見ることができます 素晴らしい能力です 従って これらのバイナリパターンを 視覚信号に置き換えることができれば 脳の こうしたものを処理する 強力な力を活用できるようになります 私はバイナリ情報を眺めて 自問し始めました こうしたものを見たら まず私は何をするか 最初にしたいこと 最初に解決したい問は それが何かが ということです 何をするものか どういう仕組みかはよいのです 私が知りたいのは それが何かということだけです それを知るためには まとまりを見ることです バイナリ情報の一連のまとまりを見て それらのまとまりの関係性を考えます 十分な数のまとまりを揃えれば この情報が何か 正確に見えてきます では テロリストの携帯電話を 爆破するという話に戻りましょう こちらは英語の文字が バイナリレベルでどう見えるかです 私が皆さんの携帯電話の連絡先を調べると こういったものが見えます この状態では分析も困難ですが 私が探そうとしている まさにこの同じ情報を 置き換えて その関係性を 視覚情報に置き換えると こうなります 英語の文字は 視覚情報に 抽象化するとこうなります 途端に 0 と 1 で表現されていた 情報全てが 私にも一瞬で判別できるような 全く別の形で姿を現しました 情報パターンが即座にわかります これだと数秒でパターンがわかりますが 0 と 1 では 何時間 何日とかかります これならば誰でも数分で パターンが何を示すか覚えていけますが 同じものでも 0 と 1 の並びになると サイバー業界での経験年数が 必要となります このピースは 連絡先の中の 小文字と小文字の並びを 示しています これは大文字と大文字です 大文字と小文字 そして小文字と大文字です これはスペース これは改行です このレベルで眺めると バイナリ情報の詳細が 数秒でわかります 何週間も何ヶ月もかかりません こちらは携帯電話で見た時の 画像です 視覚抽象化すると このように見えます 音楽はこちらで 視覚抽象化すると こうです 私にとって重要なのは 実際のコードはこうだということです 最終的に私が求めているのはこれですが こちらはその視覚抽象です これを見つけられれば 携帯電話を爆破できます これを見つけるのに 0 と 1 ならば 数週間かかるでしょう でもこのような抽象化情報を見つけ出すなら 数秒で可能です

この手法の最も素晴らしいところは 初めて見る情報を理解するための 全く新しい方法を 私たちに提供してくれるという点です 私は英語がバイナリレベルで どう見えるかわかりますし それを視覚抽象化したものもわかります でもロシア語のバイナリは見たことありません 0 と 1 からそのまま調べると 数週間かかるでしょうが こうした視覚抽象化した情報からならば 私たちの脳は それに含まれる 微細なパターンを見つけ出し 無意識に それを新しい状況にも 適用できるのです こちらがロシア語のバイナリを 視覚抽象化したものです 一つの言語のパターンを知っていることで 例え見慣れない言語であっても 識別できるのです 写真はこう見えます クリップアートだとこうです 携帯電話のコードはこうなっており パソコンのコードはこうなってます 0 と 1 をそのまま見ていたのでは 決して見付けられなかったパターンを 私たちの脳は見つけることができます しかしこれは この手法の真価の ほんの表面です 私たちはまだこうした 脳の視覚情報処理能を 活用し始めたばかりです もし同じコンセプトで 次は三次元情報に置き換えたとしたら 私たちはまた 情報を理解するための 新たな方法を見つけるでしょう 数秒で全てのパターンを 見つけ出せます コードとの関連を見つけ出せます 文字を示すキューブを 見つけ出せます 極小さな歪みですら 見つけ出せます 0 と 1 からでは 何週間 何ヶ月とかかるものを 何らかの視覚抽象化から 瞬時に明らかとなります この手法の研究を進め もっと情報を増やしていけば 私たちの脳に元々組み込まれている パターン分析能力によって 何十億といった 0 と 1 のデータは 数秒単位で処理できることが わかるでしょう

これは本当に凄いし 役立ちますが これでわかるのは それが何かがということだけです 私はこの時点で 視覚パターンを基に 携帯電話上のコードを見つけられます しかしバッテリーを爆破するには至りません 私は次に バッテリーを制御する コードを見つける必要がありますが 再び針の山の問題にぶつかります そのコードはシステム上の他のコードと 大体似ています

バッテリーを制御するコードは 見つけられないかもしれませんか 似たコードは沢山あります 画面を制御するコード ボタンを制御するコード マイクロホンを制御するコード 仮にバッテリーのコードを見つけられなくとも 近いものは見つけられるはずです 従って私の次の作業は 似通ったバイナリ情報の ピースを見比べることです バイナリレベルだと これは本当にキツイのですが 似通ったものでも 視覚抽象化すれば 素データを細かく調べずに済みます 私はただピースを見比べ イメージがみえて来るのを待つだけです パン屑を追うように 類似コードの束を追い ずばり求めているコードを見つけます

そうしてこの段階で 私はバッテリーを 制御するコードを見つけました ですがまだ爆破には至りません このパズルの最後のピースは バッテリーを制御するコードの 仕組みを理解することです それをするには とても細かく 詳細な関係を バイナリ情報の中から見つける必要があり 0 と 1 を調べるにあたって これもまた とても難しいことです しかし情報を 物理的な表象へ変換すれば あとは視覚野に仕事を任せれば良いです 視覚野が私たちの為に 全ての詳細なパターン 重要なピースを見つけてくれます コードのピースがどのようにして働いて バッテリーを制御しているか正確に見つけてくれます これは数時間単位で終わります 同じプロセスが 昔なら数ヶ月かかっていたでしょう

テロリストの携帯電話を 爆破するシチュエーションで これは良いことでしょう 私はこれが毎日の仕事で 実際にうまくいくのか知りたいと思いました 以前分析した対象を 同じやり方で触ってみましたが その時も私は ある詳細な 特定のコードを 大量のバイナリ情報の中から 探していました このレベルで見ながら 私は正しい情報を見ていると思いました 探していたコードにある 関係は 見つけられませんでしたが 実際よく分かりませんでしたが このレベルに下がってみて コードの中の類似性を見てみると それ以外のコードとの 類似性が見られないことが分かりました それはコードですらなかったのです この視点で見てみると コードでないことがわかります 何かの画像です こうするとただの画像ではなく 写真であることがわかります 写真であることがわかったなら 私はその情報を可視化して把握するための バイナリ変換技術を数十と持っています そうなればものの数秒で 視覚変換技術を通して 何のデータを見ているか正確にわかります 見えてきたのは ― (笑) またしてもあの子猫です 以上 全てが可能となったのは 困難な問題を 私たちの脳が自然にやっていることに 変換する方法を見つけられたからです

これはどういうことでしょう 子猫にとっては 0 と 1 の中に もはや隠れ果せないということです 私にとっては もう週末を 無駄に過ごす必要がないということです サイバーにとっては 不可能とされてきた問題に取り組む 画期的な方法が見つかったということです 拡大しているサイバー戦争においては 新たな武器を得たということです しかし私たち皆にとって 私たちサイバーエンジニアが 緊急の状況で第一応答者となる 能力を得たということです 一刻を争う状況で 悪者を止められる手段を解放したのです

ありがとうございました

(拍手)

― もっと見る ―
― 折りたたむ ―

品詞分類

  • 主語
  • 動詞
  • 助動詞
  • 準動詞
  • 関係詞等

関連動画