วันนี้เรารู้สึกตื่นเต้นที่จะแนะนำ Page Shield ซึ่งเป็นผลิตภัณฑ์รักษาความปลอดภัยฝั่งไคลเอนต์ที่ลูกค้าสามารถนำมาใช้ตรวจจับการโจมตีในเบราว์เซอร์ของผู้ใช้ปลายทางได้
ในปี 2015 กลุ่มแฮ็กเกอร์ชื่อ Magecart ได้เริ่มขโมยข้อมูลการชำระเงินจากร้านค้าออนไลน์โดยการแพร่รหัสที่เป็นอันตรายไปยังส่วนที่เชื่อมโยงกันของบุคคลที่สาม โดยรหัสที่ติดไวรัสจะถูกร้องขอโดยเบราว์เซอร์ของผู้ใช้ปลายทาง ก่อนมีการใช้รหัสดังกล่าวและเข้าถึงข้อมูลผู้ใช้บนหน้าเว็บ หลังจากรวบรวมข้อมูลแล้ว รหัสที่ติดไวรัสจะส่งข้อมูลเหล่านั้นไปให้แฮ็กเกอร์ เพื่อขายต่อหรือใช้เริ่มต้นโจมตีเพิ่มเติม เช่น การฉ้อโกงบัตรเครดิตและการขโมยข้อมูลยืนยันตัวตน
เป้าหมายอื่น ๆ ของการโจมตีแบบซัพพลายเชนตั้งแต่นั้นได้รวม Ticketmaster, Newegg, British Airways และอื่น ๆ ด้วย การโจมตี British Airways เกิดจากช่องโหว่ของไฟล์ JavaScript หนึ่งไฟล์ที่โฮสต์เอง โดยมีการเปิดเผยข้อมูลของลูกค้าเกือบ 500,000 รายให้กับแฮ็กเกอร์ การโจมตีส่งผลให้มีการสั่งปรับเงินตามข้อกำหนดของ GDPR และฟ้องร้องดำเนินคดีความเป็นส่วนตัวที่ใหญ่ที่สุดในประวัติศาสตร์ของสหราชอาณาจักร กล่าวโดยรวม มีผู้ใช้นับล้านรายได้รับผลกระทบจากการโจมตีเหล่านี้
การเขียนรหัสความปลอดภัยภายในองค์กรมีความท้าทายพอตัวโดยไม่ต้องกังวลถึงผู้จำหน่ายบุคคลที่สาม แพลตฟอร์ม SaaS จำนวนมากให้บริการโค้ดของบุคคลที่สามกับไซต์หลายล้านแห่ง ซึ่งหมายความว่าช่องโหว่ของความปลอดภัยเพียงครั้งเดียวอาจมีผลลัพธ์ที่ร้ายแรงได้ Page Shield ช่วยให้ลูกค้าตรวจสอบเวกเตอร์การโจมตีที่อาจเกิดขึ้นเหล่านี้ และป้องกันไม่ให้ข้อมูลผู้ใช้ที่เป็นความลับตกไปอยู่ในมือของแฮกเกอร์
เมื่อต้นสัปดาห์นี้ เราเปิดตัว Remote Browser Isolation ให้กับทุกคนเพื่อบรรเทาผลกระทบจากการโจมตีฝั่งไคลเอนต์ในเบราว์เซอร์ของพนักงานของคุณ โดย Page Shield จะผลักดัน Cloudflare ให้หันมาจับเรื่องการรักษาความปลอดภัยฝั่งไคลเอนต์อย่างต่อเนื่องด้วยการบรรเทาผลกระทบจากการโจมตีที่มุ่งเป้าไปที่ลูกค้าของคุณ
ภูมิหลัง
การโจมตีแบบ Magecart เป็นการโจมตีซัพพลายเชนซอฟต์แวร์แบบหนึ่งที่เกิดขึ้นภายในเบราว์เซอร์ของผู้ใช้ ผู้โจมตีเล็งเป้าหมายไปที่โฮสต์ของรายการ JavaScript ที่เชื่อมโยงกันของบุคคลที่สาม และเข้าควบคุมซอร์สโค้ดบนเบราว์เซอร์ เมื่อโค้ดที่ติดไวรัสทำงาน โค้ดนั้นจะพยายามขโมยข้อมูลที่ละเอียดอ่อนซึ่งผู้ใช้ปลายทางป้อนเข้าสู่ไซต์ เช่น รายละเอียดบัตรเครดิตระหว่างขั้นตอนการชำระเงิน
การโจมตีเหล่านี้ตรวจจับได้ยาก เนื่องจากเจ้าของแอปพลิเคชันจำนวนมากไว้วางใจให้ JavaScript ของบุคคลที่สามทำงานอย่างที่ตั้งใจไว้ และเพราะความเชื่อถือนี้ เจ้าของแอปพลิเคชันจึงไม่ค่อยตรวจสอบโค้ดของบุคคลที่สามอย่างจริง ๆ จัง ๆ ในหลายกรณี การโจมตีของ Magecart นั้นกินเวลาหลายเดือนก่อนที่จะตรวจจับได้
การขโมยข้อมูลไม่ได้เป็นเพียงความเสี่ยงที่เกิดจากซัพพลายเชนของซอฟต์แวร์เท่านั้น เพราะในช่วงไม่กี่ปีที่ผ่านมา เราได้เห็นแฮ็กเกอร์แก้ไขโค้ดของบุคคลที่สามเพื่อแสดงโฆษณาที่หลอกหลวงผู้ใช้ เมื่อผู้ใช้คลิกผ่านโฆษณาเหล่านี้และไปที่ไซต์ฟิชชิ่ง แฮกเกอร์ก็จะขโมยข้อมูลส่วนบุคคลของผู้ใช้ มัลแวร์ JavaScript อื่น ๆ ได้ขุดสกุลเงินคริปโตไว้ให้กับผู้โจมตีโดยใช้ทรัพยากรของผู้ใช้ปลายทาง ส่งผลให้ไซต์มีประสิทธิภาพการทำงานแย่ลง
เจ้าของแอปพลิเคชันสามารถทำอะไรได้บ้างเพื่อปกป้องตัวเอง เทคโนโลยีเบราว์เซอร์ที่มีอยู่ เช่น Content Security Policy (CSP) และ Subresource Integrity (SRI) ช่วยป้องกันภัยคุกคามฝั่งไคลเอนต์ แต่มีข้อเสียบางประการ
CSP ช่วยให้เจ้าของแอปพลิเคชันส่งรายการที่อนุญาตไปยังเบราว์เซอร์ได้ ป้องกันไม่ให้สั่งการทรัพยากรใด ๆ นอกรายการทำงาน แม้ว่าวิธีนี้สามารถป้องกันการโจมตีแบบสคริปต์ข้ามไซต์ (XSS) ได้ แต่ไม่สามารถตรวจจับเมื่อทรัพยากรที่มีอยู่เปลี่ยนจากสถานะปกติเป็นสถานะอันตราย การจัดการ CSP ยังสร้างความหนักใจขณะดำเนินงาน เนื่องจากนักพัฒนาต้องอัปเดตรายการที่อนุญาตทุกครั้งที่มีการเพิ่มสคริปต์ใหม่ลงในไซต์
SRI ช่วยให้เจ้าของแอปพลิเคชันสามารถระบุแฮชไฟล์ที่คาดการณ์ไว้สำหรับ JavaScript และทรัพยากรอื่น ๆ ได้ หากไฟล์ที่ดึงมาไม่ตรงกับแฮช ไฟล์นั้นจะถูกปิดกั้นไม่ให้ดำเนินการ ความท้าทายของ SRI คือผู้จำหน่ายอัปเดตโค้ดบ่อย ๆ และในบางกรณีก็ให้บริการไฟล์ต่าง ๆ แก่ผู้ใช้ปลายทางที่แตกต่างกัน นอกจากนี้ เรายังพบว่าบางครั้งผู้จำหน่าย JavaScript จะให้บริการไฟล์ที่มีเวอร์ชันพร้อมกับแฮชต่างกันแก่ผู้ใช้ปลายทางเนื่องจากมีความแตกต่างเล็กน้อย เช่น การเว้นวรรค ซึ่งอาจส่งผลให้ SRI ปิดกั้นไฟล์ที่ถูกต้องโดยไม่ใช่ความผิดของเจ้าของแอปพลิเคชัน
Script Monitor เป็นคุณสมบัติ Page Shield ตัวแรกที่พร้อมนำมาใช้
Script Monitor คือจุดเริ่มต้นของความทะเยอทะยานของ Cloudflare ใน Page Shield เมื่อเปิดใช้งาน คุณสมบัตินี้จะบันทึกรายการความเชื่อมโยงกันของ JavaScript ของไซต์ของคุณตามช่วงเวลา เมื่อความเชื่อมโยง JavaScript ใหม่ปรากฏขึ้น เราจะแจ้งเตือนเพื่อให้คุณสามารถตรวจสอบได้ว่าเป็นการเปลี่ยนแปลงที่คุณคาดการณ์ว่าจะเกิดขึ้นในไซต์หรือไม่ วิธีนี้ช่วยให้คุณระบุได้ว่าผู้ไม่หวังดีได้แก้ไขแอปพลิเคชันของคุณเพื่อขอไฟล์ JavaScript ใหม่ที่เป็นอันตรายหรือไม่ เมื่อเวอร์ชั่นเบต้าเสร็จสมบูรณ์ ชุดคุณสมบัติเริ่มต้นนี้จะพร้อมใช้งานสำหรับลูกค้า Business และ Enterprise โดยไม่มีค่าใช้จ่ายเพิ่มเติม
Script Monitor ทำงานอย่างไร
เนื่องจากตำแหน่งที่มีความเฉพาะตัวของ Cloudflare ระหว่างเซิร์ฟเวอร์ต้นทางของแอปพลิเคชันและผู้ใช้ปลายทาง เราจึงสามารถแก้ไขการตอบสนองก่อนการตอบสนองนั้นจะถึงผู้ใช้ปลายทางได้ ในกรณีนี้ เรากำลังเพิ่มส่วนหัว Content-Security-Policy-Report-Only เพิ่มเติมในหน้าเว็บขณะที่การตอบสนองผ่านสภาพแวดล้อม Edge ของเรา เมื่อไฟล์ JavaScript พยายามดำเนินการบนหน้าเพจ เบราว์เซอร์จะส่งรายงานกลับไปที่ Cloudflare เนื่องจากเราใช้ส่วนหัวแบบรายงานเท่านั้น เจ้าของแอปพลิเคชันจึงไม่จำเป็นต้องดูแลรายการที่อนุญาตสำหรับข้อมูลเชิงลึกที่เกี่ยวข้อง
สำหรับแต่ละรายงานที่เราเห็น เราเปรียบเทียบไฟล์ JavaScript กับความเชื่อมโยงกันในอดีตของโซนนั้น และตรวจสอบว่าไฟล์นั้นเป็นไฟล์ใหม่หรือไม่ หากเป็นเช่นนั้น เราจะส่งการแจ้งเตือนเพื่อให้ลูกค้าสามารถตรวจสอบและพิจารณาว่าการเปลี่ยนแปลงนั้นเป็นไปตามที่คาดไว้หรือไม่
Script Monitor UI อยู่ใต้ Firewall -> Page Shield
ในฐานะผู้เข้าร่วมเบต้า คุณจะเห็นแท็บ Page Shield ใต้ส่วนไฟร์วอลล์ของแดชบอร์ดโซนของคุณ และเห็นตาราง Script Monitor ที่จะติดตามความเชื่อมโยง JavaScript ของโซนของคุณ สำหรับการเชื่อมโยงแต่ละรายการ คุณสามารถดูวันที่เห็นเป็นครั้งแรก วันที่เห็นเป็นครั้งสุดท้าย และโดเมนโฮสต์ที่ตรวจพบ
พบตัวอย่างการแจ้งเตือนทางอีเมลสำหรับรายการความเชื่อมโยง JavaScript ใหม่
คุณยังสามารถกำหนดค่าการแจ้งเตือน Script Monitor ในแดชบอร์ดได้อีกด้วย การแจ้งเตือนเหล่านี้จะส่งการแจ้งเตือนไปยังอีเมลหรือ PagerDuty ทุกครั้งที่ไซต์ของคุณร้องขอไฟล์ JavaScript ใหม่
อนาคตข้างหน้า
ภารกิจของเราคือช่วยสร้างอินเทอร์เน็ตที่ดีขึ้น ซึ่งได้ขยายไปสู่เบราว์เซอร์ของผู้ใช้ปลายทาง ที่เราพบว่ามีการโจมตีเพิ่มขึ้นอย่างน่าตกใจในช่วงหลายปีที่ผ่านมา แต่เราจะใช้ Page Shield เพื่อช่วยให้แอปพลิเคชันตรวจจับและบรรเทาผลกระทบจากการโจมตีที่เข้าใจยากเหล่านี้ เพื่อรักษาความปลอดภัยให้กับข้อมูลที่ละเอียดอ่อนของผู้ใช้
เราสร้างการตรวจจับการเปลี่ยนแปลงโค้ดใน Script Monitor เรียบร้อยแล้ว การตรวจจับการเปลี่ยนแปลงโค้ดจะดึงข้อมูลความเชื่อมโยงของ JavaScript ของแอปพลิเคชันของคุณเป็นระยะ ๆ และวิเคราะห์พฤติกรรมของการเชื่อมโยงเหล่านั้น เมื่อตรวจพบพฤติกรรมใหม่ของโค้ดในไฟล์ที่มีอยู่ เราจะแจ้งเตือนเพื่อให้คุณสามารถตรวจสอบการเปลี่ยนแปลงและพิจารณาว่าโค้ดใหม่เป็นการอัปเดตที่ไม่เป็นอันตรายหรือเป็นส่วนของโค้ดที่ติดไวรัส
สิ่งที่ตามมาหลังตรวจจับการเปลี่ยนแปลงโค้ดได้คือการวิเคราะห์ไฟล์ JavaScript อย่างชาญฉลาด ในขณะที่การแจ้งเตือนเจ้าของแอปพลิเคชันเมื่อมีความเชื่อมโยงเปลี่ยนแปลงไปจากเดิมให้ข้อมูลเชิงลึกเกี่ยวกับไฟล์ที่น่าสนใจ แต่เราทำได้ดีกว่านั้น เราได้ร่วมมือกับพันธมิตรด้านความปลอดภัยเพื่อรับตัวอย่าง Magecart JavaScript และได้พิสูจน์แล้วว่า เราสามารถจำแนกตัวอย่าง JavaScript ที่เป็นอันตรายได้อย่างแม่นยำ เราวางแผนที่จะปรับปรุงเทคนิคต่าง ๆ เพิ่มเติม และเริ่มแจ้งเตือนลูกค้า Page Shield หากเราเชื่อว่ารายการที่เชื่อมโยงกันของลูกค้าเป็นอันตราย
เราได้พูดคุยกับลูกค้า และเข้าใจว่าการรักษารายการที่อนุญาต CSP นั้นเป็นการดำเนินการที่ท้าทายในการดำเนินการ หาก JavaScript ฝั่งไคลเอนต์ใหม่ถูกปรับใช้โดยไม่ได้เพิ่มลงในรายการที่อนุญาต เบราว์เซอร์จะปิดกั้นโค้ดใหม่นั้น นั่นเป็นเหตุผลที่เราจะใช้ตำแหน่งของเราเป็นพร็อกซีย้อนกลับ (reverse-proxy) เพื่อจัดส่งการปิดกั้นโมเดลความปลอดภัยเชิงลบ วิธีนี้จะช่วยให้เจ้าของแอปพลิเคชันสามารถปิดกั้นสคริปต์แต่ละรายการได้โดยไม่ต้องรักษารายการที่อนุญาต เพื่อให้มั่นใจว่าลูกค้าสามารถส่งโค้ดใหม่ได้โดยไม่มีค่าใช้จ่ายที่ยุ่งยาก
ลงชื่อสมัครใช้เบต้า
ตั้งแต่วันนี้เป็นต้นไป ลูกค้า Business และ Enterprise ทุกคนสามารถลงทะเบียนที่นี่ เพื่อเข้าร่วมรุ่นเบต้าแบบปิดสำหรับ Page Shield หลังจากเข้าร่วมแล้ว ลูกค้าจะสามารถเปิดใช้งาน Script Monitor และเริ่มตรวจสอบ JavaScript ของไซต์ได้