発端 Go のアプリケーションでエラーを Sentry に送っているのだが、スタックトレースが表示されなくて調査が困ったときがあった。 どうすればスタックトレースを送れるのだろうと気になって調べたところ、sentry-go では次の 3 つのパッケージを使って errors を扱っている場合にのみ、スタックトレースを取得できるらしい。 https://github.com/pingcap/errors https://github.com/pkg/err...| blog.ssrf.in
雑文です🖊 同僚の SRE がイネーブルメント活動のうち、専門知識の伝導やオーナーシップの移譲を進めることを「民主化」と呼んだりしている。自分もそれを気に入って「セキュリティの民主化」をやることがある。 その民主化活動を他社の人に共有したところ、興味を持ってくれたのでブログにも書いておこうと思う。 セキュリティの民主化とは やっていることは...| blog.ssrf.in
Bクラスの「クラウドネイティブセキュリティの 実践と戦略」という講義とグループワークの講師、および、ステアリングコミッティの企画グループリーダーとして参加してました。 仮想のマイクロサービスを題材に、Pod のオートスケールやサーキットブレーカーを体験し、サービスメッシュという文脈で簡単なサイドカープロキシを自作し、EKS での様々な権限昇格パ...| blog.ssrf.in
# どういう書籍か コンテナの要素技術である Linux Namespaces などの Linux の機能について体験し、それらが機能していないコンテナではどういった脅威が生じ、どのような攻撃手法があるのかについて紹介した本です。 副題は「Dockerを通して理解するコンテナの攻撃例と対策」ですが、演習題材として Docker を使うという意味であり、Kubernetes などの環境では通用しないと...| blog.ssrf.in
# Intro create-react-app などで作られた Single Page Application(SPA) に CSP Level 3 (strict-dynamic + hash-source) を適用するための webpack plugin を作った。 https://www.npmjs.com/package/@mrtc0/csp-html-webpack-plugin # Content-Security-Policy (CSP) と Single Page Application CSP については既に多くのドキュメントや記事があるため、詳しくはそれらを参照してほしい。 https://w3c.github.io/webappsec-csp https://developer.mozilla.org/ja/...| blog.ssrf.in
1Password の AWS shell plugin は大変便利なのだが、AWS_SESSION_TOKEN に対応していないので aws sso login が必要な環境では、そのままでは利用が難しい。 短命のトークンとはいえ、 ~/.aws/sso/cache にクレデンシャルを保存したくないので、なんとか 1Password に保存して 1Password CLI で利用したい。 …という背景もあり https://github.com/mrtc0/aws-sso-go を作った。 aws-sso-go は aws sso login 相当の...| blog.ssrf.in
最近、趣味で低レイヤコンテナランタイムを実装しているので、 runc のコードを読んだり、挙動を確認している。コンテナのステータスの変化を確認していたとき、 runc create して runc init コマンドが実行されると、それが runc start するまで残り続けていることが分かった。 今回はこれがどうやって実現されているのか調べたので、そのメモになります。 $ runc -v runc versio...| blog.ssrf.in
昨年は こちら。 仕事 昨年と引き続きフルリモート。 まだ評価資料を作っていないので、ちゃんと振り返っているわけではないのだが、今年もセキュリティ対策室の行動指針のもと、以下のような施策を行ってきた。 Semgrep などを用いた SAST の導入 脅威モデリングの実施 Wazuh 周りあれこれ Splunk を使った外部サービスの監査ログ収集と SOAR の実装 他にも Gatekeeper など...| blog.ssrf.in
特定の外部ネットワークへの通信の制限にはファイアウォールなどを利用することが多いですが、コンテナや実行されたコマンド名などをもとに、通信を制御したいという需要が自分の中でありました。 具体的には GitHub Self-hosted runner のような CI / CD 環境で、依存パッケージに悪意あるコードが入り込んでしまうようなサプライチェーン攻撃などを検知・防御し、意図...| blog.ssrf.in
セキュリティインシデントが発生した場合、事前に作成したワークフローやアクションプランに基づいて動くことで対応をスムーズに行うことができます。 インシデントにおいて、このワークフローやアクションプランのような対応手順書を「プレイブック」と呼ぶことが多く、インシデント発生時にプレイブックの実行を自動化することで、対応チームの負荷を下げ...| blog.ssrf.in