IoT機器のセキュリティ対策って?

P1140736

最近、IoTの仕事が増えていて、いろいろとセミナーをすることも多いのだが、必ず聞かれるのが「セキュリティはどうなのか?」ということだ。私はこのIoTの仕事を長年やっているし、実際の現場はいくつやったか忘れたくらいやっている。また、2012年から2年間は韓国の大学でITのことを教える教授でいたのだが、そのときの専門はセキュリティだった。ネットワークで接続されたコンピュータのセキュリティは自分の専門の1つといっていいのだが、実は、IoT機器のセキュリティは、なにも専用のネットワークライブラリを使うまでもない、ということが非常に多い。実際、特にセキュリティ関係のライブラリや別システムを使わなくても、実績としてハッキング被害などにはあっていない、という実例はたくさんある。

最近のIoTの要のノードとなる小さなコンピュータには、Linuxなどが動くものを使うことが増えてきたのだが、実際非常に便利だ。マルチタスクは当然なので、動作中にそのコンピュータにログインして、通信前のデータの値などを直接モニタする、などのことが簡単にできる。しかし、それが簡単にできる、ということは、一方ではそのコンピュータはインターネット用のサーバーと同じもの、ということでもあって、セキュリティはしっかりと設定しておく必要がある。不要なポートは開けないとか、sshを使うにしても、22番ポートは使わないとか、データベースなどを使っているときはそのポートは開けて置いても、データがsshなどで暗号化して動くようにしてあるとか、あるいは独自の暗号化システムでガードする、などはごく当たり前に行われている。

加えて、TCP/IP上でのデータのやりとりも、独自のシステムで暗号化して、どういうデータがやりとりされているかを、Snifferなどで、モニタしても意味がないようにするとか、ごく当たり前のことをしていれば、まず問題はないはずだ。むしろ、暗号化の方法が一律であるなどのメーカー製のよく使われるセキュリティシステムやライブラリを使うと、それこそハッキング被害に会いやすくなってしまうと思われる。

要するに、IoTのセキュリティを守る、というのは、こういった機器を作る側としてはごく当たり前のことだ。いまさら、大声で言うのは、そういう仕事を増やして余計なお金にしたい、という意図が大きいのではないか?と、ぼくは疑ってしまう。ネットワークプログラマとして、あるいはシステム管理者として、当たり前のことをしていれば、こういったセキュリティ対策は95%は間違いなく達成される。

「IoTは商売になる」ということで、有象無象がこのキーワードに群がっているが、一番大切なのは、「なにを作ったら世の中の役に立つか」ということを考えることであって、重要なのはそういうことを考える仕事そのものだ。ものを作らないうちから、セキュリティのことを言っても始まらないだろう。まずは「なにを作るか」の目標を設定し、その中で、セキュリティを言うべきなのだが、それだって、通常はプログラマのレベルで充分に対処できることのように思えるのだが。

つまり、IoTのシステムにとって「セキュリティ」とはプログラマレベルでの仕事の「常識」であって、それ以上のものではない。ましてや、実際にコードを触らない人間が云々しても、ほとんどの場合は無意味だ。せいぜいがプログラマに「セキュリティはちゃんと考慮するようにプログラムを書け」というだけで充分なはずである。

特にTCP/IPのソケットライブラリを直に触ることの多いIoTのシステムでは、メールなどでのウィルスやマルウエアの感染経路そのものが通常は存在しないわけで、脅威を受ける入り口そのものが少ないはずだ。そこで、使っていないポートを閉じることや、接続先を限定すること、そして、プロトコルをSnifferなどで見てもわからないように暗号化する、というだけで、ほぼ充分であるように思える。むしろ、良く知られたメーカー製のセキュリティライブラリを利用することによって、ハッカーにも良く研究されているであろうそういうシステムの利用は、むしろセキュリティ的な脅威を増すばかりだろう。


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください