[PHP 해킹 비상] (종합)
쇼핑몰·기업홈피 제작 프로그램...전세계 사이트 75% 사용

#쇼핑몰 앱에서 찾는 물건을 입력하면 검색결과 리스트가 뜬다. 그 중 하나를 클릭, 가격을 확인하거나 구매를 진행한다. 이 과정에 사용자와 웹페이지, 정보가 저장된 서버 사이에 수많은 명령과 결괏값이 오간다. 그 약속들이 대개 PHP라는 프로그램 언어를 기반으로 한다. 웹사이트 내부에서 특정한 사용자 요청을 확인하고 서버에서 데이터를 가져와 처리하는 일이 PHP라는 파이프라인을 타고 벌어지는 셈이다.
이 구조의 연결 부위가 헐겁거나 사용자 입력을 검증하는 방어막에 틈이 생기면 문제가 발생한다. 쇼핑앱에 로그인하지 않고도 조작된 허위 카드 정보를 입력해 결제하거나 엉뚱한 명령을 실행할 수 있다. 전세계 보안 및 사이버 당국이 PHP 취약점 발견에 긴장하는 이유다.
◇美 日 유럽 등 긴급 예방조치= 미국에선 즉각 업데이트하기가 어렵다면 인터넷 연결부터 끊으라고 경고했다. 유럽 각국은 실제 예방적 조치로 대대적인 웹사이트 셧다운에 나섰다. 네덜란드에서는 유럽 최대 항만인 로테르담 항만을 비롯해 정부 포털, 병원, 주요 정당 웹사이트가 접속을 차단했다. 핀란드, 덴마크, 벨기에 등에서도 정부 공공망, 주요 언론사, 공립학교 소통 플랫폼 등이 선제적으로 오프라인으로 전환하면서 광범위한 서비스 중단 사태가 이어졌다.
다카이치 사나에 일본 총리는 전날 밤 긴급 성명을 내고 "기업들은 가능한 한 빨리 문제 해결 조치를 시행하고 필요한 경우 서비스 중단을 고려해 달라"고 촉구했다. 니혼게이자이신문(닛케이)에 따르면 일본 지역 은행부터 대형 은행·증권사까지 금융권 대부분이 자사 온라인 서비스를 제한했다.
미쓰비시UFJ은행은 22일 시스템 임시 점검을 이유로 일부 인터넷 서비스를 일시 중단한다고 밝혔다. 개인용 인터넷뱅킹 '미쓰비시UFJ 다이렉트'에서 투자신탁 계좌 개설과 소액투자비과세제도(NISA) 이용 신청이 중단됐다. 미즈호은행은 전날 중단했던 영업점 방문 예약 서비스를 22일 아침 재개했다.
소매·통신 등 다양한 업종으로 영향이 번졌다. 일본 최대 맥주 회사 아사히그룹은 예방 차원에서 일부 웹사이트와 시스템을 일시 중단했다. 다이마루마쓰자카백화점, 철도회사 JR서일본, 스즈키 등은 이날 오전 홈페이지 접속을 차단했다. 전일본공수(ANA)는 전날 애플 월렛 탑승권을 포함한 앱 서비스를 중단했다고 밝혔다. 일본항공(JAL)도 자사 사이트를 닫았다.
독자들의 PICK
지금 4,324명 읽는 중
온라인게임 '월드퀘스트'는 전날 갑작스럽게 서비스를 종료했다. 운영사는 소셜미디어(SNS)를 통해 "서버에 쓰는 PHP 자체에서 심각한 취약점이 발견됐다"며 "오래된 구조여서 충분한 대책을 마련할 수 없다"고 설명했다.

◇1990년대 개발, 전세계 확산 = PHP는 캐나다 프로그래머인 라스무스 러도프가 1994년 처음 만들었다. 개인 홈페이지 방문 이력 관리용이었다. 그래서 '개인 홈페이지 도구(퍼스널 홈페이지 툴)'의 영어약자를 썼다. 현재 PHP의 뜻은 '하이퍼텍스트 프리프로세서'로 통한다.
PHP는 이후 전 세계 웹사이트 75%가 사용할 정도로 광범위하게 확산했다. 워드프레스 같은 블로그나 쇼핑몰 제작 프로그램이 해당한다. 정부 포털 사이트나 기업 홈페이지, 쇼핑몰 사이트, 커뮤니티 등에도 쓰인다.
해커들이 PHP의 취약점을 파고들면 정보를 빼내고 웹사이트를 조작하는 게 가능해진다. 특히 웹사이트 관리자 아이디나 비밀번호를 몰라도 공격할 수 있다. 원격 코드 실행(RCE)으로 서버를 장악하거나 정보를 빼낼 수 있다는 평가다.
10년 넘게 방치된 숨은 결함, AI가 찾았다

전세계 인터넷 생태계를 긴장시킨 PHP 취약점은 AI(인공지능)의 도움으로 발견했다. AI가 사이버 보안 분야에서 거둔 역사적인 성과인 동시에 경고신호로 평가 받는다.
PHP는 웹사이트를 구성, 관리할 때 쓰는 프로그래밍 언어다. 21일(현지시간) 외신을 종합하면 해당 결함은 지난 10년 이상 PHP 코드에 존재해 왔다. 개발자들이 발견하기에는 지나치게 복잡해 잠재적 우려 정도로 치부돼 왔다.
그런데 보안업체 캘리프가 오픈AI의 'GPT-5.6 솔'을 활용해 보안 점검 과정에서 이 결함을 찾아냈다. 공격자가 인증 절차 없이 특수하게 조작된 요청만으로 서버에서 원하는 명령을 실행할 수 있다는 점에서 위험성이 큰 걸로 평가됐다. 보안업체 위즈도 독자적으로 취약점을 발견해 신고했다.
위즈의 아미 루트와크 공동창업자는 "AI가 발견한 취약점 중 역대 가장 심각한 수준"이라며 "AI가 없었다면 수년 동안 파악조차 불가능했을 것"이라고 밝혔다.
AI의 순기능만 볼 수 없는 상황도 벌어졌다. 보안 패치 배포 과정에서 패치 배포업체가 약속시간보다 6시간 먼저 패치를 공개했다. 인공지능 도구를 활용하면 공개된 패치 코드를 역분석해 몇 분 만에 공격용 악성 스크립트를 만들어낼 수 있다. 결과적으로 정식 배포를 기다리던 수억명의 이용자들이 몇 시간동안 방어망 없이 해커들의 공격 타깃으로 노출된 셈이다.
AI가 보안상 문제점을 발견하는 데 도움을 주지만 이 약점을 악용하는 데도 쓰일 수 있다는 게 드러났다. PHP 재단은 이 같은 공조 실패에 대해 "수많은 주체가 수주 동안 기울인 노력을 무시한 일방적 행위"라며 비판했다.
오픈AI는 성명에서 "최근 기억에 남을 만큼 가장 파급력이 큰 보안 문제 중 하나"라고 밝혔다.
한편 PHP를 개발, 관리하는 PHP 재단은 2024년 외부 보안 감사에서 이미 관련 징후를 포착했음에도 내부 합의 난항과 기존 프로그램과의 호환성 문제 등으로 패치 작업을 미뤄온 사실을 인정했다. PHP 재단은 "사실을 숨기지 않겠다"며 "의사 결정의 지연과 자원 부족이 불러온 구조적 실패였다"고 밝혔다.
서버 10대 중 9대 구버전...보안 업데이트도 쉽지 않다
전 세계 홈페이지 상당수가 쓰는 프로그래밍 언어 PHP에서 해킹 구멍이 발견돼 정부가 사이버위기 경보를 울렸다. 그런데 국내 PHP 서버 10대 중 9대는 이 구멍을 막는 보안 업데이트가 어려운 옛 버전인 것으로 나타났다.
글로벌 보안업체 말로리(Mallory)가 인터넷에 연결된 서버를 찾아 주는 검색엔진 쇼단(Shodan)으로 21일(현지시간) 집계한 결과, 버전 정보가 드러난 한국 PHP 서버 5만6423건 중 89%가 PHP 8.1 이하로 나타났다. 전 세계 평균 73.5%보다 15%포인트 이상 높다.
PHP 개발진은 이날 8.2~8.5 버전용 보안 업데이트를 내놨지만 지원 기간이 끝난 8.1 이하 버전에는 업데이트를 내지 않는다. 박세준 티오리 대표는 페이스북에 "오래된 쇼핑몰처럼 PHP 5, 7 버전에 멈춰 있는 사이트가 많아 주의가 필요하다"고 지적했다.
옛 버전을 쓰는 곳은 새 버전으로 갈아타야 하지만 이마저 쉽지 않다. 웹호스팅 업체 가비아 관계자는 "PHP 버전을 변경하면 기존 코드나 플러그인, 테마에 따라 일부 기능이 정상적으로 동작하지 않는 등 호환성 문제가 발생할 수 있다"며 "상위 버전으로 전환하려면 사이트 소스 수정이 필요한 경우가 많다"고 설명했다.
당장 갈아타기 어렵다면 외부 접속을 막는 게 대안이다. 정부는 22일 낮 12시 민간 분야 사이버위기 경보를 '관심'에서 '주의'로 한 단계 올렸다. 배경훈 부총리 겸 과기정통부 장관은 페이스북을 통해 "업데이트가 어려운 경우 외부 접속을 차단하거나 서비스 중단도 검토해달라"고 당부했다.
과학기술정보통신부 관계자는 "정확한 통계는 없지만 국내 웹페이지의 약 70~80%가 PHP를 이용해 제작된 것으로 추정한다"면서 "웹사이트나 서비스 중단은 정부가 일률적으로 결정하기 어렵다. 취약점 악용에 따른 피해 신고가 접수되는지 등을 살펴보고 있다"고 했다. 공공부문 웹사이트 보안은 국가정보원 소관이다.
이기혁 한국보안정책연구원장은 "PHP를 사용하는 곳은 규모와 관계없이 모두 점검해야 한다"며 "정부는 점검 도구와 구체적인 대응 지침을 제공하고, 기업들은 자신의 서버와 데이터를 스스로 보호하기 위한 책임을 다해야 한다"고 강조했다.