ARP ถูกแทนที่ด้วย NDP (Neighbor Discovery Protocol) แต่ฉันไม่รู้เหตุผลที่แน่นอนสำหรับสิ่งนี้
- มีปัญหาด้านความปลอดภัยใน ARP หรือไม่?
- เหตุใด ARP จึงถูกแทนที่ด้วย NDP
- ARP มีข้อดีอย่างไรบ้าง?
ใครสามารถอธิบายสิ่งนี้ในแง่ง่าย ๆ ?
ARP ถูกแทนที่ด้วย NDP (Neighbor Discovery Protocol) แต่ฉันไม่รู้เหตุผลที่แน่นอนสำหรับสิ่งนี้
ใครสามารถอธิบายสิ่งนี้ในแง่ง่าย ๆ ?
คำตอบ:
ใช่. นี่คือบางส่วน:
การปลอมแปลง ARP
ข้อความ ARP ที่เป็นเท็จจะถูกส่งผ่าน LAN ทำให้เกิดการเชื่อมโยงที่อยู่ MAC ของผู้โจมตีด้วยที่อยู่ IP ของคอมพิวเตอร์หรือเซิร์ฟเวอร์ที่ถูกกฎหมายบนเครือข่าย
ดูด้านล่างสำหรับข้อมูลเพิ่มเติมเกี่ยวกับ ARP Spoofing / Poisoning
MAC น้ำท่วม
ตารางการแปลที่ติดตามว่าที่อยู่ MAC ใดที่พอร์ตฟิสิคัลมีจำนวนหน่วยความจำ จำกัด การทำเช่นนี้ทำให้สวิตช์สามารถใช้ประโยชน์ได้โดยทำให้ตารางการแปลท่วม สวิตช์ดั้งเดิมที่ไม่รู้วิธีจัดการกับข้อมูลส่วนเกินจะ 'ไม่เปิด' และถ่ายทอดเฟรมเครือข่ายทั้งหมดไปยังพอร์ตทั้งหมด
การทำสำเนา MAC
ในการโจมตีที่ซ้ำซ้อนของ MAC สวิตช์จะสับสนเมื่อคิดว่าสองพอร์ตมีที่อยู่ MAC เดียวกัน เนื่องจากข้อมูลจะถูกส่งต่อไปยังพอร์ตทั้งสองจึงไม่จำเป็นต้องส่งต่อ IP
ความปลอดภัยของแหล่งที่มาของ TCP / IP Address Resolution Protocol (ARP)
มันมีการปรับปรุงและคุณสมบัติเพิ่มเติมสำหรับ IPv6
ดูด้านล่างเพื่อเปรียบเทียบ NDP และโปรโตคอล Address Resolution Protocol [ARP], การค้นหาเราเตอร์ ICMP [RDISC] และการเปลี่ยนเส้นทาง ICMP [ICMPv4]
ใช้โปรโตคอล Secure Neighbor Discovery (SEND) ที่อยู่ที่สร้างโดยการเข้ารหัสลับทำให้มั่นใจได้ว่าแหล่งที่มาที่อ้างสิทธิ์ของข้อความ NDP เป็นเจ้าของที่อยู่ที่อ้างสิทธิ์
หนึ่งในฟังก์ชั่นของ IPv6 Neighbor Discovery Protocol (NDP) คือการแก้ไขที่อยู่เลเยอร์เครือข่าย (IP) ไปยังลิงค์เลเยอร์เลเยอร์ (ตัวอย่างเช่นอีเทอร์เน็ต) ที่อยู่ฟังก์ชันที่ดำเนินการใน IPv4 โดย Address Resolution Protocol (ARP) โปรโตคอล Secure Neighbor Discovery (SEND) ป้องกันผู้โจมตีที่สามารถเข้าถึงส่วนออกอากาศจากการใช้ NDP หรือ ARP เพื่อใช้หลอกโฮสต์ในการส่งทราฟฟิกของผู้โจมตีที่กำหนดไว้สำหรับบุคคลอื่นซึ่งเป็นเทคนิคที่รู้จักกันในชื่อ ARP พิษ
เพื่อป้องกันการวางยาพิษ ARP และการโจมตีอื่น ๆ จากฟังก์ชั่น NDP คุณควรปรับใช้ SEND เพื่อป้องกันการเข้าถึงส่วนการออกอากาศ
SEND ใช้คู่คีย์ RSA เพื่อสร้างที่อยู่ที่สร้างด้วยการเข้ารหัสตามที่กำหนดไว้ใน RFC 3972, ที่อยู่ที่สร้างโดยการเข้ารหัส (CGA) สิ่งนี้ทำให้มั่นใจได้ว่าแหล่งที่มาที่อ้างสิทธิ์ของข้อความ NDP เป็นเจ้าของที่อยู่ที่อ้างสิทธิ์
ซอร์สการกำหนดค่า Secure IPv6 Neighbor Discovery
การปลอมแปลง ARP ยังเรียกอีกอย่างหนึ่งว่าการเป็นพิษทาง ARP (APR) หรือการเป็นพิษต่อ ARP Cache
การปลอมแปลง ARP เป็นประเภทของการโจมตีที่นักแสดงประสงค์ร้ายส่งข้อความ ARP (Address Resolution Protocol) ที่ปลอมแปลงผ่านเครือข่ายท้องถิ่น ซึ่งส่งผลในการเชื่อมโยงที่อยู่ MAC ของผู้โจมตีด้วยที่อยู่ IP ของคอมพิวเตอร์หรือเซิร์ฟเวอร์ที่ถูกกฎหมายบนเครือข่าย
เมื่อที่อยู่ MAC ของผู้โจมตีเชื่อมต่อกับที่อยู่ IP ของแท้แล้วผู้โจมตีจะเริ่มรับข้อมูลใด ๆ ที่มีไว้สำหรับที่อยู่ IP นั้น
การปลอมแปลง ARP สามารถเปิดใช้งานฝ่ายที่ประสงค์ร้ายเพื่อสกัดกั้นแก้ไขหรือแม้แต่หยุดข้อมูลในระหว่างการขนส่ง การโจมตีการปลอมแปลง ARP สามารถเกิดขึ้นได้เฉพาะในเครือข่ายท้องถิ่นที่ใช้โปรโตคอลการแก้ไขที่อยู่
การปลอมแปลง Veracode ARPต้นทาง
ขั้นตอนในการโจมตีการปลอมแปลง ARP มักจะรวมถึง:
ผู้โจมตีเปิดเครื่องมือการปลอมแปลง ARP และตั้งค่าที่อยู่ IP ของเครื่องมือให้ตรงกับเครือข่ายย่อย IP ของเป้าหมาย ตัวอย่างของซอฟต์แวร์การปลอมแปลง ARP ยอดนิยม ได้แก่ Arpspoof, Cain & Abel, Arpoison และ Ettercap
ผู้โจมตีใช้เครื่องมือการปลอมแปลง ARP เพื่อสแกนหา IP และที่อยู่ MAC ของโฮสต์ในซับเน็ตของเป้าหมาย
ผู้โจมตีเลือกเป้าหมายและเริ่มส่งแพ็คเก็ต ARP ผ่าน LAN ที่มีที่อยู่ MAC ของผู้โจมตีและที่อยู่ IP ของเป้าหมาย
ในฐานะที่เป็นโฮสต์อื่น ๆ ใน LAN cache แพ็กเก็ต ARP ที่ปลอมแปลงข้อมูลที่โฮสต์เหล่านั้นส่งไปยังเหยื่อจะไปที่ผู้โจมตีแทน จากที่นี่ผู้โจมตีสามารถขโมยข้อมูลหรือเริ่มการติดตามการโจมตีที่ซับซ้อนยิ่งขึ้น
การปลอมแปลง Veracode ARPต้นทาง
ผู้โจมตีอาจเลือกที่จะตรวจสอบแพ็คเก็ต (การสอดแนม) ในขณะที่ส่งต่อการรับส่งข้อมูลไปยังเกตเวย์เริ่มต้นที่แท้จริงเพื่อหลีกเลี่ยงการค้นพบแก้ไขข้อมูลก่อนที่จะส่งต่อ (การโจมตีแบบคนกลาง) หรือเปิด โจมตีด้วยการทำให้แพ็คเก็ตบางส่วนหรือทั้งหมดในเครือข่ายถูกทิ้ง
แหล่งที่มา Wikipedia การปลอมแปลง ARP
โปรโตคอล IPv6 Neighbor Discovery สอดคล้องกับการรวมกันของโปรโตคอล IPv4 Address Resolution Protocol [ARP], การค้นหาเราเตอร์ ICMP [RDISC] และการเปลี่ยนเส้นทาง ICMP [ICMPv4]
ใน IPv4 ไม่มีการตกลงกันโดยทั่วไปเกี่ยวกับโปรโตคอลหรือกลไกสำหรับ Neighbor Unreachability Detection แม้ว่าเอกสารข้อกำหนดของโฮสต์ [HR-CL] จะระบุอัลกอริทึมที่เป็นไปได้สำหรับการตรวจหา Dead Gateway (ส่วนย่อยของปัญหาการแก้ไข Neighbor Unreachability
โพรโทคอลการค้นพบเพื่อนบ้านให้การปรับปรุงมากมายผ่านชุดโปรโตคอล IPv4:
Router Discovery เป็นส่วนหนึ่งของชุดโปรโตคอลพื้นฐาน ไม่มีความจำเป็นสำหรับโฮสต์ที่จะ "สอดแนม" โปรโตคอลการกำหนดเส้นทาง
เราเตอร์โฆษณามีที่อยู่ลิงค์เลเยอร์ ไม่จำเป็นต้องแลกเปลี่ยนแพ็กเก็ตเพิ่มเติมเพื่อแก้ไขที่อยู่ลิงก์ของเลเยอร์เราเตอร์
โฆษณาของเราเตอร์มีส่วนนำหน้าสำหรับลิงก์ ไม่จำเป็นต้องมีกลไกแยกต่างหากเพื่อกำหนดค่า "netmask"
เราเตอร์โฆษณาเปิดใช้งานการกำหนดแอดเดรสอัตโนมัติ
เราเตอร์สามารถโฆษณา MTU สำหรับโฮสต์เพื่อใช้ในลิงค์เพื่อให้แน่ใจว่าโหนดทั้งหมดใช้ค่า MTU เดียวกันบนลิงก์ที่ไม่มี MTU ที่กำหนดไว้อย่างดี
มัลติคาสการแก้ปัญหาที่อยู่คือ "การแพร่กระจาย" ที่อยู่มัลติคาสต์มากกว่า 16 ล้าน (2 ^ 24) ที่อยู่ลดการขัดจังหวะที่เกี่ยวข้องกับการแก้ไขที่อยู่ที่เกี่ยวข้องกับโหนดอื่น ๆ นอกเหนือจากเป้าหมาย ยิ่งกว่านั้นเครื่องที่ไม่ใช่ IPv6 ไม่ควรถูกขัดจังหวะเลย
การเปลี่ยนเส้นทางมีที่อยู่ลิงค์เลเยอร์ของการกระโดดครั้งแรกใหม่ ไม่จำเป็นต้องแก้ไขที่อยู่แยกต่างหากเมื่อได้รับการเปลี่ยนเส้นทาง
คำนำหน้าหลายสามารถเชื่อมโยงกับลิงค์เดียวกัน โฮสต์จะเรียนรู้คำนำหน้าออนลิงค์ทั้งหมดจากเราเตอร์โฆษณา อย่างไรก็ตามเราเตอร์อาจได้รับการกำหนดค่าให้ละเว้นคำนำหน้าบางส่วนหรือทั้งหมดจากเราเตอร์โฆษณา ในกรณีดังกล่าวโฮสต์สันนิษฐานว่าปลายทางนั้นเป็นลิงก์และส่งทราฟฟิกไปยังเราเตอร์ เราเตอร์สามารถออกการเปลี่ยนเส้นทางได้ตามความเหมาะสม
ซึ่งแตกต่างจาก IPv4 ผู้รับการเปลี่ยนเส้นทาง IPv6 ถือว่าการเชื่อมต่อครั้งต่อไปใหม่นั้นเป็นแบบออนไลน์ ใน IPv4 โฮสต์จะเพิกเฉยต่อการเปลี่ยนเส้นทางโดยระบุการกระโดดต่อไปที่ไม่ได้อยู่บนลิงก์ตามรูปแบบเครือข่ายของลิงก์ กลไกการเปลี่ยนเส้นทาง IPv6 นั้นคล้ายคลึงกับเครื่องมืออำนวยความสะดวก XRedirect ที่ระบุใน [SH-MEDIA] คาดว่าจะเป็นประโยชน์ในการเชื่อมโยงสื่อที่ไม่ออกอากาศและใช้ร่วมกันซึ่งเป็นที่ไม่พึงประสงค์หรือเป็นไปไม่ได้สำหรับโหนดที่จะรู้ว่าคำนำหน้าทั้งหมดสำหรับปลายทางบนลิงค์
Neighbor Unreachability Detection เป็นส่วนหนึ่งของฐานซึ่งช่วยปรับปรุงความแข็งแกร่งของการส่งแพ็กเก็ตอย่างมีนัยสำคัญในการปรากฏตัวของความล้มเหลวของเราเตอร์, ความล้มเหลวบางส่วนหรือลิงค์แบ่งพาร์ติชันหรือโหนดที่เปลี่ยนที่อยู่ชั้นลิงค์ ตัวอย่างเช่นโหนดมือถือสามารถย้ายออกจากลิงก์ได้โดยไม่สูญเสียการเชื่อมต่อใด ๆ เนื่องจากแคช ARP ค้าง
ซึ่งแตกต่างจาก ARP, Neighbor Discovery ตรวจพบความล้มเหลวครึ่งลิงค์ (โดยใช้ Neighbor Unreachability Detection) และหลีกเลี่ยงการส่งทราฟฟิกไปยังประเทศเพื่อนบ้านที่ขาดการเชื่อมต่อแบบสองทาง
ไม่เหมือนกับในการค้นหาเราเตอร์ IPv4 ข้อความโฆษณาของเราเตอร์ไม่มีฟิลด์กำหนดลักษณะ ฟิลด์การตั้งค่าไม่จำเป็นต้องใช้เพื่อจัดการเราเตอร์ที่มี "ความมั่นคง" ที่แตกต่างกัน Neighbor Unreachability Detection จะตรวจจับเราเตอร์ที่ตายแล้วและเปลี่ยนไปใช้งานได้
การใช้ที่อยู่ link-local เพื่อระบุเราเตอร์ที่ไม่ซ้ำกัน (สำหรับการโฆษณาเราเตอร์และข้อความการเปลี่ยนเส้นทาง) ทำให้โฮสต์สามารถรักษาความสัมพันธ์ของเราเตอร์ในกรณีที่มีการกำหนดหมายเลขเว็บไซต์ใหม่เพื่อใช้ส่วนนำหน้าใหม่ทั้งหมด
ด้วยการตั้งค่า Hop Limit เป็น 255 ทำให้การค้นพบของ Neighbor นั้นมีภูมิคุ้มกันต่อผู้ส่งออฟไลน์ที่ส่งข้อความ ND โดยไม่ตั้งใจหรือโดยเจตนา ใน IPv4 ผู้ส่งออฟไลน์สามารถส่งทั้งการเปลี่ยนเส้นทาง ICMP และข้อความโฆษณาเร้าเตอร์
การกำหนดที่อยู่ที่เลเยอร์ ICMP ทำให้โปรโตคอลไม่ขึ้นกับสื่อมากกว่า ARP และทำให้สามารถใช้การพิสูจน์ตัวตนเลเยอร์ IP แบบทั่วไปและกลไกความปลอดภัยตามความเหมาะสม
แหล่งRFC 4861 Neighbor Discovery ใน IPv6
NDPมีคุณสมบัติมากกว่าARPรวมไปถึง:
ผ่าน NDP อุปกรณ์ในเครือข่ายสามารถระบุที่อยู่ MAC / link-layer (ฟังก์ชั่นเดียวกับ ARP)
การใช้ NDP อุปกรณ์ในเครือข่ายสามารถค้นหาพา ธ เพื่อเข้าถึงอุปกรณ์อื่นในเครือข่ายภายนอกโดยค้นหาเราเตอร์ที่ดีที่สุดไปยังอุปกรณ์ปลายทาง
NDP เปิดใช้งานการกำหนดค่าอัตโนมัติของที่อยู่ IPv6
เปรียบเทียบกับ ARP กลไกต่างกัน:
ARP ใช้ข้อความบรอดคาสต์ในขณะที่ NDP ใช้ข้อความแบบหลายผู้รับ ICMPv6
อุปกรณ์ที่จะส่งข้อความแบบหลายผู้รับที่เรียกว่า "เพื่อนบ้านชักชวน ICMP ข้อความ" หรือNS ตอบสนองอุปกรณ์ปลายทางด้วย "เพื่อนบ้านโฆษณา ICMP ข้อความ" หรือNA
ข้อความ NS ใช้ที่อยู่ปลายทางหลายผู้รับพิเศษที่เรียกว่าที่อยู่ผู้รับหลายผู้รับที่แสดงถึงโฮสต์ทั้งหมดด้วย 24 บิตสุดท้ายของที่อยู่ IPv6 เดียวกัน การใช้มัลติคาสต์แทนการออกอากาศลดการไหลของการรับส่งข้อมูลที่ไม่จำเป็นบนเครือข่าย
การแนะนำของ NDP แทน ARP นั้นส่วนใหญ่เป็นเพราะความต้องการที่จะรวมโปรโตคอลการควบคุมรอบ IP IPv4 สนุกกับโปรโตคอลควบคุมหลายอย่างเช่น ICMP, IGMP และ ARP / RARP ด้วย IPv6 NDP (ตัวตายตัวแทนของ ARP) เช่นเดียวกับ MLD (ตัวตายตัวแทนของ IGMP) ได้รับการออกแบบเป็นโปรโตคอลย่อยของ ICMPv6 เพื่อให้มีเพียงหนึ่งโปรโตคอลการควบคุม ไม่มีเหตุผลด้านความปลอดภัยสำหรับสิ่งนี้ ND มีความไวต่อการปลอมแปลงเหมือนกับ ARP และ ND ไม่ได้ออกแบบมาเพื่อความปลอดภัย
ในวันแรกของการพัฒนา IPv6 IPsec ถูกมองว่าเป็นมาตรการรักษาความปลอดภัยทั่วไปจึงเป็นสิ่งจำเป็น อย่างไรก็ตามข้อกำหนดนี้ได้ถูกลดระดับเป็นข้อเสนอแนะ (RFC 6434 ฉันเชื่อว่าส่วนใหญ่มาจากอุปกรณ์ฝังตัวและ IoT ซึ่งไม่สามารถคำนวณกุญแจสาธารณะได้และพวกเขาต้องการแก้ไขปัญหา PKI ทุกประเภท อย่างไรก็ตามและใช้งานไม่ได้ (พูดอย่างสุภาพ) เพื่อรักษาความปลอดภัย ND SeND ได้รับการแนะนำให้รู้จักกับการรักษาความปลอดภัยบน ND แต่สำหรับความพยายามในการออกแบบซอฟต์แวร์ย้อนยุคความปลอดภัยย้อนหลังแทบทุกครั้งผลลัพธ์ก็คือพูดน้อยกว่าความเหมาะสม เนื่องจากยังไม่มีการใช้งานของ SeND บันทึกบางส่วนทดลองสำหรับวัตถุประสงค์ในทางปฏิบัติทั้งหมด SeND ไม่มีอยู่จริง นอกจากนี้ยังมีเหตุผลที่เชื่อได้ว่าอย่างน้อยที่สุดในรูปแบบปัจจุบันของ SeND จะไม่มีวันเลิก
ในทางตรงกันข้าม SAVI ดูมีแนวโน้มมากขึ้น แต่ต้องการการเปลี่ยนแปลงโครงสร้างสวิตชิ่งและอุปกรณ์ที่มีความสามารถ SAVI นั้นไม่ได้มีราคาค่อนข้างต่ำดังนั้นจึงไม่แพร่หลายอย่างรวดเร็ว SAVI ทำงานบนพื้นฐานที่ว่าภายในไซต์ควรเป็น "รู้จัก" ซึ่งการแมประหว่างที่อยู่ HW (เช่นที่อยู่ MAC) และที่อยู่ IP นั้นถูกต้องตามกฎหมายดังนั้นจึงควรเป็นไปได้ที่จะระบุและลบข้อความ NDP ปลอม
สูตรที่ดีที่สุดคือสูตรที่ง่ายที่สุด แต่มักถูกมองข้าม: แบ่ง LAN ขนาดใหญ่เป็นขนาดเล็กลงสำหรับ ARP- และ ND-spoofing ใช้ได้กับเป้าหมายใน LAN เดียวกันเท่านั้น ดังนั้นเพียงแค่วางอุปกรณ์ที่ไม่น่าเชื่อถือไว้ในส่วน LAN ของตัวเอง (ไม่จำเป็นต้องใช้ไฟร์วอลล์ / กฎการกรอง) จะลดพื้นผิวการโจมตีได้อย่างมาก