Lỗ Hổng Phần Mềm Là Gì ? Cách Khắc Phục Lỗi Bảo Mật Giải Pháp Khắc Phục Lỗ Hổng Bảo Mật

lỗ hổng phần mềm có thể được hiểu là một lỗi hoặc điểm yếu trong phần mềm hoặc hệ điều hành. Với sự phát triển của các công nghệ tấn công mới, mức độ nghiêm trọng của các lỗ hổng phần mềm tăng lên theo cấp số nhân. Tất nhiên, tất cả các hệ thống đều có lỗ hổng, nhưng vấn đề là liệu các lỗ hổng này có thể bị lợi dụng và gây ra thiệt hại hay không.

những gì bạn đang tìm kiếm: lỗ hổng phần mềm là gì

Bạn đang xem: Lỗ hổng phần mềm là gì

Thảm họa an ninh mạng do lỗ hổng phần mềm gây ra thường được giải thích bởi ba yếu tố lý tưởng. đó là:

Ngày nay, nhiều tổ chức nhìn thấy các lỗ hổng trong hệ thống của họ đang bị khai thác. Ví dụ: đây là bảng hiển thị 10 sản phẩm phần mềm có nhiều lỗ hổng bảo mật nhất trong năm 2016 dựa trên điểm chuẩn hệ thống cvss:

số đơn đặt hàng

tên phần mềm

nhà phát triển

số lượng lỗ hổng bảo mật

1

android

google

523

2

debian linux

debian

327

3

ubuntu-linux

ubuntu

278

4

trình phát flash

adobe

266

5

nhảy

không có gì

260

6

mở sử dụng

không có gì

228

7

trình đọc acrobat dc

adobe

277

8

acrobat dc

adobe

277

9

nhào lộn

adobe

224

10

nhân linux

Xem thêm: Đơn Chất Phi Kim Là Gì – Cẩm nang Hải Phòng

linu

217

lỗi phần mềm

Ngay cả phần mềm tầm trung đơn giản, chỉ tốt cho một tác vụ chuyên biệt, cũng được tạo thành từ một lượng lớn mã. Cấu trúc của phần mềm là do con người thiết kế, và các dòng mã cũng được con người biết đến nên việc xảy ra lỗi là không thể tránh khỏi. Trong hầu hết các trường hợp, nếu một phần mềm được xuất bản một cách chuyên nghiệp, những lỗi này có thể không ảnh hưởng nhiều, đặc biệt là về các vấn đề bảo mật. nhiều nhất chúng ta sẽ thấy một chức năng nào đó không hoạt động, đôi khi phần mềm bị “treo” khi đang hoạt động hoặc hoạt động chậm …

Nhưng nói có không có nghĩa là không thể loại bỏ các lỗi nghiêm trọng liên quan đến bảo mật. nói rõ hơn một chút, đây là những lỗi phần mềm có thể bị người dùng bên ngoài lợi dụng để thay đổi cách thức hoạt động của phần mềm, thêm mã tự nhận biết, nắm bắt dữ liệu mà phần mềm quản lý … cũng như những nguyên nhân chủ quan như sự bất cẩn của người dùng (click vào các liên kết lạ, tải phần mềm độc hại), những lỗi này là một trong những kẽ hở chính mà hacker thường nhắm đến để xâm nhập vào hệ thống máy móc, từ máy chủ đến máy tính cá nhân của người dùng cuối. Nếu lỗ hổng này thuộc về một số phần mềm hiếm, nó chỉ thực hiện một nhiệm vụ đơn giản và không đóng vai trò chính trong hệ thống thì rõ ràng mối đe dọa bảo mật vẫn còn đó nhưng nó không nghiêm trọng. nhưng hệ thống phần mềm càng phức tạp thì việc kiểm soát sự xuất hiện của các lỗi này càng rõ ràng, cho dù các kỹ sư thiết kế có tay nghề cao đến đâu. và chính phần mềm này thường đóng vai trò then chốt, cũng như tác động đến nhiều ngóc ngách của hệ thống. Bằng cách vượt qua các kẽ hở do lỗi trong phần mềm này tạo ra, kẻ tấn công có thể thực hiện một số thay đổi nhất định đối với máy của người dùng hoặc giành quyền kiểm soát và truy cập vào thông tin nhạy cảm.

5 lỗ hổng bảo mật chính và phương pháp tấn công

Để tạo phần mềm an toàn, điều cần thiết là phải hiểu các lỗ hổng phần mềm. Tại đây, chúng ta sẽ có một cái nhìn tổng quan ngắn gọn về các lỗ hổng bảo mật quan trọng và nguy hiểm.

tiêm sql

lỗ hổng chèn sql tạo cơ hội cho tin tặc đưa mã độc vào câu lệnh sql. sql injection là một trong những loại hack eb bằng cách đưa mã lệnh / sqlquer vào đầu vào trước khi chuyển nó đến ứng dụng web để xử lý, bạn có thể đăng nhập mà không cần tên người dùng và mật khẩu, thực thi từ xa (thực thi từ a), kết xuất dữ liệu là gốc của máy chủ sql . công cụ được sử dụng để tấn công là bất kỳ trình duyệt web nào, chẳng hạn như internet explorer, netcape, lуnх…

vị trí trong danh sách các lỗ hổng bảo mật (cwe)

phân loại

nhận dạng

tên

1

cwe-89

“lỗi khi duy trì cấu trúc truy vấn sql (còn được gọi là chèn sql)”

ngôn ngữ lập trình bị ảnh hưởng

Bất kỳ ngôn ngữ mã hóa nào có thể được sử dụng trực tiếp chống lại cơ sở dữ liệu sql đều dễ bị tấn công kiểu này. tuy nhiên, đây là một số cách phổ biến hơn:

chèn lệnh hệ điều hành

Lỗ hổng chèn lệnh hệ điều hành xảy ra khi phần mềm nhúng dữ liệu do người dùng quản lý vào một lệnh, được xử lý tại trình bao. nếu dữ liệu không được xác minh, tin tặc có thể sử dụng các ký tự shell để thay đổi lệnh đang được thực thi.

phân loại

nhận dạng

tên

2

cwe 78

“Chèn lệnh hệ điều hành”

đệm oᴠerfloᴡ

buffer oᴠerfloᴡ (tràn bộ đệm) là một loại lỗ hổng bảo mật đã biết. xảy ra khi một chương trình cố gắng tải thêm dữ liệu vào bộ nhớ đệm, vượt quá dung lượng lưu trữ cho phép của chương trình. dữ liệu được ghi bên ngoài có thể làm hỏng chương trình, làm hỏng dữ liệu, thậm chí tạo điều kiện cho việc thực thi mã độc. các ngôn ngữ như java, phhon, visual và c # bao gồm các mảng kiểm tra ràng buộc và các kiểu chuỗi bản địa. do đó, lỗi tràn bộ đệm được coi là không thể tái tạo trong các môi trường đã biết bằng các ngôn ngữ này.

phân loại

nhận dạng

tên

3

cwe-120

“bộ đệm oᴠerfloᴡ cổ điển”

nhận dạng

tên

cwe 121

“Bộ đệm dựa trên ngăn xếp oᴠerfloᴡ“

cwe 122

“Bộ đệm dựa trên heap oᴠerfloᴡ”

cwe 123

“write-ᴡhat-ᴡcondition here”

cwe 124

“vi phạm giới hạn bắt đầu”

cw 125

“đọc ngoài giới hạn”

cwe 128

“lỗi điều chỉnh”

cwe 129

“Chưa đánh dấu sắp xếp trên thực tế”

cwe 131

Xem thêm: Chán lạp xưởng ngoài bắc, chị em lùng mua lạp xưởng ướp rượu áp xanh | Báo Dân trí

“tính toán kích thước bộ đệm không chính xác”

cwe 193

“hết lỗi”

cwe 466

“giá trị con trỏ trả về nằm ngoài phạm vi mong đợi”

chuỗi định dạng không được kiểm soát

Lỗ hổng này bao gồm việc chấp nhận đầu vào chưa được xác minh hoặc trái phép dưới dạng chuỗi định dạng để thực thi một hàm. điểm yếu này có thể dẫn đến việc thực thi mã độc hại và thậm chí làm hỏng hệ thống.

phân loại

nhận dạng

tên

23

cwe 134

“chuỗi định dạng không được kiểm soát”

ngôn ngữ lập trình bị ảnh hưởng

overflo số nguyênᴡ

Lỗ hổng số nguyên oerfloᴡ (tràn số nguyên) tồn tại khi tính toán cố gắng tăng giá trị số nguyên cao hơn số nguyên được sử dụng để lưu trữ trong biểu thức có liên quan. khi lỗi này xảy ra, giá trị số nguyên có thể được chuyển đổi thành một số rất nhỏ hoặc âm. điểm yếu này trở thành một vấn đề bảo mật lớn khi kết quả của các tính toán được sử dụng để xử lý các vòng điều khiển, xác định kích thước hoặc thực hiện các tác vụ như sao chép, cấp phát bộ nhớ, nối, v.v. cô ấy đưa ra quyết định.

phân loại

nhận dạng

tên

24

cw 190

“phong bì số nguyên hoặc oᴠerfloᴡ”

nhận dạng

tên

cwe 682

“tính toán không chính xác”

cwe 191

“các số nguyên bên dưới chuỗi”

cwe 192

“lỗi ép buộc”

hầu hết tất cả các ngôn ngữ đều bị ảnh hưởng; tuy nhiên, hậu quả cũng sẽ khác nhau tùy thuộc vào cách ngôn ngữ xử lý số nguyên.

vụ nổ không ngày: cuộc tấn công im lặng

Trên thực tế, có những lỗ hổng trong bất kỳ phần mềm nào có thể bị khai thác và sử dụng cho các mục đích xấu. thậm chí có những phần thiết kế khó có thể bị chỉ trích cho đến khi có những công nghệ cho phép người ngoài khai thác, buộc tác giả phải thiết kế lại cách thức hoạt động của sản phẩm. Khi cập nhật phần mềm mới, ngoài việc thỉnh thoảng bạn thấy các chức năng mới xuất hiện, hoặc hiệu suất được cải thiện, chắc chắn không ít lần bạn thấy changelog (danh sách các thay đổi) xuất hiện với hàng loạt các sửa lỗi gần đây nhất. Tất nhiên, những người tạo ra sản phẩm phải là những người hiểu rõ con vật cưng của bạn nhất: họ sẽ cố gắng hết sức để sửa chữa sai lầm mỗi khi phát hiện ra nó (ít nhất là hầu hết thời gian là như vậy). Với những sản phẩm phổ biến trên thị trường, do các công ty-tổ chức hoạt động chuyên nghiệp tung ra, điều này càng đúng.

nhưng không có gì là tuyệt đối. sẽ có lúc tác giả phát hiện ra lỗi của người ngoài, hoặc thậm chí không phát hiện ra. Không phải ngẫu nhiên mà các công ty lớn thường tổ chức các cuộc thi khai thác lỗ hổng trong sản phẩm của mình, đồng thời tuyển dụng nhân lực từ các cuộc thi đó, cũng như tuyển các hacker về làm. thực tế luôn giống nhau: một số người tài năng, những người khác thì không. Thậm chí, sẽ có lúc công ty Nhật Bản phát hiện ra lỗi nhưng thời gian hoàn thành sửa chữa lâu hơn thời gian hacker tìm ra công cụ khai thác, đồng thời hoàn thành công việc phá hoại, gián điệp, v.v. .steal với công cụ đó. đó cũng là một trong những lý do chúng tôi thấy các bài báo về vi phạm bảo mật thường chỉ xuất hiện nhiều tháng sau khi lỗi được sửa. hacker mũ trắng hiểu quá rõ rằng việc sửa lỗi đôi khi khó và phức tạp hơn nhiều so với việc khai thác lỗi cho mục đích hack, đó là lý do tại sao họ thường cho các nhà xuất bản hàng tháng để sửa lỗi trước bằng cách đăng chi tiết về lỗ hổng mà tôi đã phát hiện ra cho mục đích nghiên cứu.

xem thêm: tên miền .vn siêu khuyến mãi, tên miền việt nam khuyến mãi »canh me

còn tình huống tốt nhất thì sao? hacker đã phát hiện ra lỗi … và tất nhiên không thông báo cho ai, lặng lẽ đóng cửa thực hành để hoàn thiện công cụ khai thác lỗi, và âm thầm phát tán nó (phổ biến nhất là dưới dạng virus, sâu, v.v.) Trojan …). thậm chí bọn tội phạm có thể mang thông tin này để mua bán, trao đổi ngầm với nhau hoặc bán nó trong các bộ dụng cụ được biết đến để tìm hiểu và khai thác các lỗ hổng. nhà xuất bản hoàn toàn không biết về sự tồn tại của lỗ hổng đó chứ chưa nói đến việc tìm cách khắc phục. chỉ khi hậu quả trước mắt, họ mới tất bật tìm cách khắc phục và bồi thường cho người dùng, chẳng hạn như bữa tiệc của nhà trai hôm trước. vì cuộc tấn công được thực hiện khi nhà phát hành hoàn toàn không biết về sự tồn tại của các lỗ hổng này, nên có “0 ngày” để tìm cách sửa lỗi từ đó cái tên “zero day” ra đời.

Tóm lại, việc tồn tại lỗi phần mềm không phải là điều gì xa lạ, mối nguy hiểm chỉ xuất hiện khi công ty thua cuộc trong cả hai cuộc đua: phát hiện lỗi và sửa chữa nó.

quy trình khai thác

Bạn nên hiểu rằng các công cụ bảo mật hiện đại ngày nay như tường lửa, phần mềm chống vi-rút, phần mềm chống phần mềm độc hại … thường có cơ chế hoạt động thông minh để phát hiện khi một đoạn mã nào đó có hành động. bất kỳ ai nghi ngờ, bất kể mã có sẵn trong cơ sở dữ liệu, phần mềm độc hại hay không. nó giống như một thám tử có kinh nghiệm, người có thể phát hiện ra những dấu hiệu đáng ngờ của một tên trộm mà không cần trát hoặc từ “kẻ trộm” lớn trước trán. tuy nhiên, như đã đề cập, trường hợp xấu nhất là khi tin tặc phát hiện ra một lỗi không xác định và biết được một công cụ hoàn toàn mới để khai thác. một anh chàng có đủ khả năng để giành vị trí đầu tiên trong cả hai cuộc đua (không nói về các vật phẩm tái sử dụng công cụ ở đây) chắc chắn có kinh nghiệm tránh những con mắt tò mò của các công cụ bảo mật. . bởi vì cho đến khi lỗ hổng được phát hiện đầy đủ, các biện pháp mà các công cụ bảo mật cung cấp chỉ là tạm thời. một chuỗi sự kiện điển hình thường như sau:

1. có một lỗ hổng bảo mật có thể bị khai thác bằng các công nghệ hiện có.

2. kẻ tấn công đã phát hiện ra lỗ hổng bảo mật.

3. người này ngay lập tức tiến hành tìm hiểu và phân phối việc khai thác này.

4. nhà xuất bản đồng thời phát hiện ra lỗi và ngay lập tức tìm cách khắc phục.

5. lỗ hổng bảo mật được tiết lộ công khai.

6. Phần mềm chống vi-rút được cập nhật để phát hiện khi mã đang cố gắng khai thác lỗ hổng này.

7. nhà xuất bản đã hoàn thành phiên bản.

8. công ty đã hoàn thành việc phát hành bản vá cho tất cả khách hàng.

thời gian của cuộc tấn công đầu tiên rõ ràng là giữa bước 3 và 5. theo một nghiên cứu gần đây từ trường đại học carnegie mellon ở Hoa Kỳ. Ở Mỹ, giai đoạn này kéo dài trung bình 10 tháng. tuy nhiên, không phải tất cả người dùng cuối đều gặp rủi ro trong giai đoạn này. Kiểu tấn công lợi dụng lúc nhà phát hành chưa phát hiện (hoặc chưa sửa lỗi) có ưu điểm lớn nhất là kín đáo – có lợi cho việc đánh cắp hoặc phá hoại thông tin mà không bị phát hiện. bởi vì ở giai đoạn này đối tượng mục tiêu thường là một nhóm người có thể mang lại lợi ích cụ thể cho kẻ tấn công để sau đó hắn có thể rút lui một cách an toàn. Những mục tiêu đó có thể là các tổ chức và tập đoàn mà người này muốn tiêu diệt hoặc thông tin tài khoản có thể được sử dụng để thu lợi.

Cũng theo nghiên cứu này, giai đoạn từ bước 5 đến bước 8 thực sự nguy hiểm. đây là khi thông tin về lỗ hổng được công bố và cùng với các công ty phát triển chống vi-rút, những tin tặc không biết về lỗi này cũng có thể truy cập vào thông tin. làn sóng tấn công không còn âm thầm mà dữ dội hơn rất nhiều. Nếu những cuộc tấn công trước nguy hiểm như một nhát dao đâm sau lưng, thì cuộc tấn công hiện tại giống như một loạt các cuộc tấn công trực diện, không hiệu quả với những người cẩn thận nhưng cũng nguy hiểm không kém nếu họ gặp phải những người lơ là bảo mật hoặc xem nhẹ việc sử dụng. chất lượng thấp. công cụ bảo mật, cập nhật chậm. các đối tượng không có khả năng phát hiện lỗi, ngoài việc không phát triển được công cụ cũng tham gia từ điểm này nên việc phát tán và tìm ra các máy có hệ thống bảo mật yếu sẽ nhanh hơn rất nhiều. khi số lượng kẻ tấn công tăng lên, động cơ và phương thức tấn công cũng đa dạng hơn, không còn giới hạn ở hành vi trộm cắp và ăn cắp.

Sau khi đọc đến đây, bạn có thể hiểu rằng khi nói đến việc bảo vệ thông tin và hệ thống của bạn, cũng như cập nhật các biện pháp phòng thủ, việc cập nhật thông tin của bạn cũng quan trọng không kém. . Nói chung, các lỗi hệ thống phổ biến và quan trọng nghiêm trọng như jama gần đây sẽ được báo chí đưa tin rộng rãi ngay sau khi nhà xuất bản phát hành nó. tuy nhiên, phần mềm có danh tiếng và mức độ phổ biến “khiêm tốn” hơn thường không được ưa chuộng bằng. bởi vì ngoài việc chú ý cập nhật bản vá, cần ngừng sử dụng phần mềm cũ không còn được chăm sóc và sửa lỗi càng sớm càng tốt. ví dụ? microsoft liên tục kêu gào xp, ie6 để nghỉ ngơi …

Xem thêm: Ban Công là gì? Lô gia là gì? Khác nhau giữa 2 loại hình này?

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *