이 페이지는 기계 번역되었습니다. 영어 원본을 읽어보세요. English

IBSurgeon 라이브러리

페트야와의 전투: 랜섬웨어 크립토 바이러스에 암호화된 Firebird 데이터베이스 파일에서 데이터를 복구한 경험

아시다시피, 최근 여러 암호화 바이러스가 많은 기업들을 공격했습니다 - 가장 잘 알려진 것은 Wannacry와 Petya입니다. 일반적으로 많은 기업들이 보고한 바와 같이, 몸값을 지불하거나, Petya의 경우에는 암호화된 모든 파일을 잃게 됩니다.

저희 회사는 Firebird 데이터베이스 컨설팅을 전문으로 하며, 복구 및 최적화 도구를 제공합니다. 결과적으로 Petya 및 기타 랜섬웨어 공격을 당한 기업들로부터 여러 요청을 받았습니다.

Petya는 일종의 “게으른” 암호화 바이러스입니다: 일반적으로 파일의 첫 1MB만 암호화하며, 아마도 악성 작업을 최대한 빨리 수행하기 위해서일 것입니다. 일반적으로 Firebird 데이터베이스 시작 부분의 첫 1MB가 손실되면 데이터베이스를 읽을 수 없게 됩니다: 첫 1MB에는 테이블 및 기타 구조에 대한 중요한 시스템 정보가 포함되어 있습니다. 이는 예를 들어 하드웨어 장애로 인한 “일반적인” 데이터베이스 손상과 매우 유사합니다.

첫 1MB의 손실로 인해 수 기가바이트 규모의 데이터베이스를 잃는 것은 안타까운 일입니다. 다행히도 저희 복구 도구(IBSurgeon FirstAID)는 Petya와 같은 경우에도 Firebird 및 InterBase 데이터베이스에서 데이터를 검색할 수 있습니다: FirstAID는 Firebird 또는 InterBase 엔진을 우회하여 저수준에서 작동하며, 암호화된 데이터베이스에서 새 데이터베이스로 레코드를 내보내는 데 최소한의 메타데이터만 필요합니다.

또한 IBSurgeon FirstAID는 다른 데이터베이스에서 메타데이터 구조를 차용할 수 있습니다: 사용 가능한 오래된 정상 복사본이 있다면 이를 메타데이터 소스로 사용하여 암호화되지 않은 모든 데이터를 내보낼 수 있습니다.

Firebird 데이터베이스는 동일한 크기의 페이지를 포함합니다: 가장 최신 버전(3.0)의 기본 페이지 크기는 8K이고, 이전 버전 2.5에서는 4KB입니다. 이는 Petya가 8KB 페이지 크기의 경우 처음 128페이지, 4K 페이지의 경우 256페이지를 암호화한다는 것을 의미합니다.

아래 그림에서 볼 수 있듯이(내부 버전의 IBSurgeon FirstAID 스크린샷), 중요한 시스템 페이지(레코드 형식 데이터)는 일반적으로 8K 페이지( Firebird 3.0의 기본값) 데이터베이스의 경우 페이지 185부터 시작하며, 안타깝게도 4K 페이지 크기의 경우 페이지 171부터 시작합니다.

이는 Firebird 3 데이터베이스는 일반적으로 Petya의 암호화에서 거의 100%에 가까운 비율로 복구할 수 있으며, Firebird 2.5 데이터베이스는 데이터를 저장하기 위해 외부 메타데이터를 차용해야 함을 의미합니다.

즉, 이 특정 경우에 우리는 Petya를 물리칠 수 있습니다: 데이터를 잃지 않고 몸값을 지불하지 않습니다.

대부분의 고객이 IBSurgeon FirstAID를 사용하여 Petya로부터 Firebird 데이터베이스를 복구할 수 있었다고 보고했습니다.

물론 이 접근 방식이 암호화 바이러스로부터 데이터베이스를 보호하지는 않지만, 그러한 재해 후 손실을 최소화할 수 있습니다. 백업과 데이터베이스 모니터링도 바이러스 및 기타 재해에 대한 수동적 보호 수단으로 매우 중요합니다.

랜섬웨어와 Firebird에 대한 자세한 내용: 랜섬웨어로부터 Firebird 데이터베이스를 보호하는 방법?

궁금한 사항이 있으시면 언제든지 문의해 주세요!