/faas-security

FaaS のセキュリティ

MIT LicenseMIT

faas-security

FaaS のセキュリティ

この資料は 【NDSiN#12×Niigata.js×C4N】JavaScript 2017春 の発表資料(予定)です。

検証が十分でない記述が含まれます。

FaaS is ?

(要調査)

  • リクエストの度に生成される
  • ステートレス
  • 時間単位での課金

FaaS

  • AWS Lambda
  • Google Cloud Functions
  • Microsoft Azure Functions、
  • OpenFaaS
  • IBM OpenWhisk
  • Iron.io
  • Webtask

serverless framework

  • Serverless Framework
  • apex

経緯

  • AWS LambdaでPoCが発表されてからパッチが適用されるまでの話
  • Cloud Functions sampleでの脆弱性

=> FaaSでのセキュリティはどう担保されているのか

AWS Lambdaでの話

  • ghostscript の脆弱性として CVE-2016-7977 が昨年9月~10月ぐらいに情報がでていた
  • REHL系ではImageMagick と一緒にghostscriptが入ってしまい、Lambdaが動くAmazon LinuxはREHL系(要確認)なので影響を受けていた
  • 細工した画像をアップロードされると、サーバのファイルの中身が取得できる状態だった
  • 連絡したら、その数日後に修正がでた(おそらく偶然)

ミドルウエアの脆弱性によるものは利用者とサービス提供者、どちらの負担になる?

Cloud Functions sample

  • Imagemagickを呼び出すところで、ファイル名にevilなものがあると任意のshellが実行
  • sampleとしてあまりよくない

共有責任モデル

セキュリティのチェック点(要検討)

  • コードレベル
  • ミドルウエア
  • 権限まわり
  • 影響範囲
  • ログ

12 factor apps

FaaSの用途

  • サムネイル生成
  • 他のサービスとの連携
  • job schedule

サービスによる違い

  • サービス連携

サービスそのもののセキュリティ

  • 2FA?

ImageMagick

  • policy.xmlを追加すれば防げる?
  • 他のサービスに入ってる?
  • With OpenFaaS