취약한 난수 생성 함수를 사용하는 Gunra 랜섬웨어 분석 (리눅스 환경 대상 유포, ELF 형태)

취약한 난수 생성 함수를 사용하는 Gunra 랜섬웨어 분석 (리눅스 환경 대상 유포, ELF 형태)

요약


Gunra 랜섬웨어 그룹은 2025년 4월부터 활동을 시작해 다양한 국가와 산업의 기업을 대상으로 공격을 수행하고 있으며, 국내 피해 사례도 확인됐다. 본 보고서는 리눅스 환경 대상의 ELF 형태 Gunra 랜섬웨어가 파일과 디스크를 암호화하는 방식과, 취약한 난수 생성 함수 때문에 복호화가 가능한 기술적 이유를 분석한다.

개요


Gunra 랜섬웨어는 감염 시스템의 파일을 암호화하고 민감 데이터를 탈취한 뒤, 몸값이 지불되지 않으면 해당 정보를 공개한다. 유포 형태는 Windows 대상의 EXE 파일과 Linux 대상의 ELF 파일이 있다.

분석 내용


파일 암호화


Gunra 랜섬웨어는 실행 초기 단계에서 전달된 인자 값의 유효성을 검사하며, -t, --threads(암호화 스레드 수), -p, --path(암호화 대상 경로), -e, --exts(대상 확장자), -r, --ratio(암호화 비율), -k, --keyfile(RSA 공개키 파일 경로), -s, --store(ChaCha20 암호화 알고리즘 키 저장 경로), -l, --limit(최대 암호화 크기) 등이 사용된다.

--path로 전달된 경로를 기준으로 암호화를 수행하며, 파일 경로, 폴더 경로, 디스크 경로에 따라 동작이 달라진다. 파일 암호화는 각 파일마다 독립적인 스레드를 생성해 진행되며, --threads 값은 1개에서 100개까지 설정된다. --extsall을 넣으면 해당 경로의 모든 파일을 대상으로 하며, 특정 확장자는 최대 32개까지 지정 가능하다. 제외 대상은 R3ADM3.txt.encrt이다.

암호화 알고리즘은 ChaCha20이다. 32바이트 키와 12바이트 Nonce는 매번 새로 생성되며, --store가 설정되면 키를 RSA 공개키로 암호화한 뒤 .keystore 확장자로 저장한다. --store가 없으면 키가 암호화된 파일 끝에 삽입된다. 파일 크기와 --limit, --ratio 값에 따라 1MB를 암호화한 뒤 지정된 MB만큼 건너뛰는 방식으로 반복되며, 파일이 --limit보다 크면 해당 크기까지만 암호화하고 작으면 전체를 암호화한다.

디스크 암호화는 --extsdisk가 설정되고 --store가 지정된 경우에만 동작한다. 이 경우에도 ChaCha20을 사용하며, 파일 암호화와 동일하게 --limit--ratio를 기준으로 동작한다.

복호화 가능성


암호화에 사용되는 32바이트 키와 12바이트 Nonce 생성 함수에는 암호학적 취약성이 있다. time() 함수로 초 단위 현재 시간을 얻고 이를 바탕으로 rand()의 시드 값을 만들지만, 32회와 12회의 반복문이 매우 짧은 시간에 수행되어 동일한 시드 값이 사용될 가능성이 높다. 그 결과 동일한 바이트가 반복되는 키와 Nonce 배열이 생성된다.

이 취약성 때문에 해당 ELF 형태 Gunra 랜섬웨어로 암호화된 파일은 0x00부터 0xFF까지의 256가지 바이트 값을 기반으로 하는 Brute Force 기법으로 높은 확률로 복호화가 가능하다.

ELF 형태와 EXE 형태 비교


ELF 형태는 ChaCha20을 사용하고 time() 함수 기반 rand()를 이용해 키와 Nonce를 생성하며 복호화 가능성이 있다. EXE 형태는 ChaCha8을 사용하고 Cryptographic Service Provider(CSP) 기반 CryptGenRandom() API로 키와 Nonce를 생성해 복호화가 사실상 불가능하다.

안랩 대응 현황


안랩 제품군의 진단명은 Ransomware/Win.Gunra.C5755872, Malware/MDP.Ransom.M1355, Ransom/MDP.Decoy.M1171, Ransom/MDP.Event.M1946, Ransom/MDP.Event.M1785, Ransom/MDP.Magniber.M1876, Ransom/MDP.Event.M4428, Ransom/MDP.Event.M4353 등이 있다. EDR 진단에는 SystemManipulation/EDR.Event.M2506, Ransom/EDR.Decoy.M2470, Ransom/MDP.Event.M1946, Malware/MDP.Ransom.M1876, Suspicious/MDP.Ransom.M12560가 포함된다.

결론


Gunra 랜섬웨어의 ELF 형태는 취약한 난수 생성 방식 때문에 암호화 강도가 매우 낮아, Brute Force를 통한 복호화 가능성이 높다. 반면 EXE 형태는 안전한 난수 생성 방식을 사용해 복호화가 사실상 어렵다.

대응 가이드


본문에는 구체적인 대응 절차가 제시되지 않았으며, 자세한 내용은 첨부파일을 참조하도록 안내한다.

MD5

94b68826818ffe8ceb88884d644ad4fc