Өнөөгийн дижитал эрин үед аппликейшнууд нь бизнесийг хөдөлгөж, тэднийг шинэлэг болгож, дэлхий даяар харилцаа холбоог хөнгөвчилж байна. Ухаалаг гар утасны банкны аппликейшнуудаас эхлээд бизнесийн програм хангамж хүртэл аппликейшнууд нь хувийн болон мэргэжлийн амьдралд улам бүр гол үүрэг гүйцэтгэж байна. Энэхүү өргөн хүрээний найдвартай хамгаалалтын програмуудтай холбоотойгоор гол асуудал нь програмын аюулгүй байдал буюу AppSec юм. AppSec нь мэдээлэл хулгайлах, үйл ажиллагааг нь зогсоох эсвэл нэр хүндийг нь сүйтгэх зорилгоор эмзэг байдлыг ашиглах зорилготой аюул заналхийллээс програмуудыг хамгаалах арга юм. Програмууд улам бүр боловсронгуй болохын хэрээр сул аюулгүй байдлын үнэ огцом өсч, улмаар AppSec нь өнөөдөр програм хангамжийн хөгжлийн үндэс суурь болсон.
Аппликейшний аюулгүй байдлыг ойлгох
Програм хангамжийн аюулгүй байдал гэдэг нь програм хангамжийн эмзэг байдлаас зайлсхийх, илрүүлэх, эмчлэхэд ашигладаг практик, техник, процесс юм. Эмзэг байдал нь код бичих алдаа, тохиргооны асуудал, муу туршилт, эсвэл гуравдагч талын номын сан ашиглах зэрэг олон шалтгаанаас үүдэлтэй байдаг.
Халдагчийн зөрчлийг SQL тарилга, сайт хоорондын скрипт (XSS), буферийн халилт, эмзэг API төгсгөлийн цэгүүд зэрэг практикуудаар дамжуулан ийм эмзэг байдалд гүйцэтгэдэг.
Товчхондоо, програм хангамжийн аюулгүй байдал гэдэг нь бохир халдлагад өртсөн ч гэсэн програм хангамжийг хүлээгдэж буй шиг ажиллуулах, нууц мэдээллийг нэг дор нууцалж, зөвхөн итгэмжлэгдсэн этгээдэд л нээлттэй байлгах тухай юм.
Аппликейшний аюулгүй байдал яагаад чухал вэ
Муу AppSec-ийн үр дагавар нь гамшигт үзэгдэл юм. Одоогийн судалгаагаар өгөгдлийн алдагдлын өртөг дунджаар 4 сая гаруй ам.доллар бөгөөд өгөгдлийн алдагдлын ихэнх нь програмын эмзэг байдлаас үүдэлтэй болохыг харуулж байна. Мөнгөний алдагдалаас гадна аюулгүй байдлын зөрчил нь хэрэглэгчийн итгэлийг бууруулж, зохицуулагчдын анхаарлыг татаж, байгууллагын нэр хүндийг сүйтгэж болзошгүй юм.
2017 оны Equifax-ийн алдагдлыг авч үзье. 147 сая гаруй хүний маш нууц мэдээлэл ил болсон. Энэ явдлыг засварлаагүй вэб програмын хүрээний эмзэг байдалтай холбон тайлбарласан бөгөөд энэ нь ганцхан үл тоомсорлогдсон эмзэг байдал хэрхэн сүйрлийн үр дагаварт хүргэж болохыг харуулж байна. AppSec-ийг үл тоомсорлодог компаниуд зөвхөн хөрөнгөө төдийгүй урт хугацааны нэр хүнд, зах зээлийн байр сууриа алдах болно.
AppSec-ийн гол зарчмууд
Аюулгүй програмуудыг хөгжүүлэхийн тулд AppSec-ийн үндсэн зарчмуудыг баримтлах хэрэгтэй. Эдгээр нь хөгжүүлэгчид, аюулгүй байдлын мэргэжилтнүүд болон байгууллагуудад програм хангамжийн хөгжлийн амьдралын мөчлөгийг ашиглан аюулгүй байдлыг нэгтгэхэд тусалдаг.SDLC).
Дизайнаар аюулгүй байдал
Аюулгүй байдлыг програм хөгжүүлэлтийн эхний үе шатанд оруулах шаардлагатай бөгөөд дараа нь бодож үзэх зүйл биш юм. Хамгийн бага эрх, гүнзгий хамгаалалт, алдаанаас хамгаалах анхдагч тохиргоо зэрэг аюулгүй дизайны зарчмуудыг оруулсан нь програмуудыг ихэнх түгээмэл халдлагаас хамгаалах болно. Жишээлбэл, хэрэглэгчийн эрхийг хамгийн бага хэмжээнд хязгаарлах нь эрх нэмэгдэх мөлжлөгийн аюулыг бууруулдаг.
Тасралтгүй эрсдэлийн үнэлгээ
Эмзэг байдал нь програм хангамжийн шинэчлэлтүүдтэй хамт хөгждөг. Эрсдэлийн үнэлгээг тасралтгүй хийснээр болзошгүй аюул заналхийлэл, нөхөн сэргээх шаардлагатай зорилтуудыг илрүүлэх боломжтой болдог. Аюул заналын загварчлал нь болзошгүй халдлагын хувилбаруудыг чухал хөрөнгөөс дээгүүр тавьдаг сайн туршлага бөгөөд багуудад эмзэг байдлаасаа өөрсдийгөө хамгаалах боломжийг олгодог.
Аюулгүй кодчилол
Хөгжүүлэгчид AppSec-ийн гол анхаарлын төвд байдаг. Оролтын баталгаажуулалт, алдааг сайн зохицуулах, хатуу кодчиллын нууцаас зайлсхийх зэрэг аюулгүй кодчилолын аргууд нь халдлагын гадаргууг мэдэгдэхүйц бууруулж чадна. Зарим байгууллагууд кодчилолын багийг аюулгүй байдлыг нэн тэргүүнд тавьдаг болгох сургалтын хөтөлбөрүүдийг санал болгодог.
Эмзэг байдлын менежмент
Автоматжуулсан хэрэгслүүд болон динамик засварын менежментийн тусламжтайгаар эмзэг байдлыг хоёр долоо хоног тутамд сканнердах нь зайлшгүй шаардлагатай. Орчин үеийн програмуудад улам бүр ашиглагдаж буй нээлттэй эхийн бүрэлдэхүүн хэсгүүдийг мэдэгдэж буй эмзэг байдлыг тогтмол шалгаж байх хэрэгтэй. Байгууллагууд Програм хангамжийн Бүтцийн Шинжилгээ (Programmware Composition Analysis) зэрэг хэрэгслүүдийг нэвтрүүлж байна.SCA) ингэснээр тэд гуравдагч этгээдийн хамаарлын талаар мэдэж болно.
Туршилт ба баталгаажуулалт
Аюулгүй байдлын тест нь янз бүрийн нөхцөл байдалд програмуудын зөв эсэхийг баталгаажуулдаг. Үүнд статик програмын аюулгүй байдлын тест () орно.SAST), динамик програмын аюулгүй байдлын туршилт (DAST), нэвтрэлтийн туршилт, болон ажиллах үеийн програмын өөрийгөө хамгаалах (RASP). Эдгээр бүх аргууд нь үйлдвэрлэлд ашиглагдаж болох далд эмзэг байдлыг илрүүлэхэд тусалдаг.
Аппликейшний аюулгүй байдлын нийтлэг аюул занал
AppSec-ийн зохих арга хэмжээг авахын тулд нийтлэг аюул заналхийллийг мэдэх шаардлагатай. Доор хамгийн олон аюул заналхийллийн заримыг нь дурдлаа. standard Довтолгооны векторууд:
SQL тарилга
SQL тарилга нь програмын мэдээллийн сангийн асуулгад хортой оролт оруулж, тэдгээрийг өөрчлөх үед тохиолддог. Энэ нь өгөгдлийг зөвшөөрөлгүй унших, өөрчлөх эсвэл устгахад хүргэдэг. Параметржүүлсэн асуулга, бэлтгэсэн мэдэгдэл болон зохих оролтын баталгаажуулалтыг ашиглан үүнээс зайлсхийдэг.
Хөндлөн сайтын скрипт (XSS)
XSS халдлага нь хэрэглэгчийн оролтыг зохих ёсоор ариутгаагүй вэб програмын эмзэг байдал дээр хийгддэг бөгөөд энэ нь халдагчид хортой скрипт оруулах боломжийг олгодог. Хортой скриптүүд нь хэрэглэгчийн сессийг хулгайлах, хэрэглэгчдийг буруу сайтууд руу чиглүүлэх эсвэл нууц мэдээллийг хулгайлах боломжтой. Урьдчилан сэргийлэх арга хэмжээнд контекстэд мэдрэмтгий гаралтын кодчилол болон Контент аюулгүй байдлын бодлогыг (CSP) хэрэгжүүлэх зэрэг орно.
Сайт хоорондын хүсэлтийг хуурамчаар үйлдэх (CSRF)
CSRF халдлага нь хэрэглэгчдийг аль хэдийн баталгаажсан вэб програм дээр хүсээгүй зүйл хийхийг хуурдаг. Бат бөх хариу арга хэмжээ бол CSRF-ийн эсрэг токен ашиглах, хэрэглэгчийн сессийг баталгаажуулах, аюулгүй күүки ашиглах явдал юм.
Аюултай API-ууд
Аппликейшнүүд функциональ байдал болон интеграцийн хувьд API-уудаас илүү хамааралтай болж байгаа тул аюулгүй бус API төгсгөлийн цэгүүд халдагчдын сонирхлыг татахуйц бай болж байна.
Буфер халих халдлага
Буферийн халилт халдлага гэдэг нь програм нь буферийн хэмжээнээс том буфер руу өгөгдөл бичиж, ойролцоох бусад санах ойг дарж бичих явдал юм. Үүнийг халдагчид өөрсдийн сонгосон кодыг ажиллуулах, програмуудыг эвдрүүлэх эсвэл өндөр эрх авахад ашиглаж болно. Энэ нь аюулгүй санах ойн хэл ашиглах, хил хязгаарыг шалгах, стек канаруудын дүрээр хөрвүүлэгчийн хамгаалалтаас хамгаалагдсан байдаг.
Аюултай баталгаажуулалт ба эрхжүүлэлт
Нууц үгийн бодлого сул эсвэл олон хүчин зүйлийн баталгаажуулалт сул зэрэг сул баталгаажуулалтын механизмууд эмзэг хэвээр үлдэж болзошгүй. Эвдэрсэн зөвшөөрлийн шалгалт нь хэрэглэгчдэд хийх ёсгүй зүйлсээ хийх эсвэл хандах боломжийг олгодог. Нууц үгийн хүчтэй зан төлөв, MFA, дүрд суурилсан хандалтын хяналт (RBAC) болон тогтмол аудит шаардлагатай.
Гуравдагч талын бүрэлдэхүүн хэсгийн эрсдэлүүд
Орчин үеийн програмууд нь гуравдагч талын номын сан болон фрэймворкуудаас ихээхэн хамааралтай байдаг. Ашиглахад хялбар боловч эдгээр хэсгүүд нь далд сул талуудтай байж болох бөгөөд хуучирсан эсвэл хамаарлууд нь халдагчдын халдлагад өртдөг. Одоогийн бараа материалын менежмент, CVE сканнердах, програм хангамжийн материалын жагсаалт (SBOM) шилдэг туршлагууд нь ийм халдлагаас зайлсхийж чадна.
Аппликейшнүүдийн аюулгүй байдлыг хангах дэвшилтэт аппликейшн дадлага
Нарийн төвөгтэй халдлагуудтай тэмцэхийн тулд байгууллагууд одоо дэвшилтэт програмын аюулгүй байдлын туршлагыг улам бүр ашиглаж байна.
Аюул заналхийллийн загварчлал ба аюулгүй байдлын архитектурын тоймууд
Аюул заналын загварчлал нь халдлагын вектор болон эмзэг байдлыг автоматаар тодорхойлдог. Архитектурын тоймтой хослуулсан тохиолдолд багууд цөөн тооны ашиглагдах боломжтой эмзэг байдалтай програмуудыг бүтээж чадна. Microsoft-ын STRIDE загвар эсвэл OWASP Threat Dragon-г мөн адил ашиглаж болно.
Зүүн тийш шилжих аюулгүй байдал
AppSec-ийн хувьд "зүүн тийш шилжих" нь програм хангамжийн хөгжлийн мөчлөгийн эхэн үед аюулгүй байдлыг шилжүүлэх явдал юм. Хөгжүүлэгчдэд аюулгүй байдлын сургалт явуулж, нэгтгэхээс өмнө кодыг сканнердаж, CI/CD pipelineавтоматжуулсан аюулгүй байдлын туршилтыг багтаасан болно. Зүүн тийш шилжих нь нөхөн сэргээх хүчин чармайлт болон үйлдвэрлэлийн дараагийн үе шатны зардлыг бууруулдаг.
Ажиллах үеийн програмын өөрийгөө хамгаалах (RASP)
RASP хэрэгслүүд нь програмын зан төлөвийг бодит цаг хугацаанд хянаж, халдлага гарах үед нь илрүүлж, урьдчилан сэргийлдэг. RASP нь үүнтэй адилгүй standard програмын гадна тохиолддог периметрийн хамгаалалтууд бөгөөд SQL injection, XSS болон логик эмзэг байдал зэрэг халдлагаас шууд хамгаалалт өгдөг.
DevSecOps-той нэгтгэх
DevSecOps нь зөвхөн хөгжүүлэлт болон үйл ажиллагааны процесст аюулгүй байдлыг нэвтрүүлэх тухай юм. CI/CD pipelines нь дизайныхаа нэг хэсэг болгон автоматжуулсан туршилт, эмзэг байдлын сканнердах, нийцлийн сканнердах зэрэг орно. Энэ нь програм хангамжийг илүү хурдан, найдвартай хангахын тулд аюулгүй байдал, хөгжүүлэлт болон үйл ажиллагааны багуудын хоорондын уялдаа холбоог сайжруулахад хялбар болгодог.
Програмын аюулгүй байдлын хэрэгслүүд ба хүрээ
Байгууллагуудад AppSec-ийг хяналтандаа байлгахад туслах олон төрлийн хэрэгсэл, хүрээ байдаг.
Статик програмын аюулгүй байдлын тест (SAST) Хэрэгсэл
SAST арга хэрэгсэл програмыг ажиллуулахгүйгээр алдаа олохын тулд кодыг сканнердах. Checkmarx, Veracode, SonarQube нь эдгээрийн жишээ юм. Кодыг үйлдвэрлэлд байршуулахаас өмнө SQL injection, аюулгүй бус цуваажуулалт, хатуу кодлогдсон итгэмжлэл зэрэг алдаануудын талаар тэдэнд мэдэгдэнэ.
Динамик програмын аюулгүй байдлын тест (DAST) хэрэгслүүд
DAST хэрэгслүүд Амьд систем дэх эмзэг байдлыг олохын тулд хамгийн сүүлийн үеийн програмуудыг ажиллуулна. Халдлагыг дуурайж, баталгаажуулалт, сессийн удирдлага, оролтын баталгаажуулалтын сул талуудыг илрүүлэхэд тусалдаг хэрэгслүүдэд OWASP ZAP, Burp Suite, болон Acunetix орно.
Програм хангамжийн бүтцийн шинжилгээ (SCA)
SCA арга хэрэгсэл нээлттэй эхийн сангууд дахь мэдэгдэж буй эмзэг байдлыг илрүүлэх замаар гуравдагч талын хамаарлыг удирдахад тусалдаг. Snyk, WhiteSource, болон Black Duck нь тэдгээрийн зарим нь юм. SCA гадаадын номын сангууд таны програмуудад эрсдэл учруулахаас сэргийлдэг.
Интерактив хэрэглээний аюулгүй байдлын тест (IAST)
СҮҮЛИЙН гүүрнүүд SAST болон DAST нь програмуудыг шууд ажиллаж байгааг ажиглаж, эмзэг байдлыг бодит цагийн байдлаар илрүүлдэг. Энэ нь exploit хэрхэн хийгдэж болох, мөн ашиглагдаж буй кодын яг тодорхой мөрүүдийн талаар эх кодын түвшний ойлголтыг өгдөг бөгөөд ингэснээр залруулгыг хурдасгаж, илүү нарийвчлалтай болгодог.
Аюулгүй байдлын хүрээ ба удирдамж
Standardийнх шиг OWASP-ийн шилдэг арван, NIST SP 800-53болон ISO/IEC 27034 нь бат бөх AppSec програмуудыг бүтээх загварууд юм. Эдгээрт нийтлэг эмзэг байдал, санал болгож буй хяналтууд болон аюулгүй програм хангамж хөгжүүлэх шилдэг туршлагууд багтдаг.
AppSec-ийн шинэ чиг хандлага – Аппликейшнүүдийн аюулгүй байдал
Технологи байнга өөрчлөгдөж байдаг тул програмын аюулгүй байдлын асуудал, шийдлүүд ч мөн адил өөрчлөгдөж байдаг.
AppSec дэх хиймэл оюун ухаан ба машин сургалт
Хиймэл оюун ухааныг AppSec-д аюул заналхийллийн тагнуулын шинжилгээ, урьдчилан таамаглах эмзэг байдлыг сканнердах, аномалийг илрүүлэхэд өргөн ашигладаг. Хиймэл оюун ухаан нь хэрэглэгчийн ер бусын зан үйлийн хэв маяг эсвэл кодчиллын өөрчлөлтийг тодорхойлж чаддаг бөгөөд хэрэв хүмүүс өөрсдөө хийвэл аюулгүй байдлын болзошгүй эрсдэлийг гараар хийхээс илүү хурдан харуулж болно. Жишээлбэл, хүмүүсийн баг AppSec-ийн харааны тайлан болон үзүүлэнг дараах аргуудаар ашиглаж болно. Adobe Express хиймэл оюун ухаанаар танилцуулга үүсгэгч техникийн ойлголт болон гүйцэтгэх удирдлагын мэдлэгийг хөнгөвчлөхийн тулд AppSec-ийн мэдээллийг оролцогч талуудад утга учиртайгаар хүргэх.
Үүлэн төрөлхийн аюулгүй байдал
Үүлэн тооцоолол бий болсноор улам олон програмууд сервергүй болон контейнер орчинд байршуулагдаж байна. Үүлэн технологид суурилсан аюулгүй байдал гэдэг нь контейнер аюулгүй байдлын платформ, үйлчилгээний торны бодлого, үүлэн ажлын ачааллыг хамгаалах хэрэгслүүд зэрэг технологиор түр зуурын дэд бүтцэд ажлын ачааллыг хамгаалахыг хэлнэ.
Тэг итгэлцлийн аюулгүй байдлын загварууд
Zero Trust нь дотоод болон гадаад талд хэзээ ч итгэлцэл байж болохгүй гэж үздэг. Аппликейшнүүд бүх хандалтын цэгүүдэд бодит цаг хугацаанд хатуу баталгаажуулалт, зөвшөөрөл, шалгалтыг хэрэгжүүлэх ёстой. Zero-Trust загвар нь халдлагын гадаргууг багасгаж, зөрчлийг хязгаарласнаар AppSec-ийг баталгаажуулдаг.
API болон Микросервисийн Аюулгүй байдал
Микросервис болон API нь хөгжүүлэлтийг хурдасгадаг боловч аюулгүй байдлын шинэ эрсдэлүүдийг бий болгодог. API-г буруу ашиглах, үйлчилгээ тасалдахаас урьдчилан сэргийлэхийн тулд зохих баталгаажуулалт (OAuth, JWT), хурд хязгаарлах, оролтын баталгаажуулалт, бүртгэлийг ашиглах шаардлагатай. API гарцууд болон аюулгүй байдлын туршилтын багцууд нь эдгээр хэсгүүдийг хамгаалдаг.
Кейс судалгаа: Бодит ертөнцийн AppSec-ийн алдаанаас авсан сургамж
Өмнөх аюулгүй байдлын эмзэг байдлуудаас суралцах нь байнга гардаг алдааг олох, амжилттай хариу арга хэмжээ авахад ашигтай байдаг.
Тохиолдлын судалгаа 1: Эквифаксын зөрчил
Equifax-ийн халдлагаас өмнө 147 сая хүний хувийн мэдээллийг алдагдуулсан Apache Struts-ийн нөхөөс хийгдээгүй эмзэг байдал үүссэн. Гол дүгнэлтүүд нь ослын хариу арга хэмжээний төлөвлөлт, нөхөөсийг удирдах, эмзэг байдлыг сканнердах явдал юм.
Кейс судалгаа 2: Uber-ийн мэдээлэл алдагдсан нь
2016 онд Uber компани 57 сая хэрэглэгчийн бүртгэлийн халдлагад өртсөн. Халдагчид GitHub хувийн репозитороос итгэмжлэл авснаар үүнийг хийжээ. Энэ явдал нь итгэмжлэлийн аюулгүй менежмент, кодын репозиторыг аудит хийх, хамгийн бага давуу эрхтэй бодлогыг хэрэгжүүлэхийн ач холбогдлыг харуулж байна.
Тохиолдлын судалгаа 3: SolarWinds хангамжийн сүлжээний халдлага
SolarWinds халдлага нь програм хангамжийн шинэчлэлтэд суулгагдсан хортой код хэлбэрээр явагдсан бөгөөд мянга мянган байгууллагад нөлөөлсөн. Энэ нь хангамжийн сүлжээний аюулгүй байдал, кодын бүрэн бүтэн байдлыг шалгах, гуравдагч талын бүрэлдэхүүн хэсгийн хяналт чухал болохыг харуулж байна.
Дүгнэлт - Аппликейшнуудын аюулгүй байдлыг хангах нь гол түлхүүр юм
AppSec нь цаашид сонголт биш болсон. Энэ нь өнөөгийн ертөнцөд програм хангамж, програм хангамж хөгжүүлэлт, бизнесийн уян хатан байдлыг хангах салшгүй хэсэг юм. Аюулгүй дизайн, тасралтгүй эрсдэлийн үнэлгээ, зохих туршилт, шинэчлэгдсэн багаж хэрэгсэл, платформтой болсноор компаниуд эмзэг байдлыг бууруулж, хамгаалалтыг эрс сайжруулж чадна. Хиймэл оюун ухаан, үүлэн технологид суурилсан хөгжүүлэлт, тэг итгэлцлийн архитектур зэрэг шинэ технологиуд нь AppSec-ийг сайжруулах шинэ боломжийг бий болгохоос гадна тасралтгүй шийдвэрлэх шаардлагатай шинэ аюул заналхийллийг авчирч байна.
Эцэст нь үр дүнтэй AppSec нь нэг удаагийн үйл явдал биш, тасралтгүй үйл явц юм. Энэ нь хөгжүүлэлт, аюулгүй байдал, үйл ажиллагааны бүлгүүдийн хоорондын шилдэг туршлагууд болон аюулгүй байдлын соёлыг нэвтрүүлсэн олон талт хамтын ажиллагааг шаарддаг. Урьдчилан сэргийлэх, системчилсэн байдлаар ажилласнаар байгууллагууд зөвхөн сайн ажилладаг, шинэлэг төдийгүй улам бүр дайсагнасан онлайн экосистемд найдвартай, аюулгүй програмуудыг бий болгож чадна.





