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

Preview:

DESCRIPTION

Kiểm thử ứng dụng website

Citation preview

KIỂM THỬ ỨNG DỤNG WEB

KIỂM THỬ BẢO MẬT

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

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

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

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

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)

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

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

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≪

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)

• ….

ĐÁ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…

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ủ

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

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

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)

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)

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

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)

…..

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

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)

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

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

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

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

Recommended