Mọi thứ càng trở nên cấp bách hơn khi một lỗ hổng bảo mật được phát hiện và bằng mọi cách phải tìm ra được một giải pháp để ngăn chặn việc khai thác thành công điểm yếu của hệ thống, loại bỏ hoặc giảm thiểu hậu quả của mối đe dọa.
Tìm và phát hiện vấn đề chỉ là bước đầu tiên. Sau đó, lập trình viên phải quyết định cách khắc phục vấn đề và cách triển khai vấn đề theo cách giảm thiểu tối đa tác động đến người dùng. Cách thức đó có thể được gửi qua: Patch, Hotfix, Coldfix hoặc Bugfix.
Các thuật ngữ này thường được sử dụng thay thế cho nhau, nhưng có sự khác biệt trong mỗi thuật ngữ dựa trên cách một lập trình viên kết hợp giải pháp của họ vào phần mềm.
Trong những ngày đầu tiên khi phát minh ra máy tính, Patch được hiểu theo đúng nghĩa đen là một bản vá. Khi đó máy tính sử dụng thẻ đục lỗ và băng giấy để nhập các chương trình và sử dụng chúng để thực hiện các phép tính. Những băng giấy này chứa các hàng lỗ và các khoảng trống vốn là phần mềm của máy tính, cũng giống như ngày nay các nhà cung cấp phần mềm sẽ cần thực hiện các thay đổi đối với lập trình.
Các bản cập nhật này được phân phối trên các mảnh băng giấy hoặc thẻ đục lỗ, người nhận dự kiến sẽ cắt phần mã xấu ra khỏi băng giấy và một phân đoạn thay thế khác được vá vào, do đó chúng có tên như vậy.
Tất nhiên, việc vá lỗi đã trải qua một chặng đường dài phát triển của kỹ thuật số. Các bản vá cho máy tính ngày nay thường cập nhật mã của phiên bản phần mềm hiện có bằng cách sửa đổi hoặc thay thế nó bằng cách sử dụng một chương trình thực thi được phát hành công khai.
Các bản vá thường là các bản sửa lỗi tạm thời giữa các bản phát hành đầy đủ của gói phần mềm. Các bản vá được sử dụng để khắc phục cả các vấn đề lớn và nhỏ có thể cần hoặc không cần chú ý ngay lập tức, chẳng hạn như: sửa lỗi phần mềm; cài đặt trình điều khiển mới; giải quyết các lỗ hổng bảo mật mới; giải quyết các vấn đề về độ ổn định của phần mềm và nâng cấp phần mềm.
Nói chung, các bản vá là các bản cập nhật tự động, các gói tự cài đặt với nhiều kích thước khác nhau, từ vài kilobyte đến các bản vá lớn, như những bản dành cho Windows có thể trên 100 Mb. Trên Windows, việc cài đặt các bản vá nhất định có thể gây ra gián đoạn, thậm chí ngừng hoạt động trong khi cài đặt và có thể yêu cầu khởi động lại hệ thống.
Hầu hết các bản vá được phân phối theo lịch trình đã định. Chúng có thể được đưa vào bản phát hành phiên bản mới của sản phẩm với các bản sửa lỗi và cập nhật bổ sung.
Các hotfix cũng có thể giải quyết nhiều vấn đề giống như một bản vá, nhưng nó được áp dụng cho một hệ thống “hot” (một hệ thống đang hoạt động) để khắc phục sự cố ngay lập tức mà không làm cho hệ thống ngừng hoạt động.
Các hotfix còn được gọi là các bản cập nhật kỹ thuật sửa chữa nhanh (quick-fix engineering updates - QFE), một cái tên thể hiện tính cấp thiết.
Thông thường, bạn sẽ nhanh chóng tạo ra một hotfix, như một biện pháp khẩn cấp chống lại các vấn đề cần được khắc phục ngay lập tức và nằm ngoài quy trình phát triển bình thường. Không giống như các bản vá, các hotfix giải quyết các vấn đề rất cụ thể như:
Quan trọng là các hotfix không phải lúc nào cũng được phát hành công khai, ngược lại với các bản vá.
Ví dụ, giả sử một ngân hàng biết rằng ứng dụng ngân hàng của họ có thể bị tấn công, khai thác và tiết lộ dữ liệu người dùng như mật khẩu, tên người dùng và thông tin tài khoản. Ngay cả khi vụ tấn công chưa xảy ra, đó là một rủi ro tiềm ẩn đến mức ngay cả khi phát hiện được nguy cơ của nó cũng cần phải hành động khẩn cấp. Đội ngũ bảo mật có thể sẽ loại bỏ tất cả các ràng buộc, cố gắng cung cấp một hotfix giải quyết lỗ hổng bảo mật càng sớm càng tốt, với sự gián đoạn tối thiểu.
Trong trường hợp hotfix được thực thi nhanh chóng mà không cần khởi động lại bất kỳ hệ thống hoặc phần cứng nào thì coldfix lại ngược lại. Việc triển khai một coldfix yêu cầu người dùng đăng xuất khỏi phần mềm trong khi toàn bộ hệ thống cần được khởi động lại để các bản sửa lỗi có hiệu lực.
Những cập nhật loại này phổ biến trong các trò chơi nhiều người chơi trực tuyến, vì vậy chúng thường được thông báo trước vài ngày để cho người dùng biết rằng dịch vụ sẽ không khả dụng cho đến khi quá trình khắc phục hoàn tất. Thông báo thường bao gồm thời gian ước tính dịch vụ sẽ trực tuyến trở lại, vì thời gian ngừng hoạt động có thể kéo dài từ vài phút đến vài giờ tùy thuộc vào bản cập nhật.
Tất cả chúng ta đều quen thuộc với thuật ngữ “bug”: một lỗi lập trình hay một trục trặc mà tạo ra lỗi trong hệ thống hoặc phần mềm. Việc loại bỏ những lỗi này là một hành động được gọi là gỡ lỗi (debugging).
Mặc dù cái tên dễ nghe khiến những lỗi này trông có vẻ nhỏ và chỉ gây khó chịu nhẹ, các nhà phát triển và lập trình viên có thể dành nhiều thời gian để tìm kiếm một số loại lỗi phổ biến khác nhau, chẳng hạn như:
Việc triển khai một bản sửa lỗi, còn được biết đến như là bản sửa lỗi tạm thời của chương trình, có thể đơn giản như việc thêm dấu ngoặc đơn bị thiếu trong một đoạn mã. Nhưng việc khắc phục có thể trở nên khá khó khăn nếu các triệu chứng không chỉ ra nguyên nhân rõ ràng.
Ví dụ, nguyên nhân và triệu chứng có thể là tách biệt, với một trong hai nằm trong mã chương trình và cái còn lại nằm trong quá trình thực thi của chương trình hoặc cả hai.
Các triệu chứng cũng có thể khó tái tạo để hiểu rõ hơn về vấn đề. Tuy nhiên, khi bạn đã phát hiện ra nguyên nhân gốc rễ và đưa ra bản sửa lỗi, các lập trình viên của bạn sẽ không thấy rằng việc bugfix thực sự có thể tạo ra một lỗi mới.
Nghe qua, bugfix có vẻ giống như hotffix, nhưng sự khác biệt nằm ở thời gian và việc thực hiện sửa lỗi. Bugfix thường mô tả các vấn đề được tìm thấy và giải quyết trong giai đoạn sản xuất hoặc thử nghiệm hay thậm chí sau khi triển khai như một phần của chu kỳ phát hành thông thường của sản phẩm. Những hotfix thì chỉ được áp dụng sau khi sản phẩm đã được phát hành và đang hoạt động.
BẢNG 1: CÁC KIỂU SỬA LỖI
Patch |
|
Hotfix |
|
Coldfix |
|
Bugfix |
|
Tiền thưởng lỗi là gì?
Khi phần mềm ngày càng phức tạp, việc sửa lỗi trước và sau khi sản phẩm ra mắt là rất quan trọng để bảo vệ uy tín thương hiệu của các nhà sản xuất.
Các ứng dụng ngày càng phức tạp, đa luồng và lớn, với số lượng lớn các nhà phát triển đang làm việc trên chúng. Tất cả sự phức tạp này khiến việc theo dõi lỗi trở nên khó khăn hơn và không thể đoán trước được. Các chương trình đa luồng thường kéo dài thời gian thời gian xử lý lỗi (từ khi phát hiện ra nguyên nhân gốc rễ của lỗi và phát hiện ra lỗi); làm cho các lỗi khó theo dõi...
Các lỗi là một rủi ro quá lớn để lập trình viên có thể bỏ qua. Họ sẽ dành hàng tuần để săn tìm hoặc thậm chí cung cấp tiền thưởng để được trợ giúp tìm ra các vấn đề trong mã nguồn của họ trước khi họ có thể áp dụng bản sửa lỗi phù hợp.
Trần Duy Lai
(Theo bmc.com)
08:00 | 25/06/2018
14:00 | 03/02/2021
Tạp chí An toàn thông tin trân trọng kính mời các chuyên gia, nhà nghiên cứu trong lĩnh vực an toàn thông tin viết bài cho Ấn phẩm "Khoa học và công nghệ trong lĩnh vực An toàn thông tin" số 13 (số 1 năm 2021) của Tạp chí.
16:00 | 27/01/2021
Các cuộc khủng hoảng thường là thời cơ thuận lợi cho tội phạm mạng hành động. Vì vậy, không có gì ngạc nhiên khi chúng tận dụng đại dịch COVID-19 để khai thác lỗ hổng từ hàng chục triệu người dùng làm việc từ xa qua mạng Internet. Máy tính của người dùng đã vô tình trở thành nguồn cung cấp các điểm truy cập mới cho phần mềm độc hại và các cuộc tấn công lừa đảo khiến phạm vi tấn công ngày càng được mở rộng.
11:00 | 24/12/2020
Ngay từ trước khi đại dịch Covid-19 bùng phát, ngành tài chính - ngân hàng Việt Nam đã chủ động bước vào giai đoạn chuyển đổi số, cung cấp các dịch vụ thanh toán số cũng như nhiều dịch vụ khác trên nền tảng số. Trong đó, thanh toán dịch vụ công tiếp tục được triển khai rộng rãi, tiêu biểu như tích hợp với Cổng dịch vụ công Quốc gia, Cổng dịch vụ công của các Bộ, ngành, địa phương. Điều này cho thấy tốc độ chuyển đổi số các dịch vụ tài chính, ngân hàng ở Việt Nam là rất cao.
08:00 | 20/10/2020
Bộ tài chính Hoa Kỳ đã đưa ra một lời khuyên để cảnh báo các tổ chức, doanh nghiệp về những tiềm ẩn liên quan đến vấn đề pháp lý khi tạo điều kiện cho việc thanh toán trả tiền chuộc lại dữ liệu cho những vụ tấn công ransomware.
Khoảng giữa năm 1995, cơ quan An ninh Quốc gia Mỹ (National Security Agency - NSA) bắt đầu công bố hàng nghìn thông điệp được giải mật từ dự án VENONA. Đó là các thông điệp được truyền trong hoạt động ngoại giao và hoạt động tình báo của Liên Xô được trao đổi từ năm 1940. Trong đó, có chứa các thông tin liên quan đến Cơ quan tình báo trung ương Liên Xô (Komitet Gosudarstvennoy Bezopasnosti - KGB), Cơ quan Tình báo Quân đội Nga (Glavnoye Razvedyvatel’noye Upravleniye - GRU), Cơ quan Dân ủy Nội vụ (Narodnyy Komissariat Vnutrennikh Del - NKVD)…. Đây là kết quả hợp tác truyền thông tình báo của Mỹ, Anh và một số nước đồng minh. Bài viết dưới đây trình bày khái quát các kết quả chính và nguyên nhân thám mã thành công của dự án VENONA.
15:00 | 30/12/2018
Bill Evanina, cựu Giám đốc Trung tâm Phản gián và An ninh Quốc gia Hoa Kỳ đã chia sẻ thông tin qua kênh CBS '60 Minutes về việc, Bắc Kinh đang cố gắng thu thập và khai thác thông tin chăm sóc sức khỏe của người Mỹ, bao gồm cả DNA của họ.
11:00 | 25/02/2021
Ngày 31/12/2020, Chủ tịch nước Cộng hòa xã hội chủ nghĩa Việt Nam đã ký quyết định số 2368/QĐ-CTN về việc thăng quân hàm cấp tướng sĩ quan Quân đội nhân dân Việt Nam. Theo đó, thăng quân hàm từ Đại tá lên Thiếu tướng đối với đồng chí Vũ Ngọc Thiềm, Trưởng ban Ban Cơ yếu Chính phủ.
17:00 | 06/01/2021