Website Lotteria bị hacker đổi giao diện
Tối 7/3, website của chuỗi cửa hàng thức ăn nhanh Lotteria bị thay đổi ảnh trang chủ thành logo nhóm hacker Anonymous.
Tối 7/3, website của chuỗi cửa hàng thức ăn nhanh Lotteria bị thay đổi ảnh trang chủ thành logo nhóm hacker Anonymous.
Lỗ hổng GhostCat trên máy chủ chạy Apache Tomcat nguy hiểm thế nào?
Mới đây, Google đã phát hành bản cập nhật phần mềm của trình duyệt web Chrome dành cho máy tính để bàn để vá lỗ hổng Zero-day...
Lỗ hổng mật khẩu tĩnh trong phần mềm của Cisco
TomoChain, hệ sinh thái ứng dụng blockchain tại Việt Nam, mới đây đã khởi động chương trình bug bounty - tìm lỗi bảo mật nhận tiền thưởng trên nền tảng ...
Microfocus Fortify – Software Security Testing: On – Premise & On – Demand
1.1.Đặt vấn đề
Hiện tại các ứng dụng trong tổ chức có nhiều nguồn gốc khác nhau, có thể do tổ chức tự phát triển, thuê các công ty phần mềm viết, mua các ứng dụng thương mại hay là các ứng dụng dựa trên mã nguồn mở. Một thách thức đặt ra cho các tổ chức là đảm bảo việc triển khai hiệu quả, an toàn cho các ứng dụng mà không cần quan tấm đến nguồn gốc của các ứng dụng đó. Một phương thức để đảm bảo an toàn cho phần mềm yêu cầu các tổ chức xây dựng một chương trình cho phép đảm bảo an toàn cho phần mềm. Chương trình này kết hợp chặt chẽ các giải pháp đánh giá an ninh cho ứng dụng ở mức mã nguồn và khi sản phẩm hoàn chỉnh. Chương trình này cho phép nhận diện và khắc phục các điểm các điểm yếu có thể khai thác trong suốt vòng đời phát triển của phần mềm (Software Development Lifecycle (SDLC)).
Triển khai chương trình đảm bảo an toàn cho phần mềm là một phương thức chủ động để đảm bảo rằng việc đảm bảo an toàn là sự thừa hưởng trong toàn bộ quá trình phát triển phần mềm, bắt đầu từ khi thiết kế, lập trình, thử nghiệm và đến khi triển khai thực tế. Một phần trong chương trình đảm bảo an toàn cho phần mềm bao gồm việc đánh giá an toàn cho phần mềm ở mức mã nguồn (Code level), việc này cho phép tổ chức phát hiện toàn bộ các điểm yếu an ninh trong quá trình phát triển và cho phép tổ chức dễ dàng khắc phục, sửa chữa. Phương thức này cho phép giảm thiểu các rủi ro về an ninh trong các ứng dụng bằng việc cung cấp ngay lập tức các phản hồi đến người lập trình về các lỗi trong mã nguồn trong quá trình phát triển phần mềm.
Phát hiện các lỗ hổng trong các mã nguồn là giai đoạn đầu tiên trong việc bảo vệ các phần mềm. Các lỗ hổng bảo mật được phát hiện sớm hơn sẽ giúp cho các tổ chức tiết kiệm chi phí về an ninh bảo mật trước khi sản phẩm được chạy chính thức. Để có hiệu quả, việc phân tích mã nguồn phải kết hợp nhiều yếu tố hơn không chỉ đơn thuần là làm kỹ lưỡng và chính xác. Nó cung cấp cái nhìn sâu sắc về nguyên nhân gốc rễ của các vấn đề an ninh, đồng thời giúp các tổ chức ưu tiên giải quyết các lỗ hổng quan trọng.
1.2.Giới thiệu về giải pháp
MICRO FOCUS Fortify Static Code Analyzer (SCA) sử dụng nhiều thuật toán và kỹ thuật nhằm đảm bảo an toàn cho mã nguồn để thực hiện phân tích mã nguồn ứng dụng đối với các điểm yếu an ninh có thể khai thác được, từ đó nhận diện và đưa ra cách khắc phục các điểm yếu. Fortify SCA xác định và chỉ ra được nguyên nhân gốc rễ của các điểm yếu trong mã nguồn, đánh giá, phân loại các các rủi ro tương ứng với các điểm yếu an ninh và cung cấp hướng dẫn chi tiết cho người lập trình để làm sao có thể khắc phục các điểm yếu này một cách hiệu quả và tốn ít thời gian nhất. MICRO FOCUS Fortify SCA cho phép phát hiện hơn 689 danh mục các điểm yếu, với hơn 22 ngôn ngữ lập trình
Với MICROFOCUS Fortify khách hàng có thể:
- Tiến hành phân tích tĩnh để xác định nguyên nhân gốc rễ của các lỗ hổng bảo mật trong mã nguồn
- Hỗ trợ 1,000,000 API và phát hiện trên 1,032 loại lỗ hổng về bảo mật thông qua 27 ngôn ngữ lập trình
- Sắp xếp kết quả theo các thứ tự mức độ nghiêm trọng của các nguy cơ
- Hỗ trợ sửa chữa các lỗ hổng chi tiết trên các dòng code
- Giúp khách hàng đưa ra các báo cáo tuân thủ các tiêu chuẩn bảo mật như PCI DSS 3.0, ISO, OWASP Top 10 …
1.3.Các lý do lựa chọn sản phẩm MICRO FOCUS Fortify Static Code Analyzer (SCA):
- Là một trong những sản phẩm đứng đầu trên thị trường, cho phép phát hiện chính xác và hiệu quả nhất các điểm yếu trên mã nguồn của phần mềm.
- Dễ dàng tích hợp vào môi trường của các tổ chức thông qua: Script, plug-ins và các công cụ giao diện làm việc GUI... do đó các lập trình viên có thể dễ dàng sử dụng.
- Cho phép thực hiện kiểm tra và duy trì vấn đề an toàn cho các ứng dụng mà không cần quan tâm đến ngôn ngữ lập trình mà tổ chức đang sử dụng hay các ứng dụng đó do tổ chức phát triển, thuê viết từ bên ngoài, sản phẩm thương mại hay mã nguồn mở.
- Cho phép hỗ trợ nhiều loại ngôn ngữ lập trình, nền tảng khác nhau.
- Cho phép nhận diện các điểm yếu an ninh trong mã nguồn, phân loại, đánh giá theo mức độ quan trọng và cung cấp hướng dẫn chi tiết để khắc phục.
- Cho phép đội ngũ phát triển phần mềm làm việc với bộ phân đảm bảo an ninh trong việc tìm, rà soát và khắc phục các vấn đề an ninh từ đó giảm thiểu các rủi ro trên phần mềm, thời gian và tiền bạc của tổ chức.
- MICRO FOCUS Fortify SCA có thể cung cấp cho khách hàng dưới dạng sản phẩm triển khai thông thường (On-premise) hoặc dạng dịch vụ (On-demand).
- Cho phép đáp ứng với mọi nhu cầu, phạm vi của tổ chức.
- Cho phép tổ chức chủ động quản lý rủi ro và tuân thủ theo các yêu cầu an ninh cho ứng dụng.
1.4.Các tính năng chính của giải pháp
- Cho phép thực hiện dò quét mã nguồn (Source code scanning) và xác định gốc rễ nguyên nhân các điểm yếu an ninh của phần mềm
- Cho phép phân tích nhiều ngôn ngữ lập trình bao gồm cả Java, Net, C/C++, Objective-C, Android, PHP, COBOL và SAP.
- Cho phép phát hiện 680 loại điểm yếu (vulnerability categories) và 22 ngôn ngữ phát triển phần mềm
- Cho phép phát hiện các điểm yếu an ninh và các điểm yếu này được chia thành các danh mục khác nhau đối với mỗi ngôn ngữ lập trình. Cung cấp tài liệu hoặc link trên website của hãng mô tả chi tiết về danh mục các điểm yếu này
- Cho phép hiển thị kết quả dò quét trên giao diện tổng hợp ở dạng biểu đồ tóm tắt. Đồng thời cho phép người quản trị thực hiện phân tích sâu (drill down) thông tin chi tiết ngay trên biểu đồ.
- Cho phép hiển thị các vấn đề sau khi dò quét theo các nhóm như: Critical, High, Medium, Low
- Cho phép đánh giá và gán giá trị kiểm tra (Assign auditing values) đối với một vấn đề hoặc một nhóm các vấn đề sau khi phân tích kết quả dò quét. Ví dụ: sau khi dò quét và phát hiện ra 1 vấn đề trong phần mềm thì người thực hiện đánh giá/người lập trình sau khi kiểm tra có thể đưa ra đánh giá và gán giá trị cho vấn đề đó ví dụ: xem đó là một vấn đề thực sự hay không
- Cho phép bổ sung ý kiến (Comment) cho các vấn đề đã tìm ra và cho chính các đánh giá của người thực hiện
- Cho phép đính kèm chụp màn hình hoặc ảnh về vấn đề tìm ra. Hỗ trợ các định dạng ảnh phổ biến như GIF, JPG, PNG
- Cho phép nhận diện toàn bộ các tính năng trong mã nguồn từ đó xác định các tính năng này nằm ở đâu trong mã nguồn
- Cho phép hợp nhất kết quả phân tích của các lần dò quét để xác định vấn đề nào mới xuất hiện, vấn đề nào đã được loại bỏ và những vấn đề nào đều được tìm thấy trong các lần dò quét
- Cung cấp giải thích về điểm yếu và khuyến nghị khắc phục cho người lập trình, bao gồm cả thông tin chi tiết về dòng code
- Cho phép nhiều Auditor có thể làm việc trên một kết dò quét đồng thời
- Giải pháp phải có khả năng tích hợp với các môi trường phát triển tích hợp (IDE) như Eclipse, Visual Studio, Jdeveloper, IntelliJ để thực hiện phân tích mã nguồn.
- Cung câp sẵn các mẫu báo cáo kiểm tra khả năng tuân thủ theo một số tiêu chuẩn như: PCI DSS Compliance (Application Security Requirements), OWASP Top 10, OWASP Mobile Top 10, FISMA Compliance: FIPS 200, DISA STIG, CWE/SANS Top 25
- Cho phép tạo báo cáo theo các định dạng PDF, HTML, DOC
- Cho phép cập nhật phiên bản phần mềm (manually) theo dạng thủ công hoặc tự động (Automatically).
1.5.1. Mô hình triển khai
Mô hình triển giải pháp đánh giá an ninh cho ứng dụng ở mức mã nguồn được triển khai từ đơn giản cho đến phức tạp tùy theo mô hình và mức độ trưởng thành của mỗi mô hình. Phần mềm Fortify SCA được triển khai trên 3rd server, yêu cầu tối thiểu 2 máy chủ: 01 máy chủ đóng vai trò Scan Server, 01 máy chủ đóng vai trò quản trị tập trung SSC.
Mô hình triển khai Fortify SCA trong mô hình trưởng thành như hình minh họa và mô tả sau:
- 01 máy chủ cài đặt thành phần Fortify SCA làm nhiệm vụ Translation mã nguồn. Thành phần này có thể triển khai tích hợp trên Build server của khách hàng.
- 01 máy chủ triển khai thành phần Fortify SCA Scanning làm nhiệm vụ quét, phát hiện các điểm yếu an ninh.
- 01 máy chủ triển khai thành phần quản trị tập trung SSC
- 01 máy chủ cài đặt thành phần Database cho SSC
- Phần Foritfy IDE-plugin Remidiation được triển khai ngay trên các máy tính của lập trình viên.
1.5.2. Mô hình về quy trình hoạt động
Quy trình hoạt động của giải pháp như sau:
- Các lập trình viên sau khi hoàn thành phần coding sẽ upload source code lên SCA (Stactic Code Analyzer) hoặc cài đặt SCA lên các ứng dụng lập trình của mình để quét trực tiếp trên ứng dụng
- SCA sẽ thực hiện việc dò quét lỗ hổng theo toàn bộ các source code của ứng dụng được upload lên, quá trình quét lỗ hổng hoàn toàn được tự động hóa bởi engine của MICROFOCUS fortify SCA hỗ trợ 23 ngôn ngữ lập trình, 836,000 API với các “analysis rule” đề dò quét các lỗ hổng bảo mật
- Sau khi hoàn thành quá trình dò quét lỗ hổng SCA sẽ gửi kết quả về thành phần SSC (Software Security Center) để đưa ra các Report giúp quản lý và đánh giá các lỗ hổng bảo mật của ứng dụng đang phát triển, tại đây các Auditor, trưởng nhóm hay CISO đọc các kết quả Report sau đó đệ trình các vấn đề về an ninh đến bộ Bug Tracker để phân tích Bug, các lập trình viên sẽ dựa vào các kết quả Bug này để thực hiện vá lỗi.
- Quy trình liên tục được thực hiện cho đến khi ứng dụng đảm bảo được các yêu tố đánh giá an toàn dựa theo các chuẩn mà doanh nghiệp thực hiện.
- Đảm bảo phần mềm của khách hàng là đáng tin cậy, sử dụng công nghệ phân tích khác nhau để xác định các lỗ hổng nhiều hơn bất kỳ phương pháp phát hiện khác, giúp cải thiện tính chính xác của các kết quả
- Giải quyết các vấn đề nghiêm trọng nhất của khách hàng đầu tiên, giúp đội an ninh bảo mật và phát triển ứng dụng biết được các lỗ hổng ở đâu để giải quyết
- Giảm trừ chi phí cho việc phát hiện và sửa chữa các lỗ hổng ứng dụng, giúp khách hàng xác định các lỗ hổng trong suốt quá trình phát triển ứng dụng
- Nâng cao năng suất làm việc và trao đổi giữa đội an ninh bảo mật và đội phát triển ứng dụng
- Giảm thiểu các mối nguy cơ với các kết quả liên kết với nhau
- Cải thiện các quy trình giúp quá trình đánh giá an ninh bảo mật hiệu quả hơn
2.1.Tổng quan
Các loại giải pháp an ninh cho hệ thống công nghệ thông tin bao gồm: hệ thống quản ký truy cập & định dang (Indentity & Access Management), các giải pháp bảo vệ an ninh tại lớp mạng (Network Security), giải pháp bảo vệ tại các máy tính (Host Security), giải pháp theo dõi và giám sát an ninh tập trung (Security information and Event Management (SIEM)), giải pháp an ninh cho ứng dụng (Application Security).
Trước đây các tổ chức đầu tư để bảo vệ cho các hệ thống như: mạng (network) và máy chủ (server) bởi vì đây là những thực thể mà tổ chức có thể nhìn thấy được, làm việc và có thể kiểm soát được. Đối với các nhân viên trong đội ngũ an ninh (Security Team), phần mềm thực sự là một vấn đề, chính xác họ không biết bên trong nó (code level) như thế nào, đơn giản chỉ là vận hành ứng dụng đó. Như vậy làm sao để có thể bảo vệ được các ứng dụng? Các tổ chức tin rằng việc thực hiện bảo vệ ở các lớp mạng (network) và máy chủ (server) là có thể bảo vệ được các ứng dụng. Tuy nhiên các lớp bảo vệ này không thể thực hiện được. Ngày nay các ứng dụng/phần mềm là một đối tượng mới cần được bảo vệ.
Vì sao? Vì ứng dụng dễ dàng bị khai thác/tấn công và bị lờ đi trong thời gian dài. Ngoài ra các tấn công thẳng vào ứng dụng sẽ cho phép Hacker thực hiện các truy cập đến dữ liệu cá nhân/các thông tin của người dùng, đây là các thông tin vô cùng nhạy cảm. Các giải pháp bảo an ninh bảo vệ ở mức mạng và ở mức nền tảng hệ thống IT không còn hiệu quả đối với các đe dọa ngày nay. Do vậy cần thiết phải thực hiện việc kiểm soát và bảo vệ các ứng dụng/phần mềm.
Giải pháp an ninh toàn diện cho ứng dụng Web cho phép thực hiện đánh giá, kiểm soát và bảo vệ các ứng dụng, phần mềm theo dạng Blackbox. Bằng cách thực hiện việc dò quét, nhận diện các điểm yếu tồn tại trong ứng dụng, đồng thời cung cấp các hướng dẫn chi tiết để khắc phục điểm yếu…
2.2.Đặc tính kỹ thuật cơ bản
Việc triển khai phần mềm quản lý điểm yếu ứng dụng Web đơn giản. Chỉ cần sử dụng một máy chủ có sẵn hoặc một máy trạm của người quản trị để cài đặt phần mềm. Thông thường hệ thống này được bố trị tại vùng mạng quản trị.
- Cho phép phát hiện và có phương án xử lý đối với các điểm yếu đang tồn tại trong ứng dụng Web, bao gồm các ứng dụng Web đang hoạt động hay đang trong quá trình phát triển.
- Hạn chế và chủ động ngăn chặn được các rủi ro xuất phát từ các điểm yếu trên ứng dụng Web.
- Nâng cao khả năng bảo mật cho hệ thống thông qua việc tích hợp giải pháp này với các giải pháp như: IPS, SIEM, WAF.
Microfocus Fortify – Software Security Testing: 10 năm liên tiếp trong nhóm Top Leader Gartner
Microfocus Fortify – Software Security Testing: Được hầu hết các tổ chức lớn trên thế giới (Foutune 500) ở các lĩnh vựa lựa chọn sử dụng