معرفی
این ابزار برای آزمایشگاه، توسعه، پژوهش و ارزیابی مجاز معرفی شده است. مشخصات و تصویر از منبع رسمی پروژه یا سازنده آمدهاند.
نکته 1
Ubertooth برای مشاهده و پژوهش ارتباطات Bluetooth/BLE ساخته شده است.
نکته 2
سختافزار و بخش بزرگی از stack ابزار متنباز است.
نکته 3
برای Capture یا آزمایش فقط روی دستگاهها و محیط مجاز استفاده شود.
استفاده مسئولانه
قابلیتهای RF، RFID، اسکن، credential audit، تحلیل ترافیک و تست امنیت فقط باید روی داراییهای خودتان، آزمایشگاه یا Scope دارای مجوز صریح استفاده شوند.
وضعیت محصول و انتظار واقعبینانه
در زمان بازبینی این راهنما، صفحه رسمی Great Scott Gadgets، Ubertooth One را محصول بازنشسته معرفی میکند و از نبود برنامه فعلی برای تولید بیشتر خبر میدهد. این وضعیت به معنی ناپدید شدن ارزش آموزشی سختافزار موجود نیست، اما برای انتخاب تجهیزات تازه باید در نظر گرفته شود. موجودی فروشنده، پشتیبانی نرمافزار و تناسب با فناوری هدف را جدا بررسی کنید. معرفی این ابزار نباید به عنوان وعده پوشش همه قابلیتهای Bluetooth امروزی خوانده شود.
Ubertooth یک پلتفرم توسعه رادیویی متنباز است و بخش مهمی از ارزش آن در امکان بررسی و تغییر نرمافزار قرار دارد. این ویژگی برای پژوهشگر مفید است، ولی تجربه آن با یک محصول تجاری دارای گردش کار بسته و پشتیبانی تضمینشده تفاوت دارد. پیش از شروع، سؤال آزمایش را کوچک کنید: آیا میخواهید انتشار تبلیغاتی یک برد خودتان را ببینید، کیفیت دریافت را بررسی کنید یا قالب خروجی ابزار را یاد بگیرید؟ سؤال روشن مانع انتظار نامحدود از سختافزار میشود.
سه لایه سختافزار، firmware و میزبان
دستگاه رادیویی، firmware روی برد و برنامه میزبان سه بخش جدا هستند. مشکل در هرکدام میتواند به شکل نبود بسته در رابط تحلیل ظاهر شود. نخست شناسایی USB و ارتباط ابزار میزبان با برد را تأیید کنید، سپس نسخه firmware و سازگاری آن با نرمافزار را بررسی کنید. اگر این مرحله سالم نیست، تغییر فیلترهای Wireshark مسئله را حل نمیکند. ثبت نسخه هر سه بخش برای بازتولید نتیجه ضروری است.
بهروزرسانی را از مسیر رسمی و متناسب با مدل انجام دهید. محیط bootloader ممکن است از دید سیستمعامل با شناسه متفاوتی دیده شود؛ در ماشین مجازی، عبور USB باید برای حالت لازم درست باشد. اگر اتصال هنگام تغییر حالت قطع شد، آن را فوراً خرابی سختافزار فرض نکنید. راهنمای همان انتشار و وضعیت دستگاه را بخوانید. از نصب فایل ناشناس یا ترکیب تصادفی نسخهها برای رفع مشکل پرهیز کنید، زیرا نتیجه تحلیل بعدی نیز به اعتبار این زنجیره وابسته است.
آنتن و محیط رادیویی
راهنمای شروع پروژه تأکید میکند دستگاه با آنتن متصل استفاده شود. نوع اتصال، سلامت آنتن و موقعیت فیزیکی را بررسی کنید و از تغییر مکان میان اندازهگیریهای مقایسهای بدون ثبت آن خودداری کنید. محیط دو و چهار دهم گیگاهرتز میتواند شلوغ باشد؛ وجود Wi-Fi و دستگاههای دیگر روی کیفیت مشاهده اثر میگذارد. آزمایشگاه آرامتر یا محفظه مناسب میتواند تکرارپذیری را بهتر کند، ولی شرایط واقعی هدف نیز باید در مرحله مناسب بررسی شود.
شدت دریافت را معادل فاصله دقیق ندانید. جهت آنتن، مانع، بازتاب و توان فرستنده روی آن اثر دارند. اگر هدف مقایسه دو تنظیم است، فاصله و جهت را ثابت نگه دارید و چند تکرار بگیرید. یک نمونه قوی یا ضعیف به تنهایی حکم قطعی درباره سلامت محصول نمیدهد. در گزارش، چیدمان و منابع تداخل شناختهشده را بنویسید تا مخاطب بداند مشاهده در چه شرایطی انجام شده است.
Bluetooth کلاسیک و BLE را مخلوط نکنید
این دو خانواده رفتارهای ارتباطی متفاوتی دارند و قابلیت ابزار در یک مسیر، پشتیبانی کامل از مسیر دیگر را ثابت نمیکند. حتی در BLE نیز ویژگیهای PHY، اندازه بسته و روشهای جدید تبلیغات میتوانند از محدوده یک firmware قدیمی بیرون باشند. پیش از آزمایش، قابلیت دقیق دستگاه هدف و پشتیبانی نرمافزار خود را مقایسه کنید. نام کلی Bluetooth روی محصول برای این تصمیم کافی نیست.
یک نمونه آموزشی مناسب میتواند برد توسعهای باشد که تبلیغات ساده و شناختهشده تولید میکند. ابتدا همین حالت محدود را ببینید و بعد تنها یک ویژگی را تغییر دهید. اگر حالت نخست دیده میشود و حالت تازه نه، این تفاوت میتواند به پشتیبانی ابزار مربوط باشد، نه خاموش شدن فرستنده. برای نتیجه معتبر از log خود برد یا ابزار مستقل نیز کمک بگیرید. نبود مشاهده رادیویی با نبود فعالیت رادیویی یکسان نیست.
تبلیغات با داده اتصال فرق دارد
پیامهای تبلیغاتی برای کشف دستگاه و معرفی اطلاعات اولیه استفاده میشوند و مشاهده آنها به معنی دنبال کردن کامل یک اتصال نیست. راهنمای پروژه نیز میان capture تبلیغات و دنبال کردن اتصال تفاوت میگذارد. یک اتصال میتواند شرایط زمانی و جابهجایی کانال خاص خود را داشته باشد. بنابراین دیدن دستگاه در فهرست، تضمین ثبت همه دادههای بعدی آن نیست. این مرز را پیش از تفسیر فایل capture روشن کنید.
برای آزمایش خودتان، زمان آغاز تبلیغات و زمان برقراری اتصال را در برنامه برد و کلاینت ثبت کنید. سپس ببینید فایل رادیویی کدام مرحله را واقعاً پوشش داده است. اگر فقط تبلیغات موجود است، گزارش را به همان بخش محدود کنید. تلاش برای تفسیر فقدان داده اتصال به عنوان سکوت برنامه میتواند نتیجه اشتباه بسازد. ترکیب log سمت برنامه و capture، دامنه دید هر ابزار را مشخص میکند.
زنجیره capture تا Wireshark
داده باید از برد به برنامه میزبان و سپس به فایل یا ورودی تحلیلگر برسد. در هر مرحله قالب و سلامت انتقال اهمیت دارد. نخست یک فایل کوچک از فعالیت آزمایشی شناختهشده تهیه کنید و مطمئن شوید ابزار تحلیل قالب آن را درست تشخیص میدهد. پیام درباره نوع encapsulation یا decoder باید بررسی شود؛ تغییر تصادفی تنظیمات ممکن است بایتها را با پروتکل نادرست تفسیر کند. راهنمای capture پروژه برای همین اتصال نرمافزاری مرجع مناسبی است.
فیلتر نمایش با فیلتر جمعآوری یکسان نیست. ممکن است بسته در فایل وجود داشته باشد ولی فیلتر رابط آن را پنهان کند. هنگام عیبیابی، ابتدا تعداد و نوع داده خام را در یک بازه کوتاه بررسی کنید، سپس فیلتر هدفمند اعمال کنید. اگر فایل خالی است، بررسی را به مسیر دریافت و USB برگردانید. این تفکیک از صرف زمان روی decoder در حالی که اصلاً دادهای نرسیده جلوگیری میکند.
خطاهای USB و مجازیسازی
انتقال ناپایدار USB میتواند capture را ناقص کند یا درخواستهای ابزار را به timeout برساند. کابل، درگاه، hub و تنظیمات ماشین مجازی را به عنوان عوامل جدا بررسی کنید. در یک آزمایش مقایسهای، همان برد و نرمافزار را در محیط سادهتر و مستقیم اجرا کنید. اگر مشکل فقط در ماشین مجازی رخ میدهد، ظرفیت و عبور USB محتملتر از ایراد پروتکل رادیویی است. این نتیجه را با چند تکرار تأیید کنید.
مجوز دسترسی دستگاه نیز ممکن است مانع اجرا شود. به جای اجرای همیشگی همه ابزارها با بیشترین اختیار، روش دسترسی محدود و مستند سیستمعامل را تنظیم کنید. گروه یا قانون دستگاه باید فقط کاربران لازم را پوشش دهد. خطای permission و خطای عدم شناسایی سختافزار را جدا بخوانید؛ اولی درباره اختیار است و دومی درباره ارتباط یا حالت دستگاه. ثبت پیام کامل خطا بدون اطلاعات حساس به عیبیابی کمک میکند.
رمزگذاری و محدودیت نتیجه امنیتی
دریافت یک بسته رادیویی به معنی خواندن محتوای رمزشده آن نیست. ابزار پژوهش نمیتواند صرفاً با دیدن موج، همه ارتباطها را رمزگشایی کند. همچنین دیدهشدن تبلیغات عمومی، به خودی خود نشانه شکسته شدن احراز هویت نیست. گزارش باید میان اطلاعات عمومی قابل مشاهده، داده اتصال و محتوای قابل تفسیر تفاوت بگذارد. ادعای گسترده درباره امنیت یک محصول نیازمند بررسی پروتکل و پیادهسازی همان محصول است.
در ارزیابی دستگاه خودتان، پرسشهای طراحی مشخصتری مطرح کنید: آیا داده حساس بیدلیل در تبلیغات قرار گرفته است؟ آیا برنامه بدون هویت لازم عملیات حساس را میپذیرد؟ آیا تنظیمات حریم خصوصی مطابق نیاز محصولاند؟ پاسخ بعضی از این پرسشها از capture و بعضی از آزمون برنامه و مستندات میآید. یک ابزار واحد همه لایهها را پوشش نمیدهد. نتیجه باید شواهد هر لایه را جدا نگه دارد تا اصلاح مناسب انتخاب شود.
شناسهها و حریم خصوصی
نشانی رادیویی همیشه شناسه پایدار یک شخص یا یک دستگاه در همه زمانها نیست. سازوکارهای حریم خصوصی و تغییر نشانی میتوانند تفسیر را پیچیده کنند. از یک مقدار دیدهشده در یک capture، هویت صاحب دستگاه را حدس نزنید. در آزمایشگاه، خودتان شناسه نمونهها و زمان فعالیتشان را ثبت کنید تا نسبت دادن داده به دستگاه بر پایه کنترل آزمایش باشد. این روش دقیقتر و کمریسکتر از مشاهده بیهدف محیط اطراف است.
فایلهای capture میتوانند رفتار زمانی و اطلاعات داخلی محصول را نشان دهند. دامنه ثبت را محدود کنید و نمونههای مربوط به افراد دیگر را بیدلیل نگه ندارید. برای اشتراک آموزشی، برد آزمایشی با داده ساختگی بهترین گزینه است. حذف نام دستگاه از تصویر، تمام اطلاعات داخل فایل خام را پاک نمیکند. پیش از انتشار، کل داده و metadata را بازبینی کنید و دسترسی به نسخه کامل را محدود نگه دارید.
یک تمرین مقایسهای قابل تکرار
برد خودتان را طوری تنظیم کنید که پیام تبلیغاتی ساده و قابل شناسایی بفرستد. در چند نوبت با مدت یکسان، تعداد بستههای دیدهشده و زمانهای آنها را ثبت کنید. سپس تنها فاصله یا یک تنظیم مجاز برد را تغییر دهید و آزمایش را تکرار کنید. هدف شناخت رفتار مشاهده در setup شماست، نه استخراج عدد عمومی درباره همه دستگاهها. log فرستنده را نگه دارید تا تعداد ارسال با تعداد دریافت اشتباه نشود.
اگر تعداد مشاهده کمتر شد، چند فرضیه ممکن است وجود داشته باشد: تداخل، تغییر کانال، محدودیت ابزار یا افت مسیر USB. با تغییر یک عامل و استفاده از شاهد مستقل، دامنه را کوچک کنید. نتیجه را به صورت «در این شرایط این مقدار دیده شد» گزارش کنید و از نسبت دادن همه فقدانها به فرستنده خودداری کنید. چنین بیان دقیقی برای تصمیم مهندسی ارزش بیشتری از یک عدد قطعی بدون روش دارد.
انتخاب ابزار مکمل و پایان آزمایش
اگر سؤال شما درباره شکل موج یا مشخصه RF دقیق است، ابزار طیف یا اندازهگیری مناسب آن کار لازم میشود. اگر هدف بررسی رفتار سطح برنامه است، log برد و ابزار توسعه stack میتوانند اطلاعاتی بدهند که capture بیرونی ندارد. Ubertooth را در کنار این ابزارها قرار دهید و از هرکدام انتظار متناسب داشته باشید. این ترکیب بهویژه برای سختافزار بازنشستهای که پوشش ویژگیهای جدید آن محدود است اهمیت دارد.
پس از پایان، فرایند capture را متوقف کنید، وضعیت دستگاه را به حالت شناختهشده برگردانید و فایلها را با نسخهها و شرایط آزمایش نامگذاری کنید. یک گزارش کوتاه شامل سؤال، setup، مشاهده، محدودیت و گام بعدی بسازید. راهنمای رسمی پروژه جزئیات نرمافزار را توضیح میدهد و صفحه سازنده مرجع وضعیت سختافزار است. بعضی صفحههای راهنما قدیمیاند؛ سازگاری فرمانها و قابلیتها باید با نسخهای که واقعاً نصب کردهاید بررسی شود.