Күүки болон сессийн халдлага нь зөвшөөрөлгүй нэвтрэх, мэдээлэл хулгайлах болон бусад хортой үйл ажиллагаанд хүргэж болзошгүй вэб програмын аюулгүй байдлын нэг төрлийн сул тал юм. Эдгээр халдлага хэрхэн ажилладагийг ойлгохын тулд күүки, сесс болон вэб програмын аюулгүй байдалд гүйцэтгэх үүргийн талаар тодорхой ойлголттой байх нь чухал юм.
Күүки нь вэб хөтчөөр үйлчлүүлэгчийн тал (өөрөөр хэлбэл хэрэглэгчийн төхөөрөмж) дээр хадгалагддаг жижиг өгөгдлийн хэсгүүд юм. Эдгээр нь хэрэглэгчийн вэбсайттай харилцах харилцааны талаарх мэдээллийг хадгалахад ашиглагддаг, тухайлбал нэвтрэх үнэмлэх, сонголт, сагсанд зориулсан зүйлс. Үйлчлүүлэгчийн хүсэлт болгон сервер рүү күүки илгээгддэг бөгөөд энэ нь серверт төлөв байдлыг хадгалах, хувийн туршлагаар хангах боломжийг олгодог.
Нөгөө талаас сессүүд нь хайлтын сессийн үед хэрэглэгчийн харилцан үйлдлийг хянахад ашигладаг сервер талын механизм юм. Хэрэглэгч вэб програм руу нэвтрэх үед өвөрмөц сесс ID үүсгэгдэж, тухайн хэрэглэгчтэй холбогддог. Энэ сесс ID нь ихэвчлэн клиент тал дээр күүки хэлбэрээр хадгалагддаг. Сервер нь энэ сесс ID-г ашиглан хэрэглэгчийг таньж, хэрэглэгчийн сонголт, баталгаажуулалтын төлөв гэх мэт сессийн тусгай өгөгдлийг авдаг.
Одоо күүки болон сессийн халдлагыг хэрхэн гүйцэтгэх талаар авч үзье. Халдагчид күүки болон сессийн сул талыг ашиглах хэд хэдэн арга техник байдаг:
1. Session Hijacking: Энэ халдлагад халдагчид хууль ёсны хэрэглэгчийн сесс ID-г таслан авч, тухайн хэрэглэгчийн дүрийг бүтээхэд ашигладаг. Үүнийг сүлжээний траффикийг үнэрлэх, сессийн күүки хулгайлах эсвэл сеанс засах эмзэг байдлыг ашиглах гэх мэт янз бүрийн аргаар хийж болно. Халдагчид сесс ID-тай болмогц тэд үүнийг хэрэглэгчийн бүртгэлд зөвшөөрөлгүй нэвтрэх, тэдний өмнөөс үйлдэл хийх, нууц мэдээлэлд хандах зэрэгт ашиглаж болно.
Жишээ: Халдагчид Wireshark гэх мэт хэрэгслээр хэрэглэгчийн сүлжээний траффикийг чагнаж байна. Аюулгүй холболтоор илгээсэн сесс күүки-г авснаар халдагчид тухайн хэрэглэгчийн дүрд хувирч, тэдний бүртгэлд зөвшөөрөлгүй нэвтрэх эрх авах боломжтой.
2. Session Sidejacking: Сеанс хулгайлахтай адил сессийн Sidejacking нь сесс ID-г таслан зогсоох явдал юм. Гэсэн хэдий ч, энэ тохиолдолд халдагч сүлжээг бус харин үйлчлүүлэгч тал руу чиглүүлдэг. Энэ нь үйлчлүүлэгчийн хөтчийн сул талыг ашиглах эсвэл хортой хөтөч өргөтгөлүүдийг ашиглах замаар хүрч болно. Сеанс ID-г авсны дараа халдагчид үүнийг ашиглан хэрэглэгчийн сессийг хулгайлж, хортой үйлдэл хийх боломжтой.
Жишээ: Халдагчид эмзэг вэбсайтаар дамжуулан хортой скрипт оруулах замаар хэрэглэгчийн хөтөчийг эвддэг. Энэ скрипт нь сесс күүкиг авч халдагчийн сервер рүү илгээдэг. Сеанс ID-г гартаа атгаснаар халдагчид хэрэглэгчийн сессийг хулгайлж, зөвшөөрөлгүй үйл ажиллагаа явуулах боломжтой.
3. Session Fixation: Session fixation халдлагын үед халдагчид халдагчийн урьдчилан тодорхойлсон сесс ID-г ашиглан хэрэглэгчийг хуурдаг. Үүнийг хортой холбоос илгээх эсвэл вэб програмын сеанс удирдах процессын сул талыг ашиглах замаар хийж болно. Хэрэглэгч өөрчилсөн сесс ID-аар нэвтэрсний дараа халдагчид хэрэглэгчийн бүртгэл рүү зөвшөөрөлгүй нэвтрэхийн тулд үүнийг ашиглаж болно.
Жишээ: Халдагчид хууль ёсны вэб сайтын холбоосыг агуулсан фишинг имэйлийг хэрэглэгч рүү илгээдэг. Гэсэн хэдий ч, холбоос нь халдагчийн аль хэдийн тохируулсан сессийн ID-г агуулдаг. Хэрэглэгч холбоос дээр дарж нэвтэрч ороход халдагчид хэрэглэгчийн бүртгэл рүү нэвтрэхийн тулд урьдчилан тодорхойлсон сессийн ID-г ашиглаж болно.
Күүки болон сессийн халдлагыг багасгахын тулд вэб програм хөгжүүлэгчид болон админууд дараах аюулгүй байдлын арга хэмжээг хэрэгжүүлэх ёстой.
1. Аюулгүй холболтыг ашиглах: Сеансын күүки зэрэг бүх эмзэг мэдээллийг HTTPS ашиглан аюулгүй сувгуудаар дамжуулж байгаа эсэхийг шалгаарай. Энэ нь сессийг хулгайлах болон хажуугийн халдлагаас урьдчилан сэргийлэхэд тусалдаг.
2. Аюулгүй сессийн удирдлагыг хэрэгжүүлэх: Таамаглал эсвэл бүдүүлэг хүчний дайралтанд тэсвэртэй хүчтэй сесс ID-г ашиглана уу. Нэмж дурдахад халдагчид гарах боломжийг багасгахын тулд сеансын ID-г тогтмол эргүүлээрэй.
3. Сеансын күүкиг хамгаалах: Сеансын күүки дээр "Secure" болон "HttpOnly" гэсэн тугийг тохируулна уу. "Аюулгүй" туг нь күүкийг зөвхөн аюулгүй холболтоор дамжуулахыг баталгаажуулдаг бол "HttpOnly" туг нь клиент талын скриптүүдийг күүкид хандахаас сэргийлж, сайт хоорондын скрипт (XSS) халдлагаас сэргийлдэг.
4. Ажиллуулах сесс дуусах болон сул зогсолт: Тодорхой хугацааны идэвхгүй байдлын дараа хэрэглэгчдийг автоматаар гаргахын тулд сесс дуусах хугацаа болон сул зогсолтын хугацааг тохируулна уу. Энэ нь сесс хулгайлах, засах халдлагын эрсдлийг бууруулахад тусалдаг.
5. Хэлэлцүүлгийг тогтмол шалгаж, хянах: Олон удаа зэрэгцсэн сесс эсвэл ердийн бус байршлаас сесс хийх зэрэг хэвийн бус сессийн үйлдлийг илрүүлэх, урьдчилан сэргийлэх механизмыг хэрэгжүүлэх. Энэ нь сесстэй холбоотой халдлагуудыг тодорхойлж, багасгахад тусална.
Күүки болон сессийн халдлага нь вэб програмын аюулгүй байдалд ихээхэн аюул учруулдаг. Эмзэг байдлыг ойлгож, аюулгүй байдлын зохих арга хэмжээг хэрэгжүүлснээр хөгжүүлэгчид болон админууд хэрэглэгчийн сессийг хамгаалж, хэрэглэгчийн мэдээллийн бүрэн бүтэн байдал, нууцлалыг баталгаажуулж чадна.
Сүүлийн үеийн бусад асуулт, хариулт Күүки ба сесс халдлага:
- Зөвшөөрөлгүй хандалт авахын тулд дэд домайнуудыг сесс халдлагад хэрхэн ашиглах вэ?
- Сеансын халдлагаас хамгаалахад күүкид зориулсан "Зөвхөн HTTP" туг ямар ач холбогдолтой вэ?
- Зургийн эх сурвалжид суулгасан HTTP GET хүсэлтийг ашиглан халдагчид хэрхэн хэрэглэгчийн күүкиг хулгайлж чадах вэ?
- Сеанс хулгайлах халдлагыг багасгахын тулд күүкигийн "аюулгүй" тугийг тохируулахын зорилго юу вэ?
- Сеанс хулгайлах халдлагад халдагч хэрэглэгчийн күүкиг хэрхэн таслан зогсоох вэ?
- Хөгжүүлэгчид вэб програмын аюулгүй, өвөрмөц сессийн ID-г хэрхэн үүсгэх вэ?
- Күүки дээр гарын үсэг зурах зорилго нь юу вэ, энэ нь мөлжлөгөөс хэрхэн сэргийлэх вэ?
- TLS нь вэб программ дахь сессийн халдлагыг багасгахад хэрхэн тусалдаг вэ?
- Күүки болон сессийн халдлагаас хамгаалах нийтлэг аюулгүй байдлын арга хэмжээ юу вэ?
- Хэрэглэгч гарсны дараа зөвшөөрөлгүй нэвтрэхээс сэргийлэхийн тулд сессийн өгөгдлийг хэрхэн хүчингүй болгох эсвэл устгах вэ?
Күүки болон сессийн халдлагаас илүү олон асуулт, хариултыг харна уу