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

2015 年度 実施状況報告書

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

研究課題

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

研究代表者

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

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

本研究は、プログラム難読化によるソフトウェア保護を目指し、最も難解かつプログラミングも困難と考えられている言語Malbolgeによるプログラム手法の開発を目指すものである。
昨年度から開発中であった、実行時に利用できるメモリ空間を3の20乗に拡張したMalbolge20言語の低級アセンブラを開発し、WEBで公開した(URL: http://www.trs.cm.is.nagoya-u.ac.jp/Malbolge/20trits_lal/on-lal.html.en)。低級アセンブラプログラムの作成困難性は、Malbolgeプログラム作成と比較すると易しいが、依然として普通のプログラミング手法の手におえるものではない。これまでにノウハウとして蓄えた低級アセンブリプログラムの作成手法は次のとおりである。(1) まず逐次的な処理に対する擬似命令列、ならびに、これらの実行制御を設計する。(2) これらの全体を眺めながら、低級アセンブリプログラムを作成する。その際に、(1)の部分ごとに低級アセンブリプログラムを作成してからそれらを組み合わせるといった通常のアプローチが使えないのが難しい点である。これは通常のプログラミング言語から低級アセンブリ言語へのコンパイラ作成のための障害となっている。これを解決するため、まず中間言語として擬似命令列に繰り返し構造を導入し、それら全体を一度に低級アセンブリ言語に変換する手法を開発した。これによりコンパイラ作成のための準備が整いつつある。
以上の他、組合せ最適化のための擬ブールソルバの改良により、コードの生成能力を増強することが出来た。

現在までの達成度 (区分)
現在までの達成度 (区分)

2: おおむね順調に進展している

理由

初年度計画のうち達成が遅れていた低級アセンブリプログラムのシステム的な作成手法の開発を終え、当該年度の主な実施計画である低級アセンブリプログラムへの系統的な生成手法にめどが立ち、設計した中間言語から低級アセンブリプログラムが生成できるようになった。
当初はSATソルバによる組合せ最適化による手法を予定していたが、適用可能な規模に限界があり、また、低級アセンブラ言語自体の強い制約により解決のための問題分割が思うように出来なかったものの、適切な中間言語の設計に成功したため組合せ最適化手法に頼らない生成手法の設計が可能に立ったためである。

今後の研究の推進方策

これまでに中間言語から低級アセンブリ言語への変換、ならびに、低級アセンブリ言語からMalbolge言語への変換はほぼ実現が出来ている。実用化のためには、簡素ではあるが普通のプログラミング言語といえるような言語で中間言語への変換が可能な言語を設計し、その中間言語へのコンパイラを設計し実現する必要がある。
最終年度は、これらを達成し、これまでの成果と統合することで、超難読言語であるMalbolgeのプログラム作成を可能にしたい。

次年度使用額が生じた理由

ほぼ計画通りに予算を使用したが、他の事情により1回分国内出張ができなかったため。

次年度使用額の使用計画

国内出張に利用予定である。

備考

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

  • 研究成果

    (3件)

すべて 2015 その他

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

  • [雑誌論文] Construction of an ROBDD for a PB-constraint in band form and related techniques for PB-solvers2015

    • 著者名/発表者名
      Masahiko Sakai and Hidetomo Nabeshima
    • 雑誌名

      IEICE Transaction on Information and Systems

      巻: E98-D ページ: 1121-1127

    • 査読あり / 謝辞記載あり
  • [備考] Malbolge, Malbolge20

    • URL

      http://www.trs.cm.is.nagoya-u.ac.jp/Malbolge/index.html.ja

  • [備考] Malbolge, Malbolge20

    • URL

      http://www.trs.cm.is.nagoya-u.ac.jp/Malbolge/index.html.en

URL: 

公開日: 2017-01-06  

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

Powered by NII kakenhi