Manajemen kerentanan untuk Azure Machine Learning

Manajemen kerentanan melibatkan deteksi, penilaian, mitigasi, dan pelaporan tentang kerentanan keamanan apa pun yang ada dalam sistem dan perangkat lunak organisasi. Manajemen kerentanan adalah tanggung jawab bersama antara Anda dan Microsoft.

Artikel ini membahas tanggung jawab ini dan menguraikan kontrol pengelolaan kerentanan yang disediakan Azure Pembelajaran Mesin. Anda mempelajari cara menjaga instans layanan dan aplikasi Anda tetap terbarui dengan pembaruan keamanan terbaru, dan cara meminimalkan jendela peluang bagi penyerang.

Citra VM yang dikelola Microsoft

Azure Pembelajaran Mesin mengelola gambar komputer virtual (VM) OS host untuk instans komputasi Azure Pembelajaran Mesin, kluster komputasi Azure Pembelajaran Mesin, dan Ilmu Data Virtual Machines. Frekuensi pembaruan adalah bulanan dan mencakup detail berikut:

  • Untuk setiap versi citra VM baru, pembaruan terbaru bersumber dari penerbit asli OS. Menggunakan pembaruan terbaru membantu memastikan bahwa Anda mendapatkan semua patch terkait OS yang berlaku. Untuk Azure Pembelajaran Mesin, penerbit adalah Canonical untuk semua gambar Ubuntu. Citra ini digunakan untuk instans komputasi Azure Machine Learning, kluster komputasi, dan Mesin Virtual Ilmu Data.

  • Citra VM diperbarui setiap bulan.

  • Selain patch yang diterapkan penerbit asli, Azure Pembelajaran Mesin memperbarui paket sistem saat pembaruan tersedia.

  • Azure Pembelajaran Mesin memeriksa dan memvalidasi paket pembelajaran mesin apa pun yang mungkin memerlukan peningkatan. Dalam sebagian besar kasus, citra VM baru berisi versi paket terbaru.

  • Semua citra VM dibangun di atas langganan aman yang menjalankan pemindaian kerentanan secara teratur. Azure Pembelajaran Mesin menandai kerentanan yang tidak ditautkan dan memperbaikinya dalam rilis berikutnya.

  • Frekuensi adalah interval bulanan untuk sebagian besar gambar. Untuk instans komputasi, rilis gambar selaras dengan irama rilis Azure Pembelajaran Mesin SDK yang telah diinstal sebelumnya di lingkungan.

Selain irama rilis reguler, Azure Pembelajaran Mesin menerapkan perbaikan jika kerentanan muncul. Microsoft meluncurkan perbaikan dalam waktu 72 jam untuk Azure Pembelajaran Mesin kluster komputasi dan dalam seminggu untuk instans komputasi.

Catatan

OS host bukan versi OS yang mungkin Anda tentukan untuk lingkungan saat Anda melatih atau menyebarkan model. Lingkungan yang berjalan di dalam Docker. Docker yang berjalan pada OS host.

Citra kontainer yang dikelola Microsoft

Gambar docker dasar yang dikelola Azure Pembelajaran Mesin sering mendapatkan patch keamanan untuk mengatasi kerentanan yang baru ditemukan.

Azure Machine Learning merilis pembaruan untuk citra yang didukung setiap dua minggu untuk mengatasi kerentanan. Sebagai komitmen, kami bertujuan untuk tidak memiliki kerentanan yang lebih lama dari 30 hari dalam versi citra terbaru yang didukung.

Gambar yang di-patch dirilis di bawah tag baru yang tidak dapat diubah dan tag yang diperbarui :latest . :latest Menggunakan tag atau menyematkan ke versi gambar tertentu mungkin merupakan tradeoff antara keamanan dan reproduktifitas lingkungan untuk pekerjaan pembelajaran mesin Anda.

Mengelola lingkungan dan citra kontainer

Reproduksibilitas adalah aspek kunci dari pengembangan perangkat lunak dan eksperimen pembelajaran mesin. Fokus utama komponen lingkungan Azure Pembelajaran Mesin adalah menjamin reproduksi lingkungan tempat kode pengguna dijalankan. Untuk memastikan reproduksi untuk pekerjaan pembelajaran mesin apa pun, gambar yang dibuat sebelumnya ditarik ke simpul komputasi tanpa perlu rematerialisasi.

Meskipun Azure Pembelajaran Mesin menambal gambar dasar dengan setiap rilis, apakah Anda menggunakan gambar terbaru mungkin tradeoff antara reproduksi dan pengelolaan kerentanan. Anda bertanggung jawab untuk memilih versi lingkungan yang Anda gunakan untuk pekerjaan atau penyebaran model Anda.

Secara default, dependensi dilapisi di atas gambar dasar yang disediakan Azure Pembelajaran Mesin saat Anda membangun lingkungan. Anda juga dapat menggunakan gambar dasar Anda sendiri saat menggunakan lingkungan di Azure Pembelajaran Mesin. Setelah Anda menginstal lebih banyak dependensi di atas gambar yang disediakan Microsoft, atau membawa gambar dasar Anda sendiri, pengelolaan kerentanan menjadi tanggung jawab Anda.

Terkait dengan ruang kerja Azure Pembelajaran Mesin Anda adalah instans Azure Container Registry yang berfungsi sebagai cache untuk gambar kontainer. Gambar apa pun yang terwujud didorong ke registri kontainer. Ruang kerja menggunakannya jika eksperimen atau penyebaran dipicu untuk lingkungan yang sesuai.

Azure Pembelajaran Mesin tidak menghapus gambar apa pun dari registri kontainer Anda. Anda bertanggung jawab untuk mengevaluasi kebutuhan akan gambar dari waktu ke waktu. Untuk memantau dan menjaga kebersihan lingkungan, Anda dapat menggunakan Microsoft Defender for Container Registry untuk membantu memindai citra Anda dari kerentanan. Untuk mengotomatiskan proses Anda berdasarkan pemicu dari Pertahanan Microsoft, lihat Mengotomatiskan respons remediasi.

Menggunakan repositori paket privat

Azure Pembelajaran Mesin menggunakan Conda dan Pip untuk menginstal paket Python. Secara default, Azure Pembelajaran Mesin mengunduh paket dari repositori publik. Jika organisasi Anda mengharuskan Anda untuk sumber paket hanya dari repositori privat seperti umpan Azure DevOps, Anda dapat mengambil alih konfigurasi Conda dan Pip sebagai bagian dari gambar dasar dan konfigurasi lingkungan Anda untuk instans komputasi.

Contoh konfigurasi berikut menunjukkan cara menghapus saluran default dan menambahkan umpan Conda dan Pip privat Anda sendiri. Pertimbangkan untuk menggunakan skrip penyiapan instans komputasi untuk otomatisasi.

RUN conda config --set offline false \
&& conda config --remove channels defaults || true \
&& conda config --add channels https://my.private.conda.feed/conda/feed \
&& conda config --add repodata_fns <repodata_file_on_your_server>.json

# Configure Pip private indexes and ensure that the client trusts your host
RUN pip config set global.index https://my.private.pypi.feed/repository/myfeed/pypi/ \
&&  pip config set global.index-url https://my.private.pypi.feed/repository/myfeed/simple/

# In case your feed host isn't secured through SSL
RUN  pip config set global.trusted-host http://my.private.pypi.feed/

Untuk mempelajari cara menentukan gambar dasar Anda sendiri di Azure Pembelajaran Mesin, lihat Membuat lingkungan dari konteks build Docker. Untuk informasi selengkapnya tentang mengonfigurasi lingkungan Conda, lihat Membuat file lingkungan secara manual di situs Conda.

Manajemen kerentanan pada host komputasi

Simpul komputasi terkelola di Azure Pembelajaran Mesin menggunakan gambar VM OS yang dikelola Microsoft. Saat Anda memprovisikan simpul, simpul menarik gambar VM terbaru yang diperbarui. Perilaku ini berlaku untuk instans komputasi, kluster komputasi, komputasi tanpa server (pratinjau), dan opsi komputasi inferensi terkelola.

Meskipun gambar VM OS di-patch secara teratur, Azure Pembelajaran Mesin tidak secara aktif memindai simpul komputasi untuk kerentanan saat digunakan. Untuk lapisan perlindungan ekstra, pertimbangkan isolasi jaringan komputer Anda.

Memastikan bahwa lingkungan Anda sudah diperbarui dan bahwa simpul komputasi menggunakan versi OS terbaru adalah tanggung jawab bersama antara Anda dan Microsoft. Simpul yang tidak menganggur tidak dapat diperbarui ke gambar VM terbaru. Pertimbangan sedikit berbeda untuk setiap jenis komputasi, seperti yang tercantum di bagian berikut.

Hitung intance

Instans komputasi mendapatkan citra mesin virtual terbaru pada saat provisi. Microsoft merilis gambar VM baru setiap bulan. Setelah Anda menyebarkan instans komputasi, instans tersebut tidak diperbarui secara aktif. Anda dapat mengkueri versi sistem operasi instans. Untuk tetap mengikuti pembaruan perangkat lunak terbaru dan patch keamanan, Anda dapat menggunakan salah satu metode berikut:

  • Buat ulang instans komputasi untuk mendapatkan gambar OS terbaru (disarankan).

    Jika Anda menggunakan metode ini, Anda akan kehilangan data dan kustomisasi (seperti paket yang diinstal) yang disimpan di OS instans dan disk sementara.

    Saat Anda membuat ulang instans:

    Untuk informasi selengkapnya tentang rilis gambar, lihat Catatan rilis gambar instans komputasi Azure Pembelajaran Mesin.

  • Memperbarui paket OS dan Python secara teratur.

    • Gunakan alat manajemen paket Linux untuk memperbarui daftar paket dengan versi terbaru:

      sudo apt-get update
      
    • Gunakan alat manajemen paket Linux untuk meningkatkan paket ke versi terbaru. Konflik paket mungkin terjadi ketika Anda menggunakan pendekatan ini.

      sudo apt-get upgrade
      
    • Gunakan alat manajemen paket Python untuk meningkatkan paket dan memeriksa pembaruan:

      pip list --outdated
      

Anda dapat menginstal dan menjalankan perangkat lunak pemindaian tambahan pada instans komputasi untuk memindai masalah keamanan:

  • Gunakan Trivy untuk menemukan kerentanan tingkat paket OS dan Python.
  • Gunakan ClamAV untuk menemukan malware. Muncul yang telah diinstal sebelumnya pada instans komputasi.

Penginstalan agen Pertahanan Microsoft untuk Server saat ini tidak didukung.

Pertimbangkan untuk menggunakan skrip kustomisasi untuk otomatisasi. Untuk contoh skrip penyiapan yang menggabungkan Trivy dan ClamAV, lihat skrip penyiapan sampel instans komputasi.

Kluster komputasi

Kluster komputasi secara otomatis meningkatkan simpul ke gambar VM terbaru. Jika Anda mengonfigurasi kluster dengan min nodes = 0, kluster secara otomatis meningkatkan simpul ke versi gambar VM terbaru ketika semua pekerjaan selesai dan kluster berkurang menjadi nol simpul.

Dalam kondisi berikut, node kluster tidak menurunkan skala, sehingga tidak bisa mendapatkan gambar VM terbaru:

  • Jumlah simpul minimum kluster diatur ke nilai yang lebih besar dari nol.
  • Pekerjaan dijadwalkan terus menerus pada kluster Anda.

Anda bertanggung jawab untuk menurunkan skala node kluster yang tidak menganggur untuk mendapatkan pembaruan gambar VM OS terbaru. Azure Pembelajaran Mesin tidak menghentikan beban kerja yang sedang berjalan pada simpul komputasi untuk mengeluarkan pembaruan VM. Ubah sementara node minimum menjadi nol dan biarkan kluster berkurang menjadi nol node.

Titik akhir online terkelola

Titik akhir online terkelola secara otomatis menerima pembaruan gambar host OS yang menyertakan perbaikan kerentanan. Frekuensi pembaruan citra setidaknya sebulan sekali.

Simpul komputasi secara otomatis ditingkatkan ke versi gambar VM terbaru saat versi tersebut dirilis. Anda tidak perlu melakukan tindakan apa pun.

Kluster Kubernetes yang dikelola pelanggan

Komputasi Kubernetes memungkinkan Anda mengonfigurasi kluster Kubernetes untuk melatih, melakukan inferensi, dan mengelola model di Azure Pembelajaran Mesin.

Karena Anda mengelola lingkungan dengan Kubernetes, manajemen kerentanan VM OS dan kerentanan gambar kontainer adalah tanggung jawab Anda.

Azure Pembelajaran Mesin sering menerbitkan versi baru gambar kontainer ekstensi Azure Pembelajaran Mesin di Registri Artefak Microsoft. Microsoft bertanggung jawab untuk memastikan bahwa versi gambar baru bebas dari kerentanan. Setiap rilis memperbaiki kerentanan.

Saat kluster Anda menjalankan pekerjaan tanpa gangguan, menjalankan pekerjaan mungkin menjalankan versi gambar kontainer yang kedaluarsa. Setelah Anda meningkatkan amlarc ekstensi ke kluster yang sedang berjalan, pekerjaan yang baru dikirimkan mulai menggunakan versi gambar terbaru. Saat Anda meningkatkan amlarc ekstensi ke versi terbarunya, bersihkan versi gambar kontainer lama dari kluster sesuai kebutuhan.

Untuk mengamati apakah kluster Azure Arc Anda menjalankan versi amlarcterbaru , gunakan portal Azure. Di bawah sumber daya Azure Arc jenis Kubernetes - Azure Arc, buka Ekstensi untuk menemukan versi amlarc ekstensi.

Lingkungan AutoML dan Designer

Untuk pengalaman pelatihan berbasis kode, Anda mengontrol lingkungan Azure Pembelajaran Mesin mana yang akan digunakan. Dengan AutoML dan perancang, lingkungan dienkapsulasi sebagai bagian dari layanan. Jenis pekerjaan ini dapat berjalan pada komputasi yang Anda konfigurasi, untuk memungkinkan kontrol tambahan seperti isolasi jaringan.

Pekerjaan AutoML berjalan pada lingkungan yang melapisi di atas gambar Docker dasar Azure Pembelajaran Mesin.

Pekerjaan perancang dikompartmentalisasi menjadi komponen. Setiap komponen memiliki lingkungan sendiri yang berlapis di atas gambar Docker dasar Azure Pembelajaran Mesin. Untuk informasi selengkapnya tentang komponen, lihat referensi komponen.

Langkah berikutnya