Tải bản đầy đủ (.pdf) (45 trang)

bài 3 tấn công vào ứng dụng và mạng, đánh giá khả năng thiệt hại và làm giảm các vụ tấn công

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.85 MB, 45 trang )

Bài 3:
Tấn công vào ứng dụng và mạng, đánh giá
khả năng thiệt hại và làm giảm các vụ tấn công
Củng cố lại bài 2
Các phần mềm độc hại lây lan
Virus và Sâu
Các phần mềm độc hại dấu mình
Trojan, Rootkit, Bom logic, và Cửa hậu
Các phần mềm độc hại kiếm lợi
Botnet, Phần mềm gián điệp, Phần mềm quảng cáo, và
Bộ sao lưu bàn phím
Các kỹ nghệ xã hội
Thủ đoạn tâm lý: Thuyết phục, Mạo danh, Phishing, Thư
rác, và Cảnh báo giả
Thủ đoạn vật lý: Lục tìm thùng rác, Bám đuôi chui cửa,
Nhìn trộm qua vai
Các phần mềm độc hại lây lan
Virus và Sâu
Các phần mềm độc hại dấu mình
Trojan, Rootkit, Bom logic, và Cửa hậu
Các phần mềm độc hại kiếm lợi
Botnet, Phần mềm gián điệp, Phần mềm quảng cáo, và
Bộ sao lưu bàn phím
Các kỹ nghệ xã hội
Thủ đoạn tâm lý: Thuyết phục, Mạo danh, Phishing, Thư
rác, và Cảnh báo giả
Thủ đoạn vật lý: Lục tìm thùng rác, Bám đuôi chui cửa,
Nhìn trộm qua vai
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn công
2
Mục tiêu của bài học


Liệt kê và giải thích các dạng tấn công vào ứng dụng
Liệt kê và giải thích các dạng tấn công vào mạng
Định nghĩa đánh giá khả năng thiệt hại và tầm quan trọng
của nó
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn
công
3
Định nghĩa đánh giá khả năng thiệt hại và tầm quan trọng
của nó
Phân biệt giữa quét tìm lỗ hổng và kiểm tra sự thâm nhập
Liệt kê các kỹ thuật làm giảm và ngăn chặn các cuộc tấn công
Tấn công vào ứng dụng
Tấn công vào ứng dụng
Các nhóm tấn công đang tiếp tục gia tăng
Tấn công vào các lỗ hổng chưa công bố (Zero-day)
Khai thác những lỗ hổng chưa được công bố hoặc chưa
được khắc phục
Nạn nhân không có thời gian chuẩn bị phòng thủ
Các dạng tấn công vào ứng dụng
Tấn công vào ứng dụng Web
Tấn công phía máy khách
Tấn công làm tràn vùng đệm
Tấn công vào ứng dụng
Các nhóm tấn công đang tiếp tục gia tăng
Tấn công vào các lỗ hổng chưa công bố (Zero-day)
Khai thác những lỗ hổng chưa được công bố hoặc chưa
được khắc phục
Nạn nhân không có thời gian chuẩn bị phòng thủ
Các dạng tấn công vào ứng dụng
Tấn công vào ứng dụng Web

Tấn công phía máy khách
Tấn công làm tràn vùng đệm
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn
công
4
Tấn công vào
ứng dụng Web (1/3)
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn
công
5
Hình 3-1 Hạ tầng ứng dụng Web
© Cengage Learning 2012
Tấn công vào
ứng dụng Web (2/3)
Các ứng dụng Web là một thành phần thiết yếu của các
tổ chức hiện nay
Các lỗ hổng trong các ứng dụng Web được những kẻ
tấn công triệt để khai thác để tiến hành các cuộc tấn
công
Tấn công ứng dụng Web là tấn công phía server
Các phương pháp đảm bảo an toàn cho ứng dụng Web
Củng cố server Web (Web server)
Bảo vệ hệ thống mạng
Các ứng dụng Web là một thành phần thiết yếu của các
tổ chức hiện nay
Các lỗ hổng trong các ứng dụng Web được những kẻ
tấn công triệt để khai thác để tiến hành các cuộc tấn
công
Tấn công ứng dụng Web là tấn công phía server
Các phương pháp đảm bảo an toàn cho ứng dụng Web

Củng cố server Web (Web server)
Bảo vệ hệ thống mạng
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn
công
6
Tấn công vào
ứng dụng Web (3/3)
Các dạng tấn công ứng dụng Web phổ biến (*)
Kịch bản giữa các trạm (Cross-site scripting) (XSS)
Tiêm nhiễm SQL (SQL Injection)
Tiêm nhiễm XML (XML Injection)
Duyệt thư mục (Directory Traversal) (SV tự đọc sách)
Tiêm nhiễm lệnh (Command Injection) (SV tự đọc sách)
Các dạng tấn công ứng dụng Web phổ biến (*)
Kịch bản giữa các trạm (Cross-site scripting) (XSS)
Tiêm nhiễm SQL (SQL Injection)
Tiêm nhiễm XML (XML Injection)
Duyệt thư mục (Directory Traversal) (SV tự đọc sách)
Tiêm nhiễm lệnh (Command Injection) (SV tự đọc sách)
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn
công
7
Tấn công vào ứng dụng Web
- Kịch bản giữa các trạm (1/3)
Tiêm nhiễm mã kịch bản vào một máy chủ ứng dụng
Web
Tấn công trực tiếp từ máy khách
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn công
8
Hình 3-3 Tấn công XSS

© Cengage Learning 2012
Tấn công vào ứng dụng Web
- Kịch bản giữa các trạm (2/3)
Khi nạn nhân truy cập vào Web site bị tiêm nhiễm:
Các chỉ lệnh độc hại được gửi tới trình duyệt của nạn
nhân
Trình duyệt không thể phân biệt được đâu là mã hợp lệ,
đâu là mã độc
Web site bị tấn công có đặc điểm
Chấp nhận dữ liệu đầu vào của người dùng mà không
cần kiểm tra tính hợp lệ
Sử dụng dữ liệu đầu vào trong một phản hồi không được
mã hóa
Một số vụ tấn công XSS được thiết kế nhằm đánh cắp
thông tin:
Thông tin được lưu giữ bởi trình duyệt
Khi nạn nhân truy cập vào Web site bị tiêm nhiễm:
Các chỉ lệnh độc hại được gửi tới trình duyệt của nạn
nhân
Trình duyệt không thể phân biệt được đâu là mã hợp lệ,
đâu là mã độc
Web site bị tấn công có đặc điểm
Chấp nhận dữ liệu đầu vào của người dùng mà không
cần kiểm tra tính hợp lệ
Sử dụng dữ liệu đầu vào trong một phản hồi không được
mã hóa
Một số vụ tấn công XSS được thiết kế nhằm đánh cắp
thông tin:
Thông tin được lưu giữ bởi trình duyệt
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn công

9
Tấn công vào ứng dụng Web
- Kịch bản giữa các trạm (2/3)
Tấn công vào ứng dụng Web
- Kịch bản giữa các trạm (3/3)
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn công
10
Hình 3-5 Dữ liệu được sử dụng trong phản hồi
© Cengage Learning 2012
Tấn công vào ứng dụng Web
- Kịch bản giữa các trạm (2/3)
Tấn công vào ứng dụng Web
- Tiêm nhiễm SQL (1/3)
Mục tiêu nhằm vào SQL server bằng cách tiêm nhiễm
lệnh
SQL (Structured Query Language)
Được sử dụng để thao tác dữ liệu lưu trữ trong cơ sở dữ
liệu quan hệ
Cách thức thực hiện
Kẻ tấn công nhập vào các địa chỉ e-mail sai định dạng
Phản hồi cho phép kẻ tấn công biết dữ liệu đầu vào có
được kiểm tra tính hợp lệ hay không
Mục tiêu nhằm vào SQL server bằng cách tiêm nhiễm
lệnh
SQL (Structured Query Language)
Được sử dụng để thao tác dữ liệu lưu trữ trong cơ sở dữ
liệu quan hệ
Cách thức thực hiện
Kẻ tấn công nhập vào các địa chỉ e-mail sai định dạng
Phản hồi cho phép kẻ tấn công biết dữ liệu đầu vào có

được kiểm tra tính hợp lệ hay không
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn công
11
Tấn công vào ứng dụng Web
- Tiêm nhiễm SQL (2/3)
Ví dụ quên mật khẩu
Kẻ tấn công nhập trường e-mail vào lệnh SQL
Lệnh SQL được cơ sở dữ liệu xử lý
Ví dụ lệnh SQL:
SELECT fieldlist FROM table WHERE field =
‘whatever’ or ‘a’=‘a’
Kết quả: Tất cả địa chỉ thư điện tử của người dùng sẽ
được hiển thị
Ví dụ quên mật khẩu
Kẻ tấn công nhập trường e-mail vào lệnh SQL
Lệnh SQL được cơ sở dữ liệu xử lý
Ví dụ lệnh SQL:
SELECT fieldlist FROM table WHERE field =
‘whatever’ or ‘a’=‘a’
Kết quả: Tất cả địa chỉ thư điện tử của người dùng sẽ
được hiển thị
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn công
12
Tấn công vào ứng dụng Web
- Tiêm nhiễm SQL (3/3)
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn công
13
Bảng 3-1 Các lệnh tiêm nhiễm SQL
Tấn công vào ứng dụng Web
- Tiêm nhiễm XML (1/2)

Ngôn ngữ đánh dấu
Phương thức thêm các chú thích cho văn bản
HTML
Sử dụng các thẻ (tag) được đặt trong các dấu ngoặc
nhọn
Chỉ thị cho trình duyệt hiển thị văn bản theo định dạng
cụ thể
XML
Chứa dữ liệu thay vì chỉ thị định dạng hiển thị dữ liệu
Không có tập thẻ được định nghĩa sẵn
Người dùng tự định nghĩa các thẻ của họ
Ngôn ngữ đánh dấu
Phương thức thêm các chú thích cho văn bản
HTML
Sử dụng các thẻ (tag) được đặt trong các dấu ngoặc
nhọn
Chỉ thị cho trình duyệt hiển thị văn bản theo định dạng
cụ thể
XML
Chứa dữ liệu thay vì chỉ thị định dạng hiển thị dữ liệu
Không có tập thẻ được định nghĩa sẵn
Người dùng tự định nghĩa các thẻ của họ
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn công
14
Tấn công vào ứng dụng Web
- Tiêm nhiễm XML (2/2)
Tấn công XML
Tương tự như tấn công thông qua tiêm nhiễm SQL
Kẻ tấn công phát hiện Web site không lọc dữ liệu người
dùng

Tiêm nhiễm các thẻ XML và dữ liệu vào cơ sở dữ liệu
Tiêm nhiễm Xpath
Xác định kiểu tấn công tiêm nhiễm XML
Cố gắng khai thác các truy vấn XML Path Language
Tấn công XML
Tương tự như tấn công thông qua tiêm nhiễm SQL
Kẻ tấn công phát hiện Web site không lọc dữ liệu người
dùng
Tiêm nhiễm các thẻ XML và dữ liệu vào cơ sở dữ liệu
Tiêm nhiễm Xpath
Xác định kiểu tấn công tiêm nhiễm XML
Cố gắng khai thác các truy vấn XML Path Language
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn công
15
Tấn công phía client
Tấn công phía client (máy khách)
Nhằm vào các lỗ hổng của các ứng dụng trên client
Khi client tương tác với một server bị xâm hại
Khi client khởi tạo kết nối tới server, kết nối này có thể
gây ra vụ tấn công
Các dạng phổ biến tấn công phía client
Xử lý phần đầu của HTTP (HTTP Header Manipulation)
Sử dụng Cookie và các file đính kèm
Cướp theo phiên (Session Hijacking)
Các phần phụ trợ (add-ons) độc hại (SV tự đọc)
Tấn công phía client (máy khách)
Nhằm vào các lỗ hổng của các ứng dụng trên client
Khi client tương tác với một server bị xâm hại
Khi client khởi tạo kết nối tới server, kết nối này có thể
gây ra vụ tấn công

Các dạng phổ biến tấn công phía client
Xử lý phần đầu của HTTP (HTTP Header Manipulation)
Sử dụng Cookie và các file đính kèm
Cướp theo phiên (Session Hijacking)
Các phần phụ trợ (add-ons) độc hại (SV tự đọc)
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn
công
16
Tấn công phía máy khách
- Xử lý phần đầu của HTTP (1/2)
Xử lý phần đầu của HTTP
Phần đầu của HTTP chứa các trường mô tả dữ liệu đang
được truyền nhận
Phần đầu của HTTP có thể bắt nguồn từ một trình duyệt
Trình duyệt thông thường không cho phép xử lý phần đầu đó
Chương trình của kẻ tấn công có thể xử lý phần đầu đó
Xử lý phần đầu của HTTP
Phần đầu của HTTP chứa các trường mô tả dữ liệu đang
được truyền nhận
Phần đầu của HTTP có thể bắt nguồn từ một trình duyệt
Trình duyệt thông thường không cho phép xử lý phần đầu đó
Chương trình của kẻ tấn công có thể xử lý phần đầu đó
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn công
17
Tấn công phía máy khách
- Xử lý phần đầu của HTTP (2/2)
Trường Referer (Tham chiếu)
Cho biết site tạo ra trang Web
Kẻ tấn công có thể thay đổi trường này để ẩn thông tin
trang Web được bắt nguồn từ đâu

Điều chỉnh để trang Web được lưu trữ trên máy tính của
kẻ tấn công
Trường Accept-Language (Ngôn ngữ chấp nhận)
Một số ứng dụng Web truyền trực tiếp nội dung của
trường này tới cơ sở dữ liệu
Kẻ tấn công có thể tiêm nhiễm câu lệnh bằng cách thay
đổi trường này
Trường Referer (Tham chiếu)
Cho biết site tạo ra trang Web
Kẻ tấn công có thể thay đổi trường này để ẩn thông tin
trang Web được bắt nguồn từ đâu
Điều chỉnh để trang Web được lưu trữ trên máy tính của
kẻ tấn công
Trường Accept-Language (Ngôn ngữ chấp nhận)
Một số ứng dụng Web truyền trực tiếp nội dung của
trường này tới cơ sở dữ liệu
Kẻ tấn công có thể tiêm nhiễm câu lệnh bằng cách thay
đổi trường này
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn công
18
Tấn công phía máy khách
- Sử dụng cookie
Cookie lưu trữ thông tin của người dùng trên máy tính cục bộ
Các web site sử dụng cookie để nhận biết khi khách truy cập lại
Một số ví dụ thông tin được lưu trữ trong cookie
Chỉ Web site tạo ra cookie mới có thể đọc được cookie
Cookie gây ra rủi ro đối với sự bảo mật và tính riêng tư
Các loại cookie:
Cookie của bên thứ nhất (First-party cookie)
Cookie của bên thứ ba (Third-party cookie)

Cookie theo phiên (Session cookie)
Cookie bền (Persistent cookie)
Cookie bảo mật (Secure cookie)
Flash cookie (cookie Flash)
Cookie lưu trữ thông tin của người dùng trên máy tính cục bộ
Các web site sử dụng cookie để nhận biết khi khách truy cập lại
Một số ví dụ thông tin được lưu trữ trong cookie
Chỉ Web site tạo ra cookie mới có thể đọc được cookie
Cookie gây ra rủi ro đối với sự bảo mật và tính riêng tư
Các loại cookie:
Cookie của bên thứ nhất (First-party cookie)
Cookie của bên thứ ba (Third-party cookie)
Cookie theo phiên (Session cookie)
Cookie bền (Persistent cookie)
Cookie bảo mật (Secure cookie)
Flash cookie (cookie Flash)
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn
công
19
Tấn công phía máy khách
- Cướp theo phiên
Khi người dùng đăng nhập bằng username (tên người
dùng) và password (mật khẩu),
server ứng dụng Web sẽ gán cho một thẻ phiên
Mỗi yêu cầu tiếp theo từ trình duyệt Web của người dùng
sẽ chứa thẻ phiên đó, cho đến khi người dùng đăng xuất
Cướp theo phiên
là một dạng tấn công trong đó kẻ tấn công có ý định mạo
danh người dùng bằng cách sử dụng thẻ phiên của anh ta.
Kẻ tấn công mạo danh người dùng bằng cách:

đánh cắp thẻ phiên
đoán thẻ phiên
Khi người dùng đăng nhập bằng username (tên người
dùng) và password (mật khẩu),
server ứng dụng Web sẽ gán cho một thẻ phiên
Mỗi yêu cầu tiếp theo từ trình duyệt Web của người dùng
sẽ chứa thẻ phiên đó, cho đến khi người dùng đăng xuất
Cướp theo phiên
là một dạng tấn công trong đó kẻ tấn công có ý định mạo
danh người dùng bằng cách sử dụng thẻ phiên của anh ta.
Kẻ tấn công mạo danh người dùng bằng cách:
đánh cắp thẻ phiên
đoán thẻ phiên
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn công
20
Tấn công làm tràn vùng đệm
Là quá trình làm cho việc lưu trữ dữ liệu trên RAM vượt
quá giới hạn của bộ đệm lưu trữ cố định
Dữ liệu tràn được đẩy sang các vùng nhớ lân cận
Có thể làm cho máy tính ngừng hoạt động
Kẻ tấn công có thể thay đổi “địa chỉ trở về”
Chuyển hướng tới địa chỉ chứa mã độc
Là quá trình làm cho việc lưu trữ dữ liệu trên RAM vượt
quá giới hạn của bộ đệm lưu trữ cố định
Dữ liệu tràn được đẩy sang các vùng nhớ lân cận
Có thể làm cho máy tính ngừng hoạt động
Kẻ tấn công có thể thay đổi “địa chỉ trở về”
Chuyển hướng tới địa chỉ chứa mã độc
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn
công

21
Tấn công vào mạng (1/3)
Mạng được những kẻ tấn công đặc biệt chú ý
Khai thác một lỗ hổng đơn lẻ trên mạng có thể làm lộ ra
hàng trăm hoặc hàng ngàn thiết bị để tấn công
Có nhiều dạng tấn công nhằm vào mạng hoặc các tiến
trình dựa trên mạng
Mục đích là làm tê liệt mạng: người dùng không thể
truy cập vào mạng
Mạng được những kẻ tấn công đặc biệt chú ý
Khai thác một lỗ hổng đơn lẻ trên mạng có thể làm lộ ra
hàng trăm hoặc hàng ngàn thiết bị để tấn công
Có nhiều dạng tấn công nhằm vào mạng hoặc các tiến
trình dựa trên mạng
Mục đích là làm tê liệt mạng: người dùng không thể
truy cập vào mạng
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn
công
22
Tấn công vào mạng (2/3)
Các dạng tấn công mạng phổ biến
Từ chối dịch vụ (Deny of Services) (DoS):
Lũ Ping (Ping Flood)
Tấn công kiểu gây mưa bão (smurf attack)
Lũ SYN (SYN flood)
Từ chối dịch vụ phân tán (Distributed Deny of Services)
(DDoS)
Can thiệp (Interception):
Kẻ đứng giữa (Man-in-the-middle)
Tái chuyển (Replay)

Các dạng tấn công mạng phổ biến
Từ chối dịch vụ (Deny of Services) (DoS):
Lũ Ping (Ping Flood)
Tấn công kiểu gây mưa bão (smurf attack)
Lũ SYN (SYN flood)
Từ chối dịch vụ phân tán (Distributed Deny of Services)
(DDoS)
Can thiệp (Interception):
Kẻ đứng giữa (Man-in-the-middle)
Tái chuyển (Replay)
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn công
23
Tấn công vào mạng (3/3)
Các dạng tấn công mạng phổ biến (tiếp theo)
Đầu độc (Poisoning):
Đầu độc ARP (ARP poisoning)
Đầu độc DNS (DNS Poisoning)
Tấn công vào quyền truy cập (Attacks on Access Rights):
Leo thang đặc quyền (Privilege escalation)
Truy cập bắc cầu (Transitive Access)
Các dạng tấn công mạng phổ biến (tiếp theo)
Đầu độc (Poisoning):
Đầu độc ARP (ARP poisoning)
Đầu độc DNS (DNS Poisoning)
Tấn công vào quyền truy cập (Attacks on Access Rights):
Leo thang đặc quyền (Privilege escalation)
Truy cập bắc cầu (Transitive Access)
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn công
24
Đánh giá khả năng thiệt hại

Các tác nhân liên quan đến việc đánh giá khả năng thiệt
hại
Tài sản
Những kẻ tấn công
Tác động của tự nhiên
Bất kỳ thực thể nào có khả năng gây hại
Năm bước trong quá trình đánh giá khả năng thiệt hại
Nhận diện tài sản (Asset Identification)
Đánh giá các mối đe dọa (Threat Evaluation)
Đánh giá khả năng thiệt hại (Vulnerability Appraisal)
Đánh giá rủi ro (Risk Assessment)
Làm giảm rủi ro (Risk Mitigation)
Bài 3 - Tấn công vào ứng dụng và mạng, đánh giá các điểm yếu và làm giảm các cuộc tấn
công
Các tác nhân liên quan đến việc đánh giá khả năng thiệt
hại
Tài sản
Những kẻ tấn công
Tác động của tự nhiên
Bất kỳ thực thể nào có khả năng gây hại
Năm bước trong quá trình đánh giá khả năng thiệt hại
Nhận diện tài sản (Asset Identification)
Đánh giá các mối đe dọa (Threat Evaluation)
Đánh giá khả năng thiệt hại (Vulnerability Appraisal)
Đánh giá rủi ro (Risk Assessment)
Làm giảm rủi ro (Risk Mitigation)
25

×