https://m.boannews.com/html/detail.html?idx=139121
[SGI서울보증 랜섬웨어] 해킹 그룹 ‘건라’ SGI 매물 거뒀다... 데이터 해독 성공? 재협상?
해킹 그룹 ‘건라’가 SGI서울보증에서 탈취한 데이터와 관련, 다크웹에 올렸던 게시물을 최근 삭제했다. 지난달 13.2 테라바이트(TB)에 달하는 대규모 데이터 탈취를 주장한 이후 한 달 만이다.
m.boannews.com
https://m.boannews.com/html/detail.html?idx=138356
[SGI서울보증 랜섬웨어] ‘건라’ 랜섬웨어 특징과 동작 원리 분석해보니
최근 금융권을 공포에 몰아넣은 SGI서울보증 해킹 사태의 공격 주체 ‘건라’(Gunra) 랜섬웨어에 대해 자세히 분석한 보고서가 나와 관심을 모으고 있다.
m.boannews.com
학교 수업 전에 보안 뉴스 읽다가 SGI 서울보증 랜섬웨어 사건 뉴스를 보고 리눅스 백신에 대해 궁금해져서 직접 리눅스 환경에서 직접 백신(ClamAV)을 설치하고 실습해 보았습니다. 기사 요약부터 실습 과정, 실습 과정 중 만난 오류 해결, 최종 결과까지 정리합니다.
1. 사건 요약 (뉴스 내용 정리)
공격 그룹
신규 랜섬웨어 조직 '건라(Gunra)' (2025년 4월부터 활동)
사건 개요
- 2025년 8월: SGI 서울보증 오라클 DB에서 13.2TB 데이터 탈취 주장
- 다크웹에 "데이터 분석 인력이 부족하다"는 글을 올려 해커 모집
- 9월 초: 돌연 게시물 삭제 및 피해자 목록에서 SGI 제외
추측 시나리오
- 협상으로 몸값을 지불하고 데이터 삭제
- 데이터 해석을 마치고 새 협상 준비
- SGI 측이 자체 복호화 성공 (매우 드문 경우)
특징
단순 데이터 유출·판매가 아니라 "삭제 협상" 가능성이 거론됨.
💡 보안 업계 의견: 리눅스 서버 백신 보급률이 낮아 국내 기업이 주요 타깃이 되고 있음.
2. 랜섬웨어란?
랜섬웨어 기본 개념
랜섬웨어(Ransomware) = Ransom(몸값) + Software(프로그램)
쉽게 말해서 **"데이터를 인질로 잡고 돈을 요구하는 악성코드"**입니다.
일반적인 공격 프로세스
1단계: 침투 (Initial Access)
↓
📧 피싱 메일 → 🖇️ 악성 첨부파일 실행
🌐 취약한 VPN → 🔓 서버 접근 권한 탈취
🕷️ 웹 취약점 → 💻 시스템 침투
2단계: 확산 (Lateral Movement)
↓
🔍 내부 네트워크 정찰
🔑 관리자 권한 탈취
💾 중요 데이터 위치 파악
3단계: 데이터 탈취 + 암호화 (Data Exfiltration + Encryption)
↓
📤 민감한 데이터를 외부로 유출
🔒 서버/PC의 모든 파일을 암호화
🚫 업무 시스템 완전 마비
4단계: 몸값 요구 (Ransom Demand)
↓
💰 비트코인으로 몸값 요구 (보통 수백만원~수억원)
⏰ 지불 기한 설정 (보통 72시간~1주일)
🌐 다크웹에 "피해자 목록" 공개
5단계: 협박 & 실행 (Threat & Execution)
↓
기한 내 미지불 시
📢 탈취한 데이터 공개 협박
💸 다크웹에서 데이터 판매
🗑️ 복구 불가능하도록 시스템 파괴
이번 건라(Gunra) 그룹의 특이한 점
일반 랜섬웨어 vs 건라 그룹
구분 일반적인 랜섬웨어 건라(Gunra) 그룹
목적 | 💰 빠른 수익 창출 | 📊 데이터 분석 + 장기 협상 |
전략 | ⚡ 즉시 암호화 → 몸값 요구 | 🕵️ 데이터 수집 → 분석 인력 모집 |
기한 | 🔥 단기간 압박 (3~7일) | 📅 장기간 관찰 (1개월+) |
마무리 | 🌐 다크웹 판매 or 삭제 | ❓ 돌연 게시물 삭제 (협상 성공?) |
💡 건라의 메시지: "우리는 방대한 보험 데이터베이스를 확보했지만, 분석 인력이 충분하지 않다. 당신이 원한다면 합류해 분석해 달라"
이는 단순한 돈벌이를 넘어선 조직적 데이터 분석을 시도한다는 의미로 해석됩니다.
국내 피해 현황
최근 주요 사건들:
- 2024년: 삼화콘덴서 (114GB 데이터 유출)
- 2025년 8월: SGI 서울보증 (13.2TB 데이터 탈취 주장)
- 기타: 여러 중소 제조업체들이 연이어 피해
왜 한국이 타깃일까?
- 🐧 리눅스 서버 백신 보급률 낮음
- 💼 중소기업 보안 인프라 부족
- 💰 보험/금융/제조업 데이터의 높은 가치
- 🌏 아시아 지역 전문 공격 그룹 증가
3. 리눅스 백신 (ClamAV) 소개 🐧
ClamAV란?
대표적인 오픈소스 리눅스 백신으로, 무료이면서도 강력한 기능을 제공
주요 기능
- 온디맨드 검사 (clamscan): 수동으로 지정 경로 스캔
- 데몬 기반 빠른 검사 (clamdscan): 상주 프로그램으로 빠른 검사
- 시그니처 DB 업데이트 (freshclam): 최신 바이러스 패턴 자동 다운로드
왜 필요할까?
- 개인 PC보다 **서버(리눅스)**가 랜섬웨어 타깃이 되기 쉬움
- 보험/금융/제조사 DB 같은 **"돈 되는 데이터"**가 리눅스 서버에 많음
- SGI 서울보증 사례처럼 국내 기업들이 연이어 피해를 받고 있음
랜섬웨어 vs 백신의 한계
ClamAV가 막을 수 있는 것:
- ✅ 알려진 랜섬웨어 시그니처
- ✅ 의심스러운 파일 패턴
- ✅ 이메일 첨부파일 악성코드
ClamAV가 막기 어려운 것:
- ❌ 제로데이 공격 (새로운 변종)
- ❌ 사회공학적 공격 (직원 실수)
- ❌ 네트워크 침투 (VPN, 서버 취약점)
- ❌ 내부자 위협 (권한 남용)
🛡️ 결론: 백신은 필수지만, 다층 보안 전략이 더 중요!
3. 설치 & 첫 실행
기본 설치
sudo apt update
sudo apt install -y clamav clamav-daemon
설치 후 자동으로 clamav-freshclam 데몬이 돌며 DB 업데이트 수행
상태 확인
sudo systemctl status clamav-freshclam
⚠️ 4. 실습 중 만난 오류와 해결 방법
으앙 실습하다가 여러 오류가 나서 삽질기 또 시작되었나 했는데 이번엔 간단한 실습이라 생각보다 금방 해결했습니다..!
(1) freshclam 로그 락 에러
ERROR: Failed to lock the log file /var/log/clamav/freshclam.log
원인: 이미 데몬이 실행 중 → 수동 실행이랑 충돌
해결책:
sudo systemctl restart clamav-freshclam
(2) clamd 소켓 연결 실패
ERROR: Could not connect to clamd on LocalSocket /var/run/clamav/clamd.ctl
원인: DB 준비 안 됨, 소켓/권한 문제
해결책:
# 소켓 서비스 활성화
sudo systemctl enable --now clamav-daemon.socket
# 실행 디렉토리 생성 및 권한 설정
sudo mkdir -p /run/clamav
sudo chown clamav:clamav /run/clamav
sudo systemctl restart clamav-daemon.socket
확인:
ls -l /run/clamav
# → clamd.ctl 소켓 파일이 보여야 정상
5. 실제 검사 실행
프로젝트 폴더 검사
sudo clamdscan -i --fdpass ~/suminworld-system-lab
실행 결과
----------- SCAN SUMMARY -----------
Infected files: 0
Time: 101.909 sec (1 m 41 s)
Start Date: 2025:09:16 02:30:40
End Date: 2025:09:16 02:32:22
로그 저장 버전
sudo clamdscan -i --fdpass ~/suminworld-system-lab \
| tee ~/clamav_syslab_$(date +%F_%H%M).log
실행 결과 스크린샷: (전체 검사는 시간이 너무 오래 걸려 suminworld-system-lab 디렉토리 하나만 검사하였습니다!)
- 첫 번째 스캔: 101.909초 (1분 41초) 소요
- 두 번째 스캔: 0.873초로 대폭 단축 (캐시 효과)
- 감염된 파일: 0개 ✅
6. 성능 분석
스캔 시간 최적화
- 첫 스캔: 101초 (모든 파일 검사)
- 재스캔: 0.8초 (캐시 활용)
- 팁: clamdscan이 clamscan보다 훨씬 빠름 (데몬 방식)
유용한 옵션들
# 감염 파일만 표시
clamdscan -i
# 상세 로그
clamdscan -v
# 파일 디스크립터 전달 (권한 문제 해결)
clamdscan --fdpass
# 압축 파일 내부까지 검사
clamdscan --max-files=10000 --max-filesize=100M
7. 실무에서의 활용 방안
자동화 스크립트
#!/bin/bash
# daily_scan.sh - 매일 자동 백신 검사
LOG_DIR="/var/log/clamav-custom"
TODAY=$(date +%Y%m%d)
mkdir -p $LOG_DIR
echo "Starting daily antivirus scan..." | tee $LOG_DIR/scan_$TODAY.log
sudo clamdscan -i --fdpass /home /var/www /opt \
| tee -a $LOG_DIR/scan_$TODAY.log
# 결과 요약 이메일 발송
if grep -q "Infected files: [1-9]" $LOG_DIR/scan_$TODAY.log; then
echo "⚠️ ALERT: Infected files detected!" | mail -s "ClamAV Alert" admin@company.com
fi
crontab 등록
# 매일 새벽 2시에 실행
0 2 * * * /home/user/scripts/daily_scan.sh
8. 결론 & 시사점
사건 교훈
SGI 서울보증 사례는 리눅스 서버가 랜섬웨어의 주요 타깃이 된다는 사실을 명확히 보여줌
실습 교훈
- ClamAV 설치 자체는 간단하지만, freshclam 충돌 / clamd 소켓 문제 등 오류 해결을 거쳐야 정상 작동
- **데몬 방식(clamdscan)**이 일반 방식(clamscan)보다 100배 이상 빠름
- 권한 설정과 소켓 관리가 핵심 포인트
보안 시사점
- 리눅스 백신도 반드시 필요 (더 이상 선택이 아님)
- 정기적인 스캔 자동화 구축
- 실시간 모니터링 설정 고려
⚠️ 주의사항
- 백신 하나로 충분하지 않음 → 백업, 패치, 접근제어가 필수
- 성능 영향 고려하여 스캔 시간 조절
- 오탐(False Positive) 가능성도 염두에 둘 것
다음 실습 계획
- ClamAV 실시간 보호 설정 (clamd + inotify)
- YARA 룰을 이용한 커스텀 탐지 패턴 작성
- ELK 스택과 연동한 보안 로그 분석 시스템 구축
건라(Gunra) 랜섬웨어 기술 분석 (지니언스 보고서 기반)
학교에서 본 기사 내용을 바탕으로 실습하고 정리하다 보니 건라 랜섬웨어 특징과 동작 원리 분석한 기사를 하나 더 발견하게 되어 추가로 정리합니다!
최근 지니언스에서 발표한 보고서에 따르면 건라 랜섬웨어는 기존 콘티(Conti) 랜섬웨어 코드를 재활용한 변종으로, 고도화된 암호화 기법과 윈도우/리눅스 양쪽을 동시에 위협하는 특징을 지니고 있습니다.
1) 암호화 방식 - 하이브리드 구조
파일 데이터 → ChaCha20 대칭키 암호화 → 암호화된 파일
↓
대칭키 → RSA-2048 공개키 암호화 → 키 파일
- ChaCha20 대칭키 알고리즘으로 파일 데이터 암호화 (빠른 속도)
- 대칭키는 다시 RSA-2048 공개키로 암호화 → 하이브리드 구조
- 피해자가 정상적인 방법으로 복구하기 매우 어렵게 설계됨
2) 윈도우 환경 동작 특징
실행 과정:
- 뮤텍스(Mutex) 생성: 난수를 이용해 자기 중복 실행 방지
- 선별적 암호화: 시스템 폴더, 임시폴더, 실행 파일 등은 암호화 제외
- 병렬 처리: 빠르게 파일 암호화 → 확장자를 .CRYPT로 변경
- 복구 방지: VSS(볼륨 섀도우 복사본) 조회 및 삭제
VSS 삭제 과정 (복구 불가능하게 만들기):
# WQL 쿼리로 모든 섀도우 복사본 확인
SELECT * FROM Win32_ShadowCopy
# 각 복사본에 대해 삭제 명령어 생성 및 실행
vssadmin delete shadows /shadow={ShadowID} /quiet
랜섬노트 생성:
- 모든 디렉토리에 R3adm3.txt 파일 생성
- qTox ID, 이메일 등 연락 수단 기재
- "공격자와 연락해야만 복호화 가능"이라는 협박 문구 포함
3) 리눅스 환경 동작 특징 🐧
리눅스 공격 메커니즘:
- readdir() 함수 활용 → 파일 시스템 전체 탐색
- 하위 디렉토리까지 모두 검사
- 특정 확장자 파일을 비동기 방식으로 암호화
- 암호화 방식은 윈도우와 동일 (ChaCha20 + RSA)
- 암호화된 파일 확장자: .ENCRT
핵심: 윈도우용과 리눅스용 모두 동일한 암호화 알고리즘을 사용하여 크로스 플랫폼 공격 가능
4) 탐지 및 대응 (지니안EDR 기준)
실시간 탐지 요소:
- ✅ 프로세스 행동 분석: 실행 즉시 탐지 및 차단
- ✅ VSS 삭제 시도 모니터링
- ✅ 대량 파일 확장자 변경 패턴 탐지
- ✅ 랜섬노트 반복 생성 감지
대응 방안:
- 실시간 차단: 안티랜섬웨어 모듈로 암호화 시도 즉시 차단
- 파일 복구: 손상된 파일 자동 복구 지원
- 격리 조치: 감염된 프로세스 즉시 격리
5) 금융보안원의 성과
복호화 성공 과정:
- 금융보안원 보안 인력이 건라 악성코드의 결함에서 단서 발견
- 공격자가 사용한 악성코드의 암호화 키 생성 과정에서 취약점 발견
- SGI서울보증 암호화 데이터 복호화에 성공
- 몸값을 지불하지 않고도 데이터 복구를 해낸 매우 드문 사례
기술적 의미:
- 일반적으로 ChaCha20 + RSA-2048은 현재 기술로 뚫기 어려운 조합
- 구현상의 결함(버그)을 찾아낸 한국 보안 전문가들의 기술력 입증
- 국제적으로도 랜섬웨어 대응 성공 사례로 주목받음
종합 분석: 왜 ClamAV만으론 부족한가?
건라 vs 전통적 악성코드
비교 항목 전통적 악성코드 건라 랜섬웨어
암호화 방식 | 단순 XOR, 간단한 암호화 | ChaCha20 + RSA-2048 하이브리드 |
플랫폼 | 주로 Windows | Windows + Linux 동시 지원 |
탐지 회피 | 기본적 난독화 | 뮤텍스, 시스템 폴더 회피, 병렬 처리 |
복구 방지 | 단순 파일 삭제 | VSS 시스템까지 체계적 삭제 |
대응 난이도 | 상대적으로 쉬움 | 매우 어려움 (금융보안원 수준 필요) |
ClamAV의 한계점 재확인
시그니처 기반 탐지의 문제:
- ❌ 제로데이 변종: 건라처럼 기존 코드를 변형한 새 버전은 초기 탐지 어려움
- ❌ 암호화 후 탐지: 이미 파일이 암호화된 후에는 백신으로 복구 불가능
- ❌ 시스템 레벨 조작: VSS 삭제 같은 시스템 관리 작업은 정상 동작으로 인식 가능
결론: 다층 보안의 필요성
- 예방: ClamAV + 방화벽 + 패치 관리
- 탐지: 행위 기반 EDR 솔루션 (지니안EDR 같은)
- 대응: 전문 인력 + 백업 시스템
- 복구: 오프라인 백업 + 인시던트 대응팀
최종 정리
건라 랜섬웨어는 단순 암호화 도구가 아니라 암호학적으로 정교한 공격 무기임을 알 수 있습니다. 특히 리눅스 버전까지 존재한다는 점에서 국내 서버 환경(보험·금융·제조업) 보안에 있어 ClamAV 같은 백신과 더불어 다층 보안 전략의 필요성을 보여줍니다.
금융보안원의 성공 사례는 한국 보안 기술의 우수성을 보여주는 동시에 전문적 대응 능력의 중요성을 강조합니다. 하지만 모든 기업이 금융보안원 수준의 전문가를 보유할 수는 없기에 사전 예방이 더욱 중요한 시대가 되었다고 볼 수 있습니다.
참고 자료:
- 보안뉴스: "[SGI서울보증 랜섬웨어] 해킹 그룹 '건라' SGI 매물 거뒀다"
- 보안뉴스: "'건라' 랜섬웨어 특징과 동작 원리 분석해보니" (지니언스 보고서)
- 보안뉴스: "SGI서울보증 랜섬웨어, 금융보안원이 풀었다"
- ClamAV 공식 문서: https://docs.clamav.net/
- Ubuntu ClamAV 가이드: https://help.ubuntu.com/community/ClamAV
'system' 카테고리의 다른 글
사이드 채널 공격(Side Channel Attack): Flush+Reload로 캐시 접근 패턴 들여다보기 (0) | 2025.09.20 |
---|---|
[리눅스 프로그래밍 · DevOps] GitHub Actions로 C Signal Handling Demo CI/CD 구축기 (0) | 2025.09.18 |
[Linux Signal] - 쉘, 프로세스 제어, 시그널 핸들링 (0) | 2025.09.14 |
[시스템 프로그래밍] myshell.c 코드 분석 - 2 (1) | 2025.09.12 |
[시스템 프로그래밍] myshell.c 코드 분석 - 1 (1) | 2025.09.11 |