ビッグデータに関わる様々な新技術の導入が、セキュリティ/リスク管理を担う運用管理者に及ぼすインパクトについて、具体的なユースケースを交えながら考察していきます。

(第2回)  NoSQLを利用したソーシャルデータ分析の課題

ビッグデータの特徴として、動画やソーシャルデータに代表される非構造化データの急増と、バッチ処理からリアルタイム処理へのシフトが挙げられます。構造化データのバッチ処理では、従来からリレーショナルデータベース(RDB)が利用されてきましたが、非構造化データのリアルタイム高速処理で一躍注目を浴びているのがNoSQLです。

 

ユースケース:ソーシャルメディア業界の場合 

ソーシャルメディア

ソーシャルネットワーキングサービス(SNS)では、アクセスログや数値データに加えて、文章、画像、動画、ソーシャルグラフなど、膨大かつ複雑なデータを、クラウド環境上でリアルタイムに処理し、結果を返す必要があります。そこで、データベースの機能をシンプル化し、RDBが本来持つ排他制御の仕組みを緩和させた上で、高速処理を実現するNoSQLならではの機能を活用する動きが広がり、そのノウハウをクラウド型の分析サービス(AaaS:Analytics as a Service)として外販するケースも増えています。

但し、NoSQLの場合、パフォーマンスや拡張性を重視したアーキテクチャ開発に、セキュリティ面の機能強化が追い付いていないのが現状です。例えばNoSQLでは、データの整合性の要件を緩めた分、処理の完全性を保証することが難しく、またHTTPベースの認証機能や通信プロトコルへの依存度が高い分、クロスサイトスクリプティング、インジェクション攻撃などを招きやすくなっています。加えて、承認の手法がNoSQLの製品/ソリューションによって異なるため、ユーザーのロールやセキュリティグループを定義する、ロールベースアクセス制御(RBAC)機能の適用が難しくなっています。これらNoSQL固有のセキュリティ課題への対策は、SNSプロバイダーがAaaSとして企業ユーザーに提供する場合、特に重要となります。

 

マルチレイヤのセキュリティ管理でNoSQLならではのパワーを生かす

マルチレイヤのセキュリティ管理

NoSQLが得意とするリアルタイム高速処理機能を維持しつつ、結果の完全性を保証するためには、サードパーティのミドルウェア(例.認証/承認/アクセス制御機能)やハードウェア(例.アプライアンスベースの暗号化/復号化機能)と組み合わせた運用管理を行い、最適化を図る必要があります。このようなセキュリティ機能をOS<などインフラ寄りの下位レイヤに組み込むためには、IaaS(Infrastructure as a Service)やPaaS(Platform as a Service)との密な連携も不可欠です。さらに、HTTPに基づきクライアントとの通信の確立を図るNoSQLでは、セキュアなハッシュ化アルゴリズムの利用、ログ分析手法の適用/統合など、Webサービスの運用管理で培われたソリューションを進化/拡大させることが、NoSQLインジェクション攻撃への対処策となります。

NoSQLを利用したAaaSでは、機微なパーソナルデータが含まれることが多いので、IaaSやPaaSも含めたマルチレイヤの観点から、厳格な運用/モニタリング管理体制を整備することが求められます。企業ユーザーがプライベートクラウド環境に外部のAaaSを導入する場合、内部統制対策も考慮する必要があるでしょう。