SRI-CSL / OCCAM

OCCAM: Object Culling and Concretization for Assurance Maximization
BSD 3-Clause "New" or "Revised" License
26 stars 10 forks source link

Unexpected output with specialized binary using configuration priming: wget, dnsproxy, sans, totd #48

Closed mudbri closed 3 years ago

mudbri commented 3 years ago

The following 4 applications work incorrectly when specialized with the --enable-config-prime flag: wget, dnsproxy, sans, totd. All four applications use a configuration file as a static argument in their manifests. All the required files for reproduction are attached here. The issues can be reproduced in the following way:

  1. cd [application name]
  2. make (The following dependencies might be required: apt-get install autoconf libpcre3-dev libpcre3)
  3. bash build.sh --enable-config-prime
  4. make test

The tests for all four applications fail with the --enable-config-prime flag provided. However, the tests pass if the flag is not provided (i.e. bash build.sh).

caballa commented 3 years ago

I list here the four benchmarks to follow the progress:

caballa commented 3 years ago

wget is fixed in commit ca2e84536c7d356af439634de0fb2900db1f622e.

@mudbri : would you mind to check the other three programs? The scripts to run the tests have sudo and I cannot run as sudo. I modified the scripts to run without sudo and I get errors such as unable to bind socket: Permission denied so hopefully it works for you.

mudbri commented 3 years ago

Thanks! wget and dnsproxy are fixed now but sans and totd are still not working correctly. The sudo to run test_totd.py can be removed. The test should work fine without it

caballa commented 3 years ago

The reason for the crashes in sans and totd is explained in issue #54.

caballa commented 3 years ago

sans and totd works fine after commit 948ca531cc56959986521b1fb7adff0b0cdac44c