Skip to Content
ウェブアプリケーションセキュリティ 第2版
book

ウェブアプリケーションセキュリティ 第2版

by Andrew Hoffman
March 2025
Intermediate to advanced
444 pages
6h 9m
Japanese
O'Reilly Media, Inc.
Audio summary available
Content preview from ウェブアプリケーションセキュリティ 第2版

第26章 脆弱性の発見 脆弱性の発見

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

セキュアにアーキテクトされたコードが設計され、記述され、レビューされた後、脆弱性がその隙間をすり抜けることがないように、パイプラインが整備されるべきである。一般的に、最良のアーキテクチャを持つアプリケーションは、最も脆弱性が少なく、最もリスクの低い脆弱性を経験する。その後、十分にセキュアなコードレビュープロセスが実施されているアプリケーションは、そのようなプロセス がないアプリケーションよりも脆弱性が少なくなる(しかし、デフォルトでセキュアなアーキテクチャのアプリケーションよりも多くなる)。

安全にアーキテクトされ、十分にレビューされたアプリケーションであっても、時折脆弱性の餌食になる。脆弱性はレビューをすり抜けることもあれば、アプリケーションが異なる環境で実行されたり、意図した環境がアップグレードされたりしたときに、予期せぬ振る舞いの結果として現れることもある。その結果、プリプロダクション・コードではなく、プロダクション・コードを対象とした脆弱性発見プロセスが必要になる。

セキュリティ・オートメーション

脆弱性を発見するための初期化段階として、アーキテクチャとレビューの段階を経て、自動化の段階に入る。脆弱性発見を自動化することは不可欠だが、それはすべての脆弱性を発見できるからではない。その代わり、自動化は(通常)安価で、効果的で、長続きする。

自動化された発見テクニックは、アーキテクトやコードレビュー担当者の目をすり抜けるような、コード中の日常的なセ キュリティ上の欠陥を発見するのに適している。自動化された発見テクニックは、アプリケーションの関数に特有な論理的な脆弱性を発見することや、有効であるために「連鎖」を必要とする脆弱性(複数の弱い脆弱性が一緒に使われると強い脆弱性を生み出す)を発見することは得意ではない。

セキュリティの自動化にはいくつかの形態がある:

  • 静的解析

  • 動的解析

  • 脆弱性回帰テスト

これらの自動化にはそれぞれ別の目的があり、アプリケーション開発ライフサイクルにおける位置づけがある。

静的解析

あなたが書くべき自動化の最初のタイプは、おそらく最も一般的な、静的解析である。静的解析は、ソースコードを見て、構文エラーやよくあるミスがないかコードを評価するスクリプトである。静的解析は、開発中にローカルで行うこともできるし(リンター)、ソースコードリポジトリに対してオンデマンドで行うことも、メインブランチにコミット/プッシュするたびに行うこともできる。

以下のような堅牢で強力な静的解析ツールが数多く存在する:

  • Checkmarx (ほとんどの主要言語-有料)

  • PMD (Javaフリー)

  • バンディット(Pythonフリー)

  • ブレーキマン(Rubyフリー)

これらのツールはそれぞれ、テキストを含むドキュメントの構文を分析し、コード・ファイルを表現するように構成できる。これらのツールはいずれも、実際にコードを実行しない。それは、動的解析、あるいは、 ランタイム解析と呼ばれる次のカテゴリーに移行するからである。静的 分析ツールは、OWASPのトップ10の脆弱性を探すように設定されるべきである。

このようなツールの多くは、主要な言語用に無料と有料の両方で存在する。静的解析ツールはゼロから書くこともできるが、社内で作ったツールは、大規模なコードベースではうまく機能しないことが多い。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

ハイパーモダンPython ―信頼性の高いワークフローを構築するモダンテクニック

ハイパーモダンPython ―信頼性の高いワークフローを構築するモダンテクニック

Claudio Jolowicz, 嶋田 健志, 鈴木 駿
Kubernetesで実践するクラウドネイティブDevOps

Kubernetesで実践するクラウドネイティブDevOps

John Arundel, Justin Domingus, 須田 一輝, 渡邉 了介
流暢なReact

流暢なReact

Tejas Kumar

Publisher Resources

ISBN: 9798341627505