GitHub เปิดตัวระบบการเรียนรู้ด้วยเครื่องเพื่อค้นหาช่องโหว่ในโค้ด

โลโก้ GitHub

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

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

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

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

จากปัญหาที่ระบุโดยระบบใหม่ ข้อผิดพลาดที่นำไปสู่การสร้างสคริปต์ข้ามไซต์ (XSS) การบิดเบือนเส้นทางของไฟล์ (เช่น ผ่านตัวบ่งชี้ "/..") มีการกล่าวถึงการแทนที่การสืบค้น SQL และ NoSQL

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

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

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

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

เครื่องมือ ได้รับการออกแบบเพื่อค้นหาช่องโหว่ที่พบบ่อยที่สุดสี่ประการ ที่ส่งผลต่อโครงการที่เขียนในสองภาษานี้: การเขียนสคริปต์ข้ามไซต์ (XSS), การฉีดเส้นทาง, การฉีด NoSQL และการฉีด SQL

บริการสแกนโค้ดช่วยให้คุณสามารถตรวจจับช่องโหว่ในช่วงเริ่มต้นของการพัฒนาโดยการสแกนการดำเนินการ git push แต่ละครั้งเพื่อหาปัญหาที่อาจเกิดขึ้น

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

ด้วยความสามารถในการวิเคราะห์แบบใหม่ การสแกนโค้ดสามารถสร้างการแจ้งเตือนสำหรับรูปแบบช่องโหว่ทั่วไปสี่รูปแบบ: Cross-Site Scripting (XSS), Path Injection, NoSQL Injection และ SQL Injection ช่องโหว่ทั้งสี่ประเภทนี้เป็นตัวแทนของช่องโหว่ (CVE) ล่าสุดจำนวนมากในระบบนิเวศ JavaScript/TypeScript และการปรับปรุงความสามารถในการสแกนโค้ดเพื่อตรวจหาช่องโหว่ดังกล่าวในช่วงต้นของกระบวนการพัฒนาเป็นกุญแจสำคัญในการช่วยให้นักพัฒนาเขียนโค้ดที่ปลอดภัยยิ่งขึ้น

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

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

นอกจากนี้ สิ่งสำคัญที่ต้องระบุคือในขั้นตอนการทดสอบ ฟังก์ชันใหม่นี้ใช้ได้เฉพาะกับที่เก็บที่มีโค้ด JavaScript และ TypeScript เท่านั้น


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา