2024-03-29T08:19:47Zhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_oaipmhoai:ipsj.ixsq.nii.ac.jp:000812602022-10-21T05:24:51Z00581:06644:06728
自己完結型変換と重複除外による動的リンク問題の抑制Self-contained Binary and Deduplication to Mitigate Problems caused by Dynamic Linkjpn特集:ディペンダブルなシステムの構築・運用・管理技術http://id.nii.ac.jp/1001/00081260/Journal Articlehttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=81260&item_no=1&attribute_id=1&file_no=1Copyright (c) 2012 by the Information Processing Society of Japan独立行政法人産業技術総合研究所独立行政法人産業技術総合研究所独立行政法人産業技術総合研究所独立行政法人産業技術総合研究所須崎有康飯島, 賢吾八木, 豊志樹アルトシリル現在のOSではメモリやストレージ資源を節約するために動的リンク共有ライブラリが活用されているが,動的管理から派生するいくつかの問題がある.動的リンクではサーチパス置き換え攻撃,GOT書き換え攻撃などのセキュリティの問題やライブラリ依存関係の管理問題がある.これらの問題は静的リンクに置き換えて解決することが一般的には示されているが,現在のオープンソースではソースコード中に動的リンクであることを明示するdlopen()が多く使われているため,コンパイルオプションのみで静的リンクにすることが難しい.本論文では動的リンクから派生する問題を実行形式ファイルにすべての動的リンク共有ライブラリを取り込む自己完結型に変換することで対処できることを示す.自己完結型はすべての動的リンク共有ライブラリを含むため静的リンク以上にメモリやストレージを要求して資源を浪費する.この問題は重複除外の技術を適用することで抑制できることを示す.重複除外はストレージやメモリで同一データを見つけ,共有することで物理的消費容量を削減する技術であり,自己完結型で冗長になった部分の浪費を抑制できる.本論文では自己完結型と重複除外を組み合わせることにより物理資源の浪費を抑えつつ,動的リンクから派生する問題の抑制が行えることを示す.Current operating systems include dynamic linking of shared libraries to reduce memory and storage consumption. Dynamic resource management techniques are prevalent; however, they may cause problems. Dynamic linking has security problems, called search path replacement attack and GOT overwrite attack, and gives rise to the management problem called Dependency Hell. In general, these problems are solved by static linking. However, much open source software uses dlopen(), which explicitly uses dynamic linking. Such software is difficult to change to static linking with a compiler option. This paper introduces self-contained binaries, which include all necessary dynamically linked shared libraries into a binary, in order to solve the problems caused by dynamic linking. A self-contained binary requires more memory and storage than statically linked software, but resource consumption can be reduced by deduplication. Deduplication is a technique that shares different instances of the same data on storage and memory. The combination of self-contained binaries and deduplication mitigates the problems caused by dynamic linking, while reducing resource consumption.AN00116647情報処理学会論文誌5339389492012-03-151882-77642012-03-09