Bagikan melalui


Pertimbangan keamanan khusus untuk solusi Office

Fitur keamanan yang disediakan oleh Microsoft .NET Framework dan Microsoft Office dapat membantu melindungi solusi Office Anda dari kemungkinan ancaman keamanan. Topik ini menjelaskan beberapa ancaman tersebut dan memberikan rekomendasi untuk membantu melindungi mereka. Ini juga mencakup informasi tentang bagaimana pengaturan keamanan Microsoft Office memengaruhi solusi Office.

Berlaku untuk: Informasi dalam topik ini berlaku untuk proyek tingkat dokumen dan proyek Add-in VSTO. Lihat Fitur yang tersedia berdasarkan aplikasi Office likasi dan jenis proyek.

Kode tepercaya diterapkan kembali dalam dokumen baru yang berbahaya

Penyerang dapat mengambil kode tepercaya yang dimaksudkan untuk satu tujuan tertentu, misalnya, mengunduh informasi pribadi untuk aplikasi pekerjaan, dan menggunakannya kembali di dokumen lain, seperti lembar kerja. Kode tidak tahu bahwa dokumen asli tidak berjalan, dan dapat membuka ancaman lain, seperti mengungkapkan informasi pribadi atau menjalankan kode dengan peningkatan hak istimewa, ketika dibuka oleh pengguna lain. Atau, penyerang dapat memodifikasi data dalam lembar kerja sehingga, ketika dikirim ke korban, itu berperilaku tidak terduga. Dengan mengubah nilai, rumus, atau karakteristik presentasi lembar kerja yang ditautkan ke kode, dimungkinkan bagi pengguna berbahaya untuk menyerang pengguna lain dengan mengirim file yang dimodifikasi. Mungkin juga bagi pengguna untuk mengakses informasi yang seharusnya tidak mereka lihat dengan memodifikasi nilai dalam lembar kerja.

Karena lokasi perakitan dan lokasi dokumen harus memiliki bukti yang cukup untuk dieksekusi, serangan ini tidak mudah dipasang. Misalnya, dokumen dalam lampiran email atau di server intranet yang tidak tepercaya tidak memiliki cukup izin untuk dijalankan.

Untuk memungkinkan serangan ini, kode itu sendiri harus ditulis singgah sehingga membuat keputusan berdasarkan data yang berpotensi tidak dapat dipercaya. Contohnya adalah membuat lembar kerja yang memiliki sel tersembunyi yang berisi nama server database. Pengguna mengirimkan lembar kerja ke halaman ASPX, yang mencoba menyambungkan ke server tersebut menggunakan autentikasi SQL dan kata sandi SA yang dikodekan secara permanen. Penyerang dapat mengganti konten sel tersembunyi dengan nama komputer yang berbeda dan mendapatkan kata sandi SA. Untuk menghindari masalah ini, jangan pernah kode keras kata sandi, dan selalu periksa ID server terhadap daftar internal server yang dikenal baik sebelum mengakses server.

Rekomendasi

  • Selalu validasi input dan data, baik itu berasal dari pengguna, dokumen, database, layanan web, atau sumber lainnya.

  • Berhati-hatilah dengan mengekspos jenis fungsionalitas tertentu, seperti mendapatkan data istimewa atas nama pengguna dan memasukkannya ke dalam lembar kerja yang tidak terlindungi.

  • Bergantung pada jenis aplikasi, mungkin masuk akal untuk memverifikasi bahwa dokumen asli berjalan sebelum menjalankan kode apa pun. Misalnya, verifikasi bahwa dokumen berjalan dari dokumen yang disimpan di lokasi yang diketahui dan aman.

  • Mungkin ada baiknya menampilkan peringatan saat dokumen terbuka jika aplikasi Anda melakukan tindakan istimewa. Misalnya, Anda dapat membuat layar percikan atau kotak dialog pengaktifan yang mengatakan bahwa aplikasi akan mengakses informasi pribadi, dan meminta pengguna memilih untuk melanjutkan atau membatalkan. Jika pengguna akhir mendapatkan peringatan seperti itu dari dokumen yang tampaknya tidak bersalah, dia akan dapat keluar dari aplikasi sebelum apa pun disusupi.

Kode diblokir oleh penjaga model objek Outlook

Microsoft Office dapat membatasi kode agar tidak menggunakan properti, metode, dan objek tertentu dalam model objek. Dengan membatasi akses ke objek ini, Outlook membantu mencegah cacing email dan virus menggunakan model objek untuk tujuan berbahaya. Fitur keamanan ini dikenal sebagai penjaga model objek Outlook. Jika Add-in VSTO mencoba menggunakan properti atau metode terbatas saat penjaga model objek diaktifkan, Outlook menampilkan peringatan keamanan yang memungkinkan pengguna menghentikan operasi, atau memungkinkan pengguna untuk memberikan akses ke properti atau metode untuk jangka waktu terbatas. Jika pengguna menghentikan operasi, Add-in Outlook VSTO yang dibuat dengan menggunakan solusi Office di Visual Studio akan melemparkan COMException.

Penjaga model objek dapat memengaruhi Add-in VSTO dengan cara yang berbeda, tergantung pada apakah Outlook digunakan dengan Microsoft Server Exchange:

  • Jika Outlook tidak digunakan dengan Exchange, administrator dapat mengaktifkan atau menonaktifkan penjaga model objek untuk semua Add-in VSTO di komputer.

  • Jika Outlook digunakan dengan Exchange, administrator dapat mengaktifkan atau menonaktifkan penjaga model objek untuk semua Add-in VSTO di komputer, atau administrator dapat menentukan bahwa Add-in VSTO tertentu dapat berjalan tanpa menemukan penjaga model objek. Administrator juga dapat memodifikasi perilaku penjaga model objek untuk area tertentu dari model objek. Misalnya, administrator dapat secara otomatis mengizinkan Add-in VSTO untuk mengirim email secara terprogram, bahkan jika penjaga model objek diaktifkan.

    Mulai Outlook 2007, perilaku penjaga model objek telah diubah untuk meningkatkan pengalaman pengembang dan pengguna sekaligus membantu menjaga keamanan Outlook. Untuk informasi selengkapnya, lihat Kode perubahan keamanan di Outlook 2007.

Meminimalkan peringatan penjaga model objek

Untuk membantu menghindari peringatan keamanan saat Anda menggunakan properti dan metode terbatas, pastikan Add-in VSTO Anda mendapatkan objek Outlook dari Application bidang ThisAddIn kelas dalam proyek Anda. Untuk informasi selengkapnya tentang bidang ini, lihat Add-in VSTO Program.

Hanya objek Outlook yang diperoleh dari objek ini yang dapat dipercaya oleh penjaga model objek. Sebaliknya, objek yang diperoleh dari objek baru Microsoft.Office.Interop.Outlook.Application tidak tepercaya, dan properti dan metode terbatas akan meningkatkan peringatan keamanan jika penjaga model objek diaktifkan.

Contoh kode berikut menampilkan peringatan keamanan jika penjaga model objek diaktifkan. Properti To kelas dibatasi Microsoft.Office.Interop.Outlook.MailItem oleh penjaga model objek. Objek Microsoft.Office.Interop.Outlook.MailItem tidak tepercaya karena kode mendapatkannya dari Microsoft.Office.Interop.Outlook.Application yang dibuat menggunakan operator baru , alih-alih mendapatkannya dari Application bidang.

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);
}

Contoh kode berikut menunjukkan cara menggunakan properti Microsoft.Office.Interop.Outlook.MailItem dibatasi Untuk objek yang dipercaya oleh penjaga model objek. Kode menggunakan bidang tepercaya Application untuk mendapatkan Microsoft.Office.Interop.Outlook.MailItem.

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);
}

Catatan

Jika Outlook digunakan dengan Exchange, maka mendapatkan semua objek ThisAddIn.Application Outlook dari tidak menjamin bahwa Add-in VSTO Anda akan dapat mengakses seluruh model objek Outlook. Misalnya, jika administrator Exchange mengatur Outlook untuk secara otomatis menolak semua upaya untuk mengakses informasi alamat menggunakan model objek Outlook, maka Outlook tidak akan mengizinkan contoh kode sebelumnya untuk mengakses properti Kepada, meskipun contoh kode menggunakan bidang tepercaya ThisAddIn.Application .

Tentukan Add-in mana yang akan dipercaya saat menggunakan Exchange

Saat Outlook digunakan dengan Exchange, administrator dapat menentukan bahwa Add-in VSTO tertentu dapat berjalan tanpa menemukan penjaga model objek. Add-in Outlook VSTO yang dibuat dengan menggunakan solusi Office di Visual Studio tidak dapat dipercaya satu per satu; mereka hanya dapat dipercaya sebagai grup.

Outlook mempercayai Add-in VSTO berdasarkan kode hash DLL titik masuk Add-in VSTO. Semua Add-in VsTO Outlook yang menargetkan Visual Studio Tools untuk runtime Office menggunakan DLL titik masuk (VSTOLoader.dll) yang sama. Ini berarti bahwa jika administrator mempercayai Add-in VSTO apa pun yang menargetkan Alat Visual Studio untuk runtime Office untuk dijalankan tanpa menemukan penjaga model objek, maka semua Add-in VSTO lainnya yang menargetkan Alat Visual Studio untuk runtime Office juga tepercaya. Untuk informasi selengkapnya tentang memercayai Add-in VSTO tertentu untuk dijalankan tanpa menemukan penjaga model objek, lihat Menentukan metode yang digunakan Outlook untuk mengelola fitur pencegahan virus.

Perubahan izin tidak langsung berlaku

Jika administrator menyesuaikan izin untuk dokumen atau rakitan, pengguna harus keluar lalu memulai ulang semua aplikasi Office likasi agar perubahan tersebut diberlakukan.

Aplikasi lain yang menghosting Microsoft aplikasi Office lications juga dapat mencegah izin baru diberlakukan. Pengguna harus keluar dari semua aplikasi yang menggunakan Office, dihosting, atau berdiri sendiri, saat kebijakan keamanan diubah.

Pengaturan pusat kepercayaan dalam sistem Microsoft Office tidak memengaruhi Add-in atau kustomisasi tingkat dokumen

Pengguna dapat mencegah Add-in VSTO dimuat dengan mengatur opsi di Pusat Kepercayaan. Namun, Add-in VSTO dan kustomisasi tingkat dokumen yang dibuat dengan menggunakan solusi Office di Visual Studio tidak terpengaruh oleh pengaturan kepercayaan ini.

Jika pengguna mencegah Add-in VSTO dimuat dengan menggunakan Pusat Kepercayaan, jenis Add-in VSTO berikut tidak akan dimuat:

  • Add-in COM VSTO terkelola dan tidak dikelola.

  • Dokumen pintar terkelola dan tidak dikelola.

  • Add-in VSTO Automation terkelola dan tidak terkelola.

  • Komponen data real-time terkelola dan tidak dikelola.

    Prosedur berikut ini menjelaskan bagaimana pengguna dapat menggunakan Pusat Kepercayaan untuk membatasi Add-in VSTO agar tidak dimuat di Microsoft Office 2013 dan Microsoft Office 2010. Prosedur ini tidak memengaruhi Add-in vsto atau kustomisasi yang dibuat dengan menggunakan alat pengembangan Office di Visual Studio.

Untuk menonaktifkan Add-in VSTO di aplikasi Microsoft Office 2010 dan Microsoft Office 2013

  1. Pilih tab File .

  2. Pilih tombol Opsi ApplicationName.

  3. Di panel kategori, pilih Pusat Kepercayaan.

  4. Di panel detail, pilih Pengaturan Pusat Kepercayaan.

  5. Di panel kategori, pilih Add-in.

  6. Di panel detail, pilih Wajibkan Add-in Aplikasi untuk Ditandatangani oleh Penerbit Tepercaya atau Nonaktifkan semua Add-in Aplikasi.