Sự phù hợp Testing
Viện Tiêu chuẩn và Công nghệ (NIST) cho rằng "các hoạt động thử nghiệm hợp chuẩn đánh giá một sản phẩm phần mềm đáp ứng các yêu cầu
của một đặc điểm kỹ thuật hoặc tiêu chuẩn cụ thể. "
17
Những tiêu chuẩn này thường cũng
coi và được chấp nhận rộng rãi, chẳng hạn như những từ Tổ chức Quốc tế
về Tiêu chuẩn hoá (ISO), Viện Điện và Điện tử,
Inc. (IEEE), hoặc các Viện Tiêu chuẩn Quốc gia Hoa Kỳ (ANSI). Họ phản ánh
một thường được chấp nhận "hệ quy chiếu" với khuyến nghị tiêu chuẩn
được xác định và kiểm tra cẩn thận bằng các phương pháp kiểm tra chứng nhận. Chúng được sử dụng để
đánh giá liệu các sản phẩm phần mềm thực hiện từng yêu cầu cụ thể của các tiêu chuẩn hoặc đặc điểm kỹ thuật.
phương pháp thử nghiệm sự phù hợp áp dụng đối với dịch vụ điện toán đám mây đã được
phát triển cho các giao diện hệ điều hành, đồ họa máy tính, tài liệu
định dạng trao đổi, mạng máy tính, và bộ vi xử lý ngôn ngữ lập trình . Hầu hết các phương pháp thử nghiệm sử dụng thử nghiệm các kịch bản trường hợp (ví dụ, dãy phòng thử nghiệm trừu tượng,
khẳng định kiểm tra, trường hợp kiểm tra), mà bản thân họ phải được kiểm tra.
90 Chương 3 Cloud Phần mềm máy tính An ninh cơ bản
Tiêu chuẩn là một thành phần quan trọng của kiểm tra sự phù hợp. Nó thường bao gồm việc phát triển các mô tả chức năng và đặc điểm kỹ thuật ngôn ngữ,
tạo ra các phương pháp thử nghiệm, và "thử nghiệm" các kịch bản trường hợp thử nghiệm.
Một lợi ích lớn của thử nghiệm phù hợp là nó tạo điều kiện cho khả năng tương tác
giữa các sản phẩm phần mềm điện toán đám mây khác nhau bằng cách xác nhận rằng mỗi phần mềm
sản phẩm đáp ứng được một thỏa thuận chuẩn -upon hoặc đặc điểm kỹ thuật.
Một loại thử nghiệm hợp chuẩn, thử nghiệm dựa trên giao thức, sử dụng giao thức truyền thông của một ứng dụng như một cơ sở trực tiếp để thử nghiệm các ứng dụng. Đây
là phương pháp hữu ích cho các ứng dụng dựa trên đám mây. Thử nghiệm dựa trên giao thức là đặc biệt
quan trọng đối với an ninh kiểm tra trong các ứng dụng trên nền web, bởi vì các giao thức Web cung cấp một cách dễ dàng nhất cho những kẻ tấn công từ xa để truy cập các ứng dụng như vậy.
18
Functional Testing
Trong thử nghiệm chức năng, một phần mềm ứng dụng điện toán đám mây đang được thử nghiệm trong thời gian chạy để xác định xem nó phù hợp với yêu cầu chức năng của nó. Yêu cầu, trong đó làm
thế nào ứng dụng cần đáp ứng khi một sự kiện cụ thể xảy ra được gọi là
yêu cầu là tích cực. Thông thường, một yêu cầu tích cực được ánh xạ tới một c specifi
tạo tác phần mềm có nghĩa là để thực hiện yêu cầu đó. Điều này cung cấp truy xuất nguồn gốc từ các yêu cầu để thực hiện và thông báo các thử nghiệm trong đó
đang tạo tác để kiểm tra để xác nhận các chức năng mong đợi.
Một ví dụ về yêu cầu tích cực là "ứng dụng nên khóa sử dụng
tài khoản sau ba thất bại trong nỗ lực đăng nhập. "Một thử nghiệm có thể xác nhận dự kiến
các chức năng (các khóa) bằng cách cố gắng để đăng nhập vào ứng dụng ba lần
với cùng tên người dùng và mật khẩu không chính xác. Đây là loại thử nghiệm có thể được dễ dàng
tự động với một công cụ kiểm tra bộ chức năng, chẳng hạn như các mã nguồn mở Canoo
WebTest (http://webtest.canoo.com).
Chức năng thử nghiệm cũng bao gồm các yêu cầu về tiêu cực, trong đó xác định những
phần mềm nên notdo. Một ví dụ về yêu cầu tiêu cực là "đám mây
ứng dụng không nên cho phép các dữ liệu được lưu trữ phải được tiết lộ. "Đây là loại
của yêu cầu là giáo phái diffi hơn tôn giáo để kiểm tra vì hành vi mong đợi không
thực hiện một phần mềm specifi c artifact. Kiểm tra yêu cầu này đúng
sẽ yêu cầu các thử nghiệm để dự đoán bất thường mỗi đầu vào, tình trạng, nguyên nhân,
và có hiệu lực. Thay vào đó, các xét nghiệm cần được thúc đẩy bởi việc phân tích nguy cơ và đe dọa
mô hình. Điều này cho phép các yêu cầu tiêu cực được ghi nhận như một mối đe dọa
kịch bản, và các chức năng của các biện pháp đối phó như là một yếu tố để giảm thiểu
các mối đe dọa. Các bước sau đây tóm tắt phương pháp này từ Open Web
Application Security Project (OWASP) Testing Guide (www.owasp.org/index
.php / Category: OWASP_Testing_Project).
Đầu tiên, các yêu cầu về an ninh là tài liệu từ một mối đe dọa và biện pháp đối phó viễn cảnh:
Encrypt dữ liệu xác thực trong lưu trữ và vận chuyển để giảm thiểu rủi ro của
công bố thông tin và giao thức xác thực các cuộc tấn công.
Chương 3 Cloud Computing Phần mềm bảo mật cơ bản 91
mật khẩu Encrypt sử dụng mã hóa nonreversible như một băm
thuật toán và muối để ngăn chặn các cuộc tấn công từ điển. Saltrefers để chèn
các bit ngẫu nhiên vào các thuật toán được sử dụng để tạo khóa để giảm nhẹ so với
các cuộc tấn công từ điển.
Lock ra các tài khoản sau khi đạt đến một ngưỡng thất bại đăng nhập và thực thi các
mật khẩu phức tạp để giảm thiểu nguy cơ của các cuộc tấn công brute-force password.
Display thông báo lỗi chung chung khi xác nhận các thông tin để giảm thiểu
rủi ro của tài khoản thu hoạch / điều tra.
Mutually xác thực client và máy chủ để ngăn chặn và chống chối
các cuộc tấn công man-in-the-middle (MITM).
Hiện vật được sản xuất trong quá trình xây dựng mô hình mối đe dọa, chẳng hạn như cây đe dọa và
tấn công các thư viện, sau đó có thể được sử dụng để lấy các kịch bản thử nghiệm tiêu cực.
Một cây đe dọa sẽ cho rằng một cuộc tấn công gốc (ví dụ, cuộc tấn công có thể có thể đọc khác
thông điệp của người sử dụng) và xác định khai thác khác nhau kiểm soát an ninh (ví dụ, dữ liệu
xác nhận không thành công vì một lỗ hổng SQL injection) và biện pháp đối phó cần thiết (ví dụ, thực hiện xác nhận dữ liệu và truy vấn tham số) mà
có thể được kiểm tra tính hiệu quả trong việc giảm thiểu các cuộc tấn công như vậy.
Thông thường, chức năng kiểm tra được sử dụng để kiểm tra các chức năng của thực hiện
các tính năng hoặc sau khi các tính năng phần mềm là hoàn tất. Tuy nhiên, bảo hiểm mã được
giới hạn bởi số lượng các trường hợp sử dụng có sẵn. Nếu một bài kiểm tra không được tạo ra cho một c specifi
trường hợp sử dụng, sau đó một số con đường thực hiện trong phần mềm sẽ vẫn chưa được kiểm chứng.
Vì vậy, ngay cả khi chức năng được xác nhận cho tất cả các trường hợp sử dụng có sẵn, mà
không phải là một sự đảm bảo rằng phần mềm là miễn phí khuyết tật.
thử nghiệm Logic là một loại thử nghiệm chức năng có liên quan đến việc đảm bảo rằng logic kinh doanh được xác định dựa trên các giả định chính xác. Logic kinh doanh là mã
đáp ứng các mục đích kinh doanh của phần mềm điện toán đám mây và các mô hình điển hình
và tự động hóa một "đời thực" hay "giấy" quá trình kinh doanh như thương mại điện tử
, quản lý hàng tồn kho. Logic kinh doanh bao gồm cả các quy tắc kinh doanh
và quy trình công việc:
quy tắc Business thể hiện chính sách kinh doanh (chẳng hạn như các kênh, vị trí,
hậu cần, giá cả, và các sản phẩm)
Workflows dựa trên các nhiệm vụ ra lệnh truyền các văn bản hoặc dữ liệu từ
một người tham gia (một người hoặc một hệ thống phần mềm) để một
lỗ hổng logic kinh doanh thường cụ thể cho các ứng dụng điện toán đám mây đang được
thử nghiệm, và rất khó phát hiện. Công cụ tự động làm một công việc người nghèo phát hiện sai sót lôgic, vì họ không hiểu được bối cảnh của các quyết định.
Vì vậy, khi phát hiện sai sót lôgic thường là một quá trình thủ công được thực hiện bởi một
thử nghiệm của con người.
Khi tìm kiếm lỗ hổng logic kinh doanh, các thử nghiệm bắt đầu bằng cách xem xét các
quy tắc cho các chức năng kinh doanh được cung cấp bởi các ứng dụng điện toán đám mây. Tiếp theo,
các thử nghiệm tìm kiếm cho bất kỳ giới hạn hoặc hạn chế hành vi của người dân. Sau đó, các
Cloud Phần mềm máy tính an Fundamentals 92 Chương 3
ứng dụng có thể được kiểm tra để xác nhận rằng nó thực thi những quy tắc. Một ví dụ điển hình
của một lỗ hổng logic kinh doanh là những thay đổi về giá cả mà đôi khi được cho phép
bởi các ứng dụng thương mại điện tử trên Internet Web dựa trên đầu.
Thiết lập giá của một sản phẩm trên một trang web thương mại điện tử là một số âm
có thể khiến cho ngân sách được ghi có vào một kẻ tấn công. Một biện pháp đối phó với điều này
dễ bị tổn thương là để thực hiện xác nhận tích cực của giá cả để các ứng dụng cho phép chỉ số tích cực trong một phạm vi bằng số cụ thể. Tất nhiên, các
ứng dụng sẽ không bao giờ chấp nhận và xử lý bất kỳ dữ liệu từ khách hàng rằng đã
không yêu cầu người dùng nhập vào trong những nơi đầu tiên.
Thử nghiệm tính năng
Trong một báo cáo trực tuyến (http://vote.nist.gov/vvsg-report.htm), NIST tuyên bố rằng
"những gì phân biệt thử nghiệm hiệu năng từ chức năng kiểm tra các hình thức là
các kết quả thí nghiệm. Một thử nghiệm chức năng mang lại là có hay không có phán quyết, trong khi một
thử nghiệm hiệu năng mang lại một số lượng. "biện pháp kiểm tra hiệu suất tốt như thế nào
các hệ thống phần mềm điện toán đám mây thực hiện theo thời gian đáp ứng yêu cầu, nó
thông, CPU, sử dụng, và tính năng định lượng khác trong hoạt động. Số lượng kết quả từ một thử nghiệm sau đó có thể được giảm đến có hoặc không có phán quyết bởi
so với một điểm chuẩn.
Hiệu suất thử nghiệm cũng thường được gọi bằng tên khác và / hoặc kết hợp với các hoạt động thử nghiệm khác, chẳng hạn như căng thẳng thử nghiệm, kiểm tra năng lực,
thử tải , kiểm tra khối lượng, và thử nghiệm benchmark. Những hoạt động khác nhau
hoạt động thử nghiệm tất cả đều có cùng một mục tiêu xấp xỉ: "để đo lường các đám mây
. sản phẩm phần mềm theo một tải thực hoặc mô phỏng "
19
Thông thường, thực hiện thử nghiệm được tiến hành vào cuối trong vòng đời phần mềm
khi phần mềm được phát triển đầy đủ. Để có được số đo chính xác,
phần mềm điện toán đám mây được triển khai và thử nghiệm trong một môi trường mô phỏng
môi trường hoạt động. Điều này có thể đạt được bằng cách tạo ra một đám mây "dàn dựng"
môi trường, thực chất là bản sao nhân bản của các cơ sở hạ tầng sản xuất, và
mô phỏng điều kiện hoạt động điển hình.
Một lợi ích lớn của thử nghiệm hiệu suất là nó thường được thiết kế đặc biệt để đẩy giới hạn hệ thống trong một thời gian dài thời gian. Đây là hình thức kiểm tra
đã thường được sử dụng để phát hiện ra những thất bại duy nhất không phát hiện trong quá trình
kiểm tra sự phù hợp hoặc khả năng tương tác. Ngoài ra, điểm chuẩn thường được
sử dụng để cung cấp cơ sở so sánh hiệu suất cạnh tranh. Ví dụ,
các xét nghiệm này được sử dụng để mô tả hiệu suất trước khi sản xuất cũng
như để so sánh đặc tính hiệu suất của sản phẩm phần mềm khác trước khi
mua.
thủ tục kiểm tra hiệu suất cung cấp các bước để xác định khả năng của
phần mềm điện toán đám mây để hoạt động đúng, đặc biệt là khi ở gần hay xa hơn các
ranh giới của tính năng của nó hoặc yêu cầu. Những ranh giới là
USU
đang được dịch, vui lòng đợi..