복구 할 수 없도록 Android에서 특정 파일을 삭제하는 방법은 무엇입니까?


9

내 경험상 컴퓨터 파일 시스템에서 삭제 된 파일은 특별한 프로그램 (보통 "파쇄")으로 덮어 쓰지 않는 한 종종 복구 할 수 있습니다.

Android 기반 HTC 스마트 폰이 다른가요? 스마트 폰에서 특정 파일을 삭제하여 파일을 복구 할 수없는 방법은 무엇입니까?


전화 호스팅 옵션 만 찾고 있거나 전화가 디스크 드라이브로 연결되어있을 때 파일 삭제에 대한 제안을 수락 하시겠습니까?
Bernhard Hofmann

@Bernhard Hofmann : 글쎄, 드라이브로 연결하여 이러한 작업을 더 쉽게한다면 아무것도 아닌 것보다 훨씬 낫습니다.
sharptooth

답변:


8

불행히도 그렇게 쉽지는 않습니다.

파일의 안전한 삭제를위한 API가 없기 때문에 저장 장치에 대한 블록 레벨 액세스 를 달성하려면 "보안 삭제 앱"에 대한 루트 가 필요 합니다 . 삭제 된 파일의 블록 만 접근이 결국 응용 프로그램이 임의의 데이터와 파일의 나머지를 덮어 쓸 수 있습니다. 결국, 플래시 저장 장치는 마모 레벨링을 수행 할 수 있기 때문이다 . 이 경우 블록 # 42는 항상 동일한 물리적 블록이 아니므로 시스템 호출이 효과적이지 않습니다.

그것이 안드로이드에 대한 안전한 삭제 솔루션이 아직없는 이유라고 생각합니다. 적어도 XDA에서 하나를 찾을 수 없습니다 .


프로그램이 기존 파일을 열고 휴지통으로 덮어 쓰고 파일을 닫은 다음 삭제할 수 있습니까?
sharptooth

당신은 수있는 그런 프로그램. 그러나 기존 데이터와 동일한 물리적 블록에서 덮어 쓰기가 발생한다는 보장이 없기 때문에 쓸모가 없습니다.
흐름

1
파일 시스템이나 다른 엔티티가 새 기록 데이터를 새 위치로 투명하게 재배치하고 이전에 점유 된 위치를 자유롭게 표시 함을 의미합니까?
sharptooth

1
예, 다양한 이유로 (조각화 등) 새로운 거의 모든 데이터를 작성하려는 OS의 선택이며 거의 모든 최신 OS가하는 일입니다. 그렇지 않더라도 마모 레벨링이 발생할 수있는 층이 여전히 있습니다.
흐름

3

한 가지 간단한 해결책은 파일을 삭제 한 다음 삭제 된 파일이 이전에 소유 한 공간을 덮어 쓰도록 메모리에 다른 데이터를 채우는 것입니다.

메모리가 가득 차면 채우기에 사용 된 파일을 제거하여 공간을 다시 확보 할 수 있습니다. 이제 복구 시도만으로 원래의 삭제 된 파일이 아닌 필러 파일 만 찾을 수 있습니다.

이것은와 같은 간단한 집 복구 도구와의 싸움에만 사용됩니다 testdisk. 이론 상으로는 최소한 일부 또는 전체 원본 파일을 복구하는 방법이 여전히있을 수 있지만 정교한 고급 분석 방법이 필요합니다. 이러한 방법의 한 예는 플래시 마모 레벨링으로 인해 일부 데이터가 보존되는지 분석하는 것입니다 . 그러나 이것은 쉬운 일이 아니며 AFAIK는 메모리 카드를 일종의 사용자 정의 리더 장치에 연결해야하며 메모리 장치를 분리해야 할 수도 있습니다.


대부분의 플래시 미디어에서웨어 레벨링이 파일 덮어 쓰기 가 메모리 의 동일한 물리적 위치 에 쓰기를 항상 보장하지는 않습니다 . en.wikipedia.org/wiki/Wear_leveling
Chahk

@Chahk, 예, 동의합니다. "정교한 방법"고지 사항을 포함 시켰습니다. 요점은와 같은 홈 도구를 사용하여 정상적으로 삭제 된 파일을 복구하는 것은 사소한 일 testdisk입니다. flah 마모 레벨링으로 인해 절약 된 콘텐츠를 복구하는 사용하기 쉬운 홈 도구가 있다면 들어 본 적이 없습니다. 이 데이터 플러딩이 절대적인 방법 이라고 말한 적이 없지만 어쩌면 요구 자의 요구에 충분히 강한
Ilari Kajaste

답변을 개선하기 위해 고지 사항에 더 많은 세부 정보를 추가했으며 가능한 남은 공격 경로의 한 예로 플래시웨어 레벨링 분석에 대해 언급했습니다.
Ilari Kajaste

1

장치를 디스크 드라이브로 연결하면 Windows에서 sdelete와 같은 유틸리티를 사용하여 파일을 안전하게 삭제할 수 있습니다. http://technet.microsoft.com/en-us/sysinternals/bb897443

웹 페이지에서 : "SDelete는 국방부 청산 및 위생 표준 DOD 5220.22-M을 구현하여 SDelete로 삭제 한 파일 데이터는 영원히 사라질 것이라는 확신을줍니다."


이 답변 android.stackexchange.com/questions/14739/…에 언급 된웨어 레벨링을 방지하는 데 도움이 됩니까?
sharptooth

모든 정직에서 나는 전혀 모른다. 웨어 레벨링을 구현하는 Android 기기가 있는지조차 모르겠습니다. 원래 섹터를 덮어 쓰기 때문에 마모 레벨링의 영향을받지 않을 것으로 예상됩니다.
Bernhard Hofmann

글쎄, 마모 레벨링이있는 경우이 프로그램은 영향을받지 않습니다-마술은 아니며 다른 파일과 마찬가지로 쓰기 위해 파일을 열고 가비지를 쓴 다음 파일을 닫습니다. 웨어 레벨링이 있으면 프로그램에서 알 수없는 일반적인 운영 체제 프리미티브를 사용합니다.
sharptooth

클린 옵션을 몇 번 사용하면 마모 레벨링을 방지 할 수 있을지 궁금합니다. 우리가 통제 할 수 없기 때문에 여유 공간을 몇 번 청소하면 해제 된 섹터를 "찾아서"지워야합니다.
Bernhard Hofmann

어쩌면 시간이 많이 걸릴 것 같습니다.
sharptooth

1

파일이 sdcard에있는 경우 sdcard를 노트북 카드 리더에 삽입하고 srm, sdelete또는 안전한 파일 삭제를 위해 데스크탑에서 일반적으로 사용하는 모든 것을 사용할 수 있습니다.

파일이 내부 메모리에있는 경우 파일의 흔적 (및 전화기의 다른 모든 항목)을 완전히 삭제할 수있는 유일한 방법은 설정> 보안에서 전체 전화 암호화를 활성화하는 것입니다. 모든 것이 암호화 될 때까지 기다리십시오 (약 1 시간) )로 설정 한 다음 초기화합니다.

Play 스토어에는 DoD 레벨 알고리즘으로 여유 공간을 닦을 수있는 앱도 있지만, 이들이 얼마나 좋은지, 어떻게 작동하는지는 잘 모르겠습니다.

그리고 btw는 플래시 메모리의 읽기 / 쓰기주기가 제한되어 있기 때문에 이러한 앱을 너무 자주 실행하면 메모리 칩 수명이 단축 될 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.