namics Weblog
namics Weblog.
Persönliche Stimmen und Meinungen von Mitarbeiterinnen und Mitarbeitern.
namics @ www.flickr.com

Links

  • Sharepoint Weblog
  • about:namics
  • namics Website

AKTUELLE ARTIKEL

  • Firmenpolitik oder Sabotage
  • Erfolgsfaktoren für Intranet-Wikis in Unternehmen (Vortrag)
  • Zwei Fragen zu Online Kommunikation
  • Ich kann nicht mehr alles lesen, aber cool sieht es aus
  • Vortrag: Das Wiki wird erwachsen
  • Bei mehr als 1GB/Sekunde vorher melden: Die Wolkenfront ist da
  • Bildersuche nach Farbe (auf Basis von Flickr)
  • Vortrag auf dem ECM World Summit
  • Gleichberechtigte Sichten im Intranet
  • Pragmatisches User Centered Design bei bahn.de

Kategorien

  • Accessibility
  • Blogging
  • Business
  • CEO-Post
  • Collaboration
  • Design
  • Fehlermeldungen
  • Gesellschaft
  • Information Retrieval
  • Lotusphere
  • Mobile
  • Online Marketing
  • Orbit-iEX
  • Project Management
  • SEO+SEM
  • Technologie
  • Vorträge
  • Web Analytics

Archive

  • November 2008
  • Oktober 2008
  • September 2008
  • August 2008
  • Juli 2008
  • Juni 2008
  • Mai 2008
  • April 2008
  • März 2008
  • Februar 2008
  • Januar 2008
  • Dezember 2007
  • November 2007
  • Oktober 2007
  • September 2007
  • August 2007
  • Juli 2007
  • Juni 2007
  • Mai 2007
  • April 2007
  • März 2007
  • Februar 2007
  • Januar 2007
  • Dezember 2006
  • November 2006
  • Oktober 2006
  • September 2006
  • August 2006
  • Juli 2006
  • Juni 2006
  • Mai 2006
  • April 2006
  • März 2006
  • Februar 2006
  • Januar 2006
  • Dezember 2005
  • November 2005
  • Oktober 2005
  • September 2005
  • August 2005
  • Juli 2005
  • Juni 2005
  • Mai 2005
  • April 2005
  • März 2005
  • Februar 2005
  • Januar 2005
  • September 2004
  • August 2004
  • Juli 2004
  • Juni 2004
  • Mai 2004
  • April 2004
  • Februar 2004
  • Februar 2003

XML und Mumbo Jumbo

  • namics ag
  • namics ag
  • namics ag
  • Atom Feed
  • RSS 2.0 Feed
  • Creative Commons License
    Dieses Weblog untersteht der Creative Commons Lizenz
  • Powered by Movable Type 3.35
« Blog-Praxis: Unternehmensblog namics [Vortrag] | Übersicht | Spring Web Flow »
11
Mai
Ajax Sicherheitsaspekte und Garbage Collecting
gepostet von Hilar Lütolf am 11.05.2007 um 18:02

Donnerstag, 10. Mai, JavaOne 2007

You Are Hacked: Ajax Security Essentials for Enterprise Java Technology Developers

Diese Session behandelte, wie schon der Name vermuten lässt, die potentiellen "neuen Risiken" die zu den "alten Risiken" hinzukommen wenn man eine Webapp "Ajax enabled". Und wartete auch mit ein paar Tipps auf, wie man diesen begegnen kann.

Das Hauptproblem dieser neuen "Rich Internet Applications" ist, dass durch die Verlagerung von Applikationslogik auf den Client (weg von "thin" Browser Interfaces hin zu "thick") der geneigte Hacker automatisch mehr über die Anwendung erfährt. Die Logik und die Methoden sind nun nicht mehr hinter einem Service auf dem Server verborgen; durch den Export dieser - damit vom Client via Javascript aufrufbar - sind diese nun sichtbar und machen es einem Hacker einfacher die Anwendung zu inspizieren, Methoden auszuprobieren und auszutricksen.

  • Javascript Bibliotheken unter Verwendung eines "Obfuscators" (ersetzt sprechende Methoden- und Variablennamen mit "kryptischen") schwerer lesbar machen.
  • Ajax nur dort einsetzen wo wirklich sinnvoll. Bei Login Seiten zum Beispiel nicht Popups, sondern eigene "plain old" Login Seiten verwenden. Dies auch, um wegen des zeitweiligen Wechels von http auf https nicht mit der "same origin policy" der Browser in Konflikt zu geraten und umschiffen zu müssen.
  • Input Validierung (auf dem Server, sich NICHT auf den Client verlassen!).
  • Output encoding.
  • Referer und Token (zum Beispiel API Key) Checks durchführen.
  • Einsatz von CAPTCHAs.
  • Die Lebenszeit von Sessions so kurz wie möglich, so lange wie nötig halten.
  • Verwendung von Black- und Whitelists.
  • Anzahl Requests und Bandbreiten limitieren.
  • Monitoring der Anwendung.

Das grosse Problem sei, dass Sicherheits Aspekte beim Entwickeln einer Anwendung oftmals - um schneller vorwärts zu kommen - vernachlässigt werden. Erst nach der ersten Attacke kümmert man sich darum: man stopft genau das offengelegte Loch. Und dann das nächste Loch und so weiter. Sicherheit sollte daher von Anfang an ein Thema sein!

Zusammengefasst hat diese Session wohl nicht viel neues zu Tage gefördert; wird dadurch aber der eine oder andere Sinn für diese Probleme geschärft, hat sich der Besuch sicherlich gelohnt.

Garbage-Collection-Friendly Programming

Die zeitweise etwas abgehobene Session mit drei Leuten des Garbage Collector Teams von Sun dürfte manchem Kenner viele Einsichten über Garbage Collector Strategien etcetera beschert haben. Da ich mich nicht zu den GC Profis zählen tu, möchte ich mich auf ein paar Punkte beschränken die ich mir fortan (wenn nicht schon bereits bisher) zu Herzen nehmen möchte. Für Interessierte treibe ich gerne die Slides auf (was auch für die andern Vorträge gilt).

Das (mit einem Schmunzeln) erklärte Ziel der Session war es, dass die Entwickler ihre Codes und nicht das GC Team den ihrigen anpassen muss :-).

  • Das Allozieren neuer (kleiner) Objekte ist effizient, nur zu also.
  • Der Garbage Collector kann mit kurzlebigen immutable Objekten besser umgehen als mit langlebigen mutables.
  • Explizites Garbage Collecting sollte vermieden werden, ausser man tut dies sehr bewusst und die Performance der Anwendung ist zu jenem Zeitpunkt nicht kritisch.
  • Finally Block benützen um unbenötigte Referenzen abzuräumen.
  • Achtung bei Inner classes, diese haben implizite Referenzen auf ihre "Mutterobjekte".
  • Hat die Anwendung ein Memory Leak, kann man sich mit jmap ein Class Histogramm anzeigen lassen.

TRACKBACK

TrackBack URL for this entry:
http://blog.namics.com/mt/mt-tb.cgi/858

KOMMENTARE

1. @Jürg: Funktioniert das wirklich mit dem 1+1 Spamschutz? Kann mir das nicht so wirklich vorstellen!!

2. @Hilar: Input Validierung (auf dem Server, sich NICHT auf den Client verlassen!).
Das mit dem Serverseitigen Validieren gilt nicht erst seit AJAX. Sollte schon immer so immplementiert werden!! Nur so als Hinweis ;o)

gepostet von Jan Stettler am 14.05.07 08:51

Zum Thema Sicherheit im AJAX / JSON Umfeld gibs einen guten Artikel auf dem YUI-Blog:

http://yuiblog.com/blog/2007/04/10/json-and-browser-security/

gepostet von Heiko Maass am 14.05.07 09:25

@Jan, Danke für den Hinweis - ja, klar, das war natürlich auch bisher schon sinnvoll.

gepostet von Hilar am 14.05.07 09:42

Ich bin ganz Jan's Meinung. So viele neue Gefahren gibt es gar nicht, wer vor lauter Hype nicht die "alten" Regeln vergisst ist schon ziemlich sicher sicher.

Eigentlich schreib ich aber wegen den GC-Folien. Auch wenn ich inzwischen bei einer Sprache angekommen bin in der ich vom Java-GC nur noch träumen kann, interessiert mich dieses Thema immer noch und ich würde mich freuen die Folien zu erhalten.

gepostet von leo am 15.05.07 19:32

@leo: auch dir schliesse ich mich an, ich hätte dies im Bericht wohl noch etwas deutlicher vermerken sollen... und: you've got mail :-)

gepostet von Hilar am 15.05.07 23:24

@Jan. Ich wage es kaum zu sagen. aber der 1+1 Spamschutz hat seit Dezember 2006 KEIN EINZIGEN Spam Kommentar durchgelassen. Zuvor (ohne Schutz) waren es bis zu 200 pro Tag. Ich hätte es auch nicht geglaubt...

gepostet von Jürg Stuker am 15.05.07 23:25

Die Folien sind nun Online: http://developers.sun.com/learning/javaoneonline/2007/pdf/TS-2906.pdf

gepostet von leo am 10.06.07 15:14

KOMMENTAR SCHREIBEN

Name:

E-Mail Adresse:

URL:

Bitte das Ergebnis von 1 + 2 als Ziffer (Spamschutz):