นักวิจัยค้นพบเทคนิคการโจมตีแบบหลีกเลี่ยงการตรวจจับ (Bypass) ด้วยช่องโหว่บน Web Application Firewalls (WAF) ส่งกระทบกับหลายผลิตภัณฑ์

นักวิจัยจาก Claroty บริษัทด้านความปลอดภัยทางไซเบอร์ในอุตสาหกรรม และ IoT ได้คิดค้นเทคนิคการโจมตีแบบหลีกเลี่ยงการตรวจจับ (Bypass) จาก Web Application Firewalls (WAF) ของแบรนด์ชั้นนำในอุตสาหกรรมหลายราย

Web Application Firewalls (WAF) คือ Firewall ที่คอยตรวจสอบ คัดกรอง และบล็อกทราฟฟิก HTTP(S) ที่ เข้า/ออก จากเว็บแอปพลิเคชัน รวมถึงป้องกันการโจมตี เช่น Cross-Site Forgery, Cross-Site-Scripting (XSS), File Inclusion และ SQL injection เป็นต้น

การค้นพบช่องโหว่

เทคนิคดังกล่าว ถูกค้นพบขณะดำเนินการวิจัยเรื่องรูปแบบการจัดการอุปกรณ์ไร้สายของ Cambium Networks โดยนักวิจัยได้ค้นพบช่องโหว่ Cambium SQL ที่สามารถเข้าถึงข้อมูลส่วนตัวได้ เช่น Sessions ของผู้ใช้, SSH keys, Password Hashes, Tokens และ Verification Codes ซึ่งสามารถโจมตีผ่านช่องโหว่ SQL injection ไปยัง On-Premises ได้ แต่ขณะเดียวกัน การโจมตีผ่านช่องโหว่ดังกล่าวไปยัง Cloud ถูก Block โดย Amazon Web Services (AWS) WAF นักวิจัยได้คิดค้นวิธีโจมตีแบบหลีกเลี่ยงการตรวจจับ (Bypass) จากช่องโหว่ AWS WAF

วิธีการโจมตี

โดยค้นพบว่า การรวมเอา JSON syntax เข้ากับรูปแบบการโจมตีแบบ SQL injection Payloads จะสามารถหลีกเลี่ยงการตรวจจับ (Bypass) ไปได้ เนื่องจาก WAF ไม่สามารถที่จะแยกแยะและวิเคราะห์รูปแบบการโจมตีได้

PostgreSQL: ‘{“b”:2}’::jsonb <@ ‘{“a”:1, “b”:2}’::jsonb Is the left JSON contained in the right one? True.

IMPERVA ออกคำแถลงการณ์เกี่ยวกับข้อมูลรั่วไหล

IMPERVA Breach Exposes WAF Customers' Data, Including SSL Certs, API Keys

IMPERVA เป็นผู้นำด้าน Web Application Firewall แจ้งเตือนบริการ Cloud Web Application Firewall (Cloud WAF) หรือเดิมชื่อ Incapsula เป็นบริการป้องกัน DDoS และ Cloud Web Application Firewall แจ้งว่าข้อมูลของลูกค้ารั่วไหล

Chris Hylen (CEO) ผู้บริการของบริษัท IMPERVA ออกมากล่าวถึงเหตุการณ์ที่เกิดขึ้นในวันที่ 20 สิงหาคม 2019 หลังจากได้รับรายงานจาก Third Party ว่าบริการ Cloud Web Application Firewall (Incapsula) มีข้อมูลของลูกค้ารั่วไหล โดยส่งผลกระทบต่อลูกค้าที่ใช้บริการตั้งแต่อดีตจนถึงวันที่ 15 กันยายน 2017 ซึ่งผู้ใช้บริการหลังวันที่ 15 กันยายน 2017 จะไม่ได้รับผลกระทบ
โดยข้อมูลส่วนที่ได้รับผลกระทบได้แก่

Email address
Password ที่เป็น Hash และ Salted
API Key
SSL certificate ที่ลูกค้าได้ Upload เข้าระบบ Incapsula

ทั้งนี้ IMPERVA ได้ทำการแจ้งเตือนและติดต่อไปยังลูกค้าทีได้รับผลกระทบเพื่อช่วยเหลือและแนะนำวิธีการแก้ไขรวมถึงการเพิ่มความปลอดภัยให้กับผู้ใช้บริการ ในระหว่างที่กำลังตรวจสอบถึงช่องทางที่ถูกโจมตีและผลของการ Forensic ซึ่งหากทำการวิเคราะห์เหตุการณ์เรียบร้อยแล้วจะแจ้งให้ทราบเป็นลำดับถัดไป
คำแนะนำสำหรับผู้ใช้บริการ Cloud WAF (Incapsula)
ควรตั้งค่า 2 Factor Authentication ให้กับ Account ที่ใช้ Manage Incapsula และสำหรับผู้ที่ได้รับผลกระทบควรทำการ Generate และ Upload SSL Certificate เข้าไปที่ระบบของ Incapsula ใหม่อีกครั้ง รวมถึงผู้ที่ใช้งาน API ควรทำการ Reset API Key ใหม่

Ref: https://thehackernews.

วิเคราะห์โค้ดโจมตีช่องโหว่ Drupalgeddon2 (CVE-2018-7600)

สรุปย่อ
หลังจากโครงการ Drupal ประกาศพบช่องโหว่ร้ายแรงรหัส CVE-2018-7600 หรือ SA-CORE-2018-002 ซึ่งเป็นช่องโหว่ประเภท Remote Code Execution (RCE) ที่มีผลกระทบโดยตรงกับ Drupal เวอร์ชั่น 7.x, 8.3.x, 8.4.x และ 8.5.x เมื่อวันที่ 28 มีนาคมที่ผ่านมานั้น ในตอนนี้โค้ดสำหรับโจมตีช่องโหว่ดังกล่าวก็ได้มีการถูกเผยแพร่ออกสู่สาธารณะและถูกนำมาใช้ในการโจมตีจริงแล้ว ทีมผู้เชี่ยวชาญด้านความปลอดภัยบนเว็บแอปพลิเคชันจาก บริษัท ไอ-ซีเคียว จำกัด จึงจะขอนำช่องโหว่และโค้ดสำหรับโจมตีช่องโหว่มาอธิบายเพื่อสร้างความตระหนักรู้ซึ่งจะนำไปสู่การควบคุมและจัดการความเสี่ยงที่จะถูกโจมตีโดยช่องโหว่นี้ครับ

Drupal เป็นโครงการซอฟต์แวร์แบบโอเพนซอร์สในรูปแบบของตัวจัดการเนื้อหาบนเว็บไซต์ (Content Management System - CMS) ซึ่งได้รับความนิยมและถูกใช้งานมากมายทั่วโลก สำหรับช่องโหว่ล่าสุดคือ Drupalgeddon2 นั้น ที่มาที่แท้จริงยังคงเกิดจากปัญหายอดนิยมคือประเด็นของการตรวจสอบข้อมูลนำเข้า (input) ที่ถูกส่งมายัง Form API ซึ่งไม่สมบูรณ์มากพอ ทำให้เกิดช่องโหว่ด้านความปลอดภัยที่ผู้ประสงค์ร้ายสามารถรันโค้ดที่เป็นอันตรายได้
ทำความรู้จัก Form API
Form API เป็น API รูปแบบหนึ่งใน Drupal ซึ่งมีการใช้งานรูปแบบการเก็บข้อมูลที่เรียกว่า Renderable Arrays โดยรูปแบบการเก็บข้อมูลชนิดนี้นั้นเป็นส่วนเสริมที่สร้างขึ้นมาเพื่อใช้ในการแสดงโครงสร้างรวมไปถึงส่วนประกอบต่าง ๆ ของ Drupal

ข้อมูลใน Renderable Arrays นั้นจะถูกเก็บอยู่ในรูปแบบของอาเรย์ที่มี key และ value ซึ่งจะถูกเรียกใช้ในแต่ละครั้งที่มีการพยายามแสดงผล (render) จาก API ข้อมูลในส่วนของ key ภายในอาเรย์นั้นจะถูกระบุโดยมีการใช้เครื่องหมาย # (hash) นำหน้าค่าของ key เสมอ

Form API นั้นมีการใช้งานโดยทั่วไปใน Drupal ในรูปแบบของฟอร์มสำหรับกรอกข้อมูล แต่สำหรับ Drupal ซึ่งพึ่งมีการติดตั้งใหม่นั้น ฟอร์มสำหรับกรอกข้อมูลจุดหนึ่งที่มีการใช้งาน Form API และมักจะถูกใช้งานโดยผู้ใช้เว็บไซต์เสมอนั้นคือฟอร์มสำหรับกรอกข้อมูลเพื่อสมัครสมาชิกในการเข้าสู่ระบบของเว็บไซต์

ด้วยลักษณะของฟอร์มกรอกข้อมูลที่สามารถเข้าถึงสาธารณะ ช่องโหว่ Drupalgeddon2 จึงอาศัยฟอร์มกรอกข้อมูลและปัญหาของการไม่ตรวจสอบข้อมูลนำเข้าที่ผู้ใช้งานส่งเข้าไปในรูปแบบ Renderable Arrays เพื่อควบคุมและสั่งการให้เกิดการประมวลผลที่ส่งผลกระทบต่อความปลอดภัยได้
การโจมตีช่องโหว่
อ้างอิงจากบทวิเคราะห์ช่องโหว่จาก CheckPoint และ Dofinity พร้อมโค้ดสำหรับโจมตีช่องโหว่ Drupalgeddon2 ซึ่งถูกเผยแพร่ออกมานั้น หนึ่งในตัวอย่างของการโจมตีช่องโหว่สามารถทำได้โดยผ่าน curl อ้างอิงจาก @IamSecurity ในรูปแบบดังนี้
$ curl -s -X 'POST' --data 'mail[%23post_render][]=exec&mail[%23children]=pwd&form_id=user_register_form' 'http://drupal.