Autor Beitrag
AHT
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 207



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 207



BeitragVerfasst: So 18.01.09 16:20 
user profile iconplatzwart hat folgendes geschrieben Zum zitierten Posting springen:
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 :D .
Timosch
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: 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? :mrgreen: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 207



BeitragVerfasst: So 18.01.09 16:56 
Mmmh...

Vielleicht komme ich da weiter, mal schauen:
support.microsoft.com/gp/assistsupport
AHT Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 207



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 207



BeitragVerfasst: Mo 19.01.09 07:08 
user profile iconDezipaitor hat folgendes geschrieben Zum zitierten Posting springen:
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.

user profile iconDezipaitor hat folgendes geschrieben Zum zitierten Posting springen:

JEDOCH!

Ich habe dies alles mal mit der JWSCL nachvollzogen und komme auf dasselbe hinaus!

Habs nicht in Delphi geschrieben - also schon mal zwei.

user profile iconDezipaitor hat folgendes geschrieben Zum zitierten Posting springen:

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.

user profile iconDezipaitor hat folgendes geschrieben Zum zitierten Posting springen:

Man merkt, dass S/GetSecurityInfo und S/GetNamedSecurityInfo anders implementiert sind.

Ja.

user profile iconDezipaitor hat folgendes geschrieben Zum zitierten Posting springen:

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.

user profile iconDezipaitor hat folgendes geschrieben Zum zitierten Posting springen:

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.

user profile iconDezipaitor hat folgendes geschrieben Zum zitierten Posting springen:

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?

user profile iconDezipaitor hat folgendes geschrieben Zum zitierten Posting springen:

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



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 895
Erhaltene Danke: 7

Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
BeitragVerfasst: Mo 19.01.09 11:12 
user profile iconJoachim.01 hat folgendes geschrieben Zum zitierten Posting springen:
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? :mrgreen:
AHT Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 207



BeitragVerfasst: Mo 19.01.09 12:08 
user profile iconRobert.Wachtel hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconJoachim.01 hat folgendes geschrieben Zum zitierten Posting springen:
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="user profile iconRobert.WachtelUnd Du hast ganz bestimmt eine eMail-Adresse, oder? :mrgreen:[/quote]
Ich ja, M$ aber scheinbar nicht.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4701
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 207



BeitragVerfasst: Mo 19.01.09 13:02 
Besten Dank, das sieht vernünftig aus. Werde mich da mal anmelden.