Cornucopia is a full implementation of the CHERIvoke sweeping revocation algorithm. This paper is to appear at IEEE S&P (“Oakland”) 2020; the accepted version is available locally.

IEEE S&P has made the short advert and the full talk available publicly. The PPTX slides are available locally.

BibTeX:

@InProceedings{filardo:cornucopia,
  author  = {Filardo, Nathaniel Wesley and Gutstein, Brett~F. and Woodruff,
            Jonathan and Ainsworth, Sam and Paul-Trifu, Lucian and Davis,
            Brooks and Xia, Hongyan and Napierala, Edward Tomasz and
            Richardson, Alexander and Baldwin, John and Chisnall, David and
            Clarke, Jessica and Gudka, Khilan and Joannou, Alexandre and
            Markettos, A.~Theodore and Mazzinghi, Alfredo and Norton,
            Robert~M. and Roe, Michael and Sewell, Peter and Son, Stacey and
            Jones, Timothy~M. and Moore, Simon~W. and Neumann, Peter~G. and
            Watson, Robert~N.~M.},
  booktitle={2020 IEEE Symposium on Security and Privacy (SP)},
  title   = {Cornucopia: Temporal Safety for {CHERI} Heaps},
  year    = {2020},
  volume  = {},
  issn    = {2375-1207},
  pages   = {1507-1524},
  doi     = {10.1109/SP40000.2020.00098},
  url     = {https://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/2020oakland-cornucopia.pdf},
  publisher={IEEE Computer Society},
  address = {Los Alamitos, CA, USA},
  month   = {5}
}

@InProceedings{filardo:cornucopiareloaded,
  title   = {{Cornucopia Reloaded: Load Barriers for CHERI Heap Temporal
            Safety}},
  author  = {Nathaniel Wesley Filardo and Brett F. Gutstein and Jonathan
            Woodruff and Jessica Clarke and Peter Rugg and Brooks Davis and
            Mark Johnston and Robert Norton and David Chisnall and Simon W.
            Moore and Peter G. Neumann and Robert N. M. Watson},
  doi     = {10.1145/3620665.3640416},
  booktitle={Proceedings of the 29th ACM International Conference on
            Architectural Support for Programming Languages and Operating
            Systems (ASPLOS’24)},
  year    = {2024},
  month   = {August}
}