Гарчиг[Нуух][Үзүүлэх]
- Тэгэхээр статик хэрэглээний аюулгүй байдлын тест (SAST) гэж юу вэ?
- SAST яагаад чухал вэ?
- SAST хэрхэн ажилладаг вэ?
- Давуу тал
- Сул тал
- Динамик хэрэглээний аюулгүй байдлын тест (DAST) гэж юу вэ?
- DAST яагаад чухал вэ?
- DAST хэрхэн ажилладаг вэ?
- Давуу тал
- Сул тал
- SAST vs DAST
- SAST хэзээ хэрэглэх вэ?
- DAST хэзээ хэрэглэх вэ?
- SAST болон DAST хамтран ажиллаж чадах уу?
- Дүгнэлт
Хамгийн чадварлаг програмистууд ч гэсэн өгөгдөл хулгайд өртөмтгий болгодог эмзэг кодыг үүсгэж чаддаг. Аппликешны аюулгүй байдлын тест нь таны кодыг аюулгүй, эмзэг байдал, аюулгүй байдлын асуудалгүй байлгахад зайлшгүй шаардлагатай.
Програм хангамжийн болзошгүй сул талуудын жагсаалт жил бүр эрс нэмэгдэж байгаа нь өнөөгийн аюулыг урьд өмнөхөөсөө илүү том болгож байна. Хэрэв хөгжүүлэлтийн багууд богино хугацаанд шинэ байршуулалт хийхийг оролдож байгаа бол таны програмууд нэвтэрч чадахгүй.
Аппликейшнүүдийг бараг бүх салбарт өргөнөөр ашигладаг бөгөөд энэ нь үйлчлүүлэгчдэд бараа, үйлчилгээ, зөвлөгөө өгөх, зугаа цэнгэл гэх мэтийг ашиглахад хялбар, хялбар болгохын тулд хэлж болохгүй.
Кодлох шатнаас эхлээд үйлдвэрлэл, байршуулалт хүртэл та өөрийн хөгжүүлсэн програм бүрийн аюулгүй байдлыг шалгах ёстой.
Хэрэглээний аюулгүй байдлын туршилтыг хоёр сайн аргаар хийж болно: SAST (Статик програмын аюулгүй байдлын тест) болон DAST (Динамик хэрэглээний аюулгүй байдлын тест).
Зарим хүмүүс SAST, зарим нь DAST-ыг сонгодог бол зарим нь хоёуланг нь үнэлдэг. Багууд эдгээр програмын аюулгүй байдлын стратегийн аль нэгийг ашиглан аюулгүй программ хангамжийг туршиж, нийтлэх боломжтой.
Ямар ч нөхцөлд аль нь илүү тохиромжтойг тодорхойлохын тулд бид энэ нийтлэлд SAST болон DAST-ийг харьцуулах болно.
Энд өгсөн өгөгдөл нь таны бизнест ямар програмын аюулгүй байдлын техник хамгийн тохиромжтой болохыг тодорхойлоход ашиглаж болно.
Тэгэхээр статик хэрэглээний аюулгүй байдлын тест (SAST) гэж юу вэ?
SAST нь програмын сул тал, SQL тарилга зэрэг согог зэрэг бүх эмзэг байдлын эх үүсвэрийг илрүүлэхийн тулд програмын эх кодыг статистикийн дагуу шалгаж баталгаажуулах туршилтын арга юм.
SAST нь алдаа дутагдлыг илрүүлэхийн тулд програмын дотоод бүрэлдэхүүн хэсгүүдэд өргөн шинжилгээ хийдэг тул заримдаа "цагаан хайрцаг" аюулгүй байдлын тест гэж нэрлэгддэг.
Энэ нь программ боловсруулах эхний үе шатанд, бүтээц дуусахаас өмнө кодын түвшинд хийгддэг. Үүнийг мөн програмын бүрэлдэхүүн хэсгүүдийг туршилтын орчинд нэгтгэсний дараа хийж болно.
Нэмж дурдахад SAST нь програмын чанарыг баталгаажуулахын тулд ашиглагддаг. Цаашилбал, энэ нь програмын кодыг онцлон SAST хэрэгслээр хийгддэг.
Эдгээр хэрэгслүүд нь програмын эх код болон түүний бүх бүрэлдэхүүн хэсгүүдийг аюулгүй байдлын алдаа, сул талыг шалгадаг. Эдгээр нь зогсолтыг багасгах, өгөгдөлд нэвтрэх боломжийг багасгахад тусалдаг.
Дараах нь зах зээл дээрх шилдэг SAST хэрэгслүүд юм.
SAST яагаад чухал вэ?
Статик програмын аюулгүй байдлын тестийн хамгийн чухал давуу тал нь файлын нэр, мөрийн дугаар зэрэг асуудлуудыг тодорхойлох, тэдгээрийн тодорхой байршлыг тодорхойлох чадвар юм.
SAST хэрэгсэл нь товч тоймыг гаргаж, олсон асуудал бүрийн ноцтой байдлыг заана. Хэдийгээр алдааг олж илрүүлэх нь хөгжүүлэгчийн ажлын хамгийн их цаг зарцуулдаг бүрэлдэхүүн хэсгүүдийн нэг боловч өнгөн дээрээ шууд харагддаг.
Асуудал байгаа гэдгийг мэдэж байгаа ч түүнийг таньж чадахгүй байх нь хамгийн цочромтгой нөхцөл байдал юм, ялангуяа өгөгдсөн мэдээлэл нь бүрхэг стекийн ул мөр эсвэл бүрхэг хөрвүүлэгчийн алдааны мэдэгдлээс л байгаа тохиолдолд.
SAST нь өргөн хүрээний хэрэглээнд хэрэглэгдэх боломжтой бөгөөд олон тооны дээд түвшний хэлийг дэмждэг. Нэмж дурдахад SAST хэрэгслүүдийн дийлэнх нь тохиргооны өргөн сонголтуудыг санал болгодог.
SAST хэрхэн ажилладаг вэ?
Эхлэхийн тулд та өөрийн програмын бүтээх системд ямар SAST хэрэглүүрийг ашиглахаа шийдэх ёстой. Тиймээс та SAST хэрэгслийг хэд хэдэн хүчин зүйлд үндэслэн сонгох ёстой, үүнд:
- Програмыг үүсгэхэд ашигласан хэл
- Бүтээгдэхүүнийг одоо байгаа CI эсвэл бусад хөгжүүлэлтийн хэрэгслүүдтэй хамтран ажиллах чадвар
- Асуудлыг тодорхойлоход хөтөлбөрийн үр нөлөө, түүний дотор хуурамч эерэг байдлын тоо
- Тус хэрэгсэл нь тодорхой шалгуурыг шалгах хүчин чадлаас гадна хэдэн төрлийн эмзэг байдлын төрлийг зохицуулж чадах вэ?
Тиймээс, SAST хэрэглүүрээ сонгосны дараа та үүнийг ашиглаж эхлэх боломжтой.
SAST хэрэгслүүдийн ажиллах арга нь дараах байдалтай байна.
- Эх код, тохиргоо, орчин, хамаарал, өгөгдлийн урсгал болон бусад элементүүдийн иж бүрэн дүр зургийг авахын тулд хэрэгсэл нь кодыг амарч байх үед нь сканнердах болно.
- Мөр, зааварчилгаагаар програмын кодыг SAST хэрэглүүр урьдчилан тодорхойлсон стандарттай харьцуулан шалгана. Таны эх кодыг SQL тарилга, буферийн халилт, XSS асуудал болон бусад санаа зовоосон асуудлууд зэрэг аюулгүй байдлын цоорхой, согогийг хайж олохын тулд шалгах болно.
- SAST хэрэгжилтийн дараагийн үе шат бол SAST хэрэгслүүд болон тохируулсан дүрмийн багцыг ашиглан кодын дүн шинжилгээ хийх явдал юм.
Тиймээс асуудлыг тодорхойлж, тэдгээрийн үр нөлөөг үнэлэх нь тэдгээрийг хэрхэн шийдвэрлэх, хөтөлбөрийн аюулгүй байдлыг нэмэгдүүлэх боломжийг танд олгоно.
SAST хэрэглүүрээс үүдэлтэй худал эерэгийг тодорхойлохын тулд та кодчилол, аюулгүй байдал, дизайны талаар сайн ойлголттой байх ёстой. Мөн та худал эерэгийг багасгах эсвэл арилгахын тулд кодоо өөрчилж болно.
SAST-ын ашиг тус
1. Илүү хурдан бөгөөд илүү нарийвчлалтай
SAST хэрэгслүүд нь таны програм болон түүний эх кодыг бүрэн сканнердахдаа гарын авлагын кодыг шалгахаас илүү хурдан байдаг. Технологи нь үндсэн асуудлуудыг хайж олохын тулд олон сая кодын мөрийг хурдан бөгөөд үнэн зөв шалгаж чаддаг.
Нэмж дурдахад, SAST хэрэгслүүд нь таны кодын аюулгүй байдал, бүрэн бүтэн байдлыг хадгалахын тулд аюулгүй байдлыг байнга шалгаж, тулгамдсан асуудлыг хурдан шийдвэрлэхэд тань тусална.
2. Эрт хөгжлийн аюулгүй байдлыг хангана
Хэрэглээний хөгжүүлэлтийн эхэн үед SAST нь аюулгүй байдлыг хангахад зайлшгүй шаардлагатай. Кодлох эсвэл дизайн хийх явцад энэ нь таны эх кодын сул талыг тодорхойлох боломжийг олгодог. Асуудлыг эрт илрүүлж чадвал тэдгээрийг арилгах нь илүү хялбар байдаг.
Гэсэн хэдий ч, хэрэв та асуудлыг эрт илрүүлж, хөгжүүлэлтийн төгсгөл хүртэл үргэлжлүүлэхийн тулд туршилт хийхгүй бол уг бүтээц нь хэд хэдэн дотоод алдаа, доголдолтой байж болно.
Үүний үр дүнд тэдгээрийг ойлгох, эмчлэх нь хэцүү бөгөөд цаг хугацаа их шаарддаг тул үйлдвэрлэл, байршуулах хуваарийг улам хойшлуулах болно.
Гэсэн хэдий ч, эмзэг байдлыг нөхөхийн оронд SAST ашиглах нь таны цаг хугацаа, мөнгөө хэмнэх болно. Нэмж дурдахад энэ нь үйлчлүүлэгч болон серверийн аль алиных нь алдааг шалгах чадвартай.
3. Орлуулахад хялбар
SAST хэрэгслүүд нь програм хөгжүүлэх амьдралын мөчлөгийн одоогийн процесст оруулахад хялбар байдаг. Тэд бусад аюулгүй байдлын туршилтын хэрэгсэл, эх кодын хадгалах газар, хөгжүүлэлтийн орчинд хүндрэлгүйгээр ажиллах боломжтой.
Тэд мөн хэрэглэгчдэд ээлтэй интерфэйстэй бөгөөд ингэснээр хэрэглэгчид суралцах өндөр муруйгүйгээр хамгийн их ашиг хүртэх боломжтой.
4. Аюулгүй кодчилол
Ширээний компьютер, мобайл төхөөрөмж, суулгагдсан систем эсвэл вэб сайтад зориулж код бичих эсэхээс үл хамааран та аюулгүй кодчиллыг үргэлж хангах ёстой. Аюулгүй, найдвартай кодыг эхнээс нь бичиж өгснөөр таны програм хакердагдах магадлалыг бууруул.
Шалтгаан нь халдагчид муу кодчилол бүхий программуудыг хурдан онилж, өгөгдөл, нууц үг хулгайлах, данс булаалгах гэх мэт үйлдлүүдийг хийж чаддагт оршино.
Энэ нь үйлчлүүлэгчид таны бизнест итгэх итгэлд сөргөөр нөлөөлдөг. SAST-ийг ашигласнаар аюулгүй кодчиллын туршлагыг нэн даруй бий болгож, насан туршдаа хөгжих бат бөх суурийг бий болгоно.
5. Өндөр эрсдэлтэй эмзэг байдлыг илрүүлэх
SAST хэрэгслүүд нь аппликешныг ажиллахгүй болгож болох буфер халих зэрэг өндөр эрсдэлтэй програмын дутагдлыг тодорхойлж, ашиглалтын хугацааны туршид програмыг гэмтээж болох SQL тарилгын алдааг тодорхойлж чадна. Нэмж дурдахад тэд эмзэг байдал болон сайт хоорондын скриптийг (XSS) үр дүнтэй тодорхойлдог.
Давуу тал
- Үүнийг автоматжуулах боломжтой.
- Энэ нь үйл явцын эхэнд хийгдсэн тул эмзэг байдлыг засах нь бага зардалтай байдаг.
- Илэрсэн асуудлын талаар шууд санал хүсэлт, харааны дүрслэлийг өгдөг
- Кодын баазыг бүхэлд нь хүний боломжоос илүү хурдан шинжилдэг.
- Хяналтын самбараар дамжуулан хянаж, экспортлох боломжтой хувь хүний тайланг өгдөг.
- Алдаа болон асуудалтай кодын нарийн байршлыг тодорхойлно
Сул тал
- Ихэнх параметрийн утга эсвэл дуудлагыг үүгээр шалгах боломжгүй.
- Кодыг шалгах, худал эерэг гарахаас сэргийлэхийн тулд энэ нь өгөгдлийг нэгтгэх ёстой.
- Тодорхой хэлээс хамаарах хэрэгслүүдийг ашиглаж буй хэл болгонд өөр өөрөөр боловсруулж, засварлах ёстой.
- Энэ нь номын сан эсвэл хүрээг ойлгоход бэрхшээлтэй байдаг API эсвэл REST төгсгөлийн цэгүүд.
Динамик хэрэглээний аюулгүй байдлын тест (DAST) гэж юу вэ?
"Хар хайрцаг" аргад тулгуурласан өөр нэг туршилтын арга бол програмын аюулгүй байдлын динамик тест (DAST) бөгөөд энэ нь тестерүүд програмын эх код эсвэл дотоод ажиллагааг мэдэхгүй эсвэл түүнд хандах эрхгүй гэсэн таамаглал юм.
Хүртээмжтэй оролт, гаралтыг ашиглан програмыг гаднаас нь шалгадаг. Туршилт нь хакер програмыг ашиглахыг оролдож байгаа мэт харагдаж байна.
DAST нь програмын зан төлөвийг ажиглах замаар халдлагын векторууд болон програмын сул талуудыг хянахыг оролддог. Энэ нь янз бүрийн процедурыг гүйцэтгэх, үнэлгээ өгөхийн тулд ажиллуулах, ашиглах ёстой ажлын програм дээр хийгддэг.
Та DAST-ыг ашиглан суулгасны дараа програмынхаа аюулгүй байдлын бүх алдааг олж мэдэх боломжтой. Бодит хакерууд халдлага үйлдэж болох халдлагын гадаргууг бууруулснаар та мэдээлэл алдагдахаас зайлсхийх боломжтой.
Нэмж дурдахад DAST нь сайт хоорондын скрипт, SQL тарилга, хортой програм гэх мэт хакердах арга техникийг гараар болон DAST хэрэгслийн тусламжтайгаар ашиглах боломжтой.
DAST хэрэгслүүд нь баталгаажуулалтын асуудал, серверийн тохиргоо, логик алдаа, гуравдагч талын эрсдэл, шифрлэлтийн эмзэг байдал гэх мэт олон зүйлийг шалгаж болно.
Дараах нь зах зээл дээрх хамгийн шилдэг DAST хэрэгслүүд юм.
DAST яагаад чухал вэ?
DAST-ийн динамик аюулгүй байдлын туршилтын аргачлал нь санах ойн алдагдал, XSS халдлага, SQL тарилга, нэвтрэлт танилт, шифрлэлтийн асуудал зэрэг бодит ертөнцийн янз бүрийн эмзэг байдлыг тодорхойлох боломжтой.
Энэ нь OWASP-ийн шилдэг арван дутагдал бүрийг олох боломжтой. DAST нь таны хэрэглээний гадаад орчныг шалгах, мөн оролт, гаралтаас хамааран програмын дотоод төлөвийг динамикаар шалгахад ашиглагдаж болно.
Тиймээс DAST нь таны аппликешныг холбодог систем болон API төгсгөлийн цэг/вэб үйлчилгээ бүрийг туршихаас гадна API төгсгөлийн цэгүүд болон вэб үйлчилгээнүүд зэрэг виртуал нөөцүүдийг, түүнчлэн физик дэд бүтэц, хост системүүдийг (сүлжээ, хадгалалт, тооцоолол) шалгахад ашиглаж болно. ).
Ийм учраас эдгээр хэрэгслүүд нь зөвхөн хөгжүүлэгчдэд төдийгүй томоохон үйл ажиллагаа, мэдээллийн технологийн нийгэмлэгт чухал ач холбогдолтой юм.
DAST хэрхэн ажилладаг вэ?
SAST-тай адил дараах хүчин зүйлсийг харгалзан тохирох DAST хэрэгслийг сонгохоо мартуузай.
- DAST хэрэгсэл нь хэдэн төрлийн эмзэг байдлаас хамгаалж чадах вэ?
- DAST хэрэгсэл нь хуваарь гаргах, гүйцэтгэх, гараар сканнердах үйлдлийг автоматжуулдаг зэрэг
- Тодорхой туршилтын тохиолдолд тохируулахын тулд хэр уян хатан байдал байдаг вэ?
- DAST хэрэгсэл нь таны одоо ашиглаж байгаа CI/CD болон бусад технологитой нийцэж байгаа юу?
DAST хэрэгслүүд нь ихэвчлэн хэрэглэхэд хялбар байдаг ч туршилтыг хөнгөвчлөхийн тулд далд олон нарийн төвөгтэй ажлуудыг гүйцэтгэдэг.
- DAST хэрэгслүүдийн зорилго нь програмын талаар аль болох их мэдээлэл цуглуулах явдал юм. Довтолгооны гадаргууг нэмэгдүүлэхийн тулд тэд вэбсайт бүрийг мөлхөж, оролтыг гаргаж авдаг.
- Дараа нь тэд програмыг түрэмгийлэн сканнердаж эхэлдэг. XSS, SSRF, SQL тарилга гэх мэт эмзэг байдлыг шалгахын тулд DAST хэрэгсэл нь өмнө нь тодорхойлсон төгсгөлийн цэгүүд рүү олон халдлагын векторуудыг илгээх болно. Нэмж дурдахад, олон DAST технологи нь танд нэмэлт асуудлуудыг хайхын тулд өөрийн халдлагын хувилбаруудыг боловсруулах боломжийг олгодог.
- Энэ үе шат дууссаны дараа хэрэгсэл нь үр дүнг харуулах болно. Хэрэв эмзэг байдал олдвол түүний төрөл, URL, ноцтой байдал, халдлагын вектор зэрэг дэлгэрэнгүй мэдээллийг шууд өгнө. Энэ нь мөн асуудлыг шийдвэрлэхэд туслах болно.
DAST хэрэгслүүд нь програмд нэвтрэх үед гарч буй баталгаажуулалт болон тохиргооны асуудлыг тодорхойлоход маш үр дүнтэй байдаг. Довтолгоонуудыг дуурайхын тулд тэд туршиж буй програмд урьдчилан тодорхойлсон тодорхой оролтыг хүргэдэг.
Дараа нь уг хэрэгсэл нь алдааг тодорхойлохын тулд хүлээгдэж буй үр дүнтэй холбоотой гаралтыг үнэлдэг. Онлайн програмын аюулгүй байдлын туршилтанд DAST-ийг ихэвчлэн ашигладаг.
DAST-ын ашиг тус
1. Бүх орчинд дээд зэргийн аюулгүй байдал
DAST нь үндсэн код дээр биш гаднаас нь хэрэглэгдэж байгаа тул та програмынхаа аюулгүй байдал, бүрэн бүтэн байдлыг хангах боломжтой. Таны програмын орчинд хийсэн өөрчлөлт нь түүний аюулгүй байдал, ажиллах чадварт нөлөөлөхгүй.
2. Нэвтрэх сорилтод хувь нэмэр оруулдаг
Аппликешны динамик аюулгүй байдал нь нэвтрэлтийн тесттэй төстэй бөгөөд энэ нь кибер халдлага хийх эсвэл програмын аюулгүй байдлын дутагдлыг үнэлэхийн тулд хортой кодыг нэвтрүүлэх явдал юм.
Өргөн хүрээний боломжуудаас шалтгаалан нэвтрэлтийн тест хийхдээ DAST хэрэгслийг ашиглах нь таны ажлыг хялбарчлах болно.
By үйл явцыг автоматжуулах Сул талуудыг илрүүлж, алдаа дутагдлыг нэн даруй засахын тулд эдгээр хэрэгслүүд нь нэвтрэлтийн туршилтыг бүхэлд нь хурдасгах боломжтой.
3. Өргөн хүрээний тестүүд
Орчин үеийн программ хангамж нь хэд хэдэн гадаад номын сан, хуучирсан систем, загвар код зэргийг агуулсан төвөгтэй байдаг. Аюулгүй байдлын асуудал өөрчлөгдөж байгааг дурдахгүй өнгөрч болохгүй, тиймээс танд SAST ашиглах нь хангалтгүй байж болох тул танд илүү их туршилтын хамрах хүрээг хангах систем хэрэгтэй.
DAST нь технологи, эх кодын олдоц, эх сурвалжаас үл хамааран янз бүрийн төрлийн вэб сайт, програмуудыг сканнердаж, үнэлж дүгнэх замаар үүнд тусална.
4. DevOps ажлын урсгалд оруулахад хялбар
Олон хүмүүс DAST-ийг боловсруулж байх үед ашиглах боломжгүй гэж үздэг. Тийм байсан, гэхдээ одоо биш. Та хэд хэдэн технологийг багтааж болно Invicti, DevOps үйл ажиллагаандаа хялбархан ашиглах боломжтой.
Тиймээс, хэрэв интеграцчилал зөв хийгдсэн бол та програмыг хөгжүүлэх эхний үе шатанд эмзэг байдлыг автоматаар сканнердаж, аюулгүй байдлын асуудлыг илрүүлэх боломжийг олгоно.
Энэ нь холбогдох зардлыг бууруулж, програмын аюулгүй байдлыг сайжруулж, асуудлыг олж илрүүлэх, шийдвэрлэхэд саатал хэмнэх болно.
5. Туршилтуудыг байршуулах
DAST хэрэгслүүд нь програм хангамжийг үе шаттай орчинд эмзэг байдлыг туршихаас гадна хөгжүүлэлт болон үйлдвэрлэлийн аль алинд нь ашигладаг. Ийм маягаар үйлдвэрлэлд орсны дараа таны програм хэр аюулгүй болохыг харж болно.
Хэрэгслийг ашигласнаар та тохиргооны өөрчлөлтөөс үүдэлтэй аливаа үндсэн асуудлуудыг програмыг үе үе шалгаж болно. Нэмж дурдахад энэ нь таны хөтөлбөрт аюул учруулах шинэ согогийг олж чадна.
Давуу тал
- Энэ нь хэл шинжлэлийн хувьд төвийг сахисан байдаг.
- Серверийн тохиргоо болон баталгаажуулалттай холбоотой бэрхшээлүүдийг онцлон тэмдэглэв.
- Бүхэл бүтэн систем, програмыг үнэлдэг
- Санах ой болон нөөцийн ашиглалтыг шалгадаг
- Функцийн дуудлага болон аргументуудыг ойлгодог
- Шифрлэлтийн алгоритмыг эвдэх гадны оролдлого
- Давуу эрхийн түвшин тусгаарлагдсан эсэхийг шалгахын тулд зөвшөөрлийг шалгана
- Гуравдагч талын интерфейсийн алдаа дутагдлыг шалгах
- SQL injection, cookie manipulation болон cross-site scripting зэргийг шалгана
Сул тал
- Маш олон хуурамч эерэг үр дүнг бий болгодог
- Кодыг өөрөө үнэлдэггүй, сул талыг нь заадаггүй, зөвхөн үүнээс үүдэлтэй асуудлуудыг хэлдэг.
- Хөгжүүлэлт дууссаны дараа ашигладаг тул алдаа дутагдлыг засах нь илүү үнэтэй байдаг
- Томоохон төслүүд нь тусгай дэд бүтэц шаарддаг бөгөөд хөтөлбөрийг хэд хэдэн зэрэгцүүлэн гүйцэтгэх ёстой.
SAST vs DAST
Аппликешны аюулгүй байдлын тест нь статик хэрэглээний аюулгүй байдлын тест (SAST) болон динамик хэрэглээний аюулгүй байдлын тест (DAST) гэсэн хоёр төрлөөр ирдэг.
Тэд аппликешнүүдийн алдаа дутагдал, асуудал байгаа эсэхийг шалгах замаар аюулгүй байдлын аюул, кибер халдлагаас хамгаалахад тусалдаг. SAST болон DAST нь халдлага болохоос өмнө аюулгүй байдлын дутагдлыг таньж, арилгахад туслах зорилготой юм.
Одоо энэ аюулгүй байдлын туршилтын дайны SAST болон DAST хоорондын гол ялгааг харьцуулж үзье.
- Цагаан хайрцагны хэрэглээний аюулгүй байдлын тестийг SAST-аас авах боломжтой. Гэхдээ DAST нь програмын аюулгүй байдлын Black-box тестийг мөн адил хангадаг.
- SAST нь хөгжүүлэгчдэд туршилтын стратеги өгдөг. Энд шалгагч програмын хүрээ, дизайн, хэрэгжилтийг мэддэг. Харин DAST нь хакерын аргыг өгдөг. Энэ тохиолдолд шалгагч нь програмын хүрээ, дизайн, хэрэгжилтийн талаар мэдэхгүй байна.
- SAST-д туршилтыг дотроос нь (хэрэглээний) гадна талаас нь хийдэг, харин DAST-д гаднаас нь туршилт хийдэг.
- SAST нь програмыг боловсруулахад эрт хийгддэг. Гэсэн хэдий ч DAST нь програм хөгжүүлэх амьдралын мөчлөгийн төгсгөлийн ойролцоо идэвхтэй програм дээр хийгддэг.
- SAST нь статик код дээр хэрэгждэг тул суулгасан програмуудыг шаарддаггүй. Энэ нь програмын статик кодыг сул байгаа эсэхийг шалгадаг тул үүнийг "статик" гэж нэрлэдэг. Идэвхтэй аппликешнд DAST ашигладаг. Энэ нь програмын динамик кодыг ажиллаж байх үед алдаа дутагдлыг шалгадаг тул үүнийг "динамик" гэж нэрлэдэг.
- SAST нь програмын кодыг тогтмол хянахад хөгжүүлэгчдэд туслахын тулд CI/CD дамжуулах хоолойд амархан холбогддог. Аппликешныг туршилтын сервер эсвэл хөгжүүлэгчийн компьютер дээр байрлуулж, ажиллуулсны дараа DAST нь CI/CD дамжуулах хоолойд багтсан болно.
- SAST хэрэгслүүд нь эмзэг байдал болон тэдгээрийн байршлыг тодорхойлохын тулд кодыг бүрэн сканнердаж, цэвэрлэх ажлыг хялбаршуулдаг. DAST хэрэгслүүд нь ажиллах үед ажилладаг тул эмзэг байдлын нарийн байршлыг өгөхгүй байж магадгүй юм.
- Асуудлыг SAST үйл явцын эхэн үед илрүүлсэн тохиолдолд тэдгээрийг арилгахад хялбар бөгөөд зардал багатай байдаг. DAST-ийн хэрэгжилт нь хөгжлийн амьдралын мөчлөгийн төгсгөлд явагддаг тул тэр хүртэл асуудал олж чадахгүй. Энэ нь мөн нарийн координат өгч чадахгүй байв.
SAST хэзээ хэрэглэх вэ?
Танд код бичихийн тулд цул орчинд ажилладаг хөгжүүлэлтийн баг байна гэж бодъё. Шинэчлэлт үүсгэсэн даруйд таны хөгжүүлэгчид өөрчлөлтийг эх код руу оруулна.
Дараа нь уг программыг угсарч, долоо хоног бүрийн тодорхой хугацаанд үйлдвэрлэлийн шатанд дэвшдэг. Энд нэг их эмзэг байдал гарахгүй, гэхдээ маш удаан хугацааны дараа тохиолдвол та үүнийг үнэлж, засах боломжтой..
Хэрэв тийм бол та SAST ашиглах талаар бодож болно.
DAST хэзээ хэрэглэх вэ?
Танай ГТХБ үр бүтээлтэй байна гэж бодъё Автоматжуулалт бүхий DevOps орчин. Та ашиглаж болно үүл тооцоолох AWS болон контейнер зэрэг үйлчилгээ.
Үүний үр дүнд таны хөгжүүлэгчид DevOps хэрэгслийг ашиглан өөрчлөлтүүдийг хурдан үүсгэж, кодыг автоматаар эмхэтгэж, контейнеруудыг хурдан үүсгэх боломжтой. Тасралтгүй CI/CD-ийн тусламжтайгаар та ийм байдлаар байршуулалтыг хурдасгах боломжтой. Гэхдээ энэ нь халдлагын гадаргууг өргөжүүлэх боломжтой.
Үүний тулд DAST хэрэгслээр програмыг бүхэлд нь сканнердах нь асуудлыг тодорхойлоход маш сайн сонголт байж болох юм.
SAST болон DAST хамтран ажиллаж чадах уу?
Тийм ээ, эргэлзээгүй. Үнэн хэрэгтээ тэдгээрийг нэгтгэснээр таны хэрэглээний аюулгүй байдлын эрсдлийг гаднаас нь гаднаас нь бүрэн ойлгох боломжтой болно.
Аюулгүй байдлын үр ашигтай, ашигтай туршилт, дүн шинжилгээ, тайлагналд суурилсан синбиотик DevOps эсвэл DevSecOps арга барилыг мөн хийх боломжтой болно. Нэмж дурдахад, энэ нь халдлагын гадаргуу болон эмзэг байдлыг бууруулж, кибер халдлагын талаарх санаа зовнилыг арилгах болно.
Үүний үр дүнд та маш аюулгүй, найдвартай SDLC бүтээж чадна. Статик програмын аюулгүй байдлын тест (SAST) нь таны эх кодыг тайван байх үед нь шалгадаг бөгөөд энэ нь шалтгаан болдог.
Нэмж дурдахад, баталгаажуулалт, зөвшөөрөл гэх мэт ажиллах хугацаа эсвэл тохиргооны асуудал нь түүнд тохиромжгүй тул бүх эмзэг байдлыг бүрэн арилгахгүй байж магадгүй юм.
Хөгжлийн багууд одоо SAST-ийг DAST гэх мэт өөр өөр туршилтын стратеги, хэрэглүүртэй хослуулах боломжтой болсон. Энэ үед DAST ажиллаж, бусад эмзэг байдлыг олж засварлах боломжтой.
Дүгнэлт
Эцэст нь, SAST болон DAST хоёулаа давуу болон сул талуудтай. Заримдаа SAST нь DAST-аас илүү ашигтай байдаг ба заримдаа эсрэгээрээ байдаг.
Хэдийгээр SAST нь алдаа дутагдлыг эрт илрүүлэх, засах, довтолгооны гадаргууг багасгах, нэмэлт давуу тал олгоход тусалдаг ч кибер довтолгоонууд улам боловсронгуй болж байгаа тул зөвхөн нэг аюулгүй байдлын туршилтын арга барил хангалтгүй болж байна.
Тиймээс, энэ хоёрын аль нэгийг сонгохдоо өөрийн хэрэгцээг бодож, сонголтоо зөв хий. Гэсэн хэдий ч SAST болон DAST-ийг нэгэн зэрэг ашиглах нь зүйтэй.
Энэ нь таныг эдгээр аюулгүй байдлын туршилтын аргуудаас ашиг тус хүртэж, програмынхаа ерөнхий аюулгүй байдалд хувь нэмэр оруулах болно.
хариу үлдээх