
Uno strumento per testare efficacemente il livello di binding dei linguaggi di scripting
==================================================================================== Cooper utilizza la mutazione cooperativa per testare il codice di binding dei linguaggi di scripting al fine di individuare problemi di memory safety. La mutazione cooperativa modifica simultaneamente il codice dello script e gli oggetti documento correlati per esplorare vari percorsi del codice di binding. Per supportare la mutazione cooperativa, deduciamo la relazione tra codice dello script e oggetti documento per guidare la mutazione bidimensionale. Abbiamo applicato il nostro strumento Cooper a tre popolari software commerciali, Adobe Acrobat, Foxit Reader e Microsoft Word. Cooper ha rilevato 134 bug precedentemente sconosciuti, che hanno portato a 33 voci CVE e 22K di bug bounty. Cooper ha tre componenti:
La panoramica di Cooper è illustrata dal diagramma seguente.
Per maggiori dettagli, consulta il nostro articolo pubblicato al 29° Annual Network and Distributed System Security Symposium (NDSS 2022).
pip install pywin32Devi preparare alcuni campioni PDF (Word) e inserirli in una cartella che verrà utilizzata come sample_dir. Il numero di campioni PDF (Word) dovrebbe essere compreso tra 10,000 e 20,000. Abbiamo preparato 200 campioni PDF in DropBox, e 214 campioni Word in DropBox. Puoi testare con questi piccoli campioni, ma per risultati migliori usa più campioni.
$ 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},
}