1. 기본 네트워크 이론
1) OSI 7 Layer 에서의 보안장비
물리계층
데이터링크 계층
네트워크 계층:방화벽(IP 차단)
전송 계층: 방화벽(접근제어, TCP/UDP 차단), IDS(침입 탐지)
세션 계층
표현 계층
응용 계층: IPS(침입 방지), 웹 방화벽
2) 네트워크 구성
In-line 모드:모든 트래픽이 해당 보안장비를 거쳐야만 목적지로 전송될 수 있도록 네트워크를 구성
Sniffing 모드: 물리적 회선 구성에미러링 장비를 통해유입된 트래픽을 분석(IDS, 서비스 영향 X)
Out of Path 모드: 물리적 회선 구성 바깥에탐지장비 및 차단 장비가 설치(IPS)
3) HA (High Availablity) 구성
Active-Active 방식: Load-Balancing 및 Failover 기능 수행
Active-Standby 방식: Active 장비가 문제 발생 시 Standby 장비가 Active로 전환
- 장애 발생 시 장비의 문제, 트래픽의 문제인지 잘 파악해야 한다.
4) Interface 별 Zone의 개념
내부망: 망분리, 접근통제 시스템 등에 의해 인터넷 구간에서 직접적인 접근이 통제 또는 차단되는 구간
DMZ 구간: 침입차단 시스템 등으로 접근 제한 등을 수행 하지만외부망에서 직접 접근이 가능한 영역
인터넷 구간(외부망): 개인정보처리시스템과 인터넷이 직접 연결되어 있는 구간
- 구간 간 통신을 수행할 경우 방화벽에서 통신에 필요한 정책 설정 필요
5) Health Check
- NMS 및 Cacti에서 Ping, SNMP, 웹 모니터링 시스템 이용한 Health Check 수행
- 네트워크 구성요소에 대한 상태·장애·구성·통계 데이터 등을 실시간으로 모니터링
- Ping 또는 SNMP 패킷 등을 통해 Health Check 수행 (Request, Response 패킷을 확인 Port Open필요)
- 시스템 부하, 시스템 내부 오류, 타 시스템 간 연동 오류, 데드락, 해킹, 관리자 에러, 재난 등의 원인이 있다.
- 장애가 발생했을시 신속 정확하게 장애를 처리해야 함
2. 방화벽 (Firewall)
1) 방화벽 개념
- 외부의 불법침입으로부터내부의 자산을 보호하고 외부로부터 유해정보 유입을 차단하기 위한 정책과 이를 지원하는 하드웨어와 소프트웨어를 총칭
- 네트워크 출입로를 단일화함으로써 보안관리 범위를 좁히고 접근제어를 효율적으로 할 수 있음 (IP, Port)
2) Juniper Firewall 운영 방식
2.1) L2 Mode (Transparent Mode, TP Mode)
- 내부 네트워크에 대한 Routing, NAT, IP 주소 설정 필요 없음
- 외부로 나갈 수 있는 정책 설정
- 구축 시간이 빠르고 장애 복구에 유리한 환경을 제공(IDC에서 주로 사용)
2.2) L3 Mode (NAT Mode)
- L3로 동작하며 Routing Table이 필요
- 내부 네트워크는 비공인 IP를, 외부 네트워크는 공인 IP를 적용
2.3) L3 Mode (Route Mode)
- 내부, 외부 모두 Route 모드로 구성
- 두개 이상의 네트워크 인터페이스를 가짐 (각각의 인터페이스가 별개의 네트워크로 분리, 라우팅 필요)
3) Object 관리
Address 등록 → Address Group 등록 → Service 등록 → Service Group 등록 → Schedule 등록 → Policy 적용
4) 정책 관리
4.1) 내부 → 외부
PAT(N:1): 내부 사설IP가 방화벽 공인 IP 하나로 변경되어 나감 (방화벽에 대한 공인 IP)
DIP(N:M): 내부의 특정 사설 IP가 특정 공인 IP 또는 대역으로 변경되어 나감(VPN)
4.2) 외부 → 내부
VIP(1:N): 하나의 공인 IP를 포트넘버에 따라 내부의 특정 서버로 접속(서비스 포트로 구분)
MIP(1:1): 하나의 공인 IP에 내부서버로 1:1로 접속되는 형태
3. IDS (침입 탐지 시스템) / IPS (침입 차단 시스템)
1) IDS 개념
- 컴퓨터 또는 네트워크에서 발생하는 이벤트들을 모니터링하고, 침입 발생 여부를 탐지하고 대응하는 자동화된 시스템
- 원본 트래픽을 손실 또는 변조 없이 복사하고 트래픽에 관여하지 않음(Out of Path)
1.1) IDS 동작 원리
데이터 수집 → 데이터 가공및 축약 → 침입 분석 및 탐지 → 보고 및 대응
① 데이터 수집:시스템 사용 내역, 패킷 등과 같은 데이터를 수집
② 데이터 가공 및 축약: 수집된 감사 데이터가 침입 판정이 가능할 수 있도록 의미 있는 정보로 전환
③ 침입 분석 및 탐지: 데이터 분석을 통한 침입 여부 판정 (오용 탐지, 비정상 행위 탐지)
④ 보고 및 대응: 침입으로 판단될 경우 보안 관리자에게 침입 사실 보고 및 보안 관리자에 의한조치수행
1.2) 지식기반/오용 탐지
- 특정 공격에 관한 분석 결과를 바탕으로 패턴을 설정 (Signature Patten, knowledage-Base, Expert System)
장점:오탐율이 낮음, 트로이 목마, 백도어 공격 탐지 가능
단점: 패턴이 없는 새로운 공격에 대해서는 탐지 불가능
1.3) 행위 기반/비정상 행위/이상 탐지
- 평소 행동과 다른 급격 한 변화가 일어나면 탐지하는 방법(정량적인 분석, 통계적 분석)
장점:알려지지 않은 공격 대한 탐지 가능, 패턴 업데이트 불필요, 시스템 운용상의 문제점 발견 가능
단점: 오탐율이 높음, 정상과 비정상을 구분하기 위한임계치 설정 어려움
2) IPS 개념
- 침입이 일어나기 전에 실시간으로 침입을 막고, 유해 트래픽을 차단하기위한 능동형 보안 솔루션
- 기존의트래픽 유통에 직접 관여해야 함(Inline)
- 사후감사 추적에 의한 분석기술, 실시간 패킷분석기술, 실시간 행위 감시 및 분석기술 등을 수행
2.1) 지식기반 IPS
- 각각의 공격에 대하여정확한 시그니처를 정의, 해당 공격 패턴에매칭 되어야만 차단을 시행
- 알려지지 않은 공격의 경우 정확한 시그니처 리스트가 업데이트가 되어있지 않으면 차단 불가능, 오탐률 낮음
2.2) 행위기반 IPS (Anomaly Detection/ Prevention)
- 알려지지 않은 공격을 수집하여 정보를 이용하여 오탐을 줄이고능동적으로 대처하는 방식
구분 |
IDS |
IPS |
목적 |
침입 여부의 감지 |
침입 이전의 방지 |
특징 |
로그 시그니처 기반의 패턴 매칭 |
정책, 규칙DB 기반의 비정상 행위 탐지 |
장점 |
실시간 탐지, 사후 분석 대응기술 |
실시간 즉각 대응, 세션 기반 탐지 가능 |
단점 |
변형된 패턴에 대한 탐지 어려움 |
오탐 현상 발생 가능, 고가의 장비 |
4. 웹 방화벽
1) 웹 방화벽 개념
- 웹 서버에 발생하는 다양한 유형의 사고가 발생하여 웹 전용 보안시스템인 웹 방화벽 구축
- 웹 서버 앞단에 위치, 외부로 부터 들어오는 HTTP, HTTPS 트래픽 감시
- 악의적인 공격이 탐지되면 해당 공격이웹 서버에 도달하기 전에 차단
2) 탐지 로그
- 정해진 탐지 규칙에 따라 탐지한 룰과 위험한 행동을 한 대상자의 주소, 국가, 대상이 된 URL, 발생한 시각 등의 정보 제공
- 웹사이트, 기간을 통해 로그 목록 검색]
로그 검색: 탐지된 로그에서 마우스 오른쪽 버튼 → 상세보기를 통해Raw Data 확인(정탐/오탐 유무 파악)
3) 감사 로그
- 운영과 관련된 감사 정보들을 목록 형태로 출력
- 로그인 관련, 설정 변경, 시스템, 데이터 관련, 네트워크 인터페이스 데이터 존재
4) 시스템 현황
- 가동 중인 자원 이용률과 환경 설정 내용 등의 정보를 출력
- 실시간 데이터 출력, 별도의 검색 기능을 제공하지 않음
5) 정책 설정
- 탐지 보안 정책, 웹 서버의 웹사이트 정보를 설정
① 웹 사이트 추가: 웹 사이트 추가 버튼 클릭
② 웹 사이트 수정: 왼쪽 웹 사이트 목록 마우스 오른쪽 버튼 클릭 → 웹 사이트 수정 클릭
③ 신규 웹 서버 추가: 웹 방화벽에 보호할 웹서버 추가
④ URL 접근제어 목록: 해당 목록에서 URL 공개 비공개 설정이 가능
⑤ URL 탐지 예외목록: 해당 목록에서 설정한 URL에 대한 항목에서 선책 한 룰을 탐지하지 않도록 예외 처리함
⑥ 정책 추가/정책 수정
⑦ 백업 설정: 정책 및 웹사이트 정보를 파일로 저장, 설정→네트워크 설정을 통해 네트워크 정보를 파일로 저장
5. SNMP (Simple Network Management Protocol)
1) SNMP 개념
- 네트워크 관리자가 원격으로 TCP/IP 네트워크 장비를 감시하고 관리할 수 있도록 해주는 기술
- Application 계층 프로토콜, UDP 사용
2) SNMP 동작과 구성요소
2.1) NMS(Network Management Station)
- Managed Node들을 제어할 수 있는 장비
SNMP Manager: NMS가 Managed Node로부터 정보 수집 후 노드에게 명령을 제공
SNMP Application: 네트워크 관리자가 SNMP를 사용하여 네트워크를 실제로 관리할 수 있도록 도와주는 프로그램
2.2) Managed Node (네트워크 장비, 서버 등)
- SNMP를 통해 관리될 TCP/IP 장비, SNMP S/W 등을 실행시켜 SNMP 프로토콜의 각종 기능을 구현
- NMS를 통해 제어되기 때문에 하나 이상 존재해야 함
SNMP Agent: Managed Node가 NMS에 정보 전달하고 명령을 받을 수 있도록 하는 S/W (Client)
SNMP MIB: 노드에 관해 저장되는 정보의 유형 정의, SNMP에서 전송되는 정보는 MIB 에서 꺼낸 객체 형태
3) SNMP 프레임워크의 구성요소
NMS에서 SMI로 변수를 만들어내고 이를 하나의 객체(MIB)로 취급
MIB를 통해 다른 시스템 끼리라도, 상위 시스템에서 처리가 가능해짐 → SNMP
3.1) SMI (Structure of Management Information)
- 객체에 이름을 붙이고 객체 유형을 정의 (MIB 정보가 어떻게 정의되어야 하는지를 기술)
- ISO 추상 표기법이라고 하는 DDL기반으로 표현
3.2) MIB(Management Information Base)
- 한 장비가 가지는 정보 객체의 집합
- SMI를 통해 생성된 객체를 유형에 연결
3.3) SNMP(Simple Network Management Protocol)
- SNMP Agent와 NMS 간의 정보교환을 정의
- 전송 매핑은 TCP/IP, IPX 같은 네트워크 기술을 통해 정의
3.4) Security and Administrator
- 보조적인 구성요소, SNMP 구현, 버전 이동과 관련된 보안이나 주소 문제에 대해 SNMP 프로토콜의 동작을 개선
4) MIB 객체 속성 (5가지)
4.1) 객체명
객체 서술명: 문자로 된 객체의 이름
객체 ID(OID, Object ID): 객체명 계층도에서 해당 MIB 객체의 위치를 나타냄 (Root는 OID를 표기하지 않음)
일반 객체: 1,3,6,1,2,mib 1
사설 객체: 1,3,6,1,4,enterprise 1
4.2) 형식
- 일반 자료형, 도표형 자료형
4.2.1) 접근권한/최대 접근 권한
SNMPv1: 읽기, 쓰기, 읽고 쓰기, 접근 금지
SNMPv2: 접근금지, 통지 전용(트랩일 경우), 읽기, 읽고 쓰기, 생성 읽기(읽기/쓰기/생성)의 계층적 5단계로 구성
4.3) 상태
4.3.1) 객체에 관한 필요 유무
SNMPv1: 필수, 선택, 대체
SNMPv2: 현재 사용(SNMPv1의 필수와 같음), 대체, 권장 안함
4.4) 정의/서술
- MIB 객체에 대해 글로 서술
4.5) 선택적 속성
- 단위, 참조, 인덱스, 증분, 기본 값의 선택적 속성 사용 가능
5) SNMP 통신 방법
- 기본적으로 Manager가 요청하면 Agent가 응답
5.1) Polling 방식
- 정보를 얻고자 하는 쪽에서 먼저 요청 (기본 통신 방식)
5.2) Interrupt 방식 (Trap 방식)
- 문제, 이벤트 등의 상황시 반대로 Agent가 Manager에게 전달 (Manager의 요청이 없더라도 전달)
6. Syslog / NTP
1) Syslog 개념
- 로깅 메시지 프로그램의 표준
- 다양한 프로그램이 생성한 로그를 저장
- 장비에서의 로그 메시지들을 통해 문제 사항이나 성능을 확인 (다양한 분석이 가능)
facility: auth, authpriv, deamon, cron, ftp, lpr, kern 등
prioirty: Emergency, Alert, Critical, Error, Warning, Notice, Info, Debug
2) NTP (Network Time Protocol) 개념
- IP 네트워크 상에 연결된 2개의 컴퓨터 사이에 각 장비별 동일한 시간을 갖게 하고 서로 시간을 교환하는 프로토콜
- 장비별 시간이 일치해야 정확한 로그의 시간대를 파악할 수 있음
7. ESM (Enterprise Security management)
1) GM/LM ESM 개념
Local Manager, Console, Agent, Global Manager
- 콘솔, 매니저, 에이전트는 업무를 효율적으로 분담하여 통합보안관리시스템에서 요구되는 기능요건을 만족
1.1) Local Manager
- 경보 감사 데이터 발생 시, 다양한알림 기능을 처리(Sound, Email, SMS, Script, SNMP 등)
- 감사 데이터 및 설정 데이터 저장을 위한DB 백업 및 삭제 관리를 스케줄링 처리
- 모든 자체 감사 데이터를 생성 후 DB에 저장
1.2) Console
- 사용자 및 에이전트 그룹 관리, 구성관리, 수집 조건, 연관성 분석, DB백업 및 삭제 관리 등모든 설정 화면을 제공
1.3) Agent
- 관리대상 장비로부터 수집된 로그를 정해진 규칙에 따라 정규화하고 수집조건 규칙과 비교하여매니저로의 전송 여부 결정
- 동일 패턴으로 구분되는 이벤트는 축약처리(부하 감소)
구분 | Agent | Virtual Agent (Proxy Agent) |
수집 로그 | 리소스(CPU, MEM), 시스템 이벤트, 무결성 |
리소스(snmppoll 연동) 시스템 이벤트(syslog를 통해 연동) |
기타 | 텍스트 형태의 파일을 실시간으로 읽어옴 | 실제 설치할 수 있는 장비도 상황에 따라 Virtual Agent로 연동 가능 |
대표 장비 | Secureworks, Sniper, Vaccine 등 | Tippingpoint, Cisco, FutureFW 등 |
1.4) Global Manager
- 하위 ESM으로부터 수집한 수집감사 오그를 실시간 수신하여 감사 데이터 종류별, 시간대별 파일로 저장
- 연관성 분석 규칙을 설정해 하위 ESM의 특정 에이전트로 배포
2) TNS
- 서로 다른 네트워크 구성을 가지고 있는 Client/Server, Server/Server간에 Data를 전송할 수 있게 해주는 기능
리스너 구성 파일 위치: ORACLE_HOME/network/admin/listener.ora(DB별로 설정)
9. 이벤트 대응 및 분석
1) 이벤트 대응처리 프로세스
각 보안장비 로그 수집 → 이벤트 탐지 → 이벤트 1차 분석 → 공격자 IP 차단 및 이벤트 탐지 보고서 작성 → 담당자 통보 → 침해사고 조치지원 (CERT)
① 각 보안장비 로그 수집
- 보안 관제를 수행하기 위하여 고객사의 각 보안장비를 ESM과 연동하여 로그를 수집할 수있도록 함
② 이벤트 탐지
- ESM에서 설정한 연관성 분석 룰 및 보안장비 사용자 정의 룰의 조건에 충족되는 공격 발생 시 경보 발생 및 관제 인원에게 mail을 발송하여 탐지 가능
③ 이벤트 1차 분석
- 수신 받은 이벤트 메일을 확인 후 장비에 접근하여 상세 데이터 분석
- 분석 후 정/오탐 여부를 판단 및 공격에 대한 유효성 여부 테스트
④ 공격자 IP 차단 및 이벤트 탐지 보고서 작성
- 탐지된 이벤트가 정탐일 경우 보안 장비에서 공격자 IP 차단(설정 권한이 없을 경우 담당자에게 차단 권고)
- 탐지된 이벤트에 대한 상세 분석 보고서 작성(공격자 IP, 대상 IP, Port, 이벤트 명, 상세 데이터, 공격 설명, 조치 방안 및 결과)
⑤ 담당자 통보
- 작성된 보고서를 담당자에게 메일로 전송 (일부 고객사의 경우 메일&SMS 발송)
- Critical한 공격인 경우, 담당자에게 유선으로 해당 내용을 전달
⑥ 침해사고 조치지원 (CERT)
- 탐지된 이벤트로 인해 침해사고가 발생했다면 피해 서버/Host에 대한 2차 사고분석을 수행
- 자체적으로 서버 분석을 수행하거나 CERT팀의 지원을 받을 수 있음
2) 주요 공격 이벤트 및 영향
5~7 Layer: 바이러스/윔/트로이목마, OS/Application 취약점 공격, DDoS 공격(HTTP GET/POST Flooding, FTP PASV DoS)
4 Layer: DDoS 공격(TCP/UDP Flooding, DNS Reply Flooding), Scanning
3 Layer: IP Spoofing, DDoS 공격(ICMP/IGMP/Ping Flooding, Ping of Death)
2 Layer: ARP/MAC Spoofing, ARP cache poisioning
1 Layer: 케이블 단절
3) SQL Injection
- 웹 클라이언트 반환 메시지를 이용하여 불법 인증 및 정보를 유출하는 공격 방법
- 웹 응용 프로그램이나 파라미터 값에 강제로 SQL 질의문을 삽입하여 응답 값을 통해 내부DB 서버의 데이터를 유출 및 변조하고 관리자 인증을 우회하는 공격기법
4) Webshell
- 웹 페이지에서 서버에게 명령을 실행하기 위해 만들어진 프로그램
- 웹 서버에 Webshell을 업로드 한 후 웹 브라우저를 통한 업로드한 Webshell을 실행하여 침투한 서버상의 정보유출 및 변조, 악성코드 유포 등 웹 공격에 활용
4.1) 대응 방안
- 허용된 확장자 외에는 업로드 금지, 정의된 확장자 차단
5) Directory Listing
- 웹 서버의 설정 미숙으로 서버의 디렉터리 및 파일 목록이 노출되고, 열람 및 다운로드가 가능하게 되는 취약점
- 공격자는 서버 디렉터리 내 소스코드/스크립트 등의 파일들을 저장, 열람할 수 있기 때문에 제 2,3의 공격에 악용
Directory List 취약점 제거: 서버 내 파일/폴더 등을 확인하여 소스코드, 웹 페이지 구조가 노출
6) Command/Code Injection[Extention]
- 시스템 명령어를 호출하는 어플리케이션의 인자 값을 조작하여 의돠지 않은 시스템 명령어를 실행시키는 공격 기법
- 시스템 계정의 Shell 권한을 흭득하는 것과 같음(Bash Shell Shock)
6.1) 대응 방안
- 지정되어 있는 변수 입력 값 외에 다른 값들이 들어왔을 경우 차단
- 시스템 명령어가 사용자 입력에 의해 존재하는지 확인하고 불필요한 요청 시 차단
7) XSS (Cross Site Script)
- 컨텐츠를 암호화/검증 하는 절차 없이 사용자가 제공하는 데이터를 어플리케이션에서 받아들이거나 웹 브라우저로 보낼때 발생하는 공격
- Reflecred XSS, Stored XSS가 존재
7.1) 대응 방안
- 쿠키 인증 방식이 아닌 세션 인증 방식으로 변경
- 게시판에 HTML 포맷만 입력할 수 있도록 설정
- 문자 필터링
8) RFI (Remote File Inclusion)
- 웹 어플리케이션에서 원격의 파일을 로컬에 있는 파일처럼 인식하여 실행 가능한 기능을 악용한 공격기법
- GET, POST 등 인자 값을 전달하는 과정에서 파라미터 값을 재대로 검증하지 않아서 발생
8.1) 대응 방안
- 원격지 파일을 열지 못하도록 환경설정 파일 설정
- 에러 페이지 노출 방지
[참조]
SNMP: https://thinkground.studio/snmp-simple-network-management-protocol-%EC%A0%95%EB%A6%AC/
SNMP: https://myungin.tistory.com/entry/11-NMSSNMPTFTP
'Hacking & Security > Hacking & Security Theory' 카테고리의 다른 글
웹 해킹이란 무엇인가? (0) | 2020.07.03 |
---|---|
[Theory]봇넷(BotNet) 이란? (0) | 2020.06.15 |
웹 공격 분석 (1) | 2020.04.09 |
SPoofing(스푸핑) 이란? (0) | 2019.11.13 |
[Security Theory] Sniffing(스니핑) 이란? (0) | 2019.11.05 |
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊