0Pricing
Cyber Security Academy · บทเรียน

SAST และ DAST ในไปป์ไลน์ CI/CD

ผสานรวม SonarQube, Semgrep หรือ Bandit สำหรับการวิเคราะห์แบบสถิต และ OWASP ZAP สำหรับการสแกนแบบไดนามิกในไปป์ไลน์

SAST และ DAST ในไปป์ไลน์ CI/CD เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

การทดสอบความปลอดภัยของแอปพลิเคชันคืออะไร

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

SAST: การทดสอบความปลอดภัยของแอปพลิเคชันแบบสถิต

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

จุดแข็ง: ตรวจพบข้อบกพร่องได้ตั้งแต่เนิ่น ๆ ครอบคลุมรหัสทั้งหมด และไม่จำเป็นต้องมีสภาพแวดล้อมที่กำลังทำงาน

จุดอ่อน: มีอัตราผลบวกลวงสูง ขึ้นอยู่กับภาษา และตรวจไม่พบปัญหาการกำหนดค่าขณะทำงาน

เครื่องมือ SAST ที่นิยม

เครื่องมือ SAST แบบเปิด:

# Semgrep (multi-language, rule-based):
semgrep --config auto ./src

# Bandit (Python):
bandit -r ./src

# ESLint security plugin (JavaScript):
npx eslint --plugin security ./src

# SpotBugs + FindSecBugs (Java):
mvn spotbugs:check

การผสานรวม SAST เข้ากับกระบวนการผสานรวมและส่งมอบอย่างต่อเนื่อง

ตัวอย่างขั้นตอน SAST ของ GitHub Actions:

# .github/workflows/security.yml
- name: Run Semgrep
  uses: returntocorp/semgrep-action@v1
  with:
    config: p/owasp-top-ten
    auditOn: push
# Fail build if HIGH severity findings present

DAST: การทดสอบความปลอดภัยของแอปพลิเคชันแบบพลวัต

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

จุดแข็ง: มีผลบวกลวงต่ำ ไม่ขึ้นกับภาษา และค้นพบปัญหาการกำหนดค่าขณะทำงาน

จุดอ่อน: ต้องมีสภาพแวดล้อมที่กำลังทำงาน และอาจพลาดเส้นทางการทำงานของรหัสบางส่วน

เครื่องมือ DAST ที่นิยม

เครื่องมือ DAST สำหรับกระบวนการผสานรวมและส่งมอบอย่างต่อเนื่อง:

# OWASP ZAP (free, scriptable):
docker run -t owasp/zap2docker-stable zap-baseline.py -t https://staging.app.com

# Nikto:
nikto -h https://staging.app.com

# Nuclei (template-based):
nuclei -u https://staging.app.com -t cves/

IAST: การทดสอบความปลอดภัยของแอปพลิเคชันแบบโต้ตอบ

IAST ติดตั้งเครื่องมือวัดในแอปพลิเคชันขณะทำงาน โดยใช้ตัวแทนที่เฝ้าติดตามการเรียกใช้รหัสระหว่างการทดสอบฟังก์ชันการทำงาน วิธีนี้ผสานความแม่นยำของ SAST เข้ากับความครอบคลุมของ DAST ตัวอย่างเช่น Contrast Security และ Seeker ต้องใช้ตัวแทนเฉพาะภาษาและต้องมีการเรียกใช้การทดสอบ

การนำการรักษาความปลอดภัยมาไว้แต่เนิ่น ๆ

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

ตัวคูณต้นทุน: ข้อบกพร่องในระยะพัฒนามีต้นทุน 1 เท่า ในระยะเตรียมการมีต้นทุน 10 เท่า และในระบบใช้งานจริงมีต้นทุน 100 เท่า

การจัดการผลบวกลวง

เครื่องมือ SAST ทำให้เกิดผลบวกลวงได้ วิธีจัดการมีดังนี้:

  • ใช้ nosec (Bandit) หรือความคิดเห็นระงับการแจ้งเตือนแบบอินไลน์สำหรับกรณีที่ยืนยันแล้วว่าไม่ใช่ปัญหา
  • ปรับแต่งชุดกฎให้เหมาะกับบริบทของแอปพลิเคชัน
  • บันทึกเหตุผลในการระงับไว้ในความคิดเห็นของรหัส
  • ทบทวนการระงับเป็นระยะ

สถาปัตยกรรมกระบวนการทำงานด้านความปลอดภัยสำหรับ CI/CD

กระบวนการทำงานด้านความปลอดภัยที่สมบูรณ์:

  1. ฮุกก่อนยืนยันการเปลี่ยนแปลง: การสแกนข้อมูลลับ (gitleaks), SAST (semgrep)
  2. การตรวจสอบ PR: ผลลัพธ์ SAST และการสแกนส่วนพึ่งพา (Dependabot)
  3. การนำไปใช้งานในสภาพแวดล้อมเตรียมการ: การสแกน DAST (ค่าพื้นฐานของ ZAP)
  4. ระบบใช้งานจริง: การเฝ้าติดตามขณะทำงาน (RASP, WAF)

การวัดประสิทธิผลของ AppSec

ตัวชี้วัดสำคัญสำหรับ AppSec ในกระบวนการผสานรวมและส่งมอบอย่างต่อเนื่อง:

  • เวลาเฉลี่ยในการแก้ไขข้อค้นพบด้านความปลอดภัย
  • อัตราการพบข้อค้นพบต่อรหัส 1,000 บรรทัด
  • อัตราผลบวกลวง (มีผลต่อความไว้วางใจของนักพัฒนา)
  • อัตราช่องโหว่ที่หลุดรอด (พบในสภาพแวดล้อมเตรียมการเทียบกับระบบใช้งานจริง)

ตรวจสอบความเข้าใจอย่างรวดเร็ว: SAST เทียบกับ DAST

การทดสอบความปลอดภัยประเภทใดที่วิเคราะห์รหัสต้นฉบับโดยไม่เรียกใช้รหัส และให้ข้อเสนอแนะโดยตรงในกระบวนการ CI ทุกครั้งที่มีการยืนยันการเปลี่ยนแปลง

สรุปบทเรียน

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

คำถามที่พบบ่อย

บทเรียน “SAST และ DAST ในไปป์ไลน์ CI/CD” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “SAST และ DAST ในไปป์ไลน์ CI/CD” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “SAST และ DAST ในไปป์ไลน์ CI/CD”

ผสานรวม SonarQube, Semgrep หรือ Bandit สำหรับการวิเคราะห์แบบสถิต และ OWASP ZAP สำหรับการสแกนแบบไดนามิกในไปป์ไลน์ คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “SAST และ DAST ในไปป์ไลน์ CI/CD” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม

ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. SAST และ DAST ในไปป์ไลน์ CI/CD
  2. การวิเคราะห์องค์ประกอบซอฟต์แวร์ (SCA)
  3. การสแกนข้อมูลลับและข้อมูลรับรองที่ฝังตายตัว
  4. ผู้ประสานงานด้านความปลอดภัยและการสร้างแบบจำลองภัยคุกคาม
← กลับไปที่ Cyber Security Academy