Webサイトの脆弱性対策の基本

Webサイトの脆弱性対策の基本

Webサイトの脆弱性対策の基本は、以下の2点です。キーワードは「脆弱性を元から絶つ」です。

  1. 脆弱性の無いWebアプリケーションを作成する
  2. 脆弱性を修正する

1. 脆弱性の無いWebアプリケーションを作成する

1.1. 開発時に、プログラムに脆弱性を作り込まない

アプリケーションの開発時に、プログラムに脆弱性を作り込まないことが理想であり、重要です。IPAが公開している、以下の資料が参考になります。

1.2. 発注時に、要求仕様(RFP)に具体的なセキュリティ要件を盛り込む

情報システム部門やシステム開発会社にアプリケーション開発を発注する立場であったのなら、要求仕様(RFP)に具体的なセキュリティ要件を盛り込むことが重要です。JNSA(特定非営利活動法人、日本ネットワークセキュリティ協会)が公開している、以下の資料が参考になります。

2. 脆弱性を修正する

運用開始当初は脆弱性が見当たらなかったWebアプリケーションでも、月日が経つにつれて新たな脅威(攻撃手法)にさらされ、脆弱性が生まれることがあります。この場合の基本的な対応は、脆弱性を修正することです。

しかし、脆弱性の修正は、多くのケースで困難をともないます。例えば、以下のような障壁があります。

  • Webアプリケーションを自社で開発したものの、開発者がすでに退職しているなどの理由で、修正方法が分からない
  • 商用のWebアプリケーションに新たな脆弱性が見つかったが、修正パッチが提供されるのに時間がかかる。もしくは、パッチ提供の予定が無い
  • 修正のためには、多大のコストと時間がかかる

このような場合(アプリケーションの修正が困難な場合)に有効な手段が、WAF(Webアプリケーション・ファイアウォール)の導入です。

IPS(侵入防止システム)ではだめなのか

では、WAFではなくてIPSではだめなのでしょうか。答えは、だめです。IPSの基本技術は、既知の攻撃パターンをシグネチャ化して、テキスト・パターンのマッチングによって攻撃を検知・特定します。しかし、現実には、シグネチャを回避するための攻撃手法が存在します。

例えば、SQLインジェクションで考えてみましょう。もちろん、一般的なシグネチャであれば、前述の"or 1=1"攻撃を防御することができます。さらに、正規表現が使える場合は、"or 1=1"攻撃の、できるだけ多くの変種を検出することが可能です。しかし、それでも、以下の文字列によって、簡単にその防御をすり抜けられてしまいます。

or 'Junpei' = ' Junpei’ 
or ' Junpei ' = ' Jun '+'pei' 

この攻撃に対する、さらなる防御策として、後ろに"="が続く"or"文字を探すようになっているシグネチャがあったとします。しかし、これでも、以下の攻撃によってすり抜けられてしまいます。

or ' Junpei ' LIKE ' Jun%' 
or ' Junpei ' > 'J' 
or 2 > 1

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30