환영합니다
사이버보안: 심층 방어에 오신 것을 환영합니다.
매주 새로운 헤드라인: 랜섬웨어에 의해 병원이 자체 시스템에서 차단당하고, 유출된 데이터베이스에서 수백만 개의 비밀번호가 유출되며, 단일 compromised password를 통해 공격자가 침입하여 파이프라인이 중단됩니다.
사이버보안은 후드티를 입은 해커가 아닙니다. 시스템이 어떻게 실패하는지 이해하고, 무언가 잘못될 때(만약이 아니라): 방어책이 견고하게 유지되도록 구축하는 것입니다.
이 수업은 기초 개념부터 위협 모델링, 네트워크 방어, 응용 프로그램 보안, 사고 대응, & 마지막으로 이 지<|eos|>
CIA Triad
CIA 트라이어드
모든 보안 결정은 세 가지 원칙으로 귀결됩니다. 업계에서는 이를 CIA 트라이어드라고 부릅니다. 이는 정보기관과는 전혀 관련이 없습니다.
기밀성(Confidentiality): 오직 권한이 있는 사람들만 데이터에 접근할 수 있습니다. 의료 기록은 환자와 담당 의사만 볼 수 있어야 하며, 인터넷 전체에 공개되어서는 안 됩니다.
무결성(Integrity): 데이터가 변조되지 않았음을 의미합니다. 은행에서 잔고가 $500라고 표시된다면, 아무도 이를 $5,000에서 변경하지 않았다는 것을 믿을 수 있어야 합니다.
가용성: 시스템과 데이터가 필요할 때 접근 가능해야 합니다. 병원의 환자 기록은 응급 상황에서 네트워크가 다운되면 아무 소용이 없습니다.
대부분의 침해 사고는 이 세 가지 중 최소한 하나를 위반합니다. 랜섬웨어 공격은 가용성을 공격하고, 데이터 유출은 기밀성을 공격합니다. 금융 거래에 대한 중간자 공격은 무결성을 공격합니다.
실제 보안은 이 세 가지 사이의 절충입니다. 금고 속에 잠겨 있는 시스템은 완벽한 기밀성을 가지지만, 가용성은 0입니다.
공격 벡터
실제 공격이 발생하는 방법
할리우드에서는 해커들이 터미널에 초록색 코드를 열심히 입력하는 모습을 보여줍니다. 현실은 그보다 훨씬 덜 화려합니다. 대부분의 침해는 몇 가지 일반적인 공격 벡터 중 하나로 시작됩니다:
피싱(Phishing): 사람을 속여 링크를 클릭하게 하거나, 첨부 파일을 열게 하거나, 가짜 사이트에 자격 증명을 입력하게 하는 행위. 여전히 가장 흔한 초기 접근 방법입니다. 스피어 피싱은 특정인을 대상으로 맞춤형 미끼를 사용합니다.
멀웨어(Malware): 시스템을 손상시키거나 무단 접근을 얻기 위해 설계된 소프트웨어입니다. 랜섬웨어는 파일을 암호화하고 대금을 요구하며, 트로이 목마는 정상 소프트웨어로 가장하고, 웜은 네트워크를 통해 자동으로 전파됩니다.
공급망 공격(Supply Chain Attacks): 신뢰할 수 있는 벤더나 소프트웨어 의존성을 공격하는 방식입니다. 2020년 SolarWinds 공격에서는 일상적인 소프트웨어 업데이트에 악성 코드가 주입되어 18,000개 이상의 조직(미국 정부 기관 포함)에 배포되었습니다.
자격 증명 공격(Credential Attacks): 비밀번호를 무차별 대입하거나, 다른 유출 사고에서 유출된 비밀번호를 재사용하는 크리덴셜 스터핑, 또는 변경되지 않은 기본 자격 증명을 악용하는 방식입니다.
제로데이 익스플로잇: 소프트웨어 공급업체가 아직 알지 못하는 취약점을 공격하는 방식. 패치가 없기 때문에 드물지만 매우 치명적입니다.
위협 행위자와 MITRE
공격의 배후는 누구인가?
모든 공격자가 똑같지는 않습니다. 보안 전문가들은 동기와 역량에 따라 공격자를 분류합니다:
스크립트 키디: 미리 만들어진 도구를 사용해 공격하는 저숙련 공격자. 실제 피해를 일으키지만 정교하지는 않습니다.
해커티비스트: 정치적 또는 사회적 동기를 가진 사람들. 웹사이트를 변형하거나 데이터를 유출하거나 서비스 거부 공격을 실행하여 주장을 표현합니다.
사이버범죄자: 이익을 추구하는 사람들. 랜섬웨어 갱단, 사기 조직, 데이터 브로커. 이는 인터넷에 적응한 조직 범죄입니다.
국가 지원 행위자 (APT): 정부의 지원을 받는 Advanced Persistent Threats. 대규모 예산, 맞춤형 도구, 수년 단위의 인내심을 가지고 있습니다. 첩보 활동, 인프라 파괴, 지적 재산 절취를 생각해 보세요.
내부자: 합법적인 접근 권한을 가진 직원이나 계약자가 이를 악의적으로 또는 과실로 오용하는 경우입니다.
MITRE ATT&CK Framework
MITRE ATT&CK는 실제 공격자 기법을 단계별로 정리한 공개 지식 베이스입니다. 단계에는 초기 접근(Initial Access), 실행(Execution), 지속성(Persistence), 권한 상승(Privilege Escalation), 측면 이동(Lateral Movement), 유출(Exfiltration) 등이 포함됩니다. 방어자는 이를 통해 각 단계에서 공격자가 수행하는 행동을 이해하고, 이에 맞는 탐지 체계를 구축할 수 있습니다.
방화벽, VPN 및 IDS/IPS
네트워크 방어 계층
네트워크 보안은 네트워크로 들어오고 나가는 트래픽과 내부에서 이동하는 트래픽을 통제하는 것입니다. 단일 장치만으로는 이를 달성할 수 없으며, 심층 방어는 여러 계층의 제어를 겹쳐서 적용하는 것을 의미합니다.
방화벽: 첫 번째 방어선. 방화벽은 네트워크 트래픽을 검사하고 규칙에 따라 허용하거나 차단합니다. 기본 방화벽은 IP 주소와 포트 번호에 따라 필터링합니다. 차세대 방화벽(NGFW)은 트래픽의 실제 콘텐츠를 검사하고 특정 애플리케이션을 식별할 수 있습니다.
VPN(가상 사설망): 두 지점 사이의 트래픽을 암호화하여 공용 인터넷과 같은 신뢰할 수 없는 네트워크 위에 보안 터널을 생성합니다. 원격 근무자는 VPN을 사용하여 현장에 있는 것처럼 내부 회사 자원에 접근할 수 있습니다.
IDS/IPS(침입 탐지/방지 시스템): IDS는 트래픽을 모니터링하고 의심스러운 활동을 발견하면 경고합니다. IPS는 동일한 기능을 수행하지만 자동으로 트래픽을 차단할 수 있습니다. IDS는 보안 카메라로, IPS는 문을 잠글 수 있는 경비원이 있는 보안 카메라로 생각하면 됩니다.
네트워크 세그먼테이션: 네트워크를 격리된 구역으로 분할하여 한 영역의 침해가 다른 영역으로 쉽게 확산되지 않도록 합니다. 마케팅 부서의 워크스테이션이 compromised된 경우, 재무 부서의 데이터베이스 서버에 접근할 수 없도록 해야 합니다.
Zero Trust와 DNS 보안
Zero Trust 아키텍처
전통적인 네트워크 보안은 성곽과 해자 모델을 따랐습니다: 강력한 경계 방어선을 구축하지만, 일단 내부에 들어오면 신뢰합니다. 이 모델은 공격자가 경계를 통과하거나, 재택근무로 인해 경계가 사라질 때 치명적으로 실패합니다.
Zero Trust는 모델을 뒤집습니다: 절대 신뢰하지 말고, 항상 확인하라. 모든 요청은: 내부에서 오든 외부에서 오든: 반드시 인증, 인가, 암호화되어야 합니다. 핵심 원칙:
- 명시적 검증: 모든 사용 가능한 데이터(신원, 위치, 디바이스 상태, 서비스 또는 워크로드, 데이터 분류)를 기반으로 인증하고 인가합니다.
- 최소 권한 접근: 사용자와 시스템에 필요한 최소한의 권한만, 필요한 시간만큼만 부여합니다.
- 침해 가정: 공격자가 이미 내부에 있다고 가정하고 시스템을 설계합니다. 침해의 영향 범위를 최소화합니다.
DNS 보안
DNS는 도메인 이름을 IP 주소로 변환합니다. 공격자는 이를 여러 가지로 악용합니다: DNS 스푸핑은 사용자를 악성 사이트로 리디렉션하고, DNS 터널링은 DNS 쿼리 안에 데이터 유출을 숨기며, 도메인 하이재킹은 합법적인 도메인을 탈취합니다. DNSSEC는 DNS 응답에 암호화 서명을 추가하여 변조를 방지합니다.
인젝션 공격
애플리케이션이 공격 표면이 될 때
네트워크 방어가 완벽할 수 있지만, 애플리케이션 자체에 취약점이 있다면 공격자는 정문으로 들어올 수 있습니다.
SQL 인젝션: 공격자가 입력 필드에 악성 SQL 코드를 삽입합니다. 애플리케이션이 사용자 입력을 연결하여 데이터베이스 쿼리를 구성하면, 공격자는 전체 데이터베이스를 읽거나, 수정하거나, 삭제할 수 있습니다. 예: 로그인 폼에 ' OR 1=1 --을 입력하면 인증을 완전히 우회할 수 있습니다.
크로스 사이트 스크립팅 (XSS): 공격자가 다른 사용자가 볼 웹 페이지에 악성 JavaScript를 삽입합니다. 피해자가 페이지를 로드하면, 스크립트가 브라우저에서 실행되어 세션 쿠키를 훔치거나, 피싱 사이트로 리디렉션하거나, 페이지에서 보이는 내용을 수정할 수 있습니다.
OWASP Top 10: Open Web Application Security Project는 웹 애플리케이션 보안 위험 중 가장 중요한 것들을 정기적으로 업데이트하여 발표합니다. Injection과 XSS는 10년 이상 목록에 포함되어 있습니다. 그 외에도 깨진 접근 제어, 보안 설정 오류, 안전하지 않은 설계 등이 포함됩니다.
인젝션 공격에 대한 해결책은 단순한 입력 필터링이 아닙니다: 파라미터화된 쿼리(prepared statements라고도 함)입니다. 사용자 입력으로 SQL 문자열을 직접 구성하는 대신, 입력을 별도의 파라미터로 전달하여 데이터베이스가 이를 코드가 아닌 데이터로 처리하도록 합니다.
인증과 안전한 개발
올바른 인증
인증은 당신이 주장하는 사람임을 증명하는 것입니다. 인가는 당신이 무엇을 할 수 있는지 결정하는 것입니다. 이 두 가지를 혼동하는 것은 취약점의 흔한 원인입니다.
다중 요소 인증 (MFA): 두 가지 이상의 요소를 요구합니다: 알고 있는 것(비밀번호), 가지고 있는 것(휴대폰 또는 하드웨어 키), 본인인 것(지문). MFA는 자격 증명 기반 공격의 대부분을 차단합니다. 도난당한 비밀번호만으로는 충분하지 않기 때문입니다.
OAuth 2.0 및 OpenID Connect: 위임된 권한 부여 및 인증을 위한 표준입니다. 'Google로 로그인' 버튼을 클릭하면 OAuth는 애플리케이션이 Google 비밀번호를 보지 않고도 Google을 통해 신원을 확인할 수 있게 합니다.
보안 소프트웨어 개발 수명 주기 (SDLC)
보안은 개발 후에 추가할 수 없습니다. 보안 SDLC는 모든 단계에 보안을 통합합니다:
- 설계: 위협 모델링: 무엇이 잘못될 수 있을까?
- 개발: 보안 코딩 표준, 코드 리뷰, 정적 분석 도구
- 테스트: 동적 분석, 침투 테스트, 퍼징 테스트
- 배포: 강화된 구성, 비밀 관리
- 유지보수: 패치, 취약점 스캔, 종속성 업데이트
사고 대응 생명주기
예방이 실패할 때
어떤 방어도 완벽하지 않습니다. 침해가 발생했을 때, 사소한 사고와 대참사의 차이는 얼마나 빠르고 효과적으로 대응하느냐에 달려 있습니다.
표준 사고 대응 수명 주기에는 여섯 단계가 있습니다:
1. 준비(Preparation): 팀을 구성하고, 역할을 정의하며, 플레이북을 작성하고, 탁상 훈련을 실행합니다. 이는 사고 발생 전에 이루어집니다. 준비되지 않은 팀은 누가 무엇을 해야 하는지 파악하느라 중요한 시간을 낭비합니다.
2. 탐지 및 분석(Detection and Analysis): 사고가 발생하고 있음을 식별하고 그 범위를 파악합니다. 이 단계에서 SIEM(Security Information and Event Management) 시스템이 환경 전반의 로그를 수집하고 의심스러운 패턴에 대해 경고합니다. SOC(Security Operations Center) 분석가들은 24/7로 이러한 경고를 분류합니다.
3. 격리(Containment): 출혈을 멈춥니다. 단기 격리는 감염된 머신을 네트워크에서 격리하는 것을 의미할 수 있습니다. 장기 격리는 조사하는 동안 깨끗한 병렬 환경을 구축하는 것을 의미할 수 있습니다.
4. 제거(Eradication): 공격자의 존재를 완전히 제거합니다: 악성코드, 백도어, 손상된 계정, 지속성 메커니즘.
5. 복구(Recovery): 시스템을 정상 운영 상태로 복원합니다. 환경이 깨끗한지 검증합니다. 공격자가 여전히 존재하는지 징후를 면밀히 모니터링합니다.
6. 교훈(Lessons Learned): 가장 소홀히 다루어지는 단계입니다. 비난 없는 사후 분석을 수행합니다: 무슨 일이 발생했는지, 어떻게 탐지되었는지, 무엇이 잘 되었는지, 무엇이 잘 되지 않았는지, 재발을 방지하기 위해 어떤 변경이 필요한지.
사고 대응 시나리오
시나리오: 새벽 2시 랜섬웨어
당신은 당직 보안 분석가입니다. 오전 2시 14분, SIEM에서 경보가 발생했습니다: 여러 파일 서버에서 비정상적인 암호화 활동이 감지되었습니다. 몇 분 내에 유럽 지사 직원들이 파일이 랜섬노트로 대체되었으며 50비트코인을 요구한다는 보고를 받았습니다.
당신의 인시던트 대응 계획은 IR 팀 리드에게 에스컬레이션하고 랜섬웨어 플레이북을 따르라고 합니다. CEO가 전화하고 있습니다. 법무팀은 알림 의무에 대해 알고 싶어합니다. IT 디렉터는 백업이 깨끗한지 확인하고 싶어합니다.
교훈 [BLOCK_TYPE ir/lessons]
모두가 건너뛰는 단계
[BLOCK_TYPE ir/lessons]즉각적인 위기가 해결된 후, 교훈 도출 단계는 조직이 실제로 개선되는지 여부를 결정합니다. 비난 없는 사후 분석에서는 다음을 묻습니다: [BLOCK_TYPE ir/lessons]
- 초기 접근 경로는 무엇이었습니까? [BLOCK_TYPE ir/lessons]
- 공격자가 탐지되기 전에 환경에 얼마나 오래 머물렀습니까(체류 시간)? [BLOCK_TYPE ir/lessons]
- 어떤 통제가 실패했으며, 그 이유는 무엇입니까? [BLOCK_TYPE ir/lessons]
- 어떤 통제가 효과적으로 작동했습니까?
- 재발을 방지하기 위한 구체적이고 측정 가능한 변화는 무엇인가?
무과실(blameless)이라는 단어가 중요하다. 사람들이 처벌을 두려워하면 실수를 숨긴다. 실수를 숨기면 조직은 결코 학습하지 못한다. 목표는 개인을 처벌하는 것이 아니라 시스템을 고치는 것이다.
최근 몇 년 사이 랜섬웨어 공격의 평균 체류 시간은 감소했지만, 다른 유형의 공격에서는 공격자가 몇 주 또는 몇 달 동안 탐지되지 않은 상태로 머무르는 경우가 흔하다. 탐지 속도는 보안 운영에서 가장 중요한 지표 중 하나이다.
사이버보안 분야의 커리어 경로
이 지식이 적용되는 곳
사이버보안 분야는 전 세계적으로 수십만 개의 미충원 직위가 있을 정도로 인력 부족이 심각합니다. 이 분야는 다양한 성격과 기술 세트를 가진 사람들을 위한 여러 커리어 경로를 제공합니다:
SOC Analyst: 최전선. SOC 분석가는 교대 근무를 하며 알림을 모니터링하고, 사고를 분류하며, 위협을 에스컬레이션합니다. 사이버보안 분야로 진입하는 가장 일반적인 입문 포인트입니다. 교대 근무와 많은 알림 피로가 예상되지만, 실무 지식을 빠르게 쌓을 수 있습니다.
Penetration Tester (Pentester): 조직의 허락을 받고 침투하는 대가를 받습니다. 공격자가 발견하기 전에 취약점을 찾아냅니다. 네트워킹, 웹 애플리케이션, 운영체제에 대한 깊은 기술적 스킬이 필요합니다. 창의적인 문제 해결 능력이 필수적입니다.
Security Engineer: 방어 인프라를 설계하고 구축합니다: firewalls, SIEM systems, identity platforms, encryption systems. 이 역할은 빌더입니다. DevOps 및 클라우드 엔지니어링과의 강한 중복이 있습니다.
Digital Forensics and Incident Response (DFIR): 수사관. 침해가 발생하면 DFIR 전문가들은 무슨 일이 벌어졌는지, 어떻게, 언제 발생했는지 재구성합니다. 세부 사항에 대한 meticulous attention to detail과 법적 절차 및 증거 처리에 대한 편안함이 필요합니다.
인증
인증은 필수가 아니지만, 기회를 열어줍니다:
- CompTIA Security+: 업계 표준의 초급 인증. 보안의 기본 개념을 커버합니다. 좋은 시작점입니다.
- OSCP (Offensive Security Certified Professional): 실습 중심의 침투 테스트 인증. 24시간 동안 여러 대의 머신을 랩에서 해킹해야 합니다. 높은 평가를 받으며 실제로 어렵습니다.
- CISSP (Certified Information Systems Security Professional): 보안 전략, 위험 관리, 및 управление를 커버하는 관리 레벨의 인증. 5년의 경험을 요구합니다. 시니어 및 руководящие 역할을 위한 널리 요구되는 인증입니다.
당신의 보안 마인드셋
마무리
이제까지 많은 내용을 다뤘습니다: CIA 트라이어드, 위협 행위자 및 공격 벡터, 네트워크 방어 및 제로 트러스트, 애플리케이션 보안 및 인젝션 공격, 탐지부터 교훈 도출까지의 사고 대응, 그리고 이 모든 것을 실무에 활용하는 커리어 경로에 대해 배웠습니다.
방어 심층의 핵심 원칙은 단일 통제만으로는 충분하지 않다는 것입니다. 방화벽을 세그먼테이션과 함께, 세그먼테이션을 모니터링과 함께, 모니터링을 사고 대응과 함께, 그리고 이 모든 것을 실패 시 대처 방법을 아는 훈련된 인력과 함께 계층화합니다.
공격자는 단 하나의 허점만 찾으면 됩니다. 방어자는 그 모든 허점을 막아야 합니다. 이러한 비대칭성은 이 분야를 도전적이면서도 중요한 분야로 만듭니다.