Tràn bộ đệm: Tại sao, như thế nào và công tác phòng chống "
Nicole LaRock Decker
vào tháng 11 năm 1988 một vụ việc xảy ra mà bắt gặp sự chú ý của toàn bộ mạng
cộng đồng - Internet sâu. Con sâu Internet đã mang xuống các trang web hơn 6000 bởi một
quyền.
gọi là ít được biết đến khai thác lỗi tràn bộ đệm [1]. Khá mạnh mẽ, hả? Vào ngày này, đệm
tràn vẫn được tìm thấy trong một loạt các phần mềm trong một loạt các hệ điều hành. Họ là một mối đe dọa nghiêm trọng cho bất kỳ hệ thống hoặc quản trị viên mạng của hạnh phúc. Nó là một vấn đề có
khoảng cách quá dài và cần phải được giải quyết nghiêm túc. Bài báo này tập trung vào lý do tại sao
đầy đủ
tràn bộ đệm là vẫn còn xung quanh hôm nay, làm thế nào họ làm việc, và cung cấp một danh sách một số cách để giúp
ngăn chặn và bảo vệ. giữ lại
sau khi Internet sâu, chúng tôi không nghe nhiều về tràn bộ đệm một lần nữa cho đến khi các giữa đến cuối
' những năm 90 khi một loạt các tài liệu được xuất bản và phát hành trên các ' Net. Họ đã:
1. "Đập ngăn xếp cho niềm vui và lợi nhuận" viết bởi "Một Aleph," xuất bản trong các
Phrack tạp chí trong tháng 11 năm 1996. Tác giả
2. cũng phát hành vào năm 1997.
"Làm thế nào để viết bộ đệm tràn" bởi "Mudge" phát hành vào năm 1997.
3. "Ngăn xếp các lỗ hổng đập trong hệ điều hành UNIX" bởi Nathan P. Smith.
Trong mỗi của các giấy tờ, một số mặt hàng đã là addressed2002, - những gì một lỗi tràn bộ đệm là, làm thế nào họ làm việc,
4. "Tao Windows bộ đệm tràn" bởi "DilDog," tháng 4 năm 1998.
làm thế nào để tìm thấy một, làm thế nào để tạo ra một và mỗi-giấy thậm chí cung cấp mẫu mã để đạt được gốc truy cập vào một hệ thống một lần một was2000found tràn. Lần đầu tiên ba bài báo tập trung vào tràn bộ đệm trong hệ điều hành UNIX. Giấy cuối cùng tập trung vào bộ đệm tràn trong các
Windows hoạt động môi trường. Vì vậy, trong một vấn đề của một năm rưỡi, Các thông tin quan trọng trong khai thác lỗ hổng trong 2 majorInstituteoperating hệ thống đã được phát hành. Hôm nay, có rất nhiều hơn bài
trên các ' Net nói về các ins and outs của tràn bộ đệm, cho phép kẻ tấn công để có được nhiều hơn quan điểm về việc khai thác. Tuy nhiên, đó là việc phát hành của các giấy tờ vài đầu tiên thực sự bắt gặp sự chú ý của người quản trị hệ thống và mạng cũng như những kẻ tấn công tìm cách vào hệ thống và mạng.
sự tồn tại của SANS tài liệu trên có thể giúp giải thích tại sao tràn bộ đệm đã là như vậy
phổ biến trong vài năm qua. Để có được một ý tưởng về sự phong phú của tràn bộ đệm, Hãy nhìn vào số lượng lỗ hổng liên quan đến bộ đệm tràn từ năm 1998 đến nay, tháng 11 năm 2000. Sau © số có nguồn gốc từ nghiên cứu tôi thực hiện dựa trên thông tin từ Trung tâm phối hợp CERT (CERT/CC), lỗ hổng phổ biến và tiếp xúc (CVE) và các trang web bảo mật tập trung. Tìm kiếm thuật ngữ "lỗi tràn bộ đệm" trong tiêu đề hoặc mô tả của tư vấn CERT/CC trở về sau. Trong tư vấn CERT/CC 1998, tư vấn 7 / 13 là do tràn bộ đệm, khoảng 54%. Năm 1999, có 9 trong số 17, khoảng 53%, và trong năm nay, năm 2000, đã có 2 19 vậy, đến nay, khoảng 11%. Vì vậy, trong năm 1998 và 1999 hơn một nửa các tư vấn là do tràn bộ đệm - một số lượng đáng kinh ngạc. Một thực tế rằng đã có một giảm đáng kể cho năm 2000 làm tăng một số lông mày. Mặc dù năm không phải là hơn, nó vẫn còn làm tăng một số câu hỏi. Là bộ đệm tràn cuối cùng đi xuống trong danh sách đầu trang
© SANS viện năm 2000-2002 như là một phần của kho lưu trữ thực tế đình. Tác giả vẫn giữ đầy đủ quyền.
lỗ hổng bảo mật? Những kẻ tấn công tìm kiếm khác, có thể dễ dàng hơn, cách của giành quyền kiểm soát của hệ thống? Có ít hơn các chương trình dễ bị tràn bộ đệm? Phần mềm mã được viết an toàn hơn? Chúng tôi sẽ phải chờ đợi cho các số liệu thống kê trên các cặp vợ chồng tiếp theo của năm để tìm cho chắc chắn.
The CVE cơ sở dữ liệu, được bắt đầu vào tháng 9 năm 1999, chứa mục 1077, tính đến tháng 11 năm 2000. Tiến hành một tìm kiếm cho "lỗi tràn bộ đệm" trong các mô tả của tất cả. 1077 mục trở về lỗ hổng 312, về 29%.
Doing một từ khoá tìm kiếm của "lỗi tràn bộ đệm" trong an ninh tập trung advisoriesrightsfound 93 vào năm 1998, 161 năm 1999, và 106 cho 2000 vậy, đến nay. Điều này là phù hợp với tư vấn CERT/CC. Có
câu hỏi có thể được yêu cầu là nguyên nhân của sự suy giảm này từ năm 1999 để 2000.fullThe thú vị điểm mặc dù là rằng, trong những năm gần đây, tràn bộ đệm được vẫn còn tìm thấy số lượng cao. Mặc dù họ có khoảng từ sâu Internet vào năm 1988, họ Tuy nhiên, dựa trên các
là một sự tăng trưởng từ năm 1998 đến năm 1999 và sau đó giảm từ năm 1999 tới năm 2000. Một lần nữa cùng loại của
gốc truy cập để một hệ thống, họ là do đó một trong những retainslethalexploits. Họ đã được tìm thấy trong nhiều nền tảng, đặc biệt là UNIX và Windows dựa trên nền tảng, và đã ảnh hưởng một
số nhất định ở trên, một trong các khai thác phổ biến nhất. Kể từ khi hầu hết bộ đệm tràn dẫn đến
Internet Explorer, Microsoft Internet thông tin máy chủ, Authorftp, imap, ràng buộc, pine, lpr, sendmail, X Windows, SSH, và danh sách đi và về.
sự giàu có của các ứng dụng chẳng hạn như, trong trường hợp của Internet sâu, fingerd, Microsoft NetMeeting,
để giúp hiểu các khai thác, hãy nhìn vào như thế nào xảy ra tràn bộ đệm. Phương pháp chúng tôi sẽ mô tả dưới đây là một loại lỗi tràn bộ đệm thường được gọi là "stack đập." Để hiểu làm thế nào ngăn xếp đập xảy ra, chúng tôi lần đầu tiên cần phải hiểu một chút về bộ đệm và
hướng dẫn con trỏ. Xem xét việc bình xăng trong xe của bạn. Nếu bạn có một bồn chứa 15 gallon, bạn có thể ở
2002,
hầu hết phù hợp với 15 gallon xăng trong nó. Đó là kích thước bộ đệm của bạn. Nếu bạn cố gắng đưa 17 gallon trong đó,
bạn đã tràn xe tăng và lãng phí tiền của bạn. Khái niệm tương tự có thể được áp dụng cho
biến trong một chương trình. Ví dụ, 2000 nói một chương trình yêu cầu đầu vào từ người sử dụng là
không kiểm tra rằng số tiền này đã bị vượt quá, em đã tràn bộ đệm. Kể từ khi
lập trình để là tối đa 256 byte. Có được một chỗ dành riêng trong bộ nhớ của máy tính (một bộ đệm) để lưu trữ 256Institutebytesor ít hơn. Nếu người dùng độc hơn 256 byte và chương trình có là một bộ đệm trong bộ nhớ của máy tính mà các cửa hàng địa chỉ bộ nhớ của tiếp theo
máy tính cần một nơi để đặt các byte thêm, nó thường đặt chúng trong một lân cận tại chỗ, ghi đè lên những gì đã có đó.
lệnh để thực hiện. Điều này được gọi là con trỏ hướng dẫn. Tiếp tục ví dụ ở trên, sau khi đọc đầu vào của người dùng, các báo cáo tiếp theo có thể là in ra màn hình. Các chỉ dẫn
con trỏ sẽ có vì nó là nội dung địa chỉ bộ nhớ của tuyên bố in này. Máy tính
được người sử dụng đầu vào fromSANSthe, Mua sắm trong các bộ đệm, kiểm tra con trỏ hướng dẫn để tìm những gì để
thực hiện tiếp theo, thấy © địa chỉ bộ nhớ của các báo cáo in, Lấy nội dung của các đầu vào
đệm, và cuối cùng chạm khắc người sử dụng của đầu vào để màn hình.
bây giờ, đặt hai lại với nhau, nếu một kẻ tấn công đã có thể tràn bộ đệm để cho nó sửa đổi địa chỉ trả lại con trỏ hướng dẫn trong một cách mà nó chỉ tới những kẻ tấn công mã, họ có thể làm một số điều thông minh. Và đó là chính xác những gì sẽ xảy ra. Những kẻ tấn công tràn bộ đệm để địa chỉ bộ nhớ cho con trỏ hướng dẫn là địa chỉ bộ nhớ, trong hầu hết trường hợp, các chức năng để thực hiện/bin/sh. Khi chương trình kết thúc một phần của chương trình tràn bộ đệm, nó tìm thấy địa chỉ cho/bin/sh trong con trỏ hướng dẫn và thực hiện nó.
đang được dịch, vui lòng đợi..
