จากกรณีหน้าเว็บกระทรวงวัฒนธรรม “ถูกแฮ็ก” หลังช่องสามประกาศงดฉายละคร “เหนือเมฆ 2” ต่อ และล่าสุดมีคนพบว่ามีลิงก์ไปเว็บรับพนันบอลบนหน้าแรกของเว็บกระทรวงด้วย ก็คิดๆ น่ะครับ ว่าคนเจาะนั้นเก่ง หรือว่าเว็บไซต์หน่วยงานรัฐไทยน่ะ ระบบรักษาความปลอดภัยห่วย
ผมพยายามตอบบางคำถามที่ถามกันบ่อย พร้อมตั้งข้อสังเกตและข้อเสนอ ซึ่งจะเกี่ยวข้องกับการแก้ไขพ.ร.บ.ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ และการเสนอร่างพ.ร.บ.คุ้มครองข้อมูลส่วนบุคคล
เกิดขึ้นได้อย่างไร?
เท่าที่ดูอาการตามหน้าจอและซอร์สโค้ดที่โชว์ใน Blognone เป็นเรื่องที่พบได้ทั่วไป ผมก็เคยโดนกับเว็บไซต์ที่เคยดูแล (cc.in.th)
ต้องเข้าใจว่าซอฟต์แวร์และฮาร์ดแวร์ทุกตัวมีรูโหว่ให้เจาะเข้าไปเสมอ เซิร์ฟเวอร์ของเว็บไซต์กระทรวงวัฒนธรรมก็เช่นกัน ไม่ว่าจะเป็นรูรั่วจากความผิดพลาดของซอฟต์แวร์หรืออุปกรณ์เอง หรือจากความประมาทเลินเล่อของผู้ดูแลที่ติดตั้งระบบไม่รัดกุม
รูรั่วเหล่านี้ จะถูกค้นพบใหม่เรื่อยๆ ทางผู้ผลิตซอฟต์แวร์ โดยปกติ เมื่อทราบข่าว ก็จะรีบอุดรูรั่วดังกล่าว และประกาศให้คนรีบอัปเดตซอฟต์แวร์หรือทำการแก้ไขด้วยวิธีอื่น
ทางคนที่ไม่หวังดีหรืออยากจะลองของ ถ้าทราบข่าวเดียวกัน ก็อาจจะใช้รูรั่วดังกล่าว เพื่อเข้าระบบโดยไม่ได้รับอนุญาตได้
ดังนั้นถ้าผู้ดูแลระบบไม่ได้ใส่ใจ ไม่ได้อัปเดตซอฟต์แวร์ ไม่ได้หมั่นตรวจตราระบบว่าการติดตั้งต่างๆ ยังรัดกุมอยู่ ก็ยิ่งมีโอกาสจะถูกเจาะได้ง่าย
(โน๊ต: ผมสนับสนุนหลักการ full disclosure นะครับ คือถ้าพบรูรั่วก็ต้องแจ้งให้ทราบ ไม่ใช่ปกปิดเอาไว้ ผมเชื่อว่าการเปิดเผยข้อปัญหา จะทำให้การแก้ปัญหาทำได้รวดเร็วกว่า และนำไปสู่ความปลอดภัยโดยรวมที่ดีกว่า)
แรงจูงใจ
เรื่องแบบนี้เกิดขึ้นบ่อย ไม่ว่าจะเป็นการเอาแบนเนอร์โฆษณาหรือลิงก์ไปยังเว็บที่อยากโปรโมต ไปแอบวางบนเว็บไซต์ต่างๆ ทั้งนี้เพราะมีแรงจูงใจทางเศรษฐกิจ
ส่วนใหญ่เป็นลิงก์ขายของประเภทหนังโป๊ ของเล่นผู้ใหญ่ การพนัน หรือยาเสริมสมรรถภาพทางเพศ (แต่ก็ไม่จำเป็นเสมอไปนะครับ) สินค้าเหล่านี้โฆษณาช่องทางปกติยาก คนจะเจอส่วนหนึ่งต้องใช้วิธีการค้นหาจากเสิร์ชเอนจิน
ดังนั้นจะทำยังไงให้คนค้นคำต่างๆ แล้วมาเจอเว็บของเขา ทำอย่างไรให้เว็บเขาขึ้นอันดับสูงๆ ในเสิร์ชเอนจินต่างๆ
วิธีหนึ่งคือ ให้มี “backlink” หรือ incoming link ให้เว็บอื่นทำลิงก์มาหาเว็บเขาเยอะๆ ทั้งนี้เพราะเสิร์ชเอนจินหลายตัว ใช้ backlink นี้ในการคำนวณ จัดอันดับ ว่าเว็บไซต์ไหนจะได้อยู่อันดับต้นๆ
เว็บใหญ่ๆ ที่มีคะแนน PageRank สูงๆ หรือเว็บของรัฐหรือองค์กรต่างๆ มักจะตกเป็นเป้าหมาย (go.th, .gov, .or.th, .edu) เพราะเสิร์ชเอนจินอย่างกูเกิล จะให้น้ำหนักว่า เว็บพวกนี้มีความน่าเชื่อถือ และคงไม่ลิงก์ไปไหนสุ่มสี่สุ่มห้า ลิงก์ที่อยู่ในเว็บพวกนี้ น่าจะได้รับการเลือกแล้ว คัดแล้ว ดังนั้นถ้าสามารถเอา backlink ไปวางไว้ในเว็บองค์กรเหล่านี้ได้ แล้วเชื่อมโยงมาเว็บไซต์ขายของที่ว่า ก็จะทำให้เว็บไซต์ขายของได้อันดับสูงขึ้น
จะแก้ไขอย่างไร ?
หลังจากนำลิงก์หรือแบนเนอร์ที่ไม่พึงประสงค์ออกไปหมดแล้ว การอัปเดตซอฟต์แวร์ก็อาจจะแก้ปัญหาทั้งหมดได้
แต่ก็ต้องระวังว่า อาจจะมี backdoor หรือ ประตูหลัง วางเอาไว้ในระบบในส่วนที่เราตรวจหาลำบาก เป็นช่องให้เจาะกลับมาอีกได้
หรือบางครั้ง หลงคิดว่าเอาลิงก์ออกหมดแล้ว แต่จริงๆ ไม่หมด อาจจะมีโปรแกรมเล็กๆ ฝังอยู่ในเซิร์ฟเวอร์ สร้างลิงก์พวกนั้นขึ้นมาใหม่ได้ เช่นอาจจะซ่อนอยู่ในโปรแกรมที่ถูกเรียกทำงานทุกครั้งเวลามีคนเข้าเยี่ยมชมเว็บไซต์ (อย่างไฟล์ header ของสคริปต์) แล้วโปรแกรมที่ว่าก็จะคอยเช็คว่า ลิงก์โฆษณายังอยู่ไหม ถ้าถูกลบไป ก็ให้สร้างใหม่ แบบนี้เหมือนฆ่าไม่ตาย จนกว่าเราจะหาโปรแกรมที่ว่านี้เจอและลบทิ้ง
(ที่แสบคือ โปรแกรมพวกนี้ซับซ้อนอยู่เหมือนกัน ที่เคยเจอคือ คนเขียนโปรแกรมเอาโค้ดทั้งหมด (เป็น PHP) ยัดลง string แล้วเข้ารหัสทั้งหมดเป็น base64 เก็บไว้ใน header ของ WordPress ซึ่งจะมีโค้ดเล็กๆ decode string ที่ว่ากลับมา แล้วจับเข้า eval() เพื่อรัน — พอเป็นแบบนี้แล้ว การจะใช้คีย์เวิร์ดเพื่อค้นหา string ของ url ที่เราคิดว่าเป็นปัญหา ก็เลยแทบเป็นไปไม่ได้ เพราะมันถูกเข้ารหัสไปแล้ว)
ทางที่ดีก็คือว่า พอรู้ว่าระบบถูกเจาะ ก็ต้องทำการตรวจสอบระบบทั้งหมด อย่าให้เหลือที่ที่น่าสงสัย จากนั้นก็ลงแพตซ์หรือตัวอัปเดตต่างๆ ให้ครบถ้วน และปิดบริการ ปิดพอร์ต ปิดช่องทางที่ไม่ได้ใช้งานทิ้งไป เพื่อให้เหลือช่องทางที่จะถูกเจาะได้น้อยลง
บางทีบนเซิร์ฟเวอร์ที่ให้บริการเว็บไซต์อันนึง มีบริการอื่นๆ อะไรไม่รู้เปิดอยู่อีกเป็นสิบๆ อย่าง ทั้งๆ ที่ไม่ได้ใช้ แบบนี้ก็เสี่ยง เหมือนยิ่งมีประตูเข้าบ้านเยอะ ก็ยิ่งเสี่ยง โอกาสที่กุญแจของประตูบานใดบานหนึ่งจะเสียมันก็มากขึ้นตามจำนวนประตู ก็ต้องปิดตายประตูพวกนี้ไปเลย อย่าปล่อยไว้เป็นความเสี่ยง
กรณีอย่างเว็บเซิร์ฟเวอร์นี่ หลายครั้งถูกเจาะผ่านทาง FTP — FTP เป็นซอฟต์แวร์ตัวหนึ่งที่ใช้ในการรับส่งไฟล์เข้าเซิร์ฟเวอร์ แต่มันออกแบบมานานมากแล้ว รุ่นแรกนี่เกิน 40 ปี ระบบความปลอดภัยก็ไม่ได้ทันสมัย ไม่มีการเข้ารหัส รหัสผ่านก็ถูกดักฟังง่าย เว็บโฮสต์เดี๋ยวนี้หลายที่เลยจะไม่ยอมเปิดให้ใช้ FTP แล้ว ตัดปัญหา (ไล่ให้ไปใช้ SCP หรือ SFTP แทน ซึ่งปลอดภัยกว่า)
ได้ข่าวว่ากระทรวงจะจัดซื้อเซิร์ฟเวอร์ใหม่เพื่อแก้ปัญหา ก็ต้องย้ำว่า การเปลี่ยนอุปกรณ์หรือซอฟต์แวร์ใหม่หมด อาจจะทำได้เร็ว และเหมือนแก้ปัญหาได้ทันที แต่จริงๆ ถ้าผู้ดูแลระบบยังคงไม่ใส่ใจดูแลปรับปรุงซอฟต์แวร์ให้ใหม่อยู่เสมอ ไม่ขยันติดตามข่าวสารเพื่ออุดช่องว่างของระบบอย่างต่อเนื่อง ก็อาจจะกลับมาโดนเจาะได้อีกอยู่ดี
เป็นการแฮ็ก ?
มันก็เป็นไปได้ว่า ไม่ใช่การแฮ็กที่เซิร์ฟเวอร์ ไม่ใช่การเจาะเข้าที่ไปเซิร์ฟเวอร์ แล้วเอาลิงก์เหล่านี้ไปวาง
แต่ลิงก์เหล่านี้ถูกวางในเครื่องของคนออกแบบเว็บ คนเขียนโปรแกรมเว็บ โดยใครหรือโปรแกรมอะไรสักอย่าง แล้วก็เป็นนักออกแบบหรือโปรแกรมเมอร์ที่มีสิทธิเข้าถึง(บางส่วนของ)เซิร์ฟเวอร์ได้เป็นปกตินี่แหละ เป็นคนเอาเข้าไปที่เซิร์ฟเวอร์เอง ไม่ได้มีการเจาะอะไรทั้งนั้น
คือเครื่องของคนออกแบบเว็บ อาจจะติดมัลแวร์หรือไวรัส แล้วเจ้ามัลแวร์นี่มันฉลาด สแกนเครื่อง หาว่ามีไฟล์อะไรหน้าตาเป็น .html .php ซึ่งเป็นประเภทไฟล์ที่คนนิยมใช้ทำเว็บ
พอมันก็เจอไฟล์พวกนี้ ก็จะแทรกลิงก์โฆษณานี้ลงไปในไฟล์ พอนักออกแบบเว็บ อัปโหลดไฟล์พวกนี้เข้าเซิร์ฟเวอร์ ลิงก์มันก็ติดไปด้วย
ถ้าเป็นแบบนี้ จริงๆ ตัวเว็บเซิร์ฟเวอร์ไม่ได้ถูกเจาะ ไม่ได้ถูกแฮ็ก แต่เป็นความประมาเลินเล่อของนักออกแบบ นักพัฒนาเว็บเอง ที่ปล่อยให้เครื่องตัวเองไม่สะอาด
ก็เลยมีโอกาสเป็นได้ทั้งสองอย่าง
1) เป็นการแฮ็ก (โดยคน หรือโดยโปรแกรมอัตโนมัติที่คอยสแกนหารูรั่ว)
2) ไม่ได้เป็นการแฮ็ก (แต่เครื่องนักออกแบบเว็บติดมัลแวร์)
หรือจะเป็นการจงใจเอาไปวางเองเลย ?
ก็เป็นไปได้ อย่างที่บอก มันมีแรงจูงใจทางเศรษฐกิจ คนทำก็อาจจะคิดว่าไม่มีใครมาตรวจสอบหรอก
พูดถึง backlink แล้วก็มีเรื่องน่าสนใจคือ บางทีจะเห็นบริษัทเอกชนเสนอตัวทำเว็บให้กับหน่วยงานรัฐฟรีๆ พอทำเสร็จ ก็จะทำแบนเนอร์ ทำลิงก์ โยงกลับไปเว็บตัวเอง ก็เป็นวิธีดันอันดับในเสิร์ชเอนจินตัวเองได้ด้วย
ข้อเสนอเพื่อการปรับปรุงความปลอดภัย ที่ไม่ใช่เรื่องซอฟต์แวร์และฮาร์ดแวร์
ข้อเสนอหนึ่งของผมคือ นอกจากผู้เจาะระบบ จะมีโทษทางอาญาตามพ.ร.บ.คอมพิวเตอร์แล้ว
ในกรณีนี้ ผู้ดูแลระบบ ซึ่งเป็นพนักงานของรัฐหรือข้าราชการ ก็ควรจะมีโทษทางวินัยด้วย ถ้าสามารถพิสูจน์ได้ว่าปล่อยปละละเลย เป็นกรณีสามารถป้องกันได้และอยู่ในอำนาจหน้าที่ แต่ไม่ยอมป้องกัน
คือในฐานะเจ้าหน้าที่รัฐซึ่งมีหน้าที่ มันไม่ใช่แค่ว่า ทำอะไร แล้วถึงจะผิดได้ มันมีเรื่องที่ ถ้าไม่ทำ ละเลย แล้วก็มีความผิดได้ด้วย เพราะมันอาจเกี่ยวกับความเสียหายของสาธารณะของประชาชนได้ เช่นข้อมูลส่วนบุคคลของประชาชนที่อยู่ในเซิร์ฟเวอร์เดียวกัน (ซึ่งโดยหลักการก็ควรจะแยกเก็บต่างหากอะนะ) เกิดรั่วไหล
แบบนี้ถ้ามีความเสียหายเกิดขึ้น ก็ต้องมีคนรับผิดชอบ ทั้งระดับตัวบุคคลและระดับหน่วยงาน
สำหรับผู้ดูแลระบบเอกชน อันนี้ก็แล้วแต่นโยบายบริษัท อาจจะถูกประเมินเป็นต้น
มันต้องมีมาตรการอะไรแบบนี้ด้วย ไม่ใช่ว่าคนผิดคือเฉพาะคนเจาะ เหมือนเราจ้างบริษัทรักษาความปลอดภัยมาเฝ้าบ้าน ถ้าเขาเอากุญแจล็อกห่วยๆ มาล็อกบ้านให้เรา หรือยามดันหลับ กล้องวงจรปิดก็ดันใช้งานไม่ได้ ฯลฯ เราควรจะเรียกร้องค่าเสียหายกับบริษัทรักษาความปลอดภัยได้ด้วย เขาต้องมีความรับผิดในบางระดับ ไม่งั้นจะจ้างมาทำไม ถ้าไม่ต้องรับผิดอะไรเลย
ทำแบบนี้เพื่อสร้างแรงจูงใจ ให้ต้อง take best efforts ทำให้ดีที่สุดสำหรับงานในหน้าที่
ปีที่แล้วเพิ่งมีกรณีที่ธนาคารแห่งหนึ่งในสหรัฐ ตกลงจ่ายเงินยอมความ หลังถูกลูกค้าฟ้องว่าระบบรักษาความปลอดภัยของธนาคารนั้นไม่ได้เรื่อง “ต่ำกว่ามาตรฐานในธุรกิจเดียวกัน” และเป็นเหตุให้ลูกค้าต้องเสียเงินในบัญชี
อัปเดตคืนวันที่ 24 ม.ค. 2556: ล่าสุดคณะกรรมการข้อมูลข่าวสารของสหราชอาณาจักร สั่งปรับบริษัทโซนี่ 250,000 ปอนด์ หรือเกือบ 11.8 ล้านบาท (ค่าปรับสูงสุดตามกฎหมายคือ 500,000 ปอนด์) เพื่อลงโทษที่โซนี่ไม่มีระบบรักษาความปลอดภัยที่ดีพอ จนทำให้เซิร์ฟเวอร์ถูกเจาะ ข้อมูลส่วนตัวและรหัสผ่านของลูกค้าที่เป็นสมาชิกเครือข่ายเกมออนไลน์กว่าล้านรายถูกขโมย
ในการให้การต่อศาล อาจารย์มหาวิทยาลัยผู้เชี่ยวชาญด้านความมั่นคงของระบบคอมพิวเตอร์รายหนึ่ง ให้การว่าซอฟต์แวร์เว็บเซิร์ฟเวอร์ที่โซนี่ใช้กับเครือข่ายเกมดังกล่าวนั้นไม่ได้ติดตั้งแพตช์ (ตัวปรับปรุงซอฟต์แวร์เพื่อแก้ไขปัญหา) อีกทั้งระบบยังไม่ได้ติดตั้งไฟร์วอลล์เพื่อป้องกันการโจมตีอีกด้วย
ที่แย่กว่านั้นคือ มีคนพูดเรื่องนี้ในเว็บบอร์ดสาธารณะแห่งหนึ่ง ที่พนักงานของโซนี่ก็คอยติดตามอยู่ ซึ่งแปลว่ามีคนของโซนี่รู้ปัญหา แต่ไม่ได้ดำเนินการแก้ไขป้องกันให้เหมาะสม
ผู้อำนวยการด้านการคุ้มครองข้อมูล ในคณะกรรมการข้อมูลข่าวสารฯ กล่าวว่า “ถ้าคุณรับผิดชอบรายละเอียดของบัตรจ่ายเงินและรายละเอียดสำหรับการเข้าสู่ระบบจำนวนมากมาย การรักษาความปลอดภัยให้กับข้อมูลบุคคลจำเป็นจะต้องเป็นสิ่งที่ได้รับความสนใจก่อนสิ่งอื่นๆ” (If you are responsible for so many payment card details and log-in details then keeping that personal data secure has to be your priority.)
กฎหมาย Data Protection Act ของสหราชอาณาจักร ระบุว่าผู้ดูแลข้อมูลมีหน้าที่รักษาข้อมูลให้ปลอดภัย ต้องมีการตรวจสอบระบบ (audit) และประเมินความเสี่ยง นอกจากนี้ต้องมีมาตรการรับมือเร่งด่วนหากพบว่ามีการรั่วไหลของข้อมูล ดังได้ประกาศไว้ในหลักการข้อที่ 7 ของการคุ้มครองข้อมูล
(ใครสนใจกฎหมายฉบับนี้ ลองดูรายงานการศึกษาโดย พงศ์ศักดิ์ ยอดมณี ที่เสนอต่อคณะกรรมการพัฒนากฎหมาย สำนักงานคณะกรรมการกฤษฎีกา)
แปลว่าจะเอาผู้ดูแลระบบไปเข้าคุก ?
ไม่ใช่ครับ
คือมันมี 2 เรื่อง
1) กรณีไหนที่ต้องรับผิดมั่ง กรณีไหนยกเว้นได้
2) ถ้าต้องรับผิดมีโทษ ควรเป็นโทษทางอาญา ทางแพ่ง ทางวินัย ทางสัญญาจ้าง ทางไหนมั่ง
ผมชอบเทียบกับการสร้างตึก ถ้าวิศวกรออกแบบมาดีหมดทุกอย่างแล้ว จะสร้างที่กรุงเทพนะ ย้อนหลังไป 30 ปี ไม่เคยมีประวัติแผ่นดินไหวเกิน 6 ริกเตอร์ สมมติ เขาก็ออกแบบไว้เผื่อตามหลักวิชาการเท่าที่จำเป็น ปรากฏวันดีคืนดี แผ่นดินไหวกรุงเทพ 8 ริกเตอร์ว่ะ พังหมด เขาก็ไม่น่าจะต้องรับผิดชอบ คือได้ทำดีที่สุดในเงื่อนไขที่คาดการณ์ล่วงหน้าได้ตามวิสัยมนุษย์ ตามหลักวิชาแล้ว
แต่ถ้าตรวจสอบแล้วพบว่าจริงๆ มันพังเพราะออกแบบไม่ดี อันนี้ก็ต้องรับผิด
กลับมากรณีเว็บเซิร์ฟเวอร์ ถ้าพิสูจน์ได้ว่า ลงแพตช์มันหมดแล้วเท่าที่ทำได้ พอร์ตต่างๆ ที่ไม่ได้ใช้ก็ปิดแล้ว ทำดีที่สุดแล้ว ถ้ายังโดนเจาะอยู่ ก็ถือว่าสุดวิสัยไหม ไม่ต้องรับผิด
แต่ถ้าพบว่า เออ ปล่อยปละละเลยจริง ซกมกมากในเซิร์ฟเวอร์ ก็ควรจะต้องรับผิดอะไรหน่อยไหม — ไม่ใช่ในทางอาญา แต่เป็นทางวินัยหรืออะไรที่เทียบเคียงได้ แบบที่เสนอไปก่อนหน้า
กฎหมายที่เกี่ยวกับคอมพิวเตอร์มันต้องมาทำงานเรื่องนี้ครับ เป็นอาชญากรรมคอมพิวเตอร์จริงๆ เป็นการคุ้มครองข้อมูลจริงๆ เป็นความปลอดภัยความมั่นคงของประชาชนของสาธารณะจริงๆ ไม่ใช่ทำแต่เรื่องหมิ่นกษัตริย์ หรืออ้าง “ความมั่นคงของชาติ” ลอยๆ เอาจุดประสงค์นั้นมาปนกับกฎหมายอาชญากรรมคอมพิวเตอร์ จนกฎหมายมันออกมาพิกลพิการ ถูก abuse เอาไปใช้เล่นงานศัตรูทางการเมือง ที่แย่ก็คือ กิจกรรมที่ว่ามาทั้งหมดกินทรัพยากรไปจากที่ควรจะเอามาปราบปรามอาชญากรรมคอมพิวเตอร์และปกป้องผู้ใช้คอมพิวเตอร์จริงๆ
(รวบรวมจากที่ตอบนักข่าวจากไทยพีบีเอสและเนชั่นทางเฟซบุ๊กและอีเมล กับที่คุยกับ @mormmam @warong และชวนคุยในกรุ๊ป thainetizen บนเฟซบุ๊ก)
—-
สนใจติดตามข่าวสารทำนองนี้ เชิญได้ที่เฟซบุ๊ก ทวิตเตอร์ ฯลฯ ของเครือข่ายพลเมืองเน็ตครับ 🙂
เฟซบุ๊กเพจ https://www.facebook.com/thainetizen
เฟซบุ๊กกรุ๊ป https://www.facebook.com/groups/thainetizen
ทวิตเตอร์ https://twitter.com/thainetizen
เว็บไซต์ https://thainetizen.org