検索
連載

地の利を得る攻撃者たちに、ソフトウエア開発者はテストで立ち向かえクラウド、IoT時代のセキュリティテストとは(1/2 ページ)

クラウドやIoTの普及とともに、ソフトウエアは一層複雑さを増し、攻撃者たちはますますアドバンテージを得つつある。ソフトウエア開発者はこの状況にどのように立ち向かえばよいのだろうか。近年、セキュリティソリューションの拡充に力を入れるシノプシスのマーケティング担当バイスプレジデントで、2015年4月にシノプシスに買収されたCodenomiconの元CEO デビッド・シャルティエ氏に、セキュリティテストにおいて開発者が留意すべき事項と具体的な対策について聞いた。

Share
Tweet
LINE
Hatena

 サイバー攻撃による経済的被害の規模が増大し、セキュリティインシデントに関する報道も増加している昨今、開発者にとってソフトウエアの脆弱(ぜいじゃく)性対策は無視できない課題となっている。一方で、クラウドやIoTの普及とともにソフトウエアを構成するコンポーネントの多様化・複雑化はますます進行し、ビジネスサイドからの開発スピードに対する要求も激化してきている。

 一層シビアになっていくソフトウエア開発とセキュリティをめぐる環境に、開発者はどのように対処していけばよいのだろうか。

 本稿では、半導体設計・シミュレーション分野から出発した後、多くの企業買収などによってソリューションのカバー範囲を広げ、近年ではソフトウエアのセキュリティテスト製品の拡充にも力を入れるシノプシスのマーケティング担当バイスプレジデント デビッド・シャルティエ氏に、クラウド、IoT時代にソフトウエア開発者が留意すべきセキュリティ面での重要事項と、具体的な対策について聞いた。シャルティエ氏は、2015年4月にシノプシスによって買収されたセキュリティ企業CodenomiconでCEOを務めていた人物だ。

最大の敵は「複雑性」


シノプシス マーケティング担当バイスプレジデント デビッド・シャルティエ氏

編集部 クラウドやIoTが普及したとき、ソフトウエアのセキュリティ面では何が課題となるか。

シャルティエ氏 ひと言でいえば「複雑性」だ。米国のセキュリティ専門家であるブルース・シュナイアー氏が述べているように、「セキュリティの最大の敵は複雑性」だといえる。

 現在のソフトウエアはマイクロプロセッサーなどのハードウエアから最上位のアプリケーションに至るまでの各レイヤーにおいて、さまざまなベンダーのハードウエア/ソフトウエアコンポーネントを組み合わせて構成されている。クラウドやIoTが普及すると、こうしたコンポーネントの分散化やヘテロジニアス化がますます進行する。あらゆるベンダーのデバイスやアプリケーション、多様なプラットフォームが、さまざまなプロトコルの下に相互接続され、ソフトウエアの複雑性がさらに増大するのだ。このことがセキュリティ上のリスクをもたらす。

編集部 ソフトウエアの複雑性が増大することが、攻撃者にメリットをもたらすということか。

シャルティエ氏 その通りだ。例えばIoTにおけるコネクテッドデバイスの増加は、攻撃者目線では「攻撃面積の拡大」を意味する。現在、攻撃者は大きなアドバンテージを得ている。

もっともっとテストせよ――静的解析は日次で、ファジングは週次で

編集部 では、セキュリティリスクが増大する状況において、ソフトウエア開発者はどのような対策をとればよいのだろうか。

シャルティエ氏 答えはとてもシンプルだ。もっともっとテストをすることだ。まず、コードの静的解析を行い、バグがないかチェックする。そしてファジングを行い、アプリケーションに未知の脆弱性が存在しないかを検証する。同時に、ソフトウエアで使用しているサードパーティーのライブラリなどに既知の脆弱性が含まれていないことを確認する、といったように、あらゆる方向からのテストを徹底することが重要だ。

編集部 静的解析などによるソフトウエアの品質テストが、セキュリティを確保する上で重要だということか。

シャルティエ氏 そうだ。セキュリティ被害の90%は、ソフトウエアの品質の低さが原因となって引き起こされている。ソフトウエアの品質とは、すなわち「静的解析やファジングなどのテストで、どれだけのバグが検出されるか」ということだ。この品質を高めること、つまりバグの件数を減らすことが、そのままセキュリティに直結する。

編集部 近年のソフトウエア開発では、セキュリティと同時に開発スピードが要求されるが、テストの徹底とスピードはどうすれば両立させることができるか。

シャルティエ氏 テストの自動化と、早期実施だ。例えばアジャイル開発ではテストの自動化が必須だとされている。ツールを使って可能な限り多くのテストを自動化するのが望ましいだろう。わたしたちは、設計段階におけるアーキテクチャの検証から、リリース前のアプリケーションのテストまで、ほとんどは自動化が可能だと考えている。

 また、開発サイクルの中で、新規に開発したコンポーネントや変更された箇所など、構築が不十分だと思われる部分は優先して早期にテストを行うのが望ましい。弊社の経験からいえば、コードの静的解析は日次で、ファジングは週次で行うケースが多いようだ。テストを早期に行うほど、バグフリーの製品を早く安く作ることができる。

編集部 シノプシスではテストをどのように行っているのか。特徴的な試みなどはあるか。

シャルティエ氏 もともとシノプシスでは、2014年2月にコベリティを買収する前から、同社のテストツールを何年も使ってきている。われわれのテストに特徴があるとすれば、自社製品から得たノウハウを自社製品に適用しているということだ。例えば、「Code Advisor」という製品の出荷前には、Code Advisorを使ってCode Advisor自身をテストしている。意外かもしれないが、セキュリティ製品のベンダーというのは、自社製品のセキュリティをおろそかにしていることがある。名前は出せないが、先日もあるセキュリティベンダーの製品にHeartBleed脆弱性を発見し、報告を行ったところだ。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ

Security & Trust 記事ランキング

  1. セキュリティ担当者の54%が「脅威検知ツールのせいで仕事が増える」と回答、懸念の正体とは? Vectra AI調査
  2. セキュリティ専門家も「何かがおかしいけれど、攻撃とは言い切れない」と判断に迷う現象が急増 EGセキュアソリューションズ
  3. 米国/英国政府が勧告する25の脆弱性、活発に悪用されている9件のCVEとは、その対処法は? GreyNoise Intelligence調査
  4. OpenAIの生成AIを悪用していた脅威アクターとは? OpenAIが脅威レポートの最新版を公開
  5. インサイダーが原因の情報漏えいを経験した国内企業が約3割の今、対策における「責任の所在」の誤解とは
  6. 約9割の経営層が「ランサムウェアは危ない」と認識、だが約4割は「問題解決は自分の役割ではない」と考えている Vade調査
  7. 人命を盾にする医療機関へのランサムウェア攻撃、身代金の平均支払額や損失額は? 主な手口と有効な対策とは? Microsoftがレポート
  8. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
  9. MicrosoftがAD認証情報を盗むサイバー攻撃「Kerberoasting」を警告 検知/防御方法は?
  10. AIチャットを全社活用している竹中工務店は生成AIの「ブレーキにはならない」インシデント対策を何からどう進めたのか
ページトップに戻る