ブログ

電子レンジが暴走する時:組み込みシステムセキュリティが開発者にとって次の難関となる理由

August 30, 2021
マティアス・マドゥ博士
夜間、ダッシュボードのライトが点灯したメルセデス・ベンツを運転する人物。車の外には色鮮やかな光の軌跡が流れている。

SF作品やファンタジーの世界では、AIやロボットが反乱を起こしたり、家電が人間に牙をむいたりする描写がよく見られます。しかし、IoTやコネクテッドデバイスが家庭に浸透するにつれ、サイバーセキュリティや安全性をめぐる議論も現実味を帯びてきました。私たちの周囲はソフトウェアであふれており、日々の革新や利便性を支える数々の高度な機能が、実は膨大なコードによって成り立っていることを忘れがちです。WebベースのソフトウェアやAPI、モバイルデバイスと同様に、組み込みシステムの脆弱なコードも、攻撃者に発見されれば悪用される可能性があるのです。

電子レンジの軍団が人類を支配しに来るような事態は考えにくいですが(テスラ・ボットには少し懸念がありますが)、サイバー攻撃による悪意ある事象は十分に起こり得ます。自動車や航空機、医療機器の一部も、重要な機能を実行するために複雑な組み込みシステムのコードに依存しており、これらが侵害される可能性は、単に不安を煽るだけでなく、生命を脅かす事態にもなりかねません。

他のあらゆるソフトウェアと同様、開発者は作成プロセスの最初からコードに触れる存在です。そして他のソフトウェアと同様、ここが製品リリース前に見過ごされがちな、潜伏性の高い一般的な脆弱性の温床となる可能性があります。

開発者はセキュリティの専門家ではありませんし、企業が彼らにその役割を期待すべきでもありません。しかし、彼らが直面する脅威に対処するための強力な武器を提供することは可能です。技術ニーズの進化に伴い、C言語やC++で記述されることの多い組み込みシステムの利用頻度はますます高まっており、この環境で使われるツールに関する専門的なセキュリティトレーニングが不可欠です。

爆発するエアフライヤー、暴走する車両……私たちは無防備な標的となっていないでしょうか?

安全な開発を維持するための基準や規制は存在しますが、あらゆる種類のソフトウェアセキュリティに向けて、より正確で有意義な前進が必要です。エアフライヤーのハッキングが問題を引き起こすなど荒唐無稽に思えるかもしれませんが、実際に発生しています。リモートコード実行攻撃によって温度を危険なレベルまで上昇させたり、車両の乗っ取りにつながる脆弱性が悪用されたりする事例が報告されているのです。

特に自動車は非常に複雑で、車内には多数の組み込みシステムが搭載され、自動ワイパーからエンジン、ブレーキ制御に至るまで、それぞれが微細な機能を担っています。Wi-Fi、Bluetooth、GPSといった通信技術のスタックが複雑に絡み合うコネクテッドカーは、複数の攻撃ベクトルにさらされた複雑なデジタルインフラと言えます。2023年には世界で7,630万台のコネクテッドカーが路上を走ると予測されており、真の安全を確保するための防御基盤を築くことは、極めて大きな課題です。

MISRAは、組み込みシステムの脅威と戦う重要な組織であり、組み込みシステムの文脈においてコードの安全性、セキュリティ、移植性、信頼性を促進するためのガイドラインを策定しています。これらのガイドラインは、すべての企業が組み込みシステムプロジェクトで目指すべき北極星のような存在です。

しかし、このゴールドスタンダードに準拠したコードを作成・実行するには、ツールを使いこなし、セキュリティ意識の高い組み込みシステムエンジニアの存在が欠かせません。

なぜ組み込みシステムのセキュリティスキル向上は、これほどまでに特殊なのでしょうか?

C言語やC++は現代の基準から見れば古参のプログラミング言語ですが、依然として広く使われています。これらは組み込みシステムのコードベースの核を成しており、コネクテッドデバイスの世界において、Embedded C/C++は現代的で輝かしい役割を担っています。

これらの言語は非常に古いルーツを持ち、インジェクション攻撃やバッファオーバーフローといった一般的な問題において同様の脆弱性を示しますが、開発者が組み込みシステムのセキュリティバグを真に軽減するには、実際に作業する環境を模したコードで実践的な経験を積む必要があります。一般的なセキュリティ慣行を学ぶ汎用的なC言語トレーニングだけでは、Embedded Cの文脈で時間をかけて取り組むような、強力で記憶に残る学習効果は得られません。

現代の自動車には12個から100個以上の組み込みシステムが搭載されており、開発者がIDE上で何を監視し、どう修正すべきかを正確にトレーニングすることが不可欠です。
‍

組み込みC/C++におけるビジネスロジックの欠陥とはどのようなものでしょうか?実際に確認し、プロのように特定して修正できるか試してみましょう。

組み込みシステムの保護は、基盤レベルから全員で取り組むべき責任です

多くの組織では、開発者の責任において「セキュリティよりも開発スピード」が優先される現状があります。開発者がセキュアなコードを書く能力で評価されることは稀で、魅力的な機能を迅速に開発することが成功の基準とされています。ソフトウェアへの需要は高まる一方ですが、このような文化は脆弱性との戦いに敗北し、結果としてサイバー攻撃を許す土壌を作っています。

開発者がトレーニングを受けていないのは彼らのせいではありません。AppSecチームは、開発コミュニティ全体に対して、適切でアクセスしやすく、評価可能なスキルアッププログラムを推奨することで、この穴を埋める手助けをする必要があります。ソフトウェア開発プロジェクトの開始段階からセキュリティを最優先事項とし、誰もが、特に開発者が、自分の役割を果たすために必要なリソースを提供されるべきです。

組み込みシステムのセキュリティ問題に実践的に取り組む

バッファオーバーフロー、インジェクション攻撃、ビジネスロジックのバグは、組み込みシステム開発における共通の落とし穴です。これらが単一の車両やデバイス内の無数のマイクロコントローラーの奥深くに潜んでいる場合、セキュリティの観点から大惨事を招きかねません。

特にバッファオーバーフローは蔓延しており、前述のエアフライヤーがどのように侵害されたか(リモートコード実行を許した経緯)を詳しく知りたい場合は、こちらのレポート(CVE-2020-28592)をご覧ください。

それでは、実際の組み込みC/C++コードを使用して、バッファオーバーフローの脆弱性を体験してみましょう。このチャレンジに挑戦し、この厄介なバグを引き起こす不適切なコーディングパターンを見つけ出し、特定して修正できるか試してみてください。
‍

Secure Code Warrior logo with text: Squash dangerous embedded systems bugs and a red Play Now button.
バッファオーバーフローを過去のものに。

‍

結果はいかがでしたか?組み込みシステムのセキュリティに関する正確で効果的なトレーニングについては、www.securecodewarrior.comをご覧ください。

タグライン

AI主導の開発をリリース前にガバナンスする

AIを活用したリスク測定、コミット時のセキュアコーディングポリシーの強制、そしてSDLC全体を通じたセキュアなデリバリーの加速を実現します。

デモを予約する
リソースライブラリ

他のブログ記事を見る

セキュアコーディング、AIガバナンス、ソフトウェアリスク管理に関する専門的なコンテンツをご覧ください。

すべて表示
導入事例
フィルターラベル
これはdivブロック内のテキストです。

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

詳細はこちら
導入事例
フィルターラベル
これはdivブロック内のテキストです。

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

詳細はこちら
導入事例
フィルターラベル
これはdivブロック内のテキストです。

セキュリティ文化の統一:Sageはいかにしてチャンピオンプログラムを構築したか

Sageがどのようにして柔軟かつ関係性を重視したアプローチでセキュリティを強化し、200名以上のセキュリティチャンピオンを育成して、目に見えるリスク低減を実現したのかをご紹介します。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

2026年サイバーセキュリティ意識向上月間:企業防衛に不可欠なAIセキュリティの理解

主要なAI企業の多くが、安全対策が追いつくまでの間、AI開発を世界的に減速させるよう公に呼びかける事態となっています。しかし現実には、深刻なセキュリティ問題はすでに顕在化しています。AI導入に伴う金銭的コストやリスクが増大し続ける中、多くのセキュリティリーダーや経営陣は差し迫った状況に追い込まれています。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

イネーブラー8:プログラムのブランディング

セキュアコーディングプログラムを成功させるには、優れたコンテンツ以上のものが必要です。イネーブラー8では、ブランディングによって参加を「憧れのステータスを得る体験」へと変える方法を解説します。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

すべての従業員が今、AIサイバーセキュリティの最前線に立っている

エンタープライズテクノロジーの状況は、手遅れになるまで誰も予測できなかったほどの速さで変化しています。私たちは今、人間が書いたコードと基本的なコパイロット支援の時代から、エージェント型開発ライフサイクル(ADLC)の時代へと正式に足を踏み入れました。自律型AIエージェントは、複数の機能にわたってかつてない効率性をもたらす一方で、全く新しい種類のセキュリティリスクや規制リスクも引き起こしています。

詳細はこちら

AIを活用した開発をリリース前にセキュアに

開発者のリスクを可視化し、ポリシーを適用することで、ソフトウェア開発ライフサイクル全体における脆弱性を未然に防ぎます。

デモを予約する
該当する項目が見つかりません。