FFRIエンジニアブログ

FFRIエンジニアが執筆する技術者向けブログです

RISC-V

LLVM バックエンド書き換えによる独自命令の挿入

はじめに FFRIリサーチエンジニアの中川です。 以前投稿した記事「Shadow Stack を使った Stack Buffer Overflow 検知機構の実装」で 今回は LLVM バックエンドの書き換えにより、sspush sspop が関数のエピローグとプロローグに自動的に挿入されるようにし…

Shadow Stack を使った Stack Buffer Overflow 検知機構の実装

はじめに FFRIリサーチエンジニアの中川です。今回は RISC-V の実装の 1 つ Rocket に Shadow Stack を実装し、それを使い Stack Buffer Overflow を検知する機構を作成しましたので、それについて紹介します。 なお、今回の実装は論文 [1] を参考に行ってい…

RISC-V の普及に伴うサプライチェーン攻撃の可能性

はじめに こんにちは。FFRI リサーチエンジニアの中川です。 今回は RISC-V 普及に伴う半導体のサプライチェーンへの攻撃の脅威の可能性について取り上げます。 半導体のサプライチェーンは多くのステークホルダーが絡む非常に複雑なものになっており、サプ…

RISC-V での簡単なアンチ逆アセンブル

はじめに FFRI リサーチエンジニアの中川です。今回は小ネタではありますが、RISC-V において使えるアンチ逆アセンブルについて簡単に紹介します。 RISC-V について知らない方は、以前公開した記事に簡単にまとめましたので、そちらをご参照ください。 RISC-…

RISC-V で JIT-ROP をやってみる

はじめに FFRI リサーチエンジニアの中川です。今回は近年注目を集めている RISC-V において ASLR RELRO データ領域での実行防止が有効な状況下で JIT ROP によるシェル起動をやってみたので、簡単にその紹介をします。 なお、将来的に悪用される可能性があ…