ข้อผิดพลาดของ Cloudflare CDNJS อาจนำไปสู่การโจมตีในรูปแบบ Supply-Chain Attack

เมื่อเดือนที่แล้ว Cloudflare บริษัทผู้ให้บริการระบบเครือข่าย network และรักษาความปลอดภัยเว็บไซต์ ได้แก้ไขช่องโหว่ที่สำคัญในไลบรารี CDNJS ซึ่งมีการใช้งานอยู่ที่ 12.7% ของเว็บไซต์ทั้งหมดบนอินเทอร์เน็ต

CDNJS เป็นเครือข่ายการส่งเนื้อหา (Content Delivery Network) แบบโอเพ่นซอร์สที่ให้บริการฟรี ซึ่งให้บริการไลบรารี JavaScript และ CSS ประมาณ 4,041 รายการ ทำให้เป็น CDN ไลบรารี JavaScript ที่ได้รับความนิยมสูงสุดเป็นอันดับสองรองจาก Google Hosted Libraries

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

ช่องโหว่ดังกล่าวถูกค้นพบและรายงานโดยนักวิจัยด้านความปลอดภัย RyotaK เมื่อวันที่ 6 เมษายน พ.ศ. 2564 ซึ่งยังไม่พบหลักฐานว่ามีการใช้ช่องโหว่นี้ในการโจมตีจริง

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

RyotaK พบว่า "สามารถเรียกใช้โค้ดได้ หลังจากดำเนินการ path traversal จากไฟล์ .tgz ไปยัง npm และเขียนทับสคริปต์ที่ทำงานเป็นประจำบนเซิร์ฟเวอร์" และ “ช่องโหว่นี้สามารถโจมตีได้โดยไม่ต้องใช้ทักษะพิเศษใดๆ แต่ก็สามารถส่งผลกระทบต่อเว็บไซต์จำนวนมากได้ ทำให้เป็นไปได้ว่าจะเกิดการโจมตีช่องโหว่นี้ในลักษณะ Supply-chain ได้"

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

นี่ไม่ใช่ครั้งแรกที่นักวิจัยด้านความปลอดภัยค้นพบช่องโหว่ในลักษณะดังกล่าว โดยในเดือนเมษายน 2564 RyotaK ได้เปิดเผยช่องโหว่ที่สำคัญในที่เก็บ Homebrew Cask ซึ่งทำให้ผู้โจมตีสามารถรันโค้ดที่เป็นอันตรายได้บนเครื่องของผู้ใช้งาน

ที่มา : thehackernews

แจ้งเตือนช่องโหว่ Code injection ในไลบรารี Node.js “systeminformation”

นักพัฒนาของไลบรารี Node.js "systeminformation" ได้มีการเผยแพร่เวอร์ชันของไลบรารีดังกล่าวหลังจากมีการตรวจพบช่องโหว่ Command injection ในตัวไลบรารีซึ่งปัจจุบันถูกติดตามด้วยรหัส CVE-2021-21315 ความน่ากังวลของสถานการณ์ดังกล่าวนั้นอยู่ที่ความนิยมของไลบรารีนี้ที่มียอดดาวน์โหลดรายสัปดาห์สูงถึง 800,000 ครั้ง ซึ่งหลังจากมีการเปิดเผยการแพตช์ไป อาจทำให้เกิดการโจมตีที่สร้างผลกระทบเป็นวงกว้างได้

ไลบรารี systeminformation เป็นไลบรารีใน Node.

เทคนิคการโจมตีใหม่ Dependency Confusion ใช้แฮกไปแล้ว 35 บริษัท Tech ไมโครซอฟต์ออก Whitepaper แจ้งเตือน

นักวิจัยด้านความปลอดภัย Alex Birsan และ Justin Gardner ได้มีการเผยแพร่เทคนิคการโจมตีใหม่ภายใต้ชื่อ Dependency Confusion ซึ่งอาศัยช่องโหว่ของการดาวน์โหลดและติดตั้งแพ็คเกจของนักพัฒนาในการลักลอบนำแพ็คเกจซึ่งเป็นอันตรายไปรันใน Environment ภายในของนักพัฒนา วิธีการนี้ถูกใช้ทดสอบกับกว่า 35 บริษัท Tech ซึ่งรวมไปถึง Microsoft, Apple, PayPal, Shopify, Netflix, Yelp, Tesla, และ Uber และสามารถใช้โจมตีได้จริง

คีย์หลักของการโจมตีนั้นอยู่ในจุดที่ว่า หากผู้โจมตีทราบถึงชื่อของไลบรารีหรือแพ็คเกจที่นักพัฒนาจะใช้งานภายในกระบวนการพัฒนาแอป ผู้โจมตีจะใช้ข้อมูลดังกล่าวในการนำไปสร้างเป็นไลบรารีหรือแพ็คเกจที่มีชื่อเหมือนกันใน Public repository แทนและสอดแทรกโค้ดที่เป็นอันตรายเข้าไปในลักษณะที่คล้ายกับ Supply-chain attack การโจมตีในลักษณะนี้ส่วนหนึ่งเกิดขึ้นได้เนื่องจากพฤติกรรมของ Package manager ที่จะใช้ความสำคัญกับแพ็คเกจที่อยู่บน Public repository มากกว่าที่อยู่ในระบบภายใน

สองนักพัฒนาได้ทำการทดสอบช่องโหว่นี้กับ Package manager อย่าง npm, RubyGems, PyPI, JFrog และ NuGet พบว่าสามารถใช้การโจมตีนี้ได้ทั้งหมด

การค้นพบช่องโหว่ดังกล่าวนำไปสู่การแจ้งเตือนยังบริษัทที่ได้รับผลกระทบ และส่งผลให้นักวิจัยทั้งสองได้รับรางวัลจากโครงการ Bug Bounty ไปกว่า 130,000 ดอลลาร์สหรัฐฯ หรือประมาณเกือบ 4 ล้านบาท

หลังจากมีการแจ้งช่องโหว่ ไมโครซอฟต์ได้มีการจัดทำ Whitepaper ขึ้นมาเพื่อให้คำแนะนำและระบุความเสี่ยงของเทคนิคการโจมตีนี้ เราขอแนะนำให้นักพัฒนาศึกษารายละเอียดเพิ่มเติมจาก azure เพื่อลดความเสี่ยงในการถูกโจมตี

บล็อกงานวิจัยต้นฉบับ: medium

ที่มา: zdnet, bleepingcomputer

พบแพ็กเกจ NPM ที่เป็นอันตรายถูกใช้เพื่อขโมยโทเค็นผู้ใช้ Discord และข้อมูลเบราว์เซอร์จากผู้ใช้

ในวันที่ 25 สิงหาคม 2020 ที่ผ่านมา ทีมผู้ดูแลโปรเจ็กต์ NPM ได้ทำการลบแพ็คเกจที่เป็นอันตรายและมีชื่อว่า "fallguys" โดยแพ็คเกจดังกล่าวเป็นแพ็คเกจที่ออกแบบมาเพื่อขโมยโทเค็น Discord และข้อมูลเบราว์เซอร์จาก Google Chrome, Brave Browser, Opera และ Yandex Browser

รายละเอียดการค้นพบและรายงานโดยบริษัทรักษาความปลอดภัยทางด้านโอเพ่นซอร์ส Sonatype ได้ทำการตรวจพบแพ็คเกจ NPM ที่เป็นอันตราย โดยแพ็คเกจที่ทำการตรวจพบนั้นมีชื่อเรียกว่า 'discord.

Three npm packages found opening shells on Linux, Windows systems

ทีม NPM Security ลบแพ็คเกจ NPM ที่เป็นอันตราย 4 ชุดที่สามารถเปิด Reverse Shell บนระบบของผู้ใช้ได้

ทีม NPM Security ได้ลบแพ็คเกจ NPM จำนวน 4 ชุดออกจาก NPM Portal หลังจากตรวจพบว่ามีโค้ดที่เป็นอันตรายที่มีลักษณะของ reverse shell และสามารถสร้างการเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลของผู้ประสงค์ร้ายได้

แพ็คเกจทั้ง 4 ที่ทางทีม NPM ทำการตรวจพบคือ plutov-slack-client, nodetest199, nodetest199 และ npmpubman โดยแพ็คเกจทั้ง 4 นี้ถูกดาวน์โหลดไปแล้วมากกว่า 1,000 ครั้งในช่วงสองสามเดือนที่ผ่านมา

แพ็คเกจจำนวน 3 แพ็คเกจคือ plutov-slack-client , nodetest1010 และ nodetest199 จะมีลักษณะโค้ดที่เหมือนกันและแพ็คเกจเหล่านี้สามารถทำงานได้ทั้งบน Windows และระบบที่ใช้ Unix ซึ่งหลังจากติดตั้งแพ็กเกจแล้วโค้ดจะสร้าง reverse shell กลับไปยังเซิร์ฟเวอร์ของผู้โจมตีUnixเพื่อให้ผู้ประสงค์ร้ายสามารถเข้าถึงเครื่องที่ถูกบุกรุกจากระยะไกลได้ ทั้งนี้แพ็คเกจสุดท้ายในรายการคือ npmpubman มีโครงสร้างโค้ดและวัตถุประสงค์ที่แตกต่างกันมาก โดยแพ็คเกจจะทำการรวบรวมข้อมูลผู้ใช้จากสภาพแวดล้อมต่างๆ ภายในเครื่องและจะทำการอัปโหลดข้อมูลนี้ไปยังโฮสต์ของผู้ประสงค์ร้าย

ทีม NPM Security ได้ออกคำเเนะนำให้ผู้ใช้หรือผู้ดูแลระบบที่เคยทำการติดตั้งแพ็คเกจทั้ง 4 นี้ควรทำการลบแพ็คเกจออกเพื่อป้องกันผู้ประสงค์ร้ายใช้ประโยชน์จากการติดตั้งแพ็คเกจทำการโจมตีระบบ

ที่มา : bleepingcomputer

นักวิจัยพบแพ็คเกจ NPM อันตรายแอบเก็บข้อมูลผู้ใช้ส่งไปยัง GitHub ของแฮกเกอร์

นักวิจัยพบจากบริษัท Sonatype ได้รายงานถึงการตรวจพบแพ็คเกจ npm ที่เป็นอันตรายซึ่งภายในแพ็คเกจจะมีโค้ดที่ทำการรวบรวมรายละเอียดผู้ใช้และทำการอัปโหลดข้อมูลไปยัง GitHub ของแฮกเกอร์

ตามรายงานจาก Sonatype พบว่าแพ็คเกจทั้งสี่คือ Electorn, lodashs, loadyaml และ loadyml ทั้ง 4 แพ็คเกจได้รับการพัฒนาจากผู้ใช้คนเดียวกันที่ชื่อ simplelive12 และถูกอัปโหลดลงบนพอร์ทัล npm ในเดือนสิงหาคมแต่ปัจจุบันถูกลบไปแล้วโดยทีมรักษาความปลอดภัยของ npm จากการตรวจสอบโค้ดของแพ็คเกจทั้งสี่พบว่า ผู้โจมตีได้มีการใช้เทคนิค typosquatting ซึ่งเป็นเทคนิคที่อาศัยการที่ผู้ใช้ที่ทำการสะกดชื่อของแพ็กเกจผิด เพื่อให้ทำให้ผู้ใช้ได้รับการติดตั้งแพ็คเกจที่มีชื่อคล้ายกันและภายในจะแพ็คเกจจะมีโค้ดที่ทำการรวบรวม IP address, country, city, computer username, home directory path และข้อมูลโมเดลรุ่นของ CPU และการโพสต์ข้อมูลในส่วนของ GitHub repository ของผู้พัฒนา

นักวิจัยจาก Sonatype กล่าวว่าข้อมูลที่ถูกส่งกับไปยัง GitHub นั้นจะถูกลบออกทุกๆ 24 ชั่วโมงซึ่งส่วนใหญ่จะถูกคัดลอกและถูกจัดทำดัชนีภายในฐานข้อมูลอื่น ยังไม่ชัดเจนว่าเป้าหมายของการดำเนินการนี้คืออะไร ทั้งนี้ผู้ใช้ควรทำการตรวจสอบแพ็คเกจ JavaScript npm ภายในเครื่องถ้าพบว่าเคยทำการติดตั้งแพ็คเกจชุดนี้ควรทำการตรวจสอบและลบออกจากเครื่องเพื่อเป็นการป้องกันการใช้ประโยชน์จากข้อมูลที่ถูกเก็บไปใช้ประโยชน์ในการโจมตีในรูปแบบอื่น

ที่มา: zdnet.