화이트해커와 웹보안


보안분야의 진로

  • 기업 망 보안전문가(대기업, 정부기관, 금융기관 등)
    • 사내 정보보안이슈 모니터링
  • 제품보안담당자
    • 프로그램 보안 패치 강화
  • 보안 컨설턴트
    • 고객사 모의해킹을 통해 점검, 악성코드, 취약점분석
  • 디지털 포렌식 전문가
    • 디지털 기기에 남아있는 전자 증거물 수집
    • 해킹 사건/사이버범죄 범죄자 추정,조사
  • 보안솔루션 개발
    • 백신 시스템 등
  • 버그헌터, 프리랜서 보안 연구 - 버그헌터 : 버그 발견하고 보상


## 화이트 해커란?

  • 화이트햇 해커 vs 블랙햇 해커
    • 사전 허가 여부 로 판단
    • 기술적인 부분은 차이 x


  • 화이트햇 해커
    • 합법적인 범위
    • 모든 정보보안 전문가
    • 모의 해킹이나 소스코드 분석으로 보안취약점 발견해서 미리 차단
    • 성취감
    • 재미
    • 수입
    • 스트레스 많음
  • 블랙햇 해커
    • 불법적인 범위


화이트해커가 되려면?

  • 네트워크 / 시스템 / 웹 분야 중 한개이상 마스터
  • 네트워크
    • TCP/IP 프로토콜
    • C, C++
  • 시스템
    • 운영체제, 메모리 관리
    • C, C++
    • 웹 아키텍쳐, HTTP
    • Java 등
  • Shell script 도 잘하면 좋고
  • 영어도 잘하면 먼저 정보수집 가능
  • 모의해킹 많이, https://www.exploit-db.com/(보안 취약점을 이용한 공격을 실습할 수 있게 모아둔 사이드)
    • 2016 dirty cow 공격
      • 일반 사용자가 리눅스의 root 권한을 자유롭게 획득할수있는 공격


보안취약점과 해킹

  • 해킹=보안취약점 공격
  • 보안 취약점
    • 정보보안 3요소 중 최소 한가지에 영향을 주는 버그
      • 정보보안 3요소
        • 기밀성
          • ex) password, 신용카드 개인정보 노출
        • 무결성
          • 시스템이 변조됨
          • ex) 바이러스에 의해서 공격
        • 가용성
          • 서비스가 문제없이 운영되는가?
          • ex) DoS(Denial of Service-서비스 거부 공격)
            • 서버에 대량 요청을 쏴서 서버가 다운되도록 하는것
  • 해킹의 기초단계

    1. 정찰(정보 수집 단계)
      • 해킹할 서버,사이트, 시스템 각종 정보수집
    2. 스캐닝 & 취약점 분석(정보 수집 단계)
      • 서버 운영체제 뭔지?
      • 웹서버의 버전이 뭔지?
    3. 침투(공격 익스플로잇 단계)
      • 찾은 취약점으로 시스템으로 침투
    4. 권한 상승(포스트 익스플로잇 단계)
      • 시스템에 접근할 수 있는 관리자 권한 획득
    5. 백도어 관리(포스트 익스플로잇 단계)
      • 언제든지 해당 시스템에 접속할 수 있도록 몰래 뒷문을 만들어둠
    6. 흔적지우기(포스트 익스플로잇 단계)
      • 추적못하게 해킹 흔적 지우기


웹 보안의 중요성

  • 웹이 일상임
  • 모바일도 웹이랑 통신
  • 웹은 방화벽에 대해 항상 열려있음
  • 모의 해킹의 관문
  • 웹사이트를 통한 침투가 많음
    • ex) SQL Injection, 파일업로드 공격


웹 버그바운티 제도?

  • 보안취약점을 발견해서 보고하면 보상(돈)해주는것
    • 구글 $500~$2000
      • 구글, 유튜브 등등
    • 페북$500+
      • 페북, 인스타 등등
    • MS $500~$15000
      • one drive, outlook 등등
  • https://www.bugcrowd.com/


웹 아키텍쳐

  • 클라이언트 <=> 서버(로직티어+DB티어)
  • 프로토콜 : HTTP
    • Hyper Text Tranfer Protocol
    • 웹 구현 프로토콜
    • 주로 80번 포트
    • 클라이언트 요청과 서버 응답
    • HTTP METHOD
      • GET, POST, PUT, DELETE
    • 응답코드
      • 1XX : 정보전달
      • 2XX : 성공
      • 3XX : 리다이렉션
      • 4XX : 클라이언트 에러
      • 5XX : 서버 에러
    • stateless 이전상태저장x
      • 세션(세션ID)/쿠키를 이용해서 이전 상태 유지
      • 쿠키?
        • K=V 집합
        • 서버에서 Set-Cookie 헤더로 쿠키전달
        • 브라우저에서 쿠키 저장
        • 세션ID를 브라우저에서 쿠키로 저장 ==> 세션 ID 탈취해서 세션하이재킹 공격가능(Cross Site Scripting) (로그인한 사용자 권한 탈취)


HTTP 프록시

  • HTTP 프록시로 요청,응답을 중간에서 가로챌수있음
    • 웹 해킹 or 보안취약점 찾을때 유용
  • 버프스위트 BurpSuite
    • HTTP 프록시 프로그램
    • 브라우저 프록시 설정 및 실습
      • 브라우저에서 DVWA 에 접속하고(localhost/dvwa), 접속 메세지를 버프스위트에서 잡아보자
        • Proxy > Intercept
          • 중간에서 메세지 잡아놓아서 클라의 요청메세지 서버로 안감
          • Forward / Drop
        • dvwa 접속 안될 경우 웹서버 restart
          • /opt/lampp/lampp restart
      • Target
        • 접속한 host / 사이트들 보여줌
      • Proxy > HTTP History
        • 방문한 url + request + response
        • header 에 서버 정보, 세션ID, 응답코드 등
      • Intruder, Repeater
        • request 를 여러개보내서 공격
        • Intruder
          • 파라미터 값만 바꿔서 요청 가능 : 퍼징
        • Repeater
          • Intruder 와 비슷. 수동으로 요청보낼때 유용

Comments