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
170
カーネルレベルでTwitterを禁止しよう
Yuto Takamune
July 10, 2023
Tweet
Share
More Decks by Yuto Takamune
See All by Yuto Takamune
GPT-3.5 Turbo をファインチューニングして自分のクローンを作った話
shinbunbun_
0
230
RustのLINEBot SDKを自作した話
shinbunbun_
0
910
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
2.7k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
2.4k
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
300
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
150
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
800
IEEE802.1X認証を導入してみた
shinbunbun_
0
200
UBICの食材管理APIを作った話
shinbunbun_
0
180
Other Decks in Programming
See All in Programming
What is TDD?
urakawa_jinsei
0
140
為醫療加裝Python的引擎
cclai999
0
240
Делим тесты между QA и разработчиком
mariyasaygina
0
260
サークルポータルを支えるフロントエンドアーキテクチャの選定
toranoana
1
200
M5Stackボードの選び方
tanakamasayuki
0
190
全方位強化 Python 服務可觀測性:以 FastAPI 和 Grafana Stack 為例
blueswen
1
330
なぜアジャイルがうまくいかないのか?
yum3
2
140
ROS 2のZenoh対応とZenohのROS 2対応
takasehideki
2
140
Developer Joy == Developer Productivity (really!)
hollycummins
2
290
Интеграционное тестирование: как приручить хаос
mariyasaygina
0
260
DjangoNinjaで高速なAPI開発を実現する
masaya00
0
190
CSC305 Lecture 01
javiergs
PRO
0
130
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
53
9k
Large-scale JavaScript Application Architecture
addyosmani
508
110k
Gamification - CAS2011
davidbonilla
79
5k
From Idea to $5000 a Month in 5 Months
shpigford
380
46k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
45
4.8k
RailsConf 2023
tenderlove
28
830
Speed Design
sergeychernyshev
22
450
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
230
17k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Optimizing for Happiness
mojombo
375
69k
Adopting Sorbet at Scale
ufuk
73
8.9k
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まだ入門しただけなので、もっと深いところまで触っていきたい