از بیرون، فانتوم درایو (Phantom Drive) که توسط روتکیت لبز (Rootkit Labs) ساخته شده است، شبیه به یک فلشمموری قدیمی و ساده به نظر میرسد. این دستگاه ظاهر کلاسیک و ارزانقیمت پلاستیکی دارد که هرگز باعث نمیشود به هدف اصلی آن شک کنید؛ وقتی آن را به سیستم متصل میکنید، تنها به عنوان یک درایو 8GB ظاهر میشود. با این حال، در زیر هود، فانتوم درایو توسط یک کارت microSD تغذیه میشود که تنها زمانی قفل خود را باز میکند که شما بهطور خاص یک فایل متنی جدید ایجاد کنید؛ پس از آن، پارتیشن مخفی را که مجهز به رمزگذاری AES-256 است، بارگذاری میکند. این دستگاه برای شرایط و مکانهایی ساخته شده است که ممکن است مجبور به افشای محتویات یک دستگاه ذخیرهسازی شوید.
فانتوم درایو با استفاده از میکروکنترلر CH569 ساخته شده است که بلوکهای سختافزاری مختلفی دارد — این پروژه از USB3، SD/eMMC و بلوک AES استفاده میکند. به دلیل بحران جاری قطعات، هیچ تراشه NAND مستقیماً روی برد مدار چاپی سفارشی (PCB) وجود ندارد. در عوض، فانتوم درایو برای پارتیشن فریبنده 8GB و پارتیشن مخفی خود به یک کارت microSD ساده (که خودتان باید تهیه کنید و همراه دستگاه نیست) متکی است. سازنده اعلام کرده است که به محض کاهش قیمتها، نسخهای با ماژولهای eMMC تولید خواهد کرد.
البته، اگر کسی درایو را باز کند، میتواند کارت SD را بهصورت فیزیکی خارج کند. با این حال، این کار همچنان یک نشانه آشکار نخواهد بود، زیرا بسیاری از فلشهای ارزانقیمت با کارتهای microSD تغذیه میشوند و مبدلهای کارت SD نیز وجود دارند. به هر حال، درایو تکمیلشده از درون بسیار ساده به نظر میرسد؛ این دستگاه شامل یک پورت USB، دو منبع باک (buck supplies)، یک دکمه برای بهروزرسانی میانافزار، کارت microSD، نقاط تست UART و برخی قطعات پشتیبان است. در اینجا میانافزار سفارشی وارد عمل میشود.
نام این بازی رهگیری است. میانافزار نمیداند که برای مدیریت انتقال فایلها استفاده میشود؛ بلکه بستههای خام دادهای را که از طریق باس USB ارسال میشوند، به همان شکل میخواند. این کد به گونهای نوشته شده است که همیشه به دنبال یک رشته «رمز عبور» بگردد، بنابراین به محض اینکه فایل unlock.txt را با متن «password:xyz» در داخل آن ایجاد کنید، بخش «xyz» را تشخیص داده و آن را به SRAM کپی میکند، در حالی که قبل از نوشته شدن دادههای خام روی کارت SD، آنها را با دستهای از صفرها بازنویسی میکند. سیستمعامل فکر میکند که فایل جدید را ایجاد کرده است، اما میانافزار آن را در میان راه رهگیری کرده و عملاً هیچچیزی به سلولهای ذخیرهسازی فیزیکی ارسال نکرده است.
میانافزار از شناسه سختافزاری داخلی و منحصر به فرد میکروکنترلر به عنوان نمک (salt) استفاده میکند، آن را با رمز عبوری که تازه تایپ کردهاید ترکیب میکند و این جفت را ۱۰۰,۰۰۰ بار (همچنین میتوانید ۶۰۰,۰۰۰ بار را انتخاب کنید) از طریق توابع هش PBKDF2-HMAC-SHA-256 عبور میدهد تا یک کلید ایجاد کند. هر اجرا یک تاخیر عمدی ۲ تا ۳ ثانیهای ایجاد میکند تا از حملات جستجوی فراگیر (brute-force) برای حدس زدن رمز عبور جلوگیری شود. این کلید برای باز کردن و قفل کردن پارتیشن مخفی استفاده میشود و از آنجایی که به خود سیلیکون گره خورده است، قرار دادن کارت SD در یک فانتوم درایو دیگر آن را باز نخواهد کرد.
حتی اگر سعی کنید مستقیماً از طریق اسلات کارت microSD به آن دسترسی پیدا کنید، پنهان خواهد باقی ماند و درایو فریبنده 8GB در واقع مانند یک پارتیشن خراب به نظر خواهد رسید. سازنده همچنین گزینهای را برای کامپایل مجدد میانافزار توسط خودتان فراهم کرده است تا شناسههای سازنده (vendor IDs) را جعل کنید، به طوری که USB به گونهای به نظر برسد که متعلق به برندهای مختلف است. شما میتوانید فانتوم درایو را وادار کنید که در سطح پروتکل سختافزاری وانمود کند یک کینگستون داتاترولر (Kingston Datatraveler) ارزانقیمت 16GB است، در این صورت هیچ نرمافزار اسکن کنندهای آن را به عنوان چیزی بیشتر از یک USB ارزانقیمت علامتگذاری نخواهد کرد.
با این حال، ابزارهای مبتنی بر لینوکس (Linux) بر پایه زبان C وجود دارد که میتوانید در صورت بروز اضطراری، مانند آسیب فیزیکی به برد، برای بازیابی دادههای خود از آنها استفاده کنید. سرعت انتقال نیز بسیار محدود است زیرا این پروژه روی USB 2 ساخته شده است — سرعت خواندن ۲۰ مگابایت بر ثانیه و نوشتن ۹ مگابایت بر ثانیه در حالت AES-CTR است. سرعت در حالت AES-XTS به خواندن ۱۰ مگابایت بر ثانیه و نوشتن ۶ مگابایت بر ثانیه کاهش مییابد، اما حداقل این آزادی را دارید که بسته به نیاز خود بین این دو حالت یکی را انتخاب کنید.
شما میتوانید فانتوم درایو را با قیمت ۵۰ دلار از روتکیت لبز خریداری کنید، اما از آنجایی که این یک پروژه متنباز است، میتوانید خودتان نیز آن را بسازید. دستگاه پیشساخته همراه با دو قاب اضافی عرضه میشود زیرا پینها به سرعت فرسوده میشوند و میشکنند. در غیر این صورت، مخزن گیتهاب (GitHub repo) تمام منابع، از جمله فایلهای طرحبندی PCB و شماتیکها، فهرست مواد (BOM) برای هر قطعه، و میانافزار سفارشی را در کنار ابزارهای مرتبط با آن فراهم میکند.
رایان واکر (Ryan Walker)، سازنده فانتوم درایو، هدف پشت این پروژه را هم کاربردی و هم سیاسی توصیف میکند. این دستگاه بهطور کامل با استفاده از نرمافزار متنباز و با قطعات ارزانقیمت و به راحتی قابل دسترس ساخته شده است. آنها میخواستند چیزی بسازند که بتواند «از دست نمایندگان دولتهای اقتدارگرا، پلیس فاسد و هر کس دیگری که حقوق اولیه رمزگذاری را احترام نمیگذارد، عبور کند.»
