Manajemen kerentanan untuk Azure Machine Learning

Manajemen kerentanan melibatkan mendeteksi, menilai, mengurangi, dan melaporkan kerentanan keamanan yang ada dalam sistem dan perangkat lunak organisasi. Manajemen kerentanan adalah tanggung jawab bersama antara Anda dan Microsoft.

Dalam artikel ini, kami membahas tanggung jawab tersebut dan menguraikan kontrol manajemen kerentanan yang disediakan oleh Azure Machine Learning. Anda akan mempelajari cara menjaga instans layanan dan aplikasi Anda tetap mutakhir dengan pembaruan keamanan terbaru, dan cara meminimalkan jendela peluang bagi penyerang.

Citra VM yang dikelola Microsoft

Azure Machine Learning mengelola citra VM OS host untuk instans komputasi ML Azure, kluster komputasi ML Azure, dan Mesin Virtual Ilmu Data. Pembaruan dilakukan setiap bulan dan mencakup hal-hal berikut:

  • Untuk setiap versi citra VM baru, pembaruan terbaru bersumber dari penerbit asli OS. Menggunakan pembaruan terbaru akan memastikan bahwa semua patch terkait IS yang berlaku dipilih. Untuk Azure Machine Learning, penerbit adalah Canonical untuk semua citra Ubuntu 18. 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 oleh penerbit asli, Azure Machine Learning memperbarui paket sistem saat pembaruan tersedia.
  • Azure Machine Learning 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. Setiap kerentanan yang tidak tertangani ditandai dan harus diperbaiki dalam rilis berikutnya.
  • Frekuensinya adalah pada interval bulanan untuk sebagian besar citra. Untuk instans komputasi, rilis citra disejajarkan dengan ritem rilis SDK Azure ML karena sudah diinstal sebelumnya di lingkungan.

Selain ritme rilis reguler, hotfix diterapkan jika kerentanan ditemukan. Hotfix diluncurkan dalam waktu 72 jam untuk komputasi ML Azure dan dalam waktu seminggu untuk Instans Komputasi.

Catatan

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

Citra kontainer yang dikelola Microsoft

Citra docker dasar yang dikelola oleh Azure Machine Learning sering mendapatkan penambal 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.

Citra yang di-patch dirilis dalam tag baru yang tidak dapat diubah dan juga tag :latest yang diperbarui. Menggunakan tag :latest atau menyematkan ke versi citra tertentu mungkin merupakan pertukaran dari 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 Machine Learning adalah untuk menjamin reproduktifitas lingkungan tempat kode pengguna dijalankan. Untuk memastikan reproduktifitas pekerjaan pembelajaran mesin apa pun, citra yang dibuat sebelumnya akan ditarik ke node komputasi tanpa perlu materialisasi ulang.

Meskipun Azure Machine Learning menambal citra dasar dengan setiap rilis, citra terbaru yang digunakan mungkin merupakan pertukaran antara reproduktifitas dan manajemen kerentanan. Jadi, Anda bertanggung jawab untuk memilih versi lingkungan yang digunakan untuk pekerjaan atau penyebaran model Anda.

Secara default, dependensi berlapis di atas citra dasar yang disediakan oleh Azure ML saat membangun lingkungan. Anda juga dapat menggunakan citra dasar Anda sendiri saat menggunakan lingkungan di Azure Machine Learning. Setelah Anda menginstal lebih banyak dependensi di atas citra yang disediakan Microsoft, atau menggunakan citra dasar Anda sendiri, manajemen kerentanan menjadi tanggung jawab Anda.

Terkait dengan ruang kerja Azure Machine Learning Anda adalah instans Azure Container Registry yang digunakan sebagai cache untuk gambar kontainer. Setiap citra yang dimaterialisasi akan didorong ke registri kontainer dan digunakan jika eksperimen atau penyebaran dipicu untuk lingkungan yang sesuai. Azure Machine Learning tidak menghapus citra apa pun dari registri kontainer Anda, dan Anda bertanggung jawab untuk mengevaluasi kebutuhan citra 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 Microsoft Defender, lihat Mengotomatiskan respons ke pemicu Microsoft Defender untuk Cloud.

Manajemen kerentanan pada host komputasi

Node komputasi terkelola di Azure Machine Learning memanfaatkan citra OS VM yang dikelola Microsoft dan menarik citra VM terbaru yang diperbarui pada saat node disediakan. Ini berlaku untuk instans komputasi, kluster komputasi, dan SKU komputasi inferensi terkelola. Meskipun citra VM OS di-patch secara teratur, node komputasi tidak dipindai secara aktif untuk mengetahui kerentanan saat digunakan. Untuk lapisan perlindungan ekstra, pertimbangkan isolasi jaringan komputer Anda.
Ini adalah tanggung jawab bersama antara Anda dan Microsoft untuk memastikan bahwa lingkungan Anda terbaru dan node komputasi menggunakan versi OS terbaru. Node yang non-idle tidak dapat diperbarui ke citra VM terbaru. Pertimbangan sedikit berbeda untuk setiap jenis komputasi, seperti yang tercantum di bagian berikut.

Hitung intance

  • Instans komputasi mendapatkan citra VM terbaru pada saat provisi.

  • Microsoft tidak menyediakan patching OS aktif untuk instans komputasi. Untuk mendapatkan citra VM terbaru, hapus dan buat ulang instans komputasi.

  • Anda dapat menggunakan skrip yang disiapkan untuk menginstal perangkat lunak pemindaian tambahan. Agen Azure Defender saat ini tidak didukung.

  • Untuk menanyakan usia kueri, Anda dapat menggunakan kueri analitik log berikut:

    AmlComputeClusterEvent 
    | where ClusterType == "DSI" and EventType =="CreateOperationCompleted" and split(_ResourceId, "/")[-1]=="<wsname>" 
    | project ClusterName, TimeCreated=TimeGenerated 
    | summarize Last_Time_Created=arg_max(TimeCreated, *) by ClusterName 
    | join kind = leftouter (AmlComputeClusterEvent
        | where ClusterType == "DSI" and EventType =="DeleteOperationCompleted"  
        | project ClusterName, TimeGenerated 
        | summarize Last_Time_Deleted=arg_max(TimeGenerated, *) by ClusterName) 
        on ClusterName  
    | where (Last_Time_Created>Last_Time_Deleted or isnull(Last_Time_Deleted)) and Last_Time_Created < ago(30days) 
    | project ClusterName, Last_Time_Created, Last_Time_Deleted 
    

Kluster komputasi

Kluster komputasi secara otomatis ditingkatkan ke citra VM terbaru. Jika kluster dikonfigurasi dengan node min = 0, secara otomatis meningkatkan node ke versi citra VM terbaru ketika semua pekerjaan selesai dan kluster berkurang menjadi nol node.

  • Ada kondisi ketika node kluster tidak diturunkan skalanya, dan akibatnya tidak bisa mendapatkan citra VM terbaru.

    • Jumlah node minimum kluster dapat diatur ke nilai yang lebih besar dari 0.
    • Pekerjaan dapat dijadwalkan terus menerus di kluster Anda.
  • Anda bertanggung jawab untuk menurunkan skala node cluster non-idle untuk mendapatkan update citra OS VM terbaru. Azure Machine Learning tidak membatalkan beban kerja yang berjalan pada node 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 mencakup perbaikan kerentanan. Frekuensi pembaruan citra setidaknya sebulan sekali.
  • Node komputasi akan secara otomatis ditingkatkan ke versi citra VM terbaru setelah dirilis. Anda tidak perlu melakukan tindakan apa pun.

Kluster Kubernetes yang dikelola pelanggan

Komputasi Kubernetes memungkinkan Anda mengonfigurasikan kluster Kubernetes untuk melatih, melakukan inferensi, dan mengelola model dalam Azure Machine Learning.

  • Karena Anda mengelola lingkungan dengan Kubernetes, baik pengelolaan kerentanan VM OS maupun kerentanan gambar kontainer adalah tanggung jawab Anda.
  • Azure Machine Learning sering menerbitkan gambar kontainer ekstensi AzureML versi baru ke Microsoft Container Registry. Adalah tanggung jawab Microsoft untuk memastikan versi citra baru bebas dari kerentanan. Kerentanan diperbaiki dengan setiap rilis.
  • Saat kluster Anda menjalankan pekerjaan tanpa gangguan, menjalankan pekerjaan dapat menjalankan versi citra kontainer yang sudah ketinggalan zaman. Setelah Anda meningkatkan ekstensi amlarc ke kluster yang sedang berjalan, pekerjaan yang baru dikirimkan akan mulai menggunakan versi citra terbaru. Saat memutakhirkan ekstensi AMLArc ke versi terbarunya, bersihkan versi gambar kontainer lama dari kluster sesuai kebutuhan.
  • Observabilitas pada baik kluster Azure Arc Anda menjalankan versi terbaru AMLArc, Anda dapat menemukannya melalui portal Azure. Di sumber daya Arc Anda dengan jenis 'Kubernetes - Azure Arc', lihat 'Ekstensi' untuk menemukan versi ekstensi AMLArc.

Lingkungan ML dan Desainer otomatis

Untuk pengalaman pelatihan berbasis kode, Anda mengontrol lingkungan Azure Machine Learning mana yang digunakan. Dengan AutoML dan Desainer, lingkungan dienkapsulasi sebagai bagian dari layanan. Jenis pekerjaan ini dapat berjalan pada komputasi yang dikonfigurasi oleh Anda, memungkinkan kontrol tambahan seperti isolasi jaringan.

  • Pekerjaan ML otomatis berjalan di lingkungan yang berlapis di atas citra docker dasar Azure ML.

  • Pekerjaan desainer terkotak-kotak menjadi Komponen. Setiap komponen memiliki lingkungannya sendiri yang melapisi di atas citra docker dasar Azure ML. Untuk informasi selengkapnya tentang komponen, lihat Referensi komponen.

Langkah berikutnya