@conference {850,
	title = {MiniLib: A flow analysis{\textendash}based approach for attack surface reduction through software debloating},
	booktitle = {Proceedings of the 2025 IEEE International Conference on Cyber Security and Resilience},
	year = {2025},
	abstract = {<p>Software applications typically use libraries for the implementation of commonly used tasks. Each library encompasses an extensive collection of functionalities that cover a specific task area, such as interfacing with a database. However, while applications typically use a small subset of these functionalities, the unused ones are also bundled into the final distribution, due to the fact that the libraries are loaded and linked as indivisible objects. The presence of unused functionalities in the executable program increases its attack surface, since attackers may invoke code in these functionalities or exploit their vulnerabilities, using techniques such as stack smashing or buffer overflow. In this paper, we present MiniLib, an approach that removes from the final executable any unused functionalities that may be present in the libraries, reducing attack surface and thus enhancing security. The efficiency of MiniLib is validated through its application on applications drawn from the O-RAN 6G framework.</p>
},
	keywords = {6G, Attack surface, Flow-based analysis, Java bytecode, O-RAN, security, Software debloating, Vulnerabilities},
	author = {Loukas Kopanias and Panagiotis Sotiropoulos and Nicholas Kolokotronis and Costas Vassilakis}
}
@conference {822,
	title = {Minimizing Software-Rooted Risk through Library Implementation Selection},
	booktitle = {Proceedings of the 2023 IEEE CSR Workshop on Data Science for Cyber Security (DS4CS)},
	year = {2023},
	abstract = {<p>In contemporary Internet of Things (IoT) systems, complex software artifacts are deployed to realize the required functionalities. The business logic of these software artifacts is uniquely composed through code that is customly developed according to the requirements, while all software artifacts utilize libraries that implement generic functionalities, which are needed in the context of the realized operations. Libraries, however, often entail vulnerabilities, which may be exploited by threat agents to attack the system. In many cases, the functionality required by an application is realized by a number of alternative libraries, with each library having its own list of vulnerabilities, while differentiations in other non-functional properties (e.g. execution efficiency, memory footprint etc.) may also be present. In this paper, we present an approach for automating the task of minimizing the risk level of IoT systems that is owing to the vulnerabilities of libraries required by software artifacts. The proposed approach exploits knowledge on which libraries provide equivalent implementations of the same functionalities, and automatically assesses the risk level of candidate library combinations and finally selects the library configuration exhibiting the minimum risk level to bundle into the executable software artifact. Additionally, the risk level of candidate implementations is constantly monitored for new vulnerability identifications or fixes in the implementations, triggering new risk assessments and producing new executables as appropriate. The proposed approach can be used in IoT platform deployment to minimize the software-rooted risk level.</p>
},
	author = {Panagiotis Sotiropoulos and Christos-Minas Mathas and Costas Vassilakis and Nicholas Kolokotronis}
}
