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
150
カーネルレベルでTwitterを禁止しよう
Yuto Takamune
July 10, 2023
Tweet
Share
More Decks by Yuto Takamune
See All by Yuto Takamune
GPT-3.5 Turbo をファインチューニングして自分のクローンを作った話
shinbunbun_
0
210
RustのLINEBot SDKを自作した話
shinbunbun_
0
700
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
2.3k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
2.1k
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
240
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
140
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
600
IEEE802.1X認証を導入してみた
shinbunbun_
0
180
UBICの食材管理APIを作った話
shinbunbun_
0
170
Other Decks in Programming
See All in Programming
Xcode 16のPreviewModifierと@Previewableを活用した効率的なプレビュー方法の考察
ojun9
2
160
APIのない大学ログインWebサービスをWKWebViewとJavaScriptでアプリ化した話
akidon0000
1
330
Folding Cheat Sheet #7
philipschwarz
PRO
0
150
The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform | droidcon Berlin
prof18
0
110
Product Management LT会_クアンド新家
shinshin
0
260
Prompt FlowによるLLMアプリケーション開発
yuto2000
1
1k
Rust.Nagoya #1
codemountains
0
170
Javaの現状2024夏 / Java current status 2024 summer
kishida
4
1.4k
CSC307 Lecture 06
javiergs
PRO
0
360
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
160
Rustのweb開発を助ける 便利なツール紹介
yuki0418
1
190
CSC307 Lecture 08
javiergs
PRO
0
330
Featured
See All Featured
Atom: Resistance is Futile
akmur
261
25k
Facilitating Awesome Meetings
lara
46
5.8k
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
KATA
mclloyd
20
13k
Visualization
eitanlees
139
14k
Side Projects
sachag
451
42k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.6k
In The Pink: A Labor of Love
frogandcode
139
22k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.3k
Building Your Own Lightsaber
phodgson
101
5.9k
Design by the Numbers
sachag
277
18k
Rails Girls Zürich Keynote
gr2m
93
13k
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まだ入門しただけなので、もっと深いところまで触っていきたい