| 리눅스 서버 노린 랜섬웨어 감염 데이터, 복구할 수 있다고? | 2015.11.12 |
리눅스 랜섬웨어 제작자의 RSA 퍼블릭 키로 복호화하는 과정 없이 AES키 복구
[보안뉴스 김경애] 최근 리눅스 서버를 노린 리눅스 랜섬웨어(Linux Ransomware)가 등장해 이용자들을 긴장시키고 있다. 랜섬웨어의 파일 이름은 Linux.Encoder.1이며 피해자에게 1비트코인, 약 380불에 달하는 돈을 요구하는 것으로 알려졌다. ![]() 이와 관련해서 비트디펜더(BitDefender)는 방어 툴을 개발해 배포에 나섰으며, 알약 블로그에서도 이를 해당 게시판에 올렸다. 비트디펜더에 따르면 리눅스 랜섬웨어(Linux Ransomware)의 AES키는 희생양의 로컬 컴퓨터에서 생성된다며 키와 초기화 벡터(IV)가 어떻게 생성되는지 Linux.Encoder.1의 샘플을 리버스 엔지니어링해 확인했다고 밝혔다. 이들은 시큐어 랜덤 키 및 초기화 벡터를 생성하는 것보다 암호화 당시 libc rand() 함수의 시드인 현 시스템의 타임스탬프를 이용해 이 두 가지 정보(랜덤 키, 초기화 벡터)를 추측해 내는 편이 낫다고 분석했다. 따라서 파일의 타임스탬프를 통해 정보를 쉽게 얻어낼 수 있었으며, 설계상의 결점으로 인해 리눅스 랜섬웨어 제작자의 RSA 퍼블릭 키로 복호화하는 과정 없이 AES키를 복구해낼 수 있게 됐다는 설명이다. Linux.Encoder.1 랜섬웨어에 의해 암호화된 데이터를 복호화하는 방법 1. http://labs.bitdefender.com/2015/11/linux-ransomware-debut-fails-on-predictable-encryption-key/ 에서 스크립트를 다운로드한다. (암호화가 시스템에 영향을 미쳤을 가능성이 있기 때문에, 라이브 CD를 통해 시스템을 부팅 하거나 다른 머신에 해당 파티션을 마운트해야 할 수 있다.) 2. mount /dev/[encrypted_partition]를 이용하여 암호화 된 파티션을 마운트한다. 3. /mnt# sort_files.sh encrypted_partition > sorted_list 커맨드를 이용하여 암호화된 파일의 리스트를 생성한다. 4. head 커맨드를 이용하여 첫 번째 파일을 얻어낸다. : /mnt# head -1 sorted_list 5. 복호화 유틸리티를 실행하여 암호화 시드를 얻어낸다. : /mnt# python decrypter.py –f [first_file] 6. 해당 시드를 이용하여 모든 파일들을 복호화한다. : /mnt# python /tmp/new/decrypter.py -s [timestamp] -l sorted_list [김경애 기자(boan3@boannews.com)] <저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지> |
|
|
|