セッション管理の不備/アクセス制御の不備の脆弱性
-Webアプリケーションの脆弱性入門 3-

Share

セッション管理の不備やアクセス制御の不備が存在すると、情報漏えいや不正アクセスのリスクが高まります。本記事では、セッション管理とアクセス制御についての基本的な知識から、脆弱性の概要、脆弱性を悪用した攻撃の手口、そして攻撃を防ぐための対策方法についてご紹介します。

前回までの内容

SQLインジェクションは、Webアプリケーションの脆弱性の一つです。攻撃者は不正なSQL文を挿入してデータベースを操作することにより、データベースの内容を改ざんし、顧客の情報を不正に取得します。SQLインジェクション攻撃はSQL文の組み立て方法に問題があり、攻撃者が挿入した不正なSQL文を誤った命令文として認識してしまうことで発生します。攻撃を受けてしまった場合、顧客情報や決済履歴などの機密情報が漏洩する恐れがあり、企業の信用やブランドイメージに大きなダメージを与えます。対策方法ととして、プレースホルダを使用したSQL文の構成、特殊文字のエスケープ処理、SQLエラー情報の非表示化、アカウントの適切な権限付与などがあります。これらの対策は、データベースのセキュリティを維持し、攻撃を防ぐために重要です。また、SQLインジェクションの脆弱性を検出する方法として、入力フィールドに本来許可されていない文字列を設定し、Webアプリケーションの反応を観察する方法があります。このようなテストを通じて、企業のセキュリティ担当者がSQLインジェクションの脆弱性に対する問題を理解し、社内で情報を共有し、適切な対策とることで、攻撃を未然に防ぐことが可能になります。また、Webサイトの機能追加や新しい攻撃手法の発見等によって生まれた新たな脆弱性には、定期的にセキュリティ診断を実施することで適切な脆弱性対策をすることができます。

前回記事「SQLインジェクションの脆弱性 -Webアプリケーションの脆弱性入門 2-」より

セッションとは

セッションとは、クライアントがサーバに接続してから切断(あるいはログインしてからログアウト)するまでの一連の流れのことです。この一連の流れを管理することをセッション管理と呼びます。セッション管理はユーザの識別や状態の維持のために必要とされます。例えば、オンラインショッピングサイトで商品をカートに追加した際、その情報はセッションとして保存されます。

セッション管理の不備とは

セッション管理の不備/アクセス制御の不備の脆弱性(2人とデータの紙アイコンマーク)イメージ

Webアプリケーションの中には、セッションID(ユーザを識別するための情報)を発行し、セッション管理を行うものがあります。このときセッションIDを固定化できたり、日付・誕生日・ユーザ名で作られたりしているなど、有効なセッションIDが推測可能であるといったセッション管理の不備があると、セッションハイジャックと呼ばれる攻撃が成立する危険性があります。これにより、攻撃者が本来のユーザになりすまして権利を行使することで、プライベートな情報の閲覧や、設定の変更などが行われる可能性があります。

セッション管理の不備の脆弱性を悪用した攻撃

セッションハイジャック

セッションハイジャックは、攻撃者が他のユーザのセッションIDを盗み取り、そのIDを使用してユーザのアカウントに不正アクセスする行為を指します。有効なセッションIDを推測あるいは奪取する手段が存在している場合に、セッションハイジャックが成立するリスクが高まります。

セッションハイジャックが成立するリスクを高める要因となる脆弱性および攻撃方法には、以下のようなものがあります。

セッションIDの固定化(セッションフィクセーション)

攻撃者が事前にセッションIDを設定し、そのIDをユーザに強制的に使用させることができる脆弱性を悪用してユーザのセッションを乗っ取る攻撃方法です。この攻撃は、ユーザがログインする前にセッションIDが設定され、その後も変更されない場合に発生します。

セッションIDの推測

セッションIDが日付や誕生日、ユーザ名で構成されていたり、連番で発行されていたりするなど、簡単に予測できるものであった場合、攻撃者はそのIDを推測してユーザのアカウントにアクセスできてしまいます。また、セッションハイジャックの原因は多岐にわたり、他の脆弱性を悪用されることで有効なセッションIDが奪取される場合もあります。

Webアプリケーション/ネットワークの脆弱性の悪用

攻撃者によりWebサイトの脆弱性を突かれ、不正にユーザとWebサイトの間に介入されたり、ネットワークを盗聴されたりするなどして、ユーザのセッションIDを奪取される可能性があります。代表的な攻撃手法のひとつには、以前の記事で解説した「クロスサイトスクリプティング」も挙げられます。また、通信のやり取りではセッションIDが暗号化されておらず、平文のままデータのやり取りをしている場合にも、攻撃者に狙われやすくなります。

セッション管理の不備の脆弱性を悪用した攻撃を防ぐための対策方法

セッションIDの取り扱いや、セッションの有効期限の設定などに問題がある場合、攻撃者がセッションを乗っ取ることが容易になり、機密情報を盗み見られたり、不正な操作をされたりするなどのリスクが発生します。では攻撃を防ぐためにどのような対策方法をとればよいのでしょうか。以下に例をご紹介いたします。

セッションIDを推測困難なものにする

攻撃者によってセッションIDを推測されてしまった場合、そのユーザになりすまして、本来アクセスできないサイトに第三者がアクセスできてしまう恐れがあるため、セッションIDは推測困難な値にする必要があります。

ログイン、ログアウトといった処理を行う際は、新しいセッションIDを発行する

ログイン時にセッションIDの正当性を検証することで、攻撃者があらかじめ用意したセッションIDを強制的に使用させられることを防ぎます。

セッションハイジャック対策

有効なセッションIDを奪われないようにすることだけでなく、セッションIDを奪われたとしてもセッションハイジャックを成立させないような環境を作るのが対策のポイントです。

  • セッションIDとワンタイムトークン付与によるユーザの確認:セッションIDとは別にログイン成功後にワンタイムトークンを発行し、画面遷移ごとにサーバ側で管理しているトークンと照合します。発行するワンタイムトークンは、推測困難かつランダムな文字列で構成する必要があります。
  • IPアドレスによるユーザの確認:ユーザを特定する情報として、IPアドレスを使用することが可能です。さらに、セッションIDをCookieで管理している場合には、Cookieにsecure属性およびHttpOnly属性を設定することで、攻撃者によるCookie情報奪取のリスクを緩和できます。

対策例としては、上記のとおりですが、セキュリティ専門家への相談も重要です。現在の技術環境では、常に新しい脅威が出現するため、対策は継続的に見直し、強化する必要があります。

アクセス制御の不備とは

アクセス制御の不備とは、Webアプリケーションにおいて、本来付与されている権限の範囲内でのみ動作するような制御が実装されていない問題を指します。例えば、一般ユーザとしてログインした際に管理者としての権利を行使できてしまう権限昇格、パラメータを操作することで、本来制限された領域外のファイルやディレクトリにアクセスすることが可能となるパストラバーサルなどです。不正アクセスや意図しない情報の公開をはじめとした、様々なリスクが生じます。

アクセス制御の不備の脆弱性

権限昇格

ログインすることなくユーザとしてシステムに対する操作を実行できたり、一般ユーザが本来与えられていない上位権限(管理者権限等)を一時的に取得することで、システムに対する不正な操作や機能の実行が可能になったりする問題。

パストラバーサル

外部からのパラメータでWebサーバ内のファイル名を直接指定するWebアプリケーションにおいて、URLパラメータを操作して不正なパス名を渡すことで、本来アクセスを許可されていないディレクトリやファイルに対して、攻撃者がアクセス可能になる問題。

不適切な情報の出力

本来権限が与えられているユーザのみアクセスできるものに対して、不正なユーザが本来許可されていない特定のURLにアクセスしたり、操作を行ったりすることで、外部に公開されていない情報(機密情報・ユーザ情報)が閲覧可能になる問題。

アクセス制御の不備を悪用した攻撃を防ぐための対策方法

主な対策方法は以下の通りです。

権限昇格

権限管理を行う際は、外部から値を操作可能なパラメータは使用せずサーバ側で行う実装とし、権限による機能制限を実装する際には、各機能へのアクセス時に実行者のアカウントと権限のチェックを実施します。

パストラバーサル

アプリケーションが取得するファイルは既定のディレクトリに保存し、アクセスするファイルパスを操作できないようにし、サーバ上でアプリケーションを実行するアカウントのアクセス権限を見直します。また、あらかじめ定義したホワイトリストに基づいた入力値検証を実施し、ファイル名に不正な文字列が含まれる場合は、適切なエラー処理を行うことが推奨されます。

不適切な情報の出力

外部への公開が不要なディレクトリやファイルは、外部からアクセスできないように適切なアクセス制御を行います。ログイン認証によるアクセス制御を実施する場合には、適切なセッション管理を伴った認証機構を実装してください。また、アプリケーションの動作に必要がないディレクトリやファイルは削除することを推奨します。

まとめ

セッション管理の不備/アクセス制御の不備の脆弱性(3人と上部にランプがついたアイコンマーク)イメージ

セッション管理の不備は、セッション管理に不備があることで、ユーザになりすまし、プライベートな情報の閲覧や、設定の変更などができてしまう問題です。対策方法としては、セッションIDを容易に推測できないものにし、ワンタイムトークンの発行やIPアドレスによるユーザの確認を行うなど、適切なセッション管理を実装することで、ユーザの情報やデータを安全に保護することができます。

アクセス制御の不備は、Webアプリケーションにおいて、本来付与されている権限の範囲内でのみ動作するような制御が実装されていない問題を指します。ユーザに対して、あらかじめ与えられた権限から外れた操作を実行できないようにポリシーを適用することにより、情報の漏えいやシステムの不正操作を防ぎます。

セキュリティ対策を適切に実施することが、Webアプリケーションの安全性を高めるための鍵となります。ユーザの情報やデータを保護するために、セキュリティ専門家への相談、常に最新のセキュリティ情報の収集をすることなどが重要です。

Security Report TOPに戻る
TOP-更新情報に戻る


資料ダウンロードボタン
年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
お問い合わせボタン
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像

SQLインジェクションの脆弱性
-Webアプリケーションの脆弱性入門 2-

Share

SQLインジェクション攻撃は多くの企業やシステムにとって大きな課題となっています。本記事では、SQLインジェクションの基本的な仕組みから、その主な原因とリスクについて解説します。また、企業での対策方法についても紹介します。SQLインジェクションの脆弱性のリスクを認識し、その対策方法を学びましょう。

前回までの内容

クロスサイトスクリプティング(XSS)とは、動的にHTMLを生成するWebアプリケーションで、ユーザの操作を介して不正なスクリプトを実行させる(できる)事象を指します。このクロスサイトスクリプティングの脆弱性を悪用した攻撃手法をクロスサイトスクリプティング攻撃と呼び、これは、ユーザのブラウザ上で不正なスクリプトを実行させ、個人情報等を漏えいさせるという仕組みです。XSSには「反射型」「蓄積型」「DOMベース」の3種類があり、それぞれ異なる方法で攻撃が行われます。XSSの主な原因は、出力の検証や処理が不十分であることです。攻撃者は、例えば、コメント欄や検索ボックスなどユーザからの入力を受け付ける部分にスクリプトを挿入することで、他のユーザのCookie情報等を搾取することが可能となります。対策としては、スクリプト言語における特別な意味を持つ文字や記号を置き換える「エスケープ処理」の実施や、Webアプリケーションファイアウォール(WAF)の活用等があります。また、セキュリティ診断を定期的に行い、リスクを可視化して適切なセキュリティ対策を実施することが重要です。

前回記事「クロスサイトスクリプティング(XSS)の脆弱性 -Webアプリケーションの脆弱性入門 1-」より

SQLインジェクションとは

SQLインジェクションは、Webアプリケーションの脆弱性の一つであり、多くの企業や中小企業がこの攻撃の影響を受ける可能性があります。具体的には、攻撃者が不正なSQL文を挿入することで、データベースを不正に操作することを指します。例えば、攻撃者は不正な文字列や記号を入力値として使用し、データベースの内容を改竄したり、顧客の情報を不正に取得したりすることができます。

SQLインジェクション攻撃の基本的な仕組み

SQLインジェクション攻撃は、不正な文字列や特殊文字を入力値として使用し、データベースの処理や検索を操作する脅威の一つで、悪意のある第三者が、通常の入力欄に異常な構文や文字を注入することで、情報の取得や変更が可能です。

SQLインジェクションの脆弱性が発生する主な原因とリスク

SQLインジェクションの脆弱性(南京錠のアイコンマーク)イメージ

SQLインジェクションは、WebアプリケーションでのSQL文の組み立て方法に問題がある場合に、攻撃者が挿入した不正なSQL文を誤った命令文として認識してしまうことで発生します。SQLインジェクション攻撃により、インシデントが発生した場合、企業の顧客情報や決済履歴などの機密情報が第三者に漏えいする恐れがあります。その結果、企業のセキュリティ対策姿勢が疑われ、インシデントによる直接的な被害だけでは済まない、信用の失墜やブランドイメージの低下といった大きな痛手を受ける恐れがあります。

SQLインジェクション攻撃の事例

2022年に報告されたSQLインジェクションによる情報漏えい事例を紹介します。

国内オンラインショッピングサイトではSQLインジェクションによる攻撃を受け、サービス登録ユーザの氏名、生年月日、メールアドレス、住所などの詳細な個人情報等、275万件以上の情報が漏えいしました*1。その結果、被害の対象となった顧客へのお詫び状の送付、専用のお問い合わせ窓口の設置、個人情報保護委員会や警察への報告、再発防止策の検討を含めたセキュリティ強化、事故に関する継続的な調査対応等に追われました。

データベースの不正操作を許せば、事業活動に必要なデータをすべて消去されるといった最悪の事態も発生しうるため、SQLインジェクションの脆弱性を放置することは非常に危険です。

効果的なSQLインジェクション対策とその実践方法

SQLインジェクションの対策

重要な情報が集まるデータベースは、守るべき優先度がきわめて高く、SQLインジェクション対策としてさまざまな取り組みが行われています。

基本的な対策

  • プレースホルダを使用したSQL文の構成:プレースホルダは、SQL文における変数の位置を示すために使用され、実際の値は後から安全にバインドされます。特に、バインド処理を実装するライブラリの実装状況によってSQL構文が変化する「動的プレースホルダ」ではなく、SQLの準備段階からSQL構文が変化しない「静的プレースホルダ」の方が、より有効性の高い対策を実現できます。
  • 特殊文字に対するエスケープ処理:運用上の制約等によりプレースホルダを使用したバインド処理が使用できない場合は、特殊文字に対するエスケープ処理を実施することで対策が可能です。なお、エスケープ処理では対策漏れが生じる可能性もあるため、可能な限りプレースホルダを使用することが推奨されます。

保険的な対策

  • SQLエラー情報の非表示化:エラーメッセージの内容にエラーを起こしたSQL文の情報、使用データベース、テーブル名、カラム名等が含まれる場合、攻撃者に対してSQLインジェクション攻撃を実行するための有益な情報を与えることになります。そのため、エラー情報はクライアントへ出力せずログファイル等で管理することが推奨されます。
  • アカウントへの適切な権限付与:アプリケーションがデータベースにアクセスする際には、命令文の実行に必要な必要最小限の権限を付与します。これにより、万が一SQLインジェクションが発生しても、被害を最小限に抑えることができます。

SQL文の組み立ては、データベースのセキュリティを維持する上で非常に重要です。セキュアなプラクティスを適用することで、データベースへの攻撃を防ぎつつ、アプリケーションのデータ操作を効率的かつ安全に行うことができます。

SQLインジェクションのテスト方法

SQLインジェクションの脆弱性(マルとバツのアイコンマーク)イメージ

システムにSQLインジェクションの脆弱性があるかどうかを調べる方法としては、入力フィールドに本来許可してはいけない文字列を設定した場合にWebアプリケーションがどう反応するか、といったことを観察し、SQLインジェクションの脆弱性の有無を診断するというやり方があります。この文字列を「診断文字列」と呼ぶことがあります。

企業のセキュリティ担当者をはじめ、SQLインジェクションの脆弱性に対する問題を理解し、社内で情報を共有し、適切な対策とることで、自組織がSQLインジェクション攻撃を受ける前に被害を未然に防ぐことが可能になるでしょう。

開発やリリース時点では脆弱性が存在しなかったとしても、Webサイトの機能追加や新しい攻撃手法の発見等によって、脆弱性は日々新たに生み出されていきます。こうした実情に対して有効なのは、Webアプリケーションの定期的なセキュリティ診断です。SQLインジェクションによるリスクを考えると、Webサイト運営者はぜひとも実施すべき対策といえるでしょう。

まとめ

SQLインジェクション攻撃は多くの企業やシステムのセキュリティ上の課題として存在しています。SQLインジェクションは、Webアプリケーションの脆弱性を突いて、不正なSQL文を挿入しデータベースを操作する技術です。主にSQL文の組み立て方法に問題があることで、情報の漏えいやデータの改ざんが可能となります。実際に、国内企業でも情報漏えい事例が発生しており、その影響は甚大です。対策として、プレースホルダの使用、エスケープ処理などが推奨されています。またSQLインジェクションの脆弱性を検出する方法として、定期的にセキュリティ診断を実施し、適切な対策を実施することで、Webアプリケーションのセキュリティを向上できます。

Security Report TOPに戻る
TOP-更新情報に戻る


資料ダウンロードボタン
年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
お問い合わせボタン
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像

クロスサイトスクリプティング(XSS)の脆弱性
-Webアプリケーションの脆弱性入門 1-

Share

クロスサイトスクリプティングはWebアプリケーションの脆弱性の1つです。この記事では、クロスサイトスクリプティングとは何か、その仕組みや種類、そしてそれに関連する脆弱性や攻撃手法について詳しく解説します。さらに、クロスサイトスクリプティングとクロスサイトリクエストフォージェリとの違いや、クロスサイトスクリプティング攻撃を防ぐための対策方法も紹介します。

Webアプリケーションの脆弱性入門

Webアプリケーションの脆弱性入門(3つのブロックにアイコンマーク)イメージ

脆弱性は、プログラムの不具合や設計ミスによって発生するセキュリティ上の欠陥です。Webアプリケーションに脆弱性が存在する場合、攻撃者がシステムに侵入し、機密情報を盗み出したり、サービスを乗っ取ったりするリスクがあります。Webアプリケーションの主な脆弱性にはSQLインジェクション、クロスサイトスクリプティング(XSS)、クロスサイトリクエストフォージェリ(CSRF)、セッション管理の不備、アクセス制御の不備があります。脆弱性が悪用されると、機密情報の漏洩、データの改ざん、サービスの停止や遅延、金銭的損失、企業の信頼喪失などの深刻な影響をもたらす可能性があります。対策方法としては、正しい権限管理の実施、定期的なセキュリティチェックの実施、最新のセキュリティパッチの適用などが挙げられます。これらの対策により、脆弱性の早期発見と修正が可能になり、攻撃のリスクを減らすことができます。企業のセキュリティ部門担当者は、社内の機密データや取引先の顧客情報等を守るためにも、脆弱性対策に取り組むことが重要です。

前回記事「Webアプリケーションの脆弱性入門」より

クロスサイトスクリプティング(XSS)とは

クロスサイトスクリプティングとは、動的にHTMLを生成するWebアプリケーションで、ユーザの操作を介して不正なスクリプトを実行させる(できる)事象を指します。

このクロスサイトスクリプティングの脆弱性を悪用した攻撃手法をクロスサイトスクリプティング攻撃と呼びます。まず悪意のある第三者が事前にターゲットのWebサイトに特定の文字列のスクリプトを入力値として挿入すると、そのWebサイトにアクセスしたユーザのブラウザ上で挿入したスクリプトが実行されます。これにより、第三者によってブラウザを不正に操作され、ユーザの個人情報が漏えいする、という仕組みになっています。

クロスサイトスクリプティング(XSS)の種類

クロスサイトスクリプティングの脆弱性には主に3つの種類があります。

  1. 反射型XSS…攻撃者がリクエストに混入させたスクリプトなどが、Webサーバからのレスポンスに含まれる形で実行されるもの
  2. 蓄積型XSS…攻撃者がWebサーバ上に何らかの方法でスクリプトを格納したうえで、被害者がアクセスすることでスクリプトが実行されるもの
  3. DOMベースXSS…Webサーバ側がスクリプトで動的にHTMLを生成する場合にスクリプトタグを生成してしまうことに起因し、ブラウザ側での処理の際に不正なスクリプトが実行されるもの

クロスサイトスクリプティング(XSS)とクロスサイトリクエストフォージェリ(CSRF)の違い

クロスサイトスクリプティング(XSS)とクロスサイトリクエストフォージェリ(CSRF)は、Webアプリケーションのセキュリティ脅威として知られていますが、その仕組みや対策には明確な違いがあります。クロスサイトスクリプティング攻撃の基本的な手法は、攻撃者がWebアプリケーションの脆弱性を悪用し、ターゲットのWebサイトに悪意のあるスクリプトを挿入し、ユーザがブラウザを閲覧する際にスクリプトが実行されるという仕組みです。主に出力の検証が不十分な場合に発生します。一方、クロスサイトリクエストフォージェリ(CSRF)は、ユーザがログインしている状態で、攻撃者が仕掛けた誘導URLをクリックさせることで、ユーザの意図しない操作を実行させる攻撃です。この攻撃は、セッション管理やトークンの処理が不適切な場合に主に発生します。

クロスサイトスクリプティングの脆弱性が発生する原因

クロスサイトスクリプティング(XSS)の脆弱性の主な原因は、出力の検証や処理が不十分であることです。悪意のある攻撃者が特定の文字列やスクリプトを入力し、その内容が未検証のままWebページに表示される場合、クロスサイトスクリプティング攻撃が実行されるリスクが高まります。特に、公開されている企業のWebサイトやアプリケーションで、ユーザからの入力値が適切に処理されず、そのままWebページへの出力処理される場合、情報の漏洩や不正な操作が可能となります。

クロスサイトスクリプティングの脆弱性による影響

脆弱性を放置した場合の影響は、情報の漏洩から不正な操作まで多岐にわたります。攻撃者が悪意のあるスクリプトを挿入することで、顧客の情報を搾取したり、企業の内部情報にアクセスしたりする可能性があります。

クロスサイトスクリプティング攻撃の手法と例

クロスサイトスクリプティング攻撃の手法は、攻撃者が悪意のあるスクリプトを入力し、その内容がそのままWebページへの出力処理に使用されることで、ユーザのブラウザ上でスクリプトが実行されるというものです。例えば、コメント欄や検索ボックスなど、ユーザからの入力を受け付ける部分にスクリプトを挿入することで、他のユーザのCookie情報等を搾取することが可能となります。

クロスサイトスクリプティングの脆弱性への対策

根本的な対策とその重要性

根本的な対策とその重要性(ブロックと紙飛行機)イメージ

クロスサイトスクリプティングの対策は、リクエストに不正な文字列が含まれていても、それをスクリプトとして機能させないことです。Webページに出力する要素に対して、スクリプト言語等において、その言語にとって特別な意味を持つ文字や記号を別の文字列に置き換える「エスケープ処理」を行います。

対策の重要性は、企業の信頼性や顧客情報の保護に直結しています。特に、自社のWebアプリケーションが公開されている場合、定期的なセキュリティ調査や対策の更新が不可欠です。最後に、社内での知識共有や外部の専門家との相談を通じて、最新の脅威や対策についての知識を更新し続けることが求められます。

WAFを活用したクロスサイトスクリプティングの防御方法

WAF(Webアプリケーションファイアウォール)は、Webアプリケーションへの様々な攻撃を検知し、防御する機能を持っています。通信をリアルタイムで監視し、攻撃と判断された通信を遮断することで、Webサイトの脆弱性が悪用されるのを防ぎます。クロスサイトスクリプティング攻撃やSQLインジェクション攻撃などには、Webアプリケーションへの入力値のチェックなどを行うWAFを用いた防御も考えられます。WAFの導入により、Webサイトのセキュリティレベルを向上させ、ユーザ情報の漏洩やサービスの停止を防げる可能性も高まります。ただしWAFを使った防御では、そもそもの脆弱性を解消するという本質的問題解決とはならない点に注意が必要です。

まとめ

クロスサイトスクリプティング攻撃の基本的な手法は、攻撃者がWebアプリケーションの脆弱性を悪用し、ターゲットのWebサイトに悪意のあるスクリプトを挿入し、ユーザがブラウザを閲覧する際にスクリプトが実行されるという仕組みです。クロスサイトスクリプティングの脆弱性の主な種類には「反射型」「蓄積型」「DOMベース」があり、それぞれ異なる攻撃方法が特徴です。また、XSSとクロスサイトリクエストフォージェリ(CSRF)は両方ともWebアプリケーションの脅威として知られていますが、攻撃の仕組みや対策が異なります。クロスサイトスクリプティングの脆弱性は、出力の検証が不十分な場合に発生し、情報の漏洩や不正な操作が可能となるリスクがあります。対策としては、出力の検証、エスケープ処理などが求められます。

基本的な対策は、Webサイトにおいて、セキュリティ診断によるチェックを定期的に実施してリスクを可視化し、適切なセキュリティ対策を実施することにより、脅威から自社や顧客の情報を保護することとなります。また、企業や組織は、セキュリティ対策の実施や知識の更新をする必要があります。Webアプリケーションのセキュリティを向上させるための知識として、また、日々の開発や運用の中での参考として、本記事を活用してください。

Security Report TOPに戻る
TOP-更新情報に戻る


資料ダウンロードボタン
年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
お問い合わせボタン
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像

もし不正アクセスされたら?すぐにとるべき対処法

Share

不正アクセスとは、アクセス制御機能を持つWebサービスやサーバ等に、正当なアクセス権限を持たない者が侵入する行為、およびそうした侵入を助長する行為を指します。あなたの会社で不正アクセスが生じた場合、その対応を誤ったり、対処が遅れたりすることで、事業への損害、評判の低下といった重大な事態につながる恐れがあります。本稿では、不正アクセスの主な手口を紹介し、被害を防ぐための対策、実際に被害にあってしまった場合の対処方法を解説します。

「不正アクセス」とは

「不正アクセス」と聞くと、本来その権限を持たない者が、サーバや情報システムの内部へ侵入を行う行為をイメージしますが、厳密にどのような行為を指すのかは、1999年に公布(最新改正は2013年)された「不正アクセス行為の禁止等に関する法律(不正アクセス禁止法)」で規定されています。同法では、アクセス制御機能を持つWebサービスやサーバ等に、正当なアクセス権限を持たない者が侵入する行為、およびそうした侵入を助長する行為を指します。

不正アクセス禁止法では、単に他人のIDやパスワード(「識別符号」と呼ばれる)を無許可で使用する行為だけでなく、他の情報を利用してWebサービスやサーバなどのシステム(「特定電子計算機」と定義されている)を操作する行為も「不正」と定義されています。この点には特に留意する必要があります。

また、不正アクセスを助長する行為としてID・パスワードの不正取得が禁じられているほか、
ID・パスワードの不正な保管行為も同法に抵触します。違反した場合は、3年以下の懲役又は100万円以下の罰金が処せられます。

「不正アクセス禁止法」の定義とリスク

なお、不正アクセス禁止法の定義に関しては、アクセスが事前の「承諾」を得ていなければ、
その行為は不正とみなされる点にも注意が必要です。例えば、システムのセキュリティ診断において、株式会社ブロードバンドセキュリティが運営するSQAT.jpは、Webアプリケーションや社内ネットワークの脆弱性診断やペネトレーションテストを行う際、システムを管理する企業からアクセスに対する承諾をいただいたうえで実施しています。

脆弱性診断やペネトレーションテストを行うツールは多数存在しており、だれでも無料で利用すること可能です。しかし、これらのツールの使用には慎重になる必要があります。もしもセキュリティ診断ツールを事前承諾なしに他社のシステムに使用した場合、たとえそれが善意に基づくものであったとしても、不正アクセス禁止法に抵触する可能性があり、刑事罰の対象となることがあります。

万が一あなたの会社の技術者が、運用管理や保守、攻撃耐性の確認等の目的で他社のシステムを対象に、セキュリティ診断ツールを使用している場合には、適切な手続きを踏む必要があることを理解することが重要です。

不正アクセスの手口と被害例

では、そもそも悪意を持った、攻撃者による不正アクセスの手口にはどのようなものがあるのでしょう。典型的なのは、「盗んだIDとパスワード、あるいは推測したパスワードを使って、システムに不正にログインする」というものです。ID・パスワードの組み合わせを総当り的に試してログインを図る「ブルートフォース攻撃」、辞書にある語句を利用する「辞書攻撃」、不正に入手したログイン情報を利用する「パスワードリスト攻撃」などが知られています。

中でも近年特に話題を集めているのは「パスワードリスト攻撃」です。背景には、数十万~数億件規模のID・パスワードがセットで売買されていたり、インターネット上に公開されていたりする事態があちこちで確認されており、攻撃者が不正アクセスのための情報を容易に手に入れやすくなっている状況があります。また、もし複数のシステムに対して同じID・パスワードが使いまわされている場合、1件の情報を入手することで複数のシステムへのログインが可能になるという点も、攻撃者を引き付けています。

この2020年8月には、日本企業約40社において、VPN(Virtual Private Network)のID・パスワードが盗まれ、インターネットに公開されるという事件が発生しました。VPNは、本来、セキュリティを確保したうえで企業ネットワークへアクセスするために使われる「安全性の高い入口」です。そこにログインするためのID・パスワードが盗まれることが極めて大きな被害につながり得ること、裏を返せば、攻撃者にとって極めて大きな利得につながり得ることは、論をまたないでしょう。

もちろん、不正アクセスのための攻撃は、ID・パスワードを狙ったものだけではありません。ID・パスワードの入手につながる脆弱性も格好の標的になります。例えば、Webアプリケーションや公開Webサーバの脆弱性はその最たるものです。攻撃者はしばしばSQLインジェクションの脆弱性クロスサイトスクリプティングの脆弱性などを悪用して個人情報を不正に入手し、ID・パスワードを特定してシステムへの侵入を試みます。

ID・パスワードの保護に加え、結果としてID・パスワードの特定につながる脆弱性を放置しないことが、不正アクセスを防ぐためには最重要といえるでしょう。

不正アクセスされたかどうか調べる方法 警告とサイン

「あなたの会社が不正アクセスされています」などの警告は、突然きます。

実際に不正アクセスが行われた場合でも、自社内では気づくことは少なく、外部からの警告によって初めて認識する場合が多いです。例えば、クレジットカード情報が盗まれた場合、カード会社から直接情報漏えいや不正利用の兆候がある等の連絡がきます。また、サイバー犯罪の捜査過程で、あなたの会社に不正アクセスが行われていることが発覚した場合、さらには、それが他の会社での被害につながっていることが発覚した場合には、警察やセキュリティ事故発生時の調整を行う機関など(一般社団法人 JPCERT コーディネーションセンター等)から連絡がくることもあります。

なお、サイバー攻撃が起こることを想定した組織体制がない場合、やってきた連絡が正当なものであるかの判断自体がつかない場合もあるかもしれません。実在する機関を装い、虚偽の不正アクセス事案を連絡する犯罪が発生する可能性も想定し、連絡の真偽は必ず確認するようにしましょう。

不正アクセスされたらすぐにとるべき対応

以前の記事「情報漏えいの原因と予防するための対策」では、「情報漏えい事故の報告書と収束までの流れ」として、事故発生時の報告書作成の注意点について解説しました。今回は、不正アクセスされた直後の対応や、真相究明を行う社内の組織体制構築でのポイントをご紹介します。

不正アクセス事故対応のチーム作り

セキュリティ事故対応を行う専門部署であるCSIRTが社内にない場合は、事故対応チームを速やかに組織しなければなりません。どのような編成を想定すべきか、参考として、モデル的な図解を下記に示します。

https://www.nca.gr.jp/activity/imgs/recruit-hr20170313.pdf より当社作成

もちろん、セキュリティ専門企業でない限り、ほとんどの組織にとってはここまでの編成をとることは合理的とはいえません。既存の組織・人員の状況に応じて、下記のような事項をポイントにチームを編成し、自組織の業種業態、慣習、人材、文化等を踏まえながら継続的にチームの発展・強化に取り組むことをお勧めします。

  • CSIRTがインシデント発生時における最終判断(システム停止も含む)までを担う場合は、責任を担う経営陣を参画させる。
  • 現体制におけるキーマンを特定し、そのキーマンを必ずメンバーに加える。
  • 現体制で実施できている役割がないか確認する(「実施できている役割は踏襲する」という判断も重要)。
  • 技術的な知識、経験、人材を持たない場合は、最低限CSIRTに必要な機能(=有事の報告、伝達を的確に行い、意思決定者へ早期伝達すること)を有する、「コーディネーション機能に重点を置いたCSIRT」を目指す。

取引先、関係者、個人情報保護委員会への連絡

あなたの会社のステークホルダーに対して、現時点で判明している事故の事実関係を連絡します。規制業種の場合は所轄官庁への報告義務があります。なお、個人情報保護法では、個人情報漏えい等の場合、本人通知や監督官庁への報告を努力義務としていますが、2022年に施行予定の改正個人情報保護法では一定範囲においてこれが義務化されるため注意が必要です。

不正アクセスの原因究明

続いて取り組むべきは、原因究明です。不正アクセスを受けた場合、侵入経路の特定や証拠保全などは自社でどこまで可能なのでしょう。監視やSOC(セキュリティオペレーションセンター)サービスの契約などによって保存してあるログを解析可能な場合、「不正アクセスの発端と展開過程がわかるから、自経路の解析や被害範囲の特定もできる」と考えてしまうかもしれません。しかし、火事場のように混乱する事故発生直後は、日頃から備えをしていた企業ですら、一刻を争う状況下で解析すべき情報の膨大さに圧倒されるものです。また、刑事事件として告発を行う場合や損害賠償請求を行う場合には証拠保全が必要となりますが、混乱し、慣れない状況下で証拠保全を念頭に調査や対応を行うのは大きな負荷となります。

さらに、「サイバー攻撃を行う5つの主体と5つの目的」で解説した「APT攻撃」が行われるケースも想定しておく必要があります。APTでは、侵入の痕跡を消されることが少なくなく、そのような場合、侵入経路の特定や証拠保存は難しくなります。しかし、日々ログの収集を行っていたとしたら、その痕跡からデジタルフォレンジックを実施することが可能です。

不正アクセス防止のための日常的なセキュリティ対策

日頃からWebサービスやサーバのセキュリティ強化に取り組むことで、不正アクセスの発生を抑え、万が一不正アクセスが発生した場合にも早期あるいは即時に把握することが可能になります。

例えば、サーバに対するアクセスログを収集・保存し、同一IPからの複数回ログインに対するアラートをルール化する等の設定をしておくことで、誰かが不正ログインを行っていることを早期に知り、ブロックするなどの対処を行えるようになります。

不正アクセス対策としてのセキュリティ企業との連携

不正アクセス事故に備えるためには、日常的なアクセスログの収集や分析、SOCサービスの契約、さらにはCSIRT組織の設置など、日頃からの備えが重要です。不正アクセスを未然に防ぐと同時に、万一発生した場合の対応力を高める役割を果たします。

そして、もう一つ有効な取り組みは、信頼できるセキュリティ企業との関係構築です。「かかりつけ医」のセキュリティ企業を持つことは、事故発生時に迅速かつ効果的に対応できる可能性があります。それまで取引が一度もなかったセキュリティ企業に、事故が発生した際に初めて調査や対応を依頼したとしたらどうでしょう。社内のネットワーク構成、稼働するサービス、重要情報がどこにどれだけあるのか、関係会社や取引先の情報などを一から説明する必要が生じ、対応に時間がかかってしまいます。わずかな時間も惜しまれるインシデント対応の現場では大きなリスクとなります。

脆弱性診断やインシデント対応などのセキュリティサービスを提供する企業に依頼をする際には、その企業が単に技術力があるかどうかだけでなく、信頼できる企業かどうか、いざというときにサポートしてくれるかどうかを慎重に考慮して選ぶことが重要です。提供サービス体制も幅広く調べたうえで、長期的な観点から利用を検討することをおすすめします。

サイバーインシデント緊急対応

突然の大規模攻撃や情報漏えいの懸念等、緊急事態もしくはその可能性が発生した場合は、BBSecにご相談ください。セキュリティのスペシャリストが、御社システムの状況把握、防御、そして事後対策をトータルにサポートさせていただきます。

サイバーセキュリティ緊急対応電話受付ボタン

まとめ

  • 不正アクセスとは、アクセス制御機能を持つWebサービスやサーバ等に、正当なアクセス権限を持たない者が侵入する行為、およびそうした侵入を助長する行為を指します。不正アクセス禁止法の違反者は、3年以下の懲役又は100万円以下の罰金に処せられます。
  • たとえ悪意がなくても、セキュリティ診断ツールなどを使用することで不正アクセス禁止法に抵触することがあります。
  • ID・パスワードの管理だけでなくWebアプリケーションやサーバの脆弱性管理も重要です。
  • 不正アクセスが実際に起こってしまったら、早急に対応チームを組織し、ステークホルダーへの連絡や原因究明を行います。
  • いざ不正アクセス事故が起きたときの対応力を高めるには、日頃からのアクセスログ収集や分析、SOCサービスの契約、CSIRT組織の設置、「かかりつけ」セキュリティ企業との関係構築などが有効です。

Security Report TOPに戻る
TOP-更新情報に戻る


資料ダウンロードボタン
年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
お問い合わせボタン
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像

ペネトレーションテストとは?

Share

サイバー攻撃の数は年々増加し続けており、その手口は高度化・巧妙化しています。自組織がサイバー攻撃の被害に遭わないためにも、特に企業の経営者においては、システムのセキュリティリスクの状態を把握や適切なセキュリティ対策の実施などが重要課題となっています。ペネトレーションテストでは、システムに存在するリスクが実際に悪用可能か確認することが可能です。本記事では、ペネトレーションテストの基本とその重要性、脆弱性診断との違い、ペネトレーションテスト会社の選び方について解説します。

ペネトレーションテストとは

ペネトレーションテストとは、主に企業ネットワークや、Webアプリケーションなどに不正に侵入することができるかどうかをテストすることです。英語の「 penetration 」には「貫通」、「 penetrate 」には「貫く」「見抜く」などの意味があります。「ペンテスト」と略されたり、「侵入テスト」と呼ばれることもあります。

サイバー攻撃者はまず不正侵入し、その後、情報を盗んだり、バックドアを仕掛けたり、あるいは破壊工作などを行います。それらすべての端緒となる不正侵入を許すかどうかを調べるのが、ペネトレーションテストの役割です。

ペネトレーションテストは、システムやネットワークに対する不正侵入や攻撃が可能かどうかを確認するためのテスト手法です。このテストは、単に脆弱性を見つけるだけではなく、それらが実際に悪用される可能性があるかどうかを判断することに重点を置いています。これにより、システムのセキュリティ状態の把握や実装されているセキュリティ対策の有効性を検証することができます。

ペネトレーションテストが必要な業界と業種

ペネトレーションテストは、特にセキュリティが重要視される業界や業種で必要とされます。
金融、医療、政府機関、ITサービスなど、機密情報を扱うすべての業界で、ペネトレーションテストの実施は必要不可欠です。これらの業界では、データ漏洩やシステム障害が重大な結果を招く可能性があるため、定期的なテストが推奨されます。

ペネトレーションテストが必要な3つの業種

脆弱性診断の結果見つかった脆弱性を悪用して、攻撃が本当に成功するのかを検証するために、ペネトレーションテストが実施されることがあります。あくまで一般論ですが、ペネトレーションテストが必要な業種や事業として、以下の3つが挙げられます。

1.生命・生活に直接影響を与える事業やサービス
第一に、生命や生活に影響を及ぼす業種が挙げられます。具体的には、水道・電気・ガス・道路・交通等の社会インフラや、病院、ビル管理、工場のシステムなどです。

2.資産に影響を与える個人情報を扱うサービス
個人情報を保有する事業やサービスにも、ペネトレーションテストが必要な場合が多いでしょう。とりわけ銀行や証券会社、クレジットカード、仮想通貨取引所などの金融、大規模なWebサービスやECサイト、住民データを扱う自治体や官公庁などが挙げられます。

3.事業継続に影響を与える機密情報を扱うシステム
重要な営業機密や知的財産を保有する企業もペネトレーションテストの実施が望ましいといえるでしょう。

特に、クローズモデルの知財戦略に基づいて特許を取得しない方針の企業が、サイバー攻撃によって機密情報を盗まれ、他の企業に国内外で特許申請・取得された場合、事業継続に関わる重大な影響が懸念されます。

また、データ自体に価値はあるが、特許法や不正競争防止法では保護対象とならないようなデータについては、セキュリティ対策によって保護を図る必要があります。

脆弱性診断との違い

ペネトレーションテストは、脆弱性診断とは異なるアプローチを取ります。

脆弱性診断はシステムの脆弱性を特定することに焦点を当てていますが、ペネトレーションテストはその脆弱性を利用して実際に攻撃を試み、システムのセキュリティを実際に検証します。この違いは、単にリスクを特定するのではなく、そのリスクが実際にどのように悪用され得るかを理解することにあります。

ペネトレーションテストと脆弱性診断の違いと使い分け

ペネトレーションテストと脆弱性診断には共通する部分があるため、違いがよく理解されていません。特によく見られる勘違いは、「ペネトレーションテストをやりたい」という要望だったものの、ヒアリングしてみると、実際にはペネトレーションテストでなく脆弱性診断が必要であった、というケースです。

以下に「対象」「目的」「範囲」、必要な「期間」の4つの観点から、ペネトレーションテストと脆弱性診断の違いを示します。

ペネトレーションテスト脆弱性診断
対象脆弱性診断同様、ネットワークやWebアプリケーションを対象にしますが、ときに警備員をあざむいて建物に侵入できるかどうか等の物理的侵入テストが行われることもあります。ネットワークやWebアプリケーションが対象となります。
目的脆弱性診断は脆弱性を発見して報告することが主な業務ですが、ペネトレーションテストは脆弱性をもとに不正アクセスし、ネットワーク等に侵入することが目的となります。 脆弱性を検知・検出すること。
範囲広い範囲の網羅性を重視する脆弱性診断と異なり、ペネトレーションテストは侵入することが目的であるため、脆弱性診断とは反対に、狭く深く、ときに針の穴のような侵入できる一点を探します。 広く網羅的に脆弱性の有無を探します。
期間ペネトレーションテストは、とにかく侵入が成功するまでトライし続ける作業であるため、脆弱性診断よりも長い期間を要する場合が少なくありません。ただし、一般論として、優秀なペネトレーションテストサービスであればあるほど、短い期間で侵入が成功します。 探すものが事前に決まっているためペネトレーションテストよりも通常は短い期間で完了します。

ペネトレーションテストの手順

ペネトレーションテストサービスは提供する企業によってそれぞれ個性がありますが、大きく分けると下記の手順で実施されます。

Step1.ヒアリング

目的に応じ、たとえば「顧客データベース」など、ペネトレーションテストを行う対象を決定します。そして「顧客データベース」が外部から攻撃されるのか、あるいは内部犯行なのか、想定する攻撃シナリオを作成し、最後に、ペネトレーションテストを行う期間を決定します。

Step2.実施

対象によってさまざまな実施方法があります。公開されているWebアプリケーションであればリモートから実施することができます。内部犯行の危険性をテストする場合ならオフィス内から実施することもあるでしょう。

Step3.完了

「侵入に成功したとき」あるいは反対に、「侵入に成功できないまま期間が終了したとき」のいずれかをもってペネトレーションテストは完了します。どちらの結果にも意味があります。侵入に成功した場合は、その報告を受けて防御力を高める必要性を認識することになり、侵入に失敗した場合は、一定の防御力を保持できている目安となります。

Step4.報告

ペネトレーションテスト事業者からの報告書提出や報告会が行われます。具体的にどういうプロセスで、どういう技術を用いて侵入し、重要なデータがどこまで閲覧可能だったのか、どんなことができてしまう危険性があったのか、など管理者の気にかかることが詳細に報告されます。


ペネトレーションテスト 日本と海外の違い

海外では本番環境で稼働するシステムに対して、直接攻撃を行うような荒っぽいペネトレーションテストが行われることもありますが、日本国内ではそういったケースは多くありません。日本では業務やサービスの運用への影響を回避しつつ、安全に配慮しながら設計・実施されるのが主流です。

ペネトレーションテストを実施する際の会社の選び方

ペネトレーションテストを実施する際には、専門知識と経験を持つ信頼できる会社を選ぶことが重要です。セキュリティテストの専門家であること、業界の最新の脅威に精通していること、そして過去の成功事例を持つことが、良いサービスプロバイダーの特徴です。また、テストの範囲、方法、報告の詳細さなど、サービスの質にも注意を払う必要があります。

ペネトレーションテストは経験とセンスが求められる仕事であるため、優良事業者選びはとても重要です。前述したとおり「優秀なペネトレーションテストサービスであればあるほど、短い期間でテストが終了(=侵入に成功)」します。ペネトレーションテストの見積額はエンジニアの拘束時間とも相関しますので、予算にもかかわってきます。大きく以下の3つのポイントを、いいペネトレーションテスト会社選びの参考にしてください。

1.丁寧なヒアリングにもとづいてシナリオを考えてくれるか

システム構成や業務手順、ときには組織構成など、実際のサイバー攻撃を行う際に参照するとされる、さまざまな情報をもとにして、実施するサービスの適用範囲、留意事項、制限などを聞き、顧客の目的や要望、要件に沿ったペネトレーションテストの攻撃シナリオを考えてくれる会社を選びましょう。

2.技術者の経験と勘、クリエイティビティ

ペネトレーションテストはときに針の穴を通すような隙間を見つけ出して侵入を成功させる業務です。技術者のこれまでの経験、保有資格などを確かめ、技術者の層が厚い会社を選びましょう。

3.診断実績

過去のペネトレーションテストの実施社数や件数、リピート社数なども、いいペネトレーションテスト会社選びの参考になります。

ペネトレーションテストのツール

ここまで述べてきたとおりペネトレーションテストとは、丁寧なヒアリングのもとで作成した攻撃シナリオに基づいて、経験豊かな技術者が実施するクリエイティブな手作業です。ペネトレーションテストをすべて自動で行うツールは存在しません。

ただし、ペネトレーションテストを行う技術者が、いわば「工具」「道具箱」のように用いるツールは数多くあります。代表的なものとして、オープンソースプロジェクトである Metasploit が提供する、さまざまなツール群が挙げられます。

セキュリティ企業に依頼せずに、自分でMetasploit が提供するツールを用いて、公開されている脆弱性などを用いて攻撃を実行することは可能です。しかし、その結果を読み解いたり、優先順位をつけたりするノウハウには経験と知見が必要とされます。

また、自宅に置いたサーバに研究目的でツールを走らせるような場合でも、不用意にこうしたツールを使用したり、不適切な方法で攻撃用のエクスプロイトを取得・保管したりすると「不正アクセス行為の禁止等に関する法律」「不正指令電磁的記録に関する罪(刑法刑法168条の2及び168条の3)」等にも触れる犯罪となる危険性もあることを忘れてはいけません。

ペネトレーションテストの料金相場

ペネトレーションテストの料金は、対象とする範囲や、攻撃シナリオによって変動します。あくまで一般的な相場として「脆弱性診断の1.5倍から2倍」程度、金額として数十万円から数千万円の開きがあります。

まとめ

・ペネトレーションテストとは、システム・ネットワークへの不正侵入や攻撃が成立するか確
 認するテスト手法の一つ
・特にセキュリティが重要視される業界や業種、金融、医療、政府機関、ITサービス業界など

 で、ペネトレーションテストの実施が必要不可欠
・脆弱性の有無を判定する脆弱性診断と異なり、ペネトレーションテストでは脆弱性自体を見

 つけることよりも不正侵入や攻撃が成立するかどうかの判断を優先する
・事前ヒアリングが丁寧で、優秀な技術者が在籍する、診断実績の多い会社を探す

Security Report TOPに戻る
TOP-更新情報に戻る


資料ダウンロードボタン
年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
お問い合わせボタン
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像

ウェビナー抜粋動画

Share

サービス紹介デモ動画

BBSecで提供しているサービスをご紹介するデモ動画を公開しています。



デイリー自動脆弱性診断サムネ

デイリー自動脆弱性診断-Cracker Probing-Eyes®-
再生時間:02:58
関連情報:デイリー自動脆弱性診断-Cracker Probing-Eyes®

【資料ダウンロード】


ランサムウェア感染リスク可視化サービスサムネ

ランサムウェア感染リスク可視化サービス
再生時間:05:41
関連情報:ランサムウェア対策総点検

過去ウェビナー抜粋動画

過去ご好評いただいたウェビナーの抜粋動画を無料で公開しています。



自動車産業・製造業におけるセキュリティ対策のポイント-サプライチェーン攻撃の手口と対策方法-サムネ

自動車産業・製造業におけるセキュリティ対策のポイント
-サプライチェーン攻撃の手口と対策方法-

再生時間:04:56


DevSecOpsを実現!-ソースコード診断によるセキュリティ対策のすすめサムネ

DevSecOpsを実現!
-ソースコード診断によるセキュリティ対策のすすめ-

再生時間:05:29


Webアプリケーションの脆弱性対策-攻撃者はどのように攻撃するのか-サムネ

Webアプリケーションの脆弱性対策
-攻撃者はどのように攻撃するのか-

再生時間:05:42


今さら聞けない!ペネトレーションテストあれこれサムネ

今さら聞けない!ペネトレーションテストあれこれ
再生時間:05:20


予防で差がつく!脆弱性診断の話サムネ

予防で差がつく!脆弱性診断の話
再生時間:04:57


今さら聞けない!PCI DSSで求められる脆弱性診断あれこれサムネ

今さら聞けない!PCI DSSで求められる脆弱性診断あれこれ
再生時間:05:00


知っておきたいIPA『情報セキュリティ10大脅威 2023』サムネ

知っておきたいIPA『情報セキュリティ10大脅威 2023』
~セキュリティ診断による予防的コントロール~

再生時間:05:00


今さら聞けない!ソースコード診断あれこれサムネ

今さら聞けない!ソースコード診断あれこれ
再生時間:05:00


今さら聞けない!クラウドセキュリティあれこれサムネ

今さら聞けない!クラウドセキュリティあれこれ
再生時間:05:00


リスクを可視化するランサムウェア対策総点検サムネ

リスクを可視化するランサムウェア対策総点検
再生時間:02:04
※2021年度ウェビナー資料

【資料ダウンロード】


“他山の石”の拾い方 -セキュリティのトレンドをキャッチアップ-サムネ

“他山の石”の拾い方 -セキュリティのトレンドをキャッチアップ-
再生時間:06:26
※2019年度セミナー資料

【資料ダウンロード】


クラウド環境におけるセキュリティの重要性サムネ

クラウド環境におけるセキュリティの重要性
再生時間:05:00
※2019年度セミナー資料

【資料ダウンロード】

TOP-更新情報に戻る


年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像

Webアプリケーションの脆弱性入門

Share
人がアプリケーションを持っているイラスト

Webアプリケーションは私たちの日常生活に欠かせない存在となっています。しかし、それらのWebアプリケーションが攻撃者からの脅威にさらされていることをご存知でしょうか?Webアプリケーションに脆弱性が存在すると、悪意のある第三者によって個人情報や企業の機密情報が漏洩するリスクが生じます。この記事では、Webアプリケーションの脆弱性の種類について解説します。

脆弱性とは

脆弱性とは(ポイントマークとその周りに人がいる)イメージ

脆弱性とは、プログラムの不具合や設計上のミス等によるバグが原因となって発生したセキュリティ上の欠陥や弱点のことを指します。Webアプリケーションに脆弱性が存在する場合、攻撃者がシステムに侵入し、機密情報を盗み出したり、サービスを乗っ取ったりするリスクが生じます。企業はWebアプリケーションの脆弱性を理解し、それに対処するための適切な対策を講じる必要があります。

脆弱性の種類

脆弱性にはさまざまな種類があります。以下に代表的な例を挙げます。

1. SQLインジェクション

データベースを使って情報を処理するWebアプリケーションは、その多くがユーザからの入力値をもとにデータベースへの命令文を構成しています。SQLインジェクションは、攻撃者がWebフォームなどの入力欄に特定のコードを入れることで不正な命令文を構成し、データベースを不正利用できてしまう脆弱性です。これを悪用することで、例えば、データベースの情報を盗んだり、改ざんしたり、消去したりできる可能性があります。

2. クロスサイトスクリプティング(XSS)

クロスサイトスクリプティング(XSS)は、ネットバンキングや掲示板のように、ユーザから入力された値を処理して出力するWebページに攻撃者が悪意のあるスクリプトを埋め込むことで、Webページを閲覧したユーザのWebブラウザ上でスクリプトを実行させることができる脆弱性です。これを悪用されると、ユーザが意図しない情報の送信や表示ページの改ざんなどのリスクが発生します。

3. クロスサイトリクエストフォージェリ(CSRF)

クロスサイトリクエストフォージェリ(CSRF)は、攻撃者が罠として用意した偽サイトを用いてリンクや画像をクリックさせることで、ユーザが意図していないリクエストを強制的に行わせることができる脆弱性です。例えば、SNSで「いいね!」をする、銀行の振込操作など、被害者がログインしているWebサービスの操作を攻撃者が悪用することが可能です。

4. セッション管理の不備

Webアプリケーションの中には、セッションID(ユーザを識別するための情報)を発行し、セッション管理を行うものがあります。このセッション管理に不備があることで、セッションIDを固定化できたり、有効なセッションIDが推測可能だったりすると、セッションハイジャックと呼ばれる攻撃が成立する危険性があります。これにより、攻撃者が本来のユーザになりすまして権利を行使することで、プライベートな情報の閲覧や、設定の変更などが行われる可能性があります。

5. アクセス制御の不備

Webアプリケーションにおいて、本来付与されている権限の範囲内でのみ動作するような制御が実装されていない問題を指します。例えば、一般ユーザとしてログインした際に管理者としての権利を行使できてしまう権限昇格、パラメータを操作することで、本来制限された領域外のファイルやディレクトリにアクセスすることが可能となるパストラバーサルなどです。不正アクセスや意図しない情報の公開をはじめとした、様々なリスクが生じます。

脆弱性を悪用した攻撃による影響

脆弱性が悪用されると、企業に深刻な影響が及ぶ恐れがあります。脆弱性が引き起こす可能性のある影響の例を、以下に示します。

機密情報の漏洩

攻撃者は、脆弱性を利用して機密情報を盗み出すことができます。クレジットカード情報や個人情報など、大切な情報が漏洩することで、企業の信頼性に係る問題や法的な問題が発生する可能性があります。

データの改ざん

脆弱なWebアプリケーションは、攻撃者によってデータの改ざんが行われる可能性があります。データの改ざんによって、Webアプリケーションの正確性が損なわれたり、信頼性が低下したりする可能性があります。

サービスの停止または遅延

脆弱性を悪用されると、サービスの停止、遅延、またはデータベースの消去といった、システム全体に影響が及ぶ被害を受ける恐れがあり、企業のビジネス活動に重大な影響が生じる可能性があります。

金銭的な損失

脆弱性のあるWebアプリケーションは、企業にとって金銭的な損失をもたらす可能性があります。攻撃者による不正アクセスでデータが盗難された結果、企業に損害賠償責任が生じる場合があります。

企業の信頼喪失

セキュリティに関する問題が公になると、企業の評判に悪影響を与える可能性があります。顧客やパートナーからの信頼を失うことは、企業にとって非常に重大な損失です。

脆弱性対策の方法

脆弱性の悪用を防ぐためには、以下のような対策が考えられます。

正しい権限管理の実施

ユーザには場面に応じた必要最小限の権限のみ付与することが推奨されます。また、不要な機能やリソースへのアクセスを制限することも脆弱性を軽減させるポイントとなります。

定期的なセキュリティチェックの実施

定期的なセキュリティチェックの実施(セキュリティとパソコンの周りに人)イメージ

Webアプリケーションに対しては、機能追加などのシステム改修時はもちろんのこと、定期的なセキュリティチェックを行うことが重要です。脆弱性スキャンやペネトレーションテストなどの手法を活用し、問題を早期に発見して修正することが大切です。

最新のセキュリティパッチの適用

Webアプリケーションを開発・運用する際には、使用しているフレームワークやライブラリの最新のセキュリティパッチを適用することが必要です。これにより、既知の脆弱性やセキュリティ上の問題を解消することができます。

まとめ

脆弱性のあるWebアプリケーションは、攻撃の潜在的なターゲットになります。セキュリティ対策を徹底し、脆弱性の早期発見と修正を行うことが重要です。また、さまざまな対策手法やセキュリティツールを活用し、脆弱性を作り込まないセキュアな開発環境作りに取り組んでください。企業のデータや顧客の個人情報を守るためにも、脆弱性対策は欠かせません。今回の記事がお役に立てれば幸いです。

セキュリティ診断サービスのサムネ

年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像

安全なスマホ利用を目指して
-学生必見!8つのセキュリティ対策とは-

Share
画面に顔が描かれたスマホが剣と盾を持っているイラスト

スマホは私たちの日常生活に欠かせない存在になっています。SNS、友達や親との連絡、勉強、エンターテインメント、ニュースのチェック、ゲーム、さらにはショッピングや支払いまで、さまざまな活動がスマホ1台でできるようになりました。その一方で、スマホの便利さは悪意ある人々にも利用されています。そこで、セキュリティ対策が重要になってきます。ここでは、スマホのセキュリティ対策について解説します。個人情報やプライバシーの保護、オンラインの脅威から身を守る方法を学びましょう。

スマホのセキュリティ対策の必要性とは

まず、なぜスマホのセキュリティ対策が必要なのでしょう?
スマホは便利なツールですが、危険も存在します。

主に以下の3つのリスクが挙げられます。

スマホの紛失または盗まれるリスク

スマホや財布などの忘れ物の入った箱のイメージ

スマホには、持ち主やその知人の名前や住所、連絡先などの個人情報が保存されています。万が一スマホが盗まれたり、紛失したりした場合、その情報が悪意のある人の手に渡る可能性があります。そのことで、身に覚えのない買い物やプライバシーの侵害といった被害につながる可能性があります。

ウイルスが仕込まれるリスク

サイバー攻撃者などによって、ウイルスやスパイウェアといった悪意あるソフトウェア(マルウェア)が、あなたのスマホに仕込まれてしまった場合、個人情報を盗み取られたり、データを破壊されたりする可能性があります。

サイバー攻撃などによる個人情報漏洩リスク

個人情報が漏洩してしまって焦る様子の男性のイメージ

スマホを使用してネット上で買い物をする場合や、オンラインバンキングを利用する場合、サイバー攻撃によって個人情報や銀行口座の情報がハッカーによって盗まれてしまう可能性があります。

スマホには個人的な情報、例えば電話番号やメールアドレス、写真、そしてアプリのログイン情報などが保存されています。こうした情報が悪意ある人々に盗まれると、あなた自身や友人や家族を巻き込んだトラブルにつながる可能性があります。そのため、スマホのセキュリティ対策は必要です。では、情報漏洩などの被害から身を守るためには、何をすれば良いのでしょうか。

スマホに必要な8つのセキュリティ対策

1.スマホのパスワードおよびロックの設定を行う

指紋認証とスマホのイメージ

スマホのセキュリティを強化する最初のステップは、パスワードを設定することです。パスワードには、他人があなたのスマホにアクセスできないようにするために、強力なパスワードを選びましょう。また、他の人に知られないようにしましょう。それぞれのアカウントごとに違うパスワードを設定し、それらを定期的に更新することが推奨されます。パスワード管理アプリというものを利用すれば、複数のパスワードを安全に管理することが可能です。また、顔認証、指紋認証、パスコードやパターンなどのロックを設定して、自分以外の人がスマホを操作できないようにしましょう。

安全なパスワードとは、他人に推測されにくく、ツールなどの機械的な処理で割り出しにくいものを言います。安全なパスワードの作成条件としては、以下のようなものがあります。

(1) 名前などの個人情報からは推測できないこと

(2) 英単語などをそのまま使用していないこと

(3) アルファベットと数字が混在していること

(4) 適切な長さの文字列であること

(5) 類推しやすい並び方やその安易な組合せにしないこと

引用元:安全なパスワード管理(総務省)https://www.soumu.go.jp/main_sosiki/joho_tsusin/security/business/staff/01.html

2.不審なアプリやリンクに注意する

スマホには多くのアプリがありますが、安全であると信頼できないサイトやSMSなどからのアプリをダウンロードしないようにしましょう。公式のアプリストア(Google PlayやApp Store)からのみアプリをダウンロードすることをお勧めします。また、メッセージやメールで届いたリンクを開く前に、送信元が本当に信頼できるかどうかを確認しましょう。フィッシング詐欺(※)やマルウェアから身を守るために、注意深く行動しましょう。

フィッシングサイトのイメージ(偽サイトと釣り竿)

※フィッシング詐欺とは、悪意のある攻撃者が信頼性のある組織のふりをして個人情報を盗もうとする行為です。これは普通、メールやメッセージを通じて行われます。その内容は、あなたのパスワードをリセットするためのリンクであったり、重要な通知があるので見てほしいといった内容であったりします。こうしたリンクをクリックすると、あなたの情報が盗まれる危険性があります。また、見知らぬ番号からの電話にも警戒しましょう。特に、個人情報を求めるような場合には注意が必要です。

3.OSやアプリを定期的にアップデートする

スマホのOS(オペレーティングシステム)やアプリのアップデートは重要です。これらのアップデートは新機能の追加だけではなく、セキュリティの脆弱性を修正するためのものであることも多いため、新たな脅威から守るためにも、定期的に更新を実施することを推奨します。

4.Wi-Fiの安全性を確認する

公衆wifiを見つけた笑顔の男性のイメージ

公共のWi-Fiを利用するときには注意が必要です。公共の無料Wi-Fiは便利ですが、常に安全とは限らず、利用者の個人情報が漏洩してしまうなどの危険性があります。個人情報を送信するようなアプリやウェブサイトにアクセスする際には、自分のモバイルデータ通信を使用するか、パスワードが必要なプライベートネットワークを利用しましょう。また、公共のWi-Fiを使用する場合は、より安全なVPN(仮想プライベートネットワーク)を利用することも検討してください。

5.SNS(ソーシャルネットワーキングサービス)でのプライバシー設定を行う

SNSは重要なコミュニケーション手段ですが、プライバシーの保護も必要です。以下のポイントに気をつけましょう。

SNSアカウントを乗っ取りされて青ざめる男性のイメージ

a. プライバシー設定の確認: プライバシー設定を確認し、プライバシーにかかわる個人情報を一般公開にせず、友達やフォロワーとの共有範囲を制限しましょう。個人情報や位置情報など、他人に知られては困る情報を公開しないようにしましょう。

b. 友達やフォロワーの選択: 友達やフォロワーを受け入れる際には、信頼できる人々に限定しましょう。知らない人や怪しいアカウントからのリクエストには注意し、受け入れないようにしましょう。

c. 投稿文の慎重な管理: 投稿には慎重になりましょう。個人情報や個人的な写真をむやみに公開しないようにし、誹謗中傷をしたり、プライベートな写真を投稿したりするのは控えましょう。一度公開した情報や写真は、後で取り消すことが難しいため、慎重な判断を行いましょう。

6.アプリの権限設定を確認する

スマホアプリのイメージ

スマホのアプリは、個人情報やデバイスへのアクセスを要求する場合があります。アプリをインストールする前に、そのアプリが何の情報にアクセスする必要があるのかを確認しましょう。例えば、料理のレシピアプリであるのに位置情報へのアクセスを要求してくるといった、必要のない権限を要求してくるアプリには注意し、不要な権限を持つアプリを削除しましょう。

7.バックアップをとる

あなたのスマホが盗まれたり、壊れたりして情報が突然失われてしまった場合でも、重要な情報を守るために、定期的にバックアップをとっておくことを推奨します。

8.アンチウィルスソフトの利用

アンチウイルスソフトを利用することで、ウイルスやスパイウェアといったマルウェアからスマホを守れます。

まとめ

スマホは便利なツールであり、私たちの日常生活では欠かせないものとなっています。だからこそ、個人情報などを狙う悪意を持った攻撃者のターゲットになる可能性があります。そのため、自分の身を守るためにも基本的なセキュリティ対策の方法を理解することが重要です。学生の皆さんは、以下のポイントを守りながらスマホのセキュリティを強化しましょう。

1. スマホのパスワードおよびロックの設定を行う
2. 不審なアプリやリンクに注意する
3. OSやアプリを定期的にアップデートする
4. Wi-Fiの安全性を確認する
5. SNSでのプライバシー設定を行う
6. アプリの権限設定を確認する
7. バックアップをとる
8. アンチウイルスソフトを利用する

これらの対策方法はあくまで例です。普段からセキュリティに注意し、安全に利用しましょう。また不安を感じたら身近な友人や保護者に相談することも大切です。本記事が、スマホを利用するすべての人々にとって、自分と自分の大切な人々を守り、より安全なスマホライフを送るために役立つ情報提供となれば幸いです。


年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像

脆弱性診断の必要性とは?ツールなど調査手法と進め方

Share

脆弱性診断はアプリケーションやサーバ、ネットワークに、悪用できる脆弱性がないかを診断します。ライフサイクル別にどんな診断が必要か、ツール診断と手動診断、ペネトレーションテストとの違いなどを解説します。

脆弱性診断の必要性とは?ツールなど調査手法と進め方のサムネ

企業が施すセキュリティ対策は広範かつ複雑になっています。外部からのサイバー攻撃や、内部での情報の持ち出しなど、セキュリティの脅威が多様化しているためです。企業が保護すべき情報、アプリケーション、機器の種類・数などが拡大していることも理由に挙げられます。

これに伴い、情報システムやそれを取り巻く環境・体制が堅牢であるかどうかを検査、評価する方法がいくつも存在します。この記事では、その中の 「脆弱性診断」を取り上げて、その定義、特徴、メリット、実際の利用方法などを紹介します。

脆弱性とは

脆弱性とは、不正アクセスやコンピュータウイルスなどの攻撃により、その機能や性能を損なう原因となり得るセキュリティ上の問題箇所のことです。

悪意のある第三者(サイバー攻撃者)によって脆弱性を悪用されると、コンピュータ内部データ(情報)の盗取・改竄・削除、また他のコンピュータへの同様の悪事が可能になり、自組織のシステムに脆弱性が存在した場合、サイバー攻撃者に狙われやすくなる可能性が高まります。

放置された脆弱性のリスクについてはこちらの関連記事もあわせてご参照ください。
BBSec脆弱性診断結果からみる― 脆弱性を悪用したサイバー攻撃への備えとは ―
定期的な脆弱性診断でシステムを守ろう!-放置された脆弱性のリスクと対処方法-
既知の脆弱性こそ十分なセキュリティ対策を!
今、危険な脆弱性とその対策―2021年上半期の診断データや攻撃事例より―

脆弱性診断とは

脆弱性診断とは、企業・組織のシステムに内在するセキュリティ上の既知の欠陥(=脆弱性)を特定する検査です。
Webアプリケーション、スマホアプリケーション、サーバ、ネットワークなど診断対象により様々な脆弱性診断があります。セキュリティ上の問題点を可視化することで、情報漏洩やサービス停止等のセキュリティ事故を防ぐために、どのような対策を実施すればよいか検討するのに役立ちます。

脆弱性診断は一度実施したらそれで終わり、というものではありません。脆弱性診断により発見された問題に対し対策を実施することで、より堅牢なシステム・環境・体制を構築することができます。

重要なのは、システムライフサイクルの各フェーズで、適切な診断を実施し、洗い出されたセキュリティ上の問題に優先順位をつけて、ひとつひとつ対処することです。

脆弱性診断の必要性

情報資産を守るため

CIA説明画像

情報のセキュリティの3要素、「機密性」「完全性」「可用性」を守るためにも、脆弱性診断は必要な理由の一つです。
「機密性」…限られた人だけが情報に接触できるように制限をかけること。
「完全性」…不正な改ざんなどから保護すること。
「可用性」…利用者が必要なときに安全にアクセスできる環境であること。
これらの要素を適切に満たすことが、情報セキュリティを担保する上では欠かせないものとなります。

情報セキュリティ事故を未然に防ぐため        

攻撃者より先にシステムに隠れた脆弱性を検出して対策することで、攻撃や事故発生の確率を下げることができます。ひとたび個人情報やクレジットカード情報の漏えい事故が発生すれば、さまざまな対応・復旧費用や対策工数の発生は避けられません。ブランドの毀損や企業イメージの低下も招きます。

サービス利用者の安心のため

パソコンやインターネットを補助的に利用していた昔と異なり、現在はWebサービスやアプリケーションそのものが利益を生み出しています。生活や経済がネットワークなしに成り立たない現在、脆弱性診断などのセキュリティ対策は、事業を継続しサービス利用者の安心を守るため、欠かせないものとなっています。

脆弱性診断の種類

診断対象により、さまざまな脆弱性診断サービスがあります。まず、企業が開発したWebアプリケーションが挙げられます。問合せや会員登録といった、入力フォームの入出力値の処理、ログイン機能の認証処理などに対して、幅広く網羅的に脆弱性診断が行われます。

次に、そのWebアプリケーションを実行するサーバやネットワーク機器、OSやミドルウェアに脆弱性がないか検査する プラットフォーム診断があります。

アプリケーションの脆弱性診断には、既知の攻撃パターンを送付して対象システムやソフトウェアの挙動を確認する「ブラックボックステスト」という方法があります。 「ブラックボックステスト」では、実装時における脆弱性は検出できますが、そもそもプログラムの設計図であるソースコード中に存在する脆弱性を網羅的には検査することには適していません。

この場合、ソースコード開示のもと「ソースコード診断」する方法が有効です。「ソースコード診断」は「ブラックボックステスト」に対して 「ホワイトボックステスト」とも呼ばれます。また、「ソースコード診断」はさらに、プログラムを実行しないで行う「静的解析」と、実行して行う「動的解析」に分類できます。

ソースコード診断についてはこちらの記事もあわせてご参照ください。
ソースコード診断の必要性とは?目的とメリットを紹介

そのほか、近年増加の一途をたどる スマホアプリケーション IoT機器を対象とした脆弱性診断もあります。

脆弱性診断画像

(株式会社ブロードバンドセキュリティのサービス分類に基づく)

脆弱性診断とペネトレーションテストの違い

脆弱性診断とペネトレーションテストは、双方とも脆弱性などを検出する点では似ていますが、目的と方法が少し異なります。脆弱性診断は既知の脆弱性を網羅的に検出することを目的としています。

ペネトレーションテストは、「侵入テスト」の名前のとおり、疑似的なサイバー攻撃を仕掛けてセキュリティ対策の有効性を評価するために実施します。技術的アプローチだけでなく、対象となる組織の構成や、業務手順、ときには物理的な施設の特徴すら加味して、攻撃シナリオを作成する「レッドチーム演習」と呼ばれるテストを実施することもあります。

シナリオに沿ってペネトレーションテスターが攻撃を実行し、システムに侵入できるか、ターゲットとする資産(多くは知的財産)にたどり着くことができるかどうかなどをテストします。ペネトレーションテストは脆弱性診断と比べて、技術力はもちろん、より幅広い見識やセンスが求められます。

脆弱性診断の方法(ツール診断・手動診断)

ツール診断とは、脆弱性診断ツールと呼ばれるコンピュータプログラムを実行して、その応答から脆弱性を検知していくもので、自動診断とも呼ばれます。脆弱性診断ツールには、たとえばWebアプリケーション診断の場合に、検査コードと呼ばれる不正なHTTPリクエストを送信し 擬似攻撃するプログラムがあります。

これに対して手動診断は、技術者がプロキシツールを介してWebブラウザでサイトにアクセスした際に発生するリクエストを書き換える形で、脆弱性を確認する方法です。ツール診断と比べ検査項目も広く、また細かな検査ができるのが特徴です。

「ツール診断」による脆弱性診断

「ツール診断」では、セキュリティベンダーが、商用または自社開発した診断ツールを用いて脆弱性を見つけ出します。機械的に不正なHTTPリクエストを送り付ける疑似攻撃を行いますが、クラッカーによる攻撃とは異なり、あくまでも 脆弱性を見つけ出すことが目的であるため、システムを破壊することはありません。

ツール診断は機械的な検査であるため、過検知や誤検知なども含まれることが多く、その結果は担当者が補正することで正確な情報が得られます。比較的手軽に行えることから、開発段階で実施されることも多い診断です。また、定期的な簡易診断として用いることで、コストを低減しつつ最新の状態を保つことができるといった利用方法もあります。

CPEサービスリンクバナー

「手動診断」による脆弱性診断

手動診断は、経験と専門性を持つ技術者によって実施され、機械的な判断では見落としてしまう 画面遷移・分岐にも対応できるメリットがあります。発見した脆弱性の再現手順や、最新動向を加味した対策方法などを提示してくれるのも、手動診断ならではの特徴と言えます。

ツール診断と手動診断は、どちらが優れていると比較するものではありません。それぞれの 特長を生かし、予算に合わせて組み合わせることで、コストパフォーマンスを発揮できるでしょう。

脆弱性診断の進め方

セキュリティベンダーに脆弱性診断を依頼する際は、まず 診断する範囲を決めます。組織にとって重要度が高い部分、すなわちサイバー攻撃を許してはいけないシステムやサーバ、Webアプリケーションを選定します。

診断が終了するとベンダーからレポートが提供され、報告会が行われることもあります。レポートに記載された脆弱性には深刻度などがスコア化されていることもあります。内容に応じて優先度をつけて、脆弱性をふさぐ必要があります。

チームによる診断・分析・保守画像

脆弱性診断のまとめ

企業の情報システムが複雑かつ大規模になった現在、カード情報や個人情報・機密情報を狙う内外からの脅威に対して、企業もさまざまな予防手段を打っていく必要があります。情報システムやそれを取り巻く環境・体制が堅牢であるかどうかを検査、評価する方法として「脆弱性診断」があります。

・脆弱性診断とは企業・組織のシステムに内在するセキュリティ上の既知の欠陥(=脆弱性)
 を特定する検査
・Webアプリケーション、スマホアプリケーション、サーバ、ネットワークなど
 診断対象により様々な脆弱性診断がある
・脆弱性診断を実施し洗い出されたセキュリティ上の問題に優先順位をつけて、
 ひとつひとつ対処することが重要である

Security Report TOPに戻る
TOP-更新情報に戻る


資料ダウンロードボタン
年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
お問い合わせボタン
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像

PCI DSS―ペネトレーションテスト、そして非保持の落とし穴

Share

PCI DSSとは国際カードブランド5社により定められた、クレジットカード情報を守るためのセキュリティ基準です。クレジットカード加盟店等がPCI DSSに準拠しない場合、カードの取り扱いが停止される場合もあります。本稿では、PCI DSSの対象、12の要件、準拠のために何が必要になるのか等について触れながら、AWSのPCI DSS準拠や、PCI DSSが求めるペネトレーションテストなどについて解説します。

PCI DSSとは

PCI DSSとは「Payment Card Industry Data Security Standard」の略称で、クレジットカード業界や関連事業者がクレジットカード情報を安全に取り扱うことを目的に定められた、12の要件から構成される国際基準です。American Express、Discover、JCB、MasterCard、VISAの5つのカードブランドが共同で2004年に策定しました。

PCI DSS1は、上記カードブランド5社が設立した組織であるPCI SSC(PCI Security Standards Council)によって管理されています。2022年3月31日には最新版であるPCI DSS 4.0が公開されています*2

PCI DSSの対象となる事業者の条件

PCI DSSは、クレジットカード情報の保存・処理・伝送などを行うすべての事業者(クレジットカード加盟店・銀行・クレジットカード決済サービス企業等)が準拠する必要がある国際基準です。

年間のクレジットカード決済件数に応じて1~4の4段階でレベル分けがなされ、それぞれのレベルで検証が行われます。例えば最もレベルが高いレベル1の事業者に対しては、PCI SSCの認定セキュリティ評価機関(QSA:Qualified Security Assessor)による、毎年1回の訪問監査が必須となります。

準拠が必要な場合、あなたの組織がどのレベルに属するのかをまず把握しておきましょう。

PCI DSSに準拠しなくてよい「非保持化」と、その落とし穴

一方で、クレジットカード決済をまったく取り扱わない企業や、取り扱っていてもクレジットカード情報の保存・処理・伝送を一切しない、いわゆる「クレジットカード情報の非保持化」を行っている企業はPCI DSSの対象外となり、準拠の必要はありません。

ただし、対象外かどうかは厳密に確認する必要があります。例えば、「自分の組織ではクレジットカード情報の保存等は一切行っていない」と思っていたとしても、決済代行サービスの管理画面上でPIN(Personal Identification Number:個人識別番号)などのカード会員情報を見ることができるなら、それは保存や処理にあたります。「作業者の目にはそうした情報は一切ふれない」という場合でも、カード決済端末からの情報が一度でも組織内のシステムを通過するなら、それは伝送にあたります。

上記のような状態で、「非保持化しているつもり」になっていないかどうかに注意しましょう。PCI DSSに詳しいセキュリティ企業のアドバイスを受けることをおすすめします。

AWS環境下でのPCI DSS準拠

代表的なクラウドサービスのひとつであるAWS(Amazon Web Services)は、最も規模の大きい「レベル1」のサービスプロバイダとして、PCI DSSに準拠しています。こういったサービスプロバイダを上手に活用すれば、あなたの組織でPCI DSS準拠に対応すべき範囲を減らすこともできます。ただし、慎重な運用が必要となることに変わりはありません。まずはAWSの責任共有モデルの理解からはじめましょう。

PCI DSSの12要件とは

以下に示すように、PCI DSSでは、6つの項目にわたって計12の要件が定められています。


安全なネットワークとシステムの構築と維持

1. カード会員データを保護するために、ファイアウォールをインストールして構成を維持する
2. システムパスワードおよびその他のセキュリティパラメータにベンダ提供のデフォルト値を使用しない

カード会員データの保護

3. 保存されるカード会員データを保護する
4. オープンな公共ネットワーク経由でカード会員データを伝送する場合、暗号化する

脆弱性管理プログラムの維持

5. すべてのシステムをマルウェアから保護し、ウイルス対策ソフトウェアまたはプログラムを定期的に更新する
6. 安全性の高いシステムとアプリケーションを開発し、保守する

強力なアクセス制御手法の導入

7. カード会員データへのアクセスを、業務上必要な範囲内に制限する
8. システムコンポーネントへのアクセスを識別・認証する
9. カード会員データへの物理アクセスを制限する

ネットワークの定期的な監視およびテスト

10. ネットワークリソースおよびカード会員データへのすべてのアクセスを追跡および監視する
11. セキュリティシステムおよびプロセスを定期的にテストする

情報セキュリティポリシーの維持

12. すべての担当者の情報セキュリティに対応するポリシーを維持する


(PCI DSS v3.2.1より)

PCI DSSで求められる要件は明確で具体的です。そのため、一般的なセキュリティ管理のルールを策定する際の参考にされることがしばしばあるのですが、PCI DSSの要件に準拠したからといって、組織全体のセキュリティが万全になるとは言い切れない点に注意が必要です。例えば、PCI DSSでは、営業機密などへのアクセス制御不備があったとしても準拠に影響しない場合がありますし、PCI DSSへの準拠によってGDPR等の法制度に対応できるわけでもありません。PCI DSSを参考にする際は、それがあくまでクレジットカード情報の保護に特化した基準であることを念頭においたうえで活用するようにしましょう。

PCI DSSに準拠するためにやることは

PCI DSS準拠にあたっては、PCI DSSの基準に関するアンケートに回答する「自己問診」、PCI SSCが認定したASV(Approved Scanning Vendors:認定スキャニングベンダ)等によって行われるネットワークスキャン、PCI SSCが認定したQSA(Qualified Security Assessor:認定セキュリティ評価機関)による訪問監査などが、前述の4つのレベルに応じて実施されます。

PCI SSC準拠と継続のための2つのネットワークスキャン

PCI DSSにおけるネットワークスキャンとは、クレジットカード情報を扱うシステムや機器に対して、少なくとも四半期に1回、および対象システムに大幅な変更があった場合に、脆弱性スキャンを実施するものです。もし重大な脆弱性が発見された場合、準拠の認定や継続のためには、脆弱性の修正や代替案実施後の再スキャンで準拠基準に達しているという評価を得ることが必要になります。

ネットワークスキャンには、クレジットカード情報を扱うシステム等に対して外部から行うスキャンと、内部から行うスキャンの2つがあり、外部からのスキャンは必ず認定スキャニングベンダ(ASV)によって実施されなければなりません。

PCI SSC準拠と継続のためのペネトレーションテスト

また、クレジットカードの加盟店等は、少なくとも1年に1回(決済サービスプロバイダ等は1年に2回)、および対象システムに大幅な変更があった場合に、ペネトレーションテストを実施しなければなりません。

ペネトレーションテストを実施する際には、それがPCI DSSの要求を満たすテストであるかどうかを必ず確認しましょう。一般的基準で充分に高度とされるペネトレーションテストであっても、手法や範囲などがPCI DSSの要件を満たしていなければ、「システムの安全性は高まったがPCI DSSの準拠や継続ができなくなった」という事態が起こり得ます。

ペネトレーションテストには、外部からのネットワークスキャンのようなベンダ認定の仕組みがないため、選定での判断には注意が必要です。PCI DSSのペネトレーション要件に精通した企業の助力を求めるとよいでしょう。

なお、株式会社ブロードバンドセキュリティは、QSAとして12年にわたり約110社に対して、PCI DSS準拠認定付与支援およびオンサイト評価を行っております。また、PCIDSS準拠のためのネットワークスキャンやペネトレーションテストの実績を多数持っています。

最新版「PCI DSS v4.0」とは

PCI DSS v4.0では、暗号やモニタリングなどが強化されるほか、多要素認証等についてもキャッチアップが行われ、さらなるセキュリティ強化が図られています。弊社では11月に「PCI DSS v4.0で変わる脆弱性診断」と題したウェビナーで、PCI DSS v4.0で求められる脆弱性スキャンやペネトレーションテストについて、v3.2.1からの変更点を中心にお話しています。ご関心がおありでしたらお問い合わせいただき、ぜひご参考にしていただければと思います。

まとめ

  • PCI DSSとは、国際カードブランド5社により定められた、安全にクレジットカード情報を取り扱うためのセキュリティ基準です
  • 2022年3月31日に、最新バージョンのPCI DSS v4.0が公開されています
  • クレジットカード情報の保存・処理・伝送を行うすべての事業者(クレジットカード加盟店・銀行・クレジットカード決済サービス企業等)が、PCI DSSに準拠する必要があります
  • PCI DSSへの準拠では、自己問診や、ASV(認定スキャニングベンダ)によるネットワークスキャン、QSA(認定セキュリティ機関)による訪問監査などが実施されます
  • ペネトレーションテストを実施する際は、テストの手法や範囲などがPCI DSSの要件を満たしていることを確認する必要があります

Security Report TOPに戻る
TOP-更新情報に戻る


資料ダウンロードボタン
年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
お問い合わせボタン
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像