LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック

メールマガジン

サイバーセキュリティや
ラックに関する情報をお届けします。

ラックピープル | 

【セミナーレポート】これからのアプリケーション開発のセキュリティ対策を考える

セキュリティ診断サービスを手掛けているラックとユービーセキュア社は、システム開発を実施するお客様のセキュリティ対策について、共通の課題認識がありました。それは「システム開発のスピードを落とさずにセキュリティ診断を行うにはどうすれば良いか?」ということでした。

そこで、「診断内製化の次を行く!これからのアプリケーション開発のセキュリティ対策とは!?」と題したセミナーを開催しましたので、レポートをお届けします。

開発の早い段階で開発チームがセキュリティ対策に取り組んでいく

最初のセッションでは、ラックの執行役員CTOである倉持が、最近のアプリケーション開発のセキュリティ対策に関するトピックスについて振り返りました。

倉持
ラックのセキュリティ診断レポート※1では、ラックが診断したシステムのうち40%のWebアプリケーションに重大な脆弱性を発見しています。Webアプリケーションに対するセキュリティ対策は進んでいますが、引き続き注意が必要です。また、開発局面だけでなく運用局面においても継続的な対策が必要です。2021年末にはJavaのログ出力ライブラリである「log4shell」に脆弱性が発見されました。JSOCでも多数の攻撃通信を検知し、未だに悪用され続け被害が出ている模様です。

※1 セキュリティ診断レポート 2021 秋~クラウド時代のセキュリティマネジメント

「セキュリティ診断レポートでは、ラックが診断したシステムのうち40%のWebアプリケーションに重大な脆弱性を発見している」と説明する倉持
倉持
2021年末にOWASP Top10:2021※2が公開されました。OWASP Top10:2021では、「アクセス制御の不備」や「暗号化の失敗」など、設計段階から考慮が必要なセキュリティ対策に重点が置かれています。システム開発のより早い段階からのセキュリティ対策が必要です。OWASP Top10では対策として「開発時に、信頼性が高く安全性も検証されている検証ツールを追加し、開発チームがこれからの要素を直接採用し、アプリケーションのセキュリティを向上させる」ことが効果的だ、と提示しています。

セキュリティ診断については、テスト段階でセキュリティエンジニアが実施するだけではなく、開発段階で開発チームがセキュリティ対策に取り組んでいくように環境を整える必要があります。システム開発においてアプリケーション開発者が担う役割は増えているので、開発者が使いやすいツールを導入していくと良いでしょう。

※2 OWASP Top 10:2021

開発チームとの伴走で実現するセキュリティ:komabato

ユービーセキュア社のセキュリティソリューション事業本部 本部長の筧 賢太氏からは、同社のDAST(Dynamic application security testing、動的アプリケーションセキュリティテスト)ツールであるkomabato(コマバト)※3について紹介されました。

※3 komabato

開発現場の方からよく聞く悩みは、「セキュリティに取り組んでいく必要はあるが、難しそう」「開発速度を落とさずにセキュリティを守るにはどうすれば良いか」という点です。開発フェーズでのセキュリティ課題に対応するには、開発者にあったセキュリティツールが必要です。komabatoは「開発現場にセキュリティを届ける」というコンセプトで開発されました。

よくあるセキュリティ診断の使い方は、システムの単体テスト、結合テストそして総合テストなどの機能的なテストの後に行われます。しかしこれではセキュリティ診断で指摘された脆弱性を修正する手戻りが発生してしまいます。komabatoを使えば、結合テストフェーズで開発者が繰り返しセキュリティテストを行えます。
「komabatoを利用すれば結合テストフェーズで開発者が繰り返しセキュリティテストを行える」と説明する筧氏
komabatoは、開発者が行う機能テストと同じ感覚でセキュリティテストを行うことを目指して開発しています。開発フェーズで行うテストは、開発者自身が行うのが一般的です。開発や修正を行う度に、修正された部分だけを狙って効率よく検査できるのがkomabatoの特徴です。セキュリティ診断ツールでは、テスト対象となる画面遷移をシナリオとして用意する必要がありますが、komabatoでは画面操作を記録するだけでテストシナリオを作成できます。

そして、開発はチームで行うものですが、開発チームの全員が使うことができるのもkomabatoの特徴です。開発者が作成したシナリオはチームで共有できます。そしてテストで発見された脆弱性はチケットで管理できますので、修正完了までを一元的に管理し、脆弱性対応に関するナレッジをチームとして蓄積できます。

開発者ファーストのサービス設計で安心な開発を、迅速に:Snyk

ラック セキュリティイノベーション統括部の飯島は、SAST(Static application security testing、静的アプリケーションセキュリティテスト)ツールであるSnyk(スニーク)について紹介しました。

飯島
クラウド時代のアプリケーション開発では、さまざまな領域にリスクが潜んでいます。システムのうち自社で開発しているコードは全体の20%未満という調査結果もあります。残りの80%は何かというと、OSSを含むライブラリやコンポーネントのコードです。システムの脆弱性のうち、80%はこうした依存関係のあるライブラリから発見されます。また、コンテナでシステムを稼働させる場合にはコンテナイメージに含まれるパッケージの脆弱性管理にも配慮しなければなりません。そして、システムを稼働させる基盤としてのクラウドの設定ミスも多く指摘されています。

現代のモダンな開発環境において、アプリケーション開発者がセキュリティ対策で果たすべき役割はとても幅広いのです。そしてSnykはこれらの課題に対応した開発者向けのセキュリティソリューションです。
「Snykは、システムの脆弱性やコンテナイメージに含まれるパッケージの脆弱性管理、クラウドの設定ミスなどの課題に対応した、開発者向けのセキュリティソリューションだ」と説明する飯島
飯島
SnykにはSASTツールである「Snyk Code」以外にも「Snyk Open Source」「Snyk Containar」「Snyk IaC」から構成されています。Snykの特徴は、開発者フレンドリーであるということです。開発者が普段使っているさまざまな統合開発環境(Visual Studio Codeなど)や構成管理ツール(GitHub)などと連携して動作するので、開発ワークフローを変更することなくセキュリティチェックを行えます。開発者自身が、開発中にセキュリティ診断も行いながら開発を進められるのです。

「Snyk Open Source」は、オープンソースのライブラリの脆弱性を検知できるツールです。運用しているシステムのライブラリに脆弱性が発見された場合には修正用のプルリクエストを出せるので、修正までを半自動化できます。「Snyk IaC」では、Infrastructure as Codeに関するセキュリティ上の問題を検知できます。TerraformやCloudFormationなどの主要なIaCツールに対応しています。このようにSnyk製品はモダンな開発環境に適合しているので、開発ワークフローに組み込むことで、開発者のセキュリティ対応の負担を減らせます。

これからのアプリケーション開発のセキュリティとは?(パネルディスカッション)

セミナーの最後に、アプリケーション開発のセキュリティをテーマとして登壇者によるパネルディスカッションが行われました。

──いずれのツールも「開発者向けのセキュリティツール」ということを特徴としています。これまでのセキュリティ診断ツールとの違いは何でしょうか?

これまでのセキュリティ診断ツールは、セキュリティ専門家向けのツールだったと思います。大量の診断レポートが出てくるわけですが、診断結果をトリアージしたり分析したりするには専門の知識と体制を必要としていたのです。komabatoのような「開発者向けのセキュリティ診断ツール」は、開発プロセスの中で開発者が使うユースケースを前提として開発されています。
飯島
Snykの場合は、修正用のプルリクエストを出すことができます。プルリクエストによる開発プロセスが既に根付いている環境では、既存のワークフローを変えずにセキュリティ対策に取り組んでいけます。セキュリティ対策を開発者が行えるようにすることを実現しているのです。

──SnykはSAST、komabatoはDASTと位置付けられています。それぞれどういうニーズに合致するのでしょうか?

SASTとDASTの違いについては、アプリケーション開発に置き換えて考えてみると分かりやすいと思います。SASTは単体テストのように開発しながらテストしていくようなイメージです。DASTは結合テストでアプリケーションを動作させながらテストしていくイメージです。単体テストはするけど結合テストはしない、というのはあり得ないわけですから、理想は両方を組み合わせて使うことです。
倉持
セキュリティのテストを特別なものにしない、と考えることが必要です。日常的に機能テストを自動化しているのであれば、そこにセキュリティテストも組み込んでいくと良いと思います。品質は検査で検出するものではなく、工程で作りこんでいくものです。日々の開発の中では、SASTでケアレスミスを減らして品質を高めていき、結合テストレベルではDASTで脆弱性を減らしていくと考えれば良いと思います。

さいごに

アジャイル開発やDevOpsの進展に伴い、開発者向けのセキュリティ対策ツールの最近の進化には目を見張るものがあります。ラックとユービーセキュア社は、これからも開発現場の課題に寄り添い、効果的なセキュリティ対策を提言していきます。それぞれの製品に関するご相談は、以下までお気軽にお問い合わせください。

より詳しく知るにはこちら

より詳しく知るにはこちら

この記事は役に立ちましたか?

はい いいえ

関連記事

LAC WATCH

関連記事をご紹介します

  • セキュリティ診断だけでは不十分?安全なWebアプリケーション開発で最も大事なこと

  • セキュリティ診断だけでは不十分?ラックのシステム開発でのセキュリティ取り組み

  • セキュリティ診断だけでは不十分?アジャイル開発やDevOpsのセキュリティ対策