Glorf.it

Glorf IT

Bedenkliches aus dem IT-Alltag

14. September 2009 um 18:28

Der Erlrouter

Hier wieder ein Schätzchen aus dem letzten Jahrtausend. Leider vergaß ich wo ich das aufgegabelte.

Der Erlrouter
Wer routet so spät durch Nacht und Wind?
Es ist der Router, er routet geschwind!
Bald routet er hier, bald routet er dort
Jedoch die Pakete, sie kommen nicht fort.

Sie sammeln und drängeln sich, warten recht lange
in einer zu niedrig priorisierten Schlange.
Die Schlangen sind voll, der Router im Streß,
da meldet sich vorlaut der Routingprozeß
und ruft: "All Ihr Päckchen, Ihr sorgt Euch zu viel,
nicht der IP-Host, nein, der Weg ist das Ziel!"
Es komme gar bald einem jeden zu Gute
eine sorgsam geplante und loopfreie Route.

Des Netzes verschlungene Topologie
entwirr' ich mit Dijkstras Zeremonie.
Der Lohn, eine herrliche Routingtabelle,
dort steh'n sogar Routen zu Himmel und Hölle.

Vergiftet der Rückweg, das Blickfeld gespalten,
mit RIP wird die Welt nur zum Narren gehalten.
Doch OSPF durchsucht schnell und bequem
mein ganz und gar autonomes System.
Für kunstvolle Routen, das vergesst bitte nie,
benötigt man Kenntnis der Topologie.

Zu Überraschungs- und Managementzwecken
durchsuch' ich mit RMON die hintersten Ecken.
Kein Winkel des Netzes bleibt vor mir verborgen,
mit SNMP kann ich alles besorgen.
Wohlan nun, Ihr Päckchen, die Reise beginnt,
Mit jeder Station Eure Lebenszeit rinnt.
Doch halt, Ihr Päckchen, bevor ich's vergesse:
"Besorgt euch mit NAT eine neue Adresse!"

"Mein Router, mein Router, was wird mir so bang!
Der Weg durch das WAN ist gefährlich und lang."

"Mein Päckchen, mein Päckchen, so fürchte Dich nicht,
denn über Dich wacht eine Sicherungsschicht."

"Mein Router, mein Router, was wird mir so flau!
Dort draußen am LAN-Port, da wartet die MAU!"

"Mein Päckchen, mein Päckchen Dir droht nicht der Tod,
denn über Dich wacht ja der Manchester-Code.
Doch halte dich fern von der flammenden Mauer.
Die sorgt selbst bei mir noch für ängstliche Schauer."

"Mein Router, mein Router, wie glänzt dort voll Tücke
der schmale und schlüpfrige Weg auf der Brücke."
"Oh weh! Das Netz ist mit Broadcasts geflutet.
Ach hätt' ich doch niemals zur Brücke geroutet!

Mein Päckchen, den Kopf hoch,
Du musst nicht verzagen,
an Dich wird sich niemals ein Bitfehler wagen."
Schnell wie der Wind geht die Reise nun weiter
durch helle und funkelnde Lichtwellenleiter.

"Mein Päckchen, mein Päckchen, willst Du mit mir gehen?
Die Wunder des Frame-Relay-Netzes ansehen?"

"Mein Router, mein Router, ja hörst Du denn nicht,
was die WAN-Wolke lockend mir leise verspricht?"
"Glaub mir, mein Päckchen, im LAN,
da entgeht Dir sowieso Lebens- und Dienstqualität.
Reise nur weiter ganz ruhig und sacht
Quer durchs ATM-Netz mit FRF.8 ."

"Mein Router, mein Router, man hat mich verführt,
zerlegt, verschaltet und rekombiniert!"
"Mein Päckchen, das macht nichts, nun sparen wir viel,
ein VPN-Tunnel, der bringt Dich ans Ziel.
DiffSERV und TOS-Feld, merk' Dir die Worte,
die öffnen zu jedem Router die Pforte."

Finster der Tunnel, die Bandbreite knapp,
wie schön war die Backplane im eigenen Hub.
Am Ende des Tunnels: Das Päckchen ist weg,
vernichtet vom Cyclic Redundancy Check.

11. September 2009 um 20:17

Sentrigo veröffentlicht Sicherheitsproblem des SQL-Servers (Update)

Frisch aus dem Urlaub zurück überraschte mich bei Heise die Nachricht, dass eine mir bisher unbekannte Firma ein Sicherheitsproblem am Microsoft SQL-Server entdeckt und veröffentlicht habe. Sie meldeten das Problem Ende 2008 an Microsoft und die signalisierten, dass das aus deren Sicht keine relevante Lücke sei und nicht behoben wird. Sentrigo schrieb daraufhin ein Tool, dass diese Lücke ausnutzt um sie zu beheben. Dazu muss man das Tool aber regelmäßig immer wieder aufrufen. Erst heute kam ich dazu mal die Hintergründe zu recherchieren.

Welche Tragweite hat das Problem?
Hat jemand Windows-Admin-Rechte an dem Computer auf dem der SQL-Server läuft, dann kann der Windows-Admin die Passwörter der angemeldeten Benutzer im Klartext lesen, weil sie in einer internen Tabelle pro Datenbank-Verbindung gespeichert werden. Das betrifft alle aktuellen Systeme: SQL Server 2000, SQL Server 2005 und SQL Server 2008 (die Betas von R2 daher vermutlich auch).

Während in der Login-Tabelle nur der Hash des Passwortes gespeichert ist, werden die Informationen zu angemeldeten Benutzern unverschlüsselt im Hauptspeicher gehalten. Ein Administrator kann nun mit geeigneten Werkzeugen, z.B. OllyDbg, den Hauptspeicher nach den Passwörtern durchsuchen. Sentrigo hat nun das kostenlose Werkzeug Passwordizer gebaut, dass diese Passwörter findet und mit Schrott überschreibt. Hier ein Beispiel:

C:\WINDOWS>E:\temp\Passwordizer\passwordizer\x86\passwordizer.exe 2212
Process is 32bit
DATA section found at 27cf000
Exe name is C:\Programme\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe
MSSQL Server version is 90000 10820000
Scanning for sessions table (Can take up to several minutes)
Session table found at 27e6fe8
Getting user passwords for MSSQL Server 2005
Session id: 51
Username: sa
Password: k******9
Password cleared from memory

Sentrigo Passwordizer process completed successfully
1 passwords removed from memory

Im Output steht eigentlich alles was man wissen muss, insbesondere die Adresse an der die Informationen gefunden werden können. Natürlich ist die bei jedem Start anders, aber damit kann man sich das Problem mal aus der nächsten Nähe ansehen, weil man ja jetzt genau weiß wo man suchen muss.

Aber auch remote kann man die Passwörter lesen, wenn man am SQL-Server SysAdmin-Rechte hat. Das geht aber nur am SQL-Server 2000 und 2005, ab 2008er wurde laut Heise.de der dazu nötige DBCC-Befehl aus anderen Gründen entfernt. Im Securosis Blog verrät ein Sentrigo-Mitarbeiter, dass man "DBCC BYTES" dazu verwenden kann. Das ist aber kein großes Geheimnis, denn nur DBCC Bytes ist im SQL Server 2008 nicht mehr vorhanden, alle anderen gibt es dort weiterhin.

Meine Einschätzung: Ich sehe keine realistische Gefahr für die SQL-Server-Kunden, aber Microsoft hat einen peinlichen PR-Gau erlebt.

Warum? Die Sicherheitslücke ist schon sehr exotisch. Man muss schon zuerst mal Windows-Admin oder wenigstens SQL-Server-SysAdmin sein, um die Lücke ausnutzen zu können. Und dann sieht man nur die Passwörter derjenigen die sich aktuell über SQL-Authentifizierung angemeldet haben. Wenn man die von Microsoft empfohlene Windows-Authentifizierung verwendet, sieht man gar nichts. Was kann der Windows-Admin, der immer auch zugleich SysAdmin ist, mit den SQL-Server-Passwörtern anfangen? Gute Frage. Er darf alles tun, was er ohnehin schon als SysAdmin darf: sich als dieser Benutzer ausgeben und am SQL-Server Dinge in dessen Namen tun.

Die Gefahr besteht also lediglich darin, dass der Anwender SQL-Authentifizierung nutzt und das gleiche Passwort auch für sein Online-Banking, E-Bay oder dergleichen verwendet. Das könnte ein krimineller Windows-Admininistrator mal ausprobieren und ggf. dann tun was er möchte. Die Lücke ist in meinen Augen eher eine Kleinigkeit, da Administratoren auch auf viel einfachere Weise die Passwörter Ihrer Kollegen ausspähen könnten. Dennoch ist es natürlich eine Lücke und eine peinliche noch dazu.

Aber für die bisher weitgehend unbekannte Firma Sentrigo war das der PR-Boost schlechthin. Sie haben Microsoft so richtig vorgeführt, weil Microsoft danach schrie. Natürlich hätte Microsoft das ernst nehmen müssen. Man speichert einfach keine Passwörter im Klartext. Warum auch? Ich habe keine Ahnung wie aufwändig die Behebung gewesen wäre, aber da nun mal alle Mitarbeiter mit dem R2 beschäftigt waren, blieb für solche Dinge wohl keine Zeit mehr. Und damit hat sich Microsoft so richtig blamiert.

Vermutlich werden sie es nun doch beheben müssen, sonst müssen sie sich immer vorwerfen lassen, dass sie eine nicht behobene Sicherheitslücke haben. Und diese Diskussionen mag doch keine Firma gerne… 😉

Update 16.9.2009:

  • Ja, es geht mittels DBCC BYTES, das wurde schon im Frühjahr im Vortrag "SQL SERVER Anti-Forensics" von Cesar Cerrudo (Folie 18) veröffentlicht.
  • Heute bekam ich eine Mail von Firma Sentrigo, die sich für den Download des Tools "Passwordizer" bedankte und fragte an welchen Lösungen von ihnen ich denn Interesse hätte. Hallo? Am Passwordizer natürlich. Ich bereue bei der Angabe der persönlichen Daten ehrlich gewesen zu sein…
11. September 2009 um 19:22

Total Commander 7.50

Wie ich heute bei golem.de las gibt es nun die Version 7.50 des Werkzeugs Total Commander. Der Update ist wie immer kostenlos. Wer es noch nicht hat, sollte mal einen Blick darauf riskieren, ich setze ich sehr gerne ein. Besonders gut gefällt mir an der neuen Version, dass man nun auch auf den Pfad klicken kann um das Verzeichnis zu wechseln. Auch bisher konnte man da schon tippen, aber man musste erst hinklicken und tippen. Jetzt reicht ein Klicken, so ist es recht bequem.

10. September 2009 um 19:36

Kommunikationskette

Gestern fragte mich mein Ex-Kollege Robert nach einem Witz, der im Jahre 2001 mal in unserer Firma kursierte. Ich fand ihn tatsächlich noch in meiner Kollektion. Vielleicht gibt es ein paar Leser, die ihn noch nicht kennen:

Programmer to Team Leader:
"We can't do this proposed project. **CAN NOT**. It will involve a Major design change and no one in our team knows the design of this legacy system. And above that, nobody in our company knows the language in which this application has been written. So even if somebody wants to work on it, they can't. If you ask my personal opinion, the company should never take these type of projects"

Team Leader to Project Manager:
"This project will involve a design change. Currently, we don't have any staff who has experience in this type of work. Also, the language is unfamiliar to us, so we will have to arrange for some training if we take this project. In my personal opinion, we are not ready to take on a project of this nature."

Project Manager to 1st Level Manager:
"This project involves a design change in the system and we don't have much experience in that area. Also, not many people in our company are appropriately trained for it. In my personal opinion, we might be able to do the project but we would need more time than usual to complete it."

1st Level Manager to Senior Level Manager:
"This project involves design re-engineering. We have some people who have worked in this area and others who know the implementation language. So they can train other people. In my personal opinion we should take this project, but with caution."

Senior Level Manager to CEO:
"This project will demonstrate to the industry our capabilities in remodelling the design of a complete legacy system. We have all the necessary skills and people to execute this project successfully. Some people have already given in-house training in this area to other staff members. In my personal opinion, we should not let this project slip by us under any circumstances."

CEO to Client:
"This is the type of project in which our company specializes. We have executed many projects of the same nature for many large clients. Trust me when I say that we are the most competent firm in the industry for doing this kind of work. It is my personal opinion that we can execute this project successfully and well within the given time frame."

9. September 2009 um 23:15

5 Jahr SQL-Pass: Jubelfeier in Nürnberg mit Infos zum SQL Server 2008 R2

SQL-PASS
Alle Interessierten sind zu unserem Jubiläumstreffen "5 Jahre PASS Deutschland" zur Regionalgruppe Franken am Dienstag, den 15.09.2009 um 18:30 Uhr, eingeladen.

Der PASS Deutschland e.V. wurde am 31.08.2004 gegründet und feiert deshalb im August/September 2009 in allen Regionen das fünfjährige Bestehen. Zu diesem Jubiläum sind in allen Regionen Treffen der Regionalgruppen mit besonderem Inhalt geplant:

SQL Server 2008 R2: Self Service BI, SQL Server Data Warehouse Scale Out und weitere Neuheiten. Referent ist Oliver Goletz, Microsoft. Hier die offizielle Info zu dem Vortrag:

In der ersten Hälfte 2010 wird Microsoft basierend auf der SQL Server Technologie die Basis für eine Scale-out SQL Server Lösung für sehr große DWH liefern. Das derzeit unter dem Codenamen Madison bekannte Produkt basiert auf der MPP-Technologie (Massively Parallel Processing), die von DATAllegro entwickelt und von Microsoft erworben wurde. Mit dieser Technologie, die sich schon im Praxiseinsatz bewährt hat, werden DWH im Bereich von mehreren 100 TB möglich sein.

Im Bereich Business Intelligence wird mit dem Produkt Gemini ein In-Memory Online Analytic Processing (OLAP) Client integriert, der "Self Service BI" durch Datenanalyse in großem Umfang und die Datenmodellierung in Excel auf Basis verschiedenster Datenquellen in der Office Plattform ermöglicht.

Oliver Goletz hat nach seinem Studium der Wirtschaftsinformatik in Köln sechs Jahre bei einem Microsoft Gold Partner SQL- und BI-Projekte durchgeführt. Danach arbeitete er anderthalb Jahre als Projektmanager für die Siemens AG in Schanghai und Beijing. Seit zwei Jahren ist er als Technologieberater für Großkunden im Bereich SQL und BI bei Microsoft Deutschland tätig. In dieser Rolle führt er regelmäßig Kundenveranstaltungen und EBCs sowie Deep-Dive SQL-Partnertrainings durch.

Wir treffen uns diesmal in einem größeren Rahmen, in den Konferenzräumen des Eurocom Centers, Lina-Ammon-Str. 19 (Erdgeschoss) in Nürnberg. Das liegt verkehrsgünstig direkt an der U-Bahn-Station Scharfreiterring.

Und wie jedes Mal so ist auch diesmal der Eintritt frei, auch Nicht-Mitglieder sind herzlich eingeladen. Bitte dennoch bei Klaus Oberdalhoff unter kob(ät)sqlpass.de anmelden, damit er weiß, wie viele Stühle ungefähr benötigt werden.

9. September 2009 um 00:52

Erster Tag nach dem Urlaub

Heute (hm, Ok, mittlerweile gestern) hatte ich meinen ersten Arbeitstag nach dem Urlaub. Dabei fiel mir mein Einstieg ins System unerwartet schwer: mein Konto im Active-Directory war nämlich deaktiviert.

Bei uns muss man alle 6 Monate das Passwort ändern. 14 Tage vor Ablauf wird man täglich mit der Aufforderung zum Ändern genervt. Bevor ich in Urlaub ging, kam die Meldung noch nicht. Jedenfalls erinnere ich mich nicht daran. Aber auch 2 Tage vor dem Urlaub hätte ich mein Passwort wohl kaum geändert… 😉

Und heute konnte ich mich zwar am Computer anmelden, aber kam aber nicht ins Netz: kein Outlook, kein Intranet, nichts… Die Nachfrage bei unserer Hotline ergab, dass es tatsächlich Probleme gebe. Mein Konto sei bereits 0,9 Tage deaktiviert, weil ich mein Passwort nicht fristgemäß änderte. Der freundliche Kollege hob die Deaktivierung auf und musste dazu aber ein neues Einmal-Passwort vom System vergeben lassen. Nun war die Frage wie ich an das Passwort kommen sollte. Er konnte es per Mail oder SMS verschicken. Blöd war, dass ich mein Handy im Urlaub nicht ausgeschaltet hatte. Daher war es leer. Mein Handy ist überhaupt immer leer, wenn ich mal telefonieren will… Weil ich recht früh kam, war auch keiner meiner "Nachbarn" schon da. Diktieren könne er es nicht, weil er es nicht sah. An sich selber schicken und diktieren ginge auch nicht, weil er kein fester Mitarbeiter, sondern Leasingkraft sei. Bei uns wird Sicherheit echt groß geschrieben!

Also doch per SMS an mein Handy. Es war zum Glück recht flott so weit aufgeladen, dass ich eine SMS lesen konnte. Wie gesagt der Einstieg fiel mir heute besonders schwer… 😉

1. September 2009 um 18:14

SQL-Injection für Fortgeschrittene

In dem Artikel "Advanced SQL Injection In SQL Server Applications" beschreibt Chris Anley (NGSSoftware) sehr ausführlich wie SQL-Injection am SQL-Server funktioniert. Darin findet man problemlos die Anleitung wie man vorgehen muss, um einen SQL-Server mit dieser Lücke zu übernehmen. Natürlich geht er vom schlimmsten Fall aus, dass nämlich die Anwendung Admin-Rechte am SQL-Server hat, aber das ist ja auch nicht ganz unrealistisch.

Das ist eine Pflichtlektüre für jeden, der Software mit Zugriffen aus dem Microsoft SQL Server schreibt. Danach weiß man, was man besser absichern sollte und warum… 😉