나흘간 개발언어 취약점 16건 공개
서비스 공통 개발엔진…결함 하나에 연쇄 위험
AI가 찾는 묵은 결함…빠른 패치 배포 관건
PHP에 이어 자바·파이썬 등 주요 개발언어에서 보안 취약점이 잇따라 드러나면서 소프트웨어 안전성에 대한 우려가 커지고 있다. 인공지능(AI)이 개발 생태계에 숨어있는 허점 찾기에 속도를 내고 있다.
26일 한국인터넷진흥원(KISA)은 공지를 통해 PHP의 3번째 취약점에 대한 임시 조치를 권고했다. 이용자의 로그인 상태 등을 유지하는 세션 처리 과정에서 발생하는 원격 코드 실행 취약점으로, 세션 정보를 처리하는 중 파일 업로드 진행 상황을 기록하는 기능을 악용해 악성 명령을 실행할 수 있다. 앞서 'PHP2Shell'로 불린 취약점 2건의 수정본이 배포된 뒤 추가 공개된 것으로, 현재 보안 업데이트는 배포되지 않은 상태다.
지난 21일 PHP 취약점이 공개된 이후 자바, 노드, 깃랩, 라바렐 등 개발 환경에서도 취약점 대응 권고가 이어졌다. 지난 24일까지 나흘간 주요 개발언어에서 공식적으로 공개·수정한 취약점은 총 16건이다. 이 가운데 10건이 자바스크립트 실행환경인 노드(Node.js)에 해당한다. 'Node2shell'로 불리는 결함은 압축된 데이터를 푸는 도구에서 발생했다. 공격자가 조작한 압축 데이터를 풀어 읽는 과정에서 프로그램이 멈추거나 정보가 유출되는 등 가능성이 있는 것이다.
개발자들이 소스코드를 보관하고 공동 작업을 하는 깃랩도 보안 경고 대상에 올랐다. 깃랩은 특정 문자 패턴을 처리하는 과정의 오류를 악용하면 로그인하지 않은 공격자가 악성 명령을 실행할 수 있는 결함을 수정했다. 해당 취약점의 위험도는 공통취약점평가체계 기준 10점 만점에 10점으로, 위험도가 높았다.
공통 구성요소의 결함이 여러 서비스에 동시에 영향을 줄 수 있어 운영자는 자체 코드 점검뿐 아니라 프로그램을 구동하는 실행환경과 외부 라이브러리, 개발 도구까지 살펴야 하는 상황으로 변화했다.
취약점 발견이 빨라지는 요인으로는 AI의 보안 분석 능력 향상이 꼽힌다. 방대한 코드에서 의심스러운 부분을 찾아내고, 실제 공격으로 이어질 수 있는지 검증하는 데 AI가 활용되면서 기존에 파악하지 못했던 위험이 드러나는 것이다. 미국 비영리단체 전자프런티어재단(EFF)은 국가취약점데이터베이스에 1988년부터 기록된 공개보안취약점(CVE)이 약 40만건이며, 이달 발견된 새로운 CVE가 1만3000건에 달한다고 밝혔다. 연말까지 보고된 취약점이 전체 누적 건수의 4분의 1을 넘어설 것으로 전망했다.
꼭 봐야 할 주요 뉴스
"이번 선거 지면 핵폭탄 떨어진다?"…총선 앞 섬뜩한 이미지 띄운 네타냐후
오랫동안 드러나지 않았던 결함이 잇따라 발견되는 만큼 기존 코드에 누적된 보안 문제를 점검하고 개선하는 등 '기술 부채'를 해소해야 한다는 지적이 나온다. 김승주 고려대 정보보호대학원 교수는 "취약점을 발견·분석하고 다른 실행 엔진에도 유사한 문제가 있는지 살펴보면 추가 결함이 드러나는 상황"이라며 "개발사가 업데이트 코드를 만들어 신속 패치를 제공해야 하는 문제"라고 말했다.
<ⓒ투자가를 위한 경제콘텐츠 플랫폼, 아시아경제. 무단전재 배포금지, AI 학습 및 활용 금지>