Proteger los datos de estado
En las aplicaciones en las que se tratan datos confidenciales o en las que se toma cualquier tipo de decisión sobre la seguridad, es necesario mantener los datos bajo control y no permitir que un posible código malintencionado tenga acceso directo a los datos. La mejor forma de proteger los datos en la memoria consiste en declarar los datos como variables privadas o internas (con el ámbito limitado al mismo ensamblado). No obstante, incluso estos datos están expuestos al acceso malintencionado, por tanto, deberá tener en cuenta lo siguiente:
Utilizar mecanismos de reflexión, el código de alta confianza que puede hacer referencia al objeto puede obtener y establecer miembros privados.
Utilizar la serialización, el código de alta confianza puede obtener y establecer miembros privados de forma eficaz si puede tener acceso a los datos correspondientes en el formulario serializado del objeto.
Estos datos se pueden leer durante la depuración.
Compruebe que ninguno de sus métodos o propiedades expone estos valores involuntariamente.
En algunos casos, los datos se pueden declarar como "protegidos", con acceso limitado a la clase y sus derivados. No obstante, se deben tomar las siguientes precauciones adicionales debido a una mayor exposición:
Controlar los códigos a los que se permite derivar de la clase mediante la restricción del código al mismo ensamblado o la seguridad declarativa, que se describe en Proteger acceso a métodos, con el fin de que sea necesario alguna identidad o permisos para que el código se derive de la clase.
Asegurarse de que en todas las clases derivadas se implementa una protección similar o que estén selladas.