CA2103: Przejrzyj zabezpieczenia imperatywne
TypeName |
ReviewImperativeSecurity |
CheckId |
CA2103 |
Kategoria |
Microsoft.Security |
Zmiana kluczowa |
Kluczowa |
Przyczyna
Metoda używa imperatywnych zabezpieczeń i może konstruować uprawnienia za pomocą informacji o stanie lub wartości zwrotnych, które można zmienić, tak długo, jak długo żądanie jest aktywne.
Opis reguły
Zabezpieczenia nadrzędne używają obiektów zarządzanych do określania uprawnień i działania zabezpieczeń podczas wykonywania kodu, w porównaniu do zabezpieczeń deklaracyjnych używają atrybutów do przechowywania uprawnień i akcji w metadanych.Zabezpieczenia nadrzędne są bardzo elastyczne, ponieważ można ustawić stan uprawnień obiektu i wybrać akcje zabezpieczeń przy użyciu informacji, który nie są dostępne w czasie wykonywania.Razem z tą elastycznością przychodzi ryzyko, że informacje czasu wykonywania używane do określenia stanu uprawnień nie pozostają bez zmian, tak długo jak obowiązuje akcja.
Należy używać zabezpieczeń deklaracyjnych wszędzie, gdzie to możliwe.Wymagania deklaracyjne są łatwiejsze do zrozumienia.
Jak naprawić naruszenia
Należy przejrzeć wymagania bezpieczeństwa imperatywnego, aby upewnić się, że stan uprawnień nie polega na informacjach, które można zmieniać w czasie wykorzystywania uprawnień.
Kiedy pominąć ostrzeżenia
Można bezpiecznie pominąć ostrzeżenie od tej reguły, jeśli uprawnienia nie polegają na zmiennych danych.Jednak lepiej jest zmienić wymagania imperatywne na ich odpowiednik deklaracyjny.