전 세계 거의 모든 컴퓨터가 위험에 노출된 악성코드가 발견됐다고 기즈모도 등 외신이 3일 전했다.

 / IT조선 DB
/ IT조선 DB
영국 케임브리지대학의 연구원인 니콜라스 부처와 로스 앤더슨이 발견한 ‘트로이목마 소스(Trojan Source)’ 취약점으로 명명된 이 결함은 교묘한 곳에 숨겨져 있다.

이 취약점은 유니코드의 양방향이나 Bidi 알고리즘과 관련 있다. 오른쪽에서 왼쪽으로 읽는 아랍어와 왼쪽에서 오른쪽으로 읽는 영어와 같이 서로 다른 언어의 표시 순서를 가진 스크립트 처리 때문에 생긴 문제다.

모든 프로그래밍 언어는 컴파일 과정을 거쳐 사람들이 사용할 수 있는 실행 프로그램이 된다. 이 과정에서 코드의 이해를 돕고자 추가한 설명이 담긴 텍스트는 주석으로 표시하고 컴파일 과정에서 건너뛴다.

문제의 악성코드는 유니코드나 Bidi 재정의로 주석으로 처리된다. 그래서 프로그래밍 언어의 컴파일러가 이를 인지하지 못하고 넘어간다.

보도에 따르면 이 취약점으로 C, C++, C#, 자바스크립트, 자바, 고, 파이썬 등의 프로그래밍 언어가 공격을 받았으며, 그에 대한 개념증명 코드까지 개발이 완료됐다. 연구원들은 이외의 다른 모든 프로그래밍 언어들에도 영향을 받을 것이라고 확신했다.

개발자들이 깃허브(GitHub) 등을 통해 소스코드를 복사해 활용하는 경우가 많은데, 이렇게 소스코드를 재활용하는 것만으로도 악성코드는 전파될 수 있다는 점이 큰 위험 요소로 지적됐다. 연구원들은 이런 특성 때문이라도 컴파일러의 업데이트가 시급하다고 강조했다.

이 결함을 발견한 연구원들은 이 공격이 모든 소스코드를 위태롭게 하며 "퍼스트 파티 소프트웨어와 업계 전반의 공급망 손상에 즉각적인 위협이 된다"고 경고했다.

하순명 기자 kidsfocal@chosunbiz.com