ucsb-seclab / karonte

Karonte is a static analysis tool to detect multi-binary vulnerabilities in embedded firmware
BSD 2-Clause "Simplified" License
391 stars 60 forks source link

Timeout triggered, -223 left... #5

Closed phros closed 4 years ago

phros commented 4 years ago

Hi ,

I'm using the docker image. I ran the run.py from the eval/karonte_stats/.Just for information: after 3 days of running, one process is still not finished. The output says:

[..]
      | 2020-02-17 08:32 | Karonte  |  Hard Timeout triggered, but we are in z3, trying again in 30 seconds
INFO      | 2020-02-17 08:37 | Karonte  |  Timeout triggered, -216 left....
INFO      | 2020-02-17 08:37 | Karonte  |  Hard Timeout triggered, but we are in z3, trying again in 30 seconds
INFO      | 2020-02-17 08:42 | Karonte  |  Timeout triggered, -217 left....
INFO      | 2020-02-17 08:42 | Karonte  |  Hard Timeout triggered, but we are in z3, trying again in 30 seconds
INFO      | 2020-02-17 08:47 | Karonte  |  Timeout triggered, -218 left....
INFO      | 2020-02-17 08:47 | Karonte  |  Hard Timeout triggered, but we are in z3, trying again in 30 seconds
INFO      | 2020-02-17 08:52 | Karonte  |  Timeout triggered, -219 left....
INFO      | 2020-02-17 08:52 | Karonte  |  Hard Timeout triggered, but we are in z3, trying again in 30 seconds
INFO      | 2020-02-17 08:57 | Karonte  |  Timeout triggered, -220 left....
INFO      | 2020-02-17 08:57 | Karonte  |  Hard Timeout triggered, but we are in z3, trying again in 30 seconds
INFO      | 2020-02-17 08:58 | Karonte  |  Timeout triggered, -221 left....
INFO      | 2020-02-17 08:58 | Karonte  |  Hard Timeout triggered, but we are in z3, trying again in 30 seconds
INFO      | 2020-02-17 08:58 | Karonte  |  Timeout triggered, -222 left....
INFO      | 2020-02-17 08:58 | Karonte  |  Hard Timeout triggered, but we are in z3, trying again in 30 seconds
INFO      | 2020-02-17 08:59 | Karonte  |  Timeout triggered, -223 left....
INFO      | 2020-02-17 08:59 | Karonte  |  Hard Timeout triggered, but we are in z3, trying again in 30 seconds

Seems like the timeout counter does not check when its time to terminate. Seems like it is the NETGEAR r_9000 fw:

$ ps a | grep karonte
  7027 pts/1    S+     0:00 sh -c python tool/karonte.py config/NETGEAR/r_9000.json ./eval/karonte_stats/results//NETGEAR/r_9000.json
  7031 pts/1    Rl+  5850:44 python tool/karonte.py config/NETGEAR/r_9000.json ./eval/karonte_stats/results//NETGEAR/r_9000.json

Cheers

badnack commented 4 years ago

This happens when another process keeps catches the SIGUSR1, which karonte throws to stop the analysis. Unfortunately, this is a known bug. I suggest you kill and restart the analysis, this problem usually does not happen.

On Mon, 17 Feb 2020 at 01:09, phros notifications@github.com wrote:

Hi ,

I'm using the docker image. I ran the run.py from the eval/karonte_stats/.Just for information: after 3 days of running, one process is still not finished. The output says:

[..] | 2020-02-17 08:32 | Karonte | Hard Timeout triggered, but we are in z3, trying again in 30 seconds INFO | 2020-02-17 08:37 | Karonte | Timeout triggered, -216 left.... INFO | 2020-02-17 08:37 | Karonte | Hard Timeout triggered, but we are in z3, trying again in 30 seconds INFO | 2020-02-17 08:42 | Karonte | Timeout triggered, -217 left.... INFO | 2020-02-17 08:42 | Karonte | Hard Timeout triggered, but we are in z3, trying again in 30 seconds INFO | 2020-02-17 08:47 | Karonte | Timeout triggered, -218 left.... INFO | 2020-02-17 08:47 | Karonte | Hard Timeout triggered, but we are in z3, trying again in 30 seconds INFO | 2020-02-17 08:52 | Karonte | Timeout triggered, -219 left.... INFO | 2020-02-17 08:52 | Karonte | Hard Timeout triggered, but we are in z3, trying again in 30 seconds INFO | 2020-02-17 08:57 | Karonte | Timeout triggered, -220 left.... INFO | 2020-02-17 08:57 | Karonte | Hard Timeout triggered, but we are in z3, trying again in 30 seconds INFO | 2020-02-17 08:58 | Karonte | Timeout triggered, -221 left.... INFO | 2020-02-17 08:58 | Karonte | Hard Timeout triggered, but we are in z3, trying again in 30 seconds INFO | 2020-02-17 08:58 | Karonte | Timeout triggered, -222 left.... INFO | 2020-02-17 08:58 | Karonte | Hard Timeout triggered, but we are in z3, trying again in 30 seconds INFO | 2020-02-17 08:59 | Karonte | Timeout triggered, -223 left.... INFO | 2020-02-17 08:59 | Karonte | Hard Timeout triggered, but we are in z3, trying again in 30 seconds

Seems like the timeout counter does not check when its time to terminate. Seems like it is the NETGEAR r_9000 fw:

$ ps a | grep karonte 7027 pts/1 S+ 0:00 sh -c python tool/karonte.py config/NETGEAR/r_9000.json ./eval/karonte_stats/results//NETGEAR/r_9000.json 7031 pts/1 Rl+ 5850:44 python tool/karonte.py config/NETGEAR/r_9000.json ./eval/karonte_stats/results//NETGEAR/r_9000.json

Cheers

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ucsb-seclab/karonte/issues/5?email_source=notifications&email_token=AAH5GZF2QB5D7SOT4QD2SLTRDJH3TA5CNFSM4KWNODVKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IN63DDA, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAH5GZFHQ7I6VBA2GQIZWN3RDJH3TANCNFSM4KWNODVA .

-- Nilo Redini

Site: www.badnack.it Twitter: badnack Skype: badnack PGP key: http://www.badnack.it/Keys/PbKey

phros commented 4 years ago

Ok. Thanks