🚪 백도어
- 백도어란?
- 트로이 목마 : 가장 유명한 백도어 공격, 정상적인 프로그램에 비 정상 코드를 삽입한 프로그램
- 스파이 웨어 : 설치된 시스템의 정보를 주기적으로 원격지의 특정한 서버로 전송하는 프로그램
- 백도어 원래 의미 : 인증과정 없이 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 쿼리문을 웹사이트로 전송
- SQL 삽입 공격 대응 방안
- 안전한 웹사이트의 설계와 구현 : 입력 값 검증 절차 구현, 입력 값 검사 및 치환
- DB의 에러메시지를 사용자에게 노출 시키지 않는 것이 중요 : DB 구조와 이름을 파악하게 만듦
- 웹 방화벽 활용, 웹 보안 취약점 주기적 점검
✖ 크로스 사이트 스크립트 공격 (XSS)
- 쿠키
- 사용자들이 웹사이트를 편리하게 이용할 수 있도록 하기 위한 목적으로 개발,
- 최근에는 많은 웹 사이트가 쿠키를 이용하여 사용자의 정보를 수집한다.
- 쿠키의 용도 : 사이트 개인화, 사이트 활동정보 추적, 수집
- 크로스 사이트 스크립트 공격 = XSS(Cross-Site Scripting)
- 웹브라우저 등에 저장된 사용자 정보를 추출하기 위해 스크립트 등을 활용하여 공격하는 기법
- 크로스 사이트 공격의 원리
- 공격자가 악성코드 포함된 글을 웹사이트에 게시 → 피해자가 악성코드 포함된 글 열람
→ 악성코드가 피해자의 웹브라우저에서 실행 → 쿠키 정보가 공격자에게 넘어감
- 공격자가 악성코드 포함된 글을 웹사이트에 게시 → 피해자가 악성코드 포함된 글 열람
- 크로스 사이트 공격 방법
- 저장 XSS 공격 (Stored XSS)
- 게시판 또는 자료실 등에 정상적인 평문이 아닌 스크립트 코드를 입력하는 기법
- 공격자가 웹사이트 게시판에 악성 스크립트를 삽입 → 피해자가 게시물을 검색
→ 서버에서 악성 스크립트가 피해자의 PC 그리고 웹브라우저에 전달
→ 피해자의 웹브라우저에서 스크립트가 실행 → 공격자는 피해자의 쿠키 정보를 획득
- 반사 XSS 공격 (Reflected XSS)
- URL의 특정 사이트로 유도 (URL에 스크립트 코드를 삽입), 코드 입력 동시에 결과 바로 전송
- 공격자가 악성스크립트 있는 URL이 포함된 이메일을 전송 → 피해자는 URL 클릭
→ 웹 서버는 URL에 삽입된 악성 스크립트 코드 사용자에게 전송 → 공격자의 정보 획득
- 저장 XSS 공격 (Stored XSS)
👨💻 분산 서비스 거부 공격 (DDoS)
- DoS
- DoS = 서비스 거부 공격 (Dos Attack)
- 공격자가 악의적인 목적으로 서버를 공격해서 서버가 서비스를 제공할 수 없도록 만드는 공격
- DDoS
- DDoS = 분산 서비스 거부 공격 (Distributed Denial of Service Attack)
- 여러 대의 공격자를 분산 배치해 동시에 서비스 거부 공격을 하는 방법
- 악성코드, 바이러스 등으로 일반 사용자의 PC를 좀비PC로 만든 뒤 서버를 통해 DDoS 공격 수행
- 악의적인 프로그램에서 정한 특정 시간대에 공격이 시작된다.
- DoS 공격과는 달리 DDoS 공격은 여러 대의 공격자가 분산적으로 배치되어 동시에 DoS 공격
- DDoS의 여러 가지 기법
- Ping of Death
- Ping을 이용하여 ICMP 패킷을 정상적인 크기보다 아주 크게 전송하는 기법
- 서버에 오버플로우 발생 → 서버 시스템 다운 or 재부팅
- Syn Flooding Attack
- (서버별로 한정된) 동시사용자 수 이용
- 존재하지 않는 클라이언트가 마치 접속한 것처럼 속여서 다른 사용자의 서비스 이용 제한
- TCP/IP의 3-way hand-shaking 방식을 응용
- 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 다운
- Ping of Death
* 이 게시글은 K-MOOC 정보보호와 보안의 기초 (링크) 강의를 듣고 개인 학습용으로 정리한 내용입니다.
'학습 정리 > 🦴 CS Study' 카테고리의 다른 글
14. 인공지능, 블록체인과 보안 (0) | 2022.12.13 |
---|---|
13. 랜섬웨어, Heart Bleed 공격, APT 공격 (0) | 2022.12.13 |
11. 메모리 취약점, 버퍼 오버플로우 (0) | 2022.12.13 |
10. DNS 캐시 포이즈닝, 파밍, 피싱 (0) | 2022.12.12 |
9. TCP 세션 하이재킹, ARP 스푸핑, IP 스푸핑 (0) | 2022.12.12 |