సాఫ్ట్‌వేర్‌కు ఎప్పుడూ లేని పోషకాహార లేబుల్

డిసెంబర్ 9, 2021న, ఒక సెక్యూరిటీ రీసెర్చర్ Log4j అనే Java లైబ్రరీలో ఒక లోపాన్ని కనుగొన్నారు. 72 గంటల వ్యవధిలోనే, వందల మిలియన్ల సిస్టమ్స్ ప్రమాదంలో పడ్డాయి.

సమస్య కేవలం ఆ లోపం (vulnerability) మాత్రమే కాదు. అసలు సమస్య 'విజిబిలిటీ' (visibility). తమ సొంత సాఫ్ట్‌వేర్‌లో Log4j ఉందో లేదో చాలా కంపెనీలకు తెలియదు.

ఈ సంఘటన Software Bill of Materials (SBOM)ని కంపెనీ బోర్డుల ప్రాధాన్యతగా మార్చింది.

SBOM అనేది మీ సాఫ్ట్‌వేర్‌లోని ప్రతి భాగం యొక్క ఇన్వెంటరీ (జాబితా). ఇది కోడ్‌కు ఒక పోషకాహార లేబుల్ (nutrition label) లాగా పనిచేస్తుంది. ఇది ఓపెన్-సోర్స్ లైబ్రరీలు, థర్డ్-పార్టీ ప్యాకేజీలు మరియు అంతర్గత భాగాలను జాబితా చేస్తుంది. ఇందులో వెర్షన్లు మరియు లైసెన్స్‌లు కూడా ఉంటాయి.

ఆధునిక సాఫ్ట్‌వేర్ చాలా సంక్లిష్టమైనది. ఒక అప్లికేషన్ తరచుగా 500 నుండి 1,500 థర్డ్-పార్టీ భాగాలను ఉపయోగిస్తుంది. వీటిని మీరు మాన్యువల్‌గా ట్రాక్ చేయలేరు.

ప్రస్తుతం రెండు ప్రధాన ప్రమాణాలు (standards) ఉన్నాయి:

• SPDX: లైసెన్స్ కంప్లయన్స్ (compliance) పై దృష్టి పెడుతుంది. లీగల్ టీమ్స్‌కు ఇది ఉపయోగకరంగా ఉంటుంది. • CycloneDX: సెక్యూరిటీపై దృష్టి పెడుతుంది. DevSecOps టీమ్స్‌కు ఇది ఉపయోగకరంగా ఉంటుంది.

మీ స్పందన యొక్క వేగం మీ SBOM పై ఆధారపడి ఉంటుంది. Log4j సంక్షోభం సమయంలో, SBOM ఉన్న కంపెనీలు తమ రిస్క్‌ను గంటల్లోనే గుర్తించాయి. అవి లేని కంపెనీలు మాన్యువల్ ఆడిట్‌ల కోసం వారాల సమయం వృథా చేశాయి.

XZ Utils వంటి ఇటీవలి దాడులు ఈ లోటు ఇంకా ఉందని నిరూపిస్తున్నాయి. దాడి చేసేవారు సాధారణ లైబ్రరీలలో బ్యాక్‌డోర్‌లను (backdoors) దాచిపెడతారు. ఆటోమేషన్ లేకపోతే, మీరు వాటిని గుర్తించలేరు.

నియంత్రణలు (Regulations) కూడా మారుతున్నాయి:

• US Executive Order 14028: ఫెడరల్ వెండర్లు తప్పనిసరిగా SBOMలను అందించాలి. • FDA Guidance: మెడికల్ డివైజ్‌లకు SBOMలు అవసరం. • EU Cyber Resilience Act: 2027 నాటికి EUలోని సాఫ్ట్‌వేర్‌లకు SBOMలు అవసరం.

ఎలా ప్రారంభించాలి:

  1. ఒక స్టాండర్డ్‌ను ఎంచుకోండి. సెక్యూరిటీ కోసం CycloneDXని లేదా లైసెన్స్‌ల కోసం SPDXని ఉపయోగించండి.
  2. జనరేషన్‌ను ఆటోమేట్ చేయండి. ఇమేజ్‌ల కోసం Syft లేదా పైప్‌లైన్‌ల కోసం Snyk వంటి టూల్స్‌ను ఉపయోగించండి.
  3. డేటాబేస్‌లతో లింక్ చేయండి. మీ జాబితాను NIST NVD లేదా OSVకి కనెక్ట్ చేయండి.
  4. ఒక షెడ్యూల్‌ను సెట్ చేయండి. ప్రతి బిల్డ్‌తో పాటు ఒక SBOMని జనరేట్ చేయండి.

మీ మొత్తం పోర్ట్‌ఫోలియోను ఒకేసారి సరిదిద్దడానికి ప్రయత్నించకండి. ఒకే ఒక అప్లికేషన్‌తో ప్రారంభించండి.

గుర్తుంచుకోండి, SBOM అనేది ఒక డయాగ్నోస్టిక్ టూల్ (రోగనిర్ధారణ సాధనం). మీ వద్ద ఏముందో అది మీకు చెబుతుంది. కానీ అది మీ సమస్యను పరిష్కరించదు. ఒక SBOM 23 లోపాలను (vulnerabilities) చూపిస్తే, వాటిని ప్యాచ్ చేయడానికి మీకు ఇంకా ఒక ప్లాన్ అవసరం.

ఉత్తమ కంపెనీలు కేవలం టూల్స్‌ను మాత్రమే కలిగి ఉండవు. వాటి వద్ద ఒక ప్రాసెస్ ఉంటుంది. సంక్షోభం రాకముందే ఒక డిపెండెన్సీని (dependency) ఎవరు నిర్వహిస్తున్నారో వారికి తెలుసు.

Source: https://dev.to/spicykim/the-nutrition-label-that-software-always-lacked-213 Full details: lucas8.com/what-is-sbom-software-bill-of-materials