فانتوم درایو؛ فلش‌مموری مخفی متن‌باز با پارتیشن رمزگذاری‌شده

فلش‌مموری متن‌باز Phantom Drive یک پارتیشن رمزگذاری‌شده را پشت یک درایو فریبنده ۸ گیگابایتی پنهان می‌کند و با ساخت یک فایل متنی بازگشایی می‌شود.

تتیم تحریریه۵ دقیقه مطالعه۰ بازدید۱۴۰۵/۵/۱۹
فانتوم درایو؛ فلش‌مموری مخفی متن‌باز با پارتیشن رمزگذاری‌شده

از بیرون، فانتوم درایو (Phantom Drive) که توسط شرکت روکت‌کیت لبز (Rootkit Labs) ساخته شده، شبیه به یک فلش‌مموری معمولی و قدیمی به نظر می‌رسد. این دستگاه ظاهر کلاسیک و پلاستیکی ارزان‌قیمتی دارد که هرگز باعث نمی‌شود به هدف اصلی آن شک کنید؛ هنگامی که آن را به سیستم متصل می‌کنید، صرفاً به عنوان یک درایو ۸ گیگابایتی نمایش داده می‌شود. با این حال، در بخش داخلی، فانتوم‌درایو از یک کارت میکرو اس‌دی (microSD) نیرو می‌گیرد که تنها زمانی قفل خود را باز می‌کند که به‌طور خاص یک فایل متنی جدید ایجاد کنید. پس از آن، پارتیشن مخفی که مجهز به رمزنگاری AES-256 است، بارگذاری می‌شود. این دستگاه برای شرایط و مکان‌هایی ساخته شده است که ممکن است مجبور شوید محتویات یک حافظه ذخیره‌سازی را فاش کنید.

فانتوم‌درایو با استفاده از میکروکنترلر CH569 ساخته شده است که مجموعه‌ای از بلوک‌های سخت‌افزاری مختلف را در خود دارد؛ این پروژه از بلوک‌های USB3، SD/eMMC و AES استفاده می‌کند. به دلیل بحران مداوم قطعات، هیچ تراشه NAND مستقیماً روی برد مدار چاپی سفارشی (PCB) وجود ندارد. در عوض، فانتوم‌درایو برای پارتیشن فریبنده ۸ گیگابایتی و هم پارتیشن مخفی، به یک کارت میکرو اس‌دی ساده (که خودتان باید تهیه کنید و همراه دستگاه نیست) متکی است. سازنده اعلام کرده است که به محض کاهش قیمت‌ها، نسخه‌ای با ماژول‌های eMMC تولید خواهد کرد.

البته، اگر کسی درایو را باز کند، می‌تواند به صورت فیزیکی کارت اس‌دی را بیرون بیاورد. با این حال، این کار باز هم نشانه‌ای قطعی نخواهد بود، زیرا بسیاری از فلش‌مموری‌های ارزان‌قیمت با کارت‌های میکرو اس‌دی کار می‌کنند و مبدل‌های کارت اس‌دی نیز وجود دارند. به هر حال، درایو نهایی از درون بسیار ساده به نظر می‌رسد؛ این دستگاه شامل یک پورت USB، دو منبع باک (buck supplies)، یک دکمه برای به‌روزرسانی میان‌افزار (firmware)، کارت میکرو اس‌دی، نقاط تست UART و برخی قطعات پشتیبان است. اینجاست که میان‌افزار سفارشی وارد عمل می‌شود.

نام این بازی رهگیری است. میان‌افزار نمی‌داند که برای مدیریت انتقال فایل‌ها استفاده می‌شود؛ بلکه بسته‌های خام داده‌ای را که از طریق باس USB ارسال می‌شوند، همان‌طور که هستند می‌خواند. این کد به گونه‌ای نوشته شده است که همیشه به دنبال یک رشته «رمز عبور» بگردد، بنابراین به محض اینکه فایل unlock.txt را با عبارت «password:xyz» در داخل آن ایجاد می‌کنید، بخش «xyz» را شناسایی کرده و آن را به حافظه SRAM کپی می‌کند، در حالی که پیش از نوشته شدن داده‌های خام روی کارت اس‌دی، آن‌ها را با دسته‌ای از صفرها بازنویسی می‌کند. سیستم‌عامل فکر می‌کند که فایل جدید را ایجاد کرده است، اما میان‌افزار آن را در میان راه رهگیری کرده و عملاً هیچ چیزی به سلول‌های ذخیره‌سازی فیزیکی ارسال نکرده است.

میان‌افزار از شناسه سخت‌افزاری داخلی و منحصربه‌فرد میکروکنترلر به عنوان نمک (salt) استفاده می‌کند، آن را با رمز عبوری که تازه تایپ کرده‌اید ترکیب می‌کند و این جفت را ۱۰۰,۰۰۰ بار (همچنین می‌توانید ۶۰۰,۰۰۰ بار را انتخاب کنید) از طریق توابع هش PBKDF2-HMAC-SHA-256 عبور می‌دهد تا یک کلید ایجاد کند. هر بار اجرای این فرآیند باعث ایجاد یک تأخیر عمدی ۲ تا ۳ ثانیه‌ای می‌شود تا حملات جستجوی فراگیر (brute-force) برای حدس زدن رمز عبور را متوقف کند. این کلید برای قفل کردن و باز کردن قفل پارتیشن مخفی استفاده می‌شود و از آنجا که به خود سیلیکون گره خورده است، قرار دادن کارت اس‌دی در یک فانتوم درایو دیگر, آن را باز نخواهد کرد.

حتی اگر سعی کنید مستقیماً از طریق اسلات کارت میکرو اس‌دی به آن دسترسی پیدا کنید، پنهان باقی خواهد ماند و درایو فریبنده ۸ گیگابایتی در واقع مانند یک پارتیشن خراب به نظر خواهد رسید. سازنده همچنین این گزینه را فراهم کرده است تا میان‌افزار را به صورت دستی کامپایل مجدد کنید تا شناسه‌های سازنده (vendor IDs) خاصی را جعل کنید، به طوری که USB به نظر برسد متعلق به برندهای دیگری است. شما می‌توانید فانتوم‌درایو را وادار کنید که در سطح پروتکل سخت‌افزاری وانمود کند یک مدل ارزان‌قیمت ۱۶ گیگابایتی کینگستون دیتا تراولر (Kingston DataTraveler) است، در این صورت هیچ نرم‌افزار اسکنری آن را چیزی بیشتر از یک USB ارزان‌قیمت تشخیص نخواهد داد.

با این حال، در صورت بروز اضطرار مانند آسیب فیزیکی به برد، ابزارهای مبتنی بر لینوکس (Linux) بر پایه زبان C وجود دارد که می‌توانید برای بازیابی داده‌های خود از آن‌ها استفاده کنید. سرعت انتقال داده‌ها نیز بسیار محدود است زیرا این پروژه روی پروتکل USB 2 ساخته شده است؛ سرعت خواندن ۲۰ مگابایت بر ثانیه و نوشتن ۹ مگابایت بر ثانیه در حالت AES-CTR است. سرعت در حالت AES-XTS به خواندن ۱۰ مگابایت بر ثانیه و نوشتن ۶ مگابایت بر ثانیه کاهش می‌یابد، اما حداقل این آزادی را دارید که بر اساس نیاز خود بین این دو حالت یکی را انتخاب کنید.

شما می‌توانید فانتوم‌درایو را با قیمت ۵۰ دلار از روکت‌کیت لبز خریداری کنید، اما از آنجا که این یک پروژه متن‌باز است، می‌توانید خودتان نیز آن را بسازید. دستگاه پیش‌ساخته همراه با دو قاب اضافی عرضه می‌شود زیرا پین‌ها به سرعت فرسوده شده و می‌شکنند. در غیر این صورت، مخزن گیت‌هاب (GitHub) تمام منابع، از جمله فایل‌های طراحی PCB و شماتیک‌ها، لیست قطعات (BOM) برای هر بخش، میان‌افزار سفارشی و ابزارهای مرتبط با آن را فراهم می‌کند.

رایان واکر (Ryan Walker)، سازنده فانتوم‌درایو، هدف پشت این پروژه را هم کاربردی و هم سیاسی توصیف می‌کند. این دستگاه کاملاً با استفاده از نرم‌افزار متن‌باز و قطعات ارزان‌قیمت و به راحتی قابل دسترس ساخته شده است. آن‌ها می‌خواستند چیزی بسازند که بتواند «از دست نمایندگان دولت‌های اقتدارگرا، پلیس فاسد و هر کس دیگری که حقوق اساسی رمزنگاری را احترام نمی‌گذارد، عبور کند.»

نظرات۰

برای نوشتن نظر، وارد حساب خود شوید.

ورود / ثبت‌نام

هنوز نظری ثبت نشده — اولین نفری باش که نظر می‌دهد.