• CWE-582: Array Declared Public, Final, and Static

Das Produkt deklariert ein Array als public, final und static, was nicht ausreicht, um zu verhindern, dass der Inhalt des Arrays modifiziert wird.

CWE-582: Array Declared Public, Final, and Static

CWE ID: 582
Name: Array Declared Public, Final, and Static

Beschreibung

Das Produkt deklariert ein Array als public, final und static, was nicht ausreicht, um zu verhindern, dass der Inhalt des Arrays modifiziert wird.

Erweiterte Beschreibung

Da Arrays veränderliche (mutable) Objekte sind, beschränkt die final-Deklaration lediglich, dass das Array-Objekt nur einmal zugewiesen werden kann, ohne jedoch Garantien bezüglich der Werte der Array-Elemente zu geben. Da das Array public ist, kann ein bösartiges Programm die darin gespeicherten Werte ändern. Folglich stellt ein public, final und static deklariertes Array in den meisten Fällen einen Programmierfehler (bug) dar.

Risikominderungsmaßnahmen

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: In den meisten Situationen sollte das Array als private deklariert werden.

Detaillierter Hintergrund

Mobile Code, in diesem Fall ein Java Applet, bezeichnet Code, der über ein Netzwerk übertragen und auf einer entfernten Maschine ausgeführt wird. Da Entwickler von Mobile Code in der Regel wenig bis keinen Einfluss auf die Umgebung haben, in der ihr Code ausgeführt wird, werden besondere Sicherheitsaspekte relevant. Eine der größten Umweltbedrohungen resultiert aus dem Risiko, dass der Mobile Code parallel zu anderem, potenziell bösartigem Mobile Code ausgeführt wird. Da die meisten verbreiteten Webbrowser Code aus verschiedenen Quellen gemeinsam in derselben JVM ausführen, konzentrieren sich viele der Sicherheitsrichtlinien für Mobile Code darauf, die Manipulation des Zustands und des Verhaltens Ihrer Objekte durch Angreifer zu verhindern, die Zugriff auf die gleiche virtuelle Maschine haben, auf der Ihr Produkt läuft.