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
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.1k
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
4.4k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
4.5k
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
610
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
220
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
2k
IEEE802.1X認証を導入してみた
shinbunbun_
0
310
UBICの食材管理APIを作った話
shinbunbun_
0
240
Other Decks in Programming
See All in Programming
CSC307 Lecture 12
javiergs
PRO
0
440
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
190
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
710
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
320
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
1k
Apache Iceberg V3 and migration to V3
tomtanaka
0
210
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
330
CSC307 Lecture 07
javiergs
PRO
1
560
NOT A HOTEL - 建築や人と融合し、自由を創り出すソフトウェア
not_a_hokuts
2
380
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.9k
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
870
Swift at Scale: Where Performance Really Comes From
kateinoigakukun
0
120
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.1k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
59
50k
SEO for Brand Visibility & Recognition
aleyda
0
4.3k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
160
Designing for humans not robots
tammielis
254
26k
GraphQLとの向き合い方2022年版
quramy
50
14k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
130
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
170
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
440
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まだ入門しただけなので、もっと深いところまで触っていきたい