Let's live hard

OWASP(Open Web Application Security Project)란 국제 웹 보안 표준 기구러써 주로 웹에 관한 정보노출, 악성 파일 및 스크립트. 보안 취약점 등을 연구하고 발표하는 비영리단체입니다.








A1 인젝션


SQL, OS, XXE, LDAP 인젝션 취약점은 신뢰할 수 없는 데이터가 명령어나 쿼리문의 일부분이 인터프리터로 보내질 때 발생한다. 공격자의 악의적인 데이터는 예상하지 못하는 명령을 실행하거나, 적절한 권한 없이 데이터에 접근하도록 인터프리터를 속일 수 있다.


공격 시나리오 예


시나리오 # 1 : 어플리케이션이 다음과 같은 취약한 SQL 호출을 사용한다


String query = "SELECT * FROM accounts WHERE custID='" + request.getParameter("id") + "'";


시나리오 # 2 : 마찬가지로 어플리케이션의 프레임워크에 대한 맹목적 신뢰로 인해 여전히 취약한 쿼리가 발생할 수 있다.


Query HQLQuery = session.createQuery("FROM accounts WHERE custID='" + request.getParameter("id") + "'");


두 개의 사례로 공격자는 브라우저에서 전송할 'id' 파라미터값을 수정한다. 'or '1='=1




A2 – 인증 및 세션관리 취약점


인증 및 세션 관리와 관련된 애플리케이션 기능이 종종 잘못 구현되어 공격자에게 취약한 암호, 키 또는 세션 토큰을 제공해 다른 사용자의 권한을 (일시적으로 또는 영구적으로) 얻도록 익스플로잇한다.




A3 – 크로스 사이트스크립팅 (XSS) 


XSS 취약점은 애플리케이션이 적절한 유효성 검사 또는 이스케이프처리 없이, 새 웹 페이지에 신뢰할 수 없는 데이터를 포함하거나, JavaScript를 생성할 수 있는 브라우저 API를 사용해 사용자가 제공한 데이터로 기존 웹 페이지를 업데이트한다. XSS를 사용하면 공격자가 희생자의 브라우저에서 사용자 세션을 도용하거나, 웹사이트를 변조시키거나, 악성사이트로 리다이렉션 시킬 수 있다.




A4 – 취약한 접근제어 


취약한 접근제어는 인증된 사용자가 수행할 수 있는 작업에 대한 제한이 제대로 적용되지 않는 것을 의미한다. 공격자는 이러한 결함을 악용해 다른 사용자의 계정에 액세스하거나, 중요한 파일을 보고 다른 사용자의 데이터를 수정하거나, 접근 권한을 변경하는 등 권한 없는 기능 또는 데이터에 접근할 수 있다.




A5 – 보안 설정 오류


바람직한 보안은 애플리케이션, 프레임워크, WAS, 웹 서버, DB 서버 및 플랫폼에 대해 보안 설정이 정의되고 적용되어 있다. 보안 기본 설정은 대부분 안전하지 않기 때문에 정의와 구현, 그리고 유지라는 3박자가 잘 이루어져야 한다. 또한, 소프트웨어는 최신 버전으로 관리해야 한다.



A6 – 민감 데이터 노출  


대부분의 웹 애플리케이션과 API는 금융정보, 건강정보, 개인식별정보와 같은 민감정보를 제대로 보호하지 못한다. 공격자는 신용카드사기, 신분도용 또는 다른 범죄를 수행하는 취약한 데이터를 훔치거나 변경할 수 있다. 브라우저에서 중요 데이터를 저장 또는 전송할 때 특별히 주의해야 하며, 암호화와 같은 보호조치를 취해야 한다.



A7 – 공격 방어 취약점


대부분의 애플리케이션과 API에는 수동 공격과 자동 공격을 모두 탐지하거나 방지·대응할 수 있는 기본 기능이 없다. 공격 보호는 기본 입력 유효성 검사를 훨씬 뛰어넘으며, 자동 탐지, 로깅, 응답, 익스플로잇 시도 차단을 포함한다. 애플리케이션 소유자는 공격으로부터 보호하기 위해 패치를 신속하게 배포할 수 있어야 한다.




A8 – 크로스 사이트 요청 변조(CSRF) 


CSRF 공격은 로그인된 피해자의 취약한 웹 애플리케이션에 피해자의 세션 쿠키와 기타 인증정보를 포함해 위조된 HTTP 요청을 강제로 보내도록 한다. 예를 들어, 공격자가 취약한 어플리케이션이 피해자의 정당한 요청이라고 오해할 수 있는 요청들을 강제로 만들 수 있다.




A9 – 알려진 취약점이 있는 컴포넌트 사용 


컴포넌트, 라이브러리, 프레임워크 및 다른 소프트웨어 모듈은 애플리케이션과 같은 권한으로 실행된다. 이런 취약한 컴포넌트를 악용해 공격하는 경우, 심각한 데이터 손실이 발생하거나 서버가 장악된다. 알려진 취약점이 있는 구성 요소를 사용하는 애플리케이션과 API는 어플리케이션을 약화시키고 다양한 공격과 영향을 줄 수 있다.



A10 – 취약한 API


최신 어플리케이션에는 일종의 API (SOAP / XML, REST / JSON, RPC, GWT 등)에 연결되는 브라우저 및 모바일 애플리케이션의 자바스크립트(JavaScript)와 같은 여러 클라이언트 애플리케이션 및 API가 포함되는 경우가 많다. 이러한 API는 대부분 보호되지 않으며 수많은 취약점을 포함한다.









댓글 로드 중…

블로그 정보

it를 공부하고 있습니다.

최근에 게시된 글