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
260
カーネルレベルでTwitterを禁止しよう
Yuto Takamune
July 10, 2023
Tweet
Share
More Decks by Yuto Takamune
See All by Yuto Takamune
GPT-3.5 Turbo をファインチューニングして自分のクローンを作った話
shinbunbun_
0
330
RustのLINEBot SDKを自作した話
shinbunbun_
0
1.9k
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
4.1k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
4.2k
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
550
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
200
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
1.8k
IEEE802.1X認証を導入してみた
shinbunbun_
0
290
UBICの食材管理APIを作った話
shinbunbun_
0
230
Other Decks in Programming
See All in Programming
CSC305 Lecture 15
javiergs
PRO
0
190
なぜ強調表示できず ** が表示されるのか — Perlで始まったMarkdownの歴史と日本語文書における課題
kwahiro
8
4.4k
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
270
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
5
550
flutter_kaigi_2025.pdf
kyoheig3
1
160
チーム開発の “地ならし"
konifar
1
240
Amazon Bedrock Knowledge Bases Hands-on
konny0311
0
140
Kotlinで実装するCPU/GPU 「協調的」パフォーマンス管理
matuyuhi
0
350
AI駆動開発ライフサイクル(AI-DLC)のホワイトペーパーを解説
swxhariu5
0
460
FlutterKaigi 2025 システム裏側
yumnumm
0
670
AI 駆動開発におけるコミュニティと AWS CDK の価値
konokenj
5
380
ボトムアップの生成AI活用を推進する社内AIエージェント開発
aku11i
0
1.6k
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Music & Morning Musume
bryan
46
6.9k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.1k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Gamification - CAS2011
davidbonilla
81
5.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Why Our Code Smells
bkeepers
PRO
340
57k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Building an army of robots
kneath
306
46k
Being A Developer After 40
akosma
91
590k
Optimizing for Happiness
mojombo
379
70k
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まだ入門しただけなので、もっと深いところまで触っていきたい