Najlepsze praktyki zabezpieczeń w automatyzacji

Dodatki Visual Studio zostały zaniechane w programie Visual Studio 2013.Dodatki należy uaktualniać do pakietu rozszerzenia VSPackage.Aby uzyskać więcej informacji na temat uaktualniania, zobacz Często zadawane pytania: konwertowanie dodatków na rozszerzenia pakietu VSPackage.

Visual Studio deweloperzy automatyzacji muszą zrozumieć i przyjmować odpowiedzialność za tworzenie bezpiecznych aplikacji przez opis luk w zabezpieczeniach.Zabezpieczona aplikacja chroni poufność, integralność i dostępność danych klientów.Ponadto chroni integralność i dostępność zasobów przetwarzania, które kontroluje właściciel lub administrator systemu.

Do celów tej dyskusji, luka w zabezpieczeniach jest wadą produktu, która pozwala atakującemu — nawet kiedy produkt jest poprawnie użyty — na:

  • odpowiednie uprawnienia w systemie użytkownika,

  • reguluj, zmieniaj lub przekieruj działanie,

  • zagraża jego danym

    - lub -

  • załóż nieprzydzielone zaufanie.

Ważna uwagaWażne

Nigdy nie zakładaj, że aplikacja zostanie uruchomiona w zaledwie kilku środowiskach danych, zwłaszcza gdy aplikacja staje się bardzo popularna.Istnieje duża szansa, że będzie ona używana w innym, nieprzewidzianym ustawieniu.Zamiast tego należy założyć, że Twój kod zostanie wykonany w środowiskach najbardziej wrogich.Zaprojektuj, zapisz i testuj kod odpowiednio.

Istnieją korzyści z tworzenia bezpiecznych aplikacji.Kod, który został pierwotnie zaprojektowany i zbudowany z myślą o bezpieczeństwie jest bardziej rozbudowany niż kod napisany z zabezpieczeniami, które zostały dodane post factum.Bezpiecznie opracowane aplikacje są bardziej odporne na krytykę mediów, bardziej atrakcyjne dla użytkowników i mniej kosztowne z punktu widzenia naprawy pomocy technicznej.

Ryzykowne interfejsy API

Niektóre funkcje API można uznać za bardziej ryzykowne niż inne z punktu widzenia zabezpieczeń.Niektóre mogą być z natury ryzykowne w sposobie, w jaki funkcjonują.Inne mogą być ryzykowne, jeśli nie są wywołane lub obsługiwane poprawnie.Chodzi o to czy należy zapoznać się z pułapkami u dziwadłami różnych funkcji API, które wywołujesz, i czy stanowią one jakiekolwiek zagrożenie bezpieczeństwa, upewnij się, że są prawidłowo stosowane.

Ponadto, nie należy zakładać, że ponieważ kod wykorzystuje tylko funkcje API, które są uważane za „bezpieczne”, aplikacja jest automatycznie bezpieczna.Zaniedbania bezpiecznego programowania może narazić aplikację na takie samo lub większe ryzyko co użycie funkcji rzekomo „niebezpiecznych”.Praktyki takie mogą zawierać:

  • nieprawidłowa obsługa wyjątków,

  • używając zakodowanych ścieżek

  • przy użyciu ciągów połączeń zakodowanych,

    -lub-

  • nie sprawdza prawidłowego użytkownika lub uprawnień.

Aby chronić aplikacje, należy dokładnie zrozumieć problemy z zabezpieczeniami kodu przez przedmiotem badania.Książki Microsoft Press, Writing Secure Code oraz wytyczne dotyczące zabezpieczeń kodowania witryny pod adresem https://msdn2.microsoft.com/library/d55zzx87.aspx są dobrymi zasobami.

Innym ważnym punktem jest zrozumienie, że wiele problemów z zabezpieczeniami wynika z aplikacji, które ślepo ufają danym wejściowym.Istotne jest, aby aplikacja dokładnie przebadała i oceniła dane po otrzymaniu w celu sprawdzenia, że dane są poprawnie sformułowane i godne zaufania przed użyciem.

Funkcje zabezpieczeń automatyzacji

Oprócz poniższych wskazówek, automatyzacja Visual Studio oferuje kilka prostych, charakterystycznych sposobów, aby pomóc w zabezpieczeniu systemu przed eksploatowaniem zabezpieczeń automatyzacji.Pamiętaj jednak, że że nie są one panaceum na wszystkie problemy z zabezpieczeniami.Przeciwnie są one dobrym początkiem.Aby uzyskać więcej informacji, zobacz Zabezpieczenia dodatków.

Zbadaj i dokładnie wykonaj wytyczne zabezpieczeń .NET przed rozpoczęciem tworzenia aplikacji automatyzacji.

Zobacz też

Inne zasoby

Zasoby dla tworzenia bezpiecznych aplikacji

Główne pojęcia dotyczące zabezpieczeń