2018.08.23

'저위험' PHP 역직렬화 취약점, 재평가해야

Karen Epper Hoffman | CSO
거의 10년 동안 PHP 역직렬화(unserialization) 취약점은 사이버 범죄자가 원격 코드 실행을 설치하거나 다른 악성코드를 시스템에 제공하는 데 쓰이는 인기 있는 경로였다. 그러나 이번달 블랙햇에서 발표된 새로운 연구에 따르면 악의적인 해커는 이 공격에 대해 위험이 적었던 환경에서도 이 취약점을 도입할 수 있는 것으로 밝혀졌다.



대부분 범죄(또는 업무) 분야와 마찬가지로 사이버범죄에서도 많은 변화가 일어나지만 사람들은 과거의 행동에 그대로 머물러 있으려는 경향이 있다.

페트야/낫페트야 및 악성코드의 출현으로 블랙햇에서 시연해 보인 해킹이 새롭지는 않았다. 나쁜 행위자는 단순히 기존의 접근 방식이나 공격 벡터를 사용하고 새로운 트위스트를 추가할 뿐이었다. 정보보안 컨설팅 회사인 세카마(Secarma Ltd)의 연구 책임자 샘 토마스는 블랙햇 행사에서 PHP 역직렬화 공격을 시연했다.

토마스는 사이버 범죄자가 이전에는 저위험으로 간주되었던 기능을 사용하여 PHP 프로그래밍 언어에서 중요한 역직렬화 취약점을 쉽게 생성할 수 있는 새로운 개발 방법을 보여줬다. PHP 역직열화 취약점 또는 객체 주입 취약점이 호출되어 해커가 PHP 함수의 ‘역직렬화’에 악의적인 입력을 제공하여 여러 종류의 공격을 수행할 수 있다. 직렬화는 데이터 객체를 일반 문자열로 변환하는 프로세스며 역직렬화 함수는 객체를 문자열에서 다시 생성한다. 이 공격 벡터는 2009년부터 문서로 정리됐으며 이러한 결함이 존재한다는 사실은 새로운 것이 아니다.

실제로 OWASP는 PHP 역직렬화를 상위 10대 목록에 추가했으며 작년 대규모 에퀴닉스 위반은 역직렬화를 통해 시작된 것으로 보고되었다.

1990년대 중반부터 있었던 서버 스크립팅 언어인 PHP(Hypertext Preprocessor)의 인기를 고려할 때, 나쁜 행위자가 이 접근법을 악용하는 새로운 방법을 발견한 것은 놀랄 일이 아니다. 블랙토크(Black Tak) 세션에서 토마스는 "이게 바로 PHP 역직렬화 취약점이다. 하지만 우리가 알지 못하는 하 사이버 범죄자가 파(Phar) 아카이브에 대해 위험도가 낮은 함수를 사용하여 다양한 시나리오에서 역직렬화() 함수를 사용하지 않고도 역직렬화 공격을 시작할 수 있다. PHP의 아카이브 형식인 파 파일은 메타 데이터를 직렬화된 형식으로 저장한다. 이 형식은 포펜(fopen), file_exists, file_get_contents 같은 파일 작업 함수가 아카이브 파일에 접근하려고 할 때마다 직렬화되지 않다”고 설명했다.

이어서 "이것은 직접 파일 작업과 XML 내에서 외부 엔터티 처리 중에 발생하는 간접 작업 모두에 해당된다"고 말했다. 토마스는 블랙햇 기간에 PHP 역직렬화 공격의 특정 변형이 웹 서버를 완벽하게 제어하기 위해 워드프레스 사이트에서 어떻게 사용될 수 있는지에 관한 백서도 발표했다. 백서에 따르면, 공격자가 필요로 하는 모든 것은 악의적인 페이로드 오브젝트를 포함하는 유효한 '파' 아카이브를 대상 로컬 파일 시스템에 업로드하고 파일 조작 함수가 접근하도록 만든다.

토마스에 따르면 이 취약점은 기본 JPEG 이미지, 100바이트를 변경하여 유효 JPEG로 변환된 파 아카이브로 악용될 수 있다.

"애플리케이션 내의 특정 축소판 기능이 작동하는 방식으로 미디어 항목을 업로드하고 수정하여 'file_exists' 요청에 사용된 매개 변수를 충분히 제어할 수 있는 권한을 가진 공격자가 직렬 해제를 발생시킬 수 있다"고 토마스는 전했다. 또한 게시물을 작성하거나 편집할 수 있는 공격자는 악의적인 이미지를 업로드하고 취약한 시스템에서 임의의 PHP 코드를 실행할 수 있다.

토마스는 역직렬화가 "이전에 상당히 위험이 낮은 것으로 여겨지던 많은 취약점에 노출돼 있다"고 강조했다.

그는 "구성 변경으로 수정됐거나 이전에 아주 사소한 것으로 생각됐던 문제는 내가 시연한 공격에 비추어 재평가해야 할 것"이라고 말했다. ciokr@idg.co.kr
 



2018.08.23

'저위험' PHP 역직렬화 취약점, 재평가해야

Karen Epper Hoffman | CSO
거의 10년 동안 PHP 역직렬화(unserialization) 취약점은 사이버 범죄자가 원격 코드 실행을 설치하거나 다른 악성코드를 시스템에 제공하는 데 쓰이는 인기 있는 경로였다. 그러나 이번달 블랙햇에서 발표된 새로운 연구에 따르면 악의적인 해커는 이 공격에 대해 위험이 적었던 환경에서도 이 취약점을 도입할 수 있는 것으로 밝혀졌다.



대부분 범죄(또는 업무) 분야와 마찬가지로 사이버범죄에서도 많은 변화가 일어나지만 사람들은 과거의 행동에 그대로 머물러 있으려는 경향이 있다.

페트야/낫페트야 및 악성코드의 출현으로 블랙햇에서 시연해 보인 해킹이 새롭지는 않았다. 나쁜 행위자는 단순히 기존의 접근 방식이나 공격 벡터를 사용하고 새로운 트위스트를 추가할 뿐이었다. 정보보안 컨설팅 회사인 세카마(Secarma Ltd)의 연구 책임자 샘 토마스는 블랙햇 행사에서 PHP 역직렬화 공격을 시연했다.

토마스는 사이버 범죄자가 이전에는 저위험으로 간주되었던 기능을 사용하여 PHP 프로그래밍 언어에서 중요한 역직렬화 취약점을 쉽게 생성할 수 있는 새로운 개발 방법을 보여줬다. PHP 역직열화 취약점 또는 객체 주입 취약점이 호출되어 해커가 PHP 함수의 ‘역직렬화’에 악의적인 입력을 제공하여 여러 종류의 공격을 수행할 수 있다. 직렬화는 데이터 객체를 일반 문자열로 변환하는 프로세스며 역직렬화 함수는 객체를 문자열에서 다시 생성한다. 이 공격 벡터는 2009년부터 문서로 정리됐으며 이러한 결함이 존재한다는 사실은 새로운 것이 아니다.

실제로 OWASP는 PHP 역직렬화를 상위 10대 목록에 추가했으며 작년 대규모 에퀴닉스 위반은 역직렬화를 통해 시작된 것으로 보고되었다.

1990년대 중반부터 있었던 서버 스크립팅 언어인 PHP(Hypertext Preprocessor)의 인기를 고려할 때, 나쁜 행위자가 이 접근법을 악용하는 새로운 방법을 발견한 것은 놀랄 일이 아니다. 블랙토크(Black Tak) 세션에서 토마스는 "이게 바로 PHP 역직렬화 취약점이다. 하지만 우리가 알지 못하는 하 사이버 범죄자가 파(Phar) 아카이브에 대해 위험도가 낮은 함수를 사용하여 다양한 시나리오에서 역직렬화() 함수를 사용하지 않고도 역직렬화 공격을 시작할 수 있다. PHP의 아카이브 형식인 파 파일은 메타 데이터를 직렬화된 형식으로 저장한다. 이 형식은 포펜(fopen), file_exists, file_get_contents 같은 파일 작업 함수가 아카이브 파일에 접근하려고 할 때마다 직렬화되지 않다”고 설명했다.

이어서 "이것은 직접 파일 작업과 XML 내에서 외부 엔터티 처리 중에 발생하는 간접 작업 모두에 해당된다"고 말했다. 토마스는 블랙햇 기간에 PHP 역직렬화 공격의 특정 변형이 웹 서버를 완벽하게 제어하기 위해 워드프레스 사이트에서 어떻게 사용될 수 있는지에 관한 백서도 발표했다. 백서에 따르면, 공격자가 필요로 하는 모든 것은 악의적인 페이로드 오브젝트를 포함하는 유효한 '파' 아카이브를 대상 로컬 파일 시스템에 업로드하고 파일 조작 함수가 접근하도록 만든다.

토마스에 따르면 이 취약점은 기본 JPEG 이미지, 100바이트를 변경하여 유효 JPEG로 변환된 파 아카이브로 악용될 수 있다.

"애플리케이션 내의 특정 축소판 기능이 작동하는 방식으로 미디어 항목을 업로드하고 수정하여 'file_exists' 요청에 사용된 매개 변수를 충분히 제어할 수 있는 권한을 가진 공격자가 직렬 해제를 발생시킬 수 있다"고 토마스는 전했다. 또한 게시물을 작성하거나 편집할 수 있는 공격자는 악의적인 이미지를 업로드하고 취약한 시스템에서 임의의 PHP 코드를 실행할 수 있다.

토마스는 역직렬화가 "이전에 상당히 위험이 낮은 것으로 여겨지던 많은 취약점에 노출돼 있다"고 강조했다.

그는 "구성 변경으로 수정됐거나 이전에 아주 사소한 것으로 생각됐던 문제는 내가 시연한 공격에 비추어 재평가해야 할 것"이라고 말했다. ciokr@idg.co.kr
 

X