Làm thế nào để ngăn chặn các cuộc tấn công không ngày


21

Theo truyền thống, tất cả các chương trình chống vi-rút và hệ thống IPS hoạt động bằng cách sử dụng các kỹ thuật dựa trên chữ ký. Tuy nhiên, điều này không giúp ích nhiều để ngăn chặn các cuộc tấn công zero-day .

Vì vậy, những gì có thể được thực hiện để ngăn chặn các cuộc tấn công zero-day?


1
Ngoài các điểm trong câu trả lời tôi đề xuất bên dưới, ngay cả khi bạn chạy một số phần mềm có khai thác 0 ngày. Nếu bạn không chạy hệ thống đó trên internet công cộng, thì bạn không dễ bị tấn công trực tiếp. Do đó tường lửa là bạn của bạn và nếu bạn thực sự muốn chạy một số phần mềm rủi ro bảo mật mới, thì bạn có thể thiết lập nó trên một số mạng khác trên đám mây, nơi nó có thể bị hack và không ảnh hưởng đến bất kỳ hệ thống nào khác.
Tom H

Các mối đe dọa 0 ngày và chưa biết chính xác là lý do tại sao các heuristic được sử dụng trong bất kỳ phần mềm chống vi-rút / chống phần mềm độc hại nào có giá trị. Thật không may, heuristic thường bị vô hiệu hóa vì hiệu suất hit.
John Gardeniers

0 ngày chỉ là một danh mục, mỗi thành viên của thể loại này rất khác nhau. Bạn không thể có một cách tiếp cận mà bạn xem xét thực hiện bảo mật đối với 0 ngày. Đó là chất lượng của hệ thống bảo mật của bạn mà cuối cùng sẽ tạo ra sự khác biệt giữa một cuộc xâm nhập lén lút thành công và khai thác không hoạt động hoặc khai thác được phát hiện. Như ai đó đã nói, tập trung vào phát hiện và thời gian phản hồi nhanh. Giám sát từng hệ thống, lưu lượng truy cập và cập nhật các bản cập nhật bảo mật. Đó là một công việc toàn thời gian, hoặc ít nhất, nó nên được.
Aki

Có lẽ cũng nhận được một số câu trả lời tốt từ đây - security.stackexchange.com
Bratch

linux ở khắp mọi nơi. không có cửa sổ hỏi google.
Neil McGuigan

Câu trả lời:


37

Tôi nghĩ rằng bạn thừa nhận một sự thật sys-admin thú vị ở đó, đó là

trừ khi bạn có thể giảm xác suất bị hack về 0 thì cuối cùng , đến một lúc nào đó, bạn sẽ bị hack .

Đây chỉ là một sự thật cơ bản của toán học và xác suất, mà đối với bất kỳ xác suất khác không của một sự kiện. Sự kiện cuối cùng đã xảy ra ...

Vì vậy, 2 nguyên tắc vàng để giảm tác động của sự kiện "cuối cùng bị hack" này là;

  1. Nguyên tắc đặc quyền tối thiểu

    Bạn nên định cấu hình dịch vụ để chạy với tư cách người dùng với các quyền ít nhất có thể cần thiết để hoàn thành các tác vụ của dịch vụ. Điều này có thể chứa một tin tặc ngay cả sau khi chúng đột nhập vào máy.

    Ví dụ, một tin tặc đột nhập vào hệ thống sử dụng dịch vụ khai thác máy chủ web Apache trong 0 ngày rất có thể bị giới hạn chỉ trong bộ nhớ hệ thống và tài nguyên tệp có thể được truy cập bởi quá trình đó. Tin tặc có thể tải xuống các tệp nguồn html và php của bạn và có thể xem xét cơ sở dữ liệu mysql của bạn, nhưng chúng không thể lấy được root hoặc mở rộng sự xâm nhập của chúng ngoài các tệp có thể truy cập được.

    Nhiều cài đặt máy chủ web Apache mặc định tạo nhóm và người dùng 'apache' theo mặc định và bạn có thể dễ dàng định cấu hình tệp cấu hình chính của Apache (httpd.conf) để chạy apache bằng các nhóm đó.

  2. Nguyên tắc tách đặc quyền

    Nếu trang web của bạn chỉ cần truy cập chỉ đọc vào cơ sở dữ liệu, thì hãy tạo một tài khoản chỉ có quyền chỉ đọc và chỉ cho cơ sở dữ liệu đó.

    SElinux là một lựa chọn tốt để tạo bối cảnh cho bảo mật, áo giáp ứng dụng là một công cụ khác. Bastille là một lựa chọn trước đây để làm cứng.

    Giảm hậu quả của bất kỳ cuộc tấn công nào, bằng cách tách sức mạnh của dịch vụ đã bị xâm phạm thành "Hộp" của chính nó.

Quy tắc bạc cũng tốt.

Sử dụng các công cụ có sẵn. (Rất khó có khả năng bạn có thể làm tốt như những kẻ là chuyên gia bảo mật, vì vậy hãy sử dụng tài năng của họ để bảo vệ chính mình.)

  1. mã hóa khóa công khai cung cấp bảo mật tuyệt vời. sử dụng nó. mọi nơi.
  2. Người dùng là những kẻ ngốc, thực thi sự phức tạp của mật khẩu
  3. hiểu lý do tại sao bạn đang tạo ra ngoại lệ cho các quy tắc trên. xem xét ngoại lệ của bạn thường xuyên.
  4. giữ ai đó để giải thích cho sự thất bại nó giữ bạn trên ngón chân của bạn.

Tôi nghĩ đây là sự thật - theo định nghĩa, bạn không thể làm gì nhiều để ngăn chặn việc khai thác 0 ngày. Nếu bạn có phần mềm dễ bị tổn thương, bạn có phần mềm dễ bị tổn thương - do đó, cách duy nhất để hành động là giảm bất kỳ tác động và tấn công bề mặt nào. Điểm tuyệt vời về tường lửa, mặc dù đáng lưu ý rằng việc khai thác 0 ngày cho MS Outlook có thể được gửi qua e-mail chẳng hạn.
Dan

2
Đúng, điểm lấy về các sản phẩm thư MS. Nhưng có những sự tương tự với tường lửa cho thư, ví dụ như bất kỳ ai có tất cả các phần mở rộng loại VBscript, ActiveX, OLE sẽ bị bỏ lỡ hoàn toàn việc hack, không biết gì về cuộc tàn sát ... ;-)
Tom H

1
+1 nhưng viết theo Quy tắc Bạc 1 "Bất cứ ai nghĩ rằng vấn đề của anh ta có thể được giải quyết bằng mật mã, không hiểu vấn đề của anh ta và không hiểu về mật mã." - Needham / Lampson;)
Đậu phộng

@Peanut Tôi thích khóa công khai vì nó tránh sử dụng mật khẩu. Sau khi xâm nhập lý thuyết, không cần thiết lập lại mật khẩu bởi vì, không có mật khẩu để đặt lại và chỉ có khóa công khai bị xâm phạm. Thậm chí một cơ sở dữ liệu mật khẩu băm có thể được sử dụng để xác minh hoặc ngoại tuyến bẻ khóa tài khoản.
Tom H

@TomH Nhận xét của tôi là tặc lưỡi :) Thật thú vị, vì vậy trong hệ thống của bạn có lẽ máy chủ sẽ gửi cho khách hàng một dữ liệu + dữ liệu khác để đăng nhập và khách hàng sử dụng tên người dùng + dữ liệu đã ký để đăng nhập?
Đậu phộng

16

Danh sách trắng, không danh sách đen

Bạn đang mô tả một cách tiếp cận danh sách đen. Một cách tiếp cận danh sách trắng sẽ an toàn hơn nhiều.

Một câu lạc bộ độc quyền sẽ không bao giờ cố gắng liệt kê tất cả những người không thể vào; họ sẽ liệt kê tất cả những người có thể vào và loại trừ những người không có trong danh sách.

Tương tự như vậy, cố gắng liệt kê tất cả mọi thứ không nên truy cập vào máy sẽ bị tiêu diệt. Hạn chế quyền truy cập vào một danh sách ngắn các chương trình / địa chỉ IP / người dùng sẽ hiệu quả hơn.

Tất nhiên, giống như bất cứ điều gì khác, điều này liên quan đến một số sự đánh đổi. Cụ thể, một danh sách trắng là bất tiện ồ ạt và yêu cầu bảo trì liên tục.

Để tiến xa hơn trong sự đánh đổi, bạn có thể có được sự bảo mật tuyệt vời bằng cách ngắt kết nối máy khỏi mạng.


+1 Đây là một bổ sung tuyệt vời cho câu trả lời của Tom H.
Chad Harrison

1
Điều nguy hiểm là trong một quy tắc như vậy phát triển thành một kích thước mà nó không thể hiểu, duy trì, giải thích, kiểm toán. Mà là chết người.
rackandboneman

11

Phát hiện dễ dàng hơn (và đáng tin cậy hơn) so với phòng ngừa

Theo định nghĩa, bạn không thể ngăn chặn một cuộc tấn công ngày không. Như những người khác đã chỉ ra, bạn có thể làm rất nhiều để giảm tác động của một cuộc tấn công ngày không, và bạn nên, nhưng đó không phải là kết thúc của câu chuyện.

Hãy để tôi chỉ ra rằng, ngoài ra, bạn nên dành tài nguyên để phát hiện khi một cuộc tấn công đã xảy ra, kẻ tấn công đã làm gì và kẻ tấn công đã làm điều đó như thế nào. Ghi nhật ký toàn diện và an toàn cho tất cả các hoạt động mà tin tặc có thể thực hiện sẽ giúp phát hiện một cuộc tấn công dễ dàng hơn và quan trọng hơn là xác định thiệt hại đã thực hiện và khắc phục cần thiết để phục hồi sau cuộc tấn công.

Trong nhiều bối cảnh dịch vụ tài chính, chi phí bảo mật về sự chậm trễ và chi phí cao trong việc thực hiện các giao dịch cao đến mức nên tập trung nguồn lực vào việc phát hiện và đảo ngược các giao dịch gian lận thay vì thực hiện các biện pháp rộng rãi được thiết kế để ngăn chặn chúng ngay từ đầu . Lý thuyết là không có biện pháp nào có hiệu quả 100%, do đó, các cơ chế phát hiện và đảo ngược cần phải được xây dựng bằng mọi cách. Hơn nữa, phương pháp này đã chịu được thử thách của thời gian.


1
+1 Yep, tôi đoán bạn không thể trả lời nếu bạn không biết điều đó đã xảy ra ... đã cho một cơ hội khác để trả lời Tôi có thể đã bị mắc kẹt trong điều gì đó về Sans 6 bước ...
Tom H

+1, rất đúng. Phòng ngừa sẽ yêu cầu kiểm toán. Và kiểm toán không thể chứng minh rằng một hệ thống không có lỗi.
Aki

@Tom, bạn luôn có thể chỉnh sửa câu trả lời của bạn.
Old Pro

4

Ngày không có nghĩa là chữ ký không được biết đến. Điều đó có nghĩa là không có bản vá nào dành cho người dùng phần mềm, giúp đóng lỗ hổng. Vì vậy, IPS rất hữu ích để bảo vệ khỏi việc khai thác các lỗ hổng zero-day. Nhưng bạn không nên chỉ dựa vào nó. Tạo và tuân theo chính sách bảo mật vững chắc, làm cứng máy chủ của bạn, cập nhật phần mềm và luôn có 'Kế hoạch B'


3

Grsecurance hoặc SELinux rất tốt trong việc giúp ngăn chặn các cuộc tấn công 0 ngày bằng cách làm cứng hạt nhân.

Trích dẫn từ trang web "Chỉ bảo mật mới cung cấp sự bảo vệ chống lại các mối đe dọa tiên tiến và các mối đe dọa tiên tiến khác mua cho quản trị viên thời gian quý giá trong khi các bản sửa lỗi dễ bị tổn thương để phân phối và thử nghiệm sản xuất."


2

Nếu bạn đang sử dụng Apache, các mô-đun như mod_security có thể giúp bạn ngăn chặn các vectơ tấn công phổ biến. Với mod_security bạn có thể

  • chặn các yêu cầu trông giống như các cuộc tấn công SQL SQL
  • chặn các máy khách có địa chỉ IP bị liệt vào danh sách đen tại một số RBL
  • chuyển hướng yêu cầu đến một nơi khác nếu một số điều kiện bạn xác định được đáp ứng
  • chặn yêu cầu dựa trên quốc gia khách hàng
  • tự động phát hiện và chặn các bot độc hại phổ biến

... và nhiều, nhiều hơn nữa. Tất nhiên, bằng cách sử dụng một mô-đun phức tạp như mod_security, bạn cũng có thể chặn các máy khách thực tế của mình và ở phía máy chủ, mod_security sẽ thêm một số chi phí.

Bạn cũng bắt buộc phải cập nhật phần mềm máy chủ của mình và đảm bảo rằng bạn đã tắt từng mô-đun & daemon mà bạn sẽ không sử dụng.

Các chính sách tường lửa chặt chẽ là điều bắt buộc và trong nhiều trường hợp, các cải tiến bảo mật bổ sung như SELinux hoặc bảo mật có thể ngăn chặn cuộc tấn công.

Nhưng, dù bạn làm gì, những kẻ xấu vẫn rất kiên nhẫn, rất sáng tạo và rất lành nghề. Có một kế hoạch chi tiết phải làm gì khi bạn bị hack.


1

Tôi muốn thêm một vài quy tắc bằng đồng:

  1. Nếu tiếp xúc, không chạy những gì không cần chạy.

  2. Đừng biến mình thành mục tiêu xứng đáng của một cuộc tấn công nhắm mục tiêu, chuyên dụng.

  3. Việc bảo vệ chống lại mọi cuộc tấn công nhắm mục tiêu như vậy có thể thường không kinh tế / không thực tế. Kiểm tra xem ai có thể có hứng thú nghiêm trọng trong việc phá vỡ những gì và bắt đầu từ đó.

  4. Xem xét "giảm thiểu thông tin có sẵn bên ngoài" và "tránh xa các mặc định nổi tiếng" không gì khác hơn là bảo mật bởi sự tối nghĩa (thường bị hiểu nhầm là "vô giá trị" trái ngược với "một lớp không đủ") và bỏ qua nó là sự kiêu ngạo nguy hiểm. Một khóa có thể hack trên một cánh cửa sẽ không giữ được tên trộm nhưng có thể sẽ tránh được con sói.


1

Một cỗ máy cồng kềnh với bộ bảo mật khổng lồ thường biến PC tầm thường thành khủng long và tứ giác thành những chiếc máy cũ thông thường. Tôi đã cố định đủ (hàng ngàn) để hiểu điều đó hầu hết là đúng. Nếu bạn hiểu không có gì là bảo mật 100% và chi phí hiệu suất giảm theo cấp số nhân vì bảo mật trong khi xác suất lây nhiễm chỉ giảm thời trang tuyến tính. Hầu hết các kết quả khi tôi ngừng xem xét các so sánh là 90% tối đa trong một thử nghiệm thực tế với hàng ngàn rủi ro, có nghĩa là 10% các ca nhiễm trùng không được phát hiện hoặc quá muộn. trong khi độ trễ của PC đã tăng 200 đến 900%. OSX có một tình huống lý tưởng là điều thiết yếu không bảo mật tốt hơn nhưng rủi ro tấn công nhỏ hơn do mục tiêu nhỏ hơn chỉ chiếm 4% thị phần trong các sản phẩm không phải điện thoại / pad trong năm 2010. Điều đó sẽ thay đổi nhưng tôi sẽ không thay đổi triết lý của tôi về việc giữ cho hệ điều hành của tôi sạch sẽ, gọn gàng và có ý nghĩa. Tôi làm tương tự cho XP và Win7. Tôi có một kho công cụ sửa chữa khổng lồ nhưng chỉ cần một ứng dụng để sửa tất cả những người bị nhiễm và chỉ mất 10 đến 20 phút chứ không phải vài giờ hoặc vài ngày.

Phương pháp của tôi mà làm việc;

  1. Giáo dục người dùng, không nhấp vào cảnh báo bảo mật trừ khi bạn thực sự biết những gì họ trái ngược với hàng trăm ROgues là bản sao của các cảnh báo tốt. Những người không thể được đào tạo dễ dàng có được các tài khoản không phải quản trị viên và các trình duyệt được đóng hộp với java và JS bị vô hiệu hóa. Nhưng nếu tôi kích hoạt nó cho họ, đừng lo lắng, chỉ cần 15 ~ 20 phút để khôi phục hoặc sửa chữa.

    1. SYstem Restore rất tốt, nhưng có nhiều hạn chế, một trong số đó là các mục trong thư mục Tài liệu và thư mục Người dùng tạm thời được bảo vệ nơi trình điều khiển giả mạo có thể được cài đặt và khởi động và lây nhiễm cho bạn trong lần khởi động tiếp theo.

    2. UAC hữu ích cho nhiều thứ nhưng một PITA như vậy mà tôi không bao giờ sử dụng và dựa vào các công cụ tốt hơn để phát hiện các phần khởi động và / hoặc các quy trình mới, bao gồm nhưng không giới hạn;

      • Winpatrol.com vẫn là khoản đầu tư tốt nhất tôi thực hiện để bảo mật và vẫn miễn phí cho người khác. Nó bao gồm 80% các vấn đề trong đó các phần khởi động được thêm vào trước khi được thực thi và có thể được phát hiện và vô hiệu hóa hoặc xóa bởi dấu nhắc của người dùng. Tuy nhiên, nếu bạn là loại lo lắng, người không thể đưa ra quyết định uống thuốc hoặc chỉ sử dụng Windows Defender . Không phải là tốt nhất cho phạm vi bảo hiểm nhưng là một trong những tỷ lệ bang / buck cao nhất .. giả vờ / mất hiệu suất hoặc tăng tỷ lệ trễ.

      • Tiện ích khởi động của Mike Lin là công cụ đánh chặn nhẹ nhất của các công ty khởi nghiệp được lưu trữ tại hơn một chục địa điểm đăng ký

      • Script Guard là một công cụ chặn tập lệnh hữu ích cho các tập lệnh kiddy

      • ProcessGuard một chương trình không còn tồn tại cũ hoạt động như tường lửa cho bất kỳ ngoại lệ mới nào, nhưng làm phiền bạn để phê duyệt, tuy nhiên nó an toàn và gọn gàng sau khi bạn chấp nhận một nguồn đáng tin cậy hoặc bỏ qua hoặc chặn một nguồn không đáng tin cậy.

      • Một tiện ích bổ sung trong danh sách đen cho trình duyệt của bạn tốt như Web of Trust (WOT) , nhưng Chrome có một phần được bao gồm trong một kiểu tương tự nhưng ở mức độ nhỏ hơn.

      • một danh sách đen có thể nhận được rất lớn cho các tập tin HOSTS và nếu bạn sử dụng này (> 1MB là rất lớn khi quét trong 4KB khối mỗi 10 phút., Nhưng nếu bạn làm thế, tôi khuyên bạn nên disabing dịch vụ DNS cache để giảm quét định kỳ redunant bởi tất cả các ứng dụng mà đang hoạt động với các đặc quyền tường lửa.

      • Vô hiệu hóa Lập chỉ mục tệp nếu bạn không thực sự sử dụng nó cho email và mọi thứ, bởi vì nó sinh ra bộ AV của bạn để quét mọi tệp được truy cập mọi lúc, hết lần này đến lần khác .. thật dư thừa.

Một số có thể ngoại lệ cho danh sách một phần này ra khỏi đỉnh đầu của tôi, nhưng tôi tiết kiệm thời gian để bảo vệ PC của tôi và hoạt động trong một môi trường nạc. Kiểm toán thường xuyên để xác nhận an ninh của tôi được thực hiện vào ban đêm chứng minh thực hành miễn phí lo lắng của tôi là hợp lý. Tôi vẫn còn một nghìn nhật ký HJT, nhật ký combofix.txt và nhật ký Runscanner để hỗ trợ ý kiến ​​của tôi về các phương pháp chữa trị và cân bằng hiệu suất / bảo mật tốt hơn.

  • Tránh tải xuống bất cẩn / cài đặt các tệp phương tiện của exe hoặc windows có thể thực thi các scip (ví dụ: WMA, .WMV) không giống như .mp3 hoặc .avi.

  • Tránh tất cả các quảng cáo nhắm vào các nút lớn để tải xuống hoặc cập nhật bảo mật của bạn , điều này có thể làm bạn mất tập trung vào bản cập nhật miễn phí trên các trình tổng hợp tải xuống như hippo dot com .. cnet không tệ. Hãy thật cẩn thận. Một số trang web sử dụng quảng cáo của bên thứ 3 và không có kiểm soát nội dung.

  • Tôi đã ghi lại một ví dụ điển hình trong bài thuyết trình powerpoint 10 trang, nếu có ai quan tâm, hãy hỏi. Làm thế nào dễ dàng bỏ qua các adive trên có thể khiến bạn bị nhiễm bệnh.

Tất cả cho bây giờ.

Tony Stewart EE từ năm 1975.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.