יום שבת, ינואר 02, 2010

שחזור מext3 עובד ?!

למי שלא שם לב בשעות האחרונות קיים רעש מאוד גדול בנושא של הפלת חברי קבוצת Anti-Sec . ארגון ProSec שבאה כביכול להגן על אנשי הכובע הלבן. מכיוון שאני ממש לא רוצה לקחת קרדיט לא נכון כדאי לקרוא קצת בפוסט על הנושא.הדברים שאותי עניינו היו נושא הforensic שהם השתמשו בו. לדוגמה מדברים של החזרה ממחיקת קבצים ממחיצות ext3.

בעוד שיחזור קבצים ממחיצות מסוג fat ו ntfs מעולם לא היו בעייה אמיתית (בגסראות העדכניות של NTFS זה טיפה יותר מסובך בגלל התחלת שימוש בInodeים). אולם שם הדבר מאוד מעניין. עד כמה שאני יודע מחיקת קבצים מext3 היא לא ממש אפשרית. זה רשום כך בהסברים על מערכת הקבצים:

Q: How can I recover (undelete) deleted files from my ext3 partition?

Actually, you can't! This is what one of the developers, Andreas Dilger, said about it:

In order to ensure that ext3 can safely resume an unlink after a crash, it actually zeros out the block pointers in the inode, whereas ext2 just marks these blocks as unused in the block bitmaps and marks the inode as "deleted" and leaves the block pointers alone.

Your only hope is to "grep" for parts of your files that have been deleted and hope for the best.

אלה שפה מדובר על כלי שמאפשר לעשות את הדבר בנגדי - כלומר למרות שכיביכול יש איפוס של כל המידע המצביע לקובץ (המידע עצמו נשאר על הכונן) ניתן עדיין לשחזר את המצביעים. לאחר חיפוש ברשת גיליתי שזה לא התוכנה היחידה שיש בה אפשרות גיבוי (Carlo Wood יצר תוכנה כזאת ב 2008 וניתן אף להוריד את קוד המקור). אבל העובדה שמודבר במוצר מאוד גנרי ועוד שפותח בשלהי 2004 מאוד מפתיע (ושזה גם עובד). עדיין לא התחלתי להשתמש - תיכננתי לבנות מחדש את התוכנות שהיו צריכות לעלות לשרת של המקור אבל יש לי עבודה בגרפיקה שצריך להגיש. מה שבטוח שיהיה לי שבוע מאוד מעניין בשבוע הבא (גם לבדוק שני כלי שיחזור וגיבויי וגם לבדוק את המערכת החדשה לזיהוי חדירה). אבל מדובר על ביצוע שיחזור אחרי עבודה (ולא ישירות) ואולי אף לאחר ביצוע unmount למחיצה.

לפחות אכשיו אני יותר בטוח בביצוע rm -rf / לא ממש נותן משהוא מדהים (כי עדיין ניתן לשחזר מידע בלי שום בעייה). כלומר תמיד ידענו שצריך להשמיד נתונים עם shred אבל פה מציגים את באיזו קלות אפשר לשחזר מידע מext3 עובד.
למעשה אכשיו אני יכול להיות רגוע , למדתי כבר לשחזר טבלת מחיצות אחרי dd סורר (לntfs ו לext3 יש מזהה מיוחד בסוף מחיצה). ואכשיו יש גם אפשרות מאוד קלה לשחזר מידע. חיי הגיבויי הופכים להיות קלים מרגע לרגע.

מכיוון שאני לא יודע באילו כלים המקצוענים משתמשים (השחזורים שאני עשיתי היו חובבניים) אז קשה לי לשפוט, אבל אני בטוח שלאני linux-il יש ניסיון הרבה יותר טוב משלי בנושא (כי חלק גדול מהם הוא מהדור הישן). אז כן תמיד את hd לעבוד איתו בשביל לזהות את ההתנהגות הנכונה של המחיצה. אבל אני הייתי ממש שמח ללמוד עוד כלים (אבל במערכת ההפעלה הנכונה :-)).

3 תגובות:

  1. הפצות מודרניות (לפחות אובונטו) משתמשות היום בext4. מה המצב איתו? ניתן לשחזר ממנו?

    השבמחק
  2. לפי מה שאני מבין (לא בדקתי) כנראה שגם. מהסיבה הפשוטה שגם שם אין איפוס של המידע על הכונן

    השבמחק
  3. ראיתי על עוד שתי תוכנות: http://www.ubuntugeek.com/recover-deleted-files-with-foremostscalpel-in-ubuntu.html
    מעניין איך הן.

    השבמחק