<dd id="sga4y"><optgroup id="sga4y"></optgroup></dd>
<nav id="sga4y"><code id="sga4y"></code></nav>
  • <optgroup id="sga4y"></optgroup>

    Unsafe Mobile Code: Unsafe Array Declaration

    ABSTRACT

    該程序違反了移動代碼的安全編碼原則,它聲明了數組 publicfinalstatic

    EXPLANATION

    在大多數情況下,把數組聲明為 publicfinalstatic 是一個 bug。因為數組是一個可變的對象,而 final 限制要求數組對象本身只能分配一次,但并不保證數組元素的數值不變。既然數組是公用的,惡意程序便可以篡改數組中存儲的值。所以,在大多數情況下,應將數組設置為 private

    例 1:以下 Java Applet 代碼錯誤地把一個數組聲明為 publicfinalstatic


    public final class urlTool extends Applet {
    public final static URL[] urls;
    ...
    }


    移動代碼,在本例中也就是 Java Applet,通過網絡進行傳遞并在遠程機器上運行。因為移動代碼的編寫者很難控制其所編寫代碼的運行環境,所以在安全上提出特別的要求理所當然。一個最大的環境威脅在于,移動代碼可以伴隨其他潛在的惡意移動代碼一起運行。因為所有的主流 web 瀏覽器會在同一 JVM 中執行來自多個來源的代碼,所以,許多移動代碼的安全指導原則都很關注可以訪問到運行著您程序的同一虛擬機的攻擊者,避免他們操縱您的對象的狀態和行為。

    REFERENCES

    [1] Standards Mapping - Common Weakness Enumeration - (CWE) CWE ID 582

    [2] G. McGraw Securing Java.Chapter 7:Java Security Guidelines


    Copyright 2013 Fortify Software - All rights reserved.
    (Generated from version 2013.1.1.0008 of the Fortify Secure Coding Rulepacks)
    desc.structural.java.unsafe_mobile_code_unsafe_array_declaration

    97av