SciLogs International .eu.be.es.de
scilogs Bierologie spektrum.de

aktuelle Artikel RSS

Archäologie der ... Betriebssysteme?

Philipp Bayer | 04. Juli 2011, 09:08

ResearchBlogging.org

In "Computerzeit" ist alles, was vor mehr als 20 Jahren geschah, früheste Vorzeit. Systeme ändern sich rasant, neue Betriebssysteme erscheinen und was vor 5 Jahren funktionierte lässt sich heute nur mit viel Arbeit zum Laufen bewegen. Gleiches gilt für UNIX, dass Betriebssystem auf dem Linux, Mac OS und alle BSD-Varianten basieren - die erste UNIX-Version erschien 1969, in "Computerzeit" also ungefähr zeitgleich mit der Bibel.

Bei Erscheinen war Bell Labs' UNIX revolutionär, mit bahnbrechenden Neuigkeiten wie Multitasking (wobei UNIX da nicht das erste Betriebssystem war), oder Plattformunabhängigkeit (dank C anstatt Assembler). Es gibt heutzutage viele Menschen, die alte UNIX-Systeme sammeln und halbwegs in Stand halten, allerdings nur wenige, die das auf Software-Ebene tun - ein Paper, dass aus diesen Bemühungen entstand möchte ich heute vorstellen.

Dabei handelt es sich um "The restoration of early UNIX artifacts" von Dr. Warren Toomey (zufälligerweise ein Professor von mir), erschienen 2009, Link mit kostenloser PDF hier. Vor der Veröffentlichung gab es keine überlebende Dateien aus der Zeit vor der 4. Edition, nur die UNIX-Anleitungen der 4. Edition sind heute noch in Menschenhand. Quellcode und Binärdateien sind ab der 5. Edition erhalten, dafür scheint die Anleitung der 5. Edition verloren gegangen zu sein. Wie ändert man das? Indem man sich alten Kram anguckt, und hofft etwas von Wert zu finden!

In diesem Fall haben einige Mitglieder der TUHS (The Unix Heritage Society) ein uraltes DECtape-Laufwerk gefunden und zum Laufen gebracht, zusammen mit einigen DECtapes die "unter dem Boden im Computerraum" in den Bell Labs gefunden wurden. DECtapes sehen so aus:

DECtape 1 und 2

Links unten: ein DECtape, rechts unten: ein DECtape 2. Quelle: Wikimedia, User ArnoldReinhold, Lizenz: CC-BY-SA

Für mich interessant, da DECtapes schon ausgestorben waren, als ich geboren wurde.

Was war auf den Tapes? Ein Tape war beschriftet mit "nsys", und dank Fortuna handelte es sich um die früheste, direkt funktionierende UNIX-Version die heute noch erhalten ist! Das System auf dem Tape stammt aus dem August 1973, also kurz vor der Veröffentlichung der 4. Edition. Bekommt man sowas zum Laufen? Wenn man einen Linux-Nerd dransetzt, auf jeden Fall!

Mit manuellem Gefrickel (z.B. wurden in der 5. Edition Substrukturen von geschweiften Klammern eingeschlossen, während es beim nsys-System Anführungsstriche waren) und einem Compiler aus der 5. UNIX-Edition konnte das System dann auch zum Laufen gebracht werden. Das ist so, als hätte man in Opas Garage ein Ufo gefunden, dass sich nach ein wenig Schrauberei als tadellos funktionierender Opel Admiral entpuppt.

Admiral!

Ein ebensolcher. Quelle: Wikimedia, User Gryffindor, Lizenz: Public Domain

Andere Tapes hatten andere Schätze: auf dem Tape mit der Aufschrift "s2" befanden sich (nach viel Arbeit, interessierte sollten selbst nachlesen - das würde hier den Rahmen sprengen) Programmdateien der 1. und 2. Edition, also von ca. 1972! Darunter so Klassiker wie ls, dass für Dateien noch auflistete ob sie "groß" oder "klein" waren - damals war "groß" alles über 4Kilobytes...

Der wahre Knüller aber befand sich auf einigen Papieren, die der TUHS 2006 in die Hände fielen - ausgedruckter Assemblercode für die 1. UNIX-Edition, von 1972! Was macht man damit? Natürlich mittels Texterfassung einscannen und versuchen, das Ding zur Arbeit zu bewegen. Was bei Assemblercode recht schwer zu bewerkstelligen ist, da der Code spezifisch für den jeweiligen Prozessor geschrieben wurde und deshalb nur auf wenigen Maschinen läuft, die es heutzutage kaum noch gibt. Zur Lösung des Problems wurde ein Emulator, der für neuere UNIX-Editionen zuständig ist, solange umgeschrieben bis die 1. Edition vollständig funktionierte! Es gibt also nach fast 40 Jahren wieder eine funktionierende 1. UNIX-Edition.

"Warum macht man sowas?", mag sich der geneigte Leser fragen. Warum haben manche Menschen den Keller voller Modelleisenbahnen? Warum sammeln manche Menschen alte Autos und bringen sie wieder auf Vordermann? Erstens, weil's Spaß macht - und zweitens, weil man auf diesem Weg so viel wie möglich über die heutigen Systeme lernen kann. Denn nur, wenn man weiß wo etwas herkommt, kann man wissen warum es heute so ist, wie es ist.

Warren Toomey (2009). The restoration of early UNIX artifacts USENIX annual technical conference

Geschrieben in Informatik | 3 Kommentare | 0 Trackbacks | Permalink


Die OpenData-Challenge

Bastian Greshake | 11. April 2011, 10:45

Momentan ist es hier nicht nur so ruhig, weil Philipp und ich faul in der Sonne liegen (oder weil wir gerade in der Uni beschäftigt sind). Denn aktuell programmieren wir beide zusammen an einem kleinen Projekt, welches wir vermutlich auch für die Open Data Challenge einreichen werden. Die Aktion wird von der Open Knowledge Foundation, der Openforum Academy und der Share PSI-Initiative veranstaltet und nebenbei hat man unter anderem auch Google und Microsoft als Sponsoren gewinnen können.

Ziel der Aktion ist es, öffentliche Daten zu verarbeiten und daraus nützliche, lehrreiche und spannende Anwendungen zu erstellen. Dabei sind Preise für gute Ideen, fertige Anwendungen, Visualisierungen und auch für das Bereitstellen von neuen Datensätzen ausgeschrieben. Falls ihr also eine clevere Idee habt, was man mit öffentlichen Daten anstellen kann: Traut euch. Philipp und ich haben uns mal die statistischen Daten der EU vorgenommen und schauen gerade, was man daraus spannendes basteln kann. Da gibt es nämlich bereits ziemlich viele Statistiken, die vom Bereich Wirtschaft über Bildung und Gesundheit bis zu Treibhausgas-Emissionen und Artenvielfalt/Naturschutz reichen.

Gerade die letzten beiden Statistiken wollen Philipp und ich uns dabei mal genauer anschauen. Nicht nur, weil das 2 Themenkomplexe sind, die miteinander zusammenhängen sondern auch, weil man mit einer guten Aufbereitung der Daten vielleicht auch für Laien ein besseres Verständnis der Problematik herstellen kann.

Und wo wir gerade bei der Bereitstellung von Daten waren: Auch wenn der DNA-Day erst am 15. April sein sollte, die Personal Genomics-Firma 23andme feiert heute schon. Und aus dem Anlass hat sie ihre Test-Kits reduziert. Dabei spart man sich die 199 US $ die sonst anfallen, wenn man sich durch sie genotypisieren lassen möchte. Durch den Versand nach Deutschland, und ihre obligatorische Service-Verpflichtung für ein Jahr, bleiben dabei unter dem Strich immer noch Kosten in Höhe von 170.95 US $ übrig. Wer aber Interesse daran hat, sich typisieren zu lassen, der kann sich das Angebot ja mal anschauen.

Mit Hilfe eines DNA-Chips testet 23andme auf eine Million verschiedener Single Nucleotide Polymorphisms (SNPs). Von diesen SNPs sind manche mit Krankheiten assoziiert, andere mit Resistenzen gegen Krankheiten, aber auch nutzlose Dinge wie die Konsistenz des Ohrenschmalzes kann man dadurch ablesen. Außerdem kann man anhand der Marker auf dem Y-Chromosom und in den Mitochondrien einen Eindruck über die genetische Abstammungsgeschichte väterlicher bzw. mütterlicherseits bekommen.

Insgesamt ist das ein recht kleiner Datensatz, wenn man das Gesamtgenom als Referenz nimmt, aber ich finde das ist schon ein ziemlich spannender Ansatz, um zumindest einen ersten Einblick zu bekommen. Und komplette Genom-Seqenzierungen sind halt immer noch nicht so leicht bezahlbar. Ich hab deshalb heute zugeschlagen und werde mal schauen, was man mit den Genotypisierungsdaten so lustiges anstellen kann. Dazu wird es dann aber auch sicher hier noch einen ausführlichen Blogpost geben, wenn es so weit ist. Wer mehr über das Thema Personal Genomics erfahren will, dem sei noch mal das Buch Here is a Human Being ans Herz gelegt, über das ich bereits gebloggt habe.

Aber wie schaut das bei euch aus? Habt ihr Interesse an Open Data-Projekten? Und fändet ihr es spannend euch genotypisieren zu lassen?

Flattr this

Geschrieben in Biologie , Informatik | 4 Kommentare | 0 Trackbacks | Permalink


Professoren in sozialen Netzwerken

Bastian Greshake | 29. März 2011, 11:35

Nachdem wir uns jetzt mit den Vorzügen von elektronischen Patientendaten und den Möglichkeiten des Data-Minings ein bisschen beschäftigt haben, bin ich gestern über eine Veröffentlichung gestolpert, in der es um die Vorteile von sozialen Netzwerken geht. Genauer: Wieso man dort vielleicht persönliche Dinge preisgeben sollte, bzw. wieso es eine gute Sache sein kann, wenn man seine Daten in sozialen Netzwerken veröffentlicht. Dazu hat sich Kirsten Johnson angeschaut, in wie weit Postings bei Twitter die, von den Studenten wahrgenommene, Glaubwürdigkeit von Lehrpersonen beeinflusst.

Frühere Studien haben bereits gezeigt, dass es der Beziehung zwischen Schülern und den Lehrpersonen förderlich ist, wenn letztere sich offenbaren und persönliche Informationen mit ihren Schülern teilen. Und dadurch steigt dann auch die Glaubwürdigkeit der Lehrpersonen. Theoretisch kann man also davon ausgehen, dass sich ähnliche Effekte auch zeigen, wenn solche persönlichen Details über soziale Netzwerke ausgetauscht werden. Frühere Studien haben bereits gezeigt, dass Lehrpersonen die Facebook nutzen, und dort Details über sich preisgeben, ihre Schüler damit besser motivieren und für eine bessere Lernatmosphäre sorgen.

In ihrer Studie hat Johnson untersucht, in wie weit es für die Glaubwürdigkeit einen Unterschied macht, ob Professoren persönliche oder wissenschaftliche Informationen über soziale Netzwerke geteilt werden. Dazu hat sie sie 3 verschiedene Profile bei Twitter angelegt. Während ein Profil nur mit persönlichen Tweets befüllt war, war ein zweites nur mit wissenschaftlichen Informationen befüllt. Das dritte Profil enthielt eine Mischung aus beidem. Um andere Faktoren, neben dem Inhalt der Tweets, auszuschliessen, wurden die restlichen Parameter so gut es geht standardisiert: Der Name der fiktiven Professorin, die Anzahl der Tweets, die Anzahl der Fotos und die Anzahl der Links wurde im Vorfeld festgelegt.

Insgesamt 120 Studenten aus verschiedenen Fachbereichen wurden dann gleichmässig auf die 3 verschiedenen Profile aufgeteilt und sollten diese, mit Hilfe eines – ebenfalls standardisierten – Fragebogens, evaluieren. Und um es kurz zu machen: Die Versuchspersonen, die das persönliche Profil zu sehen bekamen, bewerteten die Glaubwürdigkeit der Professorin höher, als jene Personen, die eines der beiden anderen Profile zu Gesicht bekamen. Erstaunlicherweise gab es keinen signifikanten Unterschied für das Profil, welches sowohl mit wissenschaftlichen als auch persönlichen Informationen gefüllt war. Johnson vermutet, dass dies daran liegt, dass vor allem Fürsorge und weniger Kompetenz für die Glaubwürdigkeit ausschlaggebend sind. Auch wenn ich die Ergebnisse nicht sonderlich überraschend finde, dann zeigen sie aber, dass die herrschende Meinung – das es seinem Job schadet, wenn man Daten von sich preis gibt – so pauschal nicht richtig ist.

Gerade in den Wissenschaften scheint es, zumindest meiner Erfahrung nach, ein Problem zu sein: Es gibt kaum bloggende Professoren oder aktive Wissenschaftler, die über ihre Arbeit bloggen. Und das ist schade, könnte man damit nicht nur die Öffentlichkeit besser einspannen und auf dem laufenden halten. Sondern auch kollaboratives Arbeiten in einem ganz anderen Maß vorwärtsbringen, als das heute durch Kooperationen möglich ist.

Als Gründe, wieso man davor zurückschreckt, wird – neben fehlender Zeit/Lust/Schreibkunst – häufig genannt, dass man Angst um seine Ergebnisse hat. Ein Umstand an dem publish or perish genauso mit Schuld hat, wie die Tatsache, dass man Ergebnisse meist exklusiv an Journals übertragen muss, eine Erstveröffentlichung im Blog ist ja schlicht nicht möglich.

Der andere, ebenfalls häufig genannte Grund, ist die Angst um den eigenen Ruf, sowohl in der scientific community als aber auch bei den eigenen Studenten. Zumindest dieser Ansage kann man nun ein wenig den Wind aus den Segeln nehmen.

Johnson, K. (2011). The effect of Twitter posts on students' perceptions of instructor credibility Learning, Media and Technology, 36 (1), 21-38 DOI: 10.1080/17439884.2010.534798
Flattr this

Geschrieben in Informatik | 24 Kommentare | 1 Trackbacks | Permalink


Platon und Objektorientierte Programmierung

Philipp Bayer | 28. März 2011, 12:42

Wie nützlich es ist, auch mal über den Tellerrand der eigenen Profession hinauszuschauen, möcht ich heut am Beispiel Platons aufzeigen. Als Informatik-studierender Biologe helf ich wöchentlich anderen Studenten zum Nebenerwerb bei ihrer (Java-)Programmiererei. In einer der letzten Stunden ging mir eine kleine Funzel auf, und zwar ging's um Objektorientierte Programmierung (OOP), und mir fiel auf, wie sehr die Grundidee dem Ideenbegriff Platons ähnelt! Wer über das eine Bescheid weiß, wird sehr schnell das andere verstehen - ein Grund dafür, soviel wie möglich wissen zu wollen!

Der Ideenbegriff bei Platon

Von Platon hörte ich das erste Mal, man glaubt es kaum, beim PC-Klassiker meiner Kindheit: "Indiana Jones and the Fate of Atlantis" - da sag noch einer, Computerspiele bilden nicht! Im Spiel ging es darum, einen verlorenen Dialog Platons wiederzufinden, in dem die genaue Position Atlantis' genannt wird. Indiana Jones-typisch muss man da vor den Nazis ankommen, sonst bekommen die eine Energiequelle in die Hand, mit der sie den zweiten Weltkrieg gewinnen würden (die Story scheint plausibler als beim neusten Teil).

Leider kommt es im Spiel zu keinem Zeitpunkt zu einer Beschreibung der Lehren Platons, sein verlorener Dialog dient nur als MacGuffin-ähnliches Werkzeug, um Indy von Kontinent zu Kontinent zu jagen. Schauen wir uns also die Ideenlehre näher an - es lohnt sich!

Platons Rübe

Quelle: WikiMedia Commons, Benutzer Bibi Saint-Pol

Bei Platon bedeutet "Idee" nicht das, was wir heute darunter verstehen. Bei uns bedeutet Idee Einfall oder etwas ähnliches, während bei Platon Ideen etwas ganz anderes bedeuten. In Platons Philosophie gibt es durch die Sinne kein Wissen, denn die Sinne können täuschen. Von den Gegenständen selbst ist also nur Meinung möglich. Wo kommt dann Wissen her?

Wissen wird ermöglicht durch Einrichtungen, die bei Platon Ideen genannt werden. Jetzt wird's wichtig: Ideen repräsentieren das reine Wesen, sie sind unveränderlich und unvergänglich. Ideen sind sinnlich nicht wahrnehmbar (schonmal die Idee eines Pferdes gesehen?) und existieren unabhängig von konkreten Einzeldingen.

Was bedeutet das genau? Wir haben die Idee eines Pferdes (4 Beine, Mähne, Fell einer oder mehrerer Farben etc.), und Fury draußen auf der Weide stellt ein Einzelding dieser Idee dar: 4 Beine, schwarze Mähne, schwarzes Fell. Fury kann die Idee eines Pferdes nicht beeinflussen, aber die Idee eines Pferdes beeinflusst sehr wohl Fury!

Klassen und Objekte bei OOP

Interessanterweise sind die Grundkonstrukte in der Objektorientierten Programmierung (OOP) sehr ähnlich zur Ideenlehre: Die Konstrukte heißen hier nur anders. In der OOP gibt's Klassen und Objekte, und die Beziehung zwischen beiden ist die gleiche wie in der Ideenlehre: Klassen sind das "reine Wesen", und Objekte sind die wirklichen Vertreter, erstellt an der Schablone der Klasse.

Ein Beispiel aus der Bioinformatik: Sagen wir, wir haben einen Haufen Gene, und von jedem so schöne Informationen wie Länge in Basenpaaren, passender Name aus irgendeiner Datenbank, komplette Nukleotidsequenz usw. Wir können jetzt eine Gen-Klasse definieren, in der wir all diese Informationen vorgeben (in anderen Worten: Alle Gene müssen Länge in Basenpaaren, Name etc. aufweisen). Dann können wir für jedes unserer Gene ein Objekt erschaffen, in welches wir die obengenannten Informationen eintragen. In Java sähe das so aus:


public class Gene
{
	String this.name;
	String this.sequence;
	int this.length;
	
	public Gene(String name, String sequence, int length)
	{
		this.name = name;
		this.sequence = sequence;
		this.length = length;
	}
	.
	.
	.
}

Und ein Beispielobjekt wäre:

Gene ura3 = new Gene("ura3", ">gi|162312575:c1387063-1385368 Schizosaccharomyces pombe 972h- chromosome I, complete sequence
GAAACGGATTG...", 1696);

So wie Fury oben das Einzelding eines Pferdes darstellt, so ist hier ura3 ein Objekt aus der Klasse Gen. Das Objekt ura3 hat seinen eigenen Namen, seine eigene Sequenz, Länge der Sequenz etc., so wie es die Klasse Gen vorschreibt. Man sieht also, Platon's Ideenlehre und OOP sind sich von den Grundkonstrukten sehr nah!

Fazit

"Was raucht der denn?" wird sich jetzt der eine oder andere fragen. Jedoch finde ich den Zusammenhang zwischen OOP und antiker Philosophie herrlich - wer Objektorientierte Programmierung vom Prinzip her nicht kapiert, dem wird vielleicht durch die Ideenlehre geholfen. Auch interessant zu sehen, wie sich Prinzipien in der Geschichte wiederholen. Meinem Studenten, der noch nie was von der Ideenlehre gehört hatte (und sowas ist Familienvater!) hat es sicherlich ganz bestimmt nicht geholfen...



Geschrieben in Informatik | 17 Kommentare | 0 Trackbacks | Permalink


Data-Mining: Ein Angriff auf die Anonymität?

Bastian Greshake | 23. März 2011, 15:48

Nachdem ich in einem der letzten Postings hier die datenschutzkritische Spackeria vorgestellt und auf die Vorteile von elektronischen Daten, besonders in Form von Patientenakten eingegangen bin, möchte ich das gleiche Vorgehen mal aus der anderen Seite beleuchten. Anstatt solche Daten zum Nutzen von Patienten zu verwenden, lassen sich damit nämlich auch andere Dinge anstellen. Über einen potentiellen Verwendungszweck bin ich im ArXiv gestolpert. In diesem Repository findet man nicht nur jede Menge Paper aus der Physik, sondern auch spannende Veröffentlichungen aus anderen Fachbereichen. In diesem Fall: Aus der Informatik.

Der Autor Graham Cormode hat sich mit der Frage beschäftigt wie viele persönliche Daten, die eigentlich geheim gehalten werden sollten, mit Hilfe von größeren Datensätzen von ganzen Populationen, korrekt vorhergesagt werden. Das Prinzip ist dabei ähnlich wie bei dem Facebook-Gaydar, von dem vielleicht der eine oder andere schon mal gehört hat. Dabei haben es ein paar Leute vom MIT geschafft alleine aus der Freundesliste von Facebook-Usern korrekt vorherzusagen ob die betreffenden Benutzer schwul sind oder nicht. Leider habe ich deren Ergebnisse nicht direkt irgendwo finden können, falls jemand das Paper hat, würde ich mich über einen Kommentar dazu freuen.

Aber so unrealistisch wie das vielleicht klingt, ist das gar nicht. Denn wir alle neigen dazu, uns mit Gleichgesinnten zu vernetzen. Gerade in Social Networks sieht man das sehr gut. Und so wurde bei dem Gaydar einfach danach geschaut, wie viele der Freunde ihre Homosexualität bei Facebook eingetragen haben. Sind das mehr als man über den Facebook-Populationsdurchschnitt vermuten würde, dann ist das schon ein ganz guter Indikator. Und genauso könnte man bei meinem Profil aufgrund der vielen Piratenpartei-Mitglieder und der vielen Scienceblogger vermutlich beide Eigenschaften auch über mich vorhersagen. Ganz ohne, dass ich das selbst angegeben hätte.

Wie man ganz gut sehen kann, ist dieses Vorgehen genau das Selbe, welches auch bei den elektronischen Patientenakten verwendet wird. Anstatt aber aus den öffentlichen Daten herauszubekommen, ob ein Patient eine (ihm unbekannte) Krankheit hat, versucht man mit der selben Methode hier Daten vorherzusagen, die der Betroffene kennt, aber eben nicht mitteilen will. Graham Cormode hat genau diesen Ansatz mit 2 Testdatensätzen aus dem UCI Machine Learning repository ausprobiert. Seine mathematischen Modelle möchte ich hier bewusst wieder ausklammern, wer ein größeres Interesse an den Grundlagen solcher Berechnungen hat, der wird im Paper selbst fündig.

Die Genauigkeit von Cormodes Methode variiert dabei noch stark, allerdings schafft sie es nach seinen Berichten in manchen Bereichen bis zu einer 85%igen Genauigkeit und er selbst geht darauf ein, dass dies zu einem Problem werden kann, wenn man diese Art von „Angriff“ auf die Privatsphäre starten will:

For such probabilistic attacks, we must therefore decide what level of belief we can tolerate. This is naturally a function of the sensitivity of the information being inferred, and the way in which it is being used. For example, a blackmailer threatening to reveal a target’s true sexuality to their family can perhaps tolerate making a few false accusations before finding a victim, while a law enforcement organization might require a much higher degree of suspicion before being granted a warrant to investigate further.
Man sieht aber hier bereits, dass solche Methoden eben nicht nur zum Patientenwohl genutzt werden können. Spannend ist dabei, dass man damit sogar falsche Angaben von einzelnen Personen mit einer recht genauen Wahrscheinlichkeit nachvollziehen kann, wenn man davon ausgeht, dass solche Falschangaben in der Gesamtpopulation nur selten vorkommen. Aber was macht man nun, mit diesem Wissen um Data-Mining, wenn wir zurück zum Beispiel von Facebook zurück gehen? NineBerry bringt in seinem Blog den Begriff des „Zwangsläufigoutings“ ins Spiel, der sich meiner Meinung nach auch auf diese Fragestellung übertragen lässt: Sobald man in sozialen Netzwerken aktiv ist, dann hilft es vermutlich nicht einmal, dass man keine oder falsche Daten einspeist, um seine Privatsphäre zu schützen. Bereits aus wenigen Informationen die angegeben sind, sowie den Freundschaftsbeziehungen die ein Nutzer hat, kann man recht gute Voraussagen dazu treffen, welche anderen Angaben wohl auf ihn treffen (Wieso muss ich dabei nur an Monty Python denken? „Ihr seid doch alle Individuen!“).

Aber was kann man dagegen unternehmen bzw. kann man das Rad überhaupt zurück drehen? Keine Freundschaften mehr über soziale Netzwerke pflegen? Nicht nur alleine falsche Daten angeben, sondern auch andere davon überzeugen, dass es sinnvoll ist Nonsense einzutragen? Ich bin da skeptisch, dass so etwas funktionieren kann. Aber vielleicht seht ihr das ja anders.

Flattr this

Geschrieben in Informatik | 4 Kommentare | 0 Trackbacks | Permalink


Der Nutzen elektronischer Patientenakten

Bastian Greshake | 18. März 2011, 16:08

Die Angst hat einige Teile der Bevölkerung fest im Griff. Jodtabletten und Geigerzähler sind, aus Angst vor dem nuklearen Fallout, ausverkauft. Und es ist erst gut ein halbes Jahr her, dass selbsternannte Datenschützer ihrer Angst Luft gemacht haben. Im Sommer wurde Google Street View als die ultimative Bedrohung für die Privatsphäre angesehen. Etwa zur gleichen Zeit kündigt die Verbraucherschutzministerin Ilse Aigner in einem offenen Brief grossspurig an, ihren Account bei Facebook zu löschen, sollten sich der Datenschutz dort nicht verbessern. Und aktuell wird versucht mit dem digitalen Radiergummi, und damit dem Zwang zum Vergessen, die zeitgemäße Variante des Ministry of Truth zu installieren. Als Begründung für diese Ängste wird dann gern die Geschichte, also die Nazi-Keule, für Freunde jüngerer Geschichte auch die Stasi-Keule, ausgepackt.

Ob die Nazis, die Stasi oder doch die Résistance sich über Google Street View oder Facebook gefreut hätten? Wer weiß. Gegen das traditionelle Mantra des Datenschutzes stellt sich seit einigen Wochen die datenschutzkritische Spackeria (der Name nimmt eine Äußerung von Constanze Kurz - Sprecherin des Chaos Computer Club - auf den Arm. Sie bezeichnete jene, die ihrem Bild von Datenschutz nicht folgen, als „Post-Privacy-Spackos“). Wieso ein Schutz von privaten Daten, so sie erstmal im Internet sind, praktisch unmöglich ist, hatten wir hier schon mal am Beispiel des Fotodiensts Flickr gesehen. Aber anstatt auch hier nur auf die Risiken von elektronischen Daten einzugehen, möchte ich mal auf 2 schöne Beispiele für die Chancen eingehen. Nämlich darauf, was man praktisches mit elektronischen Patientenakten anstellen kann.

Bei ScienceLife bin ich auf das „NorthShore University Health System“ gestossen. Die Einrichtung führt ihre Patientenakten nun seit fast 8 Jahren in elektronischer Form und pfiffige Leute haben praktische Wege gefunden, wie man diese Daten zum Wohl der Patienten remixen kann.

Das erste Beispiel ist eine Übersicht über die Körpertemperatur von Patienten nach Operationen. Der Begriff Fieber wurde von Carl Reinhold August Wunderlich im Jahr 1871 eingeführt. Dazu hat Wunderlich die Temperatur von um die 25000 Menschen gemessen und daraus dann die Eckpunkte für Normaltemperatur und Fieber definiert. Seitdem wurde allerdings erstaunlich wenig an der Definition gerüttelt. Dabei wäre es durchaus spannend, zu wissen, welche Körpertemperaturen nach einer OP normal sind und welche vielleicht Anlass zur Sorge sein könnten.

Und genau das hat man mit den Daten aus NorthShore jetzt gemacht. Die elektronisch vorliegenden Temperaturmessungen hat man ausgewertet und daraus Kurven zur Temperaturverteilung, bei den bereits bekannten Patienten, erstellt. Damit kann ein Arzt dann schauen ob sein aktueller Patient eine höhere oder niedrigere Temperatur hat, als der Grossteil der früheren Patienten. Und da ja genug Daten vorhanden sind, kann man das sogar noch schön Aufteilen. Die Kurven werden nach Art der OP, Anzahl der Tage die seit der OP vergangen sind, Alter des Patientens und (je nach Art der OP) eventuell sogar nach Geschlecht getrennt erzeugt. Das so entstandene Tool — Project Wunderlich getauft — findet man online und steht so weltweit jedem Arzt mit einem Zugang zum Internet zur Verfügung.



Darüber hinaus lernt das System mit der Zeit sogar dazu, bzw. seine Kurven werden besser: Jede Nacht werden die neusten Patientendaten in das System eingepflegt, die Kurven besser (Also ähnlich wie ein SPAM-Filter, der mit jeder empfangenen und kategorisierten Mail dazulernt). Das ist schon ein ziemlich cooles Projekt, was man aus solchen Daten umgesetzt hat. Und wer weiß: Vielleicht nutzen ja bald auch andere Krankenhäuser solche Methoden. Oder vernetzen sich gleich, um eine größere Datenbasis zu schaffen.

Das andere, bemerkenswerte, Projekt wurde ebenfalls mit NorthShore-Daten umgesetzt: Das Erkennen von MRSA-Patienten. MRSA steht für “methicillin-resistant Staphylococcus aureus” und so bezeichnet man eine Bakterienart die auf dieses Antibiotikum nicht mehr anspricht. Das ist nicht nur für davon betroffene Patienten problematisch, sondern vor allem für Krankenhäuser wo sich auf recht engem Raum viele Menschen, viele davon bereits gesundheitlich angeschlagen, befinden. Dementsprechend ist es für Krankenhäuser wichtig, dass betroffene Patienten frühzeitig erkannt und gegebenenfalls isoliert werden können. Denn so kann man die anderen Patienten ganz gut schützen.

Leider ist der Nachweis von MRSA-Infizierten Patienten nicht nur relativ aufwändig (Der Nachweis erfolgt in der Regel wohl per PCR) sondern auch vergleichsweise teuer. Mal abgesehen davon, dass falsch-positive Ergebnisse (Der Test sagt, dass der Patient von MRSA infiziert ist, obwohl dem nicht so ist) dazu führen, dass die falschen Patienten isoliert werden. In Zeiten von geringem Budget und geringer Personaldecke sind Krankenhäuser also interessiert daran Risikogruppen für MRSA-Infektionen zu erkennen. Damit kann man die Anzahl der Tests so gering wie möglich und die Gesundheit der Patienten gleichzeitig hoch halten. Mit Hilfe der elektronischen Patientenakte hat man bei NorthShore so ein „Frühwarnsystem” entwickelt. Das NorthShore University Health System betreibt insgesamt 4 Krankenhäuser in Chicago und in einem der Krankenhäuser hat man die Daten von, auf MRSA positiv bzw. negativ getesteten, Patienten genommen um daraus Modelle zur Vorhersage des MRSA-Risikos geschaffen.

In der Patientenakte wurde neben demographischen Eckdaten wie das Alter auch die vorherige Krankengeschichte betrachtet: Wie oft war ein Patient zuvor im Krankenhaus? Musste er in die Notaufnahme eingeliefert werden? An welchen Krankheiten leidet er akut? Ausserdem wurden die Laborwerte, die am ersten Tag der Einlieferung ins Krankenhaus gewonnen wurden, ebenfalls in die Analyse mit einbezogen.

Aus all diesen Parametern, genommen von Patienten aus dem einen Krankenhaus, wurden dann statistische Modelle zur Vorhersage des MRSA-Risikos für Patienten entwickelt. Getestet wurden diese Modelle mit Patienten aus 2 anderen Krankenhäusern des NorthShore University Health Systems. Und die Ergebnisse sind recht vielversprechend: Mit ihren Modellen können sie, wenn sie nur jene 30 % der Patienten, die das höchste Risiko haben, testen bereits 60 % der MRSA-Infektionen identifizieren. Das klingt jetzt vielleicht nicht so richtig beeindruckend. Dabei sollte man aber im Auge behalten: Nur 4 % der Patienten die ins Krankenhaus kommen, sind überhaupt von einer MRSA-Infektion betroffen. Gleichzeitig konnten sie 40 % der Patienten identifizieren, die ein Infektionsrisiko von 2 % oder weniger haben. Damit liessen sich die Kosten im Zusammenhang mit MRSA-Infektionen bereits halbieren.

Dabei haben diese Modelle sicherlich noch Luft nach oben. Denn zugunsten der Verständlichkeit haben sie sich, so weit ich das verstanden habe, auf vergleichsweise einfache Modellierungen beschränkt. Ich fände es ja ganz spannend, wenn man bei diesen Modellierungen genauso mit Bayes arbeiten würde, wie im SPAM-Filter-Beispiel: Jeder neue Patient ist ein neuer Datenpunkt und die Ergebnisse seiner Kategorisierung und eventueller Falsch-Identifizierung könnten dann dazu genutzt werden, um die Modelle weiter zu optimieren. In wie weit man die Kontrolle über seine Modelle in so einem sensiblen Bereich an Algorithmen abgeben möchte (ich glaube, dass passende Algorithmen die lernfähig sind, starren Modellen überlegen wären, aber die Angst davor solche Diagnosen an Maschinen abzugeben muss man berücksichtigen) ist sicherlich von vielen Faktoren abhängig.

Was man an diesen beiden Beispielen aber auf jeden Fall sehen kann ist die Tatsache, dass eine ausführliche Erhebung von Daten eben nicht nur (Missbrauchs-)Risiken mit sich bringt, sondern auch Chancen im (klinischen) Alltag hat. Wer jetzt einwenden will, dass die Daten dort anonymisiert verarbeitet werden und das ja keine personenbezogenen Daten seien: Zum einen sollte man aus der Fülle der Parameter gute Profile der einzelnen Patienten errechnen können (immerhin basiert das MRSA-System genau darauf). Und zum anderen müssen von jedem Patienten all diese Daten erhoben werden, damit es funktionieren kann.

Anstatt immer nur über Risiken zu reden sollten wir auch über die Chancen, die sich so ergeben, nachdenken. Das NorthShore University Health System hat dabei schon mal einen Anfang gemacht.

Robicsek A, Beaumont JL, Wright MO, Thomson RB Jr, Kaul KL, & Peterson LR (2011). Electronic prediction rules for methicillin-resistant Staphylococcus aureus colonization. Infection control and hospital epidemiology : the official journal of the Society of Hospital Epidemiologists of America, 32 (1), 9-19 PMID: 21121818
Flattr this

Geschrieben in Biologie , Informatik | 4 Kommentare | 1 Trackbacks | Permalink


Versteckt eure Daten: Steganographie in Texten

Bastian Greshake | 03. Februar 2011, 15:51

In unserem hochdigitalisierten Zeitalter wird Kryptographie nicht nur für das Militär immer wichtiger. Sondern auch für jeden Einzelnen von uns. Gerade wenn man potentiell sensible Daten wie seine Bankdaten, Passwörter etc. auf seinem Laptop, auf USB-Sticks oder seinem Smartphone mit sich herumträgt sollte man darauf achten, dass im Falle des Verlusts oder des Diebstahls nicht jeder direkt Zugriff darauf hat. In Großbritannien zum Beispiel hat man mittlerweile mehrfach schlechte Erfahrungen mit verlorenen Daten-CDs gemacht.

Kryptographie verschlüsselt Daten dabei meist auf eine sichtbare Art und Weise. Allerdings sind die Daten ohne den passenden Schlüssel eben nicht lesbar. Und heutige Verschlüsslungen lassen sich in der Regel nicht in endlicher Zeit aufbrechen. Das klingt ja so weit ganz gut. Aber was, wenn die Instanz vor der man die Daten schützen wollte, fortgeschrittene Maßnahmen wie Rubber-hose cryptanalysis anwendet?? Was der Begriff eigentlich sagen will: „Wir prügeln die Scheisse aus dir raus. Genau so lange, bis du uns den Schlüssel zu den Daten oder gleich alle Geheimnisse gibst.” Und das ist nicht nur ein Problem von Diktaturen. In Großbritannien ist es mittlerweile ein Verbrechen, wenn man den Behörden seine Passwörter nicht geben will. Man geht also einfach ins Gefängnis, bis man seine Passwörter verraten hat.

xkcd

Um diesem Problem zu begegnen gibt es Kryptographie-Verfahren die „Plausible deniability”, also die Möglichkeit, die Existenz von verschlüsselten Daten zu leugnen, erzeugen. In der Regel funktioniert das so, dass innerhalb des Verschlüsselten Datenblocks mehrere, unterteilte Container liegen, die jeweils mit einem eigenen Schlüssel entschlüsselt werden. Und je nachdem welchen Schlüssel man dem Datenblock übergibt, wird ein anderer Container entschlüsselt.

Im einfachsten Fall erzeugt man also 2 Container: Einen mit den echten Daten, die man geheim halten will. Und einen zweiten Container mit weniger sensiblen Daten (Nacktfotos von sich, Zeugnisse, oder was auch immer), die man bereit ist zu opfern, wenn es nötig wird. Wenn man nun zur Herausgabe des Schlüssels gezwungen wird, dann haben die Angreifer zwar die Nacktfotos, nicht aber die letzten Entwürfe für das nächste Paper was man gerade schreibt.


Ein anderer Ansatz um dieses Problem zu lösen ist die Steganographie. Dabei wird die Nachricht selbst nicht unbedingt verschlüsselt, sondern einfach in einem anderen Medium versteckt, so dass sie nicht auffällt. Z.B. in Bildern, in Audio-Dateien oder in Videos. Den möglichen Angreifern, die an die Daten wollen, fällt also gar nicht auf, dass dort sensible Daten liegen könnten. Allerdings ist es unpraktisch mit seinen Mitverschwörern immer relativ große Datenmengen wie Audio/Video zu tauschen, ganz unabhängig davon, dass auch das seinerseits schon wieder Aufmerksamkeit erzeugen könnte.

Bei Sciencebase bin ich über den aktuellen Ansatz gestolpert der versucht Text-Nachrichten steganographisch in anderen Texten zu verstecken. Dabei werden in einem unverdächtigen Cover-Text bestimmte Worte durch Synonyme ersetzt. Und diese Ersetzungen codieren dann ihrerseits für den eigentliche Nachricht. Aber solche Ersetzungen sind nicht gerade trivial, vor allem nicht, wenn man sie mit einem Computer vornehmen will. Denn die Ersetzungen müssen ja nicht nur für die versteckte Nachricht codieren, sondern müssen auch so vorgenommen werden, dass es einem unbedarften Leser nicht auffällt, dass hier eine versteckte Nachricht sein könnte. Und das ist eine nicht einfach automatisierbare Aufgabe.

Als Datensatz aus dem die Ersetzungen kommen können wurde in dem Test der Brown University Standard Corpus of Present-Day American English benutzt. Die Forscher, die sich damit beschäftigen haben, haben dann verschiedene Ersetzungsmethoden ausprobiert. Entweder wurde dabei Part-Of-Speech-Tagging (Die Zuordnung von Wörtern zu Wortarten, in Abhängigkeit vom Kontext) oder eine simplere Methode, die auf Wort-Frequenzen und Wortpaaren basiert, benutzt.

Und da zeigen sich auch schon die ersten Probleme: Das Part-Of-Speech-Tagging erzeugt solche Ersetzungen, die von Menschen nicht als verdächtig wahrgenommen werden und den Sinn des Cover-Texts nicht auffällig verändern. Allerdings lässt sich die so versteckte Nachricht auch nur zu 30% wiederherstellen. Die simplere Methode erzeugt durch die Ersetzungen häufiger verdächtigen Unsinn, dafür lässt sich die versteckte Nachricht auch zu 100% wiederherstellen.

Gleichzeitig ist es problematisch, dass der Cover-Text, in dem die eigentliche Nachricht versteckt werden soll, um ein vielfaches länger sein muss, als die zu versteckende Nachricht. Genauso ist es noch ein Problem, dass die Cover-Texte im Idealfall von den Benutzern selbst ausgewählt oder selbst geschrieben werden sollten. Ebenfalls funktionieren die Methoden nur mit einem ausreichend großen Text-Corpus in der passenden Sprache für die Ersetzungen.

Bis zu einer praktischen Anwendung von Text-in-Text-Steganographie dürfte also noch ein bisschen Zeit vergehen. Und bis dahin sollte man sich dann mit dem Plausible Deniability-Konzept vertraut machen.

Comic: xkcd

Weir, G., & Morran, M. (2010). Hiding the hidden message: approaches to textual steganography International Journal of Electronic Security and Digital Forensics, 3 (3) DOI: 10.1504/IJESDF.2010.038284

Flattr this

Geschrieben in Informatik | 2 Kommentare | 0 Trackbacks | Permalink


szmtag