ว่าด้วย Security

ประเด็น Blackberry กับประเทศหลายๆ ประเทศเริ่มเป็นประเด็นกันมาก เรื่องนี้นับว่าน่าสนใจยิ่ง เพราะนี่คือสิ่งที่เกิดขึ้นเมื่ออินเทอร์เน็ตมาพร้อมกับ “ความปลอดภัย”

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

รัฐบาลไม่เคยกลัวอินเทอร์เน็ต เพราะแม้ว่าจะมีบางคน (เช่นผม) ที่มองความพยายามดักจับ ตรวจสอบ หรือกระทั่งปลอมแปลงข้อมูลของรัฐบาล โดยเฉพาะในรูปแบบของ “รัฐบาลไทย” เป็นเรื่อง “โง่เง่า” และ “ดื้อด้าน” ที่ไม่ได้ทำอะไรให้เป็นผลดีนอกจากความรำคาญบ้าง ความเกลียดชังรัฐบาลที่เพิ่มขึ้นอีกหน่อย และความรู้สึกที่ว่า “เฮ่ย ใครสั่งใครสอนให้ทำอย่างนี้” แต่ไม่ว่าอย่างไร แนวทางง่ายๆ เช่นนี้ประสบความสำเร็จเกือบทั้งหมด เพราะคนใช้อินเทอร์เน็ตส่วนมาก ไม่ได้สนใจการตั้งค่าความปลอดภัยอย่างถูกต้อง

จะไม่จริงอีกต่อไปคือเรื่องของการปิดกั้นอินเทอร์เน็ต ที่การบล็อก YouTube ทำให้ชาวบ้านทั่วไปรู้จัก TOR และ Proxy สารพัดแบบ การปิดกั้นใดๆ ต่อจากนั้นก็เริ่มเป็นความสนุกของคนเล่นเน็ตไทย กับรัฐบาลที่หาลูกไล่กันไปมาอย่างสนุกสนาน

ขอบคุณคมช. และดร. มั่น

Blackberry และ Gmail กำลังเปลี่ยนทุกอย่าง เพราะมันคือรูปแบบของความปลอดภัยที่ทุกคนใช้งานโดย “ไม่รู้สึกว่าต้องทำอะไรเพิ่มเติม”

ระบบ PIN ที่ง่ายดายของ Blackberry นั้นข้างใต้มันมีระบบความปลอดภัยที่ดีอย่างน่าทึ่ง ที่สำคัญกว่านั้นคือมันใช้ง่ายจนเด็กม.ปลายก็ส่งข้อมูลเข้ารหัสที่ไม่มีรัฐบาลในประเทศไหนๆ ดักจับได้

เด็กม. ปลายบนรถไฟฟ้าทุกคนกำลังคุยกันในเรื่องที่รัฐบาลไทยไม่รู้, ไม่สามารถรู้, และไม่สามารถทำให้รู้ได้ เพราะระบบรักษาความปลอดภัยของ Blackberry ทุกข้อความถูกเข้ารหัส, ถูกตรวจสอบที่มา, ถูกยืนยันผู้รับ ทางเดียวที่รัฐบาลจะรู้ข้อความในเครื่องคือต้อง “อุ้ม” เครื่องเหล่านั้นไปเปิดดูเอาเอง

ดีไม่ดีเปิดมาจะเจอ “remote wipe” อาจจะเศร้ากว่าเดิม

ฉิบหายแล้วครับสำหรับรัฐบาล

รัฐบาลแรกๆ ที่เต้นและเต้นหนักเลยคืออินเดีย มีประเด็นให้คิดมากว่าทำไมอินเดียถึงเต้นขนาดนี้

ผมมองว่าการโวยวายของอินเดียนี้เป็นความ “ผิดพลาด” อย่างไม่น่าให้อภัยของผู้ดูแลเรื่องความปลอดภัย เพราะขณะที่อินเดียตีโพยตีพายเพื่อให้ได้เทคโนโลยีในการดักฟัง BB นั้น

อินเดียกำลังยอมรับว่าตัวเองไม่มีความสามารถในการถอดรหัส SSL

IT powerhouse เช่นอินเดียนั้น แฮกเกอร์ทั่วไปคงสงสัยในศักยภาพของรัฐบาลกันพอสมควร ประมาณสหรัฐฯ ที่ความสามารถของ NSA นั้นเป็นเพียงเรื่องที่ลือๆ กันไปมา

Blackberry อาจจะง่ายเกินไป แต่การโจมตี Blackberry เพื่อขอให้เปิดเผยข้อมูลเช่นนี้ อินเดียจะต้องเจอกับมหกรรม “ไล่ล่า” ผู้ให้บริการเล็กใหญ่ที่ผู้ก่อการร้ายอาจจะใช้รายใดก็ได้

Twitter ผ่าน HTTPS, GTalk, Facebook และอีกสารพัดระบบกระจายข้อความที่กำลังรองรับ SSL เป็นพื้นฐานกันมากขึ้นเรื่อยๆ จาก CA ที่อยู่นอกบังคับกฏหมายของประเทศที่อ่อนไหวต่อความมั่นคงเหล่านี้ อุปกรณ์จำนวนมากกำลังส่งข้อมูลเข้ารหัสเป็นพื้นฐาน

และตอนนี้ผู้ก่อการร้ายก็รู้แล้วว่ารัฐบาลถอดรหัสไม่ได้ แถมรู้ว่ารัฐบาลกำลังขอความสามารถในการถอดรหัสจากผู้ให้บริการใดบ้าง

ที่เหลือของผู้ก่อการร้ายก็แต่ switch ไปใช้ผู้บริการรายอื่นที่ให้ความปลอดภัยในระดับเดียวกัน?????

แถมคราวนี้มั่นใจ ไม่ถูกจูนอีกต่างหาก

 

ทำอะไร

วันนี้ในงาน Chrome โดนเรียกขึ้นเวทีไม่รู้ตัว (แอบขาสั่นนะนั่น) แต่คำถามหนึ่งที่คิดได้คือ จะแนะนำอะไรให้กับนักพัฒนาคนอื่นๆ

ผมแนะถึง Chrome Extension ว่ามันเป็นเครื่องมือที่ดี ที่เราจะเล่นกับเว็บได้มากมาย แต่สิ่งสำคัญอย่างแรกคือเราต้องคิดก่อนว่าเราจะทำอะไร

ปัญหาของเมืองไทยตอนนี้ไม่ใช่เราขาดนักพัฒนา แต่เราเต็มไปด้วยนักพัฒนาที่มีแต่ yet another ….

การทำตามอย่างไม่ใช่เรื่องเลวร้ายไปซะหมด การเรียนรู้จากคนอื่นเป็นเรื่องที่ดี แต่สำคัญคือในงานแต่ละชิ้นเราต้องการความแตกต่างแม้จะเล็กน้อย

ครั้งหนึ่ง exteen เคยเป็นเว็บบล็อกสำหรับเด็กคอสเพลย์, Blognone เองก็เคยเป็น Slashdot in Thai แล้วเราค่อยสร้างความแตกต่างออกมาจากตรงนั้น

ผมเคยคุยกับ @nattachai บอกว่าเด็กๆ ที่ทำเกมบ้านเราไม่ได้แย่ ระบบดี เกมดี แต่มันไม่สนุก, หรือบางทีก็ไม่ได้ต่างจากเกมอื่นๆ ที่หลายครั้ง “แจกฟรี”

เราไม่ได้ขาดโปรแกรมเมอร์ขนาดนั้น (จริงๆ โปรแกรมเมอร์เก่งๆ บ้านเราก็คงเรียกได้ว่า “ขาดแคลน”) แต่เราขาดคนอย่าง Sid Meier อย่างมาก คนที่อาจจะเขียนโปรแกรมไม่เป็นเลย แต่บอกได้ว่าทำอย่างนี้แล้วมันสนุก

เราควรเริ่มจากปัญหา เราควรสอนใ้หเด็กๆ กล้า กล้าลอง กล้าทำผิด กล้าเริ่มใหม่

หลายครั้งเราแค่ไม่กล้าเริ่ม หลายครั้งมันก็แค่การ copy code จาก tutorial มาทำตาม เราแค่ต้องเริ่ม เราแค่ต้องลอง เราต้องกล้าแหวกแนว

ผิดก็แค่เริ่มใหม่อีกที ไอเดียไม่เวิร์คก็คิดใหม่อีกอัน

เราต้องสอนให้เด็กเริ่มจากปัญหา สอนให้มองเห็นโอกาสในวิกฤติ สอนให้กล้าที่จะลงมือแก้ไขมัน

เราต้องถือว่าการที่เด็กจบมาแล้วสามารถบอกกับคนทั้งโลกได้กว่า ไม่เก่ง ไม่สามารถ และทำไม่ได้ เป็นผลผลิตของความล้มเหลวในการศึกษาอย่างสิ้นเชิง

น่าตกใจที่ผลเช่นนี้มีมากมาย

 

ว่าด้วย AppUp

อันนี้เป็น note เพราะ blognone ได้ project ร่วมโปรโมท AppUp กับทางอินเทล (คงเห็นข่าวใน blognone ยิงเรื่อยๆ กันสักพักแล้ว)

AppUp เป็นความพยายามของอินเทลที่อยากได้ Application มาอวดโลกว่า นี่มันทำมาสำหรับ Atom โดยเฉพาะ เพราะว่าตอนนี้เอง Atom รับสภาพ PC ที่อืดๆ อยู่ทำให้แม้จะขายดิบขายดี (และยังขายดีขึ้นเรื่อยๆ ) แต่ก็ไม่สามารถสร้างโอกาสใหม่ๆ ได้ แถมพอดีว่าปีนี้ tablet มันดันเข้ามา และสองตลาดนี้อาจจะกลืนเป็นตลาดเดียวกันในอนาคต

ปัญหาอย่างหนึ่งคือ ไอเดียของ AppUp คือ App อะไรก็ได้ที่คุณบอกว่ามันทำมาสำหรับ Atom ตาม Guideline ของอินเทล ที่เหลืออินเทลพยายามรักทุกคน .NET, Java, C++, Python รวมถึง OS ที่รับทั้ง Moblin (ตายไปแล้ว), MeeGo (ยังไม่เกิด), และ Window ที่มีฐานผู้ใช้มากที่สุดในตอนนี้

ความพยายามที่จะรักทุกคน เป็นทั้งข้อดีและข้อเสียไปในเวลาเดียวกันคือ SDK ของ Intel มันจะงงๆ หน่อย ว่ามันทำอะไร อย่าง Android เราก็เปิด SDK แล้วเขียนๆ ตาม tutorial ไปเรื่อยๆ ก็ได้ App ของ Android เป็นอันเสร็จพิธี

แต่ SDK ของ AppUp นั้นจะมีเพียงตัว package และ C/C++ lib บางส่วนที่ช่วยแจ้งปัญหาเวลาซอฟต์แวร์มัน crash และตรวจสอบสิทธิ์การใช้งานผ่าน Service ตัวหนึ่งที่ลงมากับ AppUp เรียกว่า ADP Service

เนื่องจากเป็น C/C++ มันจึงไปที่ไหนก็ได้ในโลก ทำไปทำมาอินเทลพบว่านักพัฒนาบนวินโดวส์ชอบ .NET ก็ออก tutorial มากมายถึงวิธีการพัฒนาบน .NET เริ่มจากขั้นแรกคือทำ .NET Binding! ของ ADP Service

ที่เหลือนั้นคือการแพ๊ค โดยอินเทลบอกว่าแพ็คยังไงก็ได้ให้ติดตั้งแบบไม่ต้องให้ผู้ใช้เข้ามายุ่ง กด install จาก AppUp แล้วมันต้องลงไปอยู่ในเครื่องเลย กับอีกข้อคือ Executable ต้องมีตัวเดียว ห้ามลงโปรแกรมทีมี 10 ไอคอนแบบซอฟต์แวร์บนวินโดวส์เดิมๆ เด็ดขาด

ข่าวการเข้ามาของ AIR เป็นเรื่องน่าสนใจ เพราะขณะที่ C/C++ ของ ADP จะอยู่ในทั้ง Windows/Linux แต่อินเทลกลับไม่มี platform ให้ยึดว่าทำตามนี้แล้วจะขายได้ทุกที่ที่ AppUp ไป ดังนั้นเราไม่รู้เลยว่าวันนี้ที่ AppUp มีข่าวมากมายเช่นว่า Tablet Asus จะรับ หรือ MeeGo มันเจ๋ง ฯลฯ ถึงเวลาจริงๆ แล้วจะพัฒนา App ยังไง ต้องแก้จากของเดิมแค่ไหน ขณะที่ Android บอกว่า Android App รันบน Google TV ได้ แค่จอมันใหญ่ อาจจะต้องปรับหน้าจอหน่อย….

AIR เป็นทางออกให้อินเทล เพราะมัน Cross Platform แถม AIR ก็ชัดเจนว่าจะไปกับ MeeGo ด้วย ดังนั้นมันเป็นทางออกแบบ WORM (Write Once Run Many) ของอินเทล อีกทางหนึ่งคือ Qt ของ Nokia ผู้ร่วม MeeGo เพราะ Qt มันรองรับ Desktop ด้วย จึงเป็นรูปแบบการพัฒนาแบบ WOCA (Write Once Compile Anywhere) ที่เทพคือตัวจัด UI ของ Qt Creator มันเทพมาก ในบทความชุด AppUp คงมีบทความตัวนี้อยู่ด้วย

ว่ากันตามจริง AIR น่าจะได้รับความสนใจกว่ามาก เพราะมันเองสามารถไปรันบนมือถือได้ด้วย

ข่าวดีคือตอนนี้ AppUp มีโปรโมชั่นสมัครฟรี ใครยังไม่ได้สมัครก็รีบไปสมัครๆ ไว้ก่อนได้

ข่าวร้ายคือ AIR นั้นเข้ากับ AppUp ได้ง่ายเพราะ AIR มันมี Licensing API ในตัว และมันต้องการ Signing (หลอนจาก Symbian ในทันใด) แถมรองรับ Cert จาก 4 รายเท่านั้นคือ Thatwe, Verisign, GlobalSign, และ ChosenSecurity ตรงนี้เตรียมใจไว้เลยว่ามันจะแพง ถูกที่สุดคือ ChosenSecurity อยู่ที่ 199 ดอลลาร์ต่อปี ส่วนนี้เป็นข้อจำกัดที่มากับ AIR Licensing API ที่เหลือคือส่งไฟล์ .AIR ไปให้อินเทลก็ได้เอา App ขึ้นเว็บแล้ว

ดังนั้นลาก่อน Adobe AIR…

จุดที่เจ๋งของ AppUp คือมันขาย Component ให้ App อื่นเอาไปใช้ได้ด้วย แถมคิดค่าใช้งานแบบส่วนแบ่งรายได้ ที่เห็นๆ เช่นว่าอยากเขียน App ด้วย Python แทน C/C++ ก็ต้องจ่าย 10% ของราคา App เป็นค่า Wrapper เป็นต้น

เป็นแนวทางที่น่าสนใจมาก ยิ่งถ้าอนาคต Android ทำแนวทางนี้ได้ เช่นว่าทำ Component Share to Facebook เป็น Activity ใน Android แล้วเปิดให้เกมต่างๆ ที่เสียเงินใช้ ถ้ามีการเรียกต้องจ่าย 0.1% ของค่าเกมน่าจะทำให้เกิด App ที่ไม่มีหน้าจอเป็นของตัวเองอีกเยอะพอควร

ปล. note นี้ยังมั่วๆ มาก เดี๋ยวเรียงลำดีบเป็นบทความลง blognone อีกที