Lambda でグローバル変数を使うとどうなるか

グローバル変数というより handler 外で実行されるコードについて。 Lambda は Warm start している間は handler 以外の内容をキャッシュ(という言い方が正しいかは知らない)しているので、以下のようなことが起こる。 > cat handler.py import json import random secret = random.random() def g...

Infra Study Meetup #6 で登壇した

@matsumotory さんからお誘いいただいて、登壇した。 https://forkwell.connpass.com/event/187694/ テーマは「インフラとセキュリティのこれから」ということで、コンテナや Kubernetes のセキュリティについて、DevSecOps の進め方などについて話した。 当日の様子は YouTube に上がっているので、どうぞ。また、使ったコマン...

procfs の hidepid オプションについて調べた

profs の hidepid オプションの値 procfs のマウントオプションに hidepid というオプションがあることを知った。 man で確認すると 0~3 の値を取るらしい。 hidepid=n (since Linux 3.3) This option controls who can access the information in /proc/[pid] directorie...

wazuh の Fluentd forwarder を使って agent の任意のファイルを td-agent に送る

wazuh agent が入っているホストの任意のファイルを td-agent に送る方法をメモしておく。 単純にログを収集するのであればホストに td-agent を入れればいいのだが、例えば管理している全てのホストにおいて、特定のログを収集したい場合、全部に td-agent を入れるのは面倒くさい。 (wazuh agent を全部入れるのも面倒じゃないか!というのは、それはそうなのだが&h...

複数の Pod でコマンドを実行できる kubectl-multi-exec を作った

Kubernetes で遊んでいると、指定した Pod 全てで同じコマンドを実行したいというケースがありました。 kubectl exec -l app=test のような感じで label を指定して実行できれば良いのですが、今はできません。 https://github.com/kubernetes/kubernetes/issues/8876 上記 issue にありますが、頑張ってシェ...

アプリケーションを oauth2-proxy で保護して curl でアクセスするまで

追記 2020-05-13 この方法に問題があることをご指摘いただきました。本来関係ないクライアントがリソースサーバーにアクセスできる問題がありますので、取り急ぎこの方法は非推奨であることを書いておきます(では、どのようにすればいいのかというところをまた後日追記します)。 リソースサーバーと全く関係の無いクライアントが、全く関係のない文脈で正当に取得した ID トークンを用いて、リソースサーバーの...

fakeobj を利用して任意アドレスの読み書きを行う

前回は Memory Corrupution まで行ったので、今回は任意のアドレスを書き換えるまで行う。 任意アドレスを行うにあたって、次のようなメモリレイアウトを用意する。 これは PoC を参考に自分の理解のためにお絵かきしたもの。 今見返すと自分でも読めないし、これでわかる人いないと思うが… 簡単に説明すると、まずは outer というオブジェクトに hax という fake...

fakeobj primitive を使った Memory Corrupution

前回の記事 では addrof という関数を作り、メモリリークを行った。 この記事 では addrof の反対の動作をするものとして fakeobj という attack primitive が紹介されている。 attack primitive とは exploit primitive とも呼ばれ、攻撃を成功させる過程のうちの1つのテクニックみたいなイメージ。 addrof が object を配...

WebKit JSC における RegExp の JIT 最適化による脆弱性を調べた

https://googleprojectzero.blogspot.com/2019/08/jsc-exploits.html で Exploit 7 として紹介されている脆弱性について調べた。 PoC が公開されているのと Web に解説もあるので、取っ掛かりやすかろうということで。 これはどういうバグかというと、PoC の The Bug に書かれている通りで、RegEx のマッチング処理が...