هک بوئینگ ۷۳۷؛ نگاهی به حمله Bus Driver
پژوهشگران امنیتی روشی برای هک یک بوئینگ ۷۳۷ با استفاده از دستگاهی به اندازه یک سکه پیدا کردهاند. بوئینگ ۷۳۷ یکی از پرکاربردترین هواپیماهای مسافربری جهان است؛ بنابراین احتمال زیادی وجود دارد که شما هم دستکم یک بار با یکی از این هواپیماها پرواز کرده باشید.
برای اجرای این حمله، باید دستگاه کوچکی در پورتی نصب شود که از طریق دریچهای در قسمت بیرونی هواپیما قابل دسترسی است. به گفته پژوهشگران، این پورت نهتنها بهطور معمول در دسترس نیروهای تعمیر و نگهداری قرار دارد، بلکه سایر کارکنان فرودگاه و شرکتهای هواپیمایی نیز میتوانند به آن دسترسی داشته باشند. نصب این دستگاه نیز کمتر از ۶۰ ثانیه زمان میبرد.
پس بیایید ببینیم این دستگاه کوچک و مرموز دقیقاً چیست، چه کارهایی میتواند انجام دهد و آیا همچنان میتوان با خیال راحت سوار یک بوئینگ ۷۳۷ شد.
چرا هک کردن هواپیما دشوارتر از هک کردن خودرو است؟
بیشتر ما دیگر به این واقعیت عادت کردهایم که کامپیوترها و گوشیهایمان ممکن است هک شوند؛ موضوعی که احتمالاً یکی از پرتکرارترین مباحث همین وبلاگ است. اما پیش از این درباره حملات به اهداف کمتر متداول نیز صحبت کردهایم؛ از خودروها، رباتهای چمنزن، دستگاههای خودکار بُر زدن کارت و دوچرخهها گرفته تا حتی تشکها. در دنیای امروز، همه این وسایل و بسیاری از دستگاههای دیگر، کامپیوترهای کوچک یا گاهی نهچندان کوچکی درون خود دارند.
هواپیماها نیز از این قاعده مستثنا نیستند. یک هواپیمای مسافربری مدرن مملو از کامپیوترهایی است که برخی از آنها وظایف بسیار حساسی را انجام میدهند؛ از محاسبه پارامترهای برخاست گرفته تا کنترل خود پرواز.
اما یک تفاوت اساسی وجود دارد: سازندگان هواپیماهای مسافربری، برخلاف تولیدکنندگان بسیاری از تجهیزات خانه هوشمند، امنیت را بسیار جدی میگیرند. همین موضوع باعث میشود دسترسی به این سیستمها از خارج هواپیما بهمراتب دشوارتر باشد.
شاید دقیقاً به همین دلیل است که ایده هک کردن یک هواپیمای واقعی، سالها برای کنجکاوترین پژوهشگران امنیتی جذاب بوده است. تیمی از دانشگاه کالیفرنیا سندیگو (UC San Diego) و کالج اوبرلین (Oberlin College) که در نهایت موفق به انجام این کار شدند، بیش از یک دهه روی حل این مسئله کار کردند.
همانطور که اشاره شد، چالش اصلی در هک کردن یک هواپیما این است که سیستمهای حیاتی آن به اینترنت عمومی متصل نیستند. به همین دلیل، بررسی مسیرهای احتمالی حمله به هواپیما برای مدتها حوزه چندان امیدوارکنندهای در جامعه پژوهشی امنیت سایبری محسوب نمیشد؛ دسترسی از راه دور به سیستمهای ایزوله بسیار دشوار است و احتمال اینکه یک مهاجم بتواند بهصورت فیزیکی به این سیستمها دسترسی پیدا کند نیز بسیار پایین در نظر گرفته میشد.
اما دو پروژه موفق دیگر باعث شدند Kirill Levchenko و Aaron Schulman، پژوهشگران دانشگاه کالیفرنیا سندیگو، در این فرض تجدیدنظر کنند: یکی هک Chevrolet Impala و دیگری پژوهشی درباره اسکیمرهای کارتهای پرداخت.
پروژه هک خودرو باعث شد تیم آنها قطعات کامپیوتری دستدوم یک بوئینگ ۷۳۷ را خریداری کند و محیط آزمایشی مخصوص خود را بسازد. پژوهش مربوط به اسکیمرها نیز ایده ساخت یک دستگاه فیزیکی کوچک را به آنها داد؛ دستگاهی که بتوان آن را مستقیماً به سیستمهای داخلی هواپیما متصل کرد.
پژوهشگران پس از بررسی نقشههای مدارهای بوئینگ ۷۳۷، پورتی را پیدا کردند که از بیرون هواپیما قابل دسترسی بود و تنها یک دریچه بدون قفل از آن محافظت میکرد.
این پورت به یک کانال داده به نام گذرگاه ARINC 429 متصل است. این گذرگاه، کامپیوتر مدیریت پرواز (Flight Management Computer یا FMC) هواپیما را به واحد چندمنظوره کنترل و نمایش (Multifunction Control and Display Unit یا MCDU) متصل میکند.
«راننده اتوبوس» پشت فرمان
پژوهشگران در محیط آزمایشی خود بررسی کردند اگر از طریق این پورت به گذرگاه ARINC 429 متصل شوند و سیگنالهای الکتریکی قویتری نسبت به سیگنالهایی که اجزای بوئینگ معمولاً میان یکدیگر ردوبدل میکنند ارسال کنند، چه اتفاقی میافتد. نتیجه نشان داد که با این روش میتوانند فرمانهای معتبر سیستم را با فرمانهای خودشان جایگزین کنند. پس از آن، تنها کاری که باقی میماند ساخت دستگاهی بود که بهاندازه کافی کوچک باشد تا در پورتی که پیدا کرده بودند جای بگیرد.
تیم پژوهشی قدمبهقدم دستگاهی ساخت که آنقدر کوچک بود که بتوان آن را داخل این پورت محافظتنشده قرار داد. ساخت نسخه نهایی کمتر از ۱۰۰ دلار آمریکا هزینه داشت و ظاهراً بخش عمده آن با قطعات آماده موجود در بازار ساخته شده بود: یک میکروکنترلر کوچک، تجهیزات الکترونیکی برای برقراری ارتباط با گذرگاه و یک ماژول Wi-Fi.
این بخش آخر میتواند به دستگاه امکان دهد به شبکه عمومی Wi-Fi داخل هواپیما متصل شود و از این طریق مهاجم به آن از طریق اینترنت دسترسی پیدا کند و در نهایت بتواند دستگاه را از راه دور کنترل کند. نصب کامل این دستگاه در پورت نیز کمتر از یک دقیقه زمان میبرد.
نمونه اولیه دستگاه Bus Driver
دستگاهی که پژوهشگران برای اتصال به سیستمهای بوئینگ ۷۳۷ ساختهاند. برای نشان دادن ابعاد دستگاه، یک سکه در کنار آن قرار گرفته است.
پژوهشگران نام حمله خود را Bus Driver گذاشتند که ظاهراً نوعی بازی با کلمات است: واژه «Bus» هم به وسیله نقلیه مسافربری اشاره دارد و هم به کانال دادهای که امکان برقراری ارتباط میان اجزای یک سیستم را فراهم میکند. این حمله به فرد اجازه میدهد وارد این کانال شود و فرمانهای در حال انتقال را با فرمانهای دیگری جایگزین کند؛ به بیان دیگر، عملاً کنترل «Bus» را در دست بگیرد.
دستگاه دستساز هک بوئینگ ۷۳۷ واقعاً چه کارهایی میتواند انجام دهد؟
یک پورت محافظتنشده، دستگاهی به اندازه یک سکه و دسترسی به گذرگاه داده؛ همه اینها قابل توجه است، اما پژوهشگران در عمل موفق شدند چه کارهایی انجام دهند؟ چنین دستگاه کوچکی تا چه اندازه میتواند خسارت ایجاد کند؟
پاسخ این است: بسیار زیاد؛ حتی با پیامدهایی بالقوه مرگبار. پژوهشگران با به دست آوردن امکان دستکاری دادههای در حال انتقال میان کامپیوتر مدیریت پرواز (FMC) و واحد چندمنظوره کنترل و نمایش (MCDU) دریافتند که میتوانند در چند بخش حیاتی از عملکرد هواپیما اختلال ایجاد کنند.
آزمایش حمله Bus Driver
پژوهشگران در حال آزمایش Bus Driver روی تجهیزات واقعی اویونیک بوئینگ ۷۳۷ هستند. رابط حمله آنها روی نمایشگر MCDU اجرا شده است.
در وهله اول، این دستگاه میتواند دادههایی را که برای محاسبه پارامترهای برخاست و فرود استفاده میشوند تغییر دهد. برای مثال، میتواند مقدار ثبتشده وزن بدون سوخت (Zero-Fuel Weight) هواپیما را تغییر دهد و در نتیجه، محاسبه سرعتهای موردنیاز برای یک برخاست ایمن را مختل کند.
این دستگاه همچنین میتواند مقدار دمای فرضی (Assumed Temperature) را که خلبانان برای تعیین میزان نیروی پیشران موردنیاز موتور هنگام برخاست استفاده میکنند، دستکاری کند. اگر اطلاعات اشتباهی به سیستم داده شود، در برخی شرایط ممکن است هواپیما نیروی پیشران کافی برای برخاست ایمن نداشته باشد و حتی از انتهای باند خارج شود. محاسبات اشتباه هنگام فرود نیز میتوانند خطرات جدی مشابهی ایجاد کنند.
این دستگاه همچنین قادر است مسیری را که خلبان خودکار دنبال میکند تغییر دهد. در یک پرواز طولانی، انحراف تنها چند درجهای که آنقدر جزئی باشد که مورد توجه قرار نگیرد، میتواند هواپیما را به میزان قابل توجهی از مسیر اصلی خارج کند؛ تا جایی که ممکن است هواپیما در نقطهای بر فراز اقیانوس با کمبود سوخت مواجه شود.
علاوه بر این، مهاجم میتواند با استفاده از دستگاه، هواپیما را به سمت حریم هوایی کشوری هدایت کند که در مسیر پروازی تأییدشده آن قرار ندارد. چنین انحرافی نیز میتواند پیامدهای مرگباری داشته باشد. در تاریخ هوانوردی غیرنظامی بیش از یک مورد ثبت شده است که هواپیمای مسافربری پس از ورود ناخواسته به حریم هوایی محدودشده، به اشتباه توسط نیروهای نظامی سرنگون شده است.
البته احتمال اینکه چنین انحرافی هم از چشم خلبانان و هم از کنترل ترافیک هوایی پنهان بماند بسیار کم است؛ اما حوادث بزرگ معمولاً زمانی رخ میدهند که چند خطای انسانی بهطور همزمان در کنار یکدیگر قرار بگیرند.
دستگاه نصبشده در بوئینگ ۷۳۷
پس از نصب، این دستگاه درون پورت تقریباً دیده نمیشود و اگر کسی نداند دقیقاً باید دنبال چه چیزی بگردد، شناسایی آن بسیار دشوار خواهد بود.
در نهایت، این دستگاه فقط امکان تغییر پارامترهای پرواز را فراهم نمیکند؛ بلکه به مهاجم اجازه میدهد این تغییرات را از دید خلبانان نیز پنهان کند.
برای مثال، مهاجم میتواند مسیر جدیدی را در کامپیوتر پرواز بارگذاری کند و همزمان اطلاعات نمایشدادهشده روی صفحه MCDU را دستکاری کند؛ بهگونهای که خلبانان همچنان مسیر اصلی را روی نمایشگر مشاهده کنند.
با این حال، پژوهشگران تأکید میکنند که در بیشتر موارد، یک خدمه پرواز هوشیار متوجه این مغایرت خواهد شد. اطلاعات صحیح همچنان روی سایر نمایشگرهای کابین خلبان قابل مشاهده است و با تغییر وضعیت به کنترل دستی، خلبانان میتوانند خلبان خودکار را غیرفعال کرده و دوباره کنترل هواپیما را در دست بگیرند.
پس بهتر است همه با قطار سفر کنیم؟
در پایان، بد نیست خیال افرادی را که سالهاست از پرواز میترسند ــ و البته کسانی که شاید با خواندن این مطلب به جمع آنها پیوستهاند ــ کمی راحت کنیم.
خود پژوهشگران میگویند با وجود تمام چیزهایی که در جریان این تحقیق کشف کردهاند، همچنان با بوئینگ ۷۳۷ پرواز میکنند. آنها همچنین برای جلوگیری از ایجاد هرگونه مشکل در دنیای واقعی، عمداً مشخص نکردهاند که در آزمایشهای خود دقیقاً از کدام پورت استفاده کردهاند.
پژوهشگران در سال ۲۰۲۰ نیز با بوئینگ تماس گرفتند و یافتههای خود را با این شرکت در میان گذاشتند. بوئینگ این اطلاعات را جدی گرفت و برای رفع مشکل اقدام کرد.
پژوهشگران بهطور مشخص پیشنهاد کردند که بوئینگ یا پورت آسیبپذیر را بهطور کامل حذف کند یا آن را با رزین اپوکسی مسدود کند تا از نظر فیزیکی امکان اتصال یک دستگاه غیرمجاز به آن وجود نداشته باشد.
راهکارهای پیچیدهتری نیز وجود دارند؛ از جمله بازطراحی حفاظتهای الکتریکی گذرگاه داخلی بهگونهای که یک دستگاه غیرمجاز نتواند سیگنالهای واقعی را تحت تأثیر قرار دهد و همچنین اضافه کردن سیستمهایی که بتوانند چنین حملاتی را در همان مراحل اولیه شناسایی کنند.
پژوهشگران در بلندمدت توصیه میکنند بوئینگ و سایر سازندگان هواپیما از احراز هویت رمزنگاریشده برای پیامهایی که میان اجزای سیستمهای اویونیک ردوبدل میشوند استفاده کنند.
اینکه بوئینگ دقیقاً همین توصیهها را اجرا کرده یا راهکارهای دیگری برای رفع مشکل در نظر گرفته، بهصورت عمومی مشخص نیست. زمانی که خبرنگاران Wired در اینباره از شرکت سؤال کردند، پاسخ بوئینگ نسبتاً کلی بود:
«کارشناسان فنی ما اطمینان دارند که لایههای حفاظتی موجود در هواپیما، از جمله تمهیدات در نظر گرفتهشده در طراحی سیستم و محیط عملیاتی، اقدامات کاهشی کافی را فراهم میکنند تا امکانپذیری و خطر حملات در دنیای واقعی به میزان قابل توجهی محدود شود.»
بنابراین، ظاهراً هنوز نیازی نیست بهطور کامل قید پرواز با بوئینگ ۷۳۷ را بزنیم.
با این حال، من شخصاً احترام زیادی برای قطارها قائلم؛ بنابراین قصد ندارم شما را از سفر با قطار یا استفاده از سایر روشهای حملونقل منصرف کنم. اتفاقاً پیش از این در همین وبلاگ درباره هک قطارها هم نوشتهام؛ البته در آن مورد، هدف از هک کردن سازنده و اصلاحگرانه بود، نه مخرب.