OLD | NEW |
1 .. _ideas: | 1 .. _ideas: |
2 | 2 |
3 ################# | 3 ################# |
4 Contributor Ideas | 4 Contributor Ideas |
5 ################# | 5 ################# |
6 | 6 |
7 .. contents:: | 7 .. contents:: |
8 :local: | 8 :local: |
9 :backlinks: none | 9 :backlinks: none |
10 :depth: 3 | 10 :depth: 3 |
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 system it's running on and makes the platform even faster while keeping users | 316 system it's running on and makes the platform even faster while keeping users |
317 safe. It’s also useful for non-browser uses of PNaCl such as running untrusted | 317 safe. It’s also useful for non-browser uses of PNaCl such as running untrusted |
318 code in the Cloud. A few areas to explore are: code randomization for LLVM and | 318 code in the Cloud. A few areas to explore are: code randomization for LLVM and |
319 Subzero, fuzzing of the translator, code hiding at compilation time, and code | 319 Subzero, fuzzing of the translator, code hiding at compilation time, and code |
320 tuning to the hardware and operating system the untrusted code is running on. | 320 tuning to the hardware and operating system the untrusted code is running on. |
321 * **Expected results:** The security design and implementation successfully pass | 321 * **Expected results:** The security design and implementation successfully pass |
322 a review with the Chrome security team. | 322 a review with the Chrome security team. |
323 * **Knowledge Prerequisite:** Security. | 323 * **Knowledge Prerequisite:** Security. |
324 * **Mentor:** JF Bastien. | 324 * **Mentor:** JF Bastien. |
325 | 325 |
| 326 Sanitizer Support |
| 327 ^^^^^^^^^^^^^^^^^ |
| 328 |
| 329 * **Project:** Sanitizer support for untrusted code. |
| 330 * **Brief explanation:** LLVM supports many sanitizers_ for C/C++ using the |
| 331 ``-fsanitize=<name>``. Some of these sanitizers currently work, and some don't |
| 332 because they use clever tricks to perform their work, such as using ``mmap`` |
| 333 to allocate a special shadow memory region with a specific address. This |
| 334 project requires adding full support to all of LLVM's sanitizers for untrusted |
| 335 user code within PNaCl. |
| 336 * **Expected results:** The sanitizer tests successfully run as untrusted code |
| 337 within PNaCl. |
| 338 * **Knowledge Prerequisite:** Compilers. |
| 339 * **Mentor:** JF Bastien. |
| 340 |
| 341 .. _sanitizers: http://clang.llvm.org/docs/UsersManual.html#controlling-code-gen
eration |
326 | 342 |
327 NaCl | 343 NaCl |
328 ---- | 344 ---- |
329 | 345 |
330 Auto-Sandboxing | 346 Auto-Sandboxing |
331 ^^^^^^^^^^^^^^^ | 347 ^^^^^^^^^^^^^^^ |
332 | 348 |
333 * **Project:** Auto-sandboxing assembler. | 349 * **Project:** Auto-sandboxing assembler. |
334 * **Brief explanation:** NaCl has a toolchain which can sandbox native | 350 * **Brief explanation:** NaCl has a toolchain which can sandbox native |
335 code. This toolchain can consume C/C++ as well as pre-sandboxed assembly, or | 351 code. This toolchain can consume C/C++ as well as pre-sandboxed assembly, or |
(...skipping 28 matching lines...) Expand all Loading... |
364 32-bits. Some applications, both in-browser and not in-browser, would benefit | 380 32-bits. Some applications, both in-browser and not in-browser, would benefit |
365 from a larger address space. This project involves designing and implementing | 381 from a larger address space. This project involves designing and implementing |
366 a model for 64-bit sandboxes on all architecture NaCl currently supports. This | 382 a model for 64-bit sandboxes on all architecture NaCl currently supports. This |
367 also requires supporting 64-bit pointers in PNaCl using the ``le64`` platform, | 383 also requires supporting 64-bit pointers in PNaCl using the ``le64`` platform, |
368 and updating the code generation for each platform. | 384 and updating the code generation for each platform. |
369 * **Expected results:** The new sandbox's design and implementation successfully | 385 * **Expected results:** The new sandbox's design and implementation successfully |
370 pass a review with the Chrome security team. Existing NaCl code successfully | 386 pass a review with the Chrome security team. Existing NaCl code successfully |
371 runs in the new sandbox. | 387 runs in the new sandbox. |
372 * **Knowledge Prerequisite:** Security, low-level assembly, compilers, LLVM. | 388 * **Knowledge Prerequisite:** Security, low-level assembly, compilers, LLVM. |
373 * **Mentor:** David Sehr. | 389 * **Mentor:** David Sehr. |
OLD | NEW |