Journey to Security 154

Linux CPU 과점유 대응: top, /proc, strace로 위장 프로세스 추적하기

리눅스 서버의 CPU 사용률이 갑자기 늘어나면 가장 먼저 top 명령어로 어떤 프로세스가 CPU를 잡아먹고 있는지 찾아봐야 한다. 그리고 그 프로세스가 정상적인 연산 부하인지, I/O 병목인지, 정상 프로세스로 위장한 악성코드인지를 구분하려면 ps, /proc, strace, lsof로 이어지는 교차검증이 필요하다. CPU 과점유 원인은 크게 세 가지로 나뉘고, 그 판별 흐름은 다음과 같다. top 실행 결과, %CPU의 us/sy 비율, /proc/[PID]/exe가 가리키는 실제 실행 파일, strace -c의 syscall 분포가 각각 다른 결론을 뒷받침하는 근거가 된다.1. 실습 환경 준비1️⃣ 실습 환경 사양이 실습은 의도적으로 CPU를 포화시키므로, 관찰과 조작을 위한 여유분을 확보한 스펙이 ..

Mini-SOAR 엔진의 계층 구조와 파이썬 모듈의 처리 흐름

지난 SOAR 구축 실습: Snort 경보 기반 자동 침해대응 플레이북 엔진>에서는 공격 탐지부터 차단·알림·티켓 발행까지 이어지는 전체 파이프라인을 구축하고 End-to-End로 검증하는 과정을 다뤘다. 그 때는 인프라 구성과 통합 흐름에 초점을 맞췄다면, 이번에는 그 파이프라인의 중심부에 해당하는 SOAR 엔진 자체의 내부 설계와 작동 원리를 자세히 살펴본다. 1. Mini-SOAR 플레이북 엔진의 계층 구조 Mini-SOAR 엔진은 네 개의 계층(모듈)으로 분리했다.진입점(app.py)에서 경보를 수신하고, 파싱 계층(snort_parser.py)이 원본 문자열을 구조화된 데이터로 바꾸고, 매칭 계층(playbook_engine.py)이 어떤 플레이북을 실행할지 판단하고, 실행 계층(actions..

엔드포인트 보안 이벤트와 Syslog: 로그 기반 위협 탐지의 출발점

1. 엔드포인트 보안 이벤트란엔드포인트(Endpoint)는 네트워크에 연결된 최종 장치를 의미한다. 워크스테이션(클라이언트 장비), 서버, 노트북, 모바일 기기 등이 모두 엔드포인트에 해당하며, 공격자 입장에서는 네트워크 침투의 첫 번째 접점이 된다.엔드포인트 보안 이벤트(Endpoint Security Event)는 이러한 장치에서 발생하는 보안 관련 활동 기록이다.단순한 로그인 시도부터 악성코드 실행, 권한 상승, 파일 변조까지 엔드포인트에서 일어나는 모든 보안상 의미 있는 행위가 이벤트로 기록된다.1️⃣ 엔드포인트 보안 이벤트의 분류엔드포인트에서 발생하는 보안 이벤트는 크게 다음과 같이 분류된다.분류설명예시인증 이벤트사용자 인증 시도 및 결과로그인 성공/실패, SSH 접속 시도, sudo 사용프로세..

웹 취약점 진단/모의해킹을 위한 curl - 요청 조작부터 세션 유지까지

1. curl이란curl(Client URL)은 커맨드라인에서 URL을 통해 데이터를 전송하는 도구다.HTTP, HTTPS, FTP 등 다양한 프로토콜을 지원하며, 가장 흔한 용도는 웹 서버에 요청을 보내고 응답을 받는 것이다.# 가장 기본적인 사용: 웹 페이지의 HTML을 터미널에 출력curl http://example.com 브라우저가 내부적으로 하는 일, 즉 HTTP 요청을 구성하고, 서버에 보내고, 응답을 받아 처리하는 일을 curl을 이용해서 명령 한 줄로 수행할 수 있다. 브라우저와의 차이는 요청의 모든 요소를 옵션으로 직접 지정할 수 있다는 점이다. 2. 웹해킹 도구로서의 curl웹 모의해킹은 웹 애플리케이션을 대상으로 공격자 관점에서 요청을 보내 취약점을 찾아내는 행위다.이때 필요한 건 정..

[AWS]배포된 EC2 환경 외부 진단으로 취약점 찾기

지난 실습에서 IntraPortal(Spring Boot)을 EC2에 올렸다.앱 자체는 이전 시리즈에서 CSRF, BCrypt, 보안 헤더까지 시큐어코딩으로 하드닝을 해둔 상태다.여기서부터는 관점을 바꿔서 방어자가 아니라 공격자의 위치에서 Kali 한 대로 배포된 EC2를 외부에서 스캔하고 실제로 어느 지점에서 보안이 뚫리는지 확인한다.1. 진단 시나리오진단은 외부 공격자(Kali) 시점에서 EC2에 네트워크로 노출된 표면(attack surface)을 훑는 흐름이다.포트 스캔으로 열린 포트를 찾고, 열린 포트를 통해 전송 계층·인증·관리 경로를 순서대로 확인한다. Kali에서는 네트워크에 노출된 표면을 훑어 실제로 뚫리는 지점을 찾고, 내부 접속으로는 인스턴스가 탈취됐을 때 자격증명이 새어나갈 위험이..

[AWS] EC2에 Spring Boot 앱 배포하기

이전 실습에서는 EC2 인스턴스를 생성했다. 이번에는 생성된 인스턴스의 상태를 확인하고, SSH 접속을 해서 Spring Boot 기반 IntraPortal 앱 배포까지 진행한다.인스턴스가 running 상태로 전환된 시점부터 브라우저에서 로그인 화면이 뜨는 것까지 확인하는 것이 이번 실습의 목표다. 1. 인스턴스 생성 확인EC2 인스턴스 생성 직후에는 콘솔과 CLI 양쪽에서 상태를 확인하는 것이 좋다.콘솔에서는 UI 렌더링 지연으로 상태가 아직 반영되지 않은 경우가 있고, CLI에서는 쿼리 필터를 잘못 쓰면 결과가 빈 테이블로 나올 수 있다. describe-instances에 태그 필터를 걸어 securedeploy-* 패턴에 해당하는 인스턴스만 조회한다.--query 옵션은 JMESPath 표현식으..

[AWS] 웹 애플리케이션 배포를 위한 EC2 인스턴스 생성

이번에는 지난 실습에서 구성한 VPC 위에 실제 애플리케이션이 올라갈 EC2 인스턴스를 생성한다.1. AMI 선택 — 개발 환경과 동일한 OS 이미지 확보EC2 인스턴스의 OS 이미지(AMI)를 고를 때 가장 중요한 기준은 앱이 실제로 검증된 환경과 동일한 이미지를 사용하는 것이다.이번에 배포할 IntraPortal 앱의 개발·테스트 환경은 Ubuntu 26.04 LTS (Resolute Raccoon)에서 구동 중이며, setup.sh와 OS 하드닝 스크립트도 모두 26.04에서 검증된 상태이다.$ cat /etc/os-releasePRETTY_NAME="Ubuntu 26.04 LTS"VERSION="26.04 LTS (Resolute Raccoon)" 개발 환경이 Ubuntu인데 EC2를 Amazon..

[AWS] 온보딩 활동으로 크레딧 벌기 - AWS Budgets 설정

1. 온보딩 활동이란AWS는 신규 가입자에게 주요 서비스를 체험시키기 위해 가이드형 미니 과제를 제공하는데, 이것을 "온보딩 활동"이라고 한다.콘솔 홈 대시보드의 AWS 살펴보기(Explore AWS) 위젯을 보면 5개의 활동이 나와 있는데, 각 활동을 완료할 때마다 $20 크레딧이 적립된다. 5개 활동을 모두 완료하면 총 $100을 추가로 받을 수 있다.Free Tier 기준으로 계정 생성 시 $100이 기본 제공되므로, 온보딩 활동까지 전부 마치면 총 $200 크레딧을 확보할 수 있는 셈이다.🚨주의사항온보딩 활동에는 몇 가지 제약 조건이 있다.활동은 계정 생성 후 6개월 이내에 완료해야 한다. 기한을 넘기면 크레딧을 받을 수 없다.AWS Organization에 가입하거나 AWS Control To..

[AWS] EC2 인스턴스 접속을 위한 키 페어 생성

VPC 퍼블릭 네트워크 구성까지 마쳤다면, 다음 단계는 그 네트워크 위에 EC2 인스턴스를 올리고 접속하는 것이다.EC2 인스턴스를 생성하기 전에 반드시 먼저 해두어야 하는 작업이 있는데, 바로 키 페어 생성이다.1. 키 페어의 개념키 페어(key pair)는 퍼블릭 키(public key)와 프라이빗 키(private key) 두 개로 구성되는 보안 자격 증명 집합이다.EC2 인스턴스에 접속할 때 "접속하려는 사람이 정당한 소유자인지"를 증명하는 데 사용된다.Linux 인스턴스에서는 이 키 페어로 SSH 접속을 인증하고, Windows 인스턴스에서는 관리자 암호를 복호화하는 데 프라이빗 키를 사용한다.퍼블릭 키 : 인스턴스 쪽에 저장된다. 잠금장치에 해당하며, 공개되어도 무방하다. AWS가 인스턴스 안..

[AWS] 퍼블릭 VPC 네트워크 구성하기 (프리티어 기준)

이전 포스팅에서는 AWS의 VPC 개념과 구조에 대해 알아보았다.이번에는 지난 번 생성한 IAM 계정에서 인터넷과 통신 가능한 퍼블릭 VPC 네트워크 골격을 AWS 콘솔 또는 CLI로 구성하는 방법을 알아본다.VPC부터 서브넷, 인터넷 게이트웨이, 라우팅 테이블, 보안 그룹까지 순서대로 만들고, 그 위에 EC2만 배치하면 곧바로 외부와 통신할 수 있는 상태까지 완성해 본다. 이번 실습에서 만드는 자원은 전부 요금이 발생하지 않는 AWS 프리티어 범위 안에서 구성했다.NAT Gateway, VPC Endpoint, Elastic IP, VPC Flow Logs 같은 유료 자원은 여기서는 사용하지 않는다. 보안 그룹은 의도적으로 느슨하게 구성한다.추후 이 네트워크 위에 EC2를 올리고 웹 애플리케이션을 배포..