von Stephan » Sa, 03.02.2007 17:29
Gilt das Unterbinden von Makros auch für die "autostart"-Routinen einer Calc-Datei?
Ist die Frage ernst gemeint? Natürlich gilt es dafür, und natürlich vorrangig/ausschließlich dafür
(*), denn ein Makro das nicht automatisch startet dessen Ausführung muß man doch garnicht erst stoppen, man startet es einfach nicht.
(*)
Setze in Calc die Makrosicherheit auf höchste Stufe (wo das geht ist von Version zu Version etwas unterschiedlich, im Groben Extras-Makros-Sicherheit) oder halte UMSCHALT gedrückt wenn Du die Datei öffnest.
Bei Letzterem Vorsicht, falls AddInns aktiviet sind die automatisch mit Excel starten bewirkt UMSCHALT das Blocken der ADDInns (falls Excel vorher noch nicht lief) und in Folge nicht mehr das Blocken der Makros in der Datei. Es gilt im Zweifel also erst Excel zu starten und dann wenn Excel bereits läuft, die Datei unter Festhalten von UMSCHALT.
Wie würde denn eine sichere Lösung aussehen?
Für Excel nur mittels Passwortschutz der Datei
(**), in Calc indem Du die Datei mittels Passwort schützt oder indem Du die Makrobibliotheken der Datei mittels Passwort schützt und eine Makroroutine verwendest die dafür verantwortlich ist erst Zellinhalte zu erzeugen oder teilweise zu erzeugen und den Start entsprechender Makros nur mit Passwort gestattest.
(**)
Über die Sicherheit des Dateipasswortschutzes in Excel kann ich Dir nichts sagen (da MS das angewendete Verfahren nicht offenlegt), außer das er unsicher ist. Der Schutz in Calc ist nach derzeitigem Stand des Wissens sicher, die Sicherheit ist wegen des offenen Quellcodes von OOo auch jederzeit überprüfbar (Fachkenntnis vorausgesetzt).
Die Lösung in Excel könnte theoretisch auch so sein wie die zweite angeführte Lösung in Calc, allerdings scheitert das praktisch daran das Du Makros in Excel nicht hinreichend schützen kannst, da der Passwortschutz der Bibliotheken auch von Laien leicht überwunden werden kann, wenn sie die Exceldateien in Calc öffnen, dort ist der Makrocode trotz Passwortschutz sofort einsehbar, mithin auch Passworte die im Code abgefragt werden.
Wenn jemand mit krimineller Energie die Anwendung knacken will, dann kann er dass auch immer irgendwie.
Nee, darüber reden wir hier garnicht, im Moment reden wir über elementare Dinge und keinesfalls über Expertenwissen im Wortsinn. (es sei denn jeder der in Excel/Calc mehr kann als ein paar Zahlen eingeben und Berechnungen durchführen kann gälte schon als Experte)
Kann ich also mit "environ" unter Win XP sowohl Rechner-Id als auch User-ID abfragen?
Meines Wissens Nein, die Werte sollten sich jedoch aus der Registry auslesen lassen, notwendige Dinge finden sich beispielsweise bei
http://www.dannenhoefer.de/faqstarbasic/contents.htm (Punkt 2.3.15) zu finden sein, aber auch in den mit OOo mitgelieferten Bibliotheken gibt es entsprechende Routinen. Einzig mußt Du die Registry-Schlüssel kennen, ich bin zu faul die jetzt rauszufinden, das sagt Dir aber wohl jedes bessere Windows-Forum.
Und den Effekt, dass die Makros beim Start ausgeschaltet werden, kannst du umgehen, indem du die Tabellen komplett schützt (Blattschutz - Passwort). Im "normalen" Ablauf würde das Makro den Balattschutz aufheben - läuft das Makro nicht, sind die Tabellen zu nichts zu gebrauchen....
Sorry, nur hier mache ich doch lieber einen Zusatz.
Klar, es stimmt natürlich was dasteht, aber der Schutz ist doch leicht dadurch zu umgehen indem man die Datei im Excel-Format speichert, diese dann in Calc öffnet und den Blattschutz ohne Passwort aufheben kann. Falls es in neueren OOo-Versionen nicht geändert ist, ist es, meines Erachtens nach, auch möglich alle Zellinhalte von geschützen Blättern mittels Makro auzulesen und in neue Datei zu schreiben ohne das man das Passwort des Blattes kennen muß.
Deshalb schrieb ich Makros (in verschlüsselten(!) Dokumentbibliotheken in Calc(!)) müßten Routinen enthalten die Blattinhalte erst nach Passwortabfrage herstellen/generieren, was je nach notwendigen konkreten Blattinhalt leicht, schwierig oder so unpraktikabel, das praktisch unmöglich sein kann.
Gruß
Stephan
[quote]Gilt das Unterbinden von Makros auch für die "autostart"-Routinen einer Calc-Datei?[/quote]
Ist die Frage ernst gemeint? Natürlich gilt es dafür, und natürlich vorrangig/ausschließlich dafür[b](*)[/b], denn ein Makro das nicht automatisch startet dessen Ausführung muß man doch garnicht erst stoppen, man startet es einfach nicht.
[i][b](*)[/b]
Setze in Calc die Makrosicherheit auf höchste Stufe (wo das geht ist von Version zu Version etwas unterschiedlich, im Groben Extras-Makros-Sicherheit) oder halte UMSCHALT gedrückt wenn Du die Datei öffnest.
Bei Letzterem Vorsicht, falls AddInns aktiviet sind die automatisch mit Excel starten bewirkt UMSCHALT das Blocken der ADDInns (falls Excel vorher noch nicht lief) und in Folge nicht mehr das Blocken der Makros in der Datei. Es gilt im Zweifel also erst Excel zu starten und dann wenn Excel bereits läuft, die Datei unter Festhalten von UMSCHALT.[/i]
[quote]Wie würde denn eine sichere Lösung aussehen?[/quote]
Für Excel nur mittels Passwortschutz der Datei[b](**)[/b], in Calc indem Du die Datei mittels Passwort schützt oder indem Du die Makrobibliotheken der Datei mittels Passwort schützt und eine Makroroutine verwendest die dafür verantwortlich ist erst Zellinhalte zu erzeugen oder teilweise zu erzeugen und den Start entsprechender Makros nur mit Passwort gestattest.
[i][b](**)[/b]
Über die Sicherheit des Dateipasswortschutzes in Excel kann ich Dir nichts sagen (da MS das angewendete Verfahren nicht offenlegt), außer das er unsicher ist. Der Schutz in Calc ist nach derzeitigem Stand des Wissens sicher, die Sicherheit ist wegen des offenen Quellcodes von OOo auch jederzeit überprüfbar (Fachkenntnis vorausgesetzt).
Die Lösung in Excel könnte theoretisch auch so sein wie die zweite angeführte Lösung in Calc, allerdings scheitert das praktisch daran das Du Makros in Excel nicht hinreichend schützen kannst, da der Passwortschutz der Bibliotheken auch von Laien leicht überwunden werden kann, wenn sie die Exceldateien in Calc öffnen, dort ist der Makrocode trotz Passwortschutz sofort einsehbar, mithin auch Passworte die im Code abgefragt werden.[/i]
[quote]Wenn jemand mit krimineller Energie die Anwendung knacken will, dann kann er dass auch immer irgendwie.[/quote]
Nee, darüber reden wir hier garnicht, im Moment reden wir über elementare Dinge und keinesfalls über Expertenwissen im Wortsinn. (es sei denn jeder der in Excel/Calc mehr kann als ein paar Zahlen eingeben und Berechnungen durchführen kann gälte schon als Experte)
[quote]Kann ich also mit "environ" unter Win XP sowohl Rechner-Id als auch User-ID abfragen?[/quote]
Meines Wissens Nein, die Werte sollten sich jedoch aus der Registry auslesen lassen, notwendige Dinge finden sich beispielsweise bei http://www.dannenhoefer.de/faqstarbasic/contents.htm (Punkt 2.3.15) zu finden sein, aber auch in den mit OOo mitgelieferten Bibliotheken gibt es entsprechende Routinen. Einzig mußt Du die Registry-Schlüssel kennen, ich bin zu faul die jetzt rauszufinden, das sagt Dir aber wohl jedes bessere Windows-Forum.
[quote]Und den Effekt, dass die Makros beim Start ausgeschaltet werden, kannst du umgehen, indem du die Tabellen komplett schützt (Blattschutz - Passwort). Im "normalen" Ablauf würde das Makro den Balattschutz aufheben - läuft das Makro nicht, sind die Tabellen zu nichts zu gebrauchen.... [/quote]
Sorry, nur hier mache ich doch lieber einen Zusatz.
Klar, es stimmt natürlich was dasteht, aber der Schutz ist doch leicht dadurch zu umgehen indem man die Datei im Excel-Format speichert, diese dann in Calc öffnet und den Blattschutz ohne Passwort aufheben kann. Falls es in neueren OOo-Versionen nicht geändert ist, ist es, meines Erachtens nach, auch möglich alle Zellinhalte von geschützen Blättern mittels Makro auzulesen und in neue Datei zu schreiben ohne das man das Passwort des Blattes kennen muß.
Deshalb schrieb ich Makros (in verschlüsselten(!) Dokumentbibliotheken in Calc(!)) müßten Routinen enthalten die Blattinhalte erst nach Passwortabfrage herstellen/generieren, was je nach notwendigen konkreten Blattinhalt leicht, schwierig oder so unpraktikabel, das praktisch unmöglich sein kann.
Gruß
Stephan