26.11.2012 Aufrufe

Jahresbericht informatik 2009 - KIT – Fakultät für Informatik

Jahresbericht informatik 2009 - KIT – Fakultät für Informatik

Jahresbericht informatik 2009 - KIT – Fakultät für Informatik

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Institut <strong>für</strong> Programmstrukturen und Datenorganisation<br />

Compilerbaupraktikum, Programmiersprachliche Anwendungen von Maschinenbeweisern<br />

und Semantik von Programmiersprachen. Geplant sind Veranstaltungen zur Software-<br />

Sicherheit, zur funktionalen und logischen Programmierung sowie Veranstaltungen in<br />

Kooperation mit den anderen Lehrstühlen des Instituts und mit dem Institut <strong>für</strong> theoretische<br />

<strong>Informatik</strong>. Im neuen Bachelor-Studiengang <strong>Informatik</strong> übernimmt der Lehrstuhl die<br />

Veranstaltung "Programmieren" und beteiligt sich federführend an "Praxis der<br />

Softwareentwicklung".<br />

Der Lehrstuhlinhaber ist als Vorsitzender des Beirates der Universitätsprofessoren der<br />

Gesellschaft <strong>für</strong> <strong>Informatik</strong> (GIBU) auch wissenschaftspolitisch aktiv; als Sologitarrist<br />

unterstützt er das neue <strong>Fakultät</strong>srockprojekt "MetalMint".<br />

Informationsflusskontrolle mit Programmabhängigkeitsgraphen<br />

(D. Giffhorn, J. Graf)<br />

Software kommt meistens schon als ausführbares Programm auf die Rechner. Auf welche<br />

Daten es Zugriff bekommt, hängt von den Rechten des Benutzers ab. Was ein Programm<br />

aber mit allen zugreifbaren Daten anstellt, bleibt meist im Verborgenen. Dieser Umstand<br />

wird regelmäßig von Trojanern und anderer bösartiger Software ausgenutzt, die sich als<br />

harmloses Tool tarnen, um heimlich den Benutzer auszuspionieren. Aber auch in normalen<br />

Programmen finden sich Fehler, durch die vertrauliche Daten nach außen gelangen<br />

können.<br />

Informationsflusskontrolle analysiert Programme und stellt fest, ob vertrauliche Daten<br />

ausgespäht oder manipuliert werden können. Dazu wird das Programm in verschiedene<br />

Sicherheitsstufen, z.B. geheim und öffentlich, eingeteilt und untersucht, ob diese sich<br />

beeinflussen können. Bisherige Verfahren sind dabei aber viel zu restriktiv, so dass auch<br />

sehr viele harmlose, realistische Programme als unsicher eingestuft werden. Hinzu kommt,<br />

dass sie sich meist nicht auf existierende Programmiersprachen übertragen lassen. Mit<br />

Hilfe von sog. Programmabhängigkeitsgraphen gelingt es unserem Lehrstuhl, die<br />

Analysegenauigkeit drastisch zu erhöhen.<br />

Unsere Analyse vollzieht sich in mehreren Phasen: Als erstes wird das Programm analysiert<br />

und daraus der Programmabhängigkeitsgraph erzeugt, der dann unabhängig von der<br />

Programmiersprache weiter verarbeitet werden kann. Von der Genauigkeit dieser Analyse<br />

hängt die Präzision des ganzen Verfahrens entscheidend ab. Deswegen wurden am<br />

Lehrstuhl neue Verfahren entwickelt, die moderne und weit verbreitete Sprachen wie Java<br />

oder C detailliert modellieren.<br />

Im zweiten Schritt ist der erzeugte Graph selbst Gegenstand der Analyse: Slicing-<br />

Verfahren traversieren ihn und bestimmen automatisch, welche Teile des Programms eine<br />

bestimmte Stelle im Programm beeinflussen können. Als Anwendung kann man damit<br />

bspw. in einem weiteren Schritt bestimmen, ob geheime Informationen an dubiose Kanäle<br />

im Internet verschickt werden könnten. Werden keine solchen illegalen Beeinflussungen<br />

entdeckt, ist das Programm garantiert sicher. Auch hier gilt es, diese Verfahren gleichzeitig<br />

präzise und effizient zu gestalten.<br />

77<br />

3

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!