Network and Application Attacks
โจมตีเครือข่ายและแอป
การสื่อสารและแอปมีจุดที่ข้อมูลถูกดัก ปลอม หรือทำให้ระบบตีความผิด ต้องเข้าใจพฤติกรรมก่อนชื่อโจมตี
หัวข้อในบทนี้
ศัพท์ในบทนี้ · กดคำที่ขีดเส้นใต้ในเนื้อหาเพื่อดูความหมายได้ด้วย
- CPU
- หน่วยประมวลผลที่ทำตามคำสั่งของโปรแกรม
- IP
- ที่อยู่และโปรโตคอลส่ง packet ระหว่างเครือข่าย รุ่น IPv4 และ IPv6 มีรูปแบบต่างกัน
- MAC
- ที่อยู่ชั้นลิงก์ เช่น Ethernet ใช้ระบุผู้ส่งและผู้รับใน frame
- TLS
- โปรโตคอลปกป้องช่องทางสื่อสารพร้อมการตรวจปลายทางตามแบบใช้งาน
- ARP
- กลไก IPv4 บนลิงก์เพื่อค้น MAC ของ IP next hop
- SQL
- ภาษาประมวลข้อมูลในฐานข้อมูล เช่นเลือก กรอง join และเปลี่ยนข้อมูล
- HTML
- ภาษาโครงสร้างและความหมายของเอกสารเว็บ
โจมตีแต่ละแบบข้ามขอบเขตคนละจุด
DoS/DDoS ทำให้บริการรับงานไม่ได้ด้วยข้อจำกัดบางอย่าง Sniffing สังเกตการสื่อสาร Spoofing ปลอมสิ่งที่ถูกใช้เชื่อถือ Interception อยู่ระหว่างการสื่อสาร ส่วน injection ทำให้ input ถูกตีความเป็นคำสั่งหรือโค้ด ต้องแยกกลไกจึงเลือกมาตรการที่ลดเหตุนั้นได้
- Availability boundary
DoS อาจใช้ bandwidth connection หรือ resource ของแอป ไม่จำเป็นต้องเป็น traffic ขนาดใหญ่เสมอ
- Network trust
ปลอมที่อยู่หรือข้อมูลควบคุมเพื่อให้ระบบตัดสินผิด การเข้ารหัสต้องตรวจตัวตนปลายทางด้วย
- SQL parser
หากนำค่าผู้ใช้ต่อในคำสั่งโดยไม่แยกค่า อาจเปลี่ยนความหมาย query ใช้ parameterized query ตามเครื่องมือ
- Browser execution
XSS ทำให้ข้อมูลไม่น่าเชื่อถือกลายเป็น script ในบริบทเว็บ ต้องจัด output ให้ตรงบริบทและควบคุมการรัน
- Attack sequence
เหตุจริงมีหลายช่วง แต่ไม่ต้องเดินตามลำดับเดียวครบทุกชื่อที่อยู่ใน model
XSS กับ injection เกิดในตัวตีความและสิทธิ์ต่างกัน จึงไม่แก้ด้วยการลบอักขระบางตัวแบบเดียวทั้งหมด และ scanning หรือ SYN ซ้ำอาจมีเหตุจากงานปกติหรือ loss ต้องดูปริมาณ บริบทและผลที่เกิด ไม่เรียกทุกความผิดปกติว่า intrusion โดยทันที
ทำให้บริการใช้ไม่ได้DoS and DDoS · 21.2.1
DoS ทำให้บริการไม่พร้อมใช้ DDoS ใช้แหล่งโจมตีหลายจุดเพื่อเพิ่มแรงหรือกระจายต้นทาง
DoS ทำให้บริการใช้ไม่ได้ด้วยการใช้ทรัพยากรหรือจุดอ่อน DDoS กระจายแหล่งโจมตี อาจเกิดระดับ bandwidth connection หรือ application ต้องรู้คอขวดก่อนเลือกมาตรการ
ลิงก์และปริมาณ traffic
connection หรือ state
งานราคาแพงของบริการ
backend เต็มกับสาย upstream เต็มแก้ต่างกัน Firewall บนเครื่องช่วยไม่ได้หากลิงก์ก่อนถึงเครื่องเต็ม ต้องมีการลดโหลดหรือบริการ upstream พร้อม monitoring และเงื่อนไขประสานผู้ให้บริการ
ที่มาของหัวข้อนี้ · 2 รายการ
คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส
- Connect and Protect: Networks and Network Security · Module 3: Secure against network intrusionsVideo: Denial of Service (DoS) attacksCY3.M3.V4
- Connect and Protect: Networks and Network Security · Module 3: Secure against network intrusionsReading: Real-life DDoS attackCY3.M3.R3
ดักอ่าน ปลอมตัว และแทรกการสื่อสารSniffing, Spoofing and Interception · 21.2.2
Sniffing อ่านการสื่อสาร Spoofing ปลอมข้อมูลตัวตน Interception แทรกตัวในเส้นทาง
Sniffing อ่าน traffic ที่เข้าถึงได้ Spoofing ปลอมข้อมูลระบุ เช่น หรือชื่อผู้ส่ง Interception แทรกการสื่อสารเพื่ออ่านหรือเปลี่ยนตามเงื่อนไข การเข้ารหัสพร้อมตรวจปลายทางช่วยลดบางผล
traffic ที่ผู้โจมตีเห็น
ข้อมูลระบุที่ปลอม
เข้ารหัสและตรวจตัวตนตามขอบเขต
ที่ตรวจ certificate ถูกลดการอ่านและแก้เนื้อหาระหว่างทาง แต่ metadata บางส่วนยังมองเห็น spoofing เกิดในขอบเขตที่เข้าถึง layer 2 ได้ ไม่สรุปว่า attacker อินเทอร์เน็ตทำได้ทุกวง
ที่มาของหัวข้อนี้ · 3 รายการ
คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส
- Connect and Protect: Networks and Network Security · Module 3: Secure against network intrusionsVideo: Malicious packet sniffingCY3.M3.V5
- Connect and Protect: Networks and Network Security · Module 3: Secure against network intrusionsVideo: IP SpoofingCY3.M3.V6
- Connect and Protect: Networks and Network Security · Module 3: Secure against network intrusionsReading: Overview of interception tacticsCY3.M3.R5
แทรกสคริปต์และคำสั่งฐานข้อมูลXSS and SQL Injection · 21.2.3
XSS ทำให้เว็บรันสคริปต์ที่ไม่ควรเชื่อถือ SQL injection ทำให้ข้อมูลถูกตีความเป็นส่วนคำสั่ง
XSS เกิดเมื่อข้อมูลที่ไม่น่าเชื่อถูกตีความเป็น script ในบริบทเว็บ injection เกิดเมื่อ input เปลี่ยนโครงสร้างคำสั่ง DB ทั้งสองเป็นปัญหาแยกข้อมูลจากโค้ดแต่ป้องกันคนละบริบท
ค่าที่ผู้ใช้หรือภายนอกควบคุม
ข้อมูลถูกอ่านเป็นโค้ด
encoding หรือ parameter ตามบริบท
ใช้ textContent หรือ encoding ตามบริบทเว็บ และ parameterized query สำหรับ DB การกรองคำว่า script อย่างเดียวไม่ป้องกันทุก XSS ส่วน prepared statement ไม่แทนการตรวจว่าผู้ใช้มีสิทธิ์ดู row นั้น
Separate Data from Syntax (อย่าให้ข้อมูลกลายเป็นคำสั่ง)
Parameterized query แยกค่าจากโครง สำหรับตำแหน่ง parameter ที่เครื่องมือรองรับ ไม่ใช่นำชื่อ table หรือ SQL fragment จากผู้ใช้มาใส่แล้วถือว่าปลอดภัยทุกกรณี ส่วนที่เป็นโครงสร้างต้องออกแบบหรือ allowlist ตามงาน Input validation ตรวจรูปแบบและขอบเขต แต่ไม่แทนการแยกข้อมูลกับ syntax
สำหรับ XSS ต้องจัดข้อมูลตามบริบทที่นำไปใช้ เช่น text attribute URL หรือ JavaScript การ escape แบบเดียวไม่เหมาะทุกบริบท การแสดงข้อความด้วยวิธีที่ไม่ตีความเป็น HTML ช่วยบางงาน แต่แอปยังต้องตรวจสิทธิ์ session และช่อง input อื่นของระบบ
ที่มาของหัวข้อนี้ · 2 รายการ
คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส
- Assets, Threats, and Vulnerabilities · Module 4: Threats to asset securityVideo: Cross-site scripting (XSS)CY5.M4.V6
- Assets, Threats, and Vulnerabilities · Module 4: Threats to asset securityReading: Prevent injection attacksCY5.M4.R4
ลำดับขั้นของการบุกรุกIntrusion Stages · 21.2.4
การบุกรุกอาจมีสำรวจ เข้าถึง รักษาการเข้าถึง และขยายผล แต่ไม่ใช่ทุกเหตุเดินตามลำดับเดียว
Intrusion มองได้เป็น initial access execution persistence privilege escalation lateral movement และเป้าหมาย เช่นขโมยข้อมูล แต่เหตุจริงอาจข้ามหรือย้อนขั้น ไม่ใช้ checklist บังคับให้ทุกเหตุเป็นเส้นเดียว
เข้าและเริ่มงาน
รักษาสิทธิ์และขยาย
ผลที่ผู้โจมตีพยายามทำ
พบ login แปลกต้องตรวจต่อว่ามี session และ action อะไร ไม่ถือว่าผู้โจมตีทำครบทุกขั้น ทราบขั้นช่วยเลือก telemetry และ control ที่ตัดเส้นทางเหตุได้
ที่มาของหัวข้อนี้ · 1 รายการ
คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส
- Connect and Protect: Networks and Network Security · Module 3: Secure against network intrusionsReading: How intrusions compromise your systemCY3.M3.R1
นำศัพท์มาเชื่อมกับงาน
ป้องกัน SQL injection โดยส่งค่าผ่าน parameters แทนประกอบ SQL จากข้อความผู้ใช้
สิ่งที่บทนี้เชื่อมไว้
การสื่อสารและแอปมีจุดที่ข้อมูลถูกดัก ปลอม หรือทำให้ระบบตีความผิด ต้องเข้าใจพฤติกรรมก่อนชื่อโจมตี
ใช้ภาพกับตัวอย่างด้านบนเชื่อมหน้าที่ของแต่ละส่วน แล้วตรวจความเข้าใจด้วยการอธิบายเหตุผลของผลที่เห็น ก่อนเปิดบทถัดไป
บทเรียนที่เกี่ยวข้องและที่มาของบทอ่าน
คำอธิบายหน้านี้เขียนใหม่ตามหัวข้อใน Atlas รายการด้านล่างเป็นชื่อ Video/Reading ที่เคยจับคู่ไว้ แสดงไว้ให้ตรวจที่มาของชื่อหัวข้อ และไม่รับรองว่าคอร์สสอนทุกส่วนของคำอธิบายนี้