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

Thảo luận trong 'Web Security' bắt đầu bởi Sugi_b3o, 15/11/21, 10:11 PM.

  1. Sugi_b3o

    Sugi_b3o Moderator Thành viên BQT

    Tham gia: 30/08/16, 10:08 AM
    Bài viết: 404
    Đã được thích: 301
    Điểm thành tích:
    63
    Để đả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.
    [​IMG]
    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 .
     

    Các file đính kèm:

    Chỉnh sửa cuối: 18/11/21, 08:11 AM
    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
  1. WhiteHat Team
  2. ToanDV
  3. Sugi_b3o
  4. Lợn Con Bé Bỏng
  5. Bich Lien Pham