ممکن است بارها از کارشناسان ما شنیده باشید که: «فایلهای شما به صورت روت (Root) برگشته» و یا: «فایلهای شما به صورت راو (RAW) برگشته» و از تفاوت آنها هیچ چیز ندانید و از کارشناسان ما نیز تفاوت آنها را به هر علتی سوال نکرده باشید. گرچه کارشناسان واحد فنی همیشه به طور کامل تمام مسائل فنی را برای مشتریان کلینیک هارد ایران به طور کامل تشریح میکنند؛ باز هم جای خالی یک مقاله کامل به زبان فارسی که تفاوت بازیابی Root را با بازیابی RAW توضیح دهد کاملا حس میشد. ما اینترنت فارسی را زیر و رو کردیم و هیچ مطلبی در این باره نیافتیم و تصمیم گرفتیم با نوشتن این مقاله هم مشتریان و کاربران عمومی را به طور کلی از تفاوت میان این دو آگاه کنیم و هم برای کاربران حرفهایتر و فنیتر خوراک مناسبی تهیه کرده باشیم.
به طور خلاصه و برای کاربران عمومی و مشتریان غیرفنی کلینیک هارد ایران اگر بخواهیم تفاوت بازیابی Root و RAW را توضیح دهیم؛ باید بگوییم که بازیابی Root که در حقیقت بازیابی فایل سیستمی (File System) است، به این معنی بوده که شاخهها و پوشهها (Folders) مطابق همان ساختار درختی فایل سیستم اصلی و فایلها با همان نام اصلی خود بازگردانی شود؛ در سوی مقابل بازیابی RAW به این معناست که فایلها به صورت خام و بدون دستهبندی درختی پوشهها و به صورت درهم ریخته و بدون نام مشخصشان بازگردانی شوند. تصور کنید شما میخواهید اشیایی را پیدا کنید. در حالت Root اشیای مورد نظر شما داخل کشوهای کمد و مطابق همان دستهبندی که پیشتر خودتان انجام دادید (ساختاربندی درختی پوشهها و درایوها) بازگردانی میشوند. در حالت RAW اشیا دیگر داخل هیچ کشویی نیستند و همهچی در هم ریخته داخل اتاق (اتاق به مثابه هارد دیسک) تحویل شما میشود و شما باید داخل اتاق را بگردید تا بتوانید یک شی خاص را از میان تمام اشیای ریخته بر کف اتاق پیدا کنید. بدیهی است که در بازگردانی Root شما خیلی راحتتر به فایلهای مهم خود دست پیدا میکنید اما در بازیابی RAW باید در تمام فایلها بگردید تا فایلهای مورد نظرتان پیدا شوند. خب شاید بپرسید چرا همیشه به صورت Root کار بازگردانی را انجام نمیدهیم؟ پاسخ این سوال این است که بازیابی Root یا RAW انتخاب کردنی نیست و بسته به شرایط از دست رفتن اطلاعات شما؛ گاهی تنها به صورت Root فایلهایتان قابل بازگردانی هستند.
ما همیشه در کلینیک هارد ایران در تلاش هستیم تا به کمک تحقیق و توسعه، خروجیهای Root فایلهای بازیابیشده بیشتر از RAW ها باشد.
به طور کلی دو روش برای بازیابی نرمافزاری مورد استفاده قرار میگیرد:
- در روش اول برنامهای نوشته میشود که براساس ساختارهای فایل سیستم (file system structures) و یا متادیتاهای (metadata) هنوز در دسترس اقدام به شناسایی فایل میکنند. خروجی این نوع بازیابی همیشه Root خواهد بود.
- در روش دوم برنامهای نوشته میشود که اقدام به کند و کاو پروندهها یا فایلکاوی یا File carving میکند. در این روش خروجی بازیابی از نوع RAW خواهد بود.
بازیابی فایل سیستمی یا Root
در بازیابی فایل سیستمی کارشناسان برنامهای مینویسند که اقدام به اسکن (scan) کردن دیسک به منظور یافتن اشیایی چون بوت سکتورها (boot sectors) و ساختارهای دایرکتوری (directory structures)؛ نمایهها (indexes)؛ جدولهای تخصیص پروندههای یا همان (File Allocation Tables (FAT و ورودیهای Master File Table یا همان MFT entries میکنند. ما این اشیا را ساختارهای فایل سیستم (file system structures) و یا متادیتا (metadata) مینامیم.

همچنین نیاز است تا اندازه (volume) یا مولفههای فایل سیستم (file system parameters) نیز مشخص شوند. برای نمونه لازم است مشخص شود که یک volume کجا آغاز میشود و چه اندازهای دارد و اندازهی کلاستر (cluster size) آن چیست. اگر برای مثال یکی از این موارد مثل اندازهی کلاسترها مشخص نباشد؛ تمام ارجاعات ما به کلاستر بیمعنی میشود چون نمیدانیم شروع و پایین آن کلاستر کجاست. اگر برای مثال برای فایل X ساختار فایل سیستم به کلاستر N اشاره میکند، برنامهای که نوشته میشود نیاز دارد تا نقطهی شروع volume را بداند. همچنین نیاز است تا اندازهی کلاستر (تعداد سکتورها به ازای هر کلاستر) را نیز بداند تا بفهمد کدام آدرس سکتورها را باید بگردد یا بپرد (در نظر نگیرد) تا بتواند دیتا فایل مورد نظر ما را پیدا کند.
بازیابی به روش فایل سیستمی همیشه این قابلیت را میدهد تا به ساختار اصلی دایرکتوری فایل یعنی همان پوشهبندیهای درختی و نام اصلی فایل دسترسی پیدا کنیم. در فایل سیستم NTFS این قابلیت وجود دارد که حتی بدون نمایهها (indexes) [نمایهها همان دایرکتوریها هستند] ساختاربندی درختی پوشههای را بازگردانی کنیم. در واقع این کار با استفاده از ورودیهای جدول اصلی فایل یا همان MFT entries صورت میگیرد که ساختار پوشهبندی را در خود فایل نیز ذخیره میکند.

بازیابی خام یا RAW
بازیابی RAW یا فایلکاوی یا File carving برای زمانی است که فایل سیستم و یا مشخصات فایل سیستمی همچون اندازهی کلاستر ناشناخته (unknown) است. در این شیوه برای بازیابی بر مشخصات حقیقی فایل (actual file properties) تکیه میشود. در واقع باید بدانید که بسیاری از فرمتهای فایلها با توالی بایتهای کاملا شناختهشدهای آغاز میشوند. به طور مثال تمام فایلهای تصویری فرمت GIF با کد اسکی (ASCII code) هگز یکسانی (in Hex 47 49 46) آغاز میشوند. این توالی بایتها به اعداد جادویی یا Magic Numbers معروف هستند. بنابراین بسیاری از نرمافزارهای بازیابی اقدام به جستجوی تک تک سکتورها برای یافتن این اعداد جادویی میکنند و با یافتن سکتور حاوی این اعداد میتوانند سکتور آغازین یک فایل را پیدا کنند.. در این روش شما باید مشخص کنید که به دنبال گشتن کدام فرمت فایلها هستید تا جستجو بر مبنای کدهای هگز هر فرمت فایل صورت گیرد.

برخی از فرمت فایلها علاوه بر مشخصهی اعداد جادویی؛ در هدر فایل (file header) خود اطلاعاتی راجع به خود فایل را نیز ذخیره میکنند. هیچ ساختار file header کلی و عمومی وجود ندارد و هر فرمتی ساختار header مشخص به خود را دارد. یعنی ساختار هدر یک فایل JPEG کاملا متفاوت از ساختار هدر یک فایل PDF است. در صورتیکه یک نرمافزار ساختار هدر یک فرمت خاص را بداند؛ میتواند نام اصلی فایل را نیز بازیابی کند. به این مشخصات، امضاهای (signatures) یک فایل نیز میگویند.
نوع و مقدار فایلهایی که یک نرمافزار بازیابی میتواند بازگردانی کند؛ بستگی به اعداد جادویی و امضاهایی (signatures) که از آنها بلد است دارد. هر چقدر که یک فرمت فایل نادرتر باشد؛ امکان بازیابی آن به روش RAW غیرممکنتر میشود.
حتی در فایلکاوی یا همان File carving و یا بازیابی RAW نیز دانستن اطلاعاتی راجع به فایل سیستم کمک شایانی به نتیجهی نهایی و زمان کاوش و بازیابی می گذارد. دانستن این که فایل سیستم در کدام سکتور آغاز میشود و دانستن اندازهی کلاستر، تعداد سکتورهایی که برای اعداد جادویی جستجو میشوند را کاهش شدیدی میدهد؛ چرا که آنها در ابتدای یک کلاستر هستند. ندانستن فایل سیستم و اندازهی کلاسترها به این معنی است که تک تک سکتورهای بایستی خوانده شوند و بررسی شوند که آیا اعداد جادویی در ابتدای سکتور دارند و یا نه.

اشکلات بازیابی به روش RAW
معایب فراوانی در بازیابی به روش RAW وجود دارند که در زیر به دو اشکال مهم میپردازیم:
- یک اشکال عمده بازیابی به روش RAW این است که فایلها نام اصلی خود را حفظ نمیکنند. (بنابراین پیدا کردن یک فایل با نامی که ذخیره کردهاید و میدانید؛ غیرممکن میشود و باید تمام فایلها را بررسی کنید.) ساختار پوشهبندی اصلی نیز از دست میرود و همین کار را برای پیدا کردن فایلهای خاص و مدنظر مشکلتر میکند.
- اما بزرگترین اشکال بازیابی به روش RAW این است که فایلهای تکه تکه شده (fragmented files) [ممکن است سکتورهای متعلق به یک فایل پشت سر هم نباشند و در جاهای مختلف هارد دیسک ذخیره شده باشند؛ به خصوص دربارهی فایلهای حجیم این اتفاق میافتد. به این فایلها تکه تکه شده میگوییم.] در اکثر موارد پس از بازیابی دچار درجات مختلفی از خرابی میشوند. چرا که ممکن است برخی سکتورهای آنها بازیابی نشده باشد. بسیاری از نرمافزارهای تجاری بازیابی وقتی اعداد جادویی را پیدا میکنند؛ در 99% موارد تصور میکنند باقی قسمتهای فایل در یک قسمت و پشتسر هم ذخیره شده است. در صورتیکه بسیاری از فایلها در هارد دیسک تکه تکه (fragment) میشوند.
در بازیابی به روش RAW وقتی فایلها عکس و فیلم باشند، بیشتر نرمافزارهای تجاری و مراکز بازیابی به مشکل برمیخورند. اما ما در کلینیک هارد ایران به کمک کارشناسان پیشروی خود روشهای جدیدی را ابداع کردهایم. استفاده از تکنیک RAW file carving در خصوص عکس و فیلم مشکل زیادی در خصوص نام فایل و پوشه ایجاد نمیکند. چرا که بیشتر عکسها و فیلمها توسط دوربین به صورت نامهایی چون image 01 و image 02 و… ذخیره میشوند. به طور معمول کل عکسها و فیلمهای یک دوربین نیز در یک پوشهی واحد ذخیره میشوند و بنابراین اهمیتی ندارد که نمیتوانیم ساختار پوشهبندی اصلی را بازیابی کنیم. اما مسئلهی حیاتی معضل فایلهای تکه تکه شده است که ما در کلینیک هارد ایران به راهحلهایی برای رفع آن دست یافتهایم.
برخی از مشتریان کلینیک هارد ایران