PE File Features in Detection of Packed Executable
PE File Features in Detection of Packed Executable
net/publication/269838084
CITATIONS READS
23 1,907
2 authors, including:
Sukumar Nandi
Indian Institute of Technology Guwahati
449 PUBLICATIONS 5,289 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Sukumar Nandi on 11 January 2016.
476
International Journal of Computer Theory and Engineering, Vol. 4, No. 3, June 2012
address range. The address range is needed by the packed with a feature set of four main features which can be used to
data when it gets unpacked by the unpacker code at the time figure out packed executables by UPX packer. These features
of runtime. If the input binary possessed a .rsrc section, the are given in table.
resulting output binary will also have one .rsrc or resource TABLE I: LIST OF FEATURES
section and if the input binary did not have a .rsrc section, the
output binary also would not have it, as in [3]. 1 2 3 4
Entropy Size Of Size Of Headers Size of Raw Data
(ENTP) Uninitialized (SOH) (SORD)
Data (SOUID)
IV. OUR APPROACH
We can devide our approach into two phases basically.
The graphical representation of the difference between
First phase is feature extraction and second is the analysis
the executables packed and non-packed by UPX packer are
phase. Based on our extraction mechanism and observation,
also shown along with the justification of the features.
we come up with the best set of features with which we can
definitely differentiate the executables Packed and A. Entropy (ENTP)
non-Packed by UPX Packer. The pictorial representation of Entropy can be considered as one of the major feature in
our approach is as follows : classification of packed and non-packed executables. It is a
measure of the inherent randomness in a probability
distribution. Packing method conceals malicious
executables’ string, data and code. These methods transform
some or all of the original bytes into a series of
random-looking data bytes. That is why entropy of a packed
executable is always higher than a non-packed executable.
477
International Journal of Computer Theory and Engineering, Vol. 4, No. 3, June 2012
D. Size of Raw Data (SORD): unpack it, we can give it to antivirus or equivalent softwares
UPX packer changes the RAWSIZE of each packed to detect whether the file is malicious or benign. Hence, we
section to 0. The size in memory remains unchanged, because can conclude that it is making life easier for traditional
the program still has to execute normally and be unpacked at signature-based softwares to detect malicious executables.
its original location. If the RAWSIZE is null, it means the
section is non-existent on disk. ACKNOWLEDGMENT
The authors would like to thank Mr. Neminath Hubballi
for his contribution during discussion related to this work.
REFERENCES
[1] R. Lyda and J. Hamrock, “Using Entropy Analysis to Find Encrypted
and Packed Malware,” IEEE Security and Privacy, March/April 2007.
[2] M. Howard, “Revealing Packed malware,” IEEE Security and Privacy,
September/October 2008.
Fig. 5. Size of raw data (SORD). [3] F. Guo, P. Ferrie, and T. Chiueh, “A Study of the Packer Problem and
Its Solutions,” RAID 2008, LNCS 5230, pp. 98–115.
Different packers have different key features. The features [4] L. Sun, S. Versteeg, S. Boztas, and T. Yann, “Pattern Recognition
vary packer to packer as it depends on the implementation Techniques for the Classification of Malware Packers,” ACISP 2010,
LNCS 6168, pp. 370–390.
and the platform it is running on. [5] M. Pietrek, Peering Inside the PE: A Tour of the Win32 Portable
Executable File Format, 25th of Nov 2010.
[6] G. Erdelyi, Reverse Engineering III: PE Format.
[7] Loading a DLL from memory. [Online]. Available:
VI. CONCLUSION http://www.joachim-bauch.de/tutorials/loading-a-dll-from-memory/
In this paper, we present four features of portable [8] Goppit, Portable Executable File Format – A Reverse Engineer View,
2006.
executable which are key feature to differentiate executables [9] R. Perdisci, A. Lanzi, and W. Lee, “Classification of Packed
packed and non-packed by UPX packer. It is always tedious Executables for Accurate Computer Virus Detection,” Elsevier, vol. 25
to figure out malicious or benign executable once a PE is got June 2008.
[10] DumpbinGUI. [Online]. Available:
packed. Therefore, our approach makes it easier to figure out
http://www.cheztabor.com/dumpbinGUI/
whether an executables is packed or not by UPX just by [11] Softpedia. [Online]. Available:
extracting the feature set comprised of these four. Once an http://www.softpedia.com/dyn-postdownload.php?p=90710andt=4and
executable is detected as packed, we can unpack using i=1
universal unpacker for e.g. PolyUnpack. As soon as we
478