Join fachinformatiker.de Forum Now
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 15 von 36

[FIAE] Update-Tool zum Akutalisieren kundenspezifischer Software

Diskussion über [FIAE] Update-Tool zum Akutalisieren kundenspezifischer Software in Abschlussprojekte der Kategorie Prüfungsforen; Hallo zusammen. Die Zeit ist nun reif, der Projektantrag muss gestellt werden. Ich danke Euch vorab, dass Ihr Euch meinen ...

  1. #1
    Reg.-Benutzer
    Reg.-Datum
    04.12.2008
    Beiträge
    179

    Standard [FIAE] Update-Tool zum Akutalisieren kundenspezifischer Software

    Hallo zusammen.
    Die Zeit ist nun reif, der Projektantrag muss gestellt werden.

    Ich danke Euch vorab, dass Ihr Euch meinen Antrag zu Herzen nehmt.

    Momentan hab ich Probleme mit der Formulierung, deshalb hört sich alles ein wenig knapp an. Vielleicht habt Ihr da noch "Denkanstöße"


    Projektantrag

    Projektbezeichnung (Auftrag/Teilauftrag):

    Erweiterung des sich bereits in der Entwicklung befindenden Service-Programmes „Programmname“.

    Die Update-Erweiterung soll es den Kunden der Firma XXX ermöglichen, bereits vorhandene Softwareprodukte als auch zukünftige Neuentwicklungen zu aktualisieren.

    Die Erweiterung wird wie auch das sich in der Entwicklung befindenden Programm - basierend auf dem .Net Framework 2.0 - mittels C# realisiert.

    Kurze Projektbeschreibung:

    Momentan wird die Software beim Kunden via Update-CDs aktualisiert. Diese werden 2 mal im Jahr versandt. Um den CD-Versand zu reduzieren, ist nun ein Tool zum Aktualisieren der kundenspezifischen Software von Nöten.

    "Programmname" wird vorerst nur das Durchführen und das Zurückspielen von Datensicherungen, sowie das Reparieren / Komprimieren von Datenbanken integriert haben.

    Ziel der Update-Erweiterung ist es, die beim Kunden bereits installierten Programme auszulesen und diese dem Anwender anzuzeigen. Durch Auswahl des entsprechenden Programmes, erfolgreicher Authentifizierung und der Überprüfung auf neuere Versionen, soll eine Verbindung zum Server der Fa. XXX aufgebaut und das Update heruntergeladen werden. Anschließend hat der Anwender die Möglichkeit, das Update zu installieren.

    Vor der Installation muss geprüft werden, ob möglicherweise Prozesse gestartet sind, welche die Installation verhindern könnten.

    Zusätzlich soll die Funktion bestehen, Lizenzen zu aktualisieren, um etwaige Sperrungen/Freischaltungen zu steuern.

    Projektumfeld:

    Als Entwicklungsumgebung dient Microsoft Visual Studio 2010, in dem mittels Team-Foundation-Server gearbeitet wird. Wie oben bereits erwähnt, werden die Erweiterung mittels C# realisiert.
    Die Zeitplanung hab ich vorab mal weggelassen, da bin ich mir noch nicht ganz schlüssig.

    Was meint Ihr? Meinungen bitte.

    Herzliche Grüße, icke

    Geändert von ickebins1989 (17.01.2012 um 16:16 Uhr)

  2. #2
    Reg.-Benutzer
    Reg.-Datum
    07.04.2011
    Beiträge
    110

    Standard

    Persönliche Meinung:
    Vielleicht kannst du etwas kürzere Sätze bilden, schließlich ist das keine wissenschaftliche Arbeit.
    Ich finde generell die Problemdarstellung in Ordnung, nur das Ziel könntest du vielleicht nicht unbedingt in einem Satz formulieren.
    Dort handelst du viele Punkte doch etwas zu schnell ab. (Wie gesagt, meine Meinung :-))

    Fachlich:
    Unter Projektumfeld musst du noch reinschreiben, dass du das Projekt in den Räumlichkeiten deines Betriebes machst.

  3. #3
    Reg.-Benutzer
    Reg.-Datum
    04.12.2008
    Beiträge
    179

    Standard

    Vielen Dank für Deine Antwort!

    Das mit dem schnellen Abhandeln ist mein Problem. Ich bin mir noch nicht ganz sicher, wie ich auf die einzelnen Punkte näher eingehen soll.

    Ich habe momentan nur die Befürchtung, dass sich das Alles nur bissel' zu wenig anhört, obwohl ja programmier-technisch mehr dahintersteckt.

    Was meinst Du?

  4. #4
    Moderator Java
    Reg.-Datum
    24.07.2007
    Beiträge
    8.251

    Standard

    Thema ist denke ich okay, aber wirklich bisschen sprachlich noch dran arbeiten. Ein Stichwort was mir da sehr wichtig ist: Integrität des Updates. Wie stellst Du sicher, dass das Update korrekt ist und woher kommt es. Denn wenn ich Deinem Tool ggf eine falsche URL unterschiebe, dann könnte ich somit die Tür für jegliche Art von Malware öffnen.
    We can only see a short distance ahead, but we can see plenty there that needs to be done. (Alan Turing)
    http://flashpixx.de

  5. #5
    Reg.-Benutzer
    Reg.-Datum
    07.04.2011
    Beiträge
    110

    Standard

    Zitat Zitat von ickebins1989 Beitrag anzeigen
    Ich habe momentan nur die Befürchtung, dass sich das Alles nur bissel' zu wenig anhört, obwohl ja programmier-technisch mehr dahintersteckt.
    flashpixx hat hier schon eine gute Antwort geliefert. Da steckt sicher mehr hinter.

    Prüfen, ob Programme schon installiert sind: Da sollten evtl. Wörter wie Registry-Pflege o.ä. fallen, da auf Windows.
    Wie erfolgt eine Überprüfung auf neuere Versionen? Über FTP? Oder Webservices (Gerade bei C#).
    Erfolgt der Download über http oder ftp? Was ist wenn ein Proxy zwischen geschaltet ist (Wobei das auch in die Doku kann).

    Lizenzmanagement alleine ist kein einfaches Thema. Wenn du Sperrung über die Ferne mit dieser Software steuern möchtest ist auch hier die Frage, wie du stetige Überprüfung der Lizenz gewährleisten kannst.

    Ich hoffe ich habe damit flashpixx's Intention richtig verstanden.

    Die Punkte musst du nicht bis ins kleinste Detail erläutern, aber du solltest auf jedenfall eine Sachen aufwerfen, damit die auch sehen, dass du dir über die Sachen Gedanken machst. Dann wissen die auch, dass mehr dahinter steht.

    Bis jetzt scheint es halt noch oberflächlich. Wenn du das genauer hinkriegst, dann wird auch die zeitliche Einteilung nicht mehr so schwer.

  6. #6
    Moderator Java
    Reg.-Datum
    24.07.2007
    Beiträge
    8.251

    Standard

    Zitat Zitat von Genodi Beitrag anzeigen
    Ich hoffe ich habe damit flashpixx's Intention richtig verstanden.
    Ja hast Du. Aber eben genau diese Fragen wäre im Rahmen der Durchführung zu klären, aber sie gehören in groben Zügen in den Antrag.
    Ich denke evtl auch solltest Du überlegen, wie Du sicherstellst, wie die Software prüfen kann, ob eben die richtige Lizenz drin ist, so wie Genodi beschreibt, wenn der Kunde z.B. die Software mit Hilfe einer Seriennummer freischaltet etc. (z.B. sollte der Schlüssel nicht mehrfach verwendet werden). Ebenso könnte man darüber sogar kundenspezifische Anpassungen steuern, da man den Kunden anhand der Nummer identifizieren kann.

    Also Download + Installation ist in 2min codiert, indem ich einfach via HTTP die Daten hole und dann einfach den Updatemechanismus aufrufe, z.B. Zip entpacken und Dateien kopieren. Also bitte das ganze mal unter dem Hintergrund "Lizenz" und "Sicherstellung der Integrität der Software" aufbauen. Das wäre dann nämlich wirklich ein sehr schönes und rundes Projekt. Es wird von Dir auch sicherlich nicht verlangt, dass Du es als ultimative perfekt durchdachte Releaseversion lieferst, wenn Du eine Teststellung mit einem entsprechenden Konzept lieferst und ggf noch ein bisschen Ausblick lieferst, dann ist das schon genügend.
    We can only see a short distance ahead, but we can see plenty there that needs to be done. (Alan Turing)
    http://flashpixx.de

  7. #7
    Reg.-Benutzer
    Reg.-Datum
    04.12.2008
    Beiträge
    179

    Standard

    Vielen Dank für die Beteiligung Eurerseits!

    um auf die Fragen einzugehen:

    Wie stellst Du sicher, dass das Update korrekt ist und woher kommt es. Denn wenn ich Deinem Tool ggf eine falsche URL unterschiebe, dann könnte ich somit die Tür für jegliche Art von Malware öffnen.
    Der Server liefert zusammen mit dem entsprechenden Update ein verschlüsseltes "Passwort" zurück. Die Entschlüsslung ist in der Software hinterlegt und prüft vor dem Download das Passwort auf Korrektheit. Nur dann können die Updates heruntergeladen und installiert werden.

    CRC-Checks fallen wohl ins Wasser, da bei einer umgeleiteten URL der Server auch das richtige CRC zum falschen EXE liefern könnte und die IP des Update-Servers sich auch einmal ändern könnte. Deshalb kann keine feste IP im Programm hinterlegt werden.

    Es wäre also nur möglich, falsche Updates unterzujubeln, wenn man die EXE dekompiliert, um an die Entschlüsslung zu gelangen und gleichzeitig die URL-Umleitung vornimmt.

    Einfache URL-Umleitungen z.B. durch Manipulation der Host-Datei oder Proxy-Server sollten somit ausgeschlossen sein.


    Wie erfolgt eine Überprüfung auf neuere Versionen? Über FTP? Oder Webservices (Gerade bei C#).
    Erfolgt der Download über http oder ftp?
    Per HTTP wird eine Datei gelesen, welche die aktuellen Update-Versionen beinhaltet. Der Download selbst erfolgt ebenso über HTTP. Per Post-Parameter wird ein Passwort, welches zur Prüfung der Berechtigung zum Download verwendet wird, übertragen.


    Wenn du Sperrung über die Ferne mit dieser Software steuern möchtest ist auch hier die Frage, wie du stetige Überprüfung der Lizenz gewährleisten kannst.
    Die Sperrungen/Freischaltungen werden durch eine DLL gesteuert. Diese befindet sich im entsprechenden Programmpfad und wird auch bei der Aktualisierung dort eingefügt. Jedes Programm prüft die Gültigkeit dieser Lizenz beim Programmstart.

  8. #8
    Moderator Java
    Reg.-Datum
    24.07.2007
    Beiträge
    8.251

    Standard

    Zitat Zitat von ickebins1989 Beitrag anzeigen
    Es wäre also nur möglich, falsche Updates unterzujubeln, wenn man die EXE dekompiliert, um an die Entschlüsslung zu gelangen und gleichzeitig die URL-Umleitung vornimmt.
    Ja und genau deswegen macht man das nicht !
    Ich geb mal das Stichwort "Signatur".
    We can only see a short distance ahead, but we can see plenty there that needs to be done. (Alan Turing)
    http://flashpixx.de

  9. #9
    Reg.-Benutzer
    Reg.-Datum
    04.12.2008
    Beiträge
    179

    Standard

    Zitat Zitat von flashpixx Beitrag anzeigen
    Ja und genau deswegen macht man das nicht !
    Ich geb mal das Stichwort "Signatur".
    Kannst Du da ein wenig näher drauf' eingehen?

    Meinst Du damit PublicKey / PrivateKey oder das Signieren der Assembly? Letzteres würde wohl nicht brauchbares zum Thema beitragen.

    Der Gedanken an Signatur (Public-Key/Private-Key) ging mir auch schon durch den Kopf, war aber beim ersten Gedankengang ein wenig zu hoch gegriffen.

  10. #10
    Moderator Java
    Reg.-Datum
    24.07.2007
    Beiträge
    8.251

    Standard

    Zitat Zitat von ickebins1989 Beitrag anzeigen
    Meinst Du damit PublicKey / PrivateKey oder das Signieren der Assembly?
    Digitale Signatur wäre das was ich benutzen würde und weiterhin wäre zu überlegen anstatt HTTP eher HTTPs zur Übertragung zu verwenden, vor allem wenn Du Lizenzschlüssel / kundenbezogene Daten ggf mit übertragen musst
    We can only see a short distance ahead, but we can see plenty there that needs to be done. (Alan Turing)
    http://flashpixx.de

  11. #11
    Reg.-Benutzer
    Reg.-Datum
    18.01.2012
    Beiträge
    9

    Standard

    eventuell bietet sich auch ssh oder ähnliches an, SSL hat aktuell einen schlechten Ruf
    -----------------

    MfG bastelfreak

  12. #12
    Moderator Java
    Reg.-Datum
    24.07.2007
    Beiträge
    8.251

    Standard

    Zitat Zitat von bastelfreak Beitrag anzeigen
    eventuell bietet sich auch ssh oder ähnliches an, SSL hat aktuell einen schlechten Ruf
    Belege einmal diese Aussage. Ich sehe beil SSL kein Problem, warum man auf den Einsatz verzichten sollte.
    We can only see a short distance ahead, but we can see plenty there that needs to be done. (Alan Turing)
    http://flashpixx.de

  13. #13
    Reg.-Benutzer
    Reg.-Datum
    18.01.2012
    Beiträge
    9

    Standard

    Bei den großen Zertifizierungsstellen würde ich kein Zertifikat mehr kaufen, die fallen ja regelmäßig um. Siehe Comodo, KPN, Diginotar, Digicert und irgendwelche Italiener die mir nicht einfallen. Dann gibts noch das Programm BEAST zum knacken von HTTPS Verbindungen. Tool soll SSL-Cookies in zehn Minuten knacken | heise Security
    -----------------

    MfG bastelfreak

  14. #14
    Moderator Java
    Reg.-Datum
    24.07.2007
    Beiträge
    8.251

    Standard

    Ich denke mal sollte sich da jetzt nicht verrückt machen, nur weil es gelungen ist, SSL auszuhebeln. Rein real müsste man eine Riskanalyse machen, wie wahrscheinlich dieser Fall auftritt. Ich halte es für absolut falsch, wegen einer solchen Meldung auf SSL zu verzichten.
    Das Argument mit den Zertifikaten ist sicherlich zu beachten, ist aber letztendlich aber ein "Konfigurationsproblem", denn theoretisch kann ich auch meine eigene PKI aufbauen.

    Ich sehe somit keinen Grund, warum man auf SSL verzichten sollte bzw. was wären für Alternativen vorhanden. Wenn ich jetzt einmal SSH / SCP anführe, dann hab es vor einiger Zeit dort ebenfalls ein Problem bei Debian-Distributionen ( Schwache Krypto-Schlüssel unter Debian, Ubuntu und Co. | heise Security ). Natürlich sollte man solche Problematiken in die Planung einbeziehen, aber deswegen auf verschlüsselte Verbindungen oder Signaturen zu verzichten, halte ich für gefährlicher
    We can only see a short distance ahead, but we can see plenty there that needs to be done. (Alan Turing)
    http://flashpixx.de

  15. #15
    Reg.-Benutzer
    Reg.-Datum
    18.01.2012
    Beiträge
    9

    Standard

    Komplett auf Verschlüsselung zu verzichten halte ich ebenfalls für fahrlässig. SSL mit eigener PKI wäre wohl vertretbar.
    -----------------

    MfG bastelfreak

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Tool zur Verwaltung von DB Update Skripten
    Von Yakuzza im Forum Datenbanken
    Antworten: 8
    Letzter Beitrag: 20.02.2012, 14:44
  2. Tool/Software zur Lüftersteuerung
    Von eska83 im Forum Anwendungssoftware
    Antworten: 2
    Letzter Beitrag: 01.11.2005, 10:11
  3. Software Update Service (SUS) - Domäne?!?
    Von Desperando im Forum Windows Betriebssysteme
    Antworten: 6
    Letzter Beitrag: 01.12.2003, 12:52
  4. Software Update Services
    Von duisburg6681 im Forum Abschlussprojekte
    Antworten: 4
    Letzter Beitrag: 21.11.2003, 13:46
  5. www.susserver.de software update services
    Von duisburg6681 im Forum Windows Betriebssysteme
    Antworten: 2
    Letzter Beitrag: 20.11.2003, 00:24