Autor |
Beitrag |
AHT
Beiträge: 207
|
Verfasst: So 18.01.09 15:33
Hallo alle zusammen...
Ganz dumme Frage:
Ich bin gerade bei der Programmierung unter Vista auf einen Bug gestoßen, bei dem unter bestimmten Voraussetzungen bei einer API ein Privileg nicht berücksichtigt wird. Das führt dann dazu, das man als Admin zwar eine bestimmte Einstellung setzen kann, diese aber nicht ohne weiteres wieder zurücknehmen kann - Microsoft ist das Problem mit Sicherheit noch nicht bekannt.
Wo kann man einen Fehler in Vista melden und in welcher Sprache müsste man das tun? Hat jemand Erfahrung in so etwas (melden von Bugs an M$)?
MfG
AHT
|
|
platzwart
Beiträge: 1054
Erhaltene Danke: 78
Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
|
Verfasst: So 18.01.09 16:08
Ruf einfach bei der Hotline an und frag nach...
_________________ Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
|
|
AHT
Beiträge: 207
|
Verfasst: So 18.01.09 16:20
platzwart hat folgendes geschrieben : | Ruf einfach bei der Hotline an und frag nach... |
Wenn ich schon so freundlich bin einen Fehler an M$ zu melden, möchter ich nicht so gerne auch noch was dafür bezahlen .
|
|
Timosch
Beiträge: 1314
Debian Squeeze, Win 7 Prof.
D7 Pers
|
Verfasst: So 18.01.09 16:42
Ich weiß nicht, dass die Hotline dafür das richtige ist... Erfahrungsgemäß bekommen die bei allem, was über ein paar Mausklicks hinausgeht, einen Herzinfarkt.
Gibts nicht beim MSDN irgendwo ne E-Mail-Adresse zum Melden von Bugs? Früher, in der Beta von Vista, wurde man doch sogar aufgefordert, Bugs zu melden.
Oder auch über Microsoft Connect - dafür muss man sich allerdings registrieren (halte ich persönlich für ziemlich verrückt - sich registrieren müssen, um einen Bug zu melden...).
Ich gehe nicht davon aus, dass man den Bug zum Einschleusen von Code nutzen kann? Nene, war nur Spaß...
_________________ If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
|
|
AHT
Beiträge: 207
|
Verfasst: So 18.01.09 16:56
Mmmh...
Vielleicht komme ich da weiter, mal schauen:
support.microsoft.com/gp/assistsupport
|
|
AHT
Beiträge: 207
|
Verfasst: So 18.01.09 17:29
Ne, hat keinen Zweck. Die wollen scheinbar überall Geld von mir, damit ich denen dort einen Fehler melden kann - ich schreibs jetzt mal hier hin:
Microsoft scheint unter Vista die Integritätslevel für Services nicht ganz fertiggeprogt zu haben. Ruft man über GetNamedSecurityInfo den Integritätslevel eines Services ab, darf man als dritten Parameter nicht nur LABEL_SECURITY_INFORMATION angeben, sonder muss SACL_SECURITY_INFORMATION mit hinzufügen. Aber da läuft noch viel mehr schief. M$ scheint hier das Privileg SeRelablePrivilege total vergessen zu haben, denn es ist ohne weiteres möglich, einem Service die Systemverbindlichkeitsstufe zu verpassen, ohne dafür überhaupt priveligiert zu sein. Desweiteren stört es SetNamedSecurityInfo überhaupt nicht, wenn man einem Service (gegen das jetzige Konzept von Vista) mehr als einen SYSTEM_MANDATORY_LABEL_ACE verpasst, es wird beim Auswerten der Rechte später aber nur der erste berücksichtigt. Bei anderen Objekttypen ist das nicht so - da wird überhaupt nur einer angenommen.
Vielleicht findet sich ja noch jemand, der weiß, wo man das abschicken kann.
Gruß
AHT
|
|
Dezipaitor
Beiträge: 220
|
Verfasst: So 18.01.09 23:56
Also soweit ich weiß, zahlst du erstmal Geld für den Bugreport. Wenn MS feststellt, dass es ein Bug ist, dann bekommst du dein Geld zurück. Oftmals ist es aber auch so, dass es als "By Design" verstanden wird, nur wurde die MSDN nicht geupdated oder die Ausnahme nur unzureichend beschrieben.
JEDOCH!
Ich habe dies alles mal mit der JWSCL nachvollzogen und komme auf dasselbe hinaus!
Zudem habe ich herausgefunden, dass über OpenService mit SetSecurityInfo (+handle all access) es überhaupt garnicht möglich ist auf das LABEL zuzugreifen (sogar mit SYSTEM-Rechten).
Man merkt, dass S/GetSecurityInfo und S/GetNamedSecurityInfo anders implementiert sind.
SetNamedSecurityInfo
Das integrity level der Resource wird in der SACL gespeichert. Normal braucht man einfach nur das SE_SECURITY_NAME, um es zu bekommen (ein Relabel Priv ist also überflüssig). Es stimmt aber tatsächlich, dass in diesem Fall das Privileg garnicht notwendig zu sein scheint. Nunja, zumindest muss man Administrator sein, um dies überhaupt machen zu können (überprüft).
Ich habe jedoch nicht ausprobiert, was passiert, wenn man nicht Admin ist und das Privileg besitzt. In diesem Fall könnte man wohl Pech haben.
Mehrere IL:
Ja das funktioniert auch z.B. bei Dateien. Es wird aber immer nur das erste IL verwendet. Nunja, ich denke, das liegt daran, dass die Faulheit (ist ja alles c) gesiegt hat und keiner eine extra Fehlermeldung dafür produzieren wollte (ist immens aufwändig). (Habe SetSecurityInfo nicht ausprobiert damit)
BTW:
Ich kann mich dunkel erinnern (oder auch täuschen), dass das IL nachträglich in S/GetNamedSecurityInformation eingebaut wurde.
_________________ Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: blog.delphi-jedi.net = JEDI API LIB & Windows Security Code Library (JWSCL)
|
|
AHT
Beiträge: 207
|
Verfasst: Mo 19.01.09 07:08
Dezipaitor hat folgendes geschrieben : | Also soweit ich weiß, zahlst du erstmal Geld für den Bugreport. Wenn MS feststellt, dass es ein Bug ist, dann bekommst du dein Geld zurück. Oftmals ist es aber auch so, dass es als "By Design" verstanden wird, nur wurde die MSDN nicht geupdated oder die Ausnahme nur unzureichend beschrieben.
|
Ist eigentlich lächerlich. Es mal Geld zahlen damit man einen Fehler melden kann.
Dezipaitor hat folgendes geschrieben : |
JEDOCH!
Ich habe dies alles mal mit der JWSCL nachvollzogen und komme auf dasselbe hinaus!
|
Habs nicht in Delphi geschrieben - also schon mal zwei.
Dezipaitor hat folgendes geschrieben : |
Zudem habe ich herausgefunden, dass über OpenService mit SetSecurityInfo (+handle all access) es überhaupt garnicht möglich ist auf das LABEL zuzugreifen (sogar mit SYSTEM-Rechten).
|
Hat mich auch graue Haare gekostet, kann das mit meiner Sprache und meiner Umsetzung bestätigen.
Dezipaitor hat folgendes geschrieben : |
Man merkt, dass S/GetSecurityInfo und S/GetNamedSecurityInfo anders implementiert sind.
|
Ja.
Dezipaitor hat folgendes geschrieben : |
SetNamedSecurityInfo
Das integrity level der Resource wird in der SACL gespeichert. Normal braucht man einfach nur das SE_SECURITY_NAME, um es zu bekommen (ein Relabel Priv ist also überflüssig).
|
Ich glaube, das hast du falsch verstanden. Man kann als Admin nur mit dem Privileg SeRelablePrivilege die Systemverbindlichkeitsstufe erreichen - und das aus gutem Grund. Normalerweise hat das nur der Account "System".
Ob SE_SECURITY_NAME überhaupt verwendet werden muss, hängt von den Parametern ab, mit denen man GetNamedSecurityInformation (etc,) bestückt.
Dezipaitor hat folgendes geschrieben : |
Es stimmt aber tatsächlich, dass in diesem Fall das Privileg garnicht notwendig zu sein scheint.
|
Bei anderen Objekten (z.B. Dateien) ist es notwendig, um den IL auf die Systemverbindlichkeitsstufe zu erhöhen.
Nebeneffekt: Habe ich den Service als Admin in die Systemverbindlichkeitsstufe geschossen, habe ich unter Umständen keinen Zugriff mehr auf den SACL und ich kann die Rechte als Admin nicht mehr zurücksetzen, darum geht es mir.
Dezipaitor hat folgendes geschrieben : |
Mehrere IL:
Ja das funktioniert auch z.B. bei Dateien.
|
Sicher? Bei mir nicht, merwürdig... Evtl. hängt das von den Parametern von SetNamedSecurityInfo ab? Welche Parameter werden bei dir verwendet?
Dezipaitor hat folgendes geschrieben : |
Es wird aber immer nur das erste IL verwendet. Nunja, ich denke, das liegt daran, dass die Faulheit (ist ja alles c) gesiegt hat und keiner eine extra Fehlermeldung dafür produzieren wollte (ist immens aufwändig). (Habe SetSecurityInfo nicht ausprobiert damit)
|
Ich habe den Eindruck, das auch hier auf Dauer mehrere ACEs verwendet werden, um einen IL festzulegen. Es wäre sehr sinnvoll den Elementen eines Ordners andere Rechte vererben zu können, als der Ordner selbst hat. Ich nehme für Dateien nur LABEL_SECURITY_INFORMATION als Parameter und dann wird bei mir nur der erste ACE eingetragen.,
Danke für die Rückmeldung!
|
|
Joachim.01
Hält's aus hier
Beiträge: 5
|
Verfasst: Mo 19.01.09 10:59
Also die Hotline wäre damit wohl wirklich überfordert daher wäre eine E-mail eher angebracht.
|
|
Robert.Wachtel
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: Mo 19.01.09 11:12
Joachim.01 hat folgendes geschrieben : | Also die Hotline wäre damit wohl wirklich überfordert [...] |
Es ging ja nur darum, die Hotline zu fragen, an wen man sich wenden kann.
Zitat: | [...] daher wäre eine E-mail eher angebracht. |
Und Du hast ganz bestimmt eine eMail-Adresse, oder?
|
|
AHT
Beiträge: 207
|
Verfasst: Mo 19.01.09 12:08
Robert.Wachtel hat folgendes geschrieben : | Joachim.01 hat folgendes geschrieben : | Also die Hotline wäre damit wohl wirklich überfordert [...] |
Es ging ja nur darum, die Hotline zu fragen, an wen man sich wenden kann.
|
An wen man sich wie wenden kann, steht auf der HP von M$ -> alles kostenpflichtig.
[quote=" Robert.WachtelUnd Du hast ganz bestimmt eine eMail-Adresse, oder? [/quote]
Ich ja, M$ aber scheinbar nicht.
|
|
Ralf Jansen
Beiträge: 4701
Erhaltene Danke: 991
VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
|
Verfasst: Mo 19.01.09 12:30
Bugs (auch wenn Microsoft lieber einfach nur von Feedback spricht) kannst du zum Beispiel über connect.microsoft.com melden.
|
|
AHT
Beiträge: 207
|
Verfasst: Mo 19.01.09 13:02
Besten Dank, das sieht vernünftig aus. Werde mich da mal anmelden.
|
|
|