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

2014 年度 実施状況報告書

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

研究課題

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

研究代表者

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

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

本研究は、プログラム難読化によるソフトウェア保護を目指し、最も難解かつプログラミングも困難と考えられている言語Malbolgeによるプログラム手法の開発を目指すものである。今年度は、プログラム作成の基礎となる低級アセンブラを整備[文献1]し、これを利用して動作するrot13プログラムを作成した。rot13プログラムとは、入力のアルファベットaからmまでをそれぞれnからzに、nからzをそれぞれaからmに変換する替字プログラムである。このためには、数値計算ならびに数値の比較に基づく実行制御というプログラミングの基本的な技術が必要である。また、整備した低級アセンブラをWebから利用できるようにした(http://www.trs.cm.is.nagoya-u.ac.jp/Malbolge/)。
Malbolgeプログラムがプログラム及び実行時に利用できるメモリ空間は3の10乗である。この大きさは一見十分のように思われるが、低級アセンブラが生成するMalbolgeコードをこの範囲内に収めることはかなり困難である。このことは、rot13プロブラムの開発に置いても大きな問題となった。そのため、その大きさを3の20乗に拡張したMalbolge20言語を定義し、そのインタプリタを作成した。さらに、現在その低級アセンブラを開発中である。低級アセンブラプログラムの作成困難性は、Malbolgeプログラム作成と比較すると易しいが、依然として普通のプログラムの手におえるものではない。したがって、高級アセンブリ言語の整備が必要であるが、低週アセンブリ言語はこれらのより実用的なプログラム開発環境の整備に欠かせない基礎となる。

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

3: やや遅れている

理由

計画で述べた、(1)メモリ不足への対処、(2)低級アセンブリプログラムのシステム的な作成手法の開発、(3)高級アセンブリプログラムから低級アセンブリプログラムへの直接的な変換手法について、(1)は十分に解決できたが、(2)については部分的な解決しか成功指定ない。その理由は、SATソルバによる組合せ最適化による手法では適用可能な規模に限界があり、低級アセンブラ言語自体の強い制約により解決のための問題分割が思うように出来ないためである。(3)は大きくは進んでいないが(2)の問題の解決により大きく進めることが可能である。

今後の研究の推進方策

【現在までの達成度】で述べた、問題(2)の解決を急ぐ。そのためには、低級アセンブリプログラムの開発経験が大きく貢献する。これまでは、大きなプログラムを作成しようにもメモリ不足によりMalbolgeプログラムへの変換が不可能であった。(1)のメモリ不足への対応は完了しておりrot13以外のプログラムも作成し、その知識を抽象化することにより問題分割の手法を抽出する。
27年度は、これらの結果をもとに高級アセンブリ言語とその開発環境の整備を行う。

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

今年度の使用額が前年度よりも少なかった理由は、ノートPCを購入せずにやりくりできたことと、旅費への使用が若干少なかったことによる。

次年度使用額の使用計画

SATソルバを利用した問題解決を試みたところ、現有のサーバの能力では思うように実験が進まないため、今年度剰余分と合わせてコストパフォーマンスの良いクラスタ計算機の購入を計画している。

  • 研究成果

    (3件)

すべて 2014 その他

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

  • [雑誌論文] Malbolge 低級アセンブラにおけるコード配置アドレスの決定法2014

    • 著者名/発表者名
      加藤起騎,酒井正彦,坂部俊樹,西田直樹
    • 雑誌名

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

      巻: 114 ページ: 99-104

    • 謝辞記載あり
  • [学会発表] Esoteric Programming Language Malbolge and Its Low-Level Assembler2014

    • 著者名/発表者名
      Masahiko Sakai and Tatsuki Kato
    • 学会等名
      Meeting of IPSJ Special Interest Group on Programming
    • 発表場所
      Asahikawa
    • 年月日
      2014-07-20
  • [備考] Malbolge

    • URL

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

URL: 

公開日: 2016-05-27  

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

Powered by NII kakenhi