2016년을 끝으로 버전 업 되지 않아...다양한 취약점들이 오래된 상태로 남아 있어
[보안뉴스 문가용 기자] 오픈클리닉(OpenClinic) 애플리케이션에서 4가지 취약점들이 발견됐다. 다 심각하지만 한 가지는 원격에서 인증 과정을 거치지 않은 공격자들이 환자의 개인 진료 기록을 읽어 들일 수 있게 해 준다고 한다. 이 취약점이 가장 심각한 것으로 분류되고 있다.
[이미지 = utoimage]
오픈클리닉은 오픈소스 의료 기록 관리 소프트웨어다. 최신 버전은 0.8.2로, 2016년에 발표된 것이다. 따라서 이번에 제기된 취약점 네 가지는 최소 4년 동안 취약한 채로 있었던 것이라고 한다. 보안 전문 업체 비숍 폭스(Bishop Fox)의 전문가들이 이를 최초로 밝혀 공개했다. 오픈클리닉 개발자 측에서는 아직 아무런 대응이 없는 상태다.
전문가들에 의하면 이 4가지 버그들은 전부 다음과 같은 요인들로 발생한다고 한다.
1) 인증 시스템 부재
2) 불안전한 파일 업로드 시스템
3) 교차 사이트 스크립팅(XSS)
4) 경로 변경(path traversal)
이 중 1번과 관련된 취약점 CVE-2020-28937이 가장 위험한 것으로 분석됐다.
오픈클리닉 사용자들 중 인증을 정상적으로 거친 사용자들이 의료 실험 관련 문서들을 업로드 한다. 이 문서들은 /tests/라는 디렉토리에 저장된다. 이 정보들은 환자들도 열람이 가능하다. 다만 환자들에게 요구되는 인증 절차가 전무하다. “누구나 제대로 된 경로만 확보하고 있다면 이 의료 실험 문서에 접근할 수 있게 됩니다. 그리고 여기에는 누군가의 의료 기록 정보가 담겨 있기도 하죠.”
다만 이 공격에는 제한점이 하나 있다. /tests/ 디렉토리에 저장된 파일의 이름을 정확히 알아내거나 추측해 맞춰야 한다는 것이다. “하지만 의료 기록이 담긴 서류들의 이름은 꽤나 고정적이고, 따라서 예측이 대단히 어려운 건 아닙니다. 서버의 로그 파일을 미리 해킹해 파일 이름들을 확보하는 것도 가능하죠.”
현재 사이버 범죄자들 사이에서 의료 기록들은 꽤나 인기 높은 ‘아이템’이다. 특히 아이덴티티 탈취나 피싱 공격을 주로 하는 공격자들에게 이는 대단히 유용하다. 따라서 간단한 해킹을 통해 누구라도 이 파일들을 탈취해 개인 식별 정보를 가져갈 수 있게 된다. 그리고 이는 추가 피해로 이어진다.
비숍 폭스에서는 또 다른 취약점을 발견했는데, 이를 통해서 공격자들은 애플리케이션 서버에 원격 코드 실행을 할 수 있게 된다. 파일 업로드와 관련된 취약점으로, CVE-2020-28939라는 번호가 붙었다. 비숍 폭스에 따르면 “관리자 등급을 가진 사용자가 아무런 제한 없이 PHP 웹 셸과 같은 악성 파일들을 업로드 할 수 있고, 이를 통해 임의로 코드를 실행할 수 있게 된다”고 한다. 업로드하는 파일의 유형에 제한이 없다는 것이다.
악성 사용자라면 이 취약점을 통해 민감한 정보에 접근할 수도 있게 되고, 권한을 상승할 수도 있게 되며, 애플리케이션 서버에서 악성 프로그램을 설치할 수도 있게 된다. 서버를 구심점으로 삼고 내부 네트워크 여기저기에 접근할 수 있기도 하다.
세 번째 취약점은 XSS 취약점인 CVE-2020-28938로, 중간급 위험도를 가지고 있다. 공격자가 이를 익스플로잇 하면 페이로드를 임베드시킴으로써, 관리자 권한을 가진 사용자가 클릭하면 자연스럽게 공격자에게 이 권한이 넘어가게 되어 있다. 이에 대한 제한 조치가 있긴 하지만 쉬벡 우회가 가능하다는 것도 밝혀졌다.
마지막 취약점은 경로 변경 취약점으로 낮은 위험도를 가지고 있으며 CVE 번호도 아직 부여되지 않은 상태다. 이를 익스플로잇 할 경우 공격자는 애플리케이션 내 지정된 디렉토리 바깥에 파일을 저장할 수 있게 된다. “관리자급 사용자는 /admin/theme_new/php 엔드포인트를 통해 새로운 테마를 애플리케이션에 업로드할 수 있게 됩니다. 새로운 파일들이 오픈클리닉이 설치된 css 폴더에 생성될 수 있게 해줍니다. 공격자는 여기서부터 css 폴더 바깥으로 탐색을 진행해 파일 시스템 아무 데나 파일을 저장할 수 있게 됩니다.”
이 취약점들이 처음 발견된 건 8월말 경이었다. 비숍 폭스는 오픈클리닉 개발자에게 여러 번 연락을 시도했지만 답장을 받을 수 없었다고 한다. “현재 시장에 나와 있는 오픈클리닉 모든 버전이 이 취약점들에 노출되어 있습니다. 따라서 오픈클리닉의 대체 소프트웨어를 찾는 편이 제일 안전할 것입니다.”
3줄 요약
1. 오래된 의료 기록 관리 오픈소스 소프트웨어에서 취약점 4개 발견됨.
2. 이 취약점을 통해 공격자는 각종 개인 식별 정보를 탈취할 수 있게 됨.
3. 4년 된 취약점, 오픈클리닉 개발자 측에는 연락이 닿지 않음.
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>