알려진 취약점이 있는 구성요소 사용(Using Components with Known Vulnerabilities), OWASP Top 10 2017 A9
오픈소스 소프트웨어가 발달하면서 웹 어플리케이션을 개발하면서 복수개의 오픈소스 소프트웨어를 사용하는 것은 매우 흔한 일이 되었습니다. 전 세계 웹 어플리케이션의 최소 80% 이상이 하나 이상의 오픈소스 소프트웨어를 사용하고 있다고 합니다. 오픈소스 소프트웨어는 무료이기 때문에 일단 도입하기는 쉽지만 오픈소스의 버전업에 따라 웹 어플리케이션을 보수하는 것은 만만치 않은 작업입니다. 특히 수정 범위가 광범위한 경우에는 버전업을 포기하고 구버전을 계속 사용하는 일이 비일비재합니다.
오픈소스 소프트웨어 뿐 아니라 어플리케이션에서 사용하는 컴포넌트나 라이브러리, 프레임워크 등은 대부분 전체 권한으로 실행됩니다. 그렇기 때문에 어플리케이션 구성요소가 취약하면 전체 권한을 가진 구성요소는 공격자가 원하는 모든 행위를 허용해주게 됩니다. 공격자는 잘 알려진 취약점을 이용하여 손쉽게 서비스를 마비시키거나 데이터를 탈취할 수 있습니다.
알려진 취약점이 있는 구성요소 공격과 대응 방안
알려진 취약점이 있는 구성요소 공격(Exploit)
공격자는 대상 사이트를 탐색해 사용하는 컴포넌트의 종류를 파악합니다. 취약한 컴포넌트를 사용하는 사이트가 발견되면 해당 컴포넌트의 버전을 알아내고 해당하는 취약점을 검색하여 이를 활용해 공격을 수행하게 됩니다.
대응 방안
사이트 관리자는 NVD(National Vulnerability Database)나 CVE와 같은 소스로부터 취약점 정보를 수집하고 웹 어플리케이션에 사용된 구성요소에 취약점이 존재하는지 끊임없이 감독해야 합니다. 특히 중요정보를 취급하는 사이트에서는 더욱 주의 깊은 관찰이 필요합니다.
오픈소스 소프트웨어를 사용할 때에는 오픈소스 소프트웨어 사용부를 컴포넌트화하여 유지보수가 쉽게 어플리케이션을 구성해야 합니다. 오픈소스 소프트웨어와 주 어플리케이션 사이 결합도가 높아지면 향후 취약점이 패치된 버전으로 업데이트할 때 영향도가 커져서 마이그레이션을 포기하는 경우도 발생할 수 있습니다.
오픈소스 소프트웨어 관리 도구를 도입하는 것도 유용한 방안 중 하나입니다. 오픈소스 소프트웨어 관리 도구는 오픈소스 소프트웨어 사용에 따른 라이선스 위배 여부를 분석해줄 뿐만 아니라 취약점 DB를 통해 알려진 취약점 존재 여부를 확인해 주기 때문에 관리자의 수고를 덜어줄 수 있습니다. 관련 도구로는 해당 분야에서 1위인 BlackDuck이나 국산 소프트웨어인 Sparrow SCA와 같은 도구가 있습니다.
참고 자료
위키백과, OWASP
WhiteSource, OWASP A9: Using Components With Known Vulnerabilities - Why You Can't Ignore It
A-9 Using Components with known Vulnerabilities – Every Developers Should aware
다른 글 더 보기
인젝션(Injection), OWASP Top 10 2017 A1
취약한 인증(Broken Authentication), OWASP Top 10 2017 A2
민감한 데이터 노출(Sensitive Data Exposure), OWASP Top 10 2017 A3
XML 외부 개체(XML External Entity, XXE) 취약점, OWASP Top 10 2017 A4
취약한 접근 제어(Broken Access Control) 취약점, OWASP Top 10 2017 A5
잘못된 보안 구성(Security Misconfiguration), OWASP Top 10 2017 A6
크로스 사이트 스크립팅(Cross-Site Scripting , XSS), OWASP Top 10 2017 A7
안전하지 않은 역직렬화(Insecure Deserialization), OWASP Top 10 2017 A8
'IT Contents > IT Topic' 카테고리의 다른 글
REBOK(Requirements Engineering Body of Knowledge), 요구공학 지식체계, 요구사항 엔지니어링 (1) | 2023.02.10 |
---|---|
SWEBOK(Software Engineering Body of Knowledge) V3.0 (0) | 2021.04.25 |
안전하지 않은 역직렬화(Insecure Deserialization), OWASP Top 10 2017 A8 (0) | 2021.03.24 |
크로스 사이트 스크립팅(Cross-Site Scripting , XSS), OWASP Top 10 2017 A7 (0) | 2021.03.23 |
잘못된 보안 구성(Security Misconfiguration), OWASP Top 10 2017 A6 (0) | 2021.03.22 |
최근댓글