Ban đầu hệ thống điều khiển và giám sát trong công nghiệp được giới hạn trong phạm vi nhà xưởng, thông tin trao đổi trong hệ giữa đầu vào cảm biến, hệ điều khiển và đầu ra pitton, soleno
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA
-
ĐỖ MINH HẢI
GIẢI PHÁP BẢO VỆ CHO HỆ THỐNG ĐIỀU
KHIỂN TRONG CÔNG NGHIỆP
Chuyên ngành : KỸ THUẬT ĐIỆN
Mã số:1570383
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, tháng 1 năm 2018
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM
Cán bộ hướng dẫn khoa học : -
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 1 : -
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 2 : -
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày tháng năm
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1 -
2 -
3 -
4 -
5 -
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA…………
Trang 3
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: ĐỖ MINH HẢI MSHV: 1570383 Ngày, tháng, năm sinh: 1/10/1988 Nơi sinh: QUẢNG TRỊ Chuyên ngành: KỸ THUẬT ĐIỆN Mã số: 60520202
I TÊN ĐỀ TÀI: GIẢI PHÁP BẢO VỆ CHO HỆ THỐNG ĐIỀU KHIỂN
TRONG CÔNG NGHIỆP
II NHIỆM VỤ VÀ NỘI DUNG:
- Đưa ra các nguy cơ lỗ hỏng trong bảo mật hệ thống mạng công nghiệp
- Phân tích hệ thống mạng công nghiệp
- Xây dựng tường lửa trong hệ thống điều khiển công nghiệp
- Triển khai mô hình thực tế sử dụng tường lửa này trong hệ thống điều khiển công nghiệp
- Nêu phương hướng phát triển
III NGÀY GIAO NHIỆM VỤ : 6/2/2017
IV NGÀY HOÀN THÀNH NHIỆM VỤ : 11/12/2017
V CÁN BỘ HƯỚNG DẪN : PGS.TS PHAN QUỐC DŨNG
Trang 4Trong quá trình hoàn thành đề tài luận văn, tôi đã nhận được rất nhiều sự hướng dẫn, chỉ bảo tận tình của các thầy cô trong khoa Điện, sự giúp đỡ của bạn bè cũng như sự động viên, khích lệ tinh thần từ gia đình
Tôi xin gửi đến gia đình tôi tình thương yêu, lời cảm ơn cho tất cả những gì mà gia đình đã làm cho tôi
Xin kính gửi lời cảm ơn chân thành, sâu sắc đến PGS.TS Phan Quốc Dũng, người đã hướng dẫn, mở đường cho tôi trong suốt quá trình thực hiện luận văn Xin cảm ơn tất cả các thầy cô đã dạy dỗ, truyền đạt những kiến thức vô giá để tôi
có thể có kết quả này
Tôi cũng xin gửi lời cảm ơn đến các bạn bè tôi, đặc biệt là các bạn cùng làm luận văn với thầy Dũng Cám ơn các bạn đã giúp đỡ cũng như dạy cho tôi nhiều kiến thức quý giá
Tp Hồ Chí Minh, tháng 1 năm 2018
Học viên thực hiện
Đỗ Minh Hải
Trang 5Hệ thống điều khiển và giám sát trong công nghiệp bao gồm thiết bị trung tâm, các thiết bị cảm biến, cơ cấu chấp hành và giám sát … nhằm hổ trợ con người trong quá trình giám sát và điều khiển Ban đầu hệ thống điều khiển và giám sát trong công nghiệp được giới hạn trong phạm vi nhà xưởng, thông tin trao đổi trong hệ giữa đầu vào (cảm biến), hệ điều khiển và đầu ra (pitton, solenoid, motor…) được tách rời hoàn toàn với mạng Internet, cho nên việc bảo mật thông tin trên đường truyền Ethernet TCP/IP không được coi trọng
Ngày nay, việc toàn cầu hóa của Internet, sự ra đời của việc hợp tác và chuẩn hóa các giao thức truyền thông cùng việc tối ưu nhân lực, thời gian, chi phí, quản trị… đã dẫn đến một kết quả là, mạng điều khiển công nghiệp (Control Nework) đã được kết nối chung với hệ thống mạng doanh nghiệp (Enterprise Network), và cả mạng Internet của thế giới
Chính điều đó đã tạo ra nhiều lỗ hổng, cùng với những lổ hổng sẳn có của hệ thống điều khiển làm chúng rất dễ bị tấn công bởi những kẻ có ý đồ xấu
Nhưng tường lửa truyền thống thì chỉ có khả năng phân loại dựa trên địa chỉ MAC, địa chỉ IP, loại kết nối TCP/UDP và cổng kết nối
Giả sử một máy tính kết nối tới PLC trong mạng điều khiển bị truy cập kiểm soát bởi tin tặc thì tường lửa truyền thống trong trường hợp này vô dụng
Để tăng khả năng bảo vệ cho hệ thống điều khiển trong công nghiệp cần có tường lửa chuyên dụng có khả năng phân tích gói tin đến từng byte
Do do xây dựng tường lửa cho PLC, có khả năng phân tích gói tin ở lớp ứng dụng gửi qua mạng Ethernet, qua đó không cho phép lập trình hay ghi vào PLC trái phép là điều cần thiết
Trang 6Tôi xin cam đoan luận văn Thạc Sĩ ‘‘GIẢI PHÁP BẢO VỆ CHO HỆ THỐNG
ĐIỀU KHIỂN TRONG CÔNG NGHIỆP’’ là công trình nghiên cứu của riêng tôi
Các số liệu và tài liệu trong luận văn là trung thực và chưa được công bố trong bất kỳ công trình nghiên cứu nào Tất cả những tham khảo và kế thừa đều được trích dẫn và tham chiếu đầy đủ
Học viên thực hiện
Đỗ Minh Hải
Trang 7Chương 1: GIỚI THIỆU CHUNG 1
1.1 Đặt vấn đề 1
1.2 Mục tiêu nghiên cứu 3
1.3 Nhiệm vụ của Luận Văn 3
Chương 2: AN NINH MẠNG TRONG HỆ THỐNG MẠNG CÔNG NGHIỆP 4
2.1 An toàn hệ thống thông tin là gì? 4
2.2 Mục đích của các cuộc tấn công mạng 4
2.3 Những lỗ hỏng trong bảo mật hệ thống mạng điều khiển 5
2.3.1 Dial-up truy cập đến các thiết bị RTU 5
2.3.2 Việc truy cập của nhà cung cấp thiết bị 6
2.3.3 IT kiểm soát thiết bị truyền thông 6
2.3.4 VPN của công ty 7
2.3.5 Liên kết cơ sở dữ liệu 8
2.3.6 Liên kết điểm – điểm 9
2.4 Tin tặc làm gì khi lấy được quyền truy cập vào hệ thông mạng điều khiển? 10
2.4.1 Kiểm soát quá trình 11
2.4.2 Trích xuất màn hình HMI 11
2.4.3 Thay đổi cơ sở dữ liệu 12
2.4.4 Tấn công trung gian 13
2.4.5 Sự kiện tai nạn/đột biến 14
2.5 Thực trạng an ninh mạng hiện nay 14
2.6 Vulnerabilities, Exploits và “Zero Days” 15
Chương 3 : PHÂN TÍCH TÍNH BẢO MẬT TRONG HỆ THỐNG ĐIỀU KHIỂN CÔNG NGHIỆP 16
3.1 Phân tích mô hình mạng điều khiển công nghiệp 16
3.2 Giải pháp khắc phục 19
Chương 4 : XÂY DỰNG TƯỜNG LỬA 22
4.1 Định hướng thiết kế 22
4.1.1 Cấu trúc phần cứng: 22
4.1.2 Cấu trúc phần mềm: 24
Trang 84.2.1 Sơ đồ khối 26
4.2.2 Sơ đồ giải thuật xử lý gói tin 26
4.2.3 Quá trình biên dịch kernel linux cho Raspian Jessie 26
4.2.4 Cấu hình cho 2 cổng Ethernet trên RPi hoạt động ở chế độ bridge-mode 27
4.2.5 Biên dịch và cài đặt Suricata cho RPi 28
4.2.6 Cấu hình cho Suricata và iptables 29
Chương 5: TỔNG KẾT 30
5.1 Giả định mạng điều khiển bị tấn công 33
5.2 Lắp đặt tường lửa vào mạng điều khiển 34
5.3 Kết luận 34
5.4 Hướng phát triển đề tài 35
PHỤ LỤC 36
6.1 PLC siemens simatic s7 – 1200 36
6.1.1 Giới thiệu 36
6.1.2 Khối hàm, bộ định thì, bộ đếm cho PLC S7-1200 39
6.1.3 Vùng nhớ, địa chỉ và kiểu dữ liệu trong PLC S7 1200 41
6.1.4 Ngôn ngữ lập trình PLC S7 1200 45
6.2 Khái niệm về các loại tường lửa 46
6.3 Tổng quan về Suricata 46
6.3.1 Giới thiệu về Suricata 46
6.3.2 Các chức năng chính của Suricata 47
6.3.3 Kiến trúc của Suricata 51
6.3.4 Luật trong Suricata 55
6.4 Tổng quan Iptables 65
6.4.1 Giới thiệu 65
6.4.2 Cơ chế xử lý gói tin trong iptables 66
6.5 Giao thức PROFINET 69
6.6 Giao thức Ethernet 69
Trang 9Bảng 1 : Phân loại PLC 37
Bảng 2 : Giới thiệu các loại module họ s7-1200 39
Bảng 3 : Giới thiệu các khối hàm họ S7-1200 40
Bảng 4 : Các kiểu dữ liệu PLC S7-1200 42
Bảng 5 : Giới thiệu các vùng nhớ của PLC S7-1200 44
Bảng 6 : Định dạng gói tin 70
Trang 10Hình 1 : Giải pháp bảo vệ cho PLC trong hệ thống điều khiển công nghiệp [0] 2
Hình 2 : Truy cập đến mạng điều khiển thông qua kết nối Dial-Up [1] 5
Hình 3 : Các tường lửa thường xuyên được cấu hình với cổng mở sẵn cho phép các nhà cung cấp kết nối thẳng vào mạng điều khiển [1] 6
Hình 4 : Sự không khớp trong việc cấu hình giữa bộ phận IT doanh nghiệp và bộ phận điều khiển tự động dẫn đến lỗ hổng cho tin tặc [1] 7
Hình 5 : Đường vào mạng điều khiển từ mạng doanh nghiệp thông qua VPN [1] 8
Hình 6 : Kỹ thuật chiếm quyền điều khiển thông qua SQL computer, nếu không được cấu hình đủ [1] 9
Hình 7 : Nhiều kết nối điểm - điểm sẽ gây nguy hại cho toàn hệ thống nếu có một điểm đột ngột có tính bảo mật yếu nhất [1] 10
Hình 8 : Tấn công PLC trong mạng điều khiển thông qua một máy tính cũng trong mạng đó [1] 11
Hình 9 : Trích xuất thông tin từ màn hình HMI, cũng là một thành phần trong mạng điều khiển [1] 12
Hình 10 : Tấn công thay đổi cơ sở dữ liệu [1] 13
Hình 11 : Tấn công man-in-the-middle [1] 13
Hình 12 : Mạng điều khiển kết hợp với mạng doanh nghiệp [1] 16
Hình 13 : Mô hình mạng điều khiển kết nối mạng doanh nghiệp dựa trên Ethernet 18
Hình 14 : Gắn tường lửa trước mỗi PLC 19
Hình 15 : Các luật trong tường lửa truyền thống [29] 20
Hình 16 : Các luật trong Tường lửa lớp ứng dụng [30] 20
Hình 17 : Giao thức ghi PLC chính là S7/PROFINET (phân tích bằng Wireshark) 21
Hình 18 : Arduino Ethernet 22
Hình 19 : Beagle bone black 23
Hình 20 : Board Raspberry version 2 23
Hình 21 : Sơ đồ kết nối phần cứng của tường lửa 25
Hình 22 : Sơ đồ khối 26
Hình 23 : Sơ đồ giải thuật xử lý gói tin 26
Hình 24 : Thông số kĩ thuật 30
Hình 25 : Mô hình thực tế 31
Hình 26 : PLC kết nối mạch lái và băng chuyền (1) -> (2) -> (3) 32
Hình 27 : Giao diện kết nối tới PLC trên Laptop 32
Hình 28 : Kết nối giữa các thiết bị trong hệ thống điều khiển 33
Hình 29 : Thự hiện lệnh ghi đến PLC 33
Hình 30 : Mạng điều khiển có thêm tường lửa bảo vệ PLC 34
Hình 31 : Hình ảnh thực tế PLC S7-1200 37
Hình 32 : Xử lý đa luồng 47
Trang 12Chương 1: GIỚI THIỆU CHUNG
1.1 Đặt vấn đề
Hệ thống điều khiển và giám sát trong công nghiệp bao gồm thiết bị trung tâm, các thiết bị cảm biến, cơ cấu chấp hành và giám sát … nhằm hổ trợ con người trong quá trình giám sát và điều khiển
Ban đầu hệ thống điều khiển và giám sát trong công nghiệp được giới hạn trong phạm
vi nhà xưởng, thông tin trao đổi trong hệ giữa đầu vào (cảm biến), hệ điều khiển và đầu ra (pitton, solenoid, motor…) được tách rời hoàn toàn với mạng Internet, cho nên việc bảo mật thông tin trên đường truyền Ethernet TCP/IP không được coi trọng Ngày nay, việc toàn cầu hóa của Internet, sự ra đời của việc hợp tác và chuẩn hóa các giao thức truyền thông cùng việc tối ưu nhân lực, thời gian, chi phí, quản trị… đã dẫn đến một kết quả là, mạng điều khiển công nghiệp (Control Nework) đã được kết nối chung với hệ thống mạng doanh nghiệp (Enterprise Network), và cả mạng Internet của thế giới
Chính điều đó đã tạo ra nhiều lỗ hổng, cùng với những lổ hổng sẳn có của hệ thống điều khiển làm chúng rất dễ bị tấn công bởi những kẻ có ý đồ xấu
Cụ thể tháng 3 năm 2000, các thông tin liên lạc giữa các trạm bơm trong các dịch vụ nước Maroochy ở Úc đã bị mất, các trạm bơm không hoạt động được, các nhân viên phát hiện ra một người nào đó đã tấn công vào hệ thống và gây ra sự cố cho hệ thống này [1]
Vào tháng 8 năm 2003, một con sâu máy tính đã vượt qua tường lửa (firewall) và xâm nhập vào hệ thống diều khiển SCADA tại các nhà máy điện hạt nhân DavisBesse ở Ohio [2] Xu hướng này lên đến đỉnh điểm với Stuxnet [3], một phần mềm độc hại tấn công vào hệ thống SCADA vào tháng 7 năm 2010 Stunex là một phần mềm độc hại tấn công tinh vi vào các loại PLC, sủa đổi kiểm soát chúng gây ra những bất thường
Trang 13Rất nhiều các nghiên cứu nhằm mục đích bảo vệ an toàn cho hệ thống điều khiển
giám sát đã được đưa ra, các thiết bị tường lửa trong thế giới IT làm việc rất hiệu quả, phân tách DMZ (vùng giới hạn cách ly) rất hiệu quả
Tuy nhiên không phải bất cứ hệ thông điều khiển giám sát nào cũng được tư vấn và
triển khai một cách toàn diện hệ thống tường lửa cách ly mạng doanh nghiệp và mạng Internet toàn cầu
Và dù cho có cách ly khỏi mạng doanh nghiệp hay Internet bằng tường lửa hiệu quả thì các lỗi zero-day (hiếm nhưng luôn tiềm ẩn) và các lỗi trong quá trình vận hành của con người (rất, rất nhiều, không phải nhân viên vận hành thiết bị nhà máy nào cũng có đầy đủ kiến thức bảo mật), kĩ thuật tấn công social-hacking bằng cách sử dụng email lừa đảo dẫn đến link tải backdoor là cực kì phổ biến Một khi backdoor đã cài đặt lên máy tính trong mạng điều khiển nội bộ, thì không có gì ngăn cản PLC bị lập trình với nội dung khác
Vậy thì vấn đề đặt ra là mỗi PLC phải có một tường lửa phía trước để bảo vệ
Hình 1 : Giải pháp bảo vệ cho PLC trong hệ thống điều khiển công nghiệp [0]
Trang 14Nhưng tường lửa truyền thống thì chỉ có khả năng phân loại dựa trên địa chỉ MAC, địa chỉ IP, loại kết nối TCP/UDP và cổng kết nối
Giả sử một máy tính kết nối tới PLC trong mạng điều khiển bị truy cập kiểm soát bởi tin tặc thì tường lửa truyền thống trong trường hợp này vô dụng
Như vậy thì cần có một loại tường lửa chuyên dụng, có khả năng phân tích các gói tin, thông thường chỉ cho phép các lệnh đọc được gửi đến PLC, các lệnh ghi và nạp lại PLC hoàn toàn bị cấm Chỉ khi nào nhập đúng mật khẩu, tường lửa mới cho phép nạp lại PLC Ngay cả tin tặc nếu điều khiển được máy tính và gửi lệnh nạp đến PLC mà không biết mật khẩu tường lửa thì cũng sẽ bị chặn hoàn toàn
Trên thị trường hiện nay chỉ có giới hạn vài tường lửa loại này như Modbus DPI Firewall từ Tofino, SCADA Firewall từ Bayshore Network, và Eagle mGuard từ Innominate, tất cả đều là sản phẩm thượng mại giá thành rất cao và không thể tùy biến cho các loại giao thức ngoài thiết kế được
Do đó để tăng khả năng bảo vệ cho hệ thống điều khiển trong công nghiệp cần có tường lửa chuyên dụng cho từng giao thức
1.2 Mục tiêu nghiên cứu
Phát triển tường lửa cho PLC, có khả năng phân tích gói tin ở lớp ứng dụng gửi qua mạng Ethernet, qua đó không cho phép lập trình hay ghi vào PLC trái phép
Tường lửa có khả năng áp dụng cho các giao thức (Modbus TCP, DNP3,
PROFINET….) thông qua các luật, trong phạm vi của luận văn thì học viên lựa chọn giao thức S7/PROFINET làm giao thức chính trong hệ thống điều khiển
1.3 Nhiệm vụ của Luận Văn
- Đưa ra các nguy cơ lỗ hỏng trong bảo mật hệ thống mạng công nghiệp
- Phân tích hệ thống mạng công nghiệp
- Xây dựng tường lửa trong hệ thống điều khiển công nghiệp
Trang 15Chương 2: AN NINH MẠNG TRONG HỆ THỐNG MẠNG CÔNG
NGHIỆP
2.1 An toàn hệ thống thông tin là gì?
Ngày nay Internet/Intranet là môi trường tiện lợi cho việc trao đổi thông tin giữa các
tổ chức và giữa các cá nhân trong tổ chức với nhau Các giao dịch trao đổi thư tín điện
tử (email), các trao đổi thông tin trực tuyến giữa cơ quan nhà nước và công dân, tìm kiếm thông tin, … thông qua mạng Internet không ngừng được mở rộng và ngày càng phát triển
Bên cạnh các lợi ích mà Internet/Intranet mang lại thì đây cũng chính là môi trường tiềm ẩn các nguy cơ gây mất an toàn an ninh cho các hệ thống mạng của các tổ chức
có tham gia giao dịch trên Internet hoặc Intranet Một vấn đề đặt ra cho các tổ chức là làm sao bảo vệ được các nguồn thông tin dữ liệu như các số liệu trong công tác quản
lý hành chính nhà nước, về tài chính kế toán, các số liệu về nguồn nhân lực, các tài liệu về công nghệ, sản phẩm, trước các mối đe doạ trên mạng Internet hoặc mạng nội bộ có thể làm tổn hại đến sự an toàn thông tin và gây ra những hậu quả nghiêm trọng khó có thể lường trước được
Hiện nay, cùng với sự phát triển của công nghệ thông tin, các phương thức tấn công cũng ngày càng tinh vi và đa dạng, nó thực sự đe doạ tới sự an toàn của hệ thống thông tin nếu chúng ta không có sự nhận thức đúng đắn về vấn đề này để có những giải pháp hiệu quả để bảo vệ hệ thống của mình
Để bảo đảm an toàn thông tin, một hệ thống phải đạt được 3 yếu tố cơ bản sau đây:
Đảm bảo tính bí mật (Confidentiality): Thông tin không thể bị truy nhập trái phép bởi những người không có thẩm quyền
Đảm bảo tính toàn vẹn (Integrity): Thông tin không thể bị sửa đổi, bị làm sai lệch
Đảm bảo tính sẵn sàng (Availability): Thông tin luôn sẵn sàng để đáp ứng kịp thời cho nhu cầu công việc
2.2 Mục đích của các cuộc tấn công mạng
+ Phá vỡ các quy trình sản xuất bằng cách ngăn chặn hoặc trì hoãn các dòng thông tin
+ Gây thiệt hại, vô hiệu hóa thiết bị hoặc tắt máy để tác động tiêu cực sản xuất, môi trường
+ Sửa đổi hoặc vô hiệu hóa hệ thống an toàn gây ra thiệt hại có chủ ý về tài sản
Trang 16Hầu hết các cuộc tấn công mạng mà có thể thâm nhập vào hệ thống điều khiển có
nguồn gốc từ hệ thống doanh nghiệp, sau đó là internet và việc tin tưởng các bên thứ
ba
2.3 Những lỗ hỏng trong bảo mật hệ thống mạng điều khiển
Để có thể tấn công vào được hệ thống mạng điều khiển, tin tặc cần phải vượt qua
được phạm vi phòng vệ để giành quyền điều khiển mạng nội bộ của hệ thống điều
khiển Những phương pháp thường gặp là:
- Dùng kết nối quay số trực tiếp đến thiết bị RTU
- Truy cập cung cấp dịch vụ thông qua hỗ trợ kỹ thuật
- Những thiết bị mạng được cài sẵn cổng hậu trong firmware
- Mạng LAN ảo VPN
- Liên kết mạng dữ liệu
- Những tường lửa cấu hình vụng về
- Kết nối ngang hang yếu
2.3.1 Dial-up truy cập đến các thiết bị RTU
Hầu hết các hệ thống điều khiển có một bản sao lưu modem dial-up trong trường hợp kết nối chính (băng thông rộng) không còn nữa Tin tặc muốn tấn công phải biết giao thức của RTU để truy cập, tuy vậy hầu hết các RTU không có các cơ chế bảo mật
mạnh mẽ và nhất là không có cơ chế xác thực cho từng user Nguy hiểm hơn, nếu biết được tên của thiết bị RTU trong mạng điều khiển, tin tặc dễ dàng có giao thức truy
cập thông qua việc đọc datasheet
Trang 172.3.2 Việc truy cập của nhà cung cấp thiết bị
Những nhà cung câp thiết bị tự động hóa như Schneider, Rockwell, Siemens… luôn phải hỗ trợ cho nhà máy cách sử dụng thiết bị thông qua điều khiển từ xa, thường qua giao thức RDP (Remote Desktop của Windows) trên port 3389, Để giảm thiểu tối đa thời gian và chi phí, các nhà cung cấp thường được truy cập VPN cho chẩn đoán từ xa hoặc bảo trì Các nhà cung cấp thường xuyên để nguyên cổng mở trên các thiết bị
nhằm đơn giản hóa nhiệm vụ của họ Chính tin tặc sẽ thông qua những cổng này để tấn công vào hệ thống mạng điều khiển của nhà máy
Hình 3 : Các tường lửa thường xuyên được cấu hình với cổng mở sẵn cho phép các
nhà cung cấp kết nối thẳng vào mạng điều khiển [1]
2.3.3 IT kiểm soát thiết bị truyền thông
Trong mạng quyền của bộ phận tự động hóa thường chỉ được giới hạn trong phạm vi kiểm soát mạng điều khiển Bộ phận IT ở khoảng cách xa lại lo nhiệm vụ bảo mật cho mạng doanh nghiệp và kết nối mạng điều khiển Và thuờng thì sự kết nối này có thể không khớp ở một vài chỗ dẫn đến lỗ hổng Một kẻ tấn công có tay nghề cao có thể truy cập vào mạng lưới kiểm soát thông qua các lỗ hổng trong kiến trúc truyền thông
và cấu hình lại thiết bị
Trang 18Hình 4 : Sự không khớp trong việc cấu hình giữa bộ phận IT doanh nghiệp và bộ
phận điều khiển tự động dẫn đến lỗ hổng cho tin tặc [1]
2.3.4 VPN của công ty
Các kỹ sư làm việc tại văn phòng công ty và thường sẽ sử dụng VPN từ mạng băng
thông rộng để đạt được quyền truy cập vào các mạng điều khiển tự động Những kẻ tấn công chờ đợi cho người sử dụng hợp pháp để VPN vào mạng lưới hệ thống điều khiển và theo lén vào kết nối
Trang 19Hình 5 : Đường vào mạng điều khiển từ mạng doanh nghiệp thông qua VPN [1]
2.3.5 Liên kết cơ sở dữ liệu
Hầu hết các hệ thống điều khiển sử dụng cơ sở dữ liệu thời gian thực, cơ sở dữ liệu
cấu hình, và nhiều cơ sở dữ liệu sử học Nếu các tường lửa, và quản lý an ninh trên cơ
sở dữ liệu không được cấu hình đúng cách, một kẻ tấn công có tay nghề cao có thể
được truy cập vào cơ sở dữ liệu từ mạng doanh nghiệp và tạo ra các lệnh SQL để kiểm soát các máy chủ cơ sở dữ liệu trên mạng hệ thống điều khiển
Trang 20Hình 6 : Kỹ thuật chiếm quyền điều khiển thông qua SQL computer, nếu không được
cấu hình đủ [1]
2.3.6 Liên kết điểm – điểm
Đối tác và đồng nghiệp được cấp quyền truy cập vào các thông tin nằm trên một trong hai doanh nghiệp hoặc mạng kiểm soát Với sự liên kết peer-to-peer, tính bảo mật của
hệ thống nằm ở doanh nghiệp yếu bảo mật hơn Thuờng xảy ra đối với hai nhà máy cùng trực thuộc một tập đoàn đa quốc gia Hai nhà máy được cùng kết nối vào chung một VPN để dễ quản lý
Trang 21Hình 7 : Nhiều kết nối điểm - điểm sẽ gây nguy hại cho toàn hệ thống nếu có một
điểm đột ngột có tính bảo mật yếu nhất [1]
2.4 Tin tặc làm gì khi lấy được quyền truy cập vào hệ thông mạng điều khiển?
Tùy thuộc vào những động cơ và kỹ năng, những kẻ tấn công có thể hoặc có thể
không cần phải biết thông tin chi tiết của hệ thống điều khiển Ví dụ, nếu chỉ muốn
ngừng hệ thống, chỉ cần ít kiến thức về hệ thống Tuy nhiên, nếu tin tặc mong muốn
hệ thống điều khiển vận hành theo ý mình muốn như cho ra sản phẩm lỗi, gây thiệt hại nhân mạng, đòi hỏi phải có lượng kiến thức chuyên sâu hơn nhiều
Hai tiến trình dễ bị tấn công nhất là:
- Cơ sở dữ liệu thu thập được
- Màn hình hiển thị HMI / SCADA
Tên của cơ sở dữ liệu khác nhau từ nhà cung cấp nhưng hầu hết sử dụng một quy ước đặt tên phổ biến với một số duy nhất (tức là Pump1, pump2, breaker1, breaker2 ) Trên tầng giao thức truyền thông, các thiết bị được gọi đơn giản bằng số (vị trí bộ nhớ hoặc đăng ký địa chỉ) Đối với một cuộc tấn công chính xác, kẻ tấn công cần phải dịch những con số vào thông tin có ý nghĩa
Tiếp cận với các màn hình HMI là phương pháp dễ nhất để tìm hiểu quá trình và sự tương tác giữa các nhà điều hành và thiết bị Các thông tin trên màn hình cho phép kẻ tấn công để dịch các tham số ra thông tin có nghĩa
Trang 222.4.1 Kiểm soát quá trình
Khi kẻ tấn công có đủ thông tin về quy trình hệ thống, bước tiếp theo là để thao tác
nó Cách dễ nhất để giành quyền kiểm soát của quá trình này là để kết nối với một thiết bị thu thập dữ liệu, chẳng hạn như một PLC Hầu hết các PLC, hoặc các cổng dữ liệu máy chủ thiếu xác thực cơ bản và sẽ chấp nhận bất kỳ lệnh đã được định dạng chính xác
Hình 8 : Tấn công PLC trong mạng điều khiển thông qua một máy tính cũng trong
mạng đó [1]
2.4.2 Trích xuất màn hình HMI
Một phương pháp tấn công là để trích xuất màn hình HMI nhằm giành quyền kiểm soát các hoạt động Một kẻ tấn công tinh vi cũng có thể thay đổi màn hình của nhà điều hành để hiển thị các hoạt động bình thường nhằm che giấu các cuộc tấn công Những kẻ tấn công thường chỉ có các lệnh cho phép các nhà điều hành hiện đang đăng nhập vào
Trang 23Hình 9 : Trích xuất thông tin từ màn hình HMI, cũng là một thành phần trong mạng
điều khiển [1]
2.4.3 Thay đổi cơ sở dữ liệu
Những kẻ tấn công truy cập vào cơ sở dữ liệu và sửa đổi dữ liệu để làm gián đoạn hoạt động bình thường của hệ thống kiểm soát hay thay đổi các giá trị được lưu trữ để ảnh hưởng đến tính toàn vẹn của hệ thống Hoạt động này tương đối dễ nhất, bởi đa phần lúc nào kết nối từ mạng doanh nghiệp đến máy tính chứa cơ sở dữ liệu đều có sẵn
Trang 24Hình 10 : Tấn công thay đổi cơ sở dữ liệu [1]
2.4.4 Tấn công trung gian
Kẻ trung gian là một kiểu tấn công mà kẻ tấn công chặn tin nhắn từ một máy tính (Host A), thao túng các dữ liệu trước khi chuyển tiếp vào máy tính (Host B) và ngược lại nhằm mục đích nào đó Cả hai máy tính nói chuyện với nhau mà không hề biết đến một kẻ xâm nhập ở giữa
Hình 11 : Tấn công man-in-the-middle [1]
Trang 25Những kẻ tấn công muốn thành công trong việc điều khiển các gói tin phải biết các giao thức truyền nhận Các cuộc tấn công kẻ trung gian cho phép kẻ tấn công để lừa các nhà điều hành màn hình HMI và kiểm soát các hệ thống điều khiển
2.4.5 Sự kiện tai nạn/đột biến
Trong khi nhiều mối đe dọa hiện hữu từ nhân viên bất mãn, tin tặc, khủng bố, hoặc các nhà hoạt động, phần lớn các hệ thống ngừng hoạt động liên quan đến mạng gây ra bởi các sự kiện ngẫu nhiên Trong trường hợp này, chúng ta đang đề cập đến nhân viên không theo đúng thủ tục, vô tình kết nối cáp mạng sai, thiết kế mạng không chính xác, các lỗi lập trình, hoặc các thiết bị mạng hành xử sai Các chuyên gia tính rằng > 75% trường hợp hệ thống ngừng hoạt liên quan đến mạng với các sự kiện ngẫu nhiên Trong nhiều trường hợp, các nhà thầu là người tham gia quá trình thiết kế hệ thống, vận hành, hoặc bảo trì Cần phải luôn luôn làm đúng quy trình kiểm tra nhằm đảm bảo rằng các nhà thầu không mang lại phần mềm độc hại, virus, hoặc các vấn đề khác vào mạng điều khiển Thiết bị lưu trữ USB là nguồn lây lan phổ biến nhất của phần mềm độc hại và vi rút, vi thế phải được kiểm tra cẩn thận trước khi cho phép sử dụng
Kiến trúc mạng được thiết kế và cấu hình vào lúc thiết kế để thực hiện các hành vi mạnh mẽ; bao gồm cả phân khúc, chọn lọc, và các quy tắc hình học kết nối Cá nhân
vô tình kết nối một cáp mạng vào cổng sai trên một switch đa cổng có thể tạo ra cúp hoặc bão phát sóng mang một mạng lưới để đầu gối của nó Nhiều người trong số các biện pháp bảo vệ bão phát sóng thảo luận trong tài liệu này áp dụng cho các sự kiện tình cờ này cũng như tấn công từ chối dịch vụ
Nói chung, nguyên nhân có thể là ngẫu nhiên, nhưng các tính năng, thông lệ và thủ tục được sử dụng để bảo vệ từ việc tấn công mạng tốt như nhau để ngăn chặn hệ thống ngừng hoạt tình cờ Trong trường hợp này, phương pháp phục hồi thảm họa nên được
sử dụng và kiểm tra để chắc chắn rằng sự phục hồi từ một cúp hoặc thiết bị thất bại có thể được nhanh chóng và đáng tin cậy quản lý, giảm thiểu thời gian chết và mất sản xuất Tính sẵn sàng cao và kiến trúc dự phòng đóng một vai trò trong lĩnh vực này khi
mà ngay cả hệ thống ngừng hoạt thời gian ngắn không thể được dung thứ
2.5 Thực trạng an ninh mạng hiện nay
An ninh mạng truyền thống trong hệ điều khiển:
- Mạng điều khiển luôn có những cổng mở sẵn nhằm mục đích tiết kiệm thời gian
Trang 26- Vậy nên trong hệ điều khiển kiểu cũ, toàn bộ giải pháp an ninh mạng dựa hoàn toàn vào các giải pháp an ninh mạng từ bên ngoài như tường lửa của mạng doanh nghiệp, hoặc cách ly luôn hệ điều khiển khỏi bất cứ mạng nào khác Một cách khác là sử dụng toàn bộ hệ thống không chuẩn hóa: hệ điều hành riêng, giao thức riêng, ứng dụng riêng và hoàn toàn không công bố, trong trường hợp này tin tặc hoàn toàn không có thông tin gì để tấn công hệ thống Tuy vậy việc xây dựng hệ thống không chuẩn hóa này đối với mỗi công ty mà nói, là cực kì tốn kém
Sự thay đổi của mạng điều khiển trong thời đại hiện nay:
- Hầu hết hệ thống điều khiển đã chuyển sang sử dụng hệ điều hành chuẩn (chủ yếu là Microsoft Windows, Linux có nhưng rất ít) và giao thức chuẩn Một mặt tiết kiệm chi phí, tăng tính hợp tác giữa các công ty, mặt khác cũng phơi mình ra trước tin tặc, vì đã là giao thức chuẩn thì ai cũng biết
- Mạng điều khiển và mạng doanh nghiệp được kết nối với nhau, nhằm phục vụ sự theo dõi hoạt động thời gian thực của nhà máy đến văn phòng kinh doanh
- Hậu quả là toàn bộ sự cách ly của hệ điều khiển ra khỏi thế giới không còn nữa Kết nối mạng chung, Laptop chung, USB lưu trữ chung, đặc biệt Windows luôn
là mảnh đất màu mỡ cho virus
- Đặc thù vận hành liên tục của hệ điều khiển tự động khiến việc nâng cấp, vá lỗi thiết bị, hệ điều hành khó mà thuờng xuyên được Toàn bộ lỗ hổng chưa kịp vá
sẽ là mồi ngon cho tin tặc
2.6 Vulnerabilities, Exploits và “Zero Days”
Vulnerability: một lỗ hổng trong phần mềm, đã được báo cáo, bất kì ai cũng có thể
khai thác để chạy những đoạn chương trình tùy ý (khác mục tiêu thiết kế ban đầu) Công ty cung cấp phần mềm luôn có trách nhiệm đưa ra các bản vá để đóng lỗ hổng Một hệ thống không được cập nhật luôn có rất nhiều nguy hiểm tiềm tang
Exploit: là đoạn code dùng để khai thác Vulnerability
- Client-Side Exploit: chỉ có thể được gọi từ máy tính mục tiêu
- Remote Exploit: có thể được gọi từ xa, thường là thông qua exploit của dịch
vụ hệ thống trên một port nào đó của máy tính mục tiêu
Zero-day: khi một lỗ hổng được tìm ra và chưa được ai báo cáo, thì một đoạn code
dùng exploit lỗi này gọi là Zero-day Đối tượng bị tấn công ngay lập tức bị đánh bại,
vì chưa có ai có sự đề phòng hay tung ra bản vá cho lỗ hổng này Zero-day exploits là nguy hiểm nhất, 100% không thể phòng chống, trừ hệ thống cách ly
Trang 27Chương 3 : PHÂN TÍCH TÍNH BẢO MẬT TRONG HỆ THỐNG
ĐIỀU KHIỂN CÔNG NGHIỆP
3.1 Phân tích mô hình mạng điều khiển công nghiệp
Ngày nay với sự phát triển của công nghệ, toàn cầu hóa internet thì hệ thống mạng điều khiển có xu hướng kết hợp với với mạng doanh nghiệp với internet toàn cầu:
Xét mô hình mạng điều khiển công nghiệp phổ biến:
Hình 12 : Mạng điều khiển kết hợp với mạng doanh nghiệp [1]
Điều đó mang lại nhiều thuận tiện như:
Nền tảng kết nối Ethernet cho phép các hệ thống điều khiển, các nhà máy nhà xưởng nằm cách xa nhau về mặt vật lý được kết nối với nhau qua một cơ sở dữ liệu chung
Việc vận hành, bảo trì, hỗ trợ, hướng dẫn nâng cấp hệ thống có thể thực hiện từ
xa, thông qua Internet và qua giao thức VPN
Chuẩn hóa giao thức kết nối các sản phẩm tự động hóa từ các nhà sản xuất, tăng tính tương thích và tính tái sử dụng
Trang 28 Việc sử dụng chuẩn Ethernet TCP/IP cùng nền tảng Microsoft Windows cho phép lập trình ứng dụng điều khiển mới rất nhanh Nâng cao hiệu suất công việc, giảm số giờ công cho một yêu cầu nâng cấp
Bên cạnh những thuận tiện đó thì tồn tại các nguy cơ:
Thông thường các máy tính cá nhân sử dụng hệ điều hành Windows dễ bị lây nhiễm virut /trojan là cơ hội để tin tặc chiếm quyền truy cập hệ điều hành, tái nạp chương trình cho PLC điều khiển là rất dễ dàng
Các thống điều khiển vốn không được coi trọng về bảo mật, nếu có một máy tính
bị tin tặc điều khiển, bắt lấy gói tin từ PLC và gửi một gói điều khiển sai đến động cơ là điều hoàn toàn có thể
Tấn công trực tiếp đến mạng điều khiển thông qua không gian mạng Bất kì một công ty nào với một hệ điều khiển được kết nối chung với mạng doanh nghiệp đều có khả năng bị tấn công, và hậu quả nghiêm trọng đến tài sản hữu hình, hình ảnh doanh nghiệp cũng như nhân mạng con người
Chưa trang bị đủ kiến thức kỹ năng để đề phòng các hiểm họa an ninh mạng cho
kỹ sư và nhân viên Các lỗ hổng mạng thường đến từ lỗi vận hành của con người
là rất bình thường Và qua đó, tin tặc từ mạng Internet có thể truy cập và điều khiển máy tinh ngay trong mạng điều khiển
Từ những nguy cơ trên, giải pháp tường lửa để bảo vệ hệ thống mạng điều khiển là điều cần thiết, tuy nhiên phạm vi của luận văn không tập trung bảo vệ toàn bộ hệ
thống mạng điều khiển và mạng doanh nghiệp mà chỉ đi sâu phân tích nguy cơ an ninh đối với mạng điều khiển dựa trên Ethernet
Trang 29Xét mô hình mạng điều khiển thông thường:
Hình 13 : Mô hình mạng điều khiển kết nối mạng doanh nghiệp dựa trên Ethernet
Khi không có bất kì sự cố gì và tường lửa làm việc hiệu quả thì:
PLC sẽ đọc thông tin từ cảm biến và điều khiển thiết bị chấp hành
Kỹ sư giám sát, điều khiển và thiết lập thông số cho PLC qua HMI và trạm làm việc
Tất cả các thiết bị PLC, HMI, trạm làm việc và server đều được kết nối vào mạng LAN trong cùng lớp mạng Ethernet
Tuy nhiên với mô hình trên có thể xảy ra các nguy cơ sau:
Trạm làm việc bị lây nhiễm virut: do qua USB hoặc qua Remote Destop từ internet (khi chuyên gia xử lý các sự cố được phép remote từ bên ngoài vào thông qua VPN, remote desktop) …
Tin tặc tiếp cận vật lý và kết nối vào mạng điều khiển
Kỹ sư giám sát cố tình phá hoại…
Từ các nguy cơ đó, hệ thống có thể dễ dàng bị truy cập, tái lập trình PLC, điều khiển sai thiết bị… giả sử đó là nhà máy thép, nhà máy xử lý nguồn nước hoặc hệ thống quay ly tâm làm giàu uranium thì chỉ cần thay đổi thông số sẽ hậu quả khôn lường,
Trang 30thực tế đã xảy ra vào năm 2010 làm hư hại máy ly tâm, năm 2014 lò cao áp phải tắt khẩn cấp, thiệt hại rất lớn
- Và bởi vì giao thức S7/PROFINET quá đơn giản, nếu tin tặc tiếp cận được mạng điều khiển, dùng bất cứ trình TCP client nào cũng có thể truyền thông tin sai lệch đến PLC
- Mạng Ethernet nói chung và S7/PROFINET nói riêng khi được thiết kế chỉ nhằm mục đích đáp ứng quá trình truyền thông trong mạng điều khiển mà hoàn toàn không xét đến tính bảo mật, hoặc do người thiết kế bỏ qua bảo mật, hoặc tốc độ đáp ứng ngặt nghèo chỉ vài chục us, vài ms, khiến vấn đề bảo mật với những thiết bị tốc độ chậm không thể đáp ứng vào thời điểm thiết kế
3.2 Giải pháp khắc phục
Giải pháp được đưa ra là gắn trước mỗi PLC một tường lửa nhằm mục đích chặn truy cập trái phép vào PLC
Hình 14 : Gắn tường lửa trước mỗi PLC
Xét về lý thuyết, tính đến năm 2016, tường lửa đã trải qua ba thế hệ phát triển
- Thế hệ 1: phân tích gói tin Tường lửa sẽ lọc các thông tin từ địa chỉ IP, cổng kết nối, địa chỉ MAC, và giao thức kết nối cho đến lớp 3 – Network Layer trong mô hình OSI bảy lớp
- Thế hệ 2: phân tích trạng thái Kiểm tra trạng thái kết nối: đây là gói tin khởi đầu một kết nối mới? Gói tin thuộc một kết nối cũ? Gói tin chẳng thuộc kết nối nào?
Trang 31Tất cả tường lửa trên thị trường được chia làm hai nhóm:
- Tường lửa truyền thống: bao gồm tính năng đến thế hệ 1 và 2 như trên
Hình 15 : Các luật trong tường lửa truyền thống [29]
- Tường lửa lớp ứng dụng: phân tích gói tin UDP/TCP để nhận biết được chính xác
ứng dụng đang dùng là gì, thậm chí phân tích luôn nội dung ứng dụng và chỉ cho qua nếu nội dung hay ứng dụng phù hợp với luật đã thiết đặt
Hình 16 : Các luật trong Tường lửa lớp ứng dụng [30]
Trang 32Tường lửa truyền thống chỉ có thể lọc thông tin đến lớp Transport Layer, có nghĩa là chỉ có thể phân biệt được địa chỉ IP, Port và địa chỉ MAC Còn thông tin trong gói TCP mà cụ thể là lệnh đọc hay ghi đến PLC theo giao thức S7/PROFINET không thể xác định được
Có hai trường hợp xảy ra:
- Tin tặc tiếp cận được mạng điều khiển, gắn laptop vào switch của mạng điều khiển, giả địa chỉ IP và MAC của máy tính SCADA trong mạng có thể tùy ý gửi gói tin S7/PROFINET đọc/ghi đến PLC
- Máy tính SCADA bị nhiễm virus, và bị tin tặc điều khiển từ xa, có thể tái lập trình lại PLC (Ví dụ phần mềm Unity Pro của Schneider lập trình lại PLC Premium chính thông qua giao thức S7/PROFINET hoặc TIA Portal của siemen)
Hình 17 : Giao thức ghi PLC chính là S7/PROFINET (phân tích bằng Wireshark)
Từ những phân tích trên, học viên lựa chọn tường lửa lớp ứng dụng, khi đó nó khả năng phân tích gói tin TCP để chỉ ra nội dung trong gói tin S7/PROFINET là gì: Đọc, ghi hay nạp lại chương trình Quá đó bảo vệ được PLC và hệ thống điều khiển
Trang 33Chương 4 : XÂY DỰNG TƯỜNG LỬA
4.1 Định hướng thiết kế
Bởi vì tường lửa với mục đích là lọc và xử lý dữ liệu thông tin trước khi gửi đến PLC trong mạng điều khiển dựa trên truyền thông Ethernet Ngoài ra tường lửa phải độc lập với các thiết bị trong hệ thống Do đó, một tường lửa được chọn đảm bảo như sau:
Arduino 43$:
Hình 18 : Arduino Ethernet
Trang 34Beaglebone 30$:
Hình 19 : Beagle bone black
Hoặc các phiên bản Raspberry 35$, CHIP computer 9$, Banana Pi 35$…
Hình 20 : Board Raspberry version 2
Trang 354.1.2 Cấu trúc phần mềm:
Phần mềm phải có chức năng xử lý gói tin Ethernet, đọc từng byte trong gói tin, không những nhận biết gói tin TCP/UDP mà còn nhận biết được đến lớp 7 lớp ứng dụng trong mô hình OSI, chỉ ra được đây là gói tin thuộc ứng dụng nào MODBUS, DNP3, PROFINET, lệnh đọc hay ghi, dữ liệu đọc/ghi
Iptables là một phần mềm tường lửa truyền thống cực kì mạnh mẽ được tích hợp ngay
từ trong nhân Linux Chỉ cần nhân Linux và Iptables là có thể đáp ứng được yêu cầu của một tường lửa truyền thống
Chúng ta có thể tự build trên nền Iptables hay có thể sử dụng nguồn mở như OSSEC, Snort, Security Onion, Suricata…
Do đây là một đề tài theo hướng Điện Công Nghiệp, hướng tới bảo vệ an ninh mạng cho một hệ thống điều khiển chứ không phải là một đề tài IT với việc lập trình một phần mềm tường lửa từ đầu
Cho nên việc lựa chọn giải pháp trong đề tài nhằm nhiệm vụ tối thiểu hóa công việc
IT, tối đa hóa việc phân tích và triển khai bảo đảm an ninh mạng cho hệ thống điều
Trang 364.1.3 Giải pháp được chọn như sau:
- Phần cứng Raspberry Pi Model B Rev2: CPU 700 Mhz, RAM 512 MB, gắn thêm một USB-NIC (card mạng mở rộng gắn qua cổng USB) Đây là phần cứng prototype, nhằm mục đích triển khai nhanh chức năng tường lửa trong luận án này Giảm thời gian xây dựng phần cứng vốn không phải là trọng tâm
- Hệ điều hành: Raspian, một phiển bản dựa trên Debian Jessie Hệ điều hành nguồn
mở, được sử dụng và kiểm lỗi bởi cả triệu người
- Suricata: là một phần mềm tường lửa nguồn mở có khả năng phân tích gói tin
chuyên sâu, hoạt động trên Linux, tiền thân từ Snort với rất nhiều cải tiến
4.2 Xây dựng tường lửa
Sau khi đã đưa ra giải pháp chọn lựa phần cứng và phần mềm cho tường lửa, ta có mô
hình phần cứng tường lửa như sau:
Hình 21 : Sơ đồ kết nối phần cứng của tường lửa
Trang 374.2.1 Sơ đồ khối
4.2.2 Sơ đồ giải thuật xử lý gói tin
Hình 23 : Sơ đồ giải thuật xử lý gói tin
4.2.3 Quá trình biên dịch kernel linux cho Raspian Jessie
Sau khi cài đặt Raspian Jessie lên thẻ SD-Card Hệ thống chạy ổn định với tài khoản mặc định:
Giao diện thiết đặt luật –
kiểm tra bản ghi Chuyển hướng cho PLCGói tin thỏa luật đặt ra
Khối quản lý giao diện kết
Phân tích gói tin chuyên sâu
Đúng lệnh cho phép?
Đúng chữ ký?
Hình 22 : Sơ đồ khối
Khối quản lý giao tiếp
chép
Khối điều hướng
dữ liệu
Khối phân tích ứng dụng
Bộ quyết định
Trang 38Bởi vì bộ xử lý của RPi quá yếu, nếu build kernel trực tiếp trên RPi có thể tốn hàng giờ, nên có thể tải bản Raspian trên trang web:
Chúng ta tạo một bridge interface mới là br0, kết nối 2 port Ethernet là eth0 và eth1
Eth0 ứng với cổng có sẵn trên RPi, eth1 ứng với USB-NIC
Sau khi đã bridge thành công, ta kết nối PLC vào eth1, kết nối laptop vào eth0, là có thể ping đến PLC từ laptop
Cấu hình chế độ bridge-mode (sudo nano /etc/network/interfaces)
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
iface eth0 inet dhcp
#iface eth1 inet dhcp
#iface eth0 inet manual
#iface eth1 inet manual
Trang 39#iface wlan1 inet manual
# wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
4.2.5 Biên dịch và cài đặt Suricata cho RPi
Trước khi biên dịch và cài đặt, ta tiến hành cài đặt các thư viện để hỗ trợ cho
Suricata :
Mở terminal và gõ lệnh :
$ sudo apt-get install wget build-essential
$ sudo apt-get install libpcre3-dev
$ sudo apt-get install libpcre3-dbg
$ sudo apt-get install automake
$ sudo apt-get install autoconf
$ sudo apt-get install libtool
$ sudo apt-get install libpcap-dev
$ sudo apt-get install libnet1-dev
$ sudo apt-get install libyaml-dev
$ sudo apt-get install zlib1g-dev
$ sudo apt-get install libcap-ng-dev
$ sudo apt-get install libjansson-dev
$ sudo apt-get install libnetfilter-queue-dev
$ sudo apt-get install libmagic-dev
Tải bản suricata từ trang chủ : https://suricata-ids.org/
$ /configure enable-nfqueue sysconfdir=/etc localstatedir=/var
Nếu không có lỗi xảy ra, tiến hành biên dịch và cài đặt :
$ make
$ sudo make install
$ sudo make install-conf
$ sudo make install-rules
Trang 404.2.6 Cấu hình cho Suricata và iptables
Toàn bộ cấu hình của Suricata được lưu trong file /etc/suricata/suricata.yaml Việc
trình bày đầy đủ cấu hình của Suricata là dài dòng và không phải trọng tâm
Cấu hình cho iptables chuyển hướng luồng dữ liệu vào từ cổng Ethernet #1 vào đầu vào của Suricata, chuyển hướng luồng dữ liệu ra từ Suricata ra cổng Ethernet #2
Ta biết rằng iptables tự thân nó đã là giải pháp tường lửa rất hữu hiệu không những có thể chặn, cho qua, chuyển huớng các gói tin mà còn có thể theo dõi trạng thái các gói tin, tuy nhiên nó không có chức năng phân tích đến lớp ứng dụng
Khi sử dụng Suricata, chúng ta sẽ bỏ qua cơ chế phân tích của iptables, mà giao toàn quyền xử lý gói tin lại cho Suricata
Hãy xem các lệnh sau:
iptables chuyển huớng toàn bộ gói tin từ cổng vật lý vào eth0, ra eth1 vào