目次
Webセキュリティとは
Webサイト・サービスは、データを改ざん・破壊したり、個人情報を漏洩させたりといった、悪意のあるサイバー攻撃を受ける可能性があります。
そのようなサイバー攻撃を防ぐための対策が「Webセキュリティ」です。
インターネットが生活インフラとなった現代において、Webサイトは誰でも運用できるようになりました。
Webサイトやサービスの増加にともないサイバー攻撃も日々進化しているため、サイト運営者もWebセキュリティの知識をアップデートしつつ、適切な対策を施す必要があります。
近年のセキュリティ事故事例
- PayPayのサーバに不正アクセス 加盟店情報など2000万件に流出の可能性
- 「マイナビ転職」ユーザー21万人に不正ログイン、履歴書閲覧の可能性
- 婚活アプリ「Omiai」情報流出の詳細判明、API経由でクラウドに不正アクセス
上記ニュースは、2021年に入ってから報道されたニュースです。
大手企業や有名サービスのサイバー攻撃に関するニュースのため、覚えている方も多いのではないでしょうか。
- メールアカウントに不正アクセス、スパムの踏み台に – 通信機器メーカー
- 「辛ラーメン」メーカーで「Emotet」感染 – 通販を一時停止
- 東映アニメにサイバー攻撃、一部作品が放映延期 – 連動商品などに未放送の内容も
- インテリア雑貨ショップに不正アクセス – クレカ情報2763件が流出した可能性
- 不正アクセスでシステム停止、シリコンウェーハの製造出荷に影響 – GWJ
また、執筆時(2022年3月)に確認できた、セキュリティ被害に関するニュースもまとめてみました。被害規模は大小さまざまですが、TVや新聞などで大々的に報道される事故はほんの一部であることがわかるでしょう。
上記の内容からも、いつご自身のWebサイトにサイバー攻撃の魔の手がかかるかわからない状況であることを理解して、基礎的な知識と対策方法を身につけることが重要です。
Webセキュリティの脆弱性を狙うサイバー攻撃4種類
日々発生しているWebセキュリティ被害を防ぐには、サイバー攻撃の代表的な種類とその内容を知る必要があります。
ブルートフォースアタック
ブルートフォースアタックは「総当たり攻撃」とも呼ばれるサイバー攻撃です。特定のIDに対して総当たり的に文字列を入力し、管理画面などへのログイン突破を試みる手法です。
WordPressなどCMSの管理画面に悪意のある第三者からログインされると、情報を書き換えられたり、重要情報を抜き取られたりするリスクがあります。
攻撃自体は古典的かつ強引な方法ではありますが、時間さえかければほぼ確実にログイン突破されてしまう、やっかいな攻撃だといえるでしょう。
使用する文字の種類 | 4文字の場合 | 6文字の場合 | 8文字の場合 | 10文字の場合 |
---|---|---|---|---|
英字(大文字、小文字区別しない) | 約3秒 | 約37分 | 約17日 | 約32年 |
英字(大文字、小文字区別)+数字 | 約2分 | 約5日 | 約50年 | 約20万年 |
英字(大文字、小文字区別有)+数字+記号 | 約9分 | 約54日 | 約1千年 | 約1千万年 |
上記はIPA(独立行政法人 情報処理推進機構)が2008年に算出した、パスワード種類別の総当たり攻撃における解読時間です。PCスペックが大幅に向上している現代では、解析にかかる時間はさらに短縮されていると予想されます。
CSRF(クロスサイトリクエストフォージェリ)
CSRF(クロスサイトリクエストフォージェリ)は、Webアプリの脆弱性やその脆弱性を利用した攻撃方法のことです。
たとえば、悪意のあるハッカーが攻撃用のWebページを用意し、攻撃したいアプリケーション内の掲示板やタイムラインなどにリンクを記載してクリック誘導をします。
そのリンクにアクセスすると、ユーザーの情報が抜き出され、攻撃したいアプリケーションの「サーバー」に送信されます。すると攻撃対象のアプリケーションは、送られた攻撃用のリクエストをもとに、クリック誘導されたユーザーが実際にとっていない行動を処理します。
ハッカーが設定した任意の処理を勝手に実行させられることになり、SNSで意図しない投稿を勝手にされたり、オンラインバンキングで送金操作をされたりするなどの被害が発生してしまいます。
XSS(クロスサイトスクリプティング)
XSS(クロスサイトスクリプティング)はCSRFと同様に、Webアプリケーションの脆弱性を利用した攻撃です。悪意のあるリンクをクリックしたユーザーに対して、スクリプト処理を実行します。
スクリプト処理が実行されると、ブラウザ上にあるユーザー情報(cookie)がスクリプトを仕込んだハッカーの手に渡ります。これにより機密情報が抜き取られたり、アカウントが乗っ取られたり(=なりすまし)してしまいます。
IPA(独立行政法人 情報処理推進機構)の報告内容では、サイバー攻撃の被害のうちXSSが最も多く、全体の58%を占めています。
[ソフトウェア等の 脆弱性関連情報に関する 届出状況|IPA](https://www.ipa.go.jp/security/vuln/report/vuln2022q1.html)
CSRFはアプリケーションにログインしているユーザーを対象とし、アプリケーションで定義された処理内容の範囲で攻撃を実行します。
一方、XSSはユーザーのログイン有無に関係なく、JavaScriptで処理できることであれば実行内容も自由に設定可能です。
※CSRFはサーバーで処理されますが、XSSはユーザーのブラウザで処理されます。
どちらもユーザーを巧みに騙して攻撃ページにアクセスさせる点が共通しているため「不審なURLはクリックしない」といった警告を守ることの重要性がわかります。
DoS攻撃
DoS攻撃とはDenial of Service attack(サービス拒否攻撃)の略で、サイトやアプリケーションに過剰なデータを送付することで負荷をかけるサイバー攻撃です。
攻撃時に無関係のPC(マシン)を不正にのっとり、大量の端末から一斉に攻撃を仕掛ける場合は、DDoS攻撃(Distributed Denial of Service attack)と呼ばれます。
サーバーに過剰な負荷がかかるとサイトやアプリケーションはダウンし、通常ユーザーが利用できなくなったり、ネットワークに遅延が生じたりします。
被害範囲が大きい場合はサービスの利用者離れが起き、提供側には重大な損害が発生することもあります。
SQLインジェクション
SQLインジェクションとは、不当なSQL文を脆弱性のあるサイトやアプリケーションに注入(インクジェクション)することによって、データベースのデータを操作するサイバー攻撃です。
SQLとはStructured Query Languageの略称で、情報を保管している「データベース」を操作する命令文です。データベースには、ユーザーの個人情報や構成する重要情報が格納されています。
SQLインジェクションが実行されると、運営サービスが保有する個人情報や機密情報を大量に抜き取られるといった、重大な情報漏洩が発生するケースもありえます。
また、サイトの骨組みとなる構成要素を改ざんすることで、Webサイトの破壊や書き換えも可能です。データベースはサービスの根幹となる部分であり、狙われた場合の影響範囲や被害の大きさは甚大です。
IPA(独立行政法人 情報処理推進機構)の報告では、XSSに次いで2番目に被害報告の多いサイバー攻撃がSQLインジェクションでした。また、対策が長期化する深刻な事例について、SQLインジェクションが占める割合は増加傾向にあります。
[ソフトウェア等の脆弱性関連情報に関する届出状況|IPA]
(https://www.ipa.go.jp/security/vuln/report/vuln2022q1.html)
導入しておきたいWebセキュリティ対策手段
ここまでで、サイバー攻撃には多様な手段があることが理解できたかと思います。そこで次は、サイバー攻撃を防ぐために必要となる基本的なセキュリティ対策について解説します。
上の図のように、セキュリティ対策は一つの機能で全体をカバーできるわけではありません。それぞれの守備範囲が異なるため、複合して使用する必要があると理解した上で読み進めてください。
ファイアウォール
ファイアウォールとは、内部のネットワークに侵入してくる不正なアクセスを通さないための「壁=防火壁」のことです。自宅のPCや企業のネットワークをインターネットに接続する際、外部から不正にネットワークに侵入されるのを防ぎ、情報漏洩やデータの破壊などをされないようにします。
ファイアウォールには「パーソナルファイアウォール」と「ネットワーク用ファイアウォール」という、壁の設置場所によって仕組みが異なる2種類があります。
パーソナルファイアウォール
パーソナルファイアウォールは「PCを守る」ことが目的です。
パソコンの住所にあたるIPアドレスや通信ルートの番号にあたるポート番号をもとに、不正なアクセスではないかを判断する仕組みです。インターネットを通して外部からPCに侵入してくる不正アクセスや、PCから外部への不正アクセスを遮断します。
PCやサーバーにそれぞれ導入が必要ですが、WindowsやMacのOSには標準搭載されています。また、あとからインストールして導入することも可能です。
ネットワーク用ファイアウォール
ネットワーク用ファイアウォールは「社内ネットワークを守る」ことを目的にしています。企業で使用されるような内部ネットワークと外部のネットワーク間に設置することで、通過する不正アクセスを防ぎます。
こちらは外付けのハード製品を使用したり、Webサービスを通して導入するのが一般的です。
IPS
IPSはIntrusion Prevention Systemの頭文字で、不正侵入防止システムを意味します。似たような用語でIDS(Intrusion Detection System)があります。こちらは不正侵入検知システムで、検知した通信の遮断機能はありません。
- IDS:不正な通信を検知し、管理者にアラートで通知する
- IPS:不正な通信を検知し、対象の通信に制限をかける
IPSではシグネチャ型とアノマリ型と呼ばれる検出方法で通信を監視します。
シグネチャ型は、あらかじめ決められたルールと照合させることで、既知の侵入パターンに該当しない通信を検出します。アノマリ型では、通常と異なるトラフィックを検出することで、未知の不正侵入を見つけます。
また、検出・防止の仕組みや範囲が異なる「NIPS」と「HIPS」という2種類の型があります。
NIPS
NIPSはNetwork-based IPSの略で、ネットワーク型IPSを意味します。内部と外部のネットワーク境界に監視カメラを設置するように、通過する通信を監視・遮断します。
NIPSは個別のサーバやコンピュータには導入不要で、往来するネットワーク全体を監視できるのが特徴です。
HIPS
HIPSはHost-based IPSの略で、ホスト型IPSを意味します。サーバ等で送受信する通信を監視対象とすることで、OSの脆弱性に対するアクセスを防御します。
HIPSは通信内容だけでなく、コンピュータ(OS)自体を監視対象にできるのが特徴です。
WAF
WAFはWeb Application Firewallの略称で、WebサイトやWebアプリケーションに特化したセキュリティです。
XSSなど、フォームや掲示板などを利用してWebサーバへアクセスする攻撃の場合、ファイアウォールやIPSでは防げません。そういった攻撃に対しては、Webアプリケーションの中身までチェックするWAFが有効です。
ファイアウォール・IPS・WAFの違い
- ファイアウォール:IPアドレスのある外部との通信
- IPS:OSやソフトウェア、ネットワーク全体
- WAF:アプリケーションそのもの
ファイアウォールは、家の周囲に設置する塀のような役割を果たします。そのため、ネットワークに繋ぐ端末に対しては基本的に導入すべき対策です。
WAFはアプリケーション層までチェックできても、OSに対する攻撃を防げるわけではありません。つまり、いずれか1つを導入するのではなく、全体をカバーできるようにまんべんなく対策を施すことが重要です。
脆弱性診断サービスを紹介
脆弱性診断サービスとは、Webサイト・Webアプリケーションに対して、セキュリティ上の問題がないか診断できるサービスです。
自身の運営するWebサービスがサイバー攻撃を受けた時、被害が生じてしまう状態ではないか、事前に模擬チェックできます。まだ未導入の方は、内容を確認の上で検討してみてください。
脆弱性診断サービスを選ぶ際に見るべきポイント
脆弱性診断サービスを選ぶ際は、ご自身が重視したいポイントを把握して比較検討することが重要です。
診断項目
大きく分けると、Webアプリケーションの脆弱性を調べる「アプリケーション診断」と、OSやサーバーなどの状況を診断する「プラットフォーム診断」があります。
アプリケーション診断では、下記の例のようなサイバー攻撃に対する耐性の有無についてチェックできます。
- SQLインジェクション
- CSRF
- XSS
プラットフォーム診断では、下記のような内容を診断できます。
- 脆弱性検査(OSやソフトウェアに対する脆弱性の検査)
- ポートスキャン(サーバーやネットワーク機器のTCPやUDPの検査)
- アカウント検査(FTP等で簡易的なアカウントやパスワードが使用されていないかの検査)
診断方法
業者による手動検査と、サービスの機能を利用した自動検査があります。
手動検査のほうが診断精度は高くなりますが、その分コストはかかります。自動検査の場合は、比較的低コストでの診断が可能です。
価格
業者に依頼する場合は有料となり、価格は基本的に都度見積もりとなりますが、数十万〜数百万円が一般的な価格相場です。ご自身で診断する場合、数万円以下(もしくは無料)で導入できるツールもありますので、予算と相談して検討する必要があるでしょう。
サポート
検知したセキュリティ状況に対するフィードバックを受けられるかどうかも、サービスによって異なります。検知だけで終わっては対策とならないため、知識がまったくない方はサポートの有無も検討材料に含めた方がよいでしょう。
【有料】プロの業者が手動で診断するWebサービス
セキュリティ対策を専門としている企業や担当者に検査を依頼し、診断してもらう方法です。
自動診断サービスと比較し、診断結果が出るまでの時間がかかったり、依頼料が高くなったりする傾向にありますが、その分精度の高い診断が可能です。
Webアプリケーション診断
豊富な実績を誇るNRIセキュアテクノロジーズ株式会社が提供するツールで、プラットフォーム診断もついた安心のサービスです。
Webアプリケーション診断サービス
三井物産セキュアディレクション株式会社が手がける診断ツールです。他社に先駆けて開始した診断サービスで、2,000サイト以上、80,000リクエスト以上の診断実績があります。丁寧な診断レポートを出してくれるのも特徴です。
【有料】自分で診断できるクラウド型Webサービス
クラウド型は、Web上で診断を希望するサービスのURLなどを登録することで、検査結果を確認できます。
手軽に診断できる反面、専門家による手動診断と比較すると精度は落ちる可能性があります。そのため、診断範囲を事前に確認し、問題ないかチェックした上で利用したほうがいいでしょう。
VAddy
株式会社ビットフォレストが運営している脆弱性診断ツールです。アカウント作成→サイトをスキャン→診断結果表示と、シンプルな3ステップでサイト診断が実施できます。
診断項目数により月額6,000円〜59,800円のプランが選択できます。初回は一週間の無料トライアルがあります。
komabato
komabatoは株式会社ユービーセキュアが運営するツールです。検出するだけではなく、判断・修正プロセスまでチェックしてくれます。
検査と診断結果はクラウド上で提供されるため、ブラウザ上でシナリオレコードの作成も可能です。利用には月額49,800円が発生しますが、二週間の無料トライアルもあります。
【無料】自分で診断できるツール
無料ツールもご紹介します。基本的にサポート対応がないため、コストをかけられない場合や、ある程度セキュリティ知識のある担当者がいる場合におすすめです。
OWASP ZAP
OWASP ZAPはOWASPがリリースしている、インストール型の無料脆弱性診断ツールです。
OWASPはOpen Web Application Security Projectの略で、セキュアなソフトウェア開発を促進する技術や情報の共有を目的としたプロフェッショナルが集まる、オープンソース・ソフトウェアコミュニティです。
簡易・静的・動的の3要素のチェックを行い、Webアプリケーションの脆弱性を診断・検出します。
エレシーク
アカウントの登録をして、診断対象のURLを入力するだけで脆弱性診断ができる、オンライン型の診断ツールです。診断結果は、深刻度をスコア化して表示されます。詳細の診断を希望する場合は、有料プランで別途申し込むことが可能です。
ITセキュリティの最新情報はIPAから
IPAとは「独立行政法人 情報処理推進機構」のことです。経済産業省の管轄機関で、日本のIT分野における多様な情報について調査し、情報を提供しています。
全国のITセキュリティに関する情報の収集も行っているため、一次情報を取得したい方は参考にしてみるとよいでしょう。
まとめ
- サイバー攻撃の手段を知る
- 自身のWebサイトやWebアプリケーション状況を把握する
- 状況に応じた対策をとる
Webのセキュリティ対策は、おおまかに上記のステップで対応します。
前述の通り、悪意のあるユーザーは、いつ・どのサービスを狙ってくるかわかりません。「自分の運営サービスは大丈夫」と油断せず、基礎的な知識を身につける努力と日々のチェックを怠らないことが重要です。
ただし、セキュリティ対策には時間的なコストや、時として費用がかかります。さまざまなコストを考慮しながら、大切なWebサイトが手遅れになる前に対策を講じましょう。