
IT 서비스 공급망 기업, 국가 주요 기반 시설, 대기업, 정부 기관 등을 겨냥한 사이버 공격은 물론이고, 새로이 급부상한 기술인 메타버스까지 사이버 공격 수단으로 악용하는 사례가 날이 갈수록 심각해지는 상황이다. 이에 따라 사이버 보안 인력의 역할이 중요해졌다.
그리고, 전문 보안 관리 기술과 함께 프로그래밍 언어 능력이 사이버 보안 관리에 도움이 되는 것으로 알려졌다. 그러나 최근, 케임브리지대학교 연구팀이 프로그래밍 언어 대부분이 트로이 목마 공격에 취약하다는 연구 논문을 발표했다.
이번 논문을 작성한 니콜라스 바우처(Nicholas Boucher) 박사와 유명 정보보안 전문가 로스 앤더슨(Ross Anderson) 박사는 보안 취약점 때문에 해커가 인간 개발자가 찾을 수 없는 악성 소스 코드를 삽입할 수 있다는 점에 주목했다.
해커는 유니코드 형태의 양방향 알고리즘(Bidirectional Algorithm)의 특성을 제어하면서 소스 코드 내 텍스트 명령을 이용해 개발자가 당장 발견할 수 없는 악성 결과를 생성한다. 이렇게 배포되는 트로이 목마 공격은 공급사 소프트웨어와 공급망 공격에 모두 이용할 수 있다.
바우처 박사와 앤더슨 박사는 C와 C++, C#, 자바스크립트, 자바, 러스트, 고, 파이썬 등 여러 언어의 트로이 목마 취약성을 연구했다. 이 과정에서는 컴파일러를 사용해야만 하는 효과적인 방어 프로그램과 편집 프로그램, 저장소, 구축 파이프라인으로 사용할 수 있는 방어 프로그램을 이용해 언어의 보안 취약점을 파악했다.
그러나 바우처 박사와 앤더슨 박사는 대다수 비텍스트 렌더링 시스템과 같이 컴파일러와 해석 프로그램이 양방향 알고리즘을 포함한 형태 제어 특성의 일반적인 과정을 거친 뒤 소스 코드 분석이 불가능하다는 사실에 주목했다.
이어, 프로그래밍 언어의 취약점을 이용해 인간 검토자와 컴파일러가 이해할 수 있는 역방향 코드 삽입 텍스트도 생성할 수 있다고 밝혔다.
연구팀은 연구에 이용한 컴파일러 절반 이상이 인간 개발자의 눈을 피한 코드 삽입을 이용한 트로이 목마 공격 개시가 가능하다는 점에서 모든 컴파일러 개발사에 문제를 공유했다. 현재 연구팀이 연락한 컴파일러 개발사 50% 이상이 패치 작업을 진행 중이거나 앞으로 문제를 보완하겠다고 밝혔다.
한편, 연구팀은 "이번 연구는 컴파일러와 인간 검토자가 해석할 수 있는 것과 다른 방식으로 코드를 생성하여 상당수 국제 텍스트 지원이 가능한 프로그래밍 언어에 악성 코드 삽입 공격이 얼마든지 발생할 수 있다는 사실을 입증한다"라고 설명했다.
[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]