Bagikan melalui


Pertimbangan Keamanan untuk Teknologi Bantuan

Teknologi bantuan adalah aplikasi yang berjalan di desktop Windows dan membantu pengguna aksesibilitas berinteraksi dengan sistem operasi dan aplikasi lain yang berjalan di komputer, termasuk aplikasi di UI Windows baru. Aplikasi teknologi bantuan bekerja dengan mengambil informasi dari sistem operasi dan aplikasi lain, lalu menyajikan informasi dengan cara yang dapat diakses oleh pengguna. Aplikasi teknologi bantuan juga dapat secara terprogram "mendorong" sistem operasi dan aplikasi lain berdasarkan input dari pengguna.

Sifat aplikasi teknologi bantuan mengharuskan mereka melewati batas proses, dan bahwa mereka memiliki akses ke proses yang berjalan pada tingkat integritas (IL) yang lebih tinggi daripada mereka sendiri. (Aplikasi teknologi bantuan berjalan pada IL sedang.) Misalnya, ketika pengguna mencoba melakukan tugas yang memerlukan hak istimewa administratif, Windows menyajikan kotak dialog yang meminta persetujuan pengguna untuk melanjutkan. Kotak dialog ini berjalan pada IL yang lebih tinggi untuk melindunginya dari komunikasi lintas proses, sehingga perangkat lunak berbahaya tidak dapat mensimulasikan input pengguna. Demikian pula, layar masuk desktop berjalan pada IL yang lebih tinggi untuk mencegahnya diakses oleh proses lain.

Aplikasi teknologi bantuan biasanya memerlukan akses ke elemen UI sistem yang dilindungi, atau ke proses lain yang mungkin berjalan pada tingkat hak istimewa yang lebih tinggi. Oleh karena itu, aplikasi teknologi bantuan harus dipercaya oleh sistem, dan harus berjalan dengan hak istimewa khusus.

Untuk mendapatkan akses ke proses IL yang lebih tinggi, aplikasi teknologi bantuan harus mengatur bendera UIAccess dalam manifes aplikasi dan diluncurkan oleh pengguna dengan hak istimewa administrator.

Catatan

Hak istimewa akses dibatasi sebagai berikut:

  • Aplikasi yang tidak memiliki UIAccess dalam manifes dimulai dengan IL sedang dan tidak dapat mengakses UI proses elevated ("medium+" IL).
  • Aplikasi yang memiliki UIAccess dalam manifes dan diluncurkan oleh pengguna yang tidak berada dalam grup administrator, dimulai sebagai IL "medium+" dan tidak dapat mengakses UI yang ditinggikan (tidak ada yang berjalan sebagai IL "tinggi", seperti aplikasi yang diluncurkan melalui Klik kanan -> Jalankan sebagai administrator).
  • Aplikasi memiliki UI Access dan diluncurkan oleh pengguna admin dimulai sebagai IL "tinggi" dan dapat mengakses UI yang ditingkatkan karena memiliki IL yang sama.

UIAccess tidak cukup bagi proses untuk naik melalui batas IL.

Selain memiliki akses ke proses IL yang lebih tinggi, aplikasi teknologi bantuan dengan hak istimewa ini dapat berjalan sebagai aplikasi paling atas dalam z-order kapan saja, yang berarti bahwa aplikasi teknologi bantuan dapat terlihat dan tersedia setiap kali pengguna membutuhkannya.

Penting

Tidak ada skenario yang tercantum sebelumnya yang menyediakan akses ke UI yang berjalan di bawah IL sistem. Ini hanya dimungkinkan jika proses diluncurkan di desktop kontrol akun pengguna (UAC) di bawah SYSTEM (dan IL sistem). Dalam hal ini, pengaturan UIAccess tidak berpengaruh.

Persyaratan UIAccess untuk Aplikasi Teknologi Bantuan

Aplikasi teknologi bantuan adalah aplikasi desktop Windows Windows yang berinteraksi dengan proses lain yang berjalan di desktop dan di UI Windows baru untuk mendapatkan informasi dari sistem dan aplikasi. Aplikasi teknologi bantuan kemudian dapat memberikan informasi kepada pengguna aksesibilitas.

Aplikasi teknologi bantuan mendapatkan akses ke proses lain dengan mengatur bendera UIAccess dalam manifes aplikasi. Untuk menggunakan bendera UIAccess, aplikasi teknologi bantuan harus memenuhi persyaratan berikut.

  • Perlu menampilkan, berinteraksi, atau mencerminkan informasi dari aplikasi lain untuk memberikan informasi skenario aksesibilitas, dan/atau
  • Wajibkan berjalan sebagai jendela terbanyak untuk mendapatkan atau menampilkan informasi ini.

Untuk menggunakan UIAccess, aplikasi teknologi bantuan perlu:

  • Ditandatangani dengan sertifikat untuk berinteraksi dengan aplikasi yang berjalan pada tingkat hak istimewa yang lebih tinggi.
  • Dipercaya oleh sistem. Aplikasi harus diinstal di lokasi aman yang memerlukan permintaan kontrol akun pengguna (UAC) untuk akses. Misalnya, folder Program Files.
  • Dibangun dengan file manifes yang menyertakan bendera uiAccess.

UIAccess tidak boleh digunakan:

  • Oleh aplikasi yang bukan teknologi bantuan.

  • Dengan aplikasi teknologi bantuan yang menampilkan informasi atau UI yang tidak relevan dengan skenario aksesibilitas yang mereka targetkan.

  • Oleh aplikasi yang hanya ingin muncul di atas aplikasi lain di UI Windows baru.

    Catatan

    Aplikasi yang dikembangkan untuk UI Windows baru tidak memiliki UIAccess sebagai opsi yang tersedia.

     

Mengatur UIAccess dalam File Manifes Aplikasi

Untuk mendapatkan akses ke UI sistem yang dilindungi, aplikasi harus dibangun dengan file manifes yang menyertakan atribut khusus dalam file manifes. Atribut uiAccess ini disertakan dalam tag requestedExecutionLevel , seperti yang ditunjukkan dalam contoh kode berikut.

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> 
    <security> 
        <requestedPrivileges> 
        <requestedExecutionLevel 
            level="highestAvailable" 
            uiAccess="true" /> 
        </requestedPrivileges> 
    </security> 
</trustInfo> 

Nilai atribut tingkat dalam kode ini hanyalah contoh.

UIAccess adalah "false" secara default. Jika atribut dihilangkan, atau jika tidak ada manifes, aplikasi tidak dapat memperoleh akses ke UI yang dilindungi.

Untuk informasi selengkapnya tentang keamanan Windows, pada aplikasi penandatanganan, dan pembuatan manifes, lihat Cerita Pengembang Windows Vista dan Windows Server 2008: Persyaratan Pengembangan Aplikasi Windows Vista untuk Kontrol Akun Pengguna (UAC) di MSDN.

Dasar-Dasar UI Automation