Specifické aspekty zabezpečení u řešení pro systém Office
Funkce zabezpečení poskytované rozhraní.NET Framework Microsoft a Microsoft Office mohou pomoci chránit vaše řešení Office proti možným bezpečnostním hrozbám.Toto téma vysvětluje některé tyto hrozby a poskytuje doporučení k ochraně proti nim.Obsahuje také informace o vlivu řešení Office nastavení zabezpečení aplikace Microsoft Office.
Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni dokumentu i na úrovni aplikace v Office 2013 a v Office 2010. Další informace najdete v tématu Dostupné funkce podle aplikací systému Office a typů projektu.
Důvěryhodný kód je určena i nový škodlivý dokument.
Útočník by mohl přijmout důvěryhodný kód, který je určen pro určitý účel, například stahování osobní informace pro žádosti o zaměstnání a znovu v jiném dokumentu, například na listu.Kód neví, že původní dokument není spuštěn a může otevřít další ohrožení, například odhalení osobních informací nebo spuštění kódu zvýšená oprávnění, když je otevřen jiným uživatelem.Také útočník lze jednoduše upravit data v listu tak, že při odeslání oběti chovat neočekávaně.Změnou hodnoty, vzorce nebo prezentace charakteristiky spojené s kódem listu je možné uživateli se zlými úmysly k útoku na jiný uživatel odesláním upraveného souboru.Je také možné uživatelům přístup k informacím, které by neměl zobrazit změnou hodnot v listu.
Protože umístění sestavení a umístění dokumentu musí mít dostatečné důkazy pro spouštění, tento útok se snadno připojit.Například dokumenty v e-mailové přílohy nebo na intranetu nedůvěryhodné servery nemají dostatečná oprávnění ke spuštění.
Umožní tento útok, musí být napsány samotného kódu tak, že usnadňuje rozhodnutí založená na potenciálně nedůvěryhodnými daty.Příklad vytvoření listu, který obsahuje skryté buňky, která obsahuje název serveru databáze.Uživatel odešle stránku ASPX, která se pokusí připojit k serveru pomocí ověřování serveru SQL a pevně zakódované heslo SA listu.Útočník by mohl nahradit obsah skryté buňky jiný název počítače a získat heslo správce systému.Předejít tomuto problému, hesla nikdy pevného kódu a vždy zkontrolujte ID serveru proti vnitřní seznam serverů, které jsou známé dobré před přístupem k serveru.
Doporučení
Vždy ověřte vstup a data, zda pochází od uživatele, dokument, databáze, webové služby nebo jiného zdroje.
Buďte opatrní při vystavení určité typy získávání dat privilegované za uživatele a jeho uvedení do nechráněné listu.
Podle typu aplikace může být vhodné ověřit, že původní dokument je spuštěn před spuštěním jakéhokoli kódu.Například ověřte, že je spuštěna z dokumentu uloženy v umístění známým a zabezpečeným.
Je vhodné zobrazit upozornění při otevření dokumentu, pokud aplikace provede akce privilegované.Můžete vytvořit úvodní obrazovky nebo spouštěcí dialogové okno oznamující, že aplikace získat osobní údaje a mít uživatel zvolit pokračovat.Koncový uživatel získá takové upozornění ze zdánlivě rybolovu dokumentu, bude moci ukončit aplikaci před nic je ohroženo.
Kód je blokováno Guard Model objektu aplikace Outlook
Microsoft Office můžete zabránit pomocí určitých vlastností, metod a objekty v objektovém modelu kódu.Omezením přístupu k těmto objektům aplikace Outlook pomáhá zabránit škodlivým účelům použití objektového modelu e-mailových červů a virů.Tato funkce zabezpečení se nazývá guard model objektu aplikace Outlook.Pokud doplněk pokusí použít omezené vlastnosti nebo metody povoleno guard modelu objektu, zobrazí se upozornění zabezpečení, který umožňuje zastavit operaci nebo umožňuje uživateli udělit přístup k vlastnosti nebo metody na omezenou dobu.Pokud uživatel zastaví operaci, doplňky aplikace Outlook vytvořen pomocí řešení Office v sadě Visual Studio vyvolá COMException.
Guard modelu objektu mohou ovlivnit doplňky různými způsoby podle toho, zda je aplikace Outlook použit s Microsoft Exchange Server:
Pokud Outlook není použita se serverem Exchange, může správce povolit nebo zakázat guard modelu objektu pro všechny doplňky v počítači.
Aplikace Outlook používá s Exchange, můžete povolit nebo zakázat guard modelu objektu pro všechny doplňky v počítači správce nebo může správce určit, že určité doplňky lze spustit bez výskytu guard modelu objektu.Správci také mohou upravit chování guard modelu objektu pro určité oblasti objektového modelu.Například mohou správci automaticky povolit doplňky programově odesílat e-maily i když je povoleno guard modelu objektu.
Spuštění v aplikaci Outlook 2007 změnilo chování guard modelu objektu zlepšit práci vývojáře a uživatele při pomáhá zabezpečit aplikace Outlook.Další informace naleznete v Kód změny zabezpečení v aplikaci Outlook 2007.
Minimalizace objektu modelu Guard upozornění
Pokud chcete vyhnout upozornění zabezpečení při použití omezené vlastnosti a metody, ujistěte se, že doplněk získává objektů aplikace Outlook z Application pole ThisAddIn tříd v projektu.Další informace o tomto poli naleznete Programování doplňků na úrovni aplikace.
Guard modelu objektu důvěryhodné pouze aplikace Outlook objekty získané z tohoto objektu.Naopak objekty, které jsou získány z nového Microsoft.Office.Interop.Outlook.Application objektu nejsou důvěryhodné a zakázané vlastnosti a metody vyvolá upozornění zabezpečení Pokud povoleno guard modelu objektu.
Následující příklad kódu zobrazuje upozornění zabezpečení, pokud je povoleno guard modelu objektu.To Vlastnost Microsoft.Office.Interop.Outlook.MailItem třída je omezen guard modelu objektu.Microsoft.Office.Interop.Outlook.MailItem Objekt nedůvěryhodný, protože kód získá z Microsoft.Office.Interop.Outlook.Application vytvořenou pomocí new operátor namísto získání z 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);
}
Následující příklad kódu demonstruje použití s omezeným přístupem To vlastnost Microsoft.Office.Interop.Outlook.MailItem objekt, který je důvěryhodný guard modelu objektu.Kód používá důvěryhodné Application pole získat 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);
}
[!POZNÁMKA]
Pokud aplikace Outlook se serverem Exchange, získání všech objektů aplikace Outlook z ThisAddIn.Application nezaručuje, že doplněk bude mít přístup k celé objektového modelu aplikace Outlook.Například pokud správce serveru Exchange nastaví aplikace Outlook automaticky Odepřít všechny pokusy o přístup k informacím o adresu pomocí objektového modelu aplikace Outlook, potom Outlook neumožní předchozí příklad kódu přístup To vlastnost, i když příklad kódu používá důvěryhodné ThisAddIn.Application pole.
Určení které doplňků důvěryhodnosti při použití serveru Exchange
Při použití aplikace Outlook se serverem Exchange Správci mohou určit, že určité doplňky lze spustit bez výskytu guard modelu objektu.Doplňky aplikace Outlook vytvořen pomocí řešení Office v sadě Visual Studio nelze důvěřovat jednotlivě; mohou být pouze důvěryhodné jako skupinu.
Aplikace Outlook důvěřuje doplněk založené na algoritmu hash kód knihovny DLL položky bodu-v.Všechny doplňky aplikace Outlook, které se zaměřují Visual Studio Tools for Office runtime používat stejné vstupní bod DLL (VSTOLoader.dll).To znamená, že pokud správce důvěřuje všech doplňků, se zaměřuje Visual Studio Tools for Office runtime spustit bez výskytu guard modelu objektu, pak všechny ostatní doplňky, které se zaměřuje Visual Studio Tools for Office runtime jsou důvěryhodné.Další informace o důvěřování určité doplňky spustit bez výskytu guard model objektu naleznete v určit metodu, kterou aplikace Outlook používá ke správě funkcí Zabránění viru.
Změny oprávnění neprojeví okamžitě
Pokud správce nastaví oprávnění pro dokument nebo sestavení, musí uživatelé ukončete a potom restartujte všechny aplikace sady Office pro tyto změny vynucena.
Jiné aplikace, které jsou hostiteli aplikací Microsoft Office můžete také zabránit prosazena nová oprávnění.Uživatelé by ukončete všechny aplikace používající Office hostované nebo samostatný, při změně zásad zabezpečení.
Doplňky nebo úpravy na úrovni dokumentu neovlivní nastavení Centra zabezpečení systému Microsoft Office
Uživatelům můžete zabránit doplňky načítání pomocí nastavení Centra.Však nejsou doplňky úrovni aplikace a úrovni dokumentu vlastní vytvořené pomocí řešení Office v sadě Visual Studio ovlivněny nastavení důvěryhodnosti.
Pokud uživatel zabraňuje doplňky načtení pomocí Centra, nebude načten následující typy doplňků:
Spravované a nespravované COM Doplňky.
Inteligentní dokumenty spravované a nespravované.
Spravované a nespravované automatizace doplňky.
Součásti spravované a nespravované data v reálném čase.
Následující postupy popisují, jak mohou uživatelé používat Centra doplňky zakázat načtení v aplikaci Microsoft Office 2013 a Microsoft Office 2010.Tyto postupy nemají vliv na doplňky nebo vlastní nastavení vytvořené pomocí nástroje pro vývoj Office v sadě Visual Studio.
Zakázání doplňků v aplikaci Microsoft Office 2010 a Microsoft Office 2013 aplikace
Zvolte soubor kartu.
Zvolte ApplicationName Možnosti tlačítko.
V podokně Kategorie zvolte Centra.
V podokně podrobností vyberte Nastavení Centra zabezpečení.
V podokně Kategorie zvolte Doplňky.
V podokně podrobností vyberte Doplňky aplikace vyžadují být podepsány důvěryhodným vydavatelem nebo Zakázat všechny doplňky aplikací.