Laden...

hilfe bei auswahl eines Datenbanksystems | im laufe der diskusion ergebn => sicherheit der app

Erstellt von =>- techno_prog -<= vor 16 Jahren Letzter Beitrag vor 16 Jahren 5.557 Views
=
=>- techno_prog -<= Themenstarter:in
67 Beiträge seit 2006
vor 16 Jahren
hilfe bei auswahl eines Datenbanksystems | im laufe der diskusion ergebn => sicherheit der app

Hi an alle es ist mal wieder euer expertenwissen gefragt,

hab eigentlich schon öfters mit datenbanken aus meinen .net programmen gearbeitet, meist mysql bzw mssql,access etc.

nun weis ich aber nicht was für mein momentanes projekt am besten geeignet ist, ich habe eine kleine software die auf sehr vielen rechnern installiert wird, diese sind aber absolut abgetrennt und liegen auch nicht an den gleichen standorten, werden zum großteil rechner im privaten haushalt sein. nun möchte ich keinem user zumuten das Sie ein Datenbanksystem installieren, und einrichten müssen da dies nicht kundenfreundlich meiner ansich nach ist, also brauch ich eine Dateisystem basierente Datenbank oder änlich die halt keine installation braucht und möglichst sicher da der user nicht in die Datenbank kommen darf, ein eigenes Datenbank system möchte ich jetzt auch nicht schreiben da mir das zu viel aufwand ist. die datenbank muss möglichst so sein das ich sie vor produktauslieferung selber gestalten kann und dan einfach mit ins setup packe.

wäre nett wenn ihr mir sagen könnt was ihr mir hier empfehlen würdet

gruß pascal
aus dem schönen mittelfranken

So fals ihr Rechtschreibfehler endeckt dürft ihr Sie gerne behalten 😁
Bin nämlich legastheniker und hab von denen genügend X(

1.564 Beiträge seit 2007
vor 16 Jahren

Hallo Pascal

Ich würde für diesen Anwendungsfall eigentlich ne einfach Access-Datenbank empfehlen. Ich erinnere mich dunkel, dass man die auch "sichern" kann (ich glaube das waren irgendwelche "*.mde" Dateien).

Grüße
Flo

Blog: Things about Software Architecture, .NET development and SQL Server
Twitter
Google+

Je mehr ich weiß, desto mehr weiß ich was ich noch nicht weiß.

3.971 Beiträge seit 2006
vor 16 Jahren

Wenn es was kleines und nichts mit Installation sein soll, würd ich einfach XML empfehlen und dein Zugriff dadrauf manuell/individuell gestalten. Ansonsten einfach XML und DataSet kombinieren

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...

K
50 Beiträge seit 2006
vor 16 Jahren

also ich persoenlich wuerde von access abraten. hatte schlechte erfahrungen damit gemacht. ich kann zum beispiel die MS SQL 2005 Compact Edition empfehlen. bei dem system braucht man auch keine spezielle software beim benutzer installieren. man kann einfach die ganzen DLL's mit ins projekt einfuegen. und die datenbank ist wirklich sehr klein. (so um die paar hundert kilobyte!)

gruesse

T
219 Beiträge seit 2006
vor 16 Jahren

Sieh Dir mal Firebird embedded an. Da ist alles dabei an DLL was man braucht. Ich verwende das sehr gerne, weil nichts installiert werden muss, es nichts kostet und mit wenigen "Handgriffen" mit der gleichen Datenbankdatei das Ganze als Client/Server machen kann ,falls das mal verlangt wird.

Thomas

=
=>- techno_prog -<= Themenstarter:in
67 Beiträge seit 2006
vor 16 Jahren

Hi erst mal danke für die antworten

@kleines_eichhoernchen daran hab ich auch scho gedacht aber wie sichere ich die daten ab das der user sie 1. nicht einsehen kann 2. nicht ändern kann, vorteil einer db ist halt das da die daten nicht im klartext drinnen stehen, vieleicht hab ich mich falsch ausgedrückt die anwendung ist klein kann aber leicht sein das in der datenbank mal so 10k bis 20k datensätze insgesamt platz finden müssen,

so access kann ma absichern dies ist mir bekannt, problem ist nur was mir aufgefallen ist wenn viel auf der datenbank gearbeit wird, steigt diese sehr schnell im bereich der dateigröße da anscheinen viel gespeichert wird.

jatzt mal an kacknerd & tomtom62 wie funktioniert das mit den dll's werden da die daten in die dll geschrieben oder wie schaut das aus könnt ihr mir da mal links zu beispielen oder so was geben danke, sind die beide lizenzfrei oder brauch ich da spezielle lizenzen, bzw. kosten die was?

So fals ihr Rechtschreibfehler endeckt dürft ihr Sie gerne behalten 😁
Bin nämlich legastheniker und hab von denen genügend X(

K
50 Beiträge seit 2006
vor 16 Jahren

also das mit den dlls ist so: du fuegst die einfach zu den references hinzu und kopierst sie ins anwendungsverzeichnis. die dlls dienen ja lediglich fuer den zugriff. bei mssql 2005 ce brauchst dann nur noch die eigentlich datenbank datei ( *.sdf ). die kannst du auch mit dem sql server management studio oeffenen und veraendern bzw. auch im Visual Studio direkt.
also soweit ich weiss ist das alles auch kostenlos.

MSDN

Download

F
10.010 Beiträge seit 2004
vor 16 Jahren

Access verschlüsselung ist in nullkommanix geknackt.

De vom SqlServer Compact ist da schon besser.
Auch SQLite lässt sich mit dem .NET-Provider verschlüsseln.

=
=>- techno_prog -<= Themenstarter:in
67 Beiträge seit 2006
vor 16 Jahren

danke für die schnelle antwort schau ich mir mogen abend noch ma an dan meld ich mich wieder bis dan

So fals ihr Rechtschreibfehler endeckt dürft ihr Sie gerne behalten 😁
Bin nämlich legastheniker und hab von denen genügend X(

T
90 Beiträge seit 2007
vor 16 Jahren

hi bin der gleiche wie oben nur mein Arbeits account ^^ (=>- techno_prog -≤ )

hab mir jetzt mal zu MS SQL 2005 Compact Edition die links angeschaut und des hört sich ganz gut an, noch ne kleine frage hab ich hab ich da den gleichen befehls syntax wie beim normalen sql server zu verfügung, und wie verhält sich die datei wenn viel drauf gearbeitet wird, hat die dan das gleich problem wie access das mir die db irgendwan abschmiert?

aber tortzdem vielen dank an euch alle die mir helfen wollten

Wer Rechtschreibfehler findet darf sie gern behalten 😄, bin froh wenn ich Sie loswerde 👅 😉

L
770 Beiträge seit 2006
vor 16 Jahren

Hallo,

  1. ist es echt nötig für eine Person 2 Accounts zu machen? Ich verwende meinen auf der Arbeit, daheim, bei freunden etc etc (würde sogar mit laptop auf dem Klo verwenden und nicht einen Acc "Lion1984@WC" machen ..

Und was meinst du mit Befehlssyntatx? die im C# Programm oder der SQL Syntax? Der SQL Syntax ist doch bei fast jedem DB System annähenrnd gleich.

Und bezüglich des "abschmierens" ich denke, wenn man das ordenltich programmiert, gibts da keine Probleme.

lg

lg Lion

W
32 Beiträge seit 2007
vor 16 Jahren

wie bereits gesagt
SQlite oder Firebird embedded, wobei mir SQlite viel besser gefällt.

"Arbeit ist die altmodische Form der Vermögensbildung in Arbeitnehmerhand."

Wolfram Weidner (*1925), dt. Journalist

T
90 Beiträge seit 2007
vor 16 Jahren

Hi 1 wegen den 2 acc's ich hab beim ersten so ein beschissenes passwort und des kann ich mir nicht merken und habs bis jetzt auch immer vergessen mit in die arbeit zu nehen ok ich geb zu da bin ich a weng schusselig 🤔 😁
aber das is ja net das thema

mit syntax hab ich den SQL gemeint wollt wissen ob ich da nur einen eingeschränkten syntax hab oder den gleichen vorrat wie beim normalen sql server,

und wegen dem db abschmieren, das wahr so gemeint hab bemerkt das access bei mehreren 10k datensätzen die fast dauernt verändert werden irgendwann nicht mehr mit kommt und dan scheise baut, genauso wird da ja immer alles gespeichert was geändert wird bis ma die datenbank bereinigen lässt

Wer Rechtschreibfehler findet darf sie gern behalten 😄, bin froh wenn ich Sie loswerde 👅 😉

K
50 Beiträge seit 2006
vor 16 Jahren

also ich hatte keine probleme bis jetzt und bei uns hat die db auch n paar tausend eintraege.

zum problem mit den 2 accounts:
wie waers mit 'passwort vergessen' und danach 'passwort aendern' ? 8)

der syntax ist eigentlich der gleiche. mir hat nur einmal was gefehlt das war aber irgendwie spezielle syntax die ich noch nie davor gesehen hab. (war bei der konvertierung zu sql 2005 ce...)

ist halt die normale SQL syntax. der namenspace ist einfach statt Sql -> SqlCe
also zum beispiel SqlCeConnection anstatt SqlConnection

T
219 Beiträge seit 2006
vor 16 Jahren

Original von =>- techno_prog -≤
jatzt mal an kacknerd & tomtom62 wie funktioniert das mit den dll's werden da die daten in die dll geschrieben oder wie schaut das aus könnt ihr mir da mal links zu beispielen oder so was geben danke, sind die beide lizenzfrei oder brauch ich da spezielle lizenzen, bzw. kosten die was?

Nein, das kostet nichts ist OpenSource. Du kopierst alle DLL, die zum Paket gehören in das VErzeichnis Deiner Anwendung, das ist alles.

Es wird dann im Programm mittels createDatabase eine Datenbank erzeugt, ähnlich wie bei Access nur ungleich stabiler -). Du kannst auch SQLLite nehmen, aber wie gesagt bei Firebird ist es einfach bei Bedarf das ganze Netzwerkfähig zu machen.

Infos zu Firebird und .Net findest Du z.B. unter http://www.dotnetfirebird.org.

Thomas

F
10.010 Beiträge seit 2004
vor 16 Jahren

@techno_prog:
Wenn Du eine DB hast, die bei mehreren 10K Datensätzen ständig Änderungen
macht, ist das design schon von vornherein nicht für eine der Filebasierten Datenbanken ausgelegt.

Auch ein "echter" server ist nicht wirklich für soetwas gedacht.
Vielleicht solltest Du über einen Appserver nachdenken, der diese ständigen Änderungen "nur" cached und nur beim rauf/runterfahren in eine echte DB schreibt.

T
90 Beiträge seit 2007
vor 16 Jahren

also hab mir jetzt alles infos geholt wo ich brauch und weis bescheid, hab mich für den SQL 2005 Compact entschiden, hört sich ganz gut an.

und noch ma zu der datenmenge, @FZelle, während das prog läuft werd ich warscheinlich sowiso in alles in der App Handeln und nur bei speicheroberationen etc. auf die db zugreifen.
server will ich wie gesagt nicht installieren da dies nicht kundenfreundlich ist, ich persönlich hasse auch so kleine anwendungen die immer nen server brauchen, na gut ich hab ne anung davon aber wie viele endverbraucher gibt es bei dennen es nicht so ist. ein weiterer grund ist es kann auch sein das nur 50 datensätze rein kommen kommt ganz auf den anwender an und dafür lohnt sich kein server.

vielen dank an alle die mir geholfen haben und für eure beiträge.

wegen 2 acc noch ma, wenn ich jetzt scho 2 hab dan kann ich die ja auch benutzen sonst währ der name ja umsonst vergeben worden ^^

schöne grüße aus dem verschneiten franken

euer Pascal ( techno_prog )

Wer Rechtschreibfehler findet darf sie gern behalten 😄, bin froh wenn ich Sie loswerde 👅 😉

3.825 Beiträge seit 2006
vor 16 Jahren

Hallo Pascal,

ich würde Dir auch SQL Server Compact empfehlen. Kostet nix. Ist sicher schneller und stabiler als Access.

Die Compact Datenbank kannst Du einfach bei Deinem Projekt mit an die Kunden ausliefern (Datei mit Endung sdf).

Der SQL-Syntax ist NICHT der Gleiche wie bei dem SQL Server. 😦

Schau auch mal hier : http://www.seven-c.de/files/datenbankenhowto.htm

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

=
=>- techno_prog -<= Themenstarter:in
67 Beiträge seit 2006
vor 16 Jahren

Also das musste ich jetzt loswerden, ich gebe allen recht die access hassen weil es nicht sicher ist hab ein 20 zeichen langes pw eigegeben mit sonderzeichen etz. und mit nen knacker versucht zu knacken hat nicht ma ne sekunde gebraucht für des pw, jetzt bin ich echt schockiert

also wenns sicher sein soll ja nie mehr access
nem des von MS SQL

So fals ihr Rechtschreibfehler endeckt dürft ihr Sie gerne behalten 😁
Bin nämlich legastheniker und hab von denen genügend X(

F
10.010 Beiträge seit 2004
vor 16 Jahren

Du solltest dann aber auch auf keinen Fall einen Sql-Server (2005 oder Express)
nehmen, denn die Verschlüsseln ( normalerweise ) garnicht.

Jeder Admin kann da alles lesen.

Es gibt da zwar möglichkeiten, aber die sind echt aufwändig.

915 Beiträge seit 2006
vor 16 Jahren

Hrm, hatte mir überlegt was ich dazu schreiben soll.

Im Prinzip ist es egal ob MSSQL, MYSQL, Access oder etwas anderes, sicher ist davon nichts. Es reicht wenn du drei Dinge beherzigst, wichtige Passwörter verschlüsseln, SHA1 oder MD5 (auch MD5 ist nicht absolut sicher). Und deine fertige *.Exe Datei deiner Anwendung obfuskieren und deinen DBUser ein Passwort vergeben (also es reicht nicht aus User: sa PW: sa 😉 ).

Mehr aufmerksamkeit in Bezug auf Sicherheit braucht man für einen normalen Endanwender nicht investieren. Schlussendlich gibt es absolut gar nichts was sicher ist.

Irgendwo gibt es immer die Möglichkeit einen neuen DB Benutzer zu erstellen, via SQL Abfragen in einem DB-Binding Field abzufragen, mit Assembler ein True False umzustellen usw. Also, wenn du Access als gut portierbar kennen gelernt hast, nutze es.

Wie vernichtet stand Andreas unter den flammenden Augen seiner Kunden.
Ihm war's, als stünde des Schicksals dunkle Wetterwolke über seinem Haupte X(

W
25 Beiträge seit 2006
vor 16 Jahren

Ich stimme den Vorrednern insoweit zu, dass Access nicht sonderlich sicher ist.
Performance - mäßig ist Access besser, als sein Ruf. Ich habe im Betrieb einige Access - Anwendungen seit Jahren am laufen, ohne dass es zu größeren Problemen kommt. Wir stellen aber jetzt aus Gründen der Sicherheit usw. nach und nach auf C#.Net / SQL Server um.

Passwortknackprogramme befinden sich zu Hauf im Internet. Kommt aber m.E. auf die User an. Sind es Privatleute, denen es 'einfach' reicht, wenn die Software läuft, reicht m.E. auch Access aus. Leute mit krimineller Energie kriegen alles irgendwie auf und können ggfls. auch dein Programm dekompilieren usw.

Access hätte den Vorteil, dass Du damit Deine Erfahrungen hasst.
Für den privaten Bereich ist ist eine Access - mdb/mde völlig ausreichend.

B.t.w:
Warum legst Du so großen Wert darauf, das Datenbankmodell vor dem Anwender zu verstecken? Was sollte der Anwender damit anfangen können? Ich kenne das bei vielen SW - Herstellern, dass diese das Datenmodell offenlegen.

Mit freundlichen Grüßen

Walter Grimm

=
=>- techno_prog -<= Themenstarter:in
67 Beiträge seit 2006
vor 16 Jahren

Hintergrund ist der ich soll eine software für eine gewisse firma in einen Banchebereich entwickeln, in dieser branche bassiert sehr viele programminstancen auf der gleichen grundstrucktur (internetbereich), nun soll das programm natürlich nicht von fremdfirmen manipuliert werden damit es auch von ihnen genutzt werden kann, daher der möglichst hohe sicherheitsstandart.

das ma die sql nicht verschlüsseln kann wust ich nicht und hab ich auch eigentlich auch nicht so vor gehabt muss ja eigentlich nur nen extra user drauf setzen, damit nur der des öffnen kann und klartextpässworter sind ja sowiso mist mach meist alles auf md5 des geht momentan eigentlich noch,

und das ich des prog nicht 100% sicher bekomm ist klar aber umso schwieriger es ist zu knacken um so besser da, dan die eigenentwicklung der firma weniger kostet.

So fals ihr Rechtschreibfehler endeckt dürft ihr Sie gerne behalten 😁
Bin nämlich legastheniker und hab von denen genügend X(

=
=>- techno_prog -<= Themenstarter:in
67 Beiträge seit 2006
vor 16 Jahren

Hi an alle ich bins schon wieder da es um die gleiche DB geht will ich keinen neues thema erstellen 😉, hab ne sdf datei erstellt wahr ja kein probelm und hab auch ihn ihr was verändert das stellt ja bis jetzt keine schwirichkeit dar, nun hab ich mir gedacht um des a weng sicherer zu machen verschlüssel ich mir die selber, soweit so gut, aber wenn ich die datei mitn StreamReader lese und mitn StreamWriter 1:1 wieder schreibe dan sagt er dauernt das die db beschädigt ist woran kann das liegen wenn ich die 1:1 schreib ohne veränderung oder sollte ich besser etwas anderes nehmen zum lesen bzw schreiben. gruß pascal

So fals ihr Rechtschreibfehler endeckt dürft ihr Sie gerne behalten 😁
Bin nämlich legastheniker und hab von denen genügend X(

F
10.010 Beiträge seit 2004
vor 16 Jahren

Tja, du wirst den Fehler gemacht haben, die Datei per Read und Write zu lesen/Schreiben.
Das ist aber Text, wird also Convertiert.

Nur wozu?
Die Verschlüsselung des Sql-ServerCompact ist, mit einem vernünftig langen
schlüssel noch nicht geknackt.
Du müsstest es also nichteinmal selber machen.

=
=>- techno_prog -<= Themenstarter:in
67 Beiträge seit 2006
vor 16 Jahren

hast recht hab des damit gemacht is ja eigentlich logisch das der dan mist baut, habs aber auch mit BaseStream der mir nen Stream zurückgiebt versucht hat auch nicht hingehauen, was kann ma da anderes nehmen, die Stream und Binary klassen sind die einziegen die ich kenn,

also ich hab zwar ein 25 zeichen langes pw vergeben, und auf verschlüsseln gestellt aber ich trau dem nicht ganz und wenn ich mir einen eigenen verschlüsselungs algoritmus einfallen lass ist des scho viel schwerer zu knacken da dies ja ein selbst ausgedachter ist und nicht einer den du überal findest!

gruß pascal

So fals ihr Rechtschreibfehler endeckt dürft ihr Sie gerne behalten 😁
Bin nämlich legastheniker und hab von denen genügend X(

F
10.010 Beiträge seit 2004
vor 16 Jahren

Und du glaubst, ein eigener Verschlüsselungsalg. in C# in deinem Source compiliert
ist schwer zu knacken?

Du kennst den reflector?

Glaube mir, der vom Sql-Server compact ist besser, denn der ist in nicht
managed Dateien enthalten.

=
=>- techno_prog -<= Themenstarter:in
67 Beiträge seit 2006
vor 16 Jahren

ne reflector kenn ich net was ist das?
ich sag net das der besser ist aber wenn ich erst mit sql verschlüssle und dan mit meinem, dachte ich,

wenn reflector ein tool ist womit ma die exe dekompalieren kann hab ich so und so ein problem da ja da drinnen des pw zur db steht

gruß pascal

So fals ihr Rechtschreibfehler endeckt dürft ihr Sie gerne behalten 😁
Bin nämlich legastheniker und hab von denen genügend X(

2.760 Beiträge seit 2006
vor 16 Jahren

Du kannst deinen Code Obfuscaten (Schreibt man das so).
Ja, mit dem Reflector kannst du dir eigentlich so jedes Assembly im Source anschauen (VB, C#, Delphi usw..) 😉

Schau dir das mal an:
http://www.microsoft.com/germany/msdn/library/security/DecompilerUndObfuscator.mspx?mfr=true

=
=>- techno_prog -<= Themenstarter:in
67 Beiträge seit 2006
vor 16 Jahren

Also hab mir das grade mal durchgelesen und bin wirklich geschockt hät ich des vor meiner ausbildung gewust hät ich c++ gelernt, da frag ich mich warum mach ich mir die mühe und leg irgendwelche passwörter fest wenn ich mit nen aufwand von 3 stunden des programm als projekt vorliegen haben kann,

die 3 stunden deshalt:
des programm Remotesoft .NET Explorer kann man bestimmt ilegal downloaden, dauert heutzutage grad mal ne halbe stunde, dan des dekompalieren des codes noch ma ne halbe stunde, dan hab ich die source schon nach ner stunde und kann so wochenlange arbeit zu nichte machen, und dan debug ich mich durchs programm 2 stunden und hab ungefähr ne ahnung wies funktioniert, des kann doch net sein dachte mir scho immer das diese algemeingültige .Net sprache der Assembly nicht so sicher sein kann aber das des so leicht is ist ja wirklich der hammer!!!

also denk ich hat sich dan hier auch die frage der sicherheit von selbst erledigt weil sicher bekomm ich des ja nicht nur über den umweg wie im artikel beschrieben das ich des ding mit dem tool von Remotesoft verschlüssel und über ein PW wider zur laufzeit entschlüssel das man allerdings immer eingeben muss!

gruß pascal

:edit:

mal noch ne frage was muss ich beachten wenn ich des ding in Native Maschinencode mit dem prog von microsoft Ngen.exe überstze, heist des dann das ich für jeden prozessor type, hersteller etc. oder für jedes board eine eigene exe brauch oder hat des nur mit dem 32 bit bzw 64 versionen der Betribssysteme was zu tun, denke mal für die einzelnen windowsversionen brauch ich dan auch ne eigene exe

So fals ihr Rechtschreibfehler endeckt dürft ihr Sie gerne behalten 😁
Bin nämlich legastheniker und hab von denen genügend X(

F
10.010 Beiträge seit 2004
vor 16 Jahren

Der Reflektor, den wir meinen ist kostenlos und kann das alles auch( mit plugins).

2.
ngen übersetzt auf der maschine, du kannst aber den .NET - Code nicht
löschen, es ist aso vollkommen ungeeignet für deine Zwecke.

3.
Bist du selber schuld.
Diese Diskusion gibt es seit es .NET gibt, und wird hier ständig wieder neu angefangen.

T
90 Beiträge seit 2007
vor 16 Jahren

Hi zitat von der webseite

.....Wer die Lösung in nativem Maschinencode sieht, kann auf das Tool Ngen.exe der .NET-Laufzeit zurückgreifen und sicher sein, dass ein Dekompilieren kaum möglich ist, muss jedoch auch alle Nachteile in Kauf nehmen, die mit der Auslieferung von nativem Maschinencode einhergehen:......

hab ich des jetzt falsch verstanden ich interpretiere des so, das ich wenn ich des mit Ngen übersetzen lasse, sich die pervormence verschlechtert aber des nicht mehr Dekompiliert werden kann oder besser gesagt kaum!

hab mitlerweile auch schon rausgefunden was die abhängigkeiten sind und das des viele bei der installation der software machen lassen, kann ich wenn ich des gemacht hab wohl die .net exe dan nicht löschen benötigt der die dan immer noch kann des leider nicht testen deswegen die ganzen theoriefragen.

und wegen dem c# / c++ vor 4 jahren befor ich die ausbildung gemacht habe hatte ich in dem bereich noch net so viel ahnung hatte mich damals nur mit vb beschäftigt, gruß pascal

Wer Rechtschreibfehler findet darf sie gern behalten 😄, bin froh wenn ich Sie loswerde 👅 😉

3.825 Beiträge seit 2006
vor 16 Jahren

und dan debug ich mich durchs programm

Das geht bei jedem Programm, so sind die Computer. Bei Sprachen die nur zum Teil kompiliert werden ist es besonders einfach.

Es gibt ein programm das am Timing feststellt dass man sich das Ganze im Debugger anschaut und dann das Programm beendet. Das kostet aber Geld.

Was für geheime Daten speicherst Du denn ab ?

Im Normalfall würde ich auch die SQL Compact Verschlüsselung empfehlen, die sollte reichen.
Wichtig ist wie Du die Kennwörter speicherst. Bitte nicht im Source im Klartext.

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

T
90 Beiträge seit 2007
vor 16 Jahren

Is mir schon klar das es solche programme gibt, und das mitn geld is ja sowiso kein grund da wenn jemand dein tool illegal knackt, wird er sich die tools dafür ja kaum legal geholt haben.

wie sollte ich den des pw sichern, situation is folgenden ich hab eine exe die auf belibig vielen rechnern liegt die erstmal keine internetverbindung haben jetzt muss ich logischerweise des pw irgendwie ins porgramm bringen verschlüsseln im programm bringt ja auch nix weil wenn die progdaten gelesen werden können kann ma auch des pw entschlüsseln, auserdem darf der endbenutzer der die exe verwendet das pw nicht kennen da er sonst die datenbank öffnen kann und er darf ja nicht an die db kommen,

jetzt noch ma zur letzten frage hab ich dies nun falsch verstanden??

:edit:
in der db werden verbindungsdaten, ablaufzeit etc. gespeichert wie gesagt der user sollte möglichst nicht ran kommen damit er diese nicht manuel ändern kann! mal ne frage wie machen das große konzerne die in .net entwickeln wie schützen die die software gegen dekompalieren

Wer Rechtschreibfehler findet darf sie gern behalten 😄, bin froh wenn ich Sie loswerde 👅 😉

L
770 Beiträge seit 2006
vor 16 Jahren

Hallo,

was BerndFfm gemeint hat, ist eher das gegenteil.. Es gibt Tools die das Debuggen blockieren, und diese kosten geld.

Ansonsten darf ich dich mal bitten etwas mehr Satzzeichen zu verwenden? 🙂

Es gibt schon einen Thread, wie man sowas "am besten" abspeichern könnte bzw. wenn du danach suchst kommen einige Threads. unter anderem hier: [FAQ] DB-Passwort/Connection-String sicher speichern

lg

lg Lion

T
90 Beiträge seit 2007
vor 16 Jahren

Hi hab jetzt mal suche bemüht zum thema pw sicher speichern,
bin nicht wirklich draus schlau geworden,
und beim link den du mir gepostet hast sind ja auch keine infos drinnen,
sind angefangene themen die aber nicht gelöst wurden meines erachtens nach.

hab zwar gelesen das sie die daten verschlüsselt extern abspeichern bringt aber genausoviel als wenn ich des ding hardcodet im programm schreib weil wenn ich des prog knack hab ich den verschlüsselungs algoritmus!

Wer Rechtschreibfehler findet darf sie gern behalten 😄, bin froh wenn ich Sie loswerde 👅 😉

2.760 Beiträge seit 2006
vor 16 Jahren

Der Anwender/ Das Programm muss ja zwangsläufig mit den Daten aus der DB Arbeiten also werden sie auch irgendwann, irgendwo unverschlüsselt im Speicher landen. Wenn es jemand darauf anlegt an die Daten zu kommen und genug Ahnung hat dann wird er auch dran kommen.
Deswegen gibt es z.B. Zertifikate und der Gleichen allerdings setzen auch diese Voraus das man seinem Anwender traut.

mal ne frage wie machen das große konzerne die in .net entwickeln wie schützen die die software gegen dekompalieren

Auch nur mit den selben Mitteln die dir zur Verfügung stehen. Konzerne und viele andere Menschen nutzen das dotnet Framework schlicht zur Produktivitätssteigerung, das gleiche Problem (wenn auch etwas schwieriger zu Dekompilieren) hättest du allerdings auch mit unmanaged code (VB/C++/Delphi) und auch Java ist da nicht besser.

Sieh dir z.B. das hier mal an:
http://www.codeproject.com/csharp/sojaner_memory_scanner.asp

Das ist eine Problematik die du sowieso in jeder Programmiersprache hast.

Was z.B. wären denn die Folgen wenn jemand an die Datenbank kommt? Evtl. musst du auch nur mal deine Architektur überdenken und dir genauer überlegen welche Daten du wem an die Hand gibst (nicht nur durch Verschlüsselung).

Und noch etwas was ganz gut zu dem oben gepoteten Link passt:
http://www.codeproject.com/csharp/minememoryreader.asp

T
90 Beiträge seit 2007
vor 16 Jahren

warum die datenbank möglichst nicht erreichbar sein soll hab ich oben schon ein paar mal geschrieben, das man die daten trotzdem bekommt mit sowas ist klar dieses risiko kann man nie aus dem weg räumen,

nochmal warum: in der DB liegt wie lang die Software gültig ist, dan die verbindungsdaten zu einen webserver wobei diese nicht so schlimm währen, und jede menge an vertraulichen informationen des endusers, und einige programminterne angelegenheiten,

so da die exe erweiterbar sein muss hab ich den weg über die db gewählt das ich bei einen update der software nur die einträge der db ändern bzw ergänzen muss, auserdem ist ein solches programm sehr begert da es für die jetztige plattform keine altanativen gibt, ausdem muss ich davon ausgehen das als erstes die software an programmierer geht die sie dan weitergeben etc. nun wird natürlich jeder der a weng a ahnung hat versuchen die software so zu manipulieren das er sie auch über den lizenzzeitraum nutzen kann.

und daher die ganzen sicherheits vorkehrungen, da die software nicht so teuer ist für einen lizenzzeitraum (2stelliger bereich) lohnt es sich meistens dan nicht die software zu knacken da dies teurer kommt als ne verlängerrung!

gruß pascal

Wer Rechtschreibfehler findet darf sie gern behalten 😄, bin froh wenn ich Sie loswerde 👅 😉

2.760 Beiträge seit 2006
vor 16 Jahren

und jede menge an vertraulichen informationen des endusers

Den Teil kannst du z.B. auslagern und den Kunden das Passwort vergeben und sichern lassen oder mit Zertifikaten arbeiten. Wenn ich das richtig verstehe arbeitet der Kunde mit diesen Daten ja auch, dann lass mal irgendwo ne SQL-Injection Lücke auftauchen die einer vor dir findet und er kommt auch an die Daten die er nicht sehen sollte.

Wäre für dein vorhaben nicht evtl. eine Registrierung von Vorteil?

da es für die jetztige plattform keine altanativen gibt

Also würde man z.B. auch einen Nachbau recht schnell ausfindig machen.

so da die exe erweiterbar sein muss hab ich den weg über die db gewählt das ich bei einen update der software nur die einträge der db ändern bzw ergänzen muss

Workflows? Ansonsten wüsste ich nicht wie du über eine Datenbank die Funktionalität erweitern willst.

=
=>- techno_prog -<= Themenstarter:in
67 Beiträge seit 2006
vor 16 Jahren

Hi des mit den getrenten datenbanken is ok da haste recht des werd ich jetzt auch so machen denk ich,

und wegen den erweiterungen die sind von vornherein drinnen und werden nur über die db freigeschalten, hab mir auch überlegt ob ich des mit z.B. dll's mach die ich dan dynamisch einbinde aber da is des problem gab ich einmal die dll raus kann die jeder einbinden bei sich also hätt ich dan nicht viel davon auser ich mach mir ne sig in die dll rein das währ auch ne möglichkeit.

ps ich lass jetzt das thema erst mal ruhen hab mir sogar noch weiter geholfen als ich zuerst wollte aber alle eure ideen und anmerkungen haben ja im prinzip alle was positives und werd versuchen des beste rauszufiltern, noch ma danke vorerst gruß pascal

So fals ihr Rechtschreibfehler endeckt dürft ihr Sie gerne behalten 😁
Bin nämlich legastheniker und hab von denen genügend X(

L
770 Beiträge seit 2006
vor 16 Jahren

Hallo,

gleich mal sorry für das posting,
aber ist deine Software sooooooooo viell wert bzw soo neu das sie so geschützt werden sollte?

Falls ja solltest du wohl auf einige prof. Lic. Tools zurückgreifen.

Falls nicht, was ist dein Zielgebiet der Anwendung?
Wenn hauptsächlich nur Entwickler sind haste sowieso ein schlechten Faden 🙂 denn wie gesagt, wenn einer will, dann kommt er an die Daten.

Ansonsten würde ich auch dem Enduser mal einen Username und PW verpassen, dann musste dies schon mal nicht irgendwoe fix hinterlegen.

lg

lg Lion