OLD | NEW |
1 {{+bindTo:partials.standard_nacl_article}} | 1 {{+bindTo:partials.standard_nacl_article}} |
2 | 2 |
3 <section id="contributor-ideas"> | 3 <section id="contributor-ideas"> |
4 <span id="ideas"></span><h1 id="contributor-ideas"><span id="ideas"></span>Contr
ibutor Ideas</h1> | 4 <span id="ideas"></span><h1 id="contributor-ideas"><span id="ideas"></span>Contr
ibutor Ideas</h1> |
5 <div class="contents local" id="contents" style="display: none"> | 5 <div class="contents local" id="contents" style="display: none"> |
6 <ul class="small-gap"> | 6 <ul class="small-gap"> |
7 <li><a class="reference internal" href="#contributing-me" id="id9">Contributing?
Me‽</a></li> | 7 <li><a class="reference internal" href="#contributing-me" id="id9">Contributing?
Me‽</a></li> |
8 <li><a class="reference internal" href="#google-summer-of-code" id="id10">Google
Summer of Code</a></li> | 8 <li><a class="reference internal" href="#google-summer-of-code" id="id10">Google
Summer of Code</a></li> |
9 <li><p class="first"><a class="reference internal" href="#id2" id="id11">Ideas</
a></p> | 9 <li><p class="first"><a class="reference internal" href="#id2" id="id11">Ideas</
a></p> |
10 <ul class="small-gap"> | 10 <ul class="small-gap"> |
(...skipping 15 matching lines...) Expand all Loading... |
26 </ul> | 26 </ul> |
27 </li> | 27 </li> |
28 <li><a class="reference internal" href="#tcc" id="id23">TCC</a></li> | 28 <li><a class="reference internal" href="#tcc" id="id23">TCC</a></li> |
29 <li><p class="first"><a class="reference internal" href="#llvm-and-pnacl" id="id
24">LLVM and PNaCl</a></p> | 29 <li><p class="first"><a class="reference internal" href="#llvm-and-pnacl" id="id
24">LLVM and PNaCl</a></p> |
30 <ul class="small-gap"> | 30 <ul class="small-gap"> |
31 <li><a class="reference internal" href="#sandboxing-optimizations" id="id25">San
dboxing Optimizations</a></li> | 31 <li><a class="reference internal" href="#sandboxing-optimizations" id="id25">San
dboxing Optimizations</a></li> |
32 <li><a class="reference internal" href="#binary-size-reduction" id="id26">Binary
Size Reduction</a></li> | 32 <li><a class="reference internal" href="#binary-size-reduction" id="id26">Binary
Size Reduction</a></li> |
33 <li><a class="reference internal" href="#vector-support" id="id27">Vector Suppor
t</a></li> | 33 <li><a class="reference internal" href="#vector-support" id="id27">Vector Suppor
t</a></li> |
34 <li><a class="reference internal" href="#atomics" id="id28">Atomics</a></li> | 34 <li><a class="reference internal" href="#atomics" id="id28">Atomics</a></li> |
35 <li><a class="reference internal" href="#security-enhanced-pnacl" id="id29">Secu
rity-enhanced PNaCl</a></li> | 35 <li><a class="reference internal" href="#security-enhanced-pnacl" id="id29">Secu
rity-enhanced PNaCl</a></li> |
| 36 <li><a class="reference internal" href="#sanitizer-support" id="id30">Sanitizer
Support</a></li> |
36 </ul> | 37 </ul> |
37 </li> | 38 </li> |
38 <li><p class="first"><a class="reference internal" href="#nacl" id="id30">NaCl</
a></p> | 39 <li><p class="first"><a class="reference internal" href="#nacl" id="id31">NaCl</
a></p> |
39 <ul class="small-gap"> | 40 <ul class="small-gap"> |
40 <li><a class="reference internal" href="#auto-sandboxing" id="id31">Auto-Sandbox
ing</a></li> | 41 <li><a class="reference internal" href="#auto-sandboxing" id="id32">Auto-Sandbox
ing</a></li> |
41 <li><a class="reference internal" href="#new-sandbox" id="id32">New Sandbox</a><
/li> | 42 <li><a class="reference internal" href="#new-sandbox" id="id33">New Sandbox</a><
/li> |
42 <li><a class="reference internal" href="#bit-sandbox" id="id33">64-bit Sandbox</
a></li> | 43 <li><a class="reference internal" href="#bit-sandbox" id="id34">64-bit Sandbox</
a></li> |
43 </ul> | 44 </ul> |
44 </li> | 45 </li> |
45 </ul> | 46 </ul> |
46 </li> | 47 </li> |
47 </ul> | 48 </ul> |
48 | 49 |
49 </div><h2 id="contributing-me">Contributing? Me‽</h2> | 50 </div><h2 id="contributing-me">Contributing? Me‽</h2> |
50 <p>NaCl and PNaCl are very big projects: they expose an entire operating system
to | 51 <p>NaCl and PNaCl are very big projects: they expose an entire operating system
to |
51 developers, interact with all of the Web platform, and deal with compilers | 52 developers, interact with all of the Web platform, and deal with compilers |
52 extensively to allow code written in essentially any programming language to | 53 extensively to allow code written in essentially any programming language to |
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 system it’s running on and makes the platform even faster while keeping us
ers | 281 system it’s running on and makes the platform even faster while keeping us
ers |
281 safe. It’s also useful for non-browser uses of PNaCl such as running untrusted | 282 safe. It’s also useful for non-browser uses of PNaCl such as running untrusted |
282 code in the Cloud. A few areas to explore are: code randomization for LLVM and | 283 code in the Cloud. A few areas to explore are: code randomization for LLVM and |
283 Subzero, fuzzing of the translator, code hiding at compilation time, and code | 284 Subzero, fuzzing of the translator, code hiding at compilation time, and code |
284 tuning to the hardware and operating system the untrusted code is running on.</l
i> | 285 tuning to the hardware and operating system the untrusted code is running on.</l
i> |
285 <li><strong>Expected results:</strong> The security design and implementation su
ccessfully pass | 286 <li><strong>Expected results:</strong> The security design and implementation su
ccessfully pass |
286 a review with the Chrome security team.</li> | 287 a review with the Chrome security team.</li> |
287 <li><strong>Knowledge Prerequisite:</strong> Security.</li> | 288 <li><strong>Knowledge Prerequisite:</strong> Security.</li> |
288 <li><strong>Mentor:</strong> JF Bastien.</li> | 289 <li><strong>Mentor:</strong> JF Bastien.</li> |
289 </ul> | 290 </ul> |
| 291 <h4 id="sanitizer-support">Sanitizer Support</h4> |
| 292 <ul class="small-gap"> |
| 293 <li><strong>Project:</strong> Sanitizer support for untrusted code.</li> |
| 294 <li><strong>Brief explanation:</strong> LLVM supports many <a class="reference e
xternal" href="http://clang.llvm.org/docs/UsersManual.html#controlling-code-gene
ration">sanitizers</a> for C/C++ using the |
| 295 <code>-fsanitize=<name></code>. Some of these sanitizers currently work, a
nd some don’t |
| 296 because they use clever tricks to perform their work, such as using <code>mmap</
code> |
| 297 to allocate a special shadow memory region with a specific address. This |
| 298 project requires adding full support to all of LLVM’s sanitizers for untru
sted |
| 299 user code within PNaCl.</li> |
| 300 <li><strong>Expected results:</strong> The sanitizer tests successfully run as u
ntrusted code |
| 301 within PNaCl.</li> |
| 302 <li><strong>Knowledge Prerequisite:</strong> Compilers.</li> |
| 303 <li><strong>Mentor:</strong> JF Bastien.</li> |
| 304 </ul> |
290 <h3 id="nacl">NaCl</h3> | 305 <h3 id="nacl">NaCl</h3> |
291 <h4 id="auto-sandboxing">Auto-Sandboxing</h4> | 306 <h4 id="auto-sandboxing">Auto-Sandboxing</h4> |
292 <ul class="small-gap"> | 307 <ul class="small-gap"> |
293 <li><strong>Project:</strong> Auto-sandboxing assembler.</li> | 308 <li><strong>Project:</strong> Auto-sandboxing assembler.</li> |
294 <li><strong>Brief explanation:</strong> NaCl has a toolchain which can sandbox n
ative | 309 <li><strong>Brief explanation:</strong> NaCl has a toolchain which can sandbox n
ative |
295 code. This toolchain can consume C/C++ as well as pre-sandboxed assembly, or | 310 code. This toolchain can consume C/C++ as well as pre-sandboxed assembly, or |
296 assembly which uses special sandboxing macros. The goal of this project is to | 311 assembly which uses special sandboxing macros. The goal of this project is to |
297 follow NaCl’s sandboxing requirements automatically which compiling assemb
ly | 312 follow NaCl’s sandboxing requirements automatically which compiling assemb
ly |
298 files.</li> | 313 files.</li> |
299 <li><strong>Expected results:</strong> Existing assembly code can be compiled to
a native | 314 <li><strong>Expected results:</strong> Existing assembly code can be compiled to
a native |
(...skipping 26 matching lines...) Expand all Loading... |
326 and updating the code generation for each platform.</li> | 341 and updating the code generation for each platform.</li> |
327 <li><strong>Expected results:</strong> The new sandbox’s design and implem
entation successfully | 342 <li><strong>Expected results:</strong> The new sandbox’s design and implem
entation successfully |
328 pass a review with the Chrome security team. Existing NaCl code successfully | 343 pass a review with the Chrome security team. Existing NaCl code successfully |
329 runs in the new sandbox.</li> | 344 runs in the new sandbox.</li> |
330 <li><strong>Knowledge Prerequisite:</strong> Security, low-level assembly, compi
lers, LLVM.</li> | 345 <li><strong>Knowledge Prerequisite:</strong> Security, low-level assembly, compi
lers, LLVM.</li> |
331 <li><strong>Mentor:</strong> David Sehr.</li> | 346 <li><strong>Mentor:</strong> David Sehr.</li> |
332 </ul> | 347 </ul> |
333 </section> | 348 </section> |
334 | 349 |
335 {{/partials.standard_nacl_article}} | 350 {{/partials.standard_nacl_article}} |
OLD | NEW |