Evolving Assembly Code in an Adversarial Environment
CoRR(2024)
摘要
In this work, we evolve assembly code for the CodeGuru competition. The
competition's goal is to create a survivor – an assembly program that runs the
longest in shared memory, by resisting attacks from adversary survivors and
finding their weaknesses. For evolving top-notch solvers, we specify a Backus
Normal Form (BNF) for the assembly language and synthesize the code from
scratch using Genetic Programming (GP). We evaluate the survivors by running
CodeGuru games against human-written winning survivors. Our evolved programs
found weaknesses in the programs they were trained against and utilized them.
In addition, we compare our approach with a Large-Language Model, demonstrating
that the latter cannot generate a survivor that can win at any competition.
This work has important applications for cyber-security, as we utilize
evolution to detect weaknesses in survivors. The assembly BNF is
domain-independent; thus, by modifying the fitness function, it can detect code
weaknesses and help fix them. Finally, the CodeGuru competition offers a novel
platform for analyzing GP and code evolution in adversarial environments. To
support further research in this direction, we provide a thorough qualitative
analysis of the evolved survivors and the weaknesses found.
更多查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要