Special
» 2021年10月12日 10時00分 公開

富士ソフトが「システム引き継ぎ」と「PCI DSS準拠」を両立させた“秘策”とは「中身を把握できないままアプリ改修はできない」

アプリケーション開発においてセキュアコーディングの重要性は高まっている。だが、「具体的に何をチェックしていけばいいのか」が定まらず、実践するとなると難しい。同様の悩みを抱えていた富士ソフトはどうやってこの課題を解決したのか。

[PR/@IT]
PR

 アプリケーション開発に求められるのは「必要な機能を満たすこと」「想定通りのパフォーマンスを出すこと」だ。もちろん、決められた納期とコストの範囲内で実現することも重要だ。それに加えて、最近は「セキュリティの品質を保証すること」という要件を実現しなければならなくなっている。

 金融、製造、文教など幅広い分野のシステム開発に携わる富士ソフトも、この新たな課題に直面しつつあった。同社はどのように対応を進めたのだろうか。

アプリケーション品質の可視化とPCI DSS準拠が不可欠に

 富士ソフトの森本明夫氏(金融事業本部 金融システム事業部 銀行・クレジットシステム部 主任)と阿部一十氏(金融事業本部 金融システム事業部 銀行・クレジットシステム部 リーダー)は、国内でも大手の金融系企業が使うシステムの保守開発を担うことになった。プロジェクトは森本氏がプロジェクトマネジャー、阿部氏がPMO(プロジェクトマネジメントオフィス)を務めた。

 このシステムはカード決済に関わる重要なシステムで、機能や品質面はもちろん、セキュリティ面でも高いレベルの対応が求められた。特にセキュリティについては、クレジットカードなどのオンライン決済に関わる業界で必須のセキュリティ標準「PCI DSS」(Payment Card Industry Data Security Standard、2021年9月時点の最新バージョンは「PCI DSS 3.2」)の要件6「安全性の高いシステムとアプリケーションを開発し、保守すること」を満たす必要があった。

画像 富士ソフトの森本明夫氏

 PCI DSSの他にもWebアプリケーションセキュリティの業界団体OWASP(Open Web Application Security Project)がまとめた主要な脆弱(ぜいじゃく)性「OWASP TOP 10」(検討開始当初のバージョンは「OWASP TOP 10 2017」。最新バージョンは2021年9月24日公開の「OWASP TOP 10 2021」)の対応も必要だった。「クロスサイトスクリプティング」(XSS)や各種インジェクション攻撃などの脆弱性がシステムに含まれていないかどうか調査し、対処しなければならない。

 だが、システム全体を調査して手作業で一つ一つ対応するのは工数と時間がかかり過ぎる。しかもこのシステムは初期開発を別のベンダーが担当していて、富士ソフトは「保守開発業務」を引き継いだ形だ。「第三者的な評価を受けていないシステムの保守を引き継ぐため、『品質をどのように可視化するのか』がチャレンジだった」と森本氏は振り返る。

 森本氏は「中身を把握できないままアプリケーションの改修はできない」と考え、セキュリティ面も含めたソースコードの品質を効率的に可視化して認識するために静的解析ツールの導入を検討することにした。

Jtestを採用の決め手は「コスト」「サポート」「教育体制の充実」

 さまざまな静的解析ツールを検討したが、特に「PCI DSSに準拠した形でソースコード内の脆弱性を検知できること」は外せない要件だった。市場を調査したところ、該当するツールは2つのみだったと阿部氏は言う。

画像 富士ソフトの阿部一十氏

 「トライアルで使用感を確かめた上で、『Parasoft Jtest』(以下、Jtest)を採用することに決めた。引き継いだシステムはJavaを主に用いており、Javaの検査に特化しているJtestは最適だった。イニシャルコスト、ランニングコストの両面で優れていた上に、販売店のテクマトリックスのサポートや教育体制が充実している点にも魅力を感じた」

 導入する前にはさまざまな課題があった。以前から富士ソフトは別の静的解析ツールを利用していたため、新たなツールを導入するとなるとエンジニアが慣れるまでに時間がかかるのでは、という懸念もあった。阿部氏は「テクマトリックスはJtestのハンズオン研修も展開しており、安心材料になった」と語る。

 テストのパフォーマンスも優れており、「退社する前にテストをスタートしておけば、夜の間に解析が終わっており、翌朝の出社時にはすぐにレポートを確認できる」という富士ソフトの業務フローに合わせた運用ができる点も評価のポイントとなった。

 「『Parasoft DTP』(Development Testing Platform)を使えば、Webブラウザ上のダッシュボードを介して解析結果を把握したり、問題箇所をトレースしたりできる。こうした機能は現場のエンジニアにとって有用だと感じた」(森本氏)

Parasoft DTPのWebダッシュボード

手間がかかる引き継ぎを進めつつ、PCI DSS認定を取得

 森本氏らのプロジェクトメンバーは2019年12月から静的解析ツールの検討を開始し、トライアルを経て、2020年2月ごろから本格的にJtestを利用し始めた。初期開発を担っていたベンダーから引き継いで保守開発を始めるまでには苦労する部分もあったと阿部氏は語る。

 「初期開発を担当したベンダーは別の解析ツールを用いていたので、例外処理(try-catch)の範囲がずれていた。引き継ぎの過程で、それぞれのエラーの内容を対比し『これはどういう意味か』と解釈を突き合わせて問題がないかどうかを確認する作業が必要だった」

 引き継いだシステムは24時間365日体制で稼働しており、保守を担いつつ、2つのルールをうまくマージするのは大変な作業だった。富士ソフトは、テクマトリックスからJtestの動作やPCI DSSに関する豊富な情報提供を受けることで順調に作業を進めることができたという。

 当初の目的である「PCI DSSに準拠する」という要件も実現できた。富士ソフトのシステム保守が順調に進んだことで、開発の依頼元である金融系企業は2020年度にPCI DSS認定を無事に取得し、2020年11〜12月の監査を経て、2021年には証明書を手に入れることができた。

 「PCI DSS認定時には、監査機関がインタビュー形式でヒアリングする『訪問審査』、自らツールを用いてチェックする『自己問診』、監査機関が疑似本番環境にアクセスして動的解析をかける『サイトスキャン』の3本柱をクリアしなければならない。富士ソフトはこの自己問診の部分でJtestを活用した。Jtestで開発環境にあるソースコードの静的解析を実施し、その結果を外部監査機関にレポートした」

Jtestの活用イメージ

 エラーについてはParasoft DTPで可視化し、修正を実施した。「監査に必要なレポートも簡単に出力できて、外部監査に向けた対応は非常にスムーズだった」と森本氏は振り返った。

 森本氏は一連の取り組みを振り返って、「われわれは業務アプリの開発や業務ロジックの組み立ては得意としているが、セキュアなコーディングまで手が回らないこともある。Jtestのような静的解析ツールを導入することによって、技術者のスキルに依存することなくコードのセキュリティ品質をチェックできるようになったことは、システムの品質向上に大きく寄与している」と語る。

 機能を満たすだけではなく、セキュアコーディングを実践して脆弱性をなくしたいというニーズは増えているが、「具体的に何をチェックしていけばいいのか」が定まらず、実践するとなると難しいのが実情だ。JtestにはPCI DSSやOWASP TOP 10に準拠したルールが用意されているため、それに基づいたセキュリティチェックができる。富士ソフトに限らずこうした悩みを抱えている企業にとって、Jtestは有効な選択肢といえる。

PCI DSS 4.0対応やテスト自動化も視野に、さらなる品質向上を

 森本氏らは、2021年中に策定される予定の「PCI DSS 4.0」への対応も視野に入れている。18カ月間の移行期間を生かしつつ、テクマトリックスや顧客と密に連絡を取りながら最新情報をキャッチし、PCI DSS 4.0準拠の外部監査に対応できる体制を整えていく方針だ。

 Jtestは、あらかじめ設定されているルールを使った解析の他に、利用者が作成したルールを基にした解析もできる。富士ソフトはこの機能を活用し、PCI DSSやOWASP Top 10といったセキュリティ標準に準拠するだけではなく、富士ソフト独自のルールを適用してソースコード品質の向上につなげ、より高品質でセキュアなシステムを構築することを検討している。

 阿部氏は「セキュリティ以外の部分でも静的解析を定常的に、日常的に実施することでシステム品質の保証し、向上させたい」と考えており、手作業に頼る部分の多いテストプロセスの自動化を検討中だ。

 富士ソフトはテクマトリックスのサポートも得ながら、継続的インテグレーション(CI)のサイクルにJtestを組み込み、より高品質なソースコードを素早くリリースする体制作りを進めるという。森本氏は「体制作りと並行して、この取り組みから得られたノウハウを社内の他のプロジェクトに展開し、セキュアなシステム構築が求められる案件の受注拡大につなげたい」と期待を募らせている。

画像

Copyright © ITmedia, Inc. All Rights Reserved.


提供:テクマトリックス株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2021年11月11日

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。