23
KIỂM THỬ ỨNG DỤNG WEB KIỂM THỬ BẢO MẬT Thực hiện: Nguyễn Minh Trí

Kiểm thử bảo mật web

Embed Size (px)

DESCRIPTION

Kiểm thử ứng dụng website

Citation preview

Page 1: Kiểm thử bảo mật web

KIỂM THỬ ỨNG DỤNG WEB

KIỂM THỬ BẢO MẬT

Thực hiện: Nguyễn Minh Trí

Page 2: Kiểm thử bảo mật web

NỘI DUNG THUYẾT TRÌNH

1. Giới thiệu tổng quan

2. Quy trình một cuộc tấn công

3. Mục đích các cuộc tấn công

4. Cách tấn công phổ biến

5. Kiểm thử bảo mật ứng dụng web

6. Tài liệu đọc thêm

Page 3: Kiểm thử bảo mật web

1. GIỚI THIỆU TỔNG QUAN

• Ứng dụng web• Được thiết kế dựa trên nền web

• Truy cập ứng dụng ở bất cứ nơi đâu.

• Tiềm ẩn nhiều nguy cơ bảo mật

• Vấn đề an ninh chưa được quan tâm đúng mức

Page 4: Kiểm thử bảo mật web

1. GIỚI THIỆU TỔNG QUAN

• Kiểm thử ứng dụng web• Khác với kiểm thử truyền thống

• Yêu cầu kiến thức chuyên sâu hệ thống

• Kiểm thử chỉ mang tính tương đối

Page 5: Kiểm thử bảo mật web

2. QUY TRÌNH MỘT CUỘC TẤN CÔNG

Bao gồm 3 bước:

• Thu thập thông tin (Information Gathering)

• Quyét và dò tìm (Scanning)

• Tấn công (Attacking)

Page 6: Kiểm thử bảo mật web

THU THẬP THÔNG TIN

• Thăm dò địa chỉ của trang web

• Điều tra thông tin nhà phát triển

• Tìm hiểu các tài liệu công bố trên mạng

• Kiểm tra và ghi chép lại thông tin có được

Þ Xác định được hạ tầng và công nghệ của mục tiêu

Page 7: Kiểm thử bảo mật web

QUYÉT VÀ DÒ TÌM

• Sử dụng các công cụ quét hệ thống (Tham khảo: http://www.insecure.org)

• Tìm các đường có thể xâm nhập

• Duyệt qua các lỗi thường gặp

• Xây dựng hệ thống giả định

Þ Tìm ra lỗ hỏng của hệ thống, đưa ra cách tấn công phù hợp

Page 8: Kiểm thử bảo mật web

TẤN CÔNG

• Kết nối tới các cổng nhạy cảm

• Vượt mặt hệ thống xác thực (ID/Mật khẩu)

• Chạy các truy vấn hệ thống

• Chặn toàn bộ các đường kết nối khác

Þ Làm chủ hệ thống và thực hiện mục đích tấn công≪

Page 9: Kiểm thử bảo mật web

3. MỤC ĐÍCH CÁC CUỘC TẤN CÔNG

• Đánh cắp (Seal)

• Gián đoạn hệ thống (Disrupt activities)

• Quấy rối (Embarrass)

• Game (Play game)

• ….

Page 10: Kiểm thử bảo mật web

ĐÁNH CẮP

• Thông tin cá nhân

• Tài khoản thẻ tín dụng

• Dữ liệu bí mật Dữ liệu tài chính, kế hoạch kinh doanh….

• Sở hữu trí tuệ Phần mềm, âm nhạc, sản phẩm online…

Page 11: Kiểm thử bảo mật web

GIÁN ĐOẠN HỆ THỐNG

• Gián đoạn tạm thời một vài dịch vụ

• Làm tê liệt toàn bộ hệ thống

• Gây tổn thất về mặt tài chính và con người

• Tạo lợi thế cạnh tranh với đối thủ

Page 12: Kiểm thử bảo mật web

QUẤY RỐI

• Thay đổi nội dung của trang web

• Đưa các hình ảnh hoặc thông tin bất lợi

• Mạo danh website để thực hiện những hành vi xấu

• Gây tổn hại đến uy tín và tinh thần

Page 13: Kiểm thử bảo mật web

GAME

• Nâng cấp cho nhân vật hoặc vượt mặt thử thách

• Kinh doanh trên các sản phẩm ảo

Page 14: Kiểm thử bảo mật web

4. CÁCH TẤN CÔNG PHỔ BIẾN

• Lợi dụng lỗi của ứng dụng (Software Bugs)

• Tấn công qua cookie (Cookie)

• Giả mạo thông tin (Spoofing)

• Từ chối dịch vụ (DDoS)

• Tấn công mạng (Network Attacks)

Page 15: Kiểm thử bảo mật web

LỢI DỤNG LỖI CỦA ỨNG DỤNG

• Tràn bộ nhớ đệm (Buffer Overflows)

• Thực thi lệnh shell (Command Line Execution)

• Sử dụng cửa sau (Backdoors)

• Khai thác CGI (CGI Programs)

• Lợi dụng lỗi của ngôn ngữ lập trình (Java, PHP, Javascript, AtiveX)

Page 16: Kiểm thử bảo mật web

TẤN CÔNG QUA COOKIE

• Đọc thông tin cookie được lưu khi duyệt web

• Giả mạo cookie để vượt qua lớp chứng thực

• Thay đổi thông tin cookie để chiếm quyền hệ thống

• Lợi dụng lỗ hỏng bảo mật của trình duyệt

Page 17: Kiểm thử bảo mật web

GIẢ MẠO THÔNG TIN

• Là hình thức giả mạo thông tin nhằm để truy cập hệ thống hoặc hợp thức hóa một công việc nào đó Giả mạo Email (Email Spoofing)

Giả mạo IP (IP Spoofing)

Giả mạo DNS (DNS Spoofing)

Giả mạo Website (Web page Spoofing)

…..

Page 18: Kiểm thử bảo mật web

TỪ CHỐI DỊCH VỤ

• Nhiều máy tính gộp lại tạo thành mạng lưới (botnet)

• Cùng lúc kết nối tới máy chủ mục tiêu

• Khiến máy chủ mục tiêu bị tê liệt

• Các dịch vụ bị tạm ngừng trong 1 thời gian

Page 19: Kiểm thử bảo mật web

5. KIỂM THỬ BẢO MẬT ỨNG DỤNG WEB

• Kiểm thử các yêu cầu và thiết kế (Requirements & Design Testing)

• Kiểm thử mã nguồn của ứng dụng (Application Code Testing)

• Kiểm thử triển khai (Deploying Testing)

• Kiểm thử xâm nhập (Penetration Testing)

Page 20: Kiểm thử bảo mật web

KIỂM THỬ CÁC YÊU CẦU VÀ THIẾT KẾ

• Kiểm thử các yêu cầu

• Trusted Computational Base (TCB)

• Kiểm thử quyền truy cập

• Xác định những phần cần bảo mật

• Kiểm thử vấn đề phía người dùng

Page 21: Kiểm thử bảo mật web

KIỂM THỬ MÃ NGUỒN CỦA ỨNG DỤNG

• Kiểm thử cửa hậu

• Kiểm thử dữ liệu rác & tràn bộ đệm

• Kiểm thử ID và Password

• Kiểm thử thông tin rò rỉ

• Kiểm thử sử dụng GET và POST

• Kiểm thử SQL Injection

• Kiểm thử tấn công Cookie

• Kiểm thử mã nguồn bên thứ 3

Page 22: Kiểm thử bảo mật web

KIỂM THỬ TRIỂN KHAI

• Cài đặt mặc định

• Mật khẩu mặc định

• Quốc tế hóa ứng dụng

• Program Forensics

Page 23: Kiểm thử bảo mật web

6. TÀI LIỆU ĐỌC THÊM

• Book: Writing Secure Code. Redmond, Howard, M., and David LeBlanc

Web Server, Security, and Maintenance.Upper Saddle River, NJ: Prentice-Hall PTR, 2000

• Website:

• Computer System Security: An Overview, SEI STR www.sei.cmu.edu/str.descriptions/security.html

• Cross Site Scripting Explained www.microsoft.com/technet.treeview/default.asp?url=/technet/security

• User Input in SQL Statement: AdCycle SQL Command Insertion Vulnerability www.qdefense.com/Advisories/QDAV-2001-7-2.html