Đề tài: Tìm hiểu về lỗi tràn bộ đệm, cách khai thác, các phòng chống (Demo)...
lượt xem 58
download
Lỗi tràn bộ đệm là một điều kiện bất thường khi một tiến trình lưu dữ liệu vượt ra ngoài biên của bộ nhớ đệm có chiều dài cố định. Kết quả là dữ liệu có thể đè lên các bộ nhớ liền kề.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Đề tài: Tìm hiểu về lỗi tràn bộ đệm, cách khai thác, các phòng chống (Demo)...
- LOGO Cơ Sở An Toàn Thông Tin 4. Tìm hiểu về lỗi tràn bộ đệm, cách khai thác, các phòng chống (Demo)... Nhóm 5 : Hoàng Hải Anh Đoàn Mạnh Hùng Trần Thu Lộc Đỗ Văn Trường
- LOGO Tóm Tắt Nội Dung 1 Giới thiệu về buffer overflow. 2 Stack overflow. 3 Heap overflow. 4 Cách khai thác buffer overflow. 5 Cách phòng tránh buffer overflow.
- LOGO I.Tổng quan về buffer overflow Định nghia: Lỗi tràn bộ đệm là một điều kiện bất thường khi một tiến trình lưu dữ liệu vượt ra ngoài biên của bộ nhớ đệm có chiều dài cố định. Kết quả là dữ liệu có thể đè lên các bộ nhớ liền kề. Dữ liệu bi ghi đè có thề bao gồm các bộ nhớ đệm khác,các biến và dữ liệu điều khiển luồng chảy của chương trình (program flow control). Các lỗi tràn bộ đệm có thề làm cho tiến trình bị đổ vỡ hoặc cho ra kết quả sai. Các lỗi này có thể được kích hoạt bởi các dữ liệu vào được thiết kế đặc biệt để thưc thi các đoạn mả phá hoại hoặc để làm cho chương trình hoạt động không như mong đợi. Bằng cách đó các lỗi tràn bộ đệm gây ra nhiều lổ hổng bảo mật đối với phần mềm và tạo cơ sở cho nhiều thủ thuật khai thác.
- LOGO I.Tổng quan về buffer overflow v Trong các ngôn ngữ lập trình thì ngôn ngữ C dễ sinh ra các lỗi tràn nhớ mà attacker có thể khai thác . v Trong ngôn ngữ C,các chuỗi (string ) hay các buffer được thể hiện như sau: Con trỏ (pointer) sẽ chỉ trỏ vào byte đầu tiên của chuỗi hay buffer đó,và chúng ta xác định được kết điểm kết thúc khi con trỏ trỏ đến 1 byte null ->không xác định độ dài của đối tượng nhập vào ->có thể copy 1 buffer có độ dài lớn vào 1 buffer có độ dài nhỏ hơn ->gây tràn nhớ(buffer overflow)
- LOGO I.Tổng quan về buffer overflow v Thông thường có 2 cách khai thác lỗi buffer overflow mà attacker có thể sử dụng: Ø Khai thác dựa vào các lỗ hỏng phần mền thông qua ngôn ngữ lập trình(phần mền viết bằng ngôn ngữ C) Ø Khai thác các trang web có tương tác người dùng nhưng không ràng buộc dữ liệu nhập vào như các trường username ,password..
- LOGO I.Tổng quan về buffer overflow v Nguyên nhân gây ra các lỗi buffer overflow của các chương trình/ứng dụng: Ø Phương thức kiểm tra biên (boundary) không được thực hiện đầy đủ ,hoặc là được bỏ qua. Ø Các ngôn ngữ lập trình,như là ngôn ngữ C ,bản thân nó đã tiềm ẩn. các lỗi mà hacker có thể khai thác. Ø Các phương thưc strcat(),strcpy(),sprintf(),bcopy(), gets() ,và canf() trong ngôn ngữ C có thể được khai thác vì các hàm này không kiểm tra xem những buffer được cấp phát trên stack có kích thước lớn hơn dữ liệu được copy cào buffer hay không? Những chương trình /ứng dụng được lập trình không tốt khi tạo ra nó (khả năng lập trình kém).
- I.Tổng quan về buffer overflow LOGO v Một lỗi buffer overflow xuất hiện khi buffer cố gắng cấp phát 1 không gian lưu trữ có dữ liệu lớn hơn khả năng lưu trữ của nó v Vd:
- LOGO I.Tổng quan về buffer overflow Có hai kiểu buffer overflow chính: Ø Stack overflow Ø Heap over flow Stack và heap là địa điểm lưu trữ cung cấp cho các biến khi chạy. một chương trình .Biến được lưu trữ trong stack hoặc heap cho đến khi chương trình có nhu cầu sử dụng. Stack:là nơi lưu trữ tĩnh của không gian bộ nhớ. Heap là nơi lưu trữ động của không gian bộ nhớ ,được sinh ra khi chạy một chương trình.
- LOGO I.Tổng quan về buffer overflow v Thông thường có 2 cách khai thác lỗi buffer overflow mà attacker có thể sử dụng: Ø Khai thác dựa vào các lỗ hỏng phần mền thông qua ngôn ngữ lập trình(phần mền viết bằng ngôn ngữ C) Ø Khai thác các trang web có tương tác người dùng nhưng không ràng buộc dữ liệu nhập vào như các trường username ,password..
- LOGO II.Stack overflow Giới thiệu về stack: v Stack là một kiểu cấu trúc giữ liệu hoạt động theo co chế LIFO (last in first out) được máy tính sử dụng để chuyền các đối số vào các hàm để tham chiếu đến các biến cục bộ. v Stack sẽ lưu giữ tất cả các thông tin mà hàm cần v Stack được khởi tạo khi bắt đầu của một hàm và được “phóng thích” khi hàm kết thúc.
- LOGO II.Stack overflow v Stack overflow xuất hiện khi buffer tràn trong stack space. v Đoạn code độc hại sẽ được push vào stack v Lỗi tràn nhớ có thể viết lại giá trị của return pointer,vì thế hacker có thể điều khiển con trỏ tới các đoạn code độc hại mà họ muốn thực thi.
- LOGO II.Stack overflow Mục đích chính của stack buffer overflow: Ø Ghi đè một biến địa phương nằm gần bộ nhớ đệm trong stack đê thay đổi hành vi của chương trình nhằm phục vụ cho ý đồ của hacker Ø Ghi đè địa chỉ trả về trong khung stack (stack frame). Khi hàm trả về thưc thi sẽ được tiếp tục tại địa chỉ mà hacker đã chỉ rõ, thường là tại một bộ đệm chứa dữ liệu vào của người dùng
- LOGO II.Stack overflow
- LOGO II.Stack overflow
- LOGO III.Heap overflow Ø Các biến được cấp phát tự động trong hàm,như là malloc() được tạo ra trong heap. Ø Trong cách tấn công heap overflow,attacker làm tràn bộ nhớ sẽ có thể overwrite các dynamic variables,vì thế có thể dẫn đến các hiệu ứng không mong muốn. Ø Trong hầu hết các môi trường ứng dụng , việc này có thể giúp attacker có thể điều khiển các thực thi của chương trình.
- LOGO III.Heap overflow
- LOGO III.Heap overflow
- III.Heap overflow LOGO v Overwriting pointers(viết lại con trỏ):attacker có thể sử dụng phương pháp này để viết lại filename,password ,uid..
- LOGO III.Heap overflow ü Cuộc tấn công kiểu này cần một số điều kiện tiên quyết trong mã nguồn của vulnerable binary:một định nghĩa buffer và pointer. ü Khó khăn của phương pháp này là tìm ra hai điều kiện tiên quyết như trên.Một khó khăn khác là xác định địa chỉ của vulnerable program. Ø Overwriting function pointers: Mục đích : attacker muốn ghi đè lên một con trỏ và làm cho nó trỏ đến những gì họ muốn.nó có thể trỏ đến 1 chương trình nào đó.
- LOGO III.Heap overflow
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Đề tài " TÌM HIỂU LỐI VIẾT CÂU CỦA HỌC SINH LỚP 4 ĐỀ XUẤT CÁCH CHỮA MỘT SỐ LỖI VIẾT CÂU "
33 p | 821 | 159
-
Luận văn: Tìm hiểu hoạt động kinh doanh ăn uống tại khách sạn Thắng Lợi
60 p | 539 | 136
-
Đề tài: Tìm hiểu về thị trường upcom
27 p | 362 | 110
-
Đề tài " Tìm hiểu về Lợi nhuận và sự ảnh hưởng của chi phí bán hàng, chi phí quảng cáo, chi phí quản lý doanh nghiệp đến Lợi nhuận và mối quan hệ giữa chúng "
34 p | 283 | 69
-
Đề tài: Tìm hiểu nhiên liệu CNG - ĐH Trần Đại Nghĩa
22 p | 312 | 66
-
Đồ án Tốt nghiệp: Tìm hiểu đặc trưng lồi 3D và bài toán phát hiện mặt người trong ảnh
55 p | 237 | 50
-
Đề tài “Tìm hiểu và phân tích các chỉ tiêu đánh giá của tổ chức UNDP”
21 p | 191 | 45
-
ĐỀ TÀI: "Tìm hiểu thực tế viêc thu phí nước thải hiện nay"
29 p | 164 | 43
-
Đề tài: “ĐỒ ÁN TỐT NGHIỆP - TÌM HIỂU VỀ JDBC VÀ KẾT NỐI CƠ SỞ DỮ LIỆU”
41 p | 119 | 28
-
Đề tài: Tìm hiểu và ứng dụng SEO vào trang web toancaumobile.vn
62 p | 111 | 23
-
Đề tài: Tìm hiểu về chính sách đền bù thiệt hại, tái định cư khi Nhà nước thu hồi đất trong thời gian qua ở nước Việt Nam
29 p | 117 | 22
-
Đồ án phân tích thực phẩm: Tìm hiểu về nguồn gốc, thành phần dinh dưỡng, lợi ích có trong Táo
145 p | 168 | 20
-
Đề tài: Định phát triển kinh tế thị trường theo đường lối của Đảng
16 p | 107 | 17
-
Đề tài triết học " VỀ MỘT SỐ THUẬT NGỮ TRIẾT HỌC, CHÍNH TRỊ - XÃ HỘI CÓ NGUỒN GỐC TỪ TIẾNG NƯỚC NGOÀI "
11 p | 144 | 15
-
Thuyết trình: Tìm hiểu tư tưởng của Jean-Jacques Rousseau
7 p | 176 | 13
-
Báo cáo "Tìm hiểu về bản chất của tình thế cấp thiết "
4 p | 68 | 5
-
Tìm hiểu mô hình hóa chất lượng nước
115 p | 57 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn