ทีมความปลอดภัยของกูเกิลแจ้งบั๊กใน ntpd รุ่นก่อนหน้า 4.2.8 (ที่เพิ่งออกมาเมื่อวันที่ 19 ธันวาคมที่ผ่านมา) ทุกรุ่น มีบั๊กความปลอดภัยสำคัญคือแฮกเกอร์สามารถยิงโค้ดเข้ามารันในเครื่องที่รัน ntpd อยู่ได้
ICS-CERT ไม่ได้ให้รายละเอียดของบั๊กทั้งหมด โดยการแจ้งเตือนแจ้งเป็นกลุ่มของบั๊ก ได้แก่
- CVE-2014-9293 ปัญหาของการสร้างเลขสุ่มในกรณีที่ไม่มีไฟล์กุญแจ
- CVE-2014-9294 ปัญหาการสร้างเลขสุ่มเนื่องจากการใช้ค่าเริ่มต้นที่อ่อนแอ
- CVE-2014-9295 การรันโค้ดจากเครื่องรีโมตที่ยิงโค้ดเข้ามา ผ่านบั๊ก stack overflow
- CVE-2014-9296 ความผิดพลาดของโค้ดบางส่วนที่ไม่คืนค่าหลังทำงานเสร็จ
ทาง ICS-CERT ระบุว่าการโจมตีบั๊กนี้ใช้ความสามารถระดับต่ำ โดยคะแนนความร้ายแรงตามมาตรฐาน CVSS อยู่ที่ 7.3 ดังนั้นควรรีบอัพเดตหรืออย่างน้อยๆ ก็ปิดไม่ให้โลกภายนอกเข้าถึง ntpd กันได้
ทาง Theo de Raadt ผู้ดูแลโครงการ OpenBSD ออกมาระบุว่าซอฟต์แวร์ OpenNTPD ไม่มีปัญหานี้เพราะเขียนซอฟต์แวร์ขึ้นใหม่ทั้งหมด มีการป้องกันที่ดี โค้ดเขียนด้วยแนวทางที่ดีที่สุดเท่าที่รู้กันในยุคใหม่ โดยตัวโค้ดมีความยาวไม่ถึง 5,000 บรรทัดเทียบกับ ntpd ที่ยาวประมาณ 100,000 บรรทัด
ที่มา - ICS-CERT
on
ซฮฟต์แวร์ => ซอฟต์แวร์
hisoft Mon, 22/12/2014 - 22:04
ซฮฟต์แวร์ => ซอฟต์แวร์
แนะนำให้ทำ Access List หรือ
Perl Mon, 22/12/2014 - 22:54
แนะนำให้ทำ Access List หรือ IP Filter สำหรับ ntpd บนอุปกรณ์ Network, Firewall ด้วยครับ
เคยโดนมากับตัว Juniper Firewall ร่วง โดนเล่นทาง xntpd เนี่ยหล่ะครับ
ntpd ที่อยู่ใน Linux
peat_psuwit Tue, 23/12/2014 - 01:13
ntpd ที่อยู่ใน Linux ส่วนใหญ่เป็นตัวที่มีความเสี่ยงใช่ไหมครับ?
ntpd ผมให้ sync server
iCyLand Tue, 23/12/2014 - 01:14
ntpd ผมให้ sync server ภายในอย่างเดียวเลย ไม่ปล่อย public
บั๊ก stack overflow
Bank14 Tue, 23/12/2014 - 10:31
บั๊ก stack overflow คืออะไรหรือครับ
คือทำให้มีการเรียกใช้ฟังก์ชัน
overbid Tue, 23/12/2014 - 14:35
In reply to บั๊ก stack overflow by Bank14
คือทำให้มีการเรียกใช้ฟังก์ชันจนเกินบัฟเฟอร์ครับ อาจทำให้เครื่องค้างได้เลย
ขอบคุณครับ
Bank14 Tue, 23/12/2014 - 15:37
In reply to คือทำให้มีการเรียกใช้ฟังก์ชัน by overbid
ขอบคุณครับ
ถ้าเกิน buffer จะเรียกว่า
mr_tawan Tue, 23/12/2014 - 17:37
In reply to คือทำให้มีการเรียกใช้ฟังก์ชัน by overbid
ถ้าเกิน buffer จะเรียกว่า buffer overflow ครับ
ส่วน stack overflow เนี่ยเกิดจากการใช้ stack จนหมด คือในแต่ละ process จะได้รับพื้นที่หน่วยความจำส่วนหนึ่งสำหรับ stack (และอีกส่วนใหญ่ ๆ ใน Heap) ซึ่งปรกติ stack จะมีขนาดค่อนข้างเล็ก (บน Windows ก็ประมาณ 1MB, GCC ประมาณ 7MB เป็นต้น) ถ้ามีการใช้ตัวแปรประเภท stack มาก ๆ จะทำให้เกิด overflow ได้ครับ
ใน C++ หน่วยความจำจะถูกจองใน stack ยกเว้นการจองที่ใช้
newoperator ที่จะจองใน Heapการเกิด Overflow ที่ง่ายที่สุดคือการเขียน recursion ที่มีระดับความลึกเยอะ ๆ แบบ
ขอบคุณคุณ mr_tawan ครับ
Bank14 Tue, 20/01/2015 - 12:07
In reply to ถ้าเกิน buffer จะเรียกว่า by mr_tawan
ขอบคุณคุณ mr_tawan ครับ ถ้าเราไม่ได้เขียนภาษา low level พวก c, c++, assembly ก็จะไม่เจอปัญหาแบบพวกนี้ใช่ไหมครับ
CentOS 6.5 update
tirakarn Tue, 23/12/2014 - 12:46
CentOS 6.5 update ยังไงครับ
แล้วถ้าปิด service ไปก่อน จะมีผลเสียอะไรบ้างครับ
yum update
overbid Tue, 23/12/2014 - 14:29
In reply to CentOS 6.5 update by tirakarn
yum update ntpถ้าปิดอาจทำให้เวลาของเครื่องที่ปิดไม่เท่ากันกับเครื่องอื่นครับ
ขอบคุณครับ
tirakarn Tue, 23/12/2014 - 16:47
In reply to yum update by overbid
ขอบคุณครับ