โปรโตคอลอุโมงค์

จากวิกิพีเดีย สารานุกรมเสรี
ข้ามไปที่การนำทาง ข้ามไปที่การค้นหา

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

เนื่องจากการทำช่องสัญญาณเกี่ยวข้องกับการบรรจุข้อมูลการรับส่งข้อมูลใหม่ในรูปแบบอื่น อาจมีการเข้ารหัสตามมาตรฐาน จึงสามารถซ่อนลักษณะของการรับส่งข้อมูลที่วิ่งผ่านช่องสัญญาณได้

โปรโตคอลทันเนลทำงานโดยใช้ส่วนข้อมูลของแพ็กเก็ต ( เพย์ โหลด ) เพื่อขนส่งแพ็กเก็ตที่ให้บริการจริง การทันเนลใช้โมเดลโปรโตคอลแบบเลเยอร์ เช่นOSIหรือ ชุดโปรโตคอล TCP/IPแต่มักจะละเมิดการแบ่งชั้นเมื่อใช้เพย์โหลดเพื่อให้บริการที่ปกติไม่ได้มาจากเครือข่าย โดยทั่วไป โปรโตคอลการจัดส่งทำงานในระดับที่เท่ากันหรือสูงกว่าในโมเดลแบบเลเยอร์มากกว่าโปรโตคอลเพย์โหลด

ใช้

ตัวอย่างเช่น โปรโตคอลทันเนลอาจอนุญาตให้โพรโทคอลภายนอกทำงานบนเครือข่ายที่ไม่สนับสนุนโพรโทคอลนั้น เช่น การรัน IPv6ผ่านIPv4

การใช้งานที่สำคัญอีกประการหนึ่งคือการให้บริการที่ทำไม่ได้หรือไม่ปลอดภัยที่จะนำเสนอโดยใช้เฉพาะบริการเครือข่ายพื้นฐาน เช่น การให้ที่อยู่เครือข่าย ขององค์กร แก่ผู้ใช้ระยะไกลซึ่งที่อยู่เครือข่ายทางกายภาพไม่ได้เป็นส่วนหนึ่งของเครือข่ายองค์กร

การหลีกเลี่ยงนโยบายไฟร์วอลล์

ผู้ใช้ยังสามารถใช้ช่องสัญญาณเพื่อ "แอบดู" ไฟร์วอลล์ โดยใช้โปรโตคอลที่ไฟร์วอลล์มักจะบล็อก แต่ "ห่อ" ภายในโปรโตคอลที่ไฟร์วอลล์ไม่ ได้บล็อก เช่นHTTP หากนโยบายไฟร์วอลล์ไม่ได้ยกเว้น "wrapping" ประเภทนี้โดยเฉพาะ เคล็ดลับนี้สามารถใช้เพื่อเลี่ยงนโยบายไฟร์วอลล์ที่ต้องการ (หรือชุดนโยบายไฟร์วอลล์ที่เชื่อมต่อกันชุดใดก็ได้)

วิธีการทันเน ลแบบ HTTP อีกวิธีหนึ่งใช้เมธอดHTTP CONNECT/คำสั่ง ไคลเอนต์ออกคำสั่ง HTTP CONNECT ไปยังพร็อกซี HTTP จากนั้นพรอกซีจะทำการเชื่อมต่อ TCP กับเซิร์ฟเวอร์:พอร์ตเฉพาะ และถ่ายทอดข้อมูลระหว่างเซิร์ฟเวอร์:พอร์ตนั้นและการเชื่อมต่อไคลเอนต์ [1]เนื่องจากสิ่งนี้สร้างช่องโหว่ด้านความปลอดภัย พร็อกซี HTTP ที่รองรับ CONNECT จึงมักจำกัดการเข้าถึงเมธอด CONNECT พร็อกซี่อนุญาตให้เชื่อมต่อกับพอร์ตเฉพาะ เช่น 443 สำหรับ HTTPS [2]

วิธีการทันเนลอื่นๆ ที่สามารถเลี่ยงผ่านไฟร์วอลล์ของเครือข่ายได้ใช้ประโยชน์จากโปรโตคอลต่างๆ เช่นDNS , [3] MQTT , [4 ] SMS [5]

ภาพรวมทางเทคนิค

ตัวอย่างของเลเยอร์เครือข่ายบนเลเยอร์เครือข่ายGeneric Routing Encapsulation (GRE) ซึ่งเป็นโปรโตคอลที่ทำงานบน IP ( โปรโตคอล IP หมายเลข 47) มักจะทำหน้าที่ส่งแพ็กเก็ต IP โดยมีที่อยู่ส่วนตัว RFC 1918 ทางอินเทอร์เน็ตโดยใช้แพ็กเก็ตการจัดส่งกับสาธารณะ ที่อยู่ IP ในกรณีนี้ โปรโตคอลการจัดส่งและเพย์โหลดจะเหมือนกัน แต่แอดเดรสเพย์โหลดไม่เข้ากันกับที่อยู่ของเครือข่ายการจัดส่ง

นอกจากนี้ยังสามารถสร้างการเชื่อมต่อโดยใช้ชั้นดาต้าลิงค์ได้อีกด้วย Layer 2 Tunneling Protocol (L2TP) อนุญาตให้ส่งเฟรมระหว่างสองโหนด อุโมงค์ข้อมูลไม่ถูกเข้ารหัสโดยค่าเริ่มต้น: โปรโตคอล TCP/IP ที่เลือกจะกำหนดระดับความปลอดภัย

SSHใช้พอร์ต 22 เพื่อเปิดใช้งานการเข้ารหัสข้อมูลของเพย์โหลดที่ส่งผ่านเครือข่ายสาธารณะ (เช่น อินเทอร์เน็ต) การเชื่อมต่อ จึงมีฟังก์ชันVPN IPsecมีโหมดการขนส่งแบบ end-to-end แต่ยังสามารถทำงานในโหมดทันเนลผ่านเกตเวย์ความปลอดภัยที่เชื่อถือได้

เพื่อให้เข้าใจถึงโปรโตคอลสแต็กที่กำหนดโดยทันเนล วิศวกรเครือข่ายต้องเข้าใจทั้งชุดของเพย์โหลดและโปรโตคอลการจัดส่ง

โปรโตคอลอุโมงค์ทั่วไป

  • IP ใน IP (โปรโตคอล 4): IP ใน IPv4/IPv6
  • SIT/IPv6 (โปรโตคอล 41): IPv6 ใน IPv4/IPv6
  • GRE (โปรโตคอล 47): การห่อหุ้มการกำหนดเส้นทางทั่วไป
  • OpenVPN (พอร์ต UDP 1194)
  • SSTP (พอร์ต TCP 443): Secure Socket Tunneling Protocol
  • IPSec (โปรโตคอล 50 และ 51): Internet Protocol Security
  • L2TP (โปรโตคอล 115): Layer 2 Tunneling Protocol
  • VXLAN (พอร์ต UDP 4789): Virtual Extensible Local Area Network
  • เจนีวา
  • WireGuard

การขุดเจาะอุโมงค์ที่ปลอดภัย

อุโมงค์ ข้อมูล Secure Shell (SSH)ประกอบด้วยช่องสัญญาณที่เข้ารหัสซึ่งสร้างขึ้นผ่านการเชื่อมต่อโปรโตคอล SSH ผู้ใช้อาจตั้งค่าช่องสัญญาณ SSH เพื่อโอนการรับส่ง ข้อมูลที่ ไม่ได้เข้ารหัสผ่านเครือข่ายผ่านช่องทาง ที่ เข้ารหัส เป็นแนวทางที่ใช้ซอฟต์แวร์เพื่อความปลอดภัยของเครือข่ายและผลลัพธ์คือการเข้ารหัสที่โปร่งใส [6]

ตัวอย่างเช่น เครื่อง Microsoft Windows สามารถแชร์ไฟล์โดยใช้ โปรโตคอล Server Message Block (SMB) ซึ่งเป็นโปรโตคอลที่ไม่เข้ารหัส หากมีการติดตั้งระบบไฟล์ Microsoft Windows จากระยะไกลผ่านทางอินเทอร์เน็ต บุคคลที่สอดแนมการเชื่อมต่ออาจเห็นไฟล์ที่ถ่ายโอน ในการติดตั้งระบบไฟล์ Windows อย่างปลอดภัย เราสามารถสร้างช่องสัญญาณ SSH ซึ่งกำหนดเส้นทางการรับส่งข้อมูล SMB ทั้งหมดไปยังเซิร์ฟเวอร์ไฟล์ระยะไกลผ่านช่องทางที่เข้ารหัส แม้ว่าโปรโตคอล SMB เองจะไม่มีการเข้ารหัส แต่ช่องสัญญาณ SSH ที่เข้ารหัสซึ่งใช้เดินทางนั้นให้ความปลอดภัย

การส่งต่อพอร์ตในเครื่องและระยะไกลด้วย ssh บนคอมพิวเตอร์สีน้ำเงิน

เมื่อสร้างการเชื่อมต่อ SSH แล้ว อุโมงค์จะเริ่มโดย SSH รับฟังพอร์ตบน  โฮสต์ระยะไกลหรือท้องถิ่น การเชื่อมต่อใด ๆ จะถูกส่งต่อไปยังที่ระบุ  ที่อยู่และพอร์ตที่มาจาก  โฮสต์ที่เป็นปฏิปักษ์ (ระยะไกลหรือท้องถิ่นเหมือนก่อนหน้านี้)

การทำอุโมงค์ข้อมูล TCP- encapsulating payload (เช่นPPP ) ผ่านการเชื่อมต่อแบบ TCP (เช่น การส่งต่อพอร์ตของ SSH) เรียกว่า "TCP-over-TCP" และการทำเช่นนั้นสามารถทำให้เกิดการสูญเสียอย่างมากในประสิทธิภาพการรับส่งข้อมูล (ปัญหาที่ทราบ เป็น "การล่มสลายของ TCP"), [7] [8]ซึ่งเป็นสาเหตุที่เครือข่ายส่วนตัวเสมือนซอฟต์แวร์อาจใช้โปรโตคอลที่ง่ายกว่า TCP สำหรับการเชื่อมต่อทันเนลแทน อย่างไรก็ตาม กรณีนี้มักไม่เป็นปัญหาเมื่อใช้การส่งต่อพอร์ตของ OpenSSH เนื่องจากกรณีการใช้งานจำนวนมากไม่ได้เกี่ยวข้องกับช่องสัญญาณ TCP-over-TCP หลีกเลี่ยงการล่มสลายเนื่องจากไคลเอ็นต์ OpenSSH ประมวลผลการเชื่อมต่อ TCP ฝั่งไคลเอ็นต์ในพื้นที่เพื่อไปยังเพย์โหลดจริงที่ถูกส่ง จากนั้นจึงส่งเพย์โหลดนั้นโดยตรงผ่านการเชื่อมต่อ TCP ของทันเนลไปยังฝั่งเซิร์ฟเวอร์ โดยที่ OpenSSH เซิร์ฟเวอร์ในทำนองเดียวกัน "แกะ" เพย์โหลดเพื่อ "ห่อ" อีกครั้งเพื่อกำหนดเส้นทางไปยังปลายทางสุดท้าย [9]โดยธรรมชาติ การห่อและการแกะยังเกิดขึ้นในทิศทางย้อนกลับของอุโมงค์สองทิศทาง

ทันเนล SSH มีวิธีเลี่ยงไฟร์วอลล์ที่ห้ามบริการอินเทอร์เน็ตบางอย่าง ตราบใดที่ไซต์อนุญาตการเชื่อมต่อขาออก ตัวอย่างเช่น องค์กรอาจห้ามไม่ให้ผู้ใช้เข้าถึงหน้าเว็บอินเทอร์เน็ต (พอร์ต 80) โดยตรงโดยไม่ต้องผ่านตัวกรองพร็อกซี ขององค์กร (ซึ่งให้องค์กรมีวิธีการตรวจสอบและควบคุมสิ่งที่ผู้ใช้เห็นผ่านเว็บ) แต่ผู้ใช้อาจไม่ต้องการให้มีการตรวจสอบหรือบล็อกการเข้าชมเว็บโดยตัวกรองพร็อกซีขององค์กร หากผู้ใช้สามารถเชื่อมต่อกับเซิร์ฟเวอร์ SSH ภายนอก พวกเขาสามารถสร้างช่องสัญญาณ SSH เพื่อส่งต่อพอร์ตที่กำหนดบนเครื่องท้องถิ่นของตนไปยังพอร์ต 80 บนเว็บเซิร์ฟเวอร์ระยะไกลได้ ในการเข้าถึงเว็บเซิร์ฟเวอร์ระยะไกล ผู้ใช้จะชี้เบราว์เซอร์ ของตนไปยังพอร์ตท้องถิ่นที่ http://localhost/

ไคลเอ็นต์ SSH บางตัวรองรับการส่งต่อพอร์ต แบบไดนามิก ที่อนุญาตให้ผู้ใช้สร้างพร็อกซีSOCKS 4/5 ในกรณีนี้ ผู้ใช้สามารถกำหนดค่าแอปพลิเคชันของตนเพื่อใช้พร็อกซีเซิร์ฟเวอร์ SOCKS ในเครื่องได้ สิ่งนี้ให้ความยืดหยุ่นมากกว่าการสร้างช่องสัญญาณ SSH ไปยังพอร์ตเดียวตามที่อธิบายไว้ก่อนหน้านี้ SOCKS สามารถปลดปล่อยผู้ใช้จากข้อจำกัดของการเชื่อมต่อกับพอร์ตและเซิร์ฟเวอร์ระยะไกลที่กำหนดไว้ล่วงหน้าเท่านั้น หากแอปพลิเคชันไม่รองรับ SOCKS คุณสามารถใช้ตัวประมวลผลเพื่อเปลี่ยนเส้นทางแอปพลิเคชันไปยังพร็อกซีเซิร์ฟเวอร์ SOCKS ในเครื่องได้ พรอกซิไฟเออร์บางตัว เช่น Proxycap รองรับ SSH โดยตรง ดังนั้นจึงไม่จำเป็นต้องใช้ไคลเอ็นต์ SSH

ใน OpenSSH เวอร์ชันล่าสุด ยังได้รับอนุญาตให้สร้าง ช่องสัญญาณ เลเยอร์ 2 หรือเลเยอร์ 3หากปลายทั้งสองข้างเปิดใช้ความสามารถในการสร้างช่องสัญญาณดังกล่าว สิ่งนี้จะสร้าง อินเทอร์เฟซเสมือน tun(เลเยอร์ 3 ค่าเริ่มต้น) หรือtap(เลเยอร์ 2) ที่ปลายทั้งสองของการเชื่อมต่อ ซึ่งช่วยให้สามารถใช้การจัดการเครือข่ายและการกำหนดเส้นทางตามปกติ และเมื่อใช้กับเราเตอร์ การรับส่งข้อมูลสำหรับเครือข่ายย่อยทั้งหมดสามารถอุโมงค์ได้ tapอินเทอร์เฟซเสมือน คู่หนึ่ง ทำงานเหมือนกับสายอีเทอร์เน็ตที่เชื่อมต่อปลายทั้งสองของการเชื่อมต่อและสามารถเข้าร่วมเคอร์เนลบริดจ์ได้

การโจมตีทางไซเบอร์ตามอุโมงค์

หลายปีที่ผ่านมา การทำ tunneling และdata encapsulationโดยทั่วไปมักถูกนำไปใช้ด้วยเหตุผลที่มุ่งร้าย เพื่อที่จะสื่อสารอย่างมุ่งร้ายนอกเครือข่ายที่ได้รับการป้องกัน

ในบริบทนี้ ช่องสัญญาณที่รู้จักเกี่ยวข้องกับโปรโตคอล เช่นHTTP , [10] SSH , [11] DNS , [12] [13 ] MQTT [14]

ดูเพิ่มเติม

อ้างอิง

  1. ^ "การอัพเกรดเป็น TLS ภายใน HTTP/1.1 " อาร์เอฟซี 2817 . 2000 . สืบค้นเมื่อ20 มีนาคม 2556 .
  2. ^ "Vulnerability Note VU#150227: การกำหนดค่าเริ่มต้นของพร็อกซี HTTP อนุญาตการเชื่อมต่อ TCP โดยอำเภอใจ " US -CERT 2002-05-17 . ดึงข้อมูลเมื่อ2007-05-10 .
  3. ^ Raman, D., Sutter, BD, Coppens, B., Volckaert, S., Bosschere, KD, Danhieux, P., & Buggenhout, EV (2012, พฤศจิกายน) DNS tunneling สำหรับการเจาะเครือข่าย ในการประชุมระหว่างประเทศว่าด้วยความปลอดภัยของข้อมูลและวิทยาการเข้ารหัสลับ (หน้า 65-77) สปริงเกอร์, เบอร์ลิน, ไฮเดลเบิร์ก
  4. ^ Vaccari, I., Narteni, S., Aiello, M., Mongelli, M., & Cambiaso, E. (2021) การใช้ประโยชน์จากโปรโตคอล Internet of Things สำหรับกิจกรรมการขโมยข้อมูลที่เป็นอันตราย การเข้าถึง IEEE, 9, 104261-104280
  5. ^ Narteni, S., Vaccari, I., Mongelli, M., Aiello, M., & Cambiaso, E. (2021) การประเมินความเป็นไปได้ในการโจมตีอุโมงค์โดยใช้ประโยชน์จากบริการข้อความสั้น วารสารบริการอินเทอร์เน็ตและความปลอดภัยของข้อมูล, 11, 30-46.
  6. บาร์เร็ตต์ แดเนียล เจ.; บาร์เร็ตต์, แดเนียล เจ.; ซิลเวอร์แมน, ริชาร์ด อี.; ซิลเวอร์แมน, ริชาร์ด (2001). SSH, the Secure Shell: The Definitive Guide . "โอเรลลี มีเดีย อิงค์" ISBN 978-0-596-00011-0.
  7. ทิตซ์, โอลาฟ (2001-04-23). "เหตุใด TCP ผ่าน TCP จึงเป็นแนวคิดที่ไม่ดี" สืบค้นเมื่อ2015-10-17 .
  8. ฮอนด้า โอซามุ; โอซากิ, ฮิโรยูกิ; อิมาเสะ, มาโกโตะ; อิชิซึกะ, มิกะ; Murayama, Junichi (ตุลาคม 2548) "การทำความเข้าใจ TCP ผ่าน TCP: ผลกระทบของ TCP tunneling ต่อปริมาณงานและเวลาในการตอบสนองแบบ end-to-end" ใน Atiquzzaman โมฮัมเหม็ด; Balandin, Sergey I (สหพันธ์). ประสิทธิภาพ คุณภาพการบริการ และการควบคุมการสื่อสารยุคใหม่และเครือข่ายเซ็นเซอร์ III ฉบับที่ 6011. รหัส : 2005SPIE.6011..138H . CiteSeerX 10.1.1.78.5815 . ดอย : 10.1117/12.630496 . S2CID 8945952 .  
  9. ↑ คามินสกี้, แดน ( 2003-06-13 ). "Re: ส่วนขยายสำหรับเครือข่ายไขมันยาว?" . [email protected] (รายชื่อส่งเมล) รหัสการส่งต่อ TCP ก็ค่อนข้างเร็วเช่นกัน เพียงเพื่อตอบคำถามล่วงหน้า ssh จะแยกส่วนและห่อหุ้ม TCP ใหม่ ดังนั้นคุณจึงไม่มีปัญหา TCP-over-TCP แบบคลาสสิก
  10. ^ Pack, DJ, Streilein, W. , Webster, S. , & Cunningham, R. (2002) การตรวจจับกิจกรรมการทันเนล HTTP แมสซาชูเซตส์สถาบันเทคโนโลยี LEXINGTON LINCOLN LAB
  11. ^ Dang, F. , Li, Z. , Liu, Y. , Zhai, E. , Chen, QA, Xu, T. , ... & Yang, J. (2019, มิถุนายน) ทำความเข้าใจการโจมตีแบบไม่มีไฟล์บนอุปกรณ์ iot ที่ใช้ linux ด้วย honeycloud ในการดำเนินการของการประชุมนานาชาติประจำปีครั้งที่ 17 เกี่ยวกับระบบมือถือ แอปพลิเคชัน และบริการ (หน้า 482-493)
  12. ^ Raman, D., Sutter, BD, Coppens, B., Volckaert, S., Bosschere, KD, Danhieux, P., & Buggenhout, EV (2012, พฤศจิกายน) DNS tunneling สำหรับการเจาะเครือข่าย ในการประชุมระหว่างประเทศว่าด้วยความปลอดภัยของข้อมูลและวิทยาการเข้ารหัสลับ (หน้า 65-77) สปริงเกอร์, เบอร์ลิน, ไฮเดลเบิร์ก
  13. ^ Aiello, M., Mongelli, M., Cambiaso, E., & Papaleo, G. (2016) การทำโปรไฟล์การโจมตี DNS tunneling ด้วย PCA และข้อมูลร่วมกัน Logic Journal ของ IGPL, 24(6), 957-970.
  14. ^ Vaccari, I., Narteni, S., Aiello, M., Mongelli, M., & Cambiaso, E. (2021) การใช้ประโยชน์จากโปรโตคอล Internet of Things สำหรับกิจกรรมการขโมยข้อมูลที่เป็นอันตราย การเข้าถึง IEEE, 9, 104261-104280

ลิงค์ภายนอก