[정보보안 목차]

 

웹 해킹(Web hacking) 개요

정의 웹 사이트의 취약점을 공격하는 기술적 위협으로, 웹 페이지를 통하여 권한이 없는 시스템에 접근하거나 데이터 유출 및 파괴와 같은 행위
개념도

유형 웹 엔진 취약점을 이용한 해킹과 웹 애플리케이션의 취약점을 이용한 해킹, 각종 웹 서버 및 미들웨어 기본 제공 샘플 파일을 이용한 해킹 등
해킹기법 -웹 애플리케이션을 통해서 발생되는 해킹이 주로 일어나는데 이를 OWASP에서 10대 웹 애플리케이션의 취약점을 발표
-가장 빈도가 많이 발생하고, 보안상 영향을 크게 줄 수 있는 것들로는 SQL 삽입, XSS, CSRF 웹 셸 업로드 등
해킹대상 웹서버, 웹어플리케이션, 웹사용자
공격절차 공격대상 선정 > 정보수집 > 취약점 분석 > 공격  > 결과도출

 

주요 웹해킹 기법

인젝션(Injection)

정의 응용 프로그램 보안 상의 허점을 의도적으로 이용해, 악의적인 데이터(: SQL문 등에 사용되는 데이터)를 인터프리터(Interpreter)에게 전송하여 정상적인 프로그램(: Database)을 비정상적으로 조작하는 공격 기법
공격방법
공격유형 SQL Injection, Blind SQL Injection, Mass SQL Injection

 

SQL-Injection

정의 데이터베이스로 전달되는 SQL Query를 변경시키기 위해 Web Application에서 입력 받은 파라메터를 변조 후 삽입하여 비정상적인 데이터베이스 접근을 시도하거나 쿼리를 재구성하여 원하는 정보를 열람하는 해킹 기법
공격방법
공격유형 인증우회 인증을 처리하는 모듈이 입력 값에 대해 적절히 검사하지 않았을 때, 공격자는 비정상적인 SQL Query를 삽입할 수 있고 이를 이용해 사용중인 데이터베이스에 영향
권한상승 공격자가 DB의 시스템 권한을 획득하여 SQL에서 기본적으로 제공하는 확장 프로시저를 이용하여 악성코드를 삽입하거나 DB를 변경하는 등의 여러 가지 시스템 명령어를 실행시켜 악용
시스템 오류 악용 에러 메시지는 공격자에게 유용한 정보를 제공하여 쉽게 DB 열람 및 시스템 명령어를 수행할 수 있음
DB조작 Error-Based Injection, Blind SQL Injection 등의 기법을 통해 주요 데이터의 조회, 테이블 생성 등 데이터베이스에 대한 다양한 공격 수행
대응방법 바인딩 매개변수 Stored Procedure, Base Class 사용(PreparedStatement)
사용자 입력값 검증 사용자로부터 입력될 수 있는 모든 값에 대하여 Injection을 발생시킬 수 있는 위험한 문자가 포함되어 있는지 여부를 체크
Servlet Filter 기능 적용 Request(처리전), Response(처리후)에 대해 공통적으로 적용되는 기능 구현 가능(JAVA 적용)

 

Blind SQL-Injection

정의 악의적인 문자열 삽입 대신 쿼리결과로 나오는 , 거짓에 따라 서버의 반응만으로 DB의 정보를 취득하는 공격기법
공격방법
공격유형 추론기법 한번에 하나씩 SQL 구문을 사용하여 데이터베이스에 쿼리하여 정보를 추출하는 공격
시간기반 기법: 긴 쿼리나 시간함수 사용 시간지연 이용
응답기반 기법: 기존 쿼리에 다른 구분을 추가하여 추론
대체/외부대역채널 기법 사용 가능한 외부 대역 채널을 이용하여 방대한 양의 정보를 직접 추출하는 방식

 

Mass SQL-Injection

정의 SQL Injection공격에서 확장된 개념으로 CAST함수를 이용해 쿼리문을 인코딩하여 탐지 우회를 시도하고, DB값을 변조 시 악성스크립트를 삽입하는 대량의 DB값 변조 공격기법
공격방법
순서 설명
1) 준비 공격 시작
2) 업데이트 스크립트 업데이트
3) 열람 감염페이지 열람
4) 실행 스크립트 실행
5) 삽입 Iframe 삽입
6) 실행 악성 프로그램 다운로드 및 실행(x.exe)
대응방법 Query길이제한 디클리어 구문을 이용한 공격을 차단하기 위해서는 웹 소스상에서 쿼리스트링에 대한 길이제한 적용
소스 수정 SQL-Injection 취약점이 있으면 중 장기 대책으로 이에 대한 소스코드에 수정 권고
필터링 입력되는 부분의 문자를 모두 제한하여 예상되는 문자 이외의 문자가 들어오면 필터링하는 방법으로 수정
  DB백업 정기적인 DB 및 시스템 백업

 

XSS(Cross Site Script)

정의 게시판이나 웹 메일 등에서 악의적인 스크립트를 삽입하여 비정상 페이지를 보이도록 함으로써 사용방해나 쿠키 및 기타정보를 특정사이트로 전송하는 해킹기법
공격방법

순서 설명
1) 코드작성 - 임의의 XSS 취약점이 존재하는 서버에 XSS 코드를 작성하여 저장
- 일반적으로 공격자는 임의의 사용자 또는 특정인이 이용하는 게시판을 이용
2) 코드접근 - 해당 웹 서비스 사용자가 공격자가 작성해 놓은 XSS 코드에 접근
3) 코드전달 - 웹 서버는 사용자가 접근한 XSS 코드가 포함된 게시판의 글을 사용자에게 전달
4) 코드실행 - 사용자의 시스템에서 XSS 코드가 실행
5) 실행결과 전달 - XSS 코드가 실행된 결과가 공격자에게 전달되고 공격자는 결과를 가지고 웹 서버에서 2차 해킹 시도
공격유형 Stored XSS - 웹 서버를 매개로 웹 서버에 저장된 스크립트가 피해자의 시스템에서 실행되도록 하는 공격 방식
- 공격자는 악성 스크립트를 XSS에 취약한 웹 서버에 저장(. 웹 게시판, 방명록 등)
Reflected XSS - 클라이언트에서 제공한 데이터가 서버의 응답 페이지에 바로 포함되어 돌려지는 것을 악용하는 공격 방식
- 주로 스크립트가 포함된 링크의 클릭을 유도하고 악성 스크립트는 서버에 저장되지 않음
- 공격자는 악성 스크립트를 포함한 URL E-Mail이나 메신저를 이용하여 victim에게 노출시킴
DOM XSS - 공격자는 DOM  기반의 XSS취약점이 있는 브라우저를 대상으로 URL을 이메일을 통해 발송하여 피해자가 URL 클릭시 공격 피해 발생
페이지 자체는 변하지 않으나 페이지에 포함된 브라우저측 코드가 DOM 환경에서 악성코드로 실행됨
대응방법 취약점 대응방안
Cookie 정보 추출 -중요정보는 쿠키에 저장하지 않음(: 개인정보, 계정정보 등)
-정기적 쿠기 정보 삭제
특수문자 삽입 -특수문자 등록을 방지하기 위해 특수문자 필터링
-사용자 입력 가능 문자 이외에는 모두 필터링
HTML tag -HTML tag 사용 금지 특히, ‘<’문자 사용시 ‘&lt’로 벼환 처리
Script 공격 -javascript로 시작하는 문자열은 모두 문자열 변환 처리
-악성 스크립트의 주기적 모니터링
Link 노출 -해당 링크를 복사하여 직접 접근하는 방법 활용
Browser 취약점 -최신 보안 패치를 정기적으로 수행하고 취약점 공격 대응
-브라우저 내 개인정보 보안등급 관리 기준을 상향 조정

 

CSRF(Cross Site Request Forgery)

정의 공격자가 사용자의 Cookie 값이나 Session정보를 의도한 사이트로 보내거나 특정한 동작을 유발하는 스크립트를 글에 삽입하여 사용자가 게시물 등을 클릭할 경우 공격자가 원하는 동작이 실행되는 공격 방식
공격방법
순서 설명
1) CSRF게시 CSRF 스크립트 게시물에 게시
2) 요청 CSRF Script 포함 페이지 요청
3) 응답 CSRF Script 포함 페이지 응답 수신
4) 공격수행 CSRF에 의해 Victim의 권한으로 사용 가능한 서비스 요청
대응방법 취약점 대응방안
쿠키 가로 채기 - 입력값 검사: 웹 페이지의 입력폼에 사용자가 입력하는 값을 검사하여 올바르지 않은 값에 대해서 reject 시킴
- 쿠키사용 제고: 쿠키에 중요정보 미포함
세션 변조 사용 - Query String 검사
- 민감한 데이터나 값에 대한 트랜잭션을 위하여 재인증이나 트랜잭션 서명요청(GET 요청 사용 금지)
부정클릭 사용 - 유일한 토큰 사용
일종의 DRDoS - 관련 취약점 제거

 

Watering Hole

정의 공격 대상이 방문할 가능성이 있는 합법적 웹사이트를 미리 감염시킨 뒤 잠복하면서 피해자의 컴퓨터에 악성코드를 추가로 설치하는 공격 기법
공격방법
순서 설명
1) 준비 원격 제어형 악성 코드 제작 및 공격자가 웹사이트를 변조하고 악성코드 삽입
2) 방문 평상시에 일반적으로 항상 참조하는 웹사이트 방문
3) 유포 특정IP(발신지)에서 접속에 대해서만 악성코드 유포
4) 감염 주요 브라우저, 자바프로그램 취약성을 이용한 바이러스 감염 성공
5) 침투 공격자가 허용(설정)한 서버로의 통신 성립
대응방법 APP최신상태 유지 기존의 잘 알려진 브라우저나 자바 프로그램 등을 최신 버전으로 유지
보안제품 패치 새로운 악성코드 대응 기술을 적용한 백신의 최신 엔진 및 최신 업데이트를 적용
가시성 확보 감염 확산을 방지하고 피해를 최소화하기 위해 악성코드 출현 이후 이에 대한 조기 발견 및 신속한 대응

 

 

 

 

'메가노트 > 토픽과제(정리)' 카테고리의 다른 글

시큐어코딩(이재용)  (0) 2022.10.01
디지털 포렌식(홍진택)  (0) 2022.10.01
DDOS 공격(문경숙)  (0) 2022.10.01
APT(안혜진)  (0) 2022.10.01
블록 암호 모드(김도현)  (0) 2022.09.28

+ Recent posts