일단 ESET 에서 잼난걸 발견했습니다. 리눅스용 UEFI 부트킷이죠...
그림은 이 부트키티가 동작하는 방식들입니다.
요약하자면 이렇습니다.
- 부트킷 실행 및 합법적인 GRUB 부트로더 패치 적용(그림 6의 포인트 4 및 5)
- Linux 커널의 EFI 스텁 로더 패치(그림 6의 포인트 6 및 7)
- 압축 해제된 Linux 커널 이미지 패치 적용(그림 6의 포인트 8 및 9).
소수의 우분투 버전에서 작동하지만, 부트키티는 더 넓은 기반 머신에서 실제 감염 환경에서 실행하는 데 필요한 중요한 기능에 결함과 제한이 있습니다. 불완전한점은 이 부트키티가 압축 해제된 리눅스 커널을 수정하는 방식입니다. 그냥 커널 이미지가 압축 해제되면 부트키티는 커널 이미지 내의 하드코딩된 오프셋에 악성 패치를 복사하기만 하면 됩니다.
근데 영 싱겁게 끝납니다. 커널 버전 검사가 없어서 이렇게 하드코딩된 오프셋에서 완전히 임의의 코드나 데이터를 패치하여 시스템을 손상시키는 대신 시스템을 충돌시키죠. 또한 또한 보안 부팅을 무력화할 수 없기 때문에 (1) 방어 기능을 사용할 수 없거나 (2) 동일한 공격자가 이미 자체 서명된 암호화 인증서를 설치하기 위해 손상된 장치로 감염 기회가 제한됩니다. 또한 부트키티는 비교적 쉽게 발견할 수 있는 아티팩트 흔적을 남깁니다. 이는 부트키티의 주요 장점인 은닉성을 약화시킵니다.
그럼에도 불구하고 이 발견은 악의적인 위협 행위자일 가능성이 높은 누군가가 Linux용 UEFI 부트킷을 만드는 데 리소스와 상당한 노하우를 쏟아붓고 있다는 것을 보여주기 때문에 매우 중요합니다. 현재 사람들이 Windows 또는 Linux 디바이스에서 실행 중인 UEFI의 무결성을 확인할 수 있는 간단한 방법은 거의 없습니다.
https://www.welivesecurity.com/en/eset-research/bootkitty-analyzing-first-uefi-bootkit-linux/