ปรกติเมื่อเกิดเหตุการณ์ผิดพลาดกับใบรับรอง SSL ไม่ว่าเกิดจากสาเหตุใด ทางผู้ออกใบรับรอง (Certification Auhtority - CA) จะออกรายการยกเลิกใบรับรอง (Certificates Revocation List - CRL) เพื่อให้เบราเซอร์นำไปตรวจเทียบว่าเจอใบรับรองในรายการหรือไม่ ระบบนี้ใช้กันทั่วไปในทุกๆ ระบบที่ใช้ SSL ไม่จำกัดเฉพาะเบราเซอร์ แต่ปัญหาคือการติดต่อกับ CA บางครั้งอาจจะล้มเหลว ระบบ SSL นั้นออกแบบให้ยอมให้ใช้งานใบรับรองที่ได้รับมาไปก่อนได้แม้จะติดต่อขออัพเดตรายการยกเลิกไม่ได้ ทำให้ผู้โจมตีอาจจะอาศัยกระบวนการเพื่อสกัดไม่ให้เบราเซอร์ติดต่อกับ CA ได้ซึ่งไม่ยากนัก
แม้การหลบเลี่ยงกระบวนการนี้จะทำได้ง่าย แต่ทุกวันนี้ในทุกๆ การเชื่อมต่อจะต้องเสียเวลาเช็คจากเซิร์ฟเวอร์ประมาณ 300ms ทำให้เว็บดู "ช้า" ทาง Chrome จึงตัดสินใจยกเลิกกระบวนการนี้
กระบวนการที่เข้ามาแทนที่คือการอัพเดตรายการยกเลิกผ่านทางอัพเดตของเบราเซอร์โดยตรง เพราะเบราเซอร์ (โดยเฉพาะ Chrome) ก็มีกระบวนการอัพเดตที่ดีและรวดเร็วอยู่แล้ว และตัวโครมเองก็สามารถใช้กระบวนการอัพเดตเบราเซอร์มาอัพเดตรายการยกเลิกใบรับรองโดยไม่ต้องปิดเปิดโปรแกรมใหม่ด้วยซ้ำ
แนวคิดแบบนี้น่าสนใจดีที่ซอฟต์แวร์ที่มีการอัพเดตต่อเนื่องอาจจะพิจารณาใช้กระบวนการอัพเดตเพื่อรักษาความปลอดภัยแทน
ที่มา - ImperialViolet, ArsTechnica
Comments
ในกรณี auto update เอง ตัวโปรแกรมเอง (browser) จะมั่นใจได้ยังไงว่าตัวเองไม่โดน by-pass ที่อยู่ของข้อมูลไปที่อื่นแล้วเอาข้อมูลที่ไม่ถูกต้องใส่เข้ามาแทนล่ะครับ? ... ในกรณีการ update โปรแกรมนั้น ข้อมูลของ CA จะใส่มาในโปรแกรมอยู่แล้ว ไม่น่าจะมีปัญหาอะไรครับ
ผมว่าถ้าคิดแบบนี้มันก็ bypass ได้เหมือนกันนี่ครับ? ไท่ว่าจะผ่าน CA หรือ update...
Dream high, work hard.
นั่นน่ะสิครับ
ขยันดีจริงๆ Google เลข version ไปถึงไหนแล้วเนี่ย
เจอปัญหากับ StartSSL ตอนสมัครเจอ ssl_error_handshake_failure_alert ใช่กรณีเดียวกับข่าวนี้หรือเปล่า?
งานนี้ข่าวดี เราจะได้ล็อกอินเข้าระบบมหาลัยได้ลื่นขึ้นหละสิ 555
Coder | Designer | Thinker | Blogger
Concept คล้ายๆ Anti-Virus เลยแฮะ แต่อันนี้ Anti-Cert.