3 Tools ที่ใช้ในการ Scan GitHub Repositories ทั้งแบบ Public และ Private

07-ก.ค.-21

คัมภีร์เทพ IT

เมื่อ Developer เห็นประโยชน์ของ Open Source มากขึ้นเรื่อย ๆ จำนวน Users ของ Github ก็เพิ่มขึ้นตามไปด้วย Users จำนวนมากทำให้ Code ของพวกเขาเป็น Open Source ดังนั้น จึงเป็นเรื่องสำคัญอย่างมากสำหรับ Maintainers ในการเลือก 3 Tools ที่ใช้ในการ Scan GitHub Repositories ทั้ง Public และ Private เพื่อหาช่องโหว่

ความเสี่ยงของ Open Source

Open Source Software นั้นยอดเยี่ยม คุณต้องสนับสนุน Developers รายอื่น ๆ ในขณะที่ต้องลดเวลาที่คุณต้องใช้เพื่อสร้างบางสิ่งตั้งแต่เริ่มต้น Open-Source Tools จำนวนมากช่วยทำให้ Build Process ของคุณง่ายและรวดเร็วขึ้นมาก เนื่องจากมีคนอื่นได้ทำงานบางอย่างไว้ให้คุณแล้ว อย่างไรก็ตาม เนื่องจากมันถูกสร้างโดยคนที่คุณไม่รู้จัก คุณจึงไม่รู้ว่า Libraries และ Repositories นั้นปลอดภัยหรือได้รับการดูแลอย่างดีมากแค่ไหน นี่อาจนำไปสู่ความเสี่ยงที่สำคัญบางอย่าง

ปัญหา

Open-Source Project ถูก Maintain โดย Admins ของ Github Organization สมมติว่า Open-Source Library นี้ ซึ่งมีบริษัทข้ามชาติแห่งหนึ่งใช้ใน Product ของพวกเขา อาจมีการพึ่งพาอื่น ๆ อย่างเช่น Open-Source Library ที่ขึ้นอยู่กับ httplib2 การพึ่งพาแบบซ้อนกันแบบนี้ สามารถสร้างช่องโหว่ให้กับ Application ของคุณได้

การพึ่งพา

หาก Project ของคุณมีการ Update Version ของ httplib2 อาจทำให้มีบาง Functions ที่ไม่สามารถใช้งานได้ ซึ่งสิ่งนี้อาจส่งผลกระทบต่อ Libraries ที่ต้องพึ่งพากัน ดังนั้น Project ขนาดใหญ่อื่น ๆ ทั้งหมด จึงขึ้นอยู่กับ Libraries อื่น ๆ รวมถึง Project ของบริษัทข้ามชาติแห่งนั้นด้วย สิ่งนี้อาจส่งผลกระทบไปทั่วโลก

ความเสี่ยงในด้านความปลอดภัย

นอกจากนี้ ยังมีความเสี่ยงหลายอย่างที่เกี่ยวข้องกับการใช้ Open-Source Software การไม่ปฏิบัติตาม Development Practices ที่เหมาะสม อาจนำไปสู่ความเสี่ยงด้านความปลอดภัยได้ เช่น Malware Injections และการเปิดเผย Personal Data หรือ Privileged Data ซึ่งอาจส่งผลกระทบต่อ Users หลายล้านคนทั่วโลก สิ่งนี้ทำให้ Software มีแนวโน้มที่จะถูกโจมตีโดยอาชญากร Cyber โดยหากพูดถึงความเสี่ยงด้านความปลอดภัย ประกอบไปด้วย SQL Injections, XSS, CSRF เป็นต้น

  • SQL Injections: SQL Injections สามารถทำลาย Database ของคุณได้ เมื่อใดก็ตามที่ User ป้อน Data บางอย่าง เช่น username เป็นต้น คำสั่ง SQL จะ Run บน Database ของคุณโดยไม่รู้ตัว Hackers อาจเข้าถึง Records ทั้งหมดใน Database ผ่าน SQL Database
  • XSS: XSS เป็นการส่ง Script ข้าม Site โดยที่ User จะ Executes Script โดยไม่รู้ตัว ผู้โจมตีจะสามารถเข้าถึง Sensitive Information, Cookies เป็นต้น
  • CSRF: CSRF เป็นการปลอมแปลง Request ข้าม Site ผู้โจมตีสามารถทำให้ User ทำอะไรบางโดยไม่ตั้งใจ เช่น การเปลี่ยน Password หรือทำธุรกรรมทางการเงิน ผู้โจมตีสามารถควบคุม Site ทั้งหมดและ Database ที่เกี่ยวข้องได้ ทั้งนี้ขึ้นอยู่กับ Privileges ของ User รายนั้น

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

การ Scan หาช่องโหว่ของ Open Source

ตัว Scan ช่องโหว่ของ Open-Source จะช่วยให้องค์กรสามารถจำแนกแยกแยะความเสี่ยงด้านความปลอดภัยที่อาจเกิดขึ้นและการพึ่งพาที่เกี่ยวข้องกับ Open Source Components นอกจากนี้ยังตรวจสอบว่า Project สอดคล้องและเป็นไปตาม Licenses ของ Open-Source Features ทั้งหมดที่ใช้ใน Project หรือไม่ รวมทั้งแนะนำการแก้ไขปัญหาที่เหมาะสมอย่างรวดเร็ว

มี Tools หลายอย่างสำหรับการ Scan ช่องโหว่ของ Open-Source อย่าง Gittyleaks เองก็ค้นหารายละเอียดส่วนบุคคล เช่น username, password, email เป็นต้น Github มี Secret-Scanning Feature ที่จะ Scan ทั้ง Public และ Private Repositories เพื่อหา Secret ที่อาจถูกรวมเข้าไว้โดยไม่ได้ตั้งใจ

ยังมี Tools อีกมากมาย เช่น Git-Hound, TruffleHog, Watchtower และ GitGuardian สำหรับใช้ Scan ช่องโหว่ของ Open-Source และนี่ก็เป็น 3 Scanner ที่ขอแนะนำ

1. WhiteSource Renovate

WhiteSource Renovate เป็น Free Github App ที่ Scan ผ่าน Github Repositories ทั้งแบบ Public และ Private ทั้งหมดเพื่อระบุช่องโหว่ รวมทั้งแนะนำการแก้ไขในแบบ Real-time มันช่วยลดความเสี่ยงด้วยการระบุการพึ่งพาให้คุณทราบ Automated CLI Tool จะสร้าง PRs ด้วย Libraries ที่เป็น Version ล่าสุดโดยอัตโนมัติ เมื่อจำเป็นต้อง Update การพึ่งพา โดย Tool นี้รองรับทั้ง GitHub, GitLab, Bitbucket, Azure DevOps และ Gitea

เมื่อคุณเชื่อมต่อ Github Account ของคุณกับ WhiteSource Renovate แล้ว มันจะเริ่ม Scan Repositories ทั้งแบบ Public และ Private ทั้งหมดโดยอัตโนมัติ และทำการเปิด PRs เพื่อแก้ไขช่องโหว่

ขอแนะนำให้ใช้ทั้ง Dependency Updates และ Security Fixes สำหรับ Code ใน Github Repo ของคุณ

Open Source ช่วยให้ผู้คนสามารถ Modify และ Integrate งานของคนอื่น ๆ ใน Applications ของพวกมัน ซึ่งจะเป็นการเพิ่มความเร็วในการ Develop อีกด้วย มี Applications, Integrations และ Plugins หลายตัวที่ถูกสร้างโดย Developers จากทั่วโลกสำหรับ Projects ของพวกเขาเอง ได้ถูก Integrate เข้ากับ Projects ขนาดใหญ่ของบริษัทและองค์กรข้ามชาติหลายแห่ง

ด้วยเหตุที่มีการ Integrate เช่นนี้ ถือเป็นการช่วย Projects ของบริษัทที่มีขนาดใหญ่ พวกเขาจึงมักมีการลงทุนใน Open Source Projects จึงส่งผลให้พวกเขาสามารถสร้าง Applications ที่ซับซ้อนได้โดยที่ไม่ต้องเขียน Code ใหม่ทั้งหมดตั้งแต่ต้น

2. GittyLeaks

GittyLeaks จะช่วยตรวจจับ Config Files, Usernames, API Keys, Passwords ภายใน Code คุณสามารถ Run  Gittyleaks บน Git Repo ของคุณเพื่อ Scan หา Personal Data ที่ถูกเพิ่มเข้ามาโดยที่คุณไม่ได้ตั้งใจ

วิธีที่ GittyLeaks จะถูก Install สำหรับ python3:

หลังจาก Install เสร็จแล้ว Files ใดก็ตามที่อยู่ภายใน Code Folder ของคุณ จะสามารถถูกเรียกใช้ได้อย่างง่ายดาย โดย Gittyleaks

Gittyleaks — find-anything สามารถถูกใช้เพื่อค้นหา Threats หรือสิ่งที่คุณสงสัยว่าน่าจะเป็นภัยคุกคาม

Gittyleaks — excluding $ . [ example , สามารถใช้เพื่อยกเว้น String Matches อย่างเช่น ในกรณีที่มี “$”

Gittyleaks — case-sensitive คือ การ Set ให้ Strict กับ case

3. Github Secrets

Github สามารถ Scan Repositories สำหรับ Private Credentials ได้ เช่น API Key ที่อาจถูก Upload ด้วย Code ที่มีความผิดพลาด มัน Scan Public Repositories โดยอัตโนมัติเพื่อหา Secrets การ Scan Secrets ยังสามารถเปิดใช้งานได้ใน Private Repositories ด้วยเช่นกัน

เมื่อพบ Secrets ใน Code ผู้ที่เป็น Repository Admins จะได้รับการแจ้งเตือน พวกเขาสามารถดูและจัดการผลการ Scan ได้บน Github

Image source

หวังว่าบทความนี้จะเป็นประโยชน์กับคุณ Open Source Software นั้นยอดเยี่ยมมากตราบใดที่พวกมันปลอดภัย ดังนั้น คุณต้องแน่ใจว่าได้ Scan Repositories ก่อนที่จะใช้งานและ ทำให้ Application ของคุณ Update อยู่เสมอ เพื่อป้องกันการละเมิดความปลอดภัย (Security Breaches) หรือการโจมตีทาง Cyber (Cyberattacks)

ที่มา:  https://gopensource.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด