Chương 1: TỔNG QUAN 1.1 Hệ thống ERP doanh nghiệp ERP (Enterprise Resource Planning – Hệ thống hoạch định nguồn lực doanh nghiệp) là khái niệm đã trở nên ngày càng phổ biến không chỉ trong lĩnh vực công nghệ thông tin của Việt Nam mà cả cộng đồng doanh nghiệp, nhà quản lý. Với ERP, mọi hoạt động của một công ty, từ công tác điều hành, quản trị nguồn nhân lực (HRM), quản lý dây chuyền sản xuất (MRP) và cung ứng vật tư, quản lý tài chính nội bộ (FRM), đến việc bán hàng, tiếp thị sản phẩm (SCM), trao đổi với đối tác, khách hàng (CRM)… đều được thực hiện trên một hệ thống duy nhất. Nếu triển khai thành công ERP, doanh nghiệp sẽ có thể tiết kiệm chi phí, tăng khả năng cạnh tranh và thêm cơ hội để phát triển vững mạnh.1 Mô hình hệ thống ERP [1] Triển khai ERP là quá trình tin học hóa toàn diện các hoạt động của doanh nghiệp dựa trên các qui trình quản lý tiên tiến. Mọi hoạt động của doanh nghiệp sẽ do phần mềm máy tính hỗ trợ và thực hiện các qui trình xử lý một cách tự động hoá, giúp cho các doanh nghiệp quản lý các hoạt động then chốt, bao gồm: kế toán, phân tích tài chính, quản lý mua hàng, quản lý tồn kho, hoạch định và quản lý sản xuất, quản lý 4 quan hệ với khách hàng, quản lý nhân sự, theo dõi đơn hàng, quản lý bán hàng, v.
Mục tiêu tổng quát của hệ thống này là đảm bảo các nguồn lực thích hợp của doanh nghiệp như nhân lực, vật tư, máy móc và tiền bạc có sẵn với số lượng đủ khi cần, bằng cách sử dụng các công cụ hoạch định và lên kế hoạch. Đặc điểm nổi bật của ERP là một hệ thống phần mềm sống có thể mở rộng và phát triển theo thời gian theo từng loại hình doanh nghiệp mà không làm ảnh hưởng đến cấu trúc của chương trình. ERP loại bỏ các hệ thống máy tính riêng lẻ ở các bộ phận trong một doanh nghiệp: Tài chính, Nhân sự, Kinh doanh, Sản xuất, Kho… ERP sẽ thay thế chúng bằng một chương trình phần mềm hợp nhất phân chia theo các phân hệ phần mềm khác nhau và tạo nên một mối quan hệ thống nhất với nhau. Phần mềm ERP rất linh động trong việc cài đặt các phân hệ theo yêu cầu doanh nghiệp.
Các doanh nghiệp có thể yêu cầu cài đặt một vài phân hệ mà doanh nghiệp cần, các phân hệ còn lại còn lại có thể cài đặt sau mà không ảnh hưởng đến hệ thống.2 Nguy cơ mất an toàn thông tin đối với hệ thống ERP Hệ thống ERP vốn mang lại nhiều lợi ích cho doanh nghiệp do tính liên kết của kho dữ liệu dùng chung giúp cho việc truy xuất, khai thác thông tin được linh hoạt, kịp thời. Tuy nhiên, cũng chính vì tính liên kết này mà nguy cơ mất an toàn thông tin cho toàn hệ thống là rất lớn. Các phương thức tấn công vào hệ thống thông tin ngày càng tinh vi, phức tạp và gây thiệt hại rất lớn cho doanh nghiệp. Theo thống kê từ Chi hội An toàn thông tin phía Nam (VNISA) [2], Việt Nam đứng đầu danh sách các quốc gia thường xuyên bị hacker tấn công.
Theo đó, có tới 394 máy chủ bị kết nối âm thầm và thường trực ra máy chủ nước ngoài. Theo VNCERT [3], trong 6 tháng đầu năm 2014, Trung tâm này đã ghi nhận 405 sự cố Phishing, xử lý được 250 sự cố; 648 sự cố Deface (72 sự cố liên quan đến tên miền gov.vn), xử lý được 34 sự cố .vn và 281 tên miền khác, 345 sự cố malware (xử lý được 147 sự cố). Trung tâm đã cảnh báo xử lý 2.117 lượt địa chỉ IP của các cơ quan nhà nước bị nhiễm mã độc botnet. Cùng với đó, theo báo cáo [4] do 5 Trung tâm Nghiên cứu chiến lược và quốc tế (CSIS) phối hợp với công ty bảo mật McAfee thực hiện công bố ngày 09/06/2014, các cuộc tấn công mạng đang khiến nền kinh tế toàn cầu thiệt hại khoảng 445 tỷ USD mỗi năm, bao gồm cả 350.000 việc làm bị mất tại Mỹ và châu Âu.
Với hệ thống ERP, các phân hệ nghiệp vụ thường được xây dựng trên nền ứng dụng web do tính linh hoạt và đa nền tảng của nó. Bên cạnh đó, các giải pháp bảo vệ hệ thống khỏi các lỗ hổng ứng dụng, nhất là ứng dụng web vẫn chưa nhận được sự quan tâm đúng mức, nhiều giải pháp thông thường chỉ tập trung vào bảo vệ hệ thống mạng như Hình 1. FTP server Email server Web server DMZ Internal Firewall DB servers Internet External Firewall Hình 1.2 Mô hình bảo mật hệ thống mạng [5] Trong một số kết quả nghiên cứu [6] thể hiện tại Hình 1.3 cho thấy: 92% các lỗ hổng lại nằm trong các ứng dụng chứ không phải trong hệ thống mạng. Theo một thống kê khác của Gartner, 75% các cuộc tấn công là nhằm vào lớp ứng dụng.
6 3% Server Application 15% Non‐Server Application 41% Operating System Hardware Communication Protocol Network 36% Other Hình 1.3 Lỗ hổng trong hệ thống thông tin [6] Theo bản cập nhật năm 2013 của OWASP (Phụ lục 1) về Top 10 rủi ro an toàn của ứng dụng web, các phương thức tấn công như SQL injection, Cross site scripting (XSS)… nhằm truy nhập, khai thác dữ liệu trái phép, chiếm quyền điều khiển hệ thống… vẫn đang là các mối đe dọa phổ biến và đang được hacker tấn công khai thác nhiều nhất. Xu hướng tấn công thường tập trung vào các mục tiêu sau: Thông tin hệ thống: đây là bước đầu tiên mà hacker thực hiện khi tấn công hệ thống. Với thông tin về hệ thống như phiên bản hệ điều hành, web server…, hacker có thể khai thác lỗ hổng đối với hệ thống sử dụng các phiên bản cũ chưa được vá lỗi. Một số phương thức có thể thu thập thông tin hệ thống như Fingerprinting, HTTP Method.
Xác thực hệ thống: đối với các ứng dụng có tính năng đăng nhập cho người dùng, hacker có thể sử dụng kỹ thuật tấn công như dò tìm mật khẩu để xâm nhập và thao tác trái phép trên hệ thống. Phương thức thường gặp đối với loại tấn công này là Brute Force. Cơ sở dữ liệu (CSDL) ứng dụng: phương thức thường được hacker sử dụng là SQL injection. Đây là loại tấn công vào CSDL ứng dụng web.
Theo đó, hacker sẽ tìm 7 cách thay đổi ý nghĩa của câu lệnh SQL gốc. Việc này được thực hiện bằng cách chèn thêm các từ khóa, toán tử và câu lệnh SQL vào trong câu lệnh SQL gốc. Nếu việc thực hiện thành công, hacker sẽ thao túng được CSDL của ứng dụng, thực hiện khai thác thông tin trái phép. Người dùng: đối với ứng dụng web, phương thức tấn công người dùng thông thường là XSS.
Hacker có thể dùng những đoạn mã script độc hại lấy cookie, keylog để khai thác thông tin hoặc giả mạo người dùng. Web server: một phương thức tấn công thường gặp đối với web server là DoS. Trong đó, phương thức DoS layer 7 có thể vô hiệu các firewall ở lớp network. Loại tấn công này chiếm tài nguyên và khiến web server từ chối các kết nối ngay cả kết nối hợp lệ.3 Giải pháp tăng cường tính an toàn cho hệ thống ERP doanh nghiệp Với các nguy cơ đã đề cập ở trên, việc nghiên cứu áp dụng giải pháp tăng cường tính an toàn cho hệ thống ERP doanh nghiệp là vấn đề cấp bách cần được quan tâm giải quyết.
Trong đó, giải pháp tập trung bảo vệ các mục tiêu sau: Thông tin hệ thống; Xác thực hệ thống; CSDL ứng dụng; Người dùng; Web server. Đối với hệ thống ERP vận hành trên nền web, các phương thức có thể được áp dụng để bảo vệ ứng dụng như xây dựng mã nguồn an toàn hay thiết lập WAF (Web Application Firewall) [9]. Xây dựng mã nguồn an toàn là một kỹ thuật quan trọng. Để thực hiện được việc này, lập trình viên phải hiểu rõ và biết cách ngăn chặn các lỗ hổng của ứng dụng web.
Điều này đòi hỏi lập trình viên phải am hiểu về các vấn đề bảo mật. Tuy nhiên, các lập trình viên thường không được đào tạo nhiều về lĩnh vực này. Hơn nữa, hầu hết 8 các ứng dụng đều được nhà cung cấp đóng gói trước khi triển khai cho doanh nghiệp. Như vậy, việc can thiệp vào mã nguồn là không thực hiện được.
Trong khi đó, WAF sẽ thực hiện phân tích gói tin HTTP để tìm và ngăn chặn các tấn công vào hệ thống mà không lệ thuộc vào nhà cung cấp ứng dụng. Như vậy, WAF giải pháp phù hợp đối với hệ thống ERP trên nền ứng dụng web. Vị trí WAF được mô tả tại Hình 1. FTP server Email server Web server DMZ Internal Firewall DB servers LAN WAF WebApp Attack Internet External Firewall Hình 1.4 Mô hình bảo mật hệ thống thông tin với WAF WAF thường được chia làm hai loại chính: giải pháp thương mại và giải pháp mã nguồn mở.
Giải pháp thương mại của Cisco, Juniper, Barracuda… có tính ổn định và được sự hỗ trợ từ nhà cung cấp. Tuy nhiên, chi phí đầu tư sử dụng lớn, các điều chỉnh, cập nhật đều lệ thuộc hoàn toàn vào nhà cung cấp. Điểm cần quan tâm đối với giải pháp thương mại là sản phẩm đóng gói, người dùng hoàn toàn không thể biết và can thiệp 9 vào mã nguồn. Điều này tiềm ẩn nguy cơ các thông tin trong hệ thống của người dùng có thể bị nhà sản xuất khai thác.
Giải pháp mã nguồn mở mang tính cộng đồng, giúp tiết kiệm chi phí và chủ động trong việc quản lý, thay đổi, chỉnh sửa hệ thống. Một số giải pháp WAF mã nguồn mở có thể sử dụng để bảo vệ ứng dụng web như ModSecurity, WebKnight, QuickDefence…[10].1 Các giải pháp WAF mã nguồn mở Đặc điểm ModSecurity WebKnight QuickDefence Web server tương thích IIS, Apache, Nginx IIS Nginx Ghi log HTTP đầy đủ Có Không Không Kỹ thuật vá ảo Có Có Có Reverse Proxy Có Có Có Ngăn chặn DoS/DDoS Có Có Không Cộng đồng hỗ trợ Lớn (OWASP) Hạn chế Hạn chế Có thể nhận thấy ModSecurity là giải pháp WAF mã nguồn mở có tính năng tốt, vận hành được với nhiều loại web server (IIS, Apache, Nginx). Bên cạnh đó, ModSecurity có quá trình phát triển lâu dài và thường xuyên được cập nhật. Phiên bản mới nhất của ModSecurity là 2.0 phát hành ngày 15/04/2014.
Hơn nữa, ModSecurity cũng được cộng đồng OWASP liên kết hỗ trợ thông qua dự án OWASP ModSecurity Core Rule Set. Tóm lại, với mục tiêu tăng cường tính an toàn cho thống hệ thống ERP thì ModSecurity là sự lựa chọn phù hợp. Giải pháp được nghiên cứu triển khai, đánh giá và áp dụng tại Công ty Điện lực An Giang. 10 Chương 2: GIẢI PHÁP MODSECURITY CHO HỆ THỐNG ERP 2.