Tags:
Node Thumbnail

ธนาคารกสิกรไทยนำโดยคุณสมคิด จิรานันตรัตน์ ประธานของ KBTG (Kasikorn Business-Technology Group) แถลงสาเหตุของปัญหาที่ระบบการโอนเงินล่มเมื่อช่วงปลายเดือนที่ผ่านมาทั้งวันที่ 31 สิงหาคมและ 1 กันยายน

ส่วนของวันที่ 31 สิงหาคม คุณสมคิดระบุว่าทุกๆ ช่วงปลายเดือนในช่วง 6.30 น. ตอนเช้า ทราฟฟิคของธนาคารมักจะมี spike ขึ้นมาเล็กๆ ที่ไม่มีส่งผลอะไรกับระบบ เจ้าหน้าที่พยายามจะหาที่มาที่ไปของ spike ดังกล่าวมาตลอด ทว่ารอบล่าสุดดันใช้คำสั่งจัดการอุปกรณ์ผิดพลาด ทำให้ Core Switch ไม่ทำงานในช่วงเวลาดังกล่าว ก่อนที่เวลา 6.31 น. ทาง ITMX จะตัดธนาคารกสิกรออกจากระบบ PromptPay

สุดท้ายทางธนาคารกสิกรแก้ปัญหาเสร็จทั้งหมดราว 11 น. และเปิดให้บริการ 11.05 น.

No Description

ขณะที่ปัญหาในวันเสาร์ที่ 1 กันยายนไม่ได้เกิดจากปัญหาเดิม แต่ทาง ITMX เจอ Error Code ที่เกิดจากการโอนเงินจากต่างธนาคารที่กรอกเลขบัญชีผิดซ้ำๆ จำนวนมากมายังธนาคารกสิกร (อาทิ ใส่เบอร์โทรศัพท์ PromptPay แทนเลขบัญชี จำนวนราว 4 หมื่นรายการทั้งวัน)

ระบบกสิกรเลย reject error code กลับไปว่าไม่พบเลขบัญชีปลายทาง จน ITMX เห็นผิดสังเกต จึงตัดธนาคารกสิกรออกจากระบบราว 10.15 น.

ธนาคารกสิกรเลยย้ายระบบโอนเงินต่างธนาคารไป PCC ซึ่งเป็นระบบสวิชชิ่งเดิม ทำให้การโอนเงินต่างธนาคาร (ที่ไม่ใช่ PromptPay) ยังคงทำงานได้ปกติ ก่อนที่ระบบของกสิกรร่วมกันแก้ปัญหากับ ITMX และจะเชื่อมกับ ITMX อีกครั้งราว 16.11 น.

No Description

No Description

Get latest news from Blognone

Comments

By: langisser
In Love
on 5 September 2018 - 14:39 #1069056

เกิดจากการกรอกเลขบัญชี PromptPay ต่างธนาคารผิดซ้ำๆ จำนวนมาก (อาทิ ใส่เบอร์โทรศัพท์แทนเลขบัญชี จำนวนราว 4 หมื่นรายการทั้งวัน)

ผมว่าใส่เบอร์โทรมันก็ถูกแล้วไม่ใช่หรอครับหรือว่าใส่เบอร์โทรที่ไม่ได้ลงทะเบียนไว้ครับ

By: Jirawat
Android
on 5 September 2018 - 14:42 #1069058 Reply to:1069056
Jirawat's picture

เอ่าไหนบอก ผูกเบอไว้กะ บัญชี ถ้าใส่เบอไปมันควรได้ ไม่ใช่หรอ

By: nismod
TraineeWriteriPhoneAndroid
on 5 September 2018 - 14:45 #1069059 Reply to:1069056
nismod's picture

ขออภัยผมเขียนผิด แก้แล้วครับ

การกรอกเลขบัญชีต่างธนาคารผิดซ้ำๆ จำนวนมาก (อาทิ ใส่เบอร์โทรศัพท์ PromptPay แทนเลขบัญชี จำนวนราว 4 หมื่นรายการทั้งวัน)

คร่าวๆ คือระบบโอนเงินต่างธนาคารไม่ว่าจะผ่านพร้อมเพย์หรือไม่ผ่าน มันอยู่บน ITMX หมดครับ

By: ravipon
iPhoneWindows
on 5 September 2018 - 14:52 #1069061 Reply to:1069059
ravipon's picture

เข้าใจว่าโอนเงินผ่านเลขบัญชีปกติ แต่ใส่เลขพร้อมเพย์ลงไป? แบบเบอร์โทรสิบหลัก เลขบัญชี(บางธนาคาร)ก็สิบหลัก

By: IDCET
Contributor
on 5 September 2018 - 15:23 #1069073 Reply to:1069059

พูดถึงปัญหานี้ ไม่มีระบบคัดกรองหมายเลขบัญชีเลยหรือไง หรือตรวจสอบหมายเลขว่าเป็นเบอร์โทร หรือหมายเลขบัญชีธนาคาร

อย่างน้อยก็ควรเก็บ Pattern ของหมายเลขบัญชี หมายเลขโทรศัพท์ และหมายเลขบัตรประชาชนมาใช้กับระบบตรวจสอบและกรองข้อมูลก่อนทำธุรกรรมด้วยซ้ำไป


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

By: nismod
TraineeWriteriPhoneAndroid
on 5 September 2018 - 16:37 #1069080 Reply to:1069073
nismod's picture

คิดว่าคงไม่มีนะฮะ แต่จากที่คุยคือปัญหานี้มีเป็นปกติ แค่ว่าเหตุเกิดวันเสาร์ ITMX ยังหลอนจากเรื่องวันศุกร์ เลยสงสัย KBank และดึงออกจากระบบก่อนน่ะครับ

By: mr_tawan
ContributoriPhoneAndroidWindows
on 5 September 2018 - 16:25 #1069089 Reply to:1069073
mr_tawan's picture

คุ้น ๆ ว่าเลขบัญชีแต่ละธนคารมันเป็ฯคนละฟอร์แมทกันน่ะครับ


  • 9tawan.net บล็อกส่วนตัวฮับ
By: IDCET
Contributor
on 5 September 2018 - 21:00 #1069143 Reply to:1069089

ก็ต้องคุยกับธนาคารทุกเจ้าเลยครับ เพื่อขอ Pattern หมายเลขบัญชีสำหรับป้องกันการโอนผิดพลาด และการพัฒนาระบบ online banking ด้วยครับ


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

By: Holy
ContributorAndroidWindowsIn Love
on 6 September 2018 - 08:44 #1069182 Reply to:1069143
Holy's picture

Pattern หมายเลขบัญชีปกติสมัยก่อนจะเป็น (รหัสสาขา 3 ตัว)-(ประเภทบัญชี 1 ตัว)-(เลขที่บัญชี 5 ตัว)-(Checksum 1 ตัว) ครับ ไม่ได้เป็นความลับอะไร

ปัญหาคือแบงก์ใหญ่ๆ บางแบงก์สาขา(เคย)ทะลุ 1000 สาขาไปแล้ว ทำให้เลขสาขา 3 หลักแรกไม่พอ ทีนี้เลขที่ออกมาหลังๆ เลยไม่ได้ใช้ Pattern แบบเดิมครับ แต่ละแบงก์ก็ไม่เหมือนกันด้วย เคสยากสุดที่ได้ยินมาคือ "เป็น Running number บางส่วน" ซึ่งต้องไปเช็คกับ Core bank ของธนาคารตัวเองว่าเป็นบัญชีใครสาขาอะไร ไม่สามารถเดาอะไรได้ทั้งสิ้น

By: mr_tawan
ContributoriPhoneAndroidWindows
on 6 September 2018 - 13:00 #1069248 Reply to:1069143
mr_tawan's picture

ผมว่าเพิ่ม field "accountNoType" หรือ "altAccountNoType" อาจจะง่ายกว่านะ


  • 9tawan.net บล็อกส่วนตัวฮับ
By: marshazz
AndroidUbuntu
on 5 September 2018 - 17:32 #1069109 Reply to:1069073

ปรับ RegEx ด่วน LoL

By: toooooooon
iPhoneWindows PhoneAndroidBlackberry
on 5 September 2018 - 21:32 #1069146 Reply to:1069109

เลขมือถือกับเลข บช จำนวนหลักเท่ากัน
แถมเลข บช มีขึ้นต้นด้วย 0 ก็มีครับ

จะดัก RegEx ยังไงน้อ

By: lew
FounderJusci's WriterMEconomicsAndroid
on 6 September 2018 - 00:20 #1069157 Reply to:1069146
lew's picture

ผมเข้าใจว่าเลชบัญชีเกือบทุกธนาคารมี checksum แบบบัตรประชาชนนะครับ ตรวจก่อนส่งน่าจะลดได้เยอะเลย


lewcpe.com, @wasonliw

By: Ooh
ContributoriPhoneAndroidSymbian
on 6 September 2018 - 06:35 #1069169 Reply to:1069157
Ooh's picture

ปัญหาคือทุกธนาคารต้องรู้ checksum ของแต่ละธนาคารด้วย? แล้วถ้าธนาคารไหนมีการเปลี่ยน corebank ก็ต้องตามแก้ทุกธนาคารไรงี้?


Ooh

By: whitebigbird
Contributor
on 6 September 2018 - 09:28 #1069195 Reply to:1069169
whitebigbird's picture

ใช่ครับ หรือไม่ก็ provide มาเป็น API ไม่น่ายากอะไร

มันไม่ใช่การเขียนด้วยปากกา ลบด้วยน้ำยาลบคำผิดนี่ครับ ที่สำคัญคือมันเป็นธุรกิจครับ แล้ว core ก็คงไม่ได้เปลี่ยนกันบ่อยๆ ทุกๆ 5 ปีนี่ครับ

การรู้ checksum เองก็ไม่ได้มีปัญหาเรื่องความปลอดภัยอะไรด้วยครับ

By: lew
FounderJusci's WriterMEconomicsAndroid
on 6 September 2018 - 13:36 #1069259 Reply to:1069169
lew's picture

ต่อให้เปลี่ยน core bank ก็ไม่น่าเปลี่ยนเลข checksum นี่ครับ (เขาเปลี่ยนกันบ่อยๆ เลยเหรอ?)

รวบรวมจริงๆ ไม่น่าเกิน 100 แบบ (รวมๆ ทั้งของเก่าของใหม่) เขียนฟังก์ชั่น isvalid(bank_id, bank_account_no) แล้วช่วยกันดูแลทุกธนาคารน่าจะได้


lewcpe.com, @wasonliw

By: mr_tawan
ContributoriPhoneAndroidWindows
on 6 September 2018 - 13:01 #1069249 Reply to:1069109
mr_tawan's picture

code smell ลอยมาเชียวครับ :D


  • 9tawan.net บล็อกส่วนตัวฮับ
By: langisser
In Love
on 5 September 2018 - 23:04 #1069154 Reply to:1069073

เรื่อง pattern มันอาจจะทำให้ความลับทางธุรกิจถูกเปิดเผยได้นะครับ ถ้าให้ธนาคารอื่นรู้(ว่าไปนั่นผมมั่ว เช่น pattern พิเศษที่ไม่ใช้ลูกค้าทั่วไป) แต่ยังไงก็น่าจะมีเคสที่ pattern ถูกแต่ไม่มีบัญชีอยู่ดี

จริงๆ ITMX ถ้าจะเป็นตัวกลางขนาดนี้ก็ตรวจสอบให้ก่อนเลยก็ดีนะหรือ ITMX ไม่ควรเห็นข้อมูลบัญชีธนาคารทั้งหมดก็ไม่รู้

By: Hadakung
iPhoneWindows PhoneAndroidWindows
on 5 September 2018 - 14:55 #1069063

โอ๋งี้ใครประท้วงธนาคารไหนสักแห่งแค่รวมตัวกันให้ได้สักหลักร้อย ขยันกดผิดกันคนละร้อยทีระบบล่มเรียบร้อย...

By: itt on 5 September 2018 - 15:27 #1069077 Reply to:1069063
itt's picture

เรียกร้องให้ k plus ชดเชยดีไหม ????

By: dangsystem
iPhoneAndroidBlackberryWindows
on 5 September 2018 - 18:50 #1069124 Reply to:1069063
dangsystem's picture

ผิด พรบ คอมพิวเตอร์ อันเนื่องมาจากนำข้อมูลอันเป็นเท็จเข้าระบบคอมพิวเตอร์ #ผิดๆ

By: hisoft
ContributorWindows PhoneWindows
on 5 September 2018 - 19:00 #1069126 Reply to:1069124
hisoft's picture
if (!a && typeof a === `boolean`) {
console.error(`คุณนำข้อมูลอันเป็นเท็จเข้าระบบคอมพิวเตอร์`);
} else {
console.log(a);
}
By: whitebigbird
Contributor
on 6 September 2018 - 09:29 #1069196 Reply to:1069126
whitebigbird's picture

คุณเสพติด JavaScript ต้องได้รับการเยียวยาด่วนๆ

By: hisoft
ContributorWindows PhoneWindows
on 6 September 2018 - 14:06 #1069263 Reply to:1069196
hisoft's picture

ตะ​ แต่​ด้าน​บน​นั่น​ผม​เขียน​ด้วย​ TypeScript นะ​ครับ​ ?

นี่​คือ​พยายาม​มาก​ที่​จะ​ไม่ให้​ใน​โค้ด​มี​ข้อมูล​อัน​เป็น​เท็จ​

By: wichate
Android
on 5 September 2018 - 15:09 #1069069

ออกแบบ APP ไม่ดีพอไง ออกแบบยังไงให้คนใส่ผิดซ้ำๆ (อย่าไปโทษคนกรอกเลย)

By: dangsystem
iPhoneAndroidBlackberryWindows
on 5 September 2018 - 18:52 #1069125 Reply to:1069069
dangsystem's picture

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

By: tkmzaa on 6 September 2018 - 09:21 #1069192 Reply to:1069069

APP มันน่าจะตรวจแหละ แต่ปัญหาอยู่ที่ตู้รึเปล่า

By: Holy
ContributorAndroidWindowsIn Love
on 5 September 2018 - 15:21 #1069072
Holy's picture

ตอนนี้ยังสงสัยว่าวันที่ 31 ทำไมแบงก์ ABCD บินไปด้วย คนละสาเหตุหรือเป็นเรื่องเกี่ยวเนื่องกัน (แบบธุรกรรมค้างไว้เยอะ พอเชื่อมใหม่ส่งคำสั่งรวดเดียวประมวลผลไม่ทัน)

By: TheOne
iPhoneWindows Phone
on 5 September 2018 - 15:25 #1069075
TheOne's picture

Human error ใช้คำสั่งผิดพลาดยังไงกันนะ? เหมือนไม่ได้ Test กันก่อนแล้วทำบน production เลย แถมคนที่ทำมีสิทธิ์ขั้นสูง (อาจทำด้วยคน ๆ เดียว แต่ไม่ทำตามขั้นตอนหรือละเลยแนวทางปฎิบัติ) แบบนี้เสี่ยงมาก

By: deaknaew on 5 September 2018 - 15:29 #1069078

สงสัยอารมณ์เหมือน join table แล้วเลข id เคลื่อน เลย interface ผิด?

By: Architec
ContributorWindows PhoneAndroidWindows
on 5 September 2018 - 15:37 #1069079

ไม่รู้ว่าคนทำจะยังอยู่ดีไหม

[นอกเรื่อง]สงสัยว่าสัญญาจ้างของ Engineer ที่ทำงานธนาคารมักจะจ้างแบบปีต่อปีอันนี้จริงไหมครับ

By: vanadiros on 5 September 2018 - 16:15 #1069088 Reply to:1069079

ถ้าคุณหมายถึงโปรแกรมเมอร์ที่เป็นคนทำระบบ แล้วก็น่าจะเข้าใจลึกที่สุดเกี่ยวกับระบบนั้นๆ ก็จริงครับในบางที่ ส่วนมากจะมีคนรู้กว้างๆ เกี่ยวกะระบบทั้งหมดอยู่ มีปัญหามาก็ให้โปรแกรมเมอร์(คนใหม่) ไปงมดู อาจจะเดาให้ว่าส่วนนี้มั้งๆ ไม่ได้รู้ทันทีหรอกครับ

By: outcome
Windows
on 5 September 2018 - 17:28 #1069107 Reply to:1069079
outcome's picture

"ทว่ารอบล่าสุดดันใช้คำสั่งจัดการอุปกรณ์ผิดพลาด ทำให้ Core Switch ไม่ทำงานในช่วงเวลาดังกล่าว"

คนใส่ command นี่นั่งร้องไห้ไปแล้วมั้ง

By: whitebigbird
Contributor
on 6 September 2018 - 09:30 #1069197 Reply to:1069107
whitebigbird's picture

rm -rf

By: marshazz
AndroidUbuntu
on 5 September 2018 - 17:35 #1069110 Reply to:1069079

โทษคน impact น้อยกว่า บอกว่าระบบตัวเองไม่ดี

By: platalay
iPhoneWindows PhoneAndroidWindows
on 5 September 2018 - 15:57 #1069085

DDoS PromptPay

By: loptar on 6 September 2018 - 10:50 #1069219 Reply to:1069085
loptar's picture

+40000

By: impascetic
Android
on 5 September 2018 - 16:32 #1069091

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

By: zionzz on 5 September 2018 - 20:39 #1069138 Reply to:1069091

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

By: gnamsai on 5 September 2018 - 17:13 #1069099
gnamsai's picture

ถ้าอ่านตามนี้ก็แปลว่า ITMX รักษามาตรฐานได้ดีแล้วใช่ไหมหว่า 6.30 มีปัญหา 6.31 ITMX ตัดระบบเลย

By: lew
FounderJusci's WriterMEconomicsAndroid
on 6 September 2018 - 00:20 #1069158 Reply to:1069099
lew's picture

มีคนยิง query มั่ว คนตอบตอบว่า error

ตัดคนตอบทิ้งเลย ปลิว....


lewcpe.com, @wasonliw

By: Nucksoo on 5 September 2018 - 19:34 #1069128
Nucksoo's picture

ทำไมผมรู้สึกว่ามันเป็น BUG แฮะ
ก่อนส่งคำสั่งไป เบอร์มือถือกับเลขบัตรประชาชนมันมีจำนวนจิตที่แตกต่างกัน ทำไมถึงยิงสิ่งผิดๆไปให้ ITMX น่าจะมีการทำ Data Cleansing ก่อนส่งออกนอกระบบนะ

By: hisoft
ContributorWindows PhoneWindows
on 5 September 2018 - 19:55 #1069131 Reply to:1069128
hisoft's picture

จำนวนจิต?

By: Jonathan_Job
WriteriPhoneUbuntuWindows
on 6 September 2018 - 01:20 #1069160 Reply to:1069131
Jonathan_Job's picture

(di)git

By: hisoft
ContributorWindows PhoneWindows
on 6 September 2018 - 02:32 #1069164 Reply to:1069160
hisoft's picture

?

By: loptar on 6 September 2018 - 10:51 #1069220 Reply to:1069160
loptar's picture

ไอ้ผมก็นึกว่า สมันนี้แฮ็คกันด้วยพลังจิตกันแล้ว 555

By: Zatang
ContributoriPhoneAndroid
on 5 September 2018 - 20:34 #1069137 Reply to:1069128

ตามข่าวที่ผิดคือกรอกเลขพร้อมเพย์แทนเลขบัญชีนะครับ เลขพร้อมเพย์ถ้าเป็นมือถือ 10 หลักเท่าเลขบัญชีของธนาคารส่วนใหญ่นะครับ


อคติทำให้คนรับเหตุผลด้านเดียว

By: mementototem
ContributorJusci's WriterAndroidWindows
on 6 September 2018 - 17:07 #1069306
mementototem's picture

ผมโอนเงินต่างธนาคารด้วยหมายเลขบัญชีไม่ได้ (ในช่วงวันที่ 1) แสดงว่า ผมโอนในช่วงกำลังเปลี่ยนระบบสินะ...


Jusci - Google Plus - Twitter

By: IDCET
Contributor
on 6 September 2018 - 17:35 #1069314 Reply to:1069306

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

แต่ต้องมีระบบสำรองทุกอย่างมากกว่า 2 ระบบขึ้นไปด้วย


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