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 15 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 An toàn phần mềm 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 An tồn phần mềm 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 An tồn phần mềm 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/ An toàn phần mềm 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 An toàn phần mềm 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 An tồn phần mềm 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 An toàn phần mềm 2.3 Khái quát lab 2.3.1 Buffer-Overflow Vulnerability Lab An toàn phần mềm 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 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 soá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 Ngồ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 An tồn phần mềm 2.3 Khái quát lab 2.3.2 Return-to-libc Attack Lab An toàn phần mềm 10 2.3.2 Return-to-libc Attack Lab Giới thiệu • • Mục tiê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 Đượ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 An tồn phần mềm 11 2.3 Khái quát lab 2.3.3 Enviroment Variable and Set-UID Lab An toàn phần mềm 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 13 An toàn phần mềm 2.3 Khái quát lab 2.3.4 Race Condition Vulnerability Lab An toàn phần mềm 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 An tồn phần mềm 15 2.3 Khái quát lab 2.3.5 Dirty-Cow Attack Lab An toàn phần mềm 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 An tồn phần mềm 17 2.3 Khái quát lab 2.3.6 Format-String Attack Lab An toàn phần mềm 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 An toàn phần mềm 19 2.3 Khái quát lab 2.3.7 Shellshock Attack Lab An toàn phần mềm 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 An tồn phần mềm 21 Chương III : Thực nghiệm Demo An toàn phần mềm 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 toà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 An tồn phần mềm 23 CẢM ƠN THẦY (CƠ) ĐÃ LẮNG NGHE An toàn phần mềm 24 ... hổng phần mềm tăng lên theo ᴄấp ѕố nhân An toàn phần mềm 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... https://seedsecuritylabs.org/Labs_16.04/Software/ An toàn phần mềm 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 ᴄả ᴄáᴄ... bước xác thực An toàn phần mềm 21 Chương III : Thực nghiệm Demo An toàn phần mềm 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 đề

Ngày đăng: 23/03/2022, 19:15

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w