Fuzzing ແມ່ນຫຍັງ?

ສິ່ງທີ່ເປັນ fuzzing

Intro: Fuzzing ແມ່ນຫຍັງ?

ໃນປີ 2014, ແຮກເກີຈີນ hacked ເຂົ້າໄປໃນລະບົບສຸຂະພາບຊຸມຊົນເຊິ່ງເປັນລະບົບຕ່ອງໂສ້ໂຮງໝໍຂອງສະຫະລັດເພື່ອຫວັງຜົນກຳໄລ, ແລະລັກເອົາຂໍ້ມູນຄົນເຈັບ 4.5 ລ້ານຄົນ. ແຮກເກີໄດ້ຂູດຮີດ bug ທີ່ເອີ້ນວ່າ Heartbleed ທີ່ຖືກຄົ້ນພົບຢູ່ໃນຫ້ອງສະຫມຸດ OpenSSL cryptography ບາງເດືອນກ່ອນການ hack.

Heartbleed ແມ່ນຕົວຢ່າງຂອງປະເພດຂອງການໂຈມຕີ vectors ທີ່ອະນຸຍາດໃຫ້ຜູ້ໂຈມຕີເຂົ້າເຖິງເປົ້າຫມາຍໂດຍການສົ່ງຄໍາຮ້ອງຂໍທີ່ບໍ່ຖືກຕ້ອງພຽງພໍທີ່ຈະຜ່ານການກວດສອບເບື້ອງຕົ້ນ. ໃນຂະນະທີ່ຜູ້ຊ່ຽວຊານທີ່ເຮັດວຽກຢູ່ໃນສ່ວນຕ່າງໆຂອງແອັບຯເຮັດດີທີ່ສຸດເພື່ອຮັບປະກັນຄວາມປອດໄພຂອງມັນ, ມັນເປັນໄປບໍ່ໄດ້ທີ່ຈະຄິດເຖິງທຸກກໍລະນີທີ່ສາມາດທໍາລາຍແອັບຯຫຼືເຮັດໃຫ້ມັນມີຄວາມສ່ຽງໃນລະຫວ່າງການພັດທະນາ.

ນີ້ແມ່ນບ່ອນທີ່ 'fuzzing' ເຂົ້າມາ.

ການໂຈມຕີ Fuzzing ແມ່ນຫຍັງ?

Fuzzing, fuzzing, or a fuzzing attack, is an automated software testing technique used to feed random, unexpected, or invalid data (ເອີ້ນວ່າ fuzz) ເຂົ້າໄປໃນໂຄງການ. ໂປຣແກມຖືກຕິດຕາມເບິ່ງພຶດຕິກຳທີ່ຜິດປົກກະຕິ ຫຼືບໍ່ຄາດຄິດເຊັ່ນ: buffer overflows, crashes, memory leaks, thread hangs, and read/write access breaks. ເຄື່ອງມື fuzzing ຫຼື fuzzer ຖືກນໍາໃຊ້ເພື່ອເປີດເຜີຍສາເຫດຂອງພຶດຕິກໍາທີ່ຜິດປົກກະຕິ.

Fuzzing ແມ່ນອີງໃສ່ສົມມຸດຕິຖານວ່າລະບົບທັງຫມົດມີແມງໄມ້ທີ່ລໍຖ້າການຄົ້ນພົບ, ແລະສາມາດໃຫ້ເວລາແລະຊັບພະຍາກອນພຽງພໍເພື່ອເຮັດແນວນັ້ນ. ລະບົບສ່ວນໃຫຍ່ມີ parser ທີ່ດີຫຼາຍຫຼືການກວດສອບການປ້ອນຂໍ້ມູນປ້ອງກັນ cybercriminals ຈາກການຂຸດຄົ້ນຂໍ້ບົກພ່ອງສົມມຸດຕິຖານໃນໂຄງການ. ຢ່າງໃດກໍຕາມ, ດັ່ງທີ່ພວກເຮົາໄດ້ກ່າວມາຂ້າງເທິງ, ກວມເອົາກໍລະນີແຈທັງຫມົດໃນລະຫວ່າງການພັດທະນາແມ່ນມີຄວາມຫຍຸ້ງຍາກ.

Fuzzers ຖືກນໍາໃຊ້ໃນໂຄງການທີ່ເອົາເຂົ້າໃນໂຄງສ້າງຫຼືມີຂອບເຂດຄວາມໄວ້ວາງໃຈບາງຢ່າງ. ຕົວຢ່າງ, ໂຄງການທີ່ຍອມຮັບໄຟລ໌ PDF ຈະມີການກວດສອບບາງຢ່າງເພື່ອຮັບປະກັນວ່າໄຟລ໌ມີນາມສະກຸນ .pdf ແລະ parser ເພື່ອປະມວນຜົນໄຟລ໌ PDF.

fuzzer ທີ່ມີປະສິດຕິຜົນສາມາດສ້າງວັດສະດຸປ້ອນທີ່ຖືກຕ້ອງພຽງພໍທີ່ຈະຜ່ານເຂດແດນເຫຼົ່ານີ້ໄດ້ແຕ່ບໍ່ຖືກຕ້ອງພຽງພໍທີ່ຈະເຮັດໃຫ້ເກີດພຶດຕິກໍາທີ່ບໍ່ຄາດຄິດອອກໄປຈາກໂຄງການ. ນີ້ແມ່ນສິ່ງສໍາຄັນເພາະວ່າພຽງແຕ່ສາມາດຜ່ານການກວດສອບຄວາມຖືກຕ້ອງບໍ່ໄດ້ຫມາຍຄວາມວ່າຫຼາຍຖ້າບໍ່ມີຄວາມເສຍຫາຍຕື່ມອີກ.

Fuzzers ຄົ້ນພົບ vectors ການໂຈມຕີທີ່ຄ້າຍຄືກັນຫຼາຍກັບແລະລວມທັງການມັກການສີດ SQL, scripting ຂ້າມເວັບໄຊທ໌, buffer overflow, ແລະການໂຈມຕີປະຕິເສດການບໍລິການ. ການໂຈມຕີທັງໝົດນີ້ແມ່ນເປັນຜົນມາຈາກການໃຫ້ຂໍ້ມູນທີ່ບໍ່ຄາດຄິດ, ບໍ່ຖືກຕ້ອງ ຫຼືແບບສຸ່ມເຂົ້າໄປໃນລະບົບ. 

 

ປະເພດຂອງ Fuzzers

Fuzzers ສາມາດຖືກຈັດປະເພດໂດຍອີງໃສ່ບາງລັກສະນະ:

  1. ໂຈມຕີເປົ້າໝາຍ
  2. ວິທີການສ້າງ Fuzz
  3. ຄວາມຮັບຮູ້ຂອງໂຄງສ້າງວັດສະດຸປ້ອນ
  4. ຄວາມຮັບຮູ້ກ່ຽວກັບໂຄງສ້າງໂຄງການ

1. ການໂຈມຕີເປົ້າໝາຍ

ການຈັດປະເພດນີ້ແມ່ນອີງໃສ່ປະເພດຂອງເວທີ fuzzer ຖືກນໍາໃຊ້ເພື່ອທົດສອບ. Fuzzers ຖືກນໍາໃຊ້ໂດຍທົ່ວໄປກັບໂປໂຕຄອນເຄືອຂ່າຍແລະຄໍາຮ້ອງສະຫມັກຊອບແວ. ແຕ່ລະແພລະຕະຟອມມີປະເພດຂອງວັດສະດຸປ້ອນທີ່ມັນໄດ້ຮັບ, ແລະດັ່ງນັ້ນຈຶ່ງຕ້ອງການ fuzzers ປະເພດຕ່າງໆ.

ຕົວຢ່າງ, ເມື່ອຈັດການກັບແອັບພລິເຄຊັນ, ຄວາມພະຍາຍາມ fuzzing ທັງຫມົດເກີດຂື້ນຢູ່ໃນຊ່ອງທາງການປ້ອນຂໍ້ມູນຕ່າງໆຂອງແອັບພລິເຄຊັນ, ເຊັ່ນ: ການໂຕ້ຕອບຜູ້ໃຊ້, terminal ຄໍາສັ່ງ, ແບບຟອມ / ຂໍ້ຄວາມ, ແລະການອັບໂຫລດໄຟລ໌. ສະນັ້ນ ວັດສະດຸປ້ອນທັງໝົດທີ່ສ້າງຂຶ້ນໂດຍ fuzzer ຕ້ອງກົງກັບຊ່ອງເຫຼົ່ານີ້.

Fuzzers ຈັດການກັບໂປໂຕຄອນການສື່ສານຕ້ອງຈັດການກັບແພັກເກັດ. Fuzzers ຕັ້ງເປົ້າໃສ່ແພລະຕະຟອມນີ້ສາມາດສ້າງແພັກເກັດປອມ, ຫຼືແມ້ກະທັ້ງເຮັດຫນ້າທີ່ເປັນຕົວແທນເພື່ອດັດແປງແພັກເກັດທີ່ຖືກສະກັດແລະຫຼິ້ນຄືນ.

2. ວິທີການສ້າງ Fuzz

Fuzzers ຍັງສາມາດຖືກຈັດປະເພດໂດຍອີງໃສ່ວິທີທີ່ພວກເຂົາສ້າງຂໍ້ມູນເພື່ອ fuzz ກັບ. ໃນປະຫວັດສາດ, fuzzers ໄດ້ສ້າງ fuzz ໂດຍການສ້າງຂໍ້ມູນແບບສຸ່ມຈາກ scratch. ນີ້ແມ່ນວິທີທີ່ອາຈານ Barton Miller, ຜູ້ລິເລີ່ມຂອງເຕັກນິກນີ້, ເຮັດມັນໃນເບື້ອງຕົ້ນ. ປະເພດຂອງ fuzzer ນີ້ເອີ້ນວ່າ a fuzzer ທີ່ອີງໃສ່ການຜະລິດ.

ຢ່າງໃດກໍຕາມ, ໃນຂະນະທີ່ຄົນເຮົາສາມາດສ້າງຂໍ້ມູນທາງທິດສະດີທີ່ຈະຂ້າມຂອບເຂດຄວາມໄວ້ວາງໃຈ, ມັນຈະໃຊ້ເວລາແລະຊັບພະຍາກອນຢ່າງຫຼວງຫຼາຍເພື່ອເຮັດແນວນັ້ນ. ເພາະສະນັ້ນ, ວິທີການນີ້ມັກຈະຖືກນໍາໃຊ້ສໍາລັບລະບົບທີ່ມີໂຄງສ້າງການປ້ອນຂໍ້ມູນງ່າຍດາຍ.

ການແກ້ໄຂບັນຫານີ້ແມ່ນການປ່ຽນຂໍ້ມູນທີ່ຮູ້ວ່າຖືກຕ້ອງເພື່ອສ້າງຂໍ້ມູນທີ່ຖືກຕ້ອງພຽງພໍທີ່ຈະຜ່ານຂອບເຂດຄວາມໄວ້ວາງໃຈ, ແຕ່ບໍ່ຖືກຕ້ອງພຽງພໍທີ່ຈະເຮັດໃຫ້ເກີດບັນຫາ. ຕົວຢ່າງທີ່ດີຂອງເລື່ອງນີ້ແມ່ນ a DNS fuzzer ເຊິ່ງໃຊ້ເວລາຊື່ໂດເມນແລະຫຼັງຈາກນັ້ນສ້າງບັນຊີລາຍຊື່ໃຫຍ່ຂອງຊື່ໂດເມນເພື່ອກວດຫາໂດເມນທີ່ເປັນອັນຕະລາຍທີ່ກໍານົດເປົ້າຫມາຍເຈົ້າຂອງໂດເມນທີ່ລະບຸໄວ້.

ວິທີການນີ້ແມ່ນສະຫລາດກວ່າວິທີທີ່ຜ່ານມາແລະຫຼຸດລົງຢ່າງຫຼວງຫຼາຍຕໍ່ການປ່ຽນແປງທີ່ເປັນໄປໄດ້. Fuzzers ທີ່ໃຊ້ວິທີການນີ້ແມ່ນເອີ້ນວ່າ fuzzers ອີງໃສ່ການກາຍພັນ

ມີວິທີການທີ່ຜ່ານມາອີກອັນທີສາມທີ່ເຮັດໃຫ້ການນໍາໃຊ້ສູດການຄິດໄລ່ທາງພັນທຸກໍາເພື່ອປະສົມປະສານກັບຂໍ້ມູນ fuzz ທີ່ດີທີ່ສຸດທີ່ຈໍາເປັນເພື່ອກໍາຈັດຊ່ອງຫວ່າງ. ມັນເຮັດວຽກໂດຍການປັບປຸງຂໍ້ມູນ fuzz ຂອງມັນຢ່າງຕໍ່ເນື່ອງ, ພິຈາລະນາການປະຕິບັດຂອງແຕ່ລະຂໍ້ມູນການທົດສອບໃນເວລາທີ່ປ້ອນເຂົ້າໄປໃນໂຄງການ. 

ຊຸດຂໍ້ມູນທີ່ມີປະສິດຕິພາບທີ່ຮ້າຍແຮງທີ່ສຸດແມ່ນຖືກລຶບອອກຈາກກຸ່ມຂໍ້ມູນ, ໃນຂະນະທີ່ທີ່ດີທີ່ສຸດແມ່ນມີການປ່ຽນແປງແລະ / ຫຼືປະສົມປະສານ. ຫຼັງຈາກນັ້ນ, ຂໍ້ມູນການຜະລິດໃຫມ່ແມ່ນຖືກນໍາໃຊ້ເພື່ອທົດສອບ fuzz ອີກເທື່ອຫນຶ່ງ. fuzzers ເຫຼົ່ານີ້ແມ່ນເອີ້ນວ່າ fuzzers ການກາຍພັນທີ່ອີງໃສ່ວິວັດທະນາການ.

3. ຄວາມຮັບຮູ້ຂອງໂຄງສ້າງການປ້ອນຂໍ້ມູນ

ການຈັດປະເພດນີ້ແມ່ນອີງໃສ່ວ່າ fuzzer ຮັບຮູ້ແລະໃຊ້ໂຄງສ້າງການປ້ອນຂໍ້ມູນຂອງໂຄງການໃນການສ້າງຂໍ້ມູນ fuzz. ກ dumb fuzzer (fuzzer ທີ່ບໍ່ຮູ້ເຖິງໂຄງສ້າງການປ້ອນຂໍ້ມູນຂອງໂຄງການ) ສ້າງ fuzz ໃນແບບສຸ່ມສ່ວນໃຫຍ່. ນີ້ສາມາດປະກອບມີທັງ fuzzers ການຜະລິດແລະການກາຍພັນ. 


ຖ້າ fuzzer ໄດ້ຖືກສະຫນອງໃຫ້ກັບຮູບແບບການປ້ອນຂໍ້ມູນຂອງໂປລແກລມ, fuzzer ສາມາດພະຍາຍາມສ້າງຫຼືປ່ຽນຂໍ້ມູນເຊັ່ນວ່າມັນກົງກັບຮູບແບບການປ້ອນຂໍ້ມູນທີ່ສະຫນອງໃຫ້. ວິທີການນີ້ຊ່ວຍຫຼຸດຜ່ອນຈໍານວນຊັບພະຍາກອນທີ່ໃຊ້ໃນການສ້າງຂໍ້ມູນທີ່ບໍ່ຖືກຕ້ອງ. fuzzer ດັ່ງກ່າວເອີ້ນວ່າ a ອັດສະລິຍະ fuzzer.

4. ຄວາມຮັບຮູ້ຂອງໂຄງສ້າງໂຄງການ

Fuzzers ຍັງສາມາດຖືກຈັດປະເພດໂດຍອີງໃສ່ວ່າພວກເຂົາຮູ້ເຖິງການເຮັດວຽກພາຍໃນຂອງໂປລແກລມທີ່ພວກເຂົາກໍາລັງ fuzzing, ແລະນໍາໃຊ້ຄວາມຮັບຮູ້ນັ້ນເພື່ອຊ່ວຍການຜະລິດຂໍ້ມູນ fuzz. ເມື່ອ fuzzers ຖືກນໍາໃຊ້ເພື່ອທົດສອບໂຄງການໂດຍບໍ່ເຂົ້າໃຈໂຄງສ້າງພາຍໃນຂອງມັນ, ມັນຖືກເອີ້ນວ່າການທົດສອບກ່ອງດໍາ. 

ຂໍ້ມູນ Fuzz ທີ່ສ້າງຂຶ້ນໃນລະຫວ່າງການທົດສອບກ່ອງດໍາແມ່ນປົກກະຕິແລ້ວແບບສຸ່ມເວັ້ນເສຍແຕ່ວ່າ fuzzer ແມ່ນ fuzzer ທີ່ອີງໃສ່ການກາຍພັນຂອງວິວັດທະນາການ, ບ່ອນທີ່ມັນ 'ຮຽນຮູ້' ໂດຍການຕິດຕາມຜົນກະທົບຂອງ fuzzing ຂອງມັນແລະການນໍາໃຊ້ສິ່ງນັ້ນ. ຂໍ້ມູນຂ່າວສານ ເພື່ອປັບປ່ຽນຊຸດຂໍ້ມູນ fuzz ຂອງມັນ.

ໃນທາງກົງກັນຂ້າມ, ການທົດສອບກ່ອງສີຂາວໃຊ້ຕົວແບບຂອງໂຄງສ້າງພາຍໃນຂອງໂຄງການເພື່ອສ້າງຂໍ້ມູນ fuzz. ວິທີການນີ້ເຮັດໃຫ້ fuzzer ໄປຫາສະຖານທີ່ທີ່ສໍາຄັນໃນໂຄງການແລະທົດສອບມັນ. 

ເຄື່ອງມື Fuzzing ທີ່ນິຍົມ

ມີຫຼາຍ fuzzing ເຄື່ອງ​ມື ຢູ່ທີ່ນັ້ນທີ່ໃຊ້ໂດຍນັກທົດສອບປາກກາ. ບາງສ່ວນຂອງທີ່ນິຍົມຫຼາຍທີ່ສຸດແມ່ນ:

ຂໍ້ຈໍາກັດຂອງ Fuzzing

ໃນຂະນະທີ່ Fuzzing ແມ່ນເຕັກນິກການທົດສອບປາກກາທີ່ເປັນປະໂຫຍດແທ້ໆ, ມັນບໍ່ແມ່ນຄວາມຜິດຂອງມັນ. ບາງສ່ວນຂອງເຫຼົ່ານີ້ແມ່ນ:

  • ມັນໃຊ້ເວລາຂ້ອນຂ້າງຍາວເພື່ອດໍາເນີນການ.
  • ການຂັດຂ້ອງ ແລະພຶດຕິກຳທີ່ບໍ່ຄາດຄິດອື່ນໆທີ່ພົບເຫັນໃນລະຫວ່າງການທົດສອບກ່ອງດຳຂອງໂປຣແກຣມອາດເປັນເລື່ອງຍາກ, ຖ້າບໍ່ສາມາດວິເຄາະ ຫຼື ດີບັກໄດ້.
  • ການສ້າງແມ່ແບບການກາຍພັນສໍາລັບ fuzzers ທີ່ອີງໃສ່ການກາຍພັນທີ່ສະຫຼາດສາມາດໃຊ້ເວລາຫຼາຍ. ບາງຄັ້ງ, ມັນອາດຈະເປັນໄປບໍ່ໄດ້ເນື່ອງຈາກຮູບແບບການປ້ອນຂໍ້ມູນເປັນຂອງເຈົ້າຂອງ ຫຼືບໍ່ຮູ້.

 

ຢ່າງໃດກໍຕາມ, ມັນເປັນເຄື່ອງມືທີ່ມີປະໂຫຍດຫຼາຍແລະມີຄວາມຈໍາເປັນສໍາລັບທຸກຄົນທີ່ຕ້ອງການຄົ້ນພົບແມງໄມ້ກ່ອນຄົນທີ່ບໍ່ດີ.

ສະຫຼຸບ

Fuzzing ແມ່ນເຕັກນິກການທົດສອບປາກກາທີ່ມີປະສິດທິພາບທີ່ສາມາດຖືກນໍາໃຊ້ເພື່ອເປີດເຜີຍຈຸດອ່ອນໃນຊອບແວ. ມີຫຼາຍປະເພດທີ່ແຕກຕ່າງກັນຂອງ fuzzers, ແລະ fuzzers ໃຫມ່ແມ່ນໄດ້ຖືກພັດທະນາຕະຫຼອດເວລາ. ໃນຂະນະທີ່ fuzzing ເປັນເຄື່ອງມືທີ່ເປັນປະໂຫຍດຢ່າງບໍ່ຫນ້າເຊື່ອ, ມັນມີຂໍ້ຈໍາກັດຂອງມັນ. ຕົວຢ່າງ, fuzzers ພຽງແຕ່ສາມາດຊອກຫາຊ່ອງໂຫວ່ຫຼາຍແລະພວກເຂົາສາມາດເປັນຊັບພະຍາກອນທີ່ຂ້ອນຂ້າງຫຼາຍ. ຢ່າງໃດກໍຕາມ, ຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະພະຍາຍາມອອກເຕັກນິກການເຮັດໃຫ້ປະລາດນີ້ສໍາລັບຕົວທ່ານເອງ, ພວກເຮົາມີ DNS Fuzzer API ຟຣີທີ່ທ່ານສາມາດນໍາໃຊ້ໃນເວທີຂອງພວກເຮົາ. 

ດັ່ງນັ້ນທ່ານກໍາລັງລໍຖ້າຫຍັງ? 

ເລີ່ມ​ຝ້າ​ໃນ​ມື້​ນີ້​!

ຂ້າມ TOR Censorship

ຂ້າມການເຊັນເຊີອິນເຕີເນັດດ້ວຍ TOR

ການຂ້າມຜ່ານການເຊັນເຊີອິນເຕີເນັດດ້ວຍການແນະນຳ TOR ໃນໂລກທີ່ການເຂົ້າເຖິງຂໍ້ມູນຖືກຄວບຄຸມຫຼາຍຂຶ້ນ, ເຄື່ອງມືເຊັ່ນເຄືອຂ່າຍ Tor ໄດ້ກາຍເປັນສິ່ງສຳຄັນສຳລັບ

ອ່ານ​ຕື່ມ "
Kobold Letters: ການໂຈມຕີ phishing ອີເມວທີ່ໃຊ້ HTML

Kobold Letters: ການໂຈມຕີ phishing ອີເມວທີ່ໃຊ້ HTML

Kobold Letters: ການໂຈມຕີ phishing ອີເມວໂດຍອີງໃສ່ HTML ໃນວັນທີ 31 ມີນາ 2024, Luta Security ໄດ້ອອກບົດຄວາມທີ່ສ່ອງແສງກ່ຽວກັບ vector phishing ທີ່ຊັບຊ້ອນໃຫມ່, Kobold Letters.

ອ່ານ​ຕື່ມ "