วิธีการลบไฟล์เฉพาะใน Android เพื่อให้ไม่สามารถกู้คืนได้?


9

จากประสบการณ์ของฉันไฟล์ที่ถูกลบจากระบบไฟล์คอมพิวเตอร์มักจะสามารถกู้คืนได้เว้นแต่ว่ามันจะถูกเขียนทับด้วยโปรแกรมพิเศษ (ซึ่งมักจะเรียกว่า "shredding")

สมาร์ทโฟน HTC ที่ใช้ Android แตกต่างกันหรือไม่? จะสามารถลบไฟล์เฉพาะจากสมาร์ทโฟนดังกล่าวเพื่อให้ไม่สามารถกู้คืนไฟล์ได้?


คุณกำลังมองหาตัวเลือกที่โฮสต์โทรศัพท์เท่านั้นหรือคุณจะยอมรับคำแนะนำเกี่ยวกับการลบไฟล์เมื่อโทรศัพท์เชื่อมต่อเป็นดิสก์ไดรฟ์หรือไม่?
แบร์นฮาร์ดฮอฟมันน์

@ แบร์นฮาร์ดฮอฟมันน์: ถ้าการเชื่อมต่อเป็นไดรฟ์ทำให้การกระทำนั้นง่ายขึ้น - มันดีกว่าไม่มีอะไรมาก
sharptooth

คำตอบ:


8

น่าเสียดายที่ไม่ใช่เรื่องง่าย

เนื่องจากไม่มี API สำหรับการลบไฟล์ที่ปลอดภัยจึงจำเป็นต้องรูทสำหรับ "แอพที่ปลอดภัยสำหรับลบ" เพื่อให้สามารถเข้าถึงระดับบล็อกของอุปกรณ์จัดเก็บข้อมูลได้ ในที่สุดการเข้าถึงบล็อกของไฟล์ที่ถูกลบก็อนุญาตให้แอปเขียนทับส่วนที่เหลือของไฟล์ด้วยข้อมูลแบบสุ่ม ในที่สุดเพราะอุปกรณ์จัดเก็บข้อมูลแฟลชสามารถดำเนินการปรับระดับการสึกหรอ หากเป็นเช่นนั้นบล็อค # 42 จะไม่ใช่ฟิสิคัลบล็อกเดียวกันเสมอซึ่งทำให้ระบบเรียกใช้ไม่ได้ผล

ฉันคิดว่านั่นเป็นสาเหตุที่ยังไม่มีวิธีลบอย่างปลอดภัยสำหรับ Android อย่างน้อยฉันไม่สามารถหาหนึ่งในXDA


โปรแกรมอาจเปิดไฟล์ที่มีอยู่เขียนทับไฟล์ทั้งหมดด้วยถังขยะปิดไฟล์แล้วลบมันได้หรือไม่
sharptooth

คุณสามารถโปรแกรมที่ แต่มันจะไร้ประโยชน์เพราะมันไม่รับประกันการเขียนทับจะเกิดขึ้นในบล็อกทางกายภาพเช่นเดียวกับข้อมูลที่มีอยู่
Flow

1
คุณหมายถึงระบบไฟล์หรือหน่วยงานอื่นจะย้ายข้อมูลที่เขียนใหม่ไปยังตำแหน่งใหม่และทำเครื่องหมายตำแหน่งที่ว่างก่อนหน้านี้ว่างหรือไม่
sharptooth

1
ใช่มันเป็นทางเลือกของระบบปฏิบัติการที่ต้องการเขียนข้อมูลใหม่ด้วยเหตุผลต่าง ๆ (การแตกแฟรกเมนต์ ฯลฯ ) และสิ่งที่เกือบทุกระบบปฏิบัติการสมัยใหม่ทำ แม้ว่าจะไม่เป็นเช่นนั้นยังมีเลเยอร์ที่การปรับระดับการสึกหรออาจเกิดขึ้นได้
Flow

3

วิธีแก้ปัญหาอย่างง่ายอย่างหนึ่งคือการลบไฟล์จากนั้นเติมหน่วยความจำด้วยข้อมูลอื่น ๆ เพื่อให้แน่ใจว่าพื้นที่ที่ถูกลบก่อนหน้านี้ของไฟล์ที่ถูกลบจะถูกเขียนทับ

เมื่อหน่วยความจำเต็มแล้วไฟล์ที่ใช้ในการเติมสามารถลบออกได้ปล่อยพื้นที่อีกครั้ง - ตอนนี้ความพยายามกู้คืนจะพบเฉพาะไฟล์ฟิลเลอร์ไม่ใช่ไฟล์ที่ถูกลบดั้งเดิม

testdiskหมายเหตุที่ว่านี้มีจุดมุ่งหมายเพียงเพื่อการต่อต้านการเครื่องมือการกู้คืนที่บ้านง่ายๆเช่น ในทางทฤษฎีอาจยังมีวิธีการกู้คืนอย่างน้อยส่วนหรือแม้แต่ไฟล์ต้นฉบับทั้งหมด - แต่พวกเขาจะต้องใช้วิธีการวิเคราะห์ระดับสูงที่ซับซ้อนบางอย่าง ตัวอย่างหนึ่งของวิธีการดังกล่าวจะเป็นในการวิเคราะห์ว่าบางส่วนของข้อมูลที่ถูกเก็บรักษาไว้เพราะแฟลช leveling อย่างไรก็ตามสิ่งนี้ไม่ได้ทำง่ายและ AFAIK จะต้องเชื่อมต่อการ์ดหน่วยความจำกับอุปกรณ์เครื่องอ่านแบบกำหนดเองบางประเภทและอาจต้องแยกอุปกรณ์หน่วยความจำออกจากกัน


การใส่ระดับบนสื่อแฟลชส่วนใหญ่จะไม่รับประกันเสมอว่าการเขียนทับไฟล์จะเขียนทับตำแหน่งทางกายภาพเดียวกันในหน่วยความจำ en.wikipedia.org/wiki/Wear_leveling
Chahk

@Chahk ใช่ฉันเห็นด้วยนั่นคือเหตุผลที่ฉันรวมข้อจำกัดความรับผิดชอบ "วิธีการที่ซับซ้อน" ประเด็นก็คือมันเป็นเรื่องเล็ก ๆ น้อย ๆ testdiskในการกู้คืนไฟล์ที่ถูกลบตามปกติโดยใช้เครื่องมือที่บ้านเช่น หากมีเครื่องมือบางอย่างที่ใช้งานง่ายในการกู้คืนเนื้อหาที่ไม่ได้รับการจัดเก็บเนื่องจากการปรับระดับการสวมใส่ flah ฉันไม่เคยได้ยินมาก่อน โปรดทราบว่าฉันไม่เคยบอกว่าการท่วมข้อมูลนี้จะเป็นวิธีที่สมบูรณ์แต่อาจเป็นสิ่งที่แข็งแกร่งพอสำหรับความต้องการของผู้ถาม
Ilari Kajaste

ฉันเพิ่มรายละเอียดเพิ่มเติมลงในข้อจำกัดความรับผิดชอบเพื่อปรับปรุงคำตอบของฉันและตอนนี้พูดถึงการวิเคราะห์ระดับแฟลชสึกหรอเป็นตัวอย่างหนึ่งของเวกเตอร์การโจมตีที่เหลืออยู่ที่เป็นไปได้
Ilari Kajaste

1

หากคุณเชื่อมต่ออุปกรณ์ของคุณเป็นดิสก์ไดรฟ์คุณสามารถใช้ยูทิลิตี้เช่น sdelete บน Windows เพื่อลบไฟล์อย่างปลอดภัย 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หรือสิ่งที่คุณมักจะใช้บนเดสก์ทอปของคุณสำหรับการลบไฟล์ที่ปลอดภัย

หากไฟล์อยู่ในหน่วยความจำภายในอาจเป็นวิธีเดียวที่เชื่อถือได้ในการลบการติดตามทั้งหมด (และทุกอย่างในโทรศัพท์) เพื่อเปิดใช้งานการเข้ารหัสโทรศัพท์แบบเต็มในการตั้งค่า> ความปลอดภัยรอจนกว่าทุกอย่างจะถูกเข้ารหัส (ประมาณหนึ่งชั่วโมง) ) จากนั้นทำการรีเซ็ตเป็นค่าเริ่มต้นจากโรงงาน

นอกจากนี้ยังมีแอพใน play store ที่ถูกกล่าวหาว่าสามารถเช็ดพื้นที่ว่างด้วยอัลกอริธึมระดับ DoD แต่ฉันไม่รู้ว่ามันดีแค่ไหนหรือทำงานอย่างไร

และโปรดทราบว่าหน่วยความจำแฟลชมีจำนวนรอบการอ่าน - เขียน จำกัด ดังนั้นการเรียกใช้แอพเหล่านั้นบ่อยเกินไปอาจทำให้ชิปหน่วยความจำมีอายุการใช้งานสั้นลง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.