著者
井上 翔大 大山 恵弘
出版者
情報処理学会
雑誌
研究報告システムソフトウェアと オペレーティング・システム(OS) (ISSN:09196072)
巻号頁・発行日
vol.2010, no.4, pp.1-8, 2010-01-20
参考文献数
13
被引用文献数
2

現在,Java,C#,ML のような高い生産性での安全なプログラミングを支援する現代的なプログラミング言語が様々な目的で利用されている.しかし,OS や組み込み系ソフトウェアなどの低レベルのシステムソフトウェアの分野では,未だに C 言語が広く用いられており,低い生産性や致命的なバグの原因となっている.そこで,本研究では,現代的な関数型言語 OCaml で OS を開発し,低レベルのシステムソフトウェアの記述における関数型言語の有効性を評価する.その OS は極めて小さいが,カーネル空間とユーザ空間の分離,マルチタスク,割り込み処理,初歩的な入出力デバイス管理などのいくつかの基本 OS 機構を備えている.その OS の大部分は OCaml で記述され,残りは C 言語とアセンブリ言語で記述されている.この論文では,その OS の設計と実装について述べるとともに,開発を通じて得た,関数型言語を使用することの利害得失などに関する知見を示す.Modern programming languages such as Java, C#, and ML support secure and high productivity programming, and are currently used on various purposes. Unfortunately, in the field of low-level system software including operating systems and embedded software, the C language is still widely used and causes low productivity and critical bugs. In this work, we develop an operating system in a modern functional language OCaml, and evaluate the effectiveness of functional languages in writing low-level system software. Though the operating system is extremely small, it provides several basic operating system mechanisms including user-kernel separation, multitasking, interrupt handling, and primitive I/O device handling. Most of the operating system is described in OCaml, and the rest is described in C and assembly. This paper decribes the design and implementation of the operating system, and presents several insights we obtained through the development (e.g., pros and cons of using functional languages).
著者
大山 恵弘
雑誌
コンピュータセキュリティシンポジウム2016論文集
巻号頁・発行日
vol.2016, no.2, pp.534-541, 2016-10-04

マルウェアの中には,自身が仮想マシンモニタなどの仮想化機構によって作られた環境で動作しているかどうかを推定し,もしそうであれば実行を終了して解析を妨害するものがある.そのような処理 (対仮想化処理) を実行するマルウェアの存在は広く知られている.しかし,現在の世界のマルウェアのうち,どの程度の割合のマルウェアがどのような対仮想化処理を行い,それが解析の妨害にどの程度効果的であるかについては,知見が不足している.本研究では,マルウェアの動的解析結果のデータセットである FFRI Dataset を分析し,2016 年に収集されたマルウェアによる対仮想化処理の傾向を明らかにする.
著者
井上 翔大 大山 恵弘
雑誌
研究報告システムソフトウェアと オペレーティング・システム(OS)
巻号頁・発行日
vol.2010-OS-113, no.4, pp.1-8, 2010-01-20

現在,Java,C#,ML のような高い生産性での安全なプログラミングを支援する現代的なプログラミング言語が様々な目的で利用されている.しかし,OS や組み込み系ソフトウェアなどの低レベルのシステムソフトウェアの分野では,未だに C 言語が広く用いられており,低い生産性や致命的なバグの原因となっている.そこで,本研究では,現代的な関数型言語 OCaml で OS を開発し,低レベルのシステムソフトウェアの記述における関数型言語の有効性を評価する.その OS は極めて小さいが,カーネル空間とユーザ空間の分離,マルチタスク,割り込み処理,初歩的な入出力デバイス管理などのいくつかの基本 OS 機構を備えている.その OS の大部分は OCaml で記述され,残りは C 言語とアセンブリ言語で記述されている.この論文では,その OS の設計と実装について述べるとともに,開発を通じて得た,関数型言語を使用することの利害得失などに関する知見を示す.
著者
木村 将 大山恵弘
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:09196072)
巻号頁・発行日
vol.2009, no.6, pp.51-58, 2009-01-21
被引用文献数
1

本研究では、低コストで構築と維持が可能な、オンラインストレージと仮想マシンモニタを利用した小規模サーバ向け広域分散バックアップシステムを提案する。ユーザはバックアップ対象のサーバを拡張された仮想マシンモニタ上で動作させる。仮想マシンモニタは、サーバを含む仮想マシンのスナップショットを取得し、オンラインストレージに転送することにより広域分散バックアップを実現する。さらに差分バックアップによりバックアップデータを削減する。本システムを用いると、災害や盗難により建物内の全ての機器が利用できなくなった場合でも、サーバのデータを復元することができる。オンラインストレージには過去の全てのスナップショットが蓄積され、任意のスナップショットを復元することができる。復元の際には、本システムは各スナップショットの内部状態を示し、ユーザが適切なスナップショットを選ぶ作業を支援する。仮想マシンモニタとして QEMU、オンラインストレージとして Amazon S3 を利用して本システムを実装した。実験により、短いサーバダウンタイムと小さなデータ転送量でバックアップが行えることを確認した。In this paper, we propose a wide-area distributed backup system for small-scale servers that can be built and maintained with a low cost. The system utilizes online storage and a virtual machine monitor. The users run their servers on an extended virtual machine monitor, which backups the disk and memory of the servers by obtaining a snapshot of the underlying virtual machine. It achieves distributed backup by transferring snapshots to online storage. It reduces the size of transferred backup data by incremental backup. The users can restore their servers even when all machines in their building become unavailable due to disaster or theft. All snapshots are accumulated in the online storage and an arbitrary snapshot can be restored. In a restoration operation, the system shows the internal state of each snapshot and helps the users choose an appropriate one. We implemented the proposed system using the QEMU virtual machine monitor and the Amazon S3 online storage. We confirmed that the system could do backup with a short server downtime and a small amount of transferred data.
著者
大山 恵弘 甲斐 朋希
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会技術研究報告. SITE, 技術と社会・倫理 (ISSN:09135685)
巻号頁・発行日
vol.111, no.124, pp.231-237, 2011-07-05

プログラムを解析して潜在的な脆弱性を検出する脆弱性検査ツールが多数開発されている.脆弱性検査ツールは,通常,脆弱性を早期に検出して攻撃前にプログラムを修正するという良い目的に利用される.しかし,悪意の者が,攻撃可能な脆弱性を効率的に発見する用途に悪用することもできる.ツールを用いた攻撃者による脆弱性発見を妨害する技術があれば,攻撃を成功させるコストが上がり,攻撃を減らせる可能性がある.本論文では,脆弱性検査ツールによる脆弱性発見を妨害する方式を提案する.その方式は,ソースプログラムを変換して,脆弱性検査ツールが検出するが攻撃には利用できないバグを大量に含ませる.例えば,バッファオーバーフローを起こすが攻撃者が制御を奪えないバグを含むコードを加える.加えられたバグに対して脆弱性検査ツールは大量の警告を出すため,真の脆弱性がもしあったとしても,より目立たなくなる.
著者
小川 夏樹 大山 恵弘
雑誌
研究報告 システムソフトウェアと オペレーティング・システム(OS)
巻号頁・発行日
vol.2011, no.5, pp.1-7, 2011-07-20

情報機器の画面は広告表示先として極めて魅力的である.これまで,広告表示のための様々な方法が既に提案されてきたが,これらは表示場所が制限されていたり,特定の OS やアプリケーションに強く依存しているなどの問題がある.そこで,本研究では,OS やアプリケーションにほとんど依存せず,画面上の任意の場所に任意の広告画像を表示するハイパバイザ ADvisor を提案する.ADvisor は,ゲスト OS および仮想マシンの状態がある条件を満たしたタイミングで,画面上に画像や文字を表示する.例えば,ゲスト OS と I/O デバイスの間で転送されるデータブロックに特定のキーワードが含まれているときに,そのキーワードに連動した広告を表示する.我々は,ADvisor を実装し,それが実行時間に与えるオーバヘッドを,ベンチマークを用いた実験により測定した.Screens of information devices are an extremely attractive platform for displaying advertisements. Although numerous methods for displaying advertisement have been proposed so far, they have problems such as a limited space for displaying and strong dependency on a particular OS or application. In this paper, we propose ADvisor, a hypervisor for displaying arbitrary advertising pictures at arbitrary places on the desktop screen of a guest OS. ADvisor displays pictures and character strings on a screen when a certain condition on a guest OS or a virtual machine is satisfied. For example, when a data block transferred between the guest OS and I/O devices contains a certain keyword, ADvisor displays an advertisement related to the keyword. We implemented ADvisor and measured its runtime overheads through experiments using a benchmark.
著者
イボット アリジャン 大山 恵弘
雑誌
コンピュータセキュリティシンポジウム2019論文集
巻号頁・発行日
vol.2019, pp.1329-1335, 2019-10-14

近年,IoTや組み込みデバイスの普及によりUnix系OSを狙うELF形式のマルウェアが増加している.一方でELFファイルは対象となるアーキテクチャの多さなどターゲットの多様性が高く,解析が難しいという側面がある.本研究ではアーキテクチャに依存しない解析手法として動的リンク情報,とりわけ再配置されるシンボルの名前を使用したLinuxマルウェアの検知を試みる.先行研究としてimport APIのfuzzy hashを使用するWindowsマルウェアの分類手法に注目し,ELFファイルから得られたシンボル名にfuzzy hash関数を適用する.さらに得られたハッシュ値をベクトル化することで,機械学習を用いたマルウェア検知手法を提案する.
著者
大山 恵弘
雑誌
情報処理
巻号頁・発行日
vol.59, no.5, pp.482-482, 2018-04-15
著者
高橋 研介 高橋 一志 大山 恵弘
雑誌
研究報告コンピュータセキュリティ(CSEC) (ISSN:21888655)
巻号頁・発行日
vol.2015-CSEC-69, no.20, pp.1-8, 2015-05-14

近年,代表的な Web ブラウザの一つである Firefox の拡張機能を悪用した攻撃の危険性が認識されており,悪意を持つ拡張機能による脅威が増している.一方,Firefox では拡張機能をインストールする際,その拡張機能がどのような操作を実行するのか一切通知されない.そのため,無害に見える拡張機能がバックグラウンドで悪質な操作を行っている場合,それを発見することは極めて難しい.本稿では,そのような状況への対策として,Firefox 拡張機能が実行しうる操作をユーザに通知するシステムの提案を行い,インストールする拡張機能が悪意を持つかどうかを判断する材料を提供する.また,セキュリティ対策の一環として 2015 年に導入される予定である Firefox 拡張機能の署名が,本システムに与える影響を考察する.
著者
佐久間 充 大山 恵弘
出版者
情報処理学会
雑誌
研究報告コンピュータセキュリティ(CSEC) (ISSN:09196072)
巻号頁・発行日
vol.2010, no.35, pp.1-6, 2010-06-24
被引用文献数
1

オペレーティングシステム (OS) のコードには多くの技術が含まれている.それらの技術を秘密にしておくことは簡単ではない.技術の本質的部分は,バイナリコードのリバースエンジニアリングによって最終的には解析される可能性があり,ソースコードを隠すことは不十分である.この問題に対する効果的な解決法は,リバースエンジニアリングを行う人からコードそのものを隠すことである.そこで本論文では,OS のコードを OS のユーザ (ルートユーザを含む) から隠しながら実行するシステム,HyperCensor を提案する.HyperCensor は仮想マシンモニタを用いて実装されている.秘密のコード部分は元のファイルから除かれ,仮想マシンモニタ内に保存される.OS のユーザはその部分をアクセスできず,仮想マシンモニタが必要に応じて実行する.我々は HyperCensor を実装し,Linux カーネルとデバイスドライバのコードをユーザから隠せたことを確認した.The code of operating systems includes a number of valuable technologies. Keeping the technologies secret is not simple. Hiding the source code is insufficient because the essence of the technologies can be analyzed eventually through reverse engineering of binary code. An effective solution to this problem is to hide the code itself from reverse engineers. In this paper, we propose HyperCensor, a system for hiding the code of an operating system from its users (including a root). HyperCensor is implemented using a virtual machine monitor. Secret code parts are removed from the original file and stored in the virtual machine monitor. They are kept inaccessible from the operating system users and executed on demand by the virtual machine monitor. We implemented the system and confirmed that the system could successfully hide the code of the Linux kernel and a device driver.
著者
石黒 駿 村上 じゅん 大山 恵弘
出版者
一般社団法人情報処理学会
雑誌
研究報告ハイパフォーマンスコンピューティング(HPC)
巻号頁・発行日
vol.2013, no.11, pp.1-8, 2013-05-22

OS ノイズは,高性能計算アプリケーションの性能低下の大きな要因の一つである.OS ノイズの実体は,割り込み処理などの OS カーネルによるサービスの実行や,メモリ管理デーモンなどの各種デーモンの実行である.これらの動作は,アプリケーションによる計算を中断させ,計算時間を増大させる.OS ノイズは,多くのプロセスやスレッドが頻繁に同期するアプリケーションで大きく性能を低下させる.本論文では,メモリページの回収処理に伴う OS ノイズに着目し,その OS ノイズによる影響を低減する手法を提案する.Linux のディスク I/O では,通常はファイルデータはメモリ上にキャッシュされる.大量のディスク I/O を行った結果,キャッシュ用のメモリが足りなくなると,OS は特別なカーネルスレッドを起動し,近い将来に利用されないと思われるページを回収させる.このカーネルスレッドが頻繁に動作すると,その OS ノイズによりアプリケーションの性能が低下する.提案手法は,大量のディスク I/O が行われている場合に,ページ回収のカーネルスレッドに先行して,さらに大きな単位でページを回収する.これによりページ回収の回数が減り,OS ノイズによる影響が小さくなる.我々は提案手法に基づくシステムを実装し,実験を行った.その結果,その OS ノイズによる性能低下をほぼなくすことに成功した.OS noises are one of the major causes of performance degradation in applications of high performance computing. OS noises are execution of services by the operating system kernel such as interrupt handling or execution of various daemons such as a memory management daemon. These execution interrupts the computation of an application and increases the execution time. OS noises significantly degrade the performance of an application in which many processes or threads frequently synchronize with each other. In this paper, we focus on a OS noise caused by reclamation of memory pages and propose a method of reducing the effect of the OS noise. The disk I/O of Linux usually caches file data on memory. When numerous disk I/O occur and the OS runs out of memory for caching file data, the OS activates a special kernel thread that reclaims memory pages that are unlikely to be used in the near future. If the kernel thread is frequently activated, the performance of an application is degraded due to its OS noise. The proposed method reclaims memory pages in advance of the kernel thread for page reclamation. It reclaims more pages than the kernel thread, and thus reducing the frequency of page reclamation and the effect of the OS noise. We implemented a system based on the proposed method and conducted an experiment. Results of the experiment showed that the proposed method could almost eliminate the performance degradation caused by the OS noise.
著者
糸魚川 竜士 大山 恵弘
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会技術研究報告. ICM, 情報通信マネジメント (ISSN:09135685)
巻号頁・発行日
vol.112, no.22, pp.105-110, 2012-05-03

サーバのセキュリティログを頻繁に検査することはセキュリティの確保のために重要である.しかし,監視のための仕組みがなかったり貧弱であったりすると,管理者は外出時などにログを効率的に検査できない.そこで本研究では,サーバの監視状況をツイートとしてTwitterに送信するセキュリティシステムを提案する.そのシステムのユーザは,サーバのログを様々な場所からいつでも検査できる.また,決まったコマンド文字列を含むツイートにより,ユーザはシステムの挙動を制御できる.現在,本システムはApache Webサーバを対象としている.実験では,本システムがWebサーバの監視状況をツイートとして送信したことや,与えられたコマンド文字列に関係づけられた動作を実行したことを確認した.
著者
尾上 浩一 大山 恵弘 米澤 明憲
雑誌
情報処理学会論文誌コンピューティングシステム(ACS) (ISSN:18827829)
巻号頁・発行日
vol.3, no.2, pp.163-176, 2010-06-21

カーネルレベルで稼働するマルウェア (カーネルレベルマルウェア) による攻撃は,システム全体に被害を与えたり,攻撃の検出が困難であったりすることから,その脅威は深刻である.これまでカーネルレベルマルウェアに対する様々なセキュリティシステムが提案されているが,保守的すぎるカーネル拡張の制限や適用時の実行時の性能低下に関して改善すべき点がある.本論文では,仮想マシンモニタ (VMM) を用いて,VM 内で稼働する OS カーネルの振舞いを制御するセキュリティシステム ShadowXeck を提案する.この制御は,読み込み専用のメモリ領域の保護と,OS カーネルにより発行された間接呼び出し命令や間接ジャンプ命令の制御によって実現される.ShadowXeck は,OS カーネルレベルよりも高い特権レベルの VMM による制御であるため,VM 内から ShadowXeck の振舞い制御機構を無効化することは困難である.我々は,AMD 64 アーキテクチャ上で Xen を用いて ShadowXeck を実装し,既存のカーネルレベルマルウェアを用いた ShadowXeck による OS カーネルの振舞い制御の確認や実行時オーバヘッドの計測を行った.