Hardware and software support for fine-grained memory access control and encapsulation in C++

  • Authors:
  • Eugen Leontie;Gedare Bloom;Rahul Simha

  • Affiliations:
  • The George Washington University, Washington, DC, USA;The George Washington University, Washington, DC, USA;The George Washington University, Washington, DC, USA

  • Venue:
  • Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Object-oriented programming (OOP) encapsulates object implementations with access specifiers like public and private. Compilers can verify that code adheres to specifiers, but verification can be broken in languages like C++ by unchecked pointers. Thus, C++ programmers are taught that "private is not secure." The lack of isolation between objects frustrates memory protection in OOP code. We propose hardware and software support to confine memory accesses in fine-grained memory regions that isolate within and between objects so that C++ programs can enforce encapsulation and prevent pointer-based exploits. Such support makes private secure. Although we target C++, our approach handles generic techniques like inheritance, polymorphism, dynamic dispatch, dynamic binding, and encapsulation.