Learning AtlasIT Support → Cybersecurity
คลังบทอ่าน28.4 / สายความเชี่ยวชาญต่อยอดบทถัดไป
สารบัญบทอ่าน / Advanced Specializations / 28.4
07 · เลือกทางต่อยอด · บท 28.4

Application Security

ความปลอดภัยแอปพลิเคชัน

AppSec เชื่อมการออกแบบ โค้ด และการทดสอบเข้ากับความเสี่ยงของแอป

3 หัวข้อคำอธิบายในหน้านี้ภาพอธิบายและกลไกทีละส่วน
หัวข้อในบทนี้
ศัพท์ในบทนี้ · กดคำที่ขีดเส้นใต้ในเนื้อหาเพื่อดูความหมายได้ด้วย
API
ข้อตกลงวิธีที่โปรแกรมเรียกความสามารถหรือข้อมูลของอีกโปรแกรม
SQL
ภาษาประมวลข้อมูลในฐานข้อมูล เช่นเลือก กรอง join และเปลี่ยนข้อมูล
WAF
เครื่องมือกรอง request เว็บตามกฎ ไม่แทนการตรวจสิทธิ์ธุรกิจในแอป
SAST
วิเคราะห์โค้ดหรือโครงสร้างโปรแกรมโดยไม่ตรวจ runtime แบบ DAST
DAST
ทดสอบพฤติกรรมแอปที่รันอยู่ใน scope ที่อนุญาต
SCA
วิเคราะห์ส่วนประกอบและ dependencies ของซอฟต์แวร์
จากหลักการไปถึงกลไก

AppSec ตรวจตั้งแต่ design จนถึง request จริง

Application security ต้องรู้กฎธุรกิจ data flows trust boundaries และโค้ดที่บังคับสิทธิ์ Secure design ลดเงื่อนไขที่เอื้อให้เกิดภัยก่อนเขียน ส่วน testing ตรวจแต่ละมุมและมีข้อจำกัดของมัน การใช้ scanner หนึ่งตัวไม่แทนการทบทวนสิทธิ์ระดับข้อมูลหรือ abuse case

วงจรงาน · ย้อนตรวจและปรับได้AppSec ตรวจตั้งแต่ design จนถึง request จริง
  1. Design

    กำหนด roles ownership input และผลที่แต่ละคนทำได้ พร้อมการเก็บข้อมูลและ session

  2. Build

    แยก code กับ data จัด output ตามบริบท ตรวจสิทธิ์บน server และจัด dependencies

  3. Review / SAST

    อ่านหรือวิเคราะห์ source ตามความสามารถ ช่วยพบรูปแบบแต่มี false results และไม่เห็น runtime ทั้งหมด

  4. DAST / API tests

    ตรวจระบบรันและ request ของหลายบทบาท รวมการเข้าถึงรายการคนอื่น

  5. SCA + release

    ตรวจ dependencies รุ่น exposure และ artifact ที่ปล่อยจริง แล้วติดตาม remediation

Authentication กับ object-level authorization เป็นคนละด่าน ที่ตรวจ token ถูกต้องยังผิดได้ถ้าไม่ตรวจ ownership ให้มุมมองต่างกัน Supply chain และ secrets ต้องตามตั้งแต่ build จนถึง runtime ไม่ใช้ OWASP Top 10 เป็นรายชื่อทดสอบครบทุกแอป

01 / 03

ออกแบบและเขียนโค้ดปลอดภัยSecure Design and Coding · 28.4.1

Secure design ลดทางโจมตี Secure coding ทำให้การประมวลข้อมูลและสิทธิ์เป็นไปตามแบบ

Secure coding เชื่อม threat model กับ implementation เช่น input boundary authorization secret handling error output และ dependency แยกข้อมูลกับโค้ดและออกแบบให้ตรวจทุก action สำคัญ

เทียบหน้าที่เพื่อไม่สับสน
•Design constraints

กฎที่ต้องคง

•Implementation

การบังคับในโค้ด

•Verification

ตรวจทางปกติและผิดสิทธิ์

Code ที่ sanitize input ยังมี access control bug ได้หากอ่าน record คนอื่น ใช้ invariant เช่นผู้ใช้ต้องเป็นเจ้าของหรือ role ที่อนุญาต แล้วตรวจทุกเส้นทาง backend ที่ทำ action นั้น

ที่มาของหัวข้อนี้ · 1 รายการ

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

  • Foundations of Cybersecurity · Module 3: Protect against threats, risks, and vulnerabilitiesVideo: Secure designCY1.M3.V3
02 / 03

ความปลอดภัยเว็บและเอพีไอWeb and API Security · 28.4.2

Web/API security ต้องตรวจตัวตน สิทธิ์ระดับข้อมูล input และการใช้ทรัพยากร

Web/ security ดู object-level authorization session token CORS rate limit injection และ business logic ต้องตรวจแต่ละ resource กับ action ไม่เพียง endpoint login

เทียบหน้าที่เพื่อไม่สับสน
•Identity / session

ผู้เรียกและบริบท

•Resource authorization

สิทธิ์ต่อ object/action

•Data / abuse controls

input output และการใช้ผิด

/orders/7 ต้องตรวจว่า user เห็น order 7 ได้ ไม่เชื่อเลขที่ client ส่ง Pagination และ filter ต้องไม่เปิดข้อมูลเกินสิทธิ์ การมี ไม่รู้ ownership ของรายการแทน backend

ที่มาของหัวข้อนี้ · 2 รายการ

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

เอกสารหลักที่ใช้ตรวจแนวคิดเพิ่มเติม

03 / 03

ตรวจโค้ดและทดสอบความปลอดภัยCode Review and Security Testing · 28.4.3

Code review ตรวจเหตุผลของโค้ด Security testing ตรวจพฤติกรรม ต้องใช้ข้อมูลทั้งสองร่วมกัน

Security review ติดตาม data flow จาก input ถึงจุดใช้ พร้อมดูสิทธิ์และ error behavior วิเคราะห์ code ตรวจแอปที่รัน ดู components แต่แต่ละเครื่องมือมี false positive และ blind spot

เทียบหน้าที่เพื่อไม่สับสน
•Static review

code และเส้นข้อมูล

•Runtime testing

behavior ในระบบที่รัน

•Component review

dependency และเงื่อนไขใช้งาน

แจ้ง concat ต้องดูว่า input ควบคุมได้ไหม อาจไม่ถึงหน้าเฉพาะ role พบ dependency ต้องตรวจส่วนที่ deploy จริง ใช้ manual review เติม business logic ที่เครื่องมือไม่รู้

ที่มาของหัวข้อนี้ · 1 รายการ

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

เชื่อมความเข้าใจ

นำศัพท์มาเชื่อมกับงาน

ตัวอย่างให้เห็นภาพ

เปลี่ยน user_id ใน request แล้วเห็นข้อมูลคนอื่นเป็นปัญหาการอนุญาต แม้จะล็อกอินแล้ว

สิ่งที่บทนี้เชื่อมไว้

AppSec เชื่อมการออกแบบ โค้ด และการทดสอบเข้ากับความเสี่ยงของแอป

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

บันทึกในเบราว์เซอร์นี้
บทเรียนที่เกี่ยวข้องและที่มาของบทอ่าน

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

OWASP · Top 10 ↗