:lock:システムセキュリティ対策

概要

  • システムで対応する事(セキュアなインフラ、セキュアなプログラミング)と運用で対応することに分かれる。
  • 運用で対応する事には、PCI DSS のようなカード情報を扱う企業の条件についてふれる。
  • その他のトピックとして「カード情報の非保持、非通過」というトレンドについても触れる。
  • 他に利用している外部サービス(特にクラウド)のアカウントを厳重に管理していく必要がある。

セキュアなプログラミングで対応する

  • 下記については、利用しているECサイトでどのような対策がされているか、網羅して頂きたい。
  • 把握する方法としては、そもそも利用しているテクノロジーで防がれているもの、利用しているインフラで防がれているもの、 個別に対応を入れることによって防がれているものがある。
  • また攻撃手法は年々色々な方法が増えているので、定期的にキャッチアップしていきたい。
  • IPAの「安全なウェブサイトの作り方」は必読。

上記抜粋になるが、主要な点を列挙する

  • SQL インジェクション
  • クロスサイト・スクリプティング
  • CSRF(クロスサイト・リクエスト・フォージェリ)
  • セッション管理の不備

  • OS コマンド・インジェクション

  • パス名パラメータの未チェック/ディレクトリ・トラバーサル
  • HTTP ヘッダ・インジェクション
  • メールヘッダ・インジェクション
  • クリックジャッキング
  • バッファオーバーフロー
  • アクセス制御や認可制御の欠落
  • ウェブサイトの安全性向上のための取り組み
  • ウェブサーバに関する対策
  • DNS に関する対策
  • ネットワーク盗聴への対策
  • フィッシング詐欺を助長しないための対策
  • パスワードに関する対策
  • WAF によるウェブアプリケーションの保護

アプリケーションを構築するフレームワークで対応すべきこと

  • 下記の攻撃手法は、アプリケーションを構築するフレームワークで対応されていることが望ましい。
  • プログラミングで一行一行対応すると、人的なミスで脆弱性を内包してしまう可能性がある。
  • フレームワーク上できない場合は、該当箇所の重点的なレビューが必要になる。

  • フレームワークで対応すべきという観点では、昨年話題になった何件かの情報漏洩はApache Struts2 のフレームワーク、そのアップデート不足に起因するものがあった。フレームワークとして、そもそも攻撃手法を封じているものを使うほうが安全性が高い。

  • 古いソフト、古いパッケージやOSS、プラグインを利用したままで、アップデートしていないケースで発生しているケースが多い。
  • EC-CUBEやWordPressはプラグインを含めて、この脆弱性が豊富で常に最新へのアップデートが必要。
  • イントラネットは外部侵入できなくなっているので、アップデートは不要という担当者もいるかもしれないが、昨今ではそのような考え方は企業のリスクを高めるものである。利用している環境のアップデートは本日では義務といえる。

SQLインジェクション

  • SQLインジェクションについてはURLに含まれるパラメーターを通じて、不正なSQL(データベースへのアクセスを)を行うことを可能としてしまう。
  • 脆弱性があるシステムだと、URLに https://ec.com/login?1=1 などのパラメータを投入すると、不正な情報が見えたり、他人でログインできたりする。

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

  • URLや投稿内容にJavaScriptを埋め込み、不正な情報通信や不正な挙動を発生させる。
  • 脆弱性があるシステムだと悪意のあるユーザーが入力したJavaScriptが動作することによってサイトの情報が不正に変わったり、不正なサイトに飛ばされたり、Cookieを盗まれ、ログインされてしまう等が発生する。
  • システムからHTMLを出力する際に内容を無害化することにより防ぐことが出来る。

アプリケーションを構築するインフラで対応すべきこと

Cookieにsecure属性を付与し、HTTPでCookieが通信されないようにする

  • 重要なCookieはHTTPSのみでCookieが送信されるようにSecure属性をつける。
  • HTTPで送信することによって、セッションIDなど重要な情報が漏洩する可能性があるのでHTTPSでのみ通信する。

CookieにHttpOnly属性を加え、 TRACE メソッドを無効化する。

  • HttpOnlyが設定されたCookieは、HTML内のスクリプトからのアクセスが禁止されます。ウェブサイトにクロスサイト・スクリプティングの脆弱性が存在する場合等で、Cookieを盗まれるのを防ぐことが出来る。

カード情報の非保持、非通過

  • カード情報を非保持、自社EC上のサーバーを非通過とすることが2018年5月より厳格に求められている。
  • もしくは、 PCI DSSに準拠することが求められる。(後述)

PCI DSS の遵守要件を確認する

  • 遵守要件自体は参考になるものなので、一読する事を推奨する。

アカウント管理

  • クラウドのアカウント管理は多要素認証を利用する。
  • ECサイトの管理画面などはIP制限や、証明書による制御を検討する。

目次に戻る

results matching ""

    No results matching ""