逆方向実行可能言語によるエンコーダとデコーダの同時実装
スポンサーリンク
概要
- 論文の詳細を見る
本発表ではプログラムを逆方向にも実行可能なプログラミング言語Conservationを提案し,例としてX.509証明書のエンコーダとデコーダを記述する.また応用として,エンコーダを修正して間違った証明書を生成し,既存の暗号ライブラリに対してファジングを行う.通信プロトコルやデータフォーマットなど,データをプロセスの外部で表現するためにはデータをバイト列にエンコードし,また,逆にバイト列をデータにデコードすることが欠かせない.エンコードとデコードは対になる処理であるが,通常は別々に開発するため,正しく対応がとれた実装になるとは限らない.本発表ではプログラムを逆方向にも実行可能なプログラミング言語によりエンコードとデコードをひとつのプログラムとして記述可能とする.それにより常に正しく対応のとれたエンコーダとデコーダが開発できる.また,開発における利点だけでなく,ファジングにも利用できることを示す.
- 2014-07-14