OpenHayStack هو إطار لتتبع أجهزة Bluetooth الشخصية عبر Apple's Massive Find My Network. استخدمه لإنشاء علامات التتبع الخاصة بك التي يمكنك إلحاقها بالكائنات الفعلية (Keyrings ، حقائب الظهر ، ...) أو دمجها في أجهزة أخرى قادرة على Bluetooth مثل دفاتر الملاحظات.

OpenHayStack هو تطبيق يتيح لك إنشاء ملحقاتك الخاصة التي يتم تتبعها بواسطة Apple's Find My Network. كل ما تحتاجه هو جهاز Mac و BBC Micro: Bit أو أي جهاز آخر قادر على Bluetooth. باستخدام التطبيق ، يمكنك تتبع الملحقات الخاصة بك في أي مكان على الأرض دون تغطية خلوية. ستكتشف أجهزة iPhone القريبة الملحقات الخاصة بك وتحميل موقعها على خوادم Apple عندما يكون لديهم اتصال شبكة.
OpenHayStack هو نتيجة أعمال التحليل العكسي والتحليل الأمني لشبكتي في Apple (أو اكتشاف غير متصل ). لقد بدأنا في مختبر الشبكات المتنقلة الآمنة في TU Darmstadt في تحليل الاستنتاج غير المتصل بعد إعلانه الأولي في يونيو 2019. لقد حددنا كيف يمكن العثور على أجهزة Apple بواسطة أجهزة iPhone ، حتى عندما تكون غير متصلة بالإنترنت من خلال هذا العمل. النظام بأكمله عبارة عن مزيج ذكي من إعلانات Bluetooth وتشفير المفتاح العام وقاعدة بيانات مركزية لتقارير الموقع المشفرة. لقد كشفنا عن مواصفات للأجزاء المغلقة من الاكتشاف غير المتصلة بالإنترنت وأجرينا تحليلًا شاملاً للأمن والخصوصية. وجدنا اثنين من نقاط الضعف المتميزة. تم إصلاح التطبيق الأكثر حدة ، والذي سمح بتطبيق ضار للوصول إلى بيانات الموقع ، في هذه الأثناء بواسطة Apple (CVE-2020-9986). لمزيد من المعلومات حول تحليل الأمان ، يرجى قراءة ورقتنا. منذ صدوره ، تلقينا الكثير من التغطية الصحفية والإعلام.
OpenHaystack هو برنامج تجريبي. الكود لم يتم اختباره وغير مكتمل. على سبيل المثال ، OpenHayStack Accessories باستخدام برامجنا الثابتة بث مفتاح عام ثابت ، وبالتالي ، يمكن تتبعها من قبل الأجهزة الأخرى على مقربة (قد يتغير هذا في إصدار مستقبلي). OpenHaystack لا ينتم أو معتمد من قبل شركة Apple Inc.
يتكون OpenHaystack من مكونين. أولاً ، نقدم تطبيق MacOS يمكنه عرض آخر موقع تم الإبلاغ عنه لأجهزة Bluetooth الشخصية. ثانياً ، تتيح صورة البرامج الثابتة أجهزة Bluetooth للبث منارات التي تجعلها قابلة للاكتشاف بواسطة أجهزة iPhone.
OpenHayStack يتطلب MacOS 11 (Big Sur).
يتطلب تطبيق OpenHayStack مكونًا إضافيًا مخصصًا لـ Apple Mail. يتم استخدامه لتنزيل تقارير الموقع من خوادم Apple عبر واجهة برمجة تطبيقات خاصة (التفسير الفني: يرث المكون الإضافي استحقاقات Apple Mail المطلوبة لاستخدام واجهة برمجة التطبيقات هذه). لذلك ، فإن إجراء التثبيت مختلف قليلاً ويتطلب منك تعطيل حارس البوابة مؤقتًا. لا يصل البرنامج المساعد الخاص بنا إلى أي بيانات خاصة أخرى مثل رسائل البريد الإلكتروني (انظر رمز المصدر).
~/Library/Mail/Bundle .sudo spctl --master-disable ، والتي ستعطيل حارس البوابة والسماح بتشغيل المكون الإضافي لـ Apple Mail.sudo defaults write "/Library/Preferences/com.apple.mail" EnableBundles 1sudo spctl --master-enable ، والتي ستمكن حارس البوابة مرة أخرى.إضافة ملحق جديد. لإنشاء ملحق جديد ، تحتاج فقط إلى إدخال اسم له وتحديد رمزًا مناسبًا ولونًا اختياريًا. يقوم التطبيق بعد ذلك بإنشاء زوج مفتاح جديد يستخدم لتشفير وتقارير الموقع. يتم تخزين المفتاح الخاص في سلسلة المفاتيح الخاصة بك.
نشر على الجهاز. قم بتوصيل جهاز مدعوم عبر USB إلى Mac الخاص بك واضغط على زر النشر بجوار اسم الملحق واختر المقابل. بدلاً من استخدام النشر المدمج لـ OpenHayStack ، يمكنك أيضًا نسخ المفتاح العام المستخدم للإعلان (النقر بزر الماوس الأيمن على الملحق) ونشره يدويًا.
عرض مواقع الأجهزة. قد يستغرق الأمر ما يصل إلى 30 دقيقة حتى ترى تقرير الموقع الأول على الخريطة على الجانب الأيمن. ستعرض الخريطة دائمًا جميع مواقعك الأحدث. يمكنك النقر فوق كل عنصر للتحقق من استلام التحديث الأخير. من خلال النقر على زر إعادة التحميل ، يمكنك تحديث تقارير الموقع.
نوضح بإيجاز نظام إيجاد Apple في وضع عدم الاتصال (AKA Find My Network ). يرجى الرجوع إلى ورقة الحيوانات الأليفة لدينا ومواصفات ملحق Apple لمزيد من التفاصيل. نحن نقدم نظرة عامة تخطيطي (من ورقتنا) ونشرح كيف ندمج الخطوات المختلفة في OpenHayStack أدناه.

لاستخدام Apple's Find My Network ، ننشئ زوجًا مفتاحًا بين القطاعين العام والخاص على منحنى إهليلجي (P-224). يبقى المفتاح الخاص على جهاز Mac المخزن بشكل آمن في سلسلة المفاتيح ، ويتم نشر المفتاح العام على الملحق ، على سبيل المثال ، Micro: Bit.
باختصار ، تبث الملحقات المفتاح العام كإعلانات Bluetooth Low Energy (BLE) (انظر البرامج الثابتة). لن تتمكن أجهزة iPhone القريبة من التمييز بين ملحقاتنا عن جهاز Apple الأصلي أو ملحق معتمد.
عندما يتلقى iPhone قريب إعلانًا بليًا ، يجلب iPhone موقعه الحالي عبر GPS ، ويشفره باستخدام المفتاح العام من الإعلان ، ويقوم بتحميل التقرير المشفر إلى خادم Apple. جميع أجهزة iPhone على iOS 13 أو الأحدث تفعل ذلك بشكل افتراضي. OpenHaystack غير متورط في هذه الخطوة.
لا تعرف Apple المواقع المشفرة التي تنتمي إلى حساب Apple أو جهاز Apple. لذلك ، يمكن لكل مستخدم Apple تنزيل أي تقرير موقع طالما أنهم يعرفون المفتاح العام المقابل. هذه ليست مشكلة أمنية: جميع التقارير مشفرة شاملة ولا يمكن فك تشفيرها ما لم يعرف المرء المفتاح الخاص المقابل (المخزنة في سلسلة المفاتيح). نحن نستفيد من هذه الميزة لتنزيل التقارير من Apple التي تم إنشاؤها لإكسسوارات OpenHayStack الخاصة بنا. نستخدم مفاتيحنا الخاصة لفك تشفير تقارير الموقع وإظهار أحدثها على الخريطة.
تحمي Apple قاعدة البيانات الخاصة بها من الوصول التعسفي عن طريق مطالبة مستخدم Apple المصادقة بتنزيل تقارير الموقع. نستخدم المكون الإضافي الخاص بـ Apple Mail ، الذي يتم تشغيله بامتيازات مرتفعة ، للوصول إلى معلومات المصادقة المطلوبة. يتواصل تطبيق OpenHayStack مع البرنامج المساعد أثناء تنزيل التقارير. هذا هو السبب في أنك بحاجة إلى الحفاظ على البريد مفتوحًا أثناء استخدام OpenHayStack.
من حيث المبدأ ، يمكن تحويل أي جهاز Bluetooth إلى ملحق OpenHayStack يمكن تتبعه عبر Apple's Find My Network. حاليًا ، نقدم طريقة نشر مريحة لـ OpenHayStack Firmwares لعدد صغير من الأجهزة المدمجة (انظر الجدول أدناه). نحن ندعم أيضًا أجهزة Linux عبر البرنامج النصي العام HCI. لا تتردد في نقل OpenHayStack إلى الأجهزة الأخرى التي تدعم الطاقة المنخفضة Bluetooth استنادًا إلى الكود المصدري للبرامج الثابتة لدينا والمواصفات في ورقتنا. يرجى مشاركة نتائجك معنا!
| منصة | تم اختباره على | نشر عبر التطبيق | تعليق |
|---|---|---|---|
| الشمال NRF51 | بي بي سي ميكرو: بت V1 | ✓ | يدعم فقط NRF51822 في هذا الوقت (انظر العدد رقم 6). |
| espressif esp32 | SP32-WORDY ، ESP32-WORVER | ✓ | يمكن أن يستغرق النشر ما يصل إلى 3 دقائق. يتطلب بيثون 3. شكرا @fhessel . |
| Linux HCI | Raspberry Pi 4 W/ Raspbian | يجب أن تدعم أي آلة Linux. |

OpenHayStack Mobile هو إعادة تنفيذ كاملة لتطبيق OpenHaystack MacOS للهواتف الذكية. يوفر التطبيق نفس الوظيفة لإنشاء وتتبع الملحقات ويهدف إلى زيادة قابلية الاستخدام ، وخاصة للمستخدمين الجدد. على عكس تطبيق MacOS ، لا يمكن جلب تقارير الموقع مباشرة على الهاتف الذكي ، وبالتالي يتطلب التطبيق خادم وكيل مستضاف على أجهزة Mac للوصول إلى شبكتي. يمكن الوصول إلى خادم الوكيل عبر شبكة من قبل مستخدمين متعددين في وقت واحد.
للاتصال بخادم الوكيل الخاص بك ، قم بتعيين عنوان URL الصحيح في: OpenHayStack-Mobile/lib/findmy/reports_fetcher.dart


تم تصميم OpenHayStack Mobile مع إطار Flaturk عبر المنصات ويعمل حاليًا على Android و iOS. يمكن العثور على مزيد من المعلومات حول تعليمات التطبيق والاستخدام في مجلد OpenHaystack-Mobile في هذا المستودع.
تم ترخيص OpenHayStack بموجب ترخيص GNU Affero العام الإصدار 3.0 .