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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
北村
September 23, 2025
1
150
ギャルのパンティおくれ
北村
September 23, 2025
Tweet
Share
More Decks by 北村
See All by 北村
LLMの出力を構造化したい
shu_kita
0
210
Azure Container Appsを使ってみた
shu_kita
0
150
LSMツリー
shu_kita
0
21
掲示板への不適切な投稿を防ぐ
shu_kita
0
150
正規表現エンジンを自作した話
shu_kita
0
17
Featured
See All Featured
Scaling GitHub
holman
464
140k
Fireside Chat
paigeccino
41
3.8k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
69
Facilitating Awesome Meetings
lara
57
6.7k
Writing Fast Ruby
sferik
630
62k
Designing Powerful Visuals for Engaging Learning
tmiket
0
210
Design in an AI World
tapps
0
140
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
310
Un-Boring Meetings
codingconduct
0
200
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.6k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
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)