# Attack Surface Management

## 1. What is Attack Surface?

**Bề mặt tấn công** đơn giản là **toàn bộ danh mục tài sản** của bạn. Tất cả phần mềm, phần cứng, thiết bị IoT, và thậm chí cả nguồn nhân lực mà bạn sử dụng trong tổ chức đều được bao gồm trong khái niệm bề mặt tấn công.

#### **Quản lý bề mặt tấn công (Attack Surface Management) là gì?**

**Quản lý bề mặt tấn công (ASM)** là một phương pháp bảo mật được sử dụng để **giám sát, đánh giá và giảm thiểu mức độ phơi nhiễm** của hệ thống thông tin, mạng và ứng dụng của tổ chức trước các cuộc tấn công tiềm tàng.\
Phương pháp này đóng vai trò quan trọng trong an ninh mạng vì **bề mặt tấn công của tổ chức bao gồm tất cả các điểm vào và điểm yếu tiềm ẩn** mà kẻ tấn công có thể khai thác khi lựa chọn mục tiêu hoặc thực hiện tấn công mạng.

## **2. Hiểu về Quản lý Bề mặt Tấn công (ASM)**

### **Quản lý Bề mặt Tấn công (ASM)** là gì?

**Quản lý Bề mặt Tấn công (ASM)** về cơ bản bao gồm các bước sau, mặc dù trong thực tế có thể khác nhau tùy theo cấu trúc của từng tổ chức:

<figure><img src="/files/T7b2pHjEvGvQSF5742aS" alt=""><figcaption></figcaption></figure>

#### 1. **Phát hiện Tài sản (Asset Discovery)**

Trước tiên, chúng ta cần biết **những gì cần được bảo vệ** từ góc độ an ninh mạng. Ở bước này, chúng ta tiến hành **liệt kê toàn bộ tài sản** của tổ chức (máy chủ, thiết bị mạng, ứng dụng, cơ sở dữ liệu, thiết bị IoT, v.v.).

#### 2. **Đánh giá Rủi ro (Risk Assessment)**

Sau khi lập danh sách tài sản, chúng ta **đánh giá tình trạng bảo mật** của từng tài sản đó, xác định và ghi nhận **các điểm yếu cụ thể** liên quan đến từng hệ thống hoặc ứng dụng.

#### 3. **Giảm Thiểu Bề mặt Tấn công**

Sau bước đánh giá rủi ro, ta bắt đầu **thu hẹp bề mặt tấn công** bằng cách:

* Tắt hoặc gỡ bỏ các tài sản không cần thiết hoặc tiềm ẩn rủi ro
* Vô hiệu hóa các dịch vụ không cần thiết
* Gỡ cài đặt các ứng dụng không còn sử dụng

#### 4. **Giám sát Liên tục (Continuous Monitoring)**

Ba bước trên **không phải là công việc thực hiện một lần**, mà phải được duy trì **liên tục**. Điều này bao gồm:

* Giám sát các tài sản mới
* Theo dõi cập nhật bảo mật
* Phát hiện các lỗ hổng mới

#### 5. **Tự động hóa (Automation)**

Quy trình như **đánh giá rủi ro và giám sát liên tục** tốn nhiều thời gian và công sức, lại dễ sai sót. Vì vậy, việc sử dụng **công cụ tự động hóa** là **cần thiết** để nâng cao hiệu quả quản lý ASM.

### ❗ **Vì sao ASM lại quan trọng?**

Bề mặt tấn công càng lớn, **kẻ tấn công càng dễ tìm thấy mục tiêu**. Trong giai đoạn đầu tiên của Cyber Kill Chain – *trinh sát (reconnaissance)* – kẻ tấn công sẽ thu thập thông tin về bạn.

Nếu **hacker phát hiện ra điểm yếu trước bạn**, xác suất thành công của cuộc tấn công sẽ tăng lên.

### ✅ **Lợi ích của ASM**

#### 🔒 **Giảm rủi ro bị tấn công mạng**

ASM giúp:

* Phát hiện điểm yếu bảo mật trong toàn bộ hệ thống
* Giảm xác suất bị tấn công thành công
* Chủ động khắc phục rủi ro trước khi bị khai thác

#### 💸 **Ngăn ngừa mất mát dữ liệu và tổn thất tài chính**

ASM:

* Phát hiện và xử lý lỗ hổng sớm
* Giảm thiểu thiệt hại do tấn công mạng
* Theo nghiên cứu, tổ chức bị tấn công có thể mất đến **30 ngày** để phục hồi dữ liệu

#### 🏢 **Bảo vệ uy tín tổ chức**

Mất uy tín có thể gây hậu quả dài hạn, khó khắc phục hơn cả thiệt hại dữ liệu. ASM giúp:

* Ngăn chặn sự cố bảo mật
* Duy trì niềm tin từ khách hàng và đối tác

#### 🤝 **Tăng độ tin cậy từ khách hàng và đối tác**

* ASM chứng minh tổ chức **có nền tảng bảo mật mạnh**
* Tăng niềm tin khi trình bày hệ thống bảo mật tổng thể

### 🧰 **Công cụ và kỹ thuật trong ASM**

#### 🔍 **Quét hệ thống và ứng dụng**

* Tự động/phân tích toàn bộ hệ thống để tìm ra lỗ hổng
* Sử dụng công cụ **Asset Discovery** và **Vulnerability Scanner**

#### 🧹 **Loại bỏ tài sản không cần thiết**

* Vô hiệu hóa hoặc gỡ bỏ tài sản (máy chủ, phần mềm, dịch vụ) không sử dụng
* Giảm chi phí duy trì và diện tích tấn công

#### 🔕 **Tắt dịch vụ không cần thiết**

* Vô hiệu hóa các **port**, dịch vụ và chức năng mạng không sử dụng để giảm diện tích bị lộ

#### 🗑️ **Gỡ ứng dụng không sử dụng**

* Loại bỏ các phần mềm cũ, không cập nhật – vốn là điểm vào phổ biến cho mã độc

#### 📊 **Giám sát và đánh giá liên tục**

* Theo dõi thay đổi tài sản
* Theo dõi các bản tin bảo mật từ nhà cung cấp phần mềm/hệ điều hành

#### 📁 **Ghi nhận nhật ký hệ thống và ứng dụng**

* Nhật ký vận hành là nguồn dữ liệu quan trọng giúp đánh giá rủi ro và phát hiện hành vi bất thường

#### 🌐 **Công cụ phân tích và quét mạng**

* Giúp phát hiện lưu lượng mạng bất thường
* Rất quan trọng để phát hiện **zero-day** và hành vi chưa từng gặp

#### 🌍 **Công cụ Threat Intelligence**

* Cung cấp thông tin toàn cảnh về các mối đe dọa đang hoạt động toàn cầu
* Giúp tổ chức biết liệu họ có nằm trong mục tiêu của APT hay không

#### 🧱 **Nhật ký tường lửa và thiết bị bảo mật**

* Ghi nhận hành vi giao tiếp với Internet
* Phát hiện sớm các hoạt động trinh sát từ bên ngoài

#### 👨‍🏫 **Khảo sát đào tạo nhân viên**

* Đánh giá nhận thức an ninh của nhân viên
* Đào tạo giúp giảm thiểu rủi ro tấn công từ phía người dùng nội bộ

## 3. Attack Surface Management with Open Source Tools

Hiện nay, có rất nhiều sản phẩm và dịch vụ hỗ trợ **Quản lý Bề mặt Tấn công (ASM)**. Trong số đó, một số là **sản phẩm thương mại có tính phí**, trong khi số khác là **công cụ mã nguồn mở miễn phí**.

Trong bài học này, chúng ta sẽ tìm hiểu một số **công cụ mã nguồn mở nổi bật có thể sử dụng cho ASM**.

<figure><img src="/files/poFYqRuKZXz7yaKOEklp" alt=""><figcaption></figcaption></figure>

### 🧭 **OWASP AMASS**

**OWASP AMASS** là một dự án mã nguồn mở cung cấp khả năng:

* **Lập bản đồ mạng (network mapping)** của bề mặt tấn công
* **Khám phá tài sản bên ngoài (external asset discovery)** bằng cách thu thập thông tin từ nguồn mở và thực hiện **trinh sát chủ động (active reconnaissance)**

Amass có thể thu thập và tổng hợp **nhiều loại thông tin khác nhau** bằng cách tích hợp với nhiều nguồn dữ liệu công khai.

<figure><img src="/files/lzBwJqGklqUmiVD6R7iv" alt=""><figcaption></figcaption></figure>

**✅ Đặc điểm nổi bật:**

* Có sẵn dưới dạng **gói biên dịch sẵn** cho **Linux, macOS và Windows**
* Đồng thời được phát hành **dưới dạng mã nguồn** nếu cần tùy chỉnh
* Khi khởi động công cụ dưới dạng dòng lệnh, bạn sẽ thấy giao diện đơn giản, dễ sử dụng

<figure><img src="/files/Rzf6823jf5CXZ5nni69R" alt=""><figcaption></figcaption></figure>

**📌 Ví dụ:**

Khi yêu cầu Amass thực hiện **liệt kê tên miền (enumeration)** đối với `google.com`, công cụ đã xuất ra danh sách các subdomain và địa chỉ liên quan — phục vụ cho bước phát hiện bề mặt tấn công.

### ⚡ **NUCLEI**

**Nuclei** là một **công cụ quét nhanh** dành cho:

* Ứng dụng web hiện đại
* Cơ sở hạ tầng
* Môi trường đám mây (cloud)
* Hệ thống mạng nội bộ

Mục tiêu của Nuclei là giúp bạn **nhanh chóng phát hiện và xử lý các lỗ hổng bảo mật**.

**🧩 Cơ chế hoạt động:**

Nuclei sử dụng **các mẫu quét (template)** — là các tệp YAML đơn giản, định nghĩa cách:

* **Phát hiện** lỗ hổng
* **Ưu tiên xử lý**
* **Khuyến nghị biện pháp khắc phục**

**🌐 Hệ sinh thái cộng đồng:**

* Có **hơn 5000 mẫu quét** (tính đến thời điểm biên soạn khoá học)
* Mỗi mẫu có thể phát hiện **lỗ hổng thực tế** như:
  * **Log4j (Log4Shell)**
  * **RCE trong GitLab**
  * Và nhiều lỗ hổng mới khác

Các mẫu này không chỉ nêu lý thuyết mà còn **ứng dụng được trong thực tế**.

<figure><img src="/files/IaZeUEdrG53Ys5P3PxHK" alt=""><figcaption></figcaption></figure>

**✍️ Tuỳ biến:**

Bạn có thể **tự viết template riêng** cho các ứng dụng nội bộ hoặc điểm yếu đặc thù trong tổ chức.

#### 📊 Ứng dụng thực tế:

Nuclei có thể được sử dụng để quét:

* Hệ thống web công khai
* Môi trường cloud (AWS, GCP, Azure)
* API
* Nội dung ứng dụng SaaS hoặc dịch vụ microservice

Bảng chức năng trên website chính thức của Nuclei đã liệt kê rõ ràng các **kịch bản sử dụng** — từ test đơn giản đến **Red Team** chuyên sâu.

### 📚 Kết luận

Trong phần này, chúng ta đã tìm hiểu hai công cụ mã nguồn mở quan trọng dùng cho ASM:

<table><thead><tr><th width="194.80001831054688">Công cụ</th><th>Mục tiêu chính</th></tr></thead><tbody><tr><td><strong>OWASP AMASS</strong></td><td>Khám phá tài sản ngoài, lập bản đồ mạng</td></tr><tr><td><strong>Nuclei</strong></td><td>Quét lỗ hổng nhanh với hệ thống mẫu linh hoạt</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://viettaliii.gitbook.io/home/mal/attack-surface-management.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
