Các quy trình chuẩn kiểm tra một ứng dụng website

owasp-logo

Penetration testing là quá trình kiểm thử bảo mật cho các ứng dụng web bằng cách giả lập các cuộc tấn công vào website để tìm kiếm và phát hiện các lỗ hổng, các vấn đề bảo mật trong website. Những người kiểm thử sẽ đóng vai trò là các hacker và giả lập các tấn công vào các trang web mục tiêu.

Dưới đây là các tiêu chuẩn nhằm hỗ trợ các nhà kiểm thử bảo mật kiểm thử cho các trang web.

OWASP (Dự án bảo mật ứng dụng web mở)

Tổ chức phòng thủ ở các thiết bị mạng không chỉ giúp ngăn chặn mã độc xâm nhập vào mạng bằng cách khai thác thông tin và lỗ hổng, mà còn giúp chủ động ngăn cản những truy cập trái phép và không phù hợp vào hệ thống. Tuy nhiên, điều này không giúp các ứng dụng web tránh khỏi các cuộc tấn công, tin tặc có thể tấn công vào ứng dụng trước khi thực hiện tấn công vào hệ thống. Do vậy, cần có phương pháp kiểm tra, đánh giá các nguy cơ bảo mật cơ bản trên ứng dụng. OWASP được thực hiện với mục tiêu đó. Đây là dự án được phát triển bởi công đồng mở nhằm nâng cao nhận thức về bảo mật ứng dụng trong các tổ chức.

OWASP cung cấp nhiều tài liệu hướng dẫn về các lĩnh vực khác nhau trong việc bảo mật ứng dụng:

  • Các vấn đề về bảo mật ứng dụng (Application Security Desk Reference): Tài liệu này cung cấp các định nghĩa và mô tả về tất cả các khái niệm quan trọng, các loại lỗi, lỗ hổng, các phương pháp tấn công, phương pháp kiểm tra, các tác động kỹ thuật và tác động kinh doanh trong bảo mật ứng dụng. Đây là tài liệu tham chiếu cho tất cả các tài liệu hướng dẫn khác của OWASP.
  • Hướng dẫn Phát triển (Developer’s Guide): Tài liệu này bao gồm tất cả các yếu tố bảo mật mà người phát triển ứng dụng cần quan tâm. Trong tài liệu cung cấp hàng trăm loại lỗ hổng phần mềm, có thể được sử dụng như một sách hướng dẫn mạnh mẽ về kiểm soát bảo mật.
  • Hướng dẫn Kiểm tra (Testing Guide): Là tài liệu cung cấp về các quy trình và công cụ kiểm tra bảo mật ứng dụng. Cách sử dụng tài liệu tốt nhất là áp dụng vào việc kiểm tra điểm yếu bảo mật của một ứng dụng hoàn thiện.
  • Hướng dẫn Kiểm tra mã nguồn (Code Review Guide): Kiểm tra ứng dụng bằng cách xem mã nguồn sẽ hỗ trợ phòng tránh cho ứng dụng khỏi các tác động bên cạnh việc kiểm tra từ bên ngoài. Người kiểm tra có thể chủ động lựa chọn cách thức tiếp cận với ứng dụng phù hợp nhất.
  • Ngoài ra, cộng đồng OWASP cũng giới thiệu tài liệu “OWASP Top 10”. Đây là một dự án tập trung vào phân loại 10 rủi ro bảo mật ứng dụng phổ biến nhất trong mối quan hệ với các tác động kỹ thuật và kinh doanh, đồng thời cung cấp các hướng dẫn cụ thể về cách thức kiểm tra, xác minh và khắc phục những điểm yếu bảo mật dễ gặp phải của ứng dụng. OWASP Top 10 chủ yếu tập trung giải quyết vấn đề về các nguy cơ phổ biến hơn là việc bảo mật trên một ứng dụng web hoàn thiện. Toàn bộ nội dung trong OWASP Top 10 được đăng tải tại địa chỉ: www.owasp.org/index.php/Top10

Ưu điểm của phương pháp OWASP

  • Khuyến khích các nhà phát triển thực hành mã hóa an toàn bằng cách tích hợp kiểm tra an ninh ở từng giai đoạn phát triển. Điều này sẽ giúp cho các ứng dụng trong quá trình phát triển tránh được các lỗi và an toàn hơn.
  • Tài liệu Hướng dẫn Kiểm tra của OWASP cung cấp chi tiết về các kỹ thuật đánh giá, cung cấp một cái nhìn rộng hơn vào nhiều nền tảng công nghệ giúp người kiểm tra lựa chọn cách thức phù hợp nhất để tiến hành kiểm tra.
  • Tài liệu OWASP Top 10 cung cấp các hướng dẫn kỹ thuật giúp chống lại các cuộc tấn công và điểm yếu bảo mật phổ biến nhất và duy trì tính bảo mật (Confidentiality), tính toàn vẹn (Integrity) và tính sẵn sàng (Availability) của ứng dụng (CIA).
  • Cộng đồng OWASP cũng đã phát triển một số công cụ bảo mật và hướng dẫn sử dụng tập trung vào kiểm tra ứng dụng web một cách tự động. Một vài công cụ như: WebScarab, Wapiti, JBroFuzz và SQLiX. Các công cụ này cũng được cài đặt sẵn trong hệ điều hành BackTrack.

Quy trình OSSTMM (Phương pháp kiểm tra an ninh mã nguồn mở thủ công)

OSSTMM (www.isecom.org/osstmm/) là một tiêu chuẩn quốc tế được công nhận để kiểm tra và phân tích bảo mật và đang được sử dụng bởi nhiều tổ chức. Có những cách thức khác nhau để thực hiện kiểm tra bảo mật theo phương pháp OSSTMM như sau:

  • Blind: Kiểm thử Blind không yêu cầu phải biết các thông tin về hệ thống mục tiêu trước đó. Tuy nhiên, mục tiêu này đã được thông báo trước khi bắt đầu tiến hành kiểm thử. Tấn công có đạo đức hoặc kiểm thử game là những ví dụ về kiểm thử mù. Loại kiểm thử này cũng được chấp nhận rộng rãi bởi mục đích đạo đức của nó trong việc thông báo trước mục tiêu.
  • Double blind: Trong kiểm thử Double blind, người kiểm tra không cần biết bất kỳ thông tin nào về hệ thống mục tiêu và mục tiêu cũng không được thông báo trước khi tiến hành kiểm tra. Kiểm thử hộp đen và kiểm thử thâm nhập là những ví dụ của kiểm thử cặp mù. Với loại kiểm thử này, người kiểm tra gặp một thách thức lớn trong việc lựa chọn loại công cụ và kỹ thuật tốt nhất để giải quyết được yêu cầu kiểm tra.
  • Gray box (hộp xám): Trong kiểm thử hộp xám, người kiểm tra đã biết trước một vài thông tin về hệ thống mục tiêu và mục tiêu được thông báo trước khi kiểm tra được thực hiện. Đánh giá lỗ hổng (vulneralbility) là một trong những ví dụ cơ bản của kiểm thử hộp xám.
  • Double gray box (cặp hộp xám): Kiểm thử cặp hộp xám tương tự như kiểm thử hộp xám, trừ việc xác định khung thời gian cho một lần kiểm tra và không thực hiện kiểm tra channel và vector. Kiểm thử hộp trắng là một ví dụ về kiểm tra cặp hộp xám.
  • Tandem (song song): Trong kiểm thử song song, người kiểm tra đã có các kiến ​​thức tối thiểu để đánh giá về hệ thống mục tiêu và mục tiêu cũng được thông báo trước khi kiểm tra được thực hiện. Các kiểm thử song song (hay cặp trước sau) được thực hiện triệt để. Kiểm thử hộp thủy tinh (crytal box) và kiểm toán (in-house audit) là ví dụ của kiểm thử song song.
  • Reversal (đảo ngược): Trong kiểm thử đảo ngược, người kiểm tra biết trước đầy đủ kiến ​​thức về hệ thống mục tiêu và mục tiêu không được biết khi nào kiểm thử được tiến hành. Kiểm thử mũ đỏ (red-teaming) là một ví dụ của kiểm thử đảo ngược.

Ưu điểm của phương pháp OSSTMM

  • OSSTMM làm giảm đáng kể sự xuất hiện của cảnh báo nhầm (false positive) và bỏ qua nhầm (false negative) và cung cấp phép đo chính xác đối với bảo mật.
  • Phương pháp này thích nghi với nhiều loại kiểm tra bảo mật như kiểm thử thâm nhập, kiểm thử hộp trắng, đánh giá lỗ hổng,…
  • Đảm bảo rằng đánh giá được thực hiện triệt để và kết quả được tổng hợp một cách phù hợp, có định lượng và đáng tin cậy.
  • Các phương pháp này tuân theo một quá trình bốn bước gồm: bước định nghĩa, bước thông tin, bước pháp lý, và bước tiến hành kiểm thử. Mỗi bước gồm thu thập, đánh giá và xác minh các thông tin liên quan đến môi trường mục tiêu.
  • Số liệu của độ đo bảo mật có được bằng cách sử dụng phương pháp RAV (Risk Assessment Values – Giá trị đánh giá rủi ro). RAV tính toán giá trị bảo mật thực tế dựa trên hoạt động an ninh, kiểm soát sự mất mát và những giới hạn. Số điểm RAV thể hiện trạng thái an ninh hiện tại của mục tiêu.
  • Các báo cáo được thể hiện dưới định dạng STAR (Security Test Audit Report – Báo cáo kiểm tra bảo mật) để thuận lợi cho việc quản lý cũng như xem xét của đội ngũ kỹ thuật, các giá trị đánh giá rủi ro (RAV) và đầu ra từ mỗi giai đoạn kiểm tra.
  • Phương pháp này thường xuyên được cập nhật với các xu hướng mới của kiểm tra bảo mật, quy định và mối quan tâm về đạo đức.
  • Các bước của OSSTMM có thể dễ dàng phối hợp với các quy định của ngành công nghiệp, chính sách kinh doanh và pháp luật của chính phủ. Ngoài ra, một chứng nhận kiểm thử cũng có thể hội đủ điều kiện để được công nhận trực tiếp từ ISECOM (Institute for Security and Open Methodologies – Viện An ninh và các phương pháp mở).

ISSAF (Chuẩn đánh giá an ninh hệ thống thông tin)

ISSAF (www.oissg.org/issaf) là một chuẩn phân tích và kiểm tra an ninh mã nguồn mở. ISSAF tiến hành các đánh giá bảo mật theo một thứ tự hợp lý. Mỗi đánh giá này được thực hiện trên các thành phần khác nhau của hệ thống. Bằng cách tiến hành theo một vòng khép kín, ISSAF có thể cung cấp chính xác, đầy đủ, và hiệu quả yêu cầu kiểm định an ninh của tổ chức. ISSAF được phát triển để tập trung vào hai lĩnh vực kiểm tra an ninh, kỹ thuật và quản lý. Mặt kỹ thuật thiết lập các quy tắc và thủ tục cốt lõi để tạo ra một quá trình đánh giá đầy đủ về bảo mật, trong khi mặt quản lý hoàn thành các bước của quá trình quản lý và những công việc nên được thực hiện trong giai đoạn kiểm tra. Phương pháp đánh giá ISSAF bao gồm các giai đoạn: lập kế hoạch, đánh giá, xử lý, cấp phép và bảo trì. Mỗi giai đoạn được tiến hành hiệu quả và linh hoạt tùy theo điều kiện cụ thể. Kết quả cuối cùng là sự kết hợp của các hoạt động nghiệp vụ, các giải pháp ​​an ninh và một danh sách đầy đủ các lỗ hổng có thể tồn tại trong môi trường được kiểm tra.

ISSAF bao gồm một tập hợp phong phú các quy trình và kỹ thuật đánh giá khác nhau và thường xuyên được cập nhật. Người kiểm tra có thể thêm vào các công cụ bảo mật, các phương pháp, thủ tục,… để bổ sung cho quy trình đánh giá an ninh. Cũng có thể kết hợp với phương pháp OSSTMM hoặc bất kỳ phương pháp kiểm tra nào khác nhằm phát huy ưu điểm của mỗi phương pháp.

Ưu điểm của phương pháp ISSAF

  • Là phương pháp hữu ích trong việc đảm bảo an ninh cho hệ thống bằng cách thực hiện các kiểm tra lỗ hổng hệ thống.
  • Chỉ ra những thành phần quan trọng trong đánh giá an ninh thông tin như: đánh giá rủi ro, quản lý kinh doanh, tổ chức đánh giá, tiến trình quản lý, phát triển chính sách bảo mật và các thực hành hữu ích.
  • Toàn bộ tiến trình đánh giá ISSAF bao gồm các hoạt động quản lý, đánh giá bảo mật vật lý, phương pháp thử nghiệm thâm nhập, quản lý sự cố, quản lý thay đổi, quản lý kinh doanh liên tục, nhận thức về an ninh, tuân thủ pháp luật và quy định.
  • Phương pháp kiển thử xâm nhập ISSAF kiểm tra an ninh của cả thành phần mạng, hệ thống hoặc ứng dụng. Phương pháp này tập trung vào những công nghệ cụ thể như thiết bị định tuyến (router), chuyển mạch (switch), tường lửa, hệ thống phát hiện và phòng thủ xâm nhập, mạng riêng ảo, máy chủ ứng dụng web, cơ sở dữ liệu,…
  • Thu hẹp khoảng cách giữa kỹ thuật và quản lý kiểm tra bảo mật bằng cách thực hiện các tác động cần thiết ở cả hai lĩnh vực.
  • Giúp người quản lý hiểu về những rủi ro bảo mật và các lỗ hổng có thể ảnh hưởng đến hoạt động của tổ chức.

WASC-TC (Phân loại nguy cơ trong bảo mật ứng dụng web)

WASC-TC là một tiêu chuẩn mở để đánh giá sự an toàn của các ứng dụng web. Tương tự như tiêu chuẩn OWASP, WASC-TC cũng được phân loại thành các phương pháp tấn công và điểm yếu bảo mật, nhưng đi vào phân tích một cách sâu sắc hơn. Các tiêu chuẩn tổng thể được trình bày trong ba quan điểm khác nhau để giúp các nhà phát triển và người kiểm tra bảo mật có được những hiểu biết cần thiết về mối đe dọa bảo mật ứng dụng web.

  • Quan điểm Liệt kê (Enumeration): Quan điểm này cung cấp cái nhìn cơ bản về tấn công ứng dụng web và điểm yếu bảo mật. Mỗi cuộc tấn công và điểm yếu bảo mật được trình bày với định nghĩa ngắn gọn, phân loại và nhiều ví dụ khác nhau. Có tổng cộng 49 cuộc tấn công và điểm yếu đối chiếu với số thứ tự trong WASC-ID (1-49).
  • Quan điểm Phát triển (Development): Quan điểm này giúp nhà phát triển có được cái nhìn toàn diện về các cuộc tấn công và điểm yếu bảo mật có thể xảy ra trong các giai đoạn phát triển: thiết kế, thực hiện hoặc triển khai. Các lỗ hổng thiết kế xuất hiện khi ứng dụng không thực hiện các yêu cầu bảo mật ở giai đoạn thu thập ban đầu. Các lỗ hổng thực hiện xảy ra do nguyên tắc mã hóa và thực hành mã hóa không an toàn. Và các lỗ hổng triển khai là kết quả của việc cấu hình sai ứng dụng, máy chủ web và các hệ thống bên ngoài khác. Như vậy, dưới quan điểm phát triển, kết hợp các yếu tố này trong một vòng đời phát triển liên tục là thực hành tốt nhất để đảm bảo an ninh cho ứng dụng.
  • Quan điểm Tham chiếu chéo (Taxonomy Cross Reference): Đề cập đến quan điểm tham khảo chéo nhiều tiêu chuẩn bảo mật ứng dụng web để giúp người kiểm tra và các nhà phát triển trình bày các thuật ngữ theo một chuẩn phù hợp. Tuy nhiên, mỗi tiêu chuẩn vẫn có những tiêu chí riêng để đánh giá ứng dụng từ các góc độ khác nhau và các biện pháp đo lường rủi ro riêng. Các phương pháp tấn công và điểm yếu bảo mật trong WASC-TC được trình bày tham chiếu với OWASP Top 10, CWE (Mitre’s Common Weakness Enumeration), CAPEC (Mitre’s Common Attack Pattern Enumeration and Classification) và SANS-CWE Top 25 List.

Ưu điểm của phương pháp WASC-TC

  • Cung cấp kiến ​​thức chuyên sâu để đánh giá môi trường ứng dụng web nhằm chống lại các cuộc tấn công và điểm yếu phổ biến nhất.
  • Các cuộc tấn công và điểm yếu được trình bày bởi WASC-TC có thể được sử dụng để kiểm tra mọi nền tảng ứng dụng web bằng cách kết hợp với các công cụ trong hệ điều hành BackTrack.
  • Tiêu chuẩn này cung cấp ba quan điểm khác nhau, cụ thể là liệt kê, phát triển và tham chiếu chéo. Quan điểm Liệt kê cung cấp khái niệm cơ bản cho tất cả các cuộc tấn công và điểm yếu được tìm thấy trong các ứng dụng web. Quan điểm Phát triển kết hợp các định nghĩa tấn công và điểm yếu bảo mật thành các khái niệm về lỗ hổng và sắp xếp theo sự xuất hiện trong từng giai đoạn phát triển cụ thể: thiết kế, thực hiện hoặc triển khai. Quan điểm tham chiếu chéo giúp WASC-TC tham khảo và tương thích với những chuẩn bảo mật ứng dụng khác.
  • WASC-TC đã được chấp nhận ở mức công nghiệp và tính hội nhập này được thể hiện trong các mã nguồn mở và các giải pháp thương mại, chủ yếu là đánh giá lỗ hổng bảo mật và các sản phẩm quản lý.

Theo Securitydaily.net (rất cám ơn anh Lê Tuấn Minh bài viết rất hữu ích này)

Comments

comments