개발/OWASP 2017

11

Part 10 : OWASP 2017 TOP 10 RC2 A10 - 불충분한 로깅 및 모니터링

A10 : 불충분한 로깅 및 모니터링 * 정의 말그대로 충분하지 못한 로깅과 모니터링을 했을 경우 발생하는 문제점을 말하는 것이다. 로깅과 모니터링이 충분하지 않으면 발생한 에러에 대해 제때 대응을 하지 못할 뿐더러, 공격자에 의해서 해당 부분이 시스템 공격으로 이어지거나 데이터 변조와 추출, 심지어는 삭제 및 파괴가 될 수 있는 취약점을 일컫는다. * 대응방법 : 대응방법이라고 하기에는 그냥 모니터링을 상시 시행하고, 로그 파일이 많이 차지않다고 로그를 쌓지 않는 행위는 금지해야한다. 실제로 회사에서 근무를 하다보니, 로그를 쌓지않았을때 발생되는 문제점은 상당했다. 주로 고객사에서 모니터링에 대한 피드백을 요청하는 경우들이 많았고, 로그가 없는 경우에는 접속시간 조차 확인할 수 없는 등의 말도 안되는 ..

개발/OWASP 2017 2020.12.17 임통끼

Part 9 : OWASP 2017 TOP 10 RC2 A9 - 알려진 취약점이 있는 컴포넌트 사용[Using Components with Known Vulnerabilities]

A9 : 알려진 취약점이 있는 컴포넌트 사용[Using Components with Known Vulnerabilities] * 정의 간단히 말하자면 취약점이 발견된 이전 버전을 계속 사용하고 있는 것으로 "최신 버전 업데이트 미흡" 이라고 말할 수 있습니다. 일부 프로그램의 경우 자체적으로 업데이트를 권고하고 또한 업데이트를 하는 것이 쉽지만, 현재 운영중인 대형 서버와 같이 실시간으로 업데이트를 하기 어려운 경우에 자주 발생하기 쉬운 취약점입니다. - 영향 취약점이 있는 컴포넌트를 사용하면 인젝션, 접근통제 우회, XSS 등을 포함한 모든 종류의 취약점들이 가능해집니다. 공격자가 시스템을 완전하게 장악하고 정보를 탈취할 수 있을 정도까지도 가능합니다. * 대응방법 1. 본인이 만들지 않는 컴포넌트를 ..

개발/OWASP 2017 2020.12.17 임통끼

Part 8 : OWASP 2017 TOP 10 RC2 A8 - 크로스사이트 요청변조[CSRF]

A8 : 크로스사이트 요청변조[CSRF] * 정의 CSRF 공격은 로그인 된 공격 대상자의 브라우저가 공격 대상자의 세션 쿠키와 자동으로 포함된 인증 정보를 포함하여 위조된 HTTP 요청을 취약한 웹 애플리케이션에 보내도록 하는 것이다. 예를 들어, 공격자는 공격 대상자의 브라우저가 취약한 애플리케이션이 합법적이라고 생각하는 요청을 생성하도록 한다. Ex) html로 form을 작성하고 직접 실행하게 만들거나 onload속성을 통해 자동실행되게 하여 접속자로 하여금 원격으로 페이지 요청을 시키는 방법 그밖에도 방법도 있음. 즉, 페이지를 요청한다는 개념만 빼면 XSS와 기본적으로 유사한 공격이라고 할 수 있다. 즉, httpOnly옵션으로 인해 쿠키복사가 불가능 하다면 피해대상에게 원격으로 요청을 시켜 ..

개발/OWASP 2017 2020.12.17 임통끼

Part 7 : OWASP 2017 TOP 10 RC2 A7 - 크로스사이트 스크립팅[Cross-Site Scripting, XSS]

A7 : 크로스사이트 스크립팅[Cross-Site Scripting, XSS] * 정의 웹 페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되게 유도할 수 있습니다. 예를 들어, 검증되지 않은 외부 입력이 동적 웹 페이지 생성에 사용될 경우, 전송된 동적 웹 페이지를 열람하는 접속 자의 권한으로 부적절한 스크립트가 수행되어 정보유출 등의 공격을 유발할 수 있습니다. * 대응방법 1. 외부입력 값에 스크립트가 삽입되지 못하도록 문자 변환 함수 또는 메서드를 사용하여 & “ 등을 & " 로 치환해야 합니다. HTML태그를 허용하는 게시판에서는 허용되는 HTML 태그들을 화이트리스트로 만들어 해당 태그만 지원하도록 해야합니다. - 코드 예제 1 alert(document.cookie); ..

개발/OWASP 2017 2020.12.17 임통끼

Part 6 : OWASP 2017 TOP 10 RC2 A6 - 잘못된 보안 설정[Security Misconfiguration]

A6 : 잘못된 보안 설정[Security Misconfiguration] * 정의 바람직한 보안은 어플리케이션, 프레임워크, WAS, 웹 서버, DB서버 플랫폼에 대해 정의되고 적용되어 있습니다. 보안 기본 설정은 대부분 안전하지 않기 때문에 정의, 구현 및 유지 되어야 합니다. 또한 소프트웨어는 최신 버전으로 관리해야 합니다. -> 접근권한을 지정하지 않아 인증되지 않은 사용자도 게시물을 수정하거나 삭제할 수가 있는 상태입니다. * 대응방법 1. 불필요한 파일을 관리해야 합니다. 2. 디렉토리 권한을 설정해야 합니다. 3. 최소한의 사용자 계정을 사용해야 합니다. 4. 운영체제, 웹/앱 서버, DBMS, 코드 라이브러리들의 소프트웨어 보안을 업데이트해야 합니다. 그렇지 않다면, 보안 위협이 생기지 않..

개발/OWASP 2017 2019.08.05 2 임통끼

Part 5 : OWASP 2017 TOP 10 RC2 A5 - 취약한 접근 제어[Broken Access Control]

A5 : 취약한 접근 제어[Broken Access Control] * 정의 취약한 접근 제어는 인증된 사용자가 수행할 수 있는 것에 대한 제한이 제대로 적용되지 않는 것을 의미합니다. 공격자는 이러한 취약점을 악용하여 사용자의 계정 액세스, 중요한 파일 보기, 사용자의 데이터 수정, 액세스 권한 변경 등과 같은 권한 없는 기능, 또는 데이터에 액세스할 수 있습니다. - 관리자 페이지 노출 - SSI 삽입 - 부적절한 인가 * 대응방법 1. 관리자 페이지에 임의의 사용자가 접근할 수 없도록 관리자 페이지에 접근할 수 있는 권한을 가진 단말기만 접근 가능하도록 접근권한을 설정합니다. 2. 웹 관리자 메뉴의 접근을 특정 네트워크 대역으로 제한하여, IP 주소까지도 인증 요소로 체크하도록 웹 관리자 사용자 인..

개발/OWASP 2017 2018.01.22 6 임통끼

Part 4 : OWASP 2017 TOP 10 RC2 A4 - XML 외부 개체[External Entity, XXE]

A4 : XML 외부 개체[External Entity, XXE] * 정의 XXE란 XML external entities(XML 외부개체의 준말) : XML문서에서 동적으로 외부 url의 리소스를 포함시킬 수 있는 외부 엔티티(Entity, 이하 엔티티)를 사용할 때 발생합니다. 외부 엔티티는 파일 URL 처리기, 패치되지 않은 Windows 서버의 내부 SMB파일 공유, 내부 포트 검색, 원격 코드 실행 및 Billion Laughs 공격과 같은 서비스 거부 공격과 내부 파일 공개에 악용될 수 있습니다. * 안드로이드 스튜디오, 인텔리제이(IntelliJ),이클립스, APK툴이며, 대부분의 안드로이드 통합 개발 환경(IDE)에서도 취약점이 발견됩니다. 이 취약점을 통틀어 파스드로이드(ParseDrio..

개발/OWASP 2017 2018.01.22 임통끼

Part 3 : OWASP 2017 TOP 10 RC2 A3 - 민감한 데이터 노출[Sensitive Data Exposure]

A3 : 민감한 데이터 노출[Sensitive Data Exposure] * 정의 : 대부분의 웹 어플리케이션과 API는 금융정보, 건강정보, 개인식별정보와 같은 민감 정보를 제대로 보호하지 않습니다. 공격자는 신용카드 사기, 신분 도용 또는 다른 범죄를 수행하는 취약한 데이터를 훔치거나 변경할 수 있습니다. 브라우저에서 중요 데이터를 저장 또는 전송할 때, 특별히 주의하여야 하며, 암호화와 같은 보호조치를 취해야 합니다. 프로그램이 보안과 관련된 민감한 데이터를 평문으로 송·수신할 경우, 통신채널 스니핑을 통해 인가 되지 않은 사용자에게 민감한 데이터가 노출될 수 있습니다. * 대응방법 1. 인증 정보와 같은 민감한 정보 전송시 안전하게 암호화해서 전송해야 한다. : 분석단계에서 정의된 중요정보를 네트..

개발/OWASP 2017 2018.01.22 임통끼

Part 2 : OWASP 2017 TOP 10 RC2 A2 - 인증 취약점[Broken Authentication]

A2 : 인증 취약점[Broken Authentication] * 정의 인증 및 세션 관리와 관련된 어플리케이션 기능이 종종 잘못 구현되어 공격자에게 취약한 암호, 키 또는 세션 토큰을 제공하여, 다른 사용자의 권한을 얻도록 착취하는 것을 말합니다. - 사이버 공격 형태 : 공격자는 암호나 키, 세션 쿠키, 기타 인증 관련 토큰을 공격하여 인증을 우회하고 다른 사용자의 ID를 가장 .Cookie Poisoning ․Session Replay - 취약점 점검 방법 ․ Javascript : document.cookie로 점검 ․ DB서버에 저장된 사용자 정보의 raw데이터 열람 가능 ․계정의 패스워드를 유추할 수 있는지 점검 ․쿠키 인증 시 쿠키 값의 변조로 인증을 통과할 수 있는지 점검 * 대응방법 1...

개발/OWASP 2017 2018.01.22 임통끼

Part 1 : OWASP 2017 TOP 10 RC2 A1 - 인젝션[Injection]

A1 : 인젝션[Injection] * 정의 SQL, OS, XXE, LDAP 인젝션 취약점은 interpreter(이하 인터프리터)에게 신뢰할 수 없는 데이터가 명령어나 쿼리문의 일부분이 전달될 때 나타납니다. 인터프리터는 공격자의 악의적인 데이터로 인해 예상하지 못하는 명령을 실행하거나 알맞은 권한 없이 데이터에 접근하여 피해를 입을 수 있습니다. 이로 인해서, IP, PW, 개인 정보 등의 유출 가능성이 높아집니다. 이에 대응하기 위해서 사용자 입력 창에 일부 특수문자 입력 차단, SQL 서버 에러 메시지 표시 금지, 일반사용자 권한으로 시스템 저장 프로시저 접근 차단 하는 등의 방안이 있습니다. 1-1. SQL Injection (가장 대표적인 것) SQL Injection은 웹 어플리케이션에서 ..

개발/OWASP 2017 2018.01.18 1 임통끼

Part 0 : OWASP TOP 10 정의

Open Web Application Security Project OWASP는 Open Web Application Security Project의 약자이고, 국제 웹 보안 표준기구입니다. 직역하자면 오픈소스 웹 어플리케이션 보안 프로젝트라고 할 수 있습니다. 이 프로젝트는 주로 웹에 관한 정보노출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하는 프로젝이고, 보안의 지식을 보유 하고있고, 프로젝트에 참가하고 싶다면 누구나 참여가 가능한 프로젝트입니다. 10대 웹 어플리케이션 취약점 (OWASP TOP 10)을 3년 마다 발표하고 있습니다. 가장 최근에는 OWASP TOP 10 2017 RC2를 발표하였습니다. 아래에서 취약점의 종류에 대하여 설명해드리겠습니다. 2017년 초에 발표된 RC1과 20..

개발/OWASP 2017 2018.01.18 1 임통끼