지난 22일 일본 재무성 홈페이지의 일부 기능이 멈췄다. 은행과 증권사도 온라인 서비스를 일시 중단했다. 웹사이트를 움직이는 프로그래밍 언어 PHP에서 치명적인 보안 허점이 발견되자 공격을 막기 위해 먼저 문을 닫은 것이다.
일본이 먼저 신속하게 대응에 나선 것은 중국어와 함께 일본어의 문자 처리 방식 때문이라는 해석도 있다. 2024년 발견된 별도의 PHP 취약점(CVE-2024-4577)은 일부 일본어·중국어 설정의 윈도 서버에서 문제가 됐다. 당시 대만 보안업체 데브코어는 일부 일본어·중국어 설정의 윈도 서버에서 특수문자를 비슷한 기호로 바꿔 읽는 기능을 악용하면 보안 검증을 우회해 악성 명령을 실행할 수 있음을 확인했다.
하지만 이번에 발견된 취약점 ‘PHP2Shell’은 다르다. PHP가 컴퓨터 메모리와 오류를 처리하는 과정에서 발생한 결함으로 사용하는 언어와 관계없이 특정 조건을 충족하는 서버에 영향을 줄 수 있다. 오히려 이번 사태를 계기로 주목받는 것은 오래된 PHP 사용 환경이다. 미국 보안기업 말로리에 따르면 일본에서 PHP 버전이 확인된 서비스 18만514개 중 79%가 공식 보안 지원이 종료된 8.1 이하 버전을 사용했다. 특히 기업이 문제다.
구형 PHP는 새 취약점이 발견돼도 개발진의 공식 패치를 받기 어렵다. 최신 버전으로 교체하면 기존 홈페이지나 결제·회원 관리 프로그램이 정상 작동하지 않을 수 있어 점검과 수정이 필요하다. 보안업계 관계자는 “언어 문제라기보다 구버전을 사용하는 등 평소 보안 의식이 낮다는 게 문제”라며 “한국도 구버전 사용 비중이 일본보다 높은 만큼 이 사건을 계기로 기본부터 챙겨야 한다는 인식이 늘어날 필요가 있다”고 지적했다.