Autor Beitrag
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mi 15.04.09 22:19 
Für den Download reicht Anonymous-FTP, bzw. ein Login über die Programm-Seriennummer.

Der größere Bug ist aber (und das macht Conficker besser): Du überprüfst dein heruntergeladenes Update nicht. Mir fallen aus dem Stegreif 3 Angriffe ein, mit denen ich Dir ein gefälschtes Update unterschieben kann:
1. DNS verbiegen (macht unserere Regierung ja grad :mrgreen:)
2. Via Firewall deinen FTP-Traffic auf meinen Server umlenken
3. In deinen FTP-Traffic mein Update injecten
Weitere Variationen problemlos möglich.

Ansonsten muss ich user profile iconGTA-Place Recht geben: FTP ohne SSL oder TLS ist sicherheitstechnisch Harakiri! Wenn dann noch ohne Sicherheits-Signatur oder CodeSigning-Zertifikat der Anwendung, hast Du gleich verloren. Wenn Updater, dann bitte richtig!

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Mi 15.04.09 23:13 
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
1. DNS verbiegen (macht unserere Regierung ja grad :mrgreen:)
2. Via Firewall deinen FTP-Traffic auf meinen Server umlenken
3. In deinen FTP-Traffic mein Update injecten

Magst du mir verraten wie man das anstellt OHNE zugriff auf den ziel-rechner des users zu haben?

Aya~

_________________
Aya
I aim for my endless dreams and I know they will come true!
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mi 15.04.09 23:31 
Für Nummer 1 nehme man DNS Cache Poisoning oder Frau Zensursula, für die anderen Beiden Punkte nehme man eine Manipulation des Transitweges. Die letzteren Beiden werden insbesondere in Bereichen, wo man mehr oder weniger Kontrolle über die Transitwege hat (z.B. in einem öffentlichen Funknetz, ...) stark begünstigt. Hier wären Angriffe via BGP (größere Transitnetze) oder RIPv1\2 möglich.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Mi 15.04.09 23:51 
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Für Nummer 1 nehme man DNS Cache Poisoning oder Frau Zensursula, für die anderen Beiden Punkte nehme man eine Manipulation des Transitweges. Die letzteren Beiden werden insbesondere in Bereichen, wo man mehr oder weniger Kontrolle über die Transitwege hat (z.B. in einem öffentlichen Funknetz, ...) stark begünstigt. Hier wären Angriffe via BGP (größere Transitnetze) oder RIPv1\2 möglich.

Ja gut, das bezieht sich aber alles nur auf die nutzung freier WLans etc.. und selbst da ist es bei Hotspots von T-Mobile sehr unwahrscheinlich das sowas passiert ;)

_________________
Aya
I aim for my endless dreams and I know they will come true!
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 16.04.09 06:54 
user profile iconAya hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Für Nummer 1 nehme man DNS Cache Poisoning oder Frau Zensursula, für die anderen Beiden Punkte nehme man eine Manipulation des Transitweges. Die letzteren Beiden werden insbesondere in Bereichen, wo man mehr oder weniger Kontrolle über die Transitwege hat (z.B. in einem öffentlichen Funknetz, ...) stark begünstigt. Hier wären Angriffe via BGP (größere Transitnetze) oder RIPv1\2 möglich.

Ja gut, das bezieht sich aber alles nur auf die nutzung freier WLans etc.. und selbst da ist es bei Hotspots von T-Mobile sehr unwahrscheinlich das sowas passiert ;)

Nein, eben nicht. Selbst wenn Du bei mir im LAN wärst oder ich anderweitig dafür sorgen kann, dass deine Verbindung über von mir kontrollierte Systeme geht, kann ich das tun.

Und das letzte Mal, wo ich mir T-Mobile-Hotspots angeschaut habe, waren die Unverschlüsselt ;-)

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Do 16.04.09 09:30 
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconAya hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Für Nummer 1 nehme man DNS Cache Poisoning oder Frau Zensursula, für die anderen Beiden Punkte nehme man eine Manipulation des Transitweges. Die letzteren Beiden werden insbesondere in Bereichen, wo man mehr oder weniger Kontrolle über die Transitwege hat (z.B. in einem öffentlichen Funknetz, ...) stark begünstigt. Hier wären Angriffe via BGP (größere Transitnetze) oder RIPv1\2 möglich.

Ja gut, das bezieht sich aber alles nur auf die nutzung freier WLans etc.. und selbst da ist es bei Hotspots von T-Mobile sehr unwahrscheinlich das sowas passiert ;)

Nein, eben nicht. Selbst wenn Du bei mir im LAN wärst oder ich anderweitig dafür sorgen kann, dass deine Verbindung über von mir kontrollierte Systeme geht, kann ich das tun.

Und das letzte Mal, wo ich mir T-Mobile-Hotspots angeschaut habe, waren die Unverschlüsselt ;-)


Ja, aber ich gehe in der Regel nur bei freuden etc in's LAN... denen vertrau ich insoweit das sie sowas nicht tun.
Eine andere möglichkeit das mein Traffic über dich läuft fällt mir eigentlich nicht ein, insofern sind diese attacken die du da nennst in meinen Augen extrem unwahrscheinlich. Und selbst wenn jemand sowas machen sollte, setzt das immernoch vorraus das er genau die update funktion von diesem einem programm, welches du warum auch immer in einem fremden netzwerk aktualisierst kennt ;)

Aya~

_________________
Aya
I aim for my endless dreams and I know they will come true!
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 16.04.09 09:57 
Ich vertraue nicht einmal meinem eigenen Netz. Port 25 ist sowohl nach innen, wie auch nach außen, zu. Nur benötigte Ports sind offen, alles andre wird blockiert. (Wer jetzt fragt, wie ich eMails versende: Port 587 über den Submission-Port meines Servers).

Und selbst wenn es sehr unwahrscheinlich sein dürfte, dass mal jemand "mal eben" auf Verdacht eine Domain verbiegt: Bei ausreichend großen Projekten kann sowas für einen Angreifer durchaus interessant werden. Und wenn Du Ziel einer Targeted Attack wirst, eröffnest Du mit einem unsicherem Updater dem Angreifer unnötig Angriffsfläche. SSL-Certs gibt's inzwischen sowohl kostenlos, wie auch kommerziell. Und eine Digitale Signatur dazu zu verwenden, um nachvollziehen zu können, dass man ein echtes Update hat, ist ja nicht so schwer. Wie gesagt: Macht Conficker auch. Zudem: Wo es möglich ist (TortoiseSVN, GnuPG, TrueCrypt) wird VOR der Installation eines Updates erstmal die Echtheit des Installers geprüft. Und TortoiseSVN ist auf den ersten Blick nicht mal ein üblicher Verdächtiger in Sachen Sicherheit.

Du downloadest doch auch nicht einfach von jeder beliebigen Internet-Seite Windows-Updates oder Kernel-Releases, ohne zu prüfen, dass die auch echt sind. Aber wenn dein Programm GENAU DAS macht, ist das plötzlich in Ordnung. Welch Doppeldenk!

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Wii360
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18

MS-Dos, Windows 95, Windows Xp (SP 1,2,3)
Php, HTML, Delphi 7 Ent., Delphi 5 Sta., Delphi 3 Sta., Dreamweaver
BeitragVerfasst: Do 16.04.09 10:29 
@GTA-Place

Hmm .. Ich verstehe nicht genau wie du meinst ... Also die Logindaten sind bei dem Objekt angegeben, aber natürlich hat niemand zu griff auf die Datenbank, die Werden Ja im Fertigen Programm nirgends im Klartext stehen!
So hat niemand Zugriff, da SOFORT nach bekommen des Updates die Verindung auch geschlossen wird. Oder weißt du zufällig das es Möglichkeiten gibt das Passwort abzufangen, bzw. eine bessere alternative auf den FTP-Server zuzugreifen?

@BenBE:

Ich tue über meinen FTP aber leider auch noch andere Sachen Abwickeln (Z.b. Benutzerstatistiken speichern) deswegen komme ich um Ein Passwort und Benutzername wohl nicht drumherum! Oder?
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 16.04.09 10:48 
user profile iconWii360 hat folgendes geschrieben Zum zitierten Posting springen:
Hmm .. Ich verstehe nicht genau wie du meinst ...

Ich meine, dass Du die Authentizität deiner Updates VOR dem Installieren prüfen solltest. Ein Weg wäre Code Signing

user profile iconWii360 hat folgendes geschrieben Zum zitierten Posting springen:
Also die Logindaten sind bei dem Objekt angegeben,

30 Sekunden und ich hab deinen FTP-Zugang ... nicht mal.

Passwörter gehören nicht an unsichere Stellen!
Und jede Anwendung IST unsicherer Code!


Wenn überhaupt, mach Anonymous FTP ODER sorg dafür, dass der Zugang durch den Client gegen Angreifer geschützt ist (z.B. Auth über SSL).

user profile iconWii360 hat folgendes geschrieben Zum zitierten Posting springen:
aber natürlich hat niemand zu griff auf die Datenbank,

GANZ sicher??? :mrgreen:

user profile iconWii360 hat folgendes geschrieben Zum zitierten Posting springen:
die Werden Ja im Fertigen Programm nirgends im Klartext stehen!

DFM-Dateien stehen im Klartext im Programm. Und die Eigenschaften stehen im Klartext in der DFM --> Die Passwörter stehen im Klartext im Programm.

user profile iconWii360 hat folgendes geschrieben Zum zitierten Posting springen:
So hat niemand Zugriff,

Nicht mal berechtigte Clients :mrgreen:

user profile iconWii360 hat folgendes geschrieben Zum zitierten Posting springen:
da SOFORT nach bekommen des Updates die Verindung auch geschlossen wird.

WO soll da die Sicherheit liegen? RST- und FIN-Pakete kann man ganz einfach filtern. Wobei Hooks gehen hier auch ganz einfach ;-)

user profile iconWii360 hat folgendes geschrieben Zum zitierten Posting springen:
Oder weißt du zufällig das es Möglichkeiten gibt das Passwort abzufangen,

Die üblichen Verdächtigen: Wireshark und WinPCap.

user profile iconWii360 hat folgendes geschrieben Zum zitierten Posting springen:
bzw. eine bessere alternative auf den FTP-Server zuzugreifen?

Nutz SSL UND eine vernünftige Authentifizierung (z.B. Digest, CRAM-MD5 oder Client Cert). Am besten aber: Unterlasse den Zugriff und stelle entsprechende Web-Scripte bereit. FTP ist einfach nur grottig.

@user profile iconWii360: Gib mir einmal solch eine EXE per PN und ich versuch mal, die Login-Daten für deinen Server rauszusuchen ...

Wenn Du sogar "Benutzerstatistiken" auf deinem Server damit schreibfähig machst, ist dein Sicherheitsloch nicht nur der Updater ...

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Wii360
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18

MS-Dos, Windows 95, Windows Xp (SP 1,2,3)
Php, HTML, Delphi 7 Ent., Delphi 5 Sta., Delphi 3 Sta., Dreamweaver
BeitragVerfasst: Do 16.04.09 11:11 
Oke!
ICh kann froh sein das ich das Programm noch nicht auf meinen Webspace gepostet habe :D

ICh werds mal per SSL und Auth-dingsbums versuchen!
Danke :)

MFG Wii360
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 16.04.09 11:19 
SSL alleine bringt Dir auch nichts, wenn Du dann nicht korrekt prüfst. Sonst kann ich nämlich meinem Server auch einfach SSL mit nem beliebigen andren Zertifikat beibringen, und dein Updater nimmt das immer noch. Die beste Lösung hier wäre wirklich, sowohl SSL als auch CodeSigning zur Absicherung zu nehmen.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Wii360
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18

MS-Dos, Windows 95, Windows Xp (SP 1,2,3)
Php, HTML, Delphi 7 Ent., Delphi 5 Sta., Delphi 3 Sta., Dreamweaver
BeitragVerfasst: Do 16.04.09 11:45 
Okey! ;)

Kann es sein das SSL erst ab Indy9 Unterstützt wird?
Da ich Indy7 habe und ich von SSL nicht benutzen kann... aber ich denkte das ist durch ein Update (:P) machbar... (offentlich)

Und das mit codesigning mach ich das dan auch mit Indy?
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 16.04.09 12:06 
Nope. Das mit dem Code Signing hat nichts mit der Übertragung zu tun, sondern damit, dass du beim Herausgeben der Anwendung einmal eine überprüfbare Signatur erzeugst, die jeder, der den öffentlichen Schlüssel dazu hat, überprüfen kann. Mehr Infos unter dem Link, den ich gegeben hab, auch wenn sich das speziell auf die Verwendung bei CAcert (die übrigens kostenlos sind) bezieht.

Unter D7 laufen auch die Indy 10, auf die Du dann gleich updaten solltest, wenn Du schon solch einen Sprung machst.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Wii360
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18

MS-Dos, Windows 95, Windows Xp (SP 1,2,3)
Php, HTML, Delphi 7 Ent., Delphi 5 Sta., Delphi 3 Sta., Dreamweaver
BeitragVerfasst: Do 16.04.09 12:09 
Oh ... achsoo!

Okee werd ich versuchen ..

THX nochmol
delphi10
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 447
Erhaltene Danke: 2

W2K, XP, Vista64, Win7 64
RAD-Studio 2010
BeitragVerfasst: Di 21.04.09 16:18 
Ich grab das nochmal aus, da mich das Thema auch beschäftigt hat. Meine Lösung:
1. Download der neuen Version vom Server
2. In der laufenden Version:
ausblenden Delphi-Quelltext
1:
2:
Application.Terminate;
ShellExecute(Application.Handle, 'open',PChar(Neue Version), nilnil,SW_Normal);

Alte Version wird sauber beendet und kann gelöscht werden, neu Version startet.
Funktioniert tadellos, Batch-Dateien oder andere Klimmzüge sind nicht erforderlich. Allerdings jetzt nicht unter Vista getestet. Kann das mal jemand machen, hab gerade kein Vista installiert.

_________________
Salus populi suprema lex esto
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 21.04.09 16:26 
Äh, das steht doch grad gar nicht mehr zur Diskussion?
Außerdem wird durch diese Lösung eine neue exe angelegt (neuer Name). Somit stimmen evtl. vorhandene Verknüpfungen nicht mehr..

_________________
PROGRAMMER: A device for converting coffee into software.
passiv
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 270

WIN XP Professional
Delphi 7 Enterprise, Java (Eclipse), Python 2.5, Django 1.1
BeitragVerfasst: Di 21.04.09 17:37 
da reicht dann ja einfach eine kurze abfrage, ob der ist-name der exe mit dem soll-name übereinstimmt, wenn nicht einfach das RenameFile aus den ersten paar posts anwenden ;)

... oder? :lol:

_________________
Die Probleme, die es in der Welt gibt, sind nicht mit der gleichen Denkweise zu lösen, die sie erzeugt hat.
Albert Einstein
MDX
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 595
Erhaltene Danke: 4

Windows 8.1, Linux Debian 8, Android Lollipop
Delphi, PHP, Java (Android)
BeitragVerfasst: Di 21.04.09 18:41 
Man kann auch einfach per HTTP Downloaden lassen???
Dann braucht man weder ne Verschlüsselung, noch ein Passwort noch sonst was spezielles?
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 21.04.09 19:11 
user profile iconpassiv hat folgendes geschrieben Zum zitierten Posting springen:
da reicht dann ja einfach eine kurze abfrage, ob der ist-name der exe mit dem soll-name übereinstimmt, wenn nicht einfach das RenameFile aus den ersten paar posts anwenden ;)

Ja, aber dann bräuchte man wieder nen Updater, bzw. eine Bat-Datei oder sowas.
Und genau die hat user profile icondelphi10 ja vermieden ;)

Zitat:
Man kann auch einfach per HTTP Downloaden lassen???
Dann braucht man weder ne Verschlüsselung, noch ein Passwort noch sonst was spezielles?

Lies die Diskussion nochmal.
Es ging darum, zu überprüfen, dass das Update auch "echt" ist, und dir nicht einfach irgendeine Datei untergeschoben wird.

_________________
PROGRAMMER: A device for converting coffee into software.
Noob23
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 93

Win XP, Win Server 2003, Win 7, Ubuntu
Delphi 7, c/c++ Dev-c++, µC-8051 Keil, Webdesign Notepad++
BeitragVerfasst: Di 21.04.09 19:58 
Man kann's aber am Ende auch übertreiben und sich selbst ein Protokoll schreiben, weg von FTP, SSL usw. - Weg von Standards eben.
Je weniger von der Sache bekannt ist desto mehr hat der "Hacker" damit zu kämpfen was überhaupt abläuft!

Jede öffentliche Verschlüsselungsmethode wird irgendwann geknackt werden, oder liege ich da falsch?

Es ist zwar gut jede Sicherheitslücke zu vermeiden aber für kleine Freeware-Tools sehe ich das jetzt nicht so tragisch (wenn die Nutzerzahl nicht gerade imens hoch ist). Schlimmer sind doch da wohl die unverschlüsselten W-Lan-Netzwerke!

Gruß
Noob23

_________________
Man streitet zwar noch über die Entstehung der Erde -
Aber über den Untergang sind sich doch schon alle einig...