このご参照ください:Amazon AWS Lambda関数を設定してレスポンスのログの末尾化を防ぐ方法を教えてください。
http://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html
LOGTYPE
をあなたは値 RequestResponseでInvocationTypeパラメータを指定した場合にのみ、要求 で最後尾にこのオプションパラメータを設定することができます。この場合、AWS Lambdaは、 xamz-log-resultヘッダーのラムダ関数によって生成されたログデータのbase64でコード化された の最後の4 KBを返します。
有効値:なし| Tail
これは、関数を呼び出すための有効な資格情報を持つユーザーは、この関数が発行するログも読み取ることができることを意味しますか?
これは明らかな脆弱性で、攻撃者に無効な入力の処理に関する有用な情報を与えることができます。
Amazon AWSラムダ関数を構成して、レスポンスのログの尾引きを防止する方法を教えてください。コメントについて
アップデート1
1):「ハッカーがあなたのラムダ関数を呼び出すことができる場合、ログファイルを見るより 多くの問題を抱えている。」
ない真:ラムダ関数SDKを使用して直接クライアントコードを作成することも意味します。
2)コメントについて:例として
、著書「アクションでAWSラムダ」から下記の絵を見る」 をどのようにこの脆弱性は、正確にあなたが持っている唯一の誰か?提供AWS IAMの資格情報は、ラムダ関数を呼び出すことができるだろう。「もちろん、クライアントはいくつかの資格情報を持っていない、例えば、から が自分のFacebookのアカウントでモバイルアプリにサインインした(ほとんどの時間、スルー・アムアゾン・コグニート)。私はすべてのユーザーを信頼するはずですか?
3)コメントについて:「あなたがログインするためにいくつかのセキュアな情報を入れている場合のみ。」
ログの賢明な情報が含まれていてもよいです。パスワードのような安全な情報ではなく、開発チームのデバッグに役立つ情報、またはセキュリティチームが攻撃を見つけ出すための情報です。アプリケーションは、何らかの無効な入力が失敗した理由を含む、あらゆる種類の情報をログに記録し、攻撃者が有効な入力が何であるかを知るのに役立ちます。また、攻撃者はセキュリティチームが攻撃について記録しているすべての情報を見ることができます。良くない。あなたが記録しているものによってプライバシーが危険にさらされる可能性があります。
アップデート2
私は何とかラムダコードでTail
パラメータを検出することができればそれはまた、私の問題を解決するだろう。それから、私は "Tail now allowed"というメッセージで失敗します。残念ながら、Context
オブジェクトにはこの情報が含まれていないようです。
これはどのように脆弱性ですか?あなたがAWS IAMクレデンシャルを提供した人だけが、AWS APIを介して直接ラムダ関数を呼び出すことができます。 –
(上のコメントに加えて)、ラムダ関数 – hjpotter92
の出力としてログに記録されるセキュリティ情報を入れた場合のみこのパラメータはInvoke API呼び出し中にのみ使用されます。ハッカーがラムダ関数を呼び出せば、ログファイルを見るよりも多くの問題があります。 –