検索
特集

「クレジットカード情報の非保持化は、脆弱性があれば意味がない」――徳丸浩氏が指摘基本的なセキュリティ施策が重要(2/2 ページ)

日本PHPユーザ会が開催した「PHP Conference 2018」でEGセキュアソリューションズの徳丸浩氏は、ECサイトのセキュリティ対策として「クレジットカード情報を保存しない(非保持化)」を推奨する動向に対し、「脆弱(ぜいじゃく)性があれば意味がない」と指摘する。

Share
Tweet
LINE
Hatena
前のページへ |       

偽の決済画面を追加する手口とは

 徳丸氏は「伊織ネットショップの手口がこれかどうかは分からない」と前置きした上で、Webアプリケーションセキュリティの改善活動を行う非営利団体「The Open Web Application Security Project」(OWASP)が発行した「OWASP Top 10 2017」で、Webアプリケーションの重大リスクに挙げられた「安全でないデシリアライゼーション」(CWE-502)を用いる方法を説明する。

 安全でないデシリアライゼーションとは、シリアライズ化(直列化)されたオブジェクトの復元処理(デシリアライズ)における脆弱性のことだ。外部から受け取ったクッキーやセッション変数など任意のオブジェクトを、デシリアライズ関数を用いて復元するようなコードがあった際に、攻撃者が任意のコードを実行できる恐れがある。

PHPにおけるシリアライズとデシリアライズ
PHPにおけるシリアライズとデシリアライズ

 「PHPのようなオブジェクト指向言語では、メモリ内にさまざまなオブジェクトが生成される。複雑なデータ構造をデータベースなどに保存する場合、データ構造はシリアライズ関数(serialize)を用いて直列化し、保存されたデータを復元(unserialize)する。どういったオブジェクト(クラス)が生成されるかは、保存されたシリアライズデータに依存するため、最悪の場合、攻撃者が仕込んだプログラムが実行される恐れがある」

 デモでは、クッキーを受け取る際にデシリアライズするようなECサイトを用意し、「Web経由でサーバコマンドを実行できる『Webshell』を外部からダウンロードする処理」をシリアライズ化してクッキーで送信。クラス実行終了時に呼び出されるデストラクタ関数を介して、その処理を実行させ、WebShellからECサイトサーバ内にあるトランザクションログを出力して、カード情報を盗めることを確認した。

 「WebShellのようなバックドアを追加すれば、Web経由でコマンドを実行してサーバ内のファイルを探索し、カード情報を含む重要な情報を盗むことができる。また、カード情報が保存されていないサーバだとしても、今回説明した手口を利用すれば、攻撃者が所有するドメインにリダイレクトする決済画面を追加できる。また、カード情報を入力すると『エラーです』と表示され、次に本物の決済画面が表示される仕組みにすれば、改ざんしたことを検知されづらいようにもできる」

悪意のあるクッキーを利用して(左)、サーバにWebShellを配置する処理を実行させ、Webからログファイルの中身を確認できた

 徳丸氏は、安全でないデシリアライゼーションの対策方法とまとめを述べて、説明を終えた。

 「PHPを利用するアプリケーションにおける『安全でないデシリアライゼーション』の対策は、外部から受け取るデータをserialize/unserialize関数ではなく、json_encode/json_decode関数で処理することだ。カード情報保護対策の一つに、カード情報を保存させない非保持化があることは確かだが、アプリケーションに脆弱性があれば、カード情報を盗まれてしまう。カード情報の非保持化にも取り組むべきだが、まず、カード情報を盗まれないために、アプリケーションに脆弱性を残さないという基本的なセキュリティ施策が求められるだろう」

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       

Security & Trust 記事ランキング

  1. 米国/英国政府が勧告する25の脆弱性、活発に悪用されている9件のCVEとは、その対処法は? GreyNoise Intelligence調査
  2. セキュリティ担当者の54%が「脅威検知ツールのせいで仕事が増える」と回答、懸念の正体とは? Vectra AI調査
  3. セキュリティ専門家も「何かがおかしいけれど、攻撃とは言い切れない」と判断に迷う現象が急増 EGセキュアソリューションズ
  4. OpenAIの生成AIを悪用していた脅威アクターとは? OpenAIが脅威レポートの最新版を公開
  5. 約9割の経営層が「ランサムウェアは危ない」と認識、だが約4割は「問題解決は自分の役割ではない」と考えている Vade調査
  6. インサイダーが原因の情報漏えいを経験した国内企業が約3割の今、対策における「責任の所在」の誤解とは
  7. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
  8. MicrosoftがAD認証情報を盗むサイバー攻撃「Kerberoasting」を警告 検知/防御方法は?
  9. 人命を盾にする医療機関へのランサムウェア攻撃、身代金の平均支払額や損失額は? 主な手口と有効な対策とは? Microsoftがレポート
  10. AIチャットを全社活用している竹中工務店は生成AIの「ブレーキにはならない」インシデント対策を何からどう進めたのか
ページトップに戻る