API สำหรับการสื่อสาร TCP และ UDP โดยตรงกำลังได้รับการพัฒนาสำหรับ Chrome

Google เริ่ม เพื่อใช้ API ใหม่ใน Chrome ซ็อกเก็ตดิบซึ่งอนุญาตให้เว็บแอปพลิเคชันสร้างการเชื่อมต่อเครือข่ายโดยตรงโดยใช้โปรโตคอล TCP และ UDP ในปี 2015 สมาคม W3C ได้พยายามสร้างมาตรฐาน API แล้ว "ซ็อกเก็ต TCP และ UDP“แต่สมาชิกคณะทำงานไม่บรรลุฉันทามติและการพัฒนา API นี้ถูกหยุดลง

ความจำเป็นในการเพิ่ม API ใหม่อธิบายได้โดยการให้ความสามารถในการโต้ตอบกับอุปกรณ์เครือข่ายที่ใช้โปรโตคอลดั้งเดิมที่ทำงานบน TCP และ UDP และไม่รองรับการสื่อสารผ่าน HTTPS หรือ WebSockets มีข้อสังเกตว่า Raw Sockets API จะเสริมอินเทอร์เฟซการเขียนโปรแกรมระดับต่ำ WebUSB, WebMIDI และ WebBluetooth ที่มีอยู่ในเบราว์เซอร์อยู่แล้ว ซึ่งอนุญาตให้โต้ตอบกับอุปกรณ์ในเครื่องได้

เพื่อหลีกเลี่ยงผลกระทบด้านลบต่อความปลอดภัย Raw Sockets API จะอนุญาตเฉพาะการโทรผ่านเครือข่ายที่เริ่มต้นโดยได้รับความยินยอมจากผู้ใช้ และจำกัดไว้เฉพาะรายการโฮสต์ที่อนุญาตโดยผู้ใช้ ผู้ใช้จะต้องยืนยันความพยายามในการเชื่อมต่อครั้งแรกสำหรับโฮสต์ใหม่อย่างชัดเจน เมื่อใช้แฟล็กพิเศษ ผู้ใช้สามารถปิดใช้งานการแสดงคำขอยืนยันการดำเนินการซ้ำสำหรับการเชื่อมต่อซ้ำไปยังโฮสต์เดียวกันได้ เพื่อป้องกันการโจมตี DDoS ความเข้มของคำขอผ่าน Raw Sockets จะถูกจำกัด และการส่งคำขอจะทำได้หลังจากที่ผู้ใช้โต้ตอบกับเพจเท่านั้น แพ็กเก็ต UDP ที่ได้รับจากโฮสต์ที่ไม่ได้รับการอนุมัติจากผู้ใช้จะถูกละเว้นและจะไม่เข้าถึงเว็บแอปพลิเคชัน

การใช้งานครั้งแรกไม่ได้มีไว้สำหรับการสร้างซ็อกเก็ตการฟัง แต่ในอนาคตเป็นไปได้ที่จะจัดให้มีการเรียกเพื่อรับการเชื่อมต่อขาเข้าจาก localhost หรือรายการโฮสต์ที่รู้จัก ที่กล่าวมาก็คือความจำเป็นในการป้องกันการโจมตี”การเชื่อมโยง DNS ใหม่"(ผู้โจมตีสามารถเปลี่ยนที่อยู่ IP สำหรับชื่อโดเมนที่ผู้ใช้อนุมัติในระดับ DNS และเข้าถึงโฮสต์อื่น ๆ ได้) มีการวางแผนที่จะบล็อกการเข้าถึงโดเมนที่แก้ไขเป็น 127.0.0.0/8 และเครือข่ายอินทราเน็ต (เสนอให้อนุญาตการเข้าถึง localhost เฉพาะในกรณีที่ป้อนที่อยู่ IP อย่างชัดเจนในแบบฟอร์มยืนยัน)

ความเสี่ยงที่อาจเกิดขึ้นเมื่อใช้ API ใหม่คือการที่ผู้ผลิตเบราว์เซอร์อื่นปฏิเสธซึ่งอาจนำไปสู่ปัญหาความเข้ากันได้ นักพัฒนาของเอนจิ้น Mozilla Gecko และ WebKit ยังคงอยู่ ไม่ได้ผล ตำแหน่งในการใช้งาน Raw Sockets API ที่เป็นไปได้ แต่ Mozilla เคยเสนอสำหรับโครงการ Firefox OS (B2G) ก่อนหน้านี้ API ที่คล้ายกัน. หากได้รับการอนุมัติในขั้นตอนแรก Raw Sockets API จะถูกวางแผนให้เปิดใช้งานบน Chrome OS จากนั้นจะเสนอให้กับผู้ใช้ Chrome ในระบบอื่นเท่านั้น

นักพัฒนาเว็บ ในแง่บวก ตอบสนองต่อ API ใหม่และแสดงแนวคิดใหม่ ๆ มากมายเกี่ยวกับการใช้งานในพื้นที่ที่ XMLHttpRequest, WebSocket และ WebRTC API นั้นไม่เพียงพอ (ตั้งแต่การสร้างไคลเอนต์เบราว์เซอร์สำหรับ SSH, RDP, IMAP, SMTP, IRC และโปรโตคอลการพิมพ์ไปจนถึงการพัฒนาระบบ P2P แบบกระจายด้วย DHT (Distributed Hash Table) รองรับ IPFS และการโต้ตอบกับโปรโตคอลเฉพาะของอุปกรณ์ IoT)

ที่มา: opennet.ru

เพิ่มความคิดเห็น