The US military wants to understand the most important software on Earth

지구상 가장 중요한 소프트웨어를 이해하고 싶어 하는 미군

오픈소스 코드는 전 세계 모든 컴퓨터에서 실행되고 있다. 그리고 계속해서 미국의 가장 중요한 인프라를 움직이고 있다. 미군의 연구 부서 DARPA는 이러한 오픈소스 코드의 신뢰도를 우려하고 있다.

대부분의 사람들은 한 번도 들어본 적 없겠지만 사실상 전 세계가 리눅스 커널(Linux kernel) 위에 구축되어 있다고 해도 과언이 아니다.

리눅스 커널은 대부분의 컴퓨터가 켜질 때 불러오는 최초의 프로그램 중 하나다. 리눅스 커널은 기계를 실행하는 하드웨어가 소프트웨어와 소통할 수 있게 하고 자원 사용을 통제하며 운영체제의 기초 역할을 한다.

리눅스 커널은 거의 모든 클라우드 컴퓨팅, 사실상 모든 슈퍼컴퓨터, 전체 사물인터넷(internet of things), 수백만 대의 스마트폰 등의 핵심 구성 요소이다.

그러나 커널은 ‘오픈소스(open source)’이기도 하다. 다시 말하면 누구든 커널의 코드를 읽고 쓰고 사용할 수 있다. 그리고 바로 이 점을 미군 내부의 사이버보안 전문가들은 우려하고 있다. 리눅스 커널이 오픈소스라는 말은 다른 중요한 오픈소스 소프트웨어들과 마찬가지로 그것 역시 우리가 거의 이해하지 못하는 다양한 방식의 위험에 노출되어 있다는 의미이기 때문이다.

사이버보안 연구원이자 전 미국 국가안보국(NSA) 컴퓨터 보안 과학자 데이브 에이텔(Dave Aitel)은 “사람들은 이제서야 우리가 하는 거의 모든 일이 리눅스를 기반으로 한다는 점을 깨닫고 있다”며 “리눅스는 우리 사회의 핵심 기술이고 커널 보안을 이해하지 못하면 중요 인프라를 보호할 수 없다”고 설명했다.

미군의 연구 부서 ‘DARPA’는 이러한 오픈소스 프로젝트가 직면하는 위험에 관한 이해도를 높이기 위해 오픈소스 프로젝트를 실행하는 코드와 커뮤니티의 충돌을 이해하려고 한다. 이들의 목표는 ‘악성 행위자’를 효과적으로 인식하고 그들이 매우 중요한 오픈소스 코드를 중단시키거나 손상하지 못하도록 너무 늦기 전에 방지하는 것이다.

이를 위해 DARPA가 추진하는 ‘소셜사이버(SocialCyber)’ 프로그램은 인공지능의 최신 기술적 발전과 사회학을 결합하여 이러한 대형 오픈소스 커뮤니티와 그들이 만드는 코드를 매핑하고 이해하고 보호하기 위해 18개월에 걸쳐 수백만 달러를 투입하는 프로젝트다. 이번 프로젝트는 이전의 연구와는 다르다. 이번에는 오픈소스 소프트웨어의 코드와 사회적 차원에 대한 자동화된 분석을 결합하기 때문이다.

이번 프로젝트를 지원하는 DARPA 프로그램 매니저 세르게이 브라투스(Sergey Bratus)는 “오픈소스 생태계는 인류 역사상 가장 위대한 사업 중 하나”라고 말했다.

그는 “오픈소스 생태계는 열성적인 사람들에서 출발하여 이제는 전 세계 인프라, 인터넷 자체, 거의 모든 곳의 중요 산업과 필수적인 시스템의 기반을 형성하는 세계적인 노력으로 성장했다”며 “우리의 산업, 전력망, 운송, 교통을 운영하는 시스템”이라고 말했다.

오픈소스에 대한 위협

현대 문명의 대부분은 계속해서 확장하고 있는 오픈소스 코드에 의존하고 있다. 이것이 돈을 절약하고 인재를 끌어들이고 많은 일을 더 쉽게 만들어주기 때문이다.

그러나 에이텔 같은 전문가들은 오픈소스 운동이 우리 모두가 의존하는 거대한 생태계를 만들어내기는 했지만 우리가 그것을 완전히 이해하지는 못하고 있다고 주장한다. 오픈소스 생태계에는 셀 수 없이 많은 소프트웨어 프로젝트, 수백만 줄의 코드, 수많은 메일링 리스트와 포럼, 정체성과 동기가 불분명한 많은 기여자들이 있으므로 누군가에게 책임을 묻기가 어렵다.

이러한 오픈소스의 특성은 위험할 수 있다. 예를 들어 최근 몇 년 동안에는 해커들이 오픈소스 프로젝트에 악성코드를 조용히 삽입했던 일도 많았다. 백도어(back door)는 오랫동안 발견되지 않을 수 있으며 최악의 경우에는 프로젝트 전체가 오픈소스 커뮤니티와 코드에 대해 사람들이 갖고 있는 신뢰를 이용하는 나쁜 행위자들에게 넘어간 적도 있다. 때로는 이러한 프로젝트들이 의존하는 바로 그 소셜 네트워크를 파괴하거나 장악하려는 시도도 벌어진다. 그러나 이 모든 것을 추적하는 작업은 전적으로는 아니라고 해도 대부분 수작업으로 이루어졌기 때문에 이러한 문제의 엄청난 규모를 감당하기가 어려웠다.

브라투스는 확장하는 코드의 세계를 소화하고 이해하기 위한 머신러닝이 필요하다고 주장한다. 즉 자동화된 취약성 발견 같은 유용한 방법이 필요하다는 뜻이다. 또한 그런 코드를 작성하고 수정하고 실행하고 거기에 영향을 주는 사람들의 커뮤니티를 이해할 도구도 필요하다고 주장한다.

이러한 주장을 통해 그가 추구하는 궁극적인 목표는 결함이 있는 코드를 만들거나 여론조작을 시작하거나 개발을 방해하거나 심지어 오픈소스 프로젝트를 장악하려는 악의적인 캠페인을 탐지하고 그에 대응하는 것이다.

이를 위해서 연구원들은 ‘정서 분석(sentiment analysis)’ 같은 도구를 사용하여 리눅스 커널 메일링 리스트 같은 오픈소스 커뮤니티 내부의 사회적 상호작용을 분석할 것이며 이는 누가 긍정적이거나 건설적인지 또는 누가 부정적이고 파괴적인지 식별하는 데 도움을 줄 것이다.

연구원들은 어떤 종류의 사건과 행동이 오픈소스 커뮤니티를 해를 끼치거나 그곳에 지장을 줄 수 있는지, 어떤 구성원들이 신뢰할만한지, 이외에도 경계할만한 특정 집단이 존재하는지 등에 관한 통찰력을 원한다. 그리고 이러한 문제에 대한 답은 필연적으로 주관적일 수밖에 없다. 그러나 지금 당장은 그 답을 찾아낼 방법이 거의 없다.

전문가들은 오픈소스 소프트웨어를 실행하는 사람들을 제대로 파악하지 못하고 있기 때문에 전체 시스템에 대한 조작과 공격 위험이 커질 수 있다고 우려한다. 브라투스가 생각하기에 우선적인 위협은 미국의 중요 인프라를 움직이는 코드가 ‘신뢰할 수 없어질’ 가능성이다. 이렇게 되면 그다지 달갑지 않은 놀라운 일들이 발생할 수 있다.

답할 수 없는 질문들

소셜사이버 프로그램의 방식은 이렇다. DARPA는 ‘수행자(performer)’라고 부르는 여러 팀과 계약을 체결했다. 여기에는 뛰어난 기술력을 가진 소규모 부티크 사이버보안 연구소도 포함되어 있다.

그런 수행자 중 하나는 뉴욕에 본사를 둔 마진리서치(Margin Research)다. 이들은 이번 프로젝트를 위해 존경받는 연구자로 이루어진 팀을 구성했다.

마진리서치의 설립자 소피아 드앙투안(Sophia d’Antoine)은 “오픈소스 커뮤니티와 프로젝트를 지금보다 더 존중하고 거기에 더 많은 관심을 쏟아야 한다”고 주장했다. 드앙투안은 “기존의 많은 인프라는 오픈소스에 의존하므로 매우 취약한데, 우리는 오픈소스가 항상 거기에 있었으니 계속 그곳에 존재할 거라고 생각한다. 이것은 우리가 오픈소스 코드 베이스와 소프트웨어에 갖는 암묵적인 신뢰에서 후퇴하는 것”이라고 말했다.

마진리서치는 리눅스 커널에 집중하고 있다. 리눅스 커널이 매우 크고 중요하므로 이 정도 규모에서 성공을 거둘 수 있다면 다른 곳에서도 성공할 수 있기 때문이다. 이들의 계획은 코드와 커뮤니티를 분석하여 전체 오픈소스 생태계를 시각화하고 최종적으로는 이해하는 것이다.

마진리서치의 연구는 오픈소스 프로젝트에서 어떤 특정한 부분을 누가 담당하고 있는지 파악한다. 예를 들어 화웨이(Huawei)는 현재 리눅스 커널의 가장 큰 기여자고, 에이텔에 따르면 또 다른 기여자는 화웨이처럼 미국 정부의 제재를 받은 러시아 사이버보안 기업 포지티브테크놀로지스(Positive Technologies)에서 일하고 있다. 마진리서치는 또한 NSA 직원들이 작성한 코드를 매핑해왔다. 이 직원들의 대부분은 다양한 오픈소스 프로젝트에 참여하고 있다.

오픈소스 운동에 대한 이해도를 높이는 연구에 관해서 드앙투안은 “이 주제는 흥미롭다. 솔직히 가장 단순한 것들도 수많은 중요한 사람들의 눈에는 신기해 보이기 때문이다. 정부는 우리의 중요한 인프라가 말 그대로 제재받은 기업들이 작성하고 있을 수도 있는 코드를 실행하고 있다는 사실을 이제서야 막 깨닫고 있다. 이제서야”라고 말했다.

이러한 연구는 또한 한 명 또는 두 명의 자원자에 의해 전적으로 실행되는 중요 소프트웨어를 찾는 것도 목표로 한다. 이는 생각보다 흔한 일이다. 너무 흔해서 현재 소프트웨어 프로젝트들이 위험성을 측정하는 방법 중 하나가 ‘버스 팩터(bus factor)’일 정도다. 한 사람만 버스에 치이면 전체 프로젝트가 무너질 수 있다는 것이다.

소셜사이버 프로그램은 전 세계 컴퓨터 시스템에서 필수적인 리눅스 커널 관련 문제를 가장 시급한 문제로 보고 있지만, 다른 오픈소스 프로젝트들도 다룰 예정이다. 특히 어떤 수행자들은 파이썬(Python) 같은 프로젝트에 집중할 것이다. 파이썬은 수많은 AI와 머신러닝 프로젝트에 사용되는 오픈소스 프로그래밍 언어다.

DARPA는 이 프로그램을 통해 오픈소스 프로젝트에 대한 이해력을 높여서 악의적인 활동에 의한 것이든 그렇지 않든 상관없이 미래의 재난을 더 쉽게 예방할 수 있게 되기를 바라고 있다.

브라투스는 “세계 어느 곳에서도 오픈소스 소프트웨어를 발견할 수 있다”며 “심지어 최근 연구에 따르면 기업의 독점 소프트웨어도 사실 70% 이상이 오픈소스로 이루어져 있다”고 말했다.

에이텔은 “이는 중요한 인프라 문제지만 우리는 아직 오픈소스를 제대로 이해하지 못하고 있다”면서 이렇게 덧붙였다. “우리가 오픈소스를 제대로 이해하지 못하면 악의적인 해커가 리눅스 기계에 항상 접속해 있어도 알아채지 못할 것이다. 그러나 우리의 휴대전화도 리눅스 기계다. 따라서 우리는 오픈소스에 관한 이해도를 높여야 한다.”

미리보기 3회1회

MIT Technology Review 구독을 시작하시면 모든 기사를 제한 없이 이용할 수 있습니다.