Code Access Security - Grundlagen und Beispiel
Ich wurde durch diesen link, um zu verstehen, CodeAccessSecurity:
http://www.codeproject.com/KB/security/UB_CAS_NET.aspx
Es ist ein großer Artikel, aber es ging mir mit folgenden Fragen:
-
Wenn Sie fordern und bekommen, was Berechtigungen, die Sie wollen, dann ist jede ausführbare Datei bekommen können Full_Trust auf die Maschine. Wenn die Berechtigungen sind schon da, dann warum brauchen wir, um diese Nachfrage?
-
Code ausgeführt wird, auf dem Server, also werden die Berechtigungen sind auf dem server nicht auf den client-Maschine?
-
Artikel ein Beispiel für das entfernen von write Berechtigungen einer assembly zu zeigen, Sicherheit Ausnahme. Obwohl in der realen Welt, System.IO-Baugruppe (oder Verwandte Klassen) kümmert sich um diese Berechtigungen. So ist es ein realistisches Szenario, wo wir brauchen, CAS?
- CAS ist überflüssig wie der .NET 4.0 (infoq.com/news/2009/11/CAS-Replaced) so vorsichtig sein, nicht zu sehr von ihm abhängig...
- mehr info, was genau zu ändern ist hier: msdn.microsoft.com/en-us/library/dd233103%28VS.100%29.aspx
- Danke. Aber glaube nicht, dass ich werde springen auf 4.0 für ein Jahr oder so. Auch ich würde noch gerne wissen, irgendwelche Beispiele, wo CAS war nötig und wahrscheinlich, wie es gehandhabt wird in der Version 4.0.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Idee des "least privilege access" ein sehr wichtiges Prinzip der secuirty. Ein hacker ist, wird Ihre Anwendung etwas tun, dass es nicht beabsichtigte, zu tun. Was auch immer Rechte, die der Anwendung zum Zeitpunkt des Angriffs die Angreifer haben thoughs gleichen Rechte. Sie können nicht aufhören, jeden Angriff gegen Ihre Anwendung, so dass Sie brauchen, senken Sie die Auswirkungen eines möglichen Angriffs, so viel wie Sie können. Das ist nicht bullet proof, aber diese deutlich erhöht der bar. Ein Angreifer kann vielleicht eine Kette privilege-escalation-Angriff in seinen exploit.
In den meisten Fällen können Sie nicht kontrollieren, die Aktionen des client. In der Regel sollten Sie davon ausgehen, dass der Angreifer kann die Kontrolle der client mit einem debugger oder mit geänderten oder neu geschrieben-client. Dies gilt insbesondere für web-Applikationen. Sie wollen den server zu schützen, so viel wie möglich, und die Anpassung von Berechtigungen ist ein gemeinsamer Weg, dies zu tun.
Sorry, ich kann nicht diese eine Antwort ohne Google. Aber CAS ist sowieso veraltet.