학습 정리/🦴 CS Study

12. 백도어, SQL 인젝션, 크로스 사이트 공격(XSS), DDoS

무딘붓 2022. 12. 13. 13:19

🚪 백도어

  • 백도어란?
    • 트로이 목마 : 가장 유명한 백도어 공격, 정상적인 프로그램비 정상 코드를 삽입한 프로그램
    • 스파이 웨어 : 설치된 시스템의 정보를 주기적으로 원격지의 특정한 서버로 전송하는 프로그램
    • 백도어 원래 의미 : 인증과정 없이 OS, 프로그램에 접근할 수 있게 만든 통로(뒷문)
                                    → 프로그램 개발자, 관리자가 사용하기 위해 만들어짐
    • 백도어 현재 의미 : 해커가 시스템에 (상대 시스템에) 쉽게 접근하기 위한 비밀 통로
  • 백도어의 종류
    • 로컬 백도어
      • 서버의 셸을 얻어낸 뒤에 관리자로 권한을 상승시킬 때 사용되는 백도어
      • 일반 계정 통해 시스템 접근 → 관리자 권한 상승 취약점 공격
    • 원격 백도어
      • 원격에서 관리자 계정을 획득
      • 네트워크 포트 백도어 타깃 → 원격 접근으로 관리자 권한 취득
    • 패스워드 크래킹 백도어
      • 인증에 필요한 패스워드를 원격에 있는 공격자에게 전송 하는 백도어
      • 예 : 사용자의 키보드 정보 전송 
    • 시스템 설정 변경 백도어
      • 해커가 원하는 대로 시스템의 설정을 변경하는 도구의 역할 백도어
      • 데몬을 이용한 시스템 설정 변경 / 자동, 주기적 백도어 생성 설정
    • 트로이 목마형 백도어
      • 원래의 목적 프로그램도 실행 + 동시에 백도어 설치
      • 정상적 프로그램 작동 + 프로그램 사용 정보 전송
    • 거짓 업그레이드 백도어
      • 시스탬 패치, 업드레이드 시 백도어 설치
      • 정상적 프로그램 작동 + 프로그램 사용 정보 전송
  • 백도어를 막는 방법
    • 현재 동작중인 프로세스 확인 : 동작 프로세스 프로파일링, 정상 프로세스 목록화
    • 열린 포트 확인  : 일부 백도어는 프로세스 목록 숨김포트 정보 목록화 및 구별 
    • 바이러스 및 백도어 탐지 툴 이용
    • 무결성 검사 - MD5 해시기법
      • 파일의 내용이 조금만 바뀌어도 MD5 해시 결과 값 변함
      • 정상적 파일 해시 값 저장 → 정상 값과 비교, 백도어 설치 파악

💉 SQL 인젝션 공격

  • SQL 이란?
    • 관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어
    • 데이터베이스로부터 원하는 데이터를 추출할 때 ‘SELECT’ 사용
    • UPDATE : 수정 / DELETE 삭제 / INSERT : 추가 / CREATE,DROP TABLE : 테이블 생성 삭제
    • SQL에 대한 자세한 설명은 이전 게시글 참조
      : (MySQL - 생활코딩 강의내용 정리) https://sirius7.tistory.com/51
  • SQL 삽입 공격이란?
    • SQL 삽입, SQL Injection, SQL 인젝션, SQL 주입 등 다양하게 불린다.
    • 공격자가 SQL 명령어를 입력웹사이트에 침투한 다음 서버를 제어하여
      데이터베이스 정보를 출력하는 공격 방법
  • SQL 삽입 공격 사례
    • 2011 소니픽처스 프랑스 웹 사이트 : 170여개 이메일 주소 탈취
    • 2014 이스라엘 정부 사이트 : 어나니머스 공격으로 기밀문서 유출
    • 2015 워드프레스용 플러그인 해킹 : 100만개의 웹 사이트 해킹
    • 2015 WTO 웹사이트 : 대량의 재직자 정보 유출
  • SQL 삽입 공격의 기본 원리
    • 공격자는 조작된 SQL 쿼리문을 웹사이트로 전송
      → 웹 서버 DB에 조작된 SQL 쿼리가 실행
      → 데이터베이스에 있는 정보를 공격자가 빼감
  • SQL 삽입 공격 대응 방안
    • 안전한 웹사이트의 설계와 구현 : 입력 값 검증 절차 구현, 입력 값 검사 및 치환
    • DB의 에러메시지를 사용자에게 노출 시키지 않는 것이 중요 : DB 구조와 이름을 파악하게 만듦
    • 웹 방화벽 활용, 웹 보안 취약점 주기적 점검

 크로스 사이트 스크립트 공격 (XSS)

  • 쿠키
    • 사용자들이 웹사이트를 편리하게 이용할 수 있도록 하기 위한 목적으로 개발,
    • 최근에는 많은 웹 사이트가 쿠키를 이용하여 사용자의 정보를 수집한다.
    • 쿠키의 용도 : 사이트 개인화, 사이트 활동정보 추적, 수집
  • 크로스 사이트 스크립트 공격 = XSS(Cross-Site Scripting)
    • 웹브라우저 등에 저장된 사용자 정보를 추출하기 위해 스크립트 등을 활용하여 공격하는 기법
    • 크로스 사이트 공격의 원리
      • 공격자가 악성코드 포함된 글을 웹사이트에 게시 → 피해자가 악성코드 포함된 글 열람
          → 악성코드가 피해자의 웹브라우저에서 실행 → 쿠키 정보가 공격자에게 넘어감
  • 크로스 사이트 공격 방법
    1. 저장 XSS 공격 (Stored XSS)
      • 게시판 또는 자료실 등에 정상적인 평문이 아닌 스크립트 코드를 입력하는 기법
      • 공격자가 웹사이트 게시판에 악성 스크립트를 삽입 → 피해자가 게시물을 검색
         → 서버에서 악성 스크립트가 피해자의 PC 그리고 웹브라우저에 전달
         → 피해자의 웹브라우저에서 스크립트가 실행 → 공격자는 피해자의 쿠키 정보를 획득
    2. 반사 XSS 공격 (Reflected XSS)
      • URL의 특정 사이트로 유도 (URL에 스크립트 코드를 삽입), 코드 입력 동시에 결과 바로 전송
      • 공격자가 악성스크립트 있는 URL이 포함된 이메일을 전송 → 피해자는 URL 클릭 
         → 웹 서버는 URL에 삽입된 악성 스크립트 코드 사용자에게 전송 → 공격자의 정보 획득

👨‍💻 분산 서비스 거부 공격 (DDoS)

  • DoS
    • DoS = 서비스 거부 공격 (Dos Attack) 
    • 공격자가 악의적인 목적으로 서버를 공격해서 서버가 서비스를 제공할 수 없도록 만드는 공격
  • DDoS
    • DDoS = 분산 서비스 거부 공격 (Distributed Denial of Service Attack)
    • 여러 대의 공격자를 분산 배치해 동시에 서비스 거부 공격을 하는 방법
    • 악성코드, 바이러스 등으로 일반 사용자의 PC를 좀비PC로 만든 뒤 서버를 통해 DDoS 공격 수행
    • 악의적인 프로그램에서 정한 특정 시간대에 공격이 시작된다.
    • DoS 공격과는 달리 DDoS 공격은 여러 대의 공격자가 분산적으로 배치되어 동시에 DoS 공격
  • DDoS의 여러 가지 기법
    1. Ping of Death
      • Ping을 이용하여 ICMP 패킷을 정상적인 크기보다 아주 크게 전송하는 기법
      • 서버에 오버플로우 발생 → 서버 시스템 다운 or 재부팅
    2. Syn Flooding Attack 
      • (서버별로 한정된) 동시사용자 수 이용
      • 존재하지 않는 클라이언트가 마치 접속한 것처럼 속여서 다른 사용자의 서비스 이용 제한
      • TCP/IP의 3-way hand-shaking 방식을 응용
    3. ICMP Flooding Attack  
      • ICMP(Internet Control Message Protocol) : 네트워크에 있는 다양한 기기들을 관리
      • 스머프 공격이라고도 함
      • 공격자가 source IP 주소를 피해자의 IP 주소로 설정ICMP request를 보냄
          → 이때 broadcast로 설정해서 같이 보냄 
          → ICMP echo request 패킷이 해당 네트워크에 소속되어 있는 모든 호스트에게 전달
          → ICMP echo request를 받은 모든 호스트는 피해자의 IP Address로 reply를 모두 보냄
          → 피해자 컴퓨터에 대량의 reply 패킷 수신 → 네트워크 과부하, PC 다운

 

 

* 이 게시글은 K-MOOC 정보보호와 보안의 기초 (링크) 강의를 듣고 개인 학습용으로 정리한 내용입니다.