이론 설명
1. 네트워크 주소의 표현
주소와 이름
- IP 주소: IPv4(32비트), IPv6(128비트)
- 라우터의 경로를 선택해야 함
- 외부로 갈 때: 호스트 이름, IP 주소 변환
2. 프로토콜
컴퓨터와 컴퓨터 사이에서 메시지를 전달하는 과정
1) 프로토콜의 3가지 요소
- 구문(Syntax): 데이터 구조나 포맷
- 의미(Semantics): 전송되는 데이터의 각 부분이 무엇을 뜻하는지 정해둔 규칙
- 순서(Timing): 어떤 데이터를 보낼 것 인지, 얼마나 빠르게 보낼 것 인지
2) 프로토콜의 기능
- 주소 설정(Addressing): 서로 다른 시스템의 두 개체가 통신하는 경우
- 순서 제어(Sequence Control): 프로토콜 데이터 단위를 전송할 때 보내는 순서를 명시함
- 데이터 대열의 단편화 및 재조합(Fragmentation, Reassembly): 대용량 파일 전송 시, 작은 단위로 나누어 전송 -> 전송받은 시스템에서 이를 재조합
단편화 이유 -> 작은 단위로 나누는 것이 전송 효율이 높음
- 캡슐화(Encapsulation): 데이터에 제어 정보를 덧붙이는 것
- 연결 제어(Connection Control): 연결 설정, 데이터 전송, 연결 해제에 대한 통제 수행
- 흐름제어(Flow Control): 송신측에서 오는 데이터의 양, 속도를 조절하는 기능
송신-수신 속도 차이로 인한 정보 유실 방지
- 오류 제어(Error Control): 두 개체에서 데이터 교환 시, SDU/PCI가 잘못된 경우에 이를 발견하는 기법
순서 검사, 특정 시간 안에 받지 못하면 재전송 요구
- 동기화(Synchronization): 두 개체 간 데이터 전송 시, 동시에 정의된 인자 값을 공유하는 것
- 다중화(Multiplexing): 통신 선로 하나에서 여러 시스템을 동시에 통신할 수 있는 것
- 전송 서비스: 우선 순위 결정, 서비스 등급, 보안 요구 등 제어하는 서비스
3. 네트워크 계층 구조
OSI 7계층
🔗 참고
https://velog.io/@heoy01/SK%EC%89%B4%EB%8D%94%EC%8A%A4-%EB%A3%A8%ED%82%A4%EC%A6%88-24%EA%B8%B0-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EB%B3%B4%EC%95%884
- 저번 시간에 나왔기 때문에 추가로 작성하진 않음
기타 설명
DevSecOps
- 개발, 운영 워크플로우 통합
- 같은 팀, 같은 도구, 같은 데이터를 공유
- 속도 감소, 개발 생산성 낮아짐, 비용 증가 -> 비효율적
- 코드 배포 -> 통합 -> 테스트
- YAML, JSON, XML 파일 작성
시간 동기화
- NTP -> NS
** 망분리: 인터넷 - NS - 외부 서버 - 망연계 - 내부 서버(여긴 인터넷 X)
- 솔루션 구매, 오픈소스 기반 설치, 마이그레이션(전환), 통합 -> 시간 동기화 필요
- 동기화된 시간에 따라 로그(분석)
- 시간 정보가 훼손된 경우 -> 로그 분석 가치 X -> 공격자는 시간 정보 훼손 + 타임 동기화 OFF
Q&A
Q1. 망분리 시간 동기화가 취약점이 될 수 있는지
- 시간이 틀리면 -> 스케줄러 동작 X
- 시간 동기화가 안 맞으면 로그 보존 가치가 사라짐 -> 사고 대응도 안되고 분석도 불가
- 동기화 과정을 악용한 행위도 가능함 (ex. 네트워크 트래픽 과부하 등)
토론 내용
1. 오전 토론
주요 네트워크 보안 사고 사례와 보안 취약점을 살펴보고, 대응방안을 제시하여 발표
1) 'Dyn' DNS DDoS: 미라이 봇넷 공격
- 봇넷: Bot(좀비) + Net(군단)
- 리버스 커넥션: 안 -> 밖(아웃바운드) / 보통 밖 -> 안으로(인바운드)
디도스의 경우 이게 더 중요함
2) 'ModSecurity' SSRF 웹 방화벽 설정: 캐피털원 해킹
- 방화벽 룰 설정 이슈 -> 휴먼 에러로 볼 수 있음
- 보통 우회된 경우를 가정하고 침해사고 대응 훈련 실시함
해당 사건의 경우, 2-4차 방어막이 있어야 하는데 뚫림
- 데이터 암호화 및 세그맨테이션 필요함
3) 'Log4j' 취약점: 원격 코드 실행(RCE)
- Java를 사용하는 자산에 대한 조사가 필요함 -> 해당 사건에서는 이게 없었음
** Lession-Learned: Java에 대한 개발 의존성
4) 'AD' 취약점: 대법원 내부망 해킹
- AD: 컴퓨터의 모든 부분을 중앙에서 관리하는 것
- 사용이유: 네트워크 망분리 -> 내부망, 외부망으로 묶인 PC를 중앙 집중하기 위해
- PC를 컨트롤 할 수 있음 -> 관리자 계정
5) 휴먼 에러(라우팅 설정 실수): KT 네트워크 마비
- 테스트 환경의 테스트 미흡
- DR 동작 미흡
- 사고 원인 분석 및 대응 미흡
- 카오스 엔지니어링(원숭이 훈련) 진행할 것
6) 이메일 피싱 사기(스캠, BEC): LG 화학
- 이메일 -> 가장 강력한 해킹 도구
외부로 많이 주고받는 부서, 특정 인원에 대한 타겟팅 교육이 필요함
- APT 모의 훈련으로 주기적인 기업의 악성메일 모의 훈련 진행 필요
7) 'NAS(SMB 취약점)'과 랜섬웨어 확산: 워너크라이 랜섬웨어
- NAS: 네트워크에 붙여쓰는 스토리지
- 네트워크 드라이브 설정
8) 무선 공유기 취약점: 아파트 월패드 카메라(IP 카메라) 해킹
9) 망연계 취약점: 국방부 해킹
- 운영 관리 소홀
- 망연계도 관리되어야 할 보안 솔루션: 테스트용 포트
2. 오후 토론
네트워크 진단 배치(.bat) 작성
- 윈도우 환경에서 네트워크 취약점 항목 체크하고 .bat 파일로 통합하여 윈도우 작업 스케줄러 이용
참고자료
🔗 금융보안원 | 금융회사 침해사고 준비도 가이드
https://www.fsec.or.kr/bbs/detail?menuNo=222&bbsNo=5692