ช่องโหว่ทำอีเมลผู้ใช้ YouTube รั่ว ได้รับรางวัล $10,000
(brutecat.com)- obfuscated Gaia ID ซึ่งเป็นตัวระบุบัญชี Google ภายในของช่อง YouTube ถูกเปิดเผย และสามารถนำไปเชื่อมกับที่อยู่อีเมลผ่าน API แชร์ของ Pixel Recorder ได้ จึงกลายเป็นปัญหาความเป็นส่วนตัวของบัญชี Google
- คำขอ Innertube ของเมนูบล็อกในไลฟ์แชตส่งคืนพารามิเตอร์
moderateLiveChatEndpointที่มี Gaia ID ของช่องเป้าหมาย แม้จะยังไม่ได้บล็อกจริง - เมื่อเปลี่ยน channel ID ในพารามิเตอร์คำขอ ขอบเขตเป้าหมายขยายไปถึง Topic Channel ที่ไม่มีข้อความไลฟ์แชต แสดงว่าไม่ใช่ปัญหาที่จำกัดเฉพาะผู้เข้าร่วมบางราย
WriteShareListของ Pixel Recorder รับ obfuscated Gaia ID ของผู้รับแชร์เป็นอินพุต และในคำตอบมี ที่อยู่อีเมล รวมอยู่ด้วย อีกทั้งยังสามารถป้องกันไม่ให้ส่งอีเมลแจ้งเตือนได้ด้วยชื่อรายการบันทึกเสียงยาว 2.5 ล้านตัวอักษร- หลังได้รับรายงานเมื่อวันที่ 15 กันยายน 2024 Google ยืนยันว่าแก้ไขช่องโหว่ทั้งสองจุดแล้วเมื่อวันที่ 9 กุมภาพันธ์ 2025 และจ่ายรางวัลรวม $10,633
Gaia ID ที่ปรากฏจากฟีเจอร์บล็อกของ YouTube
- พบจากเอกสาร discovery ของ Internal People API staging ของ Google ว่าอ็อบเจกต์
BlockedTargetใช้ obfuscated Gaia ID และfallbackNameprofileIdคือ obfuscated Gaia ID ของผู้ใช้ที่ถูกบล็อกfallbackNameคือชื่อที่แสดงของผู้ใช้ที่ถูกบล็อก
- เอกสารช่วยเหลือของบัญชี Google ระบุว่าสามารถบล็อกบัญชีบน YouTube ได้ และเมื่อบล็อกผู้ใช้จริงในไลฟ์สตรีม YouTube ผู้ใช้นั้นจะปรากฏใน
myaccount.google.com/blocklist - ในรายการบล็อก ชื่อช่อง
Mega Primeแสดงเป็นfallbackNameและ107183641464576740691แสดงเป็น profile ID - ภายใต้สมมติฐานว่าช่อง YouTube ไม่ควรเปิดเผยบัญชี Google ที่อยู่เบื้องหลัง และเนื่องจากในอดีตเคยมีบั๊กที่แปลง Gaia ID เป็นที่อยู่อีเมลได้ จึงเริ่มค้นหาเส้นทางเพิ่มเติม
ขยายจากเมนูไลฟ์แชตไปยังทั้งช่อง
- เพียงเปิดเมนูจุดสามจุดในไลฟ์แชต YouTube ก็จะเกิดคำขอ
/youtubei/v1/live_chat/get_item_context_menu - ในคำตอบมี
moderateLiveChatEndpointที่นำไปยัง/youtubei/v1/live_chat/moderateและค่าparams paramsดังกล่าวเป็น protobuf ที่เข้ารหัส base64 ซึ่ง Google ใช้กันทั่วไป และเมื่อถอดรหัสจะพบ Gaia ID ของผู้ใช้เป้าหมายที่จะถูกบล็อก- ตัวอย่างคำตอบมี
113907466537670370590และตัวระบุที่เกี่ยวข้องกับช่อง - สามารถได้ Gaia ID ของเป้าหมายโดยไม่ต้องบล็อกจริง
- ตัวอย่างคำตอบมี
- เมื่อถอดรหัสพารามิเตอร์ของคำขอ
get_item_context_menuพบว่ามี channel ID ของช่องที่จะบล็อก, ID วิดีโอไลฟ์สตรีม และ ID ผู้สร้างไลฟ์สตรีม - จากการทดสอบโดยเปลี่ยน channel ID ในพารามิเตอร์คำขอเป็นค่าอื่น พบว่ายังสามารถได้ Gaia ID
103261974221829892167ของ Topic Channel ที่ YouTube สร้างอัตโนมัติได้ด้วย- Topic Channel เป็นช่องที่ YouTube สร้างอัตโนมัติ และถูกทดสอบภายใต้สมมติฐานว่าไม่มีข้อความไลฟ์แชต
Pixel Recorder กลายเป็นเส้นทางแปลงเป็นอีเมล
- ระหว่างค้นหาบั๊กหรือข้อบกพร่องทางลอจิกในผลิตภัณฑ์ Google รุ่นเก่าที่อาจแปลง Gaia ID เป็นอีเมลได้ ได้ร่วมกับ nathan ตรวจสอบ Pixel Recorder
- สร้างรายการบันทึกเสียงทดสอบบนโทรศัพท์ Pixel แล้วซิงก์กับบัญชี Google จากนั้นใช้เอนด์พอยต์
recorder.google.comบนเว็บ - เมื่อแชร์รายการบันทึกเสียงไปยังอีเมลทดสอบ คำขอ
WriteShareListมี obfuscated Gaia ID อยู่ในรายชื่อผู้รับแชร์ - คำตอบจาก
PlaybackService/WriteShareListของpixelrecorder-pa.clients6.google.comส่งคืนที่อยู่อีเมลของผู้รับแชร์รายนั้น- คำตอบทดสอบมี
vrptest2@gmail.com - เมื่อใส่ Gaia ID
107183641464576740691ที่ได้จากการทดลองบล็อกบน YouTube ก็ส่งคืนredacted@gmail.comเช่นกัน
- คำตอบทดสอบมี
- ด้วยเหตุนี้จึงเกิด attack chain ที่นำ Gaia ID ที่ได้จาก YouTube ไปใส่ใน API แชร์ของ Pixel Recorder เพื่อค้นหาที่อยู่อีเมลได้
ชื่อรายการบันทึกเสียง 2.5 ล้านตัวอักษรที่หยุดอีเมลแจ้งเตือน
- เมื่อแชร์รายการบันทึกเสียงใน Pixel Recorder กับเหยื่อ จะมีอีเมลแจ้งเตือนส่งไปยังเหยื่อ ซึ่งอาจทำให้ผลกระทบของการโจมตีลดลง
- ในป๊อปอัปแชร์ไม่มีตัวเลือกปิดการแจ้งเตือน และแม้วิเคราะห์ protobuf ของคำขอด้วย req2proto ก็ไม่พบฟิลด์สำหรับปิดการแจ้งเตือน
- โครงสร้าง
WriteShareListRequestมีฟิลด์ต่อไปนี้recording_iddelete_obfuscated_gaia_idsupdate_shared_userssharing_message
- แม้จะเพิ่มและลบผู้ใช้พร้อมกัน อีเมลก็ยังถูกส่งอยู่
- จากข้อสังเกตว่าหัวเรื่องอีเมลแจ้งเตือนมีชื่อรายการบันทึกเสียงรวมอยู่ด้วย จึงประเมินว่าหากทำให้ชื่อรายการบันทึกเสียงยาวมาก อาจทำให้การส่งอีเมลล้มเหลวได้
- เขียนสคริปต์ Python เพื่อทดสอบการเปลี่ยนชื่อรายการบันทึกเสียงเป็น 2.5 ล้านตัวอักษร ผ่านเอนด์พอยต์
UpdateRecordingTitleและพบว่าไม่มีการจำกัดความยาวชื่อฝั่งเซิร์ฟเวอร์ - หลังตั้งชื่อเป็น 2.5 ล้านตัวอักษรแล้วแชร์ให้ผู้ใช้ทดสอบรายอื่น พบว่าอีเมลแจ้งเตือนไม่ถูกส่ง
PoC สุดท้ายและกำหนดการดำเนินการ
- attack chain ที่เสร็จสมบูรณ์ประกอบด้วยสามขั้นตอน
- รับ obfuscated Gaia ID ของช่องเป้าหมายจากเอนด์พอยต์ YouTube Innertube
/get_item_context_menu - แชร์รายการบันทึกเสียง Pixel Recorder ที่มีชื่อยาวมากกับเป้าหมาย เพื่อแปลง Gaia ID เป็นที่อยู่อีเมล
- ลบผู้ใช้นั้นออกจากผู้รับแชร์ของรายการบันทึกเสียง Pixel Recorder เพื่อเก็บกวาด
- รับ obfuscated Gaia ID ของช่องเป้าหมายจากเอนด์พอยต์ YouTube Innertube
- วิดีโอ PoC มีให้ดูใน วิดีโอ YouTube
รางวัลจาก Google และไทม์ไลน์การแก้ไข
- 2024-09-15: ส่งรายงานให้ผู้ให้บริการ
- 2024-09-16: ผู้ให้บริการ triage รายงาน และได้รับคำตอบว่า
Nice catch! - 2024-10-03: คณะกรรมการทำเครื่องหมายว่าเป็นรายงานซ้ำของบั๊กที่ติดตามอยู่เดิม และทำแพตช์ที่ยังไม่สมบูรณ์สำหรับการเปิดเผย YouTube obfuscated Gaia ID ในช่วงแรก
- 2024-10-03: อธิบายกับผู้ให้บริการอีกครั้งว่า Pixel Recorder เองก็เป็นช่องโหว่ด้วย
- obfuscated Gaia ID สามารถถูกเปิดเผยได้จากผู้รีวิวใน Google Maps และ Google Play เช่นกัน
- ยังให้วิธีบายพาสที่ทำให้ obfuscated Gaia ID ของช่อง YouTube รั่วอีกครั้งด้วย
- 2024-11-05: คณะกรรมการจ่ายรางวัล $3,133
- เหตุผลคือมีความเป็นไปได้ในการใช้โจมตีระดับปานกลาง
- จัดอยู่ในหมวด abuse-related methodology ที่มีผลกระทบสูง
- 2024-12-03: ทีมผลิตภัณฑ์ส่งรายงานกลับไปยังคณะกรรมการเพื่อพิจารณารางวัลเพิ่มเติม และประสานกำหนดเผยแพร่ในวันที่ 2025-02-03
- 2024-12-12: คณะกรรมการจ่ายรางวัลเพิ่มเติม $7,500
- เหตุผลคือมีความเป็นไปได้ในการใช้โจมตีสูง
- จัดอยู่ในหมวด abuse-related methodology ที่มีผลกระทบสูง
- เนื่องจากความซับซ้อนของ attack chain จึงถูกปรับลดลง 1 ระดับจากจำนวนเงินพื้นฐาน
- 2025-01-29: ผู้ให้บริการขอเลื่อนกำหนดเผยแพร่เป็น 2025-02-02
- 2025-02-09: ยืนยันว่าทั้งสองส่วนของ attack chain ได้รับการแก้ไขแล้ว
- เป็นเวลา 147 วัน หลังจากรายงานครั้งแรก
- 2025-02-12: รายงานถูกเผยแพร่
1 ความคิดเห็น
ความเห็นจาก Hacker News
ชื่อเรื่องทำให้งง สำหรับคนที่ไม่ได้อ่านจนจบจะสรุปให้ว่า ไม่ใช่ว่าอีเมลที่รั่วทำให้ต้องเสียเงิน แต่เขาใช้เวลาและไหวพริบแล้วได้รับ เงินรางวัลบั๊กบาวน์ตี 10,000 ดอลลาร์
มีแต่เสียงพูดถึงการเปิดเผยอย่างรับผิดชอบ แรงจูงใจ และรางวัล แต่กลับไม่ค่อยมีคนพูดว่านี่คืออีกหนึ่งเหตุผลที่คัดค้าน ตัวตนถาวรแบบรวมศูนย์
ทุกครั้งที่มีคนอ้างว่าบริการบางอย่างทำงานได้ดีที่สุดเมื่อผูกกับ Real Identity™ เพียงหนึ่งเดียว ก็ทำให้นึกว่าบริษัทต่าง ๆ สนใจปกป้องผู้ใช้แค่ในเชิงนามธรรม และยังเป็นแบบนั้นแค่บางครั้งบางคราวเท่านั้น
ถ้าลองจินตนาการว่าทุกคนที่มีปฏิสัมพันธ์บน YouTube อาจเข้าใกล้การถูกขุดคุ้ยตัวตนส่วนตัวขึ้นทันทีอีกสามสี่ขั้น ผลกระทบที่แท้จริงของบั๊กนี้ก็น่าจะประมาณนั้น ดีแล้วที่ถูกแก้ไข แต่บั๊กประเภทนี้คงไม่หายไปในเร็ว ๆ นี้ ต้องเกิดอะไรขึ้นกันแน่ บริษัทกับองค์กรขนาดใหญ่ถึงจะตระหนักได้ว่าการออกแบบแบบนี้คือทุ่งกับระเบิดที่พร้อมระเบิดได้ทุกเมื่อ
แต่หลายคนก็ทำธุรกรรมกับบริษัทพวกนี้ด้วยเงินจริง เช่น สมาชิก YouTube Premium หรือครีเอเตอร์ ในทางปฏิบัติแล้วต้องมีตัวระบุอัตลักษณ์ในโลกจริงถูกเก็บไว้ที่ไหนสักแห่งของบัญชีที่ทิ้งได้นั้น ด้วยความเสี่ยงเรื่องการฉ้อโกงและข้อเท็จจริงของระบบธนาคาร ผู้ใช้จึงต้องส่งมอบตัวตนจริงและที่อยู่ให้บริษัท และบริษัทก็ต้องเก็บมันไว้
ฉันจะไม่ให้ข้อมูลที่ใช้ระบุตัวคนกับแอปหรือเว็บไซต์สุ่ม ๆ แต่คู่ค้าที่ฉันทำธุรกรรมด้วยย่อมต้องรู้ว่าฉันเป็นใครในโลกจริง และในทางทฤษฎีนั่นก็กลายเป็นจุดที่ข้อมูลอาจรั่วไหลได้
ลองให้ผู้ให้บริการด้านสุขภาพทำ ข้อมูลทางการแพทย์ รั่วสิ แล้วจะพังยับเลย
“นี่คือ POC ของ exploit ที่ใช้งานได้: วิดีโอนี้ถูกลบเนื่องจากละเมิดข้อกำหนดการให้บริการของ YouTube” ฟังดูตลกดี
เพราะทุก ๆ คอมเมนต์ที่สามในเธรดนี้พูดว่า Google จ่ายให้บั๊กนี้น้อยเกินไป เลยขอพูดเรื่องพื้นฐานของ การประเมินมูลค่าช่องโหว่ ไว้ประมาณนี้
ช่องโหว่ฝั่งเซิร์ฟเวอร์มีมูลค่าต่ำกว่า เพราะบริษัทต่าง ๆ ไม่ได้แข่งขันกันซื้อ แทบไม่มีตลาดสีเทาสำหรับช่องโหว่ฝั่งเซิร์ฟเวอร์เลย Google ปิดมันได้ทันที อายุใช้งานหลังถูกค้นพบก็แทบไม่มี และบั๊กที่พอถูกใช้โจมตีก็จะเกิด telemetry ระยะไกลที่เชื่อถือได้จากเป้าหมายแบบนี้ บุคคลที่สามจึงตีราคาได้ยาก
ตรงกันข้าม บั๊กอย่าง full-chain ของ Android/Chrome ขายกันได้หลายแสนดอลลาร์ เพราะ Google ต้องแข่งขันกับตลาดสีเทาที่ก่อตัวชัดเจนแล้ว ผู้ขายรายหนึ่งอาจเอาบั๊กนั้นไปขายต่อให้หลายหน่วยงานในประเทศยุโรปประเทศหนึ่งได้ อาจถึง 6 แห่ง
ถึงอย่างนั้น bounty กับตลาดสีเทาก็เทียบกันเหมือนเอาแอปเปิลไปเทียบส้ม Google ไม่ต้องการ exploit ที่เชื่อถือได้สูง แค่หลักฐานว่ามันเขียนได้ก็พอ และไม่ต้องรับภาระค่าบำรุงรักษา จึงจ่ายน้อยกว่าตลาดสีเทามาก มูลค่ารวมในตลาดอีกฝั่งยังถูกแบ่งออกเป็นหลายชั้นและมีเงื่อนไขความเสี่ยงกำกับ แต่ Google ยังสามารถเสนอเงินก้อนครั้งเดียวที่น่าสนใจได้แม้จะมีส่วนลด
ผู้โจมตีจะซื้อช่องโหว่ที่เข้ากับกระบวนการธุรกิจที่มีอยู่แล้ว โดยทั่วไปพวกเขาไม่ได้จินตนาการแบบคาดเดาล้วน ๆ ว่าช่องโหว่ใหม่อันหนึ่งจะทำอะไรเจ๋ง ๆ ได้บ้างหรือทำเงินอย่างไร การเก็บข้อมูลการชำระเงิน การยึดเครื่องหลายพันเครื่องไปทำ botnet นั้นเป็นกระบวนการธุรกิจที่มีอยู่แล้ว การเปิดเผยชื่อจริงของเจ้าของบัญชี Google จะทำเป็นธุรกิจได้ไหม? อาจได้ แล้วมีอยู่แล้วไหม? น่าจะยังไม่มี
โดยปกติจำนวนเงิน bounty ไม่ใช่การโหวตจากมหาชนว่าบั๊กนี้ฉลาดหรือชวนสนใจแค่ไหน แต่กรณีนี้ก็เป็นแบบนั้นอยู่นิดหน่อย เพราะ 10,000 ดอลลาร์ สำหรับบั๊กเว็บฝั่งเซิร์ฟเวอร์ถือว่าสูงผิดปกติพอสมควร
สำหรับคนที่หาเลี้ยงชีพด้วยการหาบั๊กแบบนี้ กลยุทธ์ทางธุรกิจคือทำให้เก่งในการหาให้ได้จำนวนมาก มันต่างจากการพัฒนา iOS exploit ที่เชื่อถือได้ตัวเดียวซึ่งอาจต้องทุ่มเวลาเป็นเดือน
งานวิจัยช่องโหว่ที่ผมทำในช่วงหลังของอาชีพก็ใกล้กับด้านนี้มากกว่างานอีกหลายแบบ เลยค่อนข้างมั่นใจ แต่ใน HN ก็น่าจะมีคนที่ทำงาน bounty แบบนี้เต็มเวลาอยู่ด้วย ถ้ามีใครแบบนั้นมาแก้ไขก็ยินดีมาก
ถ้าเอาการวิเคราะห์แบบนี้ไปใช้กับอย่างอื่น เพดานราคาของเครื่องเสียงรถยนต์หรือจักรยานคันใหม่ก็คงอยู่ราว 100 ดอลลาร์ และสินค้าที่มีลิขสิทธิ์ทั้งหมดก็ควรมีราคาไม่เกินต้นทุนในการส่งผ่านเครือข่าย
ผมว่าการเอาเงินที่ Google จ่ายไปหารด้วยเวลาที่ใช้ทำงานนี้ รวมถึงเวลาที่เสียไปกับความพยายาม exploit ที่ล้มเหลวทั้งหมดนับตั้งแต่ bounty ครั้งก่อน จะมีประโยชน์กว่า
คนส่วนใหญ่ในวงการนี้น่าจะมีรายได้ต่อแรงงานต่ำกว่าค่าแรงขั้นต่ำของสหรัฐ และกำลังแบกรับค่าเสียโอกาสระดับหกหลักต่อปี
ตัวเลขนั้นสะท้อนอย่างแม่นยำว่า Google ให้คุณค่ากับความปลอดภัยและความเป็นส่วนตัวของผู้ใช้ปลายทางมากแค่ไหน มันต่ำกว่าตัวเลขที่พวกเขาจ่ายให้วิศวกรคนอื่นเพื่อขโมยข้อมูลส่วนตัวของคนกลุ่มเดียวกันอยู่หลายหลัก
เพราะมันเป็นแหล่งรายได้เสริมสำหรับพวกเขา พวกเขาอยากให้ bug bounty สูงขึ้นแบบเดียวกับที่วิศวกรซอฟต์แวร์อยากให้อาชีพของตัวเองเป็นงานที่ค่าตอบแทนสูง เป็นธรรมดาที่แรงงานจะเรียกร้องค่าจ้างในอาชีพของตัวเองให้มากขึ้น และคำอธิบายเชิงเหตุผลแบบไหนก็ไม่เปลี่ยนสัญชาตญาณนั้น
ยังมีแรงจูงใจอื่นที่แยกจากมูลค่าในตลาดของผู้โจมตีด้วย คนรุนแรงที่สะกดรอยคนดังบนออนไลน์อาจไม่ใช่ลูกค้าที่ทำกำไรได้ในตลาด zero-day exploit แบบนี้ แต่ถ้าบริษัทประมาทจนเปิดเผยตัวตนของเป้าหมายให้ stalker ที่มีแนวโน้มใช้ความรุนแรงได้ ช่องโหว่นั้นก็ยังคงเป็น ความเสี่ยงด้านความรับผิดและจริยธรรม
โดยส่วนตัว ผมคิดว่าถ้าคุณยอมจ่ายเงินมหาศาลให้กับพวกนักโชว์ผลงาน LeetCode ที่เขียนโค้ดออกมาปริมาณมหาศาลโดยใส่ใจความปลอดภัยอย่างไม่สมบูรณ์ คุณก็ควรจ่ายดี ๆ ให้กับคนที่ช่วยหาความผิดพลาดมากมายของพวกเขาและแก้ไขมันก่อนจะเกิดเรื่องแย่ ๆ ด้วย
ที่บอกว่า “ปรับลดจากจำนวนเงินพื้นฐานลงหนึ่งขั้น เพราะความซับซ้อนของ attack chain ที่ต้องใช้” แบบนี้พบได้บ่อยไหม?
ผมเคยเข้าร่วมโปรแกรมช่องโหว่มาไม่กี่แห่ง แต่ส่วนใหญ่ถ้าเป็น ข้อบกพร่องที่เรียบง่ายจนน่าเหลือเชื่อแต่ร้ายแรง อย่างเช่นมีอีเมลผู้ใช้โผล่ใน source ของหน้าเว็บ กลับยิ่งจ่ายน้อยกว่า
ที่บอกว่า “เมื่อไม่นานมานี้ตอนกำลังหาพื้นที่วิจัยใน Google ผมกำลังขุดดูเอกสาร discovery ของ Internal People API (Staging)” นี่มันควรเปิดสาธารณะไว้เฉย ๆ ได้จริงหรือ: https://staging-people-pa.sandbox.googleapis.com/$discovery/...
.protoภายใน Google พึ่งพา cryptography จริง ไม่ใช่ security through obscurityอีกอย่าง endpoint สำหรับ discovery ก็มีเอกสารสาธารณะอยู่แล้ว[0] และถูกสร้างมาเพื่อผู้ใช้ภายนอก คนภายในคงไม่มาอ่าน endpoint ของ discovery แต่จะเปิดดูไฟล์
.protoตรง ๆ ผ่าน code search มากกว่าจากประสบการณ์ที่เคยทำงานที่ Google ถ้าจะเปิด API แบบสาธารณะได้ต้องสู้กับระบบราชการกันเป็นสัปดาห์ ๆ มันไม่ใช่กรณีแบบ AWS S3 bucket ที่หลุดมาเปิดโดยบังเอิญ ทีมงานรู้อยู่แล้วว่านี่เป็นของสาธารณะ และน่าจะฝ่าระบบราชการมาเพื่อเปิดมัน
[0]: https://developers.google.com/discovery/v1/getting_started
ถ้าดูตามไทม์ไลน์ของบทความ จะเห็นว่ารายงานให้บริษัททราบเมื่อ 2024-09-15, บริษัทขอขยายเวลาการเปิดเผยไปถึง 2025-02-12 เมื่อ 2025-01-29, ยืนยันได้ว่าช่องโหว่ทั้งสองฝั่งถูกแก้แล้วเมื่อ 2025-02-09 และเปิดเผยเมื่อ 2025-02-12
ถ้าอย่างนั้นก็แปลว่าไม่ได้แก้อยู่ 136 วัน และ Google เป็นฝ่ายขอขยายเวลาไม่ใช่หรือ แก้เสร็จใน 147 วัน และเปิดเผยใน 150 วัน
เมื่อเทียบกับกำหนดเวลาเปิดเผยก่อนแพตช์ที่ Google Project Zero ใช้กับบริษัทอื่น เขาระบุว่า “บั๊กนี้อยู่ภายใต้กำหนดเปิดเผย 90 วัน หากมีการส่งมอบแพตช์ให้ผู้ใช้ก่อนครบ 90 วัน รายงานบั๊กนี้จะถูกเปิดเผย 30 วันหลังจากส่งมอบแพตช์ มิฉะนั้นจะเปิดเผยเมื่อครบกำหนด”
“หากคาดว่าแพตช์จะออกภายใน 14 วันหลังครบกำหนด Project Zero อาจให้ขยายเวลาได้… อย่างไรก็ตาม ระยะผ่อนผัน 14 วันนี้ทับซ้อนกับช่วงการนำแพตช์ไปใช้ 30 วัน ดังนั้นแม้ช่องโหว่จะถูกแก้ภายในช่วงผ่อนผัน ก็ยังจะถูกเปิดเผยไม่เกินวันที่ 120 นับจากกำหนดเดิม 90 วัน”
“หากเห็นว่าไม่น่าจะมีแพตช์พร้อมภายใน 14 วัน จะใช้กำหนดเดิม 90 วันเป็นวันเปิดเผย กล่าวคือ จะให้ขยายเวลา 14 วันเฉพาะเมื่อผู้พัฒนารับปากว่าจะปล่อยแพตช์ภายในช่วงผ่อนผัน 14 วันเท่านั้น”
https://googleprojectzero.blogspot.com/p/vulnerability-discl...
ที่บอกว่า “params พวกนั้นก็เป็นแค่ protobuf ที่เข้ารหัสด้วย base64 ซึ่งเป็นรูปแบบการเข้ารหัสที่ใช้กันทั่วไปทั่ว Google” นี่ ต้องขอชนแก้วให้กับนักพัฒนา Google ผู้รับหน้าที่ยัดรูปแบบข้อความไบนารีอันหรูหราให้กลายเป็น base64 encoding แล้วฝังลงไปในก้อน JSON จริง ๆ
ถ้าอยากเห็นภาพอนาคต ก็ให้จินตนาการถึงรองเท้าบูตที่มีคำว่า “worse is better” สลักอยู่ใต้พื้น กำลังกระทืบหน้าวิศวกรไปตลอดกาล
ส่วน JSON น่าจะเป็นการแปลงอัตโนมัติ
การทำระบบอีเมลพังจนส่งเมลไม่ได้คือจุดพีกจริง ๆ สำหรับบริษัทยักษ์ใหญ่อย่าง Google ที่มีผลิตภัณฑ์นับไม่ถ้วน ความปลอดภัย ชวนให้รู้สึกเหมือนเป็นภาพลวงตา
ถ้าทุกบรรทัดของโค้ดคือช่องโหว่ที่เป็นไปได้ ในโค้ดหลายล้านบรรทัดมันก็แทบจะเป็นเรื่องหลีกเลี่ยงไม่ได้ ดูเหมือนว่าจะไม่มีทางออกนอกจากทำให้ระบบเรียบง่าย เช่น เลิกใช้เว็บ recorder ไปเลย แต่ถึงอย่างนั้นก็ไม่ง่าย
ผลิตภัณฑ์ซอฟต์แวร์ส่วนใหญ่พึ่งพา software stack ที่ซับซ้อนมาก และถ้าคิดว่าสามารถเชื่อถือไลบรารีทุกตัวรวมถึงระบบปฏิบัติการทั้งหมดได้ 100% ก็ถือว่าเป็นทัศนคติที่ผิด แม้แต่โปรเซสเซอร์เองก็ยังเคยมีบั๊กอย่าง Meltdown ความปลอดภัยเป็นการต่อสู้ที่ไม่มีวันจบ และเราไม่มีวันรู้จริง ๆ ว่าชนะเมื่อไร จะรู้แค่บางครั้งตอนแพ้
[1] https://en.wikipedia.org/wiki/Drake_equation
ตอนแรกฉันก็เข้าใจชื่อเรื่องผิดเหมือนกัน คิดว่าเป็นประมาณ ค่าใช้จ่ายการประมวลผล GPU 10,000 ดอลลาร์ พอเห็นว่าแค่หยิบผลิตภัณฑ์ Google เก่า ๆ มาชิ้นหนึ่งก็เจอช่องโหว่ได้ทันที ก็ดูเหมือนว่ายังน่าจะมีบั๊กแบบนี้อีกหลายสิบหรือหลายร้อยจุด