2008-07-31

DNS-ийн алдаа ба сэтгэл зовинол

Энэ бүхэн хагас жилийн өмнө Dan Kaminsky гэх аюулгүй байдлын мэргэжилтэн санамсаргүй байдлаар DNS сервер дээр cache poisoning төрлийн халдлагыг хялбар бөгөөд үр дүнтэй хийх арга олсон тэр цагаас эхэлсэн. Мань нөхөр эхлээд өөртөө төдийлөн итгээгүй бас ийм амархан байна гэж санаагүй юм шиг байгаам. Үүнийхээ дараагаар хэдэн аюулгүй байдлыг мэргэжилтнүүдтэй зөвлөлдөж, жинхэнэ халдлага хийж болох эсэхийг шалгасныхаа дараагаар энэхүү цоорхой нь ямар их хор хохирол авчирч болохыг олгоод DNS серверийн програм хийдэг томоохон компаниудтай уулзалт зохион байгуулсан. Дүнд нь алдааны талаар олонд зарлагдаагүй байхад тэдгээр компаниуд сар гаруйн өмнө програм хангамжиндаа засвар оруулж, түгээх сүлжээгээрээ тараасан. Томоохон програм хангамжийн компаниудын засварыг хийснийхаа дараахан тэрээр хэвлэлийн бага хурал хийлгэж ноцтой алдаа илрүүлсэн, засагдсан болохыг зарласан. Мөн Black Hat дээр цоорхойн талаар дэлгэрэнгүй мэдээллийг задлахаа ч нуусангүй. Харин бусад аюулгүй байдлыг мэргэжилтнүүд энэхүү алдаа чухам юу байв, хэрхэн хадлага үйлдэх гэх мэт техникийн асуудлуудаас гадна цоорхойны талаар мэдээллийг ийнхүү нуух нь зүйд хэр нийцэх гээд ёс зүйн асуудлуудыг хүртэл хөндөөд амжив. Зарим хүмүүс ийнхүү нууцлаж байгаад програм хангамжийн компаниудаас засуулсны дараа задлах нь зөв, ингэснээр их хэмжээний хор хохирол учрахгүй гэж үзэж байхад ингэж нуух нь хүмүүсийг төөрөгдөл, хүлээлтэнд оруулж энэ хойгуур нь атгаг санаатнууд энэхүү цоорхойг аль хэдийнээ мэдээд ашиглах боломжтой гэж зарим хэсэг нь үзэж байх юм. Аль алинд нь сайн болоод сул тал бий. Аюулгүй байдлыг мэргэжилтнүүд цоорхойн талаар илүү ихийг мэдэхээр эрэлхийлж байх хойгуур нэгэн reverse engineering-ийн мэргэжилтэн хийгдсэн засварыг задалж, тайлж уншсанаар энэхүү оньсого мэт цоорхойн талаар дэлгэрэнгүй мэдээлэл олон нийтэд цацагдав. Ингээд Dan Kaminsky үнэнээ хүлээж, цоорхойн талаар мэдээллийг олон нийтэд цацав.

Энэ яг ямар алдаа байв? DNS буюу домэйн нь бид ойлгож, цээжлэхэд хялбар www.dulmandakh.com гэж интернэтийн хаягийг компьютерт ойлгогдох 202.131.4.20 гэсэн IP хаяг руу хөрвүүлдэг систем юм. Өөрөөр хэлбэл интернэт хэрэглэгчид өөрийн мэдэлгүй алхам тутамдаа ашиглаж байдаг юм. Харин эдгээр домэйн нэр нь маш олон домэйн серверт тархан байрласан байдаг ба асуусан домэйн нь аль нэг серверт байхгүй бол бусад серверүүдээсээ хайн олоод тухайн хариултыг тодорхой хугацаагаар өөрт хадгалж байдаг. Өөрөөр хэлбэл бид компьютер дээрээ домэйн серверээ 202.131.0.10 гэж тохируулсан байсан бол энэхүү сервер маань надад хэрэгтэй мэдээллийг олох хүртлээ хайж олоод, дараа ахин хайхгүйн тулд тодорхой хугацаанд өөр дээрээ хадгалдаг буюу cache хийдэг. Харин dns cache poisoning халдлагыг гол зорилго нь тэрхүү сервер дээр түр хадгалагдсан байгаа мэдээллийг өөрчлөх, хордуулах замаар www.dulmandakh.com руу орох гэсэн хүнийг шал өөр сервер, вэб руу оруулахад оршино. Өөрөөр хэлбэл та өөрийн банкны вэб рүү нэвтрээд нууц үгээ хийж байна гэж бодож байхад үнэн хэрэгтээ шал өөр "хорт санаатны" вэб рүү орчихсон өөрийн санхүүгийн мэдээллээ алдаж байх аюултай юм. Сүүлд илэрсэн алдаа нь энэхүү ажиллагааг маш хялбархан, бас илүү үр дүнтэй хийх боломжийг олгож байснаас гадна зөвхөн аль нэг компаний програм хангамжийн бүтээгдэхүүнд бус маш олон програм хангамжийн бүтээгдэхүүнд илэрсэн нь томоохон аюул дагуулж байсан юм. Бидний мэдэх ISC Bind, Microsoft DNS, Cisco гээд бүгд л алдаатай, засвар хийсэн. Өөрөөр хэлбэл интернэтийн бараг бүх хэрэглэгчдэд аюул учирч байгаа юм. Бараг гэж хэлдэг нь djb dns, powerdns гэх програм хангамжууд өртөөгүй.

DNS cache poisoning гэдэг алдаа цоо шинэ эд биш. Энэ талаар өмнө нь хүмүүс ярьдаг, бичдэг, ижил төрлийн алдааг илрүүлж, засч л байсан. Гэхдээ энэ төрлийн алдаанаас хэрхэн сэргийлж болох талаар бидний сайн мэдэх qmail програмын зохиогч D. J. Bernstein олж нээгээд өөрийн djbdns програмд хэрэгжүүлсэ байдаг. Харин энэхүү djbdns нь сүүлд илэрсэн цоорхойд өртөөгүй. Үүнээс үүдэн олон асуулт, асуудлууд урган гарсан. Бид алдааг илэрхлээр нь тухай бүрт нь засч байх уу? Эсвэл дизайны алдааг илрүүлж, үүнээс болж гарсан болон цаашид гарах цоорхойнуудаас сэргийлж байх уу? Хэрэв Bernstein-ы зөвлөлгөөг дагасан бол өнөөдөр ийм хүнд нөхцөл үүсэхгүй л байсан байх.

Хамгийн сонирхолтой нь энэхүү алдааны талаар цуурхал бас засвар нь гараад сар гаран болсон, ямар их аюул дагуулж болох талаар бүгд мэдээд долоо хоног гаран болсон. Энэ хугацаанд бүр Metaspoit дээрх exploit буюу халдлага үйлдэх програм нь гарчихаад байхад монголын ихэнх интернэтийн үйлчилгээ үзүүлдэг компаниуд програмаа шинэчлээгүй байгаа нь гайхалтай. Өөрөөр хэлбэл та үнэхээр өөрийн үзэх гэсэн вэбээ үзэж байгаа юу гэдэг сонин асуулт урган гарч байна. Энэ мэт олныг хамарсан алдааг илүү богино хугацаанд засварлах, аюулыг эдгээр хариуцлагатай хүмүүст таниулах ажлыг хэрхэн зохион байгуулбал зүгээр вэ? Ямар арга хэмжээ авбал зохих вэ? Энэ асуултын хариуг хамтдаа хайцгаая. Сэтгэгдэл үлдээгээрэй.

No comments: