Kiểm tra mục tiêu và trách nhiệmThông thường, có rất nhiều người trong một tổ chức ảnh hưởng đến mối quan tâm an ninh và cơ sở hạ tầng hoạt động; những cá nhân tạo nên đội bảo vệ của tổ chức. Asecurity nhóm có thể bao gồm: ■■ hoạch định chính sách, người xác định yêu cầu bảo mật nâng cao sự tự tin của người dùng và nhà sản xuất trong hệ thống an ninh bảo vệ. ■■ nhà quản trị mạng, người thiết kế và thực hiện các biện pháp an ninh để cung cấp bảo mật ở mức độ hoạt động. ■■ phát triển phần mềm, thiết kế và thực hiện an ninh bảo vệ ở cấp ứng dụng (nhằm đáp ứng yêu cầu bảo mật). ■■ phần mềm thử nghiệm, những người có trách nhiệm để thử nghiệm hệ thống để khám phá chức năng, khả năng tương tác, cấu hình và khả năng tương thích lỗi như họ có liên quan đến an ninh thực hiện (chủ yếu ở cấp độ ứng dụng và có lẽ ở cấp độ hoạt động), và phát hiện vấn đề tiềm năng được giới thiệu bởi lỗ hổng bảo mật thiết kế. ■■ bảo mật chuyên gia và tư vấn, những người giúp kiểm tra và duy trì chương trình an ninh của bạn cũng như xử lý vi phạm an ninh. Thông thường, nhóm người này bao gồm cải cách kẻ tấn công cho thuê. Kẻ tấn công trước đây, đã phát triển của lĩnh vực chuyên môn thông qua thực hành trong những năm qua, có trách nhiệm thực hiện các bài kiểm tra thâm nhập (được thiết kế để đánh giá hiệu quả của trang Web hệ thống phòng thủ bằng cách sử dụng một sự kết hợp của các công cụ tấn công, bảo mật và tấn công chuyên môn, và nó kiến thức) trước khi triển khai một hệ thống cũng như trên cơ sở liên tục. Trừ khi tổ chức của bạn không có một chuyên gia để xử lý thâm nhập thử nghiệm, nó thường không dự kiến rằng một điển hình phần mềm tester hoặc phát triển sẽ có trách nhiệm này. Mục tiêu chính của chúng tôi mục tiêu như xét nghiệm nên kiểm tra trang Web và Web ứng dụng bảo mật độ ứng dụng. Nó có nghĩa rằng chúng tôi nên tìm ra lỗ hổng và rò rỉ thông tin gây ra chủ yếu bởi lập trình thực hành và, đến một mức độ nhất định, bởi các lỗi cấu của máy chủ Web và máy chủ dành riêng cho ứng dụng khác. Chúng tôi nên kiểm tra an ninh tác dụng phụ hoặc lỗ hổng gây ra bởi việc thực hiện chức năng. Cùng lúc đó, chúng tôi cũng nên kiểm tra cho chức năng các tác dụng phụ do an ninh thực hiện (xem số liệu 18,10 và 18.11). Các tác dụng phụ chức năng: Một quản lý lỗi lỗi ví dụ ứng dụng thường không nhận thức được nguyên nhân thực tế của sự thất bại điều kiện họ kinh nghiệm. Lỗi có thể là do phiên thời gian-outs, sự vắng mặt của đĩa446 chương 18không gian, không đầy đủ tải, hoặc cài đặt an ninh trình duyệt ngăn chặn tải nội dung hiện hoạt (Java applet, ActiveX điều khiển, vv). Một ứng dụng có thể giải thích sai một điều kiện lỗi, và lần lượt, Hiển thị một thông báo lỗi gây hiểu lầm cho tất cả các điều kiện lỗi như vậy. Con số 18,10 Hiển thị màn hình an toàn cấp Internet Explorer. Lưu ý rằng phương tiện đã được chọn làm các thiết lập hoạt động an ninh nội dung, có nghĩa là (trong số những thứ khác) điều khiển ActiveX không thể được tải về. Ứng dụng này là một người đọc email dựa trên Web. Nó đòi hỏi một điều khiển ActiveX được tải trước khi nó có thể tải về tập tin đính kèm. Bởi vì mức độ bảo mật được thiết lập để vừa, điều khiển ActiveX không thể được tải về. Tuy nhiên, các ứng dụng trình bày một thông báo lỗi sai trong trường hợp này, chẳng hạn như hiển thị trong hình 18.11. Dựa trên những lời khuyên trong thư, người dùng có hai lựa chọn: (1) tiếp tục chờ hoặc (2) nhấp vào nút tải lại để tải lại sự kiểm soát; nhưng một trong hai sự lựa chọn sẽ không tải điều khiển ActiveX bởi vì, trong thực tế, thiết lập bảo mật của trình duyệt là nguyên nhân của tình trạng lỗi này. Cụ thể, các lĩnh vực sau đây cần được coi là trách nhiệm của chúng tôi kiểm tra: ■■ kiểm tra việc thực hiện công tác phòng chống bảo mật. Tìm ra các lỗ hổng và các phương tiện khác nhau để khai thác chúng để họ có thể được cố định. ■■ kiểm tra an ninh phát hiện thực hiện. Xác định các thông tin cần được ghi lại và các cơ chế theo dõi; cảnh báo và cái bẫy hoạt động đáng ngờ. ■■ kiểm tra các yêu cầu và thiết kế.Thiết đặt mức độ an toàn của con số 18,10 Internet Explorer.Web bảo mật thử nghiệm 447Các thông báo lỗi không chính xác con số 18.11.■■ kiểm tra mã và thực hành lập trình. ■■ kiểm tra khả năng tương tác với các bên thứ ba thành phần với các tập trung cụ thể vào lỗ hổng được biết đến. ■■ kiểm tra lỗi cấu. ■■ kiểm tra việc triển khai. ■■ Đến một mức độ nhất định, làm thâm nhập thử nghiệm. Các mục tiêu chung của các biện pháp an ninh hệ thống Web — và, do đó, là của họ liên quan đến thử nghiệm cân nhắc-làm theo. Các mục tiêu này là đặc biệt thích hợp cho các hệ thống thương mại điện tử: ■■ tương tác và giao dịch giữa người mua và hệ thống của công ty bạn nên được bảo mật. ■■ toàn vẹn dữ liệu cần được bảo tồn. ■■ người mua và hệ thống của công ty bạn sẽ có thể để xác minh danh tính của nhau (ít, điện tử). Bản ghi của giao dịch ■■ nên trong một hình thức mà có thể chịu được giám sát ở một tòa án của pháp luật. Là một nhà sản xuất của hệ thống dựa trên Web, công ty của bạn cần được bảo vệ từ sau: truy cập vào mạng riêng Exposing ■■ kẻ xâm nhập trái phép của bên ngoài và nội bộ. ■■ Mất dữ liệu bí mật và các công nghệ độc quyền thông qua các hoạt động tấn công. ■■ Mất dữ liệu do lỗi phần cứng và phần mềm, thảm họa thiên nhiên, và trộm cắp. Như một vấn đề phụ, mặc dù nhiều người trong số các biện pháp bảo vệ an ninh thông qua thiết lập trình duyệt phía khách hàng được thiết kế để bảo vệ người dùng, người dùng có trách nhiệm bảo vệ bản thân từ lỗ hổng bằng đúng cách kiểm soát các thiết đặt này. Sử dụng Web dựa trên hệ thống có thể được bảo vệ từ sau đây:448 Chapter 18■■ Exposure to virus attacks via active contents, plug-ins, cabinet files (.CAB), executables (.EXEs), DLLs, ActiveX controls, and other components ■■ Exposure to offensive contents ■■ Exposure of private information to third parties, either in violation of the Web site’s stated policy or as an unauthorized data capture by a third party that is independent of the intent of the Web site ownerTesting for SecurityThough much of the security responsibility is at the corporate IT level, the application tester is also involved. As explained earlier in the chapter, the most prevalent security weakness is the buffer overflow bug, which, you’ll recall, is solely a coding problem within a program. The problem exists regardless of design considerations, operating systems, or implementation language. It is, simply put, a coding oversight, and it plays a part in over half of all reported problems. That said, it is possible to uncover and rectify buffer overflow bugs if you use the proper security testing strategy, so we’ll begin this discussion on security testing to see how to accomplish this. In testing the security of Web-based applications, it is best to assume that attackers have skill, luck, and time on their side, and to recognize that the attacker might be one lone “script kiddy” or a major international espionage organization. Another aspect of the testing management’s risk assessment is to determine how much value will be lost if the application is attacked. The more valuable the assets maintained by the application, the more likely that someone will spend a significant amount of time and effort to break in.Testing the Requirements and DesignRequirements Are Key Every system is built using a set of requirements. Sometimes these requirements are written clearly, but often they are vague statements only partially defined. The product manager may state, for example, “The application must be secure.” But what does “secure” mean and just how much should be spent making it secure? Security has been defined as a trade-off between risk and reward. Deciding how much risk is a question for management to answer. For example, a very large Web site hosted on hardware that is not connected to theWeb Security Testing 449corporate intranet, and consisting of hundreds of pages and welcoming thousands of external visitors every day, might require little security because all of the available data is public knowledge. In this case, there is little reason for anyone to deface the Web site. The Gutenberg Project’s Web site is just such a place. In contrast, a very small Web application that tracks company sales and is restricted to only the sales staff of a single company could be a major target. How many attackers would like this information on IBM or Microsoft? The point is, in order to provide “just enough” testing, the test team must understand how much the system is worth, both to the organization using the application and to the possible attackers of the application.Trusted Computational Base (TCB) As noted previously in the subsection titled “Exploiting the Trust Computational Base,” inside a secure system is a “community” of components (hardware, operating systems, utility programs, and applications) that trust each other. The members of this community all have established boundaries for untrusted programs. In order to test your application, you will need to determine where those boundaries lie and what data can be transferred across those boundaries. This is the Trusted Computational Base (TCB). For example, a client’s browser is almost always untrusted. The user can easily control data sent from a browser to the application. The application can rarely maintain control of the browser software. Trust is also often extended to disk files residing on the server. However, other users can modify these files. Understanding what is inside and what is outside your TCB enables you to build power scenarios for the application. Be aware that the TCB can change over time. Network configurations change. Data files that were once secure can become insecure. Passwords expire. On some systems, once a person logs on to the system, he or she may never log off. We all know people who have gone on vacation and have left their system logged on, and have n
đang được dịch, vui lòng đợi..
