DEFENSIVE SECURITY · 합법·방어 목적 전용

해커처럼 생각하고
방어자처럼 행동하라

개발자를 위한 실전 사이버 보안 백서. 침투가 아니라 탐지·방어·복구에 초점을 맞춘 11개 챕터로, 오늘 당장 컴퓨터·계정·자산을 안전하게 만들고, 보안 지식을 실제 수익 경로로 연결하는 방법까지 다룹니다. 모든 명령어와 도구는 본인 소유 자산에 대해서만 사용하십시오.

11챕터 · 40+ 체크포인트
CLI 예제즉시 실행 가능한 명령어
0건공격/침투 코드 없음
01

위협 모델 기초

보안은 "모든 것을 막는다"가 아니라 "무엇을, 누구로부터, 얼마의 비용으로 지킬 것인가"를 정하는 일입니다. CIA 삼요소가 그 기준입니다.

기밀성 · Confidentiality 기초

허가된 사람만 데이터를 볼 수 있어야 합니다.

  • 암호화되지 않은 API 키를 코드에 커밋하지 않기
  • 클립보드에 비밀번호를 오래 남기지 않기

무결성 · Integrity 기초

데이터가 몰래 바뀌지 않았음을 보장합니다.

  • 다운로드한 설치파일의 SHA-256 체크섬 대조
  • Git 커밋 서명(GPG signing)

가용성 · Availability 기초

필요할 때 시스템·데이터에 접근할 수 있어야 합니다.

  • 3-2-1 백업 규칙
  • MFA 복구 코드 별도 보관

나만의 위협 모델 만들기

질문 4가지로 우선순위를 정하세요.

  • 내가 지키려는 자산은? (코드, 지갑, 학생 개인정보)
  • 공격자는 누구? (피싱 봇, 기회주의적 해커)
  • 공격 경로는? (이메일, 공용 Wi-Fi, 재사용 비밀번호)
  • 허용 가능한 불편함은?
02

인증 & 비밀번호

계정 탈취의 80% 이상은 재사용된 약한 비밀번호와 MFA 미사용에서 시작됩니다.

핵심 원칙 — 비밀번호는 "외우는 것"이 아니라 "관리자가 생성·저장하는 것"입니다. 사람이 기억할 필요가 있는 비밀번호는 마스터 비밀번호 단 하나여야 합니다.
도구용도비고
Bitwarden / 1Password비밀번호 매니저, 계정별 무작위 생성오픈소스(Bitwarden) 선호
Passkey (WebAuthn/FIDO2)피싱 불가능한 생체/기기 기반 인증Google·GitHub·Apple 지원
Aegis / Google AuthenticatorTOTP 기반 2단계 인증SMS 인증보다 우선 사용
YubiKey하드웨어 보안키, FIDO2/U2F고가치 계정(이메일·거래소)에 필수
# 내 비밀번호가 유출 DB에 있는지 로컬에서 안전하게 확인 (k-anonymity 방식, HIBP API)
curl -s "https://api.pwnedpasswords.com/range/$(echo -n '내비밀번호' | sha1sum | cut -c1-5 | tr a-z A-Z)"
주의 — 위 명령은 비밀번호 앞 5자리 해시만 서버로 전송하는 안전한 방식이지만, 실제 비밀번호는 로컬에서만 해시 처리되고 절대 그대로 전송되지 않는지 도구 소스를 확인하고 사용하세요.
03

피싱 & 소셜 엔지니어링 방어

기술적 침투보다 사람을 속이는 쪽이 훨씬 저렴하고 성공률이 높습니다. 패턴을 아는 것만으로 대부분 막을 수 있습니다.

이메일/DM 체크 MID

  • 발신 도메인이 진짜인지 문자 하나까지 확인 (예: paypaI.com)
  • "긴급", "계정 정지" 등 감정을 자극하는 압박 문구 경계
  • 링크는 클릭 전 마우스 오버로 실제 URL 확인

딥페이크/음성 사기 MID

  • 급전 요청, 임원 사칭 통화는 별도 채널로 재확인
  • 가족/지인 간 "안전 문구(코드워드)" 사전 합의

개발자 특화 위협 HIGH

  • 가짜 npm/PyPI 패키지(typosquatting) — 다운로드 수·메인테이너 이력 확인
  • 가짜 채용 과제로 위장한 악성 리포지토리 — 격리된 VM/컨테이너에서만 실행
  • VS Code 확장 프로그램 출처 확인 (publisher verified 배지)

암호화폐 특화 피싱 HIGH

  • 거래소 "고객센터" DM은 100% 사기로 간주
  • 지갑 연결 요청(Wallet Connect) 전 dApp 도메인·컨트랙트 주소 검증
  • "에어드랍 클레임"은 시드 문구·프라이빗 키 입력 요구 시 즉시 중단
04

네트워크 & Wi-Fi 보안

공용 Wi-Fi·홈 네트워크는 가장 흔한 침입 경로 중 하나입니다. 아래 도구는 본인 소유 네트워크 진단용입니다.

# 내 홈 네트워크에 연결된 기기 목록 스캔 (자산 파악용, 반드시 자신의 네트워크에서만)
nmap -sn 192.168.0.0/24

# 내 라우터/서버에서 열려있는 포트 점검
nmap -sV -T4 본인_공인IP

# 방화벽으로 불필요한 인바운드 포트 차단 (Ubuntu 예시)
sudo ufw default deny incoming
sudo ufw allow 22/tcp   # 필요한 포트만 명시적으로 허용
sudo ufw enable

VPN 선택 기준

  • 노 로그(No-log) 정책 제3자 감사 여부
  • WireGuard 프로토콜 지원(속도·보안 균형)
  • 공용 Wi-Fi 사용 시 항시 킬스위치 활성화

라우터 하드닝

  • 기본 관리자 비밀번호 즉시 변경
  • WPA3 사용, WPS 기능 비활성화
  • 펌웨어 자동 업데이트 활성화
05

암호화 실전

저장 데이터(at rest)와 전송 데이터(in transit)를 나눠서 생각하면 무엇을 암호화할지 명확해집니다.

# 파일 하나를 GPG로 대칭키 암호화 (비밀번호 기반, 공유 전 표준 방식)
gpg -c --cipher-algo AES256 secret_report.pdf   # → secret_report.pdf.gpg 생성
gpg -d secret_report.pdf.gpg > secret_report.pdf   # 복호화

# 다운로드한 설치파일 무결성 검증 (배포처 제공 SHA256 값과 대조)
sha256sum ubuntu-24.04-desktop-amd64.iso

디스크 암호화

  • macOS: FileVault 활성화
  • Windows: BitLocker 활성화
  • Linux: 설치 시 LUKS 전체 디스크 암호화

통신 암호화

  • 모든 사이트는 HTTPS(TLS 1.2+)만 신뢰
  • Signal 등 종단간 암호화(E2EE) 메신저 사용
  • 이메일 민감 정보는 GPG/PGP 서명·암호화
06

OS & 브라우저 하드닝

기본 설정만 바꿔도 공격 표면의 상당 부분을 줄일 수 있습니다.

영역조치효과
OS 업데이트자동 업데이트 상시 활성화알려진 취약점 패치
브라우저 확장uBlock Origin, 최소 확장만 유지악성 광고·트래커 차단
권한 관리카메라/마이크/위치 앱별 재검토불필요한 데이터 수집 차단
샌드박싱낯선 스크립트는 Docker/VM에서 실행호스트 시스템 격리
DNSDNS-over-HTTPS(예: Cloudflare 1.1.1.1) 사용DNS 스푸핑/감청 방지
# 낯선 오픈소스 코드를 격리 환경에서 안전하게 실행
docker run --rm -it --network none -v $(pwd):/app python:3.12-slim bash
07

백업 & 복구

랜섬웨어·하드웨어 고장·실수 삭제 모두 백업 하나로 방어됩니다.

3-2-1 규칙 — 데이터 3개 복사본을, 2개의 다른 매체에, 그중 1개는 물리적으로 떨어진 곳(클라우드/외부 위치)에 보관.
# 매일 자동 증분 백업 (Linux/macOS, rsync 예시)
rsync -avh --delete ~/projects/ /Volumes/BackupDrive/projects_$(date +%F)/
08

암호화폐 지갑 보안

거래소·선물 트레이딩을 병행한다면 자산 보안이 곧 리스크 관리의 일부입니다.

콜드 스토리지 권장

  • 거래용 자금 외 장기 보유분은 하드웨어 지갑(Ledger/Trezor)으로 이동
  • 시드 문구는 절대 사진·클라우드·메모앱에 저장 금지, 종이/금속 백업

거래소 계정 MID

  • API 키는 출금 권한 없이 조회/거래 권한만 발급
  • IP 화이트리스트 설정, 하드웨어 키 기반 2FA

스마트컨트랙트 승인 HIGH

  • revoke.cash 등으로 불필요한 토큰 approve 권한 주기적 해제
  • 서명 전 트랜잭션 내용을 지갑 UI에서 직접 재확인

운영 습관 MID

  • 트레이딩 전용 기기/브라우저 프로필 분리
  • 대형 이체 전 소액 테스트 전송 선행
09

합법적 수익화 & 절약 경로

보안 지식은 "손실 방지"와 "직접 수익" 두 방향 모두로 돈이 됩니다.

경로설명시작점
버그 바운티기업이 공식 허가한 범위 내에서 취약점 리포트 후 포상금 수령HackerOne, Bugcrowd, Intigriti
보안 자격증커리어·프리랜스 단가 상승으로 이어지는 공인 자격Security+, CEH, OSCP
프리랜스 보안 감사중소기업 웹사이트/서버 기본 보안 점검 서비스Upwork, 지인 네트워크
피싱 손실 예방계정 탈취·랜섬웨어 1회만 막아도 수백만 원 손실 방지본 매뉴얼 02~06장
CTF 대회합법적 모의 해킹 훈련장, 상금 및 채용 연계picoCTF, HackTheBox(연습 랩)
경계선 — 버그 바운티/CTF는 반드시 공식 스코프(scope) 내에서만 진행하세요. 허가되지 않은 시스템 테스트는 스코프를 벗어난 즉시 불법입니다.
10

리스크 vs 노력 매트릭스

지금 무엇부터 해야 할지 한눈에 — 왼쪽 위(저노력·고효과)부터 처리하세요.

효과↑ 노력→ 비밀번호 매니저 2FA/Passkey 설정 자동 업데이트 ON 체크섬 검증 습관 3-2-1 백업 구축 VPN + 라우터 하드닝 GPG 암·복호화 체계화 하드웨어 지갑 전환 보안 자격증(OSCP 등) 버그 바운티 본격 참여
즉시 실행 — 오늘 30분 내 완료 가능, 효과 큼
이번 주 — 설정·습관 정착 필요
이번 분기 — 학습·자산 이전 등 장기 과제
11

실전 체크리스트

체크박스를 눌러 진행 상황을 표시하세요 (이 페이지 내에서만 유지되며 저장되지 않습니다).

  • 모든 계정 비밀번호를 매니저로 이전하고 재사용 비밀번호 제거
  • 이메일·거래소·GitHub에 하드웨어 키/앱 기반 2FA 설정
  • OS·브라우저 자동 업데이트 활성화 확인
  • 3-2-1 백업 파이프라인 1회 실행 및 복구 테스트
  • 라우터 기본 비밀번호 변경 + WPA3 적용
  • 장기 보유 암호화폐 하드웨어 지갑으로 이전
  • 거래소 API 키 출금 권한 비활성화 확인
  • 스마트컨트랙트 approve 권한 점검(revoke.cash)
  • 낯선 npm/PyPI 패키지 설치 전 메인테이너·다운로드 이력 확인 습관화
  • 버그 바운티/CTF 플랫폼 1곳 가입 및 스코프 규정 숙지