IDAとTinyInstを使用したmacOSカーネル拡張の簡... ノート

IDAとTinyInstを使用したmacOSカーネル拡張の簡単なユーザースペースでのfuzzing

Google Project ZeroのIvan Fratricは、Appleデバイス上のAV1ビデオデコーディングのfuzzingの課題について話し合います。彼は、AV1デコーディングに対するハードウェアサポートがありながらも、フォーマットのパースィングの大部分がカーネル内でソフトウェア的に行われることを指摘します。特にAppleAVDカーネル拡張機能内です。Fratricは、自分がこの問題に初めて取り組んだのではなく、Fairplay、Cinema time!、KextFuzz、Pishiなどの過去のプロジェクトが既にこの問題に取り組んでいたことを述べます。彼は、Fairplayプロジェクトのカスタムローダーとは異なり、カーネルコードを軽量的にユーザースペースにロードするアプローチを説明します。この記事では、IDAを使用してコードをデコンパイルする必要があり、手動で修正が必要です。また、KextFuzzプロジェクトのポインタ認証命令をカバレッジ収集トランポリンにジャンプするように置き換える方法も述べられています。