Sichere Webanwendungen mit Java entwickeln

Dominik Schadows Buch zur Sicherheit in Java-Webanwendungen eignet sich, Java-Entwickler für den Bereich Sicherheit im Webumfeld zu sensibilisieren, und zwar durch den fokussierten Blick auf Injections, Cross-Site Scripting und Cross-Site Request Forgery.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 3 Min.
Von
  • Michael Müller

Dominik Schadow
Sichere Webanwendungen mit Java entwickeln
dpunkt.verlag 2014
VIII + 241 Seiten, 32,90 €
ISBN 978-3-86490-146-1

Einst schickte sich Java an, mittels Applets schöne Oberflächen für das Web zu schaffen. Doch das war nie von dem Erfolg gekrönt, den sich die Macher wünschten. Java wurde mehr die Sprache für Desktop- und Enterprise-Anwendungen. Solche nutzen immer häufiger den Browser zur Darstellung des User Interface. Die Geschäftslogik auf dem Server und das Erzeugen von HTML für den Browser auf dem Server – das sind die Webanwendungen, um die es im hier besprochenen Buch geht.

Java bietet von Haus aus zahlreiche Sicherheitsfeatures. Dennoch gibt es für den Entwickler von Webanwendungen noch vieles zu beachten. Was, wenn ein Angreifer versucht, in einem gewöhnlichen Eingabefeld SQL-Statements unterzubringen, in der Hoffnung, dass diese ausgeführt werden? Der Autor Dominik Schadow zitiert aus Hitlisten von Angriffsszenarien, auf denen die sogenannte SQL Injection immer noch einen der vordersten Plätze einnimmt. Sodann zeigt er, wie die Anwendung vor solchen Angriffen sicher geschützt wird. Und, so schiebt er hinterher, bei Nutzung eines objektrelationalen Mappings wie JPA (Java Persistence API) ist diese Sicherheit gleich eingebaut – solange der Entwickler keine zusammengestoppelten Native Queries nutzt.

Neben diversen anderen Spielarten der Injections sind Cross-Site Scripting und Cross-Site Request Forgery die anderen beiden großen Themen, auf die Schadow ausführlich eingeht. Auch hier zeigt er, wie ein Angreifer Code einschleusen könnte und welche Maßnahmen zu ergreifen sind – und in welchen Frameworks dies bereits enthalten ist. Insbesondere auf JSF (JavaServer Faces) als Java-Web-Technik geht er dabei ein. Dort ist der genannte Schutz bereits implementiert, bis auf wenige Ausnahmen, von denen der Autor einige benennt. Sein Ratschlag lautet: Es gibt bereits viele gute Bibliotheken für sichere Webanwendungen. Diese zu nutzen ist meist deutlich sicherer, als sie selbst zu stricken. Doch ist das nicht immer lückenlos. Entwickler müssen also sorgsam sein und seine Anwendung immer wieder testen.

Bevor Schadow auf die genannten drei großen Angriffsvektoren eingeht, bietet er eine Einführung in das Thema Sicherheit, insbesondere mit starkem Augenmerk auf Eingabevalidierung und Ausgabekodierung sowie Sessionmanagement. Weitere Angriffsmöglichkeiten werden eher kurz beschrieben oder nur benannt; hier muss der Leser bei Bedarf selbst weiter eintauchen. Insofern ist das Buch im Umfang beschränkt. Doch sorgt die Konzentration auf die – nach Meinung des Autors – wichtigsten Angriffsformen dafür, dass diese sehr ausführlich beschrieben werden können, ohne in einem endlosen Wälzer zu enden. Und das Buch schließt dadurch, bevor Langeweile aufkommt.

Es ist auch dadurch sehr gut geeignet, Java-Entwickler für den Bereich Sicherheit im Webumfeld zu sensibilisieren. Zielgruppe sind Entwickler mit fundierten Java-Kenntnissen. Vorteilhaft sind ebenfalls Grundlagen zu Webtechnologien. Solchen Lesern vermittelt der Autor das nötige Grundlagen- bis Fortgschrittenen-Wissen zum Thema Sicherheit. Auch ist es als Auffrischer geeignet.

Michael Müller
ist als Bereichsleiter Softwareentwicklung der InEK GmbH verantwortlich für Projekte im Web-, Java- und .NET-Umfeld. Daneben betätigt er sich als freier Autor und verfasst Fachartikel zu diversen Entwicklungsthemen sowie Buchrezensionen.
(ane)