- 更新日 2024.10.17
- カテゴリー システム開発
Webシステムのセキュリティを確保するには?サイバー攻撃のリスクや対策方法を解説【2024年最新版】
「利便性の高いWebシステムを開発したいが、セキュリティが不安」そんな企業・店舗担当者の方は多いはず。なぜなら、公開されたネットワーク(インターネット)を活用するWebシステムは、常にサイバー攻撃のリスクにさらされているからです。
・Webシステムにはどんなセキュリティリスクがある?
・セキュリティ対策の具体的な方法は?
Web担当者の方なら、Webシステムを安全に利用するために、リスクを知ってセキュリティ対策を行う必要があります。そこで本記事では、サイバー攻撃の手法や想定されるリスクも含め、知っておきたいWebシステムのセキュリティを徹底解説!具体的なセキュリティ対策も紹介していきます。
※現在、システム開発の依頼先を探している方はシステム幹事にご相談ください。予算や目的から最適な開発会社を選定します。相談料・紹介料は一切かかりません。
Webシステムの基本について念のためおさらいしたい方は下記記事をご参照ください。
関連記事:実はシンプル!Webシステムの基本!具体例・Webサイトとの違い
なぜWebシステムにセキュリティ対策が必要なのか
Webシステムは、サービス・機能を提供するサーバに、複数のクライアント(Webブラウザ)がインターネット経由で接続する仕組みになっています。通常の利用方法であれば、エンドユーザーがWebシステムのプログラム本体、データベースへ直接アクセスすることは許されていません。
しかし、どんなに注意深く設計されたものであっても、人が作るものに完璧なものはありません。Webシステムも同じで、潜在的な不具合を抱えている可能性があります。こうした見えない表面的になっていないプログラムの不具合・弱い部分を脆弱性、あるいはセキュリティホールと呼びます。
さらに、公開されているインターネットを活用するWebシステムでは、悪意ある第三者からセキュリティホールを狙われやすいという宿命を抱えています。Webシステムにセキュリティ対策が必須なのは「セキュリティホールがある」「狙われやすい」という、2つの特性があるからなのです。
※Webシステムの仕組みについてより詳しく知りたい方は、以下の記事も参考にしてください。
関連記事:Webシステムの仕組みをわかりやすく解説!大規模Webシステムで採用されるWeb3層構造とは?
Webシステムのサイバー攻撃とは
Webシステムのセキュリティを考えるため「サイバー攻撃」について知っておきましょう。サイバー攻撃とは、Webシステムのセキュリティホールを狙い、悪意ある第三者(ハッカー)がインターネット経由で攻撃をしかけてくること。世界中とつながるインターネットには、膨大な数のハッカーがいることを認識しておかなければなりません。
関連記事:サイバー攻撃とは?攻撃者の目的・近年の動向・攻撃の種類・手口・対策を解説!
サイバー攻撃によるセキュリティリスク
それでは、Webシステムのセキュリティホールを放置したまま、なんの対策もしていないとどうなるのか?サイバー攻撃によって以下のようなセキュリティリスクが生じる可能性があります。
サイバー攻撃によるセキュリティリスク
・個人情報や機密情報の漏えい
・Webシステムのデータ改ざん
・ユーザーアカウントの悪用
・クライアント端末のマルウェア(ウイルス)感染
「サイバー攻撃の標的になるのは大企業だから、規模の小さい自社が狙われる心配はない」と安心してはいけません。近年では、標的となる大企業への踏み台・ステップとして、まず関連する中小企業に攻撃を仕掛ける「サプライチェーン攻撃」が頻発しているからです。
自社情報だけでなく、取引先企業の重要情報まで流出すれば、自社の事業継続自体が困難になってしまう最悪の事態すらあり得ます。
Webシステムを狙うサイバー攻撃の手法
適切なセキュリティ対策を施すためには、ハッカーたちの手法を知っておくことが重要です。以下からは、Webシステムを狙う代表的なサイバー攻撃の手法を5つ紹介していきます。
Webシステムを狙うサイバー攻撃5つ
・セッションハイジャック
・ブルートフォースアタック
・DoS / DDoS
・SQLインジェクション
・XSS(クロスサイトスクリプティング)
セッションハイジャック
Webシステムでは、利用の一連の処理(例えば、ログインからログアウトまでなど)を1つの「セッション」として管理しています。このセッションを識別するために発行される「セッションID」をなんらかの方法で奪取し、本人になりすましてサーバに不正なリクエストを送る行為が「セッションハイジャック」です。
これにより、以下のようなセキュリティリスクが生じる可能性があります。
・登録情報などの流出・改ざん
・クレジットカード情報の流出・不正使用
・プログラムへの侵入・改ざん
セッションハイジャックの方法には、セッションIDを推察してログインを試みる、Webシステムとユーザー間に入り込んでIDを盗むなど、いくつかの手法があります。
ブルートフォースアタック(総当たり攻撃)
ブルートフォースアタックとは、パスワードを解読して強引に(Brute Force=強引という意味)Webシステムへの侵入を試みるサイバー攻撃のこと。具体的には、考えられるパスワードの組み合わせをすべて試しながら、Webシステムへのログインを試みる手法であり、総当たり攻撃ともいわれています。
組み合わせをすべて試すというと、一見、気の遠くなるような時間が必要に思えますが、ハッカーは専用のプログラムで攻撃を仕掛けるため、英数4桁のパスワードであれば、大文字・小文字の区別があっても2分でログイン可能。セッションハイジャック同様、情報漏えい・改ざんや、クレジットカード不正使用による金銭被害といったセキュリティリスクがあります。
DoS / DDoS
DoS(Denial of Service attack)とは、Webシステムに大量のデータを送りつける、連続したデータ処理を要求するなどの手法を使ったサイバー攻撃のこと。DoS攻撃を受けたWebシステムはトラフィックの増加により、
・レスポンスが遅延する
・反応が悪くなる
・最悪、システムダウンする
などの被害にあう可能性があります。
DoS攻撃は、ハッカーが1台のPCから仕掛ける手法ですが、これをさらに巧妙化させたものが「DDoS(Distributed Denial of Service attack)」です。DDoS攻撃の特徴は、なんらかの方法でハッカーに乗っ取られた複数台のPCを使い、Webシステムを攻撃すること。攻撃者の特定が難しいため、対策を施していないと防御の難しいサイバー攻撃だといえます。
SQLインジェクション
SQLインジェクションとは、検索ボックスや入力フォームを使ってWebシステムに「悪意のあるSQLコード」を注入し、データベースを不正に操作するサイバー攻撃のこと。
データベース構築に使われる開発言語「SQL」を悪用することから名付けられた攻撃手法です。Webシステムのコアともいえるデータベースが攻撃されるため、被害が深刻化しやすいという特徴があり、以下のようなリスクがあります。
・情報流出・改ざん
・金銭的被害
・データベースの書き換え・消去
・サーバ乗っ取り
XSS(クロスサイトスクリプティング)
XSS(クロスサイトスクリプティング)とは、WebシステムのフロントエンドであるUI(ユーザーインターフェース)に悪意あるスクリプト(簡易的なプログラムのこと)を埋め込み、利用者であるユーザーにスクリプトを実行させるサイバー攻撃のこと。
その過程で標的サイトから別サイトへ誘導されることから、この名称が付けられています。知らずにスクリプトを実行してしまったユーザーは、個人情報を抜き取られる、ハッカーの作った偽サービスに誘導されてクレジットカード情報を盗まれるなどの被害にあう可能性があります。
これはWebシステムに「外部からスクリプトを埋め込まれてしまう」脆弱性があることによって発生するセキュリティリスクです。標的となったWebシステム自体に被害がおよぶことは多くありませんが、被害を受けたユーザーへの責任は免れません。
Webシステムのセキュリティ対策:ネットワーク編
こうしたサイバー攻撃から自社Webシステムを守るためには、どのようなセキュリティ対策を施せばいいのでしょうか?Webシステムがハッカーの標的になりやすいのは「インターネットという侵入しやすい経路がある」「Webシステムのプログラムには脆弱性がある」から。
つまり、Webシステムのセキュリティを強化するには「ネットワーク」と「アプリケーション」の両面から対策することが重要です。まずはネットワーク側の具体的なセキュリティ対策を紹介していきましょう。以下、3つの対策を紹介します。
セキュリティ対策:ネットワーク編
・ファイアウォール
・IPS(Intrusion Prevention System)
・WAF(Web Application Firewall)
ファイアウォール
ファイアウォールとは、ネットワーク経由で侵入を試みるサイバー攻撃を防ぐ、もっとも基本的なセキュリティシステムです。クライアントとサーバが通信する際の出入り口となる「ポート」を制御する(不必要なポートを閉じる)、設定したルールにもとづいて通信を許可・遮断するなどの機能を持ち、文字通り「防火壁」の役割を果たします。
ファイアウォールを適切に設定することにより、空いているポートを探して侵入を試みる「ポートスキャン」などを効果的にブロックできます。ただし、ファイアウォールは通信パケットのヘッダを読み取って不正なIDを遮断するには有効ですが、通信パケットの中身までは監視できません。パケットを監視するには、次に紹介するIPSが有効です。
IPS(Intrusion Prevention System)
ファイアウォールがネットワークの「防火壁」としての役割を持つとすれば、IPS(Intrusion Prevention System)は、サーバOSやミドルウェアへの侵入を試みる不正通信をブロックする役割を持つセキュリティシステムです。
ファイアウォールと異なり、パケットの中身を監視し、不正だと疑われる通信を感知・ブロックする機能を持つことがIPSの特徴。IPSには大きく2種類あり、既知の攻撃手法にマッチする通信をブロックする「シグネチャー型」、通信を分析して異常を統計的に割り出す「アノマリ型」があります。
IPSを設置することにより、ファイアウォールでは防げない「DoS / DDoS」や、その一種で大量の偽パケットを送りつける「スマーフ攻撃」をブロックできます。ファイアウォールと併用することで、Webシステムのネットワークセキュリティ強化に役立つでしょう。
IPSについて、詳しくは以下記事を合わせてご覧ください。
関連記事:IPS・IDSとは?UTMやファイアウォールとの違いも解説
WAF(Web Application Firewall)
ファイアウォール + IPSの組み合わせは、ネットワーク経由で侵入を試みる不正通信のブロックには有効な一方、Webシステムの脆弱性を狙ったサイバー攻撃には対応できません。こうしたアプリケーションレベルへの攻撃をブロックするために有効なのが「WAF(Web Application Firewall)」です。
文字通り、Webアプリケーションの防火壁の役割を果たすWAFは、通信内容を常時監視し、脆弱性を狙った既知の攻撃パターンと照合しながら不正通信をブロック。「SQLインジェクション」「XSS」などの攻撃を防ぐ以外にも「ブルートフォースアタック」をブロックするためにも有効です。
セキュリティ対策(ネットワーク編)
名称 |
セキュリティ対象 |
防御する脅威 |
ファイアウォール |
ネットワーク |
ポートスキャン など |
IPS |
サーバOS、ミドルウェア |
DoS / DDoS スマーフ攻撃 など |
WAF |
アプリケーション |
SQLインジェクション XSS ブルートフォースアタック など |
Webシステムのセキュリティ対策:アプリケーション編
日々巧妙化するサイバー攻撃に対処するためには、Webアプリケーションの脆弱性対策を施すことが重要。以下、アプリケーション側の具体的なセキュリティ対策を5つ紹介します。
セキュリティ対策:アプリケーション編
・常時SSL化(HTTPS化)
・サーバOS・ミドルウェアの最新化
・パスワードポリシーの徹底・認証二重化
・アクセス制限の徹底
・セキュアプログラミング
常時SSL化(HTTPS化)が基本
Webシステムのすべての通信を暗号化するセキュリティの基本が、常時SSL化(HTTPS化)です。エンドユーザーからの信頼感を得るためにも必須の対策と言えるでしょう。
SSLについて、詳しくは以下記事を合わせてご覧ください。
関連記事:SSLとは?仕組みや必要性をわかりやすく解説
サーバOS・ミドルウェアは最新に
完璧なWebアプリケーションが存在しないように、Webシステム構築に必須のサーバOS・ミドルウェアも潜在的な脆弱性を抱えています。サーバOS・ミドルウェアのベンダーが定期的にアップデータを配布しているのはこのためであり、セキュリティ対策の施された最新版へのアップデートは速やかに実行しなければなりません。
そのためには、ソフトウェアのバージョン管理を含め、Webシステムの保守体制・担当者を明らかにしておくことが重要。運用・保守業務を外部に委託する方法もあります。
関連記事:サーバーセキュリティ対策の重要性|想定される脅威・対策・有効なソリューションを紹介!
パスワードポリシーの徹底・認証二重化
パスワードを総当たりで特定するブルートフォースアタックには、WAFの設置が有効でした。さらにパスワードポリシーを徹底することによって、よりセキュリティを強化できます。
具体的には、パスワードの桁数を増やすことが単純かつ有効な手法です。プログラムを使ったブルートフォースアタックでは、4桁の組み合わせをマッチさせるのに2分しかかかりませんが、8桁なら約50年、10桁なら約20万年かかるといわれています。
場合によっては、秘密の質問と答え、ワンタイムパスワードなどの認証二重化を検討するといいでしょう。
Webシステムのディレクトリ(データを整理・格納する入れ物のことを指す)、ファイルへのアクセス制限を徹底することも有効なセキュリティ対策です。エンドユーザーが閲覧・実行できるファイルを最小限にとどめ、悪意のある第三者が攻撃する隙を与えないことがポイント。
Webシステム開発時に使用したテストアカウントなど、利用していない不要なアカウントを削除しておくことも有効です。
セキュアプログラミング
セキュアプログラミングとは、開発するWebシステムの設計段階からプログラミングまで、セキュリティを考慮しながらシステムを構築していく考え方・手法のこと。具体的には、要件定義の時点で「満たすべきセキュリティ要件」と「想定されるセキュリティバグ」を分けて考え、それぞれの対策に沿ってコーディング・テストしていくことでシステムの脆弱性を排除していきます。
これから新規のWebシステムを開発する場合は、もっとも重要なポイントになります。
まとめ:提案依頼書(RFP)にはセキュリティ要件を盛り込もう!
サイバー攻撃によるセキュリティリスク
・個人情報や機密情報の漏えい
・Webシステムのデータ改ざん
・ユーザーアカウントの悪用
・クライアント端末のマルウェア感染
本記事では、安心して使える安全なWebシステムを開発するため、知っておきたいセキュリティの基本を解説してきました。不正な通信を遮断するネットワーク側のセキュリティ対策など、既存のWebシステムを保護する方法はあるものの、完成してしまったWebシステムの脆弱性を後から修正することは簡単ではありません。
対処療法になってしまわないために、最も重要なのはWebシステムの開発時からセキュアプログラミングを取り入れて、できる限りの脆弱性を排除しておくことです。そのためには、提案依頼書(RFP)を作成する段階からセキュリティ要件を盛り込み、ベストな提案をしてくれるシステム開発会社を選定することが大切です。
システム開発会社を探している方へ
現在、システム開発会社を探している方はシステム幹事にご相談ください。
「セキュリティに詳しい会社を紹介してほしい」「Webシステムのセキュリティ対策実績が豊富な会社が良い」などのご相談も歓迎です。専門のコンサルタントがあなたの要望を丁寧にヒアリングし、予算にあった最適な開発会社を選びます。
コンサルタントのご紹介
岩田
専任のコンサルタントが、
お客様の予算と目的を丁寧にヒアリング。
最適な会社をピックアップ・ご紹介させていただきます!
初心者の方でも安心してご相談いただけます。
ご相談・ご紹介はすべて無料。また紹介された制作会社に必ず発注する必要はありません。
Q. Webセキュリティの基本は?
Webシステムを守るセキュリティ対策として「ファイアウォール」「IPS(Intrusion Prevention System)」「WAF(Web Application Firewall)」等が挙げられます。それぞれの詳しい内容は記事内で紹介していますので、ぜひご覧ください。
この記事を書いた人
梓澤 昌敏
専門分野: 音楽・映像制作、オウンドメディア、ビジネス
音楽・映像制作の現場を経て、スタジオ構築側の業界へ。マネージャー・コンサルタントとして制作現場の構築に携わる一方、自社オウンドメディアの立ち上げを含むマーケティングも担当してきました。現在アメリカ在住。作曲を含む音楽制作も提供しています。
このライターの記事一覧