Không cần phải có 'mã hoàn hảo'
Đó là tuyên bố của Bill Gates trong một cuộc phỏng vấn gần đây trên trang tin ITBusiness. Để đối phó với các vấn đề an ninh, ông chủ Microsoft cho rằng các doanh nghiệp chỉ cần thiết lập tường lửa và nâng cấp liên tục thì không một loại sâu hay virus nào có thể tấn công.
Tuy nhiên, các chuyên gia phần mềm đều cho rằng Gates đã bỏ sót hai yếu tố. Thứ nhất, việc cài đặt tường lửa và nâng cấp trên thực tế không bảo vệ được mạng trước tất cả những tác động của virus. Họ cho rằng nếu đi hỏi tất cả các quản trị viên kinh nghiệm cũng đều có câu trả lời tương tự.
Kể cả khi mạng đã có tường lửa, thì vẫn luôn luôn có những người sử dụng vô tình đưa virus nhiễm từ nhà vào hệ thống cơ quan qua máy tính xách tay. Loại máy này khi được nối vào mạng doanh nghiệp thì tường lửa cũng chả có tác dụng gì. Hơn nữa, dù công ty có nỗ lực cập nhật phần mềm mới như thế nào thì những lỗ hổng trên những công cụ như chiếc máy xách tay nêu trên vẫn tiếp tục là miếng mồi ngon cho các loại mã phá hoại.
Thứ hai, an ninh của ứng dụng phụ thuộc chặt chẽ vào thiết kế và việc sử dụng nó. Một công ty tự viết phần mềm cho các quy trình nghiệp vụ của mình có thể sẽ sập tiệm nếu theo lời khuyên của Gates. Minh hoạ cho điều này, nhiều chuyên gia đưa ra một ví dụ rất thực tế trong môi trường kinh doanh hiện đại: một doanh nghiệp nọ tự viết ra một ứng dụng trên nền web để tạo thuận lợi cho khách hàng truy nhập và mua hàng của mình. Nếu theo lời Gates, họ sẽ phải cài đặt một hệ thống tường lửa chất lượng cao, đồng thời phải triển khai cả hệ thống nâng cấp tất cả những phần mềm mới mà Microsoft cung cấp.
Cuối cùng, nguy cơ vẫn hiện ra và vấn đề lại nằm ở chính cái chương trình mà họ tự viết. Vì phần mềm mặt trước (front end), chạy trên máy chủ web của họ, không hiển thị đầy đủ dữ liệu mà người sử dụng đưa vào. Vì thế, khi kẻ tấn công phát hiện khiếm khuyết có tên "SQL Insertion" tồn tại trong ứng dụng đó, chúng có thể nhập lệnh yêu cầu trên nền SQL trực tiếp vào máy chủ phụ trợ (back end) và thực hiện tuỳ thích những thay đổi theo kiểu read/write trên cơ sở dữ liệu. Do vậy, tin tặc thậm chí có thể thay đổi số tiền phải trả khi mua sản phẩm của doanh nghiệp nọ thành con số 0 trong khi lại tăng số lượng hàng được lấy lên 100.
Ví dụ này cho thấy tường lửa không thể hiện được vai trò của mình, kể cả toàn bộ cái hệ thống được cài phần mềm nâng cấp mới nhất. Hơn nữa, tin tặc đã thành công khi vô hiệu hoá hệ thống cơ sở dữ liệu. Mặc dù phải thừa nhận rằng đạt được cái gọi là “mã hoàn hảo” là rất khó, các chuyên gia phần mềm cho rằng vẫn cần phải có loại mã “đủ đảm bảo an ninh” và riêng việc hướng tới điều này cũng tốt hơn nhiều so với tường lửa và quy trình nâng cấp, chỉ cần một thiết kế hợp lý, xây dựng trên đỉnh cấu trúc hệ thống của doanh nghiệp.
Phan Khương (theo F2 Network)