공격이 아니라
방어를 배우는
보안 실전서
해킹 기술이 아니라 해킹으로부터 나 자신, 내 계정, 내 자산을 지키는 방법을 다룹니다. 이론 한 줄, 실습 코드 한 줄, 오늘 바로 적용할 수 있는 툴 하나. 기초부터 암호화폐 자산 보호까지 순서대로 따라오면 됩니다.
왜 지금 보안인가
랜섬웨어 대란, 대형 플랫폼 개인정보 유출, 정부기관 해킹까지 — 보안 사고는 더 이상 "남의 일"이 아닙니다. 2026년 상반기에도 국내 OTT, 이커머스, 전기차 충전 플랫폼, 심지어 외교 채널까지 유출 사고가 이어졌습니다. 하지만 이런 사고의 상당수는 피해자가 기본적인 보안 습관 몇 가지만 갖추고 있었다면 막을 수 있었던 것들입니다.
계정 탈취
재사용된 비밀번호, 2FA 미설정. 유출된 DB 한 건이 여러 서비스 연쇄 탈취로 이어짐.
피싱 · 스미싱
가족·기관 사칭 메시지로 클릭 유도. 링크 하나로 인증정보나 자금이 빠져나감.
랜섬웨어
백업 없는 시스템이 표적. 파일이 암호화되면 복구 비용이 예방 비용의 수십 배.
위협 모델링 — 나는 무엇을 지키는가
보안은 "전부 다 막기"가 아니라 가장 중요한 자산에 가장 강한 방어를 집중하는 일입니다. 아래 3가지 질문에 스스로 답해보세요.
| 질문 | 왜 중요한가 |
|---|---|
| 내가 잃으면 가장 아픈 계정은? (이메일, 은행, 거래소, 업무 계정 등) | 공격자도 같은 순서로 노립니다. 여기부터 방어를 시작하세요. |
| 내 이메일이 뚫리면 무엇까지 뚫리는가? | 이메일은 비밀번호 재설정의 관문 — 모든 계정의 마스터키입니다. |
| 내 기기를 잃어버리면? | 분실·도난 시 화면 잠금과 디스크 암호화가 마지막 방어선입니다. |
이 답을 메모해두세요. 이후 섹션에서 "가장 중요한 계정부터" 순서로 실습을 안내합니다.
비밀번호 & 비밀번호 관리자
난이도 낮음왜 재사용이 위험한가
서비스 A에서 유출된 비밀번호를 공격자가 그대로 서비스 B·C·D에 자동으로 대입합니다. 이를 크리덴셜 스터핑이라 부르며, 유출 사고 뉴스의 절반은 이 방식으로 2차 피해가 커집니다.
해법: 서비스마다 다른, 사람이 기억할 필요 없는 긴 비밀번호 + 비밀번호 관리자.
추천 관리자 (전부 무료 티어 존재)
- Bitwarden — 오픈소스, 크로스플랫폼, 무료 티어로 충분
- 1Password — UX 최상, 가족 공유 강점
- Apple 키체인 / Google 비밀번호 관리자 — 이미 쓰고 있다면 그것부터
강력한 비밀번호의 조건
- 최소 16자 이상 (짧은 특수문자 조합보다 길이가 핵심)
- 관리자의 무작위 생성 기능 사용 — 직접 만들지 않기
- 이메일·은행·거래소는 절대 재사용 금지
# Bitwarden CLI 설치 후, 20자리 대소문자+숫자+기호 비밀번호 생성 bw generate -ulns --length 20 # 특정 사이트용으로 저장까지 한 번에 bw generate -ulns --length 20 | bw create item
2단계 인증 (2FA / OTP)
난이도 낮음비밀번호가 유출되어도 2FA가 켜져 있으면 로그인이 막힙니다. 국내외 대형 침해사고 대부분에서 2FA 미설정 계정이 실제 피해로 이어졌습니다.
| 방식 | 보안 수준 | 비고 |
|---|---|---|
| SMS 인증 | 중간 | 유심 스와핑(번호 탈취) 공격에 취약. 없는 것보단 낫지만 최선은 아님 |
| OTP 앱 (Google/MS Authenticator, Authy) | 높음 | 기기에 저장된 비밀 키로 6자리 코드 생성. 오프라인 동작 |
| 패스키 (Passkey) / 보안키(FIDO2) | 최상 | 피싱 자체가 원천 불가능한 구조. Yubikey 등 하드웨어 지원 시 최선 |
설정 우선순위 (이 순서로 적용)
- 이메일 계정 (Gmail, Naver 등) — 모든 것의 관문
- 은행 · 증권 · 암호화폐 거래소
- 업무용 계정 (Google Workspace, Slack, GitHub)
- SNS (탈취 시 지인 대상 2차 피싱에 악용됨)
내 정보, 이미 유출됐을까?
난이도 중간Have I Been Pwned(HIBP)는 공개된 유출 DB를 모아 이메일·비밀번호 노출 여부를 검색해주는 서비스입니다. 비밀번호를 서버로 그대로 보내지 않고 해시 앞 5자리(k-익명성)만 전송하는 방식이라 안전하게 확인할 수 있습니다.
# 1) 비밀번호를 SHA-1 해시로 변환 echo -n '내가_확인할_비밀번호' | shasum -a 1 | tr 'a-z' 'A-Z' # 2) 해시 앞 5자리만 API로 조회 (실제 비밀번호는 절대 전송되지 않음) curl -s https://api.pwnedpasswords.com/range/앞5자리 \ | grep -i "나머지_해시" # 결과에 나오면 → 해당 비밀번호는 유출 DB에 존재 → 즉시 변경
공용 와이파이 & VPN
난이도 중간공용 와이파이의 위험
- 동일 네트워크의 다른 기기가 트래픽을 감청할 수 있음
- 가짜 AP("Evil Twin")가 진짜 와이파이 이름을 흉내낼 수 있음
- HTTPS 없는 사이트는 평문으로 노출됨
실전 대응
- 은행·거래소 업무는 공용망 대신 모바일 핫스팟 사용
- 부득이할 땐 신뢰할 수 있는 VPN 연결 후 사용
- 주소창에 자물쇠(HTTPS) 확인 습관화
라우터 & 홈네트워크 하드닝
난이도 중간- 공유기 관리자 비밀번호를 기본값(admin/admin 등)에서 변경했다
- 공유기 펌웨어를 최신 버전으로 업데이트했다
- WPA3(또는 최소 WPA2) 암호화를 사용 중이다
- WPS 자동연결 기능을 꺼두었다 (PIN 무작위 대입 공격 취약점)
- 손님·IoT 기기는 별도 게스트 네트워크로 분리했다
- 원격 관리(WAN 접속) 기능을 꺼두었다
기기 · OS 하드닝
난이도 낮음PC / Mac
- 디스크 전체 암호화: Windows는 BitLocker, Mac은 FileVault를 켜세요
- 화면 잠금 자동 실행(5분 이내) 설정
- OS·브라우저 자동 업데이트 켜두기
- 불필요한 브라우저 확장 프로그램 정리 — 확장 프로그램은 모든 방문 사이트를 볼 수 있음
스마트폰
- 생체인증 + 6자리 이상 PIN 병행
- 분실 시 원격 잠금·삭제(Find My, 스마트폰 찾기) 미리 활성화
- APK 사이드로딩·출처가 불분명한 앱 설치 금지
- 앱별 권한(위치, 마이크, 연락처) 주기적으로 점검
softwareupdate --schedule on
softwareupdate -l # 대기 중인 업데이트 목록 확인
피싱 · 스미싱 실전 사례
난이도 낮음 · 위험도 높음사례 A — 지인 사칭형
가족·지인의 이름과 프로필로 위장해 "급하게 돈이 필요하다"며 접근하는 방식. 실제로는 번호·계정이 도용되거나 새로 만들어진 것입니다.
판별: 문자·메신저만으로 송금 요청 시 반드시 전화로 육성 확인. 최근 목소리까지 합성하는 사례가 있어 "평소와 다른 요청"이면 무조건 재확인.
사례 B — 기관 사칭형
정부기관·공공서비스를 사칭해 "개인정보가 유출됐으니 확인하라"는 링크를 보내는 방식. 실제로는 그 링크가 피싱 페이지.
판별: 기관은 문자로 로그인 링크를 보내지 않습니다. 공식 앱·공식 홈페이지 주소를 직접 입력해 확인하세요.
공통 판별 체크리스트
- 발신 번호가 국제번호(+82 아닌 형태)이거나 낯선 단축 URL인가
- "지금 당장", "곧 잠긴다" 등 긴급성을 강조하는가 — 전형적인 압박 기법
- URL의 도메인이 진짜 서비스명과 미묘하게 다른가 (다음 섹션 스캐너로 검사)
- 앱 설치·인증서 설치를 요구하는가 — 정상 서비스는 요구하지 않음
URL 위험도 스캐너
직접 실습암호화폐 거래소 · 지갑 보안
난이도 중간 · 위험도 높음기사에도 나오듯 암호화폐 관련 유출·탈취 사고는 계속 늘고 있습니다. 거래소 계정은 이메일 다음으로 강력하게 지켜야 할 자산입니다.
- OTP 앱 2FA를 로그인뿐 아니라 출금에도 별도로 적용했다
- 안티피싱 코드를 설정했다 (Bybit 등에서 제공 — 진짜 이메일에만 표시되는 문구)
- 출금 주소 화이트리스트를 활성화했다 (등록된 주소 외 출금 시 24~48시간 대기)
- API 키 발급 시 IP 주소 제한을 걸었다 (자동매매·페이퍼트레이딩 도구 사용 시 필수)
- API 키에 출금 권한을 부여하지 않았다 (조회·거래만 허용)
- 거래소 로그인 메일이 오면 안티피싱 코드부터 확인하는 습관이 있다
- 시드구문(Seed Phrase)을 사진·클라우드가 아닌 오프라인 종이/금속판에 보관한다
// 권한 체크박스 설정 기준
Read-Only : ✅ 활성화
Contract Trade : 페이퍼트레이딩/봇 용도로만 필요 시 ✅
Withdraw : ❌ 절대 비활성화 유지
IP 제한 : 봇이 실행되는 서버/PC의 고정 IP만 등록
2FA 재확인 주기 : 키 생성/수정 시 항상 요구되도록 유지
백업 & 랜섬웨어 방어
위험도 높음3-2-1 규칙이란
- 3개의 데이터 사본 (원본 + 백업 2개)
- 2가지 다른 저장 매체 (예: 내장 SSD + 외장 HDD)
- 1개는 반드시 오프사이트/오프라인 (클라우드 또는 물리적으로 분리 보관)
랜섬웨어는 연결된 드라이브까지 암호화하므로, 최소 1개 백업은 평소 연결되어 있지 않은 상태여야 합니다.
#!/bin/bash # 매일 새벽 3시, 작업 폴더를 외장 드라이브로 증분 백업 SRC=~/Documents/TopEduPrep DST=/Volumes/Backup/TopEduPrep_$(date +%F) rsync -av --delete "$SRC/" "$DST/" echo "백업 완료: $DST" # crontab -e 에 아래 한 줄 추가로 자동화 # 0 3 * * * /bin/bash ~/backup.sh
툴박스 요약
| 분류 | 도구 | 용도 |
|---|---|---|
| 비밀번호 관리 | Bitwarden / 1Password | 비밀번호 생성·저장·유출 검사 |
| 2FA | Authy / Google Authenticator | OTP 생성 |
| 유출 확인 | Have I Been Pwned | 이메일·비밀번호 유출 여부 확인 |
| VPN | Proton VPN / Mullvad | 공용망 구간 암호화 |
| 광고·추적 차단 | uBlock Origin | 악성 광고·트래커 차단 (브라우저 확장) |
| 백업 | rsync / Backblaze / Time Machine | 3-2-1 백업 구현 |
| 피싱 판별 | 본 문서 10번 섹션 스캐너 | URL 구조 휴리스틱 분석 |
최종 체크리스트
- 비밀번호 관리자 설치 후 이메일 계정 비밀번호부터 교체
- 이메일·은행·거래소에 OTP 2FA 적용
- haveibeenpwned.com에서 내 이메일 유출 여부 확인
- 공유기 관리자 비밀번호 변경 + 펌웨어 업데이트
- 노트북 디스크 암호화(BitLocker/FileVault) 활성화
- 거래소 안티피싱 코드 + 출금 화이트리스트 설정
- 중요 파일 3-2-1 백업 1차 실행
체크 상태는 저장되지 않습니다 — 인쇄 버튼으로 종이에 남겨 책상 앞에 붙여두는 것을 권장합니다.