
전 세계 웹사이트의 토대인 프로그래밍 언어 PHP에서 치명적인 보안 결함 두 건이 드러나자, 유럽을 중심으로 각국 정부와 기관이 앞다퉈 사이트를 닫았다. 해킹이 확인돼서가 아니라 공격이 시작되기 전에 스스로 문을 걸어 잠근, 초유의 예방적 셧다운이다.
참고로, PHP(PHP: Hypertext Preprocessor)는 웹 페이지를 동적으로 만들기 위해 서버 측에서 실행되는 프로그래밍 언어(스크립트 언어)이다. 사용자가 웹사이트에 접속하면 서버가 PHP 코드를 먼저 실행해 HTML을 만든 후, 그 결과를 사용자의 웹 브라우저로 전송한다.
인터넷의 토대에서 발견된 균열
PHP는 눈에 띄지 않지만 인터넷의 상당 부분을 떠받치는 프로그래밍 언어다. 보안업체 위즈의 추산으로 전 세계 웹사이트의 약 70%가 이 언어를 토대로 돌아가고, 워드프레스와 위키백과 같은 대형 사이트도 그 위에 서 있다. 문제는 이 토대에서 비밀번호 없이 서버를 장악할 수 있는 치명적 결함 두 건이 한꺼번에 드러났다는 점이다. 심각도를 매기는 CVSS 점수는 10점 만점에 9.2점. 결함은 인공지능을 동원한 보안 감사에서 발견됐고, PHP재단의 보안 엔지니어는 10여 년 만의 가장 심각한 문제라며 2014년의 하트블리드 사태에 견주었다.
패치 하루 전 새어 나온 세부 정보
결함이 위험한 이유는 문이 활짝 열려 있기 때문이다. 공격자는 취약한 서버에서 원격으로 코드를 실행해 파일과 데이터베이스에 닿을 수 있고, 통제권을 통째로 빼앗는 것도 가능하다. 수정 프로그램이 공개되기 하루 전인 화요일, 결함의 세부 내용이 온라인에 유출되면서 상황은 급박해졌다. 미국 국가안보국과 연방수사국은 즉시 업데이트를 경고했고, 불가능하면 사이트를 오프라인으로 내리라고 권고했다. PHP 개발진은 수요일 긴급 수정본을 내놓았지만, 각국 기관들은 패치를 기다리지 않고 문부터 닫는 쪽을 택했다.
스스로 문을 잠근 정부들
셧다운은 유럽에서 가장 먼저 번졌다. 네덜란드는 디지털 신분증 시스템 디지아이디와 정부 포털, 로테르담항 포털을 내렸고, 총리가 임시 폐쇄를 직접 발표했다. 벨기에 사이버보안센터는 아직 확인된 공격은 없다고 선을 그으면서도 위험이 높다고 하면서 폐쇄를 권고했고, 권고한 기관 자신의 사이트마저 문을 닫았다. 벨기에 외교·재무·노동부 사이트가 멈췄고, 핀란드와 노르웨이, 덴마크도 정부 사이트를 내리거나 긴급 경고를 냈다. 일본과 호주 당국도 업데이트를 서두르라고 촉구했다. 전문가들은 인공지능이 취약한 서버를 대규모로 찾아 공격하는 경쟁이 시작될 수 있다고 경고한다.
고치는 속도, 공격하는 속도
수요일 나온 긴급 패치로 복구는 시작됐고, 닫혔던 사이트들도 차례로 다시 열릴 전망이다. 그러나 이번 소동이 남긴 것은 패치 한 번으로 끝나지 않는다. 올해 공개되는 소프트웨어 취약점의 수는 인공지능의 발달에 힘입어 지난해의 기록을 두 배 가까이 웃돌 것이라는 관측이 나온다. 인공지능이 10년 넘게 숨어 있던 결함을 찾아낸 것도, 그 결함을 노리는 공격의 속도를 높일 수 있는 것도 같은 기술이다. 보이지 않는 토대 위에 선 인터넷의 하루는, 그 토대를 지키는 일이 이제 전 세계의 동시 작업이 됐음을 보여 줬다.





