Chapter 02. 웹 보안

Chapter 02. 웹 보안

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

1 . 정보보안의 3요소

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

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

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

2 . 해킹 과정

  • 2.1 정보 수집

    • 2.2.1 정찰 : 공격 타켓에 각종 정보 수집,
      패시브 스캐닝이라고도 함
    • 2.2.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 전송 중인 데이터

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

    • OAuth나 REST API를 이용한 웹 서비스와 같이 세션
      토큰이 전달되는 모든 구간에 암호화 적용해야 함

  • 4.2 저장된 데이터

    • md5, SHA1알고리즘 안전하지 않음, SHA-256이나 SHA-3계열 이상의 알고리즘 추천
  • 4.3 로깅과 모니터링 -> PAT 공격이나 자동화 공격 등을 탐지

OWASP TOP 10

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

-OWASP TOP10 2017 : https://www.owasp.org/images7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf