กูเกิลประกาศปรับกระบวนการทำงานของ Google Safe Browsing ใน Chrome ทั้งบนเดสก์ท็อปและมือถือ ที่ผ่านมาการทำงานของ Safe Browsing ใช้วิธีดาวน์โหลดรายชื่อเว็บไซต์อันตรายมาเก็บไว้ในเครื่องเป็น local list แล้วค่อยตรวจสอบว่าเว็บที่ผู้ใช้เข้าตรงกับรายชื่อหรือไม่ รายชื่อจะอัพเดตทุกๆ 30-60 นาที ทำให้เกิด "ช่องว่างเวลา" ที่อาจมีเว็บเกิดใหม่ขึ้นมา หรือเว็บอันตรายที่ใช้วิธีเปิดๆ ปิดๆ เพื่อหลบการตรวจจับ (สถิติของกูเกิลบอกว่าเว็บอันตรายเหล่านี้จะเปิดมาเฉลี่ยประมาณ 10 นาทีแล้วปิดไป)
แนวทางใหม่ของ Safe Browsing เปลี่ยนมาทำงานออนไลน์ทั้งหมด Chrome จะเช็คกับรายชื่อเว็บอันตรายบนเซิร์ฟเวอร์แบบเรียลไทม์ รายชื่อนี้จะอัพเดตตลอดเวลา อัพเดตทันทีเมื่อตรวจพบเว็บอันตรายเกิดใหม่ในตอนนั้น
เพื่อไม่ให้เข้าเว็บช้าเพราะต้องไปตรวจชื่อเว็บทุกครั้ง การทำงานของ Chrome จะมีแคช "รายชื่อเว็บปลอดภัย" ทั้งในเครื่องและบนเซิร์ฟเวอร์เพื่อให้เรียกข้อมูลจากแคชก่อน หากไม่ตรงกับในแคชค่อยเริ่มไปเช็คกับรายชื่อเว็บอันตรายอีกที และในกรณีที่เช้าถึงเซิร์ฟเวอร์เว็บอันตรายไม่ได้ Chrome ยังสามารถ fallback กลับไปเช็ครายชื่อเว็บอันตรายด้วยวิธีเดิมได้
กูเกิลยังพาร์ทเนอร์กับ Fastly ผู้ให้บริการ CDN รายใหญ่ ช่วยวาง Oblivious HTTP (OHTTP) เป็น "privacy server" ไว้คั่นกลางระหว่าง Chrome กับเซิร์ฟเวอร์ Safe Browsing เพื่อบังไม่ให้กูเกิลรู้ว่าผู้ใช้คนไหนส่งรายชื่อเว็บไหนมาตรวจสอบ ถือเป็นการรักษาความเป็นส่วนตัวของผู้ใช้งาน โดยยังรักษาความปลอดภัยไว้ได้อยู่
ที่มา - Google Security
แนวทางปัจจุบัน ทำงานออฟไลน์
แนวทางใหม่ ทำงานออนไลน์
Comments
เอา URL ไป hash แล้ว check มันได้เหรอ
ถ้าบังเอิญ safe url hash ไปตรงกับ blacklist ทำไง
แจ้งที่ https://safebrowsing.google.com/safebrowsing/report_error/?hl=en
ว่าเป็นอธิบายไปว่าเป็นของจริงไม่ได้หลอกลวง
ไม่มีทางที่ URL ต่างกันจะได้ hash เหมือนกันนะครับ
(URL ต้องเหมือนกัน 100% ถึงจะได้ Hash เหมือนกัน)
ลองเช็คดูได้ครับ https://www.movable-type.co.uk/scripts/sha256.html
มีสิฮะ
เอาง่ายๆ URL ที่มีความยาวมากกว่าความยาวของ SHA-256 hash ยังไงก็ต้องมีซ้ำกันอยู่แล้ว เพราะความเป็นไปได้ของ hash ที่จำนวนหลักสั้นกว่ามันมีน้อยกว่าความเป็นไปได้ของ URL ที่จำนวนหลักมากกว่า ยังไม่นับว่าอักขระในแต่ละหลักของ URL มีความเป็นไปได้มากกว่าแต่ละหลักของ hash ที่เป็นเลขฐาน 16 อีก
จากที่ลองไปอ่านดูเหมือนจะมีโอกาสเกิดขึ้นแน่นอน แต่การค้นหาให้ตรงใช้เวลาและทรัพยากรมากและไม่น่าจะคุ้ม URL ส่วนใหญ่จะเน้นสั้นและจำง่ายอยู่แล้ว
Google น่าจะเก็บ URL เต็มๆ ไว้อยู่แล้วเพียงแต่เลือกที่จะ hash น่าจะเป็นเรื่องความเร็วและจำนวนดาต้าที่ต้องส่งไปมามากกว่า รวมถึงเรื่องความปลอดภัยของข้อมูลผู้ใช้ด้วย
ทุก hash algorithm มันจะมีจำนวน digest ทึ่เป็นไปได้อยู่ครับ
อย่าง digest size ของ md5 = 128 bit
digest ที่เป็นไปได้คือ 0 ถึง 2^128
แต่จำนวน value ที่เราเอามา hash นั้นมันมีความเป็นไปได้มากกว่า 2^128
มันเลยมีโอกาสซ้ำกันครับ
ถ้าค่าแฮชตรงแม้แต่คู่เดียว จะเกิดการยกเลิก hash algorithm ขนานใหญ่ครับ แบบเดียวกับสมัย SHA1 ที่ต้องประกาศยกเลิกทันทีที่มีหลักฐาน (กระบวนการกว่าจะถอดได้จริงๆ จนหมดจะกินเวลาหลายปี)
lewcpe.com, @wasonliw
กระทรวงไอซีทีควรตั้งศูนย์ประสานงาน รายงาน URL/domain ที่เป็น malware โดยเฉพาะ (อย่าเอาโดเมนการเมืองไปใส่) แล้วขอความร่วมมือให้เขามาดึง feed ไป
lewcpe.com, @wasonliw