PDA

Vollständige Version anzeigen : "OWNERACCESS" Tester gesucht.....


erwin
01.12.2001, 17:04
Hallo zusammen !

Insbesondere von den Profis im Forum, würde ich mich freuen, wenn noch der eine oder andere ein "Auge draufwerfen" würde - THX - und mir "seinen Senf" zukommen lässt...
(erwin 5.12.2001 18:30 eingefügt)

Downloaden kann man die A97 + A2K Version hier:
<a href="http://www.ms-office-wissen.de/download/details.php?id=215" target="_blank">http://www.ms-office-wissen.de/download/details.php?id=215</a>
(erwin 16.09.2002 eingefügt)

Da ich unlängst mein Wissen bzgl. der Problematik "WITH OWNERACCESS OPTION" etwas vertieft habe, und die in <a href="http://support.microsoft.com/support/Access/Content/SECFAQ.asp">MS Secutity FAQ #25</a> angeregte Methode IMHO:

- recht einfach zu umgehen (via ext. MDB)
- recht aufwändig
- erst wieder nur mit best. MDW funktioniert

und somit lt. NG-Beiträgen von Michael Kaplan (Trigeminal) die ganze "OWNERACCESS "-Kiste in Jet eigentlich ein (nach seinen Worten) "no-op" ist, habe ich ein bisschen getüftelt um daraus vielleicht ein "alittle-op" zu machen. Ich bilde mir zumindest ein (lasse mich aber auch frustlos vom Gegenteil überzeugen), dass die von mir angewandte Methode zumindest um nichts "unsicherer" ist als MS Sec.FAQ #25 und nebenbei den Vorteil bietet, dass die "geschützte" App. OHNE spezielle MDW verwendbar ist.

Also bitte ich, alle Interessierten, sich die Sache mal anzuschauen - Downloadmöglichkeit: siehe oben !

Danke für's Mitmachen :) + so long erwin...

[ 16. September 2002: Beitrag editiert von: erwin ]

Res1999
01.12.2001, 17:22
Hallo Erwin

Schicke mir mal das Teil, ich bin sehr neugierig.

Christian

erwin
01.12.2001, 17:41
Danke fürs Mitmachen - ist schon unterwegs :)

Sascha Trowitzsch
01.12.2001, 23:24
Bitte ebenfalls um Sendung.

Gruß, Sascha

Scorefun
01.12.2001, 23:43
da ich ein lernwilligiger Freak bin, mich mit dieser Thematik auch noch nie beschäftigt habe...

neugier....

Danke

peppi
01.12.2001, 23:45
Hallo,

schließe mich dem Reigen der Neugierigen an.

AWSW
01.12.2001, 23:56
<<< will es gerne auch unter A2000 zerlegen :D

erwin
02.12.2001, 03:25
@AWSW - sorry noch etwas Geduld - da du die MDW nicht bekommst, kannst du's selber nicht nach A2K konvertieren und ich will erst mal auf ein paar Reaktionen warten, ob das überhaupt was taugt, bevor ich's konvertiere.

@all
Danke für's Interesse + viel Spass damit, gebt Bescheid, wenn ihr's geknackt habt ;)
wenn nicht - umso besser :D

so long erwin...

Giorgio
02.12.2001, 05:35
Hi Erwin,
darf ich mein Glück auch mal versuchen :D

erwin
02.12.2001, 09:38
klar doch ;)

erwin
02.12.2001, 14:16
@all

Das Beispiel (erwin.zip) sollte (noch etwas modifiziert) demnächst auch im Download-Bereich zu finden sein - wie lange dauert das denn idR. bis dort was auftaucht ?

so long erwin...

Phillip-Berlin
02.12.2001, 18:02
das geht schnell wenn du günther direkt anmailst

erwin
02.12.2001, 19:07
erstmal danke an alle, die sich per Mail + hier gemeldet haben !

Anhand der ersten Reaktionen, vielleicht noch ein paar erklärende Worte zur "erwin.mdb":

Ich habe die "erwin.mdb" bewusst relativ "offen" gelassen, damit man ein bisschen was erkennen kann, und auch direkt in dieser MDB "herumexperimentieren" kann. Es wäre natürlich ein Leichtes gewesen diese mdb so zuzumachen, dass man da nicht reinkommt (DB-Fenster, Menüs...) + auch keinerlei Recht als Anwender hat, in der akt. "erwin.mdb" was zu ändern/erstellen. Das "hüpfende Komma" an der WOA-Geschichte ist ja, dass IRGENDEIN Anwender die vollen Datenrechte für die Query haben MUSS (mal abgesehen davon, dass man gewissen Usern nur Leserechte erteilen kann). Sobald er diese Rechte aber hat, kann er mittels selbsterstellter, anderer MDB auf alle "gespeicherten" WOA-Queries zugreifen und nach Lust+Laune damit arbeiten (select * from WOA IN 'C:\sonstwo\erwin.mdb') - auch wenn MS Sec.FAQ #25 verwendet wurde (dann braucht man eben nur in MS_Sec_Faq25.mdb das entsprechende Formular öffnen und kann mittels "anderer.mdb" (select * from WOA IN 'C:\sonstwo\MS_Sec_Faq25.mdb') an alle Daten.

Also wie gesagt, die MDB für den Benutzer, ist nicht das wirkliche Problem (da ist es IMHO zu schaffen, dass niemand was anstellen kann), das Sicherheitsloch besteht darin, dass man:
a) die User/Passw. aus einer MDW auslesen kann (oder gar nicht muss, weil man ja "berechtigt" ist
b) dann von "aussen" an die Daten in einer Weise gelangt, die SO in der App. nicht vorgesehen ist.

Wobei es für MS vermutlich ein Leichtes wäre zumindest Pkt. b) aus der Welt zu schaffen - es würde reichen einen Zugriff wie oben angegeben für Queries "with owneraccess option" nicht zuzulassen.

Und auch wenn's gar nicht um die Sicherheit geht, sollte man zumindest versuchen, solche Zugriffe zu unterbinden: Da Jet keine Trigger kennt, werden irgendwelche abhängigen Inserts/Updates... idR. von Formular-Ereignissen angestossen. Wenn diese nun unterbleiben, eben weil jemand "vermeintlich Versierter" nun mal eben so an den Daten "rumpfuscht", dann kann das für die gesamte Datenintegrität erhebliche Probleme bewirken (ich hab' da schon Sachen erlebt.... ;-)

Deshalb war meine Intention einen Weg zu finden a) die MDW gar nicht dem Endanwender zu geben + b) zu verhindern, dass über die WOA-Query von "ausserhalb" Daten lesbar sind.

so long erwin...

Günther Kramer
03.12.2001, 06:45
Hallo,

ich werde zwar versuchen, dass ich noch heute einen Beitrag im Downloadbereich dazu anlegen kann, aber vorab schon mal hier die Adresse zum Download.

erwin
03.12.2001, 10:09
@all

Access ist nicht sicher !

sascha hat "gewonnen" ca. 5 min. - allerdings mit Hacktool - und das GILT NICHT ;) :D

Also wer Spass am Knobeln hat, der probiert's unter zu Hilfenahme von VBA + seinen eigenen grauen Zellen, das geht auch (!), ist aber IMHO "etwas" schwieriger als bei MS Sec.FAQ#25, wo die Anleitung quasi i.d. OL-Hilfe steht.

so long erwin...

Lanz Rudolf
03.12.2001, 11:11
Hallo
<<< will es gerne auch unter A2000 zerlegen

A.S.
03.12.2001, 13:29
Hi,

meld, meld...

Will auch 'mal :D :D

Gruß

Arno

Karl-Heinz
03.12.2001, 13:50
Hallo,
Anfänger möchte gerne mal wissen um was es hier eigentlich geht?
Aber nur wenn es keine zu großen Probleme macht.
Was ist "WITH OWNERACCESS OPTION".
Sorry bin ebend noch am Anfang.

Karl-Heinz

erwin
03.12.2001, 19:24
@Arno + Rudolf

die Datei kann man lt. Günther doch eh schon downloaden.... + nach A2K hab ich's noch nicht portiert, wobei ich mich nach einem "Gedankenaustausch" mit Sascha schön langsam frage, ob's lohnt (obwohl auch er findet, dass meine prinzipielle Idee recht originell ist), da es eben Hackertools gibt, denen man bei MS-Produkten relativ hoffnungslos ausgeliefert ist.

Was mich an MS nur wirklich stört, ist, dass die IMHO (Seq.FAQ) versuchen den Eindruck zu vermitteln (mal abgesehen von den Hackertools), dass man eine MDB mit den in Acc. zur Verfügung stehenden Mitteln so "abdichten" kann, dass man eine direkte Bearbeitung der Daten verhindern kann (also OHNE die dafür vorgesehenen Formulare) - und schon das stimmt einfach nicht.

@karl-heinz

Kurz gesagt geht's mir darum, ob man es schafft, dass andere es nicht schaffen (mit normalen i.d. OL-Hilfe dokumentierten Acc.Mitteln), die Daten direkt (also Tabellen/Queries) zu bearbeiten. Es sollte nur eine Bearbeitung über die dafür in einer Access-App. vorgesehenen Formulare möglich sein. Detto sollten auch irgendwelche Auswertungen nur über Formulare/Reports erfolgen können.

so long erwin...

erwin
04.12.2001, 11:13
aus gegebenem Anlass - nochmal hoch damit...

ich habe wieder etwas Hoffnung geschöpft - da gibt's tatsächlich eine Art, eine MDB mit dem Sicherheitssystem SO zu konfigurieren, dass man, auch wenn man den Eigentümer/PID des MDB-Owners kennt (oder mittels Hacktool herausbekommt) NICHT die Möglichkeit bekommt sich selbst beliebige weitere Obj.Rechte zu erteilen.

Der Witz ist, dass ich auf allen gängigen "guten" Tipp's (MS Sec.Faq., Donkarl, Trigeminal, unsoftwareag, Jüngling, APP, MVP, Kraasch, Kulpa, Bernd Gilles, Phillip) sowie div. NG's tatsächlich nirgends einen expliziten (oder auch nur impliziten) Hinweis darauf gefunden habe, dass es essentiell ist, dass der Eigentümer der MDB NICHT Eigentümer der Obj. in der MDB sein darf ! Ich habe es dann durch Erstellen einer neuen MDW mit einem User = DBOwner/PID (und natürlich in Gruppe Admin) der "zu knackenden" MDB nicht geschafft, mir selber Obj./Daten-Rechte an den Obj. zu geben.

Ich warte aber lieber noch ab, ob Sascha das nicht doch wieder knackt... ;) bzw. ob jemand "Tools" kennt, mit denen man auch die Objekt-Eigner/PID einer MDB(E) auslesen kann.

so long erwin...

erwin
04.12.2001, 21:11
und hopp :)

@all (bei sascha weiss ich's)

wie weit seid ihr denn gekommen, mit dem Versuch Daten direkt aus der WOA Query zu lesen (dh. ausserhalb des Forms/Reports)...

fragt sich erwin...

PS: die neue Version scheint tatsächlich auch Hacktools zu widerstehen, welche aus der MDB(E) Owner+PID auslesen ;)

Sascha Trowitzsch
05.12.2001, 00:16
Also, Leute, wen es immer schon interessiert hat, wie er (erwin) seine Access-Daten wasserdicht bekommt - und das Suchwort "Sicherheit" fördert immerhin 168 Beiträge im Forum zutage (hoppla, jetzt sind's 169) - der sollte Erwins Demo2 anfordern.

Mit den auf seriösen russischen Hackerseiten ausfindlich zu machenden Tools ;) kommt man nicht weiter!

Oder habt Ihr so gar keinen Ehrgeiz, das Ding zu knacken?

Ciao, Sascha

erwin
05.12.2001, 09:44
na dann hat's sich's ja doch gelohnt ein bisschen zu tüfteln ;)

Die erwin2.mdb hab' ich jetzt auch als A2K Version.

Allerdings - wie ich aus den jetzt eher "spärlichen" Rückmeldungen schliesse - ist das sicher nur für jemanden interessant, der sich im Verständniss des Sicherheitssystems von Access schon so weit "vorgewagt" hat, dass ihm grundsätzlich klar ist, wie MDW/MDB(E) bzgl. Userrechten funktionieren und was Queries "with owneraccess option" sind.

&lt;stänker&gt
also, die unter euch, welche ihre MDB's durch Deaktivierung der Shift-Taste datenmässig "absichern" und monieren, dass bei man bei meiner Demo sofort in's DB-Fenster kommt, sei vorerst nochmals http://support.microsoft.com/support/Access/Content/SECFAQ.asp anempfohlen, wobei in dieser leider auch die von mir o.a. wesentlichen Punkte bei der datenmässigen Absicherung, NICHT, oder zumindest nicht explizit angegeben werden und Pkt.#25 IMHO eigentlich Unsinn ist (aufwändig + bringt nix).
&lt;/stänker&gt

so long erwin...

peppi
05.12.2001, 10:09
Hallo Erwin,

hab Deine "erwin.mdb" ja auch bekommen und mir angesehen. Allerdings habe ich in meinem Datenbestand keine "Hackertools", um sie "aufzudröseln". Mir ging es auch nur darum, mir das ganze mal anzusehen.

Aber irgendwie gibt es offensichtlich nichts vernünftiges, um einem Anfänger klarzumachen, wie das mit mdw & Co. funktioniert.
Das Word-Dokument, welches hier im Downloadbereich steht, greift diese Problematik nicht auf, da geht es mehr oder weniger um die Geschichte mit der Shift-Taste und der Erstellung einer mde.
Es gibt noch ein Dokument von einem "Gilles" o.ä., da wird zwar erklärt, wie man Benutzerrechte etc. vergibt, aber schon auf der zweiten Seite habe ich aufgegeben.
Vielleicht liegt es ja aber auch an meinem nicht besonders gut entwickelten IQ.

Vielleicht könntest Du ja Deine Erfahrungen mal zu Papier bringen und es so erklären, daß es (frei nach Philadelphia) ein Kindergartenkind versteht ??
Du könntest Dich vor Dankesbezeugungen sicherlich kaum retten.
Ich wäre auch bereit, dafür zu bezahlen, wenn ich es endlich einmal lernen würde ...

A.S.
05.12.2001, 10:12
Hallo Erwin,

ich werde mir das erst am kommenden Wochenende ansehen können, da gerade umgezogen und noch einiges im neuen Häuschen zu tun. ;)

Von daher nix mit Rückmeldung meinerseits bis dahin, zumal mein Arbeitszimmer (und damit auch meine Rechner) noch nicht steht....

Gruß

Arno

erwin
05.12.2001, 10:29
@peppi

da hast du leider recht, bei mir hat's ja auch ein bisschen gedauert, bis ich die "wirklich wichtigen" Dinge bei Anwendung des Sicherheitssystems durchschaut habe. Und auf diese wird ja tatsächlich in den von mir zitierten Stellen, nicht hingewiesen (bzw. es gibt da auch etliche "Profitipps" die schlichtweg falsch sind).

Sobald ich Zeit habe, werde ich mal Versuchen das Thema so aufzuarbeiten, dass daraus eine Art "Kochrezept" mit Beispiel + Erklärung der wesentlichen "Fallstricke" entsteht, welches man auch ohne grosses Vorwissen anwenden können sollte.

so long erwin...

peppi
05.12.2001, 10:52
Hallo Erwin,

ich wünsche mir und vielen anderen, daß Du die Zeit finden mögest ...

Vorab schon mal DANKE

erwin
05.12.2001, 19:27
und hopp - Editieranmerkung im Originalbeitrag...

Manuela Kulpa
05.12.2001, 19:47
<font face="Verdana" size="2">Hallo Erwin!

Darauf habe ich gewartet :)!

Zitat:
Die erwin2.mdb hab' ich jetzt auch als A2K Version.

Wie wär's, schickst du mir sie zu, und ich versuche am WE mal ein klein wenig zu experimentieren!

Liebe Grüße</font>

erwin
05.12.2001, 19:55
Hallo Manuela

du wirst es kaum glauben - ich auch ;)
(nicht auf die A2K Version...)

Ich hab' jetzt gleich noch eine Weihnachtsfeier bei einem Kunden...
kommt also erst morgen vormittag....

THX erwin...

erwin
07.12.2001, 07:45
und hopp :)

Manuela Kulpa
07.12.2001, 09:59
<font face="Verdana" size="2">Hallo Erwin!

Vielen Dank für die Zusendung :)! Ein erster Eindruck von mir, hmmmmmm, raffiniert ;) und mit Standardmitteln wirklich nicht zu knacken! Werde mich am WE mit der DB ins stille Kämmerlein verziehen und mal das eine oder andere probieren :D!

Was mich vorab interessiert, hast du eigentlich schon Reaktionen aus comp.databases.ms-access bzw. microsoft.public.de.access erhalten???

Schönes WE</font>

erwin
07.12.2001, 10:29
Hi Manuela !

In comp.databases.ms-access haben die Experten das Thema "Sicherheit in Access" scheint's schon abgehakt - ev. zu früh ;)

und auch aus microsoft.public.de.access kam glaub' ich nichts.

Wobei ich aber nicht ganz genau verfolgt habe, welche EMail jetzt auf welches Posting kam - das hat man vom Crossposten :)

Danke jedenfalls für's Probieren + viel Glück am Wochenende... ich wäre doch erstaunt, wenn DU das nicht rausbekommst ;)

PS: Vielleicht poste ich in comp.databases.ms-access doch nochmal, mit etwas "provokanterem" Titel...

marmic55
09.12.2001, 11:27
Hallo Erwin,

kannst Du mir mal die MDW rüberschicken ? Dann ist es leichter ;)

Ein kleiner Erfahrungsbericht (erwin2.mdb):
Ich habe mich gestern mal rangesetzt und versucht, an die Daten zu kommen.
Das ist mir bislang nicht gelungen, zumal ich ja bekanntermaßen nicht der Creator der DB bin.

Da das Formular "frm_NoCrack_Selbsterstellt_Qry_mit_WOA" nicht geschützt ist (=Eigent. Admin), habe ich hier etwas (erfolglos) herumgestokelt.
An das andere Formular "frmT1" kommt man so nicht heran; mich interessierte hier die Ereignisprozedur "Vor Aktualisierung".
Im "frmT1" sind aber offenbar auch keine unsichtbaren Datenfelder hinterlegt worden.
Hier muss aber ggf. etwas herumexperimentiert worden sein, da das "Bezeichnungsfeld13" das erste in dieser Hierachie ist.
Diese Kenntnis hilft mir zwar auch nicht weiter, aber man muss sich erschrecken, an was für Daten man gelangt (einschl. der Arbeitszeiten von Erwin) .

Die "Erwin'sche" Funktion gibt ja auch einen Wert zurück. Ist jetzt der Mathematiker gefragt (in Verbindung mit dem Tabellenfeld ??????? )?
Bei dem zuletztgenannten Feld bin ich anfangs nicht über eine "Besonderheit" gestolpert.

Wie dem auch sei: Meine Neugier (Jagdfieber) ist geweckt. Interessant ist aber auch die Tatsache, wie wenig man sich eigentlich mit Datenbanken, bzw. Sicherheit, beschäftigt hat.
Hier hoffe ich, dass Erwin es geschafft hat, mal diesbezügl. kleine Denkanstöße zu geben.

Ich werde am Ball bleiben. Direkt an die "Daten zu gehen", sieht ja nicht erfolgsversprechend aus.
Bislang habe ich mich auf die Datenbankobjekte gestürzt, auch um erst einmal mit dieser DB "warm" zu werden.

Mein erster Eindruck ist, dass diese DB, bzw. deren Daten, sicher sind, jedenfalls für meine Verhältnisse (Firma).

@Erwin:
Auch wenn ich nicht an die Daten gekommen bin, habe ich alles mal hier so weggeschrieben. Vielleicht ist ja etwas dabei, wo Du sagst: "Stopp, hier ist der Hacker verdächtig nahe gekommen" oder so ähnlich.

Allen noch einen schönen Sonntag

Michael

LIF
09.12.2001, 13:03
Also es ist jede MDB nicht MDE mit diesem Code zu knacken

<hr>
INSTRUCTIONS:
----------------------------------------------------------------
Open your secured database, bypassing the AutoExec macro (if one
exists) by holding down the shift key as you open the MDB.

Move to the Modules tab, and create a new module. Don't save it.

Copy the following subprocedure into this new module.

Open the Immediate Window, and type 'Insecure'.

An unsecure application called INSECURE.MDB will be created in
the default directory.
<hr>

Sub Insecure ()
On Error Resume Next
DoCmd Hourglass True
Dim I%, Tmp, MyDb As Database

Kill "insecure.mdb"
Set MyDb = DBEngine(0).CreateDatabase("insecure.mdb", DB_LANG_GENERAL)
Set MyDb = DBEngine(0)(0)
For I = 0 To MyDb.TableDefs.count - 1
Tmp = MyDb.TableDefs(I).name
If Mid(Tmp, 2, 3) <> "Sys" Then DoCmd CopyObject "Insecure.mdb", Tmp, A_TABLE, Tmp
Next I
For I = 0 To MyDb.QueryDefs.count - 1
Tmp = MyDb.QueryDefs(I).name
DoCmd CopyObject "Insecure.mdb", Tmp, A_QUERY, Tmp
Next I
For I = 0 To MyDb.containers("Forms").documents.count - 1
Tmp = MyDb.containers("Forms").documents(I).name
DoCmd CopyObject "Insecure.mdb", Tmp, A_FORM, Tmp
Next I
For I = 0 To MyDb.containers("Reports").documents.count - 1
DoCmd CopyObject "Insecure.mdb", Tmp, A_REPORT, Tmp
Tmp = MyDb.containers("Reports").documents(I).name
Next I
For I = 0 To MyDb.containers("Scripts").documents.count - 1
Tmp = MyDb.containers("Scripts").documents(I).name
DoCmd CopyObject "Insecure.mdb", Tmp, A_MACRO, Tmp
Next I
For I = 0 To MyDb.containers("Modules").documents.count - 1
Tmp = MyDb.containers("Modules").documents(I).name
DoCmd CopyObject "Insecure.mdb", Tmp, A_MODULE, Tmp
Next I
DoCmd Hourglass False: Beep
MsgBox "The unprotected app (INSECURE.MDB) has been created.", 64

End Sub

Gruss

erwin
09.12.2001, 13:38
@LIF

hahahaha... du solltest, bevor du solche "Weisheiten" hier präsentierst, selbige doch zumindest ausprobieren. Also sag' mir, ob du die A97 oder A2K MDB Version haben willst - dann schick ich sie dir...

Das was du da gepostet hast ist (u.A.) ein Grund, wieso ich sage, dass die ganze "Shifttaste- und MenüAusblenden Geschichte" nichts mit DATEN-Sicherheit zu tun hat.

@marmic
ich kann dich "beruhigen", du bist von der Lösung noch ziemlich weit entfernt...
Solche "Spielereien" mache ich auch nicht in meiner Arbeitszeit ;)

@all
Nochmal zur Klarstellung: Es geht mir weniger darum, ob meine MDB(E) mit Hacktools zu knacken ist - wenn man die "richtigen" nimmt ist sie es doch - und damit hat sich der Sinn jeder WOA-Query verflüchtigt. WOA-Queries sind schon innerhalb des Acc.Sicherheitssystems nicht sinnvoll verwendbar, da sie nur als gespeicherte Queries "ordentlich" funktionieren und dann aber (da man ja die Berechtigung hat) von "ausserhalb" verwendet werden können. Ich habe nun in die WOA-Query eine IMHO originelle Funktion eingebaut, welche ein Lesen der Daten, wenn man die Query ausserhalb von Formularen/Reports verwendet, verhindert. Nun interessiert es mich, wie leicht man diese Funktion entweder "durchschaut" - oder "überlistet" (beides ist möglich - Manuela zB. hat sie "überlistet" :D )

so long erwin...

marmic55
09.12.2001, 13:52
Also, meine Frau guckt zwar schon komisch,

aber ich habe mich natürlich auch sofort an dieses Problem gesetzt.
Die geschützten Objekte wandern nicht in die neue Datenbank (dann könnte ich ja die MDW "abschaffen").

Allein der gepostete Code sagt einem doch, dass hier nichts außergewöhnliches passiert.

Also weiter tüfteln.

Michael

Sascha Trowitzsch
09.12.2001, 13:58
:) :) :) :) :)

@LIF:
Ändere den Code mit Suchen &Ersetzen so ab:

Insecure.mdb > InsecureFromAnotherInsecure.mdb

Ciao

@Manuela: Bittebittebitte sag mir, wie die Objekt-Owner rausgekriegt hast; das lässt mir überhaupt keine Ruhe...

LIF
09.12.2001, 14:27
Schick mir die Acc97 - Version
(Access schützt alle Objekte, aber von jedem Objekt gibt es ein CopyObjekt in Access und diese werden mit der Access-Security nicht angesprochen.)
Falls es jemand interressiert gibt es zum schützen von Access einen guten Beitrag von Manfred Hofbauer im Microsoft-Journal
vom 6.94 (Administrator als Eigentümer ausschalten) und das ist auch nicht sicher da in Access eben die CopyObjects nicht mit angesprochen (geschützt) werden.
Gruss

erwin
09.12.2001, 15:17
@LIF

o.k. schick ich dir - obwohl ich mir davon nicht allzuviel erwarte ;) - ausser ev. einen kleinen "Erkenntnisschub" deinerseits...

CopyObject ist übrigens KEIN in einer MDB vorliegendes "kopiertes weiteres Objekt" für das die "Sicherheit nicht greift", sondern eine Methode von Application.DoCmd wobei insofern sogar dein Code (für A97) falsch ist (ist vermutlich aus Acc.1.x oder 2 Zeiten).

so long erwin...

peppi
09.12.2001, 15:18
@LIF,

ja, der Beitrag würde mich sehr interessieren, da ich schon immer Schwierigkeiten mit dem Schutz habe. Vielleicht sollte ich mir zu Weihnachten mal eine Aufstockung meines IQ wünschen??

Stellst Du den Beitrag in den Downloadbereich, oder mailst Du ihn mir zu (eMail-Adresse siehe mein Profil)?

Vorab schon mal DANKE.

LIF
09.12.2001, 15:20
Mercie erwin der code ist für Acc2.0 und hier der Code für Acc97

Function Insecure()
On Error Resume Next
DoCmd.Hourglass True
Dim I%, Tmp, MyDb As Database

Kill "insecure.mdb"
Set MyDb = DBEngine(0).CreateDatabase("insecure.mdb", DB_LANG_GENERAL)
Set MyDb = DBEngine(0)(0)
For I = 0 To MyDb.TableDefs.Count - 1
Tmp = MyDb.TableDefs(I).Name
If Mid(Tmp, 2, 3) <> "Sys" Then DoCmd.CopyObject "Insecure.mdb", Tmp, A_TABLE, Tmp
Next I

For I = 0 To MyDb.QueryDefs.Count - 1
Tmp = MyDb.QueryDefs(I).Name
DoCmd.CopyObject "Insecure.mdb", Tmp, A_QUERY, Tmp
Next I

For I = 0 To MyDb.Containers("Forms").Documents.Count - 1
Tmp = MyDb.Containers("Forms").Documents(I).Name
DoCmd.CopyObject "Insecure.mdb", Tmp, A_FORM, Tmp
Next I

For I = 0 To MyDb.Containers("Reports").Documents.Count - 1
DoCmd.CopyObject "Insecure.mdb", Tmp, A_REPORT, Tmp
Tmp = MyDb.Containers("Reports").Documents(I).Name
Next I

For I = 0 To MyDb.Containers("Scripts").Documents.Count - 1
Tmp = MyDb.Containers("Scripts").Documents(I).Name
DoCmd.CopyObject "Insecure.mdb", Tmp, A_MACRO, Tmp
Next I

For I = 0 To MyDb.Containers("Modules").Documents.Count - 1
Tmp = MyDb.Containers("Modules").Documents(I).Name
DoCmd.CopyObject "Insecure.mdb", Tmp, A_MODULE, Tmp
Next I

DoCmd.Hourglass False: Beep
MsgBox "The unprotected app (INSECURE.MDB) has been created.", 64

End Function

@peppi
Gib mir die Fax-Nr. über mein Mail, dann kann ich Dir den Artikel faxen. Habe ihn leider nur auf Papier.

Gruss

LIF
09.12.2001, 16:36
Tja erwin ich muss zugeben mit den CopyObjects kann ich die auf Deine Art gesicherte Objekte nicht in eine andere DB kopieren.

Alle anderen gesicherte Objekte kann ich damit kopieren, eben Deine nicht. Habe etwas dazu gelernt.

Habe gerade die system.mdw nach KopieSystem.mdb kopiert um Sie mit Access zu öffnen, um dort etwas zu schmöckern.

Der Ehrehalber will ich hier das Kundtun.

Gruss

erwin
09.12.2001, 18:27
@LIF

**agggrrrrrr** ES GIBT KEINE COPYOBJECTS !
hab' ich doch hoffe ich in verständlichem Deutsch in meinem vorigen Beitrag geschrieben...

@peppi
also ich würde mir vielleicht nicht unbedingt LIF als "Lehrmeister" aussuchen ;-)

so long erwin...

peppi
09.12.2001, 18:29
@erwin,

man muß nach allen Seiten offen sein.

Denke aber nicht, daß Du Dir die Arbeit jetzt sparen kannst. Du wolltest ... wenn Du Zeit hast ... ich warte auf Dich !!!

Sascha Trowitzsch
09.12.2001, 23:50
@ erwin:
Sei doch nicht so hart mit LIF :)

So ist das eben, wenn man Experten-Beiträgen aufsitzt.

@ LIF: Du musst die MDW nicht in MDB umbenennen, um sie zu öffnen. Das geht auch direkt.
Es ist nicht besonders aufregend, was man darin finden kann.

Das Wesentliche am Absichern sind auch nicht die MDWs - das sind ja nur User/Group-Tabellen -, sondern die in der DB selbst verschlüsselten Owner bzw. die Systemtabellen zur Sicherheit, wie die MSysACEs oder die MSysObjects. In der MSysACEs stehen die Permissions (ACM) zu den Objekten der DB (ObjectID), die in der MSysObject (ID) verzeichnet sind.

Ciao, Sascha

Manuela Kulpa
10.12.2001, 15:51
<font face="Verdana" size="2">Ihr Lieben, enttäuscht mich doch nicht ;), eigentlich ist es sehr einfach! Also, rann an die Arbeit!

In voller Hoffnung :)</font>

Valefor
10.12.2001, 16:05
Hi erwin,

ok ich muß sagen ich bin nicht unbedingt einer der so richtig den Durchblick hat, aber es würde mich do mal interesieren.

würde mich freuen wenn du mir diese mdb mal zukommen lassen würdest.

LIF
10.12.2001, 18:12
@Sascha
Hallo Sascha die MSysObjects habe ich mir auch angeguckt. Die MSysModules ist ja gesperrt. Erwin hat den Puznkt getroffen an dem ich mal 92/94 ab und zu gesessen habe, nähmlich die ACCESS.MDB ohne die MDW/MDA zu sichern und sattelfest zu machen. Habe mir natürlich auch die Einträge von MSysQueries angesehen (((Rnd(erwinLOCK()))=erwinLOCK())) usw. in der Expression.
Das Thema ist natürlich für jeden der mit ACCESS arbeitete, arbeitet oder wieder in Berührung kommt ein Top-Thema.
Ist ja auch ein Hauptgrund warum ACCESS sehr wenig von Profis als FE-Tool eingesetzt wird, obwohl das
sehr schade ist. (von der ISAM-Datei als Datenbank mal abgesehen)
Natürlich habe ich auch festgestellt das er den Eigentümer geändert hat <unbekannt>. Die Id der T1 = 71
und die Parent-Id =251658241 wie bei allen anderen Tables auch, die sich auf das Objekt Tables (ID=251658241) beziehen.
Es sieht für mich so aus das er seine Objekte so geschützt hat wie MS die Access-Systemobjekte schützt.
Zumindest bekommt man dieselbe Permission-Meldung.
Er hat ja recht der Code den ich hier reingeworfen habe beruht auf einen Bug von Acc 2.0.

Ich kopier mir immer vorsichtshalber die Systemdatei sowie sie Bibliothekdatenbanken wie Utility / AddIN's bevor ich reingehe,
vorsichtig ist die Mutter der Porzellankiste. Wenn Du das aber mit einem Krack-Tool geschafft hast, stellt sich für mich die
Frage kannst du das mit dem gleichen Tool schaffen, wenn Erwin dir eine MDE gibt. Oder du selbst die MDB zur MDE
konvertierst und es mit demselben Tool nochmals probierst.

Danke für den Tip für die Karten von der ETHbib. Die ETH-Zürich habe ich vor der Nase.

Gruss

Sascha Trowitzsch
10.12.2001, 19:19
Ob MDB oder MDE spielt ja keine Rolle. Wenn du den Owner der Tabelle hast, kommst du auch rein.

Nur zur Information: Mit den neuesten Hacker-Tools kommt man leider an alle Owner. :(

Ciao

PS: Für diesen Thread bräuchte man allmählich eine Baumdarstellung. Wird's so was ähnliches auf dem neuen Server geben?

Manuela Kulpa
10.12.2001, 20:11
<font face="Verdana" size="2">Also Leute, ich zitiere doch noch mal gerne Erwin:

<font color="#0000FF">Zitat:</font>
Noch mal zur Klarstellung: Es geht mir weniger darum, ob meine MDB(E) mit Hacktools zu knacken ist - wenn man die "richtigen" nimmt ist sie es doch - und damit hat sich der Sinn jeder WOA-Query verflüchtigt. WOA-Queries sind schon innerhalb des Acc.Sicherheitssystems nicht sinnvoll verwendbar, da sie nur als gespeicherte Queries "ordentlich" funktionieren und dann aber (da man ja die Berechtigung hat) von "ausserhalb" verwendet werden können. Ich habe nun in die WOA-Query eine IMHO originelle Funktion eingebaut, welche ein Lesen der Daten, wenn man die Query ausserhalb von Formularen/Reports verwendet, verhindert. Nun interessiert es mich, wie leicht man diese Funktion entweder "durchschaut" - oder "überlistet" (beides ist möglich - Manuela zB. hat sie "überlistet")
<font color="#0000FF">Zitat Ende!</font>

Es geht hier um die Funktion(en), die, wie LIF bereits bemerkt hat, für jeden offensichtlich in MSysQueries stehen.

Wie gesagt, Hacker-Tools schön und gut, aber hier sind nur ein paar Zeilen VBA-Code und ein klein bissel Logik nötig, um die WITH OWNERACCESS OPTION sinnvoll in einer anderen DB einzusetzen :D!

Und das ist der eigentliche Sinn der Sache!!!

Bitte, kein Wort mehr über Hacker Tools, ich würde doch viel lieber Lösungen sehen! Lasst mich nicht hängen :), bin doch so überzeugt, dass ihr es schafft!!!

LLAP</font>

erwin
10.12.2001, 20:39
@all

wobei ich die Möglichkeit des "Überlistens" ja noch gerne abstellen würde, denn das "Durchschauen" ist IMHO um einiges schwieriger - wiewohl auch das "Überlisten" quasi eines **Klick** - Erlebnisses im Kopf bedarf, bei mir selbst zB. hat's auch erst **geklickt** als ich das "Innenleben" der erwinLOCK() fertig hatte.

Na dann - frisch an Werk...

@all, die es schon herausgefunden haben: Vorschläge wie man das "Überlisten" abstellen kann sind willkommen - trotz Hacktools ;)

so long erwin...

LIF
10.12.2001, 23:25
@Manuela
Ich habe mir spasseshalber mal die Container-Eigenschaften angeschaut. Das kann man vergessen.
*******************************************
Wichtig ist der Wert den die Funktion Erwinlock zurück liefert denke ich.
*******************************************
Dim dbs As Database
Dim conTables As Container
Dim pr As Property
Dim i As Double

Set dbs = CurrentDb()
Set conTables = dbs.Containers("Tables")
Debug.Print Rnd(erwinLOCK())

For Each pr In conTables.Properties

Debug.Print conTables.UserName
Debug.Print conTables.Name
Debug.Print conTables.AllPermissions
Debug.Print conTables.Inherit
Debug.Print conTables.Owner
Debug.Print conTables.Permissions
Next pr
*******************************************
Definiere ich i als Long bekomme ich von ErwinLock() die 0 zurück (Klar negativ)
Definiere ich i als Double bekomme ich von Erwinlock die 1,953125E-02 zurück. Ich werde mir überlegen wie ich diesen Wert einsetzen kann.
Gruss

marmic55
11.12.2001, 18:02
@Manuela:

Frauen sind besser; sie denken logischer (ist ja angebl. auch festgestellt worden). Man muss sich ja fast schon schämen.

@Erwin:

Ich muss zugeben, dass ich es bislang nicht geschafft habe. Ich habe nicht versucht, zu hacken (Tools hierfür habe ich auch nicht, da ich das ablehne).
Ich bin schon wieder dabei, etliches Kopierpapier zu beschriften (nicht BAO).

Zur Zeit meine ich, dass Zahlen nach einem bestimmten Rhytmus 'festgehalten' (gespeichert?) werden. Ich habe jetzt auf der Arbeit "erwin.mdb". Das muss nach meinem Dafürhalten mit Zeitberechnungen zu tun haben (Sek.). Vielleicht bin ich auch auf dem Holzweg.
Aber weiter bin ich auch nicht. Vielleicht kommt morgen ein Klick-Ergebnis; vielleicht habe ich mich auch verrannt.
Mein "Problem" ist, dass ich keine Ersatzlösung suche (wegen der Logik), sondern versuche, hinterzublicken.

Zum anderen finde ich persönlich das ganze so interessant, dass auch ich mal sagen möchte:

** Hopp, hoch damit **.

Michael

Sascha Trowitzsch
11.12.2001, 19:10
Hi zusammen,

eins verstehe ich nicht:

Wieso man plötzlich das Wort HACKERTOOLS nicht mehr in den Mund nehmen darf?

Ist diese Geschichte hier jetzt eine reine Denksportaufgabe geworden? (Das kann natürlich jeder für sich entscheiden.)

Vielleicht darf ich aber daran erinnern, dass der Ausgangspunkt von Erwin die Tatsache war, dass es eben HACKERTOOLS gibt, die die User/Passwörter aus MDWs auslesen können. DARUM der Versuch, eine DB auch OHNE MDW abzusichern.
Da sich die Situation in den letzten Monaten (erst) dergestalt geändert hat, dass es nun auch möglich ist, sämtliche Owner der DB mit HACKERTOOL auszulesen, ist entweder die Geschichte WOA gestorben, oder man muss sie noch weiter absichern, woran Erwin arbeitet - pardon, spielt. (Und ich auch, soweit ich dazu komme.)

Aber ab jetzt werde ich keinen Beitrag mit dem Wort HACKERTOOL mehr abliefern, in welcher Schreibweise auch immer.

;) ;) ;)

Ciao, Sascha

Manuela Kulpa
11.12.2001, 19:26
<font face="Verdana" size="2">@LIF

<font color="#0000FF">Zitat</font>
Wichtig ist der Wert den die Funktion Erwinlock zurück liefert denke ich.
<font color="#0000FF">Zitat Ende</font>

Genau, also mal fleißig weiter :)!

@Michael

*g*, so ein nettes Kompliment habe ich schon lange nicht mehr gehört! Aber schämen, nein, nein, bloß nicht aufgeben :)! Du kommst schon dahinter!

Also, ich zähl auf euch!!!

Liebe Grüße</font>

marmic55
11.12.2001, 21:02
@Sascha:

Beziehe das bitte nicht auf Dich persönlich, -oK-. Du hast ja recht: Ich hab ja mit Bordmitteln auch anfangs versucht, das Teil zu knacken.
Du hast es halt geschafft; ist auch in Ordnung. Damit hast Du ggf. ja Erwin auch einen Dienst erwiesen.

@Manuela:
Ich verzweifle tatsächlich bald. So langsam glaube ich, dass Erwin ggf. Techniker o. so ist. Zumindest glaube ich, dass die "ErwinLock" einen Wert zurückgibt, der mit Zeit, mit Widerständen, Skalierungsfaktor, 8-Bit-Datentyp, Binär (2hoch8 -s. auch Widerstände-), PNS -PositionalNumberSystem-, Timer -65536- usw. zu tun hat.
Ich werd hier noch verrückt ;)

Das habe ich zu dieser Zahl alles herausgefunden. Dennoch ist die Nuss momentan noch nicht zu durchschauen. Das gibt mein Hobby-Wissen auch nicht her (muss ich denn doch noch logisch werden?).

Einen schönen Abend noch

Michael

erwin
11.12.2001, 21:43
@sascha

wieso sollte man das Wort HA******LS nicht mehr schreiben dürfen, ich finde diesen Aspekt an der Sache natürlich auch interessant, ich hab nur gesagt, dass es mir nicht primär darum geht - wie Manuela das jetzt sieht ist natürlich "ihr Bier" - aber sie ist ja auch nicht "DAS FORUM" - oder ? ;)

@Manuela
Ich finde es ja richtig nett, wie du die Leute hier anspornst ;) obwohl ich nicht ganz überzeugt bin, ob deine "Zitate" wirklich hilfreich sind..... ?!
aber du hast recht - im Grunde ist's "ziemlich einfach". Jetzt will ich dich aber nochmals motivieren - da du ja ein cleveres "Kerlchen" ("Frauchen" klingt einfach besch***** :D) bist, noch was zur Verhinderung der Möglichkeit des Überlistens von Rnd(erwinLOCK())=erwinLOCK() beizutragen - dann wäre die Lösung, zumindest in Firmennetzen, wo man idR. keine HAC*******S installieren kann, ev. doch ganz brauchbar.

@michael
Versuch die Funktion doch zu "überlisten", ich habe schon geschrieben, dass das einfacher ist, auch Manuela hat mir gegenüber kundgetan, dass sie beim "Durchschauen" vermutlich um einiges länger gebraucht hätte.

@all
wenn noch weitere (was ja jetzt wirklich nicht mehr lange dauern kann ;)) es "geschnallt" haben - würde ich vorschlagen, dass WIE nicht hier zu posten, da dann allen anderen der "Knobelspass" genommen wird.

so long erwin...

Manuela Kulpa
13.12.2001, 10:20
<font face="Verdana" size="2">Guten Morgen!

*g*, ich habe mal versucht, "ein cleveres Kerlchen" zu sein ;)! Das Ergebnis: eine modifizierte A2K MDE, die ich gerne allen Interessierten zur Verfügung stelle. Kurze Info an mich reicht!

Trotz Blockade der "Überlistung", besteht natürlich nach wie vor noch die Möglichkeit, durch gegebene Mittel, den Owner und die PID auszulesen aber ... :D :D :D!!!

LLAP :)</font>

erwin
13.12.2001, 15:50
@Manuela

na, da bin ich mal gespannt... ;)

so long erwin...

erwin
13.12.2001, 21:38
@Manuela + @all

auch ziemlich originell, nur von Blockade würde ich nicht sprechen, man muss Manuelas secure.mde eben etwas "anders" überlisten... ;) (geht ohne H*****OLS) :D :D

so long erwin...

Debus
14.12.2001, 09:25
Wenn Du noch einen brauchst, dann auch bitte an mich

Holger.Debus@freenet.de

erwin
14.12.2001, 22:47
@Holger

welche Version A97 oder A2K - bei A2K darf ich dir Manuelas "verbesserte" Version empfehlen, die verfeinert + verschleiert das von mir angewandte Prinzip noch... :D

Ausserdem ist es ihr scheint's gelungen, die Möglichkeit des "Überlistens" der Funktion zu beseitigen - und das "Durchschauen" ist in der Tat nicht ganz trivial ;)

so long erwin...

KHS
18.12.2001, 11:25
Hallo Erwin,

das Teil haut mich um!
Da ich vom Access-Sicherheitssystem nicht die Bohne von Ahnung habe (und ich mir bisher auch nicht die Zeit nahm, mich mal näher damit zu beschäftigen), schütze ich meine DB's halt mit der Shift-Geschichte.
Habe mehrere DB's im Firmennetz. Da wär' so'n Schutz natürlich DIE Lösung!
Wenn das einfacher zu bewerkstelligen ist als das Access-Sicherheitssystem zu verwenden, hab' ich noch ne' kleine Frage:
WIE MACHT MAN DAS (winsel)?

Gruss KHS

martiniz
18.12.2001, 11:41
@ Erwin,

ich würde mir das Teil auch mal gerne anschauen, wenn du nichts dagegen hast.

martin_zeller@web.de

Simon
18.12.2001, 12:12
Hallo,

darf ich auch mal hineinschauen?!

Gruss Simon

erwin
20.12.2001, 15:49
Die A97 Version gibt's hier als Download - Link: siehe 1.Seite dieses Threads. Die A2K hab' ich jetzt auch nicht zur Hand, da ich ca. 900 km südlich vom Büro bin :D , aber vielleicht schaut ja Manuela mal rein, und sendet euch Ihre Version bzw. stellt diese i.d. Downloadbereicht.

@all noch schöne Weihnachten - erwin...

erwin
03.01.2002, 23:57
da ich mich demnächst dem Thema wieder widmen werde....

und hopp

Andy_S
16.01.2002, 15:35
Hi Christian,

habe heute einen Beitrag reingesetzt in dem ich eine Frage zu diesem Thema stelle. Man hat mir deinen Beitrag empfohlen. Ich würde mir das Teil gerne mal ansehen. Wäre nett wenn du es mir schicken könntest.

Thanks, mfg Andy_S

erwin
17.01.2002, 11:14
??? christian ???

welcher Christian - meine A97 MDB kannst du per Link (steht auf der 1.Seite des Threads) downloaden.

Wegen Manuelas A2K secure2.mde frag' sie selber: mailto:manuela@ms-office-forum.de

so long erwin...

erwin
16.09.2002, 06:55
wg. vermehrter Nachfrage + Eintrag der Download-Links im 1.Posting nochmals UP...

Andi-D
16.09.2002, 14:00
Hallo Erwin,
ich würde deine Sicherheitsart auch gerne verwenden. Schreibst du da noch eine Anleitung oder wird es das eher nicht geben?
Gruß Andi aus Ffm

erwin
16.09.2002, 14:37
sorry, eher nicht, ausserdem findest du das in kurz hier:
<a href="http://spotlight.de" target="_blank">http://spotlight.de</a> /*******amsa/m/amsa-1011349106-22114.html (Link wieder zusammensetzen !)

wobei ein "Kochrezept" wie ehedem gedacht für "oweneraccess" Queries eigentlich nur schlecht geeignet ist, da man sich das Verständnis anhand der MS.Sec.FAQ (Link siehe oben) sowie eigenem Experimentieren sowieso selbst erarbeiten muss, damit man die gebotenen Möglichkeiten auf die eigene, spezielle Situation sinnvoll und passend anwenden kann.

so long Erwin...