$30 off During Our Annual Pro Sale. View Details »

カーネルレベルでTwitterを禁止しよう

 カーネルレベルでTwitterを禁止しよう

Yuto Takamune

July 10, 2023
Tweet

More Decks by Yuto Takamune

Other Decks in Programming

Transcript

  1. カーネルレベルでTwitterを禁
    止しよう
    会津大学 学部3年 しんぶんぶん

    View Slide

  2. 自己紹介
    ● 名前: しんぶんぶん
    ● 所属: 会津大学学部 3 年
    ● Twitter: @shinbunbun_, @4fa19623
    ● Rust いっぱいちゅき
    ● LINE API Expert / seccamp ’23 / Cybozu labyouth 13th

    View Slide

  3. みなさん、Twitterやりすぎてませんか?

    View Slide

  4. Twitterを禁止する方法
    ● Chrome拡張
    ● ファイアウォールでブロック
    ● etc…

    View Slide

  5. 実はそれ、カーネルレベルでブロックできます

    View Slide

  6. そう、eBPFならね!

    View Slide

  7. eBPFとは
    ● カーネルのソースコードを変更したり、カーネルモジュールをロードしたりすることな
    く、安全にカーネルの機能を拡張できる
    ● ユーザースペースはGo,C++, Rustなどでかける
    ● eBPFプログラム自体はCやRustでかける

    View Slide

  8. つまり...

    View Slide

  9. 全部Rustでかける!!!

    View Slide

  10. 今回作ったもの
    ● ayaというRustのライブラリを使用
    ● 公式チュートリアルにXDPを使ってパケットのdropをするコードが載っているのでそ
    れを使用
    ● コード: https://github.com/aya-rs/book/tree/main/examples/xdp-drop

    View Slide

  11. 実際に動かしてみよう!

    View Slide

  12. まとめ
    ● やっぱり低レイヤーやりたかったらRustめちゃめちゃ良いなと思った
    ● eBPFまだ入門しただけなので、もっと深いところまで触っていきたい

    View Slide