Pemeringkatan perpustakaan memerlukan pemeriksaan keamanan khusus

Yayasan yang dibentuk oleh Linux Foundation Prakarsa Infrastruktur Inti, di mana perusahaan-perusahaan terkemuka bergabung untuk mendukung proyek-proyek sumber terbuka di bidang-bidang utama industri komputer, dihabiskan studi kedua dalam program ini Sensus, bertujuan untuk mengidentifikasi proyek sumber terbuka yang memerlukan audit keamanan prioritas.

Studi kedua berfokus pada analisis kode sumber terbuka bersama yang secara implisit digunakan dalam berbagai proyek perusahaan dalam bentuk dependensi yang diunduh dari repositori eksternal. Kerentanan dan kompromi pengembang komponen pihak ketiga yang terlibat dalam pengoperasian aplikasi (rantai pasokan) dapat meniadakan segala upaya untuk meningkatkan perlindungan produk utama. Sebagai hasil dari penelitian itu tentu saja 10 paket yang paling umum digunakan dalam JavaScript dan Java, yang keamanan dan pemeliharaannya memerlukan perhatian khusus.

Pustaka JavaScript dari repositori npm:

  • Async (196 ribu baris kode, 11 penulis, 7 pengimplementasi, 11 terbitan terbuka);
  • mewarisi (3.8 ribu baris kode, 3 penulis, 1 pengaktif, 3 masalah belum terpecahkan);
  • isarray (317 baris kode, 3 penulis, 3 pengimplementasi, 4 terbitan terbuka);
  • semacam itu (2 ribu baris kode, 11 penulis, 11 pengimplementasi, 3 masalah belum terpecahkan);
  • lodash (42 ribu baris kode, 28 penulis, 2 pengimplementasi, 30 terbitan terbuka);
  • minimalis (1.2 ribu baris kode, 14 penulis, 6 pengimplementasi, 38 terbitan terbuka);
  • penduduk asli (3 ribu baris kode, 2 penulis, 1 pengimplementasi, tidak ada masalah terbuka);
  • qs (5.4 ribu baris kode, 5 penulis, 2 pengimplementasi, 41 terbitan terbuka);
  • aliran yang dapat dibaca (28 ribu baris kode, 10 penulis, 3 pengimplementasi, 21 terbitan terbuka);
  • string_decoder (4.2 ribu baris kode, 4 penulis, 3 pengimplementasi, 2 terbitan terbuka).

Perpustakaan Java dari repositori Maven:

  • jackson-inti (74 ribu baris kode, 7 penulis, 6 pengimplementasi, 40 terbitan terbuka);
  • kumpulan data jackson (74 ribu baris kode, 23 penulis, 2 pengimplementasi, 363 terbitan terbuka);
  • jambu biji.git, perpustakaan Google untuk Java (1 juta baris kode, 83 penulis, 3 pengimplementasi, 620 terbitan terbuka);
  • commons-codec (51 ribu baris kode, 3 penulis, 3 pengimplementasi, 29 terbitan terbuka);
  • milik bersama-io (73 ribu baris kode, 10 penulis, 6 pengimplementasi, 148 terbitan terbuka);
  • httpcomponents-client (121 ribu baris kode, 16 penulis, 8 pengimplementasi, 47 terbitan terbuka);
  • httpcomponents-core (131 ribu baris kode, 15 penulis, 4 pengimplementasi, 7 terbitan terbuka);
  • masuk kembali (154 ribu baris kode, 1 penulis, 2 pengimplementasi, 799 terbitan terbuka);
  • commons-lang (168 ribu baris kode, 28 penulis, 17 pengimplementasi, 163 terbitan terbuka);
  • slf4j (38 ribu baris kode, 4 penulis, 4 pengimplementasi, 189 terbitan terbuka);

Laporan ini juga membahas masalah standarisasi skema penamaan komponen eksternal, melindungi akun pengembang, dan mempertahankan versi lama setelah rilis besar baru dibuat. Selain itu diterbitkan oleh Linux Foundation dokumen dengan rekomendasi praktis untuk mengatur proses pengembangan yang aman untuk proyek sumber terbuka.

Dokumen tersebut membahas masalah distribusi peran dalam proyek, pembentukan tim yang bertanggung jawab atas keamanan, penentuan kebijakan keamanan, pemantauan kekuatan yang dimiliki peserta proyek, penggunaan Git dengan benar saat memperbaiki kerentanan untuk menghindari kebocoran sebelum publikasi perbaikan, dan penentuan proses untuk merespons laporan. masalah keamanan, penerapan sistem pengujian keamanan, penerapan prosedur peninjauan kode, dengan mempertimbangkan kriteria terkait keamanan saat membuat rilis.

Sumber: opennet.ru

Tambah komentar