近年、脆弱性を狙ったサイバー攻撃が活発化している
近年、WEBサイトの脆弱性(セキュリティ上の欠陥)をついたサイバー攻撃が活発化しています。
サイバー攻撃はシステムへ侵入し、破壊活動や情報漏洩、情報改ざんを行います。
すべてのWEBサイトが標的になっていると言っても過言ではない状況です。
今回は脆弱性やサイバー攻撃についてご説明、そしてサイバー攻撃を防ぐ方法としてセキュリティ診断をご紹介します。
脆弱性とは
脆弱性とはシステムに存在するセキュリティ上の欠陥のことをさします。
脆弱性はセキュリティホールとも呼ばれます。
「脆弱性がある」という状態は「セキュリティの穴が存在」している状態のことを言います。
脆弱性のある状態でサイトを運用していると、脆弱性を狙って様々なサイバー攻撃を受ける恐れがあります。
リスクがある状態でサイトを運営していることになります。
サイバー攻撃による被害例
サイバー攻撃による被害にはどのようなものがあるのでしょうか。
一番に思いつくのが個人情報やクレジットカード情報などの情報漏洩かと思いますが、サイバー攻撃による被害は様々です。
不正アクセス
不正アクセスとはサイトの脆弱性を利用しサーバ内部へ侵入されることです。
不正アクセスだけでは直接的な被害はありませんが、不正アクセスをきっかけに様々な攻撃を仕掛けられますので不正アクセスを防ぐことが第一歩となります。
不正アクセスだけでは直接的な被害がないとは言え、不正アクセスは不正アクセス行為の禁止等に関する法律で定められている立派な犯罪行為です。
個人情報漏洩
個人情報漏洩とはサイトに不正アクセスされ、サイト内で保持している個人情報が盗まれることです。
個人情報と言うと住所・氏名・電話番号・メールアドレスなどを思い浮かべますが、クレジットカード番号、銀行口座情報、商品の購入履歴、サービスの利用履歴、家族構成、病歴など様々な種類の情報があります。
ちなみに2020年は2515万人分の個人情報が流出したそうです。
しかも原因の多くが不正アクセスによるものです。
2020年は2515万人分の個人情報が流出 原因の多くは「ウイルス感染・不正アクセス」
クレジットカード情報漏洩
クレジットカード情報漏洩とはサイトに不正アクセスされ、サイト内で保持しているクレジットカード情報が盗まれることです。
クレジットカードの不正利用に繋がり、甚大な被害を招く恐れがあります。
昨今では経済産業省が策定したガイドラインのおかげで、ECサイト上でクレジットカード情報を入力させなかったり、クレジットカード情報をECサイト内で保持しないなどサイト側でレクジットカードに関するセキュリティ対策をしっかり行っています。
クレジットカード取引におけるセキュリティ対策の強化に向けた「実行計画2019」を取りまとめました (METI/経済産業省)
しかし、フィッシング詐欺によってクレジットカード情報が盗まれることがあります。(サイトの改ざんで後述)
サイトの改ざん
サイトの脆弱性を利用してサイトを改ざんする行為です。
サイトで公開している文章が書き換えられる被害から、不審なサイトへ転送され個人情報・クレジットカード情報を盗み取る被害まであります。
サイトを改ざんし、サイト閲覧者をフィッシングサイトへ誘導し、個人情報・ログイン情報・クレジットカード情報などを盗みます。
情報漏洩により影響
WEBサイトの内部情報が漏洩することで、サイトにとってどのような影響が出るのでしょうか。
損害賠償
サイトが管理している個人情報やクレジットカード情報が漏洩したことで、被害者が損害賠償(慰謝料)を求めた事例が複数あります。
一人あたりの賠償額は千円〜1万円以上になり、企業として支払う賠償総額が数千万〜数億円以上になった事例もあります。
信頼の損失
情報漏洩により自社ブランドの低下、サイトの信頼性を失うことになります。
また、直接的な被害がなくても、不正アクセスされた事実があれば同様の影響を受けます。
サービスへの影響
脆弱性をついた攻撃の中にはサービス停止を狙ったものもあります。
攻撃による情報漏洩や改ざんが発生した場合、被害範囲の調査や修正対応に非常に多くの時間と費用を要します。
その間サービスを停止する必要があり、大きな損害となります。
過去に脆弱性情報がSNSで周知されることとなり、サービス自体が継続できなくなった事例もあります。
安全なサイト運営の為には脆弱性を排除しておく必要がある
以上のようにすべてのサイトが脆弱性のリスクとは隣り合わせであり、攻撃を受けたサイトおよびサイト利用者は大きな被害を被ることになります。
攻撃者は手当たり次第に脆弱性のあるサイトを探し、脆弱性を発見したサイトに対して攻撃を試みます。
脆弱性がなければ攻撃を受ける確率は格段に下がることになります。
つまり、安全なECサイト運営の為には脆弱性を排除しておく必要があります。
では、どのように脆弱性を排除するのでしょうか。
脆弱性を排除する為には、まず脆弱性を見つけることです。
脆弱性は何らかの方法で必ず対応することができる為、見つかった脆弱性を対策することで脆弱性を排除できます。
脆弱性を見つける為に利用するセキュリティ診断とは
脆弱性を排除する為には、まずサイトに内在する脆弱性を見つける必要があります。
その方法として、セキュリティ診断(脆弱性診断)があります。
セキュリティ診断を実施すれば、サイトの脆弱性を発見することができます。
セキュリティ診断とは、サイト内部を調査し攻撃リスクのある脆弱性を洗い出すサービスです。
セキュリティ診断の結果、診断レポートが提供されます。
レポートには存在している脆弱性、脆弱性に対する対処法・方針などが記載されていますので、サイト運営者はレポートを元に脆弱性を排除する対応を行うことができます。
EC-CUBEも攻撃される可能性がある
すべてのサイトがサイバー攻撃の対象となり得ます。
その為、EC-CUBEも例外ではなく攻撃の対象となる可能性があります。
また、EC-CUBEは過去に古いバージョンの2系の脆弱性に対して、経済産業省から注意喚起されたこともあります。
株式会社イーシーキューブが提供するサイト構築パッケージ「EC-CUBE」の脆弱性等について(注意喚起) (METI/経済産業省)
経済産業省のEC-CUBE脆弱性への注意喚起に対して、弊社でもブログ記事で意見を述べました。
また、EC-CUBEの3系、4系はフレームワークSymfonyを使用しており、Symfonyの脆弱性を考慮する必要があることを告知しております。
このようにEC-CUBEにも脆弱性が存在するリスクはあります。
そのことを理解した上でEC-CUBEをご利用ください。
(再三お伝えしているようにすべてのサイトに脆弱性のリスクはあります。EC-CUBEだけ特別ではございません。)
サンクユーのEC-CUBEセキュリティ診断サービス
サンクユーではEC-CUBEのセキュリティ診断サービスをご提供しております。
診断内容も充実していて価格も良心的な設定になっています。
EC-CUBEに強い制作会社だからこそ、脆弱性対策もしっかり行います。(別途有償)
脆弱性対策は有償ですが、脆弱性対策を行った後の再診断は無料です。
脆弱性診断から脆弱性対策まで一貫で行うことが可能ですので、安心してお任せ頂けます。
※もちろん、EC-CUBEでなくてもWEBサイト・ECサイトであれば弊社セキュリティ診断サービスを受けることは可能です。
ご契約から脆弱性対策完了までの流れ
ご契約から脆弱性対策完了までの流れを簡単ですがご説明します。
- 弊社へご相談
- 該当サイトを確認させて頂く事前調査
- 第一回セキュリティ診断
- 診断レポートのご提出
- 診断レポートを元に脆弱性の対策(別途有償)
- 第二回セキュリティ診断(無料)
- 診断レポートのご提出(無料)
脆弱性診断レポートのサンプル
脆弱性診断レポートのサンプルです。
・脆弱性診断レポート・サンプル1
・脆弱性診断レポート・サンプル2
・脆弱性診断レポート・サンプル3
セキュリティ診断にはツール診断と手動診断がある
セキュリティ診断にはツール診断と手動診断があります。
ツール診断とは文字通りツールを使用した診断です。
手動診断はツールでは見つけることができない箇所を人間の手で細かく見ていく診断になります。
ツール診断と手動診断の比較
ツール診断と手動診断では、どのような違いがあるのか。
納期・診断範囲・診断項目などを比較してみました。
ツール診断 | 手動診断 | |
---|---|---|
納期 | 最短7営業日で対応可能 | 対象となる動的リスエスト数およびシステム要件による |
レポート | ツール診断を元にした簡易レポート | エンジニアが作成した詳細レポート |
診断範囲 | ツールによる対象範囲選定の為、対応できない場合があります。 | エンジニアがツールと手動作業にてサイトを確認し診断対象を選定します。 複雑な機能についてもエンジニアの判断の元、網羅的に対応可能です。 |
診断項目 | ツールによる診断の為、エンジニアの目視でのロジック確認が必要な項目については対応できません。 | エンジニアがサイトのロジックを確認し、詳細な診断を行います。 また、診断結果を分析し更に詳細な調査を行うことでより深い複雑な脆弱性まで検知可能です。 |
対象リクスト数上限 | 動的/静的含め最大1,000リクエストまで | 上限なし |
ツール診断と手動診断のそれぞれの診断内容を見てみましょう。
ツール診断内容
# | 診断項目 | 脆弱性の説明 |
---|---|---|
1 | SQLインジェクション | データベースと連携したWebアプリケーションが問い合わせ命令文の実装方法に問題があることにより、任意のSQLを実行されてしまう脆弱性。 |
2 | コマンドインジェクション | 外部からの攻撃により、任意のOSコマンドが不正に実行されてしまう脆弱性。 |
3 | 反射型クロスサイトスクリプティング(XSS) | 外部からの入力により、HTMLタグやJavaScriptが実行されてしまう脆弱性。 |
4 | 持続型クロスサイトスクリプティング(XSS) | 外部から入力されたHTMLタグやJavaScriptがデータベースに保存され、入力された内容を表示する際に保存されたHTMLタグやJavaScriptが実行されてしまう脆弱性。 |
5 | Dom Basedクロスサイトスクリプティング(XSS) | JavaScriptを表示する箇所で、外部から入力されたHTMLタグやJavaScriptが実行されてしまう脆弱性。 |
6 | evalインジェクション | Webアプリケーションに実装されているeval関数に対して任意のスクリプトコードが挿入されることにより、任意のスクリプトコードが実行されてしまう脆弱性。 |
7 | パストラパーサル(ディレクトリトラバーサル) | ファイル名指定の実装に問題があり、第三者に任意のファイルを指定されることにより、Webアプリケーションが意図していない処理を実行されてしまう脆弱性。 |
8 | XML外部エンティティ参照 (XXE) | XMLを使用している機能に外部実体参照が行われることにより、Webサーバ内のファイルなどを閲覧されてしまう脆弱性。 |
9 | オープンリダイレクト | Webアプリケーションがリダイレクトを行う機能において、意図していないURLにリダイレクトを行われてしまう脆弱性。 |
10 | シリアライズされたオブジェクト | 攻撃者が用意したシリアライズされたデータを読み込まされることにより、デシアライズした際に任意のオブジェクトを生成され任意のコードを実行されてしまう脆弱性。 |
11 | リモートファイルインクルージョン(RFI) | スクリプトを外部から読み込ませる際に、攻撃者が指定した外部サーバのURLがファイルとして読み込まされることで、任意のスクリプトを実行されてしまう脆弱性。 |
12 | クリックジャッキング対策の推奨事項 | Webページに透明なHTMLなどを上に重ねて罠となるリンクやボタンを設置されることにより、意図しないコンテンツにアクセス・実行させられる脆弱性。 |
13 | クロスサイトリクエストフォージェリ(CSRF) | ログイン中のユーザにリクエストを強制的に実行させることができることにより、ユーザの権限を利用して投稿機能や決済などの機能を実行させることができる脆弱性。 |
14 | CookieのHttpOnly属性未設定 | セッションIDなどの重要なCookieにHttpOnly属性が未設定である脆弱性。 |
15 | HTTPS利用時のCookieのSecure属性未設定 | セッションIDなどの重要なCookieにSecure属性が未設定である脆弱性。 |
16 | クエリストリング情報の漏洩 | リクエストURLに重要情報が埋め込まれている脆弱性。 |
17 | キャッシュからの情報漏洩 | Webアプリケーションのキャッシュ制御に不備があることにより、プロキシ・キャッシュサーバなどにキャッシュされた情報が別のユーザのブラウザに表示されてしまう脆弱性。 |
18 | パスワードフィールトのマスク不備 | パスワードを入力する欄にマスク不備があることにより、ブラウザ上にパスワードが表示されてしまう脆弱性。 |
19 | HTTPSの不備 | 機微情報を取り扱っているWebページがHTTP通信を行っている脆弱性。 |
20 | 不要な情報の存在 | HTMLやJavaScriptなどに「攻撃者に有益な情報」や「公開不要な情報」が公開されている脆弱性。 |
21 | ディレクトリリスティング | Webサーバ上の公開を意図していないリソースがファイル一覧表示されてしまう脆弱性。 |
22 | 不要なHTTPメソット | TRACEメソットが使用できる状態になっている脆弱性。 |
23 | 公開不要な機能・ファイル・ディレクトリの存在 | サンプルファイルやバックアップファイルなど、アプリケーションの動作に不要なファイル、不特定多数に公開する必要がないファイルが公開されている脆弱性。 |
手動診断内容
# | 診断項目 | 脆弱性の説明 |
---|---|---|
1 | SQLインジェクション | データベースと連携したWebアプリケーションが問い合わせ命令文の実装方法に問題があることにより、任意のSQLを実行されてしまう脆弱性。 |
2 | コマンドインジェクション | 外部からの攻撃により、任意のOSコマンドが不正に実行されてしまう脆弱性。 |
3 | CRLFインジェクション | HTTPレスポンスヘッダに改行コードを挿入されることにより、意図しないヘッダーフィールトなどを追加されてしまう脆弱性。 |
4 | 反射型クロスサイトスクリプティング(XSS) | 外部からの入力により、HTMLタグやJavaScriptが実行されてしまう脆弱性。 |
5 | 持続型クロスサイトスクリプティング(XSS) | 外部から入力されたHTMLタグやJavaScriptがデータベースに保存され、入力された内容を表示する際に保存されたHTMLタグやJavaScriptが実行されてしまう脆弱性。 |
6 | Dom Basedクロスサイトスクリプティング(XSS) | JavaScriptを表示する箇所で、外部から入力されたHTMLタグやJavaScriptが実行されてしまう脆弱性。 |
7 | メールヘッダインジェクション | メールヘッダに改行コードを挿入されることにより、意図しないヘッダーフィールドなどを追加されてしまう脆弱性。 |
8 | evalインジェクション | Webアプリケーションに実装されているeval関数に対して任意のスクリプトコードが挿入されることにより、任意のスクリプトコードが実行されてしまう脆弱性。 |
9 | パストラパーサル(ディレクトリトラバーサル) | ファイル名指定の実装に問題があり、第三者に任意のファイルを指定されることにより、Webアプリケーションが意図していない処理を実行されてしまう脆弱性。 |
10 | XML外部エンティティ参照 (XXE) | XMLを使用している機能に外部実体参照が行われることにより、Webサーバ内のファイルなどを閲覧されてしまう脆弱性。 |
11 | オープンリダイレクト | Webアプリケーションがリダイレクトを行う機能において、意図していないURLにリダイレクトを行われてしまう脆弱性。 |
12 | シリアライズされたオブジェクト | 攻撃者が用意したシリアライズされたデータを読み込まされることにより、デシアライズした際に任意のオブジェクトを生成され任意のコードを実行されてしまう脆弱性。 |
13 | リモートファイルインクルージョン(RFI) | スクリプトを外部から読み込ませる際に、攻撃者が指定した外部サーバのURLがファイルとして読み込まされることで、任意のスクリプトを実行されてしまう脆弱性。 |
14 | クリックジャッキング | Webページに透明なHTMLなどを上に重ねて罠となるリンクやボタンを設置されることにより、意図しないコンテンツにアクセス・実行させられる脆弱性。 |
15 | 認証回避 | 正規のユーザ名・IDとパスワードを使用せずに、ログインされてしまう脆弱性。 |
16 | ログアウト機能の不備や未実装 | ログアウト後に継続的にログイン状態が保持されてしまう脆弱性。 |
17 | 過度な認証試行に対する対策不備や未実装 | アカウントロック機能が備わっていないまたは十分な認証試行の回数制限を行っていない脆弱性。 |
18 | 脆弱なパスワードポリシー | パスワード文字列の作成の際に、最低限必要な文字数、文字列、文字種の制限が十分に設定されていない脆弱性。 |
19 | 復元可能なパスワード保存 | レスポンス内容や、パスワードリマインダ機能により外部からパスワードを確認されてしまう脆弱性。 |
20 | パスワードリセットの不備 | パスワードリセット機能に不備があることにより、パスワードリセットを行ったユーザ以外の第三者にパスワードを取得されてしまう脆弱性。 |
21 | 認可制御の不備 | ログイン後の画面やログインしたユーザが限定的に使用できる機能が、本来権限のない第三者に操作、閲覧されてしまう脆弱性。 |
22 | クロスサイトリクエストフォージェリ(CSRF) | ログイン中のユーザにリクエストを強制的に実行させることができることにより、ユーザの権限を利用して投稿機能や決済などの機能を実行させることができる脆弱性。 |
23 | URL埋め込みのセッションID | リクエストURLにログイン可能なセッションIDを埋め込んでいる脆弱性。 |
24 | セッションフィクセイション(セッション固定攻撃) | 攻撃者の用意したセッションIDがユーザに強制されてしまう脆弱性。 |
25 | 推測可能なセッションID | セッションIDの生成ロジックに不備があることにより、セッションIDを推測されてしまう脆弱性。 |
26 | CookieのHttpOnly属性未設定 | セッションIDなどの重要なCookieにHttpOnly属性が未設定である脆弱性。 |
27 | HTTPS利用時のCookieのSecure属性未設定 | セッションIDなどの重要なCookieにSecure属性が未設定である脆弱性。 |
28 | クエリストリング情報の漏洩 | リクエストURLに重要情報が埋め込まれている脆弱性。 |
29 | キャッシュからの情報漏洩 | Webアプリケーションのキャッシュ制御に不備があることにより、プロキシ・キャッシュサーバなどにキャッシュされた情報が別のユーザのブラウザに表示されてしまう脆弱性。 |
30 | パスワードフィールトのマスク不備 | パスワードを入力する欄にマスク不備があることにより、ブラウザ上にパスワードが表示されてしまう脆弱性。 |
31 | 画面表示上のマスク不備 | マスクすべき重要情報がマスクされておらず、表示されている脆弱性。 |
32 | HTTPSの不備 | 機微情報を取り扱っているWebページがHTTP通信を行っている脆弱性。 |
33 | 不要な情報の存在 | HTMLやJavaScriptなどに「攻撃者に有益な情報」や「公開不要な情報」が公開されている脆弱性。 |
34 | ディレクトリリスティング | Webサーバ上の公開を意図していないリソースがファイル一覧表示されてしまう脆弱性。 |
36 | バージョン番号表示 | サーバやアプリケーション、ミトルウェア、フレームワークなどのバージョンが表示されている脆弱性。 |
36 | 不要なHTTPメソット | TRACEメソットが使用できる状態になっている脆弱性。 |
37 | 公開不要な機能・ファイル・ディレクトリの存在 | サンプルファイルやバックアップファイルなど、アプリケーションの動作に不要なファイル、不特定多数に公開する必要がないファイルが公開されている脆弱性。 |
ツール診断と手動診断の使い分け
以上のようにツール診断と手動診断では診断内容が異なります。
後述しますが、料金も異なります。
どちらを利用すればよいのか、もしくはどのように使い分けるかですが。
予算が限られている場合はツール診断を、予算がある場合は手動診断をおすすめ致します。
また、ツール診断はすぐに開始できる為スケジュールが限られている場合もツール診断をおすすめ致します。
ちなみに、攻撃者がサイトの脆弱性を探す際はツールで探します。
したがってツールで脆弱性が発見されなければ、攻撃者はそのサイトを攻撃対象から外します。
その為、ツール診断で脆弱性を排除しておけば、最低限のリスクは回避できます。
※弊社が使用するツールと、攻撃者が使用するツールは同一ではない為、漏れがある可能性はございます。
とは言え、ツールでは見つけることができない脆弱性を放置することはやはりリスクがあります。
予算やスケジュールに余裕がある場合は手動診断で徹底的に脆弱性を排除することが望まれます。
ツール診断を高頻度で実施しながら、手動診断をたまに行うという併用も可能です。
セキュリティ対策は予算内で可能なかぎりの対策をするよう心掛けることが大切です。
セキュリティ診断の料金
サンクユーのセキュリティ診断の料金は以下となります。
ツール診断の料金
20万円(税別)〜
手動診断の料金
60万円(税別)〜
手動診断の場合、サイトの状況に応じて診断内容が異なります。
サイトを事前調査させて頂き、お見積り料金をご提示することになります。
投稿者プロフィール
- 関西大学卒業後、東証プライム上場企業ゼネコンにて人事総務業務に従事。
幼少よりモノ作りが好きだったこともあり、「モノを作る仕事がしたい」という思いからシステムベンダーへ転職。
システムベンダーでは、IBMオフコンAS400で金融、物流、販売管理、経理、人事総務などのシステムを開発。
台北に駐在し遠東國際商業銀行のシステム構築プロジェクトへの参画など貴重な経験を積む。
10年間で、プログラマ、SE、プロジェクトリーダー、プロジェクトマネージャーを務め、「システムの質は要件定義の質に比例する」と学ぶ。
その後、クレジット決済代行会社にヘッドハンティングされる。
決済システムの再構築、国内外の銀行システムとの接続、クライアントの会社サイト制作・ECサイト構築を行う。
一方、組織改革を任され、20名から60名へ会社規模を拡大させる。(退任時役職:常務取締役)
2008年クリエイティブチーム・サンクユーを立ち上げ、2010年に法人化し株式会社サンクユーを設立。
クライアントの業界、取扱商材、ターゲット顧客を理解・分析することで、結果が出るWEBサイトを制作することを得意とする。
また、ECサイト構築・運営への造詣も深く、NTTレゾナント株式会社が運営するgoo Search Solutionでコラムを執筆。
ECマーケティングレポート | goo Search Solution
■趣味・好きなもの
BMW / WRC / ロードバイク / RIZIN / Bellator / UFC
David Bowie / blur / MUSE / TheRollingStones / XTC
機動戦士ガンダム(ファースト) / 富野由悠季
ベルセルク / 頭文字D / 進撃の巨人 / ジョジョの奇妙な冒険 / あしたのジョー
Mission: Impossible / Memento / ワイルド・スピード / ソナチネ
LOST / Game of Thrones / FRINGE / The Mentalist
上岡龍太郎 / ダウンタウン
最新の投稿
- EC-CUBE2024.11.20EC-CUBEからShopifyへ乗り換え
- EC-CUBE2024.07.29EC-CUBEで分納の仕組みを実装する
- EC-CUBE2024.06.122024年でもEC-CUBE会員のパスワードを表示したいという要望がある事実
- EC-CUBE2024.05.28EC-CUBE3系をお使いのECサイト様は4系へのバージョンアップをお勧めします