工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial Internet of Things >> モノのインターネットテクノロジー

エンジニアが知っておくべきハードウェアセキュリティの脆弱性

エンジニアがハードウェアのセキュリティに注意を払う必要があるのはなぜですか?設計を通じて脆弱性を防ぐのに役立つからです!

エンジニアがハードウェアのセキュリティに注意を払う必要があるのはなぜですか?設計を通じて脆弱性を防ぐのに役立つからです!

エンジニアは伝統的に、セキュリティの問題について話すのが好きではありません。ただし、これは、エンジニアが暗号化について知って、将来の設計で暗号化に対処できるようにすることがいかに重要であるかを否定するものではありません。

これまで、暗号化、Diffie-Hellman交換、およびECC(楕円曲線暗号)の仕組みについて、エンジニア(簡単な)の紹介について説明してきました。

今度は、ハッカーが暗号化を破る方法を学ぶときです。そうすれば、一般的な攻撃から設計を保護するための長い旅を始めることができます。

電気技師がセキュリティを気にする必要がある理由

エンタープライズレベルまたはセーフティクリティカルな設計に安全なデバイスを提供する責任がある場合は、設計プロセスのすべての段階で、チップベンダーやセキュリティ研究者と設計について話し合う必要があります。 Microchip、SiLabs、WolfSSLなどの企業には、設計を支援し、セキュリティについて教育できるエンジニアがスタッフにいます。

結局のところ、100%安全なシステムのようなものは間違いなくありません。

「乗ることができなかった馬は一度もいませんでした。投げることができなかったライダーは一度もいませんでした。」

セキュリティ研究者は、ハッカーと一緒に生涯にわたっていたちごっこをします。何度も何度も、「破られない」暗号化が破られてきました。メッセージが暗号化されたままであるかどうかは、パーツの選択、回路の設計の程度、コードの実装の程度、および攻撃者が設計を打ち負かすための十分な動機と装備を備えているかどうかによって異なります。エンジニアとしてのあなたの仕事は、秘密鍵を保護するためにできる限りのことをすることです。

国民国家から秘密鍵を保護するためにできることは事実上何もないことをご存知でしょう。さまざまな政府機関が電子的および人間的な目標に対抗するためにもたらすことができるリソースは、重要で圧倒的です。スパイがデバイスから秘密鍵を取得できない場合でも、デバイスをプログラムしたコンピューターをハッキングしたり、ICが製造されている工場に侵入したり、従業員を危険にさらしたりする可能性があります...

幸いなことに、国民国家がデバイスをハッキングすることを心配する必要はありません。 Un 幸いなことに、それは通常、私たちが信じたいよりもはるかに単純な事柄です。約250ドル相当のハードウェアとYouTubeトレーニングビデオへのアクセス権を持つティーンエイジャーは、午後にマイクロコントローラーから秘密鍵を盗むことができます。そして、悪意のあるプログラマーはほんの数分でデータを盗むことができます。

安全な設計に備えるためには、目前の脅威を理解することが重要です。これは、いくつかのよく知られたハードウェアベースのセキュリティの脆弱性の概要と、それらを軽減するためにできる可能性のあることです。

組み込みシステムのセキュリティ問題の例

いくつかの主要なハードウェアの脆弱性の例を見て、より安全な設計のためのいくつかのヒントについて説明しましょう。

電磁サイドチャネル攻撃

研究者は、何十年もの間、電磁サイドチャネル攻撃について知っていました。機械的なスイッチまたはトランジスタが状態を変えるときはいつでも、電磁波は導体に沿って、そして導体から外に向かって伝播します。その電磁波がハッカーによって傍受された場合、ハッカーは波の作成に使用されたデータを再構築できることがよくあります。詳細については、Van Eck Phreaking、Tempest、または以下のビデオを参照してください。

電磁サイドチャネル攻撃の軽減

PCBを設計およびレイアウトするときは、業界のベストプラクティスを使用してください。

  1. デカップリングコンデンサを電源ピンのできるだけ近くに配置します。
  2. ICの下にしっかりしたグランドプレーンを使用します。
  3. ICの上にEMIシールドを使用します。

デバイスに物理的にアクセスできる人を止めることはできませんが、その人の仕事はさらに困難になります。

差分電力解析攻撃

ほとんどのマイクロコントローラーで暗号化を解読するために必要なのは、0.005ドルの抵抗、アナログ-デジタルコンバーター、およびPythonプログラミング言語の基本的な理解だけです。

マイクロコントローラのデジタルゲートが切り替わると、マイクロコントローラにつながる電源レールが乱れます。ハッカーは、マイクロコントローラーの動作中に発生する電流のわずかな変化を記録するために、電源レールの両端に50Ωの抵抗とアナログ-デジタルコンバーターを配置することを学びました。

マイクロコントローラは、差動電力測定データが記録されている間、SPIプログラム/デバッグインターフェイスを介して問い合わせられます。その後、データが分析され、ピークとパルスが個々のマイクロコントローラーの動作を相互に関連付けてフィンガープリントするために使用されます。

ハッカーは注意深く分析することで、マイクロコントローラーから必要なほとんどすべての情報を引き出すことができます。

差分電力解析攻撃の軽減

このハッキングはソフトウェアベースの暗号化コードで簡単に実行できるため、可能な限りDPA対策を実装する暗号化ハードウェアアクセラレータを使用してください。以前と同様に、設計とレイアウトでは業界のベストプラクティスを使用してください。 BGAフットプリントを選択し、PCBの中間層で電源レールを実行します。本当に懸念がある場合は、上下に銅線を使用してPCBの中間層にICを埋め込み、ステッチで使用します。結局のところ、悪者が電力レールに到達できない場合、彼らは簡単に差動電力分析を実行することはできません。

または、ハードウェアベースのセキュリティコアを使用します。これらはこのハッキングの影響を受けにくいためです(まだハッキング可能です)。エンジニアはこの脆弱性について知っており、さまざまな方法でそれに対する設計を行っています。例として、Silicon Labs Wireless Gecko Series 2には統合されたセキュリティコアがあり、Microchipは、設計で使用できる暗号化モジュールを含む一連のセキュリティICを製造しています。

中間者攻撃

いくつかの中間者攻撃があります。このペーパーでは、「無効なカーブ攻撃」について説明します。次のより単純な架空の例は、考えられる攻撃ベクトルの1つにすぎません。

「MyTunes」という名前のBluetoothスピーカーを介してコンピューターから音楽を再生すると、データはコンピューターからスピーカーに直接移動します。ただし、コンピューターを「AllAboutCircuits.com」という名前の外部Webサイトに接続すると、コンピューターが「AllAboutCircuits」という名前の別のコンピューターに直接接続されていないことに気付く場合と気付かない場合があります。

最初に発生するのは、コンピューターがルーターに接続し、ルーターがドメインネームサーバー(DNS)に接続して、AllAboutCircuits.comという名前をIPV4またはIPV6アドレス(104.20.234.39)に変換することです。これは通常すぐに発生し、データはローカルに保存されて、将来のブラウジングを高速化します。

Windows 10PC上のAllAboutCircuits.comのDNSエントリ。

次に、データはコンピューターからルーター、ゲートウェイにバウンスして、IPアドレスが104.20.234.39に一致するコンピューターに切り替えます。ホップ数は、Webサイトごと、および場所ごとに異なります。それぞれの場所で、コンピューターが保護されていない場合、データが傍受されたり、トラフィックがリダイレクトされたりする可能性があります。

このルートトレースには、ラップトップからAllAboutCircuits.comWebサイトへのすべての「ホップ」が表示されます

中間者攻撃へのセットアップ

中間者攻撃が発生する可能性のあるさまざまな方法があります。この1つのタイプの攻撃だけを考えてみてください。

ThisPersonDoesNotExist.comの「Bob」の画像

ボブは派手な新しいワイヤレスルーターを購入しました。彼はおもちゃを家に持ち帰り、ホームネットワークに接続します。そして、新しいおもちゃにあまりお金をかけていなかったことを確認するために、彼は自分のコンピューターで銀行口座の残高を確認します。

ThisPersonDoesNotExist.comの「Mallory」の画像

マロリーはハッカーです。彼女はウェブサイトshodan.io(または同様のもの)を使用して、インターネット上にあるルーター、ウェブカメラ、ラズベリーパイ、またはIoTデバイスを識別し、ボブの新しいルーターを見て、新しいおもちゃを持っているので、ニヤリと手をこすります。

マロリーは、すべてのデバイスに付属しているデフォルトのユーザー名/パスワード(admin / default、admin / admin、admin / passwordなど)を使用します。ほとんどのメーカーはすべてのデバイスに同じユーザー名/パスワードを使用しており、ほとんどの人はわざわざデバイスを変更しないため、1つ以上のエントリポイントを見つけるのにそれほど時間はかかりません。マロリーは、デバイスにログインし、自分のファームウェアでフラッシュして、DNSサーバーを自分が選択したDNSサーバーに変更するだけです。

彼女はこれを行うことができます:

これで、マロリーはプライベートネットワークにアクセスできるようになりました。彼女はもはやウェブ上のハッカーではなく、ボブの個人的なホームネットワーク内にいて、データが行き来するのを見ることができます。データは暗号化されているため、まだ何であるかを必ずしも確認することはできませんが、ボブがThisBankDoesNotExist.com(123.123.123.123)に頻繁にアクセスしてログインしていることを確認できるため、サーバーとウェブページの設定に取り掛かりました。 ThisBankDoesNotExist.comのログインページのピクセルパーフェクトなコピーであるボブ。

次に、マロリーはThisBankDoesNotExist.comのボブのDNSエントリを(123.45.67.89)に変更します

攻撃

ボブはThisBankDoesNotExist.comに移動します。彼はドメイン名の前にhttps://と入力する必要はなく、マロリーのハッキングによって正しいコンピューターに接続していません。彼はhttp://ThisBankDoesNotExist.comにいるので、証明書の警告は表示されません。

ボブはこれについては何も知りません。彼はピクセルパーフェクトなコピーを見て、マロリーのコンピューターにユーザー名/パスワードを入力すると、期待どおりにアカウント情報が表示されます。

現在を除いて、マロリーはすべての取引、すべての承認されたアカウント所有者、さらにはアカウント情報を保護するために使用するボブの非常に複雑なユーザー名/パスワード(bob / letmein)まですべてを見ることができます。

ハッキングの余波

ほとんどすべてのWebサイトは、エンドツーエンドの暗号化を使用しています。つまり、データはボブのコンピューターと銀行のコンピューターでのみ復号化できます。マロリーは新しいエンドポイントを導入しました。ボブのトラフィックは彼のコンピューターでエンコードされ、マロリーのコンピューターでデコードされます。次に、データはマロリーのコンピューターで再エンコードされ、銀行のコンピューターでデコードされます。これは、ボブと銀行の両方にとって、エンドツーエンドの暗号化として表示されます。

しかし、中間エンドポイントであるマロリーのコンピューターがあります。マロリーは、ボブの病院の記録やメールなどを見つけるために同じトリックを行うことができます。

組み込みシステムを保護する方法

デバイスを安全に保つ最も簡単な方法は、製品をハッキングしにくくすることです。

彼らが抵抗に遭遇した場合、ハッカーが次のターゲットに移動する可能性があります。一方、個人や中小企業が国民国家のハッキングを防ぐことは困難です。幸いなことに、多くの「ハッカー」は、新しい攻撃を開発し、問題が発生したときにそれを解決するための専門知識を欠いている単なる「スクリプトキディ」です。お使いのデバイスにYouTube動画とGitHubがない場合、彼らは何をすべきかわからず、先に進みます。

また、デバイスの保護について詳しくは、マイクロチップベンダーにご相談ください。 MicrochipとSiliconLabsの両方がこのシリーズの記事で目立つように取り上げられました。これは、両方の会社がエンジニアをこれらの記事のインタビューに利用できるようにしたためです。

IoTデバイスを設計する場合、エンジニアリングとプログラミングの怠慢によって顧客が命を救う可能性を減らすためにできることがいくつかあります。

上記の考えに加えて、次の追加手順を検討してください。

  1. ファームウェア認証(別名セキュアブート)をサポートするマイクロコントローラーとツールチェーンを使用して設計します。 正しく署名されたデジタルファームウェアのみがマイクロコントローラーで実行され、秘密鍵を知っているのはあなただけです。 Silicon LabsとMicrochip(および他のベンダー)の両方に、セキュアブートをサポートするマイクロコントローラーがあります。
  2. 可能な場合は安全なデバッグ機能を備えたマイクロコントローラーを使用してください。 これらのハッキングの一部は、ハッカーがホストマイクロコントローラーからデータを挿入して取得し、それを使用してマイクロコントローラーパッケージ内で何が起こっているかを判断できるために可能です。データがスクランブルされているか、まったく出てこない場合、データはフラストレーションを感じて先に進みます。繰り返しになりますが、Silicon LabsとMicrochip(および他のベンダー)にはこの機能があります。
  3. セキュリティについて読む 、専門家に質問し、デバイスメーカーのアプリケーションエンジニアに設計を送信して、提案されたセキュリティスキーム、ボードレイアウトなどに関するフィードバックを受け取ります。
  4. 耐タンパー技術を使用して、デバイスが改ざんされた場合にメモリから秘密鍵を消去します。
    • TE Con​​nectivityは、PCBを完全に包むことができる圧電フィルムシートを作成します。シートが切断されたり、乱れたり、溶けたりすると、改ざん状態を示す電圧が発生します。
    • 容量性または誘導性センサー(TIのセンサーなど)を使用してプロジェクトエンクロージャーが開いたことを検出するか、ホール効果センサーを使用してケースのネジが回転したことを検出します。
  5. デバイスが最初の顧客の手に渡るまでに、すでに侵害されていると想定します。 プロジェクト全体に影響を与えることなく、1つまたは複数の個々のデバイスを危険にさらすことができるプロジェクトセキュリティの青写真を作成します。

この一連の記事は、セキュリティの単なる紹介にすぎません。 IoTをすべての人にとって安全にするのはエンジニアとしてのあなたの責任です。


モノのインターネットテクノロジー

  1. ヘルスケアにおけるIoT:知っておくべきこと
  2. 産業用IoTのセキュリティの脆弱性への取り組み
  3. 産業用IoTセキュリティはハードウェア上に構築されています
  4. 動作するマネージドIoTエコシステムを求めて
  5. ネットワーク事業者がIoTセキュリティについて尋ねるべき3つの質問
  6. 5Gの商用展開に挑戦するのは、COVID-19ではなくセキュリティです。
  7. 産業用自動化セキュリティが新たな焦点となるべき理由
  8. 7知っておくべきReactライブラリ
  9. セキュリティを向上させるためにすべてのIoTメーカーがすべき3つのこと
  10. コントロールパネルの設計の基本
  11. サイバー資産レポートの状態はまだ脆弱性を見つけています