横浜国立大学
- IoT等を活用した一般消費者向け製品・サービス等の提供
- IoT等を活用した実証実験等の取り組み
- IoT等の自社内業務等での利活用
【関連する技術、仕組み、概念】
- IoT
- ビッグデータ
【利活用分野】
- その他(IoT機器向けのサービス)
【利活用の主な目的・効果】
- その他(IoT機器のマルウェア感染・脆弱性診断)
課題(注目した社会課題や事業課題、顧客課題等)
横浜国立大学 情報・物理セキュリティ研究拠点(以下、当拠点)は、2015年からIoT 機器におけるセキュリティ対策についての研究に取り組んできた。IoT 機器を狙うサイバー攻撃は増加を続けている。一方で、新型コロナウイルスの感染拡大をきっかけにリモートワークやテレワークが普及したことから、ホームルーターやネットワークカメラなどの IoT 機器のセキュリティ確保の重要性が一段と高まっている。
IoT機器がマルウェア感染しても、機器の多くは感染後も変化なく動作し続ける。利用者が感染に気付きにくいという特徴を持つ。一方で、感染した機器は、外部の機器を継続的に攻撃する。また、マルウェアを送り込んだ者などからの指示により、オンラインサービスなどへの攻撃に加担する。つまり、知らないうちに外部に迷惑をかけ続ける。さらに、気付かない間に個人情報が盗まれたり、不正サイトに誘導されたり、データを暗号化され元に戻すための対価を要求されるなど、感染した機器のユーザ自身に被害が及ぶケースもある。
そこで、自宅の IoT 機器を安心して利用できるようにするため、2022年2月からマルウェア感染注1や脆弱性注2の有無を診断する「am I infected?」サービスの無料提供を開始した。サービス開始から2023年10月22日までに、延べ利用者数は101,943人、総検査回数は166,454件である。そして感染疑い件数は358件(0.22%)、脆弱性疑い件数は618件(0.37%)となっている。
なお、本サービスは、モバイルコンピューティング推進コンソーシアム(MCPC)が開催する「第21回MCPC award 2023」のサービス&ソリューション部門において優秀賞を受賞している。
注1:マルウェア(malware)は、「malicious software」(悪意あるソフトウェア)の略。感染した機器に不正かつ有害な動作をさせるプログラムの総称。マルウェアが動き出すことを感染と言う。ルーター、ネットワークカメラ、プリンタなどのIoT機器もマルウェアに感染する。
注2:脆弱性とは、セキュリティ上の欠陥のこと。そのような欠陥は、例えばファームウェア(IoT機器の中で動作するプログラム)に内在する設計や実装ミスなどのプログラムの不具合によって生じる。マルウェアは、脆弱性を利用してIoT機器に感染する。
事例の概要
サービス名等、関連URL、主な導入企業名
IoT機器向けマルウェア感染・脆弱性診断サービス「am I infected?」
https://amii.ynu.codes/
https://amii.ynu.codes/about
サービスやビジネスモデルの概要
本サービスを用いると、簡単な手順で機器のマルウェア感染や脆弱性の有無を確認することができる。問題が発見された場合は、ルーターのファームウェアを更新して再起動するなど示された手順に従って操作することで是正することができる。このような操作を行った後にも問題が続く場合は、当拠点に支援を要請することも可能である。
マルウェア感染の有無は、サイバー攻撃観測システム注3の観測データ使って判断している。マルウェアに感染した機器は、感染を広げるために無差別に通信を試みて脆弱な機器を探す。このような無差別な通信は、マルウェアの活動を常時観測しているサイバー攻撃観測システムに対しても行われるので、同システムはマルウェアに感染した機器を把握することができるのである。また、脆弱性の有無の検査は、株式会社ゼロゼロワンが開発したIoT検索エンジンKarmaに実装されている個々のIoT機器を判別するシグネチャ技術を用いており、不正とみなされる通信を行うことはない。
注3:横浜国立大学 情報・物理セキュリティ研究拠点が運用しているハニーポット及び国立研究開発法人情報通信研究機構(NICT)が開発・運用しているサイバー攻撃観測・分析システム「NICTER」。
「am I infected?」におけるIoT機器のマルウェア感染や脆弱性の有無の診断手順は、図1のとおりである。
① ユーザが「am I infected?」のウェブサイトにアクセスし、診断依頼する。
②「am I infected?」はサイバー攻撃観測システムに対して、直近24 時間以内にユーザのホームルーターから
不審な通信が届いていないかどうかを確認する。不審な通信が確認された場合は、マルウェアに感染してい
る疑いがあると診断する。同時に、「am I infected?」はユーザのホームルーターに対して通信を試み、返
ってきた応答を独自のデータベースに照らし合わせ脆弱性の有無を検査する。
③ ユーザにマルウェア感染と脆弱性の有無に関する診断結果を送付する。診断結果の例は、図2のとおりであ
る。なお、診断は、ユーザがウェブサイトにアクセスした際に利用しているIPアドレスに対して行ってい
る。
図1:「am I infected?」がマルウェア感染・脆弱性の有無を診断する仕組み
(出所:横浜国立大学 吉岡 克成 教授提供資料)
図2:診断結果の例
(出所:横浜国立大学 吉岡 克成 教授提供資料)
感染有無の診断の仕組みは上記のとおりなので、仮に機器がマルウェアに感染していても、直近24時間以内に不審な通信が観測されていなければ感染を検知することができない。そのため、安全な状態だと診断された場合でも、定期的に確認を繰り返すことが推奨される。ルーターの先にあるホームネットワークにつながっているパソコンや防犯カメラ、プリンタなどの感染については、ルーターを通じて無差別に通信が行われるので検知は可能であるが、どの機器が問題かを示すことはできない。
脆弱性の有無を検査できるのはルーターまでで、その先のホームネットワークに接続されている機器の脆弱性は検査できない。また、脆弱性情報は随時更新されているので、検査で安全な状態だと診断された場合であっても、定期的に確認を繰り返すことが推奨される。
「am I infected?」は、グローバルIPアドレス注4に対して診断を行っている。このため次のようなケースでは、ユーザのルーターを直接診断することはできない。
① マンションで他の入居者と回線を共有しており、マンションのルーターにはグローバルIPアドレスが、ユー
ザが使用しているルーターにはプライベートIPアドレスが割り当てられている。インターネットにアクセス
する際は、マンションのルーターでグローバルIPアドレスに変換してアクセスしている。(図3左図のケー
ス)
② インターネット接続サービスを提供しているプロバイダが、CGN(Carrier Grade NAT)という仕組みで1
つのグローバルIPアドレスを大勢のユーザで共有している。この場合は、ユーザが使用しているルーターに
はプライベートIPアドレスが割り当てられているケースがあり、プロバイダ側でグローバルIPアドレスに変
換してインターネットにアクセスしている。(図3右図のケース)
③ユーザが使用しているルーターに、IPv6という通信方式のグローバルアドレスが割り当てられている。
「am I infected?」はIPv4という通信方式にしか対応していないため、IPv4 over IPv6という仕組みにより、
他のユーザと共有しているグローバルIPv4アドレスで「am I infected?」へアクセスしている。
注4:IPアドレスとは、通信相手を識別するためのアドレス。グローバルIPアドレスとプライベートIPアドレスの2種類がある。グローバルIPアドレスは世界で1つだけのIPアドレスで、インターネット上で利用される。プライベートIPアドレスはローカルなネットワークでのみ利用されるもので、このIPアドレスだけではインターネットに接続することはできない。
図3:上流ルーターやCGN装置が上流にある場合の「am I infected?」の検査
(出所:横浜国立大学「am I infected?」ホームページ https://amii.ynu.codes/about)
このようなケースでマルウェア感染が検出された場合は、診断依頼をしたユーザのルーターではなく、グローバルIPアドレスを共有している他のユーザのルーターが感染している可能性がある。また、脆弱性有りとの診断が出された場合の対象は上流ルーターなので、上流ルーターの管理者にファームウェアの更新などの対応を依頼する必要がある。当拠点の分析では、図3のような多段ルーター構成において、下流のホームルーターなどがマルウェア感染しているケースは稀である。これは、IoTマルウェアの多くがグローバルIPアドレスをもつ上流ルーターを攻撃対象としているためと推定される。
なお、上流ルーターの管理者などが、ユーザのプライベートIPアドレスを利用して「am I infected?」と同様なサービスを実施することは可能である。当拠点でこのようなサービスを学内向けに実施したところ、100以上の脆弱性を有する機器を発見することができ、対策を実施した。
取り扱うデータの概要とその活用法
・サイバー攻撃の観測データ
・脆弱性スキャンで得られるユーザのルーターのステータスを示すデータ
・「am I infected?」による診断の際にユーザが入力するデータ
事例の特徴・工夫点
IoT等による価値創造
簡単な手続きで、マルウェア感染・脆弱性の有無を診断できること。診断を受けて「安心感が得られる」など、ポジティブな感想を述べるユーザが多い。
IoT導入や事業化時に苦労した点、解決したハードル、解決に要した期間
マルウェア感染や脆弱性などが判明した際に、それを一般の方に分かりやすく伝え、実際に問題解消の行動をとれるようにするため、ホームページや診断結果の説明ぶりに苦労した。このため、学生の両親にも読んでもらい、彼らの意見を踏まえて改善した。
重要成功要因
重要なことは、サービスの存在を知ってもらうこと。NHKなどの報道によりサービス利用数が増えた。また、情報通信技術に関わるセキュリティの対策・対応レベルの向上に向けた活動を行っている一般社団法人ICT-ISACと連携し、プロバイダにサービスを紹介してもらっている。
技術開発を必要とした事項または利活用・参考としたもの
ハニーポットの技術は、当拠点で開発したものを使っている。脆弱性を有するかの判定(Karmaに実装されているシグネチャ技術及び公開情報との突き合わせ)は、株式会社ゼロゼロワンが開発したものを利用している。
今後の展開
現在抱えている課題、将来的に想定する課題、挑戦
簡単に使えるサービスなので、一度だけの利用が多い。継続的に診断を続けてもらえるようにすることが課題である。また、診断で問題があると判断するユーザは1%以下であるが、確定できないが、問題がある恐れのあるユーザが3%くらい存在する。明確に問題だと言えないユーザへの対応をどうするかも大きな課題である。
技術革新や環境整備への期待
法制度にしばられてできない点は少ない。リモートワーク・テレワークでは、会社の機器ではなく自分の機器で仕事するケースが多い。このような環境の安全・安心を保つために、「am I infected?」に注目してもらえるとありがたい。例えば、パソコンやスマートフォンのリモート管理の仕組みの中にこのサービスを取り入れることで、仕事をしている人々の安全や安心につながると考えている。
強化していきたいポイント、将来に向けて考えられる行動
GoogleのVirusTotal(ウイルストータル)は、ファイルやウェブサイトのマルウェア検査を行うウェブサイトである。ファイルをアップロードする、あるいはウェブサイトのURLを指定することにより、ファイルやウェブサイトが「マルウェアを含むかどうか」を検査することができる。ウェブサイトの利用は無償であるが、この仕組みで収集したマルウェアデータを研究者向けに有償で提供している。現在、「am I infected?」の運用は公的資金を活用しているが、将来的にはVirusTotalのようなビジネスモデル構築を目指し検討していきたい。
将来的に展開を検討したい分野、業種
脆弱性診断については、ビジネスベースで多くのサービスが提供されている。しかしながら、資金的な問題でこのようなサービスにお金を使うことができない組織も数多く存在する。2.3で述べたように横浜国立大学の学内向けにサービスを実施したところ、脆弱性のある多くの機器を発見できた。このような取り組みを他の大学、あるいはリモートワークやテレワークの多い職場に横展開していきたい。
本記事へのお問い合わせ先
横浜国立大学 情報・物理セキュリティ研究拠点 吉岡研究室
e-mail : ynugr-cyberpcr@ynu.ac.jp