“AI 취약점 악용 공격 발생 가능성 높다”
상태바
“AI 취약점 악용 공격 발생 가능성 높다”
  • 데이터넷
  • 승인 2018.07.10 08:32
  • 댓글 0
이 기사를 공유합니다

[칼럼] “오픈소스 사용하는 AI, 취약점 관리 문제 해결 시급…바이너리 코드 취약점 관리 필수”
▲ 강태진 인사이너리 대표이사

시장조사기관 가트너에 따르면 AI가 창출하는 비즈니스의 가치는 2022년 3조9000억달러 (약 4200조원)에 이를 것으로 전망된다. AI가 창출하는 글로벌 비즈니스의 가치는 2018년 1조2000억달러로, 전년도보다 70%나 증가한 규모로 추정된다.

AI의 혜택은 매우 크다. 전 세계 여러 나라에서 벌어지는 노동 인구 감소로 노동력 부족을 AI의 가상 노동력으로 메울 수 있다. AI는 기존 노동 인구의 기술과 능력을 향상시켜 노동의 효율성을 몇 배로 증대시키는 동력으로 기능할 수도 있다. 가장 중요한 대목은 AI가 빅데이터를 자동 분석해 그를 바탕으로 업무를 수행하거나 사람들에게 실행 가능한 통찰을 제공할 수 있다는 점일 것이다.

쏟아지는 데이터, AI로 해결

산업화된 기업들은 엄청난 양의 데이터를 수집한다. 예를 들면 페덱스는 페덱스 서비스, 페덱스 익스프레스, 페덱스 그라운드, 페덱스 프레이트 네 부문의 비즈니스로 나뉘어 있다.

2017년 회계연도 기준으로 페덱스는 전세계적으로 매일 평균 1,400만 개에 가까운 화물을 취급했다. 그 과정에서 각각의 화물은 픽업, 배달, 비용, 비용 지불, 무게, 바코드, 내용물 정보뿐 아니라, 분류 시설에서 최종 목적지로 가는 동안에도 다수의 데이터 포인트를 생성했다.

어떤 화물은 페덱스 운송 시스템을 거치는 동안 기밀을 유지해야 한다거나 특정 온도에서 보관해야 한다는 식으로 특별한 취급 요건을 달고 있다. 이 같은 개별 화물의 데이터에 더해 페덱스의 배달 차량도 주행 거리와 운송 위치를 비롯한 여러 데이터를 지속적으로 생성한다.

우리가 수집할 수 있는 데이터의 규모가 어느 정도인지 가늠해 보기 위해 항공기 엔진을 들여다보기로 하자. 항공기 엔진 제조업체인 프랫앤 휘트니의 ‘기어 감속 터보 팬’(GTF) 엔진에는 수천 개의 감지기가 설치돼 있는데, 이를 통해 초당 10GB 규모의 데이터가 수집된다. 이는 평균 12시간 비행시간 동안 800TB 이상의 데이터가 생성된다는 뜻이다. 각 항공기가 복수의 엔진을 달고 있고, 그런 항공기들이 복수로 운항된다는 점을 감안하면, 해당 기관은 매우 짧은 시간에 제타바이트(ZB) 규모의 막대한 데이터를 축적할 수 있다는 얘기다.

엔진의 정보는 제대로 취급된다면 최적의 엔진 퍼포먼스를 달성하는 데 활용돼 비용을 절감할 수 있다. 만약 페덱스가 감지기와 연결된 커뮤니케이션 시스템을 전체 공급망 관리에 고루 적용할 수 있다면, 그 효율성은 괄목할 만한 수준으로 높아질 것이다. 그러나 현재의 시스템 환경에서 이 모든 데이터를 효과적으로 관리하기는 어렵다. 그 때문에 많은 과학자, 경영자들은 AI에 눈길을 돌린다.

“AI, 2035년 16개 산업 수익률 38% 높여”

AI는 아마존의 ‘에코(Echo)’ 프로그램에 활용된다. 애플의 ‘시리’(Siri)도 AI의 도움을 받는다. 이들은 일반 소비자에 초점을 맞춘 AI 플랫폼의 두 가지 사례에 불과하다. AI가 점점 더 정교해지면서 이를 이용한 가상 비서가 점점 더 일상의 잡무를 처리하게 되면, 사람들은 자동화가 불가능한 더 복잡한 문제와 씨름하는 데 집중할 수 있게 될 것이다.

향후 10년간 AI는 여러 비즈니스 분야와 기관들에 수직으로, 단순한 업무 시스템에서 시작해 결국 더 정교한 통합으로 발전하는 양상을 보여줄 것으로 기대된다. 10년 안에 AI 시스템이 멀리 떨어진 IoT 기기부터 기관의 내부 시스템과 클라우드 기반 시스템을 관리하는 데 활용될 것이라는 뜻이다.

컨설팅 기업 액센츄어는 이런 주장을 뒷받침하는 연구 보고서를 펴냈다. AI가 2035년까지 16개 산업 분야에 걸쳐 기업의 수익률을 평균 38%까지 높일 수 있는 잠재력을 가지고 있다고 전망했다.

AI 시스템 보안성 확보 ‘시급’

AI 시스템의 핵심 목표는 의사 결정 과정에서 사람을 점점 더 높은 자리로 밀어 올리는 것이다. 이는 업무 상의 데이터 수집, 시스템 간 커뮤니케이션, 그리고 시스템-사람 간이나 시스템-시스템 간 상호 작용이 점점 더 자동화된 방식으로 진행될 것이라는 뜻이다.

AI 시스템은 고도의 지능을 갖춘 듯 보이지만, 다른 여느 소프트웨어 기반의 컴퓨팅 플랫폼과 마찬가지로 악의적인 해킹이나 바이러스에 여전히 취약하다. 범죄적인 해커든 정부의 후원을 받는 해커든 AI 시스템에 침투하게 되면 그로 인한 데이터의 손상, 손실, 혹은 오용의 피해는 치명적일 것이다. 그뿐 아니라 AI 시스템의 속성은 해커의 범행이 적기에 발견되는 것을 방해하는 결과로 이어질 수도 있다.

AI 시스템의 해킹에 따른 데이터 도난, 손실 또는 오용은 정부 기관, 기업, 그리고 시민 들에게 악영향을 끼칠 수 있다. 금융, 의료, 통신, 국방, 치안 등 광범위한 활동 분야를 마비시킬 수 있다.

그리고 해커들은 이미 알려진 오픈소스의 취약성을 악용해 이런 범행을 저지르는데, 이는 시스템 전체를 마비시키고 장악하기 위해 오랫동안 선호되고 빈번하게 활용되어 온 방식이기도 하다.

AI도 오픈소스로 운영

기술 혁신의 동력으로 가진 엄청난 가치 덕택에 오픈소스는 더 이상 거스를 수 없는 대세이다. 오픈소스 코드는 이제 모든 산업 분야와 층위에서, 온갖 규모의 기업들에 의해 널리 사용되고 있다. 모든 소프트웨어의 90% 이상이 완전히 오픈소스로 구성됐거나, 오픈소스의 요소를 포함하고 있다. 오픈소스는 운영체제, 생산성 소프트웨어, 관리 및 개발 툴 등에 사용되고, 기업과 소프트웨어 개발사들이 소프트웨어 개발에 이용하는 코드 라이브러리에도 사용된다. 요즘은 오픈소스 요소를 사용하지 않은 상업용이나 기성 소프트웨어를 찾기가 어려울 지경이다.

오픈소스 요소의 확산은 AI 시스템에도 적용된다. 가령 온라인 최대의 오픈소스 소프트웨어 저장소인 깃허브에는 20개 이상의 파이썬 관련 AI와 머신러닝 프로젝트가 등재돼 있다.

소프트웨어 코드가 독점이든 오픈소스든 상관없이 보안 취약성은 어디에나 포함되어 있을 수 있다. 오픈소스를 옹호하는 이들은 코드의 높은 접근성과 투명성 덕택에 기업의 품질보증 팀, 화이트햇 해커들, 또는 오픈소스 프로젝트 그룹과 같은 선한 사람들에 의해 버그를 더 발리 찾아낼 수 있다고 주장한다.

비판자들은 코드를 고치려는 방어자보다 허점을 찾는 공격자가 더 많기 때문에 결과적으로 취약성을 악용한 사태의 발생 확률도 더 높다고 반박한다. 오픈소스 커뮤니티는 취약점을 찾아 바로잡는 데 퍽 뛰어나다. 일단 오픈소스의 취약성이 발견되면 커뮤니티는 재빨리 그 취약점을 식별하고 이를 해결한 오픈소스 버전으로 업데이트해 널리 알린다.

역동적으로 증가하는 보안 취약점

취약점의 기본 숫자는 늘어나는 추세이다. 더 많은 코드가 개발되는 만큼, 의도하지 않은 취약점도 더 늘어날 수밖에 없다. 미국 정부는 ‘일반 보안 취약점과 노출(CVE)’ 목록을 지원하는데, 그에 따르면 2017년에만 1만4712종의 새로운 취약점이 보고되었다. 그보다 더 우려되는 대목은, 최근 데이터로 추정하건대, 2018년에는 그 기록조차 깨질 것으로 예상된다는 점이다.

사안을 더욱 복잡하게 만드는 변수는, 우량 오픈소스 코드의 경우, 온갖 다양한 애플리케이션들에 여러 다른 방식으로 이용된다는 점이다. 그러므로 매우 유용한 코드 하나에서 취약점이 발견된다면, 그 코드를 포함한 수많은 플랫폼과 소프트웨어들도 해커들의 공격에 노출된다는 뜻이다.

잘 알려진 보안 취약점의 대부분은 기관들에서 이용되는 코드 속에 숨어 있다. 결과적으로 이용자들은 자신들이 사용하는 코드 안에 보안 위협이 도사리고 있어서 사실상 해커의 공격을 기다리는 꼴이라는 점을 알지 못한다.

그렇다면 이들 취약점은 어떻게, 오픈소스를 활용한 애플리케이션과 플랫폼과 기기에 숨어서 만연될 수 있을까?

오픈소스 요소의 최신 버전은 대체로 보안 취약점이 없다. 기관 내부의 소프트웨어 개발팀과 제3의 개발자들이 해결해야 할 과제는 자신들이 보유한 데이터베이스에 포함된 모든 오픈소스 소프트웨어 요소들의 업데이트 상황을 효과적으로 추적하는 일이다.

이것이 어려운 이유 중 하나는 현재의 소프트웨어 개발 및 구매 모델 탓이다. 기관의 개발팀이 제3의 개발사로부터 소프트웨어를 받을 때 소스코드가 아닌 바이너리 파일으로 받는다는 점도 문제를 어렵게 하는 한 변수다.

개발, 보안, 소프트웨어 관리 팀들은 코드의 지문인식을 이용한 ‘바이너리 코드 스캐너’의 힘을 빌릴 수 있다. 스캐너는 검사할 바이너리로부터 ‘지문(fingerprints)’을 추출해, 이를 믿을 만한 오픈소스 저장소의 오픈소스 요소들로부터 수집한 지문과 비교한다. 특정한 오픈소스의 요소와 그 버전이 이 지문 대조 절차를 통해 식별되면, 개발 및 보안 팀은 해당 요소와 연계된 보안 취약점들이 무엇인지, 미국 정부가 지원하는 ‘국립 취약점 데이터베이스(NVD)’와 같은 정보를 참조해 쉽게 찾아낼 수 있다.

AI는 매우 유망하다. 우리 경제의 근본 구조를 긍정적으로 바꿀 만한 위력을 지니고 있다. 그러나 악의적인 해커나 범죄자들이 보안 취약점을 악용해 AI의 적용과 활용을 방해하거나 위해를 끼칠 잠재적 위험도 존재한다. 이 같은 보안 위기의 전파 속도와 잠재적 피해 규모를 고려하면, 엔지니어링 팀은 AI 시스템을 실제 현장에 배치하기 전에, 알려진 취약점을 발견하고 바로잡는 노력을 지속적으로 경주해야 할 책무가 있다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.