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
120
カーネルレベルでTwitterを禁止しよう
Yuto Takamune
July 10, 2023
Tweet
Share
More Decks by Yuto Takamune
See All by Yuto Takamune
GPT-3.5 Turbo をファインチューニングして自分のクローンを作った話
shinbunbun_
0
160
RustのLINEBot SDKを自作した話
shinbunbun_
0
110
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
1.1k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
890
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
190
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
140
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
25
IEEE802.1X認証を導入してみた
shinbunbun_
0
160
UBICの食材管理APIを作った話
shinbunbun_
0
160
Other Decks in Programming
See All in Programming
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
1.1k
SIMD Parallel Programming with the Vector API
josepaumard
0
180
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
380
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
230
Anthropic Cookbook のおすすめレシピ
schroneko
7
990
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
810
1BRC--Nerd Sniping the Java Community
gunnarmorling
0
340
コーンフレークから始める モデリング会話入門
ogurotakayuki
0
380
Fast JSX: Don't clone props object #28768
yossydev
1
130
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
950
2 週間で Twitter Bot を作ってみた
contour_gara
0
590
Ruby Pattern Matching
bkuhlmann
0
930
Featured
See All Featured
For a Future-Friendly Web
brad_frost
172
9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Unsuck your backbone
ammeep
663
57k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
322
20k
Music & Morning Musume
bryan
41
5.6k
We Have a Design System, Now What?
morganepeng
43
6.8k
Typedesign – Prime Four
hannesfritz
36
2.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
125
32k
What’s in a name? Adding method to the madness
productmarketing
PRO
16
2.6k
YesSQL, Process and Tooling at Scale
rocio
164
13k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Why Our Code Smells
bkeepers
PRO
331
56k
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まだ入門しただけなので、もっと深いところまで触っていきたい