ພົບຊ່ອງໂຫວ່ເທິງ PuTTY SSH client ທີ່ເຮັດໃຫ້ສາມາດກູ້ຄືນ Private Key ທີ່ເຂົ້າລະຫັດໄດ້
PuTTY ເປັນໂປຣແກຣມ open-source terminal emulator, serial console ແລະ network file transfer ແອັບພິເຄຊັ່ນ ທີ່ໄດ້ຮັບຄວາມນິຍົມ ຊຶ່ງຮອງຮັບ SSH (Secure Shell), Telnet, SCP (Secure Copy Protocol) ແລະ SFTP (SSH File Transfer Protocol) ໂດຍທີ່ຜູ້ເບິ່ງແຍງລະບົບ ແລະ ນັກພັດທະນາສ່ວນຫຼາຍໃຊ້ຊອບແວ PuTTY ເພື່ອເຂົ້າເຖິງ ແລະ ຈັດການເຊີເວີ ແລະ ອຸປະກອນເຄືອຂ່າຍອື່ນໆ ຜ່ານ SSH ຈາກ Windows-based client.
CVE-2024-31497 ເປັນຊ່ອງໂຫວ່ທີ່ມີສາເຫດມາຈາກວິທີທີ່ PuTTY ສ້າງ ECDSA nonce (ຕົວເລກການເຂົ້າລະຫັດສະເພາະຊົ່ວຄາວ) ສຳລັບ NIST P-521 ທີ່ໄວ້ໃຊ້ SSH authentication ໂດຍ PuTTY ໃຊ້ວິທີການໃນການສ້າງຕົວເລກເຫຼົ່ານີ້ ເພື່ອທົດແທນການຂາດຕົວສ້າງເລກສຸ່ມສຳລັບການເຂົ້າລະຫັດທີ່ມີປະສິດທິພາບໃນ Windows ບາງເວີຊັ່ນ ຊຶ່ງຊ່ອງໂຫວ່ຖືກຄົ້ນພົບໂດຍ Fabian Bäumer ແລະ Marcus Brinkmann ນັກວິໄຈຈາກ Ruhr University Bochum.
ຜົນກະທົບຫຼັກຂອງການກູ້ຄືນ private key ຄືການອະນຸຍາດໃຫ້ມີການເຂົ້າເຖິງ SSH server ໂດຍບໍ່ໄດ້ຮັບອະນຸຍາດ ຫຼື ລົງຊື່ໃນຖານະນັກພັດທະນາ ອາດຈະເຮັດໃຫ້ເກີດການໂຈມຕີ supply chain attack ໃນ software project ທີ່ໄດ້ຮັບຜົນກະທົບໄດ້.
ການໂຈມຕີຈາກຊ່ອງໂຫວ່ CVE-2024-31497
Digital signature ຖືກສ້າງຂຶ້ນໂດຍໃຊ້ private key ຂອງຜູ້ໃຊ້ ແລະ ກວດສອບໂດຍໃຊ້ public key ທີ່ກ່ຽວຂ້ອງເທິງເຊີເວີ ເພື່ອໃຫ້ໝັ່ນໃຈເຖິງຕົວຕົນຂອງຜູ້ໃຊ້ ແລະ ຄວາມປອດໄພຂອງການເຊື່ອມຕໍ່ ຊຶ່ງ Brinkmann ອະທິບາຍໃນ X ວ່າ Hacker ຕ້ອງການ signatures 58 ລາຍການໃນການຄິດໄລ່ private key ຂອງເປົ້າໝາຍ ຊຶ່ງສາມາດຮັບໄດ້ໂດຍການສັງລວມຈາກການເຂົ້າສູ່ລະບົບ SSH server ທີ່ຖືກຄວບຄຸມ ຫຼື ຖືກໂຈມຕີ ຫຼື ຈາກ signed Git commits.
ການສັງລວມ signatures ຈາກ SSH server ໄດ້ ໝາຍເຖິງ SSH server ໄດ້ຖືກໂຈມຕີ ແລະ ສາມາດເຂົ້າເຖິງລະບົບປະຕິບັດການໃນວົງກວ້າງໄດ້.
ລວມເຖິງ Bäumer ໃຫ້ຂໍ້ມູນກັບ BleepingComputer ວ່າ ວິທີໃນການລັກ signature ຈາກ public commits ນັ້ນມີປະໂຫຍດຫຼາຍກວ່າສຳລັບ Hacker ແລະ ມີບາງກໍລະນີທີ່ຊ່ອງໂຫວ່ນີ້ສາມາດຖືກໂຈມຕີໄດ້ໂດຍບໍ່ຈຳເປັນຕ້ອງໂຈມຕີ SSH server ໄວ້ລ່ວງໜ້າ.
ເຊັ່ນການໃຊ້ SSH key ໃນການ signing Git commits ໂດຍການຕັ້ງຄ່າທົ່ວໄປກ່ຽວຂ້ອງກັບການໃຊ້ Pageant ຊຶ່ງເປັນ ssh-agent ຂອງ PuTTY ພາຍໃນເຄື່ອງ ແລະ ການສົ່ງຕໍ່ agent ໄປຫາ development host.
ຊຶ່ງສາມາດກຳນົດຄ່າ Git ໃຫ້ໃຊ້ OpenSSH ເພື່ອ sign Git commits ດ້ວຍ SSH key ທີ່ Pageant ມອບໃຫ້ ຈາກນັ້ນ signatures ຈະຖືກສ້າງຂຶ້ນໂດຍ Pageant ເຮັດໃຫ້ສາມາດກູ້ຄືນ private key ໄດ້ງ່າຍ ຊຶ່ງເປັນສິ່ງທີ່ມີຄວາມອັນຕະລາຍຫຼາຍ ເນື່ອງຈາກ git signatures ອາດຈະເຂົ້າເຖິງໄດ້ແບບສາທາລະນະ ເຊັ່ນ: ຖ້າຫາກການ commits ຖືກສົ່ງໄປຫາ public repository ເທິງ GitHub.
ການແກ້ໄຂຊ່ອງໂຫວ່ເທິງຊອບແວອື່ນໆ ທີ່ໄດ້ຮັບຜົນກະທົບ
ນັກພັດທະນາໄດ້ແກ້ໄຂຊ່ອງໂຫວ່ໃນ PuTTY ເວີຊັ່ນ 0.81 ໂດຍໄດ້ຍົກເລີກວິທີການ k-generation method ໃນຮຸ້ນກ່ອນ ແລະ ປ່ຽນໄປໃຊ້ RFC 6979 technique ສຳລັບຄີ DSA ແລະ ECDSA ທັງໝົດ ແຕ່ກໍ່ມີຂໍ້ສັງເກດວ່າ private key P521 ທີ່ສ້າງຂຶ້ນໂດຍໃຊ້ເຄື່ອງມືເວີຊັ່ນທີ່ມີຊ່ອງໂຫວ່ ນັ້ນບໍ່ປອດໄພ ແລະ ຖືກປ່ຽນເປັນ private key ໃໝ່ທີ່ປອດໄພແທນ.
ຊອບແວຕໍ່ໄປນີ້ທີ່ໃຊ້ PuTTY ທີ່ມີຊ່ອງໂຫວ່ ແລະ ໄດ້ຮັບຜົນກະທົບ :
FileZilla 3.24.1 – 3.66.5 (ແກ້ໄຂໃນ 3.67.0)
WinSCP 5.9.5 – 6.3.2 (ແກ້ໄຂໃນ 6.3.3)
TortoiseGit 2.4.0.2 – 2.15.0 (ແກ້ໄຂໃນ 2.15.0.1)
TortoiseSVN 1.10.0 – 1.14.6 (ສາມາດແກ້ໄຂໄດ້ໂດຍການກຳນົດຄ່າ TortoiseSVN ເພື່ອໃຊ້ Plink ຈາກ PuTTY 0.81 ຮຸ່ນຫຼ້າສຸດ)
ຜູ້ໃຊ້ຈຶ່ງຄວນກວດສອບເຄື່ອງມືຂອງຕົນ ແລະ ດຳເນີນການແກ້ໄຂຊ່ອງໂຫວ່ເພື່ອປ້ອງກັນການຖືກໂຈມຕີ.
ເອກະສານອ້າງອີງ:
- https://www.bleepingcomputer.com/news/security/putty-ssh-client-flaw-allows-recovery-of-cryptographic-private-keys/#google_vignette
- https://www.i-secure.co.th/2024/04/%e0%b8%9e%e0%b8%9a%e0%b8%8a%e0%b9%88%e0%b8%ad%e0%b8%87%e0%b9%82%e0%b8%ab%e0%b8%a7%e0%b9%88%e0%b8%9a%e0%b8%99-putty-ssh-client-%e0%b8%97%e0%b8%b5%e0%b9%88%e0%b8%97%e0%b8%b3%e0%b9%83%e0%b8%ab%e0%b9%89/