
Uma ferramenta para testar eficazmente a camada de binding de linguagens de script
O Cooper utiliza mutação cooperativa para testar o código de ligação de linguagens de script, a fim de encontrar problemas de segurança de memória. A mutação cooperativa modifica simultaneamente o código do script e os objetos de documento relacionados para explorar vários caminhos de código do código de ligação. Para dar suporte à mutação cooperativa, inferimos a relação entre o código do script e os objetos de documento para orientar a mutação bidimensional. Aplicamos nossa ferramenta Cooper em três softwares comerciais populares: Adobe Acrobat, Foxit Reader e Microsoft Word. O Cooper detectou 134 bugs anteriormente desconhecidos, que resultaram em 33 entradas de CVE e 22K em recompensas por bugs. O Cooper possui três componentes:
A visão geral do Cooper é ilustrada pelo diagrama abaixo.
Para mais detalhes, consulte nosso artigo publicado no 29º Simpósio Anual de Segurança de Redes e Sistemas Distribuídos (NDSS 2022).
pip install pywin32Você precisa preparar algumas amostras de PDF (Word) e colocá-las em uma pasta que será usada como sample_dir.
O número de amostras de PDF (Word) deve estar entre 10.000 e 20.000.
Preparamos 200 amostras de PDF no DropBox
e 214 amostras de Word no DropBox.
Você pode testar com essas pequenas amostras, mas, para obter melhores resultados, use mais amostras.
$ 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},
}