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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yuto Takamune
July 10, 2023
Programming
0
290
カーネルレベルでTwitterを禁止しよう
Yuto Takamune
July 10, 2023
Tweet
Share
More Decks by Yuto Takamune
See All by Yuto Takamune
GPT-3.5 Turbo をファインチューニングして自分のクローンを作った話
shinbunbun_
1
360
RustのLINEBot SDKを自作した話
shinbunbun_
0
2.2k
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
4.5k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
4.5k
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
620
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
220
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
2k
IEEE802.1X認証を導入してみた
shinbunbun_
0
320
UBICの食材管理APIを作った話
shinbunbun_
0
240
Other Decks in Programming
See All in Programming
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
940
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
150
Docコメントで始める簡単ガードレール
keisukeikeda
1
110
CSC307 Lecture 14
javiergs
PRO
0
470
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
360
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
250
TipKitTips
ktcryomm
0
160
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
330
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
420
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
150
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
220
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
210
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
61
52k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
160
Darren the Foodie - Storyboard
khoart
PRO
3
2.8k
Facilitating Awesome Meetings
lara
57
6.8k
How GitHub (no longer) Works
holman
316
140k
The Language of Interfaces
destraynor
162
26k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
480
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Between Models and Reality
mayunak
2
230
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
67
37k
Ruling the World: When Life Gets Gamed
codingconduct
0
170
Done Done
chrislema
186
16k
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まだ入門しただけなので、もっと深いところまで触っていきたい