Zabezpieczanie danych o stanie
Aplikacje obsługujące poufne dane lub podejmujące jakiekolwiek decyzje dotyczące zabezpieczeń muszą zachować te dane pod własną kontrolą i nie mogą zezwalać innym potencjalnie złośliwym kodom na bezpośredni dostęp do danych. Najlepszym sposobem ochrony danych w pamięci jest zadeklarowanie danych jako zmiennych prywatnych lub wewnętrznych (z zakresem ograniczonym do tego samego zestawu). Jednak nawet te dane podlegają dostępowi, należy pamiętać o:
Korzystając z mechanizmów odbicia, wysoce zaufany kod, który może odwoływać się do obiektu, może pobierać i ustawiać prywatne elementy członkowskie.
Korzystając z serializacji, wysoce zaufany kod może skutecznie pobierać i ustawiać prywatne elementy członkowskie, jeśli może uzyskać dostęp do odpowiednich danych w postaci serializowanej obiektu.
W ramach debugowania te dane można odczytać.
Upewnij się, że żadna z własnych metod lub właściwości nie uwidacznia tych wartości przypadkowo.