본문 바로가기
보안

Chapter 02. 웹 보안

qbang 2019. 2. 26.

Chapter 02. 웹 보안

보안 취약점과 정보보안의 3요소

1       정보보안의 3요소

1.1        기밀성: 특정 정보가 접근 권한이 있는 사용자에게만 열람되어야 함 <-> 개인정보 노출

1.2        무결성: 허가되지 않은 사용자가 정보를 수정할 수 없어야 함 <-> 웹사이트 변조 공격, 랜섬웨어 등

1.3        가용성: 서비스가 문제없이 운용되어 허가된 사용자는 항상 정보에 접근할 수 있어야 함 <-> DOS

2       해킹 과정

2.1        정보수집

2.1.1   정찰: 공격 대상에 대한 각종 정보 수집, 패시브 스캐닝이라고도 함

2.1.2   스캐닝 및 취약점 분석: 서버의 운영체제, 소프트웨어 버전, nmap과 같은 스캐닝 프로그램을 이용하여 네트워크 포트 점검, 액티브 스캐닝이라고도 함

2.2        공격(익스플로잇)

2.3        포스트 익스플로잇(익스 성공 후 공격 시도)

2.3.1   권한 상승(관리자 권한 획득)

2.3.2   퍼시스턴스: 사용자를 추가하거나 백도어를 설치하여 언제든지 공격자가 언할 때 호스트에 접속할 수 있도록 만들어놓는 것

2.3.3   흔적지우기: 포렌식(역추적)해서 자기 못찾도록 흔적 지움

 


 

웹 보안을 위한 공통 고려사항

1       인증

1.1        웹 어플리케이션에서의 인증 과정은 주로 로그인 기능을 통해 구현

1.2        브루트 포스 공격 같은 자동화 공격을 차단하고자 하는 경우에는 캡차 인증 추가

2       인가 및 접근 통제

2.1        인증: 신원을 확인

2.2        인가: 신원이 확인된 사용자의 권한을 확인

2.3        접근 통제: 인증과 인가 과정을 거친 후 리소스에 대한 접근을 허용하거나 차단하는 것

3       입력 값 검증

3.1        블랙리스트 검증: 공격자가 입력한 문자열 차단, 인코딩 등의 방법으로 우회 가능

3.2        화이트리스트 검증: 입력값이 웹 애플리케이션이 필요로 하는 데이터의 형식과 일치할 때만 허용하고 그 외의 모든 입력값을 차단하는 방법

4       암호화

4.1        전송 중인 데이터

- 로그인 과정은 반드시 https 프로토콜 사용 -> 네트워크 스니핑에 데이터 노출 방어

- OAuthREST API를 이용한 웹 서비스와 같이 세션 토큰을 이용하여 인증을 하는 경우에는, 세션 토큰이 전달되는 모든 구간에 암호화 적용해야 함

4.2        저장된 데이터

- md5, SHA1 알고리즘 안전하지 않음, SHA-256이나 SHA-3 계열 이상의 알고리즘 추천

4.3        로깅과 모니터링 -> APT 공격이나 자동화 공격 등을 탐지

 


OWASP TOP 10

- 웹 어플리케이션을 개발하는 모든 기업이 웹 보안을 위해 OWASP TOP10을 고려하여 개발 할 것을 권장 (3~4년 마다 갱신)

- OWASP TOP 2017: https://www.owasp.org/images/7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf

 

 

 

 

 

해당 포스팅은 '화이트해커를 위한 웹 해킹의 기술' 책 내용을 바탕으로 작성되었습니다.

'보안' 카테고리의 다른 글

Chapter 05. 정보 수집  (0) 2019.02.27
Chapter 04. 버프 수트  (0) 2019.02.26
Chapter 01. 웹과 HTTP 기초  (0) 2019.02.25
SQL Injection 이란? - (2)  (0) 2018.04.30
SQL Injection 이란? - (1)  (1) 2018.04.27

댓글