簡易かつ低コストなAeyeScanを活用し、社内におけるセキュア開発のルール化を推進

目次

    • セキュア開発のルールと運用を円滑にするための、簡易かつ低コストで診断できるツールとしてAeyeScanを採用
    • 外部に依頼する場合と異なり、自分たちの好きなタイミングで低コストで検査を実現
    • セキュリティも含めたコード品質の向上を通じ、システム開発業界をリードする存在に

    背景

     約1万人の技術者を抱える富士ソフトは、独立系としては国内最大規模を誇るシステムインテグレータだ。流通や金融、サービス、製造、教育や公共機関に至るまで、幅広い分野の顧客向けにシステムの受託開発を手がけるほか、独自パッケージの提供にも力を入れており、最近では「AI/IoT/セキュリティ/クラウド/ロボット/モバイル・オートモーティブ」の頭文字を取ったAIS-CRM(アイスクリーム)に注力している。

     同社は創業以来、「ひのき」(品質・納期・機密保持)という理念を掲げ、セキュリティも含めた品質管理体制に注力しながらソフトウェア開発を進めてきた。

     しかも、年々サイバー攻撃が増加し、巧妙化する中、システムやソフトウェアに脆弱性が含まれていた場合のインパクトは甚大なものになっている。そこで「社長自らが『この先、セキュリティの重要性は高まり、やって当たり前という世界になっていくだろう』というビジョンを持ち、全社的な取り組みを徹底するようトップダウンで号令がありました」
    (富士ソフト株式会社 技術管理統括部セキュリティマネジメント部長/エグゼクティブフェロー、渡辺露文氏)

     このビジョンを実践する部隊がセキュリティマネジメント部だ。同社が提供するソフトウェアのセキュリティを高めるための「セキュア開発・運用」と、「社内セキュリティ対策」の両面から事業部門の支援を行っている。

     特にセキュア開発・運用に関しては「ルール策定に加え、各事業部門に一人は情報処理安全確保支援士を育てることを目標に人材育成に取り組んでいます」(渡辺氏)。

    より事業部門に近いところで支援を行う「セキュリティ対策支援室」と両輪で、専門的な知識・知見が求められるセキュリティ対策の支援を行っている。

    課題

     トップの強い意識もありセキュア開発・運用の取り組みを加速させた富士ソフトだが、「どうしても開発者の興味は、新機能やよりよいユーザーエクスペリエンス(UX)といった領域に向きがちで、セキュリティも含めた非機能要件の優先順位は後回しになりがちでした」(渡辺氏)という側面は否めなかった。そこでセキュリティマネジメント部では、いわゆる単体テストや結合テストに加え、セキュリティテストを開発プロセスの中流に組み入れるための環境やツールの整備を開始した。

     第一歩として、同社がニアショア開発やテストを主な業務として沖縄県に設置した「沖縄開発センター」の機能を約4年前に強化し、脆弱性検査を行える体制を整えた。Webアプリケーションの脆弱性検査ツールを導入し、センターに検査体制を集約することで、外注する場合に比べ低コストで脆弱性検査を行えるようになり、一部の事業部で採用が始まった。

     だがそれでも、すべてのプロジェクトをカバーするには至らなかった。これまでセキュリティ検査をやっていなかった部署からすると、いくら外注より安価になるといってもコストがゼロではない以上、躊躇するのも無理はない。「今まで何もしていなかった部分を底上げすることを目的に、脆弱性診断を実施する習慣を付ける仕組みができないかと考えました」
    (富士ソフト株式会社 技術管理統括部セキュリティマネジメント部セキュリティ技術推進室エキスパート、水戸部一貴氏)

     中には逆に、セキュリティに興味を持った一部のメンバーが自力で学び、OWASP ZAPなどのツールを用いて独自にセキュリティ検査に取り組む部署もあった。歓迎すべきことだが、プロジェクトに関わるすべてのエンジニアが同じようにツールを使いこなせるとは限らない。

     「開発者にセキュリティ検査のやり方を教え、自ら検査を回してもらおうとすると、やはり教育コストがかかる上に、検査ツールのライセンスコストもかさんできます」(渡辺氏)。この結果、プロジェクトのコストが高まり、開発競争力が下がっては元も子もない。

     そもそも富士ソフトでは、このようにプロジェクトごと、担当者ごとにばらつきのあったセキュア開発のベースラインを定めることが大切だと考え、セキュア開発に関するルールの策定を進めていた。OWASP Proactive Controlsをベースに、これまでの開発経験を踏まえて独自の項目を追加した「セキュア開発・運用チェックリスト」を作成し、各プロジェクトに遵守を求める形だ。

     ただ、「ルール化すれば、プロジェクトに何らかのコストがかかってくるのは避けられません。ルール化する以上は、もっと簡易かつ低コストで診断できる何らかの方法を提供しなければいけないと考えました」(水戸部氏)

    fujisoft_ph2_渡辺さま
    技術管理統括部セキュリティマネジメント部長/
    エグゼクティブフェロー 
    渡辺 露文 氏

    ソリューションの選定

     こうした悩みを抱えていた2020年秋に日本セキュリティオペレーション事業者協議会(ISOG-J)のワーキンググループで耳にしたのが、「AeyeScan」だった。文字通りAIを使って簡易な操作で、必要十分な脆弱性検査が行える点に魅力を感じたという。「コンタクトをとって実際に画面操作も見せてもらい、『これならセキュリティ検査に関するスキルを持たない人でも、検査ができるだろう』と感じました」(渡辺氏)

     実は富士ソフトでは静的ソースコード解析(SAST)という選択肢も検討し、一部導入もしていたが、開発プロセスになかなかなじまないと感じていたという。「ソースコード解析はどうしても問題を過剰に見つけてしまうところがあります。実際に現場に持って行ったところ、『このアラートを全部つぶしていくなんて無理』という反応でした」(渡辺氏)

     また、幅広い言語や開発環境に対応していることも必須の条件だった。富士ソフトの開発プロジェクトでは、C/C++とC#、Javaがメインだが、他にもPHPやPythonといったさまざまな言語が活用されている。しかもIT環境の変化に伴い、言語自体がどんどんバージョンアップしていく中では、特定のIDEしか使えなかったり、最新のバージョンはサポートされないといった状態では採用が難しいが、幅広い環境で検査が行えることも好印象だった。

     ちなみに多数の開発案件を抱える富士ソフトでは、同じメンバーが長年にわたって同一のプロジェクトに携わり、同じプログラムを作り続けるケースはあまりない。コーディング規約を充実させることである程度セキュア開発が実践できるのでは、というアイデアもあったが、多様な顧客を相手に次々と開発プロジェクトが進むことを考えると非現実的だった。「『コーディング規約は作らないのですか』と言われたこともありましたが、富士ソフトではゆうに10以上の言語を扱い、しかもお客様ごとに異なるコーディング規約を持っていることもあります。となると、社内でルールを作り更新し続けるのは合理的ではありません」(渡辺氏)

     こうした条件に合致し、行き当たりばったりに対応するのではなく一定のセキュリティベースラインを設けたいという狙いに、AeyeScanはぴったりはまる選択肢だった。「開発者任せにしているとその開発者が知っている問題にしか対策できませんが、スキャンをかければ何かしら問題が指摘され、自分が知らない問題、できていない問題を認識してもらえるようになります。こうして、AeyeScanを活用して、何もしていない状態から脱却しようと考えました」(水戸部氏)

    fujisoft_ph3_水戸部さま
    技術管理統括部セキュリティマネジメント部 
    セキュリティ技術推進室エキスパート
    水戸部 一貴 氏

    導入効果

     富士ソフトでは2021年4月からAeyeScanの導入作業を具体化させ、6月には、セキュア運用のルールと表裏一体の形で運用を開始した。

     「それまでも自分たちで検査してもいいし、沖縄開発センターに委託してもいいし、あるいは外注してもいい。手段は問わないので何らかの形で脆弱性診断をしてください、というルールを定めていましたが、コストやスケジュールの問題で難しい場合がありました。ここにAeyeScanが加わることで、『依頼があればアカウントを払い出すので、好きなタイミングで検査をしてください』という形が整いました」(水戸部氏)

     運用開始後、セキュア開発ルールとAeyeScanの周知のため社内セミナーと動画で情報共有を図ったところ、半年で10件程度の申し込みがあった。月に1〜2件はAeyeScanを使ってのスキャン申し込みがある形だ。

     「事前にテストシナリオを作成する手間もなく、URLを入力してボタンを押すだけでテストが実行できます。ヘルプもよくできていて使い方もわかりやすいので、アカウントを発行した後はほとんど問い合わせもありません。われわれとしてもほぼ手放しでの運用ができています」と水戸部氏は言う。

     社員に対するアンケートからも「使い方が簡単だ」「外部に委託する場合と異なり、自分たちの好きなタイミングで検査ができる」と高く評価されているという。

     そして、開発に携わるエンジニアのセキュア開発に関する知識と意識の高まりも感じている。「セキュリティマネジメント部への問い合わせ内容が高度化してきているように思います。何をどうすればいいかという丸投げ的な質問の代わりに、顧客の要件とセキュリティのバランスをどのようにとるべきかといった、具体的で高度な問い合わせが増えてきました」(渡辺氏)

     ルール整備との両輪でAeyeScanを導入した結果、納品前の脆弱性検査を行っていないプロジェクトが見受けられる状態から脱却しつつある富士ソフト。ルール作りと支援体制、そしてツールが相まって、「まいた種が一度に芽を出し始めているように思います」と水戸部氏は述べている。

     ただ富士ソフトは、ここで歩みを止めるつもりはない。経営トップからは、開発段階のさらに手前である見積もりの段階からセキュリティを考慮し、「どのようなセキュリティリスクがあるか」「それにどのように対処していくか」を顧客とともに議論しながら提案することで、セキュリティの体系化、メニュー化を図りたいという声もあるという。

     「ここまではベースラインを上げるところに注力してやってきましたが、さらにもう一段高みを目指していきたいと考えています。ただ特定のソリューションを入れるのではなく、セキュア開発によって業界を、それもセキュリティ業界ではなくシステム開発業界をリードし、セキュア開発の世界に持っていきたいと考えています」(渡辺氏)

    fujisoft_ph1

    富士ソフト株式会社

    技術管理統括部セキュリティマネジメント部
    セキュリティ技術推進室エキスパート

    水戸部 一貴 氏

    「ルール作りと支援体制、そしてツールが相まって、セキュア開発に向けてまいた種が一度に芽を出し始めています」