PCI DSS v4.0で変わるセキュリティ対策のポイント

Share
2枚のクレジットカードのイメージ

PCI DSS v3.2.1の引退まで1年を切っていますが、対応状況はいかがでしょうか。2022年3月31日にリリースされたPCI DSS v4.0の準拠運用は、即時要件に対しては遅くとも2024年4月に開始される時期となり、システム系の大きな変更点が伴う未来日付要件を含めたv4.0完全対応完了までは、残り1年半となっています。この記事では、PCI DSS v4.0で変わるセキュリティ対策のポイントについて、脆弱性診断に関する要件に着目し、今後どのように対応すべきかについて解説します。


PCI DSS v4.0:新たなセキュリティスタンダードへの移行

PCI DSSとは、Payment Card Industry Data Security Standardの頭文字をとったもので、クレジットカード会員データを安全に取り扱うことを目的として策定された、クレジットカード業界のセキュリティ基準です。American Express、Discover、JCB、MasterCard、VISAの5つのカードブランドによって設立された組織、PCI SSC(PCI Security Standards Council)によって管理されており、クレジットカードを取り扱うすべての事業者に対して、カード情報の保護とセキュリティの実施を求めるものです。この基準に準拠することで、クレジットカードを取り扱う事業者の信頼性と顧客の安心感を高め、ブランド価値の保護、そして業界全体のセキュリティレベルの向上に寄与します。

2022年3月31日には最新版PCI DSS v4.0が発表されました、 以前のメジャーバージョンであるPCI DSS v3.0は2013年11月に発表されたもので、今回8年4か月ぶりのメジャーアップデートとなります。今後2024年3月31日には2年間の移行期間が終了したv3.2.1が引退し、以降v4.0のみが有効な基準となることが決まっています。

PCI DSS v4.0移行スケジュール

未来日付要件は、現在はベストプラクティス要件の位置づけのため、2025年3月31日までは対応必須ではありません。しかし、残り1年半程度の対応期間の中で、システム改修や新規ソリューション導入等を行わなければならない場合、予算化や製品選定、対応ベンダ選定、運用に向けた検証作業、手順書見直しなど、対応すべき事項は決して少なくありません。

少なくとも今年度中には、要件の要求ポイントと自組織に不足する要素を洗い出し、対応スケジュールの立案が済んでいることが望ましい時期です。

PCI DSS v4.0改定のポイント

PCI DSS v4.0は、従来のv3.2.1に比べて、以下のようなポイントで改定されています。

● 決済業界のセキュリティニーズに対応
● 継続的なプロセスとしてセキュリティを促進
● さまざまな方法論に柔軟性を追加
● 検証方法を強化

出典:https://www.pcisecuritystandards.org/document_library/
PCI-DSS-v4-0-At-a-Glance-r1-JA.pdf

PCI DSS v3.2.1からの主な変更点

PCI DSS v4.0では、いくつかの重要な変更点があります。事業者がPCI DSS準拠の対応を検討する際には、これらの変更点に注意を払う必要があります。

要件タイトル変更

まず、大きな変更の一つ目が、要件タイトルの変更です。要件9以外すべてが変更となりました。加えて、要件の理解を高めるために、詳細要件と用語の定義、文章の修正が行われました。

PCI DSSv4.0要求事項(PCIデータセキュリティ基準まとめ)

進化した要件

次に、新たな脅威や技術、決済業界の変化に対応するため追加された新規要件や、既存要件が一部変更/削除されたものがあります。該当する要件は67件ありますが、その中でも大きなものとしては、以下のようなものがあげられます。

PCI DSS v4.0新要件内容まとめ

多要素認証について

PCI DSS v4.0では、要件8.5.1にて、多要素認証(MFA)について、実装方法が明確に要件化されました。

PCI要件8.5.1「多要素認証の構成について」要件内容

また、要件8.4.2では「カード会員データ環境(CDE)へのすべてのアクセス」にMFA(多要素認証)が要求されることになりました。8.4.3では「カード会員データ環境(CDE)にアクセスまたは影響を与える可能性のある、事業体のネットワーク外から発信されるすべてのリモートネットワークアクセス」に対してもMFAが求められており、それぞれでMFAが必要となります。

これは例えば、ある担当者が最初にリモートアクセスによって事業者のネットワークに接続し、その後ネットワーク内からカード情報データ環境(CDE)への接続を開始した場合、その担当者は「事業者のネットワークにリモートで接続するとき」と「事業体のネットワークからカード会員データ環境(CDE)へアクセスするとき」の2回、MFAを使用して認証する必要があるということです。なお、CDEへのアクセスに対するMFAはネットワークまたはシステム/アプリケーションのレベルで実装することができます。CDEネットワークに接続する際にMFAを使用した場合、その後のCDE内の各システムコンポーネントにログインする際には追加のMFAを使用する必要はありません。

脆弱性診断に関する主な変更点

PCI DSS v3.2.1からv4.0への変更点のうち、脆弱性診断に関わるポイントとしては以下の3点が挙げられます。

脆弱性診断に関する主な変更点(脆弱性スキャンの頻度・認証スキャンの実施・ペネトレーションテストの内容)

脆弱性スキャンの頻度は「四半期に一度」だったところが「3カ月に1回」へと変更されました。PCI DSSの時間枠要件の意図は「その時間枠を超えない範囲で、できるだけ近い感覚で実行されること」であるところを、「四半期に一度」では最大半年ほど間隔があいてしまうことも許容することになってしまうため、厳格化されたものと思われます。

認証スキャンの実施については、十分な特権ユーザのID/パスワードのアカウント、もしくはクライアント証明書を保持した状態であることが必要になります。十分な権限による脆弱性スキャンができない事情がある場合は、当該システムについて文書化することが求められます。

ペネトレーションテストに求められる内容については、PCI DSS v3.2.1では、業界承認のテスト方法(NIST SP800-155など)であればよいと規定されていましたが、結果としてペンテスターへの依存度が高くなり、さまざまな形態のペネトレーションテスト結果の提出が許容される形となっていました。こうした状況を是正し、準拠レベルを標準化するため改定されたのではないかと考えられます。

脆弱性診断実施にあたって求められる対応

PCI DSS v4.0では脆弱性診断実施にあたって求められる対応にも変更があります。高リスクの脆弱性(CriticalやHigh)以外の脆弱性、すなわち中・低リスクの脆弱性(MediumやLow)についても、ターゲットリスク分析の上で対応をすることが要求されています。また、脆弱性は日々新しいものが発見・更新されていますので、各種のスキャン等で検出された高リスクの脆弱性対応だけでも大きな負担であるところを、さらに中低のリスクとされる脆弱性についても対処が必要となると、脆弱性管理は非常に負担の大きな作業になることが予想されます。

PCI DSS v4.0に求められる脆弱性診断のポイント(診断実施機関の長期化・診断実施時のリスクの考慮)

QSA(Qualified Security Assessors:認定審査機関)の見解次第ではありますが、ターゲットリスク分析の結果、『対処の必要なし』と判断した事業者側の意見が通った場合は別として、中低リスクの脆弱性についても対処が基本的に必要になると考えますと、今まで通りのやり方(PCI DSS v3.2.1手法の脆弱性管理)では指摘を受ける可能性もあります。この規定の”目的”部分を見ると、機械的に中小リスクだから対応は一律不要と判断するのではなく、ターゲットリスク分析において、きちんとした根拠を持って”対処が不要”とした事業者が結論を出す必要があると読み取れます。

脆弱性診断に関する主な変更点については、SQAT® Security Report 2023年 春夏号
PCI DSS v4.0で変わる脆弱性診断 ~2024年4月1日完全移行で慌てないために~」でも取り上げています。
以下より資料(PDF)ダウンロードいただけますので、ぜひご参考ください。
https://www.sqat.jp/sqat-securityreport/

PCI DSS v4.0への移行に向けて

PCI DSSの準拠対応を検討する事業者にとって、PCI DSS v4.0への移行は重要な課題です。新たな要件や変更点に対応するためには、準備が必要となります。

PCI DSS v4.0準拠までのステップ

● PCI DSS v4.0の精査
● 現状の環境での差異を把握
● 詳細化・明確化要件の対応を開始
● 新規要件およびシステム化対応の予算を確保
● 新規要件およびシステム化対応の実施
● 全体の対応状況の確認

PCI DSS v4.0では、ここで取り上げたほかにも、クラウド環境でのセキュリティ要件の明確化、セキュリティ管理の強化といった変更点もあります。事業者はv4.0に準拠対応しようとした場合、従来よりも高いレベルのセキュリティを実現することが求められます。専門家の助言や適切なソリューションを活用することが、スムーズな準拠対応の一助となるでしょう。当社ブロードバンドセキュリティがその助けとなれば幸いです。

関連情報

ウェビナー抜粋動画

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

「今さら聞けない!PCI DSSで求められる脆弱性診断あれこれ」
PCI DSSの準拠対応についてご紹介しつつ、PCI DSSで求められる脆弱性診断とペネトレーションテストの概要について今さら聞けない!?内容を徹底解説しています。今後も皆様のお役に立てるセミナーを企画してまいりますので、ご要望がございましたらぜひ、お問い合わせください。


BBSecでは

BBSecは、PCI SSC認定QSA(PCI DSS準拠の訪問審査を行う審査機関)です。準拠基準についての疑問や対応困難な状況があるといったような懸念・不安などは曖昧なままにせず、QSAにご相談いただくことをおすすめいたします。準拠に向けた適切な対応を検討するためのアドバイスや、事情に応じた柔軟な対応も可能です。

お問い合わせはこちら
※外部サイトにリンクします。

PCI DSS v4.0対応脆弱性診断サービス随時対応受付中!

次回ウェビナー開催のお知らせ

・2023年10月18日(水)13:50~15:00
自動車産業・製造業におけるセキュリティ対策のポイント -サプライチェーン攻撃の手口と対策方法-
・2023年11月15日(水)13:50~15:00
Webアプリケーションの脆弱性対策 -攻撃者はどのように攻撃するのか-

最新情報はこちら

Security Report TOPに戻る
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コーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像

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

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コーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像

セキュリティ診断の必要性とは?

Share

「セキュリティ診断」とは何か?セキュリティ診断には脆弱性診断、ソースコード診断、ペネトレーションテストなどの方法があります。今回は、企業にセキュリティ診断が不可欠な背景を説明します。また、診断以外のセキュリティ対策にも触れます。

セキュリティ診断の必要性とはのサムネ

サイバー攻撃や組織における管理またはシステムの設定不備・不足等が原因となり、機密情報等の漏洩事故および事件が相次いで発生しています。東京商工リサーチの調べによれば、上場企業とその子会社で起きた個人情報漏洩または紛失事故・事件件数は2021年で137件となり過去最多を更新しました。*1実際に企業がデータ侵害などの被害を受けてしまい、機密情報等の漏洩が発生してしまうと、システムの復旧作業に莫大なコストがかかるほか、データ侵害によるインシデントが信用失墜につながることで、 深刻なビジネス上の被害を引き起こします。被害を最小限に抑えるために、適切な事故予防、攻撃対策をとっていくことは、企業の重要な業務のひとつとなっています。

セキュリティ対策やセキュリティ診断は、企業にとっていまや基幹業務に不可欠であり、社会的責任でもあります。この記事ではセキュリティ診断の内容と必要性などを解説します。

セキュリティ診断とは? その必要性

セキュリティ診断とは、システムのセキュリティ上の問題点を洗い出す検査のことを指します。脆弱性診断、脆弱性検知、など呼び方もさまざまで、また対象によってソースコード診断、システム診断、Webアプリケーション診断、ペネトレーションテストなどに分類されます。

なお、複数の診断方法のうち、同様の診断をセキュリティベンダーや診断ツール提供者がそれぞれ微妙に異なる名称で呼んでいるケースもあります。

「セキュリティ診断」という用語は、単に「脆弱性診断」を指すこともあれば、セキュリティに関するさまざまな診断や評価全体を包括して「セキュリティ診断」と呼ぶ広義の使い方もあります。

「セキュリティ」には、情報セキュリティだけではなく、デジタル社会へのリスク対応全般が含まれる場合もありますが、「セキュリティ診断」という用語は、企業など組織の事業における(情報)セキュリティリスクの低減を主な目的とした検査のことをいいます。

資産である情報の「機密性」「完全性」「可用性」を守るため、セキュリティ診断を行うことで、情報セキュリティの観点からみた構造上の欠陥や、組織体制、あるいは運用上の弱点を見つけることができます。発見された問題に対し優先順位をつけて対策を実施することで、より堅牢なシステム・環境・体制を構築することができます。

企業に求められる情報セキュリティ対策の例

企業が実施するセキュリティ対策のうち、よく話題にあがるものをいくつかピックアップして説明します。

不正アクセス対策

不正アクセス対策のサムネ

不正アクセスとは、本来アクセス権限を持たない者が、何らかの手段を用いて第三者の情報にアクセスすることをいいます。なりすまし不正侵入といった形が一般的です。不正アクセスによって、個人情報や知的財産が奪われる、サーバやシステムが停止するなど、企業活動に影響するリスクが生じます。不正アクセスに対しては、「不正アクセス行為の禁止等に関する法律(不正アクセス禁止法)」によって、アクセス管理者にも次の管理策を行う義務が課されています(ただし、罰則はありません)。
・識別符号の適切な管理
・アクセス制御の強化
・その他不正アクセス行為から防御するために必要な措置
セキュリティ診断を通じてシステムに存在する弱点を洗い出し、発生箇所を特定することで、こうした不正侵入などへの対策を立てやすくする効果があります。

脆弱性対策

脆弱性とは、一つ以上の脅威によって付け込まれる可能性のある資産または管理策の弱点をいいます。脅威とは、「システム又は組織に損害を与える可能性がある、望ましくないインシデントの潜在的な原因」で、いわばシステムにおけるバグのようなものです。それらの脆弱性は、「危険度を下げる」「蔓延を防ぐ」「影響度を下げる」ことで、悪用されにくくすることができます。

脆弱性対策とは、これらの角度からシステムの欠陥をつぶしていく行為ともいえます。利用しているソフトウェアの既知の脆弱性をアップデートやパッチの適用で常に最新版に保ったりすることや、システム開発の場面でそもそも脆弱性を作りこまないように開発することなどが、その典型例です。

標的型攻撃対策

近年、「高度標的型攻撃(APT)」と呼ばれる、新しいタイプの攻撃が警戒されるようになりました。もともと、標的型攻撃とは、特定の企業や組織に狙いを定めてウイルスメールを送るなどの攻撃を仕掛けるものでしたが、高度標的型攻撃は、特定のターゲットに対して長期間の調査と準備を行い、ときには社内のネットワーク構成図や会社組織図、キーパーソンの休暇の取得状況まで調べ上げたうえで、サイバー攻撃を仕掛けてきます。

標的型攻撃対策のサムネ

従来、標的型攻撃の対策としてはセキュリティ意識を高める訓練が主でしたが、今では「侵入されること」を前提に、セキュリティ機器を使った多層防御システムを構築することの大切さが、広く認識されるようになってきました。高度標的型攻撃に特化したセキュリティ診断を受けることで、攻撃被害スコープを可視化したり、脅威リスクのシミュレーションを行うことができます。

運用を含むリスクアセスメント

システムが技術的に強固に守られていても、アクセス用のIDとパスワードを付箋紙に書いてモニターに貼り付けていたら、安全は保たれるべくもありません。

システムなど技術的側面からだけでなく、作業手順や業務フロー、作業環境、組織のルールなどの運用面も含めてリスク評価を行うことを「リスクアセスメント」と呼びます。リスクアセスメントを通じて、リスクの棚卸による現状把握ができ、優先順位をつけて改善策を講じていくことが可能になります。

セキュリティ診断の方法と種類

セキュリティ診断の分類はいくつかあります。
<診断対象による分類>
 ・Webアプリケーション脆弱性診断
 ・ネットワーク脆弱性診断
 ・ソースコード診断
 ・スマホアプリ脆弱性診断
 ・ペネトレーションテスト
 ・クラウドセキュリティ設定診断
 ・IoT診断

<ソースコードや設計書の開示の有無による分類>
 ・ホワイトボックステスト
 ・ブラックボックステスト

<診断実施時にプログラムを動かすかどうかによる分類>
 ・動的解析
 ・静的解析

ホワイトボックステスト/ブラックボックステスト、動的解析/静的解析については、SQAT.jpの以下の記事でご紹介しています。こちらもあわせてご覧ください。
「脆弱性診断の必要性とは?ツールなど調査手法と進め方」

Webアプリケーションセキュリティ診断

Webアプリケーションに対して行う診断です。事業活動に欠かせないWebサイトはデータの宝庫です。ハッキング対象の約7割がWebサイトであるともいわれています。ひとたびデータ侵害が起こると、事業継続に影響を与えかねないインシデントを引き起こすリスクがあります。

ネットワークセキュリティ診断

サーバ、データベース、ネットワーク機器を対象として脆弱性診断やテスト、評価を行います。搭載されているOS、ファームウェア、ミドルウェアなどのソフトウェアについて、最新版か、脆弱性がないか、設定に不備がないかなどを確認します。ネットワークの脆弱性対策をすることで、サーバの堅牢化を図る、不正アクセスを防止するなどの効果を得られます。

ソースコードセキュリティ診断

WEBアプリケーションは、プログラムの集合体であり、脆弱性はプログラム処理におけるバグであるといえます。入力チェックやロジック制御に、バグ(考慮不足)があるから、想定しない不具合が発生すると考え、プログラムコード(ソースコード)を調べていくのがソースコード診断です。ソースコード診断はプログラムに対するセキュリティ観点でのチェックであるとともに、開発工程の早い段階で、脆弱性を検出することが可能になります。

セキュリティ診断で未然に事故を防ごう

セキュリティ診断で未然に事故を防ごうのサムネ

セキュリティ診断のひとつとして挙げた脆弱性診断には、さまざまな診断ツールが存在しており、無料で入手できるものもあります。しかしツールの選定や習熟には一定の経験や知見が求められ、そもそも技術面だけでは企業のセキュリティを確保することはままなりません。セキュリティの専門会社の支援を受けて、客観的な評価やアドバイスを受けるのも有効な手段です。

セキュリティ専門会社による脆弱性診断を実施することで、日々変化する脅威に対する自システムのセキュリティ状態を確認できるため、適時・適切の対策が可能です。予防的コントロールにより自組織のシステムの堅牢化を図ることが事業活動継続のためには必須です。

まとめ

  • Webアプリケーションセキュリティ診断、ネットワークセキュリティ診断、ソースコード診断、セキュリティに関するさまざまな診断やテストが存在する
  • 不正アクセスなどの攻撃を防ぐためシステムの脆弱性を見つけて対策することが必須
  • 技術的対策だけでセキュリティを担保することは難しい
  • 人間の脆弱性や業務運用までを含む包括的な視点で組織にひそむリスクを洗い出すことも重要
セキュリティ診断サービスのサムネ

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


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

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

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

Share

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

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

ソースコード診断とは?

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

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

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

ソースコード診断

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

セキュアプログラミング

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

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

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

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

バッファオーバーフロー

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

フォーマットストリング

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

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

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

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

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

まとめ

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

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


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

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

業界別診断結果レーダーチャート

Share

2019年下半期 Webアプリケーション診断

診断対象を業界別に分類し、当社報告書内で使用している、入出力制御、認証、セッション管理、重要情報の取り扱い、システム情報・ポリシーといったカテゴリごとに、検出された脆弱性をリスクの重大性で評価してレー ダーチャート化した。レーダーチャートの算出方法は、集計期間に検出された脆弱性の平均値から、システムごとに判定した結果の平均値である。今回は、オリンピック・パラリンピックを目前に控え、新しい試みを続ける観光・宿泊・運輸(航空・旅客)業などの「ホスピタリティ」業界をピックアップし、分析した。

「高」リスク以上の脆弱性が検出されたシステムであっても、正しい対処を施せば影響は最小化できる。また、事故を未然に防ぐための方法を、官公庁などがガイドラインや対策提言などとして発表しているので、これらも参考にしていただきたい。

ホスピタリティ業界

図1 検出された脆弱性の平均値

ホスピタリティ業界(観光・宿泊・運輸)分野のシステム脆弱性診断の平均値は図1のとおり。システム情報・ポリシーにおいてやや数値が低いものの、平均して大きな問題が検出されたシステムは少ない。

しかし注意を喚起したいのが、このレーダーチャートがあくまでも「平均」であることだ。殆どのシステムは平均値を上回る、あるいはほぼ平均値に近い値であったものの、大きく平均を下回るシステムも存在した。特に入出力制御とセッション管理においてその傾向が顕著であった。なお、システム情報・ポリシーは総じて平均に近い値であった。オリンピック・パラリンピックに向けて活況な業界の現状と課題について考えていく。

電子商取引(BtoC-EC)の活況と課題

2019年5月に経済産業省が公表した「平成30年度 我が国におけるデータ駆動型社会に係る基盤整備」によれば、日本のBtoC-ECのサービス系分野において、最も市場規模が大きいのが旅行サービスである。2018年のBtoC-ECの市場規模は3兆7,186億円にのぼり、全体の約56%を占める。ここでいう「旅行サービス」とは、旅行代理店への申し込み、航空機利用(国内便・国際便)、鉄道(新幹線・その他在来線)、バス利用、ホテル・旅館の宿泊費に関して、消費者の国内外を問わず日本の事業者に支払いが発生する市場を指す(ビジネスで利用する「出張」は除外)。牽引するのはインターネット専業の旅行代理店(通称:OTA :Online Travel Agency)で、国内のサイトをはじめ、エクスペディアやBooking.comといった外資系OTAも目立っている。特にインバウンドにおいては外資系OTA抜きでは成り立たないといっても過言ではない。

旅行サービス業においてBtoC-ECは、航空券やホテル予約における空席や空室といった「在庫」管理に直結している。例えば、客室数という確定サービス枠が存在し、空室を「在庫」として顧客に提示しインターネットを介して予約を受け付け、自動で在庫管理を行う形態は、「在庫数」が明確に定義できるサービスにとって非常に親和性の高い形態である。

しかし、市場が成長を続ける一方でセキュリティの甘さも課題として浮かんできた。

2018年にセキュリティ企業のTrustwaveが犯罪被害にあった世界19カ国の企業・団体など数千社を対象に行った調査結果では、宿泊業・旅行業を含む「ホスピタリティ産業」は、小売、金融に次いで3番目に被害が多く、全体の10%を占めた。特にクレジットカード払いができるシステムが狙われている。またセキュリティ企業のDashlaneが2018年に実施した調査では、旅行関連サイト55社の89%でパスワードポリシーや認証機構に問題があったとの結果が報告されている。さらにシマンテックの研究者による調査では、54カ国約1,500のホテルにおける67%もの予約サイトがサードパーティサイトに予約参照コードを意図せず漏らしているリスクを内包しているという報告がなされている。同調査では、ホテルサイトの4分の1以上(29%)が、顧客への予約受領のメールに記載している予約管理システムへのリンクを暗号化していないとも述べている。実店舗を狙ったサイバー攻撃は減少傾向にあるものの、電子商取引ではむしろ増加傾向にあるといえるだろう。

OTAに関しては観光庁が2015年に「オンライン旅行取引の表示等に関するガイドライン」を策定し、旅行業のオンライン取引で表示すべき内容やその表示方法について細かく規定した。しかしセキュリティ対策については触れられておらず、各企業・団体によって対策状況はまちまちであった。2016年、大手旅行会社・中堅運輸会社において情報流出事件が発生したのを受け、「観光庁・旅行業界情報共有会議」が発足された。「中間とりまとめ」において旅行業情報セキュリティ向上のため早急に講ずべき対策が提言され、2018年には「旅行業者における情報セキュリティ確保に係る安全ガイドライン」策定の予算が支出されたものの、2020年1月の段階では、公表されていなかった。ただし、社団法人日本旅行業協会/社団法人全国旅行業協会が2014年に「旅行のウェブ取引に関するガイドライン(改訂版)」を出しており、事実上これがスタンダードになっているともいえる。

一方、国土交通省ではサイバーセキュリティ戦略本部の「重要インフラ分野における情報セキュリティ確保に係る安全基準等策定指針」に依拠する形で、航空・物流・鉄道・空港の各分野に対し、個別に「情報セキュリティ確保に係る安全ガイドライン」を策定している。また、鉄道、バス・バスターミナル、タクシー、宿泊施設の各業種に対しては個別の「情報セキュリティ対策のチェックリスト」を公開して対策を促している。

インバウンドサービスの動向

ホスピタリティ業界において今年開催のオリンピック・パラリンピックを目前に脚光を浴びているのが、訪日外国人観光客を対象とするインバウンドサービスである。日本が「観光立国」を打ち出したのは今から17年ほど以前に遡る。小泉首相(当時)による「観光立国懇談会」が平成15年(2003年)に発足し、2006年には「観光立国推進基本法」が成立した。2015年以降、国際貿易収支上、観光業は「輸出産業」となっている。また、2019年の世界経済フォーラムの観光競争力レポートでは第4位と、2017年より2回連続で上位にランクインしている。日本の評価を押し上げた項目としては「安全・安心」、「保険・衛生」、「ICTの普及」がある。

世界観光機関(UNWTO)によれば、今後のインバウンドサービスのカギとなるのはデジタル技術、特にバーチャル・アシスタントとリアルタイムデスティネーションであるとしている。国土交通省では令和元年度の施策として、主要観光地の多言語対応、全国3万カ所の主要観光地・防災拠点で無料Wi-Fi整備を進めるとともに、「キャッシュレス・消費者還元事業」として中小・小規模事業者のキャッシュレス決済の普及に力を注いでいる。観光庁も、2018年には「外国人観光旅客利便増進措置に関する基準」、「公共交通機関における外国人観光旅客利便増進措置ガイドライン」を策定した。同ガイドラインでは「インターネットによる予約環境の整備」として「インターネット上でクレジットカード等による決済も可能であることが望ましい」としている一方で、セキュリティに関しては、「公衆無線LAN等を整備するにあたっては、以下を参照されたい」として、「Wi-Fi提供者向けセキュリティ対策の手引き」(平成28年総務省)、「公衆無線LANセキュリティ分科会報告書」(平成30年3月総務省)を挙げているのみである。

旅行者はパスポート、支払い情報、詳細な旅程など、データの宝庫を持ち歩く存在といえる。さらに旅行者は、旅行先では利便性を優先し、セキュリティ意識が通常より甘くなりがちであることから、攻撃者にとっては格好の「獲物」となりやすい。先のTrustwaveのレポートによれば、調査対象のアメリカ人の70%以上が公共のWi-Fiへの接続や公共のUSBステーションでのデバイス充電、Wi-Fiへの自動接続を有効化することで自分自身の情報をさらす行為をしていた。なお、個人旅行に比べビジネス旅行の方が、リスクの高い行動をとる人が多い。

新たな取り組み-VR/ARを活用した観光コンテンツ

こうした中、セキュリティ要件を組み込まないガイドラインを基に「VR/AR等を活用した観光コンテンツ」が独り歩きしている現実もある。VR(Virtual Reality:仮想現実)が現実世界から得られる感覚情報を遮断して人工的に再現した感覚情報に置き換えるのと対照的に、AR(Augmented Reality:拡張現実)は現実空間を起点としデジタル情報を付加し、CGや動画を合成表示する。RPGを現実の空間と重ねるスマホゲームなどがARの代表である。ARに固有のセキュリティやプライバシーを考慮する必要があると主張する研究者もいる。

2019年にはサイバーセキュリティカンファレンスRECONにおいて、VRのハッキングが紹介された。観光に関するVRコンテンツは観光庁・文化庁がそれぞれ個別にガイドラインを公表しているが、どちらもセキュリティ要件を含んでいない。また経済産業省の補助事業として、特定非営利活動法人映像産業振興機構(VIPO)が「VR等のコンテンツ制作技術活用ガイドライン2018」を公表しているが、やはりセキュリティについては触れられていない状況だ。データセキュリティのみならず、個人情報(位置情報)保護、プライベート空間権利(公的空間の境界)等の課題もある。これらに関して今春以降、矢継ぎ早にガイドラインが発行されることが予想されるが、現在設計・開発中の案件については、ガイドラインが発行されてからセキュリティ要件を追加することになり、いびつな構造になってしまう。

まずは設計・開発の段階から「セキュリティ・バイ・デザイン」の思想を実践するとともに、ガイドラインに盛り込まれるであろう最低限のセキュリティ要件は予め組み込んでおくことが肝要だろう。どんな要件がガイドラインに組み込まれるか、あるいはガイドラインの最低基準以上の対策が必要なものは何かといった、専門家の知見が必要になる。これからインバウンド関連の事業を展開するのであれば、是非にも開発段階からのセキュリティ診断を実施することをお勧めする。

図 2 国際観光収支の推移(観光庁資料より当社作成)
出典:https://www.mlit.go.jp/common/001186621.pdf

ガイドライン一覧

その他の業種はこちら



Webアプリケーションに求められる「二極のスコープ」による診断

Share

SQAT® 情報セキュリティ瓦版 2020年1月号

Webアプリケーションの脆弱性は時として深刻な被害にもつながる、看過できない脅威です。「攻撃者の視点」でセキュリティホールを特定する脆弱性診断に加え、「開発者の視点」から問題を特定するソースコード診断も重要です。前者はアプリケーションの「外」から脆弱性を検出するのに対し、後者はアプリケーションの「内」から問題部位をピンポイントで検出します。両者を連携させることが、Webアプリケーションのセキュリティを効果的に高めるカギになります。


脆弱性はどこから生まれるか

そもそも、Webアプリケーションでセキュリティの脅威となる脆弱性が生まれるのは、「プログラムの処理において、開発者が意図していない動作が行われないようにする」という点で適切な制御ができていないことに原因があります。

Webアプリケーション開発において広く利用されているPHPで検出された脆弱性の例を挙げましょう。2019年10月、nginxとPHP-FPMを組み合わせた一部の環境で、PHPプログラムの内部処理の不具合により不正なリモートコードが実行され得る脆弱性(CVE-2019-11043)が発見されました。この脆弱性は、具体的には、「使用される値(URL)に対して、入力値としての妥当性が確認されないことを想定しておらず、適切に制御されない」という不備に起因するもので、サポートが終了しているバージョンおよび対策済みバージョン未満のすべての現行版が影響を受けました。

PHPは、WordPressをはじめとする多くのWebアプリケーションで利用されており、当該脆弱性の影響は、PHPベースのアプリケーションを開発する多くの組織に及んでいます。警察庁の最近の調査によれば、同庁のインターネット定点観測においても、当該脆弱性を狙った攻撃を目的とする探索行為が観測されています。

Webアプリケーションを開発する組織は、こうした脆弱性の影響により、さまざまな対応に追われることになります。開発言語の脆弱性に加えて、アプリケーションのプログラミングで発生する脆弱性も、発覚がライフサイクルの後工程になればなるほど、対応のための負荷が増大します。なお、後者の脆弱性については、開発サイクルの可能な限り手前の工程で問題を特定・解消できていれば、修正にかかるコスト、影響範囲ははるかに小さく済みます。その意味で、Webアプリケーションのソースコードを点検することには、大きな意義があります。

 

Webアプリケーションの構造

プログラムは、「入力」→「ロジック」→「出力」の3つの処理で構成されています。脆弱性を作り込まないためには、これらすべての処理を制御し、意図しない動作が起きないようにすることが重要であり、「入力」「ロジック」「出力」の各処理が適切に制御しているかを、「内部」すなわちソースコード診断により検証し、あわせて、「外部」から確認できる挙動(リクエスト・レスポンス)を検証することで、問題の検出精度を高めることができます。

なお、こうした二極からの検証は、「ホワイトボックステスト」、「ブラックボックステスト」とも呼ばれます。前述したように、車の検査に例えるとわかりやすいかもしれません。両者にはそれぞれ異なる役割があり、両者を組み合わせることで、より信頼度の高い検査をすることが可能になります。

 

脆弱性に関する業界ガイドライン

業界標準のガイドラインもWebアプリケーションの脆弱性を評価する際に役立ちます。代表的なものとして、本稿では「OWASP Top 10」と「CWE Top 25」をご紹介します。

OWASP Top 10は、Webアプリケーションの脆弱性を、「悪用のしやすさ」、「蔓延度」、「検出しやすさ」、「技術面への影響」、「ビジネスへの影響」といった観点からランク付けし、最も重大なWebアプリケーションセキュリティリスク(「Most Critical Web Application Security Risks」)Top 10を選出しています。一方、CWE Top 25は、ソフトウェア開発で起こり得るプログラミングエラーを体系的に分類した項目リストであるCWE(共通脆弱性タイプ一覧)をベースにしたものです。リストの各項目に対し、米国の脆弱性情報データベースNVDの評価を加味して危険度のスコアを算出し、最も危険性が高いと評価されるソフトウェアエラー(「Most Dangerous Software Errors」)Top 25を選出しています。

Webアプリケーションの観点でいうならばOWASP Top 10が「ブラックボックステスト」であり、CWE Top 25は「ホワイトボックステスト」と考えることができます。

 

 

攻撃活動を先んじて制する

Webアプリケーションの脆弱性は、攻撃者にとって魅力的な標的です。悪用可能な脆弱性を常に探している彼らは、Webアプリケーションの構造設計やロジックを想定して仮説を立て、解析・検証し、特定の状況・環境・条件下において発現する不具合を見つけ出そうとします。お気づきでしょうか?実は、こうした攻撃者の行動パターンの裏をかくこと、攻撃者の行動に先んじてそれを阻むような手を打つことが、セキュリティ対策になり得るのです。いち早く脆弱性を見つけ、問題を解消することが重要です。この意味でも、リリース前に問題の検出に取り組むことは重要です。ソースコードレビューや単体試験などの段階でのソースコード診断は、効果的なタイミングの一例となります。

 

上流での対処を促進

脆弱性になるべく上流工程で対処する取り組みを促進することも重要です。たとえば、近年注目を集めているアプローチで、「シフトレフト」というものがあります。これは、ソフトウェア開発で生じる各種課題への対処をできるだけライフサイクルの早期の段階へとシフトさせていこうという考え方で、手戻りを防ぎ、品質を落とすことなく時間やリソースを効果的に節減することを目指すものです。セキュリティ対策においては、プログラムが想定しない動作をしないことを検証するための工程を前倒しすることで、セキュリティ強化・コスト削減・生産性向上といった面からも着実な成果が期待できます。開発ライフサイクルに明示的にセキュリティを組み込む、「DevSecOps」を推進するのも一案です。

リリースの直前でプログラムの問題が発覚した場合、状況によっては設計を根本から見直す必要が生じるかもしれません。リリース後の診断で重大な脆弱性が明らかになった場合は、サービス停止という事態もありえます。問題の修正にかかるコストや時間は、発覚が後になるほど膨らみ、致命的なビジネス損失を招く恐れがあります。早期の段階で不具合検出のためのリソースを投入することは、結果として最良の費用対効果を得られることにつながります。

 

 

「二極のスコープからの診断」がカギ

開発工程において常に生み出される可能性がある―これが、Webアプリケーション脆弱性に見られる1つの特徴です。リスクを最小化するカギは、できるだけ上流で脆弱性の芽を摘む体制を構築し、かつ、「内と外」の二極から脆弱性評価を行うことです。複眼的な軸を持つことは、評価の客観性を向上させ、対策時の優先度の判断や、サービスの継続・改修といった経営的意思決定におけるスピードと精度を高めることにもつながります。自組織の脆弱性診断では何を見ているのか?―こう自問してみて心もとなく感じた方は、ぜひ、この二極がカバーできているかを、改めて確認してみてください。

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


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

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