천사마음의 연구이야기

Open Web Application Security Project

OWASP(The Open Web Application Security Project)는 국제 웹 보안 표준 기구입니다. OWASP는 특정 기관이 신뢰할 수 있는 웹 애플리케이션을 개발, 획득, 운영 등을 위해 도움을 주는 비영리 공개 커뮤니티이며, 특정 기업과 연계되어 있지 않습니다.

OWASP에서는 웹 애플리케이션 보안 취약점을 연구하고, 3년 주기[각주:1]로 보안이 취약한 부분의 TOP10을 조사 및 선정하여 발표하고 있습니다. 현재(2013년 5월 7일)를 기준으로 가장 최신 버전은 2010년에 발표된 버전(OWASP 2010)이며, 현재 OWASP 2013RC 버전이 발표되었습니다.


OWASP 2013RC

OWASP TOP10 2013은 현재 Release Candidate 버전입니다. 조만간 정식 버전이 출시될 것으로 예상되며, 정식 버전이 출시되면 관련 내용을 갱신하겠습니다.

OWASP 2010과 OWASP 2013RC 버전의 차이점을 살펴보면, 2가지 항목(안전하지 않은 암호 저장[A7], URL 접근 제한 실패[A8])이 삭제되었습니다. 그리고 불충분한 전송 계층 보호[A9] 항목이 OWASP 2013의 Sensitive Data Exposure[A6]로 통합되었습니다. 끝으로 알려진 취약점이 있는 구성요소 사용[A9] 항목이 추가된 것을 확인할 수 있습니다.

관련 문서는 다음 링크에서 다운로드 받으실 수 있으며, 이 문서에 대한 저작권은 문서에 표기되어 있습니다.

OWASP Top10 2013RC Korean.pdf


No.

한글 

영어

A1

인젝션

Injection

A2

취약한 인증과 세션 관리

Broken Authentication and Session Management

A3

크로스 사이트 스크립팅

Cross Site Scripting (XSS)

A4

안전하지 않은 직접 객체 참조

Insecure Direct Object Reference

A5

보안상 잘못된 구성

Security Misconfiguration

A6

민감한(중요한) 데이터 노출

Sensitive Data Exposure

A7

기능 수준 접근 통제 누락

Missing Function Level Access Control

A8

크로스 사이트 요청 변조

Cross Site Request Forgery(CSRF)

A9

알려진 취약점이 있는 구성요소 사용

Using Components with Known Vulnerabilities

A10

검증되지 않은 리다이렉트와 포워드

Unvalidated Redirects and Forwards


항목별 자세한 사항은 위에 첨부된 관련 문서를 참조하길 바라며, 여기에서는 항목별로 간단히 요약한 내용을 소개하겠습니다. 관련 내용에 대한 한글화 작업은 최종 버전이 출시된 이후에 갱신하겠습니다.

A1. 인젝션(Injection)

Injection flaws, such as SQL, OS, and LDAP injection occur when untrusted data is sent to an interpreter as part of a command or query. The attacker’s hostile data can trick the interpreter into executing unintended commands or accessing unauthorized data.


A2. 취약한 인증과 세션 관리(Broken Authentication and Session Management)

Application functions related to authentication and session management are often not implemented correctly, allowing attackers to compromise passwords, keys, session tokens, or exploit other implementation flaws to assume other users’ identities.


A3. 크로스 사이트 스크립팅(Cross Site Scripting(XSS))

XSS flaws occur whenever an application takes untrusted data and sends it to a web browser without proper validation or escaping. XSS allows attackers to execute scripts in the victim’s browser which can hijack user sessions, deface web sites, or redirect the user to malicious sites.


A4. 안전하지 않은 직접 객체 참조(Insecure Direct Object Reference)

A direct object reference occurs when a developer exposes a reference to an internal implementation object, such as a file, directory, or database key. Without an access control check or other protection, attackers can manipulate these references to access unauthorized data.


A5. 보안상 잘못된 구성(Security Misconfiguration)

Good security requires having a secure configuration defined and deployed for the application, frameworks, application server, web server, database server, and platform. All these settings should be defined, implemented, and maintained as many are not shipped with secure defaults. This includes keeping all software up to date.


A6. 민감한(중요한) 데이터 노출(Sensitive Data Exposure)

Many web applications do not properly protect sensitive data, such as credit cards, tax ids, and authentication credentials. Attackers may steal or modify such weakly protected data to conduct identity theft, credit card fraud, or other crimes. Sensitive data deserves extra protection such as encryption at rest or in transit, as well as special precautions when exchanged with the browser.


A7. 기능 수준 접근 통제 누락(Missing Function Level Access Control)

Virtually all web applications verify function level access rights before making that functionality visible in the UI. However, applications need to perform the same access control checks on the server when each function is accessed. If requests are not verified, attackers will be able to forge requests in order to access unauthorized functionality.


A8. 크로스 사이트 요청 변조(Cross Site Request Forgery(CSRF))

A CSRF attack forces a logged-on victim’s browser to send a forged HTTP request, including the victim’s session cookie and any other automatically included authentication information, to a vulnerable web application. This allows the attacker to force the victim’s browser to generate requests the vulnerable application thinks are legitimate requests from the victim.


A9. 알려진 취약점이 있는 구성요소 사용(Using Components with Known Vulnerabilities)

Vulnerable components, such as libraries, frameworks, and other software modules almost always run with full privilege. So, if exploited, they can cause serious data loss or server takeover. Applications using these vulnerable components may undermine their defenses and enable a range of possible attacks and impacts.


A10. 검증되지 않은 리다이렉트와 포워드(Unvalidated Redirects and Forwards)

Web applications frequently redirect and forward users to other pages and websites, and use untrusted data to determine the destination pages. Without proper validation, attackers can redirect victims to phishing or malware sites, or use forwards to access unauthorized pages.


OWASP 2010

OWASP TOP10 2010은 다음과 같습니다. 관련 문서는 다음 링크에서 다운로드 받으실 수 있으며, 이 문서에 대한 저작권은 문서에 표기되어 있습니다.

OWASP Top10 2010 Korean.pdf


No.

한글 

영어

A1

인젝션

Injection

A2

크로스 사이트 스크립팅

Cross Site Scripting(XSS)

A3

취약한 인증과 세션 관리

Broken Authentication and Session Management

A4

안전하지 않은 직접 객체 참조

Insecure Direct Object Reference

A5

크로스 사이트 요청 변조

Cross Site Request Forgery(CSRF)

A6

보안상 잘못된 구성

Security Misconfiguration

A7

안전하지 않은 암호 저장

Insecure Cryptographic Storage

A8

URL 접근 제한 실패

Failure to Restrict URL Access

A9

불충분한 전송 계층 보호

Insufficient Transport Layer Protection

A10

검증되지 않은 리다이렉트와 포워드

Unvalidated Redirects and Forwards


OWASP 2007

OWASP TOP10 2007은 다음과 같습니다. 관련 문서는 다음 링크에서 다운로드 받으실 수 있으며, 이 문서에 대한 저작권은 문서에 표기되어 있습니다. 

OWASP Top10 2007 Korean.pdf


No.

한글 

영어

A1

크로스 사이트 스크립팅

Cross Site Scripting(XSS)

A2

인젝션 취약점

Injection Flaws

A3

악성 파일 실행

Malicious File Excution

A4

불안전한 직접 객체 참조

Insecure Direct Object Reference

A5

크로스 사이트 요청 변조

Cross Site Request Forgery(CSRF)

A6

정보 유출 및 부적절한 오류 처리

Information Leakage and Improper Error Handling

A7

훼손된 인증 및 세션 관리

Broken Authentication and Session Management

A8

불안전한 암호화 저장

Insecure Cryptographic Storage

A9

불안전한 통신

Insecure Communications

A10

URL 접근 제한 실패

Failure to Restrict URL Access


OWASP 2004

OWASP TOP10 2004는 다음과 같습니다. 관련 문서는 다음 링크에서 다운로드 받으실 수 있으며, 이 문서에 대한 저작권은 문서에 표기되어 있습니다.

OWASP Top10 2004 Korean.pdf


No.

한글 

영어

A1

입력값 검증 부재

Unvalidated Input

A2

취약한 접근 통제

Broken Access Control

A3

취약한 인증 및 세션 관리

Broken Authentication and Session Management

A4

크로스 사이트 스크립팅(XSS) 취약점

Cross Site Scripting(XSS) Flaws

A5

버퍼 오버플로우

Buffer Overflows

A6

삽입 취약점

Injection Flaws

A7

부적절한 에러 처리

Improper Error Handling

A8

취약한 정보 저장 방식

Insecure Storage

A9

서비스 방해 공격

Denial of Service

A10

부적절한 환경 설정

Insecure Configuration Management


OWASP 2003

OWASP TOP10 2003은 다음과 같습니다.

No.

한글 

영어

A1

인자 검증 부재

Unvalidated Parameters

A2

취약한 접근 통제

Broken Access Control

A3

취약한 계정 및 세션 관리

Broken Account and Session Management

A4

크로스 사이트 스크립팅(XSS) 취약점

Cross Site Scripting(XSS) Flaws

A5

버퍼 오버플로우

Buffer Overflows

A6

명령 삽입 취약점

Command Injection Flaws

A7

에러 처리 문제

Error Handling Problems

A8

부적절한 암호화 사용

Insecure Use of Cryptography

A9

원격 관리 취약점

Remote Administration Flaws

A10

부적절한 WAS 환경 설정

Web and Application Server misconfiguration


마치면서

지금까지 OWASP TOP10에 대해 알아봤습니다. OWASP TOP10은 아주 많은 취약점 요소 중에서 중요한 10개의 내용만 소개하고 있습니다. 이외에도 검토할 수 있는 기술이나 역량을 보유하고 있으면, 최대한 보호하는 것이 올바른 행동일 것입니다. 완벽하게 모든 취약점을 제거하기는 어렵습니다만,  보안 의식 수준을 높이는 것은 꼭 필요한 일입니다.

  1. OWASP는 2003년에 처음으로 웹 애플리케이션 보안 취약점 TOP 10을 선정하여 발표한 이후, 2004년, 2007년, 그리고 2010년에 발표했습니다. [본문으로]
2013/05/31 13:40

Comment

1 2 3 4 5 ... 100