Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ギャルのパンティおくれ
Search
北村
September 23, 2025
280
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ギャルのパンティおくれ
北村
September 23, 2025
More Decks by 北村
See All by 北村
LLMの出力を構造化したい
shu_kita
0
380
Azure Container Appsを使ってみた
shu_kita
0
290
LSMツリー
shu_kita
0
31
掲示板への不適切な投稿を防ぐ
shu_kita
0
310
正規表現エンジンを自作した話
shu_kita
0
49
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.4k
How to Talk to Developers About Accessibility
jct
2
540
GitHub's CSS Performance
jonrohan
1033
470k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
250
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
310
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
690
Color Theory Basics | Prateek | Gurzu
gurzu
0
460
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
230
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
400
New Earth Scene 8
popppiees
3
2.5k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
560
Transcript
ギャルのパンティおくれ shu-kitamura
自己紹介 • 出身 ◦ 大阪府枚方市 ◦ 3年前から札幌住み • 業務 ◦
SIer ◦ デバイスドライバ関係 • 趣味 ◦ テニス、フットサルやってます ◦ お笑いが好きです
話すこと 1. DBについて 2. デモ 3. eBPF・XDPについて
DBについて データベースではなくドラゴンボール の方です。 一星球~七星球を集め、神龍(シェンロン)を呼び出すと 何でも一つ願いを叶えてくれる。 • 生き返らせる • 若返らせる みたいな願いが作中では多かった。
最近の作品では「 ◦◦について教えて」とかで呼び出されていて、 ChatGPTみたいな扱いを受けているらしい。
ギャルのパンティおくれ 作中で最初に叶えられた願い。 この流れを eBPF(XDP) という技術を使って表現してみる。 いでよドラゴン 願いを言え ギャルのパンティ おくれーーーーーっ!!!!! こっちが叶った
世界征服の願いを叶えようとしていた ピラフ シェンロン ウーロン
デモ① ウーロンの邪魔が入らない いでよドラゴン 願いを言え。どんな願いもひとつだけ 叶えてやろう 世界を征服したい たやすい願いだ
デモ② ウーロンの邪魔が入る いでよドラゴン 願いを言え。どんな願いもひとつだけ 叶えてやろう ギャルのパンティおくれ たやすい願いだ
eBPF(XDP) という技術を使って、NICが受け取ったパケットを監視する。 ウーロンの正体は以下の動作をする eBPF(XDP) プログラム 1. TCPペイロードが 「願いを言え ……」のパケットを待つ 2.
パケットを書き換えて、送り返す。 以下の3点を書き換えている。 • TCPペイロードを「ギャルのパンティおくれ」に書き換え • 送信元・先の MAC/IPアドレス、ポートを入れ替え • TCPのSEQ/ACK、チェックサムを再計算して書き換え 何が起きたのか
eBPF (Extended Berkeley Packet Filter) とは? eBPFはLinux カーネル内のVMでバイトコードを実行できる機能。 • ユーザ空間からバイトコードをロードする
• ロードされたコードはカーネル内のVMで動作する • ロード時にVerifier(検証機)が危険なプログラムを弾くから安全 ◦ 例:無限ループ、不正なメモリアクセスなど • 柔軟で多様な用途 ◦ パケットモニタリング ◦ ファイアウォール ◦ ロードバランサ ◦ システムコールの追跡 などなど この蜂は eBee という名前 自分で書いたプログラムを カーネルで安全に実行できるのが良さ と理解しています(僕は)
プログラムの種類 eBPFプログラムには種類があります。 • XDP : NICがパケットを受信したときに◦◦する • TC : ネットワークスタックを通過したときに◦◦する
• kprobe : 特定のカーネル関数が実行されたときに◦◦する 他にも色々あります。 ◦◦の部分を自分で書く
XDPとは NICがパケットを受信したときに、任意の処理を加える。 XDPプログラムはXDP Actions(終了コード)によってパケットを制御する。 サポートされているXDP Actionsは以下 • XDP_PASS : パケットを通過させる
• XDP_TX : パケットを受信したNICから送信 • XDP_REDIRECT : パケットを別のNICから送信 • XDP_DROP : パケットを破棄する • XDP_ABORTED : プログラムがエラーの時に使う。パケットは破棄する
図にすると カーネル ハードウェア NIC ドライバ XDP ネットワークスタック ソケット NIC アプリケーション
XDP_TX XDP_REDIRECT XDP_PASS XDP_DROP パケット
ウーロンがやってたこと カーネル ハードウェア NIC ドライバ XDP ネットワークスタック ソケット NIC アプリケーション
XDP_TX パケット eBPFでパケットを 書き換え
用途 今回みたいなおふざけ用の技術ではない。 もちろん、ちゃんと使われている技術です。 • ロードバランサ ◦ Katran(Facebook) • コンテナ間の通信制御・監視 ◦
Cilium • DDoS対策 ◦ Gatebot(Cloudflare)