The idea behind the Stuxnet computer worm is actually quite simple. We don't want Iran to get the bomb. Their major asset for developing nuclear weapons is the Natanz uranium enrichment facility. The gray boxes that you see, these are real-time control systems. Now if we manage to compromise these systems that control drive speeds and valves, we can actually cause a lot of problems with the centrifuge. The gray boxes don't run Windows software; they are a completely different technology. But if we manage to place a good Windows virus on a notebook that is used by a maintenance engineer to configure this gray box, then we are in business. And this is the plot behind Stuxnet.
'스턱스넷(Stuxnet)' 컴퓨터 웜의 개념은 사실 아주 단순합니다. 다들 이란이 원자폭탄을 보유하는 걸 원치 않습니다. 핵무기 개발을 위한 그들의 중요한 자산은 나탄즈 우라늄 농축시설입니다. 여러분이 보는 회색 상자들은 실시간 제어 시스템입니다. 구동 속도와 밸브를 제어하는 이 시스템을 어떻게든 해서 위태롭게 한다면, 원심분리기에 많은 문제를 유발시킬 수 있을 것입니다. 이 제어 시스템에서 윈도우즈 소프트웨어는 작동하지 않습니다. 이 시스템은 완전히 다른 기술이죠. 하지만 어떻게 해서든 장비 관리자의 노트북에 시스템 설정을 위한 쓸만한 윈도우즈 바이러스를 심어 놓기만 한다면 준비는 끝난 셈이죠. 스턱스넷에 감춰진 계획은 이렇습니다.
So we start with a Windows dropper. The payload goes onto the gray box, damages the centrifuge, and the Iranian nuclear program is delayed -- mission accomplished. That's easy, huh? I want to tell you how we found that out. When we started our research on Stuxnet six months ago, it was completely unknown what the purpose of this thing was. The only thing that was known is it's very, very complex on the Windows part, the dropper part, used multiple zero-day vulnerabilities. And it seemed to want to do something with these gray boxes, these real-time control systems. So that got our attention, and we started a lab project where we infected our environment with Stuxnet and checked this thing out. And then some very funny things happened. Stuxnet behaved like a lab rat that didn't like our cheese -- sniffed, but didn't want to eat. Didn't make sense to me. And after we experimented with different flavors of cheese, I realized, well, this is a directed attack. It's completely directed. The dropper is prowling actively on the gray box if a specific configuration is found, and even if the actual program code that it's trying to infect is actually running on that target. And if not, Stuxnet does nothing.
자, 윈도우즈 드로퍼 웜에서부터 시작해보죠. 웜에서 만들어진 데이터는 제어 시스템으로 보내지고, 원심 분리기에 손상을 일으키면, 이란의 핵개발 프로그램은 지연됩니다. 그러면 임무가 완수되는 것이죠. 쉽죠, 그렇죠? 어떻게 그걸 알아냈는지 말씀드리겠습니다. 6개월 전, 우리가 스턱스넷에 대한 연구를 시작했을 때 그 목적이 무엇인지 전혀 알 수 없었습니다. 알아낸 것이라고는 그 매우 복잡한 윈도우즈 드로퍼 웜이 여러가지 제로데이 취약점을 이용하고 있다는 것이었습니다. (주:제로데이 취약점 : 대응책이 아직 발표되지 않은 보안 취약점) 그리고 그것은 이 회색 상자들, 실시간 제어 시스템에 뭔가를 하고자 하는 것 같았습니다. 우리는 그 점에 주목했고, 우리 시스템 환경을 스턱스넷으로 감염시킨 후에, 연구 프로젝트를 시작했습니다. 그리고 이것을 조사했죠. 그리고 나서 아주 재미있는 일이 벌어졌습니다. 스턱스넷은 치즈를 좋아하지 않는 실험실 쥐처럼 동작했습니다. 냄새는 맡지만 먹지는 않죠. 저는 이해가 되지 않았습니다. 다른 종류의 먹잇감으로 실험을 해 본 후에야, 이것이 목표가 정해진 유도공격이라는 것을 알았습니다. 확실한 공격목표가 있었습니다. . 그 드로퍼 웜은 제어시스템이 특정한 환경설정에 있을 때만 활발히 활동했습니다. 게다가 감염시키고자 하는 대상 프로그램이 실제로 구동되고 있을 때만 공격을 합니다. 그렇지 않다면, 스턱스넷은 아무것도 하지 않습니다.
So that really got my attention, and we started to work on this nearly around the clock, because I thought, "Well, we don't know what the target is. It could be, let's say for example, a U.S. power plant, or a chemical plant in Germany. So we better find out what the target is soon." So we extracted and decompiled the attack code, and we discovered that it's structured in two digital bombs -- a smaller one and a bigger one. And we also saw that they are very professionally engineered by people who obviously had all insider information. They knew all the bits and bites that they had to attack. They probably even know the shoe size of the operator. So they know everything.
그것이 제 주의를 끌었고, 우리는 여기에 거의 24시간 내내 매달리기 시작했습니다. 그 공격 대상이 무엇인지 몰랐기 때문입니다. 공격목표가, 예를 들자면, 미국 발전소나 독일의 화학 공장이 될 수도 있기 때문이었죠. 그래서 빨리 그 공격 대상을 찾아야 했습니다. 우리는 공격 코드를 추출해서 역해석을 했고, 그것이 작은 것과 큰 것, 두 개의 디지털 폭탄으로 구성되어 있다는 것을 알아냈습니다. 또한 명백히 모든 내부 정보를 가지고 있는 사람이 아주 전문적으로 제작했다는 것도 알아냈습니다. 그들은 공격해야 할 대상의 모든 것을 알고 있었습니다. 어쩌면 시스템 운영자의 신발 사이즈 까지 알고 있을지도 모르죠. 어쨌든 그들은 모든 것을 알고 있습니다.
And if you have heard that the dropper of Stuxnet is complex and high-tech, let me tell you this: the payload is rocket science. It's way above everything that we have ever seen before. Here you see a sample of this actual attack code. We are talking about -- around about 15,000 lines of code. Looks pretty much like old-style assembly language. And I want to tell you how we were able to make sense out of this code. So what we were looking for is, first of all, system function calls, because we know what they do.
스턱스넷이라는 드로퍼 웜이 복잡한 첨단기술이라고 알고 계시다면, 이거 하나만 말씀드리죠. 그것의 공격용 데이터는 정말 어렵습니다. 지금껏 봐 왔던 모든 것을 뛰어 넘을 정도입니다. 여기 실제 공격 코드의 샘플을 보세요. 약 15,000줄의 코드에 대해서 말씀드리고 있는 것입니다. 구식의 어셈블리 언어와 매우 유사하게 보입니다. 그럼 이 코드를 어떻게 해석할 수 있었는지 여러분께 말씀드리겠습니다. 우리가 찾던 것은 무엇보다도 시스템 함수 호출 부분이었습니다. 그것이 어떤 역할을 할지 알고 있었기 때문이죠.
And then we were looking for timers and data structures and trying to relate them to the real world -- to potential real world targets. So we do need target theories that we can prove or disprove. In order to get target theories, we remember that it's definitely hardcore sabotage, it must be a high-value target and it is most likely located in Iran, because that's where most of the infections had been reported. Now you don't find several thousand targets in that area. It basically boils down to the Bushehr nuclear power plant and to the Natanz fuel enrichment plant.
다음으로 우리는 타이머와 데이터 구조를 찾았고, 그것들을 실제 공격목표가 될 가능성이 있는 것들과 연관시켜 보았습니다. 우리는 증명하거나 반증할 수 있는 표적 이론이 필요했죠. 표적 이론을 세울 때, 우리가 유념했던 것은 강력한 파괴행위가 목적이라는 점, 중요시설이 대상이어야 한다는 점이었고, 틀림없이 이란에 위치한 것이리라 생각했습니다. 왜냐하면 바이러스 감염의 대부분은 이란에서 보고되기 때문이죠. 이제 그 지역에서 수 천개의 표적을 찾을 필요는 없죠. 기본적으로 부시르 핵발전소와 나탄즈 연료 농축 공장으로 압축시킬 수 있습니다.
So I told my assistant, "Get me a list of all centrifuge and power plant experts from our client base." And I phoned them up and picked their brain in an effort to match their expertise with what we found in code and data. And that worked pretty well. So we were able to associate the small digital warhead with the rotor control. The rotor is that moving part within the centrifuge, that black object that you see. And if you manipulate the speed of this rotor, you are actually able to crack the rotor and eventually even have the centrifuge explode. What we also saw is that the goal of the attack was really to do it slowly and creepy -- obviously in an effort to drive maintenance engineers crazy, that they would not be able to figure this out quickly.
저는 조수에게 말했습니다. "우리 고객중에서 원심분리기와 발전소에 관한 전문가 명단을 가져다주게." 그리고 그들에게 전화를 걸어 그들의 전문적 의견들을 코드와 데이터에서 찾아낸 것들과 맞춰 봤습니다. 그것은 아주 효과가 있었습니다. 결국 우리는 그 '작은 디지털 무기'가 핵시설의 회전자 제어기와 관련있음을 알 수 있었습니다. 회전자는 원심분리기를 구동시키는 부품으로, 여러분이 보시는 검은 물체입니다. 이 회전자의 속도를 조절한다면, 회전자를 망가트릴 수 있고, 결국 원심분리기가 폭발하도록 할 수 있습니다. 또한 우리가 알아낸 것은 그 공격 목적이 회전자를 정말 더디고 느리게 회전하게 만들어서 정비 엔지니어들이 정신없도록 만들고, 빨리 알아채지 못하도록 한다는 것입니다.
The big digital warhead -- we had a shot at this by looking very closely at data and data structures. So for example, the number 164 really stands out in that code; you can't overlook it. I started to research scientific literature on how these centrifuges are actually built in Natanz and found they are structured in what is called a cascade, and each cascade holds 164 centrifuges. So that made sense, that was a match.
다음은 '큰 디지털 무기'입니다. 우리는 데이터와 데이터 구조를 아주 면밀하게 관찰했습니다. 예를 들어, 164라는 숫자가 코드에서 특히 눈에 띄는데요. 간과할 수가 없죠. 저는 이 원심분리기가 나탄즈에서 실제로 어떻게 건설되었나 과학 문헌을 찾기 시작했고, 그것이 '케스케이드'라는 다층 구조로 되어 있으며, 각 층에는 164개의 원심분리기가 설치되어 있다는 것을 알아냈습니다. 앞 뒤가 딱 맞아 떨어졌죠.
And it even got better. These centrifuges in Iran are subdivided into 15, what is called, stages. And guess what we found in the attack code? An almost identical structure. So again, that was a real good match. And this gave us very high confidence for what we were looking at. Now don't get me wrong here, it didn't go like this. These results have been obtained over several weeks of really hard labor. And we often went into just a dead end and had to recover.
그리고 더욱 진전이 있었습니다. 이란에 있는 이 원심분리기들은 15개의 단계로 나뉘어 있습니다. 그럼 우리가 공격 코드에서 무엇을 찾았을까요? 거의 동일한 구조입니다. 또 다시 정확히 맞아 떨어졌죠. 이것이 우리에게 확실한 자신감을 심어줬습니다. 오해하지는 마세요. 말처럼 쉽게 풀린 것은 아닙니다. 이것은 몇 주간의 정말 고된 작업 끝에 얻어진 결과입니다. 우리는 종종 막다른 길에 부딪혔고, 처음부터 다시 시작해야 했습니다.
Anyway, so we figured out that both digital warheads were actually aiming at one and the same target, but from different angles. The small warhead is taking one cascade, and spinning up the rotors and slowing them down, and the big warhead is talking to six cascades and manipulating valves. So in all, we are very confident that we have actually determined what the target is. It is Natanz, and it is only Natanz. So we don't have to worry that other targets might be hit by Stuxnet.
어쨌든, 우리는 실제로 하나의 공격목표를 두고 다른 각도로 접근하는 두 개의 디지털 무기를 찾아낸 것입니다. '작은 무기'는 한 단계를 대상으로 회전자의 회전속도를 느리게 만듭니다. 그리고 '큰 무기'는 6단계에 걸쳐서 밸브들을 조작하는 것이죠. 결과적으로 공격목표가 무엇인지 실제로 알아냈다고 확신했습니다. 나탄즈입니다. 나탄즈 뿐이죠. 그래서 스턱스넷의 목표가 될만한 다른 대상들에 대해서는 걱정할 필요가 없어졌습니다.
Here's some very cool stuff that we saw -- really knocked my socks off. Down there is the gray box, and on the top you see the centrifuges. Now what this thing does is it intercepts the input values from sensors -- so for example, from pressure sensors and vibration sensors -- and it provides legitimate program code, which is still running during the attack, with fake input data. And as a matter of fact, this fake input data is actually prerecorded by Stuxnet. So it's just like from the Hollywood movies where during the heist, the observation camera is fed with prerecorded video. That's cool, huh?
여기에서 아주 멋진 걸 하나 발견했는데요. 정말 저를 깜짝 놀라게 한 것이죠. 아래 쪽에 회색 상자가 있고, 그 위에 있는 것이 원심분리기입니다. 이것이 하는 일은 감지기로부터의 입력값을 가로채는 것입니다. 예를 들면, 압력 감지기와 진동 감지기의 입력값을 가로채고, 거짓 입력 데이터로 이루어진 적절한 코드를 건내주면 공격받는 중에도 계속 작동하게 되죠. 그리고 사실, 이 거짓 입력 데이터는 스턱스넷이 미리 기록해 둔 것입니다. 그건 마치 헐리우드 영화에서처럼 은행을 터는 동안에 미리 녹화해둔 영상을 감시카메라로 보내는 것과 같은 거죠. 멋지죠? 안그런가요?
The idea here is obviously not only to fool the operators in the control room. It actually is much more dangerous and aggressive. The idea is to circumvent a digital safety system. We need digital safety systems where a human operator could not act quick enough. So for example, in a power plant, when your big steam turbine gets too over speed, you must open relief valves within a millisecond. Obviously, this cannot be done by a human operator. So this is where we need digital safety systems. And when they are compromised, then real bad things can happen. Your plant can blow up. And neither your operators nor your safety system will notice it. That's scary.
이런 개념은 명백히 제어실 운영자만을 바보로 만드는 것이 아닙니다. 실제로 훨씬 더 위험하고 공격적입니다. 그 기본개념은 디지털 안전 시스템을 회피하는 것입니다. 운영자가 충분히 빠르게 반응할 수 없는 곳에는 디지털 안전 시스템이 필요합니다. 예를 들면, 발전소에서 큰 규모의 증기 터빈이 너무 빠른 속도로 돌면, 100분의 1초 내로 완화 밸브를 열어줘야만 합니다. 절대로, 사람이 할 수 없습니다. 이런 곳에는 디지털 안전 시스템이 필요하죠. 그런 상황에 잘 대처하지 못하면 정말 안좋은 일이 벌어질 수 있습니다. 공장이 날아가버릴 수 있죠. 운영자나 안전 시스템, 그 어느것도 알아채지 못한다면, 무서운 일이 일어나겠죠.
But it gets worse. And this is very important, what I'm going to say. Think about this: this attack is generic. It doesn't have anything to do, in specifics, with centrifuges, with uranium enrichment. So it would work as well, for example, in a power plant or in an automobile factory. It is generic. And you don't have -- as an attacker -- you don't have to deliver this payload by a USB stick, as we saw it in the case of Stuxnet. You could also use conventional worm technology for spreading. Just spread it as wide as possible. And if you do that, what you end up with is a cyber weapon of mass destruction. That's the consequence that we have to face. So unfortunately, the biggest number of targets for such attacks are not in the Middle East. They're in the United States and Europe and in Japan. So all of the green areas, these are your target-rich environments. We have to face the consequences, and we better start to prepare right now.
하지만 더 나쁜 상황도 있습니다. 지금부터 말씀드리려는 것이 아주 중요합니다. 이것을 생각해보세요. 이런 공격은 일반적입니다. 원심분리기나 우라늄 농축 시설같은 특정한 대상에만 관계된 것은 아닙니다. 예를 들면 그것은 발전소나 자동차 공장도 공격할 수 있습니다. 모든 것이 공격대상이죠. 스턱스넷의 경우에서 보았듯이, 공격자는 반드시 USB 메모리 스틱으로 웜을 옮기지 않아도 됩니다. 퍼뜨리기 위해서 상투적인 웜 기술을 사용할 수도 있습니다. 그냥 가능한 넓게 퍼트리는 것입니다. 그렇게만 된다면, 대량파괴 사이버 무기가 나타나게 되는 것입니다. 그것이 우리가 직면하게 될 결과입니다. 그리고 불행한 사실은 그런 공격 대상의 대부분은 중동에 있지 않습니다. 공격 대상의 대부분은 미국, 유럽, 일본에 있죠. 그래서 모든 녹색 표시 지역들은 공격대상이 풍부한 환경을 갖춘 곳입니다. 우리는 그 결과에 직면해야만 하고, 지금 당장 그 대비를 시작해야 합니다.
Thanks.
감사합니다.
(Applause)
(박수)
Chris Anderson: I've got a question. Ralph, it's been quite widely reported that people assume that Mossad is the main entity behind this. Is that your opinion?
크리스 앤더슨: 질문이 있습니다. 랄프, 사람들이 모사드가 이 일의 배후에 있다고 예상한다는 것은 꽤나 알려진 사실입니다. 당신의 의견도 그런가요?
Ralph Langner: Okay, you really want to hear that? Yeah. Okay. My opinion is that the Mossad is involved, but that the leading force is not Israel. So the leading force behind that is the cyber superpower. There is only one, and that's the United States -- fortunately, fortunately. Because otherwise, our problems would even be bigger.
랄프 랭그너: 좋습니다. 정말 제 생각을 듣고 싶으신가요? 네, 좋습니다. 제 생각에는 모사드가 연루되어 있습니다. 하지만 주도세력은 이스라엘이 아닙니다. 그 배후의 주도 세력은 사이버 초강대국입니다. 그 유일한 나라가 바로 미국입니다. 다행스런 일이죠. 다행이에요. 그렇지 않았더라면 문제가 더 심각했을 테니까요.
CA: Thank you for scaring the living daylights out of us. Thank you, Ralph.
CA: 우리 모두를 겁나게 해주셔서 감사합니다. 감사해요 랄프.
(Applause)
(박수)