CFP last date
20 May 2024
Reseach Article

Static Detection of Unsafe Component Loadings on Windows and Linux: A Survey

Published on December 2014 by Sneha D. Patel andtareek M. Pattewar
National Conference on Emerging Trends in Computer Technology
Foundation of Computer Science USA
NCETCT - Number 1
December 2014
Authors: Sneha D. Patel andtareek M. Pattewar
5df0ff61-4a97-4c89-abe9-12a3a96870db

Sneha D. Patel andtareek M. Pattewar . Static Detection of Unsafe Component Loadings on Windows and Linux: A Survey. National Conference on Emerging Trends in Computer Technology. NCETCT, 1 (December 2014), 5-9.

@article{
author = { Sneha D. Patel andtareek M. Pattewar },
title = { Static Detection of Unsafe Component Loadings on Windows and Linux: A Survey },
journal = { National Conference on Emerging Trends in Computer Technology },
issue_date = { December 2014 },
volume = { NCETCT },
number = { 1 },
month = { December },
year = { 2014 },
issn = 0975-8887,
pages = { 5-9 },
numpages = 5,
url = { /proceedings/ncetct/number1/19077-4006/ },
publisher = {Foundation of Computer Science (FCS), NY, USA},
address = {New York, USA}
}
%0 Proceeding Article
%1 National Conference on Emerging Trends in Computer Technology
%A Sneha D. Patel andtareek M. Pattewar
%T Static Detection of Unsafe Component Loadings on Windows and Linux: A Survey
%J National Conference on Emerging Trends in Computer Technology
%@ 0975-8887
%V NCETCT
%N 1
%P 5-9
%D 2014
%I International Journal of Computer Applications
Abstract

Dynamic loading is an essential mechanism for computer software development. It enables an program, the versatility to use its exported functionalities and energetically link a part. Dynamic loading is really a system by which a pc program are able to at run-time, fill a collection into memory, recall the handles of parameters and functions included in the library, run those functions or get those variables, and sell the library from recollection. This function presents a signal coverage approach called motionless binary analysis to assess and discover mistakes and weaknesses about the element. Thus the dangerous and exposed parts may be recognized previous to loading energetically into applications. This paper presents the first static binary analysis aiming at detecting all possible loading-related errors. The key challenge is how to scalably and precisely compute what components may be loaded at relevant program locations. Our main insight is that this information is often determined locally from the component loading call sites. In particular, for a given call site, we first compute its context-sensitive executable slices, one for each Execution context. Then we emulate the slices to obtain the set of components possibly loaded at call site. For evaluation, we implemented our technique to detect vulnerable and unsafe component loadings in popular software on Microsoft Windows and Linux.

References
  1. Lal A. Burton E. Driscoll M. Elder T. Andersen A. V. Thakur, J. Lim and T. W. Reps. Directed proof generation for machine code. 2010.
  2. G. Lehotai Akos Kiss, J. Jasz and T. Gyimothy. Interprocedural static slicing of binary executables. SCAM, 1:68–79,March 2003.
  3. X. Zhang Z. Wu B. Xu, J. Qian and L. Chen. A brief survey of program slicing. 2005.
  4. G. Balakrishnan and T. Reps. Analyzing memory accesses in x86 executables. 2004.
  5. D. Binkley. Precise executable interprocedural slices. ACM Lett. Program. Lang, 2003.
  6. K. J. Ottenstein J. Ferrante and J. D. Warren. The program dependence graph and its use in optimization. ACM Trans, 2:23–45, June 1987
  7. T. Reps and G. Balakrishnan. Improved memory-access analysis for x86 executables. 2:376–390, 2008
  8. T. Reps S. Horwitz and M. Sagiv. Demand interprocedural dataflow analysis.
  9. J. Lim T. Reps, G. Balakrishnan and T. Teitelbaum. A nextgeneration platform for analyzing executables. 2005.
  10. M. Weiser. Program slicing.
  11. A. V. Thakur, J. Lim, A. Lal, A. Burton, E. Driscoll, M. Elder, T. Andersen, and T. W. Reps. Directed proof generation for machine code. In Proc. CAV, 2010.
  12. T. Reps and G. Balakrishnan. Improved memory-access analysis for x86 executables. In Proc. CC, 2008.
  13. J. Lim, A. Lal, and T. Reps. Symbolic analysis via semantic reinterpretation. In Proc. SPIN, 2009.
Index Terms

Computer Science
Information Sciences

Keywords

Software Engineering Component Testing Regression Testing Code Coverage