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
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
GIẢNG VIÊN : TS Ngô Quốc Dũng
A10:2017 – Insufficient Logging & Monitoring
BÁO CÁO
AN TOÀN ỨNG DỤNG WEB VÀ CSDL
Thành viên nhóm 4 :
Trang 2Mục Lục
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À NỘI 2021
Trang 3Hì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
Trang 4Chươ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.
Trang 5Trong đề 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
Trang 6 Đào tạo ghi nhật ký và giám sát không đầy đủ.
Không có các khuôn 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 quá 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à quét 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 toà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
Trang 7Chươ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
Trang 8Cấ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
Trang 92.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
Trang 10Chươ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,
Trang 11ngoà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 -A ack flood -m limit limit 1/s limit-burst 10 -j LOG log-prefix " iptables ACK flood: "
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ề
Trang 12Má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