이론 설명
1. 풋프린팅
공격 대상의 정보를 모으는 방법 중 하나
1) 사회 공학 기법
- 친구끼리 사요자 계정 정보를 주고 받거나, 패스워드를 메모해두는 것을 이용
ㄴ> 실제로 패스워드 노출 대부분이 사회 공학에 의한 것
2) 필요한 정보
- 침입하고자 하는 사용자의 계정
- 패스워드를 찾기 위한 계정을 사용하는 사람의 정보
- 게시판 이용
- 협력사나 계열사의 보안 조치 확인
=> 공격 대상 사이트를 직접 접속하는 것보다 유틸리티로 사이트를 다운로드한 뒤, 검색하는 것이 좋음
2. 스캔
서비스를 제공하는 서버의 작동 여부뫄 서버가 제공하는 서비스를 확인
1) Ping
- 네트워크, 시스템이 정상 작동하는지 확인하는 유틸리티
- ICMP, TCP/IP 네트워크에서 사용
2) ICMP 스캔
- ICMP를 이용하여 공격 대상 시스템의 활성화 여부 확인
방법
- Echo Request(Type 8)와 Echo Reply(Type 0)
- Timestamp Request(Type 13)와 Timestamp Reply(Type 14)
- Information Request(Type 15)와 Information Reply(Type 16)
- ICMP Address Mask Request(Type 17)와 ICMP Address Mask
Reply(Type 18)
=> 가장 일반적인 방법은 Echo Request(Type 8)와 Echo Reply(Type 0) 이용
3) TCP Open 스캔

- 3-Way HandShake, 4-Way HandShake
- Reverse Ident: (세션 성립 상태) 원격지 서버에서 데몬을 실행하고 있는 프로세스의 소유권자를 확인하기 위한 것
4) 스텔스 스캔
- 공격 대상을 속이고 자신의 위치를 숨기는 모든 스캔 -> 로그도 남기지 않음
ex. TCP Half Open 스캔
종류
- FIN 스캔: 포트가 열린 경우 응답이 없고, 닫힌 경우 RST 패킷이 돌아옴
- NULL 스캔: 플래그(Flag) 값을 설정하지 않고 보낸 패킷
- XMAS 스캔: ACK, FIN, RST, SYN, URG 플래그 모두를 설정하여 보낸 패킷
5) ACK 패킷 이용한 스캔
- 모든 포트에 ACK 패킷을 보냄 -> 이에 대한 RST 패킷을 받아 분석
- 포트가 열린 경우 TTL 값이 64 이하 RST 패킷, 윈도우가 0이 아닌 임의의 값을 가진 RST 패킷 리턴
6) TCP 패킷을 이용한 스캔
- SYN 패킷을 이용한 스캔 방법은 세션을 성립하기 위한 정당한 패킷과 구별할 수 없음 -> 아직도 유효하며 아주 효과적
7) TCP 단편화
8) 시간차를 이용한 스캔
- 아주 짧은 시간 동안 많은 패킷을 보내는 방법: 방화벽과 IDS 처리 용량의 한계를 넘김
- 아주 긴 시간 동안 패킷을 보내는 방법
9) FTP 바운스 스캔
- 취약한 FTP 서버에서 PORT 명령어를 통해 다른 시스템의 포트 활성화 여부를 확인
10) UDP 스캔
- 포트가 닫힌 경우 공격 대상이 ICMP Unreachable 패킷을 보냄 -> 열린 경우에는 보내지 않음
3. 운영체제 탐지
1) 배너 그래빙
- 상대 시스템의 운영체제를 확인하는 가장 기본적인 방법
- 원격지 시스템에 로그인을 하면 뜨는 안내문과 비슷한 배너를 확인 하는 기술
2) TCP/IP 반응 살펴보기
- FIN 스캔 이용 : 적용되는 운영체제는 윈도우, BSD, Cisco, IRIS 등
- 세션 연결 시 TCP 패킷의 시퀀스 넘버 생성을 관찰
ㄴ> 세션: 연결 유지되고 있음을 알려주는 것?
3) Netcraft 이용하기
- 공격 대상의 운영체제에 대한 다양한 정보를 보여줌
4. 방화벽 탐지
침입자를 차단하는 1차 방어선이며, 접속에 대한 허용/차단을 결정함
1) firewalk
- 방화벽의 ACL(Access Control List)를 알아냄
원리
- 방화벽이 탐지 -> 방화벽까지의 TTL + 1 값을 생성하여 보냄
- 방화벽이 패킷을 차단할 경우 -> 아무 패킷도 돌아오지 않음 -> 닫힌 포트에 패킷 보냈음을 의미
- 방화벽이 패킷을 보내는 경우 -> 다음 라우터에서 사라짐 -> ICMP Time Exceeded 메시지(Type 11)를 보냄 -> 열린 포트에 패킷 보냈음을 의미
=> 공격자는 ICMP Time Exceeded 메시지 여부를 받은 포트가 열린 포트임을 추측 가능
5. SNMP
중앙 집중적인 관리 툴의 표준 프로토콜
1) 구성 요소
- 관리 시스템/관리 대상(Agent)
- Agent: SNMP, MIB, SMI
- 관리자가 조회, 설정할 수 있는 개체들의 데이터베이스 -> 개체 별로 트리 형식 구조
- MIB를 생성하려면 OID를 받아야 함
ㄴ> 각 제조업체, 기관은 특정 번호 할당 -> 받은 번호를 생산한 장비에 부여
** OID: IP 주소와 유사한 표기법 사용
- 표준에 적합한 MIB를 생성하고 관리하는 기준 -> 관리 정보 구조
4) 관리 시스템과 에이전트 통신 과정

- Get Request: 관리 시스템이 특정 변수 값을 읽음
- Get Next Request: 관리 시스템이 이미 요청한 변수의 다음 변수 값을 요청
- Set Request: 관리 시스템이 특정 변수 값의 변경을 요청
- Get Response: 에이전트가 관리 시스템에 해당 변수 값을 전송
- Trap: 에이전트의 특정 상황을 관리 시스템에 알림 -> 환경정보 수집, SIEM 로그 수집, 중앙 집중화 관제 시 사용
5) 취약점
- 아무나 MIB 정보 확인 가능
- 패킷이 UDP로 전송 -> 연결의 신뢰도 낮음
- 데이터가 평문으로 전송 -> 스니핑 가능
6) 보안 대책
- 불필요한 경우 SNMP 사용을 막음
- 사용할 경우 커뮤니티를 복잡하게 설정 -> 쉽게 노출되지 않도록
- 패킷을 주고받을 호스트 설정 -> 사용할 시스템 IP 등록
6. 스니핑
전화선이나 UTP에 탭핑하여 전기 신호를 분석 -> 정보를 찾아냄
1) 프러미스큐어스 모드
- MAC 주소와 IP 주소에 관계없이 모든 패킷을 스니퍼에게 전달
- 리눅스, 유닉스: 랜 카드에 대한 모드 설정 가능
ㄴ> 윈도우: 스니핑을 위한 드라이버 따로 설치
2) 바이패스 모드
- 패킷에 대한 분석까지 하드웨어로 구현되어 있는 랜 카드
- GByte 단위 백본 망에서 스니핑 하기 위한 장비
3) 공격 툴
- TCP Dump: 리눅스에서 기본이 됨, 초기 네트워크 관리용으로 개발 -> 관리자 느낌 강함
- Fragrouter: 스니핑 보조 툴, 받은 패킷을 전달
- 스니핑, 세션 하이재킹 시, 공격자에게 온 패킷을 정상적으로 전달하려면 -> 패킷 릴레이 필수
- DSniff: 스니핑을 위한 툴 패키지, 암호화된 계정/패스워드 읽기 가능
4) 스위칭 환경
스위치는 각 장비의 MAC 주소 확인 후 포트에 할당함 -> 즉, 자신에게 향하지 않은 패킷은 받을 수 없음 (=스니핑 방지)
- ARP 리다이렉트: 공격자가 자신을 라우터로 속임 -> 2계층 공격
- 공격자 -> 원래 라우터의 MAC 주소 알고 있어야 함 + 받은 패킷은 다시 라우터로 릴레이
** ARP 스푸핑: 호스트-호스트 / ARP 리다이렉트: 호스트-라우터
- ICMP 리다이렉트: 공격 대상에게 패킷 전송 -> 라우터에 다시 릴레이시켜 스니핑
- 3계층에서 패킷 주고받음 -> 랜 말고도 공격 가능
- 스위치 재밍: 스위치 직접 공격 (ex. MAC 테이블 위한 캐시 공간에 버퍼 오버플로우)
- 고가 스위치는 MAC 테이블/연산 장치가 사용하는 캐시가 나뉘어 있음 -> 공격 안 통함
- SPAN 포트 태핑: 포트 미러링 이용, IDS 설치 시 사용
- 많은 문제점으로 모니터링에 어려움 존재
** 포트 미러링: 각 포트에 전송되는 데이터를 미러링 포트에도 똑같이 전송
- 태핑: 포트 모니터링을 위한 장비 (=Splitter)
5) 대응책
능동적 대응
- ping 이용: 의심가는 호스트에 존재하지 않는 MAC 주소를 위장하여 보냄 -> ICMP Echo Reply 받으면 스니핑
- ARP 이용: 의심가는 시스템에 위조 APR Request 전송 -> ARP Response 받으면 스니핑 (프러미스큐어스 모드로 동작 중)
- DNS 이용: 대상 네트워크로 Ping Sweep 전송 -> 들어오는 Inverse-DNS lookup 확인
- 유인 이용: 가짜 계정/패스워드 뿌림 -> 해당 계정으로 접속 시도하는 시스템 탐지
- ARP Watch 이용: 초기 MAC 주소, IP 주소 매칭 값 저장 -> ARP 트래픽 모니터링 -> 해당 값을 변하게 하는 패킷 탐지 시 관리자 메일로 전송
수동적 대응
- SSL(Secure Socket Layer): 암호화된 웹 서핑 가능
- SSH(Secure Shell): 서비스 암호화(ex. telnet)
- VPN(Virtual Private Network): 암호화 트래픽 제공
- 사용 중인 시스템이 해킹 시 -> 암호화 이전에 데이터 스니핑 위험
- PGP, PEM, S/MIME: 이메일 전송 시 사용하는 암호화
- PGP: 기본적으로 ‘ Web of Trust’ 개념 사용
- 내용 암호화: IDEA, IDEA 키, 전자서명
- 알고리즘: RSARivest, Shamir, Addleman
- PEM : 공개키 암호화 표준을 따름, CA에서 키를 관리
- 데이터 암호화: DES-EDE
- 키를 위한 암호화 알고리즘: RSA
- 전자 인증을 위한 해시 함수: MD2, MD5
- S/MIME: 이메일 표준인 MIME 형식에 암호화 서비스만을 추가한 것
기타 설명
PoC, BMT
- PoC(Proof of Concept): 개념 검증 -> 특정 방식을 구현하여 타당성을 증명
- BMT(Bench Mark Test): 성능 테스트 -> 기능을 비교할 수 있는 동일한 기준 내에서 테스트 진행
- 문서화 되지 않은 것은 모의 해킹 X -> 문서를 작성해야 함
허니팟(honeypot, 허니 포트(honey pot))
- 비정상적인 접근을 탐지하기 위해 의도적으로 설치해 둔 시스템
- 네트워크 상에 특정 컴퓨터를 연결해 두고 해당 컴퓨터에 중요한 정보가 있는 것처럼 꾸밈 -> 공격자가 해당 컴퓨터에 접근하는지 탐지
Q&A
Q1. 회사 예산
- 회사: 보안에 돈을 써야된다는 생각을 잘 못함, 중요하게 생각하지 않음
- 마케팅적으로 생각 -> ex. 암호화폐
=> 회사에 얼마나 돈을 조달할 수 있을지에 대한 관점에서도 고민
토론 내용
1. 오전 토론
해킹 시나리오 기반의 보안 대응방안 작성 후 발표
- 스마트 공장을 추진하는 제조기업의 보안강화 방안
1) 스마트 공장을 추진하는 제조기업의 보안강화 방안
- 돈 X, 인력 X -> 오픈소스 쪽을 생각할 것
- 스마트 공장 보안강화 가이드 참고
2) 변화한 업무환경을 위한 구조적 정보보호 대응방안 도출
- 시야 확보 -> 가시성을 생각할 것
- 제로 트러스트 2.0 가이드 참고
=> 회사 관점에서 대응방안 도출하는 걸 훈련하는 것이 좋음 (+ 공모전 준비)
2. 오후 토론
Untangle 기반 FW/NAC 정책 구성
Untangle이란?
- Debian 기반의 UTM(unified Threat Management) 보안 솔루션
ㄴ> 네트워크 관리 소프트웨어를 제공해주는 오픈소스 소프트웨어
진행한 실습 내용
- 방화벽 정책 추가 (시나리오 기반)
- 네트워크 접근 설정 (인증 요청 화면 설정)
참고자료
🔗 개인정보보호위원회 | 개인정보보호 모의재판 경연대회
https://www.pipc.go.kr/np/cop/bbs/selectBoardArticle.do?bbsId=BS061&mCode=C010010000&nttId=10238
와 sk쉴더스 ㄷㄷ 인생 피셨네요 선생님