fbpx
News

“ดาวเหนือ” แอพนำทางไปคูหาเลือกตั้งจาก กกต. กับปัญหาความปลอดภัยของข้อมูลประชาชน

นับเป็นเรื่อง talk of the town ในวงการ IT ของบ้านเรา เมื่อแอพ “ดาวเหนือ” ของ กกต. ที่ถูกสร้างขึ้นมาใช้นำทางประชาชนไปยังคูหาเลือกตั้ง และตรวจสอบรายชื่อผู้มีสิทธิเลือกตั้ง มีความบกพร่องในเรื่องของการปกป้องข้อมูลที่ควรจะเป็นความลับ ทำให้ใครก็ตามที่มีความสามารถทางด้าน IT ซักเล็กน้อยก็สามารถค้นหาข้อมูลและที่อยู่ของใครก็ได้ผ่านการสุ่มหมายเลขบัตรประชาชนทันที

นับเป็นเรื่อง talk of the town ในวงการ IT ของบ้านเรา เมื่อแอพ “ดาวเหนือ” ของ กกต. ที่ถูกสร้างขึ้นมาใช้นำทางประชาชนไปยังคูหาเลือกตั้ง และตรวจสอบรายชื่อผู้มีสิทธิเลือกตั้ง มีความบกพร่องในเรื่องของการปกป้องข้อมูลที่ควรจะเป็นความลับ ทำให้ใครก็ตามที่มีความสามารถทางด้าน IT ซักเล็กน้อยก็สามารถค้นหาข้อมูลและที่อยู่ของใครก็ได้ผ่านการสุ่มหมายเลขบัตรประชาชนทันที

 รู้จักกับ “ดาวเหนือ”

แอพดาวเหนือ ถูกสร้างขึ้นมาโดยบริษัท Pheonec Co.,Ltd. ซึ่งน่าจะถูกว่าจ้างโดย กกต. (สำนักงานคณะกรรมการการเลือกตั้ง) ให้ทำขึ้นมา โดยใช้เวลาในการพัฒนาราว 1 ปี และงบประมาณราว 150,000 บาท (ข้อมูลจากเดลินิวส์จริงๆเขียน 1.5 แสนล้านบาท ซึ่งไม่น่าจะใช่) สามารถให้ผู้ใช้กรอกข้อมูลเลขบัตรประชาชนลงไป 13 หลัก แล้วตัวแอพจะแจ้งข้อมูลที่เกี่ยวกับการเลือกตั้งของผู้ใช้ ทั้งหน่วยเลือกตั้ง ที่ตั้งหน่วย ลำดับการใช้สิทธิ์ และแผนที่นำทางไปยังหน่วยเลือกตั้งนั่นเอง

 

จะมีทำไมในเมื่อเลือกตั้งยังไม่รู้จะมีเมื่อไหร่?

อย่าเพิ่งเข้าใจผิดว่าการใช้สิทธิ์เลือกตั้งนั้นต้องมีแต่การเลือก ส.ส. แต่ว่ายังมีการเลือกตั้งใช้สิทธิ์อื่นๆด้วย ซึ่งตัวที่กำลังจะจัดขึ้นเร็วๆ นี้ได้แต่การออกเสียงประชามติร่างรัฐธรรมนูญที่จะมีขึ้นช่วงปลายเดือน ก.ค. นี้

ฟังดูดีอยากโหลดเลยล่ะสิ อ่ะขอเชิญจิ้มไปโหลดมาลองกันได้

 

ค้นหาข้อมูลตามเลขบัตรประชาชน ความสามารถเดียว แต่ภัยมหันต์

Tips: เลขบัตรประจำตัว 13 หลักของเรานั้น แต่ละหลักมีความหมายนะ มีที่มาที่ไปนะ ขอเข้าไปอ่าน ข้อกำหนดหมายเลขบัตรประชาชน กันได้

อย่างที่บอกไปข้างต้นว่า “ใครก็ตามที่มีความสามารถทางด้าน IT ซักเล็กน้อยก็สามารถค้นหาข้อมูลและที่อยู่ของใครก็ได้ผ่านการสุ่มหมายเลขบัตรประชาชน” โดยคำจำกัดความของ ใครก็ตามที่มีความรู้ด้าน IT ซักเล็กน้อย (สำหรับผม) อาจจะเป็นเพียงแค่กลุ่มผู้ใช้แอนดรอยด์สายฮาร์ดคอ (super user) ที่มีความรู้ความสามารถในการ root เครื่องแอนดรอยด์ผ่านคำสั่ง command line ได้ แค่ลองค้นหาข้อมูลเพิ่มเติมนิดหน่อยก็สามารถแอบเข้าไปล้วงลึกเพื่อหาวิธีดึงข้อมูลส่วนตัวจากแอพ “ดาวเหนือ” ในระบบ “แอนดรอยด์” ได้แล้ว

วิธีการเจาะข้อมูล

ที่เน้นย้ำว่าในระบบ “แอนดรอยด์” เป็นเพราะวิธีการหาช่องโหว่บนแอพดาวเหนือนั้น สามารถทำได้ง่ายผ่านแอพในระบบแอนดรอยด์ ส่วนแอพในระบบ iOS นั้นก็สามารถทำได้เช่นกันแต่อาจจะยากกว่าในระบบแอนดรอยด์อยู่หลายขั้น ส่วนวิธีการนั้นสามารถทำได้โดยใช้กระบวนการวิศวะกรรมย้อนกลับ (decompile) ที่จะแปลงตัวไฟล์ติดตั้งในระบบแอนดรอยด์ (apk) ย้อนกลับไปเป็นรหัสต้นฉบับ ทำให้คุณปฏิญญาผู้ที่พบช่องโหว่ สามารถเข้าไปดูวิธีการดึงข้อมูลที่ทางแอพดาวเหนือเอามาแสดงในหน้าแอพได้ผ่านรหัสต้นฉบับ

 

ยกตัวอย่างโค๊ดจากแอพดาวเหนือที่จะเห็นได้ว่าเนื้อโค๊ดค่อนข้างสมบูรณ์มาก (แต่เนื้อโค๊ดในภาพตัวอย่างนี้ยกส่วนที่เป็นโค๊ดธรรมดาๆมาให้ดูเท่านั้น)

 

ส่วนการดึงข้อมูลของประชาชนออกมาแสดงในแอพดาวเหนือนั้น ทางแอพดึงข้อมูลผ่านระบบเว็บเซอร์วิสที่ตั้งอยู่บนเว็บของกรมการปกครอง โดยเว็บเซอร์วิสที่ว่านี้เป็นการถ่ายโอนข้อมูลผ่านโปรโตคอล http แบบไม่มีการเข้ารหัสเพื่อปกป้องความลับของข้อมูลที่รับส่งและไม่มีระบบการตรวจสอบสิทธิการเรียกใช้เว็บเซอร์วิส ทำให้ใครก็ตามที่มี url ของระบบเว็บเซอร์วิสนี้ ก็สามารถเรียกใช้ได้โดยแค่สุ่มตัวเลขของหมายเลขบัตรประชาชนในฐานข้อมูลถูก ก็สามารถดึงข้อมูลชื่อและที่อยู่ได้แล้ว

วิธีการแก้ไขของผู้พัฒนาแอพ

หลังจากที่คุณปฏิญญาได้เผยแพร่ปัญหาออกไป ทางผู้พัฒนาแอพได้ทำการตัดตอนแอพดาวเหนือโดยการอัพเดตแอพเวอร์ชัน 5.0 ทำให้เกิด force close เมื่อเปิดใช้งาน เพื่อป้องกันไม่ให้ผู้ที่โหลดแอพไม่สามารถใช้งานได้ชั่วคราวเพื่อเป็นการซื้อเวลาในการแก้ไขปัญหา :stare:

หลังจากที่แก้ปัญหาได้เสร็จแล้วทางผู้พัฒนาได้อัพเดตแอพเป็นเวอร์ชัน 6.0 ทำให้แอพสามารถกลับมาใช้งานได้เหมือนเดิม โดยสิ่งที่แก้เพิ่มเติมในแอพคือ การใส่คำเตือนไปถึงผู้ที่ชี้ถึงช่องโหว่….

[quote=มาตรา6]ผู้ใดล่วงรู้มาตรการป้องกันการเข้าถึงระบบคอมพิวเตอร์ที่ผู้อื่นจัดทำขึ้นเป็นการเฉพาะถ้านำมาตรการดังกล่าวไปเปิดเผยโดยมิชอบ ในประการที่น่าจะเกิดความเสียหายแก่ผู้อื่น ต้องระวางโทษจำคุกไม่เกินหนึ่งปี หรือปรับไม่เกินสองหมื่นบาทหรือทั้งจำทั้งปรับ

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

สรุป

เหตุการณ์ครั้งนี้ถือว่าเป็นบรรทัดฐานให้กับวงการของนักพัฒนาไทย ที่ควรให้ความสำคัญกับการปกป้องข้อมูลที่มีความสำคัญเวลารับส่งข้อมูลผ่านโปรโตคอลอินเตอร์เน็ต และควรป้องกันการทำวิศวกรรมย้อนกลับผ่านไฟล์ติดตั้งบนระบบแอนดรอยด์โดยการใช้ทูลช่วยอย่าง ProGuard ที่ทำให้การทำวิศวกรรมย้อนกลับ (Decompile) เป็นได้ยากขึ้น เพราะตอนนี้ APK ของแอพตัวนี้ไม่ได้มีการป้องกันอะไรเลย ทำให้สามารถดูมาแล้วแงะส่องโค๊ดกันเป็นว่าเล่นแล้ว

8 Comments

  1. Kraizis

    Kraizis Post on January 23, 2016 at 6:58 pm

    #940463

    อัพเดตใหม่ สุดยอดมาก
    ตัดรายละเอียดนิดหน่อย แต่เน้นคำขู่ ไม่เน้นป้องกัน

  2. WhiteCat

    WhiteCat Post on January 23, 2016 at 7:44 pm

    #940465

    พลังหมัดดาวเหนือ…..โจมตีเป้าหมายจากการสุ่มเลขบัตรไปเรื่อย ๆ

    ในแง่ของความเป็นส่วนตัว คงไม่ค่อยมีใครชอบเท่าไร
    แต่ถึงไม่มีโปรแกรมนี้ เราก็ยังสามารถค้าหาที่อยู่เป้าหมายได้อยู่ดี

    ไม่แน่ใจว่าตอนนี้เว็บนั้นมีการปรับปรุงไปหรือยัง

  3. ytti10

    ytti10 Post on January 23, 2016 at 8:56 pm

    #940469

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

  4. devilot

    devilot Post on January 23, 2016 at 10:08 pm

    #940475

    ผมกลับมองว่าจริงๆ webservice ของ dopa ตะหากนะครับที่ปล่อยให้มีช่องโหว่ ที่ service ที่เปิดให้ mobile เรียกใช้

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

    ทางแก้จริงๆ เท่าที่รู้ service ทุกทางของ dopa มี logs ไว้อยู่แล้วว่าดึงไรบ้าง กรณีเอามาใช้กับ mobile ก็ควรเพิ่มการลงทะเบียนด้วยเบอร์มือถือเพื่อยืนยันตัวตนก่อนให้ได้ token ตามเบอร์ไปใช้เวลาเรียก decompile แล้วเรียกเองได้ ก็ต้องมี token ที่ได้จากเบอร์อ้างอิงในการเรียกอยู่ดี แล้วไปไล่จัดการกรณีมีการดึงข้อมูลผิดปรกติทีหลังตามเบอร์ที่ลงทะเบียนไว้ได้เต็มๆ

    • Rice Cooker

      plaumkamon Post on January 23, 2016 at 10:44 pm

      #940480

      ผมมองว่าถ้านักพัฒนารู้ว่า webservices ของ dopa เปิดขนาดนี้แล้ว และเปลี่ยนอะไรไม่ได้ ทางนักพัฒนาควรที่จะเขียนอะไรมาครอบเพื่อหลีกเลี่ยงและปิดบังไม่ให้เห็นการเรียก webservices ของ dopa โดยตรง

  5. EthanFirst

    EthanFirst Post on January 24, 2016 at 5:23 pm

    #940516

    ฮาดดดดเช่ย..

  6. Pegasus7th

    pegasus7th Post on January 24, 2016 at 8:00 pm

    #940529

    ว่าแต่ไม่เรียกถนน กับ ซอย มาดู มันจะหาเขตเลือกตั้งได้เหรอเนี่ย – -.
    ขนาดซอยเดียวกัน ต้นซอย ท้ายซอย ยังไปคนละหน่วยเลือกตั้งได้เลย

    แต่จริง ๆ ถ้ามีฐานข้อมูลลิงค์เลขบัตรประชาชน กับหน่วยเลือกตั้งไว้
    ก็ไม่ต้องหาข้อมูลอะไรจาก dopa เลยนะ – -.
    หรือถ้าข้อมูลอยู่ที่ dopa ส่งกลับมาแค่ชื่อ สกุล กับหน่วยเลือกตั้งก็พอมั๊ง – -.

  7. darkfaty

    darkfaty Post on January 25, 2016 at 4:18 pm

    #940597

    กกต.ชุดนี้จะรับผิดชอบอะไรมั้ย ทำข้อมูลผู้มีบัตรประชาชนหลุดทั้งประเทศนี้

Leave a Reply

To Top