Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support modern Ubuntu #7

Open
vanhauser-thc opened this issue Jun 24, 2019 · 2 comments
Open

Support modern Ubuntu #7

vanhauser-thc opened this issue Jun 24, 2019 · 2 comments

Comments

@vanhauser-thc
Copy link

I wanted to do some testing with afl-pt - but I cannot.

Ubuntu 14.04 is very, very old. So old, that none of the laptops that I own that actually have Intel PT have any network component (wifi and ethernet) that that old Ubuntu actually recognizes.

So this combination of a very old specific Ubuntu and needing intel pt is a very bad combination.

I understand that you need a specific kernel version to be able to directly access in-kernel things. But wouldnt a loadable kernel module that gets the addresses from the kernel build environment and exports the access to what you need to e.g. /proc/foo a much better and portable solution?

The other issue with that old Ubuntu is - modern software often does not run there. so the reduces the possible fuzz targets a lot too.

And that overall makes this great work something rather "we made a paper" than actually something great that can be used in modern projects.

@ghost
Copy link

ghost commented Jun 24, 2019

Porting it to new Ubuntu versions it's feasible by yourself. However, there is something wrong with this fuzzer that does not work well as I mentioned in my other issue. Stability and coverage are incorrect and it does not make it useful for long sessions or parallel jobs. I use an i7 6700K 32Gb of memory and it is supported in ubuntu 14.04 with no issues at all (wifi ath10k needs a firmware update, git clone and overwrite the old one, reboot and works fine). Most of targets tested built with no issues, may some updated dependencies that I fixed setting a non ubuntu library path.
My tests with LAVA have been quite disappointing. Even comparing a simple target vs Angora Fuzzer or WinAFL PT.

@junxzm1990
Copy link
Owner

We very much appreciate your feedback. Yes, we look forward to improving the tool.

@vanhauser-thc We started Ptrix years ago when Ubuntu 14.04 wasn't that old. It is true Ptrix may not work with other Ubuntu versions, but Kernel is not the reason. Our module has no version-specific requirements. I would believe the cause is the libc we patched (we patched the ld to enable fork-server mode). Likely the libc in our repo cannot work in all Ubuntu versions.

@alexandermitop We understand Ptrix may have hidden issues in maintaining stability. We've spent months on testing and debugging. So far, we can only say it works with the benchmarks in our paper for 72-hour tests. Supports of parallel jobs are preliminary, but we have not seen issues with concurrent fuzzing.

Our coverage is different from that used by AFL, but it should have no correctness issues. Our coverage is much more sensitive than edge-based coverage. This may cause a problem --- the bitmap can be full pretty quick.

Many people in this project have gone. It is getting hard to distribute manpower on Ptrix. But please share the issues you further encounter. We are trying to get back soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants