ไปป์ไลน์การพัฒนาซอฟต์แวร์เสนอการเข้าถึง 'ช่วงฟรี' ให้กับอาชญากรไซเบอร์ไปยังคลาวด์, PlatoBlockchain Data Intelligence ในองค์กร ค้นหาแนวตั้ง AI.

ไปป์ไลน์การพัฒนาซอฟต์แวร์เสนอการเข้าถึง 'ช่วงฟรี' ให้กับอาชญากรไซเบอร์ไปยังระบบคลาวด์แบบ On-Prem

ไปป์ไลน์การบูรณาการ/การพัฒนาอย่างต่อเนื่อง (CI/CD) อย่างต่อเนื่องอาจเป็นพื้นผิวการโจมตีที่อันตรายที่สุดของห่วงโซ่อุปทานของซอฟต์แวร์ นักวิจัยกล่าว เนื่องจากผู้โจมตีทางไซเบอร์เพิ่มความสนใจในการตรวจสอบจุดอ่อน

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

ที่ Black Hat USA ในวันพุธที่ 10 ส.ค. Iain Smart และ Viktor Gazdag ที่ปรึกษาด้านความปลอดภัย NCC Group จะขึ้นเวทีระหว่าง “RCE-as-a-Service: บทเรียนจาก 5 ปีของการประนีประนอม CI/CD ในโลกแห่งความเป็นจริง” เพื่อหารือเกี่ยวกับการโจมตีห่วงโซ่อุปทานที่ประสบความสำเร็จที่พวกเขาได้ดำเนินการในท่อ CI/CD การผลิตสำหรับแทบทุกบริษัทที่บริษัทได้ทำการทดสอบ

NCC Group ได้ดูแลการประนีประนอมที่ประสบความสำเร็จหลายสิบรายการ ตั้งแต่ธุรกิจขนาดเล็กไปจนถึงบริษัทที่ติดอันดับ Fortune 500 นอกจาก ข้อบกพร่องด้านความปลอดภัยนักวิจัยกล่าวว่าการใช้ฟังก์ชันที่ตั้งใจไว้ในทางที่ผิดในไปป์ไลน์อัตโนมัติทำให้พวกเขาแปลงไพพ์ไลน์จากยูทิลิตี้สำหรับนักพัฒนาอย่างง่ายไปเป็นบริการเรียกใช้โค้ดจากระยะไกล (RCE) เป็นบริการ

"ฉันหวังว่าผู้คนจะรัก CI/CD ของตนมากขึ้น และใช้คำแนะนำทั้งหมดหรืออย่างน้อยหนึ่งหรือสองข้อจากเซสชันของเรา" Gazdag กล่าว “เราหวังว่าสิ่งนี้จะจุดประกายการวิจัยด้านความปลอดภัยเพิ่มเติมในหัวข้อนี้”

Tara Seals บรรณาธิการบริหารฝ่ายข่าวของ Dark Reading ได้พูดคุยกับ Viktor Gazdag ผู้จัดการที่ปรึกษาด้านความปลอดภัยของ NCC Group เพื่อหาข้อมูลเพิ่มเติม

ธาราซีล: จุดอ่อนด้านความปลอดภัยทั่วไปในไปป์ไลน์ CI/CD มีอะไรบ้าง และจะนำไปใช้ในทางที่ผิดได้อย่างไร

วิกเตอร์ กัซแด็ก: เราเห็นจุดอ่อนด้านความปลอดภัยทั่วไปสามจุดที่ต้องให้ความสนใจเป็นพิเศษ:

1) ข้อมูลประจำตัวฮาร์ดโค้ดใน Version Control System (VCS) หรือ Source Control Management (SCM)

ซึ่งรวมถึงเชลล์สคริปต์ ไฟล์ล็อกอิน ข้อมูลประจำตัวแบบฮาร์ดโค้ดในไฟล์การกำหนดค่าที่จัดเก็บไว้ในที่เดียวกับโค้ด (ไม่แยกจากกันหรือในแอปการจัดการความลับ) เรามักจะพบโทเค็นเพื่อการเข้าถึงสภาพแวดล้อมคลาวด์ที่แตกต่างกัน (การพัฒนา การผลิต) หรือบริการบางอย่างภายในคลาวด์ เช่น SNS, ฐานข้อมูล, EC2 เป็นต้น

เรายังพบข้อมูลประจำตัวเพื่อเข้าถึงโครงสร้างพื้นฐานที่รองรับหรือไปป์ไลน์ CI/CD เมื่อผู้โจมตีเข้าถึงสภาพแวดล้อมระบบคลาวด์ พวกเขาสามารถระบุสิทธิ์ ค้นหาการกำหนดค่าที่ไม่ถูกต้อง หรือพยายามยกระดับสิทธิ์ของตนเนื่องจากอยู่ในคลาวด์แล้ว ด้วยการเข้าถึงไปป์ไลน์ CI/CD พวกเขาสามารถดูประวัติการสร้าง เข้าถึงสิ่งประดิษฐ์และความลับที่ใช้ (เช่น เครื่องมือ SAST และรายงานเกี่ยวกับช่องโหว่หรือโทเค็นการเข้าถึงระบบคลาวด์) และในกรณีที่เลวร้ายที่สุด ใส่รหัสที่กำหนดเอง (แบ็คดอร์ SolarWinds) ลงในแอปพลิเคชันที่จะรวบรวมหรือเข้าถึงสภาพแวดล้อมการผลิตอย่างสมบูรณ์

2) บทบาทที่เกินอนุญาต

นักพัฒนาหรือบัญชีบริการมักมีบทบาทที่เกี่ยวข้องกับบัญชีของตน (หรืออาจสันนิษฐานได้) ที่มีสิทธิ์มากกว่าที่จำเป็นในการทำงานที่จำเป็น

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

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

3) ขาดการตรวจสอบ ติดตาม และแจ้งเตือน

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

ปัญหาด้านความปลอดภัยทั่วไปก็มีมากขึ้นเช่นกัน เช่น ไม่มีการแบ่งส่วนเครือข่าย การจัดการความลับ และการจัดการโปรแกรมแก้ไข เป็นต้น แต่ตัวอย่างทั้งสามนี้เป็นจุดเริ่มต้นของการโจมตี ซึ่งจำเป็นในการลดเวลาการตรวจจับการละเมิดโดยเฉลี่ย หรือมีความสำคัญในการจำกัด รัศมีระเบิดโจมตี

ทีเอส: คุณมีตัวอย่างเฉพาะในโลกแห่งความเป็นจริงหรือสถานการณ์ที่เป็นรูปธรรมที่คุณสามารถชี้ให้เห็นได้หรือไม่?

วีจี: การโจมตีบางอย่างในข่าวที่เกี่ยวข้องกับ CI/CD หรือการโจมตีแบบไปป์ไลน์ ได้แก่:

  • การโจมตี CCleaner, มีนาคม 2018
  • Homebrew สิงหาคม 2018
  • เอซุส ชาโดว์แฮมเมอร์, มีนาคม 2019
  • การละเมิดบุคคลที่สามของ CircleCI กันยายน 2019
  • SolarWinds, ธันวาคม 2020
  • สคริปต์ตัวอัปโหลดทุบตีของ Codecov เมษายน 2021
  • TravisCI เข้าถึงความลับโดยไม่ได้รับอนุญาต กันยายน 2021

ทีเอส: เหตุใดจุดอ่อนในไปป์ไลน์อัตโนมัติจึงมีปัญหา คุณจะกำหนดลักษณะความเสี่ยงให้กับบริษัทอย่างไร?

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

ทีเอส: ผลลัพธ์การโจมตีที่บริษัทอาจประสบได้มีอะไรบ้างหากปฏิปักษ์ล้มล้างไปป์ไลน์ CI/CD ได้สำเร็จ

วีจี: ผลการโจมตีอาจรวมถึงการขโมยซอร์สโค้ดหรือข้อมูลทางปัญญา แบ็คดอร์แอปพลิเคชันที่ปรับใช้กับลูกค้าหลายพันราย (เช่น SolarWinds) เข้าถึง (และเคลื่อนย้ายไปมาได้อย่างอิสระระหว่าง) สภาพแวดล้อมที่หลากหลาย เช่น การพัฒนาและการผลิต ทั้งภายในองค์กรหรือใน เมฆหรือทั้งสองอย่าง

ทีเอส: ฝ่ายตรงข้ามต้องซับซ้อนแค่ไหนเพื่อประนีประนอมไปป์ไลน์?

วีจี: สิ่งที่เรานำเสนอที่ Black Hat ไม่ใช่ช่องโหว่ซีโร่เดย์ (แม้ว่าฉันจะพบช่องโหว่ในเครื่องมือต่างๆ) หรือเทคนิคใหม่ๆ อาชญากรสามารถโจมตีนักพัฒนาซอฟต์แวร์ผ่านฟิชชิ่ง (การจี้เซสชัน การเลี่ยงผ่านการตรวจสอบสิทธิ์แบบหลายปัจจัย การขโมยข้อมูลรับรอง) หรือไปป์ไลน์ CI/CD โดยตรงหากไม่ได้รับการปกป้องและเชื่อมต่อกับอินเทอร์เน็ต

NCC Group ได้ทำการประเมินความปลอดภัยในตอนแรกที่เราทดสอบเว็บแอปพลิเคชัน สิ่งที่เราพบคือไปป์ไลน์ CI/CD แทบจะไม่ได้รับการบันทึกและตรวจสอบด้วยการแจ้งเตือน นอกเหนือจากงานสร้าง/รวบรวมซอฟต์แวร์ ดังนั้นอาชญากรจึงไม่จำเป็นต้องระมัดระวังหรือซับซ้อนขนาดนั้นเพื่อประนีประนอมกับไปป์ไลน์

ทีเอส: การโจมตีประเภทนี้พบได้บ่อยเพียงใด และไปป์ไลน์ CI/CD เป็นตัวแทนของพื้นผิวการโจมตีกว้างเพียงใด

วีจี: มีตัวอย่างมากมายของการโจมตีในโลกแห่งความเป็นจริงในข่าวดังที่กล่าวไว้ และคุณยังหาได้ เช่น ตัวอย่างเจนกินส์กับโชดันบนอินเทอร์เน็ต. เมื่อใช้ SaaS อาชญากรสามารถระบุและพยายามใช้รหัสผ่านแบบเดรัจฉานเพื่อเข้าถึงได้ เนื่องจากไม่มีการตรวจสอบสิทธิ์แบบหลายปัจจัยที่เปิดใช้งานโดยค่าเริ่มต้นหรือข้อจำกัด IP และกำลังเชื่อมต่อกับอินเทอร์เน็ต

ด้วยการทำงานจากระยะไกล ไปป์ไลน์จะรักษาความปลอดภัยได้ยากขึ้น เนื่องจากนักพัฒนาต้องการเข้าถึงจากทุกที่และทุกเวลา และข้อจำกัดด้าน IP ก็ไม่จำเป็นจะต้องเป็นไปได้อีกต่อไป เนื่องจากบริษัทต่างๆ กำลังมุ่งสู่เครือข่ายที่ไม่มีความน่าเชื่อถือหรือมีการเปลี่ยนแปลงตำแหน่งเครือข่าย

ท่อส่งมักจะมีการเข้าถึงเครือข่ายไปยังหลายสภาพแวดล้อม (ซึ่งไม่ควร) และสามารถเข้าถึงข้อมูลประจำตัวหลายรายการสำหรับเครื่องมือและสภาพแวดล้อมที่แตกต่างกัน พวกเขาสามารถทำหน้าที่เป็นสะพานเชื่อมระหว่างภายในองค์กรและคลาวด์ หรือระบบการผลิตและทดสอบ นี่อาจเป็นพื้นผิวการโจมตีที่กว้างมากและการโจมตีสามารถมาจากหลายที่ แม้กระทั่งที่ไม่เกี่ยวข้องกับไปป์ไลน์เอง ที่ Black Hat เรากำลังนำเสนอสองสถานการณ์ที่เราเริ่มต้นด้วยการทดสอบเว็บแอปพลิเคชัน

TS: ทำไมไปป์ไลน์ CI/CD ยังคงเป็นจุดบอดด้านความปลอดภัยสำหรับบริษัทต่างๆ

วีจี: ส่วนใหญ่เป็นเพราะไม่มีเวลา บางครั้งขาดคน และในบางกรณีขาดความรู้ ไปป์ไลน์ CI/CD มักถูกสร้างขึ้นโดยนักพัฒนาหรือทีมไอทีที่มีเวลาจำกัดและเน้นที่ความเร็วและการส่งมอบ หรือนักพัฒนาเพียงแค่มีงานมากเกินไป

ไปป์ไลน์ CI/CD อาจซับซ้อนมากหรือซับซ้อนมาก และสามารถรวมเครื่องมือหลายร้อยรายการ โต้ตอบกับสภาพแวดล้อมและความลับที่หลากหลาย และใช้งานได้โดยหลายคน บางคนถึงกับสร้างตารางธาตุแทนเครื่องมือที่สามารถใช้ในไปป์ไลน์ได้

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

ทีเอส: แนวปฏิบัติที่ดีที่สุดในการรักษาความปลอดภัยสำหรับไปป์ไลน์มีอะไรบ้าง

วีจี: ใช้การแบ่งส่วนเครือข่าย ใช้หลักการสิทธิ์น้อยที่สุดสำหรับการสร้างบทบาท จำกัดขอบเขตของความลับในการจัดการข้อมูลลับ ใช้การอัปเดตความปลอดภัยบ่อยๆ ตรวจสอบสิ่งประดิษฐ์ ตรวจสอบและแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงการกำหนดค่า

ทีเอส: มีความคิดอื่น ๆ ที่คุณต้องการแบ่งปันหรือไม่?

วีจี: แม้ว่าไปป์ไลน์ CI/CD แบบ cloud-native หรือ cloud-based จะง่ายกว่า แต่เรายังคงเห็นปัญหาเดียวกันหรือคล้ายกัน เช่น บทบาทที่อนุญาตมากเกินไป, ไม่มีการแบ่งส่วน, ความลับเกินขอบเขต และการขาดการแจ้งเตือน สิ่งสำคัญสำหรับบริษัทที่ต้องจำไว้ว่าพวกเขามีความรับผิดชอบด้านความปลอดภัยในระบบคลาวด์เช่นกัน

ประทับเวลา:

เพิ่มเติมจาก การอ่านที่มืด