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
10:00 | 20/02/2025
Trong khi Meta tiếp tục đầu tư mạnh vào AI, công ty này lại bị cáo buộc sử dụng kho sách lậu để huấn luyện các mô hình AI của mình. Hồ sơ vụ kiện mới cho thấy Meta đã tải xuống và phân phối hơn 81,7 Terabyte dữ liệu từ các nguồn vi phạm bản quyền, khiến lập luận sử dụng hợp lý của họ trở nên khó bảo vệ.
13:00 | 14/02/2025
Hãng công nghệ Google thông báo sẽ phát hành các ứng dụng điện toán lượng tử thương mại trong vòng 5 năm tới. Động thái này được xem là lời thách thức trực tiếp tới những dự đoán thận trọng hơn từ Nvidia, vốn cho rằng phải mất tới 20 năm nữa công nghệ này mới thực sự hữu dụng.
16:00 | 04/02/2025
Ngày 03/02, đối tượng tấn công Kyber Elastic lấy đi 47 triệu USD đã được Toà án Liên bang Brooklyn (Hoa Kỳ) công bố. Ngay lập tức, người đứng đầu Kyber Elastic đã gửi lời cảm ơn sự phối hợp điều tra truy vết của các tổ chức trong và ngoài nước, đặc biệt là Hiệp hội Blockchain Việt Nam.
22:00 | 25/01/2025
Nhân dịp đón chào năm mới 2025, Trung tướng Vũ Ngọc Thiềm, Trưởng ban Ban Cơ yếu Chính phủ đã gửi thư chúc Tết tới toàn thể cán bộ, nhân viên, người lao động, gia đình các Anh hùng Liệt sĩ, các đồng chí thương binh, bệnh binh đã và đang công tác trong ngành Cơ yếu Việt Nam. Tạp chí An toàn thông tin trân trọng giới thiệu toàn văn thư chúc Tết của đồng chí Trưởng ban Ban Cơ yếu Chính phủ.
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
Ngay sau kỳ nghỉ Tết 2025, Tổng công ty Điện lực miền Nam (EVNSPC) đã bắt tay vào công việc. Trên công trường các dự án đầu tư xây dựng lưới điện 110 kV, không khí làm việc luôn được tập trung cao độ với tinh thần làm việc xuyên ngày nghỉ.
14:00 | 14/03/2025
Đó là chủ đề của Khối thi đua 4 hệ Cơ yếu: Quân đội, Công an, Ngoại giao, Đảng - Chính quyền được phát động lại Lễ ký Giao ước thi đua năm 2025 diễn ra tại Hà Nội, ngày 7/3. Đồng chí Lê Anh Tuấn, Thứ trưởng Bộ Ngoại giao đến dự và phát biểu tại Hội nghị.
12:00 | 08/03/2025