sgcWebSockets artık kendi SBOM dosyasını kuruyor | eSeGeCe Blog

sgcWebSockets artık kendi SBOM dosyasını kuruyor

· Bileşenler

Avrupa pazarı için yazılım geliştiriyorsanız, birileri muhtemelen sizden çoktan bir yazılım malzeme listesi istemiştir. Siber Dayanıklılık Yasası, üreticilerin böyle bir liste hazırlamasını ve teknik dokümantasyonlarında saklamasını gerektiriyor. Ayrıca müşterileriniz, herhangi bir düzenleyici kurum sormadan çok önce bunu giderek daha sık talep ediyor. Ürününüz bir bileşen kütüphanesi barındırdığında, bu soru bize geliyor.

Bu sürümden itibaren her sgcWebSockets kurulumu bu soruyu yanıtlıyor. Kurulum paketi, kurulum klasörüne sbom.cdx.json adıyla bir CycloneDX malzeme listesi yazıyor. Bu liste, kütüphanenin üzerine kurulduğu üst düzey bileşenleri, sürümleri ve lisanslarıyla birlikte içeriyor.

Elle tutulmuyor, kurulum paketi üretiyor

İlginç olan dosyanın kendisi değil, nereden geldiği. Elle güncellenen bir malzeme listesi sessizce eskir ve artık dağıtmadığınız bir sürümü bildiren bir uyumluluk belgesi, hiç belge olmamasından daha kötüdür.

Bu yüzden liste elle tutulmuyor. Kurulum betiği, derleme sırasında bir üreteç çalıştırıyor ve bu üreteç her sürüm bilgisini gerçekten o bilgiye sahip olan dosyadan okuyor: ürün sürümünü history.txt dosyasından, Indy sürümünü IdVers.inc dosyasından, zlib sürümünü zlib.h dosyasından, OpenSSL sürümünü ise statik bağlama birimlerinden. Bu değerlerden herhangi biri okunamazsa üreteç bir hatayla duruyor ve kurulum paketinin derlemesi başarısız oluyor. Asla tahmin yürütmüyor ve birinin bir kez yazdığı bir değere asla geri düşmüyor.

Bunun pratik sonucu, SBOM'un sapamamasıdır. zlib sürümünü yükseltirsiniz, derlediğiniz bir sonraki kurulum paketi bunu söyler, kimsenin hatırlamasına gerek kalmadan.

Genel bir ürünü değil, sizin edisyonunuzu anlatıyor

Bu, sizin için muhtemelen en önemli olan kısım. Malzeme listesi her edisyon için aynı değil, çünkü edisyonlar aynı üçüncü taraf kodu içermiyor.

Enterprise ve All-Access, sgcWebSockets ile birlikte gelen özelleştirilmiş Indy'yi derliyor ve bu çatal kendi zlib kopyasını getiriyor. Core, Standard ve Professional ise Delphi veya C++ Builder kurulumunuzla gelen Indy'ye karşı derleniyor. Biz o Indy'yi ne çatallıyoruz ne de yeniden dağıtıyoruz. Bu edisyonlar için dürüstçe bir Indy sürümü belirtmemiz mümkün değil, çünkü sürüm neyse IDE'nizin sağladığı odur.

Dolayısıyla tek ve genel bir SBOM, kurulumların çoğu için yanlış olurdu. Bunun yerine kurulum paketi, belgeyi paketlediği edisyon için üretiyor, böylece elinize geçen dosya gerçekten sahip olduğunuz şeyi anlatıyor.

EdisyonIndyzlib
Core, Standard, ProfessionalIDE'niz tarafından sağlanır, bizim tarafımızdan yeniden dağıtılmazürüne aynı Indy üzerinden ulaşır
Enterprise, All-Accessözelleştirilmiş Indy çatalı, sürümü belirtilirbirlikte gelen kopya, sürümü belirtilir

İçinde neler var

Belge, envanter ve tarama araçlarının halihazırda anladığı yaygın bir makine tarafından okunabilir biçim olan CycloneDX 1.6 JSON formatında. Bileşenlerin yanı sıra her birinin lisansını, onu bizim mi yeniden dağıttığımızı yoksa IDE'nizin mi sağladığını ve kaynak ağacında nerede bulunduğunu da kaydediyor.

Ayrıca yararlı olduğu yerlerde VEX beyanları taşıyor. Bilinen bir CVE bir bileşen sürümünü etkiliyor ama bizim kodumuzdan erişilebilir değilse, belge bunu gerekçesiyle birlikte açıkça söylüyor, çözümlemeyi size bırakmıyor. Bu kayıtlar bileşen sürümleri değiştikçe otomatik olarak beliriyor ve kayboluyor, çünkü üreteç kararını birinin geride bıraktığı bir nota göre değil, okuduğu sürüme göre veriyor.

Nerede bulunur

Kurulum yaptığınız klasöre, history.txt dosyasının ve lisansın yanına bakın.

C:\Program Files (x86)\sgcWebSockets\sbom.cdx.json

Envanter için ne kullanıyorsanız ona verin, bir tedarikçi anketine ekleyin veya kayıtlarını kendi ürününüz için hazırladığınız malzeme listesine katın. Uyumluluk ekibinizin belgeyi başka bir biçimde istemesi ya da belirli bir derleme için doldurulmuş bir tedarikçi değerlendirme formu talep etmesi durumunda, kullandığınız ürün, edisyon ve sürüm bilgisiyle birlikte iletişim formu üzerinden bize ulaşın.

Bilerek yapmadığımız bir şey

SBOM dosyasını bu web sitesinde yayımlamıyoruz. Siber Dayanıklılık Yasası, üreticilerin böyle bir liste hazırlamasını ve teknik dokümantasyonda saklamasını gerektiriyor, yayımlanmasını değil. Ayrıca bir bileşen envanterini isteyen herkese vermenin kazandıracağı pek bir şey yok. Dosyayı ürünün içinde göndermek, onu hak eden kişilerin eline veriyor, yani lisans sahiplerinin ve talep üzerine piyasa gözetim otoritelerinin.

Yönetmeliğe nasıl yaklaştığımız hakkında daha fazlasını Siber Dayanıklılık Yasası sayfamızda okuyabilirsiniz.