Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 기술 특강 및 OT
- 클라우드 보안 기반
- kisa #보안관제
- 애플리케이션 보안 기술
- rocky linux#siem#project#threat detection#soc#onpremise#ids#python#csv#pipeline#kali linux#DVWA#security monitoring
- sk shieldus
- 29기
- 보고서
- Foxyproxy#install#setting#firefox
- 루키즈
- CERT
- 쉴더스
- Kali#Linux#Brute#Force#Attack#Test#DVWA#Hacking#Low#무차별#대입#공격#해킹
- #루키즈
- 모의침투
- 모듈프로젝트
- VMWARE#INSTALL#설치
- DVWA#Brute#Force#Attack#Test#Kali#Linux#Medium#Level#sleep
- 시스템-네트워크 보안 기술
- 클라우드 보안 기술
- 클라우드기반 보안 시스템 구축/운영 실무
- AI #취업
- DVWA#INSTALL#github#security#kali#linux
- Case Study
- Kali#Linux#KALI#LINUX#INSTALL#github#설치
- 모듈 프로젝트
- sk 쉴더스 루키즈
- 인프라 활용을 위한 파이썬
- 개인정보보호
- 클라우드 기반
Archives
- Today
- Total
이것저것
[SK shieldus Rookies 29기] 2일차 본문
1️⃣ CH1: 금융시스템 개발보안 개요
- 💡 금융시스템의 특징
- 높은 보안성/신뢰성: 금전 거래 중심, 위·변조 및 해킹에 극도로 민감.
- 24시간 무중단 운영: 가용성, 무결성, DR(재해복구) 시스템 필수.
- 정밀한 트랜잭션 처리: 오류 시 법적 분쟁 가능성.
- 엄격한 규제 적용: 전자금융감독규정, 개인정보보호법 등.
- 내부자 위협 관리: 권한 최소화, 로그 분석, 작업 모니터링 필요.
- ⚠️ 2025년 보안 이슈 트렌드
- APT 고도화: 공급망 공격, 제로데이 취약점 활용.
- 랜섬웨어 진화: 데이터 유출 후 협박 (이중 협박) 일반화.
- API 취약점 악용: 인증/권한 미흡, DoS 공격 증가.
- 클라우드 설정 오류: 관리 부실로 인한 정보 유출.
- AI 기반 공격: 지능형 피싱, 악성코드 자동 생성.
- 🔍 사고사례
- 스마트 컨트랙트 오버플로우:
SafeMath라이브러리 미적용으로 토큰 무한 복사. - Log4j (OSS 취약점): 로그 메시지를 통한 원격 코드 실행(RCE).
- 공급망 공격 (Supply Chain): 신뢰된 SW(SolarWinds, 3CX 등)에 악성코드 삽입.
- 스마트 컨트랙트 오버플로우:
- 🔑 대응: SBOM & SCA
- SBOM (Software Bill of Materials): SW 구성요소 명세서. 부품 목록 관리.
- SCA (Software Composition Analysis): 오픈소스 라이브러리의 취약점 및 라이선스 분석.
- 📜 법규 및 가이드라인
- 국내: 전자금융감독규정 (보안성 심의), ISMS-P, 행정안전부 개발보안 가이드 (구현 49개 약점).
- 국외: NIST SSDF, 美 행정명령 (SBOM 제출 의무화), EU CRA (보안 지원 의무화), OWASP Top 10.
🚀 CH2: 소프트웨어 개발보안 방법론
- "Shift-Left": 💸 보안을 SDLC 초기 단계(설계/구현)에 적용할수록 비용이 기하급수적으로 감소.
- DevSecOps: 🤖 DevOps 파이프라인(CI/CD)에 SAST, DAST, SCA 등 보안 테스트를 자동화·통합하는 문화.
- Security by Design: 📐 설계 단계부터 위협 모델링(예: STRIDE )을 수행하여 보안을 내재화.
- Zero Trust: 🛡️ "Never Trust, Always Verify" (절대 신뢰 말고, 항상 검증). 내부/외부 모든 접근을 의심하고 지속적으로 검증.
- MS-SDL (Microsoft Secure Development Lifecycle): 📖 대표적인 보안 개발 방법론.
MS-SDL 단계 핵심 활동 Training (교육) 보안 원칙 및 최신 위협 학습 Requirements (요구사항) 보안 및 규제 요건 명세화 Design (설계) STRIDE 기반 위협 모델링 수행 Implementation (구현) 시큐어코딩 표준 준수, SAST(정적 분석) 수행 Verification (검증) DAST(동적 분석), 퍼징, 침투 테스트 Release (릴리스) 최종 보안 리뷰, 코드 서명 Response (대응) 사고 대응 플랜, 보안 패치 운영
🖥️ CH3: 웹 애플리케이션 보안 기초
- 🌐 HTTP: Request/Response 구조.
- 🍪 쿠키 (Cookie): 클라이언트에 저장.
HttpOnly(XSS 방어),Secure(HTTPS 전송),SameSite(CSRF 방어) 속성 설정이 중요. - 🗄️ 세션 (Session): 서버에 저장. 클라이언트는 세션 ID만 쿠키로 가짐.
- 🎟️ 토큰 (Token): Stateless (무상태) 인증. 서버가 상태 저장 안 함. JWT가 대표적이며 API/모바일 인증에 적합.
🔒 CH4: 주요 취약점 및 대응 코딩기법
| 취약점 | 설명 (CWE Top 25/OWASP Top 10) | 안전한 코딩 기법 (대응) |
|---|---|---|
| SQL Injection | 사용자 입력이 DB 쿼리문으로 해석되어 실행 | PreparedStatement (정적 쿼리) 사용. (MyBatis: #{} 사용) |
| Command Injection | 사용자 입력이 OS 명령어로 실행 | ProcessBuilder 또는 exec(String[] array) 사용 (쉘 해석 방지) |
| XSS (Cross-Site Scripting) | 악성 스크립트가 사용자 브라우저에서 실행 | 출력값 이스케이프(Escape): <를 < 등으로 변환하여 텍스트로 처리 |
| CSRF (Cross-Site Request Forgery) | 사용자 의사와 무관하게 위조된 요청 전송 | Anti-CSRF 토큰 사용. SameSite 쿠키 속성 설정. |
| XXE (XML External Entity) | 악의적인 외부 엔티티를 XML 파서가 처리 | XML 파서 설정에서 외부 엔티티 및 DTD 로드 비활성화 |
| 역직렬화 (Deserialization) | 신뢰할 수 없는 데이터를 객체로 복원 | 클래스 화이트리스트 사용 (허용된 클래스만 역직렬화) |
| 파일 업로드 | 웹쉘 등 실행 파일 업로드 | 화이트리스트 확장자 검증, 웹 루트 외부에 저장, 파일명 랜덤화, 실행 권한 제거 |
| 경로 탐색 (Path Traversal) | ../ 등을 이용해 상위 디렉토리 파일 다운로드 |
../ 등 위험 문자 필터링, 사용자 입력을 파일 경로로 직접 사용 금지 |
🛡️ CH5: SW보안성 강화 (암호화/인증/인가)
- 🔐 암호화 (Data Protection):
- 비밀번호: 반드시 일방향 해시(예: SHA-256) + Salt 적용하여 저장.
- 개인정보: 법적 요구사항(주민번호, 카드번호 등)에 따라 안전한 알고리즘으로 암호화.
- 전송: 모든 민감 정보 전송 구간은 SSL(HTTPS) 적용.
- 🔑 인증 (Authentication): "당신은 누구인가?" (로그인)
- 로그인 시도 횟수 제한: 3~5회 실패 시 계정 잠금 또는 CAPTCHA 요구.
- 세션 타임아웃: 일정 시간(예: 30분) 미사용 시 자동 로그아웃 (세션 만료).
- 👮 인가 (Authorization): "이 작업을 할 권한이 있는가?" (접근제어)
- 최소권한의 원칙 (Least Privilege): 업무 수행에 필요한 최소한의 권한만 부여.
- 파라미터 변조 방어:
modify.do?id=123요청 시, 파라미터id=123이 현재 세션의 ID와 일치하는지 서버 측에서 반드시 교차 검증. - RBAC (역할 기반 접근 제어): 사용자에게 직접 권한 대신 '역할(Role)'을 부여하여 관리.
🛠️ CH6: 보안약점 진단 도구 (SAST)
- 🧐 정적 분석 (SAST):
- "실행 없이" 소스코드, 바이트코드, 바이너리를 분석하여 보안 약점 탐지.
- 장점: 개발 초기 단계(코딩 중)에 빠르게 피드백 가능, 수정 비용 절감.
- 단점: 런타임 환경을 몰라 오탐(False Positive) 발생 가능.
- 🟧 SonarQube (소나큐브) 활용:
- 대표적인 오픈소스 정적 분석 도구.
- 동작:
Docker(서버 실행) →SonarScanner(분석) →웹 대시보드(결과 확인). - 결과: Bugs, Vulnerabilities(취약점), Security Hotspots(보안 검토 필요), Code Smells(코드 품질) 리포트 제공.
(B)
📌 2일차 전체 핵심 요약
- 💻 금융 보안의 특수성: 24시간 무중단, 엄격한 규제, 높은 신뢰성을 요구하며, APT/랜섬웨어/공급망 공격 등 최신 위협에 대응해야 합니다.
- 🚀 현대 개발보안 방법론:
- DevSecOps: CI/CD 파이프라인에 SAST/DAST/SCA를 자동화합니다.
- Security by Design: 설계 단계부터 '위협 모델링(STRIDE)'을 수행합니다.
- Zero Trust: "Never Trust, Always Verify." 모든 접근을 지속적으로 검증합니다.
- MS-SDL: SDLC 전 단계에 보안 활동을 체계화한 교과서입니다.
- 💉 주요 취약점 정복: OWASP Top 10과 CWE Top 25 기반의 취약점(SQLi, XSS, CSRF, XXE, 역직렬화, 파일 업로드 등) 원리를 이해하고, '정적 쿼리', '출력값 이스케이프' 등 시큐어코딩 기법을 적용해야 합니다.
- 🛡️ 보안 3대 요소 강화:
- 암호화: 비밀번호는 '해시 + Salt'로, 민감 데이터는 암호화하여 저장합니다.
- 인증: 로그인 시도 횟수 제한, 세션 타임아웃을 적용합니다.
- 인가: '최소 권한 원칙'을 지키고, 서버 측에서 권한을 교차 검증합니다.
- 🛠️ 구성요소 분석 및 점검:
- SBOM/SCA: 우리가 사용하는 오픈소스(OSS)의 취약점과 라이선스를 관리합니다.
- SAST (SonarQube): 소스코드를 '실행 없이' 분석하여 개발 초기에 버그와 취약점을 탐지합니다.
'SK Shieldus Rookies 29' 카테고리의 다른 글
| [SK shieldus Rookies 29기] 6일차 (0) | 2025.12.04 |
|---|---|
| [SK shieldus Rookies 29기] 5일차 (0) | 2025.12.04 |
| [SK shieldus Rookies 29기] 4일차 (0) | 2025.12.04 |
| [SK shieldus Rookies 29기] 3일차 (0) | 2025.12.04 |
| [SK shieldus Rookies 29기] 1일차 (0) | 2025.12.04 |