Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

ソフトウェアの品質とセキュリティを担保するためのヒントとは【デブサミ2020】

【13-F-2】アプリケーションやシステムが悪い奴らに攻撃されたらどうなる?

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2020/03/27 12:00

 個人情報や機密情報の漏えい、システム障害など、毎年システムやアプリケーションの不備・欠陥に起因するインシデントが発生している。インシデントは、サイバー攻撃を受けて発覚するものや、攻撃につながるシステムやアプリケーション自体の問題を調査するセキュリティリサーチャーなどから報告を受けて判明するものがある。いずれも共通点は、システムやアプリケーションを支えるソフトウェアに何らかの脆弱性が存在することだ。デジタル化が進み、大半のものがソフトウェアベースで動く昨今、こうしたインシデントを防ぐにはソフトウェアの脆弱性を開発段階できちんとつぶすことが重要となる。では、リリース前になぜすべてをつぶすことができないのか。日本シノプシスの松岡正人氏がセキュア開発のポイントを解説した。

目次
日本シノプシス合同会社 ソフトウェアインテグリティグループ シニアプロダクトマーケティングマネージャー 松岡正人氏
日本シノプシス合同会社 ソフトウェアインテグリティグループ シニアプロダクトマーケティングマネージャー 松岡正人氏

コードの品質がセキュリティリスクに直結する背景

 家電やスマホ、テレビなどの身の回りのものから、自動車や電車、スーパーのレジ、工場まで、あらゆるものにコンピューターが組み込まれる現代において、これらを制御するソフトウェア・コードの品質向上および管理は重要な課題だ。今や製品の基本動作から新しい機能やサービスの追加まで、ソフトウェア・コードで行う。不具合や欠陥が見過ごされたまま提供、利用されて重大な事故が発生すれば取り返しの付かないことになる。

 例えば、「ソフトウェアの塊」の自動車では、昨年4月に国土交通省が発表したリコール対象台数において、最も多かった原因がコンピュータープログラムの不具合だったと松岡氏は紹介する。最もリコール対象台数が多かったのは、トヨタのプリウスとプリウスα、OEM供給先のダイハツ工業のメビウスで合計124万台以上。

 原因は、異常判定の制御プログラムのバグで、走行不能になる恐れがあったと言う。飛行機も同様だ。2018年10月と2019年3月に発生したボーイング737MAXの墜落事故も、ソフトウェアの不具合が原因だった。こうした不具合は最悪の場合、乗客や乗務員、歩行者などの命に関わる事態に発展する可能性がある。

 不具合や欠陥は、大きく2つに分類することができる。1つは、自社やサードパーティのソフトウェア・コードの脆弱性。もう1つは、ネットワーク設定やアクセス制御、サイバーセキュリティ対策など、システム上の誤設定だ。そして最近はこうした「欠陥」部分を狙ったサイバー攻撃が増えている。

 「サイバー攻撃者は、ソフトウェアのバグや脆弱性を入念に調査し、コードや変数のふるまいや特性で問題があるところを特定し、そこを足がかりにシステムへ侵入したり、サービスを停止させたりする。攻撃者の目的が何であれ、ビジネスリスクであることは間違いない。こうした背景から、最近はセキュリティのコンテキストでソフトウェア・コードの品質が語られることが増えた」(松岡氏)

 だが、どんなに脆弱性が指摘され、対策が公表されても、パッチをあてないまま放置されるシステムも少なくない。2014年4月に発覚したOpenSSLの脆弱性「Heartbleed」も、なかなか修正されないまま運用されるサーバーが数年後も多数存在したという報告もある。

 「こうした情報を知りながら改修せずに運用し続ける判断をしたのであれば、それは道義的・倫理的に問題だ。もしも経営層が技術面で理解できずに修正できていないのであれば、開発者や運用者がリスクをきちんと伝える必要がある」(松岡氏)

 しかし、セキュリティの視点に立ったソフトウェア・コードの品質向上は、言うほど簡単ではない。松岡氏はその理由として、「コード量」「複雑度」「開発速度」「リスク」の4つを挙げた。

ソフトウェア・コードの品質向上が難しい4つの理由
ソフトウェア・コードの品質向上が難しい4つの理由

 コード量は、大規模なシステムやサービスになるほど増えていく。また、ML・AIやクラウド、IoTなどを活用して複数の異なるプラットフォームや言語、サービスを連携させながら1つのシステムを構築することが多い昨今、システム全体だけでなく、品質管理も複雑だ。そのような状況で、アジャイル開発やCI/CD、DevOpsで開発スピードを上げつつ、高度化するサイバー攻撃のリスク軽減に向けた施策も実施する必要がある。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

バックナンバー

連載:【デブサミ2020】セッションレポート

もっと読む

All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5