오브의 빛나는 별

네트워크3, 암호 및 응용1 본문

해킹

네트워크3, 암호 및 응용1

오브의 별 2021. 10. 10. 16:16
반응형

안녕하세요, 오브입니다.

오늘은 저저번 시간과 저번 시간에 했던 네트워크를 마무리하고 암호 및 응용에 대해 알아보겠습니다.

네트워크1, 2를 참고해주세요

https://staraube.tistory.com/21

 

네트워크1

안녕하세요, 오브입니다. 오늘은 네트워크에 대해 알아보겠습니다. 회선 교환망 vs 패킷 교환망 회선 교환망 - 물리적인 연결로 통신이 끝날 때까지 연결을 독점적으로 사용 - 연결 중 다른 사람

staraube.tistory.com

https://staraube.tistory.com/27

 

네트워크2

안녕하세요, 오브입니다. 오늘은 저번 시간에 했던 네트워크에 대해 이어서 알아보겠습니다. 네트워크1을 참고해주세요:) https://staraube.tistory.com/21 네트워크1 안녕하세요, 오브입니다. 오늘은 네

staraube.tistory.com

 

네트워크 공격- TCP SYN Flooding
- DoS 공격 종류 중 하나, TCP 연결과정의 취약점 이용.
- TCP SYN Flooding: 서버에 전달되는 TCP SYN 패킷이 너무 많아서 다른 클라이언트가 접속 불가능하게 하는 공격
- 연결 방법
1. 클라이언트가 SYN 패킷을 서버에게 보냄
2. 서버가 SYN 패킷의 응답인 SYN-ACK을 클라이언트에게 보냄
3. 클라이언트는 ACK을 서버에게 보내면 연결 성사

https://blog.naver.com/darkadooa/221581604812

- TCP SYN Flooding 공격은 공격자가 ACK 신호를 보내지 않고 계속 SYN만 보냄.
- 서버는 ACK 신호를 기다리면서 Half Open(대기) 상태에 머무르게 됨.
- 일정시간 후 요청이 없으면 Backlog 큐에 쌓아 두게 되고 계속 큐가 쌓이면 자원 고갈 상태가 됨 => 서비스 거부 상태가 됨
대응책
- Backlog 큐의 크기를 늘린다. 임시적으로 접속 문제 해결
- syncookies 기능 사용. Syncookies 기능은 SYN을 받게 되면 바로 SYN Backlog를 저장하지 않고 상대방과 연결되었을 때만 listen Backlog에 저장. syn의 빈도가 많으면 무시

 

네트워크 공격- HTTP GET Flooding
- HTTP GET을 지속적으로 요청하여 HTTP 연결 및 처리 로직까지 과부하 유발
- 동일한 URL을 지속적으로 요청하여 웹 서버의 자원을 고갈시키는 공격
- TCP 2-Way Handshaking 이후 공격을 수행하기 때문에 IP 변조x
- 정상적인 TCP 연결 이후 HTTP Transaction 과정을 수행하는 방식으로 DoS/DDos 공격 방식을 가짐
- 악성 트래픽과 일반 트래픽 구별이 어려워 공격 완화가 복잡
※ HTTP Transaction: 웹 브라우저가 웹 서버에 하나의 요청을 보내고 요청을 처리하여 응답을 전송하는 한 번의 과정

https://blog.naver.com/for_nis/221587438310

대응책
- 선별적 IP 차단: TCP 연결 요청 및 STTP GET 임계치 값 모니터링 후 비정상 트래픽 차단
- 요청 횟수 한계치 설정: IP 마다 요청 횟수 한계치 설정
- 방화벽 차단 목록: 시간대별 임계치 설정. 설정한 임계치 이상의 TP는 차단 목록에 등록
- Web Scraping: L7 스위치를 운영하는 경우 이 기능을 이용하여 요청 패킷에 대한 쿠키 값이나 자바 스크립트를 보내어 재요청 패킷이 없는 경우 해당 패킷 차단

 

네트워크 공격- HTTP CC
- 서버에 전달되는 HTTP GET 패킷에 캐싱 장비가 응답하지 않도록 설정하여 서버의 부하를 증가시켜서 다른 클라이언트 시스템이 해당 서버의 서비스를 받을 수 없도록 하는 공격
- 서버 부하를 감소시키기 위해 캐싱 서버를 운영하는데 서버가 직접 처리하도록 유도하여 서버의 자원을 소진시킴
- 공격 트래픽 HTTP 헤더의 cache-control 값이 no-store로 저장
- no-store: 캐시 저장 금지. 클라이언트로부터 요청받은 데이터를 별도의 시스템에 저장하는 것 방지
- must-revalidate(캐시 검증): 서버와 별도로 캐싱 서버를 운영하는 경우 서버는 캐싱 서버에 저장된 캐시 데이터에 대한 검증 요구
- HTTP 헤더에 cache-control 값을 no-store 또는 must-revalidate로 지정하면 캐싱 장비가 응답하지 않고 웹 서버가 응답
대응책
- 캐시 장비 또는 그 앞에 방화벽 설치.
- 캐싱 장비를 이용할 수 없게 하는 no-store과 must-revalidate 같은 포함된 문자열이 포함된 패킷에 대한 임계치 설정
- 일정량 이상의 공격 패킷 차단

 

네트워크 공격- DNS Amplification
- 공격자가 증폭된 트래픽 양으로 대상 서버 또는 네트워크를 압도하고 서버 및 주변 인프라에 액세스 할 수 없도록 하는 반사 기반 DDoS 공격
- 공격자와 웹 자원 간의 대역폭 비용 차이 이용. 대량의 응답을 요구하는 소량의 쿼리를 보냄. => 공격이 감지되지 않으면서 공격 트래픽을 크게 늘릴 수 있음

공격 방법
1. 공격자는 손상된 엔드포인트를 사용하여 UDP 패킷과 스푸핑 된 IP 주소, 즉 피해자의 실제 IP 주소를 DNS 재귀자에게 전송.
2. 모든 UDP 패킷이 각각 요청을 하며 DNS 레코드 쿼리를 ANY 인수로 설정하여 가장 큰 응답을 수신
3. DNS 확인자는 요청을 수신하면, 응답을 통해 스푸핑된 IP 주소로 많은 양의 응답을 보냄
4. 피해자의 IP 주소는 이 응답을 수신하게 되고 주변 네트워크 인프라가 이러한 트래픽의 폭주로 인해 압도되어 서비스 거부 발생

https://blog.naver.com/tkdldjs35/221300358340

대응책
- 증폭 공격 방지로 Recursive(재귀적 질의) 방식을 사용하지 않도록 DNS 서버 설정
- 출발지 IP 위조를 방지하기 위해 DNS 쿼리에 대한 응답은 내부 IP에서만 응답하도록 DNS 서버 설정
- IP 변조에 대한 필터링하는 장비의 경우 출발지가 변조된 IP는 차단하도록 설정

 

네트워크 공격- ARP Spoofing
- ARP: IP 주소를 이용해 해당 호스트의 MAC 주소를 제공하는 프로토콜. 같은 네트워크에서 브로드캐스트를 뿌려서 응답하는 호스트와 MAC을 연결하는 방식. <==> RARP: MAC 주소를 이용해 IP 주소 제공 프로토콜
- 주소 결정 프로토콜(ARP) 메시지를 변조시켜 공격하고자 하는 특정 IP 주소를 해커 자신의 MAC 주소로 연결시켜 해당 IP로 전달되는 개인정보 등의 데이터를 중간에서 가로채는 공격
- 네트워크의 서브넷 내에 침투래 ARP 위장 패킷을 이용하여 해당 서브넷 내의 PC들을 감염시키는 기법

공격 방법
1. 공격자가 사용자인 척 단말기에 ARP reply를 보내서 자신의 MAC 주소 등록
2. 두 호스트 사이의 모든 패킷을 캡처할 수 있고 재전송 가능

https://blog.naver.com/kiminkyu11/40166443405

ARP spoofing 발생 시 증상
<피해 시스템의 증상>
- 네트워크 속도 저하
- 악성코드가 웹 페이지 시작 부분에 위치
- 정기적인 ARP 패킷 다량 수신
<공격 시스템의 증상>
- 네트워크 사용량 증가
- 정기적인 ARP 패킷 발송
- 악성 프로그램의 프로세스 동작

탐지 방법
<피해 시스템>
- ARP 테이블을 통해 MAC 주소 중복 확인
- 송수신 패킷에서 악성 코드 유무 검사
- 비정상적인 ARP 패킷 수신 확인
ARP 테이블 감시 도구 활용
<공격 시스템>
- 패킷 캡처 프로그램 존재 유무 확인
- 네트워크 어댑터의 동작 상태 확인
- ARP 패킷 관찰
<네트워크 장비>
- ARP 테이블 확인 
- 패킷 모니터링 기능 활용

대응책
<시스템>
- 정적인 ARP 테이블 고나리 
- ARP Spoofing 서버로 악용되지 않도록 보안 수준 강화
- 중요 패킷 암호화
<네트워크 장비>
- MAC Flooding 제어 및 정적인 MAC 주소 관리
- ARP 패킷 검사

 

네트워크 공격- DNS Spoofing
- 실제 DNS 서버를 해킹하거나, 위조 DNS 서버를 설치하여 공격
- 사용자가 질의한 도메인 이름에 대해 고의로 잘못된 IP 주소를 응답으로 보내 사용자가 잘못된 사이트에 접속하게 하여 개인정보 등 탈취

공격 방법
1. 클라이언트가 DNS 서버로 DNS 쿼리 패킷 전송한 것 확인
2. DNS 서버가 올바를 DNS Reponse 패킷을 보내기 전 위조된 DNS Reponse 패킷을 클라이언트에게 보냄
3. 클라이언트는 공격자가 보낸 DNS Reponse 패킷을 올바른 패킷으로 인식하고 위조된 웹 서버로 접속
대응책
- MAC 주소를 Dynamic이 아닌 Static으로 고정
- HOSTS 파일을 이용해 중요 사이트 IP 주소 고정
- 실시간 모니터링
- DNSSEC 사용

 


 

암호 주요 정의 및 개념
- 평문: 암호화되지 않은 문서로, 공격자를 포함해 누구나 읽을 수 있는 문서
- 암호문: 공격자가 해석하거나 읽을 수 없는 문서
- 원문: 복호화된 암호문으로, 누구나 읽을 수 있는 문서
- 엄호화: 데이터를 읽을 수 없는 형태로 변형하는 행위. 암호화 알고리즘과 키 등을 이용하여 평문을 암호문으로 바꾸는 과정
- 복호화: 데이터를 읽을 수 있는 형태로 변형하는 행위. 암호문을 평문으로 바꾸는 과정
- 키: 암호화와 복호화를 제어하는 비밀 값
- 암호 시스템, 암호 기법: 암호화 및 복호화에 관한 전 과정을 총칭하는 용어로 알고리즘, 키, 키 관리 기능을 모두 포함하는 시스템
- 암호화 알고리즘: 암호화에 사용되는 수학적 규칙의 조합, 알고리즘
- 복호화 알고리즘: 복호화에 사용되는 수학적 규칙의 조합, 알고리즘
암호 알고리즘의 분류
대칭키 알고리즘(=비밀키)
- 스트림 암호: 이진화된 평문 스트림과 이진 키스트림의 XOR 연산으로 암호문을 생성하는 방식
- 블록 암호: 고정된 블록 단위로 암복호화 연산 수행

비대칭키 알고리즘(=공개키)
- RSA: 공개키와 개인키를 세트로 만들어 암복호화를 하는 인터넷 암호화 및 인증 시스템

하이브리드 알고리즘
- 메시지 자체를 암호화할 때는 속도가 빠른 대침 알고리즘 사용, 키 전달은 비대칭 알고리즘 사용

Kerckhoffs Principle
- 공격자가 암호 알고리즘을 알고 있더라도 키 없이는 복호화해서 평문을 얻을 수 없어야 함
- 암호 알고리즘의 안전성이 암호 알고리즘 설계 자체의 비밀성에 의존해서는 안되고 키의 비밀성에 의존해야 함을 강조
- 실제호 알고리즘 자체는 역공학을 통해 노출 가능. 결론적으로 어떠한 암호 알고리즘도 이 원칙을 충족하지 않는다면 결함이 있는 것으로 인정
- 현대의 많은 암호 알고리즘은 널리 공개해서 많은 암호학자의 검증을 거치면서 안전성을 인정받고 사용하는 경우가 많음
XOR
- exclusive OR. 배타적 논리합
- 프로그래밍 언어에서 ^ 기호로 연산자 표기
- 두 입력이 같으면 0, 다르면 1 반환
- ex) 6과 22에 대해 XOR 연산 => 0000 0110 ^ 0001 0110 = 0001 0000
- 결합 법칙, 교환 법칙 성립
- XOR을 두 번 적용하면 원래 값이 나옴
- 덧셈, 뺄셈보다 XOR의 길이가 더 적기 때문에 XOR을 주로 사용. 

https://blog.naver.com/5755084/222316922856

반응형

'해킹' 카테고리의 다른 글

Buffer Overflow와 Return Oriented Programming  (0) 2021.11.28
취약점 분석  (0) 2021.11.21
암호 및 응용2  (0) 2021.11.07
네트워크2  (0) 2021.10.02
네트워크1  (0) 2021.09.19