Although we have just demonstrated a nightmare scenario for any system dịch - Although we have just demonstrated a nightmare scenario for any system Việt làm thế nào để nói

Although we have just demonstrated

Although we have just demonstrated a nightmare scenario for any system administrator, we must bear in mind that ALL such buffer overfl ow attacks are very preventable, and the “disease” that allows them to persist certainly may be eradicated in the future. However, an effective vaccine must first be developed.

The remainder of this report will focus on cure and prevention. Please select from the menu.
1. Use Different Language Tools. Language tools that provide . automatic
modern operating systems in use today are written in rightstheC language. The language tool becomes particularly critical when low-level hardware access is
bounds checking such as Perl, Python, and Java. True, these are available.
However, this is usually not possible or practical when you consider almost all

necessary. The good news is with languages evolving,full language and code security has becoming a serious issue. For example, Microsoft in their .NET

initiative has completely re-written Visual Basicretainsand Visual C++22 with “string safe” security in mind. Additionally, they have added the Visual C# tool which
was designed from the ground up with security in mind.

2. Eliminate The Use Of Flawed LibraryAuthorFunctions. Programming languages are only as flawed as the programmer allows them to be. In our demonstration, we utilized three flawed functions from the Standard C Library (gets(), strcpy, and strcmp). These are just three of many such functions that fail to check the length or bounds of their arguments. For instance, we could have completely eliminated2002,the buffer

overflow vulnerability in our demonstration by changing one line of code. This simple

change informs strcpy()Institutethat it only has an eight byte destination buffer and that it
must discontinue raw copy at eight bytes.

The persistence of programming errors of this nature may indeed be related to the manner in which we train and educate young programmers. One can pick up anSANSintroductory college textbook on C or C++ and find this set of flawed functions introduced by the third chapter. Sure, they make great training aids. However, humans are creatures of habit and tend to use what they know© best and are most comfortable with.

3. Design And Build Security Within Code. It takes more work, and it takes more effort, but software can be designed with security foremost in mind. If



22 Visual C++ is Microsoft’s proprietary version of the C++ language.

2/6/2003 Page 19 of 24





© SANS Institute 2002, As part of the Information Security Reading Room. Author retains full rights.


is no23.
the previous example, we could have yet added one extra step to assure complete buffer safety:






Again, this may go back to how we train programmers. Is code security





taught and encouraged? Are they given the extra time to design security . within their code? Typically, and unfortunately, the answerrightsto these questions


4. Use Safe Library Modules. String safe library modules are available for use, even in problematic languages such as C++. For instance, the C++ Standard
Template Library offers the Class String in its standard namespace. The
String Class provides bounds checking within its functionsfull and be preferred
for use over the standard string handling functions.

5. Use Available Middleware Libraries. Several freeware offerings of “safe
libraries” are available for use. For instance,retains Bell Labs developed the “libsafe24” library to guard against unsafe function use. libsafe works on the
structure of stack frame linkage Authorthrough frame pointers by following frame pointer to the stack frame that allocated a buffer. When a function executes,

it can then prevent the return address from being overwritten. However, libsafe is not without security problems of its own as it has been reported that libsafe's protections can be bypassed in a format-string-based attack by using flag characters that are used by glibc but not libsafe. Users of libsafe should
upgrade to version 2.0-12 2002,
6. Use Source CodeInstituteScanning Tools. Several attempts have been made to design a tool that performs analysis on raw source code with the hope of

identifying undesirable constructs to include buffer vulnerabilities. The boys at L0pht Heavy Industries (now a white hat group called @atstake) produced one such tool called “Slint” a few years back, but it was never released. Probably SANSthe most successful tool to date is Rational’s

(http://www.rational.com) PurifyPlus Software Suite that capably performs a dynamic analysis of Java, C, or C++ source code. Although the specialty of

PurifyPlus is memory leak detection, it is capable of hunting down unchecked ©

23 It was recently reported in the media that Bill Gates went on a tirade about code security at Microsoft In fact, he reportedly stopped all new code production for one month to train his programmers in code security basics. Until now, Microsoft has stressed form and function at the expense of security.

24 Libsafe has apparently now been turned over to Avaya Labs http://www.avaya.com for keeping

and maintenance.
2/6/2003 Page 20 of 24






© SANS Institute 2002, As part of the Information Security Reading Room. Author retains full rights.

buffers and other coding errors that could possibly lead to buffer overrun conditions.

7. Use Compiler Enhancement Tools. Although a relatively new concept, several compiler add-on tools have recently been made available that work closely with function return address space to prevent overwriting. One such tool, Stack Shield (http://www.angelfire.com/sk/stackshield), provides protection by taking a copy of RET and temporarily placing it in a location not subject to overflow attacks. Upon return, the two address values are compared. If they are different, the return address has been. modified and Stack Shield terminates the program. A somewhat similar tool, Stack Guard (http://www.immunix.org/stackguard.html), is able to detect a return address
being overwritten in real time. When it does, it proceeds to terminate the
program. full rights


8. Disable Stack Execution. Although it requires the operating system kernel
to be recompiled, patches are available forretainssomeversions of UNIX that render the stack non-executable. Since most buffer overrun exploits depend on an

executable stack, this modification will essentially stop them dead in their tracks. A patch for the Linux kernel has been made available by the Openwall Project (http://www.openwallAuthor.com).

9. Know What Is On Your System. Awareness of what is on your system and who has the privileges to execute it is essential. SUID root executable, and

root owned world writable files and directories are the favorite target of many attacks. Find them, list them,2002, and know them. The following few simple commands may be your best friend:


Once your list is complete and in hand, programs are available to test each
for buffer overrunInstitutevulnerabilities. Should a “segmentation fault” be occur
during testing, chances are you have just discovered a vulnerable program.

10. Patch The Operating System And Application. Perhaps the very best
defense isSANSto stay informed and remain “offensive”. As new vulnerabilities are
discovered© and reported, apply the necessary patches and fixes promptly. If
you are in a Microsoft shop, this may get very tiresome very quickly. It may even seem like an endless task. But cheer up. Knowledge in increasing and understanding is improving. The diseased will be cured.
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Mặc dù chúng tôi chỉ có thể hiện một kịch bản cơn ác mộng cho bất kỳ người quản trị hệ thống, chúng ta phải ghi nhớ rằng tất cả các overfl bộ đệm ow cuộc tấn công là rất phòng tránh, và "bệnh" mà cho phép họ tồn tại chắc chắn có thể được loại trừ trong tương lai. Tuy nhiên, một vắc xin có hiệu quả phải lần đầu tiên được phát triển.

phần còn lại của báo cáo này sẽ tập trung vào chữa bệnh và công tác phòng chống. Vui lòng chọn từ menu.
1. Sử dụng công cụ ngôn ngữ khác nhau. Công cụ ngôn ngữ cung cấp. tự động
hệ điều hành hiện đại sử dụng vào ngày hôm nay được viết bằng ngôn ngữ rightstheC. Công cụ ngôn ngữ trở nên đặc biệt quan trọng khi truy cập thấp cấp phần cứng là
giới hạn kiểm tra như Perl, Python và Java. Đúng, đây là có sẵn.
Tuy nhiên, Điều này thường không phải là có thể có hoặc thiết thực khi bạn xem xét hầu như tất cả

cần thiết. Tin tốt lành là với ngôn ngữ phát triển, ngôn ngữ và mã số an toàn đã trở thành một vấn đề nghiêm trọng. Ví dụ, Microsoft trong net của

sáng kiến đã hoàn toàn tái bằng văn bản trực quan Basicretainsand Visual C 22 với "dây an toàn" an ninh trong tâm trí. Ngoài ra, họ đã thêm C# thị giác công cụ đó
được thiết kế từ mặt đất lên với an ninh trong tâm trí.

2. Loại bỏ việc sử dụng các thiếu sót LibraryAuthorFunctions. Ngôn ngữ lập trình chỉ là thiếu sót vì các lập trình viên cho phép họ. Trong cuộc biểu tình của chúng tôi, chúng tôi sử dụng ba thiếu sót chức năng từ các thư viện chuẩn C (gets(), strcpy, và strcmp). Đây là những chỉ ba trong số nhiều chức năng như vậy mà không kiểm tra chiều dài hoặc các giới hạn của lập luận của họ. Ví dụ, chúng tôi có thể đã hoàn toàn eliminated2002, các bộ đệm

tràn dễ bị tổn thương trong cuộc biểu tình của chúng tôi bằng cách thay đổi một dòng mã. Đơn giản này

thay đổi thông báo cho strcpy () Institutethat chỉ có một vùng đệm đích 8 byte và rằng nó
phải ngừng cung cấp các bản sao nguyên lúc 8 byte.

Kiên trì trong lỗi lập trình của thiên nhiên này thực sự có thể được liên quan đến cách thức mà trong đó chúng tôi đào tạo và giáo dục trẻ lập trình. Một có thể nhấc sách giáo khoa Đại học anSANSintroductory về C hoặc C và tìm thấy này tập hợp các thiếu sót chức năng giới thiệu bởi thứ ba chương. Chắc chắn, họ làm cho tuyệt vời đào tạo viện trợ. Tuy nhiên, con người là những sinh vật của thói quen và có xu hướng sử dụng những gì họ biết © tốt nhất và đặt thoải mái với.

3. Thiết kế và xây dựng an ninh trong mã. Nó sẽ làm việc nhiều hơn, và nó cần nỗ lực nhiều hơn, nhưng phần mềm có thể được thiết kế với an ninh quan trọng nhất trong tâm trí. Nếu


22 Visual C là phiên bản độc quyền của Microsoft của C language.

2/6/2003 trang 19 của 24


© SANS viện năm 2002, Như một phần của phòng đọc sách bảo mật thông tin. Tác giả vẫn giữ đầy đủ quyền.


là no23.
ví dụ trước, chúng tôi có thể đã được thêm một bước thêm để đảm bảo an toàn hoàn chỉnh bộ đệm:


một lần nữa, điều này có thể trở lại để làm thế nào chúng tôi đào tạo lập trình viên. Là mã bảo mật


dạy và khuyến khích? Họ có được thêm thời gian để thiết kế an ninh. trong mã của họ? Thông thường, và tiếc là, answerrightsto những câu hỏi này


4. Sử dụng mô-đun an toàn thư viện. Chuỗi an toàn thư viện mô-đun có sẵn để sử dụng, ngay cả trong các ngôn ngữ có vấn đề như C. Ví dụ, các C tiêu chuẩn
mẫu thư viện cung cấp chuỗi lớp trong không gian tên tiêu chuẩn của nó. Các
String lớp cung cấp giới hạn kiểm tra trong functionsfull của nó và được ưa thích
để sử dụng trong chuỗi tiêu chuẩn xử lý chức năng.

5. sử dụng thư viện có Middleware. Một số phần mềm miễn phí dịch vụ của "an toàn
thư viện" có sẵn để sử dụng. Ví dụ, Giữ lại thư viện phát triển "libsafe24" phòng thí nghiệm Bell để bảo vệ chống lại sử dụng chức năng không an toàn. libsafe hoạt động trên các
cấu trúc của stack khung liên kết Authorthrough khung con trỏ bởi sau khung con trỏ vào khung stack cấp phát một bộ đệm. Khi thực hiện một chức năng,

nó sau đó có thể ngăn chặn địa chỉ trả lại được ghi đè. Tuy nhiên, libsafe không phải không có vấn đề bảo mật riêng của mình vì nó đã được báo cáo rằng bảo vệ của libsafe có thể được bỏ qua trong một định dạng-chuỗi dựa trên cuộc tấn công bằng cách sử dụng ký tự cờ được sử dụng bởi glibc nhưng không libsafe. Người sử dụng của libsafe nên
nâng cấp lên phiên bản 2.0-12 năm 2002,
6. Sử dụng công cụ CodeInstituteScanning mã nguồn. Nhiều nỗ lực đã được thực hiện để thiết kế một công cụ mà thực hiện phân tích trên nguyên nguồn mã với hy vọng của

xác định các cấu trúc không mong muốn để bao gồm các lỗ hổng bộ đệm. Các bé trai tại L0pht Heavy Industries (bây giờ một nhóm mũ trắng được gọi là @atstake) sản xuất một công cụ như vậy gọi là "Slint" một vài năm trở lại, nhưng nó không bao giờ được phát hành. Có lẽ SANSthe công cụ thành công nhất đến nay là của hữu tỉ

(http://www.rational.com) bộ phần mềm PurifyPlus capably thực hiện một phân tích năng động của Java, C, hoặc C mã nguồn. Mặc dù các đặc sản của

PurifyPlus là phát hiện rò rỉ bộ nhớ, nó có khả năng săn lùng đánh dấu ©

23 nó gần đây đã được báo cáo trong các phương tiện truyền thông rằng Bill Gates đã đi trên một tirade về mã an ninh tại Microsoft trong thực tế, ông đã ngừng tất cả sản xuất mã mới cho một tháng để đào tạo lập trình viên của mình trong vấn đề cơ bản bảo mật mã. Cho đến nay, Microsoft đã nhấn mạnh hình thức và chức năng chi phí của an ninh.

24 Libsafe đã rõ ràng bây giờ được chuyển đến phòng thí nghiệm Avaya http://www.avaya.com để giữ

và maintenance.
2/6/2003 trang 20 của 24



© SANS viện năm 2002, như là một phần của phòng đọc sách bảo mật thông tin. Tác giả vẫn giữ đầy đủ quyền.

bộ đệm và các lỗi mã hóa khác mà có thể có thể dẫn đến bộ đệm tràn ngập tiết.

7. Sử dụng trình biên dịch nâng cao công cụ. Mặc dù một khái niệm tương đối mới, một số công cụ tiện ích biên dịch có mới được làm sẵn có mà làm việc chặt chẽ với chức năng trở lại địa chỉ không gian để ngăn chặn ghi đè lên. Một công cụ như vậy, ngăn xếp Shield (http://www.angelfire.com/sk/stackshield), cung cấp bảo vệ bằng cách lấy một bản sao của RET và tạm thời đặt nó trong một vị trí không thuộc đối tượng tấn công tràn. Sau khi trở về, hai giá trị địa chỉ được so sánh. Nếu họ là khác nhau, địa chỉ trả lại đã. Sửa đổi lần và ngăn xếp Shield chấm dứt chương trình. Một công cụ phần nào tương tự, ngăn xếp Guard (http://www.immunix.org/stackguard.html), có thể phát hiện một địa chỉ trả lại
được ghi đè trong thời gian thực. Khi nó, nó tiền để chấm dứt các
chương trình. đầy đủ quyền


8. Vô hiệu hóa ngăn xếp thực hiện. Mặc dù nó đòi hỏi hạt nhân hệ điều hành
để được biên, bản vá lỗi là cung cấp forretainssomeversions của UNIX khiến ngăn xếp phòng không thực thi. Kể từ khi hầu hết bộ đệm tràn ngập khai thác phụ thuộc vào một

thực thi ngăn xếp, sửa đổi này sẽ về cơ bản ngăn chặn chúng chết trong bài nhạc của họ. Bản vá lỗi cho hạt nhân Linux đã được làm sẵn có của dự án Openwall (http://www.openwallAuthor.com).

9. Biết những gì là trên hệ thống của bạn. Nhận thức về những gì là trên hệ thống của bạn và những người có quyền để thực hiện nó là điều cần thiết. SUID gốc thực thi, và

gốc thuộc sở hữu thế giới có thể ghi tập tin và thư mục là mục tiêu yêu thích của nhiều cuộc tấn công. Tìm thấy chúng, liệt kê chúng, năm 2002, và biết họ. Sau vài lệnh đơn giản có thể là người bạn tốt nhất của bạn:


sau khi danh sách của bạn là hoàn thành và trong tay, chương trình có sẵn để kiểm tra mỗi
cho bộ đệm overrunInstitutevulnerabilities. Nên một "phân khúc lỗi" xảy ra
trong thử nghiệm, rất có thể là bạn vừa phát hiện một chương trình dễ bị tổn thương.

10. Vá hệ điều hành và ứng dụng. Có lẽ rất tốt nhất
quốc phòng isSANSto trú thông báo và vẫn còn "tấn công". Như các lỗ hổng mới
phát hiện © và báo cáo, áp dụng các bản vá lỗi cần thiết và bản sửa lỗi nhanh chóng. Nếu
bạn đang ở trong một cửa hàng Microsoft, điều này có thể nhận được rất mệt mỏi rất nhanh chóng. Nó thậm chí có thể có vẻ giống như một nhiệm vụ vô tận. Nhưng vui lên. Kiến thức tăng và sự hiểu biết đang cải thiện. Các bệnh sẽ được chữa khỏi.
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
Although we have just demonstrated a nightmare scenario for any system administrator, we must bear in mind that ALL such buffer overfl ow attacks are very preventable, and the “disease” that allows them to persist certainly may be eradicated in the future. However, an effective vaccine must first be developed.

The remainder of this report will focus on cure and prevention. Please select from the menu.
1. Use Different Language Tools. Language tools that provide . automatic
modern operating systems in use today are written in rightstheC language. The language tool becomes particularly critical when low-level hardware access is
bounds checking such as Perl, Python, and Java. True, these are available.
However, this is usually not possible or practical when you consider almost all

necessary. The good news is with languages evolving,full language and code security has becoming a serious issue. For example, Microsoft in their .NET

initiative has completely re-written Visual Basicretainsand Visual C++22 with “string safe” security in mind. Additionally, they have added the Visual C# tool which
was designed from the ground up with security in mind.

2. Eliminate The Use Of Flawed LibraryAuthorFunctions. Programming languages are only as flawed as the programmer allows them to be. In our demonstration, we utilized three flawed functions from the Standard C Library (gets(), strcpy, and strcmp). These are just three of many such functions that fail to check the length or bounds of their arguments. For instance, we could have completely eliminated2002,the buffer

overflow vulnerability in our demonstration by changing one line of code. This simple

change informs strcpy()Institutethat it only has an eight byte destination buffer and that it
must discontinue raw copy at eight bytes.

The persistence of programming errors of this nature may indeed be related to the manner in which we train and educate young programmers. One can pick up anSANSintroductory college textbook on C or C++ and find this set of flawed functions introduced by the third chapter. Sure, they make great training aids. However, humans are creatures of habit and tend to use what they know© best and are most comfortable with.

3. Design And Build Security Within Code. It takes more work, and it takes more effort, but software can be designed with security foremost in mind. If



22 Visual C++ is Microsoft’s proprietary version of the C++ language.

2/6/2003 Page 19 of 24





© SANS Institute 2002, As part of the Information Security Reading Room. Author retains full rights.


is no23.
the previous example, we could have yet added one extra step to assure complete buffer safety:






Again, this may go back to how we train programmers. Is code security





taught and encouraged? Are they given the extra time to design security . within their code? Typically, and unfortunately, the answerrightsto these questions


4. Use Safe Library Modules. String safe library modules are available for use, even in problematic languages such as C++. For instance, the C++ Standard
Template Library offers the Class String in its standard namespace. The
String Class provides bounds checking within its functionsfull and be preferred
for use over the standard string handling functions.

5. Use Available Middleware Libraries. Several freeware offerings of “safe
libraries” are available for use. For instance,retains Bell Labs developed the “libsafe24” library to guard against unsafe function use. libsafe works on the
structure of stack frame linkage Authorthrough frame pointers by following frame pointer to the stack frame that allocated a buffer. When a function executes,

it can then prevent the return address from being overwritten. However, libsafe is not without security problems of its own as it has been reported that libsafe's protections can be bypassed in a format-string-based attack by using flag characters that are used by glibc but not libsafe. Users of libsafe should
upgrade to version 2.0-12 2002,
6. Use Source CodeInstituteScanning Tools. Several attempts have been made to design a tool that performs analysis on raw source code with the hope of

identifying undesirable constructs to include buffer vulnerabilities. The boys at L0pht Heavy Industries (now a white hat group called @atstake) produced one such tool called “Slint” a few years back, but it was never released. Probably SANSthe most successful tool to date is Rational’s

(http://www.rational.com) PurifyPlus Software Suite that capably performs a dynamic analysis of Java, C, or C++ source code. Although the specialty of

PurifyPlus is memory leak detection, it is capable of hunting down unchecked ©

23 It was recently reported in the media that Bill Gates went on a tirade about code security at Microsoft In fact, he reportedly stopped all new code production for one month to train his programmers in code security basics. Until now, Microsoft has stressed form and function at the expense of security.

24 Libsafe has apparently now been turned over to Avaya Labs http://www.avaya.com for keeping

and maintenance.
2/6/2003 Page 20 of 24






© SANS Institute 2002, As part of the Information Security Reading Room. Author retains full rights.

buffers and other coding errors that could possibly lead to buffer overrun conditions.

7. Use Compiler Enhancement Tools. Although a relatively new concept, several compiler add-on tools have recently been made available that work closely with function return address space to prevent overwriting. One such tool, Stack Shield (http://www.angelfire.com/sk/stackshield), provides protection by taking a copy of RET and temporarily placing it in a location not subject to overflow attacks. Upon return, the two address values are compared. If they are different, the return address has been. modified and Stack Shield terminates the program. A somewhat similar tool, Stack Guard (http://www.immunix.org/stackguard.html), is able to detect a return address
being overwritten in real time. When it does, it proceeds to terminate the
program. full rights


8. Disable Stack Execution. Although it requires the operating system kernel
to be recompiled, patches are available forretainssomeversions of UNIX that render the stack non-executable. Since most buffer overrun exploits depend on an

executable stack, this modification will essentially stop them dead in their tracks. A patch for the Linux kernel has been made available by the Openwall Project (http://www.openwallAuthor.com).

9. Know What Is On Your System. Awareness of what is on your system and who has the privileges to execute it is essential. SUID root executable, and

root owned world writable files and directories are the favorite target of many attacks. Find them, list them,2002, and know them. The following few simple commands may be your best friend:


Once your list is complete and in hand, programs are available to test each
for buffer overrunInstitutevulnerabilities. Should a “segmentation fault” be occur
during testing, chances are you have just discovered a vulnerable program.

10. Patch The Operating System And Application. Perhaps the very best
defense isSANSto stay informed and remain “offensive”. As new vulnerabilities are
discovered© and reported, apply the necessary patches and fixes promptly. If
you are in a Microsoft shop, this may get very tiresome very quickly. It may even seem like an endless task. But cheer up. Knowledge in increasing and understanding is improving. The diseased will be cured.
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2024 I Love Translation. All reserved.

E-mail: