..

CASED wird gefördert durch

Landes-Ofensive Entwicklung Wissenschaftlich-ökonomischer Exzellenz

Software und Downloads

  • TamiFlex - Reflection in den Griff bekommen

    Statische Programmanalysen für Java sehen sich mit vielen Problemen konfrontiert, wenn das zu analysierende Programm dynamische Features benutzt, wie etwa handgeschriebene Class Loaders oder Reflection: Wie kann die statische Analyse herausfinden, welche Methoden das Programm über Reflection aufruft? Wie kann die Analyse Zugang bekommen zu Klassen, die das Programm über handgeschriebene Class Loaders lädt oder gar dynamisch generiert? Und wenn man die statischen Analyseergebnisse benutzt, um die Klassen des Programms zu transformieren, wie kann man dann die transformierten Klassen zurückspielen in ein Programm, das handgeschriebene Class Loaders benutzt?

    TamiFlex ist ein Werkzeug, um Reflection in den Griff zu bekommen. TamiFlex besteht aus zwei neuen Java instrumentation agents. Der Play-out Agent schreibt eine Log-Datei auf Festplatte, die Einträge zu allen reflektiven Aufrufen enthält, die das Programm ausführt.

    Ausserdem schreibt der Agent alle geladenen Klassen auf die Festplatte, inklusive solcher Klassen, die erst zur Laufzeit generiert werden. Der Play-In Agent fügt statisch transformierte Klassen wieder in das laufende Programm ein. Auf der TamiFlex Web-Seite zeigen wir wie Forscher TamiFlex in Kombination mit dem Soot Framework für Programmanalyse benutzen können, um einen korrekten Call Graph und Points-to Sets für Programme zu berechnen, die Reflection, handgeschriebene Class Loaders und dynamisch generierte Klassen benutzen.
    Tamiflex webpages

  • Clara - ein framework für die Implementation von Hybriden Typestate-Analysen

    Clara (CompiLe-time Approximation of Runtime Analyses) ist ein neuartiges Rahmenwerk für die Implementierung von Hybriden Typestate Analysen. Clara nutzt statische Programmanalysen, um Laufzeitmonitore für reguläre Sprachen ("Typestate properties") partiell statisch auszuwerten.

    Solche Typestate Properties, erlauben es Programmierern, mit Hilfe von verschiedenen Eingabesprachen wie zum Beispiel regulären Ausdrücken, Linear Temporal Logic, usw. Eigenschaften über den aktuellen Zustand eines oder mehrerer Objekte auszudrücken:

    Eigenschaften über den so genannten Typestate. Diese Eigenschaften können Safety-Eigenschaften sein, zum Beispiel, dass ein Programm nicht in ein geschlossenes Dateihandle schreiben sollte. Jedoch sind ebenso gut Security-Eigenschaften ausdrückbar, zum Beispiel die Eigenschaft, dass ein Nutzer nicht Zugriff auf eine Resource erlangen sollte, für die er nicht authentifiziert wurde.

    Clara verfolgt einen hybriden Ansatz, der Typestate Properties durch eine Kombination von Compile-Zeit und Laufzeit-Techniken verifiziert: Zunächst versucht eine statische Analyse zu beweisen, dass das zu testende Programm die Typestate Eigenschaft auf keinem Ausführungspfad verletzen kann.

    In Fällen, in denen dieser komplette Beweis fehlschlägt, instrumentiert Clara das Programm mit Laufzeitchecks, die die Eigenschaft zur Laufzeit überprüfen. Clara benutzt jedoch die Ergebnisse der statischen Analyse, um die Checks nur in genau die Programmteile einzufügen, für die nicht bewiesen werden konnte, dass sie die Eigenschaft nicht verletzen.

    Programmierer können das so instrumentierte Programm dann testen, um herauszufinden, ob die Eigenschaft tatsächlich verletzt werden kann. Wenn der Laufzeitmonitor eine Verletzung der Eigenschaft feststellt, kann er darauf reagieren. Zum Beispiel kann der Monitor den Zugriff auf die Ressource verweigern, auf die der nicht authentifizierte Nutzer zuzugreifen versuchte. In diesem Sinne kann Clara sogar zur modularen Implementierung effizienter Mechanismen für die Zugriffskontrolle benutzt werden.

    Clara webpages

  • Flexiprovider

    Das Projekt "FlexiProvider" bietet leistungsstarke Werkzeuge für die Java Cryptography Architecture (JCA/JCE). In Form einer Bibliothek kryptographischer Module ermöglicht es eine schnelle und sichere Implementierung kryptographischer Algorithmen in Programme, die auf JCA aufbauen.

    Die Anwendung ist einfach und auch für Entwickler mit wenig Hintergrundwissen im Bereich Kryptographie geeignet. Der FlexiProvider ist eine Entwicklung der Arbeitsgruppe für Theoretische Informatik, geleitet von Prof. Dr. Johannes Buchmann am Fachbereich Informatik der Technischen Universität Darmstadt.

    Mehr Informationen und einen Link zum Download des FlexiProviders finden Sie auf den Internetseiten des FlexiProviders.
  • ArchiSoft

    Gesetzliche Archivierungsauflagen, die zum Beispiel für Banken, im Gesundheitswesen oder in Behörden gelten, müssen auch für elektronische Dokumente erfüllt werden. Dies ist eine Grundvoraussetzung für einen langfristigen, (rechts)sicheren Umgang mit elektronischen Dokumenten.

    Um den Beweiswert digitaler Signaturen zu erhalten, haben Forschern des Fraunhofer SIT das Softwareprodukt ArchiSoft entwickelt. Aber auch für unsignierte Dokumente ist der Einsatz von ArchiSoft sinnvoll. Hier trägt die Software ohne zusätzliche (und meist teure) Spezialhardware zur Revisionssicherheit bei. Durch die Integration in einen Mailserver sind auch revisionssichere Mailarchive mit wenig Aufwand umsetzbar.

    Mehr Informationen und Zugang zum Online-Shop finden Sie auf den Internetseiten des Fraunhofer SIT über ArchiSoft.
  • MobileSitter

    Um Nutzer vor dem Vergessen von Geheimnissen zu bewahren und Zugangsdaten zu schützen, haben Entwickler am Fraunhofer-Institut SIT eine Software für das Handy entwickelt, die Geheimnisse angriffssicher verschlüsselt und die Zugangsinformationen jederzeit zur Verfügung stellt.

    Mit dem MobileSitter lassen sich Geheimkombinationen wie Passwörter, PINs und TANs sicher auf mobilen Endgeräten (z.B. Mobiltelefonen) verwalten. Somit hat man als Benutzer seine Geheimkombinationen immer und überall verfügbar, egal ob man am Computer im Büro oder zu Hause sitzt oder auch zum Bezahlen an der Kasse steht.
    Mehr Informationen finden Sie auf den Internetseiten des MobileSitters.

  • Digitale Wasserzeichen

    Heutzutage werden die meisten Medien digital verarbeitet. Daher lassen sich Mediendaten mit moderner Multimedia-Software sehr leicht verändern – und manipulieren. Die Media-Security-Group am Fraunhofer SIT beschäftigt sich deshalb mit den verschiedensten Technologien zum Schutz digitaler Mediendaten, ihr Fokus liegt auf digitalen Wasserzeichen.

    Diese können helfen, die Integrität der Daten zu gewährleisten, Urheberrechte zu schützen oder die Authentizität des Medium nachzuweisen. Weitere Anwendungszwecke digitaler Wasserzeichen sind die Einbettung von Zusatzinformationen oder die partielle Verschlüsselung, z. B. für Previews.

    Interessierte Unternehmen und Agenturen finden auf den Seiten der Media-Security-Group weitere Informationen und Kontaktdaten der Ansprechpartner für Lizenzverträge.

Imagebroschüre

PDF-Download (2 MB)