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

uvsior can‘t prevent private memory from being readed or written by public box #533

Open
gylalahuo opened this issue Dec 5, 2017 · 3 comments
Labels

Comments

@gylalahuo
Copy link

Does uvsior not prevent private box memory from being aceessed by public BOX?
I do some test and find in public BOX ,I can write the memory which belongs to private BOX.
for example
In my private box ,there is a local variable name "a" like
int a=2;
and the a located at 0X1FFF4254.
then In public box .i write
int *b=(int *)0x1fff4254;
*b=20.
run the program I find the variable"a" is changed to 20. it seems that the public BOX can revise the memory regin which belongs to private BOX
so i think uvsior can‘t prevent private memory from reading or writing by public box.is it rigth?

@ciarmcom
Copy link
Member

ciarmcom commented Dec 5, 2017

ARM Internal Ref: IOTSEC-518

@gylalahuo gylalahuo changed the title uvsior can‘t prevent private memory from reading or writing by public box uvsior can‘t prevent private memory from being readed or written by public box Dec 6, 2017
@gylalahuo
Copy link
Author

gylalahuo commented Dec 6, 2017

How to test the security when enable UVSIOR? I saw a ducument about UVISOR memory protection。
Like this:
a
In picture,different BOX can‘t’ access memory belongs to others BOX. I think it means that
if in public BOX has a stack overflow ,it will not affect other memory region.
but when i use memset(a,-1,56*1024),"a" belongs to public memory .and use gdb to see the memory .i find the memory belongs to private box is also overwrited to -1.
I am not sure this test method is right. if i am right.what is meaning about uvisor memory protection? it seems that it can't provent memory overflow. if i am wrong ,would you please tell me how to test?
Thanks

@orenc17
Copy link

orenc17 commented Dec 10, 2017

@gylalahuo, we couldn't reproduce the scenario you're referring to.
The issue you're experiencing could be caused by a large number of reasons
Few things to check:

  • Insure your ACL does not expose the whole RAM
  • Make sure uVisor is enabled via compilation macros

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