วันอาทิตย์ที่ 2 พฤศจิกายน พ.ศ. 2557

มาตรฐาน HTML 5.0 เสร็จสมบูรณ์, ก้าวสู่ยุคของ HTML 5.1

การเดินทางอันยาวนานของ HTML5 นับสิบปี ตั้งแต่การฟอร์มทีมร่างมาตรฐาน WHATWG ในปี 2004 ก็มาถึง "ก้าวแรก" เมื่อองค์กรกำกับมาตรฐานเว็บ W3C ประกาศรับรองมาตรฐาน HTML 5.0 อย่างเป็นทางการ (มีสถานะเป็น "Recommendation")

ฟีเจอร์ใหม่ๆ ของ HTML5 ก็เป็นไปตามที่ Blognone เสนอข่าวมาโดยตลอด (และทุกวันนี้เราก็ใช้กันเยอะแล้วเพราะเบราว์เซอร์รองรับกันก่อนเป็นมาตรฐาน) เช่น <audio>/<video>, Canvas, SVG, MathML เป็นต้น


อย่างไรก็ตาม HTML5 ยังถือว่าไม่เสร็จสมบูรณ์ เพราะนโยบายใหม่ของ W3C จะมองมาตรฐาน HTML5 เป็นเวอร์ชันย่อยๆ ที่พัฒนาไปเรื่อยๆ (แบบ Chrome/Firefox) โดยตอนนี้มาตรฐาน HTML 5.1 เริ่มเข้าสถานะ Nightly แล้ว และมีกำหนดออกรุ่นจริงในปี 2016

Jeff Jaffe ซีอีโอของ W3C แสดงวิสัยทัศน์ผ่านบล็อกของ W3C ว่าตอนนี้พื้นฐานของเว็บยุคใหม่เสร็จสิ้นแล้วใน HTML5 งานขั้นต่อไปจะเรียกว่า "Application Foundations" หรือการวางพื้นฐานสำหรับการสร้างแอพพลิเคชั่นด้วยเทคโนโลยีเปิดของเว็บ (Open Web Platform) ที่แบ่งออกเป็น 8 กลุ่มย่อยๆ
  • Security and Privacy เช่น Crypto API
  • Core Web Design and Development เช่น Web Components
  • Device Interaction เช่น การรองรับฟีเจอร์ฮาร์ดแวร์บนมือถือ (GPS/NFC/Bluetooth)
  • Application Lifecycle เช่น Web Workers
  • Media and Real-Time Communications เช่น WebRTC
  • Performance and Tuning เช่น ปรับปรุง garbage collection, framerate
  • Usability and Accessibility
  • Services เช่น payment, semantic web, social

ที่มา: Blognone

พบบั๊ก POODLE ช่องโหว่ร้ายแรงใน SSL 3.0 กระทบการเชื่อมต่อแบบปลอดภัยของเบราว์เซอร์

กูเกิลประกาศค้นพบบั๊กร้ายแรงในสเปกของโพรโทคอล SSL เวอร์ชัน 3.0 ที่ส่งผลให้การเชื่อมต่อ SSL อาจถูกเจาะและไม่ปลอดภัยอย่างที่แล้วๆ มา โดยกูเกิลให้ชื่อบั๊กนี้ว่า POODLE

SSL หรือ Secure Socket Layer เป็นโพรโทคอลความปลอดภัยที่ถูกสร้างโดย Netscape ในปี 1995 และ SSL 3.0 เป็นมาตรฐานเก่าที่ออกตั้งแต่ปี 1996 (เกือบ 20 ปีแล้ว) หลังจากนั้นมาตรฐานถูกเปลี่ยนชื่อเป็น TLS (Transport Layer Security) เวอร์ชันล่าสุดคือ 1.2 ออกเมื่อปี 2008 อย่างไรก็ตาม คนทั่วไปยังนิยมเรียกกันติดปากกว่า SSL อยู่ (และหลายคนเข้าใจผิดว่า SSL 3.0 ใหม่กว่า TLS 1.2)

บั๊ก POODLE มีผลเฉพาะกับ SSL 3.0 ที่เก่ามากแล้ว แต่เว็บเบราว์เซอร์ยังรองรับและเว็บเซิร์ฟเวอร์ยังใช้งานกันอยู่บ้าง (สถิติของ Mozilla บอกว่า 0.3% ของการสื่อสารที่ปลอดภัยทั้งหมด) ที่สำคัญคือเบราว์เซอร์จะทดลองสื่อสารด้วย TLS เวอร์ชันใหม่ก่อน ถ้าหากไม่พบก็จะถอยเวอร์ชันลงไปเรื่อยๆ ซึ่งอาจเป็นอันตรายเพราะแฮ็กเกอร์ใช้ช่องโหว่ POODLE ของ SSL 3.0 โดยที่เราไม่รู้ตัว

ทางแก้ไขเบื้องต้นคือให้เบราว์เซอร์หรือเซิร์ฟเวอร์รองรับฟีเจอร์ TLS_FALLBACK_SCSV หรือ TLS Fallback Signaling Cipher Suite Value ซึ่งจะช่วยป้องกันการดาวน์เกรดโพรโทคอล TLS/SSL เพื่อลดโอกาสถูกโจมตี กูเกิลบอกว่า Chrome และเซิร์ฟเวอร์ของตัวเองรองรับฟีเจอร์นี้อยู่แล้ว และวันนี้กูเกิลจะลองปิดการดาวน์เกรดเป็น SSL 3.0 กับ Chrome ส่วนในอนาคตจะเลิกสนับสนุน SSL 3.0 อย่างถาวร

ฝั่งของ Firefox ออกมาบอกว่าจะปิด SSL 3.0 ใน Firefox 34 ที่จะออกช่วงปลายเดือนพฤศจิกายน และ Firefox 35 จะรองรับฟีเจอร์ TLS_FALLBACK_SCSV ตามมา

การปิด SSL 3.0 อาจส่งผลกระทบให้เว็บไซต์บางแห่งใช้งานไม่ได้ ซึ่งเป็นหน้าที่ของผู้ดูแลระบบที่ต้องแก้ไขเรื่องเวอร์ชันของ SSL (งานนี้แพตช์ปิดรูรั่วไม่ได้นะครับเพราะเป็นบั๊กของโพรโทคอล SSL 3.0 ไม่ใช่บั๊กของตัวซอฟต์แวร์ ต้องปิด SSL 3.0 อย่างเดียว) รายละเอียดอ่านได้จาก เอกสารของ Mozilla 

ผู้ใช้กลุ่มที่มีปัญหาที่สุดคือ Windows XP ที่ยังใช้งาน IE6 เพราะรองรับแค่ SSL 3.0 เท่านั้น การปิด SSL 3.0 ฝั่งเซิร์ฟเวอร์ย่อมกระทบผู้ใช้กลุ่มนี้ และเป็นหน้าที่ของผู้ดูแลเว็บไซต์ต้องพิจารณากันเองว่าสมควรปิด SSL 3.0 หรือไม่

วิธีปิด SSL 3.0

สำหรับผู้ใช้ที่เป็นห่วงเรื่องความปลอดภัยและไม่ต้องการรอแพตช์ สามารถปิดการทำงานของ SSL 3.0 ได้เอง
  • Firefox เข้าไปที่ about:config แล้วเปลี่ยนค่า security.tls.version.min เป็น 1
  • อีกทางเลือกหนึ่งของ Firefox คือใช้ส่วนขยายชื่อ SSL Version Control
  • Chrome ให้รันด้วยพารามีเตอร์ --ssl-version-min=tls1 ต่อท้าย
  • IE เข้าไปที่ Internet Options > Advanced > Security > เอาตัวเลือก Use SSL 3.0 ออก
  • Windows และ Windows Server ให้ปรับค่าใน Group Policy - วิธีการ
ที่มา: Blognone