カーネルレベルでTwitterを禁止しよう会津大学 学部3年 しんぶんぶん
View Slide
自己紹介● 名前: しんぶんぶん● 所属: 会津大学学部 3 年● Twitter: @shinbunbun_, @4fa19623● Rust いっぱいちゅき● LINE API Expert / seccamp ’23 / Cybozu labyouth 13th
みなさん、Twitterやりすぎてませんか?
Twitterを禁止する方法● Chrome拡張● ファイアウォールでブロック● etc…
実はそれ、カーネルレベルでブロックできます
そう、eBPFならね!
eBPFとは● カーネルのソースコードを変更したり、カーネルモジュールをロードしたりすることなく、安全にカーネルの機能を拡張できる● ユーザースペースはGo,C++, Rustなどでかける● eBPFプログラム自体はCやRustでかける
つまり...
全部Rustでかける!!!
今回作ったもの● ayaというRustのライブラリを使用● 公式チュートリアルにXDPを使ってパケットのdropをするコードが載っているのでそれを使用● コード: https://github.com/aya-rs/book/tree/main/examples/xdp-drop
実際に動かしてみよう!
まとめ● やっぱり低レイヤーやりたかったらRustめちゃめちゃ良いなと思った● eBPFまだ入門しただけなので、もっと深いところまで触っていきたい