$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
カーネルレベルでTwitterを禁止しよう
Search
Yuto Takamune
July 10, 2023
Programming
0
180
カーネルレベルでTwitterを禁止しよう
Yuto Takamune
July 10, 2023
Tweet
Share
More Decks by Yuto Takamune
See All by Yuto Takamune
GPT-3.5 Turbo をファインチューニングして自分のクローンを作った話
shinbunbun_
0
250
RustのLINEBot SDKを自作した話
shinbunbun_
0
1.1k
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
2.9k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
2.7k
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
360
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
160
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
970
IEEE802.1X認証を導入してみた
shinbunbun_
0
210
UBICの食材管理APIを作った話
shinbunbun_
0
180
Other Decks in Programming
See All in Programming
Seamless Flutter Native Integration: FFI & Pigeon - Dreamwalker (JaichangPark / 박제창) @FlutterKaigi2024
itsmedreamwalker
0
120
デザインパターンで理解するLLMエージェントの作り方 / How to develop an LLM agent using agentic design patterns
rkaga
11
3.4k
Missing parts when designing and implementing Android UI
ericksli
0
390
talk-with-local-llm-with-web-streams-api
kbaba1001
0
160
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
1
240
Leverage LLMs in Java with LangChain4j and Quarkus
hollycummins
0
190
暇に任せてProxmoxコンソール 作ってみました
karugamo
1
320
The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform | droidcon Italy
prof18
0
140
第5回日本眼科AI学会総会_AIコンテスト_3位解法
neilsaw
0
140
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
210
Testing Assembly: Code or Low Code - Navigating the Test Automation Options
maaretp
0
100
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
850
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.2k
Designing Experiences People Love
moore
138
23k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Fireside Chat
paigeccino
34
3.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
27
2.1k
A better future with KSS
kneath
238
17k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.8k
Bash Introduction
62gerente
608
210k
Designing for Performance
lara
604
68k
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まだ入門しただけなので、もっと深いところまで触っていきたい