「インシデント事例から考える⾦融システムのセキュア開発」
- 【講演者】
- 日本シノプシス合同会社
ソフトウェア・インテグリティ・グループ
シニアプロダクトマーケティングマネージャ
松岡 正人 氏
<はじめに>
弊社は2021年に創業35周年を迎えたグローバル企業である。現在はソフトウェアの品質やセキュリティに特化したツールや開発支援を行うサービスを提供し、製品開発におけるセキュリティ対策、ソフトウェアの品質向上のお手伝いをしている。今回は、実際に起きたインシデント事例からどのような対策が必要なのか、特にソフトウェアのセキュアな開発についてご紹介したい。
<サイバーインシデントはビジネス上の脅威に>
今、世界的にみてもサイバーインシデントはビジネス上非常に大きな脅威になっている。欧州の保険会社アリアンツの発表した「ビジネス・リスク・バロメーター」2021年版によれば、日本のエグゼクティブ層の考えるビジネス上のリスクのトップはサイバーインシデントとなっている。
他の地域でも、コロナによるパンデミックと合わせて常に上位3位以内にランクインしている状況だ。こうしたデータからは、各国のビジネスリーダーがサイバーインシデントを重大なリスクだと認識し、それに対する危機感を高めている状況が見て取れる。
<インシデント事例>
ここで、実際に起きたインシデント事例をいくつか紹介したい。
まず取り上げるのは、ランサムウェア攻撃によるインシデント事例である。ランサムウェアはシステムに侵入し、システムを使えなくして身代金を要求するもので、主に製造業、金融、政府組織といった組織がターゲットにされている。
最近では、アメリカのコロニアル・パイプライン社が狙われた事件が記憶に新しい。このパイプラインの事例については、業界団体から警告がされていたにも関わらず、被害企業側がセキュリティ対策を行わなかったことが、一番の原因だといわれている。
そして、その背景事情として指摘されているのが、経営層のソフトウェアの品質に対する意識の問題だ。テキサス大学の研究者によるCPSQレポートによれば、経営陣のソフトウェアの品質に関する意識が低い為、ソフトウェアの品質問題に対するビジネス上の優先度が下がっているという。本レポートでは、品質の低下に伴うビジネスへの影響を抑えるためには、シフトレフトが効果的であると指摘されている。
また、パロアルトネットワークスのレポートによれば、開発に使われるコンテナのソフトウェアの部品にたくさんの脆弱性が含まれており、第三者による悪用を招く原因になっているというデータも存在する。
一方、ランサムウェア以外の脅威についても、ATMのハッキングをはじめ、フィッシングメール詐欺、ビジネスメール詐欺、POSのミドルウェアの脆弱性を悪用などのインシデント事例が世界各地で報告されている。
<サイバーセキュリティ上の脅威にどう対処するべきか>
これらの状況を受け、アメリカを中心に、サイバーインシデント対策についての議論が進んでいる。その中で、2021年にアメリカのバイデン大統領が、サイバーセキュリティ向上に向けた新しい大統領令を発布した。
この大統領令の特徴は、これまであまり注目されていなかった「ソフトウェアをそもそも安全なものにするためにはどうすればよいのか」という議論に基づいていることだ。具体的には、ソフトウェアのサプライチェーン、つまりソフトウェアの流通を管理し、安全にするというソフトウェアBOMという考え方を取り入れようとしている。
大統領令の中で、ソフトウェアBOMに関連する項目には「すべてのソフトウェアが攻撃者に悪用されかねない重大な脆弱性を伴って出荷されている」という前提の元に、すべてのソフトウェアの中にセキュリティを組み込む必要がある、という記述がある。さらに、政府機関が使用するソフトウェアについてはセキュリティ基準を政府で決定して品質を担保するということをうたっている。
こうした品質担保の仕組みを作ろうとする試みは、政府機関関連のものにとどまらない。一般のコンシューマー向けの製品についても、安全性についての認証を設けることを検討している。
ソフトウェアの安全性に問題が発生する根本的な原因の1つは、提供されたソフトウェアの中身がブラックボックスであることだ。アメリカ政府が取り組もうとしているソフトウェアBOMは、こうしたブラックボックスになりがちなソフトウェアの内部を可視化し、わかりやすく管理できるようにするためのものである。なお、日本でも現在経産省で同様のタスクフォースが立ち上がっている。
<弱点を知ることでビジネスをセキュアに>
先ほど、「ソフトウェアというものがそもそも脆弱なのだ」という話があったが、そもそもどこが脆弱なのかがわからないと、本当に脆弱性があるのかどうかはわからない。セキュリティ向上に向けて適切な対策をとるためにも、脆弱性に関するリスクを可視化していくことが今後の課題になるだろうと思われる。
また、人が開発・運用するものである以上、ツールを開発するだけでは解決できない問題もある。それもふまえて、安全なものだと言い切れるだけの根拠を用意することが必要だ。そのためにも、人やツール、プロセスを最適化して用いて適切に対処する必要がある。
<セキュリティチームと開発チームの課題>
ソフトウェアのセキュリティ向上を考える上で、失念してはいけないのが開発に関わる組織・チームの問題である。
これまでソフトウェアの脆弱性というテーマで話を進めてきたが、現状の開発プロセス上でもソフトウェアのセキュリティを高めるためのツールや仕組みはある。ただ、これらのツール・仕組みを開発プロセスに取り入れると工数が増えてしまう。そこで、自動化によって作業時間を短縮する工夫をするというのが基本的な考え方となる。
現在、開発プロセスは高速化しており、早ければ数時間でプロダクトをリリースするという企業も珍しくない。こうした状況の下では、開発全体のサイクル、全体のテスト項目の設定などを含め、どうやって最適化するのか、どうやって全体の作業効率を上げていくかが課題になる。
一方で、セキュリティ管理という意味では、全体の作業効率が向上しただけでは意味がない。脅威を未然に防ぐためには、開発の過程やプロダクトに潜むビジネスリスクを発見しなければならないからだ。
セキュアに開発を進めるためには、作業の効率化とビジネスリスクの発見という相反するテーマの調和点を見つける必要がある。同じ開発に関わるチームの中でも、コードを書く人とセキュリティチームでは興味も関心も異なれば、活躍するプロセスも異なる。セキュアで効率的な開発を実現するためには、これらの異なるプロセスで活躍するプロフェッショナルたちをどうやって1つのチームにまとめあげるのかが鍵となる。そのためには、チームを作る最初の段階から、どのような目標で誰が何をするのか、組織の在り方をデザインすることが重要だ。
また、自分たちの作りたいシステムやサービスに合わせて、備えるべきリスクを発見し、また必要なツールなどを決定して、定期的に改善を行っていくことも求められることになるだろう。
<最後に>
今日は、ソフトウェアの脆弱性対策を中心的なテーマとして話を進めてきた。弊社シノプシスでは、開発プロセス全体の最適化を進めるためのツールも提供している。これらのソリューションの提供を通して、ビジネスをドライブされているみなさまのお手伝いができれば幸いだ。
◆講演企業情報
日本シノプシス合同会社:https://www.synopsys.com/ja-jp/software-integrity.html