TOSS: Tailoring Online Server Systems through Binary Feature Customization
TOSS: Tailoring Online Server Systems through Binary Feature Customization
复制标题
TOSS:通过二进制特征定制来定制在线服务器系统
DOI:
10.1145/3273045.3273048
复制
发表时间:
2018
期刊:
影响因子:
--
通讯作者:
Guru Venkataramani
中科院分区:
文献类型:
--
作者:
Yurong Chen;Shaowen Sun;Tian Lan;Guru Venkataramani
Network-based models are increasingly adopted to deliver key software service and utilities (e.g., data storage, search, and processing) to end users. The need to satisfy diverse user requirements and to fit different application environment often leads to continual expansion and addition of new (and in many cases excessive) features, known as the feature creep problem. Existing work mitigating feature bloat often either debloats programs at source code level (which may not always be available, in particular for legacy systems) or customize binary only with respect to very limited scope of inputs. In this paper, we propose a new approach, TOSS, for automated customization of online servers and software systems, which are implemented using a client-server architecture based on the underlying network protocols. Specifically, TOSS harnesses program tracing and tainting-guided symbolic execution to identify desired (feature-related) code from the original program binary, and apply static binary rewriting to remove redundant features and directly create customized program binary with only desired features. We implement a prototype of TOSS and evaluate its feasibility using real-world executables including Mosquitto, which relies on the Message Queuing Telemetry Transport (MQTT) protocol for lightweight Internet of Things (IoT) communications. The results show that TOSS is able to create a functional program binary with only desired features and significantly reduce potential attack surface by eliminating undesired protocol/program features.