Proof-Carrying Code

Proof-Carrying Code

Proof-Carrying Code (PCC) ist ein 1996 von George Necula und Peter Lee entwickelter, effizienter Algorithmus für Computer, mit dessen Hilfe die Eigenschaften von Anwendungssoftware und insbesondere die Einhaltung von Sicherheitsrichtlinien überprüft und verifiziert werden können.

Der automatische Algorithmus benutzt ein Axiomensystem, um den Programmcode begleitende Metadaten zu analysieren. Dabei kann geschlussfolgert und gewährleistet werden, dass bestimmte sicherheitsrelevante Kriterien eingehalten werden. Zur Laufzeit müssen dann keine entsprechenden zusätzlichen Maßnahmen ergriffen werden, wie zum Beispiel die Ausnahmebehandlung bei kritischem Verhalten der Software. Proof-Carrying Code ist ferner besonders nützlich, um Sicherheitslücken, wie zum Beispiel Pufferüberläufe oder Mehrdeutigkeiten (beispielsweise Typverletzung, Überladen oder Polymorphie), zu verhindern, die häufig durch die Benutzung von unzureichenden Programmiersprachen bedingt sind.

Mit dem Proof-Carrying Code kann auf einem Client bei der Installation und der Ausführung von Computerprogrammen die Zuverlässigkeit und Vertrauenswürdigkeit einer Programmquelle in einem Rechnernetz überprüft werden. Dabei werden Metadaten vom Host, dem sogenannten Programmcodeproduzenten abgerufen, mit deren Hilfe die Überprüfung auf dem Client, dem sogenannten Programmcodeverbraucher, stattfinden kann.

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Proof-Carrying Code — (PCC) is a software mechanism that allows a host system to verify properties about an application via a formal proof that accompanies the application s executable code. The host system can compare the conclusions of the proof to its own security… …   Wikipedia

  • Dependent type — Type systems Type safety Inferred vs. Manifest Dynamic vs. Static Strong vs. Weak Nominal vs. Structural Dependent typing Duck typing Latent typing Linear typing Uniqueness typing …   Wikipedia

  • Curry–Howard correspondence — A proof written as a functional program: the proof of commutativity of addition on natural numbers in the proof assistant Coq. nat ind stands for mathematical induction, eq ind for substitution of equals and f equal for taking the same function… …   Wikipedia

  • Computersicherheit — Als Informationssicherheit bezeichnet man Eigenschaften von informationsverarbeitenden und lagernden Systemen, welche die Vertraulichkeit, Verfügbarkeit und Integrität sicherstellen. Informationssicherheit dient dem Schutz vor Gefahren bzw.… …   Deutsch Wikipedia

  • Datensicherheit — Als Informationssicherheit bezeichnet man Eigenschaften von informationsverarbeitenden und lagernden Systemen, welche die Vertraulichkeit, Verfügbarkeit und Integrität sicherstellen. Informationssicherheit dient dem Schutz vor Gefahren bzw.… …   Deutsch Wikipedia

  • EDV-Sicherheit — Als Informationssicherheit bezeichnet man Eigenschaften von informationsverarbeitenden und lagernden Systemen, welche die Vertraulichkeit, Verfügbarkeit und Integrität sicherstellen. Informationssicherheit dient dem Schutz vor Gefahren bzw.… …   Deutsch Wikipedia

  • IT-Security — Als Informationssicherheit bezeichnet man Eigenschaften von informationsverarbeitenden und lagernden Systemen, welche die Vertraulichkeit, Verfügbarkeit und Integrität sicherstellen. Informationssicherheit dient dem Schutz vor Gefahren bzw.… …   Deutsch Wikipedia

  • IT-Sicherheit — Als Informationssicherheit bezeichnet man Eigenschaften von informationsverarbeitenden und lagernden Systemen, welche die Vertraulichkeit, Verfügbarkeit und Integrität sicherstellen. Informationssicherheit dient dem Schutz vor Gefahren bzw.… …   Deutsch Wikipedia

  • Technischer Datenschutz — Als Informationssicherheit bezeichnet man Eigenschaften von informationsverarbeitenden und lagernden Systemen, welche die Vertraulichkeit, Verfügbarkeit und Integrität sicherstellen. Informationssicherheit dient dem Schutz vor Gefahren bzw.… …   Deutsch Wikipedia

  • Sicherheitstests — werden in der Softwareindustrie eingesetzt, um die Sicherheit eines Computerprogramms zu testen. Sie stellen eine der zahlreichen Möglichkeiten zur Erhöhung der Sicherheit einer Software dar. Sicherheitstests werden in der Entwicklungsphase… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”