ใครที่ตามข่าวเกี่ยวกับการโจมตีทางไซเบอร์ (Cyber Attack) น่าจะเห็นคำว่า "Payload" กันอยู่บ่อยครั้ง คำนี้ถ้าเป็นในบริบทของการขนส่งสินค้า จะหมายถึง "ขนาดน้ำหนักของสินค้า หรือวัสดุที่ถูกขนส่ง" แต่ในทางคอมพิวเตอร์แล้ว Payload จะมีความหมายที่แตกต่างออกไป
สำหรับคอมพิวเตอร์ ความหมายจะเกี่ยวข้องกับการขนถ่ายไฟล์ ถึงแม้เรามักจะเห็นมันบ่อยใน มัลแวร์ (Malware) แต่ที่จริงมันเป็นการทำงานปกติรูปแบบหนึ่งของระบบคอมพิวเตอร์
ในบทความนี้ มารู้จักการทำงานของ Payload กันให้มากขึ้น ว่ามันหมายถึงอะไร ? ทำงานอย่างไร ?
ไม่ว่าเราจะสื่อสารแบบไหนก็ตาม ข้อความจะถูกส่งจากผู้ส่งไปยังผู้รับ เช่นเดียวกับการสื่อสารของมนุษย์ เครือข่ายคอมพิวเตอร์ก็ต้องมีวิธีการที่มันใช้ในการส่งข้อมูลจากผู้ส่งไปยังผู้รับด้วยเช่นกัน
โดยในทางคอมพิวเตอร์ "Payload" หมายถึง ความสามารถในการขนส่งแพ็กเก็ต หรือไฟล์ข้อมูลเพื่อส่งผ่านเครือข่าย คำนี้มีรากศัพท์มาจากการทหาร และเป็นคำที่มักจะเกี่ยวข้องความคุณสมบัติการทำงานของโค้ดที่เป็นอันตราย
Payload มีสองความหมายที่รู้จักกัน ได้แก่ "Data Payload" ซึ่งเกี่ยวข้องกับการขนส่งข้อมูลข้ามเครือข่าย และ "Malware Payload" ที่หมายถึง โค้ดอันตรายที่ใช้โจมตี และสร้างความเสียหายต่ออุปกรณ์, เครือข่าย และระบบ IT
Data Payload เป็นแพ็กเก็ตบน เครือข่าย หรือหน่วยข้อมูล "Protocol Data Unit (PDU)" ที่เฉพาะเจาะจง เป็นข้อมูลที่ส่งจากปลายทางการสื่อสาร และยังระบุความยาวสูงสุดที่อนุญาตสำหรับขนาด Payload ของตัวแพ็กเก็ตอีกด้วย Payload จะถูกบรรจุไว้ในแพ็กเก็ตที่มีข้อมูลหลายอย่าง เช่น ที่อยู่ควบคุมการเข้าถึงสื่อ (Media Access Control Address), ข้อมูล หมายเลขที่อยู่ไอพี (IP Address), แท็กคุณภาพการบริการ (Quality Of Service Tag), ข้อมูลระยะเวลาการใช้งาน (Time-To-Live Data) และการตรวจสอบผลรวม (Checksum)
Payload ชนิดนี้มีหลายประเภทที่ทำงานอยู่บนเครือข่าย โดยมักบรรจุ หรือห่อหุ้ม (Encapsulated) ในรูปแบบที่เรียกว่า "Frame Format" เช่น Ethernet Frame, Point-to-Point Protocol (PPP) Frame, Fibre Channel Frame, V.42 Modem Frame ฯลฯ
ภาพจาก : https://solace.com/blog/inside-a-solace-message-part-3-payload-data/
Payload ชนิดนี้น่าจะคุ้นหูกันดี เพราะมัลแวร์ส่วนใหญ่ใช้มันในการโจมตีเหยื่อ ในบริบทของมัลแวร์จะหมายถึงโค้ดอันตรายที่ถูกซ่อนไว้ในไฟล์พาหะต่าง ๆ เช่น หนอนคอมพิวเตอร์ (Computer Worm) หรือไฟล์ในอีเมล ฟิชชิ่ง (Phishing) โดยแฮกเกอร์จะเข้ารหัสโค้ดอันตรายเอาไว้ใน Payload เพื่อซ่อนโค้ดจากการถึงตรวจเจอจาก ซอฟต์แวร์ป้องกันมัลแวร์ (Antimalware Software) ต่าง ๆ เมื่อมัลแวร์ฝังในอุปกรณ์ของเหยื่อได้สำเร็จแล้ว จึงค่อยยิง Payload คลายโค้ดอันตรายออกมาโจมตี
ภาพจาก : https://www.trendmicro.com/en_th/research/18/b/attack-using-windows-installer-msiexec-exe-leads-lokibot.html
Payload มีข้อมูลที่มีความหมาย และจำเป็นสำหรับการส่ง และรับข้อมูลผ่านเครือข่าย มีการแบ่งชั้น (Layer) โดยแต่ละชั้นก็จะมีหน้าที่เฉพาะเจาะจงแยกออกจากกัน
ภาพจาก : https://www.naukri.com/code360/library/what-are-payloads
ในฝั่งของผู้ส่ง จะมีการเพิ่มส่วนหัว (Header (H)) และส่วนหาง (Trailer (T)) ที่มีข้อมูลเกี่ยวกับ Layer และหน้าที่ของมันเพิ่มเข้าไปให้กับ Payload ส่วนทางผู้รับก็จะได้รับข้อมูลใน Payload ไป ที่ต้องมีการแบ่ง Layer หลายชั้น ก็เพื่อช่วยให้เครือข่ายประเภทต่าง ๆ สามารถสื่อสารกันได้ และทำให้การออกแบบโปรโตคอลเครือข่ายได้ง่ายขึ้น
ขอยกตัวอย่างเป็น IP Packet ที่จะต้องมี Payload กำกับคำสั่งจากผู้ใช้ปลายทาง เช่น คำร้องขอเนื้อหาจากเว็บไซต์ แต่นอกจากนั้น ส่วนใหญ่ก็จะมีการส่ง Payload ข้อมูลจาก เซิร์ฟเวอร์ (Server) เพื่อตอบสนองสิ่งที่ผู้ใช้งานเรียกดูอยู่อย่างต่อเนื่อง
ขนาดของ Payload จะถูกจำกัดด้วยโปรโตคอล Protocol Data Unit (PDU) โดยขนาดจะค่อนข้างตายตัวแทบไม่มีความเปลี่ยนแปลงเลย ซึ่งขนาดของ Payload สามารถส่งผลกระทบต่อประสิทธิภาพการทำงานของโปรโตคอลโดยตรง หาก Payload มีขนาดเล็ก หมายความว่า ข้อมูลที่ถูกส่งจะต้องถูกย่อยขนาดเป็นแพ็คเก็ตจำนวนมากเพื่อให้เล็กพอที่จะบรรจุไว้ใน Payload ได้ ส่งผลกระทบให้ค่า ความหน่วง ในการรับส่งข้อมูลเพิ่มขึ้น
โดยขนาดสูงสุดที่ Payload รองรับได้ หรือ Maximum Transmission Unit (MTU) จะถูกกำหนดจาก Protocol Headers ตัวอย่างเช่น มาตรฐานแรกของ IP จะกำหนดว่า โฮสต์ต้องสามารถรองรับแพ็คเก็ตขนาด 576 ไบต์ ได้ โดยแบ่งเป็น Payload 512 ไบต์ และ Header 64 ไบต์ ส่วน MTU อย่าง IPv4 ที่นิยมใช้กันอยู่ในปัจจุบัน จะมีแพ็คเก็ตขนาด 1,500 ไบต์
ภาพจาก : https://afrozahmad.com/blog/mtu-vs-mss/
แฮกเกอร์จะใช้การโจมตีแบบ 2 ระลอก เพื่อหลีกเลี่ยงการตรวจจับจากระบบป้องกัน เทคนิคนี้ทำงานโดยแยก Payload ซึ่งเป็นโค้ดสำหรับ ออกจากโค้ดส่วนที่ทำหน้าที่แพร่เชื้อ และฝังตัว
แม้ว่า Malware Payload จะไม่มีขีดจำกัดสำหรับความจุกำหนดไว้ แต่แฮกเกอร์ก็มักพยายามทำให้ขนาดของ Payload มีขนาดที่เหมาะสมกับไฟล์ที่มันปลอมแปลง เพื่อลดโอกาสที่ระบบป้องกันมัลแวร์จะถูกตรวจพบให้สูงขึ้น ซึ่งมัลแวร์เกือบทุกชนิดใช้ Payload ในการซ่อนโค้ดอันตรายเอาไว้ในตัวพาหะ
แฮกเกอร์บางรายใช้วิธีที่ซับซ้อนมากขึ้น โดยใส่เครื่องมือสร้างโค้ด "Payload Generator" เอาไว้ใน Payload อีกที หลังจากโจมตีฝ่าระบบป้องกันได้แล้ว Payload Generator จึงค่อยสร้างโค้ดอันตรายฝังในระบบลงภายหลัง
ภาพจาก : https://www.trendmicro.com/en_th/research/18/b/attack-using-windows-installer-msiexec-exe-leads-lokibot.html
Payload เป็นหัวใจสำคัญของการสื่อสารของข้อมูลในเครือข่ายคอมพิวเตอร์ Payload จะบรรทุกข้อมูลที่มีความหมายที่จำเป็นต่อการส่งผ่านไปยังแอปพลิเคชันต่าง ๆ ก็หวังว่าบทความนี้จะช่วยให้เพื่อน ๆ เข้าใจความหมายของคำว่า Payload กันมากขึ้น
|
แอดมินสายเปื่อย ชอบลองอะไรใหม่ไปเรื่อยๆ รักแมว และเสียงเพลงเป็นพิเศษ |