Udostępnij za pośrednictwem


Zagadnienia dotyczące zabezpieczeń internetowych

Pisanie wizualizatora obejmuje możliwe zagrożenia bezpieczeństwa. Obecnie nie istnieją znane luki w zabezpieczeniach dla tych potencjalnych zagrożeń, ale deweloperzy powinni wiedzieć o nich i podjąć odpowiednie środki ostrożności, zgodnie z opisem w tym miejscu, aby chronić przed przyszłymi programami wykorzystującymi luki.

Wizualizatory debugera wymagają większych uprawnień niż są dozwolone przez aplikację częściowo zaufania. Wizualizatory nie będą ładować się po zatrzymaniu w kodzie z częściowym zaufaniem. Aby debugować przy użyciu wizualizatora, należy uruchomić kod z pełnym zaufaniem.

Uwaga

Zabezpieczenia dostępu kodu (CAS) zostały wycofane we wszystkich wersjach programu .NET Framework i .NET. Najnowsze wersje platformy .NET nie honorują adnotacji CAS i generują błędy, jeśli są używane interfejsy API związane z usługą CAS. Deweloperzy powinni szukać alternatywnych sposobów wykonywania zadań zabezpieczeń.

Możliwy złośliwy składnik debuggee

Wizualizatory składają się z co najmniej dwóch klas: jednej po stronie debugera i jednej po stronie debugowania. Wizualizatory są często wdrażane w oddzielnych zestawach umieszczonych w specjalnych katalogach, ale można je również załadować z debuggee. W takim przypadku debuger pobiera kod z debuggee i uruchamia go wewnątrz debugera z pełnym zaufaniem.

Uruchamianie kodu po stronie debugowania z pełnym zaufaniem staje się problematyczne, gdy debugowanie nie jest w pełni zaufane. Jeśli wizualizator spróbuje załadować zestaw częściowo zaufania z debugera do debugera, program Visual Studio zakończy wizualizator.

Jednak nadal istnieje niewielka luka w zabezpieczeniach. Strona debugowania może skojarzyć się ze stroną debugera załadowaną z innego źródła (a nie debuggee). Strona debugowania może następnie poinformować, że zaufana strona debugera umożliwia wykonywanie akcji w jego imieniu. Jeśli zaufana klasa po stronie debugera uwidacznia na przykład mechanizm "usuń ten plik", debuggee częściowego zaufania może wywołać ten mechanizm, gdy użytkownik wywołuje jego wizualizator.

Aby wyeliminować tę lukę w zabezpieczeniach, należy pamiętać o interfejsach uwidocznionych przez wizualizatora.