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

feat: added security access subfunction scanner #530

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

mich41v4294
Copy link

Added a scan mode to enumerate supported SecurityAccess (0x27) subfunctions/levels in supported sessions.

@mich41v4294
Copy link
Author

mich41v4294 commented Apr 24, 2024

should've read the documentation earlier, found out the identifiers scan should be used for this. feel free to merge/close as per your discretion. my thought was this specific scan would enable possible future automation expansion, but that could be also done with the universal identifiers scan. Only benefit here might be more specific response/data handling.

@peckto
Copy link
Contributor

peckto commented May 7, 2024

Hi @mich41v4294
thanks for your contribution!
Yea, you can use the identifier scanner to iterate the sa level.
I saw, that you also iterate the payload length to request the seed.
Is there a specific reason why you are doing this?
Do you get different results on different payload lengths?

@mich41v4294
Copy link
Author

Do you get different results on different payload lengths?

Yes, that's correct, some ECUs might expect additional information with the SA request and could respond with IncorrectLength. While that response itself is enough to assess the existence of that specific SA level, it is not enough to specify the correct message format (eg. for subsequent seed gathering).

@peckto
Copy link
Contributor

peckto commented May 7, 2024

Ok, I see.
Maybe we can split this up?
We like to have simple scanners, which are focused on one thing, in case of the identifiers scanner, finding IDs which are available. A second scanner could then take those IDs and try to find accepted payload lengths. A third could then use the payload length to do fuzzing (where we have a prototype).
Decoupling adds flexibility to run (or re-run) only selected parts and allows combining and reusing the scanners as needed.

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

Successfully merging this pull request may close these issues.

2 participants