SPECIAL CONTENTS

特集 | ビジネスやITの最新動向/技術についてセキュリティ観点からレポート

IoTデバイスへのマルウェア攻撃の現状と対策

この記事をシェア

「ヒト」がインターネットを使うようになり、そして今、「モノ」のインターネットが広がり始めている。「IoT」の時代である。当然のことながらサイバー犯罪者たちはIoTも攻撃対象の一つと見なし、あの手この手を使って攻略しようとしている。以下では攻撃の現状とその対策をまとめた。

この記事は、ESETが運営するマルウェアやセキュリティに関する情報サイト「Welivesecurity」の記事を翻訳したものである。

IoTデバイスへのマルウェア攻撃の現状と対策

IoT(Internet of Things)はこれまで、さまざまな名前で呼ばれてきた。その中でも、多くの家庭で新しいデバイスの導入が増え、その脆弱性の多さを説明するのにIoTの「T」を「テラー」(Terror、恐怖)や「トラッシュ」(Trash、くず)と読み替えられているなどがよく知られている。

「T」すなわち「シングス」(Things)は「スマート」(smart)の付く監視カメラ、冷蔵庫、洗濯機、サーモスタットなど多岐にわたる。これらのデバイスはありふれた日常の各側面を制御する機能を多数提供してくれる。例えば、自宅の玄関のドアの鍵を閉める、または家電の電源を切るなどのことができる。しかし、これらは犯罪者に攻撃プラットフォームをも提供してしまっている。家電は攻撃のプラットフォームと化しているのだ。

現在、攻撃者はこれらの新たなIPベースのデバイスを利用し、歴史に残るDDoS(分散型サービス妨害)攻撃を大々的に実施している。だが、これらのデバイスが抱えている固有のリスクとは何だろうか。外部の攻撃からこれらのデバイスを守る最適な方法は何だろうか。また、IoTデバイスの利便性とセキュリティの幸せなバランスは存在するのだろうか。

本記事では、こうした側面を深く観察し、ウイルス感染もしくは攻撃されているIoTデバイスが増加している実態を見極め、そして、悪意のある攻撃者からデバイスを守るための最も良い方法について検討する。

IoTデバイス

「モノのインターネット」とは、電気、ソフトウェア、アクチュエーター、ネットワーク接続を備えてデータを収集・交換することができる物理的デバイス、自動車、建物などの相互接続、と表現するのが分かりやすいだろう。

簡単に言うと、家にあるデバイスに制御用の電子部品を備え、ネットワークインターフェースを加えたものである。これらのデバイスは電話、コンピューター、またはタブレットから制御可能となるため「スマート」と呼ばれる。目的はコンピューターやそのほかの自動化プロセス同様に、家庭や企業・組織を自動化することにある。

決まったプロセスを利用しない場合には、電気を消す感覚で終了させる。洋服を洗濯したり、一定の気温を超えたらヒーターを切ったり、ジョブをスケジュールすることもできる。これらの機器のために人が働くのではなく、機器が人のために働いてくれるというのは素晴らしい。これにより自由な時間が増え、また、従来の家電では実現できないことができるようになる。例えば、玄関のドアに誰かが来た際に携帯電話にアラートを出したり、ドアをロックしたりということを、地球の裏側からでも実施できるのである。

ビジネス・産業セクターを深く見ていくと、重要な都市インフラや高度な機器(例えば遠心分離機)は人手ではなくコンピューターシステムにより常に管理されており、ネットワークインフラを用いることによりさらなる制御が可能になっている。確かに、重要インフラの周囲はしっかりと防御されるべきであり、場合によっては、デジタルコードが実社会に物理的な影響を与えることもある(その代表例である「スタックスネット」(Stuxnet))を思い出してほしい) 。しばしばスパイダーマンのコミックシリーズに登場する「力を持つ者にはより大きな責任が付きまとう」というセリフは、この状況をよく表現している。

IoTのセキュリティ課題

IoTのことをセキュリティの専門家と議論する際には、全ての試練が「バベルの塔」となって立ちはだかる。これらのデバイスに関する理論や暗号方式または保護手段は、統一されていない。これらのデバイスを保護する最良の手段といっても、さまざまな考えが乱立している。例えば、デバイスの制御を統制し、ユーザを認証し、通信をフィルタリングするために、自宅や企業にあるデバイスと同じようにファイアウォールを適用しようとする。

また、ある企業では、認証に基づく手法に着目し、適切なセキュリティ証明書を持つデバイスのみを許可し、許可されていないユーザを除外しようとする。最終的には、パスワードを初期設定のまま変えていないといった、最も簡単と思われるものの忘れられている留意点は多数存在する。近年の問題点としては、外部から見えるデバイス上でtelnetサーバーが動いているようなことは、決してあってはならないのである。

なぜかというと、2016年10月、「ミライ」(Mirai)ウイルスのソースコードが通常のインターネットおよび未使用のIPアドレスを悪用した各種ダークネット空間にて公開されたからである。このマルウェアはジャーナリストのブライアン・クレブス(Brian Krebs)氏のとWebサイトを攻撃するために用いられた。攻撃は記録的なトラフィックを生成し、Akamai社が自社のサーバーからクレブス氏のサイトを切り離さなければならないほどであった。そのサイトをそのまま維持しておくことの被害が大きかったため、Akamai社はこうせざるを得なかったのである。その結果、ついにGoogleはDDoS攻撃にさらされているジャーナリストやそのほかの公共機関を援助するための自社サービス「プロジェクトシールド」を発動するに至った。

そのマルウェア自体はとてもベーシックなもので、そのコードが示す通りまだ完成形でない。しかし、それでも十分動作する点が問題である。このマルウェアはC言語とGoogleが2007年に作ったプログラミング言語「GO」で書かれており、クロスプラットフォーム型となっている。そのマルウェアパッケージもクロスプラットフォーム型であり、32ビットおよび64ビットの両方のアーキテクチャーで動作し、より広いプラットフォームへの感染が可能になっている。本マルウェアには大きく3つのコンポーネントが存在している。それは自宅とつないで通信を可能とする指揮統制モジュール、方向を変えてほかのIoTデバイスに感染を広げるネットワークスキャナー、そして攻撃モジュールである。指揮統制モジュールにより標的が定められた際には、この攻撃モジュールがネットワークトラフィックを乱用した攻撃を実施する。

このマルウェアの怖いところは、その他のIoTデバイスにも感染すること、そして実際、感染を広げていることである。1969年に作られたTelnetというプロトコルにはセキュリティ機能がほとんど提供されておらず、ミライはそこを突いているのである。もう一つ懸念されるのは、本マルウェアがデバイスにおける認証にTelnetがよく利用している65個のパスワードのうちの1つを保持している点である。これを悪用されてデバイスに侵入されると、そのデバイスはIoTボットネットに操られて「ゾンビ」と化してしまう。

また、2016年10月21日には別の攻撃があった。Dyn DNSに対し、最大規模のサイバー攻撃が行われたのである。その結果、何百万人ものユーザがAmazonやNetflix、ETSY、その他多数の著名なサイトにアクセスできなくなった。これらは、現在急速かつ広く拡大しているIoTベースのボットネットに起因する攻撃の中で最初の攻撃である(詳細はスティーブン・コッブの記事を参照)。これら全ての脆弱性と攻撃が存在することを想定しつつ、自分自身もしくは自分の所属する企業・組織のIoTデバイスが悪用されないようにどのような対策をしていくべきだろうか。

IoTの保護

IoTデバイスを利用する際には、それらを組織内のコンピューター資産の一つとして扱う必要がある。もしIoTデバイスを自宅で使っているのであれば、鍵を閉める必要があるドアだと見なすべきである。下記3つのステップを実施するだけで、IoTデバイスが将来的に攻撃にさらされたりマルウェア感染されたりする可能性は減少する。

1 初期パスワードを変更する。つまらないことかもしれないが、ネットワークから脆弱性をなくすためには、とても簡単なステップである。

2 利用可能であれば、必ずHTTPSを利用する。デバイス管理のためにコンピューターからIoTデバイスにログインする際には、HTTPSゲートウェイを利用するようにデフォルト設定することをお勧めする。また、平文を避け、パスワードが中間者攻撃を受けてデバイスのセキュリティが損なわれないようにした方がよい。

3 必要のない機能は停止する。もしIoT機器が利用しない通信接続プロトコル(SSH、Telnet等)を提供している際には、もしそのプロトコルを停止できる機能が付いているのであれば、すぐさま停止した方がいい。ポートを閉じることにより、そこから侵入される恐れがなくなる。

これら3つの簡単かつ基本的なステップを実行するだけで、攻撃者がサイバー戦争のツールとしてIoTデバイスを悪用する能力を大幅に低減することができる。そして、より大事なことは、攻撃者がネットワークトラフィックを増幅・乱用する能力を低減することができるのである。

この記事をシェア

IoTのセキュリティ対策に

マルウェア情報局の
最新情報をチェック!