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

Rank decrease in rpl-lite #973

Closed
brianma94 opened this issue May 25, 2019 · 1 comment
Closed

Rank decrease in rpl-lite #973

brianma94 opened this issue May 25, 2019 · 1 comment
Labels

Comments

@brianma94
Copy link

Hello,

I am working in an MSc project regarding RPL attacks. I am trying to implement the rank decrease attack. To do so, I reduce in one unit the rank of the malicious node modifying the file rpl-dag.c in the function rpl_dag_update_state(void). The original code is:
[...]
curr_instance.dag.rank = rpl_neighbor_rank_via_nbr(curr_instance.dag.preferred_parent);
[...]

My modification is:
[...]
if (select) {
curr_instance.dag.rank = rpl_neighbor_rank_via_nbr(curr_instance.dag.preferred_parent) - 1;
}
else curr_instance.dag.rank = rpl_neighbor_rank_via_nbr(curr_instance.dag.preferred_parent);
[...]
The "select" boolean is used to identify the malicious node.

Checking the output I can realize that the rank is decreased correctly, but the children nodes are not changing their parent to the malicious node although it has a lower rank.

Is this the way to perform this attack or I should modify something else? Is there a way to force the children to select this parent or to decide the best parent after this modification?

Thank you in advance,
Brian

@debug-ito
Copy link
Contributor

By default, rpl-lite uses an Objective Function called MRHOF (rpl-mrhof.c), which has hysteresis behavior. Maybe the rank decrease was not big enough for other nodes to switch parents.

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

No branches or pull requests

3 participants