리눅스 랜섬웨어, 추측 가능한 암호화 키를 통해 복호화 가능 By 알약

0
0

리눅스 랜섬웨어의 데뷔가 추측 가능한 암호화 키 때문에 실패로 끝나다
Linux Ransomware Debut Fails on Predictable Encryption Key

리눅스 랜섬웨어(Linux Ransomware)의 AES키는 희생양의 로컬 컴퓨터에서 생성됩니다.

비트디펜더 연구원들은 키와 초기화 벡터(IV)가 어떻게 생성되는지 Linux.Encoder.1의 샘플을 리버스엔지니어링하여 확인해 보았습니다.

그리고 이들은 시큐어 랜덤 키 및 초기화 벡터를 생성하는 것 보다, 암호화 당시 libc rand() 함수의 시드인 현 시스템의 타임 스탬프를 이용해 이 두 가지 정보 (랜덤키, IV)를 추측해 내는 편이 낫다는 사실을 깨닫게 되었습니다.

이 정보는 파일의 타임스탬프를 통해 쉽게 얻어낼 수 있습니다.

이 엄청난 설계상의 결점 덕분에, 리눅스 랜섬웨어 제작자의 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

enter image description here



총 0개 내용
의견 쓰기

쉐어드IT의 가입은 쉽고 간단합니다. 지금 하시고 IT관리자들과 의견을 함께 나누세요