해킹 방식 VS 방어 방법 전체 목록

아프로·2026년 11월 1일

해킹 방식 VS 방어 방법 전체 목록 표지

인젝션, 인증 실패, 접근 제어 같은 OWASP Top 10 항목을 모두 챙겨도 사고는 납니다. 프록시와 서버가 같은 요청을 다르게 읽고, 같은 쿠폰 요청이 동시에 두 번 들어오고, 정상 기능이 봇의 속도로 쓰이고, 재시도가 서비스를 스스로 멈춥니다. 이 시리즈는 01~09편에서 OWASP Top 10(2025)에 독립 항목이 없는 공격 20가지를 개념부터 설명하고, 서버 코드와 아키텍처로 막는 방법을 정리합니다. 첫 편은 2026년 10월 북한이 바이낸스에서 64억 달러를 빼낸 사건입니다. 10~20편은 Top 10 안의 기본기와 사고 대응을 짧은 개념과 간단한 Spring Boot 예시 코드로 정리합니다.

이 시리즈의 공격을 실제 쇼핑몰 코드에서 직접 재연하고 막아 보는 인프런 강의가 열렸습니다. 실제 해킹 사고로 배우는 Spring Boot·Express 시큐어 코딩

전체 목록

OWASP Top 10 밖의 공격 (01~09편)

편글다루는 공격
01바이낸스 64억 달러 탈취 해부: EIP-7702 위임과 서명 시스템 장악, 세탁 경로, 그리고 서버·클라이언트 방어법서명 시스템 장악, 위임 악용, 세탁 (북한 TraderTraitor)
02두 번 해석되는 요청: 파서 차이, 요청 밀반입, SMTP 밀반입을 서버에서 막는 법URL·파서 해석 차이, HTTP 요청 밀반입, SMTP 밀반입
03남의 계정 페이지가 캐시에 남는다: 캐시 속임과 캐시 오염 막기웹 캐시 속임, 웹 캐시 오염
04경계 밖의 이름이 문을 연다: DNS 리바인딩과 서브도메인 탈취DNS 리바인딩, 서브도메인 탈취
05쿠폰 한 장으로 열 번 할인: 경쟁 조건과 웹훅 멱등성을 DB로 막기경쟁 조건·한도 초과, 웹훅 중복 처리
06봇과 청구서가 공격이 될 때: 자동화 위협과 비용 고갈 막기카드 테스팅·사재기·프로모 남용, 비용 고갈
07로그인 말고 복구로 들어온다: 재설정 오염, MFA 피로, SMS 의존, 타이밍 공격비밀번호 재설정 오염, MFA 피로, SMS 단일 인증, 타이밍
08연동 앱이 뚫리면 내 데이터는: OAuth 토큰 탈취와 토큰 바인딩OAuth 동의 피싱·토큰 탈취·재사용
09정규식 하나, 재시도 하나가 서비스를 멈춘다: ReDoS, HTTP/2 공격, 재시도 폭주ReDoS·압축 폭탄, HTTP/2 Rapid Reset·CONTINUATION, 재시도 폭주

OWASP Top 10 안의 기본기와 사고 대응 (10~20편)

편글다루는 것OWASP
10남의 것이 보인다: 남의 번호 조회, 대량 할당, SSRF를 서버에서 막기소유권 조건, 요청 전용 객체, 나가는 요청 통제A01
11입력이 명령이 될 때: SQL 바인딩, 정렬 허용 목록, 저장형 XSS, 파일 업로드바인딩, 허용 목록, 출력 인코딩·CSP, 업로드 검사A05
12비밀번호가 맞아도: 비밀번호 저장, 크리덴셜 스터핑, 토큰 수명느린 해시, 로그인 속도 제한, 짧은 토큰·회전A07
13교체할 수 있는 키: 서명키 회전과 봉투 암호화kid·JWKS, 데이터 키와 마스터 키A04
14코드 밖에 둘 것: 시크릿 저장소, 열린 저장소, 오류 응답과 보안 헤더시크릿 저장소, 망 분리, 공통 오류 응답A02
15확인한 것만 배포한다: SBOM, CI 고정, 이미지 서명, 역직렬화부품 목록, 해시 고정, 서명 확인A03·A08
167개월을 줄이는 기록: 감사 로그, 대량 조회 탐지, 마스킹, 지울 수 없는 로그감사 로그, 탐지 규칙, 해시 사슬A09
17오류가 나면 문이 열린다: 실패하면 막는 예외 처리fail-open 찾기, 실패하면 막기A10
18운영 권한은 필요할 때만: 공용 계정과 상시 권한 없애기개인 계정, 시간 제한 권한A01·A07
19백업이 같이 잠기지 않게: 불변 백업과 복구 훈련객체 잠금, 복구 시간 재기—
20사고가 났을 때 첫 한 시간: 대응 런북과 신고격리·증거·연락, 신고—

왜 OWASP Top 10에 이름이 없나

Top 10은 위험 범주의 목록입니다. 아래 네 갈래의 공격은 "안전하지 않은 설계(A06)"나 "예외 상황 처리 미흡(A10)" 같은 넓은 범주에 흩어져 있어서, 목록만 보고 점검하면 빠지기 쉽습니다.

갈래무엇이 문제인가편
두 번 해석두 구성 요소가 같은 입력을 다르게 읽는다02, 03
경계와 자산코드가 아니라 DNS·연동 앱 같은 자산의 관리 문제04, 08
동시성과 흐름정상 기능을 정상 순서로 쓰는데 결과가 틀린다05, 06, 07
가용성과 비용데이터가 아니라 서비스와 청구서가 표적이다06, 09
서명과 사람키가 아니라 서명하는 시스템과 그 앞의 사람이 표적이다01

이 시리즈를 읽는 법

  • 편마다 원리를 그림으로 먼저 설명하고, 실제 사고, 서버에서 막는 코드·설정·아키텍처, 탐지 신호, 점검 체크리스트 순서로 이어집니다.
  • 공격을 재현하는 방법이나 공격 입력은 싣지 않습니다. 코드는 모두 방어 쪽이고 값은 가짜입니다.
  • 실제 사고 분석은 국내편 해킹 사고 해부와 해외편 해외 보안사고 사례에서 이어 볼 수 있습니다.

보안을 더 알고 싶다면

오늘 본 사고의 원인은 대부분 서버와 코드의 기본기에서 막을 수 있는 것들이었습니다. 직접 손으로 막아 보고 싶다면 이런 강의가 있습니다.

실제 해킹 사고로 배우는 Spring Boot·Express 시큐어 코딩

  • AI로 자동화된 해킹 시대, 오픈소스 쇼핑몰 코드에서 실제 사고 22건을 재연하고 직접 취약점을 찾아 한 건씩 막습니다.
  • OWASP Top 10:2025 전체와 목록 밖 위험 20가지를 102개 수업으로 다루고, 취약점 37개를 모두 막은 최종 소스를 가져갑니다. Spring Boot와 Express 모두 다룹니다.
  • 이 글과 이어지는 수업: 섹션 1~15 전체(102개 수업)

서버 보안 기초부터 차근차근 시작하고 싶다면 이 강의도 있습니다.

백엔드 개발자를 위한 서버 보안 실무: 해킹 방어부터 정보유출 방지까지

  • 서버를 공격하는 흐름을 로그로 보고, 내 서버와 Spring·Express 코드에서 직접 막아 봅니다.
  • SSH 하드닝, 인젝션, 인증·인가, 시크릿과 개인정보 보호, 침해사고 첫 한 시간까지 8개 섹션 54개 수업입니다.
profile
고인물 개발자(OG)

0개의 댓글