
Una herramienta para probar eficazmente la capa de enlace de los lenguajes de scripting
Cooper utiliza mutación cooperativa para probar el código de enlace de los lenguajes de script y encontrar problemas de seguridad de memoria. La mutación cooperativa modifica simultáneamente el código de los scripts y los objetos de documento relacionados para explorar varias rutas de código del código de enlace. Para respaldar la mutación cooperativa, inferimos la relación entre el código de los scripts y los objetos de documento para guiar la mutación bidimensional. Aplicamos nuestra herramienta Cooper a tres software comerciales populares: Adobe Acrobat, Foxit Reader y Microsoft Word. Cooper detectó 134 errores previamente desconocidos, lo que resultó en 33 entradas CVE y 22K en recompensas por errores. Cooper tiene tres componentes:
La visión general de Cooper se ilustra en el siguiente diagrama.
Para más detalles, consulte nuestro artículo publicado en el 29.º Simposio Anual de Seguridad de Redes y Sistemas Distribuidos (NDSS 2022).
pip install pywin32Debe preparar algunas muestras de PDF (Word) y colocarlas en una carpeta que se utilizará como sample_dir.
El número de muestras de PDF (Word) debe estar entre 10,000 y 20,000.
Hemos preparado 200 muestras de PDF en DropBox,
y 214 muestras de Word en DropBox.
Puede probar con estas muestras pequeñas, pero para obtener mejores resultados, use más muestras.
$ python PdfSolution.py/WordSolution.py <sample_dir> <data_dir> <output_dir> <generate_cnt>
<sample_dir>: the absolute path of raw pdf samples folder
<data_dir>: the absolute path for mid data folder
<output_dir>: the absolute path for folder storing generated samples
<generate_cnt>: the amount how many input Cooper will generate
Peng Xu [email protected]
Yanhao Wang [email protected]
Hong Hu [email protected]
Purui Su [email protected]
Cooper: Testing the Binding Code of Scripting Languages with Cooperative Mutation
@inproceedings{xu:cooper,
title = {{Cooper: Testing the Binding Code of Scripting Languages with Cooperative Mutation (To Appear)}},
author = {Peng Xu and Yanhao Wang and Hong Hu and Purui Su},
booktitle = {Proceedings of the 29th Annual Network and Distributed System Security Symposium (NDSS 2022)},
month = {apr},
year = {2022},
address = {San Diego, CA},
}