정진(바르게 나아가기)
/
포스트
/
네트워크 보안
/
네트워크
Search
Share
네트워크
갤러리 보기
Search
•
네트워크의 정의
◦
지역적으로 분산된 위치에서 컴퓨터 시스템 간에 데이터 통신을 하기위한 하드웨어 및 소프트웨어의 집합
•
네트워크의 역사
◦
모스와 전신기(1800년경) → 벨의 전화기(1876년) → 헤르츠의 라디오파 실험(1888년)
•
정보 보안의 3요소와 추가 요소
◦
기밀성
: 허락되지 않은 사용자 또는 객체가 정보의 내용을 알 수 없도록 하는 것, 프라이버시 보호,
시스템 간 안전한 데이터 전송, 스니핑은 기밀성을 해치는 가장 일반적인 공격 형태,
통신의 암호화가 가장 일반적인 보안 대책
◦
무결성
: 허락되지 않은 사용자 또는 객체가 정보를 함부로 수정할 수 없도록 하는 것, 클라이언트와 서버 간의 데이터가 변조되지 않고 전송되는가, 세션 하이재킹, MITM(Man in the middle) 공격은 무결성을 해치는 대표적인 공격, 통신의 암호화가 가장 일반적인 보안 대책
◦
가용성
: 허락된 사용자 또는 객체가 정보에 접근하려고 할 때 방해받지 않도록 하는것 , Dos 공격이 가용성을 해치는 대표적인 공격
◦
서버 인증
: 클라이언트가 올바른 서버로 접속하는가를 의미, DNS 스푸핑이나 서버 파밍등의 문제가 있음, SSL 을 통해 서버 인증을 하지만, 경고를 보여주고 사용자에게 선택을 하게 하는것이 일반적이며 강제적인 서버 인증은 흔치 않음
◦
클라이언트 인증 :
서버로 올바른 클라이언트가 접속을 시도하는거를 의미, 웹 사이트에 접근할 때 사용하는 아이디와 패스워드가 대표적인 클라이언트 인증, 클라이언트 인증과 관련된 해킹은 스푸핑, 세션 하이재킹, 피싱 등
같은 태그의 다른 글 보기
1. 네트워크와 보안
2022/04/14 05:37
•
프로토콜이란?
◦
본래 의미는 외교에서 의례 또는 의정서
◦
컴퓨터와 컴퓨터 사이에서 메시지를 전달하는 과정
•
프로토콜의 3가지 요소
◦
구문 : 데이터의 구조나 포맷을 의미
◦
의미 : 전송되는 데이터의 각 부분이 무엇을 뜻하는지를 알 수 있게 미리 정해둔 규칙
◦
순서 : 어떤 데이터를 보낼 것인지와 얼마나 빠르게 데이터를 보낼 것인지 정의
•
프로토콜의 기능
◦
주소 설정 : 서로 다른 시스템의 두 개체가 통신을 하는 경우 필요
◦
순서 제어 : 프로토콜 데이터 단위를 전송할 때 보내는 순서를 명시하는 기능(연결 지향형에만 사용)
◦
데이터 대열의 단편화 및 재조합 : 대용량 파일을 전송할 떄 전송 효율이 높은 작은 단위로 나누어 전송한 뒤 전송받은 시스템에서 이를 재조합해야 함
◦
캡슐화 : 데이터에 제어 정보를 덧붙이것
◦
연결 제어 : 연결 설정, 데이터 전송, 연결 해제에 대한 통제 수행
◦
흐름 제어 : 송신 측 개체로 부터 오는 데이터의 양이나 속도를 조절하는 기능, 송신측과 수신측의 속도 차이 등으로 인한 정보 유실을 방지
◦
오류 제어 : 두 개체에서 데이터를 교환할 때 SDU나 PCI가 잘못되었을 경우, 이를 발견하는 기법
◦
동기화 : 두 개체 간의 데이터를 전송할 떄 각 개체는 특정 타이머 값이나 윈도우 크기등을 통해 동시에 정의된 인자 값을 공유 하는 것
◦
다중화 : 통신 선로 하나에서 여러 시스템을 동시에 통신 할 수 있는 기법
◦
전송 서비스 : 우선순의 결정, 서비스 등급과 보안 요구 등을 제어하는 서비스
•
네트워크 계층화
◦
1980년대 초 ISO는 여러 업체가 만든 시스템에 대해 상호연동이 가능한 표준 네트워크 모델을 제정할 필요성을 인식
◦
1984년 OSI 네트워크 모델을 발표
•
OSI 7계층
◦
1계층(물리 계층)
▪
실제 장치를 연결하는 데 필요한 전기적, 물리적 세부 사항을 정의
▪
대표적인 예 : 허브, 리피터
◦
2계층(데이터 링크 계층)
▪
점대점 사이의 신뢰성 있는 전송을 보장하기 위한 계층ㅅ
▪
CRC 기반의 오류 제어와 흐름제어가 필요
▪
가장 잘 알려진 예는 이더넷
▪
랜 카드나 네트워크 장비의 하드웨어 주소(MAC 주소)만으로 통신하는 계층
▪
MAC 주소 : 총 12개의 16진수, 같은 MAC 주소는 존재하지 않음
◦
3계층(네트워크 계층)
▪
여러 노드를 거칠 때마다 경로를 찾아주는 역할
▪
라우팅, 흐름 제어, 단편화/재결합, 오류 제어등을 수행
▪
대표적인 예 : 라우터(L3 스위치)
◦
4계층(전송 계층)
▪
양 끝단 사용자들이 신뢰성 있는 데이터를 주고 받을 수 있게 하여 상위 계층이 데이터 전달의 유효성이나 효율성을 고려하지 않아도 됨
▪
전송 계층에서 동작하는 프로토콜 중 TCP는 연결 지향 프로토콜
◦
5계층(세션 계층)
▪
양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공
▪
동시 송수신 방식, 반이중 방식, 전 이중 방식의 통신과 함께 체크 포인팅과 유휴, 종료, 재시작 과정등을 수행
▪
TCP/IP 세션을 만들고 없애는 책임을 짐
◦
6계층(표현 계층)
▪
시스템에서 사용되는 코드 간의 번역을 담당
▪
데이터 압축과 암호화 기능 수행
◦
7계층(응용 계층)
▪
사용자나 응용 프로그램 사이에 데이터 교환을 가능하게 하는 계층
▪
HTTP, FTP,터미널 서비스, 메일 프로그램, 디렉토리 서비스 등을 제공
2. 네트워크에 대한 이해
2022/04/14 05:55
•
Whois
◦
1984년에 만들어진 도메인 확인, 도메인 관련 사람 및 인터넷 자원을 찾아보기위한 프로토콜
•
Whosis 서버로 얻을 수 있는 정보
◦
도메인 등록 및 관련 기관 정보
◦
도메인 이름과 관련된 인터넷 자원 정보
◦
목표 사이트의 네트워크 주소와 IP 주소
◦
등록자, 관리자, 기술 관리자의 이름, 연락처, 이메일 계정
◦
레코드의 생성 시기와 갱신 시기
◦
주 DNS 서버와 보조 DNS 서버
◦
IP 주소의 할당 지역 위치
•
Whois 서버 목록
◦
도메인을 등록하면 각 지역별 Whois 서버에 등록됨
•
Hosts 파일
◦
DNS가 존재하기 전에 사용했고, 지금도 목적에 따라 많이 사용
◦
접속 가능한 서버 정보를 직접 추가로 등록
◦
구조 : IP주소 : 도메인 이름 또는 임의의 명칭
◦
DNS 서버가 작동하지 않을 때, 별도의 네트워크를 구성하여 임의로 사용할 때, 다른 IP 주소를 가진 여러대의 서버가 같은 도메인으로 클러스터링 되어 운영되는 상태에서 특정 서버에 접속하고 자 할 때 유용
3. Whois와 DNS 조사
2022/04/14 06:48
•
IP 주소 추적의 기본은 출발지 IP주소 확인
•
임의의 IP 주소와 관련된 정보 확인 사이트 :
https://www.ip-tracker.org/
•
수신된 메일의 구조
•
작성된 메일은 여러 메일 서버를 거쳐 최종 목적지까지 전달
•
메일 서버를 거치는 메일 전송 과정
•
Received-SPF : 주요 메일 서버와 IP를 등록해두고, 메일이 전송된 서버의 IP와 메일 주소를 확인하여 스팸 메일 여부를 검사한 결과를 표시
•
메일 서버 등록제 : 메일 서버 정보를 DNS에 공개 등록함으로써 수신자로 하여금 이메일에 표시된 발송자 정보가 실제 메일서버의 정보와 일치하는 지를 확인할 수 있도록 하는 인증 기술
•
P2P 서비스
◦
대표적인 예 : 카카오톡, 스카이프, 네이트온 등의 메신저 또는 보이스톡과 같은 개인 간 통신 서비스
◦
peer to peer, 즉 당사자 간의 통신이라는 특성 때문에 서비스를 이용하는 사용자의 IP정보가 노출될 수 있음.
◦
p2p 서비스의 메시지 전송
◦
p2p 서비스의 파일 전송
•
웹 해킹 공격
◦
요즘에는 웹 해킹 공격이 많이 발생
◦
APT 공격은 웹 페이지의 취약점을 이용하는 경우가 많음
◦
해커는 웹 사이트의 구조를 파악하고 공격하기 위해 웹 게시판에 접근하므로 서비스의 로그를 분석하면 해커의 IP를 확인할 수 있음
4. IP 주소 추적
2022/04/15 03:54
•
풋 프린팅 : 발자국을 살펴보는 일, 공격 대상의 정보를 모으는 방법 중 하나
•
사회 공학 기법 : 실제로 패스워드가 노출되는 사건의 대부분이 사회 공학에 의한 것
◦
친구끼리 사용자 계정이나 패스워드 정보를 주고 받거나, 패스워드를 잊지 않으려고 수첩이나 컴퓨터 앞에 적어 놓은 것들을 이용하는 해킹
•
해킹에 필요한 정보
◦
침투하고자 하는 시스템의 사용자 계정
◦
그 사용자에 대한 정보와 계정 패스워드 정보
◦
기관 또는 회사의 게시판 이용
◦
협력사나 계열사 등의 보안 조치 확인 → 리히비 최소량의 법칙
◦
주의 사항 : 공격 대상 사이트를 직접 접속하는 것보다 유틸리티로 웹 사이트를 다운로드한 뒤 검색하는 것이 안전함
•
스캔 : 서비스를 제공하는 서버의 작동 여부와 서버가 제공하는 서비스를 확인하기 위한 작업
◦
전화를 걸었을 때 한쪽에서 “여보세요” 라고 말하면 다른 쪽도 “여보세요” 라고 말하면서 상대방이 연결되어 있음을 확인하는 과정
•
핑 : 네트워크 상으로 연결된 두 개의 시스템이 정상적으로 작동하는지 확인하기 위한 간단한 유틸리티
◦
ICMP를 사용하며, 기본적으로 TCP/IP 네트워크에서 사용
◦
ICMP를 이용해 공격 대상 시스템의 활성화 여부를 알아보는 방법
1.
Echo Request와 Echo Reply 이용하기 → 가장 일반적인 방법(ping)
a.
Type 8 : 반향 응답 / Type 0 : 반향 응답
2.
Timestamp Request와 Timestamp Reply 이용하기
a.
Type 13 / Type 14
3.
Information Request 와 Information Reply 이용하기
a.
Type 15 / Type 16
4.
ICMP Address Mask Request와 ICMP Address Mask Reply 이용하기
a.
Type 17 / Type 18
•
포트 스캔
◦
공격 대상 서버의 통신 포트가 열려있는 지의 여부를 조사하는 것
◦
서버의 취약점 점검을 위한 보안 담당자 또는 해킹을 하기 위한 해커 등이 사용
◦
사용 프로토콜에 따라 TCP 스캔과 UDP 스캔이 있음
◦
TCP 패킷을 이용한 스캔
▪
포트 스캔은 모든 시스템에 동일하게 적용되지 않음
▪
많이 알려져서 응답이 일정하지 않음
▪
SYN 패킷을 이용한 스캔 방법은 세션을 성립하기 위한 정당한 패킷과 구별할 수 없기 때문에 아직도 유효하며 아주 효과적
▪
TCP OPEN 스캔
•
TCP를 이용한 가장 기본적인 스캔
▪
스텔스 스캔
•
로그를 남기지 않는 것만이 아니라, 공격 대상을 속이고 자신의 위치를 숨기는 스캔 모두를 통칭, 대표적인 경우로 TCP half open 스캔이 있음
•
외에도 FIN , NULL,XMAS 스캔이 있음
◦
FIN 스캔 : 포트가 열린 경우 아무 응답이 없고 , 닫힌 경우 RST 패킷이 돌아옴
◦
NULL 스캔 : 플래그 값을 설정하지 않고 보낸 패킷
◦
XMAS 스캔 : FIN, PUSH, URG 플래그 모두를 설정하여 보낸 패킷
•
TCP 단편화 공격
◦
크기가 20바이트인 TCP 헤더를 두 개의 분리된 패킷으로 나누어 보냄
◦
첫번째 패킷은 출발지와 도착지 IP주소 정보만 포함하고, 두 번째 패킷에는 스캔하려는 포트 번호를 포함
◦
첫 번째 패킷은 TCP 포트에 대한 정보가 없어 방화벽을 통과하고, 두 번째 패킷은 출발지와 목적지 주소가 없어 방화벽을 지날 수 있음
◦
패킷 재조합을 생각하면 이해하기 쉬움
•
시간차를 이용한 스캔
◦
아주 짧은 시간 동안 많은 패킷을 보내는 방법(방화벽과 IDS 처리 용량의 한계를 넘기는 방법)
◦
아주 긴 시간 동안 패킷을 천천히 보내는 방법
•
FTP 바운스 스캔 또는 공격
◦
FTP 프로토콜 구조의 허점을 이용한 공격 방법
◦
FTP는 서버/ 클라이언트 구조로 이루어져 있으며 두 호스트 간의 통신을 위해 20번과 21번 2개의 포트를 사용
◦
21번 : 클라→ 서버 명령 전송
◦
20번: 서버 → 클라 데이터 전송
◦
데이터 수신할 때 FTP 클라이언트는 FTP 서버로부터 FTP 클라이언트가 데이터를 수신할 IP주소와 포트 번호를 전달
◦
FTP 서버가 데이터를 전송할 때, 목적지 IP 주소와 포트 번호에 대한 점검 하지 않는 설계상의 문제가 있기 때문에, 해당 목적지 서버가 스캔 또는 공격 대상이 될 수도 있는 취약점
◦
FTP 프로토콜의 Active mode와 Passive mode
▪
ACK 패킷을 이용한 스캔
•
모든 포트에 ACK 패킷을 보낸 후 응답으로 돌아온 RST 패킷을 받아 분석
•
포트가 열린 경우 TTL값이 64이하인 RST패킷이, 닫힌 경우 윈도우가 0이 아닌 임의의 값을 가진 RST 패킷이 돌아옴
▪
UDP 스캔
•
포트가 닫힌 경우 공격대상이 ICMP Unreachable 패킷을 보내지만 열린 경우에는 보내지 않음
▪
fping : 인터넷 제어 메시지 프로토콜(ICMP) 에코 요청을 사용하는 ping과 같은 명령어 , ping은 하나의 ip만 설정하지만, fping은 ip대역으로 설정해주어 그 대역에 어느 ip가 ping이 되는지 알 수 있다. 즉 특정 대역에서 어느 IP로 통신이 되는지 확인할 때 활용하면 좋음.
•
스캔 전에 네트워크 시스템 목록을 확인할 때 사용
•
-q : ICMP Request와 Reply를 숨김
•
-a : 활성화되어 있는 시스템을 보여줌
◦
-s : 스캔이 끝난 후 결과를 정리해서 보여줌
•
-g : 점검 대상 범위 지정
▪
nmap : 네트워크 스캐너이다. 대상이 되는 네트워크에 패킷을 보내, 패킷의 응답을 이용하여 송신처의 네트워크의 상태를 알게된다.
•
- sT : Connect 함수를 이용한 Open 스캔
•
-sF : FIN 패킷을 이용한 스캔
•
-sX : XMAS 패킷을 이용한 스캔
•
-sN : NULL 패킷을 이용한 스캔
•
-sV : 서비스 데몬 버전 스캔
▪
배너 그래빙 : 상대 시스템에서 열려 있는 포트에 연동되어 있는 서비스 데몬의 종류와 버전을 확인하는 가장 기본적인 방법
▪
텔넷 처럼 원격지 시스템에 로그인을 하면 뜨는 안내문과 비슷한 배너를 확인하는 기술
2.
SMTP 배너 그래빙의 예시(+ SSH, POP3, IMAP4)
3. 웹 서버에 대해 배너 그래빙 하기
5. 목록화
2022/04/15 06:32
•
스니핑
◦
수동적 공격 : 공격할 때 아무것도 하지 않아도 되며, 희생자가 공격당하고 있음을 인지하지 못함
◦
도청과 엿듣기가 스니핑
◦
전화선이나 UTP에 탭핑해서 전기 신호를 분석하여 정보를 찾아냄
◦
템페스트 장비를 이용해 전기 신호를 분석하는 일
•
혼잡 모드(프러미스큐어스 모드, Promiscuous Mode)
◦
MAC 주소와 IP 주소에 관계없이 모든 패킷을 스니퍼에세 넘겨주는 것
◦
리눅스나 유닉스 등의 운영체제에서 랜 카드에 대한 모드 설정 가능
◦
원도우에서는 스니핑을 위한 드라이버를 따로 설치하여야 함
◦
스니핑을 하려면 처리 성능이 우수한 랜 카드가 필요함
•
바이패스 모드
◦
패킷에 대한 분석까지 하드웨어로 구현되어 있는 랜 카드(프러미스큐어스 모드의 하드웨어 버전)
◦
기가바이트 단위의 백본망에서 스니핑을 하기 위한 장비로 고가임
•
TCP dump
◦
리눅스에서 가장 기본이 되는, 강력한 스니핑 툴
◦
처음에는 네트워크 관리를 위해 개발되었기 때문에 관리자 느낌이 강함
◦
TCP dump로 흭득한 증거 자료는 법적 효력이 있음
◦
CLI 환경에서 동작하며, GUI 환경에서 동작하는 wireshark 가 있음
◦
-i device : 어느 인터페이스를 경유하는 패킷들을 수집할 지 지정한다
◦
지정되지 않으면 시스템의 인터페이스 리스트를 뒤져서 가장 낮은 번호를 가진 인터페이스를 선택한다
◦
-w : 캡쳐한 패킷들을 분석해서 출력하는 대신에 그대로 파일에 저장한다.
◦
-c number: 제시된 수의 패킷을 받은 후 종료한다.
◦
-s length : 패킷들로부터 추출하는 샘플을 default 값인 68byte 이외의 값으로 설정할 때 사용한다.
•
Fragrouter
◦
공격자가 스니핑을 하거나 세션을 가로챘을 때 외부에서 공격자에게 온 패킷을 정상적으로 수신자에게 전달하려면 패킷 릴레이가 반드시 필요함
◦
스니핑을 보조해주는 툴로 , 패킷 릴레이 역할 수행
•
Dsniff
◦
스니핑을 위한 다양한 툴이 패키지처럼 만들어진 것
•
urlsnarf
◦
인터넷 사용자가 접속한 서버와 접속 한 후 입력한 내용 등의 정보를 볼 수 있음
•
스위칭 환경과 스니핑
◦
스위치는 각 장비의 MAC주소를 확인하여 포트에 할당
◦
자신에게 향하지 않은 패킷 외에는 받아볼 수 없어 스니핑 공격 차단
▪
스위치가 스니핑을 막기 위해 만들어진 장비는 아니지만 결과적으로는 스니핑을 막을 수 있는 가장 기본적인 장비
▪
허브는 연결된 기기 중 하나에서 전송된 패킷이 허브에 연결된 모든 기기로 브로드캐스팅 되나는 점이다. 반면 스위치는 패킷의 목적지 주소로 지정된 기기로 이어지는 포트로만 패킷이 전달된다.
◦
SPAN
▪
스위치에서 각 포트에 송수신되는 모든 데이터를 모니터링하는 미러링 포트
▪
SPAN을 이용할 경우 스위치에서도 스니핑 가능
◦
태핑
▪
스위치에서 제공하는 SPAN을 사용할 경우 처리 성능의 저하로 인해 효과적인 모니터링을 하는데 어려움이 있어 이를 해결할 수 있는 장치가 태핑
▪
허브와 같이 포트를 모니터링하기 위한 별도의 네트워크 분기 장비(스플리터 라고 부르기도함)
•
ARP란?
◦
IP 주소를 MAC 주소로 변환하는 프로토콜
•
ARP 리다이렉트
◦
기존 라우터의 MAC 주소를 알아내어, 공격 대상에게 자신의 MAC주소가 라우터인 것처럼 속이기 위해 주기적으로 브로드캐스트한 후, 공격 대상으로부터 수신되는 패킷을 스니핑
◦
브로드캐스팅을 이용하므로, 네트워크 내 모든 호스트가 공격 대상임
6. 스니핑
2022/04/18 03:57
•
스푸핑 : ‘속이다’는 의미
•
인터넷이나 로컬에서 존재하는 모든 연결에 스푸핑 가능
•
정보를 얻어내기 위한 중간 단계의 기술로 사용하는 것 외에 시스템을 마비시키는 데 사용할 수도 있음
•
스푸핑 공격 대비책
◦
관리하는 시스템의 MAC 주소를 확인하여 테이블로 만들어 둠
◦
브로드 캐스트 ping을 네트워크에 뿌려, 그에 답하는 모든 시스템에 MAC 주소 값을 시스템 캐시에 기록함
◦
arp -a 로 현재 IP 주소 값과 MAC 주소의 대칭 값 비교하여 잘못된 MAC 주소로 맵핑되어 있는 항목을 확인
•
MAC 주소 확인하기 : arp -a / arp 캐시 확인
같은 태그의 다른 글 보기
7. 스푸핑
2022/04/19 11:34
•
세션 하이재킹
◦
세션 가로채기 라는 의미
◦
세션이란 사용자와 컴퓨터 또는 두 컴퓨터 간에 연결이 활성화되어있는 상태
•
TCP 세션 하이재킹
◦
Non-Blind Attack(로컬 세션 하이재킹 공격)
▪
서버와 클라이언트가 통신할 때 TCP 시퀀스 넘버 제어의 문제점을 파고드는 공격
▪
공격자는 공격 대상을 탐지하면서 시퀀스 넘버를 알아낼 수 있음
◦
Blind Attack(로컬 세션 하이재킹 공격)
▪
서버와 클라언트가 통신할 때 TCP 시퀀스 넘버를 임의로 선택하는 공격법
▪
공격자는 공격 대상을 탐지할 수 없으며 시퀀스 넘버에 대한 정보도 거의 없음
◦
TCP 시퀀스 넘버 교환
▪
Client_My_Seq : 클라이언트가 관리하는 자신의 시퀀스 넘버
▪
Client_Server_Seq : 클라이언트가 알고 있는 서버의 시퀀스 넘버
▪
Server_My_Seq : 서버가 관리하는 자신의 시퀀스 넘버
▪
Server_Client_Seq : 서버가 알고 있는 클라이언트의 시퀀스 넘버
▪
Data_Len : 데이터의 길이
동기화 상태
1.
클라이언트는 32비트 임의의 숫자로 Client_My_Seq 생성 후 서버에게 전송한다.
2.
Server는 수신된 Client_My_Seq를 Server_Client_Seq 값으로 저장한다.
3.
Server는 Server_My_Seq를 생성하고, Server_Client_Seq + Packet Length 와 같이 클라이언트에게 전송한다.
4.
Client는 수신된 Server_Client_Seq + Packet Length를 받아 자신의 Client_My_Seq와 비교하여 일치하면 Server_My_Seq를 Client_Server_Seq 값으로 저장한다.
5.
Client는 Client_Server_Seq + Packet Length 를 Server에게 보내고 Established 상태가 되며, 서버는 수신된 Client_Server_Seq + Packet Length 를 자신의 Server_My_Seq와 비교하여 일치하면 Established 상태가 된다.
동기화 상태를 요약하면 다음과 같다
Client_My_Seq = Server_Client_Seq
Server_My_Seq = Client_Server_Seq
▪
비동기화 상태
1.
데이터가 전송되기 전까지는 안정적인 상태
•
Client_My_Seq ≠ Server_Client_Seq
2.
데이터가 전송될 때는 저장, 클라이언트에 서버의 승인 번호는 전달되지 않음
•
Client_My_Seq > Server_Client_Seq
•
Client_My_Seq < Server_Client_Seq + Data_Len
3.
패킷 수신이 불가능한 상태로, 데이터도 버려짐
•
Client_My_Seq > Server_Client_Seq + Data_Len
•
Client_My_Seq < Server_Client_Seq
▪
비동기화 상태로 만드는 방법
•
서버에서 초기 설정 단계의 접속을 끊고 다른 시퀀스 넘버로 새로운 접속 생성
•
널 데이터를 보내는 방법
•
공격자가 서버와 클라이언트 사이에서 양쪽의 새로운 접속 생성하기
◦
공격자는 서버와 클라언트가 각자 알고 있는 시퀀스 넘버를 조작해서 속임
•
에크 스톰
◦
클라이언트가 정상적이지 않은 패킷을 서버에 보내면 서버는 정상적인 시퀀스 넘버로 맞추기 위해 ACK 패킷에 Server_My_Seq와 Server_Client_Seq를 담아 보냄
◦
클라이언트는 서버가 보내온 Server_Client_Seq가 자신의 Client_My_Seq와 다름을 확인하고, 서버에 Client_My_Seq와 Client_Server_Seq가 담긴 ACK를 보내는데 이러한 과정이 무한히 반복되는 경우를 뜻함
→ 클라이언트와 서버 간에 잘못된 패킷이 전달되지 않도록 ARP 스푸핑을 해두고 공격을 실시하여야 함
9. 세션 하이재킹
2022/06/10 06:40
•
무선 랜 규격
◦
IEEE 802.11
▪
컴퓨터 통신망의 표준화를 추진하고 있는 IEEE 802 위원회가 개발한 LAN 접속 방법 및 프로토콜 국제 표준을 지칭
▪
11 : 무선 랜과 관련한 표준 위원회
▪
무선 랜에 관해서는 MAC 프로토콜 하나를 여러 물리 계층 규격에서 공유하는 것으로 표준화가 진행되고 있음
◦
IEEE 802.11b
▪
802.11 규격을 기반으로 발전된 기술
▪
최고 전송 속도는 11Mbps 지만, 실제로는 CSMA/CA 기술의 구현 과정에서 6~7 Mbps 정도의 효율을 나타냄
▪
실질적은 무선 랜의 시작이라고 말할 수 있음
◦
IEEE 802.11a
▪
5 GHz 대역의 전파를 사용하는 규격
▪
OFDM 기술을 사용해 전송 속도를 최고 54Mbps까지 지원
▪
5GHz는 2.4GHz 대역에 비해 다른 통신 기기와의 간섭이 적고, 더 넓은 전파 대역을 사용할 수 있다는 장점과 신호의 특성상 장애물이나 도심 건물 등 주변 환경의 영향을 쉽게 받는 단점이 있음
▪
802.11g 규격이 등장하면서 현재는 널리 쓰이지 않음
◦
IEEE 802.11g
▪
802.11a규격과 전송 속도가 같고 2.4GHz 대역 전파를 사용한다는 점만 다름
▪
802.11b규격과 쉽게 호환되어 널리 쓰이고 있음
◦
IEEE 802.11i
▪
WEP 알고리즘 기반의 보안 대책이 취약하다는 것이 공개되면서 개발된 전송 규격
▪
무선 랜 사용자를 보호하기 위해서 사용자 인증 방식, 키 교환 방식 및 향상된 무선 구간 암호 알고리즘을 정의
◦
IEEE 802.11n
▪
2.4 GHz 대역과 5GHz 대역을 사용하면 최고 속도 300Mbps 까지 지원
▪
우리나라의 경우 기술 규격 내 주파수 점유 대역폭의 문제 때문에 133~144Mbps로 속도가 제한되었으나, 2007년 10월 17일 전파 연구소 기술기준고시로 300Mbps까지 사용할 수 있게 됨
◦
IEEE 802.11ac
▪
1.3 Gbps의 속도를 제공
▪
가정 내에서 HD급 영상을 여러 사용자에게 동시에 전송하는 것과 같ㅌ은 새로운 기능을 포함하고 있음
◦
IEEE 802.11ad
▪
와이기그 라고도 불림
▪
고속의 데이터 전송을 하기 위한 표준으로 전송 속도는 약 7Gbps
▪
단거리에서만 사용 가능
•
IEEE 802.11 : 다중 접속
◦
다중 접속 프로토콜 방법
▪
채널 분활(CDMA), 랜덤 접속, 순번제 등이 있음.
▪
유선 및 무선 공통적으로 랜덤 접속 방법을 채택
◦
CSMA(Carrier Sense Multiple Access) 작동 방식
▪
패킷의 송출을 개시하기 직전에, 채널이 사용 중 인가 또는 아닌가를 반송파 검출에 의하여 전송 : Listen Before Talk (LBT)
◦
유선 랜의 랜덤 접속 프로토콜 : CSMA / CD(Carrier Detection)
▪
CSMA 방식에 충동을 검출하는 기능을 추가
◦
무선랜의 랜덤 접속 프로토콜 : CSMA / CA(Collision Avoidance)
▪
유선 랜 에서는 프레임 충돌 검출을 전송 매체 상의 전위 변화로 쉽게 알 수 있으나,
▪
무선 LAN 에서는 공기라는 전송 매체를 이용하므로 충돌 감지가 거의 불가능하기 때문에, 전송 전에 캐리어 감지를 해보고 일정 시간 기다리며, 사전에 가능한 범위 내에서 충돌의 회피 하는 무선 전송 다중 접속 방식
◦
충돌 회피 작동 방식
▪
자신의 데이터를 송신하기 전에 무선 매체를 살피고(Listen)
▪
회선이 비어있다고 판단되면 (캐리어 센싱)
▪
일단 정해진 시간 만큼은 기다리면, (IFS)
▪
이 때 난수를 발생시켜 그 값 만큼 기다리며, 다시 살펴 보았을 때 무선 매체가 사용중이면 점차 그 간격을 늘려감(이진 지수 백오프)
▪
즉, 랜덤화한 구분된 시간 후에 전송매체가 미사용으로 판단된 경우에만 전송 실행
•
무선 랜 이용과 통신 범위
◦
무선 랜은 기본적으로 Ethernet Like 개념으로, 보통 내부 네트워크의 확장으로 이용
◦
무선 랜을 사용하려면 내부의 유선 네트워크에 AP 장비를 설치 해야함
◦
지향성 안테나는 목표 방향을 지정해서 해당 방향으로만 전파를 탐지하기 때문에 통신 거리가 더 길어짐(보통 쟁반이나 접시 등의 모양을 하고 있음)
•
무선 랜 접속
◦
사용 가능한 무선 랜을 확인한 뒤 원하는 무선 공유기를 선택하여 접속
◦
무선 랜 공유기는 정기적으로 SSID(Service Set Identifier)를 브로드 캐스팅 하고 있음
◦
최근에는 보안 문제로 인해 단순 검색만으로 AP가 발견되지 않는 경우가 많음
•
WEP(Wired Equivalent Privacy)
◦
무선 랜 통신을 암호화하기 위해 802.11b 프로토콜에서 부터 적용
◦
1987년에 만들어진 RC4 암호화 알고리즘이 기본
▪
RC4는 로널드 라이베스타가 만든 스트림 암호로, 전송 계층 보안(TLS)이나 WEP 등의 여러 프로토콜에 사용되어 왔지만, 이후 여러 연구를 통해 취약한 것으로 밝혀져, RC4를 사용한 WEP의 경우 해당 프로토콜의 사용을 권장하지 않음
◦
64비트와 128비트 사용
▪
64비트는 40비트, 128비트는 104비트의 RC4키 사용
◦
암호화 과정에서 암호화키와 함께 24비트의 IV를 사용
•
WPA (Wifi Protected Access)
◦
Wi-Fi Alliacnce 가 802.11i 제정 전에 미리 도입 확산 시킨 보안 인증 심사 규격 명칭
◦
암호화 방식 : TKIP
◦
기존 하드웨어와의 호환성 유지 가능
10. 무선 랜 보안
2022/06/12 05:24
•
DoS(Denial of Service , 서비스 거부)
◦
공격 대상이 수용할 수 있는 능력 이상의 정보를 제공하거나 사용자 또는 네트워크 용량을 초과시켜 정상적으로 작동하지 못하게 하는 공격
◦
DoS 공격의 특징
▪
파괴 공격 : 디스크, 데이터, 시스템 파괴
▪
시스템 자원 고갈 공격 : CPU, 메모리, 디스크의 과다한 사용으로 인한 부하 가중
▪
네트워크 자원 고갈 공격 : 쓰레기 데이터로 네트워크 대역폭의 고갈
◦
Ping of Death 공격
1.
Ping을 이용하여 ICMP 패킷의 크기를 정상 보다 아주 크게 만듦
2.
크게 만들어진 패킷은 네트워크를 통해 라우팅되어 공격 네트워크에 도달하는 동안 아주 작은 조각으로 쪼개짐
3.
공격 대상은 조각화된 패킷을 모두 처리해야 하므로 정상적인 ping 보다 부하가 훨씬 많이 걸림
◦
패킷을 왜 작게 분할하여 전달하나?
▪
라우팅은 패킷을 전달할 때 특성이 똑같은 네트워크를 지나지 않음(네트워크 마다 다르다는 뜻)
▪
네트워크마다 전송 가능한 최대 패킷의 길이가 달라 전송가능한 패킷의 길이가 작은 네트워크를 지나면서 데이터는 작게 분할됨
▪
한 번 분할된 패킷은 전송 중에 재결합되지 않음
▪
패킷 재조합하려면 패킷을 저장한 후 다음에 들어온 패킷 데이터를 모두 합쳐 재조합해야 하지만 라운터 성능에 치명적일 정도로 높은 부하를 야기함
▪
최종 수신처인 컴퓨터에서 재결합 진행
◦
패킷 분할
◦
ICMP 패킷의 최대 길이를 65,500바이트로 임의 설정
◦
최대 크기인 65,500바이트로 네트워크에 ping 을 보내면 패킷은 전송에 적절한 크기로 분할됨
◦
채킷이 지나는 네트워크의 최대 전송 길이가 100 바이트라면 패킷 하나가 655개로 자동 분할
◦
보안 대책
▪
반복적으로 들어오는 일정 수 이상의 ICMP 패킷을 무시하도록 설정
▪
가장 일반적으로 할 수 있는 대책은 패치
•
SYN Flooding
◦
서버별로 한정되어 있는 접속 가능 공간에 존재하지 않는 클라이언트가 접속한 것처럼 속여 다른 사용자가 서비스를 제공받지 못하게 하는 것
1.
공격자는 많은 숫자의 SYN 패킷을 서버에 보냄
2.
서버는 받은 SYN 패킷에 대한 SYN/ACK 패킷을 보내고 연결 대기
3.
공격자는 ACK 패킷을 보내지 않음
4.
서버는 자신이 보낸 SYN/ACK 패킷에 대한 ACK 패킷을 받지 못하고 대기
5.
서버는 세션을 계속 유지하여 더 이상 제공할 연결 세션이 없어 공격은 성공하게 됨
◦
‘SYN Received’ 상태로 ACK 패킷을 기다리는 것을 ‘백 로그에 빠졌다’ 고 표현
◦
SYN Flooding 보안 대책
▪
시스템 패치 설치
▪
침입 탐지 시스템이나 침입 차단 시스템을 설치
▪
짧은 시간 안에 똑같은 형태의 패킷을 보내는 형태의 공격을 인지 했을 경우, 그에 해당하는 IP주소 대역의 접속을 금지하거나 방화벽 또는 라우터에서 해당 접속을 금지 시킴
▪
서버에서 클라이언트로 보내는 SYN + ACK 패킷에 암호화 기술을 이용해서 인증 정보가 담긴 시퀀스 넘버를 생성하여 클라이언트에 보내는 SYN_Cookie 이용
•
Boink, Bonk, TearDrop
◦
시스템의 패킷 재전송과 재조합에 과부하가 걸리도록 시퀀스 넘버를 속임
◦
Bonk
▪
처음 패킷을 1번으로 보낸 후 두 번째와 세 번째 패킷의 시퀀스 넘버를 모두 1번으로 조작해서 보냄
◦
Boink
▪
처음 패킷을 1번으로 보낸 후 두번째 패킷은 101번, 세번째 패킷은 201번 등으로 정상적으로 보내다가 중간에서 일정한 시퀀스 넘버를 보냄
◦
Teardrop
▪
시퀀스 넘버를 일정하게 바꾸는 것을 넘어 중첩과 빈 공간을 만들어 시퀀스 넘버가 좀 더 복잡해지도록 섞음
→ 전혀 맞지 않는 시퀀스 넘버로 인해 피공격 대상이 패킷화된 데이터를 재조합하는 과정에 혼란이 생겨 CPU에 과부하가 걸리게됨
•
Land
◦
시스템을 나쁜 상태에 빠지게 하는 것
◦
패킷을 전송할 때 출발지 IP 주소와 목적지 IP 주소의 값을 똑같이 만들어서 공격 대상에게 보냄(조작된 IP 주소 값은 공격 대상의 IP 주소 여야함)
◦
Land 공격으로 동시 접속 사용자 수 증가하고 CPU 부하도 가중됨
◦
보안 대책
▪
라우터나 방화벽에 출발지 IP 주소가 내부 IP 주소와 동일한 패킷 차단
•
Smurf 공격
◦
웜이 네트워크를 공격할 때 많이 사용하는 방법으로 ICMP 패킷 이용
▪
라우터는 기본적으로 로컬 브로드 캐스트를 지원하지 않으 다른 네트워크에 브로드 캐스트를 할 때는 다이렉트 브로드 캐스트를 하게됨
◦
네트워크 주소가 172.16.0.0 일 때, 공격자가 피공격자 IP 주소를 위조하여 목적지 방송 주소 172.16.0.255로 다이렉트 브로드 캐스트 형식으로 보냄
◦
네트워크에 연결된 모든 컴퓨터는 피공격자 IP로 ICMP reply를 보내게 되고, 피 공격자 서버는 Ping of Death 와 같은 공격을 받게됨
◦
보안 대책 : 라우터에서 다이렉트 브로드 캐스트를 차단토록 설정
•
Fraggle 공격
◦
Smurf 공격과 유사하지만 ICMP 대신 UDP 를 사용하는 점이 다름
◦
공격자들은 증폭 네트워크 내의 브로드 캐스트 주소로 전형적은 포트 7을 이용해 가짜 UDP 패킷을 전송
◦
에코가 가능한 네트워크 내의 각각의 시스템은 엄청난 트래픽을 생성하고 공격 대상 서버로 응답을 보내게 됨
◦
만약 증폭된 네트워크 내의 시스템에서 에코가 가능하지 않더라도 ICMP 도달 불능 메시지가 여전히 대역폭을 소모하게 됨
11. Dos와 DDos 공격
2022/06/12 07:13
1.
암호의 기초
•
암호화 과정
•
암호(Cryptography) : 중요 정보를 다른 사람들이 해석할 수 없게 하는 방법
•
평문 : 암호화되기 전의 메시지
•
암호문 : 암호화되고 난 후 변경된 메시지
•
암호화 또는 암호화 과정 : 평문을 암호문으로 바꾸는 과정
•
암호화 알고리즘 : 어떤 방식으로 평문을 암호문으로 변경할 지 경정
7-1 암호
2022/06/13 14:07
•
해시
◦
메시지를 입력으로 하여 길이가 정해지 짧은 값으로 변환 혹은 압축한 것
◦
정보의 무결성을 확인하기 위한 목적으로 사용
◦
입력 메시지의 길이에 상관없이 고정된 길이의 출력 값을 계산
→ 압축 기능 제공
•
일방향성
◦
해시 함수의 결과 값에서 역으로 어떤 입력 메시지였는지를 알아내는 것은 계산상 불가능
•
충돌 회피
◦
서로 다른 입력 메시지에 대해서는 서로 다른 해시 결과값이 계산
◦
효율성 : 해시 함수는 계산하는 데 시간과 자원이 적게 필요함
•
해시 관련 용어
◦
해시 함수 : 메시지 다이제스트 함수, 메시지 요약 함수
◦
메시지 : 프리 이미지
◦
해시 결과값 : 메시지 다이제스트, 지문, 핑거 프린트
◦
무결성 : 완전성, 보전성
8-2 암호를 이용한 인증
2022/06/13 16:01
•
SSL/TLS 상의 HTTP
◦
통신 내용을 암호화해 주는 프로토콜로서 SSL(Secure Socket Layer) 혹은 TLS(Transport Layer Security)를 이용
◦
프로토콜의 이중 구조
▪
SSL/ TLS 상에서 HTTP 실행
▪
HTTP의 통신(요청과 응답)은 암호화 되어 도청을 방지
▪
신용카드 번호 보내기(SSL/TLS의 역할)
1) 기밀성 : 앨리스가 송신하는 신용카드 번호와 주소를 ‘도청’ 당하는 일 없이 밥 서점에 보내고 싶다.
2) 무결성 : 앨리스가 송신하는 신용카드 번호와 주소를 ‘조작’ 당하는 일 없이 밥 서점에 보내고 싶다.
3) 인증 : 통신 상대의 웹 서버가 ‘진짜 밥 서점’ 이라는 것을 확인하고 싶다.
▪
해결책
•
기밀성 : 대칭암호
◦
대칭키 생성 : 의사 난수 생성기
◦
대칭 암호키 공유 : 공개키 암호, Diffie-Hellman 키 교환
•
데이터 인증 : 메시지 인증 코드
◦
메시지 인증 코드 생성 : 일방향 해시 함수
•
상대 인증 : 공개키에 디지털 서명을 붙인 인증서
▪
SSL/TLS 상에 올릴 수 있는 다른 프로토콜
•
SMTP : 메일 전송
•
POP3 : 메일 수신
▪
SSL/TLS에서 사용하는 대칭 암호, 공개키 암호, 디지털 서명, 일방향 해시 함수 등은 부품과 같이 교환 가능
▪
암호 기술의 ‘추천 세트’ 가 SSL/TLS로 규정
▪
이 추천 세트를 암호 스위트(ciper suite)
▪
TLS 프로토콜 계층
▪
TLS 레코드 프로토콜
•
TLS 핸드쉐이크 프로토콜 밑에 위치
•
대칭 암호를 사용해서 메시지를 암호화하고 통신하는 부분
•
대칭 암호와 메시지 인증 코드를 이용
•
알고리즘과 공유키 는 핸드쉐이크 프로토콜을 사용해서 서버와 클라이언트가 상담을 통해 결정됨
▪
TLS 핸드쉐이크 프로토콜
•
핸드쉐이크 프로토콜
•
암호 사양 변경 프로토콜
•
경고 프로토콜
•
애플리케이션 데이터 프로토콜
▪
핸드 쉐이크 프로토콜
•
TLS 핸드쉐이크 프로토콜의 일부로 클라이언트와 서버가 암호 통신에 사용할 알고리즘과 공유키를 결정
•
인증서를 이용한 인증
▪
암호 사양 변경 프로토콜
•
암호 방법을 변경하는 신호를 통신 상대에게 전달
▪
경고 프로토콜
•
뭔가 에러가 발생했다는 것을 통신 상대에게 전달
▪
애플리케이션 데이터 프로토콜
•
TLS 상에 올라 있는 애플리케이션의 데이터를 통신 상대에게 전달
15. SSL,TLS
2022/06/13 17:30
1.
정보 보안의 3요소와 추가 요소를 작성하시오.
•
기밀성 : 허락되지 않은 사용자 또는 객체가 정보의 내용을 알 수 없도록 하는것
•
무결성 : 허락되지 않은 사용자 또는 객체가 정보를 함부로 수정할 수 없도록 하는것
•
가용성 : 허락된 사용자 또는 객체가 정보에 접근하려고 할 때 방해받지 않도록 하는것
•
서버인증 : 클라이언트가 올바른 서버로 접속하는가를 의미
•
클라이언트 인증 : 서버로 올바른 클라이언트가 접속을 시도하는가를 의미
2.
프로토콜의 기능 5가지와 설명을 작성하시오.
•
주소 설정 : 서로 다른 시스템의 두 개체가 통신을 하는경우 필요
•
순서 제어 : 프로토콜 데이터 단위를 전송할 때 보내는 순서를 명시하는 기능
•
캡슐화 : 데이터에 제어 정보를 덧 붙이는 것
•
연결 제어 : 연결 설정, 데이터 전송, 연결 해제에 대한 통제 수행
•
흐름 제어 : 송신 측 개체로 부터 오는 데이터의 양이나 속도를 조절하는 기능
•
오류 제어 : 두 개체에서 데이터를 교환할 때 SDU나 PCI가 잘못되었을 경우, 이를 발견하는 기법
3.
OSI 7계층을 쓰고 설명하시오.
•
1계층 : 물리계층 : 실제 장치를 연결하는데 필요한 전기적, 물리적 세부 사항을 정의
•
2계층 : 데이터 링크 계층 : 점대점 사이의 신뢰성 있는 전송을 보장하기 위한 계층
•
3계층 : 네트워크 계층 : 여러 노드를 거칠때마다 경로를 찾아주는 역할
•
4계층 : 전송 계층 : 양 끝단 사용자들이 신뢰성 있는 데이터를 주고 받을 수 있게 하여 상위 계층이 데이터 전달의 유효성이나 효율성을 고려하지 않아도 됨
•
5계층 : 세션 계층 : 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법 제공
•
6계층 : 표현 계층 : 시스템에서 사용되는 코드간의 번역을 담당
•
7계층 : 응용 계층 : 사용자나 응용프로그램 사이에 데이터 교환을 가능하게 하는 계층
4.
whois 서버에 대하여 설명하고, whois 서버로 얻을 수 있는 정보를 적으시오.
•
도메인 관련 사람 및 인터넷 자원을 찾아보기위한 프로토콜
정리
2022/04/18 11:14