JP2009064142A - 推論規則生成方法およびプログラム - Google Patents

推論規則生成方法およびプログラム Download PDF

Info

Publication number
JP2009064142A
JP2009064142A JP2007229999A JP2007229999A JP2009064142A JP 2009064142 A JP2009064142 A JP 2009064142A JP 2007229999 A JP2007229999 A JP 2007229999A JP 2007229999 A JP2007229999 A JP 2007229999A JP 2009064142 A JP2009064142 A JP 2009064142A
Authority
JP
Japan
Prior art keywords
program
state
state transition
transition diagram
inference rule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007229999A
Other languages
English (en)
Inventor
Kazuhide Fukushima
和英 福島
Shinsaku Kiyomoto
晋作 清本
Toshiaki Tanaka
俊昭 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2007229999A priority Critical patent/JP2009064142A/ja
Publication of JP2009064142A publication Critical patent/JP2009064142A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ユーザが定義するセキュリティポリシから、一階述語論理における推論規則を導出する一般的な方法を明示する推論規則生成方法およびプログラムを提供する。
【解決手段】安全性ポリシを満たすプログラムまたは安全性ポリシを満たさないプログラムの動作を状態遷移図で規定し、安全性ポリシを満たすプログラムについて、状態遷移図の初期状態q0、受理状態qfに対して、初期条件PRE=(q0、0)、最終条件POST=qfを定義する。また、安全性ポリシを満たさないプログラムについて、状態遷移図の初期状態q0、受理状態qfに対して、初期条件PRE=(q0、0)、最終条件POST=¬qfを定義する。そして、1つの状態遷移規則に対して、1つの推論規則を生成する。
【選択図】図1

Description

本発明は、状態遷移図を用いて、ユーザが定義するセキュリティポリシから、一階述語論理における推論規則を導出する推論規則生成方法およびプログラムに関する。
従来より、プログラムの安全な実行を担保するために様々な技術が提案されている。そのうち、図4にその概念図を示すPCC(Proof Carrying Code)では、プログラム開発者が証明生成器を用いて、プログラムから安全性ポリシに基づく安全性証明を生成し、プログラムとともに、プログラム利用者に送付を行う。プログラム利用者は、証明生成器を用いて、安全性ポリシおよびプログラムに基づいて、プログラムの安全性証明を検証する。そして、安全性証明が正しく検証できたときに、プログラム利用者が安全にそのプログラムを実行できるというものである(例えば、非特許文献1参照。)。
また、類似の技術としては、プログラムの安全な実行を暗号学的な手段を用いて実現するものもある。例えば、デジタル署名を用いて、プログラム開発者を認証する方法である。しかしながら、この方法は、悪意のあるプログラム開発者が作成したプログラムの実行を防止することができるものの、正当なプログラム開発者が開発した人為的なミスによる脆弱性を含むプログラムの実行を防止することができない。
また、Java(登録商標)仮想機械においても、クラスファイルを実行する際に、当該クラスファイルの検証を行うが、この検証処理は、実行ごとに行う必要があり、効率的ではない。さらに、この方式では、任意の安全性ポリシに基づく柔軟なクラスファイル検証を行うことができない。
Necula、"Proof−Carrying Code、by George Necula、"Proc.of Symposium on Principles of Programming Languages(POPL‘97)、1997.
非特許文献1においては、安全性ポリシは一階述語論理における推論規則で記述される。プログラムの初期状態(PRE)から、これらの推論規則、および各機械語命令から生成されるVerification Condition(VC)を用いて、正しいプログラムの最終状態(POST)が導出されるとき、このプログラムは安全であると判断され、命題の列PRE,P,P,・・・,P,POSTがこのプログラムに対する安全性証明となる。ただし、P,P,・・・,P1nは推論の過程で導出される命題である。すなわち、非特許文献1に記載の技術では、安全性ポリシから一階述語論理における推論規則を導出することが必要であるが、非特許文献1には、その一般的な手法が定義されていないという問題がある。
そこで、本発明は、上述の課題に鑑みてなされたものであり、ユーザが定義するセキュリティポリシから、一階述語論理における推論規則を導出する一般的な方法を明示する推論規則生成方法およびプログラムを提供することを目的とする。
本発明は、上記の課題を解決するために、以下の事項を提案している。
(1)本発明は、安全性ポリシを満たすプログラムまたは安全性ポリシを満たさないプログラムの動作を状態遷移図で規定する第1のステップと、安全性ポリシを満たすプログラムについて、前記状態遷移図の初期状態q0、受理状態qfに対して、初期条件PRE=(q0、0)、最終条件POST=qfを定義する第2のステップと、安全性ポリシを満たさないプログラムについて、前記状態遷移図の初期状態q0、受理状態qfに対して、初期条件PRE=(q0、0)、最終条件POST=¬qfを定義する第3のステップと、1つの状態遷移規則に対して、1つの推論規則を生成する第4のステップと、を備えた推論規則生成方法を提案している。
この発明によれば、安全性ポリシを満たすプログラムまたは安全性ポリシを満たさないプログラムの動作を状態遷移図で規定し、安全性ポリシを満たすプログラムについて、状態遷移図の初期状態q0、受理状態qfに対して、初期条件PRE=(q0、0)、最終条件POST=qfを定義する。また、安全性ポリシを満たさないプログラムについて、状態遷移図の初期状態q0、受理状態qfに対して、初期条件PRE=(q0、0)、最終条件POST=¬qfを定義する。そして、1つの状態遷移規則に対して、1つの推論規則を生成する。したがって、安全性ポリシから状態遷移図を構成し、この状態遷移図に基づいて、一階述語論理における推論規則を導出する。
(2)本発明は、コンピュータに、安全性ポリシを満たすプログラムまたは安全性ポリシを満たさないプログラムの動作を状態遷移図で規定する第1のステップと、安全性ポリシを満たすプログラムについて、前記状態遷移図の初期状態q0、受理状態qfに対して、初期条件PRE=(q0、0)、最終条件POST=qfを定義する第2のステップと、安全性ポリシを満たさないプログラムについて、前記状態遷移図の初期状態q0、受理状態qfに対して、初期条件PRE=(q0、0)、最終条件POST=¬qfを定義する第3のステップと、1つの状態遷移規則に対して、1つの推論規則を生成する第4のステップと、を実行させるためのプログラムを提案している。
この発明によれば、安全性ポリシを満たすプログラムまたは安全性ポリシを満たさないプログラムの動作を状態遷移図で規定し、安全性ポリシを満たすプログラムについて、状態遷移図の初期状態q0、受理状態qfに対して、初期条件PRE=(q0、0)、最終条件POST=qfを定義する。また、安全性ポリシを満たさないプログラムについて、状態遷移図の初期状態q0、受理状態qfに対して、初期条件PRE=(q0、0)、最終条件POST=¬qfを定義する。そして、1つの状態遷移規則に対して、1つの推論規則を生成する。したがって、安全性ポリシから状態遷移図を構成し、この状態遷移図に基づいて、一階述語論理における推論規則を導出する。
本発明によれば、安全性ポリシから状態遷移図を構成し、この状態遷移図に基づいて、一階述語論理における推論規則を導出することができるという効果がある。
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
図1から図3を用いて、本実施形態について説明する。
なお、本発明においては、安全性ポリシを満たさないプログラム、もしくは、安全性ポリシを満たすプログラムの動作を、状態遷移図で規定する。そして、ここで得られた状態遷移図において、初期状態を推論規則における初期条件に対応させ、受理状態以外の状態を推論規則における最終状態に対応させる。また、1つの状態遷移規則に対し、1つの推論規則を生成する。以下、図1を用いて、詳細な手順を説明する。
まず、安全性ポリシを満たすプログラムまたは安全性ポリシを満たさないプログラムの動作を状態遷移図で規定する(ステップS101)。次に、安全性ポリシを満たすプログラムか否かを判断し(ステップS102)、安全性ポリシを満たすプログラムについては(ステップS102の「Yes」)、状態遷移図の初期状態q0、受理状態qfに対して、初期条件PRE=(q0、0)、最終条件POST=qfを定義する(ステップS103)。
一方、安全性ポリシを満たさないプログラムについては(ステップS102の「No」)、状態遷移図の初期状態q0、受理状態qfに対して、初期条件PRE=(q0、0)、最終条件POST=¬qfを定義する(ステップS104)。
そして、状態遷移規則σ(q1、x)=q2(状態q1に入力xが入ったら、q2になるという状態遷移を意味する)に対して、推論規則((q1,i)、∨C∈x)/(q2、i+1)を生成する。なお、特に、状態q2が受理状態qfである場合は、状態遷移規則σ(q1、x)=qfから生成される推論規則は、((q1,i)、∨C∈x)/qfとする。
したがって、本実施形態によれば、安全性ポリシから状態遷移図を構成し、この状態遷移図に基づいて、一階述語論理における推論規則を導出することができる。
<実施例>
いま、実施例として、安全性ポリシを「メモリアドレス50番地のデータは読み出し禁止」とした場合の推論規則の導出手法を考える。まず、はじめに、安全性をみたさないプログラム、すなわち、メモリアドレス50番地のデータの読み出しを行なうプログラムの動作を状態遷移図で規定する。ここで生成される状態遷移図を図2に示す。
図2において、q0、q1、qfは状態を示し、各状態間を結ぶ線は、状態遷移規則を示している。例えば、状態q0から状態q1に向かう線(状態遷移規則)は、状態がI10であれば、q0からq1に遷移することを示している。
図2の状態遷移図から導出される一階述語論理の推論規則は、図3のようになる。
図3において、PRE=(q0、0)は初期条件を示している。また、本実施例は、「メモリアドレス50番地のデータは読み出し禁止」という安全性ポリシに対して、メモリアドレス50番地のデータの読み出しを行なうプログラムの動作を状態遷移図で規定したものであるから、最終条件は、POST=¬qfとなる。
また、図2中、(1)の状態遷移規則は、図3の推論規則((q0,i)、∨C∈I00)/(q0、i+1)に対応し、図2中、(2)の状態遷移規則は、図3の推論規則((q0,i)、∨C∈I01)/(q1、i+1)に対応し、図2中、(3)の状態遷移規則は、図3の推論規則((q1,i)、∨C∈I10)/(q0、i+1)に対応し、図2中、(4)の状態遷移規則は、図3の推論規則((q1,i)、∨C∈I11)/(q1、i+1)に対応し、図2中、(5)の状態遷移規則は、図3の推論規則((q1,i)、∨C∈I1f)/qfに対応する。
なお、推論規則生成方法の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを装置に読み込ませ、実行することによって本発明の推論規則生成方法を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
本実施形態に係る処理フローである。 状態遷移図の一例を示した図である。 状態遷移図から生成される推論規則の一例を示した図である。 PCCの概念図である。

Claims (2)

  1. 安全性ポリシを満たすプログラムまたは安全性ポリシを満たさないプログラムの動作を状態遷移図で規定する第1のステップと、
    安全性ポリシを満たすプログラムについて、前記状態遷移図の初期状態q0、受理状態qfに対して、初期条件PRE=(q0、0)、最終条件POST=qfを定義する第2のステップと、
    安全性ポリシを満たさないプログラムについて、前記状態遷移図の初期状態q0、受理状態qfに対して、初期条件PRE=(q0、0)、最終条件POST=¬qfを定義する第3のステップと、
    1つの状態遷移規則に対して、1つの推論規則を生成する第4のステップと、
    を備えた推論規則生成方法。
  2. コンピュータに、
    安全性ポリシを満たすプログラムまたは安全性ポリシを満たさないプログラムの動作を状態遷移図で規定する第1のステップと、
    安全性ポリシを満たすプログラムについて、前記状態遷移図の初期状態q0、受理状態qfに対して、初期条件PRE=(q0、0)、最終条件POST=qfを定義する第2のステップと、
    安全性ポリシを満たさないプログラムについて、前記状態遷移図の初期状態q0、受理状態qfに対して、初期条件PRE=(q0、0)、最終条件POST=¬qfを定義する第3のステップと、
    1つの状態遷移規則に対して、1つの推論規則を生成する第4のステップと、
    を実行させるためのプログラム。
JP2007229999A 2007-09-05 2007-09-05 推論規則生成方法およびプログラム Pending JP2009064142A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007229999A JP2009064142A (ja) 2007-09-05 2007-09-05 推論規則生成方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007229999A JP2009064142A (ja) 2007-09-05 2007-09-05 推論規則生成方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2009064142A true JP2009064142A (ja) 2009-03-26

Family

ID=40558691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007229999A Pending JP2009064142A (ja) 2007-09-05 2007-09-05 推論規則生成方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2009064142A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006109558A1 (ja) * 2005-04-06 2006-10-19 Fukuoka Industry, Science & Technology Foundation 検証支援装置、検証支援方法、プログラム及び記録媒体
JP2006350654A (ja) * 2005-06-15 2006-12-28 Yaskawa Information Systems Co Ltd サーバ計算機

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006109558A1 (ja) * 2005-04-06 2006-10-19 Fukuoka Industry, Science & Technology Foundation 検証支援装置、検証支援方法、プログラム及び記録媒体
JP2006350654A (ja) * 2005-06-15 2006-12-28 Yaskawa Information Systems Co Ltd サーバ計算機

Similar Documents

Publication Publication Date Title
Mense et al. Security vulnerabilities in ethereum smart contracts
Sinha et al. Moat: Verifying confidentiality of enclave programs
JP5748905B2 (ja) サンドボックスにリファレンスを保存するシステム及び方法
Huffmire et al. Handbook of FPGA design security
Almeida et al. Formal verification of side-channel countermeasures using self-composition
US20170116410A1 (en) Software protection
CN110264196B (zh) 结合代码标注与用户类型的有条件的收据存储方法和节点
JP5171907B2 (ja) 情報処理装置、情報処理プログラム
WO2010070959A1 (ja) 情報処理装置、プログラム開発装置、プログラム検証方法及びプログラム
US20110185345A1 (en) Type-Preserving Compiler for Security Verification
JP2008537224A (ja) 安全な起動方法およびシステム
JP2009129206A (ja) 情報処理装置、プログラム検証方法及びプログラム
Bratus et al. Beyond planted bugs in" trusting trust": The input-processing frontier
Chittoda Mastering Blockchain Programming with Solidity: Write production-ready smart contracts for Ethereum blockchain with Solidity
Sfaxi et al. Information flow control of component‐based distributed systems
Waye et al. It’s my privilege: Controlling downgrading in DC-labels
Bohannon Foundations of web script security
JP2009064142A (ja) 推論規則生成方法およびプログラム
Härtig et al. Lateral thinking for trustworthy apps
Moona et al. Review of tools for analyzing security vulnerabilities in ethereum based smart contracts
Stiegler et al. How emily tamed the caml
Bratus et al. Exploitation as code reuse: On the need of formalization
Møller et al. Formally Verifying Security Properties for OpenTitan Boot Code with Uppaal
Lombardi et al. Security for cloud computing
Nolan Bulletproof Android: practical advice for building secure apps

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120522