On the Abuse and Detection of Polyglot Files

Luke Koch, Sean Oesch, Amul Chaulagain, Jared Dixon, Matthew Dixon +6 more
7/1/2024
cs.CRcs.LG

No confident code implementation found for this paper.

Abstract

A polyglot is a file that is valid in two or more formats. Polyglot files pose a problem for malware detection systems that route files to format-specific detectors/signatures, as well as file upload and sanitization tools. In this work we found that existing file-format and embedded-file detection tools, even those developed specifically for polyglot files, fail to reliably detect polyglot files used in the wild, leaving organizations vulnerable to attack. To address this issue, we studied the use of polyglot files by malicious actors in the wild, finding $30$ polyglot samples and $15$ attack chains that leveraged polyglot files. In this report, we highlight two well-known APTs whose cyber attack chains relied on polyglot files to bypass detection mechanisms. Using knowledge from our survey of polyglot usage in the wild -- the first of its kind -- we created a novel data set based on adversary techniques. We then trained a machine learning detection solution, PolyConv, using this data set. PolyConv achieves a precision-recall area-under-curve score of $0.999$ with an F1 score of $99.20$% for polyglot detection and $99.47$% for file-format identification, significantly outperforming all other tools tested. We developed a content disarmament and reconstruction tool, ImSan, that successfully sanitized $100$% of the tested image-based polyglots, which were the most common type found via the survey. Our work provides concrete tools and suggestions to enable defenders to better defend themselves against polyglot files, as well as directions for future work to create more robust file specifications and methods of disarmament.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{koch2024abuse,
  title  = {On the Abuse and Detection of Polyglot Files},
  author = {Luke Koch and Sean Oesch and Amul Chaulagain and Jared Dixon and Matthew Dixon and Mike Huettal and Amir Sadovnik and Cory Watson and Brian Weber and Jacob Hartman and Richard Patulski},
  year   = {2024},
  eprint = {2407.01529},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2407.01529v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2407.01529.svg)](https://codeofpaper.com/paper/2407.01529)

Discussion