미국 사이버보안·인프라보안국(CISA)과 영국 국가사이버보안센터(NCSC)가 공동 발표한 보안 권고문에 따르면, QNAP에서 제조한 NAS(Network Attached Storage) 장치가 'QSnatch'라는 악성코드에 취약한 것으로 확인되었습니다.
QNAP은 컴퓨터, 스마트폰 등 다양한 기기의 로컬 클라우드 백업 용도로 널리 사용되는 NAS 장치를 제조하는 업체입니다. 해당 장치는 자체 개발한 리눅스 기반 운영체제를 탑재하고 있는데, 그럼에도 불구하고 QSnatch 악성코드가 침투에 성했다는 점에서 그 정교함이 드러납니다. 아직까지 이 악성코드가 어떤 경로로 유포되는지, 공격자가 누구인지, 그리고 정확한 목적이 무엇인지는 명확하게 밝혀지지 않았습니다.
QSnatch 악성코드란?
QSnatch는 2020년에 NAS 장치를 표적으로 삼은 네 번째 악성코드입니다. 시놀로지(Synology) 장치를 공격한 랜섬웨어, 그리고 QNAP 장치를 감염시킨 eCh0raix와 Muhstik 랜섬웨어에 이어 발견된 사례입니다.
이번에는 대만 제조사 QNAP의 수만 대에 달하는 NAS 장치가 QSnatch라는 새로운 악성코드에 감염된 것으로 밝혀졌습니다.
QSnatch 악성코드의 다양한 변종은 2014년과 2017년까지 거슬러 올라가며 오랫동안 관찰되어 왔습니다. 보안 당국은 이 감염을 확산시키기 위해 설계된 두 차례의 캠페인을 파악했으며, 마지막 캠페인은 2019년 11월에 시작된 것으로 추정됩니다.
흥미롭게도 보안 전문가들조차 QSnatch의 확산 경로를 아직 완전히 규명하지 못했습니다. 다만 감염 단계에서 장치의 펌웨어에 직접 주입된 후, 감염된 장치 내부에서 악성 코드가 실행되는 것으로 보입니다. 공격자가 펌웨어에 존재하는 원격 악용 가능 취약점을 이용해 악성 코드를 주입했을 가능성이 높다는 것이 전문가들의 분석입니다.
QSnatch는 감염된 장치에서 로그인 자격 증명과 시스템 구성 정보를 포함한 기밀 정보를 수집할 수 있습니다. 이러한 데이터 유출 위험 때문에, 악성코드를 삭제했다고 해서 안심할 수 없습니다. 이미 '정화'된 QNAP 장치라도 자격 증명이 유출된 상태라면 재감염 위험에 계속 노출될 수 있습니다.
독일 컴퓨터비상대응팀(CERT-Bund)에 따르면 독일에서만 7,000건이 넘는 QSnatch 감염 사례가 보고되었습니다. 같은 해 6월 기준 전 세계 감염 장치 수는 62,000대에 달했으며, 이중 미국이 약 7,600대, 영국이 약 3,900대를 차지했습니다.
QSnatch의 작동 방식
QSnatch는 매우 정교하게 설계된 악성코드로, CGI 비밀번호 로거를 통해 자격 증명을 탈취하고, 해커에게 SSH 백도어를 열어주며, 시스템 구성 및 로그 파일을 포함한 데이터를 유출하고, 원격 접속을 위한 웹셸(web shell) 기능까지 제공합니다.
악성코드가 NAS 드라이브에 설치되면 호스트 파일을 수정하고, NAS가 사용하는 핵심 도메인 이름을 오래된 로컬 버전으로 리디렉션하여 업데이트 확인을 차단하는 방식으로 지속성을 확보합니다.
보안 경고에 따르면 최신 버전의 QSnatch는 모듈화된 폭넓은 기능 세트를 갖추고 있으며, 주요 기능은 다음과 같습니다:
- CGI 비밀번호 로거: 장치 관리자 로그인 페이지의 가짜 버전을 설치하고, 입력된 정상 인증 정보를 기록한 뒤 실제 로그인 페이지로 전달합니다.
- 자격 증명 스크래퍼(credential scraper): 저장된 인증 정보를 수집합니다.
- SSH 백도어: 해커가 장치에서 임의의 코드를 실행할 수 있도록 허용합니다.
- 데이터 유출(exfiltration): 시스템 구성 및 로그 파일 등 미리 지정된 파일 목록을 탈취합니다. 해당 파일은 일반적으로 해커의 공개 키로 암호화된 후 HTTPS를 통해 공격자의 인프라로 전송됩니다.
- 웹셸 기능: 원격 접속 통로를 제공합니다.
보안 전문가들은 현재 유통 중인 QSnatch의 기능을 상당 부분 분석하는 데 성공했지만, 한 가지 핵심 요소—악성코드가 처음 어떻게 장치에 침투하는지—는 여전히 베일에 싸여 있습니다.
앞서 언급했듯이 해커가 QNAP 펌웨어의 취약점을 악용했거나, 관리자 계정에 취약한 비밀번호를 사용했을 가능성이 제기되지만, 어느 쪽도 확실하게 검증되지는 않았습니다.
다만 해커가 일단 교두보를 확보하면 QSnatch 악성코드가 펌웨어에 주입되어 장치를 완전히 장악합니다. 이후 감염된 NAS에서 생존하기 위해 향후 펌웨어 업데이트를 차단합니다.
악성코드의 지속성이 매우 강력하기 때문에 관리자가 정상적인 방법으로는 펌웨어 업데이트를 설치할 수 없습니다. 신뢰할 수 있는 백신 프로그램이라도 일반적인 악성코드에는 효과적일 수 있지만, 이 사례에서는 소용이 없습니다. 사용자는 펌웨어를 업그레이드하고 최신 업데이트를 모두 적용하기 전에 반드시 완전 공장 초기화(full factory reset)를 수행해야 하며, 이 과정에서 악성코드가 함께 삭제됩니다.
QSnatch 악성코드 제거 방법
이 악성코드가 DDoS 공격용인지, 암호화폐 채굴용인지, 아니면 기밀 데이터 탈취나 향후 추가 악성코드 배포를 위한 QNAP 장치의 백도어로 개발된 것인지는 아직 확실하지 않습니다.
하지만 현재까지 확인된 바로는 QSnatch를 제거하는 유일하게 성공적인 방법은 NAS 장치의 완전 공장 초기화입니다. 초기화를 마친 후에는 반드시 최신 버전의 QNAP NAS 펌웨어 업데이트를 설치하는 것이 좋습니다.
조직이 이 악성코드에 감염된 경우, QNAP의 공식 권고 사항은 다음과 같습니다:
"QNAP은 11월 1일 QTS 운영체제용 멀웨어 리무버(Malware Remover) 앱을 업데이트하여 QNAP NAS에서 해당 악성코드를 탐지·제거할 수 있도록 했습니다. 또한 11월 2일 이 문제를 다루는 업데이트된 보안 권고문을 발표했습니다. 사용자는 QTS App Center에서 또는 QNAP 웹사이트에서 수동으로 다운로드하여 최신 버전의 멀웨어 리무버 앱을 설치해야 합니다. QNAP은 아울러 QNAP NAS 보안 강화를 위한 일련의 조치를 권장하며, 자세한 내용은 보안 권고문에 명시되어 있습니다."
최신 펌웨어로 업데이트하려면 다음 링크를 이용하세요: https://www.qnap.com/en/download
또는 아래 절차를 따를 수도 있습니다:
- 관리자 계정으로 QTS에 로그인합니다.
- 제어판 > 시스템 > 펌웨어 업데이트로 이동합니다.
- 라이브 업데이트(Live Update) 항목에서 업데이트 확인을 클릭합니다.
- QTS가 최신 업데이트를 자동으로 다운로드하여 설치합니다.
아울러 QNAP의 내장 멀웨어 리무버도 최신 버전으로 업데이트해야 합니다. 아래 단계를 따르세요:
- 관리자 계정으로 QTS에 로그인합니다.
- App Center를 연 후 (+) 버튼을 클릭합니다.
- 수동 설치 대화 상자가 나타나면 안내 내용을 확인합니다.
- 찾아보기(Browse)를 클릭합니다.
- 파일 브라우저에서 설치 파일을 찾아 선택합니다.
- 설치(Install)를 클릭합니다.
- 확인 메시지가 팝업으로 나타납니다.
- 확인(OK)을 클릭합니다.
- QTS가 최신 버전의 멀웨어 리무버를 설치합니다.
- 확인 메시지가 나타나면 확인(OK)을 클릭합니다.
- 필요한 업데이트 대화 상자가 나타나면 지금 업데이트(Update Now)를 클릭합니다.
- QTS가 멀웨어 리무버를 최신 버전으로 업데이트합니다.
- 멀웨어 리무버를 실행한 후 스캔 시작(Start Scan)을 클릭합니다.
이 과정을 통해 NAS 전체를 스캔하고 발견된 위협 요소를 삭제할 수 있습니다.
QSnatch 감염 예방 방법
악성코드 감염을 사전에 차단하기 위해 QNAP은 다음과 같은 보안 조치를 강력히 권장합니다:
- 관리자 비밀번호를 변경하고 고유하면서도 강력한 비밀번호를 사용합니다.
- 다른 사용자 계정의 비밀번호도 변경하고, 최대한 무작위적인 조합으로 설정합니다.
- QNAP ID 비밀번호 역시 함께 변경합니다.
- 데이터베이스 루트(root) 비밀번호를 더 강력하게 설정하여 크랙을 어렵게 만듭니다.
- 악성코드가 생성했을 가능성이 있는 낯선 계정이나 의심스러운 계정을 삭제합니다.
- 무차별 대입 공격(brute force)을 방지하기 위해 IP 및 계정 접근 보호 기능을 활성화합니다.
- SSH 및 Telnet 연결을 사용하지 않는다면 비활성화합니다.
- 웹 서버, SQL 서버, phpMyAdmin 앱도 사용하지 않는다면 비활성화합니다.
- 결함이 있거나 출처가 불분명하거나 의심스러운 앱은 삭제합니다.
- 22, 443, 80, 8080, 8081 등 기본 포트 번호는 변경해서 사용합니다.
- 자동 라우터 구성(Auto Router Configuration)과 서비스 게시(Publish Services) 기능을 끕니다.
- myQNAPcloud에서 접근 제어를 제한합니다.
위 조치들을 실천하면 QNAP 장치가 이러한 공격의 표적이 되는 것을 크게 줄일 수 있습니다. QSnatch에 감염되면 자격 증명 도난 위험에 노출될 뿐만 아니라, 악성코드 제거를 위해 NAS 드라이브를 재포맷하는 과정에서 저장된 모든 데이터가 삭제됩니다. 이런 상황을 피하려면 미연에 방지하는 것이 최선입니다. 늦기 전에 반드시 철저한 보안 조치를 적용하시기 바랍니다.