වැඩසටහන් කේතයේ දුර්වලතා සොයා ගැනීමට සරල උපයෝගීතාවයක් භාවිතා කරන්නේ කෙසේද

Graudit බහු ක්‍රමලේඛන භාෂා සඳහා සහය දක්වන අතර කේත පදනම් ආරක්ෂණ පරීක්ෂණ සෘජුවම සංවර්ධන ක්‍රියාවලියට ඒකාබද්ධ කිරීමට ඔබට ඉඩ සලසයි.

වැඩසටහන් කේතයේ දුර්වලතා සොයා ගැනීමට සරල උපයෝගීතාවයක් භාවිතා කරන්නේ කෙසේද
මූලාශ්රය: නොපෙනී (මාර්කස් ස්පිස්කේ)

පරීක්ෂණ යනු මෘදුකාංග සංවර්ධන ජීවන චක්‍රයේ වැදගත් කොටසකි. පරීක්ෂණ වර්ග බොහොමයක් ඇත, ඒ සෑම එකක්ම තමන්ගේම ගැටළුව විසඳයි. අද මට කතා කරන්න අවශ්‍ය වන්නේ කේතයේ ආරක්ෂක ගැටළු සොයා ගැනීම ගැනයි.

නිසැකවම, මෘදුකාංග සංවර්ධනයේ නවීන යථාර්ථයන් තුළ, ක්රියාවලි ආරක්ෂාව සහතික කිරීම වැදගත් වේ. එක් අවස්ථාවක, DevSecOps යන විශේෂ යෙදුම පවා හඳුන්වා දෙන ලදී. මෙම යෙදුම යෙදුමක ඇති දුර්වලතා හඳුනා ගැනීම සහ ඉවත් කිරීම අරමුණු කරගත් ක්‍රියා පටිපාටි මාලාවකට යොමු වේ. ප්‍රමිතීන්ට අනුකූලව දුර්වලතා පරීක්ෂා කිරීම සඳහා විශේෂිත විවෘත මූලාශ්‍ර විසඳුම් තිබේ OWASP, මූලාශ්‍ර කේතයේ ඇති දුර්වලතා වල විවිධ වර්ග සහ හැසිරීම් විස්තර කරයි.

ස්ථිතික යෙදුම් ආරක්ෂණ පරීක්ෂණ (SAST), ගතික යෙදුම් ආරක්ෂණ පරීක්ෂණ (DAST), අන්තර්ක්‍රියාකාරී යෙදුම් ආරක්ෂණ පරීක්ෂණ (IAST), මෘදුකාංග සංයුතිය විශ්ලේෂණය, යනාදී ලෙස ආරක්ෂක ගැටළු විසඳීම සඳහා විවිධ ප්‍රවේශයන් ඇත.

ස්ථිතික යෙදුම් ආරක්ෂණ පරීක්ෂණය දැනටමත් ලියා ඇති කේතයේ දෝෂ හඳුනා ගනී. මෙම ප්‍රවේශයට යෙදුම ක්‍රියාත්මක වීමට අවශ්‍ය නොවේ, ඒ නිසා එය ස්ථිතික විශ්ලේෂණය ලෙස හැඳින්වේ.

මම ස්ථිතික කේත විශ්ලේෂණය කෙරෙහි අවධානය යොමු කරන අතර ප්‍රායෝගිකව සියල්ල නිරූපණය කිරීමට සරල විවෘත මූලාශ්‍ර මෙවලමක් භාවිතා කරමි.

මම ස්ථිතික කේත ආරක්ෂණ විශ්ලේෂණය සඳහා විවෘත මූලාශ්‍ර මෙවලමක් තෝරා ගත්තේ ඇයි?

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

නම්‍යශීලීභාවය සඳහා වැඩි අවශ්‍යතා සැලකිල්ලට ගනිමින් හොඳ විවෘත මූලාශ්‍ර මෙවලම් සෑම විටම නිර්මාණය වේ. එමනිසා, ඒවා පුළුල් පරාසයක කාර්යයන් ආවරණය කරමින් ඕනෑම පරිසරයක පාහේ භාවිතා කළ හැකිය. සංවර්ධකයින්ට ඔවුන්ගේ ව්‍යාපෘතිවල වැඩ කරන අතරතුර ඔවුන් දැනටමත් ගොඩනගා ඇති පද්ධතිය සමඟ එවැනි මෙවලම් සම්බන්ධ කිරීම වඩාත් පහසු වේ.

නමුත් ඔබ තෝරා ගන්නා මෙවලමෙහි නොමැති විශේෂාංගයක් ඔබට අවශ්‍ය වන අවස්ථා තිබිය හැක. මෙම අවස්ථාවේදී, ඔබට එහි කේතය දෙබල කිරීමට සහ ඔබට අවශ්‍ය ක්‍රියාකාරිත්වය සමඟ එය මත පදනම්ව ඔබේම මෙවලමක් සංවර්ධනය කිරීමට ඔබට අවස්ථාව තිබේ.

බොහෝ අවස්ථාවලදී විවෘත මූලාශ්‍ර මෘදුකාංග සංවර්ධනය ප්‍රජාව විසින් සක්‍රීයව බලපාන බැවින්, වෙනස්කම් කිරීමට තීරණය ඉතා ඉක්මනින් හා කාරණයට ගනු ලැබේ: විවෘත මූලාශ්‍ර ව්‍යාපෘතියේ සංවර්ධකයින් ඔවුන්ගේ වාර්තා මත පරිශීලකයින්ගේ ප්‍රතිපෝෂණ සහ යෝජනා මත විශ්වාසය තබයි. සොයාගත් දෝෂ සහ වෙනත් ගැටළු.

කේත ආරක්ෂණ විශ්ලේෂණය සඳහා Graudit භාවිතා කිරීම

ස්ථිතික කේත විශ්ලේෂණය සඳහා ඔබට විවිධ විවෘත මූලාශ්‍ර මෙවලම් භාවිතා කළ හැකිය; සියලුම ක්‍රමලේඛන භාෂා සඳහා විශ්වීය මෙවලමක් නොමැත. ඔවුන්ගෙන් සමහරක් සංවර්ධකයින් OWASP නිර්දේශ අනුගමනය කරන අතර හැකි තරම් භාෂා ආවරණය කිරීමට උත්සාහ කරයි.

මෙන්න අපි භාවිතා කරන්නෙමු Graudit, සරල විධාන රේඛා උපයෝගීතාවයක් වන අතර එය අපගේ කේත පදනමේ ඇති දුර්වලතා සොයා ගැනීමට ඉඩ සලසයි. එය විවිධ භාෂා සඳහා සහය දක්වයි, නමුත් තවමත් ඔවුන්ගේ කට්ටලය සීමිතය. GNU බලපත්‍රය යටතේ වරක් නිකුත් කරන ලද grep උපයෝගිතා උපයෝගීතාව මත පදනම්ව Graudit සංවර්ධනය කර ඇත.

ස්ථිතික කේත විශ්ලේෂණය සඳහා සමාන මෙවලම් තිබේ - ආරක්ෂාව සඳහා රළු විගණන මෙවලම (RATS), Securitycompass වෙබ් යෙදුම් විශ්ලේෂණ මෙවලම (SWAAT), දෝෂ සොයන්න සහ යනාදිය. නමුත් Graudit ඉතා නම්‍යශීලී වන අතර අවම තාක්ෂණික අවශ්‍යතා ඇත. කෙසේ වෙතත්, ඔබට Graudit විසින් විසඳිය නොහැකි ගැටළු ඇති විය හැක. එවිට ඔබට මෙහි වෙනත් විකල්ප සෙවිය හැක මෙම ලැයිස්තුවේ.

අපට මෙම මෙවලම නිශ්චිත ව්‍යාපෘතියකට අනුකලනය කළ හැකිය, නැතහොත් තෝරාගත් පරිශීලකයෙකුට එය ලබා ගත හැක, නැතහොත් අපගේ සියලුම ව්‍යාපෘති වලදී එය එකවර භාවිතා කළ හැක. Graudit ගේ නම්‍යශීලීභාවය ක්‍රියාත්මක වන්නේ ද මෙහි දී ය. ඉතින් අපි මුලින්ම repo ක්ලෝන කරමු:

$ git clone https://github.com/wireghoul/graudit

දැන් අපි Graudit සඳහා එය විධාන ආකෘතියෙන් භාවිතා කිරීමට සංකේතාත්මක සබැඳියක් නිර්මාණය කරමු

$ cd ~/bin && mkdir graudit
$ ln --symbolic ~/graudit/graudit ~/bin/graudit

අපි .bashrc (හෝ ඔබ භාවිතා කරන ඕනෑම වින්‍යාස ගොනුවක්) වෙත අන්වර්ථයක් එකතු කරමු:

#------ .bashrc ------
alias graudit="~/bin/graudit"

නැවත ආරම්භ කරන්න:

$ source ~/.bashrc # OR
$ exex $SHELL

ස්ථාපනය සාර්ථක වූයේ දැයි පරීක්ෂා කර බලමු:

$ graudit -h

ඔබ සමාන දෙයක් දුටුවහොත්, සියල්ල හොඳයි.

වැඩසටහන් කේතයේ දුර්වලතා සොයා ගැනීමට සරල උපයෝගීතාවයක් භාවිතා කරන්නේ කෙසේද

මම මගේ පවතින ව්‍යාපෘතිවලින් එකක් පරීක්‍ෂා කරමි. මෙවලම ධාවනය කිරීමට පෙර, එය මගේ ව්‍යාපෘතිය ලියා ඇති භාෂාවට අනුරූප දත්ත සමුදායක් ලබා දිය යුතුය. දත්ත සමුදායන් ~/gradit/signatures ෆෝල්ඩරය තුළ පිහිටා ඇත:

$ graudit -d ~/gradit/signatures/js.db

එබැවින්, මම මගේ ව්‍යාපෘතියෙන් js ගොනු දෙකක් පරීක්‍ෂා කළ අතර, Graudit මගේ කේතයේ ඇති දුර්වලතා පිළිබඳ තොරතුරු කොන්සෝලය වෙත ප්‍රදර්ශනය කළේය:

වැඩසටහන් කේතයේ දුර්වලතා සොයා ගැනීමට සරල උපයෝගීතාවයක් භාවිතා කරන්නේ කෙසේද

වැඩසටහන් කේතයේ දුර්වලතා සොයා ගැනීමට සරල උපයෝගීතාවයක් භාවිතා කරන්නේ කෙසේද

ඔබට ඔබේ ව්‍යාපෘති එකම ආකාරයෙන් පරීක්ෂා කිරීමට උත්සාහ කළ හැකිය. ඔබට විවිධ ක්‍රමලේඛන භාෂා සඳහා දත්ත සමුදා ලැයිස්තුවක් දැකිය හැකිය මෙහි.

Graudit හි වාසි සහ අවාසි

Graudit බොහෝ ක්‍රමලේඛන භාෂා සඳහා සහය දක්වයි. එබැවින්, එය පුළුල් පරාසයක පරිශීලකයින් සඳහා සුදුසු වේ. එයට ඕනෑම නොමිලේ හෝ ගෙවන ප්‍රතිසමයක් සමඟ ප්‍රමාණවත් ලෙස තරඟ කළ හැකිය. ව්‍යාපෘතියේ වැඩිදියුණු කිරීම් තවමත් සිදු කිරීම ඉතා වැදගත් වන අතර, ප්‍රජාව සංවර්ධකයින්ට පමණක් නොව, මෙවලම හඳුනා ගැනීමට උත්සාහ කරන අනෙකුත් පරිශීලකයින්ට ද උපකාර කරයි.

මෙය පහසු මෙවලමකි, නමුත් මෙතෙක් එයට සෑම විටම සැක සහිත කේත කැබැල්ලක ඇති ගැටලුව කුමක්දැයි නිශ්චිතව පෙන්වා දිය නොහැක. සංවර්ධකයින් Graudit වැඩිදියුණු කිරීම දිගටම කරගෙන යයි.

නමුත් ඕනෑම අවස්ථාවක, මෙවැනි මෙවලම් භාවිතා කිරීමේදී කේතයේ ඇති විය හැකි ආරක්ෂක ගැටළු පිළිබඳව අවධානය යොමු කිරීම ප්රයෝජනවත් වේ.

ආරම්භ…

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

දැන්වීම් ප්රචාරණ අයිතිවාසිකම්

විශ්වසනීය VPS සහ තීරුබදු සැලැස්මේ නිවැරදි තේරීම ඔබට අප්රසන්න ගැටළු වලින් සංවර්ධනයෙන් අඩු අවධානයක් යොමු කිරීමට ඉඩ සලසයි - සෑම දෙයක්ම අසාර්ථකත්වයකින් තොරව සහ ඉතා ඉහළ කාලයකින් ක්රියා කරනු ඇත!

වැඩසටහන් කේතයේ දුර්වලතා සොයා ගැනීමට සරල උපයෝගීතාවයක් භාවිතා කරන්නේ කෙසේද

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න