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
期刊:
Proceedings of the 2018 Workshop on Forming an Ecosystem Around Software Transformation
影响因子:
--
通讯作者:
Guru Venkataramani
Guru Venkataramani
中科院分区:
--
文献类型:
--
作者:
Yurong Chen;Shaowen Sun;Tian Lan;Guru Venkataramani

文献摘要

被引文献

相似文献

越来越多地采用基于网络的模型将关键的软件服务和实用程序(例如数据存储,搜索和处理)传递给最终用户。满足各种用户需求并适应不同应用环境的需求通常会导致不断扩展和增加新的(在许多情况下)特征,称为功能蠕变问题。现有的工作缓解功能膨胀通常是在源代码级别上的DeBloats程序(可能总是可用的,尤其是对于遗产系统),或者仅在非常有限的输入范围内自定义二进制程序。在本文中,我们提出了一种新方法,即抛弃在线服务器和软件系统的自动定制,这些方法是使用基于基础网络协议的客户端服务器体系结构来实施的。具体而言,抛弃线束程序跟踪和tainting指导的符号执行,以识别原始程序二进制的所需(功能相关)代码,并应用静态二进制重写以删除冗余功能,并直接创建具有只有所需功能的自定义程序二进制。我们实施了折腾的原型,并使用包括蚊子在内的现实世界可执行文件评估其可行性,该可行性依赖于消息排队的遥测传输(MQTT)协议,用于轻量级物联网(IoT)通信。结果表明,TOSS能够创建一个具有所需功能的功能性程序二进制文件,并通过消除不希望的协议/程序功能来显着降低潜在的攻击表面。
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.