Tags:
Node Thumbnail

เหตุการณ์บัตรเครดิตและบัตรเดบิตถูกดูดเงินในประเทศไทยทำให้คนตั้งคำถามกันจำนวนมากว่า "แล้วทำไมมาโดน (เฉพาะ) ที่ประเทศไทย" แต่ในความเป็นจริงแล้วการโจมตีแบบ Enumeration Attack นั้นมีมาแล้วระยะหนึ่ง แม้ Visa จะออกรายงานแจ้งเตือนแต่ธนาคารที่ถูกโจมตีไม่ค่อยออกมาเปิดเผยต่อสาธารณะกันบ่อยนัก ยกเว้น Privacy.com ผู้ให้บริการเลขบัตรเครดิตชั่วคราว

Privacy.com รายงานถึงเหตุการณ์ช่วงต้นปี 2020 ที่บริษัทถูกยิงคำสั่งจ่ายเงินจำนวนมาก จากร้านค้า 5 รายในเยอรมนี, นิวซีแลนด์, และสหราชอาณาจักร โดยทาง Privacy.com ระบุว่าร้านค้าเหล่านี้น่าจะเป็นเหยื่อของคนร้ายอีกที โดยคนร้ายอาจจะถูกแฮกระบบหรืออย่างน้อยก็ข้ามระบบจำกัดปริมาณการจ่ายเงิน (rate limit) โดยเชื่อว่าคนร้ายอาศัย botnet เข้าไปโจมตีตัวร้านค้า

No Description

ภาพโดย flyerwerk

เนื่องจาก Privacy.com เป็นผู้ออกเลขบัตร ทำให้เห็นกระบวนการของคนร้าย เป็นขั้นดังนี้

  1. คนร้ายสั่งจ่ายแบบไม่มีเลข CVV และวันหมดอายุ ซึ่งเป็นคำสั่งขอจ่ายเงินที่ทำได้ โดยไม่สนใจว่าการจ่ายสำเร็จหรือไม่ แต่รอดูคำข้อความการจ่ายเงินไม่สำเร็จ
  2. หากข้อความจ่ายเงินไม่สำเร็จ ไม่ใช่ "invalid card number" ที่แปลว่าเลขบัตรผิดแต่เป็นข้อความอื่น เช่น ข้อมูลบัตรไม่บัตรไม่ถูกต้อง, หรือการจ่ายเกินวงเงิน แปลว่าเลขบัตรนี้ใช้งานได้
  3. หลังจากได้เลขบัตรที่ถูกต้องแล้ว คนร้ายจะพยายามหาวันหมดอายุ โดยทั่วไปแล้วบัตรมีอายุ 4-6 ปี การหาวันหมดอายุจึงไม่ยากเกินไป
  4. หลังจากได้วันหมดอายุแล้ว (Privacy.com ไม่ระบุว่าดูข้อความอะไร) คนร้ายจะไปหาบริการอื่นๆ ที่คนร้ายสามารถดึงเงินออกจากระบบได้ เช่น บริการโอนเงิน หรือบัญชีผู้ค้าของคนร้ายเองโดยตรง แล้วสั่งจ่ายเงินก้อนใหญ่ขึ้น โดยใช้เลขบัตรพร้อมวันหมดอายุ (ไม่มี CVV อยู่ดี) ไปที่บริการนั้น

เลขบัตรมีจำกัด ทำให้เดาง่าย

แม้เลขบัตรจะมีความยาวถึง 16 หลักซึ่งน่าจะทำให้คนร้ายต้องคาดเดาเลขบัตรจำนวนมาก แต่ในความเป็นจริงแล้ว เลขบัตร 6 ตัวแรกนั้นเป็นหมายเลขประจำตัวธนาคารผู้ออกบัตร (Issuer Identifier Number - IIN) และหลักสุดท้ายเป็น Luhn checksum (คิดโดย Hans Peter Luhn นักวิทยาศาสตร์ของ IBM เมื่อปี 1960)

No Description

โค้ด Luhn checkum สำหรับหาเลขบัตรหลักที่ 16 ในภาษาไพธอน

การที่หมายเลขบัตรเหลือให้ธนาคารใช้ได้เพียง 9 หลักเช่นนี้ ทำให้อัตราการสุ่มเลขมั่วๆ ก็พบได้ไม่ยากนัก ธนาคารที่ใช้ IIN เดียวออกบัตร 10 ล้านใบ หากคนร้ายสุ่มเลขมั่ว 100 ครั้งก็มีโอกาสพบบัตรสักใบถึง 63% และหากสุ่ม 500 ครั้งก็มีโอกาสสูงถึง 99%

ในเอกสารแจ้งเตือนของ Visa ยังแจ้งเตือนธนาคารผู้ออกบัตร ไม่ให้ออกเลขบัตรเรียงกันเป็นตับ (sequential PAN) ที่เลขบัตรออกติดๆ กันและมีวันหมดอายุตรงกัน ซึ่งหากธนาคารไม่ทำตามคำแนะนำและออกเลขบัตรเป็นชุดๆ ก็จะคาดเดาง่ายอย่างยิ่ง

ในกรณีของ Privacy.com ทางบริษัทไม่เปิดเผยว่ามีเลขบัตรถูกสุ่มจนพบเลขบัตรเท่าใด แต่เนื่องจากลักษณะบริการของ Privacy.com นั้นเป็นการสร้างหมายเลขบัตรหนึ่งเลขเพื่อผู้ค้าหนึ่งราย ผู้ใช้แต่ละคนสามารถสร้างหมายเลขบัตรได้ไม่จำกัด แต่หากผู้ใช้สร้างหมายเลขบัตรแล้วไม่เคยใช้กับผู้ค้ารายใดแล้วคนร้ายสุ่มมาเจอหมายเลขบัตรนั้นก็ยังสั่งจ่ายได้ โดยมีเลขบัตรที่คนร้ายสั่งจ่ายได้จริงในเหตุการณ์นี้ 0.04% ของบัตรที่คนร้ายสุ่มจนเจอเลขบัตรทั้งหมด

ที่มา - Privacy.com

Get latest news from Blognone

Comments

By: plen007
iPhoneAndroidWindows
on 22 October 2021 - 08:52 #1228771

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

By: iamfalan
iPhoneAndroidWindows
on 22 October 2021 - 09:57 #1228780

เท่าที่อ่าน
1. การเดา cvv ยังยาก น่าจะติด limit หากใส่ผิดซ้ำๆ เลยใช้กับร้านที่ไม่ต้องการ cvv
2. Error message ที่ชัดเจนเกินไป ก็เป็นปัญหา (แบบเดียวกับพวก user password น่ะแหละ)
3. ระบบบัตรเครดิต ทั้งระบบยังช่องโหว่สูงมาก ไม่ได้มีระบบกลางในการป้องกัน แต่ขึ้นอยู่กับผู้ออกบัตรล้วนๆ เลยว่าจะมีการป้องกันอะไรไหม อันนี้คุยกับคนที่ทำงาน bank มาก่อน เค้าบอกว่ามันจะมีระบบ fraud detect ที่ตรวจ “รูปแบบ” ได้ แต่มันต้อง set ไว้ว่ารูปแบบไหนที่จะแจ้งเตือน หากใครเคยรูดซื้ออะไรถี่ๆ บางทีก็โดน lock บัตรก็มี

By: tanapon on 22 October 2021 - 10:05 #1228782

เมื่อไรจะยอมให้ลูกค้าสร้าง PIN สำหรับซื้อสินค้า

By: N Pack on 22 October 2021 - 18:09 #1228817
N Pack's picture

เสียใจด้วยไม่ได้กินผมง่ายๆหรอก
เงินในบัญชีมีไม่ถึงสองร้อยบาท

By: jarujit
ContributoriPhoneAndroid
on 22 October 2021 - 23:30 #1228842
jarujit's picture

โดยคนร้ายอาจจะถูกแฮกระบบหรืออย่างน้อยก็ข้ามระบบจำกัดปริมาณการจ่ายเงิน -> คนร้ายอาจจะแฮกระบบโดยการใช้ botnet ข้ามระบบจำกัดปริมาณการจ่ายเงิน?


:-)

By: Hoo
AndroidWindows
on 23 October 2021 - 06:32 #1228860

จะเพิ่มหลักเลขบัตรก็จะลำบากลูกค้าเวลากรอกข้อมูล

ทางแก้ อาจจะต้องสร้างเลขบัตรเครดิต ให้เป็นเลข+ตัวอักษร
ก็จะเดายากขึ้นมหาศาล
แล้วไปอุดระบบตรวจ bot brute-force อีกที ?