• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2004 Fiscal Year Annual Research Report

動的命令を用いたソフトウェアプロテクション

Research Project

Project/Area Number 16700033
Research InstitutionNara Institute of Science and Technology

Principal Investigator

門田 暁人  奈良先端科学技術大学院大学, 情報科学研究科, 助教授 (80311786)

Keywordsソフトウェアプロテクション / 難読化 / 暗号化 / オートマトン
Research Abstract

1.オートマトンの設計
オートマトンにより命令解釈を行う(動的命令を含む)プログラムP_xの性質を次のように決定した.オリジナルの(動的命令を含まない)プログラムをP_O,Ins_<PO>およびIns_<P_x>をそれぞれP_OおよびP_xの命令セットとし,L_<PO>とL_<P_x>を,それぞれP_OとP_xのプログラミング言語とする.L_<P_x>はL_<PO>とは同一のオペコードセットと持つが,オペランドシンタックスは異なる.P_Oの個々のオペコードは,同一のバイト長を持つP_xのオペコードへと変換される.ただし,P_xの各オペコードに続くオペランドの型および個数は,P_Oにおけるオペランドと異なる.そのため,P_xは言語L<PO>として不正である.この設計は,Ins_<PO>=Ins_<P_x>であるため実装が容易である.
2.オートマトンの制御方式の設計
P_xに含まれる分岐オペコードc_jの解釈時に,c_jの分岐先で状態q_kへと遷移することが求められる場合,c_jの手前に予めダミー命令を挿入しておくことで状態のq_jへ強制的に遷移し,その後,c_jによってq_kへと遷移することとした.このような制御を行う条件として,オートマトンの全ての状態q_kおよび分岐オペコードc_jについて,δ_i(c_j)=q_kを満たす状態q_iが存在することが求められる.ここで,δ_iは状態q_iにおける状態遷移関数である.
3.P_Oから動的命令を含むプログラムP_xへの変換アルゴリズムの設計
オートマトンW_xに対応する逆変換オートマトンW_x^<-1>を定義し, W_x^<-1>を用いてプログラム変換P_O→P_xを行うアルゴリズムT_xを提案した.この変換アルゴリズムT_xは,プログラムカウンタの値を記憶するためのスタック,及び,スタックに対する操作pushとpopを用いて効率良く実行できる.

  • Research Products

    (6 results)

All 2005 2004

All Journal Article (6 results)

  • [Journal Article] Tamper-resistant software system based on a finite state machine2005

    • Author(s)
      Akito Monden
    • Journal Title

      IEICE Transactions on Fundamentals E88-A・1

      Pages: 112-122

  • [Journal Article] Dynamic software birthmarks to detect the theft of Windows applications2005

    • Author(s)
      Haruaki Tamada
    • Journal Title

      Proceedings of International Symposium on Future Software Technology (CD-ROM)

  • [Journal Article] Security improvements for encrypted interpretation2004

    • Author(s)
      Akito Monden
    • Journal Title

      Workshop on Application Specific Processors Digest

      Pages: 19-26

  • [Journal Article] Javaプログラムの動的解析のためのトレーサ埋め込みツール2004

    • Author(s)
      玉田 春昭
    • Journal Title

      第46回プログラミング・シンポジウム報告集

      Pages: 51-62

  • [Journal Article] ソフトウェア実行時のAPI呼び出し履歴に基づく動的バースマークの実験的評価2004

    • Author(s)
      岡本圭司
    • Journal Title

      第46回プログラミング・シンポジウム報告集

      Pages: 41-50

  • [Journal Article] マルチバージョン生成によるプログラムの解析防止2004

    • Author(s)
      山内 寛巳
    • Journal Title

      ソフトウェア工学の基礎 XI

      Pages: 157-160

URL: 

Published: 2006-07-12   Modified: 2016-04-21  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi