대용량 파일에서 fs-verity를 ​​효과적으로 비활성화합니다.

대용량 파일에서 fs-verity를 ​​효과적으로 비활성화합니다.

FS_IOC_ENABLE_VERITYioctl을 사용하여 파일에서 fs-verity를 ​​활성화한 다음(예: 명령 사용 fsverity enable) 해당 파일에 다시 쓰려는 경우 fs-verity를 ​​비활성화하려면 어떻게 해야 합니까 ? 이제 해결 방법은 파일을 복사한 다음 원본을 삭제하는 것이지만 파일이 큰 경우 이는 정말 비효율적입니다.

답변1

설계상으로는 그렇게 할 수 없습니다.이 위키 페이지에서는 rpm 패키지와 그 이유를 설명합니다.
"특정 파일에 대해 fs-verity가 활성화되면(RPM의 경우 패키지 설치 시 발생) 비활성화할 수 없으며 파일은 변경할 수 없게 됩니다.이름을 바꿔라() 또는풀리다() (실제로 패키지를 업그레이드할 때 rpm이 파일을 교체할 수 있는 방법입니다). 그러나 실제 내용은 변경할 수 없습니다. " ....
"공격자가 파일 시스템을 마운트(또는 액세스)하고 /bin/ls의 링크를 해제하고 이를 새 복사본으로 대량 교체(따라서 새 inode를 생성)한다고 가정합니다. 공격자서명 키가 없습니다, 그래서 그들은 파일을 다시 서명하고 파일에 대해 fs-verity를 ​​활성화할 수 없습니다. (그들은 자신의 키로 다시 서명할 수 있지만 인증서를 커널 키링에 로드하는 방법을 찾을 수 없다면 효과가 크다). 이를 방지하기 위해 이제 몇 가지 옵션이 있습니다."

관련 정보