Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
생성형AI를 활용한 악성코드 분석 및 대응 본문
운영체제(OS)와 설치의 메커니즘
- 운영체제 구조
- 커널(Kernel): 하드웨어 속성을 제어하는 핵심 영역.
- 쉘(Shell): 사용자의 명령어 인터페이스.
- 시스템 콜(System Call): 쉘에서 커널로 명령을 전달하는 행위이며, 반드시 관리자 권한이 필요함
- 설치의 정의: 관리자 권한을 이용해 운영체제 커널에 명령을 내릴 수 있는 통로(빨대)를 만드는 행위
- 해킹의 정의: 설계자가 의도하지 않은 동작을 유발하고, 사용자 권한을 관리자 권한으로 높여 무분별한 시스템 콜을 유발하는 행위
대상별 보안 관리의 차이 (사용자 vs 이용자)
| 관리 주체 | 기업 내부(AD 조인 등) | 불특정 다수(고객) |
| 환경 | 통제된 환경, 망분리 적용 | 매우 다양함(구형 PC, 모바일, 태블릿) |
| 권한 통제 | 관리자 권한 제거 가능 | 권한 제어 불가 (고객 이탈 우려) |
| 보안 수준 | 화이트리스트 기반 강력한 통제 | 최소한의 보안 프로그램 설치 강제 |
| 상태 | 최신 패치 및 업데이트 관리 | 패치 미비, OS 지원 종료(EOS) 포함 |
보안 프로그램의 기술적 문제 및 보안 위협
사용자 환경의 불편함
- 중복 설치: 각 기관마다 서로 다른 제품을 사용하여 PC 리소스 낭비 및 프로그램 간 충돌 유발
- 시스템 불안정: 커널(Kernel) 호환성 문제로 인한 BSOD(Blue Screen of Death) 발생 및 PC 성능 저하
- 보안 불신: "보안은 불편한 것"이라는 인식을 심어주어 실제 위협에 대한 경각심을 낮춤
공급망 보안(Supply Chain Attack)의 취약성
- 공격 대상의 변화: 보안이 강력한 은행 서버 대신, 상대적으로 보안이 취약한 중소 보안 소프트웨어 개발사를 타격
- 효율적인 공격: 보안 업체의 업데이트 서버나 소스코드를 탈취하면 해당 프로그램을 사용하는 수많은 고객사(은행, 공공기관 등)에 악성코드를 동시에 유포 가능
주요 보안 프로그램의 종류와 역할
| 통합 설치 프로그램 | 버전 업데이트 확인 및 OS/소프트웨어 간 호환성 체크 |
| 실시간 감시 | 패킷 하이재킹 모니터링 및 앱 변조 감시 |
| 키보드 해킹 방지 | 키로거(Keylogger) 차단, 난수 발생을 통한 평문 유출 방지 |
| 인증서 보안 | 오버레이 공격(Overlay Attack) 감지 및 차단 |
| 온라인 백신 (MAM) | 앱 구동 중에만 동작하는 보안(Mobile Application Management) |
| 문서 보안 | 출력물 워터마크 삽입, 화면 캡처 및 녹화 차단 |
참고: MDM vs MAM
- MDM (Mobile Device Management): 디바이스 전체를 통제 (관리자 권한 필요, 주로 내부 임직원용)
- MAM (Mobile Application Management): 특정 앱이 구동될 때만 보안 적용 (고객 사이드 보안용)
보안 프로그램의 구조적 취약점과 운영체제(OS)의 이해
커널 모드와 사용자 모드의 이해
운영체제는 핵심인 커널(Kernel) 을 중심으로 하드웨어와 소프트웨어 자원을 관리하며, 실행 프로세스는 권한에 따라 두 가지 모드로 구분됨
커널 모드 (Kernel Mode)
- 특징: 가장 높은 권한을 가지며 하드웨어를 직접 통제함
- 주요 관리: 메모리, 프로세스 스케줄링, 장치 드라이버, 파일 시스템 관리
- 위험성: 커널 모드 코드에 오류가 발생하면 시스템 전체가 충돌하며 BSOD(Blue Screen of Death) 가 발생함
- 보안 관련: 하드웨어 수준의 데이터 수집이 필요한 보안 프로그램(EDR 등)은 주로 커널 모드에서 동작함
사용자 모드 (User Mode)
- 특징: 일반 응용 프로그램(엑셀, 웹 브라우저 등)이 실행되는 영역
- 제한: 하드웨어 직접 접근이 불가능하며, 자원이 필요할 경우 System Call을 통해 커널에 요청함
- 오류 발생: 잘못된 메모리 접근 시 Segmentation Fault (SIGSEGV)가 발생하며 해당 프로세스만 종료됨
크라우드스트라이크(CrowdStrike) 사태 분석
2024년 7월 19일 발생한 글로벌 IT 대란을 통해 보안 프로그램의 구조적 위험성을 확인
사고 원인 및 특징
- 원인: 보안 솔루션 팔콘(Falcon)의 실시간 업데이트 파일(C-00000291*.sys)과 윈도우 커널 간의 충돌
- BSOD: 커널 모드에서 동작하는 보안 프로그램의 오류가 시스템 전체 마비를 초래
- 부팅 시퀀스(Boot Sequence): 보안 프로그램은 악성코드보다 먼저 실행되기 위해 부팅 최상단에 바인딩되어 있어, 오류 발생 시 안전모드 진입 등 수동 조치가 매우 어려움
향후 대응 전략
- 배포 전략 개선: 카나리(Canary) 업데이트 등 단계적 배포 및 교차 검증 필수
- 벤더 다변화: 윈도우 외 맥(Mac), 리눅스(Linux) 등 OS 환경을 분산하여 의존성 감소
- 커널 구조 개편: MS는 메모리 안정성이 높은 러스트(Rust) 언어를 커널에 도입하여 기존 C/C++ 기반의 불안정성 해소 추진 중
윈도우(Windows) 운영체제 구조
윈도우는 하드웨어와 응용 프로그램 사이에서 다양한 관리자(Manager)를 통해 시스템을 운영함
주요 구성 요소
- HAL (Hardware Abstraction Layer): 하드웨어와 OS 사이의 번역기 역할을 하는 추상화 계층
- 서브시스템 관리자: 메모리 관리자, 프로세스 관리자, 장치 관리자, 파일 관리자로 구성
- PE(Portable Executable) 파일: 사용자 모드에서 실행되는 윈도우 표준 실행 파일 형식. 해커의 주요 공격 대상이 됨
파일 시스템 보안
- NTFS: 현재 윈도우 표준 파일 시스템으로 권한 설정 및 보안 기능 지원
- 보안 솔루션: 문서 중앙화, DRM(저작권 관리), DLP(데이터 유출 방지), 파일 무예화 기술 등이 파일 시스템 계층에서 동작
정보보호 솔루션 체계 및 분류
기업 보안 관리자는 서비스 레벨(SLA)에 따라 다양한 보안 시스템을 운영함
| 시스템 보안 | 백신(AV), EDR, USB 매체 제어, 키보드 보안 |
| 콘텐츠 보안 | DRM, DLP, DB 암호화, 개인정보 필터링 |
| 네트워크 보안 | 방화벽(WAF), IDS/IPS, VPN, NAC |
| 인증 및 관리 | PKI, 통합인증(SSO), OTP, 로그 관리(SIEM) |
참고: 금융권의 경우 '전자금융감독규정 [별표 2]'의 정보보호 시스템 분류표를 기준으로 약 38~50여 종의 보안 솔루션을 운영함
PE 구조 및 권한 체계의 이해
PE 파일과 YARA 탐지 원리
PE(Portable Executable) 파일 개요
- 정의: 설치 없이 어디서든 실행 가능한 윈도우 실행 파일 형식(EXE, DLL 등)
- 구조: 헤더(Header), 바디(Body), 섹션 테이블(Section Table) 등으로 구성
- 분석 실무: 실제 실행 가능한 형태가 아니더라도 구조(Structure)만 설계하여 악성 여부를 판단하는 정적 분석 모델로 활용 가능
YARA를 이용한 패턴 탐지
- 특징: 파일 내부의 특정 문자열이나 바이너리 패턴을 식별하는 정적 분석 도구
- 한계: 패턴 기반 탐지(AV, EDR 방식)이므로 코드 변종이나 난독화 발생 시 탐지가 어려움
- 분석 도구: 텍스트 에디터로 읽을 수 없는 바이너리 데이터를 확인하기 위해 헥스 에디터(Hex Editor) 활용 필요
악성코드 공격 시나리오 및 체인
사이버 킬체인 구성 예시
- 사회공학적 기법: 이메일에 비밀번호가 걸린 압축 파일 첨부
- 매크로 실행: 사용자가 엑셀(XLSM) 실행 시 VBA 매크로 동작
- 페이로드 드롭: 매크로가 특정 경로에 PE 파일을 생성 및 실행
- 시스템 조작: 방화벽 해제, UAC 컨트롤 끄기, 시간 변경 등 관리자 권한 행위 수행
프롬프트 우회 및 생성형 AI 활용
- 가드레일 우회: 복잡한 악성 체인을 한 번에 요청하면 차단되므로, 기능을 세분화하여 개별 프롬프트로 요청 후 병합하는 방식 권장
- 도구별 특성
- Claude: 가드레일 매우 강력 (상)
- GPT: 보안 필터링 높음 (중상)
- Gemini: 비교적 유연함 (중하)
- 로컬 LLM: 가드레일 거의 없음 (하), 보안 테스트 코드 생성에 유리
운영체제 계정 및 권한 관리
리눅스(Linux) 권한 체계
- 계정: 루트(Root, UID 0)와 일반 사용자(UID 1000+)로 구분
- 특수 권한
- SetUID (S): 일반 사용자가 실행 시 일시적으로 파일 소유자(관리자) 권한을 획득
- 주요 점검: SUID, SGID 설정이 불필요하게 부여된 경우 권한 상승 취약점으로 분류됨
- 관리 명령어: chmod, find / -perm -4000 (SetUID 검색) 등
윈도우(Windows) 권한 체계
- 특징: 리눅스보다 세부적이며 서비스(Service) 중심의 프로비셔닝 관리.
- 관리 도구
- AD(Active Directory): 중앙 집중식 정책 관리
- 스냅인(Snap-in): lusrmgr.msc (로컬 사용자/그룹), services.msc (서비스 관리)
- SID(Security Identifier): 사용자/그룹의 고유 식별자
- 명령어 및 툴
- whoami /user: 현재 사용자의 SID 확인
- PSGetSID: Sysinternals 도구로 SID 확인 및 관리
권한 상승(Privilege Escalation) 기법
윈도우에서의 권한 상승 원리
- 윈도우는 리눅스의 SetUID 같은 기능이 없으므로, 프로세스 가로채기나 쉘(Shell) 탈취 방식을 사용
- 관리자 권한으로 실행 중인 프로세스에 접근하여 해당 권한을 훔쳐 쓰는 것이 핵심
레이스 컨디셔닝(Race Conditioning)
- 시스템 권한이 낮은 사용자가 관리자 권한 프로세스의 실행 경로에 끼어들어 권한을 획득하는 기법
- RCE(Remote Code Execution) 취약점을 통해 원격에서 관리자 쉘을 획득하는 공격이 대표적
'보안 & IT 지식 🌺' 카테고리의 다른 글
| 생성형AI를 활용한 악성코드 분석 및 대응 (0) | 2026.04.01 |
|---|---|
| 생성형AI를 활용한 악성코드 분석 및 대응 (0) | 2026.03.31 |
| 다양한 유형의 해킹사고 정리(WannaCry 랜섬웨어, MS워드 해킹 사건, Storm-0558(중국 해킹 그룹)의 이메일 시스템 해킹 사건) (0) | 2026.03.30 |
| 개인정보 영향평가 수행안내서 part1(총론) (0) | 2026.03.29 |
| 다양한 유형의 해킹사고 정리(SolarWinds 공급망 공격, 대법원 내부망 해킹 사건, 미국 OPM 해킹 사건) (0) | 2026.03.29 |
