보안 제품정보


MS, 애저 서비스에서 발견된 위험한 취약점 2개 패치해 2022.04.29

애저 클라우드 서비스와 관련이 있는 취약점 2개가 세트로 발견됐다. 세트로 익스플로잇 될 경우 공격자가 애저 고객 DB를 복제할 수 있게 된다. 따로따로는 별 문제가 아닌데, 같이 익스플로잇 되는 게 위험하다. MS는 문제를 해결했고, 고객 단에서 할 일은 별로 없다. 다만 클라우드와 관련된 심층 방어 전략을 구성하는 게 맞긴 하다.

[보안뉴스 문가용 기자] 마이크로소프트가 PostgreSQL Flexible Server의 애저 데이터베이스의 취약점 두 개를 패치했다. 첫 번째는 MS가 PostgreSQL 엔진에 최근 가한 변경 사항으로 인해 발생한 권한 상승 취약점이고, 두 번째는 첫 번째 취약점으로 인해 야기되는 교차 계정 접근 취약점이다. 공격자들이 이 취약점들을 연쇄적으로 익스플로잇 할 경우 인증 과정을 통과하지 않고 여러 계정에 접속할 수 있게 된다고 한다. 그리고 이 계정들을 통해 애저 클라우드에 호스팅된 데이터베이스에 접근하는 것도 가능하게 된다고 MS는 경고했다.

[이미지 = utoimage]


이 취약점들을 처음 발견한 건 클라우드 보안 전문 업체 위즈 리서치(Wiz Research)다. CTO인 아미 루트왁(Ami Luttwak)은 “공격자는 자기가 원하는 데이터베이스를 애저 PostgreSQL에서 찾아내 똑같이 복사해 갈 수 있다”고 설명한다. “공격자는 호스팅 된 데이터베이스를 보호하도록 설정된 방화벽도 우회할 수 있게 됩니다. 다만 방화벽이 개인 액세스만 허용하도록 설정된 경우에는 데이터베이스에 접근할 수 없습니다. 문제는 개인 액세스 접근 허용이라는 것이 디폴트 설정 옵션이 아니라는 것이죠.”

마이크로소프트는 보안 권고문을 통해 “PostgreSQL Flexible Server 인스턴스들을 구축하되 일반 접근을 허용한 기업들에 이번 취약점이 영향력을 미칠 수 있다”고 경고했다. MS는 위즈의 제보를 접수한 뒤 48시간이 지나기 전에 위험 완화 장치를 마련해 도입했다고 한다. 그것이 1월 13일의 일이었다. 아직까지 이 취약점을 통한 실제 해킹 사건이 발생한 사례는 없다고 한다. 이번에 마련된 패치는 자동으로 적용되는 것이라 고객사 측에서 할 일은 따로 없지만, 최대한의 안전을 도모하기 위해서는 접근 권한을 ‘개인 엑세스’로 조정하는 것이 좋다.

위즈는 각종 클라우드 서비스에 있을 수 있는 교차 계정 접근 취약점을 찾아내려고 연구를 진행하다가 위의 두 취약점을 발견한 것이라고 한다. 교차 계정 접근 취약점이란, 클라우드 테넌트들을 분리 및 격리하는 클라우드 아키텍트를 우회할 수 있도록 해 주는 것으로, 공격자들은 클라우드 내 호스팅 된 여러 고객사들의 데이터에 한꺼번에 접근할 수 있게 된다. 클라우드 이용자들이 가장 기피하게 될 만한 상황이 만들어진다는 것이다. 참고로 위즈는 이 연구를 진행하다가 MS 애저 코스모스 DB(MS Azure Cosmos DB)에서 카오스DB(ChaosDB)라는 초고위험도 취약점을 찾아내기도 했었다.

“이번에 발견된 권한 상승 취약점은 PostgreSQL 자체에서 발견된 문제가 아니라, PostgreSQL 엔진에 적용된 애저의 변경 사항 때문에 야기된 결과입니다. 아마 고객의 인스턴스들을 보다 효율적으로 관리하고 불편함을 줄이기 위해 시도된 변경인 것으로 보입니다.” 루트왁의 설명이다.

루트왁과 팀원들은 PostgreSQL Flexible Server에서 코드 실행 취약점을 먼저 찾아낸 이후 계속해서 취약점 분석 행위를 이어갔다. 그러다가 내부 네트워크 인터페이스를 통해 서브넷 내 다른 계정에도 접근할 수 있게 되었음을 알아냈다. 이에 팀원들은 별도의 계정을 가지고 또 다른 PostgreSQL Flexible 인스턴스를 생성한 뒤, 이를 다른 데이터베이스를 통해 접근해보려 했다. 성공적이었다. 그래서 비슷한 방법으로 다른 계정들에도 접근을 시도했고, 이 역시 성공적이었다. 결국 위에서 언급된 교차 계정 접근 취약점이 발견되기에 이르렀다.

루트왁은 “PostgreSQL의 서버 간 데이터베이스 복제 기능을 활용하는 애저의 고가용성 기능을 통한 익스플로잇이 가능하다는 것을 여러 실험을 통해 알게 되었다”고 말한다. “이 복제 서비스는 데이터베이스 인스턴스로 연결이 되고, 다른 노드들로 복제되는 권한을 가지고 있습니다. 애저의 복제 서비스 인증서가 아니라 임의의 다른 도메인 앞으로 발행된 인증서를 사용함으로써 또 다른 PostgreSQL 인스턴스로 연결되는 복제 서비스인 것처럼 인증 과정을 거친다면 원 DB와 똑같은 복사판을 보유할 수 있게 됩니다.”

그렇다면 애저가 아니라 다른 도메인의 복제 서비스 인증서를 확보해야 이 공격이 성공하게 된다는 뜻이다. 루트왁은 실험 과정 중 다른 도메인의 복제 서비스 인증서에까지 접근하지는 않았다고 한다. “대신 PostgreSQL이 특정 프리픽스를 가진 비밀 키를 찾는다는 것을 발견했고, 이 특성을 이용해 인증 과정을 우회할 수 있다는 것까지 알아냈습니다. 정상적으로 보이는 인증서를 하나 생성해 인증 과정을 통과하고, 그렇게 해서 DB 복제까지 해냈습니다.”

MS는 이 두 개의 취약점이 개별적으로 큰 영향을 미치지 않는다고 설명한다. 하지만 연쇄적으로 익스플로잇이 되었을 때는 꽤나 큰 일이 발생할 수 있다고 한다. “첫 번째 취약점만 익스플로잇 하면 로컬에서 데이터베이스 인스턴스에 접근할 수 있게 됩니다. 그것이 전부입니다. 접근 후에 뭘 더 어떻게 할 수가 없어요. 하지만 두 번째 취약점이 있어서 여러 계정에 접근하고 DB를 복사할 수 있게 됩니다. 첫 번째 취약점을 통과하지 못하면 두 번째 취약점은 익스플로잇이 안 됩니다.”

현재 이 두 가지 취약점은 모두 패치가 된 상황이다. 사용자들이 특별히 취해야 할 조치 사항은 없다. 루트왁은 “MS가 보안 취약점 패치를 하지 않았더라면 사용자가 액세스 권한을 개인으로 바꿔 막을 수 있었던 위험”이라고 설명하며 “클라우드 서비스를 사용하더라도 모든 보안 관련 문제를 클라우드 업체에 맡길 수는 없고, 오히려 사용자 입장에서 심층 방어 전략을 구성해 적용해야 한다”고 권장했다.

3줄 요약
1.MS의 PostgreSQL Flexible Server에서 발견된 두 가지 취약점 패치됨.
2.두 취약점을 연쇄적으로 익스플로잇 할 경우, DB를 완전히 복제해 갈 수 있음.
3.패치 적용은 이미 끝난 상태로 사용자가 할 건 아무 것도 없음.

[국제부 문가용 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>