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

Share

Security NEWS TOPに戻る
バックナンバー TOPに戻る

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

前回までの内容

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 NEWS TOPに戻る
バックナンバー TOPに戻る


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

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

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

Share

Security NEWS TOPに戻る
バックナンバー TOPに戻る

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

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

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

Security NEWS TOPに戻る
バックナンバー TOPに戻る

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

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

診断結果にみる情報セキュリティの現状
~2022年下半期 診断結果分析~

Share

Security NEWS TOPに戻る
バックナンバー TOPに戻る

SQAT® Security Report 2023年 春夏号

2021年下半期診断結果分析サムネ画像(PCの画面イメージ)

BBSecの脆弱性診断

システム脆弱性診断で用いるリスクレベル基準

BBSecのシステム脆弱性診断は、独自開発ツールによる効率的な自動診断と、セキュリティエンジニアによる高精度の手動診断を組み合わせて実施しており、高い網羅性とセキュリティ情勢を反映した診断を実現するため、セキュリティエンジニアおよびセキュリティアナリストが高頻度で診断パターンを更新し、診断品質の維持・向上に努めている。検出された脆弱性に対するリスク評価のレベル付けは、右表のとおり。

脆弱性診断サービスの基本メニューである「Webアプリケーション脆弱性診断」・「ネットワーク脆弱性診断」の2022年下半期(7月~12月)実施結果より、セキュリティ対策の実情についてお伝えする。

2022年下半期診断結果

Webアプリ/NW診断実績数

2022年下半期、当社では12業種延べ510企業・団体、3,964システムに対して、脆弱性診断を行った(Webアプリケーション/ネットワーク診断のみの総数)。

2022年下半期システム脆弱性診断 脆弱性検出率の棒・円グラフ

9割のシステムに脆弱性

「Webアプリケーション診断結果」の棒グラフのとおり、Webアプリケーションに おいて、なんらかの脆弱性が存在するシステムは9割前後で推移を続けている。検出された脆弱性のうち危険度レベル「高」以上(緊急・重大・高)の割合は19.0%で、5件に 1件近い割合で危険な脆弱性が検出されたことになる。

一方、ネットワーク診断では、なんらかの脆弱性があるとされたシステムは約半数だったが、そのうちの危険度「高」レベル以上の割合は23.3%で、5件に1件以上の割合であった。

以上のとおり、全体的な脆弱性検出率については、前期と比較して大きな変化はない。当サイトでは、「2022年下半期カテゴリ別脆弱性検出状況」とし、検出された脆弱性を各カテゴリに応じて分類しグラフ化している。

Webアプリケーション診断結果

高リスク以上の脆弱性ワースト10

リスクレベル高以上の脆弱性で検出数が多かったものを順に10項目挙げてみると、下表のような結果となった。

高リスク以上の脆弱性ワースト10(2022年下半期)Webアプリ編の表

長年知られた脆弱性での攻撃

Webアプリ編ワースト10の上位3項目は、前期と同じで、いまだ検出数が多い。いずれもよく知られた脆弱性ばかりなため、悪用された場合、セキュリティの基本的な対策を怠っている組織と認識され、信用失墜につながる。

「クロスサイトスクリプティング」に起因する情報漏洩は実際に報告されている。4位の「不適切な権限管理」は前期7位より順位を上げた。この脆弱性は、本来権限のない情報・機能へのアクセスや操作が可能な状態を指し、「OWASP Top 10(2021)」では、首位の「A01:2021-アクセス制御の不備」に該当する。一般ユーザであるはずが、処理されるリクエストを改竄することで管理者権限での操作が可能になる等により、個人情報や機密情報の漏洩・改竄、システムの乗っ取り、といった甚大な被害を招く恐れがある。外部から値を操作できないようにするのはもちろんのこと、各機能に対する適切なアクセス制御を実装することが推奨される。

ネットワーク診断結果

高リスク以上の脆弱性ワースト10

ネットワーク診断結果に関しても、リスクレベル高以上の脆弱性で検出数が多かったものを順に10項目挙げてみると、下表のような結果となった。

高リスク以上の脆弱性ワースト10(2022年下半期)NW編の表

SNMPにおけるデフォルトのコミュニティ名の検出

ネットワーク編のワースト10もほぼお馴染みの顔ぶれであるところ、「SNMPにおけるデフォルトのコミュニティ名の検出」が9位に初ランクインした。SNMPは、システム内 部のステータスや使用ソフトウェア等の各種情報取得に利用されるプロトコルで、管理するネットワークの範囲をグルーピングして「コミュニティ」とする。コミュニティ名に は、ネットワーク機器のメーカーごとに「public」等のデフォルト値がある。SNMPにおけるコミュニティ名はパスワードのようなものであるため、デフォルトのままだと、これ を利用して攻撃者に接続され、攻撃に有用なネットワークの内部情報を取得される恐れがある。コミュニティ名にはデフォルト値を使用しないこと、また、SNMPへの接続には強固なアクセス制御を実施することが推奨される。

カテゴリ別の検出結果詳細についてはこちら

Security NEWS TOPに戻る
バックナンバー TOPに戻る


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

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

診断結果にみる情報セキュリティの現状
~2022年上半期 診断結果分析~

Share

Security NEWS TOPに戻る
バックナンバー TOPに戻る

SQAT® Security Report 2022-2023年 秋冬号

2021年下半期診断結果分析サムネ画像(PCの画面イメージ)

BBSecの脆弱性診断

システム脆弱性診断で用いるリスクレベル基準

当社のシステム脆弱性診断は、独自開発ツールによる効率的な自動診断と、セキュリティエンジニアによる高精度の手動診断を組み合わせて実施している。検出された脆弱性に対するリスク評価のレベル付けは、右表のとおり。

脆弱性診断サービスの基本メニューである「Webアプリケーション脆弱性診断」・「ネットワーク脆弱性診断」の2022年上半期(1月~6月)実施結果より、セキュリティ対策の実情についてお伝えする。

2022年上半期診断結果

Webアプリ/NW診断実績数

2022年上半期、当社では12業種延べ611企業・団体、3,448システムに対して、脆弱性診断を行った(Webアプリケーション/ネットワーク診断のみの総数)。

システム脆弱性診断 脆弱性検出率グラフ

9割のシステムに脆弱性

「Webアプリケーション診断結果」の棒グラフのとおり、Webアプリケーションにおいて、なんらかの脆弱性が存在するシステムは9割前後で推移を続けている。検出された脆弱性のうち危険度レベル「高」以上(緊急・重大・高)の割合は22.3%で、5件に1件以上の割合でリスクレベルの高いものが出ていることになる。

一方、ネットワーク診断では、脆弱性ありと評価されたシステムは半分強というところだ。ただし、検出された脆弱性に占める危険度高レベル以上の割合は22.1%にのぼり、こちらも5件に1件以上の割合となる。

以上のとおり、全体的な脆弱性検出率については、前期と比較して大きな変化はない。当サイトでは、「2022年上半期カテゴリ別脆弱性検出状況」とし、検出された脆弱性を各カテゴリに応じて分類しグラフ化している。

Webアプリケーション診断結果

高リスク以上の脆弱性ワースト10

リスクレベル高以上の脆弱性で検出数が多かったものを順に10項目挙げてみると、下表のような結果となった。

高リスク以上の脆弱性ワースト10リスト

長年知られた脆弱性での攻撃

上位ワースト10はいずれも、Webアプリケーションのセキュリティ活動を行っている国際的非営利団体OWASP(Open Web Application Security Project)が発行している「OWASP Top 10(2021)」でいうところの、「A03:2021 – インジェクション」「A07:2021 – 識別と認証の失敗」「A06:2021 – 脆弱で古くなったコンポーネント」「A02:2021 – 暗号化の失敗」「A01:2021 – アクセス制御の不備」等に該当する。

1位の「クロスサイトスクリプティング」や6位の「SQLインジェクション」は、長年知られた脆弱性である上、攻撃を受けると深刻な被害となりかねないにも関わらず、いまだ検出され続けているのが実情だ。

攻撃者による悪意あるコードの実行を許さぬよう、開発段階において、外部からのデータに対する検証処理と出力時の適切な文字列変換処理の実装を徹底していただきたい。

ネットワーク診断結果

高リスク以上の脆弱性ワースト10

ネットワーク診断結果に関しても、リスクレベル高以上の脆弱性で検出数が多かったものを順に10項目挙げてみると、下表のような結果となった。

高リスク以上の脆弱性ワースト10リスト

推奨されないバージョンのSSL/TLS

1位の「推奨されないSSL/TLS」が圧倒的に多い。既知の脆弱性がある、あるいはサポートがすでに終了しているコンポーネントの使用も目立つ。このほか、特にリスクレベルが高いものとして懸念されるのが、FTP(4位)やTelnet(7位)の検出だ。これらについては、外部から実施するリモート診断よりもオンサイト診断における検出が目立つ。つまり、内部ネットワークにおいても油断は禁物ということである。FTPやTelnetのような暗号化せず通信するサービスはそもそも使用するべきでなく、業務上の理由等から利用せざるを得ない場合は強固なアクセス制御を実施するか、暗号化通信を使用する代替サービスへの移行をご検討いただきたい。

カテゴリ別の検出結果詳細についてはこちら

Security NEWS TOPに戻る
バックナンバー TOPに戻る


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

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

診断結果にみる情報セキュリティの現状
~2021年下半期 診断結果分析~

Share

Security NEWS TOPに戻る
バックナンバー TOPに戻る

SQAT® Security Report 2022年 春夏号

2021年下半期診断結果分析サムネ画像(PCの画面イメージ)

BBSecの診断について

当社では、Webアプリケーション、ネットワーク(プラットフォーム)に対する脆弱性診断をはじめとして、スマホアプリ、パブリッククラウド、ソースコード、IoT、ペネトレーションテスト、標的型ランサムウェア攻撃におけるリスク可視化等、様々な局面における診断サービスを提供している。こうした診断による検出・分析結果は、メリハリある的確なセキュリティ対策の実施にお役立ていただいている。

診断品質向上のために

システム脆弱性診断で用いるリスクレベル基準

当社の脆弱性診断サービスは、独自開発ツールによる効率的な自動診断と、セキュリティエンジニアによる高精度の手動診断を組み合わせて実施している。検出された脆弱性に対するリスク評価のレベル付けは、右表のとおり。

高い網羅性のある脆弱性の検出、お客様のシステム特性に応じたリスクレベル評価、個別具体的な解決策の提供が行えるよう、セキュリティエンジニアおよびセキュリティアナリストが高頻度で診断パターンを更新することで、診断品質の維持・向上に努めている。

2021年下半期診断結果

Webアプリ/NW診断実績数

2021年7月から12月までの6ヶ月間に、当社では14業種延べ560企業・団体、3,949システムに対して、システム脆弱性診断を行った(Webアプリケーション/ネットワーク診断のみの総数)。前期2021年上半期(1月~6月)より、診断対象システム数は300件近く増加した。

システム脆弱性診断 脆弱性検出率(2021年下半期)

9割のシステムに脆弱性

「Webアプリケーション診断結果」の棒グラフのとおり、Webアプリケーション診断では、なんらかの脆弱性が存在するシステムの割合が9割前後で推移し続けている。検出された脆弱性のうち、危険度レベル「高」以上(緊急・重大・高)の割合は21.0%で、検出された脆弱性全体のおよそ5件に1件がリスクレベルの高いもの、ということになる。前期の高レベル以上の割合は23.9%だったため今期微減だが、ほぼ横ばいと言える。

「ネットワーク診断結果」の棒グラフでは、脆弱性なしと評価されたシステムが4割強を占めている。しかしながら、検出された脆弱性に占める危険度高レベル以上の脆弱性の割合は30.8%にのぼり、検出脆弱性のおよそ3件に1件が危険度の高い項目、ということになる。前期の高レベル以上の割合は28.3%だったため今期微増だが、ほぼ横ばいである。

以上のとおり、全体的な脆弱性検出率については、前期と比較して大きな変化はない。当サイトでは、「2021年下半期カテゴリ別脆弱性検出状況」とし、検出された脆弱性を各カテゴリに応じて分類しグラフ化している。

Webアプリケーション診断結果

高リスク以上の脆弱性ワースト10

5つに分類された各カテゴリの検出割合( 「2021年下半期カテゴリ別脆弱性検出状況」掲載の円グラフ参照)については、前期とほぼ変わらず、各カテゴリにおける脆弱性の検出数ごとの数量も大幅な変動はなかった。リスクレベル高以上の脆弱性で検出数が多かったものを順に10項目挙げてみると、下表のような結果となった。

高リスク以上の脆弱性ワースト10(2021年下半期)Webアプリ編

代表的な脆弱性はいまだ健在

上位ワースト10はいずれも、Webアプリケーションのセキュリティ活動を行っている国際的非営利団体OWASP(Open Web Application Security Project)が発行している「OWASP Top 10(2021)」に含まれていることがわかる。

ワースト1となった「クロスサイトスクリプティング」(以下、XSS)はWebアプリケーションにおける脆弱性の代表格とも言える。認知度の高い脆弱性でありながら、いまだに根絶されていない。XSSが存在するシステムには、ワースト2の「HTMLタグインジェクション」が共に検出されることが多い。出力データの検証が適切に実施されていないことがうかがえる。

ワースト6の「SQLインジェクション」もまた、メジャーな脆弱性の1つだ。XSSと同じく入出力制御に問題がある。昨今でもなお、SQLインジェクションによる情報漏洩事例が報告されている。データベースの不正操作を許せば、事業活動に必要なデータをすべて消去されるといった最悪の事態も発生しうるため、放置するのは非常に危険である。

独立行政法人情報処理推進機構(IPA)および一般社団法人 JPCERT コーディネーションセンター(JPCERT/CC)に対する届出においても、XSSが58%と約6割を占め、SQLインジェクションもそれに次ぐ多さとのことだ。*1

いずれの脆弱性も、セキュアなWebアプリケーション構築を実践できていないことを証明するものだ。開発の上流工程において、そうした脆弱性が作りこまれないような対策を行うことが大切である。

ネットワーク診断結果

高リスク以上の脆弱性ワースト10

ネットワーク診断結果に関しても、5つに分類された各カテゴリの検出割合 (「2021年下半期カテゴリ別脆弱性検出状況」掲載の円グラフ参照)において、前期と比較して特段目立つような差は見られなかった。ただ、「通信の安全性に関する問題」に関しては、「推奨されない暗号化方式の受け入れ」「推奨されないSSL/TLS方式の使用」「脆弱な証明書の検出」に分類される脆弱性項目が、それぞれ200件前後ずつ増加していることがわかった。

リスクレベル高以上の脆弱性で検出数が多い10項目は下表のとおりである。

高リスク以上の脆弱性ワースト10(2021年下半期)NW編

推奨されないバージョンのSSL/TLS

先に述べた、前期より検出数が増加している「通信の安全性に関する問題」のうち、「推奨されないバージョンのSSL/TLSのサポート」はリスクレベル高以上である。これは、SSL2.0、3.0、またはTLS1.0、1.1を使用した暗号化通信が許可されている場合に指摘している項目で、今期ワースト1の検出数だ。CRYPTREC作成/IPA発行の「TLS 暗号設定ガイドライン」は、2020年7月に第3.0.1版が公開されている。こちらを参考に、SSLの全バージョンとTLS1.1以下を無効にし、もし、TLS1.2、なるべくなら1.3の実装がまだであれば、早急に対応する必要がある。

カテゴリ別の検出結果詳細についてはこちら

Security NEWS TOPに戻る
バックナンバー TOPに戻る


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

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

診断結果にみる情報セキュリティの現状
~2020年上半期 診断結果分析~

Share

Security NEWS TOPに戻る
バックナンバー TOPに戻る

SQAT® Security Report 2020-2021年 秋冬号

BBSecの診断について

当社では、Webアプリケーション、ネットワーク(プラットフォーム)、スマホアプリ、IoT、パブリッククラウド、ソースコード、標的型攻撃に対するリスク可視化等、様々な局面における診断サービスを提供することで、お客様のニーズにお応えしている。

当社の脆弱性診断サービスは、専門技術者による高精度の手動診断と独自開発のツールによる効率的な自動診断とを組み合わせ、検出された脆弱性に対するリスク評価について、右表のとおりレベル付けしている。お客様のシステム特性に応じた脆弱性の検出、リスクレベルの評価、個別具体的な解決策の提供が適切に行えるよう、高い頻度で診断パターンを更新し、診断品質の維持と向上に努めている。

2020年上半期診断結果

当社では、2020年1月から6月までの6ヶ月間に、14業種延べ533企業・団体、4596システムに対してシステム脆弱性診断を行った。2020年上半期はコロナ禍の影響でテレワークへと移行する企業も多い中、診断のニーズは変わらず存在し、診断案件数は2019年下半期とほぼ同じであった。脆弱性の検出率は以下のとおり。

脆弱性診断脆弱性検出率 2020年上半期

診断の結果、Webアプリケーション診断では、脆弱性が検出されたシステムが全体の83.9%と、前年同期(2019年上半期)の88.2%に比べて微減しているものの、依然として高い割合である。ネットワーク診断においては、脆弱性検出率は減少を続けているものの、42.8%と4割ほどのシステムに何らかの脆弱性が検出されている。

検出された脆弱性のうち、早急な対処が必要な「高」レベル以上のリスクと評価された脆弱性は、Webアプリケーションでは28.7%、ネットワーク診断では29.7%検出されている。前年同期比(2019年上半期「高」レベル検出率:Webアプリケーション27.0%/ネットワーク診断 23.6%)でいうと、Webアプリケーションはほぼ横ばいだったが、ネットワークは6.1%増えた。ネットワークに関しては、リスクレベルの高い脆弱性は増加傾向にある。 当サイトでは、「2020年上半期 カテゴリ別脆弱性検出状況」とし、当社診断で検出された脆弱性を各性質に応じてカテゴライズし、評価・分析をした結果をまとめた。以降、診断カテゴリごとに比較的検出数が多かったものの中からいくつか焦点を当ててリスクや対策を述べる。

Webアプリケーション診断結果

Webカテゴリ結果の36.0%を占める「システム情報・ポリシーに関する問題」のうち、「脆弱なバージョンのOS・アプリケーションの使用」についで検出数が多かった、「推奨されない情報の出力」に着目する(検出割合は以下参照)。

推奨されない情報の出力(2020年上半期診断実績)

システム構築時のデフォルトファイル、ディレクトリや初期画面には、攻撃者にとって有用な情報が含まれていることが多く、攻撃者にシステムへ侵入された場合、その情報をもとにした攻撃に発展し、甚大な被害につながりうる。よって、重要情報を含むファイル等には特に強固なアクセス制御をすべきであり、削除して差し支えない情報は消してしまうことが望ましい。初期画面については、表示しない設定にするのがよいだろう。

不用意な情報の出力の例として、「推奨されない情報の出力」の内訳にある、「WordPress管理者機能へのアクセスについて」をピックアップする。WordPressの管理者機能に対するアクセスが外部から可能だと、「総当り(Brute-Force)攻撃」によって、攻撃者に管理者用の認証を奪取されることで、さまざまな情報の漏洩や改竄をされる危険性がある。そのため、外部から管理者機能へのアクセスが可能な状態にしておかないことがベストだ。業務上外部からのアクセスが必要な場合は、パケットフィルタリング等の強固なアクセス制御をすべきである。

ネットワーク診断結果

NWカテゴリ結果の45.8%が「通信の安全性に関する問題」であった。その中の検出数トップ「推奨されない暗号化方式の受け入れ」に続いて検出数が多かった「推奨されないSSL/TLS通信方式の使用」に焦点をあてる。

DROWN、POODLE、BEASTといった既知の脆弱性が存在するバージョンのSSL/TLSを使用した暗号化通信を許可していると、攻撃者に脆弱性を利用され暗号化通信の内容を解読される恐れがある。推奨対策としては、SSL 2.0、SSL 3.0もしくはTLS 1.0による暗号化通信の使用を停止し、TLS 1.2以上の通信保護に移行することである。

さらに第3位「脆弱な証明書の検出」に注目し、強度の低いハッシュアルゴリズムを使用した証明書を使っている場合について述べる。強度の低いハッシュアルゴリズムは衝突攻撃に弱く、攻撃者が衝突攻撃によって元の証明書と同じ署名の証明書を作ることができ、なりすまし等の被害に繋がる可能性がある。また、主要なブラウザでは強度の低いハッシュアルゴリズムをサポートしておらず、環境によってはユーザがサイトを利用できなくなる可能性もある。よって、本番環境での運用には信頼された認証局から発行された強度の高い証明書が利用されていることを確認すべきである。

カテゴリ別の検出結果詳細についてはこちら

Security NEWS TOPに戻る
バックナンバー TOPに戻る


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

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

今、危険な脆弱性とその対策
―2021年上半期の診断データや攻撃事例より―

Share

Security NEWS TOPに戻る
バックナンバー TOPに戻る

キーボードと虫眼鏡

私たちの生活を支えるWebサイトは、攻撃者からみると、個人情報や機密情報などデータの宝庫であり、魅力的なターゲットになってしまっています。その理由は、Webサイトの多くに脆弱性が存在していることがあるためです。

本記事では、診断会社として多くの企業・組織への診断実績がある弊社の視点で、2021年上半期の診断結果、また攻撃事例などを振り返り、脆弱性対策に有効な手段を考えます。

Webサイトはなぜ狙われる?
―そこに脆弱性があるから

ハッカーがターゲットにしている対象のグラフデータ(The 2021 Hacker Reportより)

サイバー攻撃の対象は、Webサイトが最も高く、ハッカーのほとんどがWebサイトを攻撃しているといっても過言ではありません。

私たちの生活は公私共に、Webシステムに支えられており、Webサイトは個人情報や機密情報の宝庫です。そして、残念ながらWebサイトの多くには脆弱性が存在していることがあります。宝の山に脆弱性があるとなれば、悪意ある者に狙われてしまうのは当然といえます。

2021年上半期Webアプリケーション脆弱性診断結果

弊社では、様々な脆弱性診断メニューをご提供しております。その中で最もニーズの高いWebアプリケーション脆弱性診断について、2021年上半期(2021年1~6月)の結果をご紹介いたします。この半年間で14業種のべ610社、3,688システムに対して診断を行いました。

業種やシステムの大小にかかわらず、多くのWebアプリケーションになんらかの脆弱性が存在しています。検出された脆弱性をカテゴリ分けした内訳は円グラフのとおりです。

上半期診断結果脆弱カテゴリ別の円グラフ

このうち、例として、4割近くを占める「システム情報・ポリシーに関する問題」と、1割強程度ではあるものの、危険度の高い脆弱性が目立つ「入出力制御に関する問題」に分類される脆弱性の検出数をご覧ください(下記、棒グラフ参照)。

既知の脆弱性が検出されている、あるいはすでにベンダサポートが終了しているバージョンのOSやアプリケーションソフトの使用が数多く見られます。また、Webアプリケーションにおける脆弱性の代表格ともいえる「クロスサイトスクリプティング」や「SQLインジェクション」は、いまだ検出され続けているのが現状です。こうした脆弱性を放置しておくとどうなるか、実際に発生したインシデントの例を見てみましょう。

脆弱性を悪用した攻撃事例1:
既知の脆弱性が存在するWordPress

脆弱性のあるWordPressの悪用例

Webサイトの構築を便利にするCMS(Contents Management System)のうち、WordPressは世界でダントツのシェア40%以上を誇っています(CMS不使用は約35%、その他のCMSはすべて一桁パーセント以下のシェアです)*2。CMSの代名詞といえるWordPressですが、その分サイバー攻撃者の注目度も高く、脆弱性の発見とこれに対応したアップグレードを常に繰り返しています。

2021年に入ってからも10件以上の脆弱性が報告*2されているほか、国内でもWordPressを最新バージョンにアップデートしていなかったことで不正アクセスを受けたとの報告*3が上がっています。

脆弱性を悪用した攻撃事例2:SQLインジェクション

その対策が広く知れ渡っている今でも、「SQLインジェクション」は診断結果の中に比較的検出される項目です。

出典:IPA「安全なウェブサイトの作り方 – 1.1 SQLインジェクション
SQLインジェクション攻撃による国内情報流出事例

2021年も、実際にSQLインジェクション攻撃を受けたという報告*4が複数上がっています。

「SQLインジェクション」や「クロスサイトスクリプティング」のような、比較的知られている脆弱性に起因するインシデント事例は、企業のセキュリティ対策姿勢が疑われる結果につながり、インシデントによる直接的な被害だけでは済まない、信用の失墜やブランドイメージの低下といった大きな痛手を受ける恐れがあります。

最も危険な脆弱性ランキング

最も悪用された脆弱性ワースト30

脆弱性対策は世界的な問題です。2021年7月、アメリカ、イギリス、オーストラリア各国のセキュリティ機関が、共同で「Top Routinely Exploited Vulnerabilities(最も悪用されている脆弱性)」の30件を発表しました。

出典:https://us-cert.cisa.gov/ncas/alerts/aa21-209aより弊社作成

2021年にかけてサイバー攻撃グループが悪用していることが示唆されているものが多く含まれており、いまだ世界中の多くの企業や組織では、前述の脆弱性に対して未対応であることがうかがえます。

上記一覧からおわかりのとおり、ほとんどが、業務利用されているおなじみの製品群です。リモートワークの促進やクラウドシフトといったIT環境の変化が、既知の脆弱性に悪用する価値を与えているのです。各セキュリティ機関は、特にVPN製品に関する脆弱性に警鐘を鳴らしています。

思い当たる製品がある場合は、まずは侵害の痕跡(IoC:Indicator of Compromise)があるか確認し、必要に応じて対処する必要があります。そして可能な限り早急にパッチを適用する必要があります。いずれの製品にもセキュリティパッチがリリースされています。

最も危険なソフトウェアエラー 「CWE TOP25」2021年版

危険な脆弱性に関する情報として、米MITRE社より、「2021 CWE Top 25 Most Dangerous Software Weaknesses(最も危険なソフトウェアエラーTop25 2021年版)」も発表されています。CWE(Common Weakness Enumeration)は、ソフトウェアにおける共通脆弱性分類です。脆弱性項目ごとに一意のIDが決められ、そのタイプごとに体系化されています。

出典:https://cwe.mitre.org/top25/archive/2021/2021_cwe_top25.html より弊社翻訳

前年度と比較して順位を上げている項目については、特に脅威が高まっていると言えます。自組織のセキュリティの弱点と関係しているかといった分析や優先的に対策すべき項目の検討などに役立つ情報です。

脆弱性の対策に有効な手段とは?

多くのWebサイトに脆弱性が存在していることについて述べてまいりました。脆弱性の放置は、サイバー攻撃を誘発し、事業活動に甚大な影響を及ぼしかねません。たとえサイバー攻撃をすべて防ぎきることはできないにしても、セキュリティ対策をどのように講じてきたかという姿勢が問われる時代です。基本的なセキュリティ対策を怠っていたばかりに、大きく信頼を損ねる結果とならないようにしたいものです。

Webサイトにおける脆弱性の有無を確認するには、脆弱性診断が最も有効な手段です。自組織のセキュリティ状態を把握して、リスクを可視化することが、セキュリティ対策の第一歩となります。脆弱性診断を効果的に行うコツは、「システムライフサイクルに応じて」「定期的に」です。脆弱性の状況は、新規リリース時や改修時ばかりでなく、時宜に応じて変化することに注意が必要です。

変化という意味では、脆弱性情報のトレンドを把握するのも重要です。この点、様々なセキュリティ機関やセキュリティベンダなどが情報配信を行っていますので、最新状況のキャッチアップにご活用ください。

弊社では昨年8月に「テレワーク時代のセキュリティ情報の集め方」と題したウェビナーで、情報収集の仕方やソースリストのご紹介をしておりますので、ぜひご参考にしていただければと思います。

リスク評価、セキュリティ対策検討の初動である、脆弱性診断および脆弱性情報の収集が、健全な事業活動継続の実現に寄与します。

Security NEWS TOPに戻る
バックナンバー TOPに戻る


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

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

中小企業がサイバー攻撃の標的に!
Webサイトのセキュリティ対策の重要性
―個人情報保護法改正のポイント―

Share

Security NEWS TOPに戻る
バックナンバー TOPに戻る

PCのイラストとプロテクトマーク

2022年(令和4年)4月1日に改正個人情報保護法(令和2年改正法)の全面施行が予定されています。いま、攻撃者にとって格好のターゲットとなるWebサイトを狙ったサイバー攻撃は、大企業のみならず中小企業も狙われており、サイバーセキュリティに対する意識が低いなどセキュリティ課題が明らかになっています。本記事では、個人情報保護法改正の全面施行に向け、改正点を解説し、最新のサイバー攻撃の種類と手口、セキュリティ対策を改めて整理します。

サイバー攻撃や組織における管理またはシステムの設定不備・不足等が原因となり、個人情報を含む機密情報の漏洩事故および事件が相次いで発生しています。東京商工リサーチの調べ*5によれば、2020年に上場企業とその子会社で個人情報漏洩または紛失事故・事件を公表したのは88社、漏洩した個人情報は約2,515万人分とされています。個人情報の漏洩または紛失事故・事件は年々増加の傾向にあり、同社の調査結果を見ても2020年は社数では最多、事故・事件の件数は2013年に次いで過去2番目に多い水準となっています。

出典:東京商工リサーチ「上場企業の個人情報漏えい・紛失事故」調査(2020年)

改正個人情報保護法への対応

個人情報の保護においては、2022年(令和4年)4月1日に改正個人情報保護法(令和2年改正法)の全面施行が予定されています。また海外でも法の整備が進んでおり、日本企業と関連性の深いところでは、例えば8月にブラジル個人情報保護法(LGPD)、2022年6月頃にタイ個人情報保護法(PDPA)の施行があります。多くの組織にとって、自組織やサプライチェーン内の関係組織かを問わず、国内外における個人情報保護体制の整備・見直しが必要であり、改正個人情報保護法への対応は重要課題の一つといえるでしょう。

個人情報保護法改正のポイント

個人情報保護法の主な改正点は以下のとおりです。

また、これら以外ではデータの利活用が促進されることもポイントです。この観点からは「仮名加工情報」について事業者の義務が緩和されることと、情報の提供先で個人情報となることが想定される場合の確認が義務化されることが定められました。企業のWebサイトでは利用者の閲覧履歴を記録する仕組みとしてCookieを使用し、デジタルマーケティング等に活用しているところも多いでしょう。Cookieにより取得されるデータは他の情報と照合するなどして個人の特定につながり得るため、保護を強化する声が高まっていたこともあり、改正個人情報保護法では取り扱いに慎重を期するよう求めています。

中小企業を狙ったサイバー攻撃

Cookieのみならず、Webサイトでは個人情報や決済情報など、様々な機密扱いの重要情報を取り扱っていることがあります。それらが漏洩する事故・事件が発生した場合、組織は金銭的損失や信用失墜に陥るだけでなく、個人情報の所有者(本人)から利用停止・消去請求があった場合には「情報資産」も失う可能性があります。

サイバー攻撃においてWebサイトが格好のターゲットであることはご存知のことでしょう。また、攻撃者に狙われるのは大企業ばかりではありません。経済産業省からの報告資料*2によれば、全国の中小企業もサイバー攻撃を受けていることが明らかになっています。というのも、中小企業の多くは大企業に比べてサイバーセキュリティに対する意識が低く、被害者になると考えていないことから攻撃を受けていること自体に気付いていなかったり、セキュリティに対する知識や対策に必要な資源が不十分であるために原因の特定や対策の実施が困難だったりするためです。

独立行政法人 情報処理推進機構(IPA)が2021年3月に公開した「小規模ウェブサイト運営者の脆弱性対策に関する調査報告書」では、小規模Webサイトの運営およびセキュリティ対策、さらには脆弱性対策の実態を調査したアンケート結果とそれに対する見解が述べられています。

IPAが調査の中で、サイバー攻撃の対象となり得る、脆弱性を作りこむ可能性があるWebサイトの機能・画面を選定し、それらが実装されているかを確認したところ、「ユーザによるフォームの入力(問合せ、掲示板等を含む)」が56.5%、「サイト内の検索と結果表示」が36.9%、「ユーザへのメール自動送信」が36.9%、「入力された情報の確認のための表示」が34.6%で上位を占めました。なお、これらはWebサイトの規模の大小にかかわらず多くのWebサイトに共通して実装されている機能・画面であり、当社の脆弱性診断でも検査の対象となっているものです。

Webサイトのセキュリティ対策において、脆弱性を可能な限り作りこまない設計となっているか、脆弱性を発見するための情報収集や検査は実施しているか、対応するための体制や仕組みはあるか、といった事柄はとても重要になります。

中小企業がより危険視されているのは、こうした事柄を実現するための「人員が足りない」「予算が確保できない」といった課題(下図参照)があり、さらにセキュリティ対策に関する知識不足や、意識の甘さがあることからサイバー攻撃のターゲットになりやすいことが理由に挙げられます。また、脆弱性に関する知識についても、情報漏洩につながる危険性のある「SQLインジェクション」や「OSコマンドインジェクション」等について具体的な内容を知らないという回答が約50%~60%に上りました。

出典:IPA「小規模ウェブサイト運営者の脆弱性対策に関する調査報告書

サイバー攻撃の種類と手口

サイバー攻撃は多種多様なものが存在しますが、最近では特に次のような攻撃が大きな問題となっています。

① 分散型サービス運用妨害(DDoS)攻撃
  攻撃対象に対して複数のシステムから大量の通信を行い、
  意図的に過剰な負荷を与える攻撃
② ランサムウェア攻撃
  データを暗号化したり機能を制限したりすることで使用不能な状態にした後、
  元に戻すことと引き換えに「身代金」を要求するマルウェアによる攻撃
③ ビジネスメール詐欺
  従業員や取引先などになりすまして業務用とみられる不正なメールを送ることで
  受信者を欺き、金銭や情報を奪取する攻撃
④ Webサービスからの個人情報窃取
  Webサービス(自社開発のアプリケーションや一般的に使用されているフレームワーク、
  ミドルウェア等)の脆弱性を突いて、個人情報を窃取する攻撃
  ※前段で触れた、情報漏洩につながる危険性がある
  「SQLインジェクション」や「OSコマンドインジェクション」もこれに分類されます。

それぞれの攻撃の目的および手口や対策の例を以下にまとめました。金銭的利益は攻撃目的の大半を占めますが、それ以外を目的とした攻撃も多数確認されています。その他代表的な攻撃や目的については、「サイバー攻撃を行う5つの主体と5つの目的」で参照いただけます。

Webサイトの脆弱性対策

改正個人情報保護法の全面施行に向けて、組織は個人情報をさらに厳格に管理する必要があります。前述のとおり、6か月以内に消去する短期保存データも「保有個人データ」に含まれるようになるため、例えば、期間限定のキャンペーン応募サイトなども今後は適用範囲内となります。公開期間は短くとも、事前にしっかりとセキュリティ対策の有効性を確認しておく必要があるでしょう。

情報の安全な管理を怠り流出させた場合、それが個人情報であれば罰則が適用される可能性があり、取引先情報なら損害賠償を要求されることが想定されます。また、ひとたびセキュリティ事故が起これば、企業の信用問題にも陥りかねません。

2021年3月にIPAが公開した「企業ウェブサイトのための脆弱性対応ガイド」では、脆弱性対策として最低限実施しておくべき項目として以下7つのポイントを挙げています。

(1) 実施しているセキュリティ対策を把握する
(2) 脆弱性への対処をより詳しく検討する
(3) Webサイトの構築時にセキュリティに配慮する
(4) セキュリティ対策を外部に任せる
(5) セキュリティの担当者と作業を決めておく
(6) 脆弱性の報告やトラブルには適切に対処する
(7) 難しければ専門家に支援を頼む

脆弱性対策を行うためには、まずWebサイトに脆弱性が存在しているかを確認することから始めましょう。脆弱性診断を行い、Webサイトのセキュリティ状態をきちんと把握することで内包するリスクが可視化され、適切な対応を講じることが可能となります。また、Webサイトの安全性を維持するには、定期的な診断の実施が推奨されます。定期的な診断は、新たな脆弱性の発見のみならず、最新の攻撃手法に対する耐性の確認やリスク管理にも有効です。

セキュリティ対策を外部の専門業者に依頼する場合に、「技術の習得や情報の入手・選別が難しい」といった課題もあります。弊社では昨年8月に「テレワーク時代のセキュリティ情報の集め方」と題したウェビナーで、情報収集の仕方やソースリストのご紹介をしておりますので、ぜひご参考にしていただければと思います。

Webサイトは、いまや企業がビジネスを行う上で不可欠なツールの一つとなっている一方で、安全に運用されていない場合、大きな弱点となり得ます。脆弱性対策を行い、セキュリティ事故を未然に防ぐ、そして万が一攻撃を受けた際にも耐え得る堅牢なWebサイトを目指しましょう。

Security NEWS TOPに戻る
バックナンバー TOPに戻る


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

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

SQLインジェクションの脆弱性、企業が問われる2つの責任とは

Share

Security NEWS TOPに戻る
バックナンバー TOPに戻る

この記事では、XSS(クロスサイトスクリプティング)と並ぶ、Webアプリケーションの代表的脆弱性といえる「SQLインジェクション」について解説します。

XSSとSQLインジェクションの違いや、SQLインジェクション攻撃が実際に行われるまでの手口、セキュリティ会社がどのようにSQLインジェクションの脆弱性の有無を判断しているかなどを解説します。また、SQLインジェクションを放置した責任を企業が問われた裁判の判決も紹介し、最後にSQLインジェクションの対策方法を考えます。

SQLインジェクションとは

「SQLインジェクション」とは、データベースを操作する「SQL」という言語を悪用して、Webアプリケーションの入力フィールドに悪意のあるSQL文を入力するなどして行うサイバー攻撃のことです。SQLインジェクション攻撃によって、なりすまし、Webサイトの改ざん、あるいはデータを盗んだり破壊したりといったことが可能になります。

XSSとSQLインジェクションの違い

もうひとつの代表的な脆弱性であるXSSは、Webサイトにアクセスしているユーザに対して攻撃を行います。一方、SQLインジェクションは、攻撃対象がユーザではなくデータベースです。データベースに登録されている全てのデータが攻撃対象になり得るという点で、SQLインジェクションの方が、被害が発生した場合の規模がより大きくなる傾向があります。管理者にとって見つかったらとても嫌な脆弱性のひとつです。

SQLインジェクション攻撃が行われる仕組み

SQLとはデータベースを操作するための言語です。MySQL、PostgreSQL、Oracleなど、さまざまなデータベースで広く使われており、これらのデータベースは、すべてSQLインジェクションの攻撃を受ける可能性があります。

「Shodan(ショーダン)」というちょっと変わった検索エンジンでは、Webサイトのコンテンツではなく、インターネットに存在するコンピュータやIoT機器を探せるのですが、このShodanで「sql」と検索すれば、サーバヘッダに「SQL」が入ったコンピュータやサーバの一覧が山ほどリストアップされます。

サイバー攻撃者は、しばしばこうした情報をもとに標的を探し出し、一覧の中から、SQLインジェクションの脆弱性が放置されているサーバをさまざまな方法で絞り込み、攻撃を実行します。

脆弱性診断の現場でSQLインジェクションはどのぐらい見つかるのか

弊社が実施しているWebアプリケーション脆弱性診断の2020年上半期統計(14業種延べ533企業・団体。4596システムの診断結果)では、SQLインジェクションは、検出される全脆弱性(システム全体の83.9%)のうち1%ほどとなっています。被害が発生した場合のインパクトが極めて大きな脆弱性ですので、これは決して小さい数字であるとは言えません。

SQLインジェクションを検出する方法

一般的なやり方としては、入力フィールドに本来許可してはいけない文字列を設定した場合にWebアプリケーションがどう反応するか、といったことを観察し、SQLインジェクションの脆弱性の有無を診断します。こうした文字列を「診断文字列」と呼ぶことがあります。ちなみに、SQLインジェクションの脆弱性が存在する場合に、個人情報の取得ができるかどうかまでを実際にやってみるのがペネトレーションテストです。

SQLインジェクションの脆弱性を突かれた被害事例、企業が負う2つの責任

SQLインジェクションの脆弱性への対策を怠った結果、Webサイトが攻撃を受けて被害が発生してしまった場合、企業はどのような責任を負うことになるのでしょうか。

運営責任

あるショッピングサイトの被害事例からご紹介しましょう。このサイトでは、SQLインジェクションによる攻撃を受け、クレジットカード情報を含む最大10万件の個人情報が漏えいしました。その結果、営業停止による機会損失に加え、顧客に対する賠償用買い物ポイントの付与、お詫び状送付、被害者対応、インシデントの調査などに多くの費用がかかりました。

これは、欠陥を含むシステムを運営していた代償であり、「運営責任」を問われたかたちです。

開発責任―東京地裁判決より

続いて、運営責任ではなく、システムの「開発責任」を問われた例として、2014年にあった裁判の判決(平成23年(ワ)第32060号)をご紹介します。

とある企業の依頼で開発、納品されたオンラインショッピングのシステムに、SQLインジェクションの脆弱性が存在し、その結果、不正アクセスによる情報漏えい事故が発生しました。開発を依頼した側の企業は、開発会社がセキュリティ対策を怠っていたことを債務不履行として裁判に訴えました。東京地方裁判所はそれを認め、開発会社には約2,200万円の損害賠償支払いが命じられました。

SQLインジェクションはより過失度が大きい脆弱性

情報漏えいとは? 代表的な原因や求められる対応策」で解説していますが、どんな情報が漏えいしたかによって、情報漏えいの深刻度は異なります。たとえば、メールアドレスとセットでそれに紐付くパスワードも漏えいしていたとしたら、メールアドレスのみが漏えいした場合と比べ、事態はより深刻です。

そして、データベースに保存されるのは重要な情報ですから、そこを攻撃対象とするSQLインジェクションは、対策の優先順位が非常に高い脆弱性だといえます。対策を怠り、事故を招いた場合、社会やユーザからは非常に厳しい目が向けられるでしょう。

たとえば、納品したオンラインショッピングのシステムにSQLインジェクションの脆弱性が存在していたら、上述のように債務不履行、納品物の瑕疵とみなされ、SQLインジェクションの脆弱性を放置したままWebサイトを運営していたら、管理義務を果たしていないとみなされる可能性があるのです。

さらに言えば、Webサイトの開発責任が他社にあり、他社から賠償を受けられたとしても、Webサイトの運営側ではエンドユーザに対してなんの申し開きも立ちません。たとえばこれは、食中毒を出したレストランが、顧客に対して「傷んでいた食材を納品した卸業者が悪い」と言えないのと同じことなのです。

SQLインジェクション対策

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

まず、DevSecOpsの考えのもとでセキュアコーディングを行ったり、開発段階で脆弱性が作り込まれていないかソースコード診断を行ったりすることは、コストパフォーマンスの高い、きわめて有効な対策です。

さらに、近年、SQLインジェクションをはじめとするWebアプリケーション脆弱性に対処する仕組みが、アプリケーションやミドルウェア、開発環境側で整いつつあります。脆弱性のあるWebアプリケーションへの悪意ある通信をブロックするWeb Application Firewall(WAF)の普及も進んでいます。

2021年現在、最新のアプリケーションと開発環境を用いて新規にWebアプリケーションを開発するなら、たとえセキュリティを意識せずに開発に取り組んでいたとしても、SQLインジェクションの脆弱性が作り込まれることは少なくなってきているといえるでしょう。

しかしながら、すべての開発会社が最新の環境で開発を行える、ということはありません。DevSecOpsも、開発の考え方としてはまだ新しく普及はこれからという面があり、また、ソースコード診断を行うことができるような予算やスケジュールを確保できないことも多いでしょう。さらに、開発やリリース時点では脆弱性が存在しなかったとしても、Webサイトの機能追加や新しい攻撃手法の発見等によって、脆弱性は日々新たに生み出されていきます。

こうした実情に対して有効なのは、Webアプリケーションの定期的な脆弱性診断です。SQLインジェクションによるリスクを考えると、これはサイトを運営するならばぜひとも実施すべき対策、といえるでしょう。

まとめ

  • SQLインジェクションとはデータベースを操作する「SQL」という言語を悪用して行うサイバー攻撃、あるいはその脆弱性のことです。
  • Webサイトにアクセスしているユーザを狙うXSSと違って、Webサイトに登録済みのデータを狙うSQLインジェクションでは、より規模の大きい被害が発生する傾向があります。
  • 多くのデータベースではSQL言語が使われており、それらのデータベースはすべて潜在的にSQLインジェクションの攻撃を受ける可能性があります。
  • SQLインジェクション攻撃では、大規模な個人情報漏えいが起こる可能性が高く、そうなった場合、企業は運営責任を問われます。
  • SQLインジェクションの脆弱性を作り込んでしまった会社に損害賠償を命じる判決が下されたこともあります。
  • 最新の環境で開発を行えば発生しづらくなってはいるSQLインジェクションですが、リスクはゼロではありません。定期的な脆弱性診断は有効性の高い対策と考えてよいでしょう。

Security NEWS TOPに戻る
バックナンバー TOPに戻る


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

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

ソースコード診断の必要性とは?目的とメリットを紹介

Share

Security NEWS TOPに戻る
バックナンバー TOPに戻る

WEBアプリケーションは、プログラムの集合体であり、 ソースコードとはシステムやWebアプリを動かすコンピュータプログラムのことです。 このプログラムの集合体は現在では人間から読み書きしやすい言語で書かれていることが多くWebアプリケーションは人間にも読みやすいプログラムのテキスト、ソースコードの集合体と言い換えることができるようになっています。

脆弱性診断とは、システムのセキュリティ上の問題点を洗い出す検査のことですが、その中でも診断対象によりさまざまなサービスがあります。この記事では、その中の「ソースコード診断」を取り上げて、その定義、特徴、メリット、目的などを紹介します。

ソースコード診断とは?

脆弱性診断とは、システムのセキュリティ上の問題点を洗い出す検査のことを指します。
診断対象により、さまざまな脆弱性診断サービスがあります。

まず、企業が開発したWebアプリケーションが挙げられます。
問合せや会員登録といった、入力フォームの入出力値の処理、ログイン機能の認証処理などに対して、幅広く網羅的に脆弱性診断が行われます。
次に、そのWebアプリケーションを実行するサーバやネットワーク機器、OSやミドルウェアに脆弱性がないか検査するネットワーク診断があります。
そのほか、近年増加の一途をたどる スマホアプリケーションや IoT機器を対象とした脆弱性診断もあります。

このうち、ソースコード診断とは、アプリケーションのソースコード(開発者が書いたプログラム)を解析して、セキュリティ上および品質上の問題をコーディングレベルで検査する診断のことをいいます。

ソースコード診断

ソースコード診断には、ツールを用いて自動的に処理するツール診断(自動診断)と、セキュリティエンジニアが目視で確認する手動診断があります。

効率的に網羅性を確保できる自動診断ツールの支援は欠かせません。

一方手動診断は、機械的に検出できず、人間による判断が必要な脆弱性を発見します。手動のみで行う場合もありますが、多くはツール診断と組み合わせて網羅性と精度を上げていきます。

ソースコードを開示するため、ソースコード診断はホワイトボックステストと呼ばれます。これに対して、ソースコードや設計書を見ずに、システムの外部からアクセスして脆弱性や動作を検証する方法をブラックボックステストと呼びます。

ソースコード診断の特徴とメリット

ブラックボックステストでは検出が難しい脆弱性がソースコード診断なら検知できる場合があります。具体的には 「ソースコード診断で検出できる脆弱性」で後述します。

ブラックボックステストは、すでにソフトウェアあるいはシステムが機能していることを前提とした、リリース前あるいはリリース後に実施します。これに対して、ソースコード診断はその前段である開発プロセスから実施できるため、テスト結果を受けてプログラムを修正することが可能です。

開発の手戻りを減らすことでコストや工数削減につながります。詳細は「ソースコード診断の有効性」を参照してください。

ソースコード診断を実施する目的

ソースコード診断の目的は、プログラムに作りこんでしまった脆弱性を網羅的に検出することです。開発時に繰り返し実施し、開発者が修正していく運用が想定されています。

ソースコード診断の有効性

ソースコード診断は開発段階初期から実施可能です。リリース直前やリリース後に脆弱性が発見される可能性を抑えることで、より効率的で信頼性の高いシステム開発が可能になります。

CPE-Coreとはソースコード内の脆弱性と品質面の問題を検査する当社の自動静的解析ツールです。

システムのセキュリティを確保する方法

開発(Dev)、運用(Ops)、セキュリティ(Sec)を一体にしてシステムライフサイクルを回すDevSecOpsという考え方が注目を集めています。DevSecOpsとは、開発の全工程において、開発チームと運用チームが相互協力し、その一環にセキュリティを組みこむことで、アプリケーション開発のセキュリティを確保していく考え方のことをいいます。ここでは、開発プロセスのどこで、セキュリティを確保するための施策を実施するか説明します。

DevSecOpsにおけるセキュリティ対策

DevSecOps実現のためには、「シフトレフト」の考え方が大切になります。
セキュリティを開発の最終段階で対応したのではすでに遅く、開発プロセスの全フェーズにおいて常にセキュリティ上の課題を先取りして解決しながら進めることが、テストやリリースといった最終段階での手戻りを防ぎ、結果的にトータルコストの削減と品質の向上に寄与します。

一般的なセキュリティ対策として多くイメージされている「Webアプリケーション脆弱性診断」は「テスト」「リリース」工程におけるセキュリティ対策の一つ。
その一つ手前工程の「製造」工程におけるセキュリティ対策の一つが「ソースコード診断」です。

セキュアプログラミング

ソースコード診断の前に、そもそもシステムの設計・開発段階で、開発者が脆弱性を作りこまないようにする手法があります。これをセキュアプログラミングと呼びます。セキュアプログラミングで開発し、本当に脆弱性を作りこんでいないかどうかソースコード診断でチェックします。

ソースコード診断で検出できる脆弱性

一般的なWebアプリケーション脆弱性診断(ブラックボックステスト)では検出しにくい脆弱性も、ソースコード診断(ホワイトボックステスト)では発見できる場合があります。
たとえば未使用のコード、ログファイルによる情報の露出、エラーメッセージによる情報の露出などは、ソースコードを直接確認することで検知可能になります。

以下はWebアプリケーション診断とソースコード診断の両方の観点で検出可能な脆弱性です。
ここでは代表的な脆弱性(セキュリティバグ)について説明します。これらのバグを突く攻撃の名称としても用いられています。

バッファオーバーフロー

プログラムを実行する際に確保するメモリ上のバッファ領域に対して、このサイズを超過するデータを書き込めるようになっているバグです。攻撃者は超過する部分に不正なプログラムを書いて実行します。

フォーマットストリング

プログラム中の、書式設定用の関数(フォーマットストリング)の引数の処理に関するセキュリティバグです。正しくは、引数として不正な値が入力された場合には、処理を止めてエラーメッセージを返さなければなりません。

SQLインジェクション/コマンドインジェクション

SQL(データベースを定義、操作する言語)文や、その他のコマンドが入力された場合でも、エラーにせずに処理してしまうバグです。攻撃者の観点からは、コマンドを注入(インジェクション)する形になるため、この名が付いています。攻撃の入り口はアプリケーション上の通常の入力欄で、ここに不正な値を入力することで攻撃を開始します。

クロスサイトスクリプティング

悪意のあるスクリプト(プログラム)をユーザのコンピュータに注入して、複数のWebサイトをまたいで(クロスサイト)行う攻撃や、その攻撃で利用される脆弱性を指します。

まとめ

・ソースコード診断はソースコード(開発者が書いたプログラム)を解析し、セキュリティ上の問題点を発見する
・開発フェーズの初期から実施することで、リリース直前に脆弱性が発見されるようなスケジュールに影響するトラブルを防止する
・一般的なWebアプリケーション脆弱性診断では検出しにくい脆弱性も、ソースコード診断を実施することで開発段階から検出ができる

Security NEWS TOPに戻る
バックナンバー TOPに戻る


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

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