مؤتمر DEFCON 27. سيارتك هي سيارتي. الجزء الأول

موجز الأداء:

بالنسبة للعديد منا ، تعد السيارة واحدة من أغلى المشتريات التي قمنا بها على الإطلاق. في عالم تترابط فيه جميع الأشياء ، من الطبيعي تمامًا أن ترغب في التحكم عن بعد بسيارتك: احصل على رسائل تذكير من حيث أوقفناها ، وتحقق مما إذا كنت قد نسيت قفل الأبواب أو بدء تشغيل المحرك عن بُعد من أجل التسخين المسبق أو تبريد المقصورة اعتمادًا على الوقت من العام.

هناك العديد من الشركات المصنعة التي تقدم أنظمة إنذار اختيارية توفر هذه المرافق وراحة البال. ولكن إلى أي مدى يمكننا الوثوق بموردي هذه الأنظمة التي تحمي الوصول إلى سياراتنا في المجال الرقمي؟ في هذا التقرير ، سيتحدث Jmaxxz عما اكتشفه عندما نظر في أحد هذه الأنظمة.

يشتهر Jmaxxz بعمله مع أنظمة المنزل الذكي Smart Lock في أغسطس (حديث DEFCON 24 "Backdooring The Frontdoor"). في السنوات الأخيرة ، انصب اهتمامه على أجهزة إنترنت الأشياء. شارك في أقسام "يوم الصفر لقرية إنترنت الأشياء" من DEFCON 24 و DEFCON 25 وقرر أخيرًا أن الوقت قد حان للبحث عن منتج سوق السيارات الثانوي - المبتدئ عن بُعد (المشار إليه فيما يلي باسم DS).



لذا ، اسمي J-Max ، أنا مبرمج بالمهنة ومتسلل حسب المهنة. أفعل كل ما يتعلق بالقلاع ، وخلال هذه المحادثة سوف تسمع العديد من البيانات التي تعبر عن رأيي حصريًا ولا تتعلق برأي أصحاب العمل السابقين والحاليين والمستقبليين. كما فهمت على الأرجح ، سيكون هذا عن السيارات ، أي عن المبتدئين وأنظمة الإنذار. لنبدأ بالخلفية المهمة في هذا السياق ، لأن الكثير من الناس يعتبرون هذه الأنظمة ترفًا غير ضروري.
لذا ، حيث أعيش باردًا جدًا ، ويعاني صديقي من مرض يسمى متلازمة رينود. من البرد ، يحدث تشنج في الأوعية الدموية في اليدين ، وينخفض ​​تدفق الدم إلى الأصابع بشكل حاد ، وهناك علامات على قضمة الصقيع حتى نخر الأنسجة. تُظهر الشريحة كيف تبدو عادةً.



في نوفمبر الماضي ، لم أقرر بعد ما الذي سأقدمه لها لعيد الميلاد. وهكذا عادت إلى المنزل مستاءة من المطار ، لأن سيارتها لم تكن دافئة في طريقها إلى المنزل. في هذه اللحظة ، أدركت أنني سأعطيها نظام تشغيل المحرك عن بعد وبدأت في البحث عن أفضل خيار. اتضح أن السوق للمبتدئين عن بعد واسع للغاية ، والعديد من الشركات المصنعة لا تقدم معلومات كافية عن منتجاتها.

لا يخبرون كيفية تثبيت النظام والأدوات التي يجب استخدامها لبرمجة الجهاز. هذه مشكلة بالنسبة لي ، لأنها سيارتي ، وبدايتي البعيدة ، ويجب أن أتمكن من الوصول إلى هذه الأدوات. لذلك بحثت أكثر قليلاً ووجدت شركة من كندا ، Fortin ، تنتج مثل هذه المبتدئين وتوفر عن طيب خاطر جميع الوثائق اللازمة. استقرت على هذا المنتج وبدأت في البحث عن جهاز تحكم عن بعد مناسب. والحقيقة هي أنه إذا كنت تستخدم جهاز تحكم عن بعد قياسي مع جهاز تحكم عن بعد ، فسيقتصر نطاق عملها على نطاق جهاز التحكم عن بعد القياسي. في السوق الثانوية ، يتم تقديم أجهزة التحكم عن بعد التي تعمل على مسافة نصف ميل إلى ميل ونصف ميل. وفقًا لمراجعات المستهلكين ، هذه خطوة إعلانية ، لأن المسافة في الواقع أصغر بكثير. هذه هي المشكلةلأن صديقي بحاجة إلى تشغيل محرك السيارة المتوقفة في موقف السيارات في المطار بمجرد نزولها من الطائرة ، التي تبلغ حوالي نصف ميل.



لذلك ، سيكون من الرائع إذا كان بإمكانها فقط سحب هاتفها وفتح التطبيق والنقر على "تشغيل المحرك". لقد وجدت منتجًا تابعًا لجهة خارجية يُدعى MyCar متوافق تمامًا مع Fortin starter. هذا هو سلسلة المفاتيح الصغيرة مع بطاقة SIM وجهاز استقبال GPS ، والتي يمكنك وضعها في السيارة والاتصال ببدء تشغيل بعيد. بعد ذلك ، باستخدام تطبيق الهاتف المحمول ، يمكنك تشغيل المحرك عن بعد ، وفتح الأقفال وما شابه ذلك.



اعتقدت أن هذا سيكون رائعًا: بعد هبوط الطائرة مباشرة ، ستتمكن صديقتي من تشغيل المحرك ، وبحلول الوقت الذي وصلت فيه إلى السيارة ، ستكون المقصورة دافئة بالفعل.

لذا ، لنتحدث قليلاً عن كيفية عمل المبتدئين عن بعد. للقيام بذلك ، تحتاج أولاً إلى فهم كيفية بدء تشغيل محرك السيارة. حتى حوالي منتصف التسعينات ، كان مشغل السيارة عبارة عن قفل ميكانيكي تقليدي في اتصال مفتاح التبديل. كان عليك إدخال مفتاح وتحويله لإغلاق الدائرة الكهربائية. ثم في الولايات المتحدة ، أصبحت الأقفال التي تحمل علامة "منع الحركة" شائعة. يبدو الأمر معقدًا ، ولكنه مجرد قفل إلكتروني. لذلك ، لديك قفل ميكانيكي ، وهو مفتاح القفل الإلكتروني ، والذي بدوره هو مستجيب ويحتوي على بعض المعلومات التي يمكن قراءتها. وحتى تفتح القفل الإلكتروني ، لن تبدأ سيارتك. على الجانب الأيمن من الشريحة ، ترى مفتاحين: اليسار إلى منع الحركة ، واليمين لمفتاح الإشعال المعتاد.يقوم ببساطة بتنشيط المكونات الميكانيكية للقفل ، بينما يفتح المفتاح الأيسر القفل الإلكتروني ، الذي يبدأ تشغيل محرك السيارة.



لماذا أتحدث عن هذا؟ يعمل البدء عن بعد من خلال منع الحركة. في الشريحة التالية ، سترى رسم تخطيطي للاتصال بجهاز Fortin EVO One لجهاز منع الحركة - في أسفل اليسار ترى زوجًا من جهات الاتصال المعينة كـ IMO. في أعلى يمين الرسم التخطيطي ، ترى خطين: يمكن أن ينخفض ​​ويمكن أن يرتفع. هذه هي جهات الاتصال للاتصال بحافلة CAN. سبب اتصال المبتدئين عن بُعد بناقل CAN هو انخفاض تكاليف التثبيت نظرًا لاستخدام عدد أقل من الاتصالات أثناء التثبيت. إذا كان بادئ التشغيل عن بُعد يمكنه قراءة البيانات من ناقل CAN أو إرسال أوامر عبر ناقل CAN ، فهذا يقلل من وقت التثبيت لنظام بدء تشغيل المحرك عن بُعد.

يوجد في الجزء العلوي الأيسر من الرسم التخطيطي مجموعة كاملة من GPIOs المتعلقة بإدارة معلومات الجهاز أو قراءتها. على سبيل المثال ، تريد وميض المصابيح الأمامية أو صوت تنبيه عند الضغط على زر القفل. يمكن التحكم في هذه الأشياء باستخدام GPIOs. من أسفل يسار الدائرة ترى موصلًا أخرقًا كبيرًا - هذه واجهة توفر تجاوزًا لقفل ميكانيكي. أي أنك لست بحاجة إلى إدخال المفتاح وتحويله إلى مفتاح الإشعال ، لأن هذه الواجهة توفر تفاعلًا مباشرًا لمرحل نظام بدء التشغيل عن بُعد مع القفل الكهربائي.



توضح الشرائح التالية خطوات تثبيت بادئ التشغيل عن بُعد. في الأساس ، يتكون من إزالة غطاء عمود التوجيه ، وتركيب وتوصيل وحدة DS. تبدو مخيفة جدا ، ولكنها بسيطة.



يتصل جهاز التحكم عن بعد نفسه بما يسميه Fortin بقناة بيانات. يستخدم النظام بروتوكول نقل البيانات المادية الخاص UART - جهاز إرسال غير متزامن عالمي يقوم بتبادل البيانات بسرعة 9600 بود. يتصل Fortin Remote Starter ببساطة عبر ناقل UART بجهازي التحكم اللذين تراهما على الشريحة.



بعد تثبيت DS ، فكرت في كيفية تأثير هذه الأجهزة على سلامة السيارة. من الواضح أنه يجب على نظام DS تجاوز نظام منع التشغيل ، لذا ما مدى أمانه من حيث إمكانية السرقة أو اعتراض التحكم في الماكينة؟ لا ينطبق هذا فقط على نقل البيانات عبر شبكة خلوية ، ولكن أيضًا على إشارة البدء عن بعد نفسها. لذلك بدأت في البحث في معلومات الشركة المصنعة على الإنترنت عن بروتوكول نقل البيانات المستخدم على الإنترنت ودخلت إلى المنتديات حيث يكتب الناس أن Fortin يرفض تقديم هذا البروتوكول. أحد الأسباب: "نحن لا ننشر مثل هذه المعلومات ، لأن EVO ليست لعبة للمعجبين ، فهي مخصصة للاستخدام من قبل المحترفين.



كوني محترفة إلى حد ما ، قررت إنشاء الجهاز الخاص بي على سطح المكتب. حصلت على وحدة نظام EVO الثانية ، جمعت لوحة الدائرة ، التي كانت سيارة ، وأضفت مفاتيح لمحاكاة الاشتعال ، وزرًا لدواسة الفرامل ومجموعة كاملة من مصابيح LED لعرض ظروف مختلفة.



بدمج كل هذا ، قمت بتوصيل جهاز FTI لمراقبة قناة البيانات وبدأت في جمع هذه البيانات. في البداية ، يبدو شيئًا مثل ذلك المعروض على الشريحة ، وليس من الواضح تمامًا ما يحدث هنا. ولكن بإلقاء نظرة فاحصة ، يمكننا القول أنه يوجد بالتأكيد نوع من الهيكل هنا.



يرجى ملاحظة أنه كلما قمت بالضغط على زر في جهاز التحكم عن بُعد ، فإن الرسالة التي يرسلها الهوائي إلى DS دائمًا تبدأ عند 0C وتنتهي عند 0D. لذا إذا فصلنا ببساطة ما نحصل عليه ، بافتراض أن 0C هي البداية و 0 D في النهاية ، فإننا ننتهي بشيء مثل هذا.



بعض الهياكل مرئية بالفعل هنا ، لذا يمكنك معرفة ما يحدث. بعد قضاء الوقت في تتبع الرسالة التي تظهر بعد الضغط على زر معين ، تمكنت من تجميع جدول أوامر ، كل منها يتوافق مع إجراء محدد. أي ، عندما تضغط على الزر الموجود على جهاز التحكم عن بعد ، يرسل الهوائي أمرًا إلى وحدة بدء التشغيل عن بُعد ، والتي تبدو على هذا النحو.



هذا ما تبدو عليه بنية الفريق النموذجية.



عندما تضغط على الزر الموجود على جهاز التحكم عن بعد ، يرسل الهوائي مثل هذا الأمر إلى مشغل التحكم عن بعد. يستيقظ البايت 0C ، يليه 2 بايت ، على ما أعتقد ، يمثل اتجاه الإرسال. هذا مثير للاهتمام ، لأن UART لديه بالفعل اتجاه إرسال / استقبال إشارة ، لذلك قمت بوضع علامة على هذه البايتات على أنها "قمامة" ، فقط اعتبرها ثابتة. ويتبع ذلك بايت واحد يشير إلى الأمر الذي يرغب المستخدم في تنفيذه. يمكن أن يكون هذا قفلًا للأبواب أو فتحها ، أو تعطيل المنبه ، إلخ. بشكل عام ، كل ما تريد القيام به عن بعد مرتبط بهذا الأمر. حمولة FF FF F1 هو العنوان أو المعرف الذي يحدد الهوائي البعيد الذي وردت منه الرسالة. إذا لم تتعرف وحدة DS على المعرف ، فسيتم تجاهل الأمر. إذا قبل DS المعرف ،يبدأ إجراء متعدد المراحل ، والذي يتضمن فحص المفتاح في الإشعال ، وتشغيل المحرك أو إيقاف تشغيله ، والضغط على دواسة الفرامل ، وما إلى ذلك. في الواقع ، هذه العملية لا تهم كثيرًا ، فقط الجهاز في هذه اللحظة يدرس المعرّف.

في نهاية الرسالة يوجد بايت مع المجموع الاختباري والبايت يشير إلى نهاية الأمر. الآن بعد أن فهمنا كيف يعمل البروتوكول ، ماذا يمكننا أن نفعل حيال ذلك؟ لدي بضع مقاطع فيديو حول هذا الموضوع. لسوء الحظ ، الفيديو لسبب ما بدون صوت ، لذا سأخبرك بما يحدث على الشاشة. على يسار عمود التوجيه على غطاء لوحة العدادات يوجد مربع أبيض يحتوي على إلكترونيات مع برنامج Particle.IO الثابت الذي يفهم بروتوكول Fortin. السلك ذو الطرف الأزرق هو هوائي. هذا الشيء يسمح لي بالتفاعل مع وحدة بدء التشغيل عن بعد من سيارة الأجرة ورؤية ما يحدث على شاشة الكمبيوتر المحمول.



لذا ، أرسل أمر قفل القفل إلى السيارة ، لكنه لا يعمل ، لأن DS لا يعرف عن هذا الهوائي. كما ذكرت من قبل ، فإن هذا ببساطة هو UART ، والذي من ممتلكاته دعم ما يسمى بالاتصال ثنائي الاتجاه ، بحيث يمكنك تلقي معلومات عن حالة السيارة عن بعد. على سبيل المثال ، إذا تم تشغيل المحرك أو إيقافه فعليًا ، فسوف ترسل وحدة DS رسالة مقابلة لهوائي جهاز التحكم عن بعد. في هذه الحالة ، ستحتوي الرسالة على عنوان هذا الهوائي نفسه.



تكمن المشكلة في أن الاتصال يتم عبر بروتوكول UART ، ويمكن لأي شخص يتصل بناقل UART رؤية العنوان الذي يتم إرسال هذه الرسالة فيه ، بحيث يمكن في برنامجي الثابت استنساخ عنوان هوائي موجود ، وهو ما أفعله بالأمر المقابل.



لتوليد رسالة ، ما عليك سوى فتح باب السيارة. كما ترى ، يرسل DS رسالة إلى الهوائي مفادها أن الباب كان مفتوحًا ، ويتم تشغيل المنبه على الفور.



لإيقاف تشغيل المنبه ، أرسل أمر "فتح" ، وبعد ذلك يتم إيقاف تشغيل صوت المنبه وإلغاء تأمين السيارة. يجب أن تأخذ كلامي على هذا النحو ، لأننا لم نتمكن من تشغيل هذا الفيديو بالصوت. لنحاول تشغيل الفيديو مرة أخرى.



حسنًا ، ظهر الصوت (المترجم تقريبًا: يتم تشغيل نفس الفيديو مع الموسيقى التصويرية على الشاشة). لذا ، رأيت كيف أرسلت أمر DS وقمت بتشغيل المنبه ، وكل هذا بدون مفتاح. الآن دعنا نحاول تشغيل السيارة بنفس الطريقة ، لذلك سنرى الفيديو التالي.

عادةً ، لن تعمل كتابة الأمر "start" ومحاولة بدء تشغيل المحرك. والسبب هو أن هذه سيارة مزودة بعلبة تروس يدوية ، وبالنسبة لهذه السيارات ، فإن أنظمة التشغيل عن بُعد لديها إجراء خاص. في هذه الحالة ، يجب عليك الضغط على زر بدء التشغيل عن بُعد أثناء وجود المفتاح في الإشعال وتشغيل المحرك. ثم يمكنك إزالة المفتاح ، والخروج من السيارة ، وإغلاق الباب ، وبعد ذلك يقوم DS بإيقاف تشغيل المحرك وقفل الباب. يتم ذلك حتى لا تتفاعل السيارة مع بدء تشغيل المحرك عن بعد أثناء القيادة ، لأنه خطير. ومع ذلك ، هذه ليست ميزة أمان كاملة. إثبات هذا أمر بسيط للغاية إذا نظرت إلى كتلة EVO للمبتدئ البعيد. ترى هذا السلك الأصفر في شكل حلقة ، مصممة للعمل مع ناقل حركة ميكانيكي.إذا قمت بتقليمها ، يمكن استخدام هذه الوحدة لسيارة ذات ناقل حركة أوتوماتيكي. يسمح لك هذا التصميم للوحدة بعدم تطبيق أي إعدادات خاصة عند تثبيت DS في السيارات ذات أنواع مختلفة من ناقل الحركة.



لذا ، لم يستجب النظام لأمر "البدء" ، لذلك سأعيد وضع هذا الكتلة في مكانه وأقطع هذا السلك لقطع الاتصال. الآن ، إذا كررت أمر "البدء" ، ستصدر إشارة مسموعة وستضيء مؤشرات حالة نظام السيارة على لوحة العدادات ، كما يحدث عند إدخال المفتاح في القفل.



في الوقت الحالي ، لدينا سيارة يمكننا البدء عن بعد بدون مفتاح في الاشتعال ، لكن وحدة DS ليست كل ما نحتاجه. في ظل الظروف العادية ، لن تتمكن من مغادرة السيارة عن بعد ، ومع ذلك ، فلنحاول القيام بذلك بنفس الطريقة.

لتعطيل قفل عجلة القيادة ، يجب عليك إدخال مفتاح تقليدي في مفتاح الإشعال ، حيث لا يوجد مستجيب. كما ترى ، ما عليك سوى تبديل المفتاح إلى الوضع الذي يسبق بدء المحرك ، وتبدأ عجلة قيادة Subaru Impreza في الدوران بحرية تامة.

ومع ذلك ، إذا لم يكن لديك أي مفتاح ، فعند الضغط على دواسة الفرامل ، تتوقف السيارة. الالتفاف حول هذا القيد سهل بما فيه الكفاية. اكتشف كيف تخبر السيارة البادئ عن بعد أن الفرامل قد تم تطبيقها. ترى العديد من المنافذ متعددة الألوان في الجزء الخلفي من حالة وحدة EVO - سيتم توصيل كابل من ناقل CAN هنا. يكفي سحب هذا الكابل ببساطة من وحدة DS بعد بدء تشغيل السيارة عن بعد ، ولن يستجيب للضغط على دواسة الفرامل. نظرًا لأن هذه الوحدة تقع تحت غطاء عمود التوجيه ، فأعطي الأمر "بدء" من خلال جهاز الكمبيوتر المحمول ، وتبدأ السيارة ، وأفتح الباب ، وأخرج من السيارة وأخرج موصل ناقل CAN من كتلة EVO. كما ترون ، محرك السيارة يعمل ، بينما لا يزال لدينا أي مفتاح في الاشتعال.

الآن ، إذا ضغطت على دواسة الفرامل ، فلن يحدث شيء ، لأن EVO لا تعرف أنه تم الضغط عليه. بعد ذلك ، يمكنني الركوب خلف عجلة القيادة ، والضغط على الفرامل ، ووضع مقبض التروس في وضع "القيادة" ، وسوف تذهب السيارة. كل هذا يتم دون أي فكرة.

21:40

مؤتمر DEFCON 27. سيارتك هي سيارتي. الجزء 2


القليل من الدعاية :)


أشكركم على البقاء معنا. هل تحب مقالاتنا؟ هل تريد رؤية مواد أكثر إثارة للاهتمام؟ ادعمنا عن طريق تقديم طلب أو التوصية لأصدقائك VPS القائم على السحابة للمطورين من $ 4.99 ، وهو نظير فريد من نوعه لخوادم مستوى الدخول التي اخترعناها لك: الحقيقة الكاملة عن VPS (KVM) E5-2697 v3 (6 نوى) 10GB DDR4 480GB SSD 1Gbps من $ 19 أو كيفية تقسيم الخادم؟ (تتوفر الخيارات مع RAID1 و RAID10 ، حتى 24 مركزًا و 40 جيجابايت DDR4).

Dell R730xd أرخص مرتين في مركز بيانات Equinix Tier IV في أمستردام؟ فقط لدينا 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV من 199 دولارًا في هولندا!Dell R420 - 2x E5-2430 2.2 جيجا هرتز 6C 128 جيجا بايت DDR3 2x960GB SSD 1Gbps 100TB - من 99 دولار! اقرأ عن كيفية بناء مبنى البنية التحتية الفئة c باستخدام خوادم Dell R730xd E5-2650 v4 بتكلفة 9000 يورو مقابل سنت واحد؟

All Articles