# qsym1 **Repository Path**: crlwebby/qsym1 ## Basic Information - **Project Name**: qsym1 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-03-13 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Environment - Tested on Ubuntu 14.04 64bit and 16.04 64bit ## Installation ~~~~{.sh} # disable ptrace_scope for PIN $ echo 0|sudo tee /proc/sys/kernel/yama/ptrace_scope # install z3 and system deps $ ./setup.sh # install using virtual env $ virtualenv venv $ source venv/bin/activate $ pip install . ~~~~ ## Installation using Docker ~~~~{.sh} # disable ptrace_scope for PIN $ echo 0|sudo tee /proc/sys/kernel/yama/ptrace_scope # build docker image $ docker build -t qsym ./ # run docker image $ docker run --cap-add=SYS_PTRACE -it qsym /bin/bash ~~~~ ## Installation using vagrant Since QSYM is dependent on underlying kernel because of its old PIN, we decided to provide a convenient way to install QSYM with VM. Please take a look our [vagrant](vagrant) directory. ## Run hybrid fuzzing with AFL ~~~~{.sh} # require to set the following environment variables # AFL_ROOT: afl directory (http://lcamtuf.coredump.cx/afl/) # INPUT: input seed files # OUTPUT: output directory # AFL_CMDLINE: command line for a testing program for AFL (ASAN + instrumented) # QSYM_CMDLINE: command line for a testing program for QSYM (Non-instrumented) # run AFL master $ $AFL_ROOT/afl-fuzz -M afl-master -i $INPUT -o $OUTPUT -- $AFL_CMDLINE # run AFL slave $ $AFL_ROOT/afl-fuzz -S afl-slave -i $INPUT -o $OUTPUT -- $AFL_CMDLINE # run QSYM $ bin/run_qsym_afl.py -a afl-slave -o $OUTPUT -n qsym -- $QSYM_CMDLINE ~~~~ ## Run for testing ~~~~{.sh} $ cd tests $ python build.py $ python -m pytest -n $(nproc) ~~~~ ## Authors - Insu Yun - Sangho Lee - Meng Xu - Yeongjin Jang - Taesoo Kim ## Publications ``` QSYM: A Practical Concolic Execution Engine Tailored for Hybrid Fuzzing @inproceedings{yun:qsym, title = {{QSYM: A Practical Concolic Execution Engine Tailored for Hybrid Fuzzing}}, author = {Insu Yun and Sangho Lee and Meng Xu and Yeongjin Jang and Taesoo Kim}, booktitle = {Proceedings of the 27th USENIX Security Symposium (Security)}, month = aug, year = 2018, address = {Baltimore, MD}, } ```