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
300
0
Share
カーネルレベルでTwitterを禁止しよう
Yuto Takamune
July 10, 2023
More Decks by Yuto Takamune
See All by Yuto Takamune
GPT-3.5 Turbo をファインチューニングして自分のクローンを作った話
shinbunbun_
1
380
RustのLINEBot SDKを自作した話
shinbunbun_
0
2.4k
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
4.8k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
4.9k
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
650
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
230
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
2.3k
IEEE802.1X認証を導入してみた
shinbunbun_
0
330
UBICの食材管理APIを作った話
shinbunbun_
0
250
Other Decks in Programming
See All in Programming
Inside Stream API
skrb
1
440
1人1案件のプロダクトエンジニア時代に、"プロセス監督"としてチャレンジしたこと
non0113
0
360
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
1.4k
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
200
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
0
230
Claspは野良GASの夢をみるか
takter00
0
140
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
680
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
110
New "Type" system on PicoRuby
pocke
1
390
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
250
[KCD Czech] eBPF Meets the GPU: Future of AI Infra Observability
doniacld
0
130
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
500
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
240
Design in an AI World
tapps
1
220
Making Projects Easy
brettharned
120
6.7k
Designing Experiences People Love
moore
143
24k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
Un-Boring Meetings
codingconduct
0
300
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
430
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
460
From π to Pie charts
rasagy
0
190
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まだ入門しただけなので、もっと深いところまで触っていきたい