Sicherheitsprofil
EPPlus ist eine .NET Klassenbibliothek für die Verarbeitung von Tabellenkalkulationen im Office Open XML-Format. Es wird als NuGet -Paket verteilt, das signierte Assemblies für mehrere .NET Zielframeworks enthält und als Komponente in kundenbasierten Anwendungen verwendet werden soll.
Wie EPPlus läuft
EPPlus hat keine eigene Laufzeit. Es handelt sich um eine Bibliothek, die in den Prozess einer Host-Anwendung geladen und vollständig innerhalb dieses Prozesses ausgeführt wird. Dies hat folgende Folgen für sein Sicherheitsprofil:
- EPPlus läuft nicht in eigenem Prozess. Sie läuft als In-Process-Code innerhalb der Anwendung, die darauf referenziert.
- EPPlus verwaltet weder seine eigene Datenbank noch den persistenten Speicher. Jegliche Datei- oder Datenverarbeitung erfolgt im Auftrag der Host-Anwendung.
- EPPlus initiiert keine eigene Netzwerkaktivität – keine Telemetrie, Lizenzprüfungen, Aktualisierungsprüfungen oder "Phone-Home" – und benötigt keinen Netzwerkzugriff, um zu funktionieren. Alle Tabellenkalkulationsdatei-I/O befinden sich lokal im Hostprozess. Die einzige Ausnahme ist host-aufgerufen: Die IMAGE()-Funktion kann ein Bild über HTTPS abrufen, wenn die Host-Anwendung Formeln berechnet, über einen Dienst, den der Host einschränken oder deaktivieren kann.
- EPPlus hat keinen Authentifizierungs- oder Autorisierungsmechanismus. Es identifiziert keine Nutzer, gibt keine Zugangsdaten aus und kontrolliert keinen Zugriff.
- EPPlus hat keine eigene Infrastruktur – keine Server, keine Cloud-Dienste, keine gehosteten Endpunkte.
- Penetrationstests sind nur im Kontext einer Host-Anwendung sinnvoll, da EPPlus keine eigenständige Laufzeitlaufzeit und keine Abhör- oder eingehende Netzwerkoberfläche offenlegt. Sinnvolle Sicherheitstests finden auf der Ebene der Host-Anwendung statt, die EPPlusverwendet.
Was das für Sicherheitsbewertungen bedeutet
Viele Standard-Sicherheitsfragebögen sind für SaaS-Produkte oder Netzwerkdienste konzipiert. Fragen zur TLS-Konfiguration, Zugriffsprotokollierung, Benutzerbereitstellung, Infrastrukturhärtung, Laufzeitüberwachung oder Datenspeicherung gelten für EPPlusnicht, da EPPlus keine dieser Oberflächen bereitstellt.
Die Sicherheitsbedenken, die für EPPlus gelten, werden in anderen Bereichen dieser Seite behandelt:
- Release-Integrität – siehe Code Signing , um zu überprüfen, dass eine Veröffentlichung nicht manipuliert wurde.
- Abhängigkeitsintegrität – siehe die Software Bill of Materials für den vollständigen Komponentenbestand jeder Version.
- Bekannte Schwachstellen – siehe Offenbarungshinweise für offengelegte Probleme und unsere Einschätzungen.
- Meldung und Reaktion – siehe unsere Richtlinie zur Offenlegung von Schwachstellen für Hinweise auf Sicherheitsprobleme, unseren koordinierten Offenlegungsprozess, interne Reaktionsziele und die CRA-Artikel-14-Meldepflichten gegenüber CERT-SE und ENISA.
- Verarbeitung nicht vertrauenswürdiger Eingaben – siehe Sicherheitsüberlegungen bei der Berechnung von Formeln für die Sicherheitsimplikationen der Berechnung von Formeln in Arbeitsbüchern aus nicht vertrauenswürdigen Quellen sowie der für die Host-Anwendung verfügbaren Kontrollen.
Sichere Entwicklungspraktiken
EPPlus wird unter einer Reihe von Praktiken entwickelt, die darauf abzielen, Mängel – einschließlich sicherheitsrelevanter Mängel – frühzeitig zu erkennen:
- Alle Codeänderungen erfolgen über Pull Requests und müssen von einem anderen Mitglied des EPPlus Teams überprüft und genehmigt werden, bevor sie zusammengeführt werden. Dieser Prozess ist öffentlich und findet im EPPlus GitHub-Repository statt.
- Jede Änderung läuft vor der Veröffentlichung durch Tausende von Unit-Tests als Teil unserer CI/CD-Pipeline.
- Der Quellcode wird bei jedem Push von GitHub CodeQLanalysiert. Siehe Quellcode-Scanning für Details.
- Abhängigkeiten werden kontinuierlich auf bekannte Schwachstellen überprüft. Siehe Schwachstellen-Scanning für Details.
Verantwortungsgrenze
Da EPPlus im Prozess der Host-Anwendung läuft, wird die Verantwortung für die gesamte Sicherheitslage geteilt. EPPlus Software AB ist verantwortlich für das, was sich in der Bibliothek befindet – die Korrektheit des Codes, die Integrität der veröffentlichten Artefakte und den zeitnahen Umgang mit gemeldeten Schwachstellen. Die Host-Anwendung ist verantwortlich für alles rund um die Bibliothek – die Laufzeitumgebung, die Benutzer, die darauf zugreifen, und die Daten, die ihr zur Verarbeitung übermittelt werden.
Verantwortlichkeiten der Host-Anwendungen
- Entscheiden, ob eine Datei vertrauenswürdig oder nicht vertrauenswürdig ist, bevor sie an EPPlusweitergegeben wird.
- Anwendung von Ressourcenlimits (Speicher, CPU, Verarbeitungszeit) auf Prozessebene.
- Authentifizierung und Autorisierung von Benutzern der Host-Anwendung.
- Betrieb der Infrastruktur, auf der die Host-Anwendung läuft.
- Anwendung geeigneter Kontrollen bei der Berechnung von Formeln in nicht vertrauenswürdigen oder teilweise vertrauenswürdigen Arbeitsbüchern.
Aufgaben des EPPlus Software AB
- Die Korrektheit und Sicherheit des Bibliothekscodes selbst.
- Umgang mit gut geformten und fehlgeformten Eingabedateien innerhalb dokumentierter Grenzen, ohne Sandboxing oder Isolation über das hinaus, was die Host-Anwendung bietet.
- Rechtzeitige Behebung gemeldeter Schwachstellen gemäß unserer Richtlinie zur Offenlegung von Schwachstellen.
- Aufrechterhaltung der Integrität der Lieferkette durch Codesignierung und veröffentlichte SBOMs.