効率的なLinuxシステムコールインターセプト:ptraceの非効率性を超えて

2025-01-05

この記事では、ptraceよりも効率的なLinuxシステムコールインターセプトの方法であるseccomp user notifyを紹介します。BPFフィルタを利用することで、必要なシステムコールのみを返すようにし、パフォーマンスオーバーヘッドを大幅に削減します。著者は自身のツールcopycatを例に、open()システムコールをインターセプトしてファイル置換を行う方法を示し、seccomp user notifyのメカニズム、BPFフィルタの作成、システムコール引数の処理などを詳細に説明しています。TOCTOU攻撃などのセキュリティ上の問題についても議論されています。

開発