Professional Documents
Culture Documents
Báo cáo chuyên đề
Báo cáo chuyên đề
ĐỀ TÀI:
TÌM HIỂU VỀ THU THẬP VÀ PHÂN TÍCH THÔNG TIN
AN NINH MẠNG
Lớp : D12QTANM
Khóa : 2017-2022
MSV: 1781320004
Hiện nay, các nghiên cứu tại Việt Nam cũng như trên thế giới về xây dựng
một hệ thống phát hiện xâm nhập mạng trái phép dựa trên mã nguồn mở cũng phát
triển mạnh, tuy nhiên tại Việt Nam các nghiên cứu này có mức độ triển khai vào
thực tế là chưa cao. Ngoài ra, các chương trình phát hiện xâm nhập hầu hết được
tích hợp trên các thiết bị phần cứng nên việc khai thác chức năng, hoặc người dùng
tự phát triển mở rộng thêm chức năng của các chương trình này bị hạn chế. Vì vậy,
lựa chọn đề tài "Tìm hiểu về thu thập và phân tích thông tin an toàn mạng" nhằm
phát hiện các hành động tấn công mạng, nâng cao khả năng bảo đảm an toàn thông
tin là một yêu cầu khách quan cần thiết trong giai đoạn hiện nay.
CHƯƠNG 1: TỔNG QUAN GIÁM SÁT AN TOÀN MẠNG
Đối tượng của giám sát an ninh mạng là tất cả các thành phần, thiết bị trong
hệ thống mạng như:
Máy trạm
Cơ sở dữ liệu
Các ứng dụng
Server
Các thiết bị mạng
Giám sát tập trung: trong tiếp cận này chỉ có một thiết bị quản lí trung tâm thu
nhận các thông tin của toàn bộ các thực thể mạng. Kiến trúc này thường được sử
dụng rất nhiều trong mạng hiện nay, nhất là với các mô hình doanh nghiệp có hạ
tầng mạng riêng và có trung tâm quản trị mạng. Agent được đặt vào các hệ thống
cần giám sát để thực hiện các chức năng giám sát trên từng thiết bị và trao đổi
thông tin với thiết bị trung tâm bằng các giao thức thông tin quản lý như SNMP,
CMIS/CMIP,....
Giám sát phân tán: còn được gọi là hệ thống giám sát ngang cấp chạy đồng thời
trên mạng. Với hệ thống giám sát phân tán tỉ số hiệu năng/giá thành, độ mềm dẻo,
khả năng mở rộng, tính khả dụng và độ tin cậy được nâng cao.Hệ thống giám sát
ngang hàng thường được xây dựng mà mỗi agent đều có một cơ sở dữl iệu hoàn
chỉnh riêng, lưu trữ các thông tin giám sát của mình. Các agent khác hoàn toàn có
thể truy cập vào cơ sởdữliệu này.
Giám sát hướng đối tượng: Mục tiêu của quản lý hướng đối tượng là tập trung
vào giám sát một đối tượng cụ thể trong hệ thống mạng. Đối tượng ấy có thể là
một(hay một nhóm) máy trạm, máy chủ nào đó, hoặc cũng có thể là giám sát các
tài nguyên mạng của hệ thống.
1.2.1. Tấn công bằng phần mềm độc hại (Malware attack)
Tấn công malware là hình thức phổ biến nhất. Malware bao gồm spyware
(phần mềm gián điệp), ransomware (mã độc tống tiền), virus và worm (phần mềm
độc hại có khả năng lây lan nhanh). Thông thường, tin tặc sẽ tấn công người dùng
thông qua các lỗ hổng bảo mật, cũng có thể là dụ dỗ người dùng click vào một
đường link hoặc email (phishing) để phần mềm độc hại tự động cài đặt vào máy
tính. Một khi được cài đặt thành công, malware sẽ gây ra:
Ngăn cản người dùng truy cập vào một file hoặc folder quan trọng
(ransomware)
Cài đặt thêm những phần mềm độc hại khác
Lén lút theo dõi người dùng và đánh cắp dữ liệu (spyware)
Làm hư hại phần mềm, phần cứng, làm gián đoạn hệ thống.
Phishing là hình thức giả mạo thành một đơn vị/cá nhân uy tín để chiếm
lòng tin của người dùng, thông thường qua email. Mục đích của tấn công Phishing
thường là đánh cắp dữ liệu nhạy cảm như thông tin thẻ tín dụng, mật khẩu, đôi khi
phishing là một hình thức để lừa người dùng cài đặt malware vào thiết bị (khi đó,
phishing là một công đoạn trong cuộc tấn công malware).
Tấn công trung gian (MitM), hay tấn công nghe lén, xảy ra khi kẻ tấn công
xâm nhập vào một giao dịch/sự giao tiếp giữa 2 đối tượng. Khi đã chen vào giữa
thành công, chúng có thể đánh cắp dữ liệu của giao dịch đó.
Nạn nhân truy cập vào một mạng Wifi công cộng không an toàn, kẻ tấn công
có thể “chen vào giữa” thiết bị của nạn nhân và mạng Wifi đó. Vô tình,
những thông tin nạn nhân gửi đi sẽ rơi vào tay kẻ tấn công.
Khi phần mềm độc hại được cài đặt thành công vào thiết bị, một kẻ tấn công
có thể dễ dàng xem và điều chỉnh dữ liệu của nạn nhân.
DoS (Denial of Service) là hình thức tấn công mà tin tặc “đánh sập tạm thời”
một hệ thống, máy chủ, hoặc mạng nội bộ. Để thực hiện được điều này, chúng
thường tạo ra một lượng traffic/request khổng lồ ở cùng một thời điểm, khiến cho
hệ thống bị quá tải, từ đó người dùng không thể truy cập vào dịch vụ trong khoảng
thời gian mà cuộc tấn công DoS diễn ra.
Một hình thức biến thể của DoS là DDoS (Distributed Denial of Service): tin
tặc sử dụng một mạng lưới các máy tính (botnet) để tấn công nạn nhân. Điều nguy
hiểm là chính các máy tính thuộc mạng lưới botnet cũng không biết bản thân đang
bị lợi dụng để làm công cụ tấn công. Đọc thêm: Sự nguy hiểm của Tấn công DDoS
1.2.5. Tấn công cơ sở dữ liệu (SQL injection)
Tin tặc “tiêm” một đoạn code độc hại vào server sử dụng ngôn ngữ truy vấn
có cấu trúc (SQL), mục đích là khiến máy chủ trả về những thông tin quan trọng
mà lẽ ra không được tiết lộ. Các cuộc tấn công SQL injection xuất phát từ các lỗ
hổng của website, đôi khi tin tặc có thể tấn công chỉ bằng cách chèn một đoạn mã
độc vào thanh công cụ “Tìm kiếm” là đã có thể tấn công website.
Lỗ hổng Zero-day (0-day vulnerabilities) là các lỗ hổng bảo mật chưa được
công bố, các nhà cung cấp phần mềm chưa biết tới, và dĩ nhiên, chưa có bản vá
chính thức. Chính vì thế, việc khai thác những lỗ hổng “mới ra lò” này vô cùng
nguy hiểm và khó lường, có thể gây hậu quả nặng nề lên người dùng và cho chính
nhà phát hành sản phẩm.
Ngoài ra, còn rất nhiều hình thức tấn công mạng khác như: Tấn công chuỗi
cung ứng, Tấn công Email, Tấn công vào con người, Tấn công nội bộ tổ chức, v.v.
Mỗi hình thức tấn công đều có những đặc tính riêng, và chúng ngày càng tiến hóa
phức tạp, tinh vi đòi hỏi các cá nhân, tổ chức phải liên tục cảnh giác & cập nhật
các công nghệ phòng chống mới.
1.3.1. Kỹ thuật phát hiện xâm nhập mạng dựa trên chữ ký
Là hình thức cổ điển của phát hiện xâm nhập, sử dụng phương pháp duyệt
qua dữ liệu để tìm kết quả khớp với các mẫu xâm nhập đã biết. Mẫu được mô tả
bằng ngôn ngữ cụ thể trong nền tảng của một cơ chế phát hiện xâm nhập, chúng trở
thành chữ kỹ. Có hai cơ chế phát hiện xâm nhập dựa trên chữ ký phổ biến hiện nay
là Snort và Suricata.
1.3.1.1. Snort
Snort là một IDS kiểu signature-base chạy được trên cả Windows và Linux.
Snort sẽ đọc các luật lúc khởi động và xây dựng một cấu trúc dữ liệu hoặc các
chuỗi để áp dụng các luật đó lên dữ liệu thu thập được.
Snort được cung cấp sẵn một tập hợp phong phú các luật đã được định nghĩa
trước, người dùng có thể chỉnh sửa, thêm hoặc xóa các luật.
Snort sẽ so sánh các rules với tất cả gói tin bắt được, nếu một gói tin phù
hợp với rules thì nó sẽ được ghi lại và một cảnh báo sẽ được gửi đi
Thành phần:
- Packet sniffer: dùng để lắng nghe các gói tin trên mạng
- Preprocessor: là các plug-in dùng để sắp xếp và thay đổi những gói dữ liệu
trước khi giao cho Detection engine
- Detection engine: chịu trách nhiệm phát hiện các gói tin bất thường dựa trên
rules của snort.
- Alerting/logging: dùng để gửi cảnh báo tới 1 tập tin log nếu phát hiện gói tin
bất thường
1.3.1.2. Suricata
Suricata hoạt động tương tự Snort nhưng Suricata hoạt động đa luồng.
1.3.2.1. Phát hiện xâm nhập bất thường dựa trên thống kê
Các phương pháp thống kê đo lường các hành vi của người dùng và của hệ
thống bằng một số các biến được lấy mẫu theo thời gian và xây dựng các
profile dựa trên các thuộc tính của hành vi bình thường. Các thông số theo dõi trên
thực tế sẽ được so sánh với các profile này, và các sai khác vượt qua một ngưỡng
sẽ bị coi là một bất thường.
Các hệ thống phát hiện bất thường như ADAM, NIDES, và SPADE có
một cách tiếp cận trong đó hệ thống sẽ học một mô hình thống kê về lưu lượng
bình thường của mạng, và xem xét các sai khác so với mô hình này. Các mô hình
thống kê thường dựa trên sự phân bố của các thành phần như các địa chỉ IP nguồn
và đích, các cổng nguồn và đích trên mỗi giao tác (như các kết nối TCP, và đôi khi
là các gói tin UDP và ICMP). Các thành phần có xác suất càng nhỏ thì có mức độ
bất thường càng cao.
Các hệ thống phát hiện bất thường sử dụng các mô hình tần suất, trong đó
xác suất của một sự kiện đã được tính toán bằng tần suất trung bình của nó trong
quá trình huấn luyện dựa trên thời gian, trong đó xác suất của một sự kiện phụ
thuộc vào 12 thời điểm mà nó xảy ra lần cuối cùng. Đối với mỗi thuộc tính, chúng
thu thập một tập các giá trị cho phép, và sẽ coi các giá trị mới của thuộc tính đó là
bất thường. Một phương pháp tiếp cận thống kê gần đây được đề nghị là việc thống
kê mô hình lưu lượng để phát hiện các tấn công loại mới trên mạng. Theo cách tiếp
cận này, một mô hình hành vi của mạng được sử dụng để phát hiện một lượng lớn
các tấn công từ chối dịch vụ và dò quét cổng bằng cách giám sát lưu lượng mạng.
1.3.2.2. Phát hiện xâm nhập bất thường dựa trên khai phá dữ liệu
Khai phá dữ liệu tập trung khai thác các thông tin hữu ích tiềm tàng, chưa
biết trước từ các tập dữ liệu. Các hệ thống phát hiện xâm nhập có ứng dụng
phương pháp khai phá dữ liệu trong phát hiện bất thường là ADAM (Audit Data
Analysis and Mining, của Wu,2001, Barbara và cộng sự, 2001), IDDM (Intrusion
Detection using Data Mining, của Abraham, 2001), và eBayes ( của Valdes và
Skinner,2000).
Trong cách tiếp cận này, việc khai phá dữ liệu tìm kiếm các phiên kết nối và
nó khác so với cách tiếp cận phát hiện bất thường dựa trên việc tìm kiếm thông tin
trên các gói tin riêng biệt. Phương pháp này sử dụng các công cụ và phương pháp
khai phá dữ liệu để phân biệt các phiên bất thường so với các phiên bình thường
theo cách sử dụng lặp đi lặp lại dữ liệu huấn luyện nó thu thập được như một tham
chiếu. Khai phá dữ liệu là một công nghệ có hiệu quả cao, mang lại khả năng phát
hiện các tấn công chưa biết và đã biết, nhưng lại khá phức tạp và đòi hỏi giá thành
cao.
1.3.2.3. Phát hiện xâm nhập bất thường dựa trên trạng thái
Một cách tiếp cận hơi khác so với phát hiện bất thường truyền thống là cách
tiếp cận phát hiện dựa trên trạng thái đối với phát hiện xâm nhập trên mạng.
Phương
pháp luận của nó là cố gắng phát hiện xâm nhập thông qua việc chuyển trạng thái
bất thường. Ưu điểm chính của cách tiếp cận này là nó có thể phát hiện với tỷ lệ
cao
các tấn công đã biết và chưa biết. Tại cùng một thời điểm, nó có một tỷ lệ cảnh
báo
nhầm có thể so sánh được với các phương pháp phát hiện xâm nhập dựa trên dấu
hiệu. Tuy nhiên nó có giá thành khá cao do phải xây dựng các mô hình chuyển
trạng thái của các giao thức mạng. Bên cạnh đó, các hệ thống dựa trên trạng thái
đều gặp phải vấn đề lớn về kích thước của mô hình hệ thống.
Một trong các bộ phân loại phát hiện bất thường áp dụng cách tiếp cận này
là
các mô hình chuỗi Markov ẩn. Đây là một máy trạng thái hữu hạn mạnh, mỗi
trạng
thái đại diện một chuỗi các lời gọi hệ thống hoặc các hành vi của người dùng.
Trong
mỗi trạng thái, có một giá trị xác suất của việc sinh ra các trạng thái đầu ra và một
xác suất chỉ ra các trạng thái kế tiếp. Trong quá trình huấn luyện, máy trạng thái
hữu hạn này sẽ được cập nhật các trạng thái mà nó được học. Sau đó trong pha
phát
hiện, các sự kiện chuyển trạng thái bất thường sẽ bị hệ thống phát hiện và phát ra
cảnh báo.
1.3.2.4. Phát hiện xâm nhập bất thường dựa trên hệ chuyên gia
Để phát hiện bất thường, các hệ chuyên gia mô tả các hành vi bình thường
của người sử dụng bằng một tập các luật. Các hệ thống phát hiện bất thường sử
dụng hệ mười ba chuyên gia đã triển khai là ComputerWatch ( Dowell và
Ramstedt, 1990) và Wisdom & Sense (Liepins và Vaccaro,1992).
ComputerWatch ( phát triển tại AT&T) sử dụng hệ chuyên gia để tổng kết
các sự kiện an ninh nhạy cảm và xây dựng các luật để phát hiện các hành vi bất
thường. Nó sẽ kiểm tra các hành vi của người dùng theo một tập các luật mô tả
chính sách sử dụng bình thường của hệ thống, và sẽ kết luận các hành động không
phù hợp với các mẫu có thể chấp nhận được là bất thường.
Wisdom & Sense ( được phát triển tại phòng thí nghiệm Los Alamos
National) phát hiện các bất thường có tính thống kê trong hành vi của người dùng.
Đầu tiên, nó xây dựng một tập các luật mô tả một cách thống kê hành vi dựa trên
việc ghi lại các hành vi của người dùng theo một khoảng thời gian cho trước. Các
chuỗi hành vi nhỏ sau đó được so sánh với những luật này để phát hiện các hành vi
mâu thuẫn. Cơ sở tri thức luật được xây dựng lại một cách định kỳ để phù hợp với
các mẫu sử dụng mới.
1.4. Quy trình giám sát an toàn mạng
Thu thập dữ liệu (Collection) là việc thu thập dữ liệu ghi dấu hoạt động của
các máy chủ, thiết bị mạng, phần mềm ứng dụng, cơ sở dữ liệu… Cần có sự kết
hợp của phần mềm và phần cứng. Tạo, sắp xếp và lưu trữ giữ liệu cho việc phát
hiện xâm nhập và phân tích dữ liệu trong hệ thống giám sát an toàn mạng. Định
hình khả năng của một tổ chức trong việc phát hiện xâm nhập và phân tích dữ liệu
hiệu quả.
Các loại dữ liệu: dữ liệu nội dung đầy đủ, dữ liệu phiên, dữ liệu thống kê, dữ
liệu cảnh báo,…
Xác định các vị trí có nhiều điểm yếu tồn tại trong tổ chức
Xác định các nguy cơ ảnh hưởng đến mục tiêu tổ chức
Xác định nguồn dữ liệu có liên quan
Tinh chế nguồn dữ liệu thu thập được
Cấu hình cổng SPAN (Switch Port Analyzer) để thu thập dữ liệu gói tin
Xây dựng lưu trữ SAN (Storage Area Networking) cho lưu giữ nhật ký
Cấu hình phần cứng và phần mềm thu thập dữ liệu
Phát hiện xâm nhập là quá trình mà qua đó dữ liê ̣u thu thâ ̣p được kiểm tra và
cảnh báo sẽ được tạo ra dựa trên các sự kiê ̣n quan sát được và dữ liê ̣u thu thâ ̣p
không được như mong đợi. Việc thực hiện đánh giá đưa thông tin cảnh báo tới
người quản trị và thực hiện những công tác nhằm chống lại những mỗi đe dọa,
khắc phục các sự cố có thể sảy ra. Cảnh báo có thể thông qua email, SMS, hoặc
thực thi các mã script nhằm hạn chế hậu quả của sự cố. Khi xảy ra sự cố, hệ thống
sẽ tự động gửi email, sms cho người quản trị và cũng có thể chạy script để thêm
một địa chỉ IP có biểu hiện tấn công và danh sách đen của Firewall.
Phân tích dữ liệu là việc chỉ mục hóa dữ liệu, phát hiện những điều bất
thường, những mối đe dọa của hệ thống. Dựa trên những thông tin về lưu lượng
truy cập, trạng thái truy cập, định dạng request…Chu trình NSM kết thúc bằng các
bài học kinh nghiê ̣m trong viê ̣c phát hiê ̣n xâm nhâ ̣p và phân tích dữ liê ̣u cho bất kỳ
sự bất thường nào và tiếp tục hình thành các chiến lược thu thâ ̣p dữ liê ̣u cho tổ
chức.
Hệ thống giám sát an toàn mạng viết tắt là SIEM (Security information and
event management – SIEM) là hệ thống được thiết kế nhằm thu thập thông tin nhật
ký các sự kiện an ninh từ các thiết bị đầu cuối và lưu trữ dữ liệu một cách tập
trung. Theo đó, các sản phẩm SIEM cho phép phân tích tập trung và báo cáo về các
sự kiện an toàn mạng của tổ chức. Kết quả phân tích này có thể được dùng để phát
hiện raa các cuộc tấn công mà không thể phát hiện được theo phương pháp thông
thường. Một số sản phẩm SIEM còn có khả năng ngăn chặn các cuộc tấn công mà
chúng phát hiện được.
Sản phẩm SIEM đã xuất hiện nhiều năm nay, nhưng tiền thân của sản phẩm
này nhắm đến các tổ chức lớn với khả năng và đội ngũ phân tích an ninh chuyên
biệt. SIEM đang dần trở nên nổi bật, phù hợp cả với nhu cầu của các tổ chức vừa
và nhỏ. Kiến trúc SIEM ngày nay bao gồm phầm mềm SIEM cài đặt trên một máy
chủ cục bộ, một phần cứng cục bộ hoặc một thiết bị ảo dành riêng cho SIEM, kèm
theo đó là một dịch vụ đám mây SIEM.
Mỗi thiết bị đầu cuối cần có hệ thống ghi lại sự kiện an ninh và thường
xuyên truyền dữ liệu nhật ký (log) này về máy chủ SIEM. Một máy chủ SIEM
nhận dữ liệu nhật ký từ rất nhiều thiết bị khác nhau và sau đó sẽ thực hiện thống
kê, phân tích, báo cáo để tạo ra một báo cáo duy nhất cho thấy sự tương quan giữa
các sự kiện an ninh của các thiết bị.
Một tổ chức không có các hệ thống tập trung dữ liệu nhật ký sẽ cần rất nhiều
công sức trong việc tập hợp báo cáo. Trong môi trường như vậy, cần phải tạo ra
báo cáo riêng về tình trạng hoạt động cho mỗi thiết bị đầu cuối, hoặc lấy dữ liệu
định kì bằng cách thủ công từ mỗi thiết bị rồi tập hợp chúng lại và phân tích để
thành một báo cáo. Khó khăn xảy ra là không nhỏ do sự khác biệt hệ điều hành,
ứng dụng và các phần mềm khác nhau dẫn đến các nhật ký sự kiện an ninh được
ghi lại khác nhau. Chuyển đổi tất cả thông tin đó thành một định dang chung đòi
hỏi việc phát triển hoặc tùy biến mã nguồn rất lớn.
Lí do chính cho việc triển khai SIEM là hệ thống này có thể phát hiện ra các
sự cố mà các thiết bị thông thường không phát hiện được. Thứ nhất, rất nhiều thiết
bị đầu cuối có phần mềm ghi lại sự kiện an ninh nhưng không tích hợp khả năng
phát hiện sự cố. Dù có thể quan sát các sự kiện và tạo ra các nhật ký, chúng luôn
thiếu khả năng phân tích để xác định các dấu hiệu của hành vi độc hại.
Lý do thứ hai nâng cao khả năng phát hiện của SIEM là chúng có thể cho
thấy sự tương quan sự kiện giữa các thiết bị. Bằng cách thu thập sự kiện của toàn
tổ chức, SIEM có thể thấy được nhiều phần khác nhau của các cuộc tấn công thông
qua nhiều thiết bị và sau đó tái cấu trúc lại chuỗi sự kiện và xác định cuộc tấn công
ban đầu là gì và nó đã thành công hay chưa. Nói theo cách khác, trong khi một giải
pháp ngăn chặn xâm nhập IPS có thể thấy được một phần của một cuộc tấn công
và hệ điều hành của máy chủ mục tiêu cũng cho thấy được một phần khác của cuộc
tấn công đó, một SIEM có thể kiểm tra dữ liệu nhật ký của tất cả sự kiện này và
xác định máy chủ mục tiêu đó đã bị nhiễm mã độc, hay tấn công thành công hay
chưa, từ đó có thể thực hiện cách li chúng ra một mạng riêng và xử lí cuộc tấn
công.
Cần hiểu rằng SIEM không thay thế các sản phẩm kiểm soát an ninh phát
hiện tấn công như hệ thống ngăn chặn xâm nhập IPS, công nghệ tường lửa và phần
mềm diệt virus. Một SIEM độc lập không có tác dụng gì ngoài theo dõi các sự kiện
an ninh đang diễn ra. SIEM được thiết kế để sử dụng các dữ liệu nhật ký được ghi
lại bởi các phần mềm khác nhau từ đó phân tích tương quan và đưa ra các cảnh
báo.
Ngoài ra, rất nhiều sản phẩm SIEM có khả năng ngăn chặn các cuộc tấn
công mà chúng phát hiện khi các cuộc tấn công đang diễn ra. SIEM không tự mình
trực tiếp ngăn chặn các cuộc tấn công, thay vào đó nó kết nối vào hệ thống an ninh
khác của doanh nghiệp như tường lửa và chuyển chúng đến phần cấu hình để ngăn
chặn hành vi độc hại. Điều này cho phép SIEM ngăn chặn các cuộc tấn công không
nhận biết được bởi các thành phần an ninh khác của doanh nghiệp.
Để có những bước tiến xa hơn, một tổ chức cần tìm kiếm và thu thập các
IEM (các thông tin về các mối nguy hại, hình thức tấn công…) từ các nguồn bên
ngoài đáng tin cậy. Nếu SIEM phát hiện bất cứ hành vi độc hại nào đã biết liên
quan đến thiết bị đầu cuối, nó sẽ phản ứng ngăn chặn các kết nối hoặc làm gián
đoạn, cách ly thiết bị đang tương tác với thiết bị khác nhằm ngăn ngừa cuộc tấn
công từ điểm đầu tiên.
Một lợi ích khác của các sản phẩm SIEM là gia tăng đáng kể hiệu quả việc
xử lý sự cố, tiết kiệm đáng kể thời gian và nguồn lực đối cho các nhân viên xử lý
sự cố. SIEM cải thiện điều này bằng cách cung một một giao diện đơn giản để xem
xét tất cả dữ liệu nhật ký an ninh từ nhiều thiết bị đầu cuối.
Cho phép nhân viên xử lý sự cố nhanh chóng phát hiện một mũi của cuộc
tấn công vào doanh nghiệp.
Cho phép xác định nhanh chóng tất cả thiết bị đầu cuối bị ảnh hưởng bởi
cuộc tấn công.
Cung cấp cơ chế tự động nhằm ngăn chặn các cuộc tấn công đang diễn ra và
cách ly các thiết bị đầu cuối đã bị xâm hại.
Beats là một tập hợp các công cụ thu thập thông tin chuyên dụng, được biết
đến như là các Shipper (người vận chuyển) giúp thu thập và gửi dữ liệu từ Client
tới máy chủ ELK. Ngoài ra, các beat này có thể được gửi thẳng trực tiếp lên
Elasticsearch do bản thân các công cụ đã được chuẩn hóa sẵn, việc kết nối các beat
đến logstash thường mang ý nghĩa bảo mật đối với các hệ thống tầm lớn khi họ
muốn bảo vệ dịch vụ elasticsearch.
Trong Beats có rất nhiều các Beat “con”, cụ thể:
- Filebeat: đây là công cụ chuyên dùng để thu thập log và gửi log về cho hệ
thống ELK. Filebeat có một điểm mạnh mà cách thu thập thông thường không thể
có được, chính là khả năng theo dõi tình trạng của ELK và điều chỉnh lượng log
đẩy về. Nếu hệ thống ELK đang gặp tình trạng quá tải về khối lượng cần xử lý,
Filebeat sẽ quan sát và giảm lượng log đổ về bằng cách sử dụng hàng chờ.
- Metricbeat: đây là công cụ chuyên dùng để thu thập hiệu năng của máy
chủ. Ngoài hiệu năng phần cứng máy chủ, Metricbeat có thể khai thác thông tin
các dịch vụ web (Apache, Nginx) hay của database (MySQL, MongoDB).
- Packetbeat: công cụ này sử dụng để giám sát lưu lượng và băng thông
trên các máy chủ. Packetbeat sẽ thu thập thông tin về lưu lượng gói tin vào và ra
của máy chủ, từ đó tổng kết và gửi về cho hệ thống ELK.
Syslog là một giao thức client/server là giao thức dùng để chuyển log và
thông điệp đến máy nhận log. Máy nhận log thường được gọi là syslogd, syslog
daemon hoặc syslog server. Syslog có thể gửi qua UDP hoặc TCP. Các dữ liệu
được gửi dạng cleartext. Syslog dùng port 514.
● Defining an architecture (xác định kiến trúc) : Syslog là một giao thức, nó
là một phần của kiến trúc mạng hoàn chỉnh, với nhiều máy khách và máy
chủ.
● Message format (định dạng tin nhắn) : syslog xác định cách định dạng tin
nhắn. Điều này rõ ràng cần phải được chuẩn hóa vì các bản ghi thường được
phân tích cú pháp và lưu trữ vào các công cụ lưu trữ khác nhau. Do đó,
chúng ta cần xác định những gì một máy khách syslog có thể tạo ra và
những gì một máy chủ nhật ký hệ thống có thể nhận được.
● Specifying reliability (chỉ định độ tin cậy) : syslog cần xác định cách xử lý
các tin nhắn không thể gửi được. Là một phần của TCP/IP, syslog rõ ràng sẽ
bị thay đổi trên giao thức mạng cơ bản (TCP hoặc UDP) để lựa chọn.
Định dạng nhật ký hệ thống được chia thành ba phần, độ dài một thông báo không
được vượt quá 1024 bytes:
● PRI : chi tiết các mức độ ưu tiên của tin nhắn (từ tin nhắn gỡ lỗi (debug) đến
trường hợp khẩn cấp) cũng như các mức độ cơ sở (mail, auth, kernel).
● MSG: phần này chứa thông tin thực tế về sự kiện đã xảy ra. Nó cũng được
chia thành trường TAG và trường CONTENT.
● Một mức độ cơ sở được sử dụng để xác định chương trình hoặc một phần
của hệ thống tạo ra các bản ghi.
● Theo mặc định, một số phần trong hệ thống của bạn được cung cấp các mức
facility như kernel sử dụng kern facility hoặc hệ thống mail của bạn bằng
cách sử dụng mail facility.
● Nếu một bên thứ ba muốn phát hành log, có thể đó sẽ là một tập hợp các cấp
độ facility được bảo lưu từ 16 đến 23 được gọi là “local use” facility levels.
● Ngoài ra, họ có thể sử dụng tiện ích của người dùng cấp độ người dùng
(“user-level” facility), nghĩa là họ sẽ đưa ra các log liên quan đến người
dùng đã ban hành các lệnh.
● Mức độ cảnh báo của Syslog được sử dụng để mức độ nghiêm trọng của log
event và chúng bao gồm từ gỡ lỗi (debug), thông báo thông tin
(informational messages) đến mức khẩn cấp (emergency levels).
● Tương tự như cấp độ cơ sở Syslog, mức độ cảnh báo được chia thành các
loại số từ 0 đến 7, 0 là cấp độ khẩn cấp quan trọng nhất
Dưới đây là các mức độ nghiêm trọng của syslog được mô tả trong bảng:
Hình 2. . Mức độ cảnh bảo
● Ngay cả khi các bản ghi được lưu trữ theo tên cơ sở theo mặc định, bạn hoàn
toàn có thể quyết định lưu trữ chúng theo mức độ nghiêm trọng.
● Nếu bạn đang sử dụng rsyslog làm máy chủ syslog mặc định, bạn có thể
kiểm tra các thuộc tính rsyslog để định cấu hình cách các bản ghi được phân
tách.
PRI là phần đầu tiên mà bạn sẽ đọc trên một tin nhắn được định dạng syslog.
Phần PRI hay Priority là một số được đặt trong ngoặc nhọn, thể hiện cơ sở sinh ra
log hoặc mức độ nghiêm trọng, là một số gồm 8 bit:
● 3 bit đầu tiên thể hiện cho tính nghiêm trọng của thông báo.
Vậy biết một số Priority thì làm thế nào để biết nguồn sinh log và mức độ nghiêm
trọng của nó.
○ Chú ý: nếu như thời gian của server và thời gian của client khác nhau
thì thông báo ghi trên log được gửi lên server là thời gian của máy
client
● HOSTNAME (đôi khi có thể được phân giải thành địa chỉ IP). Nó thường
được đưa ra khi bạn nhập lệnh tên máy chủ. Nếu không tìm thấy, nó sẽ được
gán cả IPv4 hoặc IPv6 của máy chủ.
● Theo dõi tốc độ đường truyền của một router, biết được tổng số byte
đã truyền/nhận.
● Lấy thông tin máy chủ đang có bao nhiêu ổ cứng, mỗi ổ cứng còn
trống bao nhiêu.
SNMP dùng để quản lý mạng, nghĩa là nó được thiết kế để chạy trên nền
TCP/IP và quản lý các thiết bị có nối mạng TCP/IP. Các thiết bị mạng không nhất
thiết phải là máy tính mà có thể là switch, router, firewall, adsl gateway, và cả một
số phần mềm cho phép quản trị bằng SNMP. Giả sử bạn có một cái máy giặt có thể
nối mạng IP và nó hỗ trợ SNMP thì bạn có thể quản lý nó từ xa bằng SNMP.
SNMP là giao thức đơn giản, do nó được thiết kế đơn giản trong cấu trúc
bản tin và thủ tục hoạt động, và còn đơn giản trong bảo mật (ngoại trừ SNMP
version 3). Sử dụng phần mềm SNMP, người quản trị mạng có thể quản lý, giám
sát tập trung từ xa toàn mạng của mình.
Theo RFC1157 , kiến trúc của SNMP bao gồm 2 thành phần : các trạm quản
lý mạng (network management station) và các thành tố mạng (network element).
Network management station. thường là một máy tính chạy phần mềm quản
lý SNMP (SNMP management application), dùng để giám sát và điều khiển tập
trung các network element.
Network element
Network element là các thiết bị, máy tính, hoặc phần mềm tương thích
SNMP và được quản lý bởi network management station. Như vậy element bao
gồm device, host và application.
Một management station có thể quản lý nhiều element, một element cũng có
thể được quản lý bởi nhiều management station. Vậy nếu một element được quản
lý bởi 2 station thì điều gì sẽ xảy ra ? Nếu station lấy thông tin từ element thì cả 2
station sẽ có thông tin giống nhau. Nếu 2 station tác động đến cùng một element thì
element sẽ đáp ứng cả 2 tác động theo thứ tự cái nào đến trước.
Ngoài ra còn có khái niệm SNMP agent. SNMP agent là một tiến trình
(process) chạy trên network element, có nhiệm vụ cung cấp thông tin của element
cho station, nhờ đó station có thể quản lý được element. Chính xác hơn là
application chạy trên station và agent chạy trên element mới là 2 tiến trình SNMP
trực tiếp liên hệ với nhau. Các ví dụ minh họa sau đây sẽ làm rõ hơn các khái niệm
này :
● Để dùng một máy chủ (= station) quản lý các máy con (= element) chạy
HĐH Windows thông qua SNMP thì bạn phải : cài đặt một phần mềm quản
lý SNMP (=application) trên máy chủ, bật SNMP service (= agent) trên máy
con.
● Để dùng một máy chủ (= station) giám sát lưu lượng của một router (=
element) thì bạn phải : cài phần mềm quản lý SNMP (= application) trên
máy chủ, bật tính năng SNMP (=agent) trên router.
Các tập tin log được đặt trong thư mục /var/log. Bất kỳ ứng dụng khác mà
sau này bạn có thể cài đặt trên hệ thống của bạn có thể sẽ tạo tập tin log của chúng
tại /var/log. Dùng lệnh ls -l /var/log để xem nội dung của thư mục này.
Ý nghĩa một số file log thông dụng có mặc định trên /var/log
● /var/log/messages – Chứa dữ liệu log của hầu hết các thông báo hệ thống
nói chung, bao gồm cả các thông báo trong quá trình khởi động hệ thống.
● /var/log/cron – Chứa dữ liệu log của cron daemon. Bắt đầu và dừng cron
cũng như cronjob thất bại.
● /var/log/wtmp – Chứa tất cả các đăng nhập và đăng xuất lịch sử.
● /var/run/utmp – Thông tin log trạng thái đăng nhập hiện tại của mỗi người
dùng.
● /var/log/dmesg – Thư mục này có chứa thông điệp rất quan trọng về kernel
ring buffer. Lệnh dmesg có thể được sử dụng để xem các tin nhắn của tập tin
này.
● /var/log/secure – Thông điệp an ninh liên quan sẽ được lưu trữ ở đây. Điều
này bao gồm thông điệp từ SSH daemon, mật khẩu thất bại, người dùng
không tồn tại, vv
2.3.2 Phân tích log của windows
Event Log của Windows được lưu trữ ở thư mục mặc định tại đường dẫn
%SystemRoot%\System32\winevt\logs, các bạn có thể truy cập vào trực tiếp
đường dẫn hoặc xem qua trình Event Viewer, để bật trình Event Viewer bạn có thể
vào RUN gõ keyword "eventvwr".
Cấu trúc của log có các trường sau:
Mặc định lượng log được lưu trong event log này không được nhiều, vì thế
hay bị mất nếu bạn tìm quá xa thời gian phát hiện ra sự cố, thay vào đó các bạn có
thể đẩy (có thể sử dụng syslog, winlogbeat,...) về SIEM để giám sát, loạt bài SIEM
mình sẽ viết sau và sẽ link đến.
Tuỳ vào trường hợp của mình mà các bạn lọc được nhanh hơn dựa vào
Event ID như hình dưới
Hình 2. . Hướng dẫn filter dựa vào Event ID
Event liên quan đến quản lý tài khoản: là các event lưu lại khi tài khoản
được tạo, chỉnh sửa.
Hình 2. . Các Event ID liên quan đến quản lý tài khoản trên Windows
Event đăng nhập, đăng xuất tài khoản: sinh ra khi có thao tác đăng nhập hay
đăng xuất tài khoản.
Hình 2. . Các Event ID liên quan đăng nhập, đăng xuất tài khoản
Event về truy cập share folder/object: mặc định log này không được lưu, để
bật log này bạn truy cập vào "Group Policy Management" để chỉnh sửa (vào RUN
gõ gpedit.msc để mở Group Policy), đường dẫn cấu hình: Computer Configuration
-> Policies -> Windows Settings -> Security Settings -> Advanced Audit Policy
Configuration -> Audit Policies -> Object Access -> Audit File Share.
Event về các dịch vụ trên windows (windows service): sinh ra khi liên quan
các dịch vụ chạy trên windows, mặc định không được enabled, muốn cấu hình bạn
vào GPO cập nhật theo đường dẫn sau "Windows Settings > Security Settings >
Advanced Audit Policy Configuration > System Audit Policies > System > Audit
Security System Extension".
Nếu OS là Windows 10 và Server 2016/2019 thì Event ID là 4697 ở mục Security
Event Log.
Hình 2. . Các Event ID liên quan dịch vụ chạy trên Windows (Windows Services)
Event về LAN, Wireless: sinh ra khi liên quan đến các kết nối mạng.
Hình 2. . Các Event ID liên quan kết nối mạng LAN, Wireless trên Windows
Event về tiến trình (process audit): liên quan các tiến trình trên windows.
Mặc định log này không được bật, để cấu hình bạn vào chỉnh trong Group Policy
theo đường dẫn sau "Computer Configuration -> Windows Settings -> Security
Settings -> Local Policies -> Audit Policy -> Audit process tracking".
Hình 2. . Các Event ID liên quan quản lý tiến trình trên Windows
CHƯƠNG 3: CÀI ĐẶT, ĐÁNH GIÁ VÀ KIỂM THỬ
3.1. Cài đặt sử dụng wireshark để phân tích gói tin mạng
3.1.1. Tổng quan về wireshark
3.1.1.1. Giới thiêụ về Wireshark
Wireshark là một bộ phân tích gói mạng (network packet analyzer). Một
network packet analyzer sẽ cố gắng nắm bắt các network packets và cố gắng hiển
thị dữ liệu gói đó càng chi tiết càng tốt.
Không chỉ các tình huống trên, Wireshark cũng có thể hữu ích trong nhiều
tình huống khác nữa.
Bạn cũng có thể lưu ảnh chụp của riêng bạn trong Wireshark và mở chúng
sau này. Nhấp vào File → Save để lưu các gói đã chụp của bạn.
Hình 3. . Mở tệp file dump từ Wireshark
Cách cơ bản nhất để áp dụng bộ lọc là nhập nó vào hộp bộ lọc ở đầu cửa sổ
và nhấp vào Apply (hoặc nhấn Enter). Ví dụ: nhập "dns" và bạn sẽ chỉ thấy các gói
DNS. Khi bạn bắt đầu nhập, Wireshark sẽ giúp bạn tự động hoàn thành bộ lọc của
mình.
Hình 3. . Lọc gói tin trên Wireshark
Nhấp vào một gói để chọn và bạn có thể xem chi tiết của nó.
3.2. Cài đặt và sử dụng 1 phần mềm ELK stack để hỗ trợ việc phân tích log
3.2.1. Tổng quan về ELK stack
ELK Stack là tập hợp 3 phần mềm đi chung với nhau, phục vụ cho công việc
logging. Ba phần mềm này lần lượt là :
● Kibana: Giao diện để quản lý, thống kê log. Đọc thông tin từ Elasticsearch.
Điểm mạnh của ELK là khả năng thu thập, hiển thị, truy vấn theo thời gian thực.
Có thể đáp ứng truy vấn một lượng dữ liệu cực lớn.
● Đầu tiên, log sẽ được đưa đến Logstash. (Thông qua nhiều con đường, ví dụ
như server gửi UDP request chứa log tới URL của Logstash, hoặc Beat đọc
file log và gửi lên Logstash).
● Logstash sẽ đọc những log này, thêm những thông tin như thời gian, IP,
parse dữ liệu từ log (server nào, độ nghiêm trọng, nội dung log) ra, sau đó
ghi xuống database là Elasticsearch.
● Khi muốn xem log, người dùng vào URL của Kibana. Kibana sẽ đọc thông
tin log trong Elasticsearch, hiển thị lên giao diện cho người dùng query và
xử lý.
Mở file /etc/elasticsearch/elasticsearch.yml:
Khởi động lại Elasticsearch và cho phép dịch vụ khởi động cùng hệ thống :
Ngoài ra, bái báo cáo trình bày về các phương pháp thu thập dữ liệu, thiết bị
thu thập dữ liệu là các cảm biến và các loại dữ liệu giám sát an ninh mạng: dữ liệu
phiên, dữ liệu bắt gói tin đầy đủ và dữ liệu kiểu chuỗi trong gói tin.
Hơn thế, em cũng biết thêm về các kỹ thuật phát hiện xâm nhập, dấu hiệu
tấn công và chữ ký, và các phương pháp phát hiện xâm nhập: dựa trên chữ ký và
dựa trên dữ liệu bất thường thống kê, cùng với các công cụ thu thập và giám sát.
Báo cáo cũng tìm hiểu về kỹ thuật phân tích gói tin với các công cụ như
Wireshark và ELK. Trình bày về chu trình thu thập tri thức về nguy cơ bảo mật
cho giám sát an ninh mạng và quá trình tạo tri thức về tài nguyên cần bảo vệ cũng
như tri thức về nguy cơ bảo mật. Phần cuối chương trình bày về quy trình phân tích
dữ liệu.
TÀI LIỆU THAM KHẢO
[1] Chris Sanders & Jason Smith, “Applied Network Security Monitoring”
[2] https://techinsight.com.vn/he-thong-giam-sat-an-toan-thong-tin-phan-1/
https://techinsight.com.vn/he-thong-giam-sat-an-toan-thong-tin-phan-2-
ky-thuat-xac-dinh-quy-luat-quan-tri-siem/
[3] https://whitehat.vn/threads/siem-ossim.7151/
[4] https://whitehat.vn/threads/cach-doc-va-nhan-biet-goi-tin-pcap-tu-cac-
cuoc-tan-cong-mang.13767/
[5] https://whitehat.vn/threads/forensic-1-tong-quan-ve-computer-
forensics.1082/
[6] https://whitehat.vn/threads/forensic-2-network-forensics.1127/
[7] https://whitehat.vn/threads/forensic-3-network-forensics-tiep.1144/
[8] https://whitehat.vn/threads/forensic-4-log-mining.2109/
[9] https://whitehat.vn/threads/forensic-5-memory-forensics.2135/
[10] https://whitehat.vn/threads/thuc-hanh-dieu-tra-server-bi-tan-
cong.13159/?fbclid=IwAR2qKha3lAgc5TF3KIeqqI-
FCKqxV1KJlczJ2bvthvC0FvxZPAAGJgShYr4
[11] https://whitehat.vn/threads/nghien-cuu-phan-tich-danh-gia-cac-nguy-
co-ve-an-ninh-thong-tin-he-dieu-hanh.327/