agencies

2013년 OWASP Top 10 본문

Ⅲ. 정보보안

2013년 OWASP Top 10

agencies 2024. 2. 12. 08:59

OWASP(The Open Web Application Security Project)라는 국제 웹 보안표준기구에서는 매년 웹에 관한 정보 노출 악성 파일 및 보안 취약점 등을 연구하며 10대 웹 애플리케이션 취약점(OWASP Top 10)을 발표한다.

 

A1 Injection

해커는 데이터베이스 운영체제 LDAP에 명령이나 질의문을 전송할 때 신뢰할 수 없는 데이터를 사용함으로써 인젝션 공격을 수행한다. 인젝션 공격 데이터는 예상하지 못하는 명령을 실행하거나 적절한 권한 없이 데이터에 접근하도록 시스템을 속일 수 있다.

 

A2 Broken Authentication and Session Management

인증에 세션 관리 기능은 개발자에 의해 만들어지는 애플리케이션 기능이다. 숙련된 개발자라면 안전하게 만들 수 있지만 초급 개발자는 보안에 취약한 상태로 프로그램을 개발할 수 있다. 공격자는 이러한 취약점을 이용해서 비밀번호 키 또는 세션 토큰을 해킹하거나 다른 사용자 ID로 가장할 수 있다.

 

A3 Cross-Site Scripting(XSS)

XSS 취약점은 애플리케이션이 신뢰할 수 없는 데이터를 가져와 적절한 검증이나 제한 없이 웹 브라우저로 보낼 때 발생한다. XSS는 공격자가 피해자의 브라우저에 스크립트를 실행하여 사용자 세션 탈취 웹 사이트 변조 악의적인 사이트로 이동할 수 있다.

 

A4 Insecure Direct Object References

잘 만들어진 시스템에서 사용자는 URL과 같은 수단을 통해 파일 디렉터리 데이터베이스 키와 같은 내부 구현 객체에 직접 접근할 수 있다. 사용자 인증이나 다른 보조적인 수단을 통해서만 접근할 수 있다 내부 객체가 사용자에게 직접 접근이 가능하도록 노출된다면 해커는 참조 방식을 조작해서 허가받지 않은 데이터에 접근할 수 있다.

 

A5 Security Misconfiguration

애플리케이션 프레임워크 애플리케이션 서버 웹 서버 데이터베이스 서버 및 플랫폼에는 다양한 보안 기술이 적용돼 있다. 관리자는 보안 기술 및 보안 수준을 환경 파일을 통해서 변경할 수 있다. 시스템에 설치되었을때 설정되는 환경 파일과 초기 보안 기술은 시간이 지남에 따라 새로운 공격으로 무력화된다. 시스템을 안전하게 유지하기 위해서 관리자는 끊임없이 환경 파일을 점검하고 소프트웨어를 최신 상태로 유지해야 한다.

 

A6 Sensitive Data Exposure

많은 웹 애플리케이션들이 신용카드 개인 식별 정보 및 인증 정보와 같은 중요한 데이터를 제대로 보호하지 않는다.

공격자는 신용카드 사기 신분 도용 또는 다른 범죄를 수행하는 등 약하게 보호된 데이터를 훔치거나 변경할 수 있다. 중요 데이터를 저장 또는 전송 중이거나 브라우저와 교환하는 경우 특별히 주의하여야 하며 암호화와 같은 보호조치를 취해야 한다.

 

A7 Missing Function Level Access Control

일반적인 웹 애플리케이션 기능에 대한 권한 체크는 보안을 위해 서버 프로그램에서 수행된다. 간혹 개발자의 실수로 말미암아 스크립트 수준에서 권한 체크를 수행하는 경우가 발생한다. 웹 크롤러는 HTML을 분석해서 웹 서버를 호출하는 링크를 찾아내는 프로그램이다. 스크립트가 조건에 따라서 링크를 실행하는 함수를 차단한다고 해도 웹 크롤러가 찾은 링크는 권한 없이 실행될 수 있다.

 

A8 Cross-Site-Request-Forgery(CSRF)
CSRF 공격은 로그온된 피해자의 취약한 웹 애플리케이션에 피해자의 세션 쿠키와 기타 인증 정보를 자동으로 포함하여 위조된 HTTP 요청을 강제로 보내도록 하는 것이다. 이를 통해 취약한 애플리케이션이 피해자로부터 정당한 요청이라고 오해할 수 있는 요청들을 공격자가 강제로 만들 수 있다.

 

A9 Using Components with Known Vulnerabilites

컴포넌트 라이브러리 프레임워크 및 다른 소프트웨어 모듈은 대부분 루트 권한으로 실행된다. 이러한 취약한 컴포넌트를 악용하여 공격하는 경우 심각한 데이터 손실이 발생하거나 서버가 장악될 수 있다. 알려진 취약점이 있는 컴포넌트를 사용하는 애플리케이션은 방어 체계를 손상하거나 공격 기능을 활성화 하는 등의 영향을 미친다.

 

A10 Unvalidated Redirects and Forwards

웹 애플리케이션은 사용자들을 다른 페이지로 강제로 이동시킬 수 있다. 언제 어떻게 이동해야 할지에 대한 결정을 신뢰할 수 없는 데이터를 통해서 한다면 보안이 취약하다고 볼 수 있다. 대상 페이지를 결정할 때 반드시 적절한 검증 절차를 거쳐야 한다.

'Ⅲ. 정보보안' 카테고리의 다른 글

PHP와 mysql 연동하기  (1) 2024.02.12
파이썬 프로그래밍 열린 포트 확인  (0) 2024.02.12
해킹 기초 지식  (0) 2024.02.11
HTML 속성  (0) 2024.02.11
HTML 이미지 맵으로 포스트 만들기  (0) 2024.02.11