1. Trang chủ
  2. » Giáo Dục - Đào Tạo

THỰC tập cơ sở CHUYÊN NGÀNH AN TOÀN PHẦN mềm (SOFTWARE SECURITY)

24 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

THỰC TẬP CƠ SỞ CHUYÊN NGÀNH AN TOÀN PHẦN MỀM (SOFTWARE SECURITY) GVHD: PGS.TS Lương Thế Dũng phần mềm download byAn: toàn skknchat@gmail.com Sinh viên thực hiện: Võ Minh Sang Trần Quốc Hoàng Phạm Nguyễn Tiến Anh Huỳnh Hải Băng Lớp: AT15H Khóa: 15 Nhóm: 13 phần mềm download byAn: toàn skknchat@gmail.com Chương I Chương II Chương III Chương IV • Mở đầu • Tổng quan an tồn thơng tin • Thực nghiệm • Tổng kết phần mềm download byAn: toàn skknchat@gmail.com Chương I: Mở đầu 1.1 Lý chọn đề tài Ngày nay, với xu hướng chuyển đổi số mạnh mẽ doanh nghiệp, công ty, tổ chức dẫn đến việc tạo phần mềm quản lý, điều hành làm việc thiết yếu Bên cạnh đó, ảnh hưởng đại dịch COVID-19 thúc đẩy nhanh việc chuyển đổi số Để đảm bảo an toàn cho phần mềm tạo vận hành tránh bị kẻ xấu cơng gây thiệt hại nghiêm trọng Đó lý để chúng em chọn chuyên đề Software Security 1.2 Mục đích chọn đề tài: Tìm hiểu kiến thức tổng quan an tồn phần mềm, tìm hiểu cách công, khám phá môi trường Unix giúp ích cho việc học hỏi, tiếp thu thêm nhiều học kinh nghiệm thực tế Thực lab theo trang web https://seedsecuritylabs.org/Labs_16.04/Software/ phần mềm download byAn: toàn skknchat@gmail.com Chương II: Tổng quan an toàn phần mềm 2.1 Khái niệm 2.1.1 Lỗ hổng phần mềm gì? Lỗ hổng phần mềm ᴄó thể đượᴄ hiểu trụᴄ trặᴄ hoặᴄ điểm уếu phần mềm, tất ᴄả ᴄáᴄ hệ thống ẩn ᴄhứa lỗ hổng hệ điều hành, mứᴄ độ nghiêm trọng ᴄủa lỗ hổng phần mềm tăng lên theo ᴄấp ѕố nhân phần mềm download byAn: toàn skknchat@gmail.com Chương II: Tổng quan an toàn phần mềm 2.1 Khái niệm 2.1.2 An toàn phần mềm gì? Có thể định nghĩa cách dễ hiểu sau: An toàn phần mềm bảo ý tưởng thực để bảo vệ phần mềm chống lại ѕự tồn ᴄủa lỗ hổng phần mềm, khả mà tin tặc truу ᴄập ᴠào lỗ hổng bảo mật nguy từ việc tin tặc công lỗ hổng, để giúp phần mềm tiếp tục chức cách xác rủi ro tiềm tàng An ninh cần thiết để cung cấp tính tồn vẹn, xác thực tính sẵn sàng phần mềm download byAn: tồn skknchat@gmail.com 2.2 Các lab đề cập đến trình nghiên cứu Buffer-Overflow Vulnerability Lab  Các lab bao gồm số lỗ hổng phổ biến phần mềm nói chung, cho phép Return-to-libc Attack Lab việc khai thác lỗ hổng công hoạt sinh viên thấy động Enviroment Variable and Set-UID Lab Race Condition Vulnerability Lab Dirty Cow Attack Lab Format String Vulnerability Lab Shellshock Attack Lab phần mềm download byAn: toàn skknchat@gmail.com 2.3 Khái quát lab 2.3.1 Buffer-Overflow Vulnerability Lab phần mềm download byAn: toàn skknchat@gmail.com 2.3.1 Buffer-Overflow Vulnerability Lab Giới thiệu • • Tràn đệm lỗi lập trình gây ngoại lệ truy nhập • nhớ máy tính chương trình bị kết thúc Tràn đệm định nghĩa điều kiện chương trình cố gắng ghi liệu vượt ngồi ranh giới đệm có độ dài cố định cấp phát trước Lỗ hổng lợi dụng để thay đổi kiểm sốt luồng chương trình, chí thực thi đoạn mã tùy ý Lỗ hổng phát sinh trộn lẫn lưu trữ cho liệu (ví dụ đệm) lưu trữ cho điều khiển (ví dụ: địa trả về): phần liệu bị tràn ảnh hưởng đến luồng điều khiển chương trình, tràn thay đổi địa trả Mục tiêu Cung cấp chương trình có lỗ hổng tràn đệm; nhiệm vụ phát triển kế hoạch để khai thác lỗ hổng cuối giành đặc quyền root Ngoài công, sinh viên hướng dẫn thực số phương án bảo vệ triển khai hệ điều hành để chống lại cơng tràn đệm download by An : skknchat@gmail.com tồn phần mềm 2.3 Khái quát lab 2.3.2 Return-to-libc Attack Lab phần mềm download byAn: toàn skknchat@gmail.com 10 2.3.2 Return-to-libc Attack Lab Giới thiệu • • Là phương pháp khai thác lỗi có ngăn xếp khơng thực thi được, • giống với tràn đệm tiêu chuẩn, địa trả thay đổi để trỏ đến vị trí mà kiểm sốt Tuy nhiên, khơng có mã thực thi phép ngăn xếp, ta khơng thể gắn thẻ shellcode Vì ta sử dụng thủ thuật return-to-libc sử dụng hàm cung cấp thư viện Ta ghi đè địa trả • hảm libc, chuyển cho đối số xác thực thi cho ta Vì hàm khơng nằm ngăn xếp, ta bỏ qua ngăn xếp thực thi code Mục tiêu Được trải nghiệm trực tiếp biến thể thú vị công tràn đệm; công bỏ qua sơ đồ bảo vệ có triển khai hệ điều hành Linux Một cách phổ biến để khai thác lỗ hổng tràn đệm làm tràn đệm mã shellcode độc hại, sau đo khiến chương trình dễ bị cơng nhảy đến shellcode lưu trữ ngăn xếp Để ngăn chặn kiểu công này, số hệ điều hành cho phép quản trị viên hệ thống tạo ngăn xếp thực thi được; đo, việc nhảy đến shellcode khiến chương trình bị lỗi download byAn: tồn skknchat@gmail.com phần mềm 11 2.3 Khái quát lab 2.3.3 Enviroment Variable and Set-UID Lab phần mềm download byAn: toàn skknchat@gmail.com 12 2.3.3 Enviroment Variable and Set-UID Lab Giới thiệu • • Biến môi trường (Enviroment Variable) giá trị cung • cấp phụ thuộc vào Hệ điều hành, nên thay đổi biến môi trường (khi thay đổi môi trường chạy) ảnh hưởng đến trình thực thi ứng dụng, ứng dụng sử dụng biến môi trường Set-UID (SET User ID upon execution), loại đặc quyền file (file permission) đặc biệt, cho phép user tạm có quyền thực thi file quyền người sở hữu (owner) để thay đổi hành vi file thực thi • Mục tiêu Giúp tìm hiểu cách biến mơi trường ảnh hưởng đến chương trình hành vi hệ thống Mặc dù biến môi trường ảnh hưởng đến hành vi chương trình, cách chúng hoạt động khơng nhiều lập trình viên hiểu rõ Kết là, chương trình sử dụng biến mơi trường, chương trình co thể có lỗ hổng Qua lab này, hiểu rõ cách vận hành biến môi trường, cách chúng đề xuất từ quy trình mẹ sang quy trình con, cách chúng ảnh hưởng đến chương trình/ hệ thống Đặc biệt quan tâm đến cách biến môi trường ảnh hưởng đến hoạt động chương trình Set-UID, thường chương trình đặc quyền download by An : skknchat@gmail.com tồn phần mềm 13 2.3 Khái quát lab 2.3.4 Race Condition Vulnerability Lab phần mềm download byAn: toàn skknchat@gmail.com 14 2.3.4 Race Condition Vulnerability Lab Giới thiệu • • Mục tiêu Race-Condition tình xảy nhiều threads • truy cập lúc muốn thay đổi liệu (có thể biến, row database, vùng shared data, memory , etc ) • Một race-condition xảy nhiều quy trình truy cập thao tác đồng thời liệu kết việc thực thi phụ thuộc vào thứ tự cụ thể mà việc truy cập diễn Nếu chương trình đặc quyền có lỗ hổng race-condition, kẻ cơng chạy quy trình song song để "chạy đua" với chương trình đặc quyền, với ý định thay đổi hành vi chương trình Trong lab này, cấp chương trình có lỗ hổng race-condition, sinh viên triển khai kế hoạch để khai thác lỗ hổng khai thác lỗ hổng để có đặc quyền root Ngồi ra, hướng dẫn thực số phương án bảo vệ sử dụng để chống lại công theo Race-Condition phần mềm download byAn: toàn skknchat@gmail.com 15 2.3 Khái quát lab 2.3.5 Dirty-Cow Attack Lab phần mềm download byAn: toàn skknchat@gmail.com 16 2.3.5 Dirty-Cow Attack Lab Giới thiệu • Mục tiêu Dirty-COW trường hợp đặc biệt lỗ hổng race • condition Nó tồn nhân Linux từ tháng năm 2007, phát khai thác vào tháng 10 năm 2016 Lỗ hổng ảnh hưởng đến tất hệ điều hành dựa Linux, bao gồm • Android, hậu kẻ cơng giành đặc quyền root Bằng cách khai thác lỗ hổng bảo mật nằm mã copy-on ghi bên nhân Linux để sửa đổi tệp bảo vệ nào, dù tệp đọc Hiểu dạng lỗ hổng Race-Condition bị khai thác công hiểu sâu vấn đề bảo mật Race-Condition nói chung Trong lab này, sinh viên khai thác lỗ hổng Dirty-COW để có đặc quyền root phần mềm download byAn: toàn skknchat@gmail.com 17 2.3 Khái quát lab 2.3.6 Format-String Attack Lab phần mềm download byAn: toàn skknchat@gmail.com 18 2.3.6 Format-String Attack Lab Giới thiệu • Mục tiêu Hàm printf () C sử dụng để in chuỗi theo • định dạng Đối số gọi chuỗi định dạng, xác định cách định dạng chuỗi Định dạng chuỗi sử dụng trình giữ chỗ đánh dấu ký tự % cho hàm printf () để điền liệu trình in Việc sử dụng chuỗi định dạng không giới hạn hàm printf (); nhiều hàm khác, • chẳng hạn sprintf (), fprintf (), scanf (), sử dụng chuỗi định dạng Một số chương trình cho phép người dùng cung cấp toàn phần nội dung chuỗi định dạng Nếu nội dung khơng làm sạch, người dùng độc hại sử dụng hội để lấy chương trình để chạy mã tùy ý Khai thác lỗ hổng bước sau: (1) làm hỏng chương trình, (2) đọc nhớ chương trình, (3) sửa đổi nhớ chương trình nghiêm trọng (4) đưa thực thi mã độc hại cách sử dụng đặc quyền truy cập chương trình nạn nhân Hậu cuối nguy hiểm chương trình dễ bị cơng chương trình đặc quyền, chẳng hạn root deamon, điều cung cấp cho kẻ cơng quyền truy cập root hệ thống phần mềm download byAn: toàn skknchat@gmail.com 19 2.3 Khái quát lab 2.3.7 Shellshock Attack Lab phần mềm download byAn: toàn skknchat@gmail.com 20 2.3.7 Shellshock Attack Lab Giới thiệu • Mục tiêu Shellshock lỗ hổng bảo mật Bash, cơng bố • rộng rãi vào ngày 25 tháng năm 2014 Lỗ hổng khai thác nhiều hệ thống khởi chạy từ xa từ máy cục giúp kẻ công chiếm quyền điểu khiển máy nạn nhân mà không cần phải qua bước xác thực • Lỗ hổng shellhock bash liên quan đến hàm shell - hàm xác định bên shell Bằng cách khai thác sai lầm bash mắc phải chuyển đổi biến môi trường thành định nghĩa hàm Lỗ hổng bảo mật giúp kẻ công chiếm quyền điểu khiển máy nạn nhân mà không cần phải qua bước xác thực phần mềm download byAn: toàn skknchat@gmail.com 21 Chương III : Thực nghiệm Demo phần mềm download byAn: toàn skknchat@gmail.com 22 Chương IV : TỔNG KẾT 4.1 Hạn chế: Trong suốt thời gian nghiên cứu đề tài, chúng em cố gắng để tìm hiểu thực đề tài Tuy nhiên với kiến thức, kinh nghiệm thời gian hạn chế nên không tránh khỏi thiếu sót Cụ thể: - Chưa thực số task nâng cao - Chưa nghiên cứu sâu 4.2 Kết luận hướng phát triển: - Có kiến thức tổng quan số khái niệm , định nghĩa thuộc an tồn phần mềm thơng qua việc nghiên cứu - Tìm hiểu chi tiết cách cài đặt môi trường ảo thực lab (VMware, Virtual Box) - Thực thành công nhiều task lab  Tiếp tục tìm hiểu nâng cao, nghiên cứu sâu áp dụng vào thực tiễn phần mềm download byAn: tồn skknchat@gmail.com 23 CẢM ƠN THẦY (CƠ) ĐÃ LẮNG NGHE phần mềm download byAn: toàn skknchat@gmail.com 24 ... ѕố nhân phần mềm download byAn: toàn skknchat@gmail.com Chương II: Tổng quan an toàn phần mềm 2.1 Khái niệm 2.1.2 An tồn phần mềm gì? Có thể định nghĩa cách dễ hiểu sau: An toàn phần mềm bảo... học kinh nghiệm thực tế Thực lab theo trang web https://seedsecuritylabs.org/Labs_16.04/Software/ phần mềm download byAn: toàn skknchat@gmail.com Chương II: Tổng quan an toàn phần mềm 2.1 Khái niệm... xác thực phần mềm download byAn: toàn skknchat@gmail.com 21 Chương III : Thực nghiệm Demo phần mềm download byAn: toàn skknchat@gmail.com 22 Chương IV : TỔNG KẾT 4.1 Hạn chế: Trong suốt thời gian

Ngày đăng: 28/03/2022, 15:37

Xem thêm:

Mục lục

    AN TOÀN PHẦN MỀM (SOFTWARE SECURITY)

    Sinh viên thực hiện: Võ Minh Sang Trần Quốc H

    Chương I: Mở đầu

    Chương II: Tổng quan về an toàn phần mềm

    Chương II: Tổng quan về an toàn phần mềm (2)

    Chương IV : TỔNG KẾT

    CẢM ƠN THẦY (CÔ) ĐÃ LẮNG NGHE

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w