rootkit හඳුනාගැනීම - කේත අඛණ්ඩතාව

රූට්කිට් තවදුරටත් සිසැඩ්මින්වරුන්ට පමණක් නොවේ: ඔවුන් ගබඩාවලද ජීවත් වෙති.

රූට්කිට් එකක් යනු කුමක්ද?

රූට්කිට් එකක් තවදුරටත් පහත් මට්ටමේ අනිෂ්ට මෘදුකාංගයක් නොවේ. එහි හරය තුළ, එය රහසිගතයි. අනවසර ප්‍රවේශය ලබා දෙන අනිෂ්ට මෘදුකාංග තමන්ගේම පැවැත්ම සඟවා ගනිමින්. සාම්ප්‍රදායික සන්දර්භයන් තුළ, rootkits කර්නල් අවකාශයේ හෝ පද්ධති සේවාවන්හි ජීවත් වේ. කෙසේ වෙතත්, අද, ඒවා ඔබේ ගබඩාවන්, CI පද්ධති සහ පැකේජ මැනිෆෙස්ටස් තුළ ද වාසය කරයි, පැහැදිලිව පෙනෙන පරිදි සැඟවී, කේත අඛණ්ඩතාවයට හානි කරමින් සහ ගොඩනැගීමේ පද්ධති ආසාදනය කරයි.

පද්ධති රූට්කිට් සිට නිධි රූට්කිට් දක්වා

පද්ධති ඉංජිනේරුවන් කර්නල් රූට්කිට් භාවිතා කිරීමට පුරුදුව සිටියහ. මේවා පද්ධතියක් මත සම්පූර්ණ පාලනය ලබා දුන් අතර, පද්ධති ඇමතුම් වලට බාධා කිරීම, ක්‍රියාවලීන් සැඟවීම සහ කේත අඛණ්ඩතාව අවදානමට ලක් කිරීම සිදු කළේය. දැන්, සංවර්ධක කේන්ද්‍රීය අවස්ථාවක් උපකල්පනය කරන්න: ද්වේෂසහගත නළුවෙකු ඔබේ පරිගණකයට රූට්කිට් එකක් එන්නත් කරයි. Git ගබඩාව or යැපුම් ගස. මෙම ගබඩාව rootkit යනු ඔබේ ගොඩනැගීමේ ප්‍රතිදානයන් හසුරුවන හෝ පසුපස දොරවල්වලට රිංගා යන කේතයකි, පද්ධතියක් ඒවා ක්‍රියාත්මක කිරීමට පෙර පවා ඔබේ පැකේජ කෞතුක වස්තු වල කොටසක් බවට පත්වේ. Rootkits ඔබේ මූලාශ්‍රය, පරායත්තතා සහ CI/CD ගලා යයි.

කේත පදනම් සහ පරායත්තතා තුළ රූට්කිට් සැඟවී ඇති ආකාරය

සංවර්ධකයින් නැරඹිය යුතු ස්පර්ශ්‍ය rootkit ප්‍රහාරක දෛශික ඉවත් කරමු:

  • අවුල් සහගත හෝ නොමඟ යවන සුළු commits
    සිතන්න a commit "ටයිප් දෝෂ නිවැරදි කරන්න" කියලා කියනවා, නමුත් ඇත්තටම runtime එකේදි malicious payloads decrypt කරන loader එකක් inject කරනවා. Rootkit detection එක trickly වෙනවා. commit පණිවිඩ අභිප්‍රාය සඟවයි.
  • වෙනස් කරන ලද හෝ පිටුපස දොරක් සහිත පුස්තකාල
    පොදු උපයෝගිතා ශ්‍රිතයක් සියුම් ලෙස පිටුපස දොරක් සහිත අනුවාදයකින් ප්‍රතිස්ථාපනය වේ. එය පරීක්ෂණ සමත් වන නමුත් පැය ගණනකට පසු දුරස්ථ සේවාදායකයකට රහස් ලොග් කරයි. පුස්තකාලය හුරුපුරුදු බවක් පෙනුනද, කේත අඛණ්ඩතාව බිඳී ඇත.
  • සම්මුතියට පත් වූ තෙවන පාර්ශවීය පැකේජ සහ සංක්‍රාන්ති පරායත්තතා
    ඔබ ස්ථාපනය කළා ලිබ්-ක්‍රිප්ටෝ@2.0.1; උඩුගං බලා, යමෙකු විෂ සහිත අනුවාදයක් 2.0.0 අනිෂ්ට මෘදුකාංග සමඟ. දැන් ඔබේ pipeline අහම්බෙන් rootkit එකක් අදිනව, නැත්නම් ඊටත් වඩා නරක විදියට, ඔයාගේ lockfile එක පාවෙලා ගිහින් ඔයා collected code එක අදිනව.
  • නිදි කේත සහ තර්ක බෝම්බ

කෝඩ් සති හෝ මාස ගණනක් මෘදු ලෙස වාඩි වී පසුව අවදි වේ. උදාහරණයක් ලෙස:

අද පරීක්ෂණ සමත් වන අතර, ප්‍රමාද වන තුරු කේත අඛණ්ඩතාව අසාර්ථක වන බව ඔබට නොපෙනේ.

DevOps හි Rootkit හඳුනාගැනීම වැදගත් වන්නේ ඇයි?

ඔබගේ රූට්කිට් pipeline සහ repos සැබෑ සංවර්ධක වැඩ ප්‍රවාහයන්ට තර්ජනය කරයි:

  • නොදැනුවත්වම සිදුවන විකෘති වූ ඉදිකිරීම්: රූට්කිට් එකක් නම් hooks ඔබේ ගොඩනැගීමේ ස්ක්‍රිප්ට් එකට, ද්වේෂසහගත දෙයක් කියන්න ස්ථාපනය කිරීමෙන් පසු or setup.py, ඔබේ CI සමත් වනු ඇත, ඔබ නොදැනුවත්වම සම්මුතියට පත් වූ කෞතුක වස්තු තල්ලු කරයි.
  • නොගැලපෙන හෝ ප්‍රතිනිෂ්පාදනය කළ නොහැකි ගොඩනැගීම්: rootkit එකක් නිසා සංවර්ධක යන්ත්‍ර සහ CI නියෝජිතයන් මත ගොඩනැගීම් වෙනස් විය හැක. එම වෙනස කේත අඛණ්ඩතාව සඳහා රතු කොඩියක් වේ, නමුත් ඔබ එය පරීක්ෂා කරන්නේ නම් පමණි.
  • නිකුතු හරහා නිරන්තර සම්මුතිය: එක් වරක් ඇතුළත් කළ පසු, එයට ශාඛා ඒකාබද්ධ කිරීම්, චෙරි-පික්ස් සහ අනාගත නිකුතු වලින් බේරී සිටිය හැක. නරකම දෙය නම්, එය යාවත්කාලීන කිරීම් වලට එන්නත් කර ඔබේ සැපයුම් දාමය දූෂිත කළ හැකිය.
  • Pipeline සංවර්ධක පරිසරයන් තුළ විෂ වීම සහ පාර්ශ්වීය චලනය: rootkit එකක් CI configs, shared runners සහ shared credentials සහිත developer machines හරහා පැතිර යා හැක. කේත අඛණ්ඩතාව කේතයේ පමණක් නොව, පරිසරයන් හරහාද උල්ලංඝනය වේ.

ප්‍රායෝගික රූට්කිට් හඳුනාගැනීම Pipelines

ඔබේ rootkit හඳුනාගැනීමේ ක්‍රීඩාව ඉහළ නැංවීම සඳහා සංවර්ධක-හිතකාමී, ක්‍රියාකාරී ශිල්පීය ක්‍රම මෙන්න:

• තීරණාත්මක ගොනු සඳහා හැෂ් වලංගුකරණය සහ පරායත්තතා

වැනි යතුරු ගොනු සඳහා SHA‑256 (හෝ ඒ හා සමාන) ගණනය කරන්න අවශ්‍යතා.txt, පැකේජ-ලොක්.ජේසන්, හෝ ඉහළ මට්ටමේ ගොඩනැගීමේ ස්ක්‍රිප්ට්:

එම ලිපිගොනු වලට සිදුවන ඕනෑම වෙනසක් විභව ද්වේෂසහගත ප්‍රවාහයක් පෙන්නුම් කරයි.

• SBOM (මෘදුකාංග ද්‍රව්‍ය බිල්පත) වලංගුකරණය

උත්පාදනය SBOM Syft හෝ SPDX වැනි මෙවලම් සමඟ. ඔබේ ගොඩනැගීමේ ඇති පරායත්තතා (සහ අනුවාද) හරියටම නිරීක්ෂණය කරන්න. සංසන්දනය කරන්න SBOMඅනපේක්ෂිත හෝ ද්වේෂසහගත එකතු කිරීම් හඳුනා ගැනීමට ගොඩනැගීම් හරහා s.

• අත්සන් කරන ලදී commits සහ අත්සන සත්‍යාපනය

බලාත්මක කරන්න යන්න commit -S සහ CI හි අත්සන් පරීක්ෂා කරන්න:

නව, අත්සන් නොකළ හෝ සැක සහිත ලෙස අත්සන් කරන ලද commit source-rootkit probe එකක් විය හැකියි.

• ගොඩනැගීම හෝ ධාවන කාලය තුළ හැසිරීම් මත පදනම් වූ විෂමතා අනාවරණය

අමුතු හැසිරීම් ග්‍රහණය කර ගැනීමට ඔබේ ගොඩනැගීම පැතිකඩ සමඟ සන්නද්ධ කරන්න: උදාහරණයක් ලෙස, අනපේක්ෂිත ජාල ඇමතුම් අතරතුර npm ස්ථාපනය කරන්න or පයිප්ප ස්ථාපනය, හෝ ආරක්ෂිත dirs හි ගොනු වෙනස්කම්:

ස්ථාපනය අතරතුර අනපේක්ෂිත පිටතට යන ගමනාගමනය rootkit පූරණය කිරීමේ අදියරක් විය හැකිය.

• අපැහැදිලි හෝ ඉහළ එන්ට්‍රොපි කේත කොටස් සඳහා ස්කෑන් කිරීම

සැක සහිත කේත එන්ට්‍රොපි හෝ ASCII නොවන/කියවීමට අපහසු කොටස් සලකුණු කරන මෙවලම් භාවිතා කරන්න pull requests. උදාහරණයක් ලෙස, සඳහා ස්කෑන් එකක් ඒකාබද්ධ කරන්න පදනම 64 බ්ලොබ් හෝ අමුතු විධායක/eval භාවිතය. උද්දීපනය කරන ලද කේතය නිදි පූරකයක් හෝ සංකේතනය කළ ගෙවීමක් විය හැකිය.

සැපයුම් දාමය පුරා කේත අඛණ්ඩතාව පවත්වා ගැනීම

දිගු කාලීනව, ඔබට rootkit හඳුනාගැනීම දෙවන ස්වභාවයක් බවට පත් කරන පිළිවෙත් අවශ්‍ය වේ:

  • යැපුම් ඇමිණීම සහ lockfiles: සැමවිටම commit ලොක්ෆයිල් (පැකේජ-ලොක්.ජේසන්, අවශ්‍යතා.ලොක්, ආදිය). විකෘති වූ සංක්‍රාන්ති පරායත්තතා අහම්බෙන් ඇද නොගන්නා ලෙස සහ rootkit එකක් ලිස්සා යාමේ අවදානමක් ඇති නොවන පරිදි අනුවාද Pin කරන්න.
  • නිකුතු සහ පැකේජවල ගුප්ත ලේඛන අත්සන් කිරීම: ඔබේම ගොඩනැගීමේ කෞතුක වස්තු GPG හෝ ඒ හා සමාන ඒවා සමඟ අත්සන් කරන්න. පාරිභෝගිකයින් අත්සන් සත්‍යාපනය කරයි; ඔබේ නිකුතුවට rootkit එකක් හානි කළහොත්, සත්‍යාපනය අසාර්ථක වී විශ්වාස දාමය බිඳ දමයි.
  • පිළිබඳ නිතිපතා සමාලෝචනය තෙවන පාර්ශවීය සහ සංක්‍රාන්ති වෙනස්කම්: නව හෝ වෙනස් වූ පරායත්තතා සලකුණු කරන පරායත්තතා-අධීක්ෂණ මෙවලම් භාවිතා කරන්න. සමඟ ඒකාබද්ධ කරන්න SBOM එන්නත් කරන ලද හෝ ප්‍රතිස්ථාපනය කරන ලද මොඩියුල හඳුනා ගැනීමට වෙනස්කම්.
  • යැපුම් ප්ලාවිතය සඳහා අඛණ්ඩ අධීක්ෂණය හෝ අනවසර වෙනස්කම්: ස්වයංක්රීයකරණය SBOM ඔබගේ CI හි වෙනස්කම්: අනපේක්ෂිත පරායත්තතා දිස්වන්නේ නම් අසාර්ථක ගොඩනැගීම්. කාලයත් සමඟ පරායත්තතා ප්ලාවිතය නිරීක්ෂණය කර, අපේක්ෂිත තත්වයෙන් යමක් අපගමනය වුවහොත් අනතුරු අඟවන්න: උදා: rootkit commit නැතහොත් ප්‍රතිස්ථාපනය කරන ලද යැපීම.

නිගමනය

රූට්කිට් තවදුරටත් පද්ධති පරිපාලකයින් සහ කර්නල් වලට සීමා නොවේ; ඒවා සංවර්ධනයේ හදවතට සංක්‍රමණය වී ඇත: ඔබේ ගබඩා, ගොඩනැගීම් සහ CI pipelines. සංවර්ධකයින් rootkit හඳුනාගැනීම සහ කේත අඛණ්ඩතාව මූලික appsec ගැටළු ලෙස සැලකිය යුතුය. හැෂ් වලංගුකරණය භාවිතා කිරීමෙන්, SBOM විගණනය, අත්සන් කරන ලදී commits, හැසිරීම් විෂමතා හඳුනාගැනීම සහ යැපුම් සනීපාරක්ෂාව සමඟින්, ඔබ කේතය තුළ ජීවත් වන rootkits වලට එරෙහිව ප්‍රායෝගික ආරක්ෂාවක් ගොඩනඟයි.

වැනි මෙවලමක් සයිජෙනිමෘදුකාංග සැපයුම් දාම දැඩි කිරීම කෙරෙහි අවධානය යොමු කර ඇති , DevSecOps කණ්ඩායම් වලට කේත අඛණ්ඩතාව පවත්වා ගැනීමට සහ වැඩ ප්‍රවාහයේ මුල් අවධියේදී rootkit තර්ජන හඳුනා ගැනීමට බල ගැන්විය හැකිය. එය සංවර්ධක-පළමු ආරක්ෂාව සඳහා අත්‍යවශ්‍ය සගයෙකු වන අතර, ඒවා ඔබේ repo, ගොඩනැගීම හෝ නිෂ්පාදනය හරහා පැතිරීමට පෙර මෙය නැවැත්වීමට උපකාරී වේ.

sca-මෙවලම්-මෘදුකාංග-සංයුතිය-විශ්ලේෂණ-මෙවලම්
ඔබේ මෘදුකාංග අවදානම් ප්‍රමුඛතාවය දෙන්න, නිවැරදි කරන්න සහ සුරක්ෂිත කරන්න
ඔබගේ නොමිලේ ගිණුම ලබා ගන්න.
කිසිදු ක්රෙඩිට් කාඩ්පතක් අවශ්ය නොවේ.

ඔබේ මෘදුකාංග සංවර්ධනය සහ බෙදා හැරීම සුරක්ෂිත කරන්න

Xygeni නිෂ්පාදන කට්ටලය සමඟ