OS X Lion의 버전 및 이력서 기능은 암호화 된 .sparsebundle 이미지에 대해 캐시 된 데이터를 안전한 방식으로 저장합니까?


10

디스크 유틸리티, Knox 및 Espionage와 같은 앱으로 만든 암호화 된 .sparsebundle 이미지로 중요한 정보를 랩톱에 저장합니다. 문제는 Lion으로 업그레이드하는 경우 마운트 된 디스크 이미지 중 하나에있는 파일을 작업 할 때 Lion에서 파일의 이전 버전을 저장하는 경우 이전 버전이 암호화 된 이미지 내에 저장되어 있는가입니다. ) 또는 다른 곳? 버전이 다른 곳에 저장되어 있으면 암호화되어 있습니까?

답변:


10

나는 몇 가지 테스트를 수행했으며 (정말로) 권위있는 답변을 제공 할 수 있습니다.

짧은 대답 : 버전은 실제 파일과 동일한 디스크 (또는 디스크 이미지)에 저장되므로 버전은 암호화 된 이미지 외부에서 정보를 유출해서는 안됩니다. 그러나 또 다른 누출이있을 수 있습니다 (아래 참조).

긴 대답 : 버전은 각 볼륨의 맨 위에 다음과 같은 내부 구조를 가진 ".DocumentRevisions-V100"이라는 보이지 않는 폴더를 만듭니다.

.DocumentRevisions-V100
    .cs
        ChunkStorage    (this is presumably used to store chunks of large files that didn't entirely change between versions)
    AllUIDs             (this is only created on disks that have permissions ignored)
    ChunkTemp
    db-v1
        db.sqlite      (this is the primary index of document IDs, etc)
    PerUID             (this is only created on disks that have ownership respected)
        501            (documents created/owned by user #501)
        502            (etc...)
    staging            (???)

sqlite 인덱스와 이에 대한 액세스를 중재하는 백그라운드 데몬에 대한 정보 는 ars technica에서 John Siracusa의 훌륭한 리뷰를 읽으십시오 .

문서 버전 자체는 AllUID 또는 PerUID / youruserid의 하위 디렉토리에 저장됩니다. 그 아래에서 버전이 지정된 각 문서는 1부터 시작하여 번호가 매겨진 자체 하위 디렉토리를 가져옵니다. 그 아래에는 "com.apple.documentVersions"라는 단일 폴더가 있으며, 그 아래에 각 개정 본은 별도의 문서로 저장됩니다 (청크로 분할되지 않는 한- -UUID 및 유형 확장명으로 명명 된 큰 문서를 실험하지 않았습니다. 예를 들어, 내가 (사용자 # 501) 부트 볼륨에서 rtf 문서를 편집하고 여러 개정판을 저장하면 다음과 같이 저장 될 수 있습니다.

/.DocumentRevisions-V100/PerUID/501/1/com.apple.documentVersions/0787B7C3-DE11-4065-9FD9-61870212011D.rtf
/.DocumentRevisions-V100/PerUID/501/1/com.apple.documentVersions/D533CF36-0D49-4910-B0EB-C92395C05726.rtf

그런 다음 다른 rtf 파일을 열고 해당 버전을 저장하면 파일 이름이 지정 될 수 있습니다.

/.DocumentRevisions-V100/PerUID/501/2/com.apple.documentVersions/74A6EF6E-A22A-4196-B560-40ABDBF46DF4.rtf

SecretDocs 이미지에 저장 한 경우 (소유권이 무시 된 상태로 마운트) 버전은 다음과 같이 저장됩니다.

/Volumes/SecretDocs/.DocumentRevisions-V100/AllUIDs/1/com.apple.documentVersions/2ED4DAFD-9BCF-4158-BFDB-F9EEC631E44A.rtf

BTW, 버전 파일에 대한 권한이 원본 파일에서 복제 된 것 같습니다. 둘러싸는 폴더에 대한 권한은 실행 만 허용하는 경향이 있습니다 (예 : 파일 이름을 볼 수 없지만 파일 이름을 알고 있으면 액세스 할 수 있음). 예를 들어 PerUID / 501은 사용자 501에 대해서만 실행을 허용하고 다른 사람은 액세스하지 못하도록 설정되어 있습니다. db-v1 폴더는 루트 액세스 만 허용합니다. 자세히 조사하지 않으면 꽤 잠겨있는 것처럼 보입니다.

라이온스 앱은 종료 할 때 상태를 저장하는 경향이 있으므로 종료 할 때 기밀 문서를 열면 일부 정보 (스크린 샷과 같은)가 ~에 저장 될 수 있습니다. / 라이브러리 / 저장된 응용 프로그램 상태 /someappid.savedState. 저장하기 전에 닫는 한 여기에 안전 하다고 생각 합니다.


스파 스 번들이 외부 디스크 (HFS, FAT 또는 NTFS 일 수 있음) 또는 네트워크의 Snow Leopard 시스템에있는 경우 어떻게해야합니까? 버전이 여전히 주 파일과 동일한 디스크에 저장되어 있습니까?
Phil M

이 답변을 허용되는 답변으로 설정하고 싶지만 버튼이 표시되지 않습니다. 이유를 모르겠습니다.
Phil M

Mountain Lion에 "저장된 응용 프로그램 상태"누출이 있습니까?
orome

@raxacoricofallapatorius : 나는 이것을 완전히 확인하지는 않았지만 (.savedState 폴더의 정보 형식은 분명하지 않습니다) 누출이 여전히 10.8에 있다고 의심합니다.
Gordon Davisson

2

Phil M의 훌륭한 질문!

Apple 버전과 관련된 데이터는 때때로 /.DocumentRevisions-V100으로 제한되지 않습니다.

가능한 한 간략하게 설명하겠습니다. 주요 개념:

  • TAL (Transparent App Lifecycle) — 자동 저장, 버전 재개
  • 파일 시스템은 영구 버전 스토리지를 지원합니다.

어떤 상황에서는

… 10.7 (빌드 11A511)에서 : ~/Library루트 사용자로 제한되지 않은 하위 디렉토리 가 사용됩니다. …

—  https://discussions.apple.com/message/15739595#15739595 (2011-07-25)

또한 https://discussions.apple.com/message/15741724#15741724 에서 약간 조정되었습니다.


동일한 AFP 서버를 사용한 가장 최근의 테스트에서 원격 .png 스크린 샷의 버전은 다음과 같습니다.

reunion:~ centrimadmin$ ls -ld  /.DocumentRevisions-V100
ls: /.DocumentRevisions-V100: No such file or directory

로컬이있을 수 있습니다 일부 에서 관련 데이터를 /.DocumentRevisions-V100하지만,이 경우, 원격 파일의 버전은 지역 및 루트 사용자에 국한되지 않습니다. 파일 서버에서 연결을 끊은 후 열린 원격 파일의 로컬 버전을 보여주는 http://www.wuala.com/grahamperrin/public/2011/07/25/e/?mode=gallery의 스크린 샷 001을 참조하십시오 .


Ask Different…의 암호화 된 .sparsebundle 이미지, 보안에서 시작 질문으로 돌아갑니다. 이걸 고려하세요:

암호화 된 스파 스 번들 디스크 이미지, MS-DOS

암호화 된 스파 스 번들 디스크 이미지와 관련하여 사용자는 MS-DOS보다 JHFS + (영구 버전 스토리지 지원)를 사용할 가능성이 높습니다 (지원 부족)

그러나 누군가는 볼륨이 마운트 해제 된 후 암호화되지 않은 버전이 사용자의 홈 디렉토리 (암호화되지 않을 수 있음) 내에 남아 있는지 테스트해야합니다.

개인적으로 fseventer는 이와 같은 테스트 상황에서 가장 유용합니다. YMMV.

분리

이 답변 중 일부는 암호화에 국한되지 않고 스파 스 번들 디스크 이미지에 국한되지 않고 보안에 국한되지 않은 질문을 제기 할 수 있습니다. 이들은 잠재적으로 복잡한 주제이므로 제발 답변하십시오.이 답변 아래에 의견으로 질문을하는 것이 아니라 각 질문 을 개별적으로 요청하는 것이 좋습니다 .


당신이 궁금해하는 경우 왜 "... 원격 파일의 버전은 로컬 ...", 참조 , 애플 버전과 보안 / 개인 정보 보호를 AFP를 아래 apple.stackexchange.com/questions/19299/...
그레이엄 페린

1

나는 확인 버전 기능에 애플의 개발자 문서를 하며 문서의 현재 버전으로 (하나 같은 파일, 또는 동일한 폴더를 의미) 문서의 이전 버전이 동일한 "장소"에 저장되어있는 것을 나타내는 것 같다; 자세한 내용은 문서를 참조하십시오.

AppleInsider의 "Inside Mac OS X 10.7 Lion : 자동 저장, 파일 버전 및 타임머신" 이라는 기사도 있습니다 .

Time Machine과 달리 Versions는 로컬 문서 파일 내에 모든 변경 스냅 샷을 추가하여 파일 시스템 혼란과 Time Capsule 또는 기타 외부 디스크의 백업에 액세스하여 지난 몇 시간 동안 생성 된 이전 버전으로 되돌릴 필요가 없습니다.

버전 기능의 작동 방식에 대한 자세한 설명을 아직 찾지 못했습니다.


나는 그것들이 .DocumentRevisions-V100문서와 같은 파일에 저장되어 있지 않다는 인상을 받았다
Thilo

1
@Thilo : 그렇습니다. 개발자 문서가 버전 기능을 "자동 저장 위치"기능에 어떻게 연결시키는 지에 대해 잘못 알고있었습니다. 다른 사람들이 제공 한 더 자세한 답변에서 지적했듯이 이전 버전의 문서는 현재 버전과 동일한 파일이나 폴더에 저장 되지 않습니다 . 그 점에서 AppleInsider 기사가 잘못되었습니다.
Rinzwind

0

Gordon, 이것은 Knox 및 Espionage의 소프트웨어 개발자뿐만 아니라 모든 사람에게 희소식입니다 (이 두 앱을 모두 사용합니다).

사용자가 조심해야 할 시나리오는 다음과 같습니다. 외장 드라이브의 마운트 된 암호화 디스크 이미지 내의 파일에 액세스하는 경우 버전 파일은 암호화되지 않은 형식으로 사용자의 시스템 드라이브에있을 수 있습니다. 이를위한 한 가지 해결 방법은 .sparsebundle을 마운트하기 전에 시스템 드라이브에 복사하는 것입니다.

또 다른 시나리오는 .sparsebundle이 동일한 네트워크의 다른 Snow Leopard Mac에 있고 이미지가 네트워크에서 공유되어 Finder를 통해 탐색하여 Lion Mac에 마운트 할 수있는 경우입니다. (때로는이 작업을 수행합니다.) 이렇게하면 모든 버전 파일이 사용자의 시스템 디스크에 암호화되지 않은 형태로 저장됩니다. 이에 대한 한 가지 해결 방법은 화면 공유를 사용하여 Snow Leopard Mac을 제어 한 다음 해당 Mac의 이미지를 마운트하고 작업하는 것입니다.

결론은 Lion에서 이미지가 시스템 드라이브에 없으면 암호화 된 디스크 이미지를 사용할 때 사람들이 그 어느 때보 다 더 많은 것을 이해하고주의를 기울여야한다는 것입니다. Knox 및 Espionage 개발자가 고객에게 이러한 문제에 대해 경고하기를 바랍니다.

편집 : Graham의 대답은 대부분의 가정을 뒷받침하는 것 같습니다.


"외장 드라이브의 마운트 된 암호화 디스크 이미지에있는 파일에 액세스하는 경우 버전 파일은 암호화되지 않은 형태로 사용자의 시스템 드라이브에있을 것입니다." 그 정보는 어디서 구할 수 있습니까? .DocumentRevisions 암호화 된 볼륨에 배치 될 것이라고 가정합니다 . @ Gordon의 대답도 그것을 확인하는 것 같습니다.
Thilo

@ Gordon I DK는 파일이 시스템 디스크에 없으면 버전 파일이 시스템 디스크에 저장된다는 아이디어를 얻었습니다 (외부 디스크는 다른 파일 시스템을 가질 수 있습니다. 더 이상 소스를 찾을 수는 없지만 어딘가에서 이것을 읽는다고 생각했습니다. 나는 Gordon이 나의 특정 사건만을 언급하고 있다고 가정했다. Gordon, 디스크의 포맷 등에 관계없이 버전이 실제 파일과 동일한 디스크에 저장되어 있는지 확인할 수 있습니까? 고든은 "디스크 (또는 디스크 이미지)"라고 말하지만, 이런 종류의 테스트는 언급하지 않았습니다.
Phil M

@ Gordon 어쩌면 언급 된 두 가지 특정 시나리오 (SL Mac의 USB 디스크 및 네트워크를 통한)가 테스트 될 수 있습니다. 정확하지 않은 것이 좋을 것입니다.
Phil M

Mac 이외의 파일 형식의 외장 디스크에 대한 좋은 지적입니다. 어쩌면 그들은 전혀 버전을 얻지 못했을까요? OTOH, 이것이 일반 파일 시스템에서 "해킹"되는 방식은 FAT32에서도 작동한다는 것을 의미 할 수 있습니다.
Thilo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.