PyPI’de kötü amaçlı kod: PyTorch gece derlemelerine yönelik tedarik zinciri saldırısı

celeron

Global Mod
Global Mod
PyTorch ekibi tarafından duyurulduğu üzere, makine öğrenimi çerçevesi bir tedarik zinciri saldırısının hedefi haline geldi. 25 Aralık ile 30 Aralık 2022 arasında pip aracılığıyla Linux’ta PyTorch-nightly kuran geliştiriciler, PyTorch’u ve torchtriton bağımlılığını hemen kaldırmalı ve 30 Aralık 2022’den sonra daha yeni bir Nightly sürümü kullanmalıdır. Geliştirme ekibine göre, kararlı sürümün kullanıcıları etkilenmemiş.


Binary bilgileri ve dosyaları okur


Söz konusu dönemde indirilen PyTorch Nightly Builds için Linux paketleri, Python Paket Dizini (PyPI) Kod Deposunda ele geçirilen ve hatalı bir ikili dosyayı çalıştıran torchtriton bağımlılığını yükledi. Bunun arkasındaki sebep, PyPI’ye yüklenen kötü amaçlı kodun, torchtriton bağımlılığı ile aynı ada sahip olması ve PyPI dizininin önceliği nedeniyle, resmi PyTorch deposundan torchtriton yüklemek yerine onu değiştirmesidir.

Aşağıdaki kodu çalıştırmak, kendi kurulumunuzun etkilenip etkilenmediğini size bildirmelidir:


python3 -c "import pathlib;import importlib.util;s=importlib.util.find_spec('triton'); affected=any(x.name == 'triton' for x in (pathlib.Path(s.submodule_search_locations[0] if s is not None else '/' ) / 'runtime').glob('*'));print('You are {}affected'.format('' if affected else 'not '))"


Etkilenen geliştiriciler, torchtriton ile birlikte PyTorch’u şu şekilde kaldırır:


$ pip3 uninstall -y torch torchvision torchaudio torchtriton
$ pip3 cache purge


PyTorch ekibine göre ikili dosya öncelikle sistem bilgilerini ve dosya içeriklerini okur – örneğin $HOME/.gitconfig ve $HOME/.ssh/*’den – ve bu bilgileri şifreli DNS sorguları kullanarak bir etki alanına yükler. Kötü amaçlı kodun algılanan tüm etkileri PyTorch blogunda listelenir.


karşı önlemler


Geliştirme ekibi, gecelik paketlerin bir bağımlılığı olarak torchtriton’u kaldırdı ve onu pytorch-triton ile değiştirdi. PyTorch ekibi ayrıca başka bir saldırıya karşı koymak için PyPI’de bunun için sahte bir paket kaydetti. Bir bağımlılık olarak torchtriton’a sahip olan tüm gecelik paketler, bir sonraki duyuruya kadar PyTorch paket dizinlerinden kaldırılmıştır. Ayrıca PyTorch ekibi, PyPI güvenlik ekibinden Torchtriton paketinin PyPI üzerindeki sahipliğini alması ve kötü amaçlı sürümü kaldırması için bir talepte bulundu.

Daha geçen ay PyTorch ekibi, sürüm 2.0 için planlanan yeni bir derleme modundan yararlanmak için Nightly Builds’ın kullanılması çağrısında bulundu.

PyTorch ekibi, tedarik zinciri saldırısıyla ilgili önceden bilinen tüm bilgileri bir blog girişinde özetler.


(Mayıs)



Haberin Sonu