Udostępnij za pośrednictwem


Określone zagadnienia dotyczące zabezpieczeń rozwiązań pakietu Office

Funkcji zabezpieczeń oferowanych przez.NET Framework Microsoft oraz Microsoft Office może pomóc w ochronie przed zagrożeniami bezpieczeństwa możliwe rozwiązanie pakietu Office.W tym temacie opisano niektóre z tych zagrożeń i zawiera zalecenia, aby ułatwić ochronę przed nimi.Obejmuje to również informacji na temat wpływu rozwiązania biurowe ustawienia zabezpieczeń programu Microsoft Office.

Zastosowanie: Informacje przedstawione w tym temacie mają zastosowanie do projektów na poziomie dokumentu i aplikacji obsługiwanych w pakietach Office 2013 i Office 2010. Zobacz Funkcje dostępne w aplikacjach pakietu Office i typ projektu.

Kod jest przeznaczeniu w nowy dokument złośliwego zaufanych

Może potrwać zaufany kod, który jest przeznaczony dla określonego celu, na przykład pobieranie informacji osobistych dla aplikacji zatrudnienia, a ją ponownie w innym dokumencie, takie jak arkusza.Kod nie wie, że oryginalnego dokumentu nie jest uruchomiony i może otworzyć połączenia z innymi zagrożeniami, takimi jak ujawnienia informacji osobistych lub wykonywanie kodu z uprawnieniami zwiększoną, gdy otwarty przez innego użytkownika.Alternatywnie napastnik wystarczy zmodyfikować dane w arkuszu takie, że po wysłaniu ofierze, zachowuje nieoczekiwanie.Zmieniając wartości, formuły lub prezentacja cech arkusza, połączone z kodem jest złośliwy użytkownik do ataku innego użytkownika przez wysłanie zmodyfikowanego pliku.Może być również umożliwić użytkownikom dostęp do informacji, których nie powinni zobaczyć, zmieniając wartości w arkuszu.

Ponieważ lokalizacja zestawu i lokalizacji dokumentu musi mieć wystarczające dowody, aby wykonać, nie jest łatwe do montażu tego ataku.Na przykład dokumenty, załączniki do wiadomości e-mail lub na niepewnych intranetowych serwerów ma wystarczających uprawnień do uruchomienia.

Aby taki atak możliwe, sam kod musi być napisana w taki sposób, który sprawia, że decyzje na podstawie danych potencjalnie niepewnymi.Przykładem jest tworzenie arkusza, który zawiera ukryte komórki, która zawiera nazwę serwera bazy danych.Arkusz do strony ASPX, który próbuje łączyć się z serwerem przy użyciu uwierzytelniania SQL oraz hasło SA zakodowane przesyłania przez użytkownika.Może zastąpić zawartość komórki ukryte z innej nazwy komputera, a uzyskać hasło SA.Aby uniknąć tego problemu, hasła nigdy nie kodowane i zawsze sprawdzić serwer identyfikatorów z wewnętrznej listy serwerów, które są znane jako dobra przed uzyskaniem dostępu do serwera.

Zalecenia

  • Sprawdzanie poprawności danych wejściowych i danych, czy pochodzi ona od użytkownika, dokument, bazy danych, usługi sieci web lub innego źródła.

  • Należy zachować ostrożność, o wystawienie szczególnych rodzajów funkcjonalności, jak pobieranie danych uprzywilejowany w imieniu użytkownika i wprowadzenie go do niechronionego arkusza.

  • W zależności od typu aplikacji może mieć sens, aby zweryfikować, że oryginalny dokument przed wykonaniem jakiegokolwiek kodu.Aby na przykład sprawdzić, czy działa z dokumentu przechowywanego w znanym, bezpiecznym miejscu.

  • Może to być dobry pomysł wyświetli ostrzeżenie, gdy dokument jest otwierany, gdy aplikacja wykonuje wszelkie akcje uprzywilejowane.Na przykład można utworzyć ekran powitalny lub okno dialogowe uruchamiania informujący, że aplikacja będzie dostęp do informacji osobistych i użytkownik powinien wybrać kontynuować, lub przycisk Anuluj.Jeśli użytkownik końcowy uzyska takie ostrzeżenie z niewinnie dokumentu, on lub ona będzie mógł zamknąć aplikacji, zanim cokolwiek jest zagrożone.

Kod jest zablokowany przez straż modelu obiektów programu Outlook

Microsoft Office można ograniczyć kod korzystania z niektórych właściwości, metod i obiektów w modelu.Przez ograniczenie dostępu do tych obiektów, program Outlook pomaga zapobiegać e-mail robaków i wirusów przy użyciu modelu obiektowego w złośliwych celach.Ta funkcja zabezpieczeń jest znany jako strażnik modelu obiektów programu Outlook.Jeśli dodatek próbuje użyć ograniczone właściwości lub metody, przy włączonym guard model obiektu, program Outlook wyświetla ostrzeżenie o zabezpieczeniach, która umożliwia użytkownikowi zatrzymać operację lub umożliwia użytkownikowi udzielić dostępu do właściwości lub metody na czas określony.Jeśli użytkownik zatrzymuje działanie, dodatki programu Outlook utworzony przy użyciu rozwiązań pakietu Office w programie Visual Studio będzie rzucić COMException.

Guard modelu obiektów może wpłynąć na dodatki na różne sposoby, w zależności od tego, czy program Outlook jest używany z Microsoft Exchange Server:

  • Jeśli program Outlook nie jest używany z programem Exchange, administrator można włączyć lub wyłączyć straży model obiektu dla wszystkich dodatków na komputerze.

  • Jeśli program Outlook jest używany z programem Exchange, administrator można włączyć lub wyłączyć straży model obiektu dla wszystkich dodatków na komputerze lub administrator może określić, że niektóre dodatki można uruchomić bez straży model obiektu.Administratorzy można także zmodyfikować zachowanie straży model obiektu pewne obszary modelu.Na przykład Administratorzy mogą automatycznie pozwolić dodatków programowo, wysyłanie wiadomości e-mail, nawet jeśli guard modelu obiektu jest włączona.

Począwszy od programu Outlook 2007, zachowanie straży model obiektu po zmianie na poprawę doświadczenia autora i użytkownika, pomagając jednocześnie w celu zachowania zabezpieczeń programu Outlook.Aby uzyskać więcej informacji, zobacz Kod zmiany zabezpieczeń w programie Outlook 2007.

Minimalizowanie obiektu modelu Guard ostrzeżenia

Aby uniknąć wyświetlania ostrzeżeń dotyczących zabezpieczeń podczas używania ograniczone właściwości i metody, upewnij się, że dodatek uzyskuje obiektów programu Outlook z Application pole ThisAddIn klasy do projektu.Aby uzyskać więcej informacji o tym polu, zobacz Programowanie dodatków na poziomie aplikacji.

Tylko obiekty programu Outlook z tego obiektu mogą ufać guard model obiektu.Natomiast obiektów, które są uzyskiwane z nową Microsoft.Office.Interop.Outlook.Application obiektu nie są zaufane i ograniczone właściwości i metody podniesie ostrzeżenia dotyczące zabezpieczeń, jeśli guard modelu obiektu jest włączona.

Poniższy przykład kodu wyświetla ostrzeżenie o zabezpieczeniach, jeśli włączono guard model obiektu.To Właściwość Microsoft.Office.Interop.Outlook.MailItem klasy jest ograniczony przez straż model obiektu.Microsoft.Office.Interop.Outlook.MailItem Obiekt jest niezaufany, ponieważ kod pobiera go z Microsoft.Office.Interop.Outlook.Application jest tworzona za pomocą new zamiast uzyskania od operatora Application pole.

Private Sub UntrustedCode()
    Dim application As New Microsoft.Office.Interop.Outlook.Application
    Dim mailItem1 As Microsoft.Office.Interop.Outlook.MailItem = _
        TryCast(application.CreateItem( _
        Microsoft.Office.Interop.Outlook.OlItemType.olMailItem),  _
        Microsoft.Office.Interop.Outlook.MailItem)
    mailItem1.To = "someone@example.com"
    MessageBox.Show(mailItem1.To)
End Sub
private void UntrustedCode()
{
    Microsoft.Office.Interop.Outlook.Application application =
        new Microsoft.Office.Interop.Outlook.Application();
    Microsoft.Office.Interop.Outlook.MailItem mailItem1 =
        application.CreateItem(
        Microsoft.Office.Interop.Outlook.OlItemType.olMailItem) as
        Microsoft.Office.Interop.Outlook.MailItem;
    mailItem1.To = "someone@example.com";
    MessageBox.Show(mailItem1.To);
}

Poniższy przykład kodu pokazuje, jak korzystać z ograniczeniami To właściwość Microsoft.Office.Interop.Outlook.MailItem obiekt, który jest zaufany przez straż model obiektu.Kod używa zaufanego Application pole, aby Microsoft.Office.Interop.Outlook.MailItem.

Private Sub TrustedCode()
    Dim mailItem1 As Microsoft.Office.Interop.Outlook.MailItem = _
        TryCast(Me.Application.CreateItem( _
        Microsoft.Office.Interop.Outlook.OlItemType.olMailItem),  _
        Microsoft.Office.Interop.Outlook.MailItem)
    mailItem1.To = "someone@example.com"
    MessageBox.Show(mailItem1.To)
End Sub
private void TrustedCode()
{
    Microsoft.Office.Interop.Outlook.MailItem mailItem1 =
        this.Application.CreateItem(
        Microsoft.Office.Interop.Outlook.OlItemType.olMailItem) as
        Microsoft.Office.Interop.Outlook.MailItem;
    mailItem1.To = "someone@example.com";
    MessageBox.Show(mailItem1.To);
}

[!UWAGA]

Jeśli program Outlook jest używany z programem Exchange, uzyskania wszystkich obiektów programu Outlook z ThisAddIn.Application nie gwarantuje, że dodatek będzie możliwość dostępu do całego modelu obiektów programu Outlook.Na przykład, jeśli administrator programu Exchange Ustawia program Outlook automatycznie odrzucać wszystkie próby dostępu do informacji adres za pomocą modelu obiektów programu Outlook, następnie program Outlook nie pozwoli poprzedni przykład kodu dostępu do To właściwość, mimo że przykład kodu używa zaufanego ThisAddIn.Application pole.

Określanie które dodatki do zaufania podczas korzystania z programu Exchange

Gdy program Outlook jest używany z programem Exchange, Administratorzy mogą określić, że niektóre dodatki można uruchomić bez straży model obiektu.Dodatki programu Outlook utworzony przy użyciu rozwiązań pakietu Office w programie Visual Studio nie można ufać indywidualnie; może być tylko zaufane jako grupa.

Dodatek na podstawie kodu skrótu biblioteki DLL punkt wejścia, z dodatku, relacje zaufania programu Outlook.Wszystkie dodatki programu Outlook miejsce docelowe Visual Studio Tools for Office Runtime używać tego samego punktu wejścia DLL (VSTOLoader.dll).Oznacza to, że jeśli administrator ufa wszelkie dodatek jest przeznaczony dla Visual Studio Tools for Office Runtime do uruchomienia bez straży model obiektu, a następnie wszystkich innych dodatków, które jest przeznaczony dla Visual Studio Tools for Office Runtime są także zaufane.Aby uzyskać więcej informacji na temat ufania szczególne dodatki do uruchomienia bez straży model obiektu, zobacz Określ metodę, której program Outlook używa do zarządzania funkcjami zapobiegania wirusa.

Uprawnienie zmiany zaczynają obowiązywać natychmiast

Jeśli administrator dostosowuje uprawnienia dla dokumentu lub montaż, użytkowników, należy zamknąć i uruchom ponownie wszystkie aplikacje pakietu Office dla tych zmian ma być wykonana.

Inne aplikacje obsługujące aplikacje Microsoft Office można zapobiec również nowe uprawnienia z są egzekwowane.Użytkownicy, należy zamknąć wszystkie aplikacje używające pakietu Office, obsługiwanych lub autonomicznych, gdy zostały zmienione zasady zabezpieczeń.

Nie wpływają ustawienia Centrum zaufania pakietu Microsoft Office System, dodatków lub dostosowań na poziomie dokumentu

Użytkownicy mogą uniemożliwić dodatków załadowanie przez ustawienie opcji Centrum zaufania.Jednakże poziom aplikacji dodatków i dostosowań poziom dokument utworzony przy użyciu rozwiązań pakietu Office w programie Visual Studio nie dotyczy tych ustawień zaufania.

Jeśli użytkownik uniemożliwia dodatków ładowanie przy użyciu Centrum zaufania, nie załaduje następujące rodzaje dodatków:

  • Zarządzany i niezarządzany dodatków COM.

  • Dokumenty inteligentne zarządzane lub niezarządzane.

  • Zarządzany i niezarządzany dodatki automatyzacyjne.

  • Elementy danych w czasie rzeczywistym, zarządzane lub niezarządzane.

Poniższe procedury opisują, jak użytkownicy mogą używać Centrum zaufania ograniczenie dodatków ładowanie w programie Microsoft Office 2013 i Microsoft Office 2010.Procedury te nie wpływają na dodatki lub dostosowania utworzone za pomocą narzędzia programowania pakietu Office w programie Visual Studio.

Aby wyłączyć dodatki w programie Microsoft Office 2010 i Microsoft Office 2013 aplikacji

  1. Wybierz pliku kartę.

  2. Wybierz ApplicationName Opcje przycisk.

  3. W okienku Kategoria wybierz Centrum zaufania.

  4. W okienku szczegółów wybierz Ustawienia Centrum zaufania.

  5. W okienku Kategoria wybierz Dodatki.

  6. W okienku szczegółów zaznacz wymagają stosowania dodatków do podpisów zaufanego wydawcy lub wyłączyć wszystkie dodatki aplikacji.

Zobacz też

Inne zasoby

Zabezpieczanie rozwiązań pakietu Office