産業用ラズパイ、今後のセキュリティ対策にサイバー攻撃も検討する時代へ

皆さんの会社でもRaspberry Pi (ラズベリーパイ)を活用しているでしょうか? 実に50%以上のラズベリーパイは産業・商業用途で利用されていると云われています。(Raspberry Pi公式ブログ

ラズベリーパイは小さな本体サイズや自由度の高いインターフェイスを持ち、低コストで導入できるため、工場の生産工程やデータ計測に利用されています。工場だけでなく、商業施設ではデジタルサイネージでも利用されています。価格の割に高性能・省電力というのも選ばれている理由です。

昨今、情報漏洩やハッキング被害のニュースが多くなりました。

産業・商業用途でラズベリーパイを使う危険性はどうして起こるのでしょうか。ROP攻撃を例に、知っておいて欲しい情報としてご紹介します。

【スポンサード:株式会社ATTC】

目次

意外と知らないインターネットからの脅威

インターネットの脅威の一つに外部から攻撃(アタック)が挙げられます。会社規模にも依りますが、システム全体をカバーするセキュリティ対策として、現在は多くの企業が何かしらの対策を講じています。

Raspberry Pi のようなIoTデバイスまで目が行き届かないことはありませんか?

産業用途では、カメラを使った画像データの取得、温度や日照条件によって対応させるシステム、ラズべリーパイをデータ計測のハブにするなど、広くIoTデバイスが利用されている環境があります。

最近だと新型コロナウィルスの熱感知システムなども有名ですね。

資本力もある企業や団体は、比較的にセキュリティ対策もキチンと対応されています。ただ、後から追加されたIoTデバイスに危機感を持っている企業は多くはないでしょう。ラズベリーパイの初期ログインパスワードを変更するだけでは不十分です。

一方、中小零細企業は、そもそもセキュリティ対策の予算が全く無いか少ない企業がほとんどではないでしょうか。

脅かすわけではありませんが、今後はさらに危険な状態に晒されていくと予想されます。

過去の事例

Raspberry Pi 3B+
産業用途で利用されるRaspberry Pi 3B+

NASAがハッキング被害を受けたニュースは世界中で衝撃的に報道されました。確か火星探査の情報が盗まれましたね。マルウェアからバックドアを仕掛けられた後、セキュリティ対策がされていないラズベリーパイを踏み台に、関連の機器へ侵入を許してしまった事例でした。

メインのシステムではなく、ラズベリーパイが踏み台だったため発覚が遅れたのも特徴です。数ヶ月という長い期間に渡り侵入を許し、大量の情報が盗まれてしまったのです。

当然のことながら、ラズベリーパイはネットワークを介して社内の他のシステムに繋がっているケースが多いでしょう。NASAほど重要なデータが無くても、ネットワークに繋がっている時点で無作為だとしても狙われている脅威には変わりません。

オープンソースソフトウェアの脆弱性

OSSの脆弱性を突いた攻撃イメージ
OSSの脆弱性を突いた攻撃イメージ

Raspberry Pi (ラズベリーパイ)はオープンソースハードウェアです。関連する技術を導入する際もオープンソースソフトウェア(以下、OSS)を使う機会が多いデバイスです。(モジュール、ライブラリ、API利用など)

OSSは誰にでも公開されているため、安全性は担保されていると考えられてきました。

しかし、自社で開発している訳ではないため、OSSの脆弱性などを自社で管理することができません。導入したシステムの脆弱性だけでなく、利用したOSSにまで気を配らなければならず、より一層のリスクが高まっています。

ROP攻撃への対策

脆弱性を利用した攻撃の1つに、ROP攻撃があります。

ROP攻撃とは?
Return Oriented Programmingの略。メモリ上の既存プログラムコードを数珠繋ぎのように再利用して攻撃をする技術。

このROP攻撃は簡単にいうと、開発上でのミス(≒バグ)や想定外の処理を突いてくる攻撃です。プログラマーも人間ですから、完璧な物に仕上げるのは不可能です。

また、エンドユーザーであるラズベリーパイを使う現場で対応することも、現在では選択肢が少なく困難です。

システムやソフトウェア開発者(プログラマー)レベルで、アプリケーションに組み込んで対策する必要が出てきます。

株式会社ATTCでは、この脆弱性を突いたリターンアドレスの改ざんを防ぐことで対策できる「ATTC CFI(Control Flow Integrity)」を開発しました。

NASAの事例にしても、IoTデバイスがROP攻撃の対策がされていれば、もしかしたら防げていたのかも知れません。

ROP攻撃を無効化
「ATTC CFI(Control Flow Integrity)」は、リターンアドレス改ざんを監視することで、検知した場合にアプリケーションを安全に停止させ侵入を防ぐシステムです。

マルウェアに代表される手法のように、通常の利用でも不正なプログラムの侵入を許してしまうことがあります。WindowsのようなOSレベルで防御する手段が少ないのは、ある意味で自由度が高い反面、セキュリティが弱いともいえます。

少し難しいですが、ROP攻撃について調べてみました。

ROP攻撃の仕組み

これまで、外部からの攻撃の1つに、バッファオーバフロー攻撃という、不正コードを送り込み悪意あるプログラムコードを実行させる手法があります。

具体的には、マルウェアが仕込まれたプログラムをダウンロードすることによって、バックドアを生成され攻撃を受けます。Adobe Flashの事例が思い起こされますね。

ROP攻撃と呼ばれている技術の手法は、メモリ上の既存プログラムコードを再利用して攻撃します。

ROP攻撃の仕組みイメージ図
Rレッド

顔見知りだからスルーってわけか

Rグリーン

巧妙な手口だ

対策の1つとしてOS側にもASLR等があります。デフォルトで有効化されています。

しかし、これらを回避する技術も進化していて、実際に存在するコードを再利用する手法では、完全なるROP攻撃の脅威は今もなくなっていません。イタチごっこですね。

興味深いので、実際にどのような仕組みになっているのか株式会社ATTCのご協力を受け実験してみました。

防いでみた!

今回、テスト環境を構築し、実際に攻撃を受けた時の動きを試してみました。ATTCは本技術に関連して4件の特許を取得しているそうです。

  • ATTC CFIを組み込んだアプリケーション
  • テスト攻撃用ツールソフト
  • 結果を表示するツールソフト

特殊な環境にはなりますが、これらをお借りして試した結果をご覧ください。

脅威のない通常の処理を、敢えて可視化したターミナル画面で実験を開始します。

ATTC CFI の実行(通常の様子)ターミナル画面
通常時の様子

ここで対象のアプリケーションに、外部からの攻撃を想定したテスト攻撃用ツールを実行します。

テスト攻撃を受けたATTC CFIが、リターンアドレスの改ざんを防御した様子を表しているのが次の画面です。最後に表示された「強制終了」の通り、アプリケーションの停止が確認できます。

不正なコードを検出して強制終了のターミナル画面
アプリケーションが停止した様子

次の画像は、リターンアドレスがチェックされ、アプリケーションの停止に至るまでを表しています。

CAUTION!と表示されている箇所で、改ざんされたリターンアドレスが検出されていますね。
直後、プロセスを終了させ防御に成功していることが窺えます。

リターンアドレスの改ざんが検出され防御した様子

実際はリアルタイムでこのような表示を見ることはありません。何も無かったように完全に無効化し防御しています。

結果の通り、改ざんが検知されると該当のプロセスを終了させます。これで実行しているアプリケーションが止まるため、不正なコードを実行される前に防げるわけです。

既に対策が組み込まれているアプリケーションのため、ラズベリーパイを使用する現場レベルで対応する必要性が何もありません。

仮にプロセスを自動でリスタートさせれば、特に意識することなくIoTデバイスを使い続けることが可能になりますね。

なぜ産業・商業用途でRaspberry Pi の脅威が増したのか?

脅威が増した理由は、例えばIoTデバイスで計測したセンサーのデータを、計測だけで完結させずネットワークを通じて共有していることが挙げられます。

この取得データ自体が問題ではなく、あくまでも侵入経路の1つとして狙われているのです。

これはラズベリーパイに代表されるIoTデバイスは、無防備にインターネットと社内システムに繋がっている状態がかなり多いからです。

ラズベリーパイが侵入経路

  • Raspberry Piの知名度が上がった
  • 利用される数が増えた
  • セキュリティ対策が甘い

ラズベリーパイの性能も向上し、できることが多くなってきました。大規模なプログラムも動作するようになり、単にデータを取得させるだけではなく、一般的なシステムと変わらない処理をさせている役割も多いでしょう。

それなのに、セキュリティに関しては特段の対応がされていないので、企業で利用されるケースが増えた今、狙われやすくなっています。

ATTC CFIの特徴

ROP攻撃の対策ソリューション「ATTC CFI(Control Flow Integrity)」は、開発側の主なメリットとして、ROP攻撃対策用のコードを自前で開発する必要がありません。ATTC CFIでビルドし直すことでセキュア化を実現できます。

また、実際にIoTデバイスを利用するエンドユーザー側も、既にROP攻撃対策されたシステム(プログラム)として納品してもらえるため、特別な対応などを気にせずに利用ができます。

—— 主なメリット ——

  1. 攻撃を無効化
  2. プログラムに組み込むことでセキュア化が可能
  3. 単価の低いIoTデバイスに利用できるよう低価格での提供
  4. 複雑な処理がなく大きなプロセスリソースを消費しない

ATTC CFI(Control Flow Integrity)

Raspberry Piもセキュリティ対策が必要

このように、ラズベリーパイは全体のシステムからみれば、とてもセキュリティが弱い端末としてネットに繋がっています。

IoTデバイスはネットワーク環境でウィークポイントになっている

IoTデバイスに代表されるRaspberry Pi は、安価な割に自由度も高く性能もパワフルです。仮にRaspberry Pi 自体に大事なデータを保持していなくても、メインシステムへの侵入経路にされる脅威は残り続けます。

IoTデバイスを活用したい企業の皆さん、今後はIoT端末を導入する選定基準として、コストや汎用性だけではなく、外部からの攻撃も想定してください。

脅威はROP攻撃だけではありません。

Raspberry Piの活用方法に、セキュリティも考慮しなければならない時代になったと感じています。

  • 技術的な内容や詳細は株式会社ATTCのWebサイトでご確認ください。

目次
トップへ
目次
閉じる