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
カーネルレベルでTwitterを禁止しよう
Search
Yuto Takamune
July 10, 2023
Programming
0
210
カーネルレベルでTwitterを禁止しよう
Yuto Takamune
July 10, 2023
Tweet
Share
More Decks by Yuto Takamune
See All by Yuto Takamune
GPT-3.5 Turbo をファインチューニングして自分のクローンを作った話
shinbunbun_
0
290
RustのLINEBot SDKを自作した話
shinbunbun_
0
1.3k
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
3.3k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
3.2k
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
450
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
180
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
1.2k
IEEE802.1X認証を導入してみた
shinbunbun_
0
250
UBICの食材管理APIを作った話
shinbunbun_
0
200
Other Decks in Programming
See All in Programming
Defying Front-End Inertia: Inertia.js on Rails
skryukov
0
480
Ruby's Line Breaks
yui_knk
2
1k
Compose Hot Reload is here, stop re-launching your apps! (Android Makers 2025)
zsmb
1
510
Java 24まとめ / Java 24 summary
kishida
3
500
これだけは知っておきたいクラス設計の基礎知識 version 2
masuda220
PRO
24
6.4k
RubyKaigi Dev Meeting 2025
tenderlove
1
150
Lambda(Python)の リファクタリングが好きなんです
komakichi
3
200
状態と共に暮らす:ステートフルへの挑戦
ypresto
1
530
Amazon CloudWatchの地味だけど強力な機能紹介!
itotsum
0
160
SEAL - Dive into the sea of search engines - Symfony Live Berlin 2025
alexanderschranz
1
140
AWSで雰囲気でつくる! VRChatの写真変換ピタゴラスイッチ
anatofuz
0
160
スモールスタートで始めるためのLambda×モノリス(Lambdalith)
akihisaikeda
2
280
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Producing Creativity
orderedlist
PRO
344
40k
BBQ
matthewcrist
88
9.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Java REST API Framework Comparison - PWX 2021
mraible
30
8.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
How to train your dragon (web standard)
notwaldorf
90
6k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Adopting Sorbet at Scale
ufuk
76
9.3k
Transcript
カーネルレベルでTwitterを禁 止しよう 会津大学 学部3年 しんぶんぶん
自己紹介 • 名前: しんぶんぶん • 所属: 会津大学学部 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まだ入門しただけなので、もっと深いところまで触っていきたい