Dependency-check kiểm tra bảo mật thư viện trong mã nguồn

Sugi_b3o

Moderator
Thành viên BQT
30/08/2016
319
448 bài viết
Dependency-check kiểm tra bảo mật thư viện trong mã nguồn
Để đảm bảo những sản phẩm của bạn phát hành đủ an toàn, bạn phải có một giải pháp để đánh giá các thư viện mà mình đã sử dụng. OWASP Dependency-Check là một công cụ mã nguồn mở miễn phí mà bạn có thể tích hợp vào giải pháp của mình một cách tương đối dễ dàng và nhanh chóng.
upload_2021-11-15_22-52-52.png
Dependency-Check là một công cụ mã nguồn mở dùng để phân tích thành phần trong thư viện bạn sử dụng, kiểm tra xem có lỗ hổng bảo mật nào đã biết liên quan đến mã đó không. Dependency-Check được tạo ra bởi Dự án Bảo mật Ứng dụng Web Mở (OWASP), một tổ chức phi lợi nhuận đáng tin cậy nhằm cải thiện tính bảo mật của các sản phẩm và hệ thống.
Hiện tại, Dependency-Check cung cấp hỗ trợ đầy đủ cho các sản phẩm dựa trên Java và .NET, hỗ trợ thử nghiệm cho các sản phẩm Ruby, Node.js và Python cũng như hỗ trợ hạn chế cho các sản phẩm C và C ++. Dependency-Check có thể được chạy thông qua CLI, như Ant hoặc thông qua các plugin với Maven, Jenkins hoặc Gradle để chạy CI/CD.
Dependency-Check được chạy từ môi trường của bạn và yêu cầu quyền truy cập kết nối Internet để cập nhật định kỳ thông tin cơ sở dữ liệu. Nó không bao gồm tự động hóa tích hợp và phải được chạy thủ công hoặc với một tiện ích tự động hóa.
OWASP Dependency-Check có thể được sử dụng phối hợp với các công cụ OWASP khác hoặc các công cụ của bên thứ ba như một phần của giải pháp toàn diện hơn và đã được tích hợp vào một số tùy chọn có sẵn. Hiện sử dụng được trên Linux, Windows, Macos.
jenkins-owasp-sonarkube-kubernetes.png
Khi chạy, Dependency-Check sẽ tự động cập nhật thông qua nguồn cấp dữ liệu NVD do Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST) lưu trữ để đảm bảo rằng các báo cáo có đầy đủ thông tin mới nhất. Cả danh sách CVE và NVD đều được cung cấp miễn phí cho người sử dụng.
Kết quả của sự so sánh này được liệt kê trong một báo cáo HTML hoặc XML và bạn chỉ phải đọc file report kết quả. Ngay cả khi CPE được tìm thấy ở một số vị trí, CPE sẽ chỉ được liệt kê một lần trong báo cáo này, vì vậy bạn phải sử dụng một phương pháp hoặc công cụ khác để xác định tất cả các vị trí mà các bản sửa lỗi phải được áp dụng.
Ok, tản mạn đủ rồi :D, bài này mình sẽ hướng dẫn cách build và sử dụng với client cài cơ bản trên Linux
Mã:
wget https://github.com/jeremylong/DependencyCheck/releases/download/v6.5.0/dependency-check-6.5.0-release.zip
apt-get install unzip
unzip dependency-check-6.5.0-release.zip
apt-get install default-jre # install java
ln -s /root/dependency-check/bin/dependency-check.sh /usr/bin/dependency-check.sh #đưa dependency-check vào thư mục /usr/bin
Nào cùng mình thử scan với một số mã nguồn mở trên github nhé
upload_2021-11-15_22-28-8.png
Mình vào explore trên Github và lấy thử 1 project đang thịnh hành trên ASP.NET và sử dụng hơn 730000 website (Nó khai vậy chứ ko phải mình khai đâu nha :D )
upload_2021-11-15_22-30-32.png
Sau đó tiến hành scan project bạn đã tải về
upload_2021-11-15_22-38-57.png
Sau khi scan ta sẽ được file .html có thể mở để xem detail về chi tiết các bug, lỗi
upload_2021-11-15_22-41-31.png
Việc phát hiện các bug, CVE đang có trên các nền tảng có sẵn là không tránh khỏi, tuy nhiên khi biết được các rủi ro đó chúng ta có thể đi trước attacker 1 bước để phòng thủ, từ đó giảm rủi ro cho các dịch vụ của chúng ta đang public trên Internet .
 
Chỉnh sửa lần cuối:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
dependency-check framework library security
Bên trên