ความคิดเห็น: คุณควรให้ความสนใจกับปัญหาด้านความปลอดภัยใน HTML5
ผู้เชี่ยวชาญด้านความปลอดภัยของแอปพลิเคชันกล่าวว่า HTML5 นำเสนอความท้าทายด้านความปลอดภัยใหม่สำหรับนักพัฒนาสงครามของคำระหว่าง Apple และ Adobe นำมาซึ่งการคาดเดามากมายเกี่ยวกับชะตากรรมของ HTML 5 แม้ว่าการใช้งาน HTML 5 ยังคงมีหนทางอีกไกล แต่สิ่งหนึ่งที่แน่นอนคือนักพัฒนาที่ใช้ HTML 5 จะต้องปรับใช้คุณสมบัติความปลอดภัยใหม่
ดังนั้น HTML5 จะมีผลกระทบอะไรต่อพื้นผิวการโจมตีที่เราต้องครอบคลุม? บทความนี้จะหารือเกี่ยวกับปัญหาด้านความปลอดภัยที่สำคัญหลายประการเกี่ยวกับ HTML 5
ที่เก็บลูกค้า
HTML รุ่นก่อนหน้านี้อนุญาตให้ใช้เว็บไซต์ในการจัดเก็บคุกกี้เป็นข้อมูลท้องถิ่นซึ่งค่อนข้างเล็กและเหมาะสำหรับการจัดเก็บข้อมูลการเก็บถาวรที่เรียบง่ายหรือเป็นตัวระบุสำหรับข้อมูลที่เก็บไว้ที่อื่น (เช่น ID เซสชัน) Dan Cornell ผู้อำนวยการฝ่ายวิจัยความปลอดภัยของกลุ่ม Denim Group กล่าว อย่างไรก็ตาม HTML5 LocalStorage ช่วยให้เบราว์เซอร์สามารถจัดเก็บฐานข้อมูลจำนวนมากในเครื่องทำให้สามารถใช้แอปพลิเคชันประเภทใหม่ได้
ความเสี่ยงที่ข้อมูลที่ละเอียดอ่อนอาจถูกเก็บไว้ในเวิร์กสเตชันของผู้ใช้ในท้องถิ่นและผู้โจมตีที่เข้าถึงหรือประนีประนอมกับเวิร์กสเตชันสามารถรับข้อมูลที่ละเอียดอ่อนได้อย่างง่ายดายซึ่ง Cornell กล่าวว่าเป็นอันตรายมากขึ้นสำหรับผู้ใช้ที่ใช้คอมพิวเตอร์ที่ใช้ร่วมกัน
ตามคำนิยามมันสามารถจัดเก็บข้อมูลเกี่ยวกับระบบลูกค้าได้ Josh Abraham นักวิจัยด้านความปลอดภัยของ RAPID7 กล่าว จากนั้นคุณมีความสามารถที่เป็นไปได้ในการใช้การโจมตีการฉีด SQL ที่ใช้ไคลเอนต์หรืออาจเป็นหนึ่งในฐานข้อมูลของลูกค้าของคุณนั้นเป็นอันตรายและเมื่อซิงโครไนซ์กับระบบการผลิตอาจมีปัญหาการซิงโครไนซ์หรือข้อมูลที่เป็นอันตรายของลูกค้าจะถูกแทรกเข้าไปในระบบการผลิต
เพื่อแก้ปัญหานี้นักพัฒนาจำเป็นต้องสามารถตรวจสอบได้ว่าข้อมูลนั้นเป็นอันตรายหรือไม่ซึ่งเป็นปัญหาที่ซับซ้อนมาก
ไม่ใช่ทุกคนที่เห็นด้วยกับความสำคัญของปัญหานี้ Chris Wysopal หัวหน้าเจ้าหน้าที่เทคโนโลยี Veracode กล่าวว่าตัวอย่างเช่นมีหลายวิธีในการจัดเก็บลูกค้าข้อมูลโดยใช้ส่วนขยายปลั๊กอินหรือเบราว์เซอร์
มีวิธีการมากมายที่รู้จักในการจัดการคุณสมบัติ HTML5 SessionStorage ในปัจจุบัน แต่ปัญหานี้จะได้รับการแก้ไขเมื่อมาตรฐานสิ้นสุดลง Wysopal กล่าว
การสื่อสารข้ามโดเมน
HTML เวอร์ชันอื่นอาจอนุญาตให้ JavaScript ออกคำขอ XML HTTP โดยตรงเพื่อโทรกลับไปยังเซิร์ฟเวอร์ดั้งเดิมในขณะที่ HTML5 ผ่อนคลายขีด จำกัด นี้และคำขอ XML HTTP สามารถส่งไปยังเซิร์ฟเวอร์ใด ๆ ที่อนุญาตคำขอดังกล่าว แน่นอนหากเซิร์ฟเวอร์ไม่น่าเชื่อถือสิ่งนี้สามารถนำปัญหาความปลอดภัยที่ร้ายแรงมาใช้
ตัวอย่างเช่นฉันสามารถสร้าง MASHUP (การรวมกันรวมมากกว่าสองเว็บแอปพลิเคชันโดยใช้ฐานข้อมูลสาธารณะหรือส่วนตัวเพื่อสร้างแอปพลิเคชันแบบรวม) เพื่อดึงคะแนนการจับคู่ของเว็บไซต์บุคคลที่สามผ่าน JSON (Notation Object JavaScript) คอร์เนลล์กล่าวว่าเว็บไซต์นี้อาจส่งข้อมูลที่เป็นอันตรายไปยังแอปพลิเคชันที่ทำงานในเบราว์เซอร์ของผู้ใช้ของฉัน แม้ว่า HTML5 จะอนุญาตให้มีการจัดตั้งแอพพลิเคชั่นประเภทใหม่ แต่หากนักพัฒนาไม่เข้าใจความสำคัญด้านความปลอดภัยของแอปพลิเคชันที่พวกเขาสร้างขึ้นเมื่อพวกเขาเริ่มใช้ฟังก์ชั่นเหล่านี้มันจะนำความเสี่ยงด้านความปลอดภัยมาให้ผู้ใช้
สำหรับนักพัฒนาที่พึ่งพา postmessage () เขียนแอปพลิเคชันพวกเขาจะต้องตรวจสอบอย่างรอบคอบเพื่อให้แน่ใจว่าข้อมูลนั้นมาจากเว็บไซต์ของตนเองมิฉะนั้นรหัสที่เป็นอันตรายจากเว็บไซต์อื่น ๆ สามารถสร้างข้อมูลที่เป็นอันตรายได้ คุณลักษณะนี้ไม่ปลอดภัยและนักพัฒนาได้เริ่มใช้คุณสมบัติ DOM (โมเดลวัตถุเอกสารที่แตกต่างกัน)/เบราว์เซอร์เพื่อเลียนแบบการสื่อสารข้ามโดเมน
อีกประเด็นที่เกี่ยวข้องคือ World Wide Web Alliance ในปัจจุบันให้วิธีการใช้งานคล้ายกับกลไกข้ามต้นเพื่อข้ามนโยบายที่คล้ายคลึงกันสำหรับการออกแบบการแบ่งปันทรัพยากรข้ามต้นกำเนิด
IE การปรับใช้มีคุณสมบัติด้านความปลอดภัยที่แตกต่างจาก Firefox, Chrome และ Safari และเขาตั้งข้อสังเกตว่านักพัฒนาจำเป็นต้องตรวจสอบให้แน่ใจว่าพวกเขาสร้างรายการควบคุมการเข้าถึงที่หลวมเกินไปด้วยอันตรายของการหลวมเกินไปโดยเฉพาะอย่างยิ่งเนื่องจากรหัสอ้างอิงบางอย่างไม่ปลอดภัยมาก
ความปลอดภัย iframe
จากมุมมองด้านความปลอดภัย HTML5 ยังมีคุณสมบัติที่ดีเช่นคุณสมบัติ Sandbox ที่วางแผนที่จะสนับสนุน iframes
คุณสมบัตินี้จะช่วยให้นักพัฒนาเลือกวิธีการตีความข้อมูล Wysopal กล่าวว่าน่าเสียดายเช่นเดียวกับ HTML ส่วนใหญ่การออกแบบมีแนวโน้มที่จะเข้าใจผิดโดยนักพัฒนาและมีแนวโน้มที่จะถูกปิดการใช้งานโดยนักพัฒนา หากจัดการอย่างถูกต้องคุณลักษณะนี้จะช่วยป้องกันโฆษณาของบุคคลที่สามที่เป็นอันตรายหรือป้องกันไม่ให้เนื้อหาที่ไม่น่าเชื่อถือถูกเล่นกลับ