Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 About | |
| 2 ===== | |
| 3 | |
| 4 This is a prototype for plumbing Mojo into the NaCl sandbox. It is | |
| 5 currently insecure (see below), does not provide a stable ABI (IRT | |
|
Mark Seaborn
2015/10/12 17:18:50
IRT support was added.
I'm picking on this becaus
Sean Klein
2015/10/12 19:10:44
Done.
| |
| 6 support must be added), and does not support Mojo functions that | |
| 7 return pointers (for example, `MojoMapBuffer`). | |
| 8 | |
| 9 Currently, SFI NaCl support is not being actively developed, in favor of | |
| 10 non-SFI NaCl support. | |
| 11 | |
| 12 Using | |
| 13 ===== | |
| 14 | |
| 15 The SFI NaCl and accompanying tests should be built by default for Linux. | |
| 16 The boolean indicating if they are built is "mojo_use_nacl", defined inside | |
| 17 the BUILD files. | |
| 18 | |
| 19 This should create a "monacl_shell" executable, capable of running standalone | |
| 20 SFI nexes. | |
| 21 | |
| 22 Additionally, it will create a content handler for SFI nexes -- any Nexe | |
| 23 with the line "#!mojo mojo:nacl_content_handler" prepended to it will be | |
| 24 redirected to the SFI content handler when run with the "mojo_shell". | |
| 25 | |
| 26 | |
| 27 Notes | |
| 28 ===== | |
| 29 | |
| 30 `nacl_bindings_generator/interface.py` contains a programmatic description of | |
| 31 the stable Mojo interface. This will need to be updated as the interface | |
| 32 changes. Run `nacl_bindings_generator/generate_nacl_bindings.py` to generate | |
| 33 the bindings that plumb this interface into the NaCl sandbox. | |
| 34 | |
| 35 Security TODO | |
| 36 ============= | |
| 37 | |
| 38 * Separate trusted and untrusted Mojo handles. | |
|
Mark Seaborn
2015/10/12 17:18:50
Nick did implement this.
Sean Klein
2015/10/12 19:10:44
Removed.
| |
| 39 * Validate and copy option structures. | |
| 40 * Protect untrusted buffers passed into Mojo: | |
| 41 * `NaClVmIoWillStart/HasEnded`. | |
| 42 * volatile accesses to untrusted memory (untrusted code could race). | |
| 43 * Overflow checking in array bounds validation. | |
| OLD | NEW |