0Pricing
DevOps Bootcamp · บทเรียน

การทดสอบความปลอดภัยแอปพลิเคชันแบบคงที่ (SAST)

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

การทดสอบความปลอดภัยแอปพลิเคชันแบบคงที่ (SAST) เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

SAST คืออะไร

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

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

  • แบบสถิต: วิเคราะห์โค้ดขณะที่ไม่ได้ทำงาน
  • แอปพลิเคชัน: มุ่งเน้นที่ซอฟต์แวร์ของคุณ
  • ความปลอดภัย: มุ่งค้นหาช่องโหว่

SAST ทำงานอย่างไร

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

  • การไหลของข้อมูล: ข้อมูลเคลื่อนผ่านแอปพลิเคชันของคุณอย่างไร
  • การไหลของการควบคุม: ลำดับการดำเนินการของคำสั่ง
  • ข้อบกพร่องเชิงโครงสร้าง: แนวทางการเขียนโค้ดที่ไม่ดีหรือการกำหนดค่าที่ไม่ถูกต้อง

การวิเคราะห์เชิงลึกนี้ช่วยระบุปัญหา เช่น การแทรกคำสั่ง SQL สคริปต์ข้ามไซต์ (XSS) และการอ้างอิงออบเจ็กต์โดยตรงที่ไม่ปลอดภัย (IDOR)

เหตุใด SAST จึงสำคัญอย่างยิ่ง

การผสาน SAST เข้ากับไปป์ไลน์ CI/CD ของคุณมอบประโยชน์อย่างมาก:

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

การตรวจพบปัญหาแต่เนิ่น ๆ ช่วยป้องกันการแก้ไขที่มีค่าใช้จ่ายสูงและการรั่วไหลของข้อมูลที่อาจเกิดขึ้นในภายหลัง

เครื่องมือ SAST ที่ใช้กันทั่วไป

มีเครื่องมือ SAST ให้เลือกใช้มากมาย ทั้งแบบโอเพนซอร์สและเชิงพาณิชย์ ตัวอย่างเครื่องมือที่ได้รับความนิยม ได้แก่:

  • GitHub CodeQL: เอนจิน SAST ในตัวของ GitHub
  • SonarQube: แพลตฟอร์มที่ใช้กันอย่างแพร่หลายสำหรับตรวจสอบคุณภาพและความปลอดภัยของโค้ดอย่างต่อเนื่อง
  • Bandit: เครื่องมือตรวจสอบโค้ดด้านความปลอดภัยสำหรับโครงการ Python
  • Snyk Code: ผสานความปลอดภัยเข้ากับกระบวนการทำงานของนักพัฒนา

สำหรับ GitHub Actions แล้ว CodeQL มักเป็นเครื่องมือที่ผสานรวมได้ง่ายที่สุด เนื่องจากมีมาให้ในตัว

SAST ใน GitHub Actions

คุณสามารถผสานเครื่องมือ SAST เข้ากับกระบวนการทำงานของ GitHub Actions ได้โดยตรง ซึ่งหมายความว่าทุกครั้งที่คุณส่งโค้ดหรือเปิดคำขอดึงโค้ด ระบบจะสแกนโค้ดของคุณเพื่อค้นหาช่องโหว่โดยอัตโนมัติ

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

การตั้งค่า CodeQL ในกระบวนการทำงาน

มาดูตัวอย่างบางส่วนของกระบวนการทำงาน GitHub Actions พื้นฐานสำหรับตั้งค่า CodeQL กัน การดำเนินการนี้จะทำงานโดยอัตโนมัติเมื่อมีการส่งโค้ดและคำขอดึงโค้ด เพื่อสแกนโค้ดของคุณ

ขั้นตอน github/codeql-action/init@v3 จะเตรียมสภาพแวดล้อมของ CodeQL

name: CodeQL Scan

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  analyze:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
      uses: actions/checkout@v4
    - name: Initialize CodeQL
      uses: github/codeql-action/init@v3
      with:
        languages: javascript, python
    # ... more steps for building and analyzing

การเรียกใช้การวิเคราะห์ CodeQL

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

สุดท้าย ขั้นตอน analyze จะอัปโหลดผลลัพธ์ไปยังแท็บความปลอดภัยของ GitHub

    # ... previous steps from last scene
    - name: Autobuild
      uses: github/codeql-action/autobuild@v3
      # This step attempts to build your code (e.g., Maven, npm)
      # If your project has a complex build, you might need a custom build step.
    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@v3

ทำความเข้าใจรายงาน SAST

เมื่อการสแกน SAST เสร็จสิ้น ระบบจะสร้างรายงานขึ้นมา ใน GitHub ผลการตรวจพบจาก CodeQL จะแสดงโดยตรงในแท็บ 'ความปลอดภัย' ของคลังโค้ด และแสดงเป็นคำอธิบายประกอบในคำขอดึงโค้ด

โดยทั่วไปรายงานเหล่านี้จะประกอบด้วย:

  • ประเภทช่องโหว่: ระบุว่าเป็นปัญหาประเภทใด
  • ระดับความรุนแรง: วิกฤต สูง ปานกลาง ต่ำ
  • ตำแหน่ง: ไฟล์และหมายเลขบรรทัดในโค้ดของคุณ
  • แนวทางแก้ไข: วิธีแก้ไขช่องโหว่

แนวทางปฏิบัติที่ดีที่สุดสำหรับ SAST

เพื่อใช้ประโยชน์จาก SAST ให้ได้มากที่สุด:

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

การตรวจสอบและปรับปรุงการกำหนดค่า SAST อย่างสม่ำเสมอก็มีความสำคัญเช่นกัน

ตรวจสอบความรู้เกี่ยวกับ SAST

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

ทบทวน: SAST ในไปป์ไลน์ของคุณ

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

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

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

บทเรียน “การทดสอบความปลอดภัยแอปพลิเคชันแบบคงที่ (SAST)” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การทดสอบความปลอดภัยแอปพลิเคชันแบบคงที่ (SAST)”

ผสานเครื่องมือ SAST เข้ากับเวิร์กโฟลว์ เพื่อระบุช่องโหว่ด้านความปลอดภัยในโค้ดโดยอัตโนมัติก่อนการนำไปใช้งาน คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

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

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

บทเรียน “การทดสอบความปลอดภัยแอปพลิเคชันแบบคงที่ (SAST)” ใช้เวลานานแค่ไหน

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

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

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

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

  1. แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัยใน CI/CD
  2. การจัดการข้อมูลลับด้วย GitHub
  3. การทดสอบความปลอดภัยแอปพลิเคชันแบบคงที่ (SAST)
  4. ความปลอดภัยของทรัพยากรพึ่งพาและห่วงโซ่อุปทาน (SCA)
← กลับไปที่ DevOps Bootcamp