Có lẽ các loại mối đe dọa phức tạp nhất đối với hệ thống máy tính được trình bày bởi các chương trình khai thác lỗ hổng trong hệ thống máy tính. Những mối đe dọa như vậy được gọi là phần mềm độc hại hoặc phần mềm độc hại. Trong bối cảnh này, chúng tôi lo ngại về các mối đe dọa đối với các chương trình ứng dụng cũng như các chương trình tiện ích, chẳng hạn như trình soạn thảo và trình biên dịch cũng như các chương trình cấp hạt nhân.
Các bài viết liên quan:
Chương này kiểm tra phần mềm độc hại, đặc biệt chú trọng đến vi rút và sâu. Chương này bắt đầu với một cuộc khảo sát về các loại phần mềm độc hại khác nhau, với xem xét chi tiết hơn về bản chất của virus và sâu. Sau đó, chúng tôi chuyển sang tấn công từ chối dịch vụ phân tán. Xuyên suốt, cuộc thảo luận đưa ra cả các mối đe dọa và các biện pháp đối phó.
Tổng quan Malicious Software
Thuật ngữ trong lĩnh vực này gây ra nhiều vấn đề do thiếu sự thống nhất chung về tất cả các thuật ngữ và vì một số loại trùng lặp. Bảng 21.1 là một hướng dẫn hữu ích.
Phần mềm độc hại có thể được chia thành hai loại: những phần mềm cần máy chủ lưu trữ chương trình và những chương trình độc lập. Trước đây, được gọi là ký sinh, về cơ bản là các đoạn chương trình không thể tồn tại độc lập với một số chương trình ứng dụng, tiện ích hoặc chương trình hệ thống thực tế. Virus, bom logic,
Bảng 21.1 Thuật ngữ của các chương trình độc hại
và backdoor là những ví dụ. Phần mềm độc lập độc lập là một chương trình độc lập có thể được lập lịch và chạy bởi hệ điều hành. Các chương trình giun và bot là những ví dụ.
Chúng tôi cũng có thể phân biệt giữa những mối đe dọa phần mềm không có uy tín và những mối đe dọa phần mềm có. Trước đây là các chương trình hoặc các đoạn chương trình được kích hoạt bởi một trình kích hoạt. Ví dụ như bom logic, backdoor và chương trình bot. Phần sau bao gồm một đoạn chương trình hoặc một chương trình độc lập, khi được thực thi, có thể tạo ra một hoặc nhiều bản sao của chính nó để trở thành được kích hoạt sau trên cùng một hệ thống hoặc một số hệ thống khác. Vi rút và sâu là những ví dụ.
Trong phần còn lại của phần này, chúng tôi sẽ khảo sát ngắn gọn một số danh mục chính của phần mềm độc hại, hoãn thảo luận về các chủ đề chính của vi rút và sâu cho đến các phần sau.
Xem thêm Quản trị Password, bảo mật Password
Backdoor
Cửa hậu, còn được gọi là cửa sập, là một điểm vào bí mật trong một chương trình cho phép ai đó biết cửa hậu có thể truy cập mà không cần thông qua các thủ tục truy cập bảo mật thông thường. Các lập trình viên đã sử dụng backdoor hợp pháp trong nhiều năm để gỡ lỗi và kiểm tra các chương trình; một cửa hậu như vậy được gọi là một móc bảo trì. Điều này thường được thực hiện khi lập trình viên đang phát triển ứng dụng có quy trình xác thực hoặc quá trình thiết lập dài, yêu cầu người dùng nhập nhiều giá trị khác nhau để chạy ứng dụng. Để gỡ lỗi chương trình, nhà phát triển có thể muốn đạt được các đặc quyền đặc biệt hoặc tránh tất cả các thiết lập và xác thực cần thiết. Lập trình viên cũng có thể muốn đảm bảo rằng có một phương pháp kích hoạt chương trình nếu có vấn đề gì xảy ra với quy trình xác thực đang được tích hợp trong ứng dụng. Cửa hậu là mã nhận dạng một số chuỗi đầu vào đặc biệt hoặc được kích hoạt bằng cách chạy từ một ID người dùng nhất định hoặc bởi một chuỗi sự kiện không chắc chắn.
Backdoor trở thành mối đe dọa khi các lập trình viên vô đạo đức sử dụng chúng để truy cập trái phép. Cửa hậu là ý tưởng cơ bản cho lỗ hổng bảo mật được miêu tả trong bộ phim Trò chơi chiến tranh. Một ví dụ khác là trong quá trình phát triển Multics, các cuộc thử nghiệm thâm nhập đã được thực hiện bởi một “đội hổ” của Không quân (mô phỏng kẻ thù). Một chiến thuật được sử dụng là gửi một bản cập nhật hệ điều hành không có thật đến một trang web đang chạy Multics. Bản cập nhật chứa một con ngựa thành Troy (được mô tả sau) có thể được kích hoạt bởi một cửa hậu và cho phép đội hổ có quyền truy cập. Mối đe dọa được thực hiện tốt đến mức các nhà phát triển Đa phương tiện không thể tìm thấy nó, ngay cả sau khi họ được thông báo về sự hiện diện của nó [ENGE80].
Rất khó thực hiện các điều khiển hệ điều hành cho các cửa sau. Các biện pháp bảo mật phải tập trung vào các hoạt động phát triển chương trình và cập nhật phần mềm.
Logic Bomb
Một trong những loại mối đe dọa chương trình lâu đời nhất, vi rút và sâu ăn thịt, là Bom logic. Bom logic là mã được nhúng trong một số chương trình hợp pháp được thiết lập để “phát nổ” khi các điều kiện nhất định được đáp ứng. Ví dụ về các điều kiện có thể được sử dụng làm kích hoạt bom logic là sự hiện diện hoặc vắng mặt của một số tệp nhất định, một ngày cụ thể trong tuần hoặc một người dùng cụ thể đang chạy ứng dụng. Sau khi được kích hoạt, bom có thể làm thay đổi hoặc xóa dữ liệu hoặc toàn bộ tệp, gây dừng máy hoặc gây ra một số thiệt hại khác. Một ví dụ nổi bật về cách có thể sử dụng bom logic là trường hợp của Tim Lloyd, người bị kết tội đặt bom logic khiến công ty của anh ta, Omega Engineering, hơn 10 triệu đô la, đã làm trật bánh chiến lược tăng trưởng của công ty và cuối cùng dẫn đến việc sa thải. Cuối cùng, Lloyd bị kết án 41 tháng tù và yêu cầu bồi thường 2 triệu USD.
Trojan Horses
Trojan horse1 là một chương trình hoặc thủ tục lệnh hữu ích, hoặc có vẻ hữu ích, có chứa mã ẩn, khi được gọi ra, thực hiện một số chức năng không mong muốn hoặc có hại.
Các chương trình Trojan Horse có thể được sử dụng để thực hiện các chức năng một cách gián tiếp mà người dùng trái phép không thể thực hiện trực tiếp.
Ví dụ: để có quyền truy cập vàotệp của người dùng khác trên hệ thống dùng chung, người dùng có thể tạo chương trình Trojan horse mà khi được thực thi sẽ thay đổi quyền truy cập tệp của người dùng để bất kỳ người dùng nào cũng có thể đọc được tệp.
Sau đó, tác giả có thể khiến người dùng chạy chương trình bằng cách đặt nó vào một thư mục chung và đặt tên nó sao cho nó có vẻ là một chương trình hoặc ứng dụng tiện ích hữu ích.
Một ví dụ là một chương trình bề ngoài tạo ra một danh sách các tệp của người dùng ở định dạng mong muốn. Sau khi người dùng khác đã chạy chương trình, tác giả của chương trình sau đó có thể truy cập thông tin trong tệp của người dùng.
Một ví dụ về chương trình Trojan Horse mà khó phát hiện là một trình biên dịch đã được sửa đổi để chèn thêm mã vào các chương trình nhất định khi chúng được biên dịch, chẳng hạn như chương trình đăng nhập hệ thống [THOM84]. Mã này tạo một cửa sau trong chương trình đăng nhập cho phép tác giả đăng nhập vào hệ thống bằng mật khẩu đặc biệt. Con ngựa thành Troy này không bao giờ có thể được phát hiện bằng cách đọc mã nguồn của chương trình đăng nhập.
Xem thêm Security: sự xâm phạm dữ liệu và phần mềm
Một động lực phổ biến khác cho con ngựa thành Troy là phá hủy dữ liệu. Cácchương trình dường như đang thực hiện một chức năng hữu ích (ví dụ: chương trình máy tính), nhưng nó cũng có thể đang lặng lẽ xóa tệp của người dùng. Ví dụ, một giám đốc điều hành của CBS đã trở thành nạn nhân của một con ngựa thành Troy đã phá hủy tất cả thông tin có trong bộ nhớ của cộng sự của anh ta [TIME90]. Con ngựa thành Troy được cấy vào một quy trình đồ họa được cung cấp trên hệ thống bảng thông báo điện tử.
Ngựa thành Troy phù hợp với một trong ba mô hình:
- Tiếp tục thực hiện chức năng của chương trình gốc và thực hiện thêm một hoạt động độc hại riêng biệt
- Tiếp tục thực hiện chức năng của chương trình gốc nhưng sửa đổi chức năng để thực hiện hoạt động độc hại (ví dụ: phiên bản Trojan horse của đăng nhập chương trình thu thập mật khẩu) hoặc để ngụy trang hoạt động độc hại khác (ví dụ: phiên bản Trojan horse của chương trình liệt kê quy trình không hiển thị một số quy trình độc hại)
- Thực hiện một chức năng độc hại thay thế hoàn toàn chức năng của chương trình gốc
Xem thêm IP security( bảo mật tầng Internet Protocol)
Mobile Code
Mã di động đề cập đến các chương trình (ví dụ: tập lệnh, macro hoặc lệnh di động khác) có thể được chuyển không thay đổi đến một tập hợp nền tảng không đồng nhất và thực thi với ngữ nghĩa giống hệt nhau [JANS01]. Thuật ngữ này cũng áp dụng cho các tình huống liên quan đến một tập hợp lớn các nền tảng đồng nhất (ví dụ: Microsoft Windows).
Mã di động được truyền từ một hệ thống từ xa đến một hệ thống cục bộ và sau đó được thực thi trên hệ thống cục bộ mà không có chỉ dẫn rõ ràng của người dùng. Mã di độngthường hoạt động như một cơ chế để vi-rút, sâu hoặc ngựa thành Troy được truyền đến máy trạm của người dùng. Trong các trường hợp khác, mã di động lợi dụng các lỗ hổng để thực hiện việc khai thác riêng của nó, chẳng hạn như truy cập dữ liệu trái phép hoặc xâm nhập gốc. Các phương tiện phổ biến cho mã di động bao gồm các ứng dụng Java, ActiveX, JavaScript và VBScript. Các cách phổ biến nhất để sử dụng mã di động cho các hoạt động độc hại trên hệ thống cục bộ là viết mã trang web chéo, các trang web tương tác và động, e-mail tệp đính kèm và tải xuống từ các trang web không đáng tin cậy hoặc phần mềm không đáng tin cậy.
Xem thêm S / MIME là gì? bảo mật email điện tử
Multiple-Threat Malware
Vi rút và phần mềm độc hại khác có thể hoạt động theo nhiều cách. Các thuật ngữ khác xa với sự thống nhất; tiểu mục này giới thiệu ngắn gọn về một số khái niệm liên quan có thể được coi là phần mềm độc hại đa mối đe dọa.
Một loại vi rút đa thể lây nhiễm theo nhiều cách. Thông thường, vi rút đa phân có khả năng lây nhiễm nhiều loại tệp, do đó, việc diệt vi rút phải xử lý tất cả các vị trí có thể lây nhiễm.
Xem thêm 10 công cụ kiểm tra bảo mật ứng dụng di động tốt nhất năm 2021
Một cuộc tấn công hỗn hợp sử dụng nhiều phương pháp lây nhiễm hoặc lây truyền, để tối đa- giảm tốc độ lây lan và mức độ nghiêm trọng của cuộc tấn công. Một số người viết mô tả một cuộc tấn công hỗn hợp là một gói bao gồm nhiều loại phần mềm độc hại. Nimda sử dụng bốn phương pháp phân phối:
- E-mail: Người dùng trên máy chủ dễ bị tấn công mở tệp đính kèm e-mail bị nhiễm; Nimda tìm kiếm các địa chỉ e-mail trên máy chủ và sau đó gửi các bản sao của chính nó đến các địa chỉ đó.
- Windows shares: Nimda quét các máy chủ để tìm tệp Windows không an toàn cổ phiếu; sau đó nó có thể sử dụng NetBIOS86 như một cơ chế truyền tải để lây nhiễm các tệp trên máy chủ đó với hy vọng rằng người dùng sẽ chạy một tệp bị nhiễm, điều này sẽ kích hoạt Nimda trên máy chủ đó.
- Web servers: Nimda quét các máy chủ Web, tìm kiếm các lỗ hổng đã biết trong Microsoft IIS. Nếu nó tìm thấy một máy chủ dễ bị tấn công, nó sẽ cố gắng chuyển một bản sao của chính nó đến máy chủ và lây nhiễm nó cũng như các tệp của nó.
- Web clients: Nếu máy khách Web dễ bị tấn công truy cập vào máy chủ Web đã bị nhiễm Nimda, máy trạm của máy khách sẽ bị nhiễm.
Do đó, Nimda có các đặc điểm về sâu, virus và mã di động. Các cuộc tấn công hỗn hợp cũng có thể lây lan qua các dịch vụ khác, chẳng hạn như nhắn tin tức thời và chia sẻ tệp ngang hàng.