- 課題
- 人や予算が限られる中、少ない工数でより高頻度の脆弱性診断をいかに実現するかを模索
- 導入
- エンジニアの作業工数がかからず、問い合わせへの対応も迅速なことからAeyeScanを選定
- 効果
- 自動化機能も駆使し、工数をかけることなく、資金移動業者としてのセキュリティを確保
背景と課題
JOBPAYでは、ATMで直接受取りまたは口座振込を選択できるコンテンツの利用により、給与日前に給与相当額を受取れるサービスを提供。警備や飲食、訪問介護など給与前払いが歓迎される業界を中心に、すでに登録会員が12万人を超える。
金融サービスは内閣サイバーセキュリティセンター(NISC)が定義する「重要インフラ」の一つとして社会基盤を支える存在であり、万一システムに支障が生じた場合には社会に大きな影響を与える恐れがありセキュリティ体制は事業の要だ。
「資金移動を伴うサービスを提供している以上、障害が起きたり、脆弱性を突かれてサービスが止まるといった事態が起きないよう、24時間365日安定して動くことを重視し、緊張感を持ってサービスを提供しています」(株式会社JOBPAY サービス開発部 開発グループ サブマネージャー 長峰大輝氏)
こうした立場からJOBPAYは、セキュリティに関しても一層厳しく取り組む必要があると考え、さまざまな対策に取り組んできた。その一つがWebサービスの脆弱性診断だ。同社は中核となる支払いシステムだけでなく、周辺サービスとして会員向けサイトの他、勤怠情報を入力するための打刻サイトなど、複数のサービスを開発・展開している。これらについても脆弱性診断を実施してきた。
「ただ、診断サイクルは年に一回程度にとどまっていました。重要インフラ事業者としてその頻度では少なすぎると判断し、より短いサイクルで診断を回したいと考えましたが、エンジニアのリソースに限りがある以上、診断だけに人やコストを割くわけにもいかないという課題がありました」(長峰氏)
ソリューションの選定
周辺サービスは基幹の支払いシステムとは異なり、アジャイル的な手法を用いて比較的短いサイクルで、時には週に数回のペースでリリースを繰り返している。これらの脆弱性診断を行うに当たって、同社は三つの選択肢を検討した。
一つ目は、診断サービスを提供する外部の企業に定期的に依頼する方法だ。だが、「実際にスキャンを始めるまでにさまざまな資料を用意しなければならず、そこに多くの工数を取られることを懸念しました」(長峰氏)。診断を一回実施するたびに費用がかさむことも、向いていないと判断する理由となった。
二つ目は、診断対象のシナリオ作成、いわゆるクローリング作業を人が手で行い、その後のスキャンは自動的に実施する半自動ツールを用いて診断を内製する方法だった。コスト的には最も有利な選択肢だったが、「画面をぽちぽち触りながら登録していく作業に多くの工数が取られることがネックでした」(長峰氏)
そして三つ目がAeyeScanだった。「ツール本体のコストとエンジニアのコストを合わせて比較してみると、半自動ツールとほぼ変わらない結果になりました。ならば、エンジニアの作業工数がかからない方がエンジニアが他のところにリソースを割くことができる上、慣れていけばさらにエンジニアのコストを減らせると判断しました」(長峰氏)
JOBPAYはさらにAeyeScanのPoCを行い、実際の使用感を確認した。JOBPAYの周辺サービスは、前払い支援というサービスの特性もあり、メールアドレスなどのIDとパスワードだけでログインできる一般的なサイトとは異なり、カード番号も加えた三つのフォームに入力する必要があるなど、特殊な作りのページも含まれる。「当初は自動巡回だとうまくログインできない場面もありましたが、その旨をエーアイセキュリティラボに伝えるとすぐに修正してもらえました」(長峰氏)
その対応に安心感を抱いたことと、当初の目的通り、診断サイクルをどんどん短くしていける手応えがつかめたことから導入を決定した。
導入効果
JOBPAYは2022年からAeyeScanを導入し、各サービスに対して四半期に一回のペースで診断を行う体制で運用している。当初はうまく巡回できない場所があるといった課題もあったが、その都度、AeyeScanのサポートからアドバイスを得ることで解決できた。「何か問題が起きても聞けるところがあるのは、非常に大きな安心感になっています」(長峰氏)
レポート結果は管理画面を介して開発エンジニアと共有している。「診断が終われば自動的にレポートが出力されます。英語で書かれた他のツールですとどうしてもハードルが高くなりますが、AeyeScanはきちんと日本語で出力されておりエンジニアにも伝えやすいですし、エンジニア以外の方が見てもわかりやすい内容だと思います」(長峰氏)
これまでのところ、迅速な対処が求められる深刻な問題は検出されていない。比較的優先度の低い問題を、開発スケジュールをにらみながら「今年中に修正するスケジュールで行きましょう」といった具合に相談しながら対応している。
AIによる自動巡回機能によって、診断の工数は大きく削減できた。同社の舟山侑希氏(サービス開発部 開発グループシステムエンジニア)は「以前の工数を100とすれば、今は10以下、ひょっとするとゼロかもしれません」と述べる。また長峰氏も「人数も決して多いわけではないため、脆弱性診断だけに人を一人張りつけるのは難しい状況であり、とても助かっています」と評価する。
JOBPAYでは、AeyeScanのスケジュール機能を用い、診断を定期的に実施するよう自動設定した上に、APIを用い、レポートが出力されたらSlackに自動通知する仕組みを実装。エンジニアがほぼ手を動かさなくても診断サイクルを回せる仕組みまで整えた。「スタートさせておいて、あとは他の作業をしていればよく、終わったらSlackの通知を見てレポートを共有するだけなので非常に楽になりました。スケジュールを設定することで、今や診断のスタートボタンすら押す必要がなくなっています」(長峰氏)
脆弱性診断の結果は、万一問題が発生した際の「証跡」としても活用できると考えている。そうした事態が起きないのが一番だが、仮にセキュリティインシデントが発生したときに「何をやっていたのか」と責められても、「このようにきちんと診断を実施し、セキュリティを担保してきました」と、責任を果たしてきたことを示すツールとしても役立つと考えている。
ポイント
- AIで工数を大幅に削減しつつ、資金移動業者に求められるセキュリティ水準を実現
- APIを活用してSlackと連携し、レポート出力通知を自動化
- サポートの手助けを得ることで、やや複雑なログイン画面でも巡回を自動化
今後の展望
「資金移動業者としてセキュリティ面は絶対に落とすことはできませんが、工数もそれほどかけられません。この二つの問題を一気に解決できるのがAeyeScanだと感じています」(舟山氏)
JOBPAYは今後も、AeyeScanを活用した診断の自動化を拡大していく計画だ。現時点では、診断が終了した旨の通知に留まっているSlackとの連携をさらに広げ、AWS Lambdaなどを活用してレポートそのものをSlackに送付し、コンソールにログインしなくても結果を確認できるようにして、開発者の生産性をさらに高めたいと考えている。
ゆくゆくはCI/CDサイクルにAeyeScanを組み込むことも検討している。「プログラムを改修してリリースした際に、同時にAeyeScanによる診断を回すことが目標です。そうすれば、工数削減と同時に診断サイクルをさらに短縮でき、セキュリティを担保して、顧客メリットも大きくなると考えています」(長峰氏)
おりしも同社ではVisual Studioで構築されていた基幹システムをリニューアルし、Webアプリケーションに置き換える一大プロジェクトも進行中だ。「これが置き換わった際には、AeyeScanをさらに広範囲で活用し、セキュリティを診断を自動的に、定期的に実行することになるかと思っています」(長峰氏)