• Home|

Một lỗi lập trình 15 năm về trước đã khiến Ngân hàng đầu tư quốc tế mất 7 triệu USD như thế nào

17/07/2016

Cơn ác mộng trở thành hiện thực của bất cứ lập trình viên lẫn cơ quan quản lý hệ thống nào: một lỗi lập trình bất cẩn một thập kỷ trước về trước quay trở lại lại ám ảnh.

Bạn từng ra khỏi nhà quên tắt điều hòa trong nhà và tiếc đứt ruột vài nghìn đồng tiền điện mất oan? Tưởng tượng cùng một việc như thế nhưng lỗi lầm của bạn nhân lên thành.. 150 tỷ đồng.

Về cơ bản đây là điều đã xảy ra với Citigroup, một trong những công ty dịch vụ tài chính và ngân hàng đầu tư lớn nhất thế giới.

Một lỗi lập trình 15 năm về trước đã khiến Ngân hàng đầu tư quốc tế mất 7 triệu USD như thế nào - Ảnh 1.

Ác mộng của dân lập trình..

Theo Ủy bản Chứng khoan và Sở Giao dịch Mỹ SEC, cụ thể lỗi bug hệ thống khiến cho một lượng lớn các đơn giao dịch điện tử nhà nước bị thất lạc. Không những thế, sự cố này đã kéo dài 15 năm, từ năm 1999 đến 2014 mà không hề bị phát hiện.

Chính Citigroup đã tự phát hiện thấy lỗi lầm của hệ thống khi được SEC yêu cầu báo cáo dữ liệu giao dịch vào tháng 4 năm 2014. Chỉ khi đội kỹ thuật được yêu cầu xác định các mã số nội bộ cần được xét duyệt, lỗi hệ thống mới lộ ra. Nhóm kỹ thuật đã phát hiện thấy lượng lớn thông tin giao dịch từ một số chi nhánh công ty bị “thất lạc“.

“Blue Sheet” là những báo cáo hóa đơn giao dịch mà Ủy Ban SEC yêu cầu các hãng đầu tư lớn phải xuất trình để kiểm tra. Hệ thống Blue Sheet nhằm đảm bảo những hoạt động tài chính lớn hoạt động một cách trong sạch cũng như để khoanh vùng lý do của những chuyển biến bất thường về giá cả thị trường.

Bốn ngày sau đó, một bản vá chữa cháy đã được cài đặt. Nhưng phải mất đến 8 tháng sau, Citigroup mới nhận được báo cáo thiệt hại chính thức từ SEC. Theo Ủy Ban SEC, những bản báo cáo thất lạc kéo dài hơn thập kỷ này đã làm ảnh hưởng lớn đến hoạt động kiểm toán của nhà nước.

Một lỗi lập trình 15 năm về trước đã khiến Ngân hàng đầu tư quốc tế mất 7 triệu USD như thế nào - Ảnh 2.

Sau đó không lâu, tháng 1 năm 2015, Ciitigroup chính thức xác nhận hoàn toàn lỗi lầm của mình.

Lỗi lầm 7 triệu USD là do sơ suất nhỏ

Sau một hồi tìm hiểu, các chuyên viên đã ngỡ ngàng khi phát hiện thấy lỗi bắt nguồn từ sự cẩu thả trong khâu duyệt lỗi Debug.

Cụ thể, trước những năm 1990, Citigroup đã sử dụng hệ thống chỉ gồm các chữ số để đánh số các mã giao dịch của mình. Trong thời kỳ test và debug hệ thống, các kỹ sư khi đó quyết định đánh dấu các mã giao dịch “thử nghiệm” mở đầu bằng các số từ 089 cho đến 100. Nhưng giao dịch này sẽ được loại bỏ khi hệ thống xét duyệt nhằm tránh lẫn lộn giữa giao dịch thật và giả. Ví dụ những mã số như 090 1111 hay 100 1111 sẽ bị hệ thống tự đào thải nhằm tránh nhầm lẫn.

Từ đó, mọi việc hàng ngày của các lập trình viên và công ty diễn ra suôn sẻ… Cho đến một ngày khi toàn bộ hệ thống Citigroup chuyển sang cách phân mã số sử dụng cả số lẫn chữ. Vấn đề bắt đầu xuất hiện khi bộ lọc thử nghiệm đã không được gỡ ra và gây ra lỗi tai hại. Do đó, Citigroup phải trả giá bằng sự thất thoát về dữ liệu lịch sử giao dịch (chưa kể đến khoản phạt tiền trị giá cả một gia tài).

Về cơ bản, hệ thống đã đào thải thông tin giao dịch hợp lệ do nhầm lẫn giữa cách đặt mã giao dịch có chữ và không có chữ. Lỗi nhỏ nhặt này hoàn toàn có thể tránh được nếu các kỹ sư khi đó làm việc một cách có hệ thống hơn.

Ủy ban SEC không thể châm chước cho lỗi lầm làm thất lạc đến 26.810 thông tin giao dịch trong 15 năm qua của Citigroup và đã ra quyết định phạt công ty mức phạt lên đến 7 triệu USD (hay hơn 150 tỷ đồng).

Theo ủy ban: “Các công ty trung gian đầu tư có trách nhiệm cốt yếu trong việc cung cấp cho Ủy ban SEC dữ liệu giao dịch. Nhưng thông tin này là cơ sở cho Uy ban thực hiện những cuộc điều tra tài chính. Citigroup đã không chấp hành quy định, không những thế khoảng thời gian mà Citigroup vi phạm luật kéo dài đến cả hơn thập kỷ. Công ty sẽ phải chịu hình phạt lớn nhất trong lịch sử về các vi phạm liên quan đến hóa đơn xanh“.

Một bài học đắt giá cho công ty Citigroup và dân quản trị dữ liệu nói chung trên thế giới.

Tham khảo TheRegister

Theo Trí thức trẻ

Tin liên quan

loading...
Từ khóa: lập trình