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.3k
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
4.7k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
4.7k
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
640
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
230
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
2.2k
IEEE802.1X認証を導入してみた
shinbunbun_
0
320
UBICの食材管理APIを作った話
shinbunbun_
0
250
Other Decks in Programming
See All in Programming
Agentic Elixir
whatyouhide
0
430
エラー処理の温故知新 / history of error handling technic
ryotanakaya
7
1.8k
Claude Code × Gemini × Ebitengine ゲーム制作素人WebエンジニアがGoでゲームを作った話
webzawa
0
210
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
1
190
PHP で mp3 プレイヤーを実装しよう
m3m0r7
PRO
0
300
How We Benchmarked Quarkus: Patterns and anti-patterns
hollycummins
1
170
CDK Deployのための ”反響定位”
watany
5
910
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
960
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
1
130
Running Swift without an OS
kishikawakatsumi
0
870
Road to RubyKaigi: Play Hard(ware)
makicamel
1
520
From Formal Specification to Property Based Test
ohbarye
0
630
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
200
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
290
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
820
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
How to build a perfect <img>
jonoalderson
1
5.4k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
130
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
120
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Designing for Timeless Needs
cassininazir
0
210
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まだ入門しただけなので、もっと深いところまで触っていきたい