Die Nutzung von elektronischen Kalendern zur Planung und Verwaltung spielt eine enorme Rolle für viele Privatleute und in vielen Unternehmen.
Firmeninterne und -übergreifende Geschäfte nutzen die vielen Möglichkeiten von Kalender (Groupware) Applikationen. Mithilfe des iCalendar Standards existiert ein interoperabler Standard zum Austausch von Kalenderinformationen.
Die neue Campus-Software ,,Dualis'' der Dualen Hochschule Baden-Württemberg stellt den Studenten einen elektronischen Vorlesungsplan zur Verfügung. Eine Schnittstelle zur Anbindung an gängige Kalenderlösungen wird jedoch nicht bereitgestellt.
Das Ziel dieses Projektes ist es, einen Adapter bereitzustellen, mithilfe dessen der ,,Stundenplan'' aus dem ,,Dualis'' System der Dualen Hochschule Baden-Württemberg in eine iCalendar-kompatible Anwendung importiert werden kann.
Dualis ist das interne Verwaltungssystem der DHBW. Es basiert auf der Software ,,CampusNet'' der Firma Datenlotsen Informationssysteme GmbH, Hamburg.Unter dem Namen ,,BAsys Neu'' wurde Dualis als Ablösung des alten ,,BAsys''-Verwaltungssystem entwickelt. Die Endung ,,-is'' steht für Informationssystem ( Pressemeldung ).
Studierende können über den Dualis Web-Client ihre Noten, eine Leistungsübersicht über das gesamte Studium und ihren aktuellen Stundenplan einsehen.
iCalendar ist ein Internet Standard (RFC 5545) um Kalenderinformationen auszutauschen. Dazu gibt es verschiedene Klassen wie Event, To-Do oder Free/Busy-Information. Im Rahmen dieses Projekts werden nur Events genutzt.
iCalendar Daten besitzen den MIME Content-Type {text/calender . Die Daten sind in einem einfachen, ASCII Key-Value Format aufgebaut.
Grundsätzlich bestehen iCalendar Daten aus folgendem Block
Eine Event-Component ist wie folgt aufgebaut, wobei noch weitere optionale Felder möglich sind:
Wie zu sehen ist bestehen besondere Vorgaben für Zeit- und Textformatierung.
Zeiten können in der UTC-Zone im Format YYYYMMDDTHHmmssZ dargestellt werden. T ist ein Trenner zwischen Datum und Zeit, Z zeigt an, dass es sich um einen UTC-Timestamp handelt (RFC5545 Sec. 3.3.5).
Text wird grundsätzlich als ASCII-Test dargestellt. Es bestehen jedoch Fluchtzeichen für nicht-ASCII Zeichen und Satz- und Kontrollzeichen ()RFC5545 Sec. 3.3.11).
Dem Anschein nach ist der Dualis Web-Client mithilfe der Software Oracle Application Express (APEX) entwickelt. Das erzeugte Markup ist schlecht maschienenverarbeitbar, vermutlich weil es auf die Anzeige gegenüber einem menschlichen Benutzer ausgerichtet ist.
Eine Web-API von Dualis gibt anscheinend nicht. Demzufolge müssen die Webseiten relativ umständlich analysiert werden, um an die benötigten Informationen zu gelangen. Diesen Vorgang nennt man Web-Scraping (engl. ,,kratzen'').
Dadurch wird die Schnittstelle anfälliger für kleinere Änderungen an dem Dualis Web-Client. Schon das Ändern der Beschriftung eines bestimmten Links kann die Funktion beeinträchtigen.
Für einen zuverlässigen Betrieb ist es daher unbedingt nötig, dass von Seiten des Dualis System eine stabile Schnittstelle mit einem zum Informationsaustausch geeigneten Format (zum Beispiel eine XML-Schnitstelle) angeboten wird. Oder einfach direkt iCalendar Format.
Zum ,,kratzen'' der Informationen aus dem HTML-Dickicht der Dualis Website wird die Java-Bibliothek htmlunit Verwendet. Deren eigentlicher Zweck ist das automatisierte Headless Testen von Websites. Dazu ist sie in der Lage einen Web-Browser inklusive JavaScript und CSS weitgehend zu emulieren.
Dies sind optimale Ausgangsbedingungen um eine schwer zugängliche Seite wie Dualis einfach auszuwerten.
Ein vereinfachtes Code-Beispiel verdeutlicht die Arbeit mit htmlunit:
Die gängige Methode zum Austausch von iCalendar Daten sind entweder lokale Files oder der entfernte Zugriff über HTTP.
Mit diesem Projekt wird der Zugriff über HTTP ermöglicht. Dabei entfällt zusätzlich der Bedarf eine Benutzerkonfiguration zu pflegen, da der Benutzer über HTTP Basic Authentication (nach RFC 1945 Sec. 11.1) vom Client abgefragt wird.
Hierzu wurde ein Java-Servlet erstellt welches die Authentifizerung und Steuerung der Dualis Abfrage übernimmt.
Bei der Ansteurerung der Schnittstelle über einfache HTTP-Software ist zu beachten, dass das @ im benutzername mit %40 zu escapen ist.
Zusätzlich zur ICS-Schnittstelle existiert eine Schnittstelle für den Webbrowser. Sie ist mit dem Framework vaadin ( vaadin.com ) umgesetzt und bietet die Funktionalität den Login durch eine Anmeldung zu testen sowie den ,,Stundenplan'' in einer Tabelle zu Betrachten.
Wie alle Systeme die Authentifizierungs und Benutzerdaten verarbeiten ist dieses hinsichtlich der Vertrauenswürdigkeit zu untersuchen.
Hinsichtlich der Authentifizierungsinformationen die der Benutzer DHBW Calendar übergibt sind mehrere Angriffspunkte auszumachen.
Problempunkt | Analyse |
---|---|
Auf dem PC des Benutzers | Für die Sicherheit auf seinem Zugriffsgerät ist jeder Benutzer selbst verantwortlich. |
Die Netzwerkverbindung zum DHBW Calendar | Die Netzwerkverbindung zum DHBW Calender sollte entweder als direkte Lokale Kommunikation ablaufen (der DHBW Calender arbeitet lokal) oder eine sichere Verbindung (HTTPS) verwenden. |
Die Verarbeitung im DHBW Calendar | Die Verarbeitung im DHBW Calender speichert die verarbeiteten Daten vorübergehend im Arbeitsspeicher des darunterliegenden System. |
Die Netzwerkverbindung zu Dualis | ist verschlüsselt (HTTPS) %%TODO check was bei unügliten cets passiert |
Die Verarbeitung in Dualis | Über die Verarbeitung innerhalb von Dualis existieren keine Informationen. |
ggf. weitere Verbindungen von Dualis (AD o.ä.) | Über mögliche Kommunikationen von Dualis mit Drittsystem bestehen keine Informationen. |
Durch die quelloffenheit des DHBW Calendar ist die Verarbeitung der Daten transparent. Daher entstehen dem Anwender durch die Verwendung des DHBW Calender keine weiteren Sicherheitsrisiken.
Die Entwicklung des DHBW Calendar ermöglicht den Studenten in bezug auf die Organisierung ihres Studentalltags eine neue Dimension von Integration und Komfort.
Die Unzulänglichkeit des ,,Dualis'' Backend wurde durch die Verwendung einer High-Level Schnittstelle begegnet. Anstatt regulärer Ausdrücke ( DHBW Connector ) werden die Eingabeelemente angesprochen welche der Benutzer auch sehen würde.
Die Veröffentlichung als Open-Source Projekt unter AGPL stellt das Vertrauen der Studenten sowohl in Hinsicht auf ihre eigene Sicherheit, als auch der Zuverlässigkeit hinsichtlich möglicherweise zukünftig nötiger Anspassungen sicher.