Warum CAS (Code Access Security) verwenden?

8

Ich war ein Teil von so vielen Web-Anwendungen, habe aber noch nie CAS benutzt, vielleicht habe ich auch nie das Bedürfnis verspürt, dasselbe zu verwenden.

Wann muss CAS verwendet werden? Verwenden die Leute es tatsächlich in ihren Anwendungen?

    
MOZILLA 07.01.2009, 15:57
quelle

8 Antworten

3

CAS ist eigentlich nur in Desktop-Anwendungen nützlich, wo Sie einschränken möchten, was eine Anwendung über das Netzwerk (zum Beispiel) auf dem lokalen Rechner ausführen kann. Ich habe festgestellt, dass das Täuschen mit CAS nach einem großen, sinnlosen Kopfweh verlangt, selbst unter diesen Umständen. Die Standardkonfiguration ist im Allgemeinen am sinnvollsten.

Dieser Modelltyp ist für eine Webanwendung offensichtlich weniger nützlich, da Sie implizit dem gesamten Code in der Anwendung vertrauen.

    
TheSmurf 07.01.2009 16:00
quelle
3

Ich denke, ich muss die einsame Stimme in der Wildnis sein und den anderen Respondern hier nicht zustimmen.
Wie ich in meine Antwort zu einer ähnlichen Frage vor ein paar Monaten gibt es spezifische Szenarien, wo CAS ist der Weg zu gehen. Natürlich gilt das nur, wenn Sie sehr sicherheitsbewusst sind und sich mit einem sensiblen System auseinandersetzen, UND wenn man bedenkt, dass dies nur eine zusätzliche Verteidigungsschicht darstellt, werden Sie wahrscheinlich nicht an den Ort kommen, an dem Sie diese Kasse benötigen Sie beheben alle anderen schwerwiegenden Probleme in Ihrer Anwendung.
Auch hier bietet Ihnen CAS die Möglichkeit, das zu beschränken, was Ihre APPLICATION tun kann, und nicht nur Ihre Benutzer, und zwar auf sehr granulare Weise.

    
AviD 26.02.2009 10:24
quelle
2

Der einzige Ort, an dem ich jemals auf CAS gestoßen bin, ist Sharepoint, wo es verwendet wird, um zu begrenzen, worauf eine benutzerdefinierte Assembly im BIN-Verzeichnis zugreifen kann (z. B. das Sharepoint-Objektmodell). Viele Leute denken, dass CAS zu komplex ist und die Mühe nicht wert ist, also werfen sie die Versammlung in den GAC. Aber wenn Sie das tun, dann überprüfen Sie den Code für Sicherheitsrisiken besser.

    
barneytron 07.01.2009 16:34
quelle
1

Ich habe es noch nie benutzt gesehen.

Es existiert nur, damit Sie das maximale Sicherheitsniveau angeben können, in dem Ihr Code ausgeführt werden sollte. Es ist eher ein Verfahren zum Schutz vor Klagen als alles andere in dem Sinne, dass Sie behaupten können, dass Ihr Code möglicherweise nicht ausführbar ist eine bestimmte Funktion.

Ich persönlich glaube, dass es Zeitverschwendung ist, da es dem zugrunde liegenden Betriebssystem keinen wirklichen Schutz bietet.

Hier finden Sie weitere Informationen dazu von Microsoft: Ссылка

    
NotMe 07.01.2009 16:03
quelle
1

Ich bin einmal darüber gestolpert, als ich WPF gelernt habe. Es wurde in diesem Sudoku-Tutorial verwendet, um Plugins von anderen Benutzern zu laden. Für das Plugin wurde eine spezielle Anwendungsdomäne mit wenigen Zugriffsrechten erstellt und die Kommunikation mit .NET Remoting durchgeführt. Das Tutorial bietet einige gute Einblicke in das sichere Laden von Plugins.

    
Morten Christiansen 07.01.2009 16:41
quelle
1

VSTO ist eine nützliche Technologie, mit der Sie verwalteten Code, der in einer .NET-Sprache geschrieben wurde, aus Office-Dokumenten ausführen können Verwenden von VBA. Es erfordert die Verwendung von caspol auf 2 Arten auf Client-Rechnern:

  • Permission Office, um DLLs von dem Ort auszuführen, an dem die DLLs bereitgestellt werden.

  • Permission Office, um DLLs von dem Speicherort auszuführen, an dem das Office-Dokument geöffnet wurde.

Ich habe festgestellt, dass Caspol ein Albtraum ist, und ich denke, dass wie Makefiles nur ein Caspol-Skript jemals von Grund auf neu geschrieben wurde.

    
RossFabricant 07.01.2009 16:55
quelle
0

Ich muss den anderen Opinions hier zustimmen - CAS ist eines dieser Dinge, die auf dem Papier gut aussehen, aber ich habe nie gesehen, dass es in seriösen LOB-Anwendungen verwendet wird und wahrscheinlich auch nie. Was mich verblüfft ist, dass die Leute bei den Interviews oft CAS-bezogene Fragen stellen - jetzt das ist völlig sinnlos. :)

    
Dmitri Nesteruk 07.01.2009 18:02
quelle
0

Ein Beispiel für CAS ist WPF-gehostete-in-Browser-Apps (.xbap).

Das Problem besteht darin, Clients vor verwaltetem Code zu schützen, der in einer vom Browser gehosteten Anwendungsdomäne ausgeführt wird.

Um dies zu tun, erstellt WPF (genauer: PresentationHost.exe) eine App-Domäne mit eingeschränkten Berechtigungen. Der Code, der innerhalb seiner Grenzen ausgeführt wird, wird mit einer begrenzten Anzahl von Berechtigungen ausgeführt (z. B. keine Datei-IO, kein Registrierungszugriff, nur sicheres Drucken usw.).

Ein weiterer Gesichtspunkt, den es zu berücksichtigen gilt, wenn man über die Nützlichkeit von CAS nachdenkt, ist auf die Schuhe von jemandem gelegt, der eine Bibliothek schreibt, die auf Client-Maschinen installiert wird. Wie schützen Sie Clientcomputer und ihre Netzwerke vor teilweise vertrauenswürdigem Code, der im Browser ausgeführt wird, z. als Teil einer WPF-Anwendung, die diese Bibliotheken aufruft? CAS hilft hier das Puzzle zu vervollständigen, indem es entsprechende Anforderungen stellt, so dass teilweise vertrauenswürdiger Code nur Zugriff auf sicher exponierte Funktionalität hat.

    
Ariel 24.06.2009 16:23
quelle

Tags und Links