นักวิจัยได้ค้นพบและเผยแพร่รายละเอียดของการโจมตี XSS ที่อาจส่งผลกระทบต่อเว็บไซต์หลายล้านแห่งทั่วโลก
Salt Labs ซึ่งเป็นหน่วยวิจัยของบริษัทด้านความปลอดภัย API Salt Security ได้ค้นพบและเผยแพร่รายละเอียดของการโจมตีแบบ cross-site scripting (XSS) ที่อาจส่งผลกระทบต่อเว็บไซต์หลายล้านแห่งทั่วโลก
นี่ไม่ใช่ช่องโหว่ของผลิตภัณฑ์ที่สามารถแก้ไขได้จากส่วนกลาง แต่เป็นปัญหาการใช้งานระหว่างโค้ดของเว็บกับแอปที่เป็นที่นิยมมาก: OAuth ที่ใช้สำหรับการเข้าสู่ระบบด้วยโซเชียล นักพัฒนาเว็บไซต์ส่วนใหญ่เชื่อว่าปัญหา XSS เป็นเรื่องในอดีตที่ได้รับการแก้ไขโดยการบรรเทาหลายอย่างที่ถูกนำเสนอในช่วงหลายปีที่ผ่านมา Salt แสดงให้เห็นว่านี่ไม่จำเป็นต้องเป็นเช่นนั้น
ด้วยความเข้มข้นที่ลดลงในปัญหา XSS และแอปการเข้าสู่ระบบด้วยโซเชียลที่ใช้อย่างกว้างขวางและสามารถซื้อและใช้งานได้ง่ายในไม่กี่นาที นักพัฒนาสามารถละสายตาจากปัญหาได้ มีความรู้สึกของความคุ้นเคยที่นี่ และความคุ้นเคยนี้นำไปสู่ความผิดพลาด
ปัญหาพื้นฐานไม่ใช่เรื่องใหม่ เทคโนโลยีใหม่ที่มีการแนะนำกระบวนการใหม่เข้าสู่ระบบนิเวศที่มีอยู่สามารถทำให้สมดุลที่มีอยู่ของระบบนิเวศนั้นถูกรบกวน นี่คือสิ่งที่เกิดขึ้นที่นี่ ไม่ใช่ปัญหาของ OAuth แต่มันอยู่ที่การใช้งาน OAuth ภายในเว็บไซต์ Salt Labs พบว่า เว้นแต่ว่ามันจะถูกใช้งานด้วยความระมัดระวังและเข้มงวด – และบ่อยครั้งที่ไม่เป็นเช่นนั้น – การใช้ OAuth สามารถเปิดเส้นทาง XSS ใหม่ที่ข้ามการบรรเทาปัจจุบันและสามารถนำไปสู่การยึดบัญชีเต็มรูปแบบ
Salt Labs ได้เผยแพร่รายละเอียดของการค้นพบและวิธีการของพวกเขา โดยมุ่งเน้นไปที่บริษัทเพียงสองแห่ง: HotJar และ Business Insider ความสำคัญของสองตัวอย่างนี้คือ พวกเขาเป็นบริษัทใหญ่ที่มีทัศนคติด้านความปลอดภัยที่แข็งแกร่ง และที่สองคือ ปริมาณข้อมูลส่วนบุคคลที่อาจถือโดย HotJar นั้นมหาศาล หากสองบริษัทใหญ่เหล่านี้มีการใช้งาน OAuth ผิดพลาด ความน่าจะเป็นที่เว็บไซต์ที่มีทรัพยากรน้อยกว่าจะทำเหมือนกันนั้นมหาศาล
สำหรับบันทึก Yaniv Balmas รองประธานฝ่ายวิจัยของ Salt บอกกับ SecurityWeek ว่าปัญหา OAuth ยังถูกพบในเว็บไซต์รวมถึง Booking.com, Grammarly และ OpenAI แต่ไม่ได้รวมสิ่งเหล่านี้ในรายงานของพวกเขา “นี่เป็นเพียงผู้โชคร้ายที่ตกอยู่ภายใต้กล้องจุลทรรศน์ของเรา หากเรายังคงมองหา เราจะพบมันในที่อื่น ๆ ฉันมั่นใจ 100% ในเรื่องนี้” เขากล่าว
ที่นี่เราจะมุ่งเน้นไปที่ HotJar เนื่องจากการแพร่กระจายตลาด ปริมาณข้อมูลส่วนบุคคลที่รวบรวม และการรับรู้สาธารณะที่ต่ำ “มันคล้ายกับ Google Analytics หรืออาจเป็นส่วนเสริมของ Google Analytics” Balmas อธิบาย “มันบันทึกข้อมูลการเซสชันของผู้ใช้จำนวนมากสำหรับผู้เยี่ยมชมเว็บไซต์ที่ใช้มัน – ซึ่งหมายความว่าแทบทุกคนจะใช้ HotJar บนเว็บไซต์รวมถึง Adobe, Microsoft, Panasonic, Columbia, Ryanair, Decathlon, T-Mobile, Nintendo และชื่อใหญ่อื่น ๆ อีกมากมาย” กล่าวได้ว่าเว็บไซต์หลายล้านแห่งใช้ HotJar
จุดประสงค์ของ HotJar คือการรวบรวมข้อมูลทางสถิติของผู้ใช้สำหรับลูกค้าของมัน “แต่จากสิ่งที่เราเห็นใน HotJar มันบันทึกภาพหน้าจอและเซสชัน และตรวจสอบการคลิกแป้นพิมพ์และการกระทำของเมาส์ อาจมีข้อมูลที่มีความอ่อนไหวมากมายที่ถูกเก็บไว้ เช่น ชื่อ อีเมล ที่อยู่ ข้อความส่วนตัว รายละเอียดธนาคาร และแม้แต่ข้อมูลประจำตัว และคุณและผู้บริโภคหลายล้านคนอื่น ๆ ที่อาจไม่เคยได้ยินชื่อ HotJar ขณะนี้พึ่งพาความปลอดภัยของบริษัทนั้นในการเก็บข้อมูลของคุณเป็นความลับ” และ Salt Labs ได้ค้นพบวิธีการเข้าถึงข้อมูลนั้น
(ในความเป็นธรรมกับ HotJar ควรสังเกตว่าบริษัทใช้เวลาเพียงสามวันในการแก้ไขปัญหาหลังจากที่ Salt Labs เปิดเผยให้พวกเขาทราบ)
HotJar ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดทั้งหมดในปัจจุบันสำหรับการป้องกันการโจมตี XSS ซึ่งควรจะป้องกันการโจมตีทั่วไป แต่ HotJar ยังใช้ OAuth เพื่ออนุญาตการเข้าสู่ระบบด้วยโซเชียล หากผู้ใช้เลือกที่จะ ‘เข้าสู่ระบบด้วย Google’ HotJar จะเปลี่ยนเส้นทางไปยัง Google หาก Google รับรู้ผู้ใช้ที่คาดหมาย มันจะเปลี่ยนเส้นทางกลับไปยัง HotJar พร้อมกับ URL ที่มีรหัสลับที่สามารถอ่านได้ โดยพื้นฐานแล้ว การโจมตีเป็นเพียงวิธีการปลอมแปลงและดักจับกระบวนการนั้นและได้รับความลับในการเข้าสู่ระบบที่ถูกต้อง
“เพื่อรวม XSS กับฟีเจอร์เข้าสู่ระบบด้วยโซเชียลใหม่ (OAuth) นี้และบรรลุการใช้งานการแสวงหาผลประโยชน์ เราใช้โค้ด JavaScript ที่เริ่มกระบวนการเข้าสู่ระบบ OAuth ใหม่ในหน้าต่างใหม่และจากนั้นอ่านโทเค็นจากหน้าต่างนั้น” Salt อธิบาย Google เปลี่ยนเส้นทางผู้ใช้ แต่มีความลับในการเข้าสู่ระบบใน URL “โค้ด JS อ่าน URL จากแท็บใหม่ (นี่เป็นไปได้เพราะหากคุณมี XSS ในโดเมนในหน้าต่างหนึ่ง หน้าต่างนี้สามารถเข้าถึงหน้าต่างอื่น ๆ ของต้นกำเนิดเดียวกัน) และดึงข้อมูลรับรอง OAuth จากมัน”
โดยพื้นฐานแล้ว ‘การโจมตี’ ต้องการเพียงลิงก์ที่สร้างขึ้นไปยัง Google (เลียนแบบความพยายามในการเข้าสู่ระบบโซเชียลของ HotJar แต่ขอ ‘โทเค็นโค้ด’ แทนที่จะตอบกลับ ‘โค้ด’ ธรรมดาเพื่อป้องกันไม่ให้ HotJar ใช้โค้ดแบบครั้งเดียว); และวิธีการทางวิศวกรรมสังคมเพื่อชักชวนให้เหยื่อคลิกลิงก์และเริ่มการโจมตี (ด้วยรหัสที่ถูกส่งมอบให้กับผู้โจมตี) นี่คือพื้นฐานของการโจมตี: ลิงก์ที่เป็นเท็จ (แต่ดูเหมือนถูกต้องตามกฎหมาย) ชักชวนให้เหยื่อคลิกลิงก์ และได้รับรหัสเข้าสู่ระบบที่สามารถใช้งานได้
“เมื่อนักโจมตีได้รับรหัสของเหยื่อแล้ว พวกเขาสามารถเริ่มกระบวนการเข้าสู่ระบบใหม่ใน HotJar แต่แทนที่รหัสของพวกเขาด้วยรหัสของเหยื่อ – นำไปสู่การยึดบัญชีเต็มรูปแบบ” Salt Labs รายงาน
ช่องโหว่อยู่ที่การใช้งาน OAuth โดยเว็บไซต์หลายแห่ง การใช้งานที่ปลอดภัยอย่างสมบูรณ์ต้องใช้ความพยายามเพิ่มเติมที่เว็บไซต์ส่วนใหญ่ไม่ตระหนักและปฏิบัติ หรือเพียงแค่ไม่มีทักษะภายในองค์กรในการทำเช่นนั้น
จากการสอบสวนของตนเอง Salt Labs เชื่อว่ามีเว็บไซต์ที่มีความเสี่ยงหลายล้านแห่งทั่วโลก ขนาดนั้นใหญ่เกินไปสำหรับบริษัทที่จะสอบสวนและแจ้งเตือนทุกคนเป็นรายบุคคล ดังนั้น Salt Labs จึงตัดสินใจเผยแพร่การค้นพบของพวกเขา แต่รวมเข้ากับเครื่องสแกนฟรีที่ช่วยให้ผู้ใช้ OAuth ตรวจสอบว่าเว็บไซต์ของพวกเขามีความเสี่ยงหรือไม่
เครื่องสแกนสามารถใช้งานได้ที่นี่
มันให้การสแกนโดเมนฟรีเป็นระบบเตือนภัยล่วงหน้า โดยการระบุปัญหาการใช้งาน OAuth XSS ที่เป็นไปได้ล่วงหน้า Salt หวังว่าองค์กรจะดำเนินการเชิงรุกเพื่อแก้ไขปัญหาเหล่านี้ก่อนที่จะพัฒนาเป็นปัญหาใหญ่กว่า “ไม่มีการรับประกัน” Balmas แสดงความคิดเห็น “ฉันไม่สามารถรับประกันความสำเร็จ 100% แต่มีโอกาสสูงมากที่เราจะสามารถทำเช่นนั้นได้ และอย่างน้อยก็ชี้ให้ผู้ใช้เห็นจุดที่สำคัญในเครือข่ายของพวกเขาที่อาจมีความเสี่ยงนี้”
