“モノのインターネット”と呼ばれる「IoT(Internet of Things)」が急速に普及してきています。IoTは日常生活を豊かにし、仕事の効率の向上にも貢献しています。しかし同時にIoTをターゲットにしたセキュリティリスクが無視できないレベルにまで増大しています。
IoT機器はパソコンやサーバーなどのコンピュータとは異なります。専用の画面を持たずメモリも必要最低限の容量しか搭載されていないことが多く、運用中にセキュリティ対策ソフトをインストールしたり、システムの大幅なアップデートしたりすることは困難です。
運用中のセキュリティ対策が難しいという点を踏まえ、IoT機器の企画・設計段階から必要なセキュリティ対策を施しておくという考え方が「セキュリティバイデザイン(Security by Design)」です。今回はセキュリティバイデザインの概要と必要性について紹介します。
この記事の目次
セキュリティバイデザインとは
多くの製品や機器は企画・設計・開発・運用・廃棄などのライフサイクルを持ちます。セキュリティバイデザインとは、運用中の後付けのセキュリティ対策ではなく、企画・設計の段階でセキュリティ対策を組み込んでおくことで、サイバーセキュリティを確保しておくという考え方です。
NISC(内閣サイバーセキュリティセンター)はセキュリティバイデザインについて「情報セキュリティを企画・設計段階から確保するための方策」と定義しています。
参考情報セキュリティを企画・設計段階から確保するための方策/NISC
セキュリティバイデザインの対象となるIoT機器の開発において、基本設計の段階から「どのような問題が発生するのか」「どのような方針で対応するのか」を考え、セキュリティの基本的な枠組みを決定することが、セキュリティバイデザインの取組みの第一歩です。
なぜセキュリティバイデザインが必要なのか
これまで多くの機器や製品は、一定の保証やサポートがあるとはいえ「消費者へ販売したらそれで終わり」というのが当然の環境でした。消費者は購入した機器や製品を壊れるまで使い続け、使えなくなったら、新しい機器や製品に買い替えるということを繰り返してきました。
しかしそれらの機器や製品がインターネットにつながるようになると話は変わってきます。
攻撃者は脆弱なIoT機器を狙っている
IoT機器の特徴はインターネットに接続し情報通信を行えることです。つまりIoT機器は単体で存在するものではなく、物理的なモノとネットワークが融合したシステムとしてとらえる必要があります。
悪意のあるクラッカーはセキュリティ対策をおろそかにしているIoT機器を見つけ出し、攻撃や罠を仕掛けてきます。しかし購入後のIoT機器のセキュリティ確保のために消費者ができることはあまり多くありません。せいぜいデフォルトのパスワードを変更したり、IoT機器のインターネットへの接続を遮断したりするといった程度のことでしょう。しかしそれではIoT機器の意味がありません。
購入後のセキュリティ対策確保が重要
つまり、従来のように実装段階や運用段階で後手のセキュリティ対策を行うのではなく、製品や機器の企画・設計段階でのセキュリティ対策を基本的な原則とし、実装や運用の段階に移る前に、セキュリティ対策が確保されていることを、確認・検証できる仕組みが求められているのです。セキュリティバイデザインの必要性はここにあります。
そして消費者に対して「壊れるまで使う」という従来の考え方から、「定期的にアップデートするもの」と認識を変えさせることが重要です。このように運用・保守の段階にまでセキュリティバイデザインを拡張した考え方も現在では一般的になってきています。
セキュリティバイデザインのメリット
セキュリティバイデザインはこれまでのセキュリティ対策では得られなかった、いくつかのメリットがあります。
1. 手戻りが少なく納期を守れる
システム開発の性質として、開発が後工程に進んだ状態で手戻りが発生すると、納期が遅れるという特徴があります。特にウォーターフォールモデルを取り入れているプロジェクトでは顕著です。
セキュリティバイデザインはセキュリティ対策を企画・設計といった開発の初期段階で取り入れる考え方です。つまりこの段階で、セキュリティ対策の見直しや再検討が発生しても、最小限の工数で修正に対応できるのです。
2. コスト削減
手戻りが少ないということは、コスト削減につながります。手戻りの発生した納期の遅れは、人件費の増加をもたらします。特に手戻りには、プロジェクトの調整といった生産性が低い作業が発生したり、スキルの高いエンジニアをアサインしたりする手間がかかります。
IPAが公開している「セキュリティ・バイ・デザイン入門」によると、設計時のセキュリティ対策コストを1としたとき、運用時のセキュリティ対策コストは100倍になると発表されています。コスト面においてもセキュリティバイデザインが有効であることがお分かりでしょう。
3. 保守性の良いソフトウェアができる
セキュリティバイデザインを取り入れて、企画・設計段階でセキュリティ対策をしっかり行うことで保守性の良いソフトウェアの開発につながります。特にウォーターフォールモデルによる開発は、基本的に手戻りを想定していません。想定外の手戻りの実施は、製品の品質低下を発生させたり、保守性を悪化させたりします。
セキュリティ対策を開発の後工程で行うのではなく、企画・設計の段階で作りこんでおくことで、セキュリティ対策のための手戻りを防ぐことができ、保守性の良いソフトウェアの開発ができます。
4. セーフティ設計とのすり合わせが図れる
製品や機器にはセキュリティ対策だけでなく、従来のセーフティ設計も重要です。セーフティ設計とは製品や機器を使う事で、人命や財産を脅かさないように保護する設計のことです。一方、セキュリティ設計は情報の機密性・完全性・可用性を保護します。
このようにセーフティ設計とセキュリティ設計は保護の対象が異なりますが、この2つを両輪の輪として機能させるために、セーフティ設計とセキュリティ設計の両方が、設計品質を見える形にしてすり合わせることが重要です。後付けのセキュリティ設計にならないためにも、早期の段階でセーフティ設計とすり合わせれば、プロジェクトを手戻りの少ないものにできます。
セキュリティ設計における現状の課題
セキュリティバイデザインの難しさは、セーフティ設計に比べてセキュリティ設計の歴史が浅く、プロジェクトの早期の段階、つまり上流工程における開発プロセスが定まってないことにあります。セキュリティは機器や製品における非機能要件です。そのため、コンセプトとしてどのようなことを考慮すべきなのかわかりにくいという点があります。
セキュリティ設計が可能なのか検討すべき
そもそもセキュリティバイデザインに必要な「セキュリティ設計」がしっかりとできるのか検討する必要があります。
IPAの「セーフティ設計・セキュリティ設計に関する実態調査結果」のアンケートでは、「御社にはセキュリティ設計の設計ルールがありますか」という設問に対し、半分の企業が「明文化されたものがない」と回答しています。
参考「セーフティ設計・セキュリティ設計に関する実態調査結果」を公開/IPA
明文化されたルールがないということは、「何となく」セキュリティ対策を行っていたり、開発者が現場の経験などを活用して独自にセキュリティ設計を行っていたりすることも考えれます。このような場合、セキュリティバイデザインを取り入れる前に、前提となるセキュリティ設計をしっかりと明文化し、関係者間で共有する環境を構築する必要があるでしょう。
どのようなプロセスで進めるべきか
IPAでは「IoT開発におけるセキュリティ設計の手引き」として資料を公開しています。まずはこのような資料を参考にしてセキュリティ設計の明文化を検討するとよいでしょう。
参考「IoT開発におけるセキュリティ設計の手引き」を公開/IPA
セキュリティバイデザインのプロセス
先ほど紹介した「セキュリティ・バイ・デザイン入門」によると、セキュリティバイデザインのプロセスとして以下の工程が紹介されています。
製品や機器に対して想定される脅威を洗い出し、それぞれの脅威に対して適切な対策方針を検討することが、セキュリティバイデザインのプロセスです。
まとめ
IoT機器のセキュリティ対策として注目されているセキュリティバイデザインについて紹介してきました。この取組みを推進するために、セキュリティ要件に適合するIoT機器に関しては認証マークを付与するという動きもあるようです。
セキュリティバイデザインはIoT機器に対するセキュリティ対策として高い効果を発揮しますが、完璧なセキュリティ対策と言い切ることはできません。IoT機器に対する攻撃には様々なものがあり、必要な防御方法も千差万別だからです。開発者はセキュリティバイデザインを取り入れたから万全だと考えるのではなく、消費者の安全と情報を守るために、不断の努力と改善を続けることが重要だと言えるでしょう。