• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2016 年度 実績報告書

耐改竄性をもつプログラム言語とそのプログラム開発手法の研究

研究課題

研究課題/領域番号 26540027
研究機関名古屋大学

研究代表者

酒井 正彦  名古屋大学, 情報学研究科, 教授 (50215597)

研究期間 (年度) 2014-04-01 – 2017-03-31
キーワード難読プログラム / Malbolge / コンパイラ
研究実績の概要

本研究は、プログラム難読化によるソフトウェア保護を目指し、最も難解かつプログラミングも困難と考えられている言語Malbolgeによるプログラム手法の開発を目指すものである。
(1) 昨年度考案した、擬似命令列に繰り返し構造を導入して得られる中間言語から、それら全体を一度に低級アセンブリ言語に変換する手法の詳細を見直し、洗練し、実装した。具体的に設計した中間言語(制御付き擬似命令列言語)には、擬似命令列に追加する機能として、繰り返し構造以外にも配列機能ならびに関数の実現に必要となる動的なジャンプ機能の追加が必要であった。さらに、その中間言語プログラムを、Malbolgeのメモリ空間を3の10乗倍に拡張したMalbolge20のコードに変換するコンパイラを作成した。
(2) C言語に近い構文を持つ言語のプログラムを(1)の制御付き擬似命令列に変換するコンパイラを作成した。前者のC言語に近い言語は、比較演算、論理演算、入出力命令、if文、while文、関数の再帰呼び出し機能を備え、単純ではあるが高級言語の条件を満たしており、一般ユーザによるプログラム作成が可能である。
これらにより、容易にMalbolgeプログラムが作成できる環境が整った。現在までにWWW経由でこれらの成果を利用できる環境を一部整備した。残りについても近日中に整備・公開予定である。
本研究に基づいて高級言語プログラムを変換して得られるMalbolgeプログラムは実行効率が非常に悪く、二つの変数に納められた値の和を別の変数に納めるだけで約60,000の実行ステップが必要である。Malbolgeプログラムに変換するだけでも至難の業であり、効率の改善は非常に困難と考えられるため、隠匿したいプログラム部分を一部だけMalbolgeに変換するといった部分的な適用法の開発が今後望まれる。

備考

(2)は(1)の英語版です。

  • 研究成果

    (3件)

すべて 2016 その他

すべて 雑誌論文 (1件) (うち謝辞記載あり 1件) 備考 (2件)

  • [雑誌論文] 難読性の高いMalbolgeコードを生成するコンパイラのための中間言語2016

    • 著者名/発表者名
      河邉翔平, 酒井正彦, 西田直樹, 関 浩之
    • 雑誌名

      電子情報通信学会技術報告

      巻: SS2016-12 ページ: 105-101

    • 謝辞記載あり
  • [備考] Malbolge and Malbolge20

    • URL

      https://www.trs.css.i.nagoya-u.ac.jp/Malbolge/index.html.ja

  • [備考] Malbolge and Malbolge20

    • URL

      https://www.trs.css.i.nagoya-u.ac.jp/Malbolge/index.html.en

URL: 

公開日: 2018-01-16  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi