보안 제품정보


우리는 무수한 쉘쇼크들과 만나게 될 운명이다 2014.09.30

항상 사태 발발 후 패닉에 빠지고 부랴부랴 하는 픽스는 부실

소프트웨어에서 생기는 버그는 통제 불가능의 영역


[보안뉴스 문가용] 인터넷 속으로 국가 경제와 생활의 반경을 넓혀 가면 갈수록 보안의 개념은 점점 희박해지는 것 같아 보인다. 프라이버시나 돈도 매한가지다. Y2K, 컨피커, 하트블리드 그리고 지금의 쉘쇼크 사태까지, 인간은 결국 끊임없이 발생하는 각종 사건사고에 지쳐갈 것이다.

 

 ▲ 먼저 넘어가려 애쓰지 않아도 어차피 언젠가는 도착하게 되어 있다. 

지쳐간다는 건 무슨 의미일까. “또 버그야? 뭐, 어차피 지금 버그 고쳐도 또 다른 버그가 생길 텐데 더 노력해서 뭐해? 시간 날 때 생각나면 업데이트 하고, 아니면 말고”라는 태도를 말한다. 어쩌면 이런 생각을 하는 사람들이 벌써도 많을지 모르겠다. 컨피커 웜이 보고된 지 6년이나 지난 지금도 매일 백만 개가 넘는 고유 IP 주소에서 컨피커 싱크홀이 발견되고 있는 것만 봐도 그렇다. 사실 패치 혹은 수정이 한 시간 늦어질 때마다 기기의 감염 정도는 기하급수적으로 심해진다. 심해지다 심해지다 패치로 어떻게 해볼 수 없는 지경에 이르기도 한다.


감염되었거나 취약한 상태의 컴퓨터와 감염 혹은 취약점 자체의 전체 개수가 적다면 세계의 해커들은 공격 대상을 지금처럼 자유자재로 바꾸지 못할 것이다. 바꿔 말하면 우리에게 감염된 시스템이나 취약한 컴퓨터가 있기 때문에 해커들이 자유롭게 이동하고 숨고 흔적을 지울 수 있다는 것이다. 게다가 오늘날 컴퓨터 관련 기술과 자원이 빠르게 늘어남에 따라 사실상 해커들의 사정거리에 들지 않는 시스템은 단 하나도 없게 되었다.


쉘쇼크는 배시라는 쉘 안에 있는 버그 이름이다. 둘은 동의어가 아니다. 배시는 윈도우를 제외한 세계 거의 모든 컴퓨터에 설치된 명령줄 인터프리터인데, 중요한 건 ‘세계 거의 모든 컴퓨터’에 다 설치되어 있다는 점이다. 특히 리눅스 시스템의 경우 스마트TV, 스마트폰, 태블릿, 자동개폐기, 무선 기기 등 임베디드 기기가 대부분 리눅스를 사용하고 있기 때문에 그 충격이 어마어마할 것으로 전문가들은 예상하고 있다.


그렇다고 리눅스 자체의 결함인 것은 아니다. 오히려 현존하는 운영체제 중 리눅스만큼 다양한 사람들이게 다양한 실험을 받은, 검증되고 안정적인 것은 없다고 봐도 무방할 정도다. 다만 리눅스는 너무 어렵다. 그리고 복잡하다. 복잡한 것에는 항상 오류가 따르기 마련이다. 낮이 바뀌어 밤이 되는 것처럼 말이다. 그런데 이게 다가 아니다. 배시는 필드 업그레이드가 불가능하다. 가격 문제도 있고, 무엇보다 제작자가 없어졌기 때문이다.


쉘쇼크의 존재에 대한 발표가 있고 첫 소프트웨어 업데이트가 나오고 수 시간이 지난 후 인터넷 상에서 벌어지는 악성 행위들을 감시하는 우리 같은 사람들 수백 명은 인터넷 주소 수천만 개를 스캔해가며 공격면에 대한 조사를 시작했다. 그런데 이 중에는 나쁜 의도를 가진 사람이 몇 있었다. 그래서 취약한 컴퓨터를 봇넷에 추가시켜 이후의 공격 준비를 하기도 했다. 그리고 잘못된 정보와 이해가 여기저기로 빠르게 퍼져나갔다. 이는 심지어 공인된 발표 자료 속에 등장하기도 했다.


보통 소비자들은 컴퓨팅 기능이 탑재된 기기의 원 제조사들이 여전히 건재해 아직도 업데이트를 진행할 것이라고 믿고 있는데, 사실 이런 상태에 있는 기기는 대략 10대에 한 대 꼴에 불과하다. 즉 업데이트까지 착실한 양질의 제품 한 대 외에 나머지 아홉 대는 기기가 망가져 고물상에 갈 때까지 업데이트는 전혀 되지 않을 것이라는 소리다.


사실 임베디드 기기까지 갈 것도 없다. 우리가 사용하는 데스크톱은 업데이트가 자주 이루어지는가? 운영 체제 말고 기기 자체로서 컴퓨터 말이다. 아마 대부분 컴퓨터를 새로 바꿀 때까지 전혀 그런 업데이트를 받지 못할 것이다. 그러니 아무리 보안을 철저하게 지킨다고 해도 결국 어느 구석은 꼭 취약하기 마련이다. 이를 전 세계 단위로 끌고 가면 해커가 아닌 일반 사용자들의 삶에는 아주 커다란 구멍이 반드시 존재한다는 뜻이 된다. 마치 지구온난화현상처럼 말이다.


유명한 말이 있다. 구멍에 빠졌을 때 제일 먼저 해야 할 일은 구멍 파는 일을 멈추는 것이다, 라는. 소프트웨어에서 발생하는 버그는 통제가 불가능한 영역이고, 그 와중에 인간의 금융, 통신, 인프라, 농사, 식품 공급은 점점 IT 기술에 의존하게 된다는 건 계속해서 구멍을 파는 일은 아닐까? 우리는 단지 눈앞의 편리함과 이익을 위해 발밑에 끝없이 구멍을 내고 있는 건 아닐까? 게다가 질보다 ‘선점효과’가 더 우선시 되는 시장의 분위기에서 말이다.


배시 버그가 출현했다고? 그래, 얼른 패치해야지. 하지만 고친다고 해도, 혹은 못 고친다고 해도 이건 빙산의 일각일 뿐이다. 우리가 발견해 고치는 취약점의 수는 우리가 모르고 남겨두는 취약점의 수보다 훨씬 적을 것이 분명하기 때문이다. 그리고 인간의 미래는 이런 ‘숨겨진 것들’과 늘 함께일 것이다. 즉 버그 문제, 취약점 문제로 우리는 끊임없이 들끓게 될 운명이라는 의미다. 어느 시점에선가 이런 문제가 발생했을 때 부드럽고 정확하게 대응하는 법을 배울 때까지 말이다.

글 : 폴 빅시(Paul Vixie)


@DARKReading

[국제부 문가용 기자(globoan@boannews.com)]


<저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지>