Anzeige
Den Tor-Browser gibt's bald auch in einer gehärteten Version.
Den Tor-Browser gibt's bald auch in einer gehärteten Version. (Bild: Tor/CC-BY 3.0)

Address Sanitizer: Tor-Browser mit besserem Schutz vor Sicherheitslücken

Den Tor-Browser gibt's bald auch in einer gehärteten Version.
Den Tor-Browser gibt's bald auch in einer gehärteten Version. (Bild: Tor/CC-BY 3.0)

Die Tor-Entwickler wollen bald eine gehärtete Version ihres Browser-Bundles für Linux veröffentlichen. Dabei kommt Address Sanitizer zum Einsatz. Dieses Feature verhindert zahlreiche Sicherheitslücken, allerdings um den Preis erheblicher Performanceeinbußen.

Anzeige

Das Tor-Browser-Bundle für 64-Bit-Linux-Systeme soll es bald in einer gehärteten Version geben. Das kündigte Tor-Entwickler Georg Koppen in einer Mail an. Eine erste Nightly-Version dieses gehärteten Tor-Browsers kann man bereits herunterladen.

Tor-Browser mit Address Sanitizer

Das Tor-Browser-Bundle ist ein speziell angepasster Firefox-Browser, der zusammen mit der Zugangssoftware zum Tor-Netzwerk ausgeliefert wird. In der gehärteten Variante wird die Software mit Address Sanitizer oder kurz ASAN kompiliert. Bei Address Sanitizer handelt es sich um ein Compilerfeature, es ist sowohl in GCC als auch in LLVM verfügbar. Die Tor-Netzwerksoftware selbst wird zusätzlich mit dem Undefined Behavior Sanitizer kompiliert.

Address Sanitizer ist ein Schutzmechanismus, der zahlreiche ungültige Speicherzugriffe entdeckt und die Programmausführung beendet, wenn ein solcher Speicherzugriff erkannt wird. Typische Fehler, die Address Sanitizer findet, sind etwa Use-After-Free-Fehler oder Buffer Overflows. Address Sanitizer nutzt dafür einen sogenannten Shadow-Memory, in dem aufgezeichnet wird, welche Speicherbereiche gültig sind. Auch wird das Speicherlayout angepasst, so dass sich zwischen gültigen Speicherbereichen - etwa Arrays - sogenannte poisoned zones befinden. Speicherzugriffe auf die poisoned zones sind immer ungültig. Die genauen Hintergründe haben die Entwickler von Address Sanitizer vor einigen Jahren in einem Paper für eine Usenix-Konferenz erläutert.

Address Sanitizer bietet damit einen ganz erheblichen Schutz gegen zahlreiche gängige Sicherheitslücken. Dieser Schutz hat allerdings einen Preis: Programme, die mit dem Feature kompiliert wurden, sind deutlich langsamer. Wir haben mit dem gehärteten Tor-Browser einige Tests durchgeführt. Im Vergleich zum normalen Tor-Browser lief der Peacekeeper-Benchmark, der diverse HTML-Features testet, 55 Prozent langsamer. Weniger drastisch waren die Performanceeinbußen beim Kraken-Benchmark von Mozilla, der vor allem Javascript testet. Hier lief der Test im gehärteten Browser 20 Prozent langsamer.

Address Sanitizer bisher vor allem Test-Tool

Der Tor-Browser ist das erste große Projekt, das versucht, Address Sanitizer für die normale Nutzung einer Software einzusetzen. Bisher wurde Address Sanitizer fast ausschließlich zum Testen von Software genutzt. Oftmals reicht es bereits, Programme mit Address Sanitizer zu kompilieren und zu starten, um Bugs zu finden. Gerne wird Address Sanitizer auch zusammen mit Fuzzing-Tools genutzt, um Fehler in Programmen zu finden. Chris Evans, der inzwischen für Tesla arbeitet, hat im vergangenen Jahr in einem Blogbeitrag ausführlich erläutert, welchen Schutz Address Sanitizer im Produktivbetrieb bietet.

Für die Tor-Software selbst, die dafür verantwortlich ist, die Verbindung zum Tor-Netzwerk aufzubauen, nutzt das gehärtete Browser-Bundle zusätzlich den Undefined Behavior Sanitizer (kurz UBSAN). Als undefined behavior oder undefiniertes Verhalten werden Codeteile bezeichnet, bei denen der Programmierer laut dem C-Standard kein bestimmtes Verhalten erwarten kann. Ein Compiler kann sich beispielsweise entscheiden, Codepfade wegzuoptimieren, die undefiniertes Verhalten aufweisen. Typische Beispiele für undefiniertes Verhalten sind Overflows von Integern mit Vorzeichen und diverse ungültige Shift-Operationen.

Wer selbst Code mit Address Sanitizer oder Undefined Behavior Sanitizer testen möchte, kann dies durch Hinzufügen entsprechender Compiler-Flags tun. Üblicherweise geschieht dies über die Variable CFLAGS für C-Code und CXXFLAGS für C++-Code, diese kann etwa einem Configure-Script übergeben werden. Die entsprechenden Parameter lauten -fsanitize=address und -fsanitize=undefined.


eye home zur Startseite
Nocta 26. Okt 2015

Sorry, irgendwie verstehe ich nichts, von dem, was du schreibst. Im ersten Abschnitt...

Kommentieren



Anzeige

  1. Webentwickler/-in
    ALPLA Werke Alwin Lehner GmbH & Co KG, Hard (Österreich)
  2. UX Designer für Mobile Apps (m/w)
    Daimler AG, Ulm
  3. Consultant (m/w) Business Intelligence (Reporting)
    T-Systems on site services GmbH, Nürnberg
  4. Technical Manager (m/w)
    Cambaum GmbH, Baden-Baden

Detailsuche



Anzeige
Top-Angebote
  1. Fallout 4 Uncut USK 18 - PS4
    24,99€ inkl. Versand
  2. Fallout 4 Uncut USK 18 - Xbox One
    24,99€ inkl. Versand
  3. World of Warcraft - PC
    4,99€ inkl. Versand

Weitere Angebote


Folgen Sie uns
       


  1. Telekom-Konzernchef

    "Vectoring schafft Wettbewerb"

  2. Model S

    Teslas Autopilot verursacht Auffahrunfall

  3. Security

    Microsoft will Passwort 'Passwort' verbieten

  4. Boston Dynamics

    Google will Roboterfirma an Toyota verkaufen

  5. Oracle-Anwältin nach Niederlage

    "Google hat die GPL getötet"

  6. Selbstvermessung

    Jawbone steigt offenbar aus Fitnesstracker-Geschäft aus

  7. SpaceX

    Falcon 9 Rakete kippelt nach Landung auf Schiff

  8. Die Woche im Video

    Die Schoko-Burger-Woche bei Golem.de - mmhhhh!

  9. Zcryptor

    Neue Ransomware verbreitet sich auch über USB-Sticks

  10. LTE-Nachfolger

    Huawei schließt praktische Tests für Zukunftsmobilfunk ab



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Formel E: Monaco-Feeling beim E-Prix in Berlin-Mitte
Formel E
Monaco-Feeling beim E-Prix in Berlin-Mitte
  1. Hewlett Packard Enterprise "IT wird beim Autorennen immer wichtiger"
  2. Roborace Roboterrennwagen fahren mit Nvidia-Computer
  3. Elektromobilität BMW und Nissan wollen in die Formel E

Moto G4 Plus im Hands on: Lenovos sonderbare Entscheidung
Moto G4 Plus im Hands on
Lenovos sonderbare Entscheidung
  1. Lenovo Moto G4 kann doch mit mehr Speicher bestellt werden
  2. Android-Smartphone Lenovos neues Moto G gibt es gleich zweimal
  3. Motorola Aktionspreise für aktuelle Moto-Smartphones

Business-Notebooks im Überblick: Voll ausgestattet, dockingtauglich und trotzdem klein
Business-Notebooks im Überblick
Voll ausgestattet, dockingtauglich und trotzdem klein
  1. Elitebook 1030 G1 HPs Core-M-Notebook soll 13 Stunden durchhalten
  2. Windows 7 und 8.1 Microsoft verlängert den Skylake-Support
  3. Intel Authenticate Fingerabdruck und Bluetooth-Smartphone entsperren PC

  1. Re: Wir haben auch ein paar km Wasserwege

    Sharra | 09:33

  2. Re: Also sind alle in Gebieten die nicht ausbauen...

    Youssarian | 09:33

  3. Re: KRass

    oxybenzol | 09:32

  4. Ist das Bild mit den Sensoren exakt?

    kaymvoit | 09:27

  5. Re: Einen Tropfen in die Sahara

    pk_erchner | 09:26


  1. 14:15

  2. 13:47

  3. 13:00

  4. 12:30

  5. 11:51

  6. 11:22

  7. 11:09

  8. 09:01


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel