แผนภาพการไหลของข้อมูลและขอบเขตความน่าเชื่อถือ
ทำแผนที่การเคลื่อนที่ของข้อมูลและจุดที่ข้อมูลข้ามเส้นแบ่งความน่าเชื่อถือ
แผนภาพการไหลของข้อมูลและขอบเขตความน่าเชื่อถือ เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุใดจึงควรเริ่มจากแผนภาพ
คุณไม่สามารถค้นหาภัยคุกคามในระบบที่ยังไม่เข้าใจได้ แผนภาพการไหลของข้อมูล (DFD) เป็นรากฐานของการสร้างแบบจำลองภัยคุกคาม โดยแสดงให้เห็นด้วยภาพว่าข้อมูลเคลื่อนผ่านระบบของคุณอย่างไร
แผนภาพทำให้สมมติฐานที่เคยแฝงอยู่ปรากฏชัดเจน เมื่อคุณมองเห็นว่าข้อมูลไปที่ใดและใครแตะต้องข้อมูลนั้น การตรวจพบภัยคุกคามก็ทำได้ง่ายขึ้นมาก
องค์ประกอบทั้งสี่ของ DFD
DFD ใช้ส่วนประกอบพื้นฐานเพียงสี่อย่าง ควรรักษาให้เรียบง่าย:
- หน่วยงานภายนอก — บุคคลหรือระบบที่อยู่นอกเหนือการควบคุมของคุณ (ผู้ใช้ เอพีไอของบุคคลที่สาม)
- กระบวนการ — สิ่งที่เปลี่ยนรูปข้อมูล (บริการ ฟังก์ชัน)
- ที่เก็บข้อมูล — ตำแหน่งที่ข้อมูลถูกจัดเก็บ (ฐานข้อมูล ไฟล์ แคช)
- การไหลของข้อมูล — การเคลื่อนที่ของข้อมูลระหว่างองค์ประกอบ (ลูกศร)
ระบบเกือบทุกประเภทสามารถแสดงด้วยรูปร่างทั้งสี่นี้
สัญกรณ์ DFD มาตรฐาน
DFD ใช้รูปร่างตามแบบแผน เพื่อให้ทุกคนสามารถอ่านได้:
External entity -> rectangle / square
Process -> circle (or rounded rectangle)
Data store -> two parallel lines (open rectangle)
Data flow -> labeled arrow
Trust boundary -> dashed line crossing flowsDFD ของแอปพลิเคชันเว็บอย่างง่าย
ลองพิจารณาแอปพลิเคชันเว็บพื้นฐาน แผนภาพการไหลของข้อมูลอาจมีลักษณะเป็นข้อความดังนี้:
User (external) --HTTPS request--> Web App (process)
Web App --SQL query--> Database (data store)
Web App --API call--> Payment Provider (external)
Database --results--> Web App
Web App --HTTPS response--> Userขอบเขตความไว้วางใจคืออะไร
ขอบเขตความไว้วางใจ คือเส้นใด ๆ ในแผนภาพที่ระดับความไว้วางใจเปลี่ยนแปลง ด้านหนึ่ง ข้อมูลหรือผู้เรียกได้รับความไว้วางใจ ส่วนอีกด้านหนึ่งไม่ได้รับความไว้วางใจ
ขอบเขตความไว้วางใจเป็นคุณลักษณะที่เกี่ยวข้องกับความปลอดภัยมากที่สุดของ DFD เพราะทำเครื่องหมายจุดที่:
- ข้อมูลควรได้รับการตรวจสอบความถูกต้อง
- ผู้เรียกควรผ่านการพิสูจน์ตัวตนและได้รับอนุญาต
- ระดับสิทธิ์เปลี่ยนแปลง
ช่องโหว่ส่วนใหญ่อยู่ตรงจุดที่ข้อมูลข้ามขอบเขตความไว้วางใจพอดี
ขอบเขตความไว้วางใจที่พบบ่อย
เมื่อเริ่มมองหา คุณจะพบขอบเขตความไว้วางใจอยู่ทุกที่ ตัวอย่างที่พบบ่อย:
- อินเทอร์เน็ตกับแอปพลิเคชันของคุณ (ข้อมูลขาเข้าจากผู้ใช้ที่ไม่น่าไว้วางใจมาถึง)
- แอปพลิเคชันกับฐานข้อมูล
- ระหว่างกระบวนการที่มีสิทธิ์ต่ำกับสิทธิ์สูง
- ระหว่างระบบของคุณกับเอพีไอของบุคคลที่สาม
- ระหว่างคอนเทนเนอร์กับโฮสต์
- ระหว่างส่วนเครือข่าย (DMZ กับเครือข่ายภายใน)
แต่ละขอบเขตควรได้รับการตรวจสอบอย่างเจาะจง
การวาดขอบเขตบน DFD
เพิ่มขอบเขตความไว้วางใจเป็นเส้นประที่ตัดผ่านการไหลของข้อมูลซึ่งได้รับผลกระทบ ในแอปพลิเคชันเว็บของเรา:
User (external)
| HTTPS
- - - - - - - - - - - - <- Trust boundary: internet / app
v
Web App (process)
| SQL
- - - - - - - - - - - - <- Trust boundary: app / database
v
Database (data store)ขอบเขตบอกคุณว่าควรใช้ STRIDE ที่ใด
ขอบเขตความไว้วางใจเชื่อมโยงบทเรียนนี้เข้ากับ STRIDE การไหลของข้อมูลที่ข้ามขอบเขตคือจุดที่คุณควรมุ่งเน้นการวิเคราะห์ด้วย STRIDE
ที่ขอบเขตระหว่างอินเทอร์เน็ตกับแอปพลิเคชัน ให้ถามว่า:
- การปลอมแปลงตัวตน — ผู้เรียกผ่านการพิสูจน์ตัวตนแล้วหรือไม่
- การดัดแปลง — ข้อมูลขาเข้าได้รับการตรวจสอบความถูกต้องหรือไม่
- การเปิดเผยข้อมูล — ช่องทางได้รับการเข้ารหัสหรือไม่
- การปฏิเสธการให้บริการ — มีการจำกัดอัตราหรือไม่
ขอบเขตช่วยเปลี่ยนกรอบการทำงานเชิงนามธรรมให้เป็นคำถามที่ตอบได้จริง
การเลือกระดับความละเอียดที่เหมาะสม
DFD อาจคลุมเครือเกินไปหรือละเอียดเกินไป ทั้งสองแบบล้วนใช้ไม่ได้ผล
- ระดับสูงเกินไป — กล่องเดียวที่ติดป้ายว่า “ระบบ” จะซ่อนขอบเขตที่น่าสนใจทั้งหมด
- ละเอียดเกินไป — แสดงทุกฟังก์ชันและตัวแปรจนมีรายละเอียดรบกวนมากเกินไป
ตั้งเป้าไว้ที่ระดับซึ่งมองเห็นองค์ประกอบหลักและขอบเขตความไว้วางใจแต่ละจุด ใช้ DFD แบบแบ่งชั้น: เริ่มจากแผนภาพบริบทของทั้งระบบ แล้วเจาะลึกกระบวนการที่ซับซ้อนแยกต่างหาก
ตรวจสอบแผนภาพร่วมกับทีม
DFD ที่คนคนเดียววาดมักมีสมมติฐานที่ไม่ถูกต้อง ควรตรวจสอบแผนภาพไปพร้อมกับผู้ที่สร้างระบบ
ถามคำถามเพื่อเจาะลึก:
- นี่เป็นวิธีเดียวจริงหรือที่ข้อมูลจะไปถึงฐานข้อมูลได้
- มีเส้นทางของผู้ดูแลระบบหรือการประมวลผลเป็นชุดที่ไม่ได้แสดงไว้หรือไม่
- มีสิ่งใดข้ามขั้นตอนการพิสูจน์ตัวตนนี้หรือไม่
- มีสำเนาของข้อมูลนี้ที่แคชไว้ในตำแหน่งอื่นหรือไม่
การไหลของข้อมูลที่ซ่อนอยู่เป็นสาเหตุที่พบบ่อยของการพลาดช่องโหว่
รักษาแผนภาพให้ทันสมัย
ระบบมีการเปลี่ยนแปลง และ DFD ที่ล้าสมัยจะทำให้เข้าใจผิด แผนภาพที่ไม่เป็นปัจจุบันแย่กว่าการไม่มีแผนภาพเลย เพราะทำให้เกิดความมั่นใจที่ผิด ๆ
อัปเดต DFD เมื่อ:
- มีการเพิ่มการเชื่อมต่อหรือการพึ่งพาภายนอกรายการใหม่
- มีที่จัดเก็บข้อมูลใหม่ปรากฏขึ้น
- แบบจำลองความน่าเชื่อถือเปลี่ยนแปลง (บริการย้ายไปยังโซนเครือข่ายใหม่)
ถือว่า DFD เป็นเอกสารประกอบที่มีการดูแลไปพร้อมกับระบบ ไม่ใช่สิ่งที่สร้างขึ้นเพียงครั้งเดียว
ตรวจสอบความเข้าใจ
ทดสอบความเข้าใจของคุณเกี่ยวกับ DFD และขอบเขตความน่าเชื่อถือ
สรุปทบทวน
คุณได้เรียนรู้การทำแผนผังระบบเพื่อสร้างแบบจำลองภัยคุกคาม:
- DFD ใช้องค์ประกอบสี่อย่าง ได้แก่ เอนทิตีภายนอก กระบวนการ ที่จัดเก็บข้อมูล และกระแสข้อมูล
- ขอบเขตความน่าเชื่อถือ แสดงจุดที่ระดับความน่าเชื่อถือเปลี่ยนแปลง และเป็นจุดที่มักมีช่องโหว่มากที่สุด
- กระแสข้อมูลที่ข้ามขอบเขตคือจุดที่ควรมุ่งเน้นการวิเคราะห์ STRIDE
- เลือกระดับความละเอียดที่เหมาะสมและใช้แผนภาพแบบแบ่งชั้น
- ตรวจสอบ DFD กับทีมและปรับปรุงให้เป็นปัจจุบันอยู่เสมอ
ต่อไป คุณจะจัดอันดับภัยคุกคามด้วยต้นไม้การโจมตีและจัดลำดับความสำคัญของมาตรการลดความเสี่ยง
คำถามที่พบบ่อย
บทเรียน “แผนภาพการไหลของข้อมูลและขอบเขตความน่าเชื่อถือ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “แผนภาพการไหลของข้อมูลและขอบเขตความน่าเชื่อถือ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “แผนภาพการไหลของข้อมูลและขอบเขตความน่าเชื่อถือ”
ทำแผนที่การเคลื่อนที่ของข้อมูลและจุดที่ข้อมูลข้ามเส้นแบ่งความน่าเชื่อถือ คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “แผนภาพการไหลของข้อมูลและขอบเขตความน่าเชื่อถือ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม
ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เหตุผลที่การสร้างแบบจำลองภัยคุกคามสำคัญ
- กรอบงาน STRIDE
- แผนภาพการไหลของข้อมูลและขอบเขตความน่าเชื่อถือ
- ต้นไม้การโจมตีและการจัดลำดับความเสี่ยง