Information Leak from Browser Cache with Fetch API CORS の設定ミスとブラウザへのキャッシュの設定によって、Information Leak するというテクニックのメモ。 対象の API レスポンスヘッダに Access-Control-Allow-Origin: * がついているとする。 また、Access-Control-Allow-Credentials が false なので、セッションが有効な状態での Cross Origin からの... Dec 27, 2019
Profiling Event in Container With Cxray 前回は bcc を使ってコンテナ内の execve を取得する方法について書きました。 最近 falco などを使い、Kubernetes の Pod の安全性を高めているのですが、そのルールを定義するのが難しいと感じていました。 例えば NIST の Application Container Security Guide の 4.4.4 節では次のイベントが発生することを検知できるようにしたほ... Dec 25, 2019
bpf(bcc) を使ってコンテナ内での execve をトレースする bpf(bcc) の簡単な使い方などについては 前回 書きました。 bpf は falco, sysdig, cilium など、Kubernetes 環境で使われるケースも増え、コンテナに対するトレース活用も多く出てきている印象があります。 ここでは bcc を使ってコンテナ内の execve をトレースする方法をメモしておきます。 Docker などのいわゆる Linux コンテナもホストから... Dec 23, 2019
BPF(bcc)のメモ bpf や bcc 周りは使わないと忘れてしまうのでメモ。 Hello, World clang で bpf オブジェクトを作って C でそれを読み込む…という方法よりも https://github.com/iovisor/bcc/ を使う方が楽なので、bcc でやります。 C でやると環境作るところから大変なので… ref : https://blog.raymon... Dec 19, 2019
Pod のプロセスの oom_score_adj はどうやって決まるか Node のメモリが上限に達した場合、プロセスが最初にkillされるのはBestEffort→Burstable→Guaranteed という順番。もし同じ QoS だった場合、 oom_score_adj で決まる。 のだけれど、 oom_score_adj はどうやって決まるのだろう…と気になったのでメモ。 次のようにメモリ制限を 128Mi に抑えた Pod を用意する。 ap... Dec 16, 2019
cgroup の release_agent を使った特権コンテナからのエスケープ 元ネタ : https://twitter.com/_fel1x/status/1151487051986087936 d=`dirname $(ls -x /s*/fs/c*/*/r* |head -n1)` mkdir -p $d/w;echo 1 >$d/w/notify_on_release t=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p... Jul 23, 2019
Kubernetes クラスタへの攻撃例とその対策 Kubernetes のセキュリティ周りを調べていたので、そのメモです。 間違いや追加の情報があれば @mrtc0 までお願いします。 Kubernetes Version 1.14.4 ServiceAccount Token の Auto Mount を無効する ServiceAccount の token や証明書は Pod 内の /var/run/secrets/kubernetes.... Jul 22, 2019
Kubernetes クラスタの audit ログを取得する Kubernetes でどのような操作が行われたか(audit)のログを取得する方法をメモ。 https://kubernetes.io/docs/tasks/debug-application-cluster/audit/ ここでは例として secrets リソースの audit ログを取得してみる。 1. Audit Policy を作成する。 apiVersion: audit.k8s.... Jul 18, 2019
No New Privileges と Docker Linux に No New Privileges という、子プロセスが新しい特権を取得できないようにする仕組みがある。 https://www.kernel.org/doc/html/latest/userspace-api/no_new_privs.html #include <stdio.h>#include <stdlib.h>#include <unis... Jul 18, 2019
Kubernetes での Pod のセキュリティ対策 Kubernetes での Pod のセキュリティ対策についてまとめる。 ここでは次の3点について書く。 securityContext で Pod をセキュアにする方法 SecurityContextDeny で securityContext を設定させない方法 PodSecurityPolicy を用いてクラスタ側で Pod をセキュアにする方法 いずれも securityContext... Jul 8, 2019