เทคนิคการโจมตีใหม่ 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

Backdoor code found in 11 Ruby libraries

พบ backdoor ใน Ruby library
ทีมงาน RubyGems ทำการลบโค้ดอันตราย 18 เวอร์ชันบน Ruby library 11 ตัวซึ่งถูกดาวน์โหลดไปแล้วกว่า 3,584 ครั้งตั้งแต่วันที่ 8 กรกฎาคมที่ผ่านมา โดยพบว่ามีการแทรก backdoor mechanism และมีความพยายามจะแทรกโค้ด cryptocurrency mining ลงไปในโปรเจกต์ของคนอื่น
โค้ดอันตรายเหล่านี้ถูกพบครั้งแรกใน Ruby library ชื่อ rest-client จากการวิเคราะห์โดย Jan Dintel นักพัฒนา Ruby ชาวดัตช์ พบโค้ดอันตรายใน rest-client ซึ่งจะเก็บ URL, Cookie file รวมถึงตัวแปรอื่นๆ ของระบบ แล้วส่งไปยัง Remote server ในยูเครน ภายหลังการสืบสวนโดยทีมงาน RubyGems พบว่าโค้ดนี้ถูกใช้เพื่อแทรก Cryptocurrency mining code ลงไป โดยพวกเขาพบโค้ดที่ลักษณะคล้ายกันเพิ่มอีก 10 โปรเจกต์
โดย library ทั้ง 11 ตัวที่มีการแทรกโค้ดได้แก่
rest-client: 1.6.10 (ดาวน์โหลด 176 ครั้ง ตั้งแต่ สิงหาคม 13, 2019), 1.6.11 (ดาวน์โหลด 2 ครั้ง ตั้งแต่ สิงหาคม 14, 2019), 1.6.12 (ดาวน์โหลด 3 ครั้ง ตั้งแต่ สิงหาคม 14, 2019), และ 1.6.13 (ดาวน์โหลด 1,061 ครั้ง ตั้งแต่ สิงหาคม 14, 2019)
bitcoin_vanity: 4.3.3 (ดาวน์โหลด 8 ครั้ง ตั้งแต่ พฤษภาคม 12, 2019 )
lita_coin: 0.0.3 (ดาวน์โหลด 210 ครั้ง ตั้งแต่ กรกฎาคม 17, 2019)
coming-soon: 0.2.8 (ดาวน์โหลด 211 ครั้ง ตั้งแต่ กรกฎาคม 17, 2019)
omniauth_amazon: 1.0.1 (ดาวน์โหลด 193 ครั้ง ตั้งแต่ กรกฎาคม 26, 2019)
cron_parser: 0.1.4 (ดาวน์โหลด 2 ครั้ง ตั้งแต่ กรกฎาคม 8, 2019), 1.0.12 (ดาวน์โหลด 3 ครั้ง ตั้งแต่ กรกฎาคม 8, 2019), และ 1.0.13 (ดาวน์โหลด 248 ครั้ง ตั้งแต่ กรกฎาคม 8, 2019)
coin_base: 4.2.1 (ดาวน์โหลด 206 ครั้ง ตั้งแต่ กรกฎาคม 9, 2019) และ 4.2.2 (ดาวน์โหลด 218 ครั้ง ตั้งแต่ กรกฎาคม 16, 2019)
blockchain_wallet: 0.0.6 (ดาวน์โหลด 201 ครั้ง ตั้งแต่ กรกฎาคม 10, 2019) และ 0.0.7 (ดาวน์โหลด 222 ครั้ง ตั้งแต่ กรกฎาคม 16, 2019)
awesome-bot: 1.18.0 (ดาวน์โหลด 232 ครั้ง ตั้งแต่ กรกฎาคม 15, 2019)
doge-coin: 1.0.2 (ดาวน์โหลด 213 ครั้ง ตั้งแต่ กรกฎาคม 17, 2019)
capistrano-colors: 0.5.5 (ดาวน์โหลด 175 ครั้ง ตั้งแต่ สิงหาคม 1, 2019)
library ทั้งหมด ยกเว้น rest-client ถูกสร้างโดยการโคลน library แล้วไปเพิ่มโค้ดอันตรายและอัปโหลดขึ้นไปใหม่ด้วยชื่อใหม่โดยไม่มีใครจับได้เป็นเวลามากกว่าหนึ่งเดือน แต่เมื่อผู้โจมตีหันไปโจมตี rest-client ที่มีผู้ใช้งานจำนวนมากจึงทำให้ถูกจับได้
สำหรับข้อแนะนำโปรเจกต์ที่พึ่งพา library เหล่านี้ คือให้ลบออกไปหรืออัปเกรด/ดาวน์เกรดสู่ version ที่ปลอดภัยกว่า

ที่มา: zdnet