CWE ID: 582
Name: 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.
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.
Effektivität: Unknown
Beschreibung: In den meisten Situationen sollte das Array als private
deklariert werden.
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.