HOME > 活動報告 > イベント報告 > JaSST'18 Niigata
2018年4月20日(金) 於 朱鷺メッセ
気温も安定し、日中は防寒具が不要になるほどの快晴な金曜日。JaSST'18 Niigataが開催された。筆者は、新潟駅から会場の朱鷺メッセまで2キロほど歩いたのだが、あまりの日差しの強さに4月の新潟で汗をかくほどであった。会場はストレスのない広さに、電源、Wi-Fiも完備されており、講演中も積極的にリアルタイムでSNSに情報発信を行う参加者も見受けられた。
オープニングは実行委員長の森山氏の挨拶ではじまった。IoT(Internet of Things)という言葉が広まり始めて数年、2015年にはコネクテッドカーのハッキングが業界を賑わしたことに触れ、セキュリティを切り口に、普段ソフトウェアを開発しているエンジニアは、ハードウェアを、ハードウェアを開発しているエンジニアはソフトウェアを理解して、明日のテストや開発へ活かしてほしいとコメントがあった。
松岡氏は「IoTは大まかにいえば、管理出来るIoT(企業、ビジネス向けにリリースされているIoT)か、管理出来ないIoT(Raspberry Piなどの安価なシングルボード・コンピュータを用いたコンシューマ向けIoT)かの2種類に分類できる」と言う。
Raspberry Piは値段の安さや拡張のしやすさもあり、世界中で大ヒットをしている。2016年にはRaspberry Piの全世界への出荷台数が1,000万台を超えた。また、コンシューマ向けのIoTが今後も爆発的に増えることを予測する市場レポートも発行されており、その割合はIoT全体で見ても半数以上。構造としてはどちらのIoTも同じなのだが、管理されていないIoTに対して、十分なセキュリティ対策が行えないと、台数が多い分、IoT業界に与える影響も大きい。IoT利用者が思わぬうちにセキュリティの被害者や加害者となってしまわぬよう、松岡氏の所属するJNSA(Japan Network Security Association) IoTセキュリティWGでは「コンシューマ向けIoTセキュリティガイド」をまとめた。
このドキュメントをまとめる際に参考にしたのがIoT-A(Internet of Things-Architecture)と呼ばれるセキュリティリファレンスだ。特定の製品やサービス・通信プロトコル・自動車業界等で独自にセキュリティを意識されるようになっていることが、海外のセキュリティに関するドキュメントを調べる中でわかってきたのだが、IoTというシステム全体を俯瞰してまとめられたドキュメント、IoT-Aを見つけるのに大変苦労したとのことである。
不具合がなく仕様通りに動作するソフトウェアにも、セキュリティの面で気をつけてほしいとの話もあった。とあるスマートフォンに出荷時からマルウェア(データの破壊や盗聴を行う悪意のある不正ソフトウェア)がインストールされていた実例や、おしゃべり機能のある人形のプライバシー問題(2015年に会話の出来る人形が米国で発売された。音声データをクラウドに送信し、集められた音声データから対応した返事を返すことが出来、実際に人形と会話をすることが楽しめるおもちゃであったが、脆弱性を悪用することで、人形の持ち主の個人情報を取得できてしまうことが問題となった)にも触れた。
企業としてもセキュリティのスペシャリストを養成するのは難しいので、セキュリティ専業ベンダーからのアセスメントを受ける選択肢も解決策の1つであると松岡氏は話をされた。
ソフトウェアのテストはステークホルダーの要求や品質指標に合致するかどうかが中心となるが、セキュリティのテストはそうではないとのこと。新しい脆弱性が見つかると、昨日までテストの必要がなかった観点が、今日は当たり前にテストされていないといけない観点に変わってしまう。そこで、IoT機器ベンダーが発信するセキュリティニュースのチェックや、セキュリティ関連のカンファレンスで、研究者等が発表する新しい攻撃手段、脆弱性についても情報を仕入れることが非常に重要とのことだった。テストすべき項目が増えるが常に人の手でテストをしなければならないのかというわけではなく、すでに知れ渡っている既知の脆弱性に対しては、無料の静的解析ツールも出始めており、これらを利用することも、セキュリティテストに有効とのこと。
松岡氏のシンプルでテンポの良い講演のおかげで、IoTのセキュリティを学ぶ糸口をたくさん授けて頂いたように感じる。セキュリティのテストは日進月歩。ソフトウェアテストの中でも特に情報のアップデートを繰り返していないと、あっという間に置いていかれる印象を受けた。JNSA IoTセキュリティWGではIoTを開発、テストをするための手引きとなるチェックリストを作成中とのこと、公開が楽しみである。
1つ目の事例紹介は今岡氏による「IoTと情報セキュリティの課題」というテーマのご講演だった。今岡氏はMicrosoft MVP(Most Valuable Professional、マイクロソフト製品に対し深い知識を持ち、その技術、情報を積極的に提供した人物に送られる賞)を過去何度も受賞し、セキュリティ・キャンプ(情報セキュリティ人材の育成・発掘を目的に、合宿などのイベント活動を行う事業)の講師を務めるなど、今も精力的にセキュリティの普及、育成に力を入れられているとのこと。
今回はIoTにおける数あるセキュリティ観点の中から通信妨害を取り上げた。M5Stackと呼ばれる開発モジュールを用い、IoTの通信プロトコルでデファクトスタンダードになりつつあるMQTT(Message Queue Telemetry Transport)のユースケースから、マイコンで作成した擬似通信妨害回路を使うことにより、回線のショートを定期的に、徐々に発生間隔を短くし、QoS(サービス品質)ごとに成功率がどう変化するのかを示した。
通信妨害のテストの構成は、Android端末からLEDを点灯させるためのメッセージを送信し、クラウドサーバを介して、M5Stackでメッセージを受信、受信したメッセージが正常であれば、LEDが点灯するというシンプルなもの。
結果として、通信障害の発生間隔が短くなるほど、MQTT等のTCP系のプロトコルで、著しくエラー率の上昇や、スループットの低下が観測されることがわかった。
最後に、ソフトウェア上で通信妨害のテストを行うことは難しいが、枠組みを広く捕らえてハードウェアやデバイスからアプローチを行うと比較的容易に通信妨害のテストが行える。今回M5Stackに実装したプログラムはGitHubで公開予定なので、参考にして欲しいとのことだ。
擬似的とはいえ通信妨害と聞くと、特殊な機器や高価な機材が必要なイメージであったが、無料のAndroidアプリやM5Stackなどの廉価なマイコンを用いることで、通信妨害を実現していたことが新鮮だった。
JaSST'18 Niigataの最後の講演となったのが、松本氏の「AWSがもたらすセキュリティイノベーション」という題での事例紹介であった。先の今岡氏とは対照的にクラウドサイドからの事例紹介をして頂いた。つい先日まで香港に滞在していた松本氏。香港は建物の変化が激しい地域があるが、変化のしかたが場当たりとなっている地域があることを例に出し、セキュリティが場当たり的なものになってはいけないと話を進めた。
クラウド上にファイルやデータを預けると、何かあった時にデータが盗まれてしまうと考える利用者も少なくはないとのこと。筆者もその考えに近いのだが、実際はそうではなく、アナログよりもずっと安心できる仕組みになっていると解説があった。デジタルで処理を行うと、すべての処理をログとして残すことが出来る。このことを「精微な監視カメラ」に喩えていた。例えば金庫に誰かが出入りをすることは監視カメラで追うことが出来るが、どのような目的で出入りをしたか、中に入って何を行ったかまではカメラに写る範囲の情報でしか確認が出来ない。「精微な監視カメラ」であれば、そのすべての行動をログからトレース出来るため、仮にデータの持ち出しのようなことが発生しても、犯人を追うことは難しくない。また利用者が多いクラウドサービスであれば、毎日のように全世界から利用されているので、その運用に耐えうる信頼性と品質があることから、安心して利用が出来るとのこと。
セキュリティやサーバ運用として、AWSは多様なサービスを展開していると話があった。Amazon Inspectorと呼ばれる脆弱性の自動評価サービス。構成変更のロギングが行えることで可監査性(監査やレビューを円滑に進められる状態)を上げることが出来るAWS Configや、AWS Lambda(サーバを持つことなくコードを実行でき、実行したコードの実行量に応じた金額を払うのみで利用が出来るコンピューティングサービス)にも触れた。
AWSのサービスに対して、2017年では1年で1000件以上のアップデートが行われたとのこと。頻繁にアップデートが行えている理由にAPI共通化が十分に出来ていることが挙げられた。インフラやアプリだけでなく、組織としても継続的に改善を進めていくと締めくくった。
この講演の中でDevSecOpsという言葉を初めて耳にした。DevOpsにセキュリティを合わせた言葉であり、開発と運用だけでなく、さらにセキュリティまでもこれからは意識する時代になるとのこと。セキュリティの専門家を雇ったり、会社内で育てたりすることは容易ではないが、AWSなどのさまざまなサービスを上手に利用することで、セキュリティの敷居を下げることは難しくないと感じた。開発スピードが速くなる昨今、開発に有用なサービスも多数出現している。古い概念を捨て、効率的に問題を解決出来る手段の情報収集も欠かさず進める必要がある。
森山氏からJaSST'18 Niigataを振り返って、どの講演者の方からも具体的な事例や説明がわかりやすく、参加者が明日から使えるヒントがたくさんあったとコメントがあった。森山氏自身が使っているスマートフォンのOSが4世代ほど古いことにも触れ、物持ちの良さと、セキュリティ意識の甘さについて言及し、場を和ませたところでJaSST'18 Niigataが幕を閉じた。
JaSST Niigataの参加は昨年に続き今年で2回目、また各地のJaSSTへの参加経験のある筆者だが、特に新潟は遠すぎず、近すぎない、テストの技術領域の知見を広げてくれる印象を受けている。今回のテーマは「セキュリティをテストする」であったが、その中でも実務で学ぶ以外ではテストのイメージを持ちにくいIoTを取り上げた。情報交換会で参加者と話をしたところ、テストエンジニアだけではなく開発者の参加も多かったようだ。
レポートではあまり紹介出来なかったが、海外のリファレンスやカンファレンスについての紹介もあった。セキュリティのテストを行う上での打ち手のヒントを得られたのが何よりも良かった。
記:岡内 佑樹 (JaSST Tokai 実行委員会)