올해 버전, 취약한 공격 방어와 취약한 API 추가
[보안뉴스 원병철 기자] 4년마다 한 번씩 취약점 Top 10을 발표하는 OWASP(The Open Web Application Security Project)가 지난 4월 초 ‘OWASP Top 10 – 2017’을 발표했다. 비영리재단인 OWASP는 어떠한 기업과도 제휴나 협약을 맺지 않고, 상업적인 목적이나 이윤 압박이 없기 때문에 애플리케이션 보안에 대해 공정하고 실질적이며, 효율적인 정보를 제공하고 있다.
OWASP Top10은 8개의 컨설팅 회사와 3개의 제품 공급업체를 포함해 애플리케이션 보안전문 업체의 11개 대형 데이터셋을 기반으로 작성된다. 이번 2017 버전은 지난 2013년 이후 처음으로 두 개의 항목이 신설됐다. 첫 번째는 취약한 공격 방어항목이며, 또 하나는 취약한 API 항목이다.
△ 인젝션
SQL, OS, XXE, LDAP 인젝션 취약점은 신뢰할 수 없는 데이터가 명령어나 쿼리문의 일부분이 인터프리터로 보내질 때 발생한다. 공격자의 악의적인 데이터는 예상하지 못하는 명령을 실행하거나, 적절한 권한 없이 데이터에 접근하도록 인터프리터를 속일 수 있다.
▲ 자료제공 : 블랙팔콘 이지혜
△ 인증 및 세션관리 취약점
인증 및 세션 관리와 관련된 애플리케이션 기능이 종종 잘못 구현되어 공격자에게 취약한 암호, 키 또는 세션 토큰을 제공해 다른 사용자의 권한을 (일시적으로 또는 영구적으로) 얻도록 익스플로잇한다.
▲ 자료제공 : 블랙팔콘 이지혜
△ 크로스 사이트스크립팅(XSS)
XSS 취약점은 애플리케이션이 적절한 유효성 검사 또는 이스케이프처리 없이, 새 웹 페이지에 신뢰할 수 없는 데이터를 포함하거나, JavaScript를 생성할 수 있는 브라우저 API를 사용해 사용자가 제공한 데이터로 기존 웹 페이지를 업데이트한다. XSS를 사용하면 공격자가 희생자의 브라우저에서 사용자 세션을 도용하거나, 웹사이트를 변조시키거나, 악성사이트로 리다이렉션 시킬 수 있다.
▲ 자료제공 : 블랙팔콘 이지혜
△ 취약한 접근제어
취약한 접근제어는 인증된 사용자가 수행할 수 있는 작업에 대한 제한이 제대로 적용되지 않는 것을 의미한다. 공격자는 이러한 결함을 악용해 다른 사용자의 계정에 액세스하거나, 중요한 파일을 보고 다른 사용자의 데이터를 수정하거나, 접근 권한을 변경하는 등 권한 없는 기능 또는 데이터에 접근할 수 있다.
▲ 자료제공 : 블랙팔콘 이지혜
△ 보안 설정 오류
바람직한 보안은 애플리케이션, 프레임워크, WAS, 웹 서버, DB 서버 및 플랫폼에 대해 보안 설정이 정의되고 적용되어 있다. 보안 기본 설정은 대부분 안전하지 않기 때문에 정의와 구현, 그리고 유지라는 3박자가 잘 이루어져야 한다. 또한, 소프트웨어는 최신 버전으로 관리해야 한다.
▲ 자료제공 : 블랙팔콘 이지혜
△ 민감 데이터 노출
대부분의 웹 애플리케이션과 API는 금융정보, 건강정보, 개인식별정보와 같은 민감정보를 제대로 보호하지 못한다. 공격자는 신용카드사기, 신분도용 또는 다른 범죄를 수행하는 취약한 데이터를 훔치거나 변경할 수 있다. 브라우저에서 중요 데이터를 저장 또는 전송할 때 특별히 주의해야 하며, 암호화와 같은 보호조치를 취해야 한다.
▲ 자료제공 : 블랙팔콘 이지혜
△ 공격 방어 취약점
대부분의 애플리케이션과 API에는 수동 공격과 자동 공격을 모두 탐지하거나 방지·대응할 수 있는 기본 기능이 없다. 공격 보호는 기본 입력 유효성 검사를 훨씬 뛰어넘으며, 자동 탐지, 로깅, 응답, 익스플로잇 시도 차단을 포함한다. 애플리케이션 소유자는 공격으로부터 보호하기 위해 패치를 신속하게 배포할 수 있어야 한다.
▲ 자료제공 : 블랙팔콘 이지혜
△ 크로스 사이트 요청 변조(CSRF)
CSRF 공격은 로그인된 피해자의 취약한 웹 애플리케이션에 피해자의 세션 쿠키와 기타 인증정보를 포함해 위조된 HTTP 요청을 강제로 보내도록 한다. 예를 들어, 공격자가 취약한 어플리케이션이 피해자의 정당한 요청이라고 오해할 수 있는 요청들을 강제로 만들 수 있다.
▲ 자료제공 : 블랙팔콘 이지혜
△ 알려진 취약점이 있는 컴포넌트 사용
컴포넌트, 라이브러리, 프레임워크 및 다른 소프트웨어 모듈은 애플리케이션과 같은 권한으로 실행된다. 이런 취약한 컴포넌트를 악용해 공격하는 경우, 심각한 데이터 손실이 발생하거나 서버가 장악된다. 알려진 취약점이 있는 구성 요소를 사용하는 애플리케이션과 API는 어플리케이션을 약화시키고 다양한 공격과 영향을 줄 수 있다.
▲ 자료제공 : 블랙팔콘 이지혜
△ 취약한 API
최신 어플리케이션에는 일종의 API (SOAP / XML, REST / JSON, RPC, GWT 등)에 연결되는 브라우저 및 모바일 애플리케이션의 자바스크립트(JavaScript)와 같은 여러 클라이언트 애플리케이션 및 API가 포함되는 경우가 많다. 이러한 API는 대부분 보호되지 않으며 수많은 취약점을 포함한다.
▲ 자료제공 : 블랙팔콘 이지혜
OWASP 측은 이번 Top 10외에도 ‘OWASP Developer’s Guide’와 ‘OWASP Cheat Sheet Series’에서 수백 개의 웹 어플리케이션 위협요소를 다룬다며, 웹 애플리케이션 개발자라면 반드시 참고할 것을 권고했다. 또한, 보안 취약점은 아주 복합적이며 엄청난 코드 더미 사이에 숨어 있기 때문에 좋은 도구를 활용할 수 있는 보안전문가를 활용하라고 조언했다.
무엇보다 보안이 개발조직 전반에 걸쳐 필수적인 요소라고 인식하는 문화를 만드는 것이 중요하다고 OWASP는 강조했다.
한편, OWASP 한글 번역본은 블랙팔콘(Black Falcon) 이지혜 씨가 제공했으며. 전문은 블랙팔콘 블로그에서 받을 수 있다.
[원병철 기자(boanone@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>