서비스 보안 구현 정리
- 보안 취약점
- 관리적 관점: 정책
- 기술적 관점: 서버, 암호화 등
- 물리적 관점: 서버실 보안 관리 등
- 통합로그 분석 장치
- ESM
- SIEM: ESM + 빅데이터 기술
- SIM
- SOAR: 오케스트레이션 기억하기
- 보안 솔루션
- 방화벽(침입 차단 시스템)
- 웹 방화벽
- IDS(침입 탐지 시스템, 오용 탐지, 이상 탐지, 호스트, 네트워크 기반)
- IPS(침입 방지 시스템): 방화벽 + IDS
- DLP(데이터 유출 방지)
- VPN(가상 사설 통신망)
- NAC(MAC 주소 관리)
- ESM(로그 분석 및 관리)
- SIEM(빅데이터 수준 로그 분석 및 관리)
- SOAR(보안 오케스트레이션)
- Sandbox(운영체제와 독립되어 실행, 공간 분리)
- FDS(이상 금융거래 차단 시스템)
- Proxy Server(나 대신 다른 서버가 대신 접속하게 하는 것)
- 방화벽 구현 방식
- 패킷 필터링(네트워크, 전송 계층)
- 애플리케이션 게이트웨이(응용 계층)
- 회선 게이트웨이(응용계층, 세션계층)
- 상태기반 패킷 검사(패킷 분석 후 차단, OSI 전계층, 가장 강력)
- 혼합형 타입
- 방화벽 시스템 구축 유형
- 스크리닝 라우터(패킷만 보며, 패킷을 통과 시킬 것인지)
- 베스천 호스트(요새로 모든걸 검사, 방화벽을 구축한다면 베스천 호스트를 세움)
- 듀얼 홈드 호스트(2개의 인터페이스를 가진 베스천 호스트, 베스천 호스트에 2개의 NIC 카드를 연결)
- 스크린드 호스트(패킷 필터 라우터인 스크리닝 라우터와 베스천 호스트)
- 스크린드 서브넷(두 개의 스크리닝 라우터와 한 개의 베스천 호스트)
- 보안 프로토콜
- SSH: 기존 Telnet의 보안적인 요소를 추가해, 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜
- SSL: HTTPS
- TLS: 전송계층에서 사용되는 보안 프로토콜
- IPSec
- 전송 모드: Payload라는 데이터만 암호화
- 커널 모드: 전체 데이터 모두 암호화
- 프로토콜
- AH: 무결성 + 인증
- ESP: 기밀성 + 무결성 + 인증
- S-HTTP: 단위별 암호화
- ResSec: Redius 데이터의 UDP 방식의 보안적인 단점을 TCP와 TLS를 이용해 보완
서비스 공격 유형
- DOS(Denial of Service) 공격
- 개념
- 대상 시스템이 정상적인 서비스를 할 수 없도록 가용성을 떨어뜨리는 공격
- 공격 목표
- 물리적인 파괴(디스크 및 시스템 파괴)
- 시스템 자원 공격(CPU, Memory, Disk의 자원고갈)
- 네트워크 자원 공격(대역폭 고갈)
- 😣DoS 공격 유형😣
- Smurf Attack
- 여러 호스트들로 하여 특정 대상에게 다량의 ICMP Echo Request를 보내게 하는 공격기법
- IP와 ICMP의 특성을 이용한다.
- IP는 발신지 주소, 목적지 주소의 정보를 가지고 있다.
- ICMP는 간단하게 계속 요청을 보냈는데 상대가 못받았다면 못받았다고 알려주는 것
- 공격자는 IP 주소를 공격 서버의 IP 주소로 위장하고,ICMP Request 패킷을 브로드캐스트를 통해 다수의 시스템에 전송.
- 이 때 브로드캐스트를 수신한 다수의 시스템은 ICMP Echo Reply 패킷을 공격자가 아닌 공격 대상의 서버로 전송하게 되면서 부하를 발생시킴.
- 즉 공격대상의 IP 주소를 자신의 IP 주소로 변경 후 ICMP 특성을 활용해 무수한 요청을 공격 대상의 서버로 전송시켜 부하를 발생시키는 공격 기법
- Ping of Death
- 규정 크기 이상의 ICMP 패킷으로 시스템을 마비시키는 공격 방법
- ICMP 패킷을 정상적인 크기보다 크게 만들어 공격 대상에게 전송하면, 사이즈가 크기 때문에 패킷을 나눠서 보내게 됨.
- 공격 대상은 쪼개진 패킷을 조립하는 과정에서 많은 부하가 발생하고, 재조함 버퍼의 오버플로우가 발생하여 정상적인 서비스가 불가능해짐.
- Land Attack
- 출발지 IP와 목적지 IP가 같은 패킷을 만들어 보내는 공격 기법
- 수신자가 응답을 보낼 때, 목적지 주소가 자기 자신이므로 SYN 신호가 계속 자신의 서버를 돌게 되어 서버의 자원을 고갈시켜 가용성을 파괴
- Teardrop Attack
- 재조합을 할 수 있는 Fragment Number를 위조하는 공격 기법
- 데이터를 보낼 때 데이터를 나누고, 재조립할 수 있는 Fragment Number를 부여하는데, Fragment Number를 위조하여 재조합을 못하게 만들어 다운되게 하는 공격
- SYN Flooding
- TCP의 연결과정(3Way HandShaking)의 취약점을 이용한 공격 방법
- 공격자가 SYN 신호만 전달하고, ACK 응답을 받지 않아 Backlog Queue에 연결 정보를 쌓게 하여 정상적인 서비스 제공이 불가능하게 만드는 공격
- UDP Flooding
- 다량의 UDP 패킷을 전송하여 네트워크 자원을 고갈시키는 공격
- Ping Flooding
- 특정 사이트에 매우 많은 ICMP Echo를 보내면, 이에 대한 응답을 하기 위해 시스템 자원을 모두 사용해버려 시스템이 정상적으로동작하지 못하도록 하는 공격 방법
- Smurf Attack
- 개념
- DDOS(Distributed Denial of Service attack) 공격
- 개념
- 특정 서버나 네트워크 장비를 대상으로 많은 데이터를 발생시켜 장애를 일으키는 대표적인 서비스 거부 공격
- 분산된 다수의 좀비 PC를 이용하여 공격 대상 시스템의 서비스를 마비시키는 공격 형태
- 공격 구성
- 공격자
- 명령 제어
- 좀비 PC
- 공격 대상
- 공격 순서
- 관리자가 관리할 수 없는 곳에 계정을 획득하여 스니핑이나 버퍼 오버플로우 등의 공격으로 설치 권한이나 루트 권한 획득
- 공격대상을 파악하기 위해 취약한 서비스를 제공하는 서버 파악
- 취약한 시스템의 리스트를 확인하고, 실제 공격을 위한 Exploit(공격자의 의도된 명령/ 프로그램 등) 작성
- 권한을 획득한 시스템에 침투하여 Exploit을 컴파일하여 설치
- 설치한 Exploit으로 공격 시작
- 공격 툴의 종료
- 트리누(Trinoo)
- TFN(Tribal Flood Network)
- 슈타첼드라트(Stacheldraht)
- 개념
- 기타 해킹 기법
- 웜(Worm)
- 네트워크를 통해 스스로 자신을 복제하고 전파할 수 있는 악성 프로그램
- 바이러스(Virus)
- 파일, 부트, 메모리 영역에서 스스로를 복사하는 악성 프로그램**(숙주)**으로 파일 속에 숨어 옮겨 다닌다.
- 즉, 숙주에게 기생하는 것.
- 트로이목마(Trojan)
- 겉으로 보기에는 전혀 해를 끼치지 않을 것처럼 보이고 자기 복제 능력이 없지만, 실제로는 바이러스 등의 위험인자를 포함하고 있는 프로그램
- 스턱스넷(Stuxnet)
- 2010년 6월에 발견된 웜 바이러스
- 단순히 PC를 감염시키는 것이 아닌, 물리적인 피해를 입히는 목적으로 기간 시설을 파괴할 목적으로 제작된 컴퓨터 바이러스
- 루팅(Rooting)
- 핸드폰 운영체제의 루트 관리자 계정을 획득하는 것
- 루트킷(Rootkit)
- 시스템에 전반적으로 접근할 수 있는 루트 권한을 쉽게 얻게 해주는 킷
- 혹스(Hoax)
- 남을 속이거나 장난을 치는 것으로 말 그대로 가짜 바이러스
- 스니핑 공격(Sniffing Attack)
- 네트워크로 전송되는 패킷을 훔쳐보는 공격
- IP Spoofing
- 자신의 IP 주소를 속여서 접속하는 공격
- ARP Spoofing
- ARP 프로토콜의 허점을 이용해 자신의 MAC 주소를 다른 컴퓨터의 MAC인 것처럼 속이는 공격
- DNS Spoofing
- DNS 서버로 보내는 질문을 가로채서 변조된 결과를 보내주는 것으로 일종의 중간자 공격
- 파밍(Pharming)
- 사용자의 컴퓨터를 악성코드에 감염시켜 정상 홈페이지에 접속하여도 피싱 사이트로 유도하는 피싱 공격
- 그래서 DNS Spoofing으로 파밍을 가능하게 한다.
- 타이포스쿼팅(Typosquatting)
- 사용자가 사이트의 URL 주소를 입력할 때 철자를 잘못 입력하거나 빠뜨리는 실수를 이용해, 해커가 만들어 놓은 유사한 URL로 접속하도록 유도하는 공격
- URL 하이재킹이라고 불리는 사회공학적 기법 중 하나
- Smishing(SMS phishing)
- 문자메시지를 이용한 피싱
- Qshing
- QR코드를 통해 악성 링크로 접속을 유도하거나, 직접 악성코드를 심는 금융범죄 기법
- 포트 스캐닝(Port Scanning)
- 서버에 열려있는 포트를 확인 후 해당 포트의 취약점을 이용한 공격
- Nmap을 이용해 열린 포트, 호스트, 버전 등을 탐지할 수 있다.
- 기능 구현을 위해 뚫어둔 포트를 공격자가 포트 스캐닝 후 취약점을 이용한 공격
- 세션 하이재킹(Session Hijacking)
- 이미 인증을 받아 세션을 생성, 유지하고 있는 연결을 빼앗는 공격
- 즉, 이미 인증 받은 세션을 가로채서 활동하는 공격 기법
- 버퍼 오버플로우(Buffer Overflow)
- 프로그램이 실행될 때 입력받는 값이 버퍼를 가득 채우다 못해 넘쳐흘러 버퍼 이후의 공간을 침범하는 현상
- 방어기법
- 스택가드: 중간의 값을 추가해, 넘치면 값을 변경하도록 함
- 스택쉴드: 끝나는 RET 값을 비교
- ASLR: 데이터를 여기저기 참조하도록 해 비교하는 방어 기법
- Format String Attack
- 문자열의 출력 포맷을 애매하게 설정할 때의 취약점을 포착하여, 메모리의 RET 위치에 악성코드 주소를 입력하여 공격하는 기법
- SQL Injection
- 코드 인젝션의 한 기법으로 클라이언트의 입력값을 조작하여 서버의 데이터베이스를 공격할 수 있는 공격
- XSS(Corss-Site Scripting)
- 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법
- Cookie 정보를 불법적으로 활용하여 사용자의 세션을 탈취하기 위해 사용하는 공격
- 세션 하이재킹에 사용된다.
- Cookie 탈취
- CSRF(Cross-Site Request Forgery)
- 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 해킹 공격
- XSS와 유사하게 자바스크립트를 삽입하는 공격기법이지만, 현재 사이트가 아닌 특정 사이트에 요청을 계속 하게 만드는 공격
- Backdoor
- 정상적인 인증 절차를 거치지 않고, 응용프로그램 및 시스템에 접근할 수 있도록 만든 프로그램
- Password Cracking
- 시스템의 비밀번호를 각종 툴을 통해 알아내는 공격 기법
- Rainbow Table
- 해시함수(MD5, SHA-1 등)을 사용하여 만들어낼 수 있는 값들을 대량으로 저장한 테이블
- 방어: Salting
- APT(Advance Persistent Threat)
- 지속적이고 지능적인 해킹 공격의 통칭
- Nucking
- 특정 IP에 대량의 패킷을 보내 인터넷 접속을 끊는 크래킹의 일종
- 게임에서도 많이 사용함.
- 부채널 공격(Side Channel Attack)
- 암호 알고리즘을 대상으로 한 물리적 공격 기법
- 무차별 대입 공격(Brute Force)
- 조합 가능한 모든 문자열을 하나씩 대입해 공격
- 방어: Key Stretching
- Dictionary Attack
- 암호화되어 저장된 패스워드를 알아내기 위한 공격 기법 중 하나
- 많이 사용되는 날짜, 전화번호 등과 같은 패턴들을 사전형태로 만들어 조합하는 공격
- Key Logger Attack
- 컴퓨터 사용자의 키보드 움직임을 탐지해 ID, 패스워드 등 개인의 중요한 정보를 해킹
- 스파이웨어(Spyware)
- 사용자 동의 없이 사용자 정보를 수집하는 프로그램
- 에드웨어(Adware)
- 광고 프로그램
- 트랙웨어(Trackware)
- 시스템 작업을 추적하고 시스템 정보를 수집하거나 사용자 습관을 추적하여 이 정보를 다른 조직에 전달하는 프로그램
- 그레이웨어(Graywrare)
- 악성 소프트웨어로 일반 소프트웨어와 바이러스 소프트웨어의 중간에 속하는 프로그램
- 사용제에게 불편을 주는 소프트웨어
- 크라임웨어(Crimeware)
- 불법 온라인 활동을 용이하게 하기 위해 고안된 소프트웨어
- 스파이웨어, 키 로거 등 해킹 기법 활용, 온라인상 금융정보 탈취 같은 불법 활동을 위한 소프트웨어
- 랜섬웨어(Ransomware)
- 컴퓨터 시스템을 감염시켜 접근을 제한하고 일종의 몸값을 요구하는 악성 소프트웨어의 한 종류.
- 제로데이 공격(Zero-Day Attack)
- 컴퓨터 소프트웨어의 취약점을 공격하는 기술적 위협으로, 해당 취약점에 대한 패치가 나오지 않은 시점에서 이루어지는 공격
- 사회공학(Social Engineering)
- 기술적인 방법이 아닌, 사람들 간의 기본적인 신뢰를 기반으로 속여 비밀정보를 획득하는 기법
- Evil Twin Attack
- 와이파이 무선 네트워크에서 공격자가 가짜 AP(Access Point)를 구축하고 강한 신호를 보내어 사용자가 가짜 AP에 접속하게 해 사용자 정보를 가로채는 기법
- Bluebug
- 블루투스 취약점을 이용하여 장비의 파일에 접근하는 공격
- 한 번 연결되면 이후에는 다시 연결해주지 않아도 자동으로 연결되는 인증 취약점 이용
- BlueSnarf
- 블루투스 취약점을 이용해 장비의 임의의 파일에 접근하는 공격
- 인증 없이 정보를 교환하는 OPP 기능을 사용하여 파일에 접근
- BluePrinting
- 블루투스 공격 장치의 검색 활동
- BlueJacking
- 개인이 특정 반경 내에서 블루투스 지원 장치로 익명 메시지를 보낼 수 있는 해킹 방법
- 명함을 발행하듯 뿌리는 기법
- Switch Jamming
- 위조된 MAC(매체 접근 제어) 주소를 지속적으로 네트워크로 흘려보내, 스위치 MAC 주소 테이블의 저장 기능을 혼란시켜 더미 허브처럼 작동하게 하는 공격
- 즉, 데이터를 지속적으로 보내어 제 기능을 하지 못하도록 하는 공격 기법
- Honeypot
- 비정상적인 접근의 탐지를 위해 의도적으로 설치해 둔 시스템
- 크래커 추적 및 공격기법의 수집을 위해 사용
- 블루킵(Bluekeep)
- 원격 데스크톱 서비스를 인증 없이 조작할 수 있는 취약점
- 인포데믹스(Infodemics)
- 스마트폰과 SNS 등의 발달로 잘못된 정보나 소문이 지나치게 빨리 확산되며 대중의 두려움이 필요 이상으로 증폭되는 현상
- 살라미(Salami)
- 금융 기관이나 인터넷상에서 많은 사람들로부터 적은 금액을 조금씩 빼내는 기법
- 다크 데이터(Dark Data)
- 기업이 정보를 수집 후, 저장만 하고 분석에 활용하고 있지 않은 다량의 데이터
- 킬 스위치(Kill Switch)
- 분실한 정보기기를 원격으로 조작해 개인 데이터를 삭제하고 사용을 막는 일종의 자폭 기능
- 트러스트존(TrustZone)
- 독립적인 보안 구역을 따로 두어 중요한 정보를 보호하는 하드웨어 기반의 보안 기술
- 웜(Worm)
'정보처리기사' 카테고리의 다른 글
[정보처리기사] 네트워크_데이터 베이스_신기술 용어 (0) | 2023.07.02 |
---|---|
[정보처리기사] SW 개발 동향 (0) | 2023.07.01 |
[정보처리기사] 시스템 보안 구현 (0) | 2023.06.30 |
[정보처리기사] 인증과 접근 통제 (0) | 2023.06.29 |
[정보처리기사] SW개발 보안 구현 (0) | 2023.06.29 |