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

BÁO CÁO AN TOÀN ỨNG DỤNG WEB VÀ CSDL

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.6 MB, 12 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THƠNG TIN

BÁO CÁO
AN TỒN ỨNG DỤNG WEB VÀ CSDL
A10:2017 – Insufficient Logging & Monitoring
GIẢNG VIÊN : TS. Ngô Quốc Dũng

Thành viên nhóm 4 :
Bùi Thái Dương

0

- B17DCAT055

Vũ Lê Long

- B17DCAT120

Trần Thị Mai Anh

- B18DCAT013


Mục Lục

HÀ NỘI 2021

Mục Lục................................................................................................................2
Chương 1 : Tổng Quan Đề Tài.............................................................................3
1. Bối cảnh đề tài.............................................................................................3


2. Mục tiêu và nhiệm vụ cần đạt được............................................................4
3. Phân tích và triển khai vấn đề.....................................................................4
Chương 2 : Giới Thiệu Cơng Cụ..........................................................................6
1. Tìm hiểu về Iptables....................................................................................6
1.1. Tổng quan.............................................................................................6
1.2. Kịch bản................................................................................................7
2. Tìm hiểu về Snort IDS................................................................................8
2.1. Tổng quan.............................................................................................8
Chương 3 : Triển Khai..........................................................................................9
1. Khai thác lỗ hổng A10:2017 OWASP với Iptables....................................9

Danh Mục Hình Ản
Hình 1 : Top 10 OWASP 2017.............................................................................3
Hình 2 : Iptables....................................................................................................6
Hình 3 : Kiến trúc thành phần Iptables.................................................................7
Hình 4 : Ví dụ về Iptables Rules...........................................................................7
Hình 5 : Snort........................................................................................................8
1


Hình 6 : Kiến trúc hoạt động của Snort...............................................................8
Hình 7 : Màn hình máy Attacker..........................................................................9
Hình 8 : Màn hình kết nối đến máy nạn nhân.......................................................9
Hình 9 : Màn hình Wireshark máy nạn nhân......................................................10
Hình 10 : Màn hình Htop máy nạn nhân............................................................10
Hình 11 : Màn hình Wireshark máy nạn nhân....................................................11
Hình 12: Màn hình log ACK Flood tại Kern.log................................................11

2



Chương 1 : Tổng Quan Đề Tài
1. Bối cảnh đề tài.
Xã hội ngày càng phát triển, công nghệ thông tin chiếm một vai trị vơ cùng quan
trong trong đời sống mỗi người. Công nghệ thu hẹp khoảng cách, kết nối con người
lại với nhau, mang lại vô cùng nhiều lợi ích và trở thành một phần không thể thiếu
trong cuộc sơng. Tuy nhiên, đi kèm với sự tiên nghi đó, các mối đe dọa, rủi ro cũng
song hành. Bắt kịp xu thế đó, The Open Web Application Security Project, hay còn
gọi tắt là OWASP ra đời. Là một tổ chức phi lợi nhuận quốc tế chuyên về bảo mật ứng
dụng web.
Một trong những nguyên tắc cốt lõi của OWASP là tất cả các tài liệu của họ đều có
sẵn miễn phí và dễ dàng truy cập trên trang web của họ, giúp mọi người có thể cải
thiện tính bảo mật của ứng dụng web của họ. Các tài liệu họ cung cấp bao gồm tài
liệu, công cụ, video và diễn đàn. Có lẽ dự án nổi tiếng nhất của họ là OWASP Top 10
– 10 rủi ro tiêu biểu nhất về bảo mật trong năm. OWASP Top 10
được giới chuyên gia an ninh mạng trên thế giới đánh giá cao, và được chọn làm tiêu
chuẩn ở nhiều nơi.

Hình 1 : Top 10 OWASP 2017.

3


Trong đề tài lần này, chúng em xin phép được giới thiệu về A10:2017 Insufficient Logging & Monitoring. Một vấn đề thường bị bỏ qua hoặc ít quan tâm
đến trong thực tế, nhưng lại tiềm ẩn rất nhiều rủi ro.

2. Mục tiêu và nhiệm vụ cần đạt được.
Mục tiêu :
 Tìm hiểu về A10:2017. Ứng dụng Snort IDS và Iptable để chỉ ra được tác
hại của A10:2017 mang lại.

Nhiệm vụ cần đạt được :
 Phân tích mơ hình hoạt động của các IDS nói chung, Snort nói riêng.
 Phân tích mơ hình, cách thức hoạt động của các hệ thống bảo vệ Firewall
nói chung, Iptables nói riêng.
 Demo thử nghiệm cho phần lý thuyết.

3. Phân tích và triển khai vấn đề.
A10:2017 : Insufficient Logging & Monitoring tạm dịch “giám sát và ghi nhật ký
không đầy đủ”.
Trước tiên, chúng ta cần định nghĩa về Logging và Monitoring :
 Logging : là hoạt động ghi và quản lý tất cả dữ liệu nhật ký được tạo ra hệ
thống.
 Monitoring : là hoạt động theo dõi các hoạt động đã và đang xảy ra trên hệ
thống.
Vậy giám sát và ghi nhật ký không đầy đủ là những thiếu sót trong khâu giám sát,
sinh hoặc lưu trữ log. Hậu quả là tạo nên những lỗ hổng mà tin tặc có thể khai thác và
gây tổn hại đến hệ thống.
Có thể kể đển một vài ví dụ như :


Sự kiện chưa được ghi lại : đăng nhập khơng thành cơng, các giao dịch có
giá trị lớn nhưng không được ghi chú cụ thể, dẫn đến khó khăn cho giám sát
viên.



Nhật ký khơng được sao lưu (những kẻ xâm nhập truy cập vào hệ thống
thường sẽ xóa nhật ký để che khuất chuyển động của chúng, do đó bạn sẽ
khơng thể truy tìm nguồn gốc của xâm nhập)




Phân loại và xử lý log yếu, phần mềm không cảnh báo về các sự kiện dường
như không quan trọng, ví dụ: đăng nhập khơng thành cơng hoặc sự kiện chỉ
đọc có vẻ vơ hại.
4




Đào tạo ghi nhật ký và giám sát không đầy đủ.



Khơng có các khn khổ bảo mật kiểm tra và giám sát tự động; thiếu nhân
viên bảo mật có kỹ năng để phân tích dữ liệu nhật ký.



Quản lý xác thực kém.



Trang web không thể thông báo kịp thời với các cuộc tấn công thời gian
thức, khiến bị thụ động trong q trình bảo về trang web.



Khơng xuất hiện cảnh báo theo thời gian thực khi bị thâm nhập và qt bởi
các cơng cụ dị tìm lỗi.




Logs chỉ được lưu trữ cục bộ.

Phần lớn các rủi ro của A10 được xuất phát từ những thiếu sót của bộ
lọc của các hệ thống giám sát, các hệ thống đảm bảo an tồn thơng tin
như tường lửa, …
Làm cách nào để phát hiện hệ thống đang tồn tại lỗ hổng ghi nhật ký và giám
sát không đầy đủ?
 Thường xuyên thực hiện các cuộc kiểm thử hệ thống.
 Xây dựng hệ thống giám sát đầy đủ.
Biện pháp khắc phục :


Thường xuyên cập nhật hệ thống giám sát và tiến hành các cuộc kiểm thử.



Đảm bảo log được tạo ở định dạng có thể dễ dàng sử dụng bằng giải pháp
quản lý log tập trung.

 Xây dựng hệ thống giám sát theo thời gian thực, kết hợp với thiết lập ghi lại
log một cách đầy đủ, rõ ràng, theo chính sách bảo mật.

5


Chương 2 : Giới Thiệu Cơng Cụ.
1. Tìm hiểu về Iptables.

1.1. Tổng quan.

Hình 2 : Iptables.

Tất cả các dữ liệu được gửi đi trong các gói tin được định dạng qua internet.
Linux kernel cung cấp một giao diện để lọc cả các gói tin đi vào và ra sử dụng một
bảng các bộ lọc gói tin.
Iptables là một ứng dụng dòng lệnh và là một bức tường lửa Linux mà bạn có
thể sử dụng để thiết lập, duy trì và kiểm tra các bảng này. Bạn có thể thiết lập
nhiều bảng khác nhau, mỗi bảng có thể chứa nhiều chuỗi, mỗi một chuỗi là một bộ
quy tắc. Mỗi quy tắc định nghĩa phải làm gì với gói tin nếu nó phù hợp với gói đó.
Khi một gói tin được xác định, nó sẽ đưa ra một TARGET. Một target (mục tiêu)
có thể là một chuỗi khác để khớp với một trong các giá trị đặc biệt sau đây:
 ACCEPT: gói tin sẽ được phép đi qua.
 DROP: gói tin sẽ không được phép đi qua.
 RETURN: bỏ qua chuỗi hiện tại và quay trở lại quy tắc tiếp theo từ
chuỗi mà nó được gọi.
 Trong phạm vi của bài hướng dẫn iptables này, chúng ta sẽ làm việc với
một trong những bảng mặc định được gọi là bộ lọc. Bảng bộ lọc có ba
chuỗi bộ quy tắc.
 INPUT – được sử dụng để điều khiển các gói tin đến tới máy chủ. Bạn
có thể chặn hoặc cho phép kết nối dựa trên cổng, giao thức hoặc địa chỉ
IP nguồn.
 FORWARD – được sử dụng để lọc các gói dữ liệu đến máy chủ nhưng
sẽ được chuyển tiếp ở một nơi khác.
 OUTPUT – được sử dụng để lọc các gói tin đi ra từ máy chủ của bạn.

6



Cấu trúc cơ bản của Iptables :

Hình 3 : Kiến trúc thành phần Iptables.

Hình ảnh minh họa cho Rules của Iptable :

Hình 4 : Ví dụ về Iptables Rules.

Về cơ bản, Iptable đem lại cơng dụng tốt, miễn phí và rất dễ dàng triển khai
cho cá nhân để thực hiện những tác vụ cơ bản.

1.2. Kịch bản.
Một hệ thống Apache Web Serverđược đặt trên máy ảo Kali Linux – Kali
Victim có sử dụng Iptables để làm bộ lọc phịng chống tấn công DoS/DDoS. Tuy
nhiên, sau một thời gian sử dụng, bộ filter đã lỗi thời và khơng cịn đáp ứng được
trước các cuộc tấn cơng.
Do đó, máy chủ đã bị tấn công, gây thiệt hại cho chủ sở hữu mà Iptables khơng
hề thu được log. Dẫn đến khó khăn trong khâu xác định và giảm thiểu, khắc phục
thiệt hại.

2. Tìm hiểu về Snort IDS.
7


2.1. Tổng quan.

Hình 5 : Snort.

Snort là một NIDS được Martin Roesh phát triển dưới mơ hình mã nguồn mở.
Với kiến trúc thiết kế theo kiểu module, người dùng có thể tự tăng cường tính năng

cho hệ thống Snort của mình bằng việc cài đặt hay viết thêm mới các module. Cơ
sở dữ liệu luật của Snort đã lên tới hàng nghìn luật và được cập nhật thường xuyên
bởi một cộng đồng người sử dụng.
Snort có thể chạy trên nhiều hệ thống nền như Windows, Linux, OpenBSD,
FreeBSD, NetBSD, Solaris, HP-UX, AIX, IRIX, MacOS,…
Các thành phần chính của Snort gồm có:
● Module giải mã gói tin (Packet Decoder).
● Module tiền xử lí (Preprocessors).
● Module phát hiện (Detection Engine).
● Module log và cảnh báo (Logging and Alerting System).
● Module xuất (Output Module).

Hình 6 : Kiến trúc hoạt động của Snort.

Trong đó, Detection Engine là module quan trọng nhất, chứa các rules của Snort.

8


Chương 3 : Triển Khai.
1. Khai thác lỗ hổng A10:2017 OWASP với Iptables.
Iptables từ lâu đã được tích hợp sẵn trên Kali Linux. Khi thao tác trên hệ điều
hành Ubuntu, ta chỉ có thể đặt quy tắc iptables ở chế độ tạm thời. Các quy tắc
iptables sẽ bị xóa sau khi khởi động lại hệ thống. Để có thể lưu iptables rules vĩnh
viễn, ta có thể dùng gói có tên là iptables-persistent. Tính năng này đã tạo điều
kiện cho một số cuộc tấn cơng đến máy chủ.
Hình thức tấn cơng : Tấn công dựa trên yếu tố con người.
Máy chủ Apache Web Server có địa chỉ IP : 192.168.1.9
Máy Attacker có địa chỉ IP : 192.168.1.12


Sử dụng Hping3 đế tấn công ACK Flood đến máy nạn nhân.



hping3 –A 192.168.1.9 –flood –rand-source -d 100

Hình 7 : Màn hình máy Attacker.

Kết quả thu được :

Hình 8 : Màn hình kết nối đến máy nạn nhân.

Gần như không thể kết nối được đến máy nạn nhân. Ở phía máy nạn nhân,
CPU tăng lên khá cao, xảy ra hiện tượng giật lag, không thể kết nối ra bên
9


ngồi. Trên màn hình Wireshark thu1 lượng lớn gói tin TCP gắn cờ ACK được
gửi đến địa chỉ đích. Người dùng kiểm tra thư mục log của Iptables không phát
hiện bất thường.

Hình 9 : Màn hình Wireshark máy nạn nhân.

Hình 10 : Màn hình Htop máy nạn nhân.

Giải pháp : Dựa vào thông số trên Htop, xác định web server đang bị tấn công
ACK Flood. Kiểm tra bộ rules Iptables. Sau khi phát hiện rules đã bị xóa, thực
hiện thao tác thêm rules vào lại table.

 iptables -N ack flood

 iptables -A INPUT -i eth0 -p tcp –tcp-flags ACK ACK -j ack_flood
 iptables -A ack flood -m limit --limit 1/s --limit-burst 10 -j LOG --logprefix " iptables ACK flood: "
 iptables -A ack flood -m limit --limit 1/s --limit-burst 10 -j RETURN
 iptables -A ack flood -j DROP
Sau đó, cài gói iptables-persistent cho máy để có thể lưu lại rules :

 sudo apt-get update
 sudo apt-get install iptables-persistent
 iptables-save > /etc/iptables/rules.v4
Khởi động lại hệ điều hành, ta có thể thấy được các gói tin gửi đi và khơng có
gói reply gắn cờ RST trở về.
10


Máy nạn nhân CPU và Disk có hoạt động bình thường.

Hình 11 : Màn hình Wireshark máy nạn nhân.

Tấn cơng đã bị chặn bắt và ghi log lại tại /var/log/kern.log

Hình 12: Màn hình log ACK Flood tại Kern.log

11



×