คนที่ติดตามงาน Google I/O 2014 คงได้ยินชื่อโครงการ Polymer ของกูเกิลกันมาบ้าง มันคือ "ไลบรารีสำหรับสร้าง UI ด้วยเทคโนโลยีเว็บ" ที่พัฒนาขึ้นบนมาตรฐานเว็บตัวใหม่ Web Components ที่ว่ากันว่าจะปฏิวัติแนวคิดของการเขียนเว็บแบบเดิมๆ ไปอย่างสิ้นเชิง
บทความนี้จะแนะนำแนวคิดของ Web Components ในฐานะมาตรฐานที่กำลังพัฒนาขึ้นโดยคณะทำงานของ W3C ก่อนจะกล่าวถึง Polymer ในตอนต่อไป (ผู้อ่านควรมีพื้นฐานด้านการพัฒนาเว็บมาบ้างพอสมควร)
โปรแกรมรู้จำเสียงอัตโนมัติ (Automatic Speech Recognition หรือ ASR) คือโปรแกรมที่รับข้อมูลนำเข้าเป็นเสียงและแปลงให้กลายเป็นข้อความ (text) แบบ real-time ปัจจุบันมีใช้กันแพร่หลายขึ้นมาก อย่าง Siri ของแอปเปิลก็สามารถพูดคุยโต้ตอบกันได้ หรืออย่างเครื่องใช้ไฟฟ้าบางยี่ห้อในปัจจุบันก็ได้เพิ่มฟังก์ชันการสั่งการด้วยเสียงแถมมาด้วย แต่จะเป็นไปได้ไหมถ้าเราจะสามารถสร้างเทคโนโลยีเหล่านี้ขึ้นมาใช้เองได้ ด้วยความสงสัยนี้ผมเลยคิดจะทดลองทำโปรเจคนี้ขึ้นมา
ในบทความตอนแรกที่ปูพื้นฐานจำเป็นเกี่ยวกับเครื่องพิมพ์สามมิติเอาไว้แล้ว ในตอนนี้เราจะมาพาไปรู้จักกับการพิมพ์สามมิติในเชิงปฏิบัติว่าจะต้องเตรียมการอย่างไรบ้าง มีอะไรที่ต้องระวังเป็นพิเศษ และต้องใช้อะไรในการพิมพ์บ้าง ผ่านวิธีการพิมพ์ยอดนิยมที่สุดอย่าง fused deposition modeling (FDM)
ในการเตรียมตัวก่อนเริ่มพิมพ์สามมิติ ไม่ว่าจะด้วยวิธีใดก็ตาม มีองค์ประกอบที่ต้องเตรียมให้เรียบร้อยก่อนเริ่มทำคล้ายๆ คือต้องมีตัวเครื่องพิมพ์สามมิติ มีวัตถุดิบสำหรับพิมพ์ มีโปรแกรมสำหรับควบคุมเครื่องพิมพ์ (Slicer) และมีแบบพิมพ์สามมิติ ซึ่งสกุลไฟล์ที่ใช้กันแพร่หลายคือ .STL
จะหาแบบพิมพ์สามมิติได้จากไหน
สวัสดีครับ วันนี้มีเพื่อนผมคนนึงตามให้มาดูเรื่องใน blognone มีเนื้อหาหลักๆ คือ Google จัดประกวด Little Box Challenge ซึ่งเป็นโครงการประกวดการออกแบบ power inverter เพื่อใช้ร่วมกับอุปกรณ์ solar cell โดยมีเงินรางวัล 1ล้านดอลลาร์สหรัฐ ผมคิดว่าอาจจะมีผู้สนใจอยู่บ้าง เลยต้องการเขียนเจาะรายละเอียดในมุมมองของผม เพื่อช่วย get started ให้กับมือใหม่ (ซึ่งอาจจะมีความคิดใหม่ๆ ที่น่าสนใจ) และดึงความคิดเห็นจากมือเก๋า (ที่มีประสบการณ์) แล้วมาดูกันครับว่าเราจะได้ข้อสรุปอะไรหรือเปล่า
ท่ามกลางนวัตกรรมใหม่ๆ จำนวนมากที่เกิดดับในช่วงหลายปีที่ผ่านมานี้ ยังมีหนึ่งเทคโนโลยีที่ได้รับความสนใจมากขึ้นเรื่อยๆ จากความสามารถในการดัดแปลงไปใช้กับอุตสาหกรรมได้อย่างกว้างขวาง และเริ่มเข้าไปสู่บ้านของคนทั่วไปมากขึ้น ด้วยราคาของเทคโนโลยีที่กำลังลดลงอยู่ทุกขณะ แน่นอนว่าเทคโนโลยีที่พูดถึงนี้คงหนีไม่พ้นการพิมพ์สามมิติ (3D Printing) หรือพูดให้ถูกกว่าคือการผลิตแบบดิจิทัลที่ลดรูปจากเครื่อง CNC ที่ใช้ในวงการอุตสาหกรรมนั่นเอง
ความเชื่อใจในความมั่นคงปลอดภัยของระบบคอมพิวเตอร์ที่เลียนแบบมาจากโลกความเป็นจริงอย่างสุดท้าย นั่นคือการทำสัญญา ในโลกความเป็นจริงคนเราทำสัญญากันทุกวันตลอดเวลา เมื่อเราสั่งสินค้ากับแม่ครัวในร้านอาหาร แม่ค้าต้องนำอาหารที่เราสั่งมาเสิร์ฟให้อย่างถูกต้อง เมื่อเราทานแล้วเราต้องจ่ายเงินตามค่าอาหารที่ระบุไว้ หากแม่ครัวทำอาหารมาผิด เรามีสิทธิที่จะปฎิเสธไม่รับอาหาร และไม่จ่ายเงินค่าอาหารนั้นๆ
สรุปเนื้อหาจากงาน Blognone Quest for Modern Security ตอนที่สอง (ตอนที่หนึ่ง) โดยเป็นการบรรยายของคุณคงศักดิ์ ก่อตระกูล Technical Services Senior Manager จาก Trend Micro
หัวข้อการบรรยายของคุณคงศักดิ์เป็นการแนะนำ "แนวโน้ม" ของปัญหาภัยคุกคามด้านความปลอดภัยที่เปลี่ยนแปลงไปจากอดีตอย่างมากด้วยสภาพตลาดเทคโนโลยีที่เปลี่ยนไป เช่น Internet of Everything (IoE) มีอุปกรณ์ชนิดใหม่ๆ ที่เชื่อมต่อกับอินเทอร์เน็ตเยอะขึ้นมาก
บั๊ก Heartbleed ที่ถูกค้นพบเมื่อไม่กี่วันก่อน ส่งผลสะเทือนไปทั่วโลกไอที เหตุเพราะตัวซอฟต์แวร์ OpenSSL นั้นถูกใช้อย่างกว้างขวางในฐานะซอฟต์แวร์พื้นฐานสำหรับการเข้ารหัส SSL/TLS เพื่อส่งข้อมูลแบบ HTTPS, VPN และทราฟฟิกเข้ารหัสแบบอื่นๆ
การค้นพบช่องโหว่ Heartbleed ถือเป็นการ "เจาะที่หัวใจ" ทำลายความน่าเชื่อถือของการส่งข้อมูลผ่าน SSL/TLS ลงอย่างมาก (ตามสัดส่วนการใช้ OpenSSL) เพราะการเข้ารหัสที่เรา "เชื่อว่าปลอดภัย" นั้นกลับไม่ปลอดภัยอย่างที่เคยคิดกันไว้
สรุปเนื้อหาสาระจากงาน Blognone Quest for Modern Security ในช่วงแรกเป็นการบรรยายโดยคุณอภิเชษฐ์ ชัยเพ็ชร ที่ปรึกษาเทคโนโลยีอาวุโสจาก RSA
ปัญหาค่าโรมมิ่งแพงจนหลายคนช็อคเป็นปัญหาเรื้อรังของการสื่อสารไทย คำแนะนำโดยทั่วไปคือที่ใช้ได้ผลที่สุดคือ "อย่าเอาซิมไปใช้ต่างประเทศ" โดยแนะนำให้ซื้อซิมในประเทศนั้นๆ ใช้งาน แม้อาจจะถูกบ้างแพงบ้างแต่ส่วนมากก็อยู่ในระดับไม่เกินสองพันบาทต่อสองสัปดาห์เท่านั้น แต่ในหลายกรณีเราก็ยังต้องการใช้หมายเลขที่บ้านของเราอยู่เสมอ บางกรณีเช่นการรับ SMS เช่นข้อความ OTP ก็จำเป็นอย่างมากต่อการใช้งานจริง
กระบวนการรักษาความปลอดภัยในระบบคอมพิวเตอร์ที่สำคัญอีกอย่างหนึ่งคือการให้อำนาจ (Authorization) กระบวนการนี้เมื่อเทียบกับชีวิตประจำวันคือการที่เราเข้าถึงพื้นที่ในอาคารต่างๆ ได้จำกัด หลังร้านอาหารอาจจะจำกัดเฉพาะพนักงานเข้าได้เท่านั้นขณะที่ลูกค้าทั่วไปจะต้องอยู่ในบริเวณที่นั่งที่จัดไว้ หรือบริเวณชั้นผู้บริหารที่พนักงานทั่วไปไม่สามารถเข้าใช้งานได้
หมายเหตุ: ต่อเนื่องจากข่าวที่แล้ว (ระบบอินเทอร์เน็ตทรูถูกโจมตี ฝังมัลแวร์ดักข้อมูลผู้ใช้งาน) ทางทีมงานทรูได้ประสานงานมาว่าทีมเครือข่ายได้รับทราบปัญหาแล้ว กำลังหาแนวทางในการแก้ไขเป็นการถาวรอยู่ครับ
ระบบอินเทอร์เน็ตมีพื้นฐานอยู่บนบริการหลายๆ อย่างทำงานร่วมกัน ในเงื่อนไขหลักที่ถือว่า "ข้อมูลที่อีกฝ่ายตอบมาเป็นความจริง" เป็นหลัก โดยบริการที่สำคัญมาก (และเป็นช่องโหว่ในการโจมตีมากเป็นอันดับต้นๆ) ในอินเทอร์เน็ตมีอยู่สองอย่างเท่านั้นครับ คือ routing และ DNS คือถ้าสามารถโจมตีสองอย่างในขนาดใหญ่มากๆ ได้ ก็อาจทำให้อินเทอร์เน็ตทั้งโลกหรือส่วนหนึ่งส่วนใดมีปัญหาได้เลยครับ
Routing
กระบวนการต่อเนื่องจากการระบุตัวตนแล้วโดยมากมักเป็นการรับรองตัวตนหรือ Authentication กระบวนการนี้เรามักทำอย่างไม่รู้ตัวกันตลอดเวลา เมื่อป้ายสินค้าชิ้นหนึ่งบอกชื่อสินค้าในห้างสรรพสินค้า เรามักตรวจสอบก่อนว่าสินค้าที่เรากำลังซื้อนั้นตรงกับสินค้าที่ป้ายบอกหรือไม่ หรือเมื่อเราพูดคุยกับใครสักคนทางโทรศัพท์ เมื่อเราได้ยินเสียงของคนที่เราคุยด้วยเราก็สามารถแน่ใจได้ว่าคนที่อยู่อีกฝั่งของคู่สายเป็นคนที่เราตั้งใจจะคุยด้วยจริงๆ เมื่อเราได้จดหมายของคนๆ หนึ่ง เราตรวจสอบดูว่ามีลายเซ็นหรือไม่ และลายเซ็นนั้นมีร่องรอยการปลอมแปลงหรือไม่
กระบวนการพื้นฐานที่สุดอย่างหนึ่งของกระบวนการความปลอดภัยข้อมูลไม่ว่าจะเป็นโลกดิจิตอลหรือโลกอนาล็อกที่เรามีชีวิตอยู่ก็ตาม คือ การระบุตัวตนของสิ่งต่างๆ ที่เราพบเจอทุกวัน เราพบกับสิ่งของ, ผู้คน, และสถานที่ต่างๆ มากมาย และเราต้องรู้ว่าสิ่งที่เราใช้งาน หรือคนที่เราพูดคุยด้วยนั้นเป็นคนที่เราต้องการคุยด้วยจริงหรือไม่
เมื่อช่วงต้นเดือนที่ผ่านมา Blognone มีงานเสวนาที่ไม่ได้ประกาศภายนอก โดยเชิญผู้ร่วมงานเป็นกลุ่มตัวแทนของผู้ดูแลเว็บขนาดใหญ่จำนวนหนึ่ง เช่น Sanook.com, Kapook, MThai, ไทยรัฐ, Thaitrend, Tarad.com, และ Pantip.com ทั้งหมดได้ร่วมพูดคุยกันถึงประสบการณ์ปัญหาต่างๆ ที่เคยเจอมาว่าในการทำเว็บที่ใหญ่ขึ้นเรื่อยๆ เคยเจอปัญหากันอย่างไร และมีประสบการณ์การแก้ไขกันอย่างไรมาแล้วบ้าง
กระบวนการเข้ารหัสที่มีอยู่ในโลกมากมายและถูกพัฒนาอย่างต่อเนื่องจนทุกวันนี้ซับซ้อนในระดับที่ต้องการความรู้คณิตศาสตร์ระดับสูง เหตุผลสำคัญของการพัฒนาเหล่านี้คือการแข่งขันกับกระบวนการถอดรหัสที่พัฒนาอย่างต่อเนื่องเช่นเดียวกันศาสตร์ที่ว่าด้วยการถอดรหัสนี้เรียกว่า Cryptanalysis เป็นศาสตร์ที่อยู่คู่กับการเข้ารหัสมานาน เทคนิคและกระบวนการก็ซับซ้อนและใช้ในกรณีเฉพาะบางอย่างไปเรื่อยๆ
ในบทความนี้เราจะยกตัวอย่างบางเทคนิคที่ใช้กันในการถอดรหัส
เมื่อปีที่แล้วผมเขียนบทความเรื่อง BitCoin ไปแล้วครั้งหนึ่งอธิบายถึงกระบวนการทำงานภายใน ช่วงนี้มีข่าว BitCoin กลับขึ้นมาอีกครั้งและคนจำนวนมากน่าจะสนใจกันมากขึ้นว่าตกลงแล้ว BitCoin มันคืออะไรกัน ผมกลับไปอ่านบทความเดิมแล้วคิดว่าน่าจะปรับปรุงให้อ่านง่ายขึ้นได้ เลยถือโอกาสกลับมาเขียนกันใหม่อีกรอบ
ประเด็นเรื่องการสิ้นสุดสัมปทาน 1800MHz ถือเป็นเรื่องใหญ่ที่มีผลกระทบในวงกว้าง และมีนักวิชาการออกมาแสดงความเห็นเรื่องนี้กันพอสมควร
ผมไปเจอสไลด์นำเสนอของคุณวรพจน์ วงศ์กิจรุ่งเรือง จากโครงการติดตามนโยบายสื่อและโทรคมนาคม (NBTC Policy Watch) คิดว่าสไลด์มีเนื้อหาครบถ้วน ได้ประเด็นชัดเจน จึงติดต่อขอสไลด์จากคุณวรพจน์มาเผยแพร่ต่อบน Blognone ครับ
นอกจากสไลด์แล้วยังมีบทความประกอบด้วย สามารถอ่านได้ท้ายบทความ (หรือดาวน์โหลดเอกสารฉบับ PDF)
คอมเมนต์ยาวไปหน่อย ก็เลยได้รับคำร้องขอให้เขียนเป็นบทวิเคราะห์ไปเสียให้จบๆ ไป
บทวิเคราะห์นี้จะมุ่งเน้นตอบคำถามว่า เหตุใดโนเกียจึงตัดสินใจเลือก Windows Phone ในปี 2011 และไม่ทำ Android เลยหลังการตัดสินใจนั้นจนกระทั่งปัจจุบัน คำถามว่าทำไมไม่ทำ Android ก่อนหน้า 2011 นั้นไม่ได้รวมอยู่ในบทวิเคราะห์นี้
กำไรของโนเกียนั้นเริ่มลดลงครั้งแรกในปี 2007 หลังจากแอปเปิลเปิดตัว iPhone แล้วก็ทรุดหนักลงอย่างต่อเนื่อง พอย่างเข้าสิ้นปี 2010 กำไรของโนเกียก็ลดลงไปกว่า 30% เมื่อเทียบจากจุดสูงสุด จนในเดือนกุมภาพันธ์ 2011 Stephen Elop ก็เข้ารับตำแหน่งซีอีโอของโนเกีย
Elop ออกเอกสารภายในฉบับหนึ่ง หลังรับตำแหน่ง ใจความสำคัญบางส่วนจากเอกสารนั้นคือ
กระบวนการเข้ารหัสที่สำคัญอย่างแบบกุญแจสมมาตร (symmetic key encryption) ในตอนที่แล้วแม้จะสามารถป้องกันการดักฟังได้อย่างมีประสิทธิภาพ แต่ข้อจำกัดคือทั้งสองฝ่ายต้องรับรู้ “ความลับ” ร่วมกัน และข้อจำกัดที่สำคัญมากคือ ผู้ที่รู้ความลับนี้ทุกคนจะเข้าไปอ่านข้อความได้ทั้งหมด
ในบรรดากระบวนการเข้ารหัสนั้น เราอาจจะบอกได้ว่าการเข้ารหัสแบบกุญแจสมมาตร (symmetric key) ที่เป็นกระบวนการการเข้ารหัสที่ทั้งสองฝ่าย มี “ความลับ” ร่วมกันอยู่ก่อน เมื่อส่งข้อมูลจริงแล้วจึงใช้ความลับนั้นถอดรหัสผ่านออกมาได้จึงได้ข้อความที่อ่านออกมาได้
กระบวนการป้องกันข้อความที่เป็นความลับนั้นมีมานานนับย้อนไปได้ถึงสมัยจูเลียส ซีซาร์ ที่อาศัยการสลับตัวอักษรด้วยตารางที่เป็นความลับ โดยทุกตัวในตารางจะมีตัวแทนของตัวเองทั้งหมด
ตั้งแต่ Microsoft และ Twitter ได้ออกแอพพลิเคชัน Facebook Beta และ Twitter เวอร์ชันใหม่ ที่มีการออกแบบแตกต่างไปจากสิ่งที่คนใช้ Windows Phone คุ้นเคยอย่างหน้าแอพพลิเคชันแบบ panorama หรือ pivot ที่มีหัวข้อเป็นข้อความขนาดใหญ่ ที่ผู้ใช้ต้องสไลด์ซ้ายขวา กลับกลายมามีหน้าตาคล้ายคลึงกับแอพพลิเคชันเดียวกันในแพลตฟอร์มอื่นๆ แต่รู้หรือไม่ว่า Facebook Beta และ Twitter บน Windows Phone นั้น แท้ที่จริงแล้วยังคงสิ่งที่เราเรียกว่า Metro UI ไว้อย่างสมบูรณ์แบบ
ความสามารถสำคัญของคอมพิวเตอร์คือการทำตามคำสั่งที่ชัดเจนได้อย่างแม่นยำและคาดเดาผลลัพธ์ได้เป็นอย่างดี แต่ในโลกความเป็นจริง กระบวนการอย่างหนึ่งที่สำคัญมากคือการ "มั่ว" ที่ในแม้แต่มนุษย์เราเองก็ยังทำได้ลำบาก เราอาจจะขอให้ใครสักคนมั่วตัวเลขอะไรก็ได้สักสี่หลักให้เรา แต่เราอาจจะพบว่าเมื่อเราขอให้คนจำนวนมากๆ สุ่มเลข เราอาจจะพบว่าเลขที่เราได้มักเป็นเลขที่เราใช้งานบ่อยๆ เช่น "1234", "0000", หรือ "1111"
ในกระบวนการรักษาความปลอดภัยคอมพิวเตอร์ นอกเหนือจากการดูแลระบบให้ควบคุมสิ่งที่ผู้ใช้หรือผู้บุกรุกให้ไม่สามารถทำงานใดๆ นอกเหนือจากที่กำหนดไว้ กระบวนการเข้ารหัส (Cryptography) นับเป็นสิ่งสำคัญที่ช่วยให้กระบวนการควบคุมนั้นเป็นไปได้จริง กระบวนการเข้ารหัสทุกวันนี้มักสร้างจากตัวประกอบสามตัวหลักได้แก่ ฟังก์ชั่นแฮช, การเข้ารหัสแบบกุญแจสมมาตร (symmetric key), และการเข้ารหัสแบบกุญแจอสมมาตร (asymmetric key) ในตอนแรกจะพูดถึงฟังก์ชั่นแฮชก่อน
แม้ปัญหาความปลอดภัยจะเริ่มต้นในยุคแรกๆ ในโลกด้วยปัญหา buffer overflow แต่เมื่อโลกเข้าสู่ยุคของเว็บ และโดยเฉพาะเมื่อเว็บเริ่มไม่ใช่ไฟล์ html เปล่าๆ แต่เป็นเว็บที่สามารถปรับตามผู้ใช้งานได้ เริ่มจากยุคของ CGI ที่เป็นโปรแกรมภาษาต่างๆ เรื่อยมาถึงเว็บเซิร์ฟเวอร์แบบอื่นไม่ว่าจะเป็น J2EE หรือระบบ fastcgi ปัญหาความปลอดภัยของเว็บก็กลายเป็นปัญหาใหญ่ที่โลกเจอกันเรื่อยมาจนทุกวันนี้
ปัญหา script injection หรือการใส่สคริปต์เข้ามาในเซิร์ฟเวอร์นั้นเป็นการโจมตีที่ตรงตัวกับชื่อของมัน เมื่อเซิร์ฟเวอร์เปิดให้อัพโหลดไฟล์เข้าไปยังเซิร์ฟเวอร์ ไม่ว่าจะเป็นการอัพโหลดภาพ หรือการอัพโหลดไฟล์อื่นๆ ในเว็บเซิร์ฟเวอร์ที่รันไฟล์ภาษาสคริปต์นั้น โดยทั่วไปแล้วจะถูกคอนฟิกให้รันทุกไฟล์สคริปต์ เช่น เว็บเซิร์ฟเวอร์ Apache ที่ติดตั้ง PHP ทุกวันนี้จะถูกคอนฟิกให้รันทุกไฟล์ที่ลงท้ายชื่อไฟล์ด้วย ".php"