พบแอปประกันสังคม 'my SSO' ออกแบบผิดพลาด ข้อมูลอยู่ในความเสี่ยง

Thai Netizen Network เผยพบแอปประกันสังคม “my SSO” ออกแบบผิดพลาด ไม่มีการยืนยันตัวตนในขั้นตอนลงทะเบียนและขั้นตอนเรียกข้อมูลเงินประกันสังคม ข้อมูลผู้ประกันตน 14 ล้านคนตกอยู่ในความเสี่ยง
 
 
4 ธ.ค. 2559 Thai Netizen Network รายงานว่า ตั้งแต่ค่ำวันที่ 2 ธ.ค. 2559 ผู้พัฒนาซอฟต์แวร์และนักความมั่นคงปลอดภัยของระบบสารสนเทศหลายรายในเน็ต แชร์ความเห็นและการวิเคราะห์ข้อผิดพลาดของแอปพลิเคชันบริการประกันสังคม ที่ไม่มีมาตรการป้องกันการเรียกข้อมูลโดยผู้ที่ไม่มีสิทธิเข้าถึงข้อมูล
 
โดยเพจ “สอนแฮกเว็บแบบแมวๆ” และบล็อก Somkiat.cc เปิดเผยว่า
 
1) แอปดังกล่าวจะติดต่อกับเซิร์ฟเวอร์แห่งหนึ่งในลักษณะ Web API ซึ่งไม่ได้มีการป้องกันอย่างที่ควร
 
2) การลงทะเบียนบริการใช้เพียงเลขประจำตัวประชาชน ถ้ามีใครรู้เลขประจำตัวประชาชนของคนอื่น ก็สามารถเอาไปลงทะเบียนได้ทันที เนื่องจากไม่มีการยืนยันตัวตนใดๆ
 
3) เมื่อลงทะเบียนแล้ว จะได้เลขประจำตัวผู้ใช้งาน (userId) มาหนึ่งตัว ซึ่งพบว่าเป็นเลข 6 หลัก มีรูปแบบ 10xxxx โดย xxxx เป็นเลข 0000-9999 (เข้าใจว่ายังมีผู้ลงทะเบียนไม่ถึงหนึ่งหมื่นคน)
 
4) หากต้องการเรียกข้อมูลส่วนบุคคลของผู้ใช้รายใดก็ตาม ก็เพียงส่ง userId ไปที่เซิร์ฟเวอร์ ก็จะได้ข้อมูลส่วนบุคคลทั้งหมดมา [ถ้าบุคคลนั้นยังไม่มี userId ก็สร้างเองได้ ด้วยวิธีในข้อ (2)]
 
5) หากต้องการเรียกข้อมูลเงินประกันสังคมของผู้ใช้ จะต้องใช้ข้อมูล 2 อย่างประกอบกัน คือ เลขประจำตัวประชาชน (ssoNum) และ เลขประจำตัวผู้ใช้งาน (userId)
 
6) ปัญหาคือ เลขประจำตัวประชาชนนั้น สามารถหามาได้ไม่ยาก (หรือกระทั่งเดาสุ่มขึ้นมาก็ได้ หากรู้รูปแบบเลข 13 หลัก แล้วลองไปเรื่อยๆ) และเลข userId ซึ่งมีเพียงไม่ถึงหนึ่งหมื่นรูปแบบ ก็สามารถใช้โปรแกรมสุ่มเลขขึ้นมาได้อย่างรวดเร็ว (หรือถ้าไม่เจอ ก็ใช้เลขประจำตัวประชาชนสมัครเพื่อรับเลข userId ได้เลย) - ทำให้ใครก็ตามที่รู้ลิงก์ของเซิร์ฟเวอร์และมีความสามารถในการสุ่มเลข ก็สามารถดูข้อมูลของคนทุกคนในระบบได้ 
 
ข้อมูลจาก Google Play Store ระบุว่า แอปดังกล่าวอัปเดตรุ่นล่าสุด 1.1.2 เมื่อวันที่ 8 ส.ค. 2559 และให้บริการโดย CAT Telecom Public Co., Ltd. (กสท โทรคมนาคม) โดยมีผู้ติดตั้งแอปไปแล้วประมาณ 5 แสนถึง 1 ล้านเครื่อง (แต่คนที่ติดตั้งอาจจะยังไม่ได้ลงทะเบียนใช้งาน) https://play.google.com/store/apps/details?id=com.ionicframework.mySSO131977
 
ล่าสุดในช่วงบ่ายของวันที่ 3 ธ.ค. 2559 พบว่าทีมงานผู้พัฒนาได้ปิดระบบแล้ว และได้แจ้งไปยังเพจและบล็อกต่างๆ ว่ากำลังแก้ไขข้อผิดพลาดอยู่ (รวมทั้งขอให้ลบโพสต์ที่รายงานเกี่ยวกับปัญหา ซึ่งบางเพจก็ลบ บางเพจตัดสินใจไม่ลบด้วยเหตุผลว่าเพื่อประโยชน์ของสาธารณะ) http://www.somkiat.cc/review-security-issue-of-my-sso-app/ https://www.facebook.com/longhackz/photos/a.1560357644219017.1073741828.1559669844287797/1768143033440476/ https://www.facebook.com/LookHin/posts/10154676435246067
 
ปัญหาความผิดพลาดหรือไม่ใส่ใจความปลอดภัยของการเก็บรักษาข้อมูลส่วนบุคคลในแอปภาครัฐ ยังคงเป็นปัญหาที่ดูจะรอเวลาให้ค้นพบปัญหาใหม่ ๆ กรณีใหม่ ๆ อย่างต่อเนื่อง
 
- เมื่อเดือนมกราคมปี 2559 นี้ มีการค้นพบว่า แอป “ดาวเหนือ” ที่พัฒนาโดยคณะกรรมการการเลือกตั้ง (กกต.) เพื่อให้ผู้มีสิทธิ์เลือกตั้งสามารถหาหน่วยเลือกตั้งได้นั้น เข้าถึงข้อมูลส่วนบุคคลของผู้มีสิทธิเลือกตั้งมากกว่าที่จำเป็นและมากกว่าที่ตัวแอปได้แจ้งไว้ นอกจากนี้การรับส่งข้อมูลกับเซิร์ฟเวอร์ ก็ทำโดยไม่มีการเข้ารหัสลับ ทำให้สามารถถูกดักระหว่างทางได้ และที่เหมือนกับแอป my SSO ก็คือ ไม่มีการยืนยันตัวตนก่อนเข้าถึงข้อมูลส่วนบุคคล ทำให้ใครก็ตามที่ทราบเลขประจำตัวประชาชน ก็สามารถเข้าถึงข้อมูลสำคัญอย่างที่อยู่ตามทะเบียนบ้านจากเซิร์ฟเวอร์ได้ทันที http://droidsans.com/found-vulnerability-in-north-star-app https://www.blognone.com/node/77010
 
- จากนั้นอีกสองเดือนถัดมา ในเดือนมีนาคม 2559 ก็พบกรณี 2 กรณีต่อเนื่องกัน เกี่ยวกับการเปิดเผยข้อมูลส่วนบุคคลที่ไม่ควรเปิดเผยจากฐานข้อมูลอิเล็กทรอนิกส์ภาครัฐ โดยพบว่า สำนักงานตรวจคนเข้าเมือง สำนักงานตำรวจแห่งชาติ จังหวัดนครศรีธรรมราช และกรมควบคุมโรคติดต่อ กระทรวงสาธารณสุข เผยแพร่ข้อมูลของชาวต่างชาติที่พำนักในประเทศไทยและผู้เดินทางข้ามแดนในเว็บไซต์สาธารณะ โดยไม่มีระบบยืนยันสิทธิ์ของผู้ใช้งานระบบ ทำให้คนทั่วไปที่ทราบลิงก์สามารถเปิดดูข้อมูลได้ทั้งหมด ข้อมูลส่วนบุคคลดังกล่าวเช่น ชื่อ สกุล เลขหนังสือเดินทาง สัญชาติ เพศ ที่อยู่ในประเทศไทย และในกรณีของเว็บไซต์กรมควบคุมโรคติดต่อยังมีข้อมูลการเดินทาง (รายชื่อประเทศที่เดินทางไปในสองสัปดาห์ที่ผ่านมา เลขเที่ยวบิน ฯลฯ) ข้อมูลการสื่อสาร (หมายเลขโทรศัพท์ อีเมล) และข้อมูลอ่อนไหวอย่างข้อมูลทางการแพทย์ (วันที่ฉีดวัคซีน) http://bit.ly/2fY5ZRW http://bit.ly/1qbCUb9
 
- ต่อมาถึงกลางปี ในเดือนพฤษภาคม 2559 พบว่าเว็บไซต์สำนักงานเขต กรุงเทพมหานคร เผยแพร่เอกสารผู้มีสิทธิรับเบี้ยผู้สูงอายุ ซึ่งในเอกสาร PDF ที่เปิดให้ทุกคนดาวน์โหลดได้ดังกล่าว มีทั้งข้อมูลเลขประจำตัวประชาชนของผู้มีสิทธิ ชื่อ-สกุลของผู้มีสิทธิ วัน/เดือน/ปีเกิด อายุ เลขประจำตัวประชาชนของผู้รับมอบ ชื่อ-สกุลของผู้รับมอบ (เจ้าของบัญชี) ชื่อธนาคาร เลขบัญชี และสาขาธนาคาร ซึ่งแม้ว่าข้อมูลเหล่านี้จะเป็นข้อมูลจำเป็นในการติดต่อรับเบี้ย แต่ก็เป็นข้อมูลที่ไม่เหมาะสมที่คนที่ไม่เกี่ยวข้องจะเข้าถึงได้เช่นนี้ http://bit.ly/2gAEe5Q
 
ไม่จบแค่ปี 2559 แน่
 
อนึ่ง ทางคณะกรรมการกิจการกระจายเสียง กิจการโทรทัศน์ และกิจการโทรคมนาคมแห่งชาติ (กสทช.) กำลังพัฒนาระบบฐานข้อมูลเพื่อเก็บลายนิ้วมือของผู้ใช้งานโทรศัพท์มือถือ และจะบังคับให้ผู้ให้บริการโทรศัพท์มือถือทุกรายเก็บลายนิ้วมือถือของลูกค้า โดยระบบดังกล่าวจะเก็บข้อมูลลายนิ้วมือทั้งหมดไว้ที่เซิร์ฟเวอร์กลางของกสทช. และจะพร้อมใช้งานในเดือนกุมภาพันธ์ที่จะถึงนี้ (ปี 2560) https://www.blognone.com/node/87650
 
ส่วนคณะกรรมการการเลือกตั้งก็กำลังเสนอแผนให้ใช้ระบบการเลือกตั้งอิเล็กทรอนิกส์ (e-voting) ในการเลือกตั้งทั่วไปครั้งต่อไป โดยบริษัท วิทยุการบินแห่งประเทศไทย จำกัด จะเป็นผู้ผลิตเครื่องลงคะแนนอิเล็กทรอนิกส์สำหรับการเลือกตั้งทุกระดับ อย่างก็ตามที่ผ่านมาทางกกต.ยังไม่เคยมีการเผยแพร่ขั้นตอนหรือมาตรฐานที่ใช้ในการทดสอบระบบลงคะแนนเลย http://thediplomat.com/2016/10/a-serious-concern-over-the-first-use-of-e-voting-in-thailand/
 
และล่าสุด ยังมีศูนย์ที่กระทรวงดิจิทัลจะต้องตามร่างพ.ร.บ.คอมพิวเตอร์ฉบับใหม่ ที่จะให้เชื่อมโยงกับผู้ให้บริการอินเทอร์เน็ต เพื่อให้เจ้าหน้าที่รัฐสามารถระงับการเข้าถึงและลบข้อมูลในฝั่งผู้ให้บริการอินเทอร์เน็ต และระบบดังกล่าวจะมีการเก็บข้อมูลการจราจรทางคอมพิวเตอร์ 5 ปี ซึ่งก็ต้องรอดูว่าใครจะมาเป็นผู้พัฒนาและดูแลระบบดังกล่าว และจะมีมาตรการป้องกันข้อมูลอย่างไร http://thematter.co/byte/statemachine/12812
 
ความจำเป็นของการเก็บข้อมูล และกลไกกำกับการใช้ข้อมูลที่ยังขาดอยู่
 
แน่นอนว่า จากประวัติที่ผ่านมาของการพัฒนาระบบสารสนเทศภาครัฐ ย่อมมีคำถามตามมามากมาย ทั้งคำถามถึงการป้องกันข้อมูลและความปลอดภัยของระบบใหม่ๆ ที่รัฐจะบังคับใช้กับข้อมูลส่วนบุคคลของเรา ว่าจะมั่นใจได้มากน้อยแค่ไหน ใครจะมาเป็นคนช่วยตรวจสอบ หรือคำถามที่ว่าระบบบางระบบมีความจำเป็นเพียงใด รัฐสามารถบรรลุจุดประสงค์ที่ต้องการได้โดยการใช้วิธีอื่นหรือไม่ โดยที่ไม่ต้องดึงข้อมูลที่ไม่จำเป็นไปเก็บรวมไว้ในที่เดียวกันให้เกิดความเสี่ยง หรือกระทั่งงานบางอย่างเป็นงานที่รัฐควรเข้ามาทำเอง หรือควรเป็นเรื่องของอุตสาหกรรมและผู้บริโภคที่จะจัดการกันเองโดยมีภาครัฐเป็นผู้อำนวยการหรือผู้กำกับดูแลเท่านั้น
 
สุดท้ายก็คือ หน่วยงานที่จะมาคุ้มครองข้อมูลส่วนบุคคล กำหนดมาตรฐาน และลงโทษคนที่ไม่ดูแลข้อมูลของพวกเราให้ดี ซึ่งจะตั้งตามร่างพ.ร.บ.คุ้มครองข้อมูลส่วนบุคคล นั้นจะทำงานได้แค่ไหน เพราะในร่างกฎหมายปัจจุบัน คณะกรรมการคุ้มครองข้อมูลส่วนบุคคลยังเป็นคณะกรรมการภายใต้โครงสร้างของรัฐบาล ไม่ได้มีโครงสร้างอำนาจเป็นอิสระจากรัฐบาลแบบกสทช.หรือคณะกรรมการสิทธิมนุษยชนแห่งชาติ ดังนั้นหากเกิดกรณีภาครัฐละเมิดข้อมูลส่วนบุคคลของประชาชน ก็อาจเกิดปัญหาในการตรวจสอบอำนาจรัฐบาลได้ (คณะรัฐมนตรีเป็นผู้แต่งตั้งและถอดถอนประธานคณะกรรมการ และกรรมการโดยตำแหน่งกว่าครึ่งมาจากภาครัฐ) http://bit.ly/2gAKDxS https://bact.cc/2016/designing-committee-in-thai-law/
 
* ข้อมูลจำนวนผู้ประกันตนจากสำนักงานประกันสังคม http://www.sso.go.th/wpr/category.jsp?lang=th&cat=800